{"version":3,"file":"kendo.buttongroup.min.js","names":["factory","define","amd","$","undefined$1","kendo","window","ui","Widget","keys","template","NS","KBUTTON","KICONBUTTON","SELECTED","DISABLED","SELECT","isIE","support","browser","msie","templates","item","image","icon","empty","createBadge","badgeOptions","badgeEelement","constructor","Object","text","position","align","_classNames","addClass","appendTo","badge","Badge","ButtonGroup","extend","init","element","options","that","this","fn","call","wrapper","items","_renderItems","selectedIndices","KWIDGET","attr","children","each","_updateClasses","bind","_enable","enable","enabled","select","index","_attachEvents","events","name","selection","current","find","on","_click","_focus","_focusout","_keyDown","_mouseDown","forEach","renderedItem","imageUrl","iconClass","encoded","htmlEncode","attributes","selected","e","x","clientX","y","clientY","document","elementFromPoint","preventFocus","preventFocusOut","removeAttr","length","first","trigger","setTimeout","contains","activeElement","buttonGroup","focusableItems","focusedElement","currentIndex","isRtl","keyCode","LEFT","RIGHT","eq","preventDefault","ENTER","SPACEBAR","_select","button","ariaPressed","nodeType","toggleClass","indexOf","push","splice","removeClass","value","buttongroup","isNaN","validValue","data","remove","destroy","off","attrValue","isEmpty","is","hasClass","prepend","contents","filter","trim","nodeValue","target","closest","isDefaultPrevented","focus","indices","plugin","jQuery"],"sources":["kendo.buttongroup.js"],"mappings":"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","sourcesContent":["(function (factory) {\n typeof define === 'function' && define.amd ? define(['kendo.core', 'kendo.badge'], factory) :\n factory();\n})((function () {\n var __meta__ = {\n id: \"buttongroup\",\n name: \"ButtonGroup\",\n category: \"web\",\n description: \"The Kendo ButtonGroup widget is a linear set of grouped buttons.\",\n depends: [ \"core\", \"badge\" ]\n };\n\n (function($, undefined$1) {\n var kendo = window.kendo;\n var ui = kendo.ui;\n var Widget = ui.Widget;\n var keys = kendo.keys;\n var template = kendo.template;\n var NS = \".kendoButtonGroup\";\n var KWIDGET = \"k-widget\";\n var KBUTTONGROUP = \"k-button-group\";\n var KBUTTON = \"k-button\";\n var KBUTTONDEFAULTS = \"k-button-md k-rounded-md k-button-solid k-button-solid-base\";\n var KICONBUTTON = \"k-icon-button\";\n var SELECTED = \"k-selected\";\n var DISABLED = \"k-disabled\";\n var SELECT = \"select\";\n var CLICK = \"click\";\n var KEYDOWN = \"keydown\";\n var FOCUS = \"focus\";\n var FOCUSOUT = \"focusout\";\n var MOUSEDOWN = \"mousedown\";\n var isIE = kendo.support.browser.msie;\n var templates = {\n item: template('' +\n '#= icon(iconClass) #' +\n '#= image(item) #' +\n '# if(!!text) { #' +\n ' #= text # ' +\n '# } #' +\n ''),\n image: template('\"icon\"'),\n icon: template(''),\n empty: template(\"\")\n };\n\n function createBadge(badgeOptions, item) {\n var badgeEelement;\n\n if (badgeOptions === null || badgeOptions === undefined$1) {\n return;\n }\n\n if (badgeOptions.constructor !== Object) {\n badgeOptions = { text: badgeOptions };\n }\n\n if (badgeOptions.position === undefined$1 || badgeOptions.position === \"\") {\n badgeOptions.position = \"edge\";\n\n if (badgeOptions.align === undefined$1 || badgeOptions.align === \"\") {\n badgeOptions.align = \"top end\";\n }\n }\n\n badgeOptions._classNames = [\"k-button-badge\"];\n\n item.addClass(\"k-badge-container\");\n\n badgeEelement = $('').appendTo(item);\n item.badge = new ui.Badge(badgeEelement, badgeOptions);\n }\n\n var ButtonGroup = Widget.extend({\n init: function(element, options) {\n var that = this;\n\n Widget.fn.init.call(that, element, options);\n\n that.wrapper = that.element;\n\n if (that.options.items) {\n that._renderItems(that.options.items);\n }\n\n that.selectedIndices = [];\n\n that.element\n .addClass(KWIDGET + \" \" + KBUTTONGROUP)\n .attr(\"role\", \"group\")\n .attr(\"tabindex\", that.element.attr(\"tabindex\") || \"0\")\n .children().each(function() {\n var item = $(this);\n that._updateClasses.bind(that)(item);\n });\n\n that._enable = true;\n\n if (!that.options.enable || !that.options.enabled) {\n that._enable = false;\n that.element\n .attr(\"aria-disabled\", true)\n .addClass(DISABLED);\n\n that.element.children().addClass(DISABLED);\n }\n\n that.select(that.options.index);\n\n that._attachEvents();\n },\n\n events: [\n SELECT\n ],\n\n options: {\n name: \"ButtonGroup\",\n selection: \"single\",\n index: -1,\n enable: true,\n enabled: true\n },\n\n current: function() {\n return this.element.find(\".\" + SELECTED);\n },\n\n _attachEvents: function() {\n var that = this;\n\n that.element\n .on(CLICK + NS, \".\" + KBUTTON, that._click.bind(that))\n .on(FOCUS + NS, that._focus.bind(that))\n .on(FOCUSOUT + NS, that._focusout.bind(that))\n .on(KEYDOWN + NS, that._keyDown.bind(that))\n .on(MOUSEDOWN + NS, that._mouseDown.bind(that));\n },\n\n _renderItems: function(items) {\n var that = this;\n\n items.forEach(function(item) {\n var renderedItem = $(templates.item({\n image: item.imageUrl ? templates.image : templates.empty,\n icon: !item.imageUrl && (item.iconClass || item.icon) ? templates.icon : templates.empty,\n iconClass: item.iconClass || \"k-icon k-i-\" + item.icon,\n item: item,\n text: item.text ? item.encoded === false ? item.text : kendo.htmlEncode(item.text) : \"\"\n }));\n\n if (item.attributes) {\n renderedItem.attr(item.attributes);\n }\n\n if (item.selected) {\n renderedItem.addClass(SELECTED);\n }\n\n if ((item.iconClass || item.icon || item.imageUrl) && !item.text) {\n renderedItem.addClass(KICONBUTTON);\n }\n\n if (item.badge) {\n createBadge(item.badge, renderedItem);\n }\n\n renderedItem.appendTo(that.element);\n });\n },\n\n _mouseDown: function(e) {\n var x = e.clientX,\n y = e.clientY,\n elementMouseIsOver = document.elementFromPoint(x, y);\n // Prevent programmatic focusing when clicking enabled button\n if (elementMouseIsOver !== this.element[0]) {\n this.preventFocus = true;\n this.preventFocusOut = true;\n }\n // Manually trigger focus in IE\n if (isIE) {\n this._focus();\n }\n },\n\n _focus: function() {\n var element = $(this.element);\n\n element.removeAttr(\"tabindex\");\n element.find(\"[role='button']\").attr(\"tabindex\", \"0\");\n\n if (this.preventFocus) {\n this.preventFocus = false;\n return;\n }\n\n if (element.find(\".\" + SELECTED).length) {\n element.find(\".\" + SELECTED).first().trigger(\"focus\");\n } else {\n element.children().first().trigger(\"focus\");\n }\n },\n\n _focusout: function() {\n var that = this;\n var wrapper = that.wrapper;\n\n if (this.preventFocusOut) {\n this.preventFocusOut = false;\n return;\n }\n\n setTimeout(function() {\n if (!wrapper[0].contains(document.activeElement)) {\n wrapper.attr(\"tabindex\", \"0\");\n wrapper.find(\"[role='button']\").removeAttr(\"tabindex\");\n }\n });\n },\n\n _keyDown: function(e) {\n var that = this;\n var buttonGroup = $(that.element);\n var focusableItems = buttonGroup.find(\".\" + KBUTTON);\n var focusedElement = buttonGroup.find(\":focus\");\n var currentIndex = focusableItems.index(focusedElement);\n var isRtl = kendo.support.isRtl(that.element);\n var itemToFocus;\n\n if ((e.keyCode === keys.LEFT && !isRtl) || (e.keyCode === keys.RIGHT && isRtl)) {\n itemToFocus = currentIndex === 0 ? focusableItems.eq(focusableItems.length - 1) : $(focusableItems[currentIndex - 1]);\n itemToFocus.trigger(\"focus\");\n e.preventDefault();\n } else if ((e.keyCode === keys.LEFT && isRtl) || (e.keyCode === keys.RIGHT && !isRtl)) {\n itemToFocus = currentIndex + 1 === focusableItems.length ? focusableItems.eq(0) : $(focusableItems[currentIndex + 1]);\n itemToFocus.trigger(\"focus\");\n e.preventDefault();\n } else if (e.keyCode === keys.ENTER || e.keyCode === keys.SPACEBAR) {\n that._select(focusedElement);\n e.preventDefault();\n }\n },\n\n select: function(button) {\n var that = this,\n ariaPressed,\n index = -1;\n\n if (button === undefined$1 || button === -1) {\n return;\n }\n\n if (typeof button === \"number\") {\n index = button;\n button = that.element.children().eq(button);\n } else if (button.nodeType) {\n button = $(button);\n index = button.index();\n }\n\n if (that.options.selection === \"multiple\") {\n ariaPressed = button.attr(\"aria-pressed\") === \"true\";\n button\n .attr(\"aria-pressed\", !ariaPressed)\n .toggleClass(SELECTED);\n\n if (that.selectedIndices.indexOf(index) === -1) {\n that.selectedIndices.push(index);\n } else {\n that.selectedIndices.splice(that.selectedIndices.indexOf(index), 1);\n }\n\n } else {\n that.selectedIndices = [];\n that.current()\n .attr(\"aria-pressed\", false)\n .removeClass(SELECTED);\n\n button\n .attr(\"aria-pressed\", true)\n .addClass(SELECTED);\n\n that.selectedIndices.push(index);\n }\n },\n\n badge: function(item, value) {\n var buttongroup = this.element;\n var button = !isNaN(item) ? buttongroup.children().eq(item) : buttongroup.find(item);\n var validValue = value || value === 0;\n var badge;\n\n if (!button.length) {\n return;\n }\n\n badge = button.children(\".k-badge\").eq(0).data('kendoBadge');\n if (!badge && validValue) {\n createBadge({ text: kendo.htmlEncode(value) }, button);\n return kendo.htmlEncode(value);\n }\n\n if (validValue) {\n badge.text(kendo.htmlEncode(value));\n } else if (value === false) {\n badge.element.empty().remove();\n badge.destroy();\n return;\n }\n\n return badge ? badge.text() : null;\n },\n\n enable: function(enable) {\n if (typeof enable == \"undefined\") {\n enable = true;\n }\n\n this.element\n .attr(\"aria-disabled\", !enable)\n .toggleClass(DISABLED, !enable);\n\n this.element.children().toggleClass(DISABLED, !enable);\n\n this._enable = this.options.enable = enable;\n },\n\n destroy: function() {\n var that = this;\n\n that.element.off(NS);\n that.element.find('.k-badge').each(function() {\n $(this).data('kendoBadge').destroy();\n });\n\n Widget.fn.destroy.call(that);\n },\n\n _updateClasses: function(button) {\n var icon = kendo.attrValue(button, \"icon\");\n var badge = kendo.attrValue(button, \"badge\");\n var image = button.find(\"img\").addClass(\"k-image\");\n var isEmpty = true;\n\n button\n .attr(\"aria-pressed\", false)\n .attr(\"role\", \"button\")\n .addClass(KBUTTON)\n .addClass(KBUTTONDEFAULTS);\n\n if (button.is(\"[disabled]\") || button.hasClass(DISABLED)) {\n button\n .addClass(DISABLED)\n .attr(\"aria-disabled\", true)\n .removeAttr(\"disabled\");\n }\n\n if (button.is(\".\" + SELECTED)) {\n button.removeClass(SELECTED);\n if ((!button.hasClass(DISABLED) && this.options.selection === \"single\") ||\n this.options.selection === \"multiple\") {\n this.select(button[0]);\n }\n }\n\n if (!image[0] && icon) {\n button.prepend($(templates.icon(\"k-icon k-i-\" + icon)));\n }\n\n button\n .contents()\n .filter(function() {\n return !$(this).hasClass(\"k-icon\") && !$(this).hasClass(\"k-image\");\n }).each(function() {\n if (this.nodeType == 1 || this.nodeType == 3 && kendo.trim(this.nodeValue).length > 0) {\n isEmpty = false;\n }\n });\n\n if ((image[0] || icon) && isEmpty) {\n button.addClass(KICONBUTTON);\n }\n\n if (badge || badge === 0) {\n createBadge(badge, button);\n }\n },\n\n _click: function(e) {\n var target = $(e.target).closest(\".\" + KBUTTON);\n\n if (e.isDefaultPrevented()) {\n return;\n }\n\n e.target.focus();\n\n this._select(target);\n },\n\n _select: function(target) {\n var button = target;\n\n if (!this._enable || button.is(\".\" + DISABLED)) {\n return;\n }\n\n this.select(target[0]);\n this.trigger(SELECT, { indices: this.selectedIndices });\n }\n });\n\n ui.plugin(ButtonGroup);\n })(window.kendo.jQuery);\n\n}));\n"]}