UNPKG

primevue

Version:

PrimeVue is an open source UI library for Vue featuring a rich set of 80+ components, a theme designer, various theme alternatives such as Material, Bootstrap, Tailwind, premium templates and professional support. In addition, it integrates with PrimeBloc

2 lines (1 loc) 24 kB
"use strict";var e=require("primevue/icons/bars"),t=require("primevue/utils"),i=require("primevue/basecomponent"),n=require("primevue/megamenu/style"),s=require("primevue/icons/angledown"),o=require("primevue/icons/angleright"),r=require("primevue/ripple"),c=require("vue");function a(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var m=a(e),l=a(i),u=a(n),d=a(s),I={name:"BaseMegaMenu",extends:l.default,props:{model:{type:Array,default:null},orientation:{type:String,default:"horizontal"},breakpoint:{type:String,default:"960px"},disabled:{type:Boolean,default:!1},tabindex:{type:Number,default:0},ariaLabelledby:{type:String,default:null},ariaLabel:{type:String,default:null}},style:u.default,provide:function(){return{$parentInstance:this}}},h={name:"MegaMenuSub",hostName:"MegaMenu",extends:l.default,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},mobileActive:{type:Boolean,default:!1},items:{type:Array,default:null},level:{type:Number,default:0},templates:{type:Object,default:null},activeItem:{type:Object,default:null},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(e,i,n){return e&&e.item?t.ObjectUtils.getItemValue(e.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),disabled:this.isItemDisabled(e)}})},isItemActive:function(e){return!!t.ObjectUtils.isNotEmpty(this.activeItem)&&this.activeItem.key===e.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(e){return t.ObjectUtils.isNotEmpty(e.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})},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},getMenuItemProps:function(e,t){return{action:c.mergeProps({class:this.cx("action"),tabindex:-1,"aria-hidden":!0},this.getPTOptions(e,t,"action")),icon:c.mergeProps({class:[this.cx("icon"),this.getItemProp(e,"icon")]},this.getPTOptions(e,t,"icon")),label:c.mergeProps({class:this.cx("label")},this.getPTOptions(e,t,"label")),submenuicon:c.mergeProps({class:this.cx("submenuIcon")},this.getPTOptions(e,t,"submenuIcon"))}}},components:{AngleRightIcon:a(o).default,AngleDownIcon:d.default},directives:{ripple:a(r).default}},f=["tabindex"],p=["id","aria-label","aria-disabled","aria-expanded","aria-haspopup","aria-level","aria-setsize","aria-posinset","data-p-highlight","data-p-focused","data-p-disabled"],b=["onClick","onMouseenter"],v=["href","target"],g=["id"];h.render=function(e,t,i,n,s,o){var r=c.resolveComponent("MegaMenuSub",!0),a=c.resolveDirective("ripple");return c.openBlock(),c.createElementBlock("ul",c.mergeProps({class:e.cx(0===i.level?"menu":"submenu"),tabindex:i.tabindex},e.ptm(0===i.level?"menu":"submenu")),[i.submenu?(c.openBlock(),c.createElementBlock("li",c.mergeProps({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")),c.toDisplayString(o.getItemLabel(i.submenu)),17)):c.createCommentVNode("",!0),(c.openBlock(!0),c.createElementBlock(c.Fragment,null,c.renderList(i.items,(function(n,s){return c.openBlock(),c.createElementBlock(c.Fragment,{key:o.getItemKey(n)},[o.isItemVisible(n)&&!o.getItemProp(n,"separator")?(c.openBlock(),c.createElementBlock("li",c.mergeProps({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)}),[c.createElementVNode("div",c.mergeProps({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?(c.openBlock(),c.createBlock(c.resolveDynamicComponent(i.templates.item),{key:1,item:n.item,hasSubmenu:o.isItemGroup(n),label:o.getItemLabel(n),props:o.getMenuItemProps(n,s)},null,8,["item","hasSubmenu","label","props"])):c.withDirectives((c.openBlock(),c.createElementBlock("a",c.mergeProps({key:0,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?(c.openBlock(),c.createBlock(c.resolveDynamicComponent(i.templates.itemicon),{key:0,item:n.item,class:c.normalizeClass([e.cx("icon"),o.getItemProp(n,"icon")])},null,8,["item","class"])):o.getItemProp(n,"icon")?(c.openBlock(),c.createElementBlock("span",c.mergeProps({key:1,class:[e.cx("icon"),o.getItemProp(n,"icon")]},o.getPTOptions(n,s,"icon")),null,16)):c.createCommentVNode("",!0),c.createElementVNode("span",c.mergeProps({class:e.cx(0===i.level?"label":"submenuLabel")},o.getPTOptions(n,s,0===i.level?"label":"submenuLabel")),c.toDisplayString(o.getItemLabel(n)),17),o.isItemGroup(n)?(c.openBlock(),c.createElementBlock(c.Fragment,{key:2},[i.templates.submenuicon?(c.openBlock(),c.createBlock(c.resolveDynamicComponent(i.templates.submenuicon),c.mergeProps({key:0,active:o.isItemActive(n),class:e.cx("submenuIcon")},o.getPTOptions(n,s,"submenuIcon")),null,16,["active","class"])):(c.openBlock(),c.createBlock(c.resolveDynamicComponent(i.horizontal||i.mobileActive?"AngleDownIcon":"AngleRightIcon"),c.mergeProps({key:1,class:e.cx("submenuIcon")},o.getPTOptions(n,s,"submenuIcon")),null,16,["class"]))],64)):c.createCommentVNode("",!0)],16,v)),[[a]])],16,b),o.isItemVisible(n)&&o.isItemGroup(n)?(c.openBlock(),c.createElementBlock("div",c.mergeProps({key:0,class:e.cx("panel")},e.ptm("panel")),[c.createElementVNode("div",c.mergeProps({class:e.cx("grid")},e.ptm("grid")),[(c.openBlock(!0),c.createElementBlock(c.Fragment,null,c.renderList(n.items,(function(s){return c.openBlock(),c.createElementBlock("div",c.mergeProps({key:o.getItemKey(s),class:e.cx("column",{processedItem:n})},e.ptm("column")),[(c.openBlock(!0),c.createElementBlock(c.Fragment,null,c.renderList(s,(function(s){return c.openBlock(),c.createBlock(r,{key:o.getSubListKey(s),id:o.getSubListId(s),style:c.normalizeStyle(e.sx("submenu",!0,{processedItem:n})),role:"menu",menuId:i.menuId,focusedItemId:i.focusedItemId,submenu:s,items:s.items,templates:i.templates,level:i.level+1,mobileActive:i.mobileActive,pt:e.pt,unstyled:e.unstyled,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","level","mobileActive","pt","unstyled"])})),128))],16)})),128))],16)],16)):c.createCommentVNode("",!0)],16,p)):c.createCommentVNode("",!0),o.isItemVisible(n)&&o.getItemProp(n,"separator")?(c.openBlock(),c.createElementBlock("li",c.mergeProps({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,g)):c.createCommentVNode("",!0)],64)})),128))],16,f)};var y={name:"MegaMenu",extends:I,emits:["focus","blur"],outsideClickListener:null,resizeListener:null,matchMediaListener:null,container:null,menubar:null,searchTimeout:null,searchValue:null,data:function(){return{id:this.$attrs.id,mobileActive:!1,focused:!1,focusedItemInfo:{index:-1,key:"",parentKey:""},activeItem:null,dirty:!1,query:null,queryMatches:!1}},watch:{"$attrs.id":function(e){this.id=e||t.UniqueComponentId()},activeItem:function(e){t.ObjectUtils.isNotEmpty(e)?(this.bindOutsideClickListener(),this.bindResizeListener()):(this.unbindOutsideClickListener(),this.unbindResizeListener())}},mounted:function(){this.id=this.id||t.UniqueComponentId(),this.bindMatchMediaListener()},beforeUnmount:function(){this.mobileActive=!1,this.unbindOutsideClickListener(),this.unbindResizeListener(),this.unbindMatchMediaListener()},methods:{getItemProp:function(e,i){return e?t.ObjectUtils.getItemValue(e[i]):void 0},getItemLabel:function(e){return this.getItemProp(e,"label")},isItemDisabled:function(e){return this.getItemProp(e,"disabled")},isItemGroup:function(e){return t.ObjectUtils.isNotEmpty(this.getItemProp(e,"items"))},isItemSeparator:function(e){return this.getItemProp(e,"separator")},getProccessedItemLabel:function(e){return e?this.getItemLabel(e.item):void 0},isProccessedItemGroup:function(e){return e&&t.ObjectUtils.isNotEmpty(e.items)},toggle:function(e){var i=this;this.mobileActive?(this.mobileActive=!1,t.ZIndexUtils.clear(this.menubar),this.hide()):(this.mobileActive=!0,t.ZIndexUtils.set("menu",this.menubar,this.$primevue.config.zIndex.menu),setTimeout((function(){i.show()}),1)),this.bindOutsideClickListener(),e.preventDefault()},show:function(){this.focusedItemInfo={index:this.findFirstFocusedItemIndex(),level:0,parentKey:""},t.DomHandler.focus(this.menubar)},hide:function(e,i){var n=this;this.mobileActive&&(this.mobileActive=!1,setTimeout((function(){t.DomHandler.focus(n.$refs.menubutton)}),0)),this.activeItem=null,this.focusedItemInfo={index:-1,key:"",parentKey:""},i&&t.DomHandler.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(e){if(this.disabled)e.preventDefault();else{var i=e.metaKey||e.ctrlKey;switch(e.code){case"ArrowDown":this.onArrowDownKey(e);break;case"ArrowUp":this.onArrowUpKey(e);break;case"ArrowLeft":this.onArrowLeftKey(e);break;case"ArrowRight":this.onArrowRightKey(e);break;case"Home":this.onHomeKey(e);break;case"End":this.onEndKey(e);break;case"Space":this.onSpaceKey(e);break;case"Enter":case"NumpadEnter":this.onEnterKey(e);break;case"Escape":this.onEscapeKey(e);break;case"Tab":this.onTabKey(e);break;case"PageDown":case"PageUp":case"Backspace":case"ShiftLeft":case"ShiftRight":break;default:!i&&t.ObjectUtils.isPrintableCharacter(e.key)&&this.searchItems(e,e.key)}}},onItemChange:function(e){var i=e.processedItem,n=e.isFocus;if(!t.ObjectUtils.isEmpty(i)){var s=i.index,o=i.key,r=i.parentKey,c=t.ObjectUtils.isNotEmpty(i.items);c&&(this.activeItem=i),this.focusedItemInfo={index:s,key:o,parentKey:r},c&&(this.dirty=!0),n&&t.DomHandler.focus(this.menubar)}},onItemClick:function(e){var i=e.originalEvent,n=e.processedItem,s=this.isProccessedItemGroup(n),o=t.ObjectUtils.isEmpty(n.parent);if(this.isSelected(n)){var r=n.index,c=n.key,a=n.parentKey;this.activeItem=null,this.focusedItemInfo={index:r,key:c,parentKey:a},this.dirty=!o,t.DomHandler.focus(this.menubar)}else if(s)this.onItemChange(e);else{var m=o?n:this.activeItem;this.hide(i),this.changeFocusedItemInfo(i,m?m.index:-1),this.mobileActive=!1,t.DomHandler.focus(this.menubar)}},onItemMouseEnter:function(e){!this.mobileActive&&this.dirty&&this.onItemChange(e)},menuButtonClick:function(e){this.toggle(e)},menuButtonKeydown:function(e){("Enter"===e.code||"NumpadEnter"===e.code||"Space"===e.code)&&this.menuButtonClick(e)},onArrowDownKey:function(e){if(this.horizontal)if(t.ObjectUtils.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:e,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(e,n),e.preventDefault()},onArrowUpKey:function(e){if(e.altKey&&this.horizontal){if(-1!==this.focusedItemInfo.index){var i=this.findVisibleItem(this.focusedItemInfo.index);!this.isProccessedItemGroup(i)&&t.ObjectUtils.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(e,this.findFirstItemIndex()))}e.preventDefault()}else{var n=-1!==this.focusedItemInfo.index?this.findPrevItemIndex(this.focusedItemInfo.index):this.findLastFocusedItemIndex();this.changeFocusedItemInfo(e,n),e.preventDefault()}},onArrowLeftKey:function(e){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(e,n)}}else{this.vertical&&t.ObjectUtils.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(e,o)}e.preventDefault()},onArrowRightKey:function(e){var i=this.findVisibleItem(this.focusedItemInfo.index);if(this.isProccessedItemGroup(i)){if(this.vertical)if(t.ObjectUtils.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:e,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(e,s)}else{var o=i.columnIndex+1,r=this.visibleItems.findIndex((function(e){return e.columnIndex===o}));-1!==r&&this.changeFocusedItemInfo(e,r)}e.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 i=t.DomHandler.findSingle(this.menubar,'li[id="'.concat("".concat(this.focusedItemId),'"]')),n=i&&t.DomHandler.findSingle(i,'a[data-pc-section="action"]');n?n.click():i&&i.click(),!this.isProccessedItemGroup(this.visibleItems[this.focusedItemInfo.index])&&this.changeFocusedItemInfo(e,this.findFirstFocusedItemIndex())}e.preventDefault()},onSpaceKey:function(e){this.onEnterKey(e)},onEscapeKey:function(e){t.ObjectUtils.isNotEmpty(this.activeItem)&&(this.focusedItemInfo={index:this.activeItem.index,key:this.activeItem.key},this.activeItem=null),e.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.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(i){t.DomHandler.isTouchDevice()||e.hide(i,!0),e.mobileActive=!1},window.addEventListener("resize",this.resizeListener))},unbindResizeListener:function(){this.resizeListener&&(window.removeEventListener("resize",this.resizeListener),this.resizeListener=null)},bindMatchMediaListener:function(){var e=this;if(!this.matchMediaListener){var t=matchMedia("(max-width: ".concat(this.breakpoint,")"));this.query=t,this.queryMatches=t.matches,this.matchMediaListener=function(){e.queryMatches=t.matches,e.mobileActive=!1},this.query.addEventListener("change",this.matchMediaListener)}},unbindMatchMediaListener:function(){this.matchMediaListener&&(this.query.removeEventListener("change",this.matchMediaListener),this.matchMediaListener=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(e){return!!t.ObjectUtils.isNotEmpty(this.activeItem)&&this.activeItem.key===e.key},findFirstItemIndex:function(){var e=this;return this.visibleItems.findIndex((function(t){return e.isValidItem(t)}))},findLastItemIndex:function(){var e=this;return t.ObjectUtils.findLastIndex(this.visibleItems,(function(t){return e.isValidItem(t)}))},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(e){var i=this,n=e>0?t.ObjectUtils.findLastIndex(this.visibleItems.slice(0,e),(function(e){return i.isValidItem(e)})):-1;return n>-1?n:e},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(e){return t.ObjectUtils.isNotEmpty(this.visibleItems)?this.visibleItems[e]: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(e,i){var n=this.findVisibleItem(i);this.focusedItemInfo.index=i,this.focusedItemInfo.key=t.ObjectUtils.isNotEmpty(n)?n.key:"",this.scrollInView()},scrollInView:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:-1,i=-1!==e?"".concat(this.id,"_").concat(e):this.focusedItemId,n=t.DomHandler.findSingle(this.menubar,'li[id="'.concat(i,'"]'));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,r=[];return e&&e.forEach((function(e,c){var a=(""!==s?s+"_":"")+(void 0!==o?o+"_":"")+c,m={item:e,index:c,level:i,key:a,parent:n,parentKey:s,columnIndex:void 0!==o?o:void 0!==n.columnIndex?n.columnIndex:c};m.items=0===i&&e.items&&e.items.length>0?e.items.map((function(e,n){return t.createProcessedItems(e,i+1,m,a,n)})):t.createProcessedItems(e.items,i+1,m,a),r.push(m)})),r},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 e=t.ObjectUtils.isNotEmpty(this.activeItem)?this.activeItem:null;return e&&e.key===this.focusedItemInfo.parentKey?e.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 t.ObjectUtils.isNotEmpty(this.focusedItemInfo.key)?"".concat(this.id,"_").concat(this.focusedItemInfo.key):null}},components:{MegaMenuSub:h,BarsIcon:m.default}},k=["id"],x=["aria-haspopup","aria-expanded","aria-controls","aria-label"];y.render=function(e,t,i,n,s,o){var r=c.resolveComponent("BarsIcon"),a=c.resolveComponent("MegaMenuSub");return c.openBlock(),c.createElementBlock("div",c.mergeProps({ref:o.containerRef,id:s.id,class:e.cx("root")},e.ptm("root"),{"data-pc-name":"megamenu"}),[e.$slots.start?(c.openBlock(),c.createElementBlock("div",c.mergeProps({key:0,class:e.cx("start")},e.ptm("start")),[c.renderSlot(e.$slots,"start")],16)):c.createCommentVNode("",!0),c.renderSlot(e.$slots,"menubutton",{id:s.id,class:c.normalizeClass(e.cx("menubutton")),toggleCallback:function(e){return o.menuButtonClick(e)}},(function(){var i;return[e.model&&e.model.length>0?(c.openBlock(),c.createElementBlock("a",c.mergeProps({key:0,ref:"menubutton",role:"button",tabindex:"0",class:e.cx("menubutton"),"aria-haspopup":!!(e.model.length&&e.model.length>0),"aria-expanded":s.mobileActive,"aria-controls":s.id,"aria-label":null===(i=e.$primevue.config.locale.aria)||void 0===i?void 0:i.navigation,onClick:t[0]||(t[0]=function(e){return o.menuButtonClick(e)}),onKeydown:t[1]||(t[1]=function(e){return o.menuButtonKeydown(e)})},e.ptm("menubutton")),[c.renderSlot(e.$slots,"menubuttonicon",{},(function(){return[c.createVNode(r,c.normalizeProps(c.guardReactiveProps(e.ptm("menubuttonicon"))),null,16)]}))],16,x)):c.createCommentVNode("",!0)]})),c.createVNode(a,{ref:o.menubarRef,id:s.id+"_list",tabindex:e.disabled?-1:e.tabindex,role:"menubar","aria-label":e.ariaLabel,"aria-labelledby":e.ariaLabelledby,"aria-disabled":e.disabled||void 0,"aria-orientation":e.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,mobileActive:s.mobileActive,level:0,pt:e.pt,unstyled:e.unstyled,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","mobileActive","pt","unstyled","onFocus","onBlur","onKeydown","onItemClick","onItemMouseenter"]),e.$slots.end?(c.openBlock(),c.createElementBlock("div",c.mergeProps({key:1,class:e.cx("end")},e.ptm("end")),[c.renderSlot(e.$slots,"end")],16)):c.createCommentVNode("",!0)],16,k)},module.exports=y;