@progress/kendo-ui
Version:
This package is part of the [Kendo UI for jQuery](http://www.telerik.com/kendo-ui) suite.
3 lines • 46.7 kB
JavaScript
/* @license */
(function(e,t){typeof exports==`object`&&typeof module<`u`?t(exports,require(`kendo.popup.min.js`),require(`kendo.data.min.js`),require(`kendo.icons.min.js`),require(`kendo.userevents.min.js`)):typeof define==`function`&&define.amd?define([`exports`,`kendo.popup.min`,`kendo.data.min`,`kendo.icons.min`,`kendo.userevents.min`],t):(e=typeof globalThis<`u`?globalThis:e||self,t((e.kendo=e.kendo||{},e.kendo._globals=e.kendo._globals||{},e.kendo._globals.Menu={}),e.kendo._globals.Popup,e.kendo._globals.Data,e.kendo._globals.Icons,e.kendo._globals.Userevents))})(this,function(e,t,n,r,i){Object.defineProperties(e,{__esModule:{value:!0},[Symbol.toStringTag]:{value:`Module`}});let a={id:`menu`,name:`Menu`,category:`web`,description:`The Menu widget displays hierarchical data as a multi-level menu.`,depends:[`popup`,`data`,`data.odata`,`userevents`]};(function(e,t){var n=window.kendo,r=n.ui,i=n._activeElement,a=n.support.touch&&n.support.mobileOS,o=Array.isArray,s=n.data.HierarchicalDataSource,c=`mousedown`,l=`click`,u=30,d=50,f=e.extend,p=e.each,m=n.htmlEncode,h=n.template,g=n.keys,_=r.Widget,v=/^(ul|a|div)$/i,y=`.kendoMenu`,b=`img`,x=`open`,S=`k-menu`,C=`k-link k-menu-link`,ee=`.k-link`,w=`.k-menu-expand-arrow`,te=`k-last`,T=`close`,ne=`timer`,re=`k-first`,ie=`k-image`,E=`select`,D=`zIndex`,O=`activate`,ae=`deactivate`,oe=`touchstart`+y+` MSPointerDown`+y+` pointerdown`+y,se=n.support.pointers,ce=n.support.msPointers,le=ce||se,ue=`change`,de=`error`,fe=n.support.touch?`touchstart`:``,k=se?`pointerover`:ce?`MSPointerOver`:`mouseenter`,A=se?`pointerout`:ce?`MSPointerOut`:`mouseleave`,pe=`DOMMouseScroll`+y+` mousewheel`+y,me=n.support.resize+y,j=`group`,M=`groupparent`,N=e(document.documentElement),P=`kendoPopup`,he=`k-hover`,F=`k-focus`,I=`k-disabled`,ge=`k-selected`,_e=`.k-menu`,ve=`.k-menu-group`,L=`.k-animation-container`,R=`.k-child-animation-container`,z=`.k-menu-popup ,`+L,B=`:not(.k-list) > .k-item:not([role='treeitem'])`,ye=`.k-item.k-disabled`,V=`.k-item`,be=`.k-item:not(.k-disabled)`,xe=`.k-item:not(.k-disabled) > .k-link`,H=`:not(.k-item.k-separator):visible`,Se=`div:not(.k-animation-container,.k-list-container)`,U=`.k-menu-scroll-button`,Ce={2:1,touch:1},we=`string`,Te=`dataBound`,Ee=`aria-expanded`,W=`role`,De={text:`dataTextField`,url:`dataUrlField`,spriteCssClass:`dataSpriteCssClassField`,icon:`dataIconField`,iconClass:`dataIconClassField`,imageUrl:`dataImageUrlField`,imageAttr:`dataImageAttrField`,content:`dataContentField`},G={wrapperCssClass:function(e,t){var n=`k-item k-menu-item`,r=t.index;return t.separator&&(n+=` k-separator`),t.enabled===!1&&(n+=` k-disabled`),e.firstLevel&&r===0&&(n+=` k-first`),r==e.length-1&&(n+=` k-last`),t.cssClass&&(n+=` `+t.cssClass),t.attr&&t.attr.hasOwnProperty(`class`)&&(n+=` `+t.attr.class),t.selected&&(n+=` `+ge),n},itemCssAttributes:function(e){var t=``,n=e.attr||{};for(var r in n)n.hasOwnProperty(r)&&r!==`class`&&(t+=r+`="`+n[r]+`" `);return t},imageCssAttributes:function(e){var t=``,n=e&&e.toJSON?e.toJSON():{};for(var r in n.class?n.class+=` `+ie:n.class=ie,n)n.hasOwnProperty(r)&&(t+=r+`="`+n[r]+`" `);return t},contentCssAttributes:function(e){var t=``,n=e.contentAttr||{},r=`k-content k-menu-group`;for(var i in n.class?n.class+=` `+r:n.class=r,n)n.hasOwnProperty(i)&&(t+=i+`="`+n[i]+`" `);return t},textClass:function(){return C},groupAttributes:function(e){return e.expanded===!0?``:`${n.attr(`style-display`)}="none"`},groupCssClass:function(){return`k-menu-group`},groupWrapperCssClass:function(){return`k-menu-popup`},content:function(e){return e.content?e.content:` `}};function Oe(e,t){return e=e.split(` `)[!t+0]||e,e.replace(`top`,`up`).replace(`bottom`,`down`)}function ke(e,t,r){e=e.split(` `)[!t+0]||e;var i={origin:[`bottom`,r?`right`:`left`],position:[`top`,r?`right`:`left`]};return/left|right/.test(e)?(i.origin=[`top`,e],i.position[1]=n.directions[e].reverse):(i.origin[0]=e,i.position[0]=n.directions[e].reverse),i.origin=i.origin.join(` `),i.position=i.position.join(` `),i}function K(t,n){try{return e.contains(t,n)}catch{return!1}}function Ae(t){t=e(t),!t.attr(n.attr(`omit-wrap`))&&(t.addClass(`k-item k-menu-item`).children(b).addClass(ie),t.children(`a`).addClass(C).children(b).addClass(ie),t.filter(`:not([disabled])`),t.filter(`.k-separator`).removeClass(`k-menu-item`).addClass(`k-separator-horizontal`).empty().append(` `),t.filter(`li[disabled]`).addClass(I).prop(`disabled`,!1).attr(`aria-disabled`,!0),t.filter(`[role]`).length||t.attr(W,`menuitem`),t.children(ee).length||t.contents().filter(function(){return!this.nodeName.match(v)&&!(this.nodeType===3&&!n.trim(this.nodeValue))}).wrapAll(`<span class='`+C+`' role='none'></span>`).filter(function(e,t){return t.nodeType===3}).wrap(`<span class='k-menu-link-text' role='none'></span>`),q(t),J(t))}function q(t){t=e(t),t.find(`> .k-link > .k-menu-expand-arrow > [class*=k-i-caret]:not(.k-sprite),> .k-link > .k-menu-expand-arrow > [class*=k-svg-i-caret]:not(.k-sprite)`).parent().remove(),t.filter(`:has(.k-menu-group)`).children(`.k-link:not(:has([class*=k-i-caret]:not(.k-sprite))),.k-link:not(:has([class*=k-svg-i-caret]:not(.k-sprite)))`).each(function(){var t=e(this);t.append(`<span aria-hidden='true' class='k-menu-expand-arrow'>${n.ui.icon({icon:je(t)})}</span>`)})}function je(e){var t,r=e.parent().parent(),i=n.support.isRtl(r);return t=r.hasClass(S+`-horizontal`)?`caret-alt-down`:i?`caret-alt-left`:`caret-alt-right`,t}function J(t){t=e(t),t.filter(`.k-first:not(:first-child)`).removeClass(re),t.filter(`.k-last:not(:last-child)`).removeClass(te),t.filter(`:first-child`).addClass(re),t.filter(`:last-child`).addClass(te)}function Me(e){if(e&&e.length)for(var t in e){var n=e.eq(t);n.find(`ul`).length?n.attr(`aria-haspopup`,!0):n.removeAttr(`aria-haspopup`)}}function Ne(e){if(!e.hasClass(S))return e.parentsUntil(`.`+S,`li`)}function Pe(t,n){var r=Ie(n);r&&Fe(t,r),n.items&&e(t).children(`div`).children(`ul`).children(`li`).each(function(e){Pe(this,n.items[e])})}function Fe(t,n){e(t).children(`.k-link`).data({selectHandler:n})}function Ie(e){var t=e.select,r=n.isFunction;return t&&r(t)?t:null}function Y(e){return e?`li[data-groupparent='`+e+`']`:`li[data-groupparent]`}function X(e){var t=e?`[data-group='`+e+`']`:`[data-group]`;return`ul`+t+`,div`+t}function Z(t,n){var r=t.find(Y()),i=[];return r.each(function(r,a){a=e(a);for(var o=a.data(M),s=t;o;)s=n.find(X(o)+`:visible`),s.length&&i.push(s),a=s.find(Y()),a&&a.length&&a.length>1?(i.push(...Z(s,n)),o=null):o=a.data(M)}),i}function Le(t,n){var r=t.data(j);return r?n.find(Y(r)):e([])}function Re(t,n){var r=t.data(M);return r?n.children(L).find(X(r)):e([])}function ze(t,n){var r=[],i=function(e){for(;e.parentNode&&!n.is(e.parentNode);)r.push(e.parentNode),e=e.parentNode},a=t[0]||t;i(a);for(var o=r[r.length-1];e(o).is(L)&&(a=Le(e(o).find(z),n)[0],a);)r.push(a),i(a),o=r[r.length-1];return r}function Be(e){var t=0;return e.wheelDelta&&(t=-e.wheelDelta/120,t=t>0?Math.ceil(t):Math.floor(t)),e.detail&&(t=Math.round(e.detail/3)),t}function Ve(e,t){for(var n=0,r=e.parentNode;r&&!isNaN(r[t]);)n+=r[t],r=r.parentNode;return n}function Q(e){return le&&e.originalEvent&&e.originalEvent.pointerType in Ce}function He(e){var t=e.originalEvent;return a&&/touch/i.test(t.type||``)}function Ue(e){e.contents().filter(function(){return this.nodeName!=`LI`}).remove()}var $=n.ui.DataBoundWidget.extend({init:function(e,t){var r=this;_.fn.init.call(r,e,t),e=r.wrapper=r.element,t=r.options,r._accessors(),r._templates(),r._dataSource(),r._updateClasses(),r._wrapGroups(),r._animations(t),r.nextItemZIndex=100,r._tabindex(),r._initOverflow(t),r._attachMenuEventsHandlers(),t.openOnClick&&(r.clicked=!1),e.attr(W,`menubar`),e[0].id?r._ariaId=n.format(`{0}_mn_active`,e[0].id):r._ariaId=n.format(`{0}_mn_active`,n.guid()),n.notify(r)},events:[x,T,O,ae,E,Te],options:{name:`Menu`,animation:{open:{duration:200},close:{duration:100}},orientation:`horizontal`,direction:`default`,openOnClick:!1,closeOnClick:!0,hoverDelay:100,scrollable:!1,popupCollision:null,autoSize:!1,iconPosition:`before`},_initData:function(){var e=this;e.dataSource&&(e.element.empty(),e.append(e.dataSource.view(),e.element))},_attachMenuEventsHandlers:function(){var t=this,n=t.element,r=t.options,i=t._overflowWrapper();t._checkActiveProxy=t._checkActiveElement.bind(t),(i||n).on(oe,V,t._focusHandler.bind(t)).on(l+y,ye,!1).on(l+y,V,t._click.bind(t)).on(oe+` `+c+y,`.k-content`,t._preventClose.bind(t)).on(k+y,be,t._mouseenter.bind(t)).on(A+y,be,t._mouseleave.bind(t)).on(c+y,be,t._mousedown.bind(t)).on(fe+y+` `+k+y+` `+A+y+` `+c+y+` `+l+y,xe,t._toggleHover.bind(t)),n.on(`keydown`+y,t._keydown.bind(t)).on(`focus`+y,t._focus.bind(t)).on(`focus`+y,`.k-content`,t._focus.bind(t)).on(`blur`+y,t._removeFocusItem.bind(t)).on(`blur`+y,`[tabindex]`,t._checkActiveProxy),i&&i.on(A+y,z,t._mouseleavePopup.bind(t)).on(k+y,z,t._mouseenterPopup.bind(t)),r.openOnClick&&(t._documentClickHandler=t._documentClick.bind(t),e(document).on(`click`,t._documentClickHandler))},_detachMenuEventsHandlers:function(){var t=this,n=t._overflowWrapper();n&&n.off(y),t.element.off(y),t._documentClickHandler&&e(document).off(`click`,t._documentClickHandler)},_getNeededSpaceForChildren:function(e,t){let r=e.children(),i=0;return r.length>0&&r.each((e,r)=>{t?i+=n._outerWidth(r):i+=n._outerHeight(r)}),i},_initOverflow:function(t){var r=this,i=t.orientation==`horizontal`,a,o;let s=n.support.isRtl(r.wrapper);if(r._openedPopups={},t.scrollable){r._scrollWrapper=r.element.wrap(`<div class="k-menu-scroll-wrapper${t.orientation===`vertical`?` k-menu-scroll-wrapper-vertical`:``}"></div>`).parent(),i&&Ue(r.element);let n=i?s?`right`:`left`:`up`,u=i?s?`left`:`right`:`down`;switch(a=e(r.templates.scrollButton({direction:n})),o=e(r.templates.scrollButton({direction:u})),t.scrollable.scrollButtonsPosition){case`start`:o.prependTo(r._scrollWrapper),a.prependTo(r._scrollWrapper);break;case`end`:a.appendTo(r._scrollWrapper),o.appendTo(r._scrollWrapper);break;default:a.prependTo(r._scrollWrapper),o.appendTo(r._scrollWrapper)}r._initScrolling(r.element,a,o,i,s);var c=r.element.outerWidth(),l=r.element[0].style.width;l=l===`auto`?``:l,i&&e(window).on(me,function(){setTimeout(function(){r._setOverflowWrapperWidth(c,l),r._toggleScrollButtons(r.element,a,o,i)},300)}),r._setOverflowWrapperWidth(c,l),r._toggleScrollButtons(r.element,a,o,i)}},_overflowWrapper:function(){return this._scrollWrapper||this._popupsWrapper},_setOverflowWrapperWidth:function(e,t){var n=this,r=n._scrollWrapper.css(`width`);n._scrollWrapper.css({width:``});var i=n._scrollWrapper.outerWidth();n._scrollWrapper.css({width:r});var a=n.element.outerWidth(),o=n.element[0].offsetWidth-n.element[0].clientWidth;if(a!=i&&i>0){var s=t?Math.min(e,i):i;n.element.width(s-o),n._scrollWrapper.width(s)}},_reinitOverflow:function(e){var t=this;(e.scrollable&&!t.options.scrollable||!e.scrollable&&t.options.scrollable||e.scrollable&&t.options.scrollable&&(e.scrollable.distance!=t.options.scrollable.distance||e.scrollable.scrollButtonsPosition!=t.options.scrollable.scrollButtonsPosition)||e.orientation!=t.options.orientation)&&(t._detachMenuEventsHandlers(),t._destroyOverflow(),t._initOverflow(e),t._attachMenuEventsHandlers())},_destroyOverflow:function(){var n=this,r=n._overflowWrapper();r&&(r.off(y),r.find(U).off(y).remove(),r.children(L).each(function(t,n){var i=e(n).find(`.k-child-animation-container > .k-menu-popup`);i.off(pe);var a=Le(i,r);a.length&&a.append(n)}),r.find(Y()).removeAttr(`data-groupparent`),r.find(X()).removeAttr(`data-group`),n.element.off(pe),e(window).off(me),r.contents().unwrap(),n._scrollWrapper=n._popupsWrapper=n._openedPopups=t)},_initScrolling:function(t,r,i,a,o){var s=this,c=s.options.scrollable,l=s.isNumeric(c.distance)?c.distance:d,u=l/2,f=`-=`+l,p=`+=`+l,m=`-=`+l*2,h=`+=`+l*2,g=!1,_=!1,v=function(e){var n=a?{scrollLeft:e}:{scrollTop:e};t.finish().animate(n,`fast`,`linear`,function(){g&&v(e)}),s._toggleScrollButtons(t,r,i,a,o)},b=function(e){!g&&!_&&(v(e.data.direction),g=!0)},x=function(n){var c=a?{scrollLeft:n.data.direction}:{scrollTop:n.data.direction};_=He(n)||Q(n),t.stop().animate(c,`fast`,`linear`,function(){_?(s._toggleScrollButtons(t,r,i,a,o),g=!0):e(n.currentTarget).trigger(k)}),g=!1,n.stopPropagation(),n.preventDefault()};r.on(k+y,{direction:o&&a?p:f},b).on(n.eventMap.down+y,{direction:o&&a?h:m},x),i.on(k+y,{direction:o&&a?f:p},b).on(n.eventMap.down+y,{direction:o&&a?m:h},x),r.add(i).on(A+y,function(){t.stop(),g=!1,s._toggleScrollButtons(t,r,i,a,o)}),t.on(pe,function(e){if(!e.ctrlKey&&!e.shiftKey&&!e.altKey){var n=Be(e.originalEvent),o=Math.abs(n)*u,c=(n>0?`+=`:`-=`)+o,l=a?{scrollLeft:c}:{scrollTop:c};s._closeChildPopups(t),t.finish().animate(l,`fast`,`linear`,function(){s._toggleScrollButtons(t,r,i,a)}),e.preventDefault()}})},isNumeric:function(e){return!isNaN(parseFloat(e))&&isFinite(e)},_toggleScrollButtons:function(e,t,r,i){let a=this._getNeededSpaceForChildren(e,i)>(i?n._outerWidth(e):n._outerHeight(e));t.toggle(a),r.toggle(a);let o=i?n.scrollLeft(e):e.scrollTop(),s=e.is(z)||e.parent().is(R),c=Math.abs(o-(e[0].scrollWidth-e[0].offsetWidth))<=1;i||(c=Math.abs(o-(e[0].scrollHeight-e[0].offsetHeight))<=1),s&&(c=Math.abs(o-(e[0].scrollHeight-e[0].offsetHeight)-1)<=1),t.toggleClass(I,Math.floor(o)===0),r.toggleClass(I,c)},setOptions:function(e){var t=this.options.animation;this._animations(e),e.animation=f(!0,t,e.animation),`dataSource`in e&&this._dataSource(e),this._updateClasses(),this._wrapGroups(),this._reinitOverflow(e),_.fn.setOptions.call(this,e)},destroy:function(){var e=this;_.fn.destroy.call(e),e._detachMenuEventsHandlers(),e._destroyOverflow(),n.destroy(e.element)},enable:function(e,t){return this._toggleDisabled(e,t!==!1),this},disable:function(e){return this._toggleDisabled(e,!1),this},attemptGetItem:function(t){t||=this.element;var n=this.element.find(t),r=this._overflowWrapper();return n.length||t===this.element?n:r?r.find(t):e()},append:function(e,t){t=this.attemptGetItem(t);var n=this._insert(e,t,t.length?this._childPopupElement(t).children().eq(0):null);return p(n.items,function(t){n.group.append(this),q(this),Pe(this,e[t]||e)}),q(t),J(n.group.find(`.k-first, .k-last`).add(n.items)),Me(Ne(n.group)),this},insertBefore:function(e,t){return t=this.attemptGetItem(t),p(this._insert(e,t,t.parent()).items,function(n){t.before(this),q(this),J(this),Pe(this,e[n]||e)}),J(t),this},insertAfter:function(e,t){return t=this.attemptGetItem(t),p(this._insert(e,t,t.parent()).items,function(n){t.after(this),q(this),J(this),Pe(this,e[n]||e)}),J(t),this},_insert:function(t,r,i){var a=this,s,c;(!r||!r.length)&&(i=a.element);var l=e.isPlainObject(t)||t instanceof n.data.ObservableObject,u={firstLevel:i.hasClass(S),horizontal:i.hasClass(S+`-horizontal`),expanded:!0,length:i.children().length};return r&&!i.length&&(i=e(a.renderGroup({group:u,options:a.options})).css(`display`,`none`).appendTo(r),n.applyStylesFromKendoAttributes(i,[`display`])),l||o(t)||t instanceof n.data.ObservableArray?s=e(e.map(l?[t]:t,function(t,r){if(typeof t==`string`)return e(t).get();{let i=e(a.renderItem({group:u,item:f(t,{index:r})}));return n.applyStylesFromKendoAttributes(i,[`display`]),i.get()}})):(s=typeof t==`string`&&t.charAt(0)!=`<`?a.element.find(t):e(t),c=s.find(`> ul`).addClass(`k-menu-group`).attr(W,`menu`),s=s.filter(`li`),s.add(c.find(`> li`)).each(function(){Ae(this)})),i=i.is(z)?i.find(ve).first():i,{items:s,group:i}},remove:function(e){e=this.attemptGetItem(e);var t=this,n=e.parentsUntil(t.element,B),r=e.parent(`ul:not(.k-menu)`);if(e.remove(),r&&!r.children(B).length){var i=Ne(r),a=r.parent(L);a.length?a.remove():r.remove(),Me(i)}return n.length&&(n=n.eq(0),q(n),J(n)),t},_openAfterLoad:function(e,t){var n=this;t.loaded()?(n.open(e),n._loading=!1):t.one(ue,function(){e.find(w).children().removeClass(`k-i-loading`),n._loading&&=(n.open(e),!1)})},_createPopup:function(e,t){let r=this,i=r._overflowWrapper();return e.kendoPopup(f({activate:function(){r._triggerEvent({item:this.wrapper.parent(),type:O})},deactivate:function(e){r._closing=!1,e.sender.element.removeData(`targetTransform`).css({opacity:``}),r._triggerEvent({item:this.wrapper.parent(),type:ae})},open:r._popupOpen.bind(r),close:function(e){r._closing=e.sender.element;var t=e.sender.wrapper.parent();if(i){var o=e.sender.element.data(j);o&&(t=(i||r.element).find(Y(o))),e.sender.wrapper.children(U).hide()}r._triggerEvent({item:t[0],type:T})?e.preventDefault():(t.css(D,t.data(D)),t.removeData(D),r.options.scrollable&&t.parent().siblings(U).css({zIndex:``}),(a||le||n.support.mouseAndTouchPresent)&&t.removeClass(he)),e.sender.element.find(`.`+F).length&&r._removeFocusItem()}},t)).data(P)},open:function(r){var i=this,a=i.options,o=a.orientation==`horizontal`,s=a.direction,c=n.support.isRtl(i.wrapper),l=i._overflowWrapper();r=(l||i.element).find(r);var u=i.dataSource&&i.dataSource.getByUid(r.data(n.ns+`uid`));if(u&&u.hasChildren&&!u.loaded()&&!i._loading){i._loading=!0,r.find(w).children().addClass(`k-i-loading`),u.load(),i._openAfterLoad(r,u);return}/^(top|bottom|default)$/.test(s)&&(s=c?o?(s+` left`).replace(`default`,`bottom`):`left`:o?(s+` right`).replace(`default`,`bottom`):`right`);var d=`>.k-popup:visible,>.k-animation-container > .k-child-animation-container > .k-menu-popup:visible`,p=function(){e(this).data(P)&&i.close(e(this).closest(`li.k-item`),!0)};return r.siblings().find(d).each(p),l&&r.find(d).each(p),i.options.openOnClick&&(i.clicked=!0),r.each(function(){var n=e(this);clearTimeout(n.data(ne)),clearTimeout(i._timerTimeout),i._timerTimeout=setTimeout(function(){var r=n.find(`> .k-menu-popup, > .k-animation-container > .k-child-animation-container > .k-menu-popup`).filter(`:hidden`).first(),u,d;if(!r[0]&&l&&(d=i._getPopup(n),r=d&&d.element),!r.is(`:visible`)&&r[0]&&i._triggerEvent({item:n[0],type:x})===!1){let d=r.children(`.k-menu-scroll-wrapper`).length?r.children(`.k-menu-scroll-wrapper`):r,b=i._groupElementsInitialSpace.find(({element:e})=>d.children(`ul`).is(e)),x=``;b&&Object.keys(b).length>0&&(b.height>0&&(x=b.height),i._popupToBeOpened=b,b.inlineHeight?e(b.element).css({height:b.inlineHeight}):e(b.element).css({height:``}));let C=n[0].getBoundingClientRect(),ee=(b&&b.inlineHeight||x)<=window.innerHeight-C.top,w=a.scrollable||a.autoSize,te=a.autoSize&&!ee?`auto`:`visible`;r.css({maxHeight:w?``:x,overflow:te}),n.data(D,n.css(D));var p=i.nextItemZIndex++;n.css(D,p),i.options.scrollable&&n.parent().siblings(U).css({zIndex:++p}),u=r.data(P);var m=n.parent().hasClass(S),h=m&&o,g=ke(s,m,c),_=a.animation.open.effects,v=_===t?`slideIn:`+Oe(s,m):_,y=a.popupCollision===null?h?`fit`:`fit flip`:a.popupCollision;u?(u=r.data(P),u.options.origin=g.origin,u.options.position=g.position,u.options.animation.open.effects=v):(u=i._createPopup(r,{origin:g.origin,position:g.position,collision:y,anchor:n,appendTo:l||n,animation:{open:f(!0,{effects:v},a.animation.open),close:a.animation.close}}),r.closest(L).removeAttr(W)),r.removeAttr(`aria-hidden`),n.attr(Ee,!0),i._configurePopupOverflow(u,n),u._hovered=!0,u.open(),i._initPopupScrolling(u)}},i.options.hoverDelay),n.data(ne,i._timerTimeout)}),i},_configurePopupOverflow:function(e,t){var n=this;if(n.options.scrollable&&(n._wrapPopupElement(e),!t.attr(`data-groupparent`))){var r=new Date().getTime();t.attr(`data-groupparent`,r),e.element.attr(`data-group`,r)}},_wrapPopupElement:function(e){e.element.parent().is(R)||(e.wrapper=n.wrap(e.element,e.options.autosize).css({overflow:`hidden`,display:`block`,position:`absolute`}))},_initPopupScrolling:function(t,r,i){var a=this;let o=t.element,s=o.children(`.k-menu-scroll-wrapper`),c=s.length?e(s.children(`ul`)):e(o.children(`ul`)),l=a._getNeededSpaceForChildren(c,r),u=!1;u=r?n._outerWidth(o)<l:n._outerHeight(o)<l,a.options.scrollable&&(o[0].scrollHeight>o[0].offsetHeight||u)?a._initPopupScrollButtons(t,r,i):s.length&&(s.find(U).remove(),c.unwrap())},_scrollButtonsMouseEnter:function(){let t=this,n=t.popup,r=t._overflowWrapper();e(Z(n.element,r)).each(function(e,n){let i=r.find(Y(n.data(j)));t.close(i)})},_scrollButtonsMouseLeave:function(){let t=this,n=t.popup;setTimeout(function(){e.isEmptyObject(t._openedPopups)&&t._closeParentPopups(n.element)},u)},_initPopupScrollButtons:function(t,r,i){let a=this,o=t.wrapper.find(U),s=t.element,c=s.children(`.k-menu-scroll-wrapper`),l=s.children(`ul`);a._denyOpening=!0,!l.length&&c.length&&(l=c.children(`ul`)),r||l.css({overflow:`hidden`});let d=c.length>0?c:l.wrap(`<div class="k-menu-scroll-wrapper${r?``:` k-menu-scroll-wrapper-vertical`}"></div>`).parent();if(o.length)o.is(`:hidden`)&&o.show();else{let n=e(a.templates.scrollButton({direction:r?`left`:`up`})),s=e(a.templates.scrollButton({direction:r?`right`:`down`}));o=n.add(s),o.css({width:!r&&`100%`}),n.prependTo(d),s.appendTo(d),a._initScrolling(l,n,s,r),i||o.on(k+y,function(){let n=a._overflowWrapper();e(Z(t.element,n)).each(function(e,t){let r=n.find(Y(t.data(j)));a.close(r)})}).on(A+y,function(n){setTimeout(function(){e.isEmptyObject(a._openedPopups)&&!t.element.find(n.relatedTarget).length&&a._closeParentPopups(t.element)},u)})}if(o.length>0&&!r){let e=a._popupToBeOpened?a._popupToBeOpened.inlineHeight:``;l.css({height:e===``?`${n._outerHeight(t.wrapper)-n._outerHeight(o)*2}px`:e})}a._toggleScrollButtons(l,o.first(),o.last(),r),a._denyOpening=!1},_popupOpen:function(e){this._keyTriggered||e.sender.element.find(`.`+F).removeClass(F),this.options.scrollable&&this._setPopupHeight(e.sender)},_setPopupHeight:function(t,n){let r=t.element,i=r.add(r.parent(R));i.height(r.hasClass(S)&&this._initialHeight||``);let a=t._location(n),o=e(window).height(),s=a.height,c=n?0:Math.max(a.top,0),l=n?0:Ve(this._overflowWrapper()[0],`scrollTop`),u=o+(window.innerHeight-o);if(!(Math.floor(u+l)>=Math.floor(s+c))){let e=o*.05,t=Math.min(u,u-c-e+l);i.css({height:t+`px`}),r.css({overflow:`hidden`})}},close:function(t,n){var r=this,i=r._overflowWrapper(),a=i||r.element;t=a.find(t),t.length||(t=a.find(`>.k-item`));var o=function(t){var n=!1;return e.isEmptyObject(r._openedPopups)||e(Z(t,i)).each(function(e,t){return n=!!r._openedPopups[t.data(j).toString()],!n}),n},s=function(e){var t=e.data(M);return!i||!t||!r._openedPopups[t.toString()]};return t.each(function(){var a=e(this);a.attr(Ee,!1),!n&&r._isRootItem(a)&&(r.clicked=!1),clearTimeout(a.data(ne)),a.data(ne,setTimeout(function(){var e=r._getPopup(a);if(e&&(s(a)||r._forceClose)){if(!r._forceClose&&o(e.element))return;e.close(),e.element.attr(`aria-hidden`,!0),i&&r._forceClose&&t.last().is(a[0])&&delete r._forceClose}},r.options.hoverDelay))}),r},_getPopup:function(e){var t=this,n=e.find(`.k-menu-popup:not(.k-list-container):not(.k-calendar-container):visible`).first().data(P),r=t._overflowWrapper();if(!n&&r){var i=e.data(M);i&&(n=r.find(X(i)).data(P))}return n},_toggleDisabled:function(t,n){this.element.find(t).each(function(){e(this).toggleClass(I,!n).attr(`aria-disabled`,!n)})},_toggleHover:function(t){var r=e(n.eventTarget(t)||t.target).closest(B),i=t.type==k||c.indexOf(t.type)!==-1;r.siblings().removeClass(he),r.parents(`li.`+I).length||r.toggleClass(he,i||t.type==`mousedown`||t.type==`pointerover`||t.type==fe)},_preventClose:function(){this.options.closeOnClick||(this._closurePrevented=!0)},_checkActiveElement:function(t){var r=this,i=e(t?t.currentTarget:this._focusItem()),a=r._findRootParent(i)[0];this._closurePrevented||setTimeout(function(){(!document.hasFocus()||!K(a,n._activeElement())&&t&&!K(a,t.currentTarget))&&r.close(a)},0),this._closurePrevented=!1},_removeFocusItem:function(){var e=this._focusItem();e&&e.hasClass(F)&&(e.removeClass(F),this._oldFocusItem=null)},_wrapGroups:function(){var t=this;let r=t.element.find(`li > ul`);t._groupElementsInitialSpace=Array.from(r).map(t=>{let r,i=!1,a=t.closest(`.k-animation-container`)||t.closest(`.k-popup`);return a=e(a),a&&a.length&&!a.is(`:visible`)&&(i=!0,a.show()),r={element:t,width:n._outerWidth(t),height:n._outerHeight(t),inlineHeight:t.style&&t.style.height?t.style.height:``},i&&a.hide(),r}),r.filter(function(){return!e(this).parent().hasClass(`k-menu-popup`)}).wrap(`<div class='k-menu-popup k-popup'></div>`).parent(`div`).attr(`aria-hidden`,t.element.is(`:visible`)).hide(),t.element.find(`ul`).each(function(){var t=e(this),r=n.guid();t.attr(`id`,r).closest(`li`).attr(`aria-controls`,r)})},_updateClasses:function(){var e=this.element,t=`.k-menu-init div ul`,r;e.removeClass(`k-menu-horizontal k-menu-vertical`),e.addClass(`k-reset k-header k-menu-init `+S).addClass(S+`-`+this.options.orientation),this.options.orientation===`vertical`?e.attr(`aria-orientation`,`vertical`):e.attr(`aria-orientation`,`horizontal`),e.find(`li > ul`).filter(function(){return!n.support.matchesSelector.call(this,t)}).addClass(`k-menu-group`).attr(W,`menu`).parent(`li`).attr(`aria-haspopup`,`true`).end().find(`li > div`).addClass(`k-content`).attr(`tabindex`,`-1`),e.find(`li[aria-haspopup]`).attr(Ee,!1),r=e.find(`> li,.k-menu-group > li`),e.removeClass(`k-menu-init`),r.each(function(){Ae(this)})},_mouseenter:function(t){var n=this,r=e(t.currentTarget),i=n._itemHasChildren(r),o=r.data(M)||r.closest(z).data(j),s=Q(t),c=!1;n._denyOpening||(o&&(n._openedPopups[o.toString()]=!0),n._closing&&(c=!!n._closing.find(r).length),!c&&(n._keyTriggered=!1,!(n.options.openOnClick.rootMenuItems&&n._isRootItem(r.closest(B))||n.options.openOnClick.subMenuItems&&!n._isRootItem(r.closest(B)))&&((n.options.openOnClick===!1||n.options.openOnClick.rootMenuItems===!1&&n._isRootItem(r.closest(B))||n.options.openOnClick.subMenuItems===!1&&!n._isRootItem(r.closest(B))||n.clicked)&&!a&&!(s&&n._isRootItem(r.closest(B)))&&!K(t.currentTarget,t.relatedTarget)&&i&&n.open(r),(n.options.openOnClick===!0&&n.clicked||a)&&r.siblings().each(function(e,t){n.close(t,!0)}))))},_mousedown:function(t){var n=this,r=e(t.currentTarget);n._mousedownedElement=r,(n.options.openOnClick.subMenuItems&&!n._isRootItem(r)||a)&&r.siblings().each(function(e,t){n.close(t,!0)})},_mouseleave:function(t){var r=this,i=e(t.currentTarget),o=i.data(M),s=i.children(z).length||o,c=e(window);if(o&&delete r._openedPopups[o.toString()],i.parentsUntil(L,`.k-list-container,.k-calendar-container`)[0]){t.stopImmediatePropagation();return}if((r.options.openOnClick===!1||!r.options.openOnClick.rootMenuItems&&r._isRootItem(i)||!r.options.openOnClick.subMenuItems&&!r._isRootItem(i))&&!a&&!Q(t)&&!K(t.currentTarget,t.relatedTarget||t.target)&&s&&!K(t.currentTarget,n._activeElement())){r.close(i,!0),r._loading=!1;return}(n.support.browser.msie&&!t.toElement&&!t.relatedTarget&&!Q(t)||t.clientX<0||t.clientY<0||t.clientY>c.height()||t.clientX>c.width())&&r.close(i)},_mouseenterPopup:function(t){var n=this,r=e(t.currentTarget);if(!r.parent().is(R)){r=r.find(z);var i=r.data(j);i&&(n._openedPopups[i.toString()]=!0)}},_mouseleavePopup:function(t){var n=this,r=e(t.currentTarget);!Q(t)&&r.is(L)&&n._closePopups(r.find(z))},_closePopups:function(t){var n=this,r=n._overflowWrapper(),i=t.data(j);if(i){delete n._openedPopups[i.toString()];var a=r.find(Y(i));setTimeout(function(){if(n.options.openOnClick)n._closeChildPopups(t);else if(e.isEmptyObject(n._openedPopups)){var r=n._innerPopup(t);n._closeParentPopups(r)}else n.close(a,!0)},0)}},_closeChildPopups:function(t){var n=this,r=n._overflowWrapper();e(Z(t,r)).each(function(){var e=r.find(Y(this.data(j)));n.close(e,!0)})},_innerPopup:function(e){var t=Z(e,this._overflowWrapper());return t[t.length-1]||e},_closeParentPopups:function(e){var t=this,n=t._overflowWrapper(),r=e.data(j),i=(n??t.element).find(Y(r));for(r=i.closest(z).data(j),t.close(i,!0);r&&!t._openedPopups[r]&&!i.parent().is(_e);)i=n.find(Y(r)),t.close(i,!0),r=i.closest(z).data(j)},_click:function(t){var r=this,i,a=r.options,o=e(n.eventTarget(t)),s=o[0],c=o[0]?o[0].nodeName.toUpperCase():``,l=c==`INPUT`||c==`SELECT`||c==`BUTTON`||c==`LABEL`,u=o.closest(ee),d=o.closest(B),f=d[0],p=u.attr(`href`),m,h,g=o.attr(`href`),_=e(`<a href='#' />`).attr(`href`),v=!!p&&p!==_,y=v&&!!p.match(/^#/),b=!!g&&g!==_,S=r._overflowWrapper(),C;if(!(s&&(!s.parentNode||!f))){for(e(o).closest(`span`).parent().hasClass(`k-menu-expand-arrow`)&&(this._lastClickedElement=f);s&&s.parentNode!=f;)s=s.parentNode;if(!e(s).is(Se)){if(d.hasClass(I)){t.preventDefault();return}if(!t.handled&&r._triggerSelect(o,f)&&!l&&t.preventDefault(),t.handled=!0,m=d.children(z),S){var w=d.data(M);w&&(m=S.find(X(w)))}if(h=m.is(`:visible`),C=a.openOnClick&&h&&r._isRootItem(d),a.closeOnClick&&(!v||y)&&(!m.length||C)){d.removeClass(he).css(`height`),r._oldFocusItem=r._findRootParent(d);var te=r._parentsUntil(u,r.element,B);r._forceClose=!!S,r.close(te),r.clicked=!1;return}v&&t.enterKey&&u[0].click(),!((!r._isRootItem(d)||a.openOnClick===!1)&&!a.openOnClick.subMenuItems&&!n.support.touch&&!(Q(t)&&r._isRootItem(d.closest(B))))&&(!v&&!l&&!b&&t.preventDefault(),r.clicked=!0,i=m.is(`:visible`)?T:x,!(!a.closeOnClick&&i==T)&&r[i](d))}}},_parentsUntil:function(t,n,r){var i=this._overflowWrapper();if(i){var a=ze(t,i),o=[];return e(a).each(function(){var t=e(this);if(t.is(n))return!1;t.is(r)&&o.push(this)}),e(o)}else return t.parentsUntil(n,r)},_triggerSelect:function(e,t){e=e.is(`.k-link`)?e:e.closest(`.k-link`);var n=e.data(`selectHandler`),r;n&&(r=this._getEventData(e),n.call(this,r));var i=r&&r.isDefaultPrevented(),a=this._triggerEvent({item:t,type:E});return i||a},_getEventData:function(e){return{sender:this,target:e,_defaultPrevented:!1,preventDefault:function(){this._defaultPrevented=!0},isDefaultPrevented:function(){return this._defaultPrevented}}},_documentClick:function(n){var r=this,i=e(n.target).closest(`span`).parent().hasClass(`k-menu-expand-arrow`)?r._lastClickedElement:n.target;if(K((r._overflowWrapper()||r.element)[0],i)){r._lastClickedElement=t;return}r.clicked=!1},_focus:function(t){var n=this,r=t.target,a=n._focusItem(),o=i();if(n._mousedownedElement){n._mousedownedElement=null;return}if(r!=n.wrapper[0]&&!e(r).is(`:kendoFocusable`)){t.stopPropagation(),e(r).closest(`.k-content`).closest(`.k-menu-popup`).closest(`.k-item`).addClass(F),n.wrapper.trigger(`focus`);return}o===t.currentTarget&&(a.length?n._moveFocus([],a):n._oldFocusItem||n._moveFocus([],n.wrapper.children().first()))},_keydown:function(e){var t=this,r=e.keyCode,i=t._oldFocusItem,a,o,s,c=n.support.isRtl(t.wrapper);if(!(e.target!=e.currentTarget&&r!=g.ESC)){if(i||=t._oldFocusItem=t._focusItem(),o=t._itemBelongsToVertival(i),s=t._itemHasChildren(i),t._keyTriggered=!0,r==g.RIGHT)a=t[c?`_itemLeft`:`_itemRight`](i,o,s);else if(r==g.LEFT)a=t[c?`_itemRight`:`_itemLeft`](i,o,s);else if(r==g.DOWN)a=t._itemDown(i,o,s);else if(r==g.UP)a=t._itemUp(i,o,s);else if(r==g.HOME)t._moveFocus(i,i.parent().children(`:visible`).first()),e.preventDefault();else if(r==g.END)t._moveFocus(i,i.parent().children(`:visible`).last()),e.preventDefault();else if(r==g.ESC)a=t._itemEsc(i,o);else if(r==g.ENTER||r==g.SPACEBAR)a=i.children(`.k-link`),a.length>0&&(t._click({target:a[0],preventDefault:function(){},enterKey:!0}),s&&!i.hasClass(I)?(t.open(i),t._moveFocus(i,t._childPopupElement(i).children().find(`li`).first())):i.is(`li`)&&i.attr(`role`)===`menuitemcheckbox`?i.find(`.k-checkbox`).attr(`checked`,!0):t._moveFocusToRoot(i,t._findRootParent(i)));else if(r==g.TAB){a=t._findRootParent(i),t._moveFocus(i,a),t._checkActiveElement();return}a&&a[0]&&(e.preventDefault(),e.stopPropagation())}},_focusItem:function(){return this.wrapper.find(`.k-item.k-focus`).filter(`:visible`)},_itemBelongsToVertival:function(e){var t=this.wrapper.hasClass(`k-menu-vertical`);return e.length&&e.parent().hasClass(`k-menu-group`)||t},_itemHasChildren:function(e){return!e||!e.length||!e[0].nodeType?!1:e.children(`.k-menu-group, .k-menu-popup, div.k-animation-container`).length>0||!!e.data(M)&&!!this._overflowWrapper().children(X(e.data(M)))},_moveFocus:function(t,n){var r=this,i=r._ariaId;t.length&&n.length&&t.removeClass(F),n.length&&(n[0].id&&(i=n[0].id),r.wrapper.find(`.`+F).removeClass(F),n.addClass(F),r._oldFocusItem=n,i&&(r.element.removeAttr(`aria-activedescendant`),e(`#`+i).removeAttr(`id`),n.attr(`id`,i),r.element.attr(`aria-activedescendant`,i)),r._scrollToItem(n))},_moveFocusToRoot:function(e,t){this._moveFocus(e,t)},_findRootParent:function(e){return this._isRootItem(e)?e:this._parentsUntil(e,_e,`li.k-item`).last()},_isRootItem:function(e){return e.parent().hasClass(S)},_itemRight:function(e,t,n){var r=this,i,a,o;if(!t)i=e.nextAll(V+H).eq(0),i.length||(i=e.prevAll(V+H).last()),r.close(e);else if(n&&!e.hasClass(I))r.open(e),i=r._childPopupElement(e).children().find(`li`).first();else if(r.options.orientation==`horizontal`){if(a=r._findRootParent(e),o=r._overflowWrapper(),o){var s=Re(a,o);r._closeChildPopups(s)}r.close(a),i=a.nextAll(V+H).eq(0)}return i&&!i.length?i=r.wrapper.children(`.k-item`).first():i||=[],r._moveFocus(e,i),i},_itemLeft:function(e,t){var n=this,r,i;return t?(r=e.parent().closest(`.k-item`),i=n._overflowWrapper(),!r.length&&i&&(r=Le(e.parent(),i)),n.close(r),n._isRootItem(r)&&n.options.orientation==`horizontal`&&(r=r.prevAll(V+H).eq(0))):(r=e.prevAll(V+H).eq(0),r.length||(r=e.nextAll(V+H).last()),n.close(e)),r.length||(r=n.wrapper.children(`.k-item`).last()),n._moveFocus(e,r),r},_itemDown:function(e,t,n){var r=this,i;if(t)i=e.nextAll(V+H).eq(0);else{if(!n||e.hasClass(I))return;r.open(e),i=r._childPopupElement(e).children().find(`li`).first()}return!i.length&&e.length?i=e.parent().children(`:visible`).first():e.length||(i=r.wrapper.children(`.k-item`).first()),r._moveFocus(e,i),i},_itemUp:function(e,t){var n=this,r;if(t)r=e.prevAll(V+H).eq(0);else return;return!r.length&&e.length?r=e.parent().children(`:visible`).last():e.length||(r=n.wrapper.children(`.k-item`).last()),n._moveFocus(e,r),r},_scrollToItem:function(e){var t=this;if(t.options.scrollable&&e&&e.length){var r=e.parent(),i=r.hasClass(S)?t.options.orientation==`horizontal`:!1,a=i?`scrollLeft`:`scrollTop`,o=i?n._outerWidth:n._outerHeight,s=r[a](),c=o(e),l=e[0][i?`offsetLeft`:`offsetTop`],u=o(r),d=r.siblings(U),f=d.length?o(d.first()):0,p;if(s+u<l+c+f?p=l+c-u+f:s>l-f&&(p=l-f),!isNaN(p)){var m={};m[a]=p,r.finish().animate(m,`fast`,`linear`,function(){t._toggleScrollButtons(r,d.first(),d.last(),i)})}}},_itemEsc:function(e,t){var n=this,r,i;if(t)r=e.parent().closest(`.k-item`),r.length===0&&(i=e.closest(`.k-menu-popup`).data(`group`),r=n.wrapper.find(`.k-item[data-groupparent='`+i+`']`)),n.close(r),n._moveFocus(e,r);else return e;return r},_childPopupElement:function(e){var t=e.find(`.k-menu-popup`),n=this._overflowWrapper();return!t.length&&n&&(t=Re(e,n)),t},_triggerEvent:function(e){return this.trigger(e.type,{type:e.type,item:e.item})},_focusHandler:function(t){var r=this,i=e(n.eventTarget(t)).closest(B);i.hasClass(I)||setTimeout(function(){r._moveFocus([],i),i.children(`.k-content`)[0]&&i.parent().closest(`.k-item`).removeClass(F)},200)},_animations:function(e){e&&`animation`in e&&!e.animation&&(e.animation={open:{effects:{}},close:{hide:!0,effects:{}}})},_dataSource:function(e){var t=this,n=e?e.dataSource:t.options.dataSource;n&&(n=o(n)?{data:n}:n,t._unbindDataSource(),n.fields||=[{field:`uid`},{field:`text`},{field:`url`},{field:`cssClass`},{field:`spriteCssClass`},{field:`icon`},{field:`iconClass`},{field:`imageUrl`},{field:`imageAttr`},{field:`attr`},{field:`contentAttr`},{field:`content`},{field:`encoded`},{field:`items`},{field:`select`}],t.dataSource=s.create(n),t._bindDataSource(),t.dataSource.fetch())},_bindDataSource:function(){this._refreshHandler=this.refresh.bind(this),this._errorHandler=this._error.bind(this),this.dataSource.bind(ue,this._refreshHandler),this.dataSource.bind(de,this._errorHandler)},_unbindDataSource:function(){var e=this.dataSource;e&&(e.unbind(ue,this._refreshHandler),e.unbind(de,this._errorHandler))},_error:function(){},findByUid:function(e){return(this._overflowWrapper()||this.element).find(`[`+n.attr(`uid`)+`=`+e+`]`)},refresh:function(e){var t=this,n=e.node,r=e.action,i=n?t.findByUid(n.uid):t.element,a=e.items,o=e.index,s=t._updateItem.bind(t),c=t._removeItem.bind(t);r==`add`?t._appendItems(a,o,i):r==`remove`?a.forEach(c):r==`itemchange`?a.forEach(s):r===`itemloaded`?t.append(e.items,i):this._initData(),this.trigger(Te,{item:i,dataItem:n})},_appendItems:function(e,t,n){var r=this,i=n.find(V).eq(t);i.length?r.insertBefore(e,i):r.append(e,n)},_removeItem:function(e){var t=this,n=t.findByUid(e.uid);t.remove(n)},_updateItem:function(e){var t=this,n=t.findByUid(e.uid),r=n.next(),i=e.parentNode();t.remove(n),r.length?t.insertBefore(e,r):t.append(e,i&&t.findByUid(i.uid))},_accessors:function(){var e=this,t=e.options,r,i,a,s=e.element;for(r in De)i=t[De[r]],a=s.attr(n.attr(r+`-field`)),!i&&a&&(i=a),i||=r,o(i)||(i=[i]),t[De[r]]=i},_fieldAccessor:function(t){var r=this.options[De[t]]||[],i=r.length;return i===0?(function(e){return e[t]}):(function(t){var a=e.map(r,n.getter);return t.level?a[Math.min(t.level(),i-1)](t):a[i-1](t)})},_templates:function(){var t=this,r=t.options,i=t._fieldAccessor.bind(t);r.template&&typeof r.template==we?r.template=h(r.template):r.template||=h(e=>{var t=i(`text`)(e.item);return e.item.encoded!==void 0&&e.item.encoded===!1||(t=m(t)),`<span class='k-menu-link-text' role='none'>${t}</span>`}),t.templates={content:h(e=>{var t=e.item,n=i(`content`)(t),r=e.contentCssAttributes(t.toJSON?t.toJSON():t);return`<div class='${e.groupWrapperCssClass(e.group)}' ${e.groupAttributes(e.group)}><div ${r} tabindex='-1'>${n||``}</div></div>`}),group:h(e=>`<div class='${e.groupWrapperCssClass(e.group)}' ${e.groupAttributes(e.group)}><ul class='${e.groupCssClass(e.group)}' id='${e.groupId}' role='menu'>${e.renderItems(e)}</ul></div>`),itemWrapper:h(e=>{var t=e.item,r=this.options.iconPosition,a=i(`url`)(t),o=i(`imageUrl`)(t),s=i(`icon`)(t),c=i(`iconClass`)(t),l=this.templates.sprite(t),u=(s||c)&&l==``?n.ui.icon({icon:s,iconClass:c}):``,d=i(`imageAttr`)(t),f=a?`a`:`span`;return`<${f} class='${G.textClass(t)}' role='none' ${a?`href='${n.sanitizeLink(a)}'`:``} >`+(o?`<img ${G.imageCssAttributes(d)} alt='' src='${o}' />`:``)+(r==`before`?u:``)+l+this.options.template(e)+(r==`after`?u:``)+e.arrow(e)+`</${f}>`}),item:h(t=>{var r=t.item,a=t.menu,o=t.group,s=t.subGroup,c=i(`content`)(r),l=n.guid();return`<li class='${G.wrapperCssClass(o,r)}' ${r.hasChildren||r.items||r.content?`aria-controls="`+l+`"`:``} ${G.itemCssAttributes(r.toJSON?r.toJSON():r)} role='menuitem' ${r.items||r.content?`aria-haspopup='true'`:``}${r.enabled===!1?`aria-disabled='true'`:``}`+n.attr(`uid`)+`='${r.uid}' `+(r.items&&r.items.length>0||r.content?r.expanded?` aria-expanded='true'`:` aria-expanded='false'`:``)+`>${r.separator?``:this.templates.itemWrapper(t)}`+(r.hasChildren||r.items?`${s({items:r.items,menu:a,group:{expanded:r.expanded},groupId:l})}`:r.content||r.contentUrl||c?`${t.renderContent(e.extend({},t,{group:{expanded:r.expanded}}))}`:``)+`</li>`}),scrollButton:h(({direction:e})=>`<span class='k-button k-button-flat k-icon-button k-menu-scroll-button k-menu-scroll-button-${e===`left`||e===`up`?`prev`:`next`}' unselectable='on'>`+n.ui.icon({icon:`caret-alt-${e}`,iconClass:`k-button-icon`})+`</span>`),arrow:h(({item:e,group:t})=>`<span aria-hidden='true' class='k-menu-expand-arrow'>${n.ui.icon({icon:t.horizontal?`caret-alt-down`:`caret-alt-right`})}</span>`),sprite:h(e=>{var t=i(`spriteCssClass`)(e);return t?`<span class='k-sprite ${t}'></span>`:``}),empty:h(()=>``)}},renderItem:function(e){var t=this;e=f({menu:t,group:{}},e);var n=t.templates.empty,r=e.item;return t.templates.item(f(e,{separator:r.separator?t.templates.separator:n,sprite:t.templates.sprite,itemWrapper:t.templates.itemWrapper,renderContent:t.renderContent,arrow:r.items||r.content||r[t.options.dataContentField[0]]?t.templates.arrow:n,subGroup:t.renderGroup.bind(t)},G))},renderGroup:function(e){return(this.templates||e.menu.templates).group(f({renderItems:function(e){for(var t=``,n=0,r=e.items,i=r?r.length:0,a=f({length:i},e.group);n<i;n++)t+=e.menu.renderItem(f(e,{group:a,item:f({index:n},r[n])}));return t}},e,G))},renderContent:function(e){return e.menu.templates.content(f(e,G))}}),We=$.extend({init:function(t,r){var i=this;$.fn.init.call(i,t,r),i.element.attr(W,`menu`),i._initialInlineHeight=i.element[0].style&&i.element[0].style.height?i.element[0].style.height:``,i._marker=n.guid().substring(0,8),i.target=e(i.options.target),i._popup(),i._wire()},_initOverflow:function(t){var n=this;n._openedPopups={},t.scrollable&&!n._overflowWrapper()&&(n._popupsWrapper=(n.element.parent().is(R)?n.element.closes(L):n.element).wrap(`<div class="k-menu-scroll-wrapper${t.orientation===`vertical`?` k-menu-scroll-wrapper-vertical`:``}"></div>`).parent(),n.options.orientation==`horizontal`&&Ue(n.element),t.appendTo&&(t.appendTo=e(t.appendTo),t.appendTo.append(n._popupsWrapper)),n._initialHeight=n.element[0].style.height,n._initialWidth=n.element[0].style.width)},options:{name:`ContextMenu`,filter:null,showOn:`contextmenu`,orientation:`vertical`,alignToAnchor:!1,copyAnchorStyles:!0,target:`body`,origin:t,position:t},events:[x,T,O,ae,E],setOptions:function(t){var n=this;$.fn.setOptions.call(n,t),n.target.off(n.showOn+y+n._marker,n._showProxy),n.userEvents&&n.userEvents.destroy(),n.target=e(n.options.target),t.orientation&&n.popup.wrapper[0]&&n.popup.element.unwrap(),n._wire(),$.fn.setOptions.call(this,t)},destroy:function(){var e=this;e.target.off(e.options.showOn+y+e._marker),N.off(n.support.mousedown+y+e._marker,e._closeProxy),e.userEvents&&e.userEvents.destroy(),$.fn.destroy.call(e),e.popup&&e.popup.destroy()},open:function(r,i,a){var o=this;let s=o.options.orientation===`horizontal`,c=null;if(r=e(r)[0],typeof r==`number`&&(o._initialInlineHeight?e(o.element).css({height:o._initialInlineHeight}):e(o.element).css({height:``})),a&&(c=e(r)),K(o.element[0],e(r)[0])||o._itemHasChildren(e(r)))$.fn.open.call(o,r);else{if(o._triggerEvent({item:o.element,type:x,target:c})!==!1)return;if(o.popup.visible()&&o.options.filter&&(o.popup.close(!0),o.popup.element.parent().kendoStop(!0)),o._triggerFocusOnActivate||=o._focusMenu.bind(o),o.bind(O,o._triggerFocusOnActivate),i!==t){var l=o._overflowWrapper();if(l){var u=l.offset();r-=u.left,i-=u.top}o.popup.wrapper.hide(),o._configurePopupScrolling(r,i),o.popup.open(r,i)}else o.popup.options.anchor=r||o.popup.anchor||o.target,o.popup.element.kendoStop(!0),o._configurePopupScrolling(),o.popup.open();o._initPopupScrolling(o.popup,s),o.popup.element.siblings(U).hide(),N.off(o.popup.downEvent,o.popup._mousedownProxy),N.on(n.support.mousedown+y+o._marker,o._closeProxy)}return o},_focusMenu:function(){var e=this;e.unbind(O,e._triggerFocusOnActivate),e.element.trigger(`focus`)},_configurePopupScrolling:function(e,n){var r=this,i=r.popup,a=r.options.orientation==`horizontal`;r.options.scrollable&&(r._wrapPopupElement(i),i.element.parent().css({position:``,height:``}),i.element.css({visibility:`hidden`,display:``,position:``}),a?r._setPopupWidth(i,isNaN(e)?t:{isFixed:!0,x:e,y:n}):r._setPopupHeight(i,isNaN(e)?t:{isFixed:!0,x:e,y:n}),i.element.css({visibility:``,display:`none`,position:`absolute`}))},_setPopupWidth:function(t,r){var i=t.element,a=i.add(i.parent(R));a.width(this._initialWidth||``);var o=t._location(r),s=e(window).width(),c=o.width,l=Math.max(o.left,0),u=r?0:Ve(this._overflowWrapper()[0],`scrollLeft`),d=n.getShadows(i),f=s-d.left-d.right;Math.floor(f+u)>=Math.floor(c+l)||a.css({overflow:`hidden`,width:f-l+u+`px`})},close:function(){var t=this;K(t.element[0],e(arguments[0])[0])||t._itemHasChildren(arguments[0])?$.fn.close.call(t,arguments[0]):t.popup.visible()&&t._triggerEvent({item:t.element,type:T})===!1&&(t._removeFocusItem(),t.element.find(`#`+t._ariaId).removeAttr(`id`),t.popup.close(),N.off(n.support.mousedown+y+t._marker,t._closeProxy),t.unbind(E,t._closeTimeoutProxy),t.popup.options.anchor.focus())},_showHandler:function(t){var r=t,i,a=this,o=a.options,s=n.support.mobileOS?e(r.target):e(r.currentTarget);t.event&&(r=t.event,r.pageX=t.x.location,r.pageY=t.y.location),!K(a.element[0],t.relatedTarget||t.target)&&(a._eventOrigin=r,r.preventDefault(),r.stopImmediatePropagation(),a.element.find(`.`+F).removeClass(F),(o.filter&&s.is(o.filter)||!o.filter)&&(o.alignToAnchor?(a.popup.options.anchor=r.currentTarget,a.open(r.currentTarget)):(a.popup.options.anchor=r.currentTarget,a._targetChild?(i=a.target.offset(),a.open(r.pageX-i.left,r.pageY-i.top)):a.open(r.pageX,r.pageY))))},_closeHandler:function(t){var n=this,r=e(t.relatedTarget||t.target),i=r.closest(n.target.selector)[0]==n.target[0],a=r.closest(V),o=n._itemHasChildren(a),s=n._overflowWrapper(),c=K(n.element[0],r[0])||s&&K(s[0],r[0]);n._eventOrigin=t;var l=t.which!==3;n.popup.visible()&&(l&&i||!i)&&(n.options.closeOnClick&&!o&&c||!c)&&(c?(this.unbind(E,this._closeTimeoutProxy),n.bind(E,n._closeTimeoutProxy)):n.close())},_wire:function(){var e=this,t=e.options,r=e.target;e._preventProxy=null,e._showProxy=e._showHandler.bind(e),e._closeProxy=e._closeHandler.bind(e),e._closeTimeoutProxy=e.close.bind(e),r[0]&&(n.support.mobileOS&&t.showOn==`contextmenu`&&(e.userEvents=new n.UserEvents(r,{filter:t.filter,allowSelection:!1}),e._preventProxy=function(){return!1},e.userEvents.bind(`hold`,e._showProxy)),t.filter?r.on(t.showOn+y+e._marker,t.filter,e._preventProxy||e._showProxy):r.on(t.showOn+y+e._marker,e._preventProxy||e._showProxy),r.on(`keydown`,t=>{t.keyCode===n.keys.F10&&t.shiftKey&&(t.preventDefault(),e.options.keyboardAlignToAnchor&&(e.popup.options.anchor=t.target),e.open(t.target,null,!0))}))},_triggerEvent:function(n){var r=this,i=e(r.popup.options.anchor)[0],a=r._eventOrigin,o=n.target;return r._eventOrigin=t,r.trigger(n.type,f({type:n.type,item:n.item||this.element[0],target:o??i},a?{event:a}:{}))},_popup:function(){var t=this,n=t._overflowWrapper(),r=t.element.addClass(`k-context-menu`);t._triggerProxy=t._triggerEvent.bind(t),t.popup=e(`<div></div>`).append(r).kendoPopup({origin:t.options.origin,position:t.options.position,autosize:t.options.orientation===`horizontal`,anchor:t.target||`body`,copyAnchorStyles:t.options.copyAnchorStyles,collision:t.options.popupCollision||`fit`,animation:t.options.animation,activate:t._triggerProxy,deactivate:t._triggerProxy,appendTo:n||t.options.appendTo,close:n?function(t){e(Z(t.sender.element,n)).each(function(e,t){var n=t.data(P);n&&n.close(!0)})}:e.noop}).data(P),t._targetChild=K(t.target[0],t.popup.element[0])},_moveFocusToRoot:function(e,t){this._moveFocus(e,t),this.close()},_focus:function(e){var t=this._oldFocusItem=this._focusItem()||[];$.fn._focus.call(this,e),i()===e.currentTarget&&this._moveFocus(t,this.wrapper.children().filter(`:visible`).not(`.k-separator`).first())}});r.plugin($),r.plugin(We)})(window.kendo.jQuery);var o=kendo;e.__meta__=a,e.default=o});
//# sourceMappingURL=kendo.menu.min.js.map