primevue
Version:
[](https://opensource.org/licenses/MIT) [](https://badge.fury.io/js/primevue) [ • 23.8 kB
JavaScript
import{ObjectUtils as e,UniqueComponentId as t,DomHandler as i}from"primevue/utils";import n from"primevue/basecomponent";import{useStyle as s}from"primevue/usestyle";import o from"primevue/icons/angledown";import a from"primevue/icons/angleright";import r from"primevue/ripple";import{resolveComponent as m,resolveDirective as c,openBlock as u,createElementBlock as l,mergeProps as d,toDisplayString as I,createCommentVNode as f,Fragment as h,renderList as p,createElementVNode as g,createBlock as v,withCtx as b,withDirectives as y,resolveDynamicComponent as x,normalizeClass as k,normalizeStyle as P,renderSlot as L,createVNode as K}from"vue";var E=s("\n.p-megamenu {\n display: flex;\n}\n\n.p-megamenu-root-list {\n margin: 0;\n padding: 0;\n list-style: none;\n}\n\n.p-megamenu-root-list > .p-menuitem {\n position: relative;\n}\n\n.p-megamenu .p-menuitem-link {\n cursor: pointer;\n display: flex;\n align-items: center;\n text-decoration: none;\n overflow: hidden;\n position: relative;\n}\n\n.p-megamenu .p-menuitem-text {\n line-height: 1;\n}\n\n.p-megamenu-panel {\n display: none;\n position: absolute;\n width: auto;\n z-index: 1;\n}\n\n.p-megamenu-root-list > .p-menuitem-active > .p-megamenu-panel {\n display: block;\n}\n\n.p-megamenu-submenu {\n margin: 0;\n padding: 0;\n list-style: none;\n}\n\n/* Horizontal */\n.p-megamenu-horizontal {\n align-items: center;\n}\n\n.p-megamenu-horizontal .p-megamenu-root-list {\n display: flex;\n align-items: center;\n flex-wrap: wrap;\n}\n\n.p-megamenu-horizontal .p-megamenu-end {\n margin-left: auto;\n align-self: center;\n}\n\n/* Vertical */\n.p-megamenu-vertical {\n flex-direction: column;\n}\n\n.p-megamenu-vertical .p-megamenu-root-list {\n flex-direction: column;\n}\n\n.p-megamenu-vertical .p-megamenu-root-list > .p-menuitem-active > .p-megamenu-panel {\n left: 100%;\n top: 0;\n}\n\n.p-megamenu-vertical .p-megamenu-root-list > .p-menuitem > .p-menuitem-content > .p-menuitem-link > .p-submenu-icon {\n margin-left: auto;\n}\n\n.p-megamenu-grid {\n display: flex;\n}\n\n.p-megamenu-col-2,\n.p-megamenu-col-3,\n.p-megamenu-col-4,\n.p-megamenu-col-6,\n.p-megamenu-col-12 {\n flex: 0 0 auto;\n padding: 0.5rem;\n}\n\n.p-megamenu-col-2 {\n width: 16.6667%;\n}\n\n.p-megamenu-col-3 {\n width: 25%;\n}\n\n.p-megamenu-col-4 {\n width: 33.3333%;\n}\n\n.p-megamenu-col-6 {\n width: 50%;\n}\n\n.p-megamenu-col-12 {\n width: 100%;\n}\n",{name:"megamenu",manual:!0}),w={name:"BaseMegaMenu",extends:n,props:{model:{type:Array,default:null},orientation:{type:String,default:"horizontal"},exact:{type:Boolean,default:!0},disabled:{type:Boolean,default:!1},tabindex:{type:Number,default:0},"aria-labelledby":{type:String,default:null},"aria-label":{type:String,default:null}},css:{classes:{root:function(e){var t=e.instance;return["p-megamenu p-component",{"p-megamenu-horizontal":t.horizontal,"p-megamenu-vertical":t.vertical}]},start:"p-megamenu-start",menu:"p-megamenu-root-list",submenuHeader:function(e){return["p-megamenu-submenu-header p-submenu-header",{"p-disabled":e.instance.isItemDisabled(e.processedItem)}]},menuitem:function(e){var t=e.instance,i=e.processedItem;return["p-menuitem",{"p-menuitem-active p-highlight":t.isItemActive(i),"p-focus":t.isItemFocused(i),"p-disabled":t.isItemDisabled(i)}]},content:"p-menuitem-content",action:function(e){return["p-menuitem-link",{"router-link-active":e.isActive,"router-link-active-exact":e.props.exact&&e.isExactActive}]},icon:"p-menuitem-icon",label:"p-menuitem-text",submenuIcon:"p-submenu-icon",panel:"p-megamenu-panel",grid:"p-megamenu-grid",column:function(e){var t,i=e.processedItem;switch(e.instance.isItemGroup(i)?i.items.length:0){case 2:t="p-megamenu-col-6";break;case 3:t="p-megamenu-col-4";break;case 4:t="p-megamenu-col-3";break;case 6:t="p-megamenu-col-2";break;default:t="p-megamenu-col-12"}return t},submenu:"p-submenu-list p-megamenu-submenu",separator:"p-menuitem-separator",end:"p-megamenu-end"},inlineStyles:{submenu:function(e){return{display:e.instance.isItemActive(e.processedItem)?"block":"none"}}},loadStyle:E.load},provide:function(){return{$parentInstance:this}}},F={name:"MegaMenuSub",hostName:"MegaMenu",extends:n,emits:["item-click","item-mouseenter"],props:{menuId:{type:String,default:null},focusedItemId:{type:String,default:null},horizontal:{type:Boolean,default:!1},submenu:{type:Object,default:null},items:{type:Array,default:null},level:{type:Number,default:0},templates:{type:Object,default:null},activeItem:{type:Object,default:null},exact:{type:Boolean,default:!0},tabindex:{type:Number,default:0}},methods:{getSubListId:function(e){return"".concat(this.getItemId(e),"_list")},getSubListKey:function(e){return this.getSubListId(e)},getItemId:function(e){return"".concat(this.menuId,"_").concat(e.key)},getItemKey:function(e){return this.getItemId(e)},getItemProp:function(t,i,n){return t&&t.item?e.getItemValue(t.item[i],n):void 0},getItemLabel:function(e){return this.getItemProp(e,"label")},getPTOptions:function(e,t,i){return this.ptm(i,{context:{item:e,index:t,active:this.isItemActive(e),focused:this.isItemFocused(e)}})},isItemActive:function(t){return!!e.isNotEmpty(this.activeItem)&&this.activeItem.key===t.key},isItemVisible:function(e){return!1!==this.getItemProp(e,"visible")},isItemDisabled:function(e){return this.getItemProp(e,"disabled")},isItemFocused:function(e){return this.focusedItemId===this.getItemId(e)},isItemGroup:function(t){return e.isNotEmpty(t.items)},onItemClick:function(e,t){this.getItemProp(t,"command",{originalEvent:e,item:t.item}),this.$emit("item-click",{originalEvent:e,processedItem:t,isFocus:!0})},onItemMouseEnter:function(e,t){this.$emit("item-mouseenter",{originalEvent:e,processedItem:t})},onItemActionClick:function(e,t){t&&t(e)},getAriaSetSize:function(){var e=this;return this.items.filter((function(t){return e.isItemVisible(t)&&!e.getItemProp(t,"separator")})).length},getAriaPosInset:function(e){var t=this;return e-this.items.slice(0,e).filter((function(e){return t.isItemVisible(e)&&t.getItemProp(e,"separator")})).length+1}},components:{AngleRightIcon:a,AngleDownIcon:o},directives:{ripple:r}},S=["tabindex"],V=["id","aria-label","aria-disabled","aria-expanded","aria-haspopup","aria-level","aria-setsize","aria-posinset","data-p-highlight","data-p-focused","data-p-disabled"],A=["onClick","onMouseenter"],z=["href","onClick"],C=["href","target"],D=["id"];F.render=function(e,t,i,n,s,o){var a=m("router-link"),r=m("MegaMenuSub",!0),L=c("ripple");return u(),l("ul",d({class:e.cx(0===i.level?"menu":"submenu"),tabindex:i.tabindex},e.ptm(0===i.level?"menu":"submenu")),[i.submenu?(u(),l("li",d({key:0,class:[e.cx("submenuHeader",{submenu:i.submenu}),o.getItemProp(i.submenu,"class")],style:o.getItemProp(i.submenu,"style"),role:"presentation"},e.ptm("submenuHeader")),I(o.getItemLabel(i.submenu)),17)):f("",!0),(u(!0),l(h,null,p(i.items,(function(n,s){return u(),l(h,{key:o.getItemKey(n)},[o.isItemVisible(n)&&!o.getItemProp(n,"separator")?(u(),l("li",d({key:0,id:o.getItemId(n),style:o.getItemProp(n,"style"),class:[e.cx("menuitem",{processedItem:n}),o.getItemProp(n,"class")],role:"menuitem","aria-label":o.getItemLabel(n),"aria-disabled":o.isItemDisabled(n)||void 0,"aria-expanded":o.isItemGroup(n)?o.isItemActive(n):void 0,"aria-haspopup":o.isItemGroup(n)&&!o.getItemProp(n,"to")?"menu":void 0,"aria-level":i.level+1,"aria-setsize":o.getAriaSetSize(),"aria-posinset":o.getAriaPosInset(s)},o.getPTOptions(n,s,"menuitem"),{"data-p-highlight":o.isItemActive(n),"data-p-focused":o.isItemFocused(n),"data-p-disabled":o.isItemDisabled(n)}),[g("div",d({class:e.cx("content"),onClick:function(e){return o.onItemClick(e,n)},onMouseenter:function(e){return o.onItemMouseEnter(e,n)}},o.getPTOptions(n,s,"content")),[i.templates.item?(u(),v(x(i.templates.item),{key:1,item:n.item},null,8,["item"])):(u(),l(h,{key:0},[o.getItemProp(n,"to")&&!o.isItemDisabled(n)?(u(),v(a,{key:0,to:o.getItemProp(n,"to"),custom:""},{default:b((function(t){var a=t.navigate,r=t.href,m=t.isActive,c=t.isExactActive;return[y((u(),l("a",d({href:r,class:e.cx("action",{isActive:m,isExactActive:c}),tabindex:"-1","aria-hidden":"true",onClick:function(e){return o.onItemActionClick(e,a)}},o.getPTOptions(n,s,"action")),[i.templates.itemicon?(u(),v(x(i.templates.itemicon),{key:0,item:n.item,class:k([e.cx("icon"),o.getItemProp(n,"icon")])},null,8,["item","class"])):o.getItemProp(n,"icon")?(u(),l("span",d({key:1,class:[e.cx("icon"),o.getItemProp(n,"icon")]},o.getPTOptions(n,s,"icon")),null,16)):f("",!0),g("span",d({class:e.cx("text")},o.getPTOptions(n,s,"label")),I(o.getItemLabel(n)),17)],16,z)),[[L]])]})),_:2},1032,["to"])):y((u(),l("a",d({key:1,href:o.getItemProp(n,"url"),class:e.cx("action"),target:o.getItemProp(n,"target"),tabindex:"-1","aria-hidden":"true"},o.getPTOptions(n,s,"action")),[i.templates.itemicon?(u(),v(x(i.templates.itemicon),{key:0,item:n.item,class:k([e.cx("icon"),o.getItemProp(n,"icon")])},null,8,["item","class"])):o.getItemProp(n,"icon")?(u(),l("span",d({key:1,class:[e.cx("icon"),o.getItemProp(n,"icon")]},o.getPTOptions(n,s,"icon")),null,16)):f("",!0),g("span",d({class:e.cx("text")},o.getPTOptions(n,s,"label")),I(o.getItemLabel(n)),17),o.isItemGroup(n)?(u(),l(h,{key:2},[i.templates.submenuicon?(u(),v(x(i.templates.submenuicon),d({key:0,active:o.isItemActive(n),class:e.cx("submenuIcon")},o.getPTOptions(n,s,"submenuIcon")),null,16,["active","class"])):(u(),v(x(i.horizontal?"AngleDownIcon":"AngleRightIcon"),d({key:1,class:e.cx("submenuIcon")},o.getPTOptions(n,s,"submenuIcon")),null,16,["class"]))],64)):f("",!0)],16,C)),[[L]])],64))],16,A),o.isItemVisible(n)&&o.isItemGroup(n)?(u(),l("div",d({key:0,class:e.cx("panel")},e.ptm("panel")),[g("div",d({class:e.cx("grid")},e.ptm("grid")),[(u(!0),l(h,null,p(n.items,(function(s){return u(),l("div",d({key:o.getItemKey(s),class:e.cx("column",{processedItem:n})},e.ptm("column")),[(u(!0),l(h,null,p(s,(function(s){return u(),v(r,{key:o.getSubListKey(s),id:o.getSubListId(s),style:P(e.sx("submenu",!0,{processedItem:n})),role:"menu",menuId:i.menuId,focusedItemId:i.focusedItemId,submenu:s,items:s.items,templates:i.templates,exact:i.exact,level:i.level+1,pt:e.pt,onItemClick:t[0]||(t[0]=function(t){return e.$emit("item-click",t)}),onItemMouseenter:t[1]||(t[1]=function(t){return e.$emit("item-mouseenter",t)})},null,8,["id","style","menuId","focusedItemId","submenu","items","templates","exact","level","pt"])})),128))],16)})),128))],16)],16)):f("",!0)],16,V)):f("",!0),o.isItemVisible(n)&&o.getItemProp(n,"separator")?(u(),l("li",d({key:1,id:o.getItemId(n),class:[e.cx("separator"),o.getItemProp(n,"class")],style:o.getItemProp(n,"style"),role:"separator"},e.ptm("separator")),null,16,D)):f("",!0)],64)})),128))],16,S)};var M={name:"MegaMenu",extends:w,emits:["focus","blur"],props:{model:{type:Array,default:null},orientation:{type:String,default:"horizontal"},exact:{type:Boolean,default:!0},disabled:{type:Boolean,default:!1},tabindex:{type:Number,default:0},"aria-labelledby":{type:String,default:null},"aria-label":{type:String,default:null}},outsideClickListener:null,resizeListener:null,container:null,menubar:null,searchTimeout:null,searchValue:null,data:function(){return{id:this.$attrs.id,focused:!1,focusedItemInfo:{index:-1,key:"",parentKey:""},activeItem:null,dirty:!1}},watch:{"$attrs.id":function(e){this.id=e||t()},activeItem:function(t){e.isNotEmpty(t)?(this.bindOutsideClickListener(),this.bindResizeListener()):(this.unbindOutsideClickListener(),this.unbindResizeListener())}},mounted:function(){this.id=this.id||t()},beforeUnmount:function(){this.unbindOutsideClickListener(),this.unbindResizeListener()},methods:{getItemProp:function(t,i){return t?e.getItemValue(t[i]):void 0},getItemLabel:function(e){return this.getItemProp(e,"label")},isItemDisabled:function(e){return this.getItemProp(e,"disabled")},isItemGroup:function(t){return e.isNotEmpty(this.getItemProp(t,"items"))},isItemSeparator:function(e){return this.getItemProp(e,"separator")},getProccessedItemLabel:function(e){return e?this.getItemLabel(e.item):void 0},isProccessedItemGroup:function(t){return t&&e.isNotEmpty(t.items)},hide:function(e,t){this.activeItem=null,this.focusedItemInfo={index:-1,key:"",parentKey:""},t&&i.focus(this.menubar),this.dirty=!1},onFocus:function(e){if(this.focused=!0,-1===this.focusedItemInfo.index){var t=this.findFirstFocusedItemIndex(),i=this.findVisibleItem(t);this.focusedItemInfo={index:t,key:i.key,parentKey:i.parentKey}}this.$emit("focus",e)},onBlur:function(e){this.focused=!1,this.focusedItemInfo={index:-1,key:"",parentKey:""},this.searchValue="",this.dirty=!1,this.$emit("blur",e)},onKeyDown:function(t){if(this.disabled)t.preventDefault();else{var i=t.metaKey||t.ctrlKey;switch(t.code){case"ArrowDown":this.onArrowDownKey(t);break;case"ArrowUp":this.onArrowUpKey(t);break;case"ArrowLeft":this.onArrowLeftKey(t);break;case"ArrowRight":this.onArrowRightKey(t);break;case"Home":this.onHomeKey(t);break;case"End":this.onEndKey(t);break;case"Space":this.onSpaceKey(t);break;case"Enter":this.onEnterKey(t);break;case"Escape":this.onEscapeKey(t);break;case"Tab":this.onTabKey(t);break;case"PageDown":case"PageUp":case"Backspace":case"ShiftLeft":case"ShiftRight":break;default:!i&&e.isPrintableCharacter(t.key)&&this.searchItems(t,t.key)}}},onItemChange:function(t){var n=t.processedItem,s=t.isFocus;if(!e.isEmpty(n)){var o=n.index,a=n.key,r=n.parentKey,m=e.isNotEmpty(n.items);m&&(this.activeItem=n),this.focusedItemInfo={index:o,key:a,parentKey:r},m&&(this.dirty=!0),s&&i.focus(this.menubar)}},onItemClick:function(t){var n=t.originalEvent,s=t.processedItem,o=this.isProccessedItemGroup(s),a=e.isEmpty(s.parent);if(this.isSelected(s)){var r=s.index,m=s.key,c=s.parentKey;this.activeItem=null,this.focusedItemInfo={index:r,key:m,parentKey:c},this.dirty=!a,i.focus(this.menubar)}else if(o)this.onItemChange(t);else{var u=a?s:this.activeItem;this.hide(n),this.changeFocusedItemInfo(n,u?u.index:-1),i.focus(this.menubar)}},onItemMouseEnter:function(e){this.dirty&&this.onItemChange(e)},onArrowDownKey:function(t){if(this.horizontal)if(e.isNotEmpty(this.activeItem)&&this.activeItem.key===this.focusedItemInfo.key)this.focusedItemInfo={index:-1,key:"",parentKey:this.activeItem.key};else{var i=this.findVisibleItem(this.focusedItemInfo.index);this.isProccessedItemGroup(i)&&(this.onItemChange({originalEvent:t,processedItem:i}),this.focusedItemInfo={index:-1,key:i.key,parentKey:i.parentKey},this.searchValue="")}var n=-1!==this.focusedItemInfo.index?this.findNextItemIndex(this.focusedItemInfo.index):this.findFirstFocusedItemIndex();this.changeFocusedItemInfo(t,n),t.preventDefault()},onArrowUpKey:function(t){if(t.altKey&&this.horizontal){if(-1!==this.focusedItemInfo.index){var i=this.findVisibleItem(this.focusedItemInfo.index);!this.isProccessedItemGroup(i)&&e.isNotEmpty(this.activeItem)&&(0===this.focusedItemInfo.index?(this.focusedItemInfo={index:this.activeItem.index,key:this.activeItem.key,parentKey:this.activeItem.parentKey},this.activeItem=null):this.changeFocusedItemInfo(t,this.findFirstItemIndex()))}t.preventDefault()}else{var n=-1!==this.focusedItemInfo.index?this.findPrevItemIndex(this.focusedItemInfo.index):this.findLastFocusedItemIndex();this.changeFocusedItemInfo(t,n),t.preventDefault()}},onArrowLeftKey:function(t){var i=this.findVisibleItem(this.focusedItemInfo.index);if(this.isProccessedItemGroup(i)){if(this.horizontal){var n=-1!==this.focusedItemInfo.index?this.findPrevItemIndex(this.focusedItemInfo.index):this.findLastFocusedItemIndex();this.changeFocusedItemInfo(t,n)}}else{this.vertical&&e.isNotEmpty(this.activeItem)&&0===i.columnIndex&&(this.focusedItemInfo={index:this.activeItem.index,key:this.activeItem.key,parentKey:this.activeItem.parentKey},this.activeItem=null);var s=i.columnIndex-1,o=this.visibleItems.findIndex((function(e){return e.columnIndex===s}));-1!==o&&this.changeFocusedItemInfo(t,o)}t.preventDefault()},onArrowRightKey:function(t){var i=this.findVisibleItem(this.focusedItemInfo.index);if(this.isProccessedItemGroup(i)){if(this.vertical)if(e.isNotEmpty(this.activeItem)&&this.activeItem.key===i.key)this.focusedItemInfo={index:-1,key:"",parentKey:this.activeItem.key};else{var n=this.findVisibleItem(this.focusedItemInfo.index);this.isProccessedItemGroup(n)&&(this.onItemChange({originalEvent:t,processedItem:n}),this.focusedItemInfo={index:-1,key:n.key,parentKey:n.parentKey},this.searchValue="")}var s=-1!==this.focusedItemInfo.index?this.findNextItemIndex(this.focusedItemInfo.index):this.findFirstFocusedItemIndex();this.changeFocusedItemInfo(t,s)}else{var o=i.columnIndex+1,a=this.visibleItems.findIndex((function(e){return e.columnIndex===o}));-1!==a&&this.changeFocusedItemInfo(t,a)}t.preventDefault()},onHomeKey:function(e){this.changeFocusedItemInfo(e,this.findFirstItemIndex()),e.preventDefault()},onEndKey:function(e){this.changeFocusedItemInfo(e,this.findLastItemIndex()),e.preventDefault()},onEnterKey:function(e){if(-1!==this.focusedItemInfo.index){var t=i.findSingle(this.menubar,'li[id="'.concat("".concat(this.focusedItemId),'"]')),n=t&&i.findSingle(t,'a[data-pc-section="action"]');n?n.click():t&&t.click(),!this.isProccessedItemGroup(this.visibleItems[this.focusedItemInfo.index])&&this.changeFocusedItemInfo(e,this.findFirstFocusedItemIndex())}e.preventDefault()},onSpaceKey:function(e){this.onEnterKey(e)},onEscapeKey:function(t){e.isNotEmpty(this.activeItem)&&(this.focusedItemInfo={index:this.activeItem.index,key:this.activeItem.key},this.activeItem=null),t.preventDefault()},onTabKey:function(e){if(-1!==this.focusedItemInfo.index){var t=this.findVisibleItem(this.focusedItemInfo.index);!this.isProccessedItemGroup(t)&&this.onItemChange({originalEvent:e,processedItem:t})}this.hide()},bindOutsideClickListener:function(){var e=this;this.outsideClickListener||(this.outsideClickListener=function(t){var i=e.container&&!e.container.contains(t.target),n=!e.popup||!(e.target&&(e.target===t.target||e.target.contains(t.target)));i&&n&&e.hide()},document.addEventListener("click",this.outsideClickListener))},unbindOutsideClickListener:function(){this.outsideClickListener&&(document.removeEventListener("click",this.outsideClickListener),this.outsideClickListener=null)},bindResizeListener:function(){var e=this;this.resizeListener||(this.resizeListener=function(t){i.isTouchDevice()||e.hide(t,!0)},window.addEventListener("resize",this.resizeListener))},unbindResizeListener:function(){this.resizeListener&&(window.removeEventListener("resize",this.resizeListener),this.resizeListener=null)},isItemMatched:function(e){return this.isValidItem(e)&&this.getProccessedItemLabel(e).toLocaleLowerCase().startsWith(this.searchValue.toLocaleLowerCase())},isValidItem:function(e){return!!e&&!this.isItemDisabled(e.item)&&!this.isItemSeparator(e.item)},isValidSelectedItem:function(e){return this.isValidItem(e)&&this.isSelected(e)},isSelected:function(t){return!!e.isNotEmpty(this.activeItem)&&this.activeItem.key===t.key},findFirstItemIndex:function(){var e=this;return this.visibleItems.findIndex((function(t){return e.isValidItem(t)}))},findLastItemIndex:function(){var t=this;return e.findLastIndex(this.visibleItems,(function(e){return t.isValidItem(e)}))},findNextItemIndex:function(e){var t=this,i=e<this.visibleItems.length-1?this.visibleItems.slice(e+1).findIndex((function(e){return t.isValidItem(e)})):-1;return i>-1?i+e+1:e},findPrevItemIndex:function(t){var i=this,n=t>0?e.findLastIndex(this.visibleItems.slice(0,t),(function(e){return i.isValidItem(e)})):-1;return n>-1?n:t},findSelectedItemIndex:function(){var e=this;return this.visibleItems.findIndex((function(t){return e.isValidSelectedItem(t)}))},findFirstFocusedItemIndex:function(){var e=this.findSelectedItemIndex();return e<0?this.findFirstItemIndex():e},findLastFocusedItemIndex:function(){var e=this.findSelectedItemIndex();return e<0?this.findLastItemIndex():e},findVisibleItem:function(t){return e.isNotEmpty(this.visibleItems)?this.visibleItems[t]:null},searchItems:function(e,t){var i=this;this.searchValue=(this.searchValue||"")+t;var n=-1,s=!1;return-1!==(n=-1!==this.focusedItemInfo.index?-1===(n=this.visibleItems.slice(this.focusedItemInfo.index).findIndex((function(e){return i.isItemMatched(e)})))?this.visibleItems.slice(0,this.focusedItemInfo.index).findIndex((function(e){return i.isItemMatched(e)})):n+this.focusedItemInfo.index:this.visibleItems.findIndex((function(e){return i.isItemMatched(e)})))&&(s=!0),-1===n&&-1===this.focusedItemInfo.index&&(n=this.findFirstFocusedItemIndex()),-1!==n&&this.changeFocusedItemInfo(e,n),this.searchTimeout&&clearTimeout(this.searchTimeout),this.searchTimeout=setTimeout((function(){i.searchValue="",i.searchTimeout=null}),500),s},changeFocusedItemInfo:function(t,i){var n=this.findVisibleItem(i);this.focusedItemInfo.index=i,this.focusedItemInfo.key=e.isNotEmpty(n)?n.key:"",this.scrollInView()},scrollInView:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:-1,t=-1!==e?"".concat(this.id,"_").concat(e):this.focusedItemId,n=i.findSingle(this.menubar,'li[id="'.concat(t,'"]'));n&&n.scrollIntoView&&n.scrollIntoView({block:"nearest",inline:"start"})},createProcessedItems:function(e){var t=this,i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},s=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"",o=arguments.length>4?arguments[4]:void 0,a=[];return e&&e.forEach((function(e,r){var m=(""!==s?s+"_":"")+(void 0!==o?o+"_":"")+r,c={item:e,index:r,level:i,key:m,parent:n,parentKey:s,columnIndex:void 0!==o?o:void 0!==n.columnIndex?n.columnIndex:r};c.items=0===i&&e.items&&e.items.length>0?e.items.map((function(e,n){return t.createProcessedItems(e,i+1,c,m,n)})):t.createProcessedItems(e.items,i+1,c,m),a.push(c)})),a},containerRef:function(e){this.container=e},menubarRef:function(e){this.menubar=e?e.$el:void 0}},computed:{processedItems:function(){return this.createProcessedItems(this.model||[])},visibleItems:function(){var t=e.isNotEmpty(this.activeItem)?this.activeItem:null;return t&&t.key===this.focusedItemInfo.parentKey?t.items.reduce((function(e,t){return t.forEach((function(t){t.items.forEach((function(t){e.push(t)}))})),e}),[]):this.processedItems},horizontal:function(){return"horizontal"===this.orientation},vertical:function(){return"vertical"===this.orientation},focusedItemId:function(){return e.isNotEmpty(this.focusedItemInfo.key)?"".concat(this.id,"_").concat(this.focusedItemInfo.key):null}},components:{MegaMenuSub:F}},N=["id"];M.render=function(e,t,i,n,s,o){var a=m("MegaMenuSub");return u(),l("div",d({ref:o.containerRef,id:s.id,class:e.cx("root")},e.ptm("root"),{"data-pc-name":"megamenu"}),[e.$slots.start?(u(),l("div",d({key:0,class:e.cx("start")},e.ptm("start")),[L(e.$slots,"start")],16)):f("",!0),K(a,{ref:o.menubarRef,id:s.id+"_list",tabindex:i.disabled?-1:i.tabindex,role:"menubar","aria-label":e.ariaLabel,"aria-labelledby":e.ariaLabelledby,"aria-disabled":i.disabled||void 0,"aria-orientation":i.orientation,"aria-activedescendant":s.focused?o.focusedItemId:void 0,menuId:s.id,focusedItemId:s.focused?o.focusedItemId:void 0,items:o.processedItems,horizontal:o.horizontal,templates:e.$slots,activeItem:s.activeItem,exact:i.exact,level:0,pt:e.pt,onFocus:o.onFocus,onBlur:o.onBlur,onKeydown:o.onKeyDown,onItemClick:o.onItemClick,onItemMouseenter:o.onItemMouseEnter},null,8,["id","tabindex","aria-label","aria-labelledby","aria-disabled","aria-orientation","aria-activedescendant","menuId","focusedItemId","items","horizontal","templates","activeItem","exact","pt","onFocus","onBlur","onKeydown","onItemClick","onItemMouseenter"]),e.$slots.end?(u(),l("div",d({key:1,class:e.cx("end")},e.ptm("end")),[L(e.$slots,"end")],16)):f("",!0)],16,N)};export{M as default};