UNPKG

@progress/kendo-ui

Version:

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

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