UNPKG

@progress/kendo-ui

Version:

This package is part of the [Kendo UI for jQuery](http://www.telerik.com/kendo-ui) suite.

3 lines 34.5 kB
/* @license */ (function(e,t){typeof exports==`object`&&typeof module<`u`?t(exports,require(`kendo.core.min.js`),require(`kendo.splitbutton.min.js`),require(`kendo.dropdownbutton.min.js`),require(`kendo.buttongroup.min.js`),require(`kendo.menu.min.js`),require(`kendo.icons.min.js`)):typeof define==`function`&&define.amd?define([`exports`,`kendo.core.min`,`kendo.splitbutton.min`,`kendo.dropdownbutton.min`,`kendo.buttongroup.min`,`kendo.menu.min`,`kendo.icons.min`],t):(e=typeof globalThis<`u`?globalThis:e||self,t((e.kendo=e.kendo||{},e.kendo._globals=e.kendo._globals||{},e.kendo._globals.Toolbar={}),e.kendo._globals.Core,e.kendo._globals.Splitbutton,e.kendo._globals.Dropdownbutton,e.kendo._globals.Buttongroup,e.kendo._globals.Menu,e.kendo._globals.Icons))})(this,function(e,t,n,r,i,a,o){Object.defineProperties(e,{__esModule:{value:!0},[Symbol.toStringTag]:{value:`Module`}});let s={id:`toolbar`,name:`ToolBar`,category:`web`,description:`The ToolBar widget displays one or more command buttons divided into groups.`,depends:[`core`,`splitbutton`,`dropdownbutton`,`buttongroup`,`menu`,`icons`]};(function(e,t){var n=window.kendo,r=n.ui.Widget,i=n.isFunction,a=n.keys,o=n._outerWidth,s=`.kendoToolBar`,c=`toolbar`,l=`k-toolbar`,u=`k-button`,d=`k-button-group`,f=`k-split-button`,p=`k-menu-button`,m=`k-popup-button`,ee=`k-toolbar-separator k-separator`,te=`k-spacer`,ne=`k-upload-button`,re=`k-popup`,ie=`k-toolbar-resizable`,h=`k-selected`,g=`k-disabled`,_=`k-hidden`,v=`k-force-hidden`,ae=`k-group-start`,oe=`k-group-end`,se=`k-menu-link`,ce=`k-menu-item`,y=`k-toolbar-overflow-button`,le=`k-toolbar-item`,b=`k-menu-link-toggle`,x=`k-dropdownlist`,ue=`k-input-button`,de=`k-menu-popup`,S=`k-focus`,fe=`single`,pe=`multiple`,me=`none`,C=`[tabindex=-1]`,w=`toolbar-tool`,he=`aria-disabled`,T=`aria-checked`,E=`aria-label`,D=`change`,O=`click`,k=`toggle`,ge=`open`,_e=`close`,A=`focus`,ve=`focusin`,ye=`focusout`,j=`keydown`,be=`spacer`,xe=`primary`,M=`role`,N=`ref-`,P=`separator`,F=`overflow`,I=`tabindex`,L=`input`,R=`select`,Se=`hidden`,z=`group`,B=`data-uid`,Ce=`data-parentuid`,we=`[data-role]`,Te=`[data-toggle]`,Ee=`[data-role=buttonmenu]`,V=`[ref-toolbar-tool]`,H=`:kendoFocusable:not([class*='pager'])`,De=`overflowOpen`,Oe=`overflowClose`,U=`never`,ke=`auto`,W=`always`,Ae=n.attr(`uid`),G=``,K=`_`,q=` `,J=`.`,Y=`,`,X=`id`,Z=`uid`,je=`&nbsp;`,Me=`kendoDropDownButton`,Ne=`kendoSplitButton`,Q=`kendoToggleButton`,$=`kendoButtonGroup`,Pe=200;n.toolbar={};var Fe={button:`Button`,splitButton:`SplitButton`,dropDownButton:`DropDownButton`,buttonGroup:`ButtonGroup`,popupButton:`Button`,open:`Button`},Ie={Button:`k-toolbar-button`,ToggleButton:`k-toolbar-toggle-button`,SplitButton:`k-toolbar-split-button`,DropDownButton:`k-toolbar-menu-button`,ButtonGroup:`k-toolbar-button-group`,ColorPicker:`k-toolbar-color-picker`,Switch:`k-toolbar-switch`},Le=[`Button`,`SplitButton`,`DropDownButton`,`ButtonGroup`,`Switch`,`ColorPicker`],Re=`<button class="k-popup-button"><span class="k-button-icon k-icon"></span><span class="k-button-text">${n.ui.icon(`caret-alt-down`)}</span></button>`,ze=`<div class='k-toolbar-item' aria-keyshortcuts='Enter'></div>`,Be=`<span class='k-toolbar-item' tabindex='0' ref-toolbar-tool >`,Ve=`<li role='separator' class='k-separator k-menu-separator k-hidden'></li>`,He=`<div role="separator">&nbsp;</div>`,Ue=`<div>&nbsp;</div>`,We=r.extend({init:function(t,i){if(r.fn.init.call(this,t,i),i=this.options,this._isRtl=n.support.isRtl(t),this.uid=n.guid(),t=this.wrapper=this.element,t.attr(Ae,this.uid),t.addClass(l),t.attr(M,c),i.resizable?(this.hasOverflowButton=[`section`,`menu`].includes(this.options.overflow?.mode),this._resizable()):i.overflow=e.extend({},i.overflow,{mode:`none`}),i.tools&&i.tools.length>0&&(i.items=this._extendToolsOptions()),i.items&&i.items.length&&this._items(),this._scrollable(),this._attachEvents(),this._tabIndex(),this._applyCssClasses(),i.resizable)if(this.hasOverflowButton){let e=this.element.find(`> .k-toolbar-items`).length>0?this.element.find(`> .k-toolbar-items`)[0].offsetWidth:this.element.innerWidth();this._shrink(e),this.overflowAnchorSeparator?.appendTo(this.wrapper),this.overflowAnchor?.appendTo(this.wrapper),this._toggleOverflowAnchor()}else this._toggleScrollButtons();n.notify(this)},events:[O,k,ge,_e,De,Oe,D],options:{name:`ToolBar`,items:[],resizable:!0,navigateOnTab:!1,evaluateTemplates:!1,size:t,fillMode:t,overflow:{mode:`menu`,scrollButtons:`auto`,scrollButtonsPosition:`split`,scrollDistance:Pe}},destroy:function(){var t=this;t.options.resizable&&(n.unbindResize(t._resizeHandler),t.overflowMenu?.destroy?.(),t.overflowSection?.destroy?.()),t.options.overflow?.mode==`scroll`&&(t.element.find(`> .k-toolbar-items`).unbind(`scroll`+s),t._removeScrollableClasses()),t.element.find(J+m).each((t,n)=>{var r=e(n).getKendoButton(),i,a,o;r&&(o=r.chooser,i=r.popup,a=i.wrapper,o.destroy(),i.destroy(),a.remove())}),t.element.off(s),t.element.removeAttr(B),n.destroy(t.element.children()),r.fn.destroy.call(t)},add:function(e){this._add(e),this.options.resizable&&this.resize(!0)},_scrollableAllowed:function(){let e=this.options;return e.overflow&&e.overflow.mode==`scroll`&&!e.overflow.scrollDistance&&(e.overflow.scrollDistance=Pe),e.overflow?.mode==`scroll`&&!isNaN(e.overflow.scrollDistance)},_getScrollButtonHtml:function(t,r){return n.html.renderButton(e(`<span class="k-toolbar-${t}"></span>`),{icon:r,type:``,size:this.options.size})},_getChildrenWidth:function(t){let n=0;return t.children().each(function(){n+=o(e(this))}),Math.floor(n)},_removeScrollableClasses:function(){let e=this,t=e.options.overflow.scrollButtons===`hidden`;e.element.removeClass(`k-toolbar-scrollable`),t&&(e.element.removeClass(`k-toolbar-scrollable-overlay`),e.element.removeClass(`k-toolbar-scrollable-start`),e.element.removeClass(`k-toolbar-scrollable-end`),e.element.removeClass(`k-toolbar-items-scroll`))},_scrollable:function(){let e=this,t=e.element,r=e.options,i=r.overflow.scrollButtonsPosition,a=r.overflow.scrollButtons===`hidden`;if(e._scrollableAllowed()){let o,c;e.element.addClass(`k-toolbar-scrollable`),e.element.wrapInner(`<div class="k-toolbar-items k-toolbar-items-scroll"></div>`);let l=t.find(`> .k-toolbar-items`),u=e.element[0].offsetWidth,d=l[0].scrollWidth,f=e._getChildrenWidth(l)>l.outerWidth(),p=d>u||f;if(p&&!e._scrollableModeActive&&a)e.element.addClass(`k-toolbar-items-scroll`),e.element.addClass(`k-toolbar-scrollable-overlay`),e._scrollableModeActive=!0,e._toggleScrollButtons();else if((p||!a)&&!e._scrollableModeActive){e._nowScrollingTabs=!1,e._isRtl=n.support.isRtl(e.element);let t=n.support.touch?`touchstart`:`mousedown`,a=n.support.touch?`touchend`:`mouseup`,l=n.support.browser,u=e._isRtl&&!l.msie&&!l.edge,d=e._isRtl?`caret-alt-right`:`caret-alt-left`,f=e._isRtl?`caret-alt-left`:`caret-alt-right`,p=this._getScrollButtonHtml(`prev`,d),m=this._getScrollButtonHtml(`next`,f);switch(i){case`split`:e.element.prepend(p),e.element.append(m);break;case`start`:e.element.prepend(m),e.element.prepend(p);break;case`end`:e.element.append(p),e.element.append(m);break}o=e._scrollPrevButton=e.element.children(`.k-toolbar-prev`),c=e._scrollNextButton=e.element.children(`.k-toolbar-next`),o.on(t+s,function(){e._nowScrollingTabs=!0,e._scrollTabsByDelta(r.overflow.scrollDistance*(u?1:-1))}),c.on(t+s,function(){e._nowScrollingTabs=!0,e._scrollTabsByDelta(r.overflow.scrollDistance*(u?-1:1))}),o.add(c).on(a+s,function(){e._nowScrollingTabs=!1,e._toggleScrollButtons()}),e._scrollableModeActive=!0,e._toggleScrollButtons()}else e._scrollableModeActive&&!p&&a?(e._scrollableModeActive=!1,e._removeScrollableClasses(),e._scrollPrevButton&&e._scrollPrevButton.off().remove(),e._scrollNextButton&&e._scrollNextButton.off().remove()):!e._scrollableModeActive&&a?e._removeScrollableClasses():e._toggleScrollButtons()}},_scrollTabsByDelta:function(e){let t=this,r=t.element.find(`> .k-toolbar-items`),i=n.scrollLeft(r),a=n.support.browser;t._isRtl&&(a.mozilla||a.webkit&&a.version>=85)&&(i*=-1);let o={scrollLeft:i+e};r.finish().animate(o,`fast`,`linear`,function(){t._nowScrollingTabs&&!jQuery.fx.off&&t._scrollTabsByDelta(e)})},_toggleScrollButtons:function(e){let t=this;if(!t._scrollableAllowed())return;let r=t.element.find(`> .k-toolbar-items`),i=Math.floor(n.scrollLeft(r)),a=t.options.overflow.scrollButtons,o=Math.abs(i-(r[0].scrollWidth-r[0].offsetWidth))<=1,s=i===0;if(a!==`hidden`){if(t._scrollPrevButton.toggleClass(g,s),t._scrollNextButton.toggleClass(g,o),a===`auto`){let n=e||r[0].scrollWidth-r[0].offsetWidth<=1;t._scrollPrevButton.toggleClass(_,n),t._scrollNextButton.toggleClass(_,n)}}else t.element.toggleClass(`k-toolbar-scrollable-start`,s),t.element.toggleClass(`k-toolbar-scrollable-end`,o)},enable:function(t,r){var i=this,a=this._getUid(t),o=this._getItem(t,a),s=this._getOverflowItem(t,a),c=o.component,l,u,d,f;r===void 0&&(r=!0);function p(e){e.component?(f=c.wrapper,d=f.hasClass(S)||f.is(`:focus`),c.enable(r),f.find(`[disabled]`).removeAttr(`disabled`),f.removeAttr(`disabled`),d&&f.addClass(S).trigger(A)):e.buttonsPopupItem.length>0&&(l=n.widgetInstance(e.buttonsPopupItem.closest(J+de)),l.enable(r,e.buttonsPopupItem))}this.overflowSection&&s&&p(s),o&&(p(o),this.overflowMenu&&(this.overflowMenu.enable(o.menuItem,r),u=this.overflowMenu.element.find(`[data-parentuid=`+a+`]`),u.each((t,n)=>{i.overflowMenu.enable(e(n),r)})))},getSelectedFromGroup:function(e){return this.element.find(`[data-group='`+e+`']`).filter(J+h)},hide:function(t){var n=this,r=this._getUid(t),i=n._getItem(t,r),a=n._getOverflowItem(t,r),o,s,c,l;if(!i&&!a)return;function u(e,t){o=e.templateEl.add(e.toolbarEl).add(e.buttonsPopupItem).add(e.menuItem),o.addClass(_),o.addClass(v),l=e.toolbarEl.parent().closest(J+d),s=l.data($),s&&(l.children(`:not(.k-hidden)`).length===0?n.hide(l):n._groupVisibleButtons(l)),o.find(`[tabindex=0]`).addBack(`[tabindex=0]`).length>0&&n._resetTabIndex(n._getAllItems(t).first())}this.overflowSection&&a&&u(a,!0),i&&(u(i),this.overflowMenu&&(c=this.overflowMenu.element.find(`[data-parentuid=`+r+`]`),c.each((t,n)=>{e(n).addClass(v),e(n).addClass(_)}))),this.options.resizable&&this.resize(!0)},remove:function(t){var n=this,r=this._getUid(t),i=this._getItem(t,r),a=this._getOverflowItem(t,r),o,s;if(!i&&!a)return;function c(t){t.component&&(o=t.toolbarEl.closest(`[data-role="buttongroup"]`),o.length>0&&t.toolbarEl.siblings().length===0?(o.data($).destroy(),o.remove(),t.toolbarEl=e(G)):t.component.destroy()),t.templateEl.length>0?t.templateEl.remove():t.toolbarEl.length>0&&t.toolbarEl.remove(),t.buttonsPopupItem.length>0&&t.buttonsPopupItem.remove()}this.overflowSection&&a&&c(a),i&&(c(i),this.overflowMenu&&(this.overflowMenu.remove(i.menuItem),s=this.overflowMenu.element.find(`[data-parentuid=`+r+`]`),s.each((t,r)=>{n.overflowMenu.remove(e(r))}))),this.options.resizable&&this.resize(!0)},show:function(t){var n=this,r=this._getUid(t),i=this._getItem(t,r),a=this._getOverflowItem(t,r),o,s,c,l;function u(e){o=e.templateEl.add(e.toolbarEl).add(e.buttonsPopupItem),o.removeClass(v),o.removeClass(_),l=e.toolbarEl.parent().closest(J+d),s=l.data($),s&&(l.hasClass(`k-hidden`)&&l.children(`:not(.k-hidden)`).length>0?n.show(l):n._groupVisibleButtons(l))}this.overflowSection&&a&&u(a),i&&(u(i),i.menuItem.removeClass(v),this.overflowMenu&&(c=this.overflowMenu.element.find(`[data-parentuid=`+r+`]`),c.each((t,n)=>{e(n).removeClass(v)}))),this.options.resizable&&this.resize(!0)},toggle:function(n,r){var i=this._getItem(n),a=this._getOverflowItem(n),o=i.menuItem;r===t&&(r=!0);function s(t){let n=t.toolbarEl,i=n.data(Q);if(!t.component&&o.find(J+b).length===0)return;let a=n.data(z);if(t.component){let t=n.closest(J+d).data($);t&&n.hasClass(h)!==r&&t._toggleIndex(n.index()),i.toggle(r),r&&n.closest(`.k-toolbar,.k-toolbar-popup`).find(`[data-group=`+a+`]`).each((t,r)=>{r!==n[0]&&e(r).data(Q).toggle(!1)})}}if(this.overflowSection&&a&&s(a),i&&(s(i),o)){let t=i.toolbarEl.data(z);o.attr(T,r).find(J+b).toggleClass(h,r),r&&this.overflowMenu&&this.overflowMenu.element.find(`[data-group=`+t+`]`).each((t,n)=>{n!==o[0]&&e(n).attr(T,!1).find(J+b).removeClass(h)})}},toggleTools:function(t){var r=this,i=r.element.find(Te),a=r.element.find(H).not(C);i.each(function(i,a){var o=e(a),s=null,c=o.data(k),l=t&&t[c];o.is(we)&&(s=n.widgetInstance(o)),s&&s.enable?s.enable(l||!1):r.enable(o,l)}),r.element.find(Te+`[disabled]`).removeAttr(`disabled`),r.element.find(H).not(C).attr(`tabindex`,-1),a.attr(I,0)},_generateToolElement:function(e,t,r,i){let a;return e||t?a=this._addTemplate(i):n.ui[i.component]?a=this._addCustomWidget(i):r?a=this._addDefaultTool(r,i):i.type===be?this._addSpacer():i.type===P&&this._addSeparator(i),a},_add:function(e){var t=this._processOptions(e),n=t.template,r=t.overflowTemplate,i=Fe[t.type];let a;if((t.overflow!==W||this.options.overflow?.mode==`menu`)&&(a=this._generateToolElement(n,r,i,t),a&&t.overflow!==W&&(this.overflowAnchor&&this.overflowAnchorSeparator?a.insertBefore(this.overflowAnchorSeparator):a.appendTo(this.element),a.find(`[disabled]`).removeAttr(`disabled`),a.is(`[disabled]`)&&a.removeAttr(`disabled`))),this.options.overflow?.mode==`section`&&t.overflow!==U){if(t.type===be)return this._addSpacer(this._overflowSectionContentElement());if(t.type===P)return;let e=this._generateToolElement(n,r,i,t);e&&(this._overflowSectionContentElement().append(e),t.overflow!==W&&e.addClass(_),e.find(`[disabled]`).removeAttr(`disabled`),e.is(`[disabled]`)&&e.removeAttr(`disabled`),e.attr(`ref-section-tool`,a?.attr(`data-uid`)||``))}},_addAttributes:function(e,t){var n=e.attributes,r=G;n||={},e.hidden&&(r=_+q+v),e.align&&(r=r+` k-align-`+e.align),n&&(n.class&&(r=r+q+n.class,delete n.class),t.attr(n)),t.addClass(r),t.attr(Ae,e.uid),e.id&&t.attr(X,e.id),e.overflow===U&&t.attr(`data-overflow`,U),e.items&&e.items.forEach(e=>{e&&e.groupClass&&!t.hasClass(e.groupClass)&&t.addClass(e.groupClass)})},_addCustomWidget:function(t){var r=e(t.element||`<input>`),i,a,o;return t.overflowComponent&&this._addMenuItem(t.overflowComponent.type,e.extend({},t,t.overflowComponent)),t.attributes&&(o=t.attributes.class,delete t.attributes.class,r.attr(t.attributes),delete t.attributes[E]),t.componentOptions||={},t.componentOptions.size=this.options.size,i=new n.ui[t.component](r,t.componentOptions),Le.indexOf(t.component)>-1?(i.wrapper.addClass(Ie[t.component]).attr(N+w,``),a=i.wrapper):a=(i.wrapper||i.element).wrap(Be).parent(),t.attributes&&(t.attributes.class=o),this._addAttributes(t,a),a},_addDefaultTool:function(t,n){var r,i;let a=this;return(n.overflow!==W||a.overflowSection&&n.overflow!==U)&&(r=a._addToolbarTool(t,e.extend(!0,{},n))),a.overflowMenu&&n.overflow!==U&&(n.overflowComponent?(i=e.extend(!0,{},n,n.overflowComponent),delete i[`data-command`],a._addMenuItem(`Button`,i)):a._addMenuItem(t,e.extend(!0,{},n))),r},_addMenuItem:function(n,r){var i=this,a=r.selected,o;return delete r.selected,r.id&&=r.id+K+F,r.showIcon===c&&(delete r.imageUrl,delete r.icon),r.showText===c?(r.attributes||={},r.attributes[E]=r.text,r.text=G):(r.text===t||r.text===G)&&(r.text=je,r.encoded=!1),i.overflowMenu?.append(r),o=i.overflowMenu.element.find(J+ce).last(),n===`ToggleButton`||n===`Button`&&r.togglable===!0?(o.find(J+se).addClass(b),a&&o.find(J+se).addClass(h),r.group&&o.attr(`data-group`,r.group)):r.menuButtons?r.menuButtons.forEach(e=>{e.overflow=r.overflow,i._addMenuItem(null,e)}):r.buttons&&(o.remove(),o=null,r.buttons.forEach(t=>{var n=t.attributes;t.overflow=r.overflow,t.attributes=e.extend(n,r.attributes),i._addMenuItem(`Button`,t)})),n===`DropDownButton`&&(o.addClass(g),o.attr(he,!0)),o&&(i._addAttributes(r,o),r.overflow===ke&&o.addClass(_),(r.click||r.toggle)&&i.overflowMenu.bind(R,e=>{e.item===o[0]&&this._onMenuItemSelect(e,r.click,r.toggle)})),o},_addPopupButton:function(t){var n=this,r=e(Re),i=t.popupComponent,a,o;return r.attr(E,t.text),a=e(`<div/>`).appendTo(e(`<body>`)).kendoPopup({anchor:r}).data(`kendoPopup`),r.on(O+` touchend`,e=>{a.toggle(),e.preventDefault()}),o=new i(a.element),o.bind(t.commandOn,e=>{n.trigger(D,{target:r,value:e.value||e}),a.close()}),{widgetElement:r,chooser:o,popup:a}},_addSeparator:function(t){var n=e(He),r=e(Ve);let i=t.id;if(n.addClass(ee),n.attr(M,P),this.overflowAnchor&&this.overflowAnchorSeparator?n.insertBefore(this.overflowAnchorSeparator):n.appendTo(this.element),this._addAttributes(t,n),t.id&&=t.id+K+F,this._addAttributes(t,r),this.overflowMenu&&this.overflowMenu.element.append(r),this.overflowSection){let n=e(He).addClass(ee).addClass(_).attr(M,P).attr(`ref-section-tool`,t.uid),r=i?e.extend(!0,t,{id:i+K+`section-overflow`}):t;this._addAttributes(r,n),this._overflowSectionContentElement().append(n)}},_addSpacer:function(t){var n=e(Ue);n.addClass(te),this.overflowAnchor&&this.overflowAnchorSeparator?n.insertBefore(this.overflowAnchorSeparator):n.appendTo(t||this.element)},_overflowSectionContentElement:function(){return this.overflowSection?.element.find(`.k-toolbar-items-list`)},_addTemplate:function(t){var r=t.template,a=t.overflowTemplate,o,s,c=e(G);return a&&this.overflowMenu&&t.overflow!==U&&(a=i(a)?a(t)[0]:a,this.overflowMenu.append({}),s=this.overflowMenu.element.find(J+ce).last().find(J+se).html(a).parent()),r&&t.overflow!==W&&(this.options.evaluateTemplates&&(r=n.template(r)),r=i(r)?r(t):r,o=e(ze),o.html(r),s&&s.addClass(_)),o&&(c=o.find(L+Y+R),this._addAttributes(t,o)),s&&(c.add(s.find(L+Y+R)),this._addAttributes(t,s)),!this.options.navigateOnTab&&c.length>0&&(o.attr(I,0),o.attr(N+w,``),c.attr(I,-1)),o},_addToolbarTool:function(t,r){var i=e(`<button>`),a=!1,o,s,c;return r.primary===!0&&(r.themeColor=xe),r.url&&(i=e(`<a href='`+n.sanitizeLink(r.url)+`'>`)),r.showIcon===F&&(delete r.imageUrl,delete r.icon),r.showText===F?i.attr(E,r.text):i.text(r.text),r.type===`popupButton`?(c=this._addPopupButton(r),i=c.widgetElement):t===`Button`&&r.togglable===!0?t=`ToggleButton`:r.menuButtons?(r.items=r.menuButtons,delete r.menuButtons,r.attributes&&r.attributes.class&&i.addClass(r.attributes.class),i.attr(B,r.uid),delete r.uid):r.buttons&&(i=e(`<span></span>`),a=!0,r.items=r.buttons,delete r.buttons,r.preventKeyNav=!0,r.items.forEach(e=>{e.showIcon===F&&(delete e.imageUrl,delete e.icon),e.showText===F&&(e.attributes||={},e.attributes[E]=e.text,delete e.text)})),r.id&&(i.attr(X,r.id),delete r.id),r.name&&delete r.name,r.size=this.options.size,o=new n.ui[t](e(i),r),s=o.wrapper||o.element,s.addClass(Ie[t]),this._addAttributes(r,s),r.url&&i.removeAttr(M),a?(s.find(J+u).attr(N+w,``),this._groupVisibleButtons(s)):o.element.attr(N+w,``),r.type!==`popupButton`&&r.type!==`open`?this._attachWidgetEvents(o):r.type===`open`?(i.addClass(ne),this._resetOpen(i,r.extensions),s=i.parent()):(o.chooser=c.chooser,o.popup=c.popup),s},_attachEvents:function(){var e=this,t=e.options;e.element.on(j+s,e._keydown.bind(e)).on(ve+s,e._focusIn.bind(e)).on(ye+s,e._focusOut.bind(e)),t.overflow?.mode==`section`&&e.overflowSection&&e._overflowSectionContentElement().on(j+s,e._keydown.bind(e)),t.overflow?.mode==`scroll`&&e.element.find(`> .k-toolbar-items`).bind(`scroll`,function(t){e._nowScrollingTabs||e._toggleScrollButtons()})},_attachWidgetEvents:function(t){var n=this;t.bind(O,n._onClick.bind(n)),t.bind(k,n._onToggle.bind(n)),t.bind(R,n._onSelect.bind(n)),t.bind(ge,n._onOpen.bind(n)),t.bind(_e,n._onClose.bind(n)),t.wrapper.find(J+u).each((t,r)=>{var i=e(r);i.data(`kendoButton`)&&i.data(`kendoButton`).bind(O,e=>{n.trigger(O,{id:e.id,target:e.target,originalEvent:e.originalEvent||e.event})})})},_childrenWidth:function(){var t=parseInt(this.element.css(`gap`),10)||0,n=t;return(this.element.find(`> .k-toolbar-items`).length>0?this.element.find(`> .k-toolbar-items`):this.element).children(`:visible:not(`+J+te+`)`).each(function(){n+=o(e(this),!1)+t}),Math.ceil(n)},_extendToolsOptions:function(){var e=this.options,t=e.tools.flatMap(t=>this._mapTool(t,e.parentMessages,e.defaultTools));return this.options.items=t,t},_focusIn:function(t){var n=e(t.target).closest(J+u);n.length>0&&(this._resetTabIndex(n),n.addClass(S))},_focusOut:function(e){this.wrapper.find(J+u+J+S).removeClass(S)},_getAllItems:function(e,t){return(e==1?this._overflowSectionContentElement():this.wrapper).find(V+(t?`:not(.k-disabled)`:``)).filter(`:visible`).filter((e,t)=>t.style.visibility!==Se)},_getOverflowItem:function(e,t){return this._getItem(e,t,this._overflowSectionContentElement())},_getItem:function(t,r,i){var a=r||this._getUid(t),o=e(Ee),s,c;return a?(s=`[data-uid=`+a+`]`,c=(i||this.element).find(s),{toolbarEl:c,templateEl:c.closest(J+le+Y+J+f),component:n.widgetInstance(c),menuItem:this.overflowMenu?this.overflowMenu.element.find(s):e(G),buttonsPopupItem:o.find(s)}):{toolbarEl:(i||this.element).find(t),templateEl:e(G),menuItem:this.overflowMenu?this.overflowMenu.element.find(t):e(G),buttonsPopupItem:e(G)}},_getNextElement:function(t,n){let r=e(t).closest(`.k-toolbar-popup`).length>0;var i=this._getAllItems(r,!0),a=i[(i.index(t)===-1?i.index(t.parentElement):i.index(t))+n];return a||=n===-1?i.last():i.first(),a},_getUid:function(t){var n=this.element.find(t);return n.length||(n=e(Ee).find(t)),!n.length&&this.overflowMenu&&(n=this.overflowMenu.element.find(t)),!n.length&&this.overflowSection&&(n=this._overflowSectionContentElement().find(t)),n.length?n.data(Z)||n.closest(V).data(Z):null},_groupVisibleButtons:function(e){var t=e.children(),n;t.removeClass(oe).removeClass(ae),n=t.filter(`:not('.`+_+`')`),n.first().addClass(ae),n.last().addClass(oe)},_hideItem:function(t){var n=this,r;t.addClass(_),this.overflowSection&&this._overflowSectionContentElement().find(`[ref-section-tool=${t.data(`uid`)}]`).removeClass(_),n.overflowMenu&&(t.hasClass(f)||t.hasClass(p)?(t.hasClass(f)?(t=t.children().eq(0),r=t.data(Ne)):r=t.data(Me),r.menu.list.children().each((t,r)=>{n._showMenuItem(e(r))}),n._showMenuItem(t)):t.hasClass(d)?t.children().each((t,r)=>{n._showMenuItem(e(r))}):n._showMenuItem(t))},_hideMenuItem:function(e){this.overflowMenu.element.find(`>li[data-uid='`+e.data(Z)+`']`).addClass(_)},_items:function(){let e=this.options;for(var t=0;t<e.items.length;t++)this._add(e.items[t])},_keydown:function(t){var n=e(t.target),r=t.keyCode,i=n.closest(J+le),o=n.is(J+y);let s=n.closest(J+`k-toolbar-popup`).length>0;if(!this.options.navigateOnTab&&!n.is(V)&&r===a.ESC&&i.length>0){t.stopPropagation(),this._keyDeactivateTemplate(i);return}n.is(V)&&(!this.options.navigateOnTab&&r===a.ENTER&&n.hasClass(le)?this._keyActivateTemplate(n):s&&r===a.ESC?(this.overflowSection.close(),this.element.trigger(A)):o&&(t.altKey&&r===a.DOWN||r===a.SPACEBAR)?this._keyOpenOverflow(t,r):r===a.HOME?this._keyFocusFirst(n,t):r===a.END?this._keyFocusLast(n,t):!this.options.navigateOnTab&&(r===a.RIGHT||r===a.LEFT)&&this._keyFocusNext(r,t))},_keyActivateTemplate:function(e){var t=e.find(H+`:not('`+J+ue+`')`+Y+J+x);let n=e.find(`.k-pager`);n.length>0?n.trigger(A):t.length>0&&(e.attr(I,-1),t.attr(I,0),t.first().trigger(A))},_keyDeactivateTemplate:function(e){var t=e.find(we),r=e.find(H+`:not('`+J+ue+`')`+Y+J+x),i;if(t.length>0&&(i=n.widgetInstance(t),i)){if(i.overflowMenu&&i.overflowMenu.visible())return;e.attr(I,0),e.trigger(A),e.find(H).attr(I,-1)}r.length>0&&(e.attr(I,0),e.trigger(A),r.attr(I,-1))},_keyFocusFirst:function(e,t){let n=e.closest(`.k-toolbar-popup`).length>0;var r=this._getAllItems(n,!0);e.is(J+x)||e.is(L)||(this._resetTabIndex(r.first()),r.first().trigger(A),t.preventDefault())},_keyFocusLast:function(e,t){let n=e.closest(`.k-toolbar-popup`).length>0;var r=this._getAllItems(n,!0),i;e.is(J+x)||e.is(L)||(i=r.last(),i.width()===0&&(i=r.eq(r.length-2)),this._resetTabIndex(i),i.trigger(A),t.preventDefault())},_keyFocusNext:function(t,n){var r=this._isRtl?-1:1,i;t===a.LEFT&&(r=-1*r),i=e(this._getNextElement(n.target,r)),this._resetTabIndex(i),i.trigger(A),n.preventDefault()},_keyOpenOverflow:function(e,t){t===a.SPACEBAR&&e.preventDefault(),(this.overflowMenu||this.overflowSection).open()},_mapAttributes:function(e,t){return{"aria-label":t[e.name||e.property],title:t[e.name||e.property],"data-command":e.command,"data-options":e.options,"data-dialog":e.dialog,"data-property":e.property,"data-value":e.value,"data-toggle":e.toggleCondition}},_mapComponent:function(t,n){var r=this,i=t.componentOptions,a=i.messages,o=i.placeholder,s=e.extend({},r._mapAttributes(t,n),t.attributes),c;return t.overflowComponent&&=(c=t.options||{},t.componentOptions.dataSource&&(c.options=t.componentOptions.dataSource),t.componentOptions.value&&(c.default=t.componentOptions.value),Object.keys(c).length>0&&(t.overflowComponent.options=JSON.stringify(c)),r._mapTool(t.overflowComponent,n)),a&&Object.keys(a).forEach(e=>{t.componentOptions.messages[e]=n[a[e]]||a[e]}),o&&(t.componentOptions.placeholder=n[o]||o),Object.keys(i).forEach(e=>{e===`commandOn`&&(t.componentOptions[i[e]]=e=>{r.trigger(D,{target:e.target||e.sender.element})})}),i.dataSource&&i.dataSource.length&&(t.componentOptions.dataSource=i.dataSource.map(e=>(e.name&&n[e.name]&&(e.text=n[e.name]),e))),t.attributes=s,t},_mapTool:function(t,r,i){let a=this,o=Array.isArray(t),s=e.isPlainObject(t),c=s&&Object.keys(t).length,l,u,d,f;return o?{type:`buttonGroup`,buttons:t.map(e=>a._mapTool(e,r,i))}:(l=s&&(c===1||c===2)&&t.name,f=l?t:{},t=l?t.name:t,u=e.isPlainObject(t)?t:e.extend({},i[t]),d=e.extend({},a._mapAttributes(u,r),u.attributes),n.deepExtend(u,{text:f.text||r[u.name||u.property],attributes:d}),u.type===`component`?u.items?u.items.map(e=>a._mapComponent(e,r)):a._mapComponent(u,r):(u.type===`buttonGroup`?(delete u.attributes[E],u.buttons=u.buttons.map(e=>a._mapTool(e,r,i))):u.type===`splitButton`?(delete u.attributes[E],u.menuButtons=u.menuButtons.flatMap(e=>a._mapTool(e,r,i))):u.type===`popupButton`&&u.overflowComponent&&(u.overflowComponent=a._mapTool(u.overflowComponent,r)),delete u.name,u))},_menuItemSelect:function(t){var n=e(t.item),r=n.attr(X),i=n.find(J+b),a=n.data(z),o,s,c;r&&r.indexOf(K+F)>-1&&(r=r.replace(K+F,G)),i.length?(a&&this.overflowMenu.element.find(`[data-group=`+a+`]`).each((t,n)=>{var r=e(n);r.attr(T,!1),r.find(J+b).removeClass(h)}),o=a?!0:!i.hasClass(h),i.toggleClass(h,o),n.attr(T,o),s=this.element.find(`[data-uid=`+n.data(Z)+`]`),s.length&&(s.closest(J+d).length?(c=s.closest(J+d).data($),c.select(s)):(a&&this.element.find(`[data-group=`+a+`]`).each((t,n)=>{e(n).data(Q).toggle(!1)}),s.data(Q).toggle(!0))),this.trigger(k,{id:n.attr(X),target:n,checked:o})):this.trigger(O,{id:r,target:n})},_onClick:function(e){var t=e.target,n=t.hasClass(`k-toolbar-toggle-button`),r=t.data(z);n||this.trigger(O,{id:e.id,target:e.target,originalEvent:e.originalEvent||e.event}),r&&this.element.find(`[data-group=`+r+`]`).length>1&&t.hasClass(h)&&e.preventDefault()},_onClose:function(e){this.trigger(_e,{widget:e.sender})&&e.preventDefault()},_onMenuItemSelect:function(t,n,r){var i=e(t.item),a=i.find(J+b).length>0,o=i.attr(X);o&&o.indexOf(K+F)>-1&&(o=o.replace(K+F,G)),n&&n.bind(this)({event:t.event,id:o,target:i}),a&&r&&setTimeout(()=>{r.bind(this)({event:t.event,id:o,target:i,checked:i.find(J+h).length>0})})},_onOpen:function(e){this.trigger(ge,{widget:e.sender})&&e.preventDefault()},_onSelect:function(t){let r=this;var i=this.overflowMenu?this.overflowMenu.element:e(G);t.sender.element.children().each((t,a)=>{var o=e(a),s=`[data-uid=${o.data(Z)}]`,c=o.hasClass(h);if(i.find(s).attr(T,c).find(J+b).toggleClass(h,c),r.overflowSection){let e=r.element.find(s),t=r.overflowSection.element.find(s);n.widgetInstance(e[0]==a?t:e)?.toggle?.(c)}}),this.trigger(k,{id:t.target.attr(X),target:t.target,checked:t.target.hasClass(h)})},_onToggle:function(t){var r=this,i=t.target,a=i.data(z),o,s;if(r.overflowMenu&&(o=r.overflowMenu.element.find(`[data-uid=`+i.attr(B)+`]`),s=r.overflowMenu.element.find(`[data-group=`+a+`]`),s.attr(T,!1).find(J+b).removeClass(h),o.attr(T,!0).find(J+b).addClass(h)),r.overflowSection){let e=r.element.find(`[data-uid=`+i.attr(B)+`]`);o=r.overflowSection.element.find(`[data-uid=`+i.attr(B)+`]`),n.widgetInstance(e[0]==t.target[0]?o:e)?.toggle?.(t.checked)}a&&r.element.find(`[data-group=`+a+`]`).each((t,n)=>{n!==i[0]&&e(n).data(Q).toggle(!1)}),this.trigger(k,{id:t.id,target:t.target,checked:t.checked,originalEvent:t.originalEvent||t.event})},_processInner(e,t){for(var r,i,a=0;a<e.length;a++)i=e[a],r=i.attributes,r||(e[a].attributes={}),e[a].attributes[B]=n.guid(),e[a].attributes[Ce]=t,i.id&&(e[a].attributes[X]=e[a].id),i.hidden&&(e[a].attributes.class||(e[a].attributes.class=G),e[a].attributes.class+=q+_+q+v);return e},_processOptions:function(r){let i=this,a=r.template,o=r.overflowTemplate,s=n.guid(),c;return e.extend(r,{uid:s,fillMode:r.fillMode?r.fillMode:i.options.fillMode,rootUid:this.uid}),r.menuButtons?r.menuButtons=this._processInner(r.menuButtons,s):r.buttons&&r.buttons.length&&(r.buttons=this._processInner(r.buttons,s),r.buttons.some(e=>e.togglable)?(c=r.buttons[0].group,c&&r.buttons.every(e=>e.group===c)?r.selection=fe:r.selection=pe):r.selection=me),a&&!o||r.type===be?r.overflow=U:r.overflow||=ke,r.enable!==t&&(r.enabled=r.enable),r},_renderOverflow:function(){var t=this,r=t._isRtl?`left`:`right`;let i=t.options.overflow?.mode;i!==`section`&&i!==`menu`||(t.overflowAnchorSeparator=e(`<div class="k-toolbar-separator k-toolbar-button-separator k-separator" ${M}="${P}"></div>`),t.overflowAnchor=e(`<button class='k-toolbar-overflow-button' title='More tools'>`),t.overflowAnchor.attr(N+w,``),t.element.append(t.overflowAnchorSeparator),t.element.append(t.overflowAnchor),t.overflowAnchor.kendoButton({icon:i==`menu`?`more-vertical`:`more-horizontal`,fillMode:`flat`,size:t.options.size,click:function(e){i==`section`&&t.overflowSection.open()}}),t.options.navigateOnTab||t.overflowAnchor.attr(I,-1),i==`section`&&(t.overflowSection=new n.ui.Popup(e(`<div class="k-toolbar-popup"><div class="k-toolbar-items-list ${n.getValidCssClass(`k-toolbar-items-list-`,`fill`,t.options.fillMode)} ${n.getValidCssClass(`k-toolbar-items-list-`,`size`,t.options.size)}"></div></div>`),{anchor:t.element,origin:`bottom left`,position:`top left`,open:function(e){if(t.trigger(De))return e.preventDefault();t.overflowSection.element.width(t.element.outerWidth())},activate:function(e){let n=t._getAllItems(!0,!0).first();t._resetTabIndex(n),n.trigger(A)},close:function(e){t.trigger(Oe)?e.preventDefault():(t._resetTabIndex(t.overflowAnchor),t.overflowAnchor.trigger(A))}})),i==`menu`&&(t.overflowMenu=new n.ui.ContextMenu(e(`<ul>`),{size:t.options.size,showOn:`click tap`,origin:`bottom `+r,position:`top `+r,alignToAnchor:!0,target:t.overflowAnchor,open:function(e){t.trigger(De)&&e.preventDefault()},close:function(e){t.trigger(Oe)?e.preventDefault():(t._resetTabIndex(t.overflowAnchor),t.overflowAnchor.trigger(A))}}),t.overflowMenu.element.attr(Ae,this.uid),setTimeout(()=>{t.overflowMenu.bind(R,t._menuItemSelect.bind(t))})))},_resetOpen:function(t,r){var i=this,a,o;t.closest(`.k-upload-button-wrap`).find(`input`).remove(),a=t.wrap(`<div class='k-upload-button-wrap'></span>`).parent(),o=e(`<input type='file' autocomplete='off' accept='`+r+`'/>`).attr(`aria-hidden`,!0).one(`change`,e=>{i.trigger(D,{target:t,value:e.target.files[0]}),i._resetOpen(t,r)}).appendTo(a),t.off(j).on(j,e=>{e.keyCode===n.keys.ENTER&&o.trigger(O)})},_resetTabIndex:function(e){this.options.navigateOnTab!==!0&&((e.closest(`.k-toolbar-popup`).length>0?this._overflowSectionContentElement():this.wrapper).find(H).attr(I,-1),e.attr(I,0))},_resizable:function(){var e=this,t=e.element;e._renderOverflow(),t.addClass(ie),e._resizeHandler=n.onResize(function(){e.resize()})},_resize:function(t){var r=t.width,i=this.element,a=i.find(`[data-role="splitbutton"]`).add(i.find(`[data-role="dropdownbutton"]`));this.options.resizable&&(this.overflowMenu?.close(),this.overflowSection?.close(),a.length>0&&a.each((t,r)=>{n.widgetInstance(e(r)).close()}),this.hasOverflowButton?(this._shrink(r),this._stretch(r),this._toggleOverflowAnchor()):this._toggleScrollButtons())},_shrink:function(t){var n,r,i;let a=this.element.find(`> .k-toolbar-items`).length>0?this.element.find(`> .k-toolbar-items`):this.element;if(t<this._childrenWidth()){r=a.children(`:visible:not([data-overflow='never'], .`+y+`)`);for(var o=r.length-1;o>=0&&(n=r.eq(o),!(t>this._childrenWidth()));o--)i=n.find(`[tabindex=0]`)||n.is(`[tabindex=0]`)?n:e(G),i.length>0&&(i.attr(I,-1),this.element.children(J+y).attr(I,0)),this._hideItem(n)}},_showItem:function(t,n){var r=this,i=parseInt(this.element.css(`gap`),10)||0,a;t.removeClass(_);var s=o(t,!0)+i;return t.addClass(_),t.length&&(t.hasClass(te)||n>this._childrenWidth()+s)?(t.removeClass(_),this.options.navigateOnTab===!0?t.is(`[tabindex=-1]`)&&t.removeAttr(I):t.find(H).attr(I,-1),this.overflowSection&&this._overflowSectionContentElement().find(`[ref-section-tool=${t.data(`uid`)}]`).addClass(_),this.overflowMenu&&(t.hasClass(f)||t.hasClass(p)?(t.hasClass(f)?(t=t.children().eq(0),a=t.data(Ne)):a=t.data(Me),a.menu.list.children().each((t,n)=>{r._hideMenuItem(e(n))}),r._hideMenuItem(t)):t.hasClass(d)?t.children().each((t,n)=>{r._hideMenuItem(e(n))}):r._hideMenuItem(t)),!0):!1},_showMenuItem:function(e){var t=this.overflowMenu.element.find(`>li[data-uid='`+e.data(Z)+`']`);t.hasClass(v)||t.removeClass(_)},_stretch:function(e){var t=this.element.children(J+y),n,r;let i=this.element.find(`> .k-toolbar-items`).length>0?this.element.find(`> .k-toolbar-items`):this.element;if(e>this._childrenWidth()){r=i.children(J+_+`:not(`+J+v+`)`);for(var a=0;a<r.length&&(n=r.eq(a),!(e<this._childrenWidth()||!this._showItem(n,e)));a++);}!this.options.navigateOnTab&&t.is(`[tabindex=0]`)&&(t.attr(I,-1),this._resetTabIndex(this._getAllItems().first()))},_tabIndex:function(){var e=this.wrapper.find(H+`:not('`+C+`')`),t=e.first();this.options.navigateOnTab===!0?this.wrapper.find(`.k-toolbar-item`).removeAttr(I):(e.attr(I,-1),t.attr(I,0))},_toggleOverflowAnchor:function(){var e=!1;this.hasOverflowButton&&(e=(this.overflowMenu?.element||this._overflowSectionContentElement()).children(`:not(.`+_+`, .`+re+`)`).length>0,e?(this.overflowAnchor.removeClass(_),this.overflowAnchorSeparator.removeClass(_)):(this.overflowAnchor.addClass(_),this.overflowAnchorSeparator.addClass(_)))}});n.toolbar={Item:n.Class,OverflowButton:n.Class,TemplateItem:n.Class,ToolBarButton:n.Class,registerComponent:()=>null},n.cssProperties.registerPrefix(`ToolBar`,`k-toolbar-`),n.cssProperties.registerValues(`ToolBar`,[{prop:`fillMode`,values:[`solid`,`flat`]}]),n.ui.plugin(We)})(window.kendo.jQuery);var c=kendo;e.__meta__=s,e.default=c}); //# sourceMappingURL=kendo.toolbar.min.js.map