{"version":3,"file":"kendo.toolbar.min.js","names":["global","factory","exports","module","require","define","amd","globalThis","self","kendotoolbar","js","this","$","undefined$1","kendo","window","Widget","ui","isFunction","keys","outerWidth","_outerWidth","ns","TOOLBAR","KBUTTON","TOGGLE_BUTTON","BUTTON_GROUP","SPLIT_BUTTON","MENU_BUTTON","SPACER_CLASS","STATE_SELECTED","STATE_HIDDEN","FORCE_HIDDEN","GROUP_START","GROUP_END","MENU_LINK","MENU_ITEM","OVERFLOW_ANCHOR","TEMPLATE_ITEM","TOOLBAR_TOOL","MENU_LINK_TOGGLE","DROPDOWNLIST","INPUT_BUTTON","KFOCUS","TABINDEX_MINUS_1","ARIA_CHECKED","ARIA_LABEL","CHANGE","CLICK","TOGGLE","OPEN","CLOSE","FOCUS","KEYDOWN","SPACER","ROLE","SEPARATOR","OVERFLOW","TABINDEX","INPUT","SELECT","HIDDEN","GROUP","DATA_UID","DATA_ROLE_SELECTOR","DATA_TOGGLE_SELECTOR","DATA_ROLE_BUTTONMENU","KENDO_FOCUSABLE","OVERFLOW_OPEN","OVERFLOW_CLOSE","OVERFLOW_NEVER","OVERFLOW_AUTO","OVERFLOW_ALWAYS","KENDO_UID_ATTR","attr","NOTHING","DASH","EMPTY","DOT","COMMA","ID","UID","K_DROP_DOWN_BUTTON","K_SPLIT_BUTTON","K_TOGGLE_BUTTON","K_BUTTON_GROUP","toolbar","WIDGET_TYPES","button","splitButton","dropDownButton","buttonGroup","popupButton","open","TOOLBAR_TOOLS_CLASSES","Button","ToggleButton","SplitButton","DropDownButton","ButtonGroup","ColorPicker","Switch","SAFE_COMPONENTS","POPUP_BUTTON_TEMPLATE","icon","ToolBar","extend","init","element","options","fn","call","_isRtl","support","isRtl","uid","guid","wrapper","addClass","resizable","_resizable","tools","length","items","_extendToolsOptions","_items","_attachEvents","_tabIndex","_applyCssClasses","_shrink","innerWidth","overflowAnchor","appendTo","_toggleOverflowAnchor","notify","events","name","navigateOnTab","evaluateTemplates","size","destroy","that","unbindResize","_resizeHandler","overflowMenu","find","each","i","el","popup","popupWrapper","chooser","getKendoButton","remove","children","add","_add","resize","enable","candidate","focused","_getUid","item","_getItem","component","hasClass","is","removeAttr","trigger","buttonsPopupItem","widgetInstance","closest","menuItem","getSelectedFromGroup","groupName","filter","hide","elements","parentGroupEl","templateEl","toolbarEl","parent","data","_groupVisibleButtons","addBack","_resetTabIndex","_getAllItems","first","siblings","show","removeClass","toggle","checked","parentGroup","group","_toggleIndex","index","toggleClass","toggleTools","conditions","focusable","not","elm","tool","widget","condition","toToggle","processed","_processOptions","template","overflowTemplate","type","_addTemplate","_addCustomWidget","_addDefaultTool","_addSpacer","_addSeparator","insertBefore","_addAttributes","attributes","classes","hidden","align","class","id","overflow","result","overflowComponent","_addMenuItem","componentOptions","indexOf","wrap","op","_addToolbarTool","menuitem","this$1$1","selected","showIcon","imageUrl","showText","text","encoded","append","last","prepend","togglable","menuButtons","forEach","buttons","click","bind","e","_onMenuItemSelect","_addPopupButton","widgetElement","popupComponent","kendoPopup","anchor","on","preventDefault","commandOn","target","value","close","separator","overflowSeparator","spacer","inputsInTemplate","html","popupRef","hasButtons","primary","themeColor","url","preventKeyNav","_attachWidgetEvents","_resetOpen","extensions","_keydown","_focusIn","_focusOut","_onClick","_onToggle","_onSelect","_onOpen","_onClose","$el","originalEvent","event","_childrenWidth","gap","parseInt","css","childrenWidth","Math","ceil","flatMap","_mapTool","parentMessages","defaultTools","style","visibility","knownUid","uidSelector","buttonsPopups","_getNextElement","direction","itemIndex","parentElement","focusableItem","visibleBtns","_hideItem","eq","menu","list","_showMenuItem","_hideMenuItem","keyCode","templateItem","isOverflowAnchor","ESC","stopPropagation","_keyDeactivateTemplate","ENTER","_keyActivateTemplate","altKey","DOWN","SPACEBAR","_keyOpenOverflow","HOME","_keyFocusFirst","END","_keyFocusLast","RIGHT","LEFT","_keyFocusNext","innerFocusable","innerWidget","visible","width","next","_mapAttributes","toolOptions","messages","property","title","command","dialog","toggleCondition","_mapComponent","componentMessages","dataSource","default","Object","JSON","stringify","key","ev","sender","map","Array","isArray","t","isPlainObject","deepExtend","_menuItemSelect","shouldSelect","twin","replace","current","select","setTimeout","menuEl","overflowItem","_processInner","parentUid","rootUid","every","b","selection","enabled","_renderOverflow","horizontalDirection","kendoButton","fillMode","ContextMenu","showOn","origin","position","alignToAnchor","uploadWrapper","input","one","files","off","toFocus","onResize","_resize","containerWidth","popupBtnElements","_stretch","commandElement","visibleCommands","activeElement","_showItem","itemOuterWidth","hiddenCommands","focusableItems","firstFocusable","Item","Class","OverflowButton","TemplateItem","ToolBarButton","registerComponent","cssProperties","registerPrefix","plugin","jQuery"],"sources":["kendo.toolbar.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.splitbutton.js'), require('kendo.dropdownbutton.js'), require('kendo.buttongroup.js'), require('kendo.menu.js'), require('kendo.icons.js')) :\n typeof define === 'function' && define.amd ? define(['kendo.core', 'kendo.splitbutton', 'kendo.dropdownbutton', 'kendo.buttongroup', 'kendo.menu', 'kendo.icons'], factory) :\n (global = typeof globalThis !== 'undefined' ? globalThis : global || self, (global.kendotoolbar = global.kendotoolbar || {}, global.kendotoolbar.js = factory()));\n})(this, (function () {\n var __meta__ = {\n id: \"toolbar\",\n name: \"ToolBar\",\n category: \"web\",\n description: \"The ToolBar widget displays one or more command buttons divided into groups.\",\n depends: [ \"core\", \"splitbutton\", \"dropdownbutton\", \"buttongroup\", \"menu\", \"icons\" ]\n };\n\n (function($, undefined$1) {\n var kendo = window.kendo,\n ui = kendo.ui,\n Widget = ui.Widget,\n isFunction = kendo.isFunction,\n keys = kendo.keys,\n outerWidth = kendo._outerWidth,\n ns = \".kendoToolBar\",\n TOOLBAR = \"toolbar\",\n KTOOLBAR = \"k-toolbar\",\n KBUTTON = \"k-button\",\n TOGGLE_BUTTON = \"k-toggle-button\",\n BUTTON_GROUP = \"k-button-group\",\n SPLIT_BUTTON = \"k-split-button\",\n MENU_BUTTON = \"k-menu-button\",\n POPUP_BUTTON = \"k-popup-button\",\n KSEPARATOR = \"k-separator\",\n SPACER_CLASS = \"k-spacer\",\n UPLOAD_BUTTON = \"k-upload-button\",\n POPUP = \"k-popup\",\n RESIZABLE_TOOLBAR = \"k-toolbar-resizable\",\n STATE_SELECTED = \"k-selected\",\n STATE_DISABLED = \"k-disabled\",\n STATE_HIDDEN = \"k-hidden\",\n FORCE_HIDDEN = \"k-force-hidden\",\n GROUP_START = \"k-group-start\",\n GROUP_END = \"k-group-end\",\n MENU_LINK = \"k-menu-link\",\n MENU_ITEM = \"k-menu-item\",\n OVERFLOW_ANCHOR = \"k-toolbar-overflow-button\",\n TEMPLATE_ITEM = \"k-toolbar-item\",\n TOOLBAR_TOOL = \"k-toolbar-tool\",\n MENU_LINK_TOGGLE = \"k-menu-link-toggle\",\n DROPDOWNLIST = \"k-dropdownlist\",\n INPUT_BUTTON = \"k-input-button\",\n MENU_POPUP = \"k-menu-popup\",\n KFOCUS = \"k-focus\",\n SINGLE = \"single\",\n MULTIPLE = \"multiple\",\n NONE = \"none\",\n TABINDEX_MINUS_1 = \"[tabindex=-1]\",\n\n ARIA_DISABLED = \"aria-disabled\",\n ARIA_CHECKED = \"aria-checked\",\n ARIA_LABEL = \"aria-label\",\n\n CHANGE = \"change\",\n CLICK = \"click\",\n TOGGLE = \"toggle\",\n OPEN = \"open\",\n CLOSE = \"close\",\n FOCUS = \"focus\",\n FOCUSIN = \"focusin\",\n FOCUSOUT = \"focusout\",\n KEYDOWN = \"keydown\",\n\n SPACER = \"spacer\",\n PRIMARY = \"primary\",\n ROLE = \"role\",\n SEPARATOR = \"separator\",\n OVERFLOW = \"overflow\",\n TABINDEX = \"tabindex\",\n INPUT = \"input\",\n SELECT = \"select\",\n HIDDEN = \"hidden\",\n GROUP = \"group\",\n DATA_UID = \"data-uid\",\n DATA_PARENTUID = \"data-parentuid\",\n DATA_ROLE_SELECTOR = \"[data-role]\",\n DATA_TOGGLE_SELECTOR = \"[data-toggle]\",\n DATA_ROLE_BUTTONMENU = \"[data-role=buttonmenu]\",\n\n KENDO_FOCUSABLE = \":kendoFocusable\",\n\n OVERFLOW_OPEN = \"overflowOpen\",\n OVERFLOW_CLOSE = \"overflowClose\",\n OVERFLOW_NEVER = \"never\",\n OVERFLOW_AUTO = \"auto\",\n OVERFLOW_ALWAYS = \"always\",\n\n KENDO_UID_ATTR = kendo.attr(\"uid\"),\n\n NOTHING = \"\",\n DASH = \"_\",\n EMPTY = \" \",\n DOT = \".\",\n COMMA = \",\",\n ID = \"id\",\n UID = \"uid\",\n NBSP = \" \",\n\n K_DROP_DOWN_BUTTON = \"kendoDropDownButton\",\n K_SPLIT_BUTTON = \"kendoSplitButton\",\n K_TOGGLE_BUTTON = \"kendoToggleButton\",\n K_BUTTON_GROUP = \"kendoButtonGroup\";\n\n kendo.toolbar = {};\n\n var WIDGET_TYPES = {\n button: \"Button\",\n splitButton: \"SplitButton\",\n dropDownButton: \"DropDownButton\",\n buttonGroup: \"ButtonGroup\",\n popupButton: \"Button\",\n open: \"Button\"\n };\n\n var TOOLBAR_TOOLS_CLASSES = {\n Button: \"k-toolbar-button\",\n ToggleButton: \"k-toolbar-toggle-button\",\n SplitButton: \"k-toolbar-split-button\",\n DropDownButton: \"k-toolbar-menu-button\",\n ButtonGroup: \"k-toolbar-button-group\",\n ColorPicker: \"k-toolbar-color-picker\",\n Switch: \"k-toolbar-switch\"\n };\n\n var SAFE_COMPONENTS = [ \"Button\", \"SplitButton\", \"DropDownButton\", \"ButtonGroup\", \"Switch\", \"ColorPicker\" ];\n\n var POPUP_BUTTON_TEMPLATE = \"\";\n var TEMPLATE_WRAPPER = \"
\";\n var CUSTOM_WIDGET_WRAP = \"\";\n var SEPARATOR_OVERFLOW_EL = \"\";\n var SEPARATOR_EL = '
 
';\n var SPACER_EL = '
 
';\n\n var ToolBar = Widget.extend({\n init: function(element, options) {\n Widget.fn.init.call(this, element, options);\n\n options = this.options;\n\n this._isRtl = kendo.support.isRtl(element);\n this.uid = kendo.guid();\n\n element = this.wrapper = this.element;\n element.attr(KENDO_UID_ATTR, this.uid);\n element.addClass(KTOOLBAR);\n element.attr(ROLE, TOOLBAR);\n\n if (options.resizable) {\n this._resizable();\n }\n\n if (options.tools && options.tools.length > 0) {\n options.items = this._extendToolsOptions();\n }\n\n if (options.items && options.items.length) {\n this._items();\n }\n\n this._attachEvents();\n this._tabIndex();\n this._applyCssClasses();\n\n if (options.resizable) {\n this._shrink(this.element.innerWidth());\n this.overflowAnchor.appendTo(this.wrapper);\n this._toggleOverflowAnchor();\n }\n\n kendo.notify(this);\n },\n\n events: [\n CLICK,\n TOGGLE,\n OPEN,\n CLOSE,\n OVERFLOW_OPEN,\n OVERFLOW_CLOSE,\n CHANGE\n ],\n\n options: {\n name: \"ToolBar\",\n items: [],\n resizable: true,\n navigateOnTab: false,\n evaluateTemplates: false,\n size: \"medium\"\n },\n\n destroy: function() {\n var that = this;\n\n if (that.options.resizable) {\n kendo.unbindResize(that._resizeHandler);\n that.overflowMenu.destroy();\n }\n\n that.element.find(DOT + POPUP_BUTTON).each(function (i, el) {\n var button = $(el).getKendoButton(),\n popup, popupWrapper, chooser;\n\n if (button) {\n chooser = button.chooser;\n popup = button.popup;\n popupWrapper = popup.wrapper;\n\n chooser.destroy();\n popup.destroy();\n popupWrapper.remove();\n }\n });\n\n kendo.destroy(that.element.children());\n\n Widget.fn.destroy.call(that);\n },\n\n add: function(options) {\n this._add(options);\n\n if (this.options.resizable) {\n this.resize(true);\n }\n },\n\n enable: function(candidate, enable) {\n var that = this,\n uid = this._getUid(candidate),\n item = this._getItem(candidate, uid),\n component = item.component,\n buttonPopup, children, focused, wrapper;\n\n if (typeof enable == \"undefined\") {\n enable = true;\n }\n\n if (item.component) {\n wrapper = component.wrapper;\n focused = wrapper.hasClass(KFOCUS) || wrapper.is(\":focus\");\n component.enable(enable);\n wrapper.find(\"[disabled]\").removeAttr(\"disabled\");\n wrapper.removeAttr(\"disabled\");\n\n if (focused) {\n wrapper.addClass(KFOCUS).trigger(FOCUS);\n }\n } else if (item.buttonsPopupItem.length > 0) {\n buttonPopup = kendo.widgetInstance(item.buttonsPopupItem.closest(DOT + MENU_POPUP));\n buttonPopup.enable(enable, item.buttonsPopupItem);\n }\n\n if (this.overflowMenu) {\n this.overflowMenu.enable(item.menuItem, enable);\n\n children = this.overflowMenu.element\n .find(\"[data-parentuid=\" + uid + \"]\");\n\n children.each(function (i, el) {\n that.overflowMenu.enable($(el), enable);\n });\n }\n },\n\n getSelectedFromGroup: function(groupName) {\n return this.element.find(DOT + TOGGLE_BUTTON + \"[data-group='\" + groupName + \"']\").filter(DOT + STATE_SELECTED);\n },\n\n hide: function(candidate) {\n var that = this,\n uid = this._getUid(candidate),\n item = that._getItem(candidate, uid),\n elements, parentButtonGroup, children, parentGroupEl;\n\n if (!item) {\n return;\n }\n\n elements = item.templateEl.add(item.toolbarEl).add(item.buttonsPopupItem).add(item.menuItem);\n\n elements.addClass(STATE_HIDDEN);\n elements.addClass(FORCE_HIDDEN);\n\n if (this.overflowMenu) {\n children = this.overflowMenu.element\n .find(\"[data-parentuid=\" + uid + \"]\");\n\n children.each(function (i, el) {\n $(el).addClass(FORCE_HIDDEN);\n $(el).addClass(STATE_HIDDEN);\n });\n }\n\n parentGroupEl = item.toolbarEl.parent().closest(DOT + BUTTON_GROUP);\n parentButtonGroup = parentGroupEl.data(K_BUTTON_GROUP);\n\n if (parentButtonGroup) {\n if (parentGroupEl.children(\":not(.k-hidden)\").length === 0) {\n that.hide(parentGroupEl);\n } else {\n that._groupVisibleButtons(parentGroupEl);\n }\n }\n\n if (elements.find(\"[tabindex=0]\").addBack(\"[tabindex=0]\").length > 0) {\n this._resetTabIndex(that._getAllItems().first());\n }\n\n if (this.options.resizable) {\n this.resize(true);\n }\n },\n\n remove: function(candidate) {\n var that = this,\n uid = this._getUid(candidate),\n item = this._getItem(candidate, uid),\n buttonGroup, children;\n\n if (!item) {\n return;\n }\n\n if (item.component) {\n buttonGroup = item.toolbarEl.closest('[data-role=\"buttongroup\"]');\n if (buttonGroup.length > 0 && item.toolbarEl.siblings().length === 0) {\n buttonGroup.data(K_BUTTON_GROUP).destroy();\n buttonGroup.remove();\n\n item.toolbarEl = $(NOTHING);\n } else {\n item.component.destroy();\n }\n }\n\n if (item.templateEl.length > 0) {\n item.templateEl.remove();\n } else if (item.toolbarEl.length > 0) {\n item.toolbarEl.remove();\n }\n\n if (item.buttonsPopupItem.length > 0) {\n item.buttonsPopupItem.remove();\n }\n\n if (this.overflowMenu) {\n this.overflowMenu.remove(item.menuItem);\n\n children = this.overflowMenu.element\n .find(\"[data-parentuid=\" + uid + \"]\");\n\n children.each(function (i, el) {\n that.overflowMenu.remove($(el));\n });\n }\n\n if (this.options.resizable) {\n this.resize(true);\n }\n },\n\n show: function(candidate) {\n var that = this,\n uid = this._getUid(candidate),\n item = this._getItem(candidate, uid),\n elements, parentButtonGroup, children, parentGroupEl;\n\n if (!item) {\n return;\n }\n\n elements = item.templateEl.add(item.toolbarEl).add(item.buttonsPopupItem);\n elements.removeClass(FORCE_HIDDEN);\n elements.removeClass(STATE_HIDDEN);\n\n item.menuItem.removeClass(FORCE_HIDDEN);\n\n if (this.overflowMenu) {\n children = this.overflowMenu.element\n .find(\"[data-parentuid=\" + uid + \"]\");\n\n children.each(function (i, el) {\n $(el).removeClass(FORCE_HIDDEN);\n });\n }\n\n parentGroupEl = item.toolbarEl.parent().closest(DOT + BUTTON_GROUP);\n parentButtonGroup = parentGroupEl.data(K_BUTTON_GROUP);\n\n if (parentButtonGroup) {\n if (parentGroupEl.hasClass(\"k-hidden\") && parentGroupEl.children(\":not(.k-hidden)\").length > 0) {\n that.show(parentGroupEl);\n } else {\n that._groupVisibleButtons(parentGroupEl);\n }\n }\n\n if (this.options.resizable) {\n this.resize(true);\n }\n },\n\n toggle: function(candidate, checked) {\n var item = this._getItem(candidate),\n element = item.toolbarEl,\n menuItem = item.menuItem,\n button, parentGroup, group, groupButtons;\n\n if (checked === undefined$1) {\n checked = true;\n }\n\n button = element.data(K_TOGGLE_BUTTON);\n\n if (!item.component && menuItem.find(DOT + MENU_LINK_TOGGLE).length === 0) {\n return;\n }\n\n group = element.data(GROUP);\n\n if (item.component) {\n parentGroup = element.closest(DOT + BUTTON_GROUP).data(K_BUTTON_GROUP);\n\n if (parentGroup) {\n if (element.hasClass(STATE_SELECTED) !== checked) {\n parentGroup._toggleIndex(element.index());\n }\n }\n\n button.toggle(checked);\n\n if (checked) {\n groupButtons = this.element.find(\"[data-group=\" + group + \"]\");\n\n groupButtons.each(function (i, el) {\n if (el !== element[0]) {\n $(el).data(K_TOGGLE_BUTTON).toggle(false);\n }\n });\n }\n }\n\n if (menuItem) {\n menuItem\n .attr(ARIA_CHECKED, checked)\n .find(DOT + MENU_LINK_TOGGLE)\n .toggleClass(STATE_SELECTED, checked);\n\n if (checked && this.overflowMenu) {\n groupButtons = this.overflowMenu.element.find(\"[data-group=\" + group + \"]\");\n\n groupButtons.each(function (i, el) {\n if (el !== menuItem[0]) {\n $(el)\n .attr(ARIA_CHECKED, false)\n .find(DOT + MENU_LINK_TOGGLE)\n .removeClass(STATE_SELECTED);\n }\n });\n }\n }\n },\n\n toggleTools: function(conditions) {\n var that = this,\n tools = that.element.find(DATA_TOGGLE_SELECTOR),\n focusable = that.element.find(KENDO_FOCUSABLE).not(TABINDEX_MINUS_1);\n\n tools.each(function(index, elm) {\n var tool = $(elm),\n widget = null,\n condition = tool.data(TOGGLE),\n toToggle = conditions && conditions[condition];\n\n if (tool.is(DATA_ROLE_SELECTOR)) {\n widget = kendo.widgetInstance(tool);\n }\n\n if (widget && widget.enable) {\n widget.enable(toToggle || false);\n } else {\n that.enable(tool, toToggle);\n }\n });\n\n that.element.find(DATA_TOGGLE_SELECTOR + \"[disabled]\").removeAttr(\"disabled\");\n\n that.element.find(KENDO_FOCUSABLE).not(TABINDEX_MINUS_1).attr(\"tabindex\", -1);\n focusable.attr(TABINDEX, 0);\n },\n\n _add: function(options) {\n var processed = this._processOptions(options),\n template = processed.template,\n overflowTemplate = processed.overflowTemplate,\n type = WIDGET_TYPES[processed.type],\n element;\n\n if (template || overflowTemplate) {\n element = this._addTemplate(processed);\n } else if (kendo.ui[processed.component]) {\n element = this._addCustomWidget(processed);\n } else if (type) {\n element = this._addDefaultTool(type, processed);\n } else if (processed.type === SPACER) {\n this._addSpacer();\n } else if (processed.type === SEPARATOR) {\n this._addSeparator(processed);\n }\n\n if (element) {\n if (this.overflowAnchor) {\n element.insertBefore(this.overflowAnchor);\n } else {\n element.appendTo(this.element);\n }\n\n element.find(\"[disabled]\").removeAttr(\"disabled\");\n\n if (element.is(\"[disabled]\")) {\n element.removeAttr(\"disabled\");\n }\n }\n },\n\n _addAttributes: function(options, element) {\n var attributes = options.attributes,\n classes = NOTHING;\n\n if (!attributes) {\n attributes = {};\n }\n\n if (options.hidden) {\n classes = STATE_HIDDEN + EMPTY + FORCE_HIDDEN;\n }\n\n if (options.align) {\n classes = classes + \" k-align-\" + options.align;\n }\n\n if (attributes) {\n if (attributes.class) {\n classes = classes + EMPTY + attributes.class;\n delete attributes.class;\n }\n\n element.attr(attributes);\n }\n\n element.addClass(classes);\n element.attr(KENDO_UID_ATTR, options.uid);\n\n if (options.id) {\n element.attr(ID, options.id);\n }\n if (options.overflow === OVERFLOW_NEVER) {\n element.attr(\"data-overflow\", OVERFLOW_NEVER);\n }\n },\n\n _addCustomWidget: function(options) {\n var element = $(options.element || \"\"),\n widget, result, classes;\n\n if (options.overflowComponent) {\n this._addMenuItem(options.overflowComponent.type, $.extend({}, options, options.overflowComponent));\n }\n\n if (options.attributes) {\n classes = options.attributes.class;\n delete options.attributes[\"class\"];\n element.attr(options.attributes);\n delete options.attributes[ARIA_LABEL];\n }\n\n if (!options.componentOptions) {\n options.componentOptions = {};\n }\n\n options.componentOptions.size = this.options.size;\n\n widget = new kendo.ui[options.component](element, options.componentOptions);\n\n if (SAFE_COMPONENTS.indexOf(options.component) > -1) {\n widget.wrapper.addClass(TOOLBAR_TOOL + \" \" + TOOLBAR_TOOLS_CLASSES[options.component]);\n result = widget.wrapper;\n } else {\n result = (widget.wrapper || widget.element).wrap(CUSTOM_WIDGET_WRAP).parent();\n }\n\n if (options.attributes) {\n options.attributes.class = classes;\n }\n\n this._addAttributes(options, result);\n\n return result;\n },\n\n _addDefaultTool: function(component, options) {\n var element, op;\n\n if (options.overflow !== OVERFLOW_ALWAYS) {\n element = this._addToolbarTool(component, $.extend(true, {}, options));\n }\n\n if (this.overflowMenu && options.overflow !== OVERFLOW_NEVER) {\n if (options.overflowComponent) {\n op = $.extend(true, {}, options, options.overflowComponent);\n delete op[\"data-command\"];\n this._addMenuItem(\"Button\", op);\n } else {\n this._addMenuItem(component, $.extend(true, {}, options));\n }\n }\n\n return element;\n },\n\n _addMenuItem: function(component, options) {\n var this$1$1 = this;\n\n var that = this,\n selected = options.selected,\n menuitem;\n\n delete options.selected;\n\n if (options.id) {\n options.id = options.id + DASH + OVERFLOW;\n }\n if (options.showIcon === TOOLBAR) {\n delete options.imageUrl;\n delete options.icon;\n }\n\n if (options.showText === TOOLBAR) {\n if (!options.attributes) {\n options.attributes = {};\n }\n\n options.attributes[ARIA_LABEL] = options.text;\n\n options.text = NOTHING;\n } else if (options.text === undefined$1 || options.text === NOTHING) {\n options.text = NBSP;\n options.encoded = false;\n }\n\n that.overflowMenu.append(options);\n menuitem = that.overflowMenu.element.find(DOT + MENU_ITEM).last();\n\n if (options.icon) {\n menuitem.find(DOT + MENU_LINK).prepend(kendo.ui.icon(options.icon));\n }\n\n if (component === \"ToggleButton\" || (component === \"Button\" && options.togglable === true)) {\n menuitem.find(DOT + MENU_LINK).addClass(MENU_LINK_TOGGLE);\n\n if (selected) {\n menuitem.find(DOT + MENU_LINK).addClass(STATE_SELECTED);\n }\n\n if (options.group) {\n menuitem.attr(\"data-group\", options.group);\n }\n } else if (options.menuButtons) {\n options.menuButtons.forEach(function (i) {\n i.overflow = options.overflow;\n that._addMenuItem(null, i);\n });\n } else if (options.buttons) {\n menuitem.remove();\n menuitem = null;\n\n options.buttons.forEach(function (i) {\n var attributes = i.attributes;\n i.overflow = options.overflow;\n i.attributes = $.extend(attributes, options.attributes);\n\n that._addMenuItem(\"Button\", i);\n });\n }\n\n if (component === \"DropDownButton\") {\n menuitem.addClass(STATE_DISABLED);\n menuitem.attr(ARIA_DISABLED, true);\n }\n\n if (menuitem) {\n that._addAttributes(options, menuitem);\n\n if (options.overflow === OVERFLOW_AUTO) {\n menuitem.addClass(STATE_HIDDEN);\n }\n\n if (options.click || options.toggle) {\n that.overflowMenu.bind(SELECT, function (e) {\n if (e.item === menuitem[0]) {\n this$1$1._onMenuItemSelect(e, options.click, options.toggle);\n }\n });\n }\n }\n\n return menuitem;\n },\n\n _addPopupButton: function(options) {\n var that = this,\n widgetElement = $(POPUP_BUTTON_TEMPLATE),\n component = options.popupComponent,\n popup, chooser;\n\n widgetElement.attr(ARIA_LABEL, options.text);\n\n popup = $(\"
\").appendTo($(\"\")).kendoPopup({\n anchor: widgetElement\n }).data(\"kendoPopup\");\n\n widgetElement.on(CLICK + \" touchend\", function (e) {\n popup.toggle();\n e.preventDefault();\n });\n\n chooser = new component(popup.element);\n\n chooser.bind(options.commandOn, function (e) {\n that.trigger(CHANGE, { target: widgetElement, value: e.value || e });\n popup.close();\n });\n\n return { widgetElement: widgetElement, chooser: chooser, popup: popup };\n },\n\n _addSeparator: function(options) {\n var separator = $(SEPARATOR_EL),\n overflowSeparator = $(SEPARATOR_OVERFLOW_EL);\n\n separator.addClass(KSEPARATOR);\n separator.attr(ROLE, SEPARATOR);\n\n if (this.overflowAnchor) {\n separator.insertBefore(this.overflowAnchor);\n } else {\n separator.appendTo(this.element);\n }\n\n this._addAttributes(options, separator);\n\n if (options.id) {\n options.id = options.id + DASH + OVERFLOW;\n }\n\n this._addAttributes(options, overflowSeparator);\n\n if (this.overflowMenu) {\n this.overflowMenu.element.append(overflowSeparator);\n }\n },\n\n _addSpacer: function() {\n var spacer = $(SPACER_EL);\n spacer.addClass(SPACER_CLASS);\n\n if (this.overflowAnchor) {\n spacer.insertBefore(this.overflowAnchor);\n } else {\n spacer.appendTo(this.element);\n }\n },\n\n _addTemplate: function(options) {\n var template = options.template,\n overflowTemplate = options.overflowTemplate,\n element, menuitem, inputsInTemplate = $(NOTHING);\n\n if (overflowTemplate && this.overflowMenu && options.overflow !== OVERFLOW_NEVER) {\n overflowTemplate = isFunction(overflowTemplate) ? overflowTemplate(options)[0] : overflowTemplate;\n this.overflowMenu.append({});\n menuitem = this.overflowMenu.element\n .find(DOT + MENU_ITEM)\n .last()\n .find(DOT + MENU_LINK)\n .html(overflowTemplate)\n .parent();\n }\n\n if (template && options.overflow !== OVERFLOW_ALWAYS) {\n if (this.options.evaluateTemplates) {\n template = kendo.template(template);\n }\n\n template = isFunction(template) ? template(options) : template;\n\n element = $(TEMPLATE_WRAPPER);\n element.html(template);\n\n if (menuitem) {\n menuitem.addClass(STATE_HIDDEN);\n }\n }\n\n if (element) {\n inputsInTemplate = element.find(INPUT + COMMA + SELECT);\n this._addAttributes(options, element);\n }\n\n if (menuitem) {\n inputsInTemplate.add(menuitem.find(INPUT + COMMA + SELECT));\n this._addAttributes(options, menuitem);\n }\n\n if (!this.options.navigateOnTab && inputsInTemplate.length > 0) {\n element.attr(TABINDEX, 0);\n element.addClass(TOOLBAR_TOOL);\n inputsInTemplate.attr(TABINDEX, -1);\n }\n\n return element;\n },\n\n _addToolbarTool: function(component, options) {\n var widgetElement = $(\"