{"version":3,"file":"kendo.chip.min.js","names":["global","factory","exports","module","require","define","amd","globalThis","self","kendochip","js","this","$","undefined$1","kendo","window","Widget","ui","html","keys","SELECT","CLICK","REMOVE","NS","chipStyles","Chip","extend","init","element","options","that","fn","call","renderChip","wrapper","closest","_enabled","enabled","Boolean","is","_selected","selected","_selectable","selectable","_setTabIndex","_applyAriaAttributes","_bindEvents","notify","name","removable","icon","iconClass","avatarClass","label","removeIcon","removeIconClass","fillMode","rounded","size","themeColor","events","destroy","off","setOptions","insertBefore","remove","empty","enable","state","toggleClass","attr","select","focus","clickProxy","_click","bind","removeProxy","_remove","keydownProxy","_keydown","on","ev","trigger","originalEvent","_triggerSelect","preventDefault","stopPropagation","item","_toggleSelect","target","key","keyCode","ENTER","SPACEBAR","DELETE","BACKSPACE","tabindex","attributes","class","ariaSelectedAttributeName","role","plugin","jQuery"],"sources":["kendo.chip.js"],"mappings":"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","sourcesContent":["(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory(require('kendo.core.js'), require('kendo.html.chip.js')) :\n typeof define === 'function' && define.amd ? define(['kendo.core', 'kendo.html.chip'], factory) :\n (global = typeof globalThis !== 'undefined' ? globalThis : global || self, (global.kendochip = global.kendochip || {}, global.kendochip.js = factory()));\n})(this, (function () {\n var __meta__ = {\n id: \"chip\",\n name: \"Chip\",\n category: \"web\", // suite\n docsCategory: \"navigation\",\n description: \"Displays a Chip that represents an input, attribute or an action\",\n depends: [\"core\", \"html.chip\"] // dependencies\n };\n\n (function($, undefined$1) {\n var kendo = window.kendo;\n var Widget = kendo.ui.Widget;\n var html = kendo.html;\n var ui = kendo.ui,\n keys = kendo.keys,\n SELECT = \"select\",\n CLICK = \"click\",\n REMOVE = \"remove\";\n\n var NS = \".kendoChip\",\n DOT = \".\";\n\n\n var chipStyles = {\n widget: \"k-chip\",\n iconElement: \"k-chip-icon\",\n removeIconElement: \"k-chip-remove-action\",\n selected: \"k-selected\",\n disabled: \"k-disabled\",\n focus: \"k-focus\",\n avatarClass: \"k-chip-avatar\"\n };\n\n var Chip = Widget.extend({\n init: function(element, options) {\n var that = this;\n\n Widget.fn.init.call(that, element, options);\n html.renderChip(element, $.extend({},that.options));\n\n options = that.options;\n\n that.wrapper = that.element.closest(\".k-chip\");\n that._enabled = that.options.enabled = options.enabled !== undefined$1 ? options.enabled : !(Boolean(that.element.is(\"[disabled]\")));\n that._selected = that.options.selected;\n that._selectable = that.options.selectable;\n\n that._setTabIndex();\n\n that._applyAriaAttributes();\n that._bindEvents();\n kendo.notify(that);\n },\n\n options: {\n name: 'Chip',\n enabled: true,\n selectable: false,\n selected: false,\n removable: false,\n icon: '',\n iconClass: '',\n avatarClass: '',\n label: '',\n removeIcon: 'x-circle',\n removeIconClass: '',\n fillMode: 'solid',\n rounded: 'medium',\n size: 'medium',\n themeColor: 'base'\n },\n\n events: [\n SELECT,\n CLICK,\n REMOVE\n ],\n\n destroy: function() {\n var that = this;\n\n that.wrapper.off(NS);\n Widget.fn.destroy.call(that);\n },\n\n setOptions: function(options) {\n var that = this;\n\n that.wrapper.off(NS);\n that.element.insertBefore(that.wrapper);\n that.wrapper.remove();\n\n Widget.fn.setOptions.call(that, options);\n\n that.element.empty();\n html.renderChip(that.element, that.options);\n\n that.wrapper = that.element.closest(\".k-chip\");\n\n that._setTabIndex();\n that._applyAriaAttributes();\n that._bindEvents();\n },\n\n enable: function(state) {\n var that = this;\n if (state === undefined$1) {\n return that._enabled;\n }\n\n that._enabled = state !== false;\n that.wrapper.toggleClass(chipStyles.disabled, !that._enabled);\n that.wrapper.attr(\"aria-disabled\", !that._enabled);\n },\n\n select: function(state) {\n var that = this;\n\n if (state == undefined$1) {\n return that._selected;\n }\n\n state = state !== false;\n\n if (that._selectable) {\n that._selected = state;\n that.wrapper.toggleClass(chipStyles.selected, state);\n }\n\n that._applyAriaAttributes();\n },\n\n focus: function() {\n if (this._enabled) {\n this.wrapper.focus();\n }\n },\n\n _bindEvents: function() {\n var that = this,\n clickProxy = that._click.bind(that),\n removeProxy = that._remove.bind(that),\n keydownProxy = that._keydown.bind(that);\n\n that.wrapper.on(CLICK + \" touchend\" + NS, clickProxy)\n .on(CLICK + \" touchend\" + NS, DOT + chipStyles.removeIconElement, removeProxy)\n .on(\"keydown\" + NS, keydownProxy);\n },\n\n _click: function(ev) {\n var that = this;\n\n if (!that.enable()) {\n ev.preventDefault();\n return;\n }\n\n if (that.trigger(CLICK, { originalEvent: ev })) {\n return;\n }\n\n that._triggerSelect(that, ev);\n },\n\n _remove: function(ev) {\n ev.preventDefault();\n ev.stopPropagation();\n\n var that = this;\n\n if (!that.enable()) {\n ev.preventDefault();\n return;\n }\n\n that.trigger(REMOVE, { originalEvent: ev });\n },\n\n _triggerSelect: function(item, ev) {\n var that = this;\n\n if (!that._selectable || !that._enabled || that.trigger(SELECT, { originalEvent: ev })) {\n return;\n }\n\n that._toggleSelect();\n },\n\n _toggleSelect: function() {\n var that = this;\n that.select(!that.select());\n },\n\n _keydown: function(ev) {\n var that = this,\n target = $(ev.target),\n key = ev.keyCode;\n\n if (key === keys.ENTER || key === keys.SPACEBAR) {\n if (!that.enable()) {\n ev.preventDefault();\n return;\n }\n\n if (that.trigger(CLICK, { originalEvent: ev })) {\n return;\n }\n\n that._triggerSelect(target, ev);\n\n if (key === keys.SPACEBAR) {\n ev.preventDefault();\n }\n } else if (key === keys.DELETE || key === keys.BACKSPACE) {\n if (that.options.removable) {\n that.trigger(REMOVE, { originalEvent: ev });\n }\n }\n },\n\n _setTabIndex: function() {\n var that = this;\n var tabindex = that.enable() ? that.options.tabindex || \"0\" : \"-1\";\n if (that.options.attributes && that.options.attributes.class) {\n that.options.attributes.class = `${that.wrapper.attr(\"class\") || ''} ${that.options.attributes.class}`;\n }\n\n that.wrapper.attr($.extend({}, that.options.attributes, {\n tabindex: tabindex,\n // skip rendering of this attribute\n ariaSelectedAttributeName: null\n }));\n },\n\n _applyAriaAttributes: function() {\n var that = this;\n var role = (that.options.attributes || {}).role || \"button\";\n\n that.wrapper.attr(\"role\", role);\n if (that._selectable && role == \"button\") {\n that.wrapper.attr(\"aria-pressed\", that._selected);\n }\n that.wrapper.attr(\"aria-disabled\", that.enable() === false);\n }\n });\n\n ui.plugin(Chip);\n\n })(window.kendo.jQuery);\n var kendo$1 = kendo;\n\n return kendo$1;\n\n}));\n"]}