primevue
Version:
[](https://opensource.org/licenses/MIT) [](https://badge.fury.io/js/primevue) [ • 29.7 kB
JavaScript
this.primevue=this.primevue||{},this.primevue.panelmenu=function(e,t,n,i,o,s,r){"use strict";function a(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var c=a(e),l=a(t),m=a(i),u=a(s),d=o.useStyle("\n.p-panelmenu .p-panelmenu-header-action {\n display: flex;\n align-items: center;\n user-select: none;\n cursor: pointer;\n position: relative;\n text-decoration: none;\n}\n\n.p-panelmenu .p-panelmenu-header-action:focus {\n z-index: 1;\n}\n\n.p-panelmenu .p-submenu-list {\n margin: 0;\n padding: 0;\n list-style: none;\n}\n\n.p-panelmenu .p-menuitem-link {\n display: flex;\n align-items: center;\n user-select: none;\n cursor: pointer;\n text-decoration: none;\n position: relative;\n overflow: hidden;\n}\n\n.p-panelmenu .p-menuitem-text {\n line-height: 1;\n}\n",{name:"panelmenu",manual:!0}),p={name:"BasePanelMenu",extends:m.default,props:{model:{type:Array,default:null},expandedKeys:{type:Object,default:null},exact:{type:Boolean,default:!0},tabindex:{type:Number,default:0}},css:{classes:{root:"p-panelmenu p-component",panel:"p-panelmenu-panel",header:function(e){var t=e.instance,n=e.item;return["p-panelmenu-header",{"p-highlight":t.isItemActive(n),"p-disabled":t.isItemDisabled(n)}]},headerContent:"p-panelmenu-header-content",headerAction:function(e){return["p-panelmenu-header-action",{"router-link-active":e.isActive,"router-link-active-exact":e.instance.exact&&e.isExactActive}]},headerIcon:"p-menuitem-icon",headerLabel:"p-menuitem-text",toggleableContent:"p-toggleable-content",menuContent:"p-panelmenu-content",menu:"p-panelmenu-root-list",menuitem:function(e){var t=e.instance,n=e.processedItem;return["p-menuitem",{"p-focus":t.isItemFocused(n),"p-disabled":t.isItemDisabled(n)}]},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",submenu:"p-submenu-list",separator:"p-menuitem-separator"},loadStyle:d.load},provide:function(){return{$parentInstance:this}}},h={name:"PanelMenuSub",hostName:"PanelMenu",extends:m.default,emits:["item-toggle"],props:{panelId:{type:String,default:null},focusedItemId:{type:String,default:null},items:{type:Array,default:null},level:{type:Number,default:0},templates:{type:Object,default:null},activeItemPath:{type:Object,default:null},exact:{type:Boolean,default:!0},tabindex:{type:Number,default:-1}},methods:{getItemId:function(e){return"".concat(this.panelId,"_").concat(e.key)},getItemKey:function(e){return this.getItemId(e)},getItemProp:function(e,t,i){return e&&e.item?n.ObjectUtils.getItemValue(e.item[t],i):void 0},getItemLabel:function(e){return this.getItemProp(e,"label")},getPTOptions:function(e,t,n){return this.ptm(e,{context:{item:t,index:n,active:this.isItemActive(t),focused:this.isItemFocused(t)}})},isItemActive:function(e){return this.activeItemPath.some((function(t){return t.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 n.ObjectUtils.isNotEmpty(e.items)},onItemClick:function(e,t){this.getItemProp(t,"command",{originalEvent:e,item:t.item}),this.$emit("item-toggle",{processedItem:t,expanded:!this.isItemActive(t)})},onItemToggle:function(e){this.$emit("item-toggle",e)},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},getMenuItemProps:function(e,t){return{action:r.mergeProps({class:this.cx("action"),tabindex:-1,"aria-hidden":!0},this.getPTOptions("action",e,t)),icon:r.mergeProps({class:[this.cx("icon"),this.getItemProp(e,"icon")]},this.getPTOptions("icon",e,t)),label:r.mergeProps({class:this.cx("label")},this.getPTOptions("label",e,t)),submenuicon:r.mergeProps({class:this.cx("submenuIcon")},this.getPTOptions("submenuicon",e,t))}}},components:{ChevronRightIcon:l.default,ChevronDownIcon:c.default},directives:{ripple:u.default}},f=["tabindex"],I=["id","aria-label","aria-expanded","aria-level","aria-setsize","aria-posinset","data-p-focused","data-p-disabled"],g=["onClick"],v=["href","onClick"],b=["href","target"];function y(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function P(e,t){if(e){if("string"==typeof e)return k(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?k(e,t):void 0}}function k(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,i=new Array(t);n<t;n++)i[n]=e[n];return i}function x(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var i,o,s,r,a=[],c=!0,l=!1;try{if(s=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;c=!1}else for(;!(c=(i=s.call(n)).done)&&(a.push(i.value),a.length!==t);c=!0);}catch(e){l=!0,o=e}finally{try{if(!c&&null!=n.return&&(r=n.return(),Object(r)!==r))return}finally{if(l)throw o}}return a}}function E(e){if(Array.isArray(e))return e}h.render=function(e,t,n,i,o,s){var a=r.resolveComponent("router-link"),c=r.resolveComponent("PanelMenuSub",!0),l=r.resolveDirective("ripple");return r.openBlock(),r.createElementBlock("ul",{class:r.normalizeClass(e.cx("submenu")),tabindex:n.tabindex},[(r.openBlock(!0),r.createElementBlock(r.Fragment,null,r.renderList(n.items,(function(t,i){return r.openBlock(),r.createElementBlock(r.Fragment,{key:s.getItemKey(t)},[s.isItemVisible(t)&&!s.getItemProp(t,"separator")?(r.openBlock(),r.createElementBlock("li",r.mergeProps({key:0,id:s.getItemId(t),class:[e.cx("menuitem",{processedItem:t}),s.getItemProp(t,"class")],style:s.getItemProp(t,"style"),role:"treeitem","aria-label":s.getItemLabel(t),"aria-expanded":s.isItemGroup(t)?s.isItemActive(t):void 0,"aria-level":n.level+1,"aria-setsize":s.getAriaSetSize(),"aria-posinset":s.getAriaPosInset(i)},s.getPTOptions("menuitem",t,i),{"data-p-focused":s.isItemFocused(t),"data-p-disabled":s.isItemDisabled(t)}),[r.createElementVNode("div",r.mergeProps({class:e.cx("content"),onClick:function(e){return s.onItemClick(e,t)}},s.getPTOptions("content",t,i)),[n.templates.item?(r.openBlock(),r.createBlock(r.resolveDynamicComponent(n.templates.item),{key:1,item:t.item,hasSubmenu:s.isItemGroup(t),label:s.getItemLabel(t),props:s.getMenuItemProps(t,i)},null,8,["item","hasSubmenu","label","props"])):(r.openBlock(),r.createElementBlock(r.Fragment,{key:0},[s.getItemProp(t,"to")&&!s.isItemDisabled(t)?(r.openBlock(),r.createBlock(a,{key:0,to:s.getItemProp(t,"to"),custom:""},{default:r.withCtx((function(o){var a=o.navigate,c=o.href,m=o.isActive,u=o.isExactActive;return[r.withDirectives((r.openBlock(),r.createElementBlock("a",r.mergeProps({href:c,class:e.cx("action",{isActive:m,isExactActive:u}),tabindex:"-1","aria-hidden":"true",onClick:function(e){return s.onItemActionClick(e,a)}},s.getPTOptions("action",t,i)),[n.templates.itemicon?(r.openBlock(),r.createBlock(r.resolveDynamicComponent(n.templates.itemicon),{key:0,item:t.item,class:r.normalizeClass([e.cx("icon"),s.getItemProp(t,"icon")])},null,8,["item","class"])):s.getItemProp(t,"icon")?(r.openBlock(),r.createElementBlock("span",r.mergeProps({key:1,class:[e.cx("icon"),s.getItemProp(t,"icon")]},s.getPTOptions("icon",t,i)),null,16)):r.createCommentVNode("",!0),r.createElementVNode("span",r.mergeProps({class:e.cx("label")},s.getPTOptions("label",t,i)),r.toDisplayString(s.getItemLabel(t)),17)],16,v)),[[l]])]})),_:2},1032,["to"])):r.withDirectives((r.openBlock(),r.createElementBlock("a",r.mergeProps({key:1,href:s.getItemProp(t,"url"),class:e.cx("action"),target:s.getItemProp(t,"target"),tabindex:"-1","aria-hidden":"true"},s.getPTOptions("action",t,i)),[s.isItemGroup(t)?(r.openBlock(),r.createElementBlock(r.Fragment,{key:0},[n.templates.submenuicon?(r.openBlock(),r.createBlock(r.resolveDynamicComponent(n.templates.submenuicon),r.mergeProps({key:0,class:e.cx("submenuIcon"),active:s.isItemActive(t)},s.getPTOptions("submenuIcon",t,i)),null,16,["class","active"])):(r.openBlock(),r.createBlock(r.resolveDynamicComponent(s.isItemActive(t)?"ChevronDownIcon":"ChevronRightIcon"),r.mergeProps({key:1,class:e.cx("submenuIcon")},s.getPTOptions("submenuIcon",t,i)),null,16,["class"]))],64)):r.createCommentVNode("",!0),n.templates.itemicon?(r.openBlock(),r.createBlock(r.resolveDynamicComponent(n.templates.itemicon),{key:1,item:t.item,class:r.normalizeClass([e.cx("icon"),s.getItemProp(t,"icon")])},null,8,["item","class"])):s.getItemProp(t,"icon")?(r.openBlock(),r.createElementBlock("span",r.mergeProps({key:2,class:[e.cx("icon"),s.getItemProp(t,"icon")]},s.getPTOptions("icon",t,i)),null,16)):r.createCommentVNode("",!0),r.createElementVNode("span",r.mergeProps({class:e.cx("label")},s.getPTOptions("label",t,i)),r.toDisplayString(s.getItemLabel(t)),17)],16,b)),[[l]])],64))],16,g),r.createVNode(r.Transition,r.mergeProps({name:"p-toggleable-content"},e.ptm("transition")),{default:r.withCtx((function(){return[r.withDirectives(r.createElementVNode("div",r.mergeProps({class:e.cx("toggleableContent")},e.ptm("toggleableContent")),[s.isItemVisible(t)&&s.isItemGroup(t)?(r.openBlock(),r.createBlock(c,r.mergeProps({key:0,id:s.getItemId(t)+"_list",role:"group",panelId:n.panelId,focusedItemId:n.focusedItemId,items:t.items,level:n.level+1,templates:n.templates,activeItemPath:n.activeItemPath,exact:n.exact,onItemToggle:s.onItemToggle,pt:e.pt,unstyled:e.unstyled},e.ptm("submenu")),null,16,["id","panelId","focusedItemId","items","level","templates","activeItemPath","exact","onItemToggle","pt","unstyled"])):r.createCommentVNode("",!0)],16),[[r.vShow,s.isItemActive(t)]])]})),_:2},1040)],16,I)):r.createCommentVNode("",!0),s.isItemVisible(t)&&s.getItemProp(t,"separator")?(r.openBlock(),r.createElementBlock("li",r.mergeProps({key:1,style:s.getItemProp(t,"style"),class:[e.cx("separator"),s.getItemProp(t,"class")],role:"separator"},e.ptm("separator")),null,16)):r.createCommentVNode("",!0)],64)})),128))],10,f)};var C={name:"PanelMenuList",hostName:"PanelMenu",extends:m.default,emits:["item-toggle","header-focus"],props:{panelId:{type:String,default:null},items:{type:Array,default:null},templates:{type:Object,default:null},expandedKeys:{type:Object,default:null},exact:{type:Boolean,default:!0}},searchTimeout:null,searchValue:null,data:function(){return{focused:!1,focusedItem:null,activeItemPath:[]}},watch:{expandedKeys:function(e){this.autoUpdateActiveItemPath(e)}},mounted:function(){this.autoUpdateActiveItemPath(this.expandedKeys)},methods:{getItemProp:function(e,t){return e&&e.item?n.ObjectUtils.getItemValue(e.item[t]):void 0},getItemLabel:function(e){return this.getItemProp(e,"label")},isItemVisible:function(e){return!1!==this.getItemProp(e,"visible")},isItemDisabled:function(e){return this.getItemProp(e,"disabled")},isItemActive:function(e){return this.activeItemPath.some((function(t){return t.key===e.parentKey}))},isItemGroup:function(e){return n.ObjectUtils.isNotEmpty(e.items)},onFocus:function(e){this.focused=!0,this.focusedItem=this.focusedItem||(this.isElementInPanel(e,e.relatedTarget)?this.findFirstItem():this.findLastItem())},onBlur:function(){this.focused=!1,this.focusedItem=null,this.searchValue=""},onKeyDown:function(e){var t=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":this.onEnterKey(e);break;case"Escape":case"Tab":case"PageDown":case"PageUp":case"Backspace":case"ShiftLeft":case"ShiftRight":break;default:!t&&n.ObjectUtils.isPrintableCharacter(e.key)&&this.searchItems(e,e.key)}},onArrowDownKey:function(e){var t=n.ObjectUtils.isNotEmpty(this.focusedItem)?this.findNextItem(this.focusedItem):this.findFirstItem();this.changeFocusedItem({originalEvent:e,processedItem:t,focusOnNext:!0}),e.preventDefault()},onArrowUpKey:function(e){var t=n.ObjectUtils.isNotEmpty(this.focusedItem)?this.findPrevItem(this.focusedItem):this.findLastItem();this.changeFocusedItem({originalEvent:e,processedItem:t,selfCheck:!0}),e.preventDefault()},onArrowLeftKey:function(e){var t=this;n.ObjectUtils.isNotEmpty(this.focusedItem)&&(this.activeItemPath.some((function(e){return e.key===t.focusedItem.key}))?this.activeItemPath=this.activeItemPath.filter((function(e){return e.key!==t.focusedItem.key})):this.focusedItem=n.ObjectUtils.isNotEmpty(this.focusedItem.parent)?this.focusedItem.parent:this.focusedItem,e.preventDefault())},onArrowRightKey:function(e){var t=this;if(n.ObjectUtils.isNotEmpty(this.focusedItem)){if(this.isItemGroup(this.focusedItem))this.activeItemPath.some((function(e){return e.key===t.focusedItem.key}))?this.onArrowDownKey(e):(this.activeItemPath=this.activeItemPath.filter((function(e){return e.parentKey!==t.focusedItem.parentKey})),this.activeItemPath.push(this.focusedItem));e.preventDefault()}},onHomeKey:function(e){this.changeFocusedItem({originalEvent:e,processedItem:this.findFirstItem(),allowHeaderFocus:!1}),e.preventDefault()},onEndKey:function(e){this.changeFocusedItem({originalEvent:e,processedItem:this.findLastItem(),focusOnNext:!0,allowHeaderFocus:!1}),e.preventDefault()},onEnterKey:function(e){if(n.ObjectUtils.isNotEmpty(this.focusedItem)){var t=n.DomHandler.findSingle(this.$el,'li[id="'.concat("".concat(this.focusedItemId),'"]')),i=t&&(n.DomHandler.findSingle(t,'[data-pc-section="action"]')||n.DomHandler.findSingle(t,"a,button"));i?i.click():t&&t.click()}e.preventDefault()},onSpaceKey:function(e){this.onEnterKey(e)},onItemToggle:function(e){var t=e.processedItem,i=e.expanded;this.expandedKeys?this.$emit("item-toggle",{item:t.item,expanded:i}):(this.activeItemPath=this.activeItemPath.filter((function(e){return e.parentKey!==t.parentKey})),i&&this.activeItemPath.push(t)),this.focusedItem=t,n.DomHandler.focus(this.$el)},isElementInPanel:function(e,t){var n=e.currentTarget.closest('[data-pc-section="panel"]');return n&&n.contains(t)},isItemMatched:function(e){return this.isValidItem(e)&&this.getItemLabel(e).toLocaleLowerCase(this.searchLocale).startsWith(this.searchValue.toLocaleLowerCase(this.searchLocale))},isVisibleItem:function(e){return!!e&&(0===e.level||this.isItemActive(e))&&this.isItemVisible(e)},isValidItem:function(e){return!!e&&!this.isItemDisabled(e)},findFirstItem:function(){var e=this;return this.visibleItems.find((function(t){return e.isValidItem(t)}))},findLastItem:function(){var e=this;return n.ObjectUtils.findLast(this.visibleItems,(function(t){return e.isValidItem(t)}))},findNextItem:function(e){var t=this,n=this.visibleItems.findIndex((function(t){return t.key===e.key}));return(n<this.visibleItems.length-1?this.visibleItems.slice(n+1).find((function(e){return t.isValidItem(e)})):void 0)||e},findPrevItem:function(e){var t=this,i=this.visibleItems.findIndex((function(t){return t.key===e.key}));return(i>0?n.ObjectUtils.findLast(this.visibleItems.slice(0,i),(function(e){return t.isValidItem(e)})):void 0)||e},searchItems:function(e,t){var i=this;this.searchValue=(this.searchValue||"")+t;var o=null,s=!1;if(n.ObjectUtils.isNotEmpty(this.focusedItem)){var r=this.visibleItems.findIndex((function(e){return e.key===i.focusedItem.key}));o=this.visibleItems.slice(r).find((function(e){return i.isItemMatched(e)})),o=n.ObjectUtils.isEmpty(o)?this.visibleItems.slice(0,r).find((function(e){return i.isItemMatched(e)})):o}else o=this.visibleItems.find((function(e){return i.isItemMatched(e)}));return n.ObjectUtils.isNotEmpty(o)&&(s=!0),n.ObjectUtils.isEmpty(o)&&n.ObjectUtils.isEmpty(this.focusedItem)&&(o=this.findFirstItem()),n.ObjectUtils.isNotEmpty(o)&&this.changeFocusedItem({originalEvent:e,processedItem:o,allowHeaderFocus:!1}),this.searchTimeout&&clearTimeout(this.searchTimeout),this.searchTimeout=setTimeout((function(){i.searchValue="",i.searchTimeout=null}),500),s},changeFocusedItem:function(e){var t=e.originalEvent,i=e.processedItem,o=e.focusOnNext,s=e.selfCheck,r=e.allowHeaderFocus,a=void 0===r||r;n.ObjectUtils.isNotEmpty(this.focusedItem)&&this.focusedItem.key!==i.key?(this.focusedItem=i,this.scrollInView()):a&&this.$emit("header-focus",{originalEvent:t,focusOnNext:o,selfCheck:s})},scrollInView:function(){var e=n.DomHandler.findSingle(this.$el,'li[id="'.concat("".concat(this.focusedItemId),'"]'));e&&e.scrollIntoView&&e.scrollIntoView({block:"nearest",inline:"start"})},autoUpdateActiveItemPath:function(e){var t=this;this.activeItemPath=Object.entries(e||{}).reduce((function(e,n){var i,o,s=(o=2,E(i=n)||x(i,o)||P(i,o)||y());if(s[1]){var r=t.findProcessedItemByItemKey(s[0]);r&&e.push(r)}return e}),[])},findProcessedItemByItemKey:function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0;if(!(t=t||0===n&&this.processedItems))return null;for(var i=0;i<t.length;i++){var o=t[i];if(this.getItemProp(o,"key")===e)return o;var s=this.findProcessedItemByItemKey(e,o.items,n+1);if(s)return s}},createProcessedItems:function(e){var t=this,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},o=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"",s=[];return e&&e.forEach((function(e,r){var a=(""!==o?o+"_":"")+r,c={item:e,index:r,level:n,key:a,parent:i,parentKey:o};c.items=t.createProcessedItems(e.items,n+1,c,a),s.push(c)})),s},flatItems:function(e){var t=this,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];return e&&e.forEach((function(e){t.isVisibleItem(e)&&(n.push(e),t.flatItems(e.items,n))})),n}},computed:{processedItems:function(){return this.createProcessedItems(this.items||[])},visibleItems:function(){return this.flatItems(this.processedItems)},focusedItemId:function(){return n.ObjectUtils.isNotEmpty(this.focusedItem)?"".concat(this.panelId,"_").concat(this.focusedItem.key):null}},components:{PanelMenuSub:h}};function O(e){return O="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},O(e)}function D(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);t&&(i=i.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,i)}return n}function w(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?D(Object(n),!0).forEach((function(t){A(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):D(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function A(e,t,n){return(t=B(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function B(e){var t=H(e,"string");return"symbol"===O(t)?t:String(t)}function H(e,t){if("object"!==O(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var i=n.call(e,t||"default");if("object"!==O(i))return i;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}C.render=function(e,t,n,i,o,s){var a=r.resolveComponent("PanelMenuSub");return r.openBlock(),r.createBlock(a,r.mergeProps({id:n.panelId+"_list",class:e.cx("menu"),role:"tree",tabindex:-1,"aria-activedescendant":o.focused?s.focusedItemId:void 0,panelId:n.panelId,focusedItemId:o.focused?s.focusedItemId:void 0,items:s.processedItems,templates:n.templates,activeItemPath:o.activeItemPath,exact:n.exact,onFocus:s.onFocus,onBlur:s.onBlur,onKeydown:s.onKeyDown,onItemToggle:s.onItemToggle,pt:e.pt,unstyled:e.unstyled},e.ptm("menu")),null,16,["id","class","aria-activedescendant","panelId","focusedItemId","items","templates","activeItemPath","exact","onFocus","onBlur","onKeydown","onItemToggle","pt","unstyled"])};var K={name:"PanelMenu",extends:p,emits:["update:expandedKeys","panel-open","panel-close"],data:function(){return{id:this.$attrs.id,activeItem:null}},watch:{"$attrs.id":function(e){this.id=e||n.UniqueComponentId()}},beforeMount:function(){this.$slots.item||console.warn("In future versions, vue-router support will be removed. Item templating should be used.")},mounted:function(){this.id=this.id||n.UniqueComponentId()},methods:{getItemProp:function(e,t){return e?n.ObjectUtils.getItemValue(e[t]):void 0},getItemLabel:function(e){return this.getItemProp(e,"label")},getPTOptions:function(e,t,n){return this.ptm(e,{context:{index:n,active:this.isItemActive(t),focused:this.isItemFocused(t)}})},isItemActive:function(e){return this.expandedKeys?this.expandedKeys[this.getItemProp(e,"key")]:n.ObjectUtils.equals(e,this.activeItem)},isItemVisible:function(e){return!1!==this.getItemProp(e,"visible")},isItemDisabled:function(e){return this.getItemProp(e,"disabled")},isItemFocused:function(e){return n.ObjectUtils.equals(e,this.activeItem)},getPanelId:function(e){return"".concat(this.id,"_").concat(e)},getPanelKey:function(e){return this.getPanelId(e)},getHeaderId:function(e){return"".concat(this.getPanelId(e),"_header")},getContentId:function(e){return"".concat(this.getPanelId(e),"_content")},onHeaderClick:function(e,t){this.isItemDisabled(t)?e.preventDefault():(t.command&&t.command({originalEvent:e,item:t}),this.changeActiveItem(e,t),n.DomHandler.focus(e.currentTarget))},onHeaderKeyDown:function(e,t){switch(e.code){case"ArrowDown":this.onHeaderArrowDownKey(e);break;case"ArrowUp":this.onHeaderArrowUpKey(e);break;case"Home":this.onHeaderHomeKey(e);break;case"End":this.onHeaderEndKey(e);break;case"Enter":case"Space":this.onHeaderEnterKey(e,t)}},onHeaderArrowDownKey:function(e){var t=!0===n.DomHandler.getAttribute(e.currentTarget,"data-p-highlight")?n.DomHandler.findSingle(e.currentTarget.nextElementSibling,'[data-pc-section="menu"]'):null;t?n.DomHandler.focus(t):this.updateFocusedHeader({originalEvent:e,focusOnNext:!0}),e.preventDefault()},onHeaderArrowUpKey:function(e){var t=this.findPrevHeader(e.currentTarget.parentElement)||this.findLastHeader(),i=!0===n.DomHandler.getAttribute(t,"data-p-highlight")?n.DomHandler.findSingle(t.nextElementSibling,'[data-pc-section="menu"]'):null;i?n.DomHandler.focus(i):this.updateFocusedHeader({originalEvent:e,focusOnNext:!1}),e.preventDefault()},onHeaderHomeKey:function(e){this.changeFocusedHeader(e,this.findFirstHeader()),e.preventDefault()},onHeaderEndKey:function(e){this.changeFocusedHeader(e,this.findLastHeader()),e.preventDefault()},onHeaderEnterKey:function(e,t){var i=n.DomHandler.findSingle(e.currentTarget,'[data-pc-section="headeraction"]');i?i.click():this.onHeaderClick(e,t),e.preventDefault()},onHeaderActionClick:function(e,t){t&&t(e)},findNextHeader:function(e){var t=n.DomHandler.findSingle(arguments.length>1&&void 0!==arguments[1]&&arguments[1]?e:e.nextElementSibling,'[data-pc-section="header"]');return t?n.DomHandler.getAttribute(t,"data-p-disabled")?this.findNextHeader(t.parentElement):t:null},findPrevHeader:function(e){var t=n.DomHandler.findSingle(arguments.length>1&&void 0!==arguments[1]&&arguments[1]?e:e.previousElementSibling,'[data-pc-section="header"]');return t?n.DomHandler.getAttribute(t,"data-p-disabled")?this.findPrevHeader(t.parentElement):t:null},findFirstHeader:function(){return this.findNextHeader(this.$el.firstElementChild,!0)},findLastHeader:function(){return this.findPrevHeader(this.$el.lastElementChild,!0)},updateFocusedHeader:function(e){var t=e.originalEvent,i=e.focusOnNext,o=e.selfCheck,s=t.currentTarget.closest('[data-pc-section="panel"]'),r=o?n.DomHandler.findSingle(s,'[data-pc-section="header"]'):i?this.findNextHeader(s):this.findPrevHeader(s);r?this.changeFocusedHeader(t,r):i?this.onHeaderHomeKey(t):this.onHeaderEndKey(t)},changeActiveItem:function(e,t){var i=arguments.length>2&&void 0!==arguments[2]&&arguments[2];if(!this.isItemDisabled(t)){var o=this.isItemActive(t),s=o?"panel-close":"panel-open";this.activeItem=i?t:this.activeItem&&n.ObjectUtils.equals(t,this.activeItem)?null:t,this.changeExpandedKeys({item:t,expanded:!o}),this.$emit(s,{originalEvent:e,item:t})}},changeExpandedKeys:function(e){var t=e.item,n=e.expanded,i=void 0!==n&&n;if(this.expandedKeys){var o=w({},this.expandedKeys);i?o[t.key]=!0:delete o[t.key],this.$emit("update:expandedKeys",o)}},changeFocusedHeader:function(e,t){t&&n.DomHandler.focus(t)}},components:{PanelMenuList:C,ChevronRightIcon:l.default,ChevronDownIcon:c.default}},S=["id"],N=["id","tabindex","aria-label","aria-expanded","aria-controls","aria-disabled","onClick","onKeydown","data-p-highlight","data-p-disabled"],V=["href","onClick"],T=["href"],j=["id","aria-labelledby"];return K.render=function(e,t,n,i,o,s){var a=r.resolveComponent("router-link"),c=r.resolveComponent("PanelMenuList");return r.openBlock(),r.createElementBlock("div",r.mergeProps({id:o.id,class:e.cx("root")},e.ptm("root"),{"data-pc-name":"panelmenu"}),[(r.openBlock(!0),r.createElementBlock(r.Fragment,null,r.renderList(e.model,(function(t,n){return r.openBlock(),r.createElementBlock(r.Fragment,{key:s.getPanelKey(n)},[s.isItemVisible(t)?(r.openBlock(),r.createElementBlock("div",r.mergeProps({key:0,style:s.getItemProp(t,"style"),class:[e.cx("panel"),s.getItemProp(t,"class")]},e.ptm("panel")),[r.createElementVNode("div",r.mergeProps({id:s.getHeaderId(n),class:[e.cx("header",{item:t}),s.getItemProp(t,"headerClass")],tabindex:s.isItemDisabled(t)?-1:e.tabindex,role:"button","aria-label":s.getItemLabel(t),"aria-expanded":s.isItemActive(t),"aria-controls":s.getContentId(n),"aria-disabled":s.isItemDisabled(t),onClick:function(e){return s.onHeaderClick(e,t)},onKeydown:function(e){return s.onHeaderKeyDown(e,t)}},s.getPTOptions("header",t,n),{"data-p-highlight":s.isItemActive(t),"data-p-disabled":s.isItemDisabled(t)}),[r.createElementVNode("div",r.mergeProps({class:e.cx("headerContent")},s.getPTOptions("headerContent",t,n)),[e.$slots.item?(r.openBlock(),r.createBlock(r.resolveDynamicComponent(e.$slots.item),{key:1,item:t},null,8,["item"])):(r.openBlock(),r.createElementBlock(r.Fragment,{key:0},[s.getItemProp(t,"to")&&!s.isItemDisabled(t)?(r.openBlock(),r.createBlock(a,{key:0,to:s.getItemProp(t,"to"),custom:""},{default:r.withCtx((function(i){var o=i.navigate;return[r.createElementVNode("a",r.mergeProps({href:i.href,class:e.cx("headerAction",{isActive:i.isActive,isExactActive:i.isExactActive}),tabindex:-1,onClick:function(e){return s.onHeaderActionClick(e,o)}},s.getPTOptions("headerAction",t,n)),[e.$slots.headericon?(r.openBlock(),r.createBlock(r.resolveDynamicComponent(e.$slots.headericon),{key:0,item:t,class:r.normalizeClass([e.cx("headerIcon"),s.getItemProp(t,"icon")])},null,8,["item","class"])):s.getItemProp(t,"icon")?(r.openBlock(),r.createElementBlock("span",r.mergeProps({key:1,class:[e.cx("headerIcon"),s.getItemProp(t,"icon")]},s.getPTOptions("headerIcon",t,n)),null,16)):r.createCommentVNode("",!0),r.createElementVNode("span",r.mergeProps({class:e.cx("headerLabel")},s.getPTOptions("headerLabel",t,n)),r.toDisplayString(s.getItemLabel(t)),17)],16,V)]})),_:2},1032,["to"])):(r.openBlock(),r.createElementBlock("a",r.mergeProps({key:1,href:s.getItemProp(t,"url"),class:e.cx("headerAction"),tabindex:-1},s.getPTOptions("headerAction",t,n)),[s.getItemProp(t,"items")?r.renderSlot(e.$slots,"submenuicon",{key:0,active:s.isItemActive(t)},(function(){return[(r.openBlock(),r.createBlock(r.resolveDynamicComponent(s.isItemActive(t)?"ChevronDownIcon":"ChevronRightIcon"),r.mergeProps({class:e.cx("submenuIcon")},s.getPTOptions("submenuIcon",t,n)),null,16,["class"]))]})):r.createCommentVNode("",!0),e.$slots.headericon?(r.openBlock(),r.createBlock(r.resolveDynamicComponent(e.$slots.headericon),{key:1,item:t,class:r.normalizeClass([e.cx("headerIcon"),s.getItemProp(t,"icon")])},null,8,["item","class"])):s.getItemProp(t,"icon")?(r.openBlock(),r.createElementBlock("span",r.mergeProps({key:2,class:[e.cx("headerIcon"),s.getItemProp(t,"icon")]},s.getPTOptions("headerIcon",t,n)),null,16)):r.createCommentVNode("",!0),r.createElementVNode("span",r.mergeProps({class:e.cx("headerLabel")},s.getPTOptions("headerLabel",t,n)),r.toDisplayString(s.getItemLabel(t)),17)],16,T))],64))],16)],16,N),r.createVNode(r.Transition,r.mergeProps({name:"p-toggleable-content"},e.ptm("transition")),{default:r.withCtx((function(){return[r.withDirectives(r.createElementVNode("div",r.mergeProps({id:s.getContentId(n),class:e.cx("toggleableContent"),role:"region","aria-labelledby":s.getHeaderId(n)},e.ptm("toggleableContent")),[s.getItemProp(t,"items")?(r.openBlock(),r.createElementBlock("div",r.mergeProps({key:0,class:e.cx("menuContent")},e.ptm("menuContent")),[r.createVNode(c,{panelId:s.getPanelId(n),items:s.getItemProp(t,"items"),templates:e.$slots,expandedKeys:e.expandedKeys,onItemToggle:s.changeExpandedKeys,onHeaderFocus:s.updateFocusedHeader,exact:e.exact,pt:e.pt,unstyled:e.unstyled},null,8,["panelId","items","templates","expandedKeys","onItemToggle","onHeaderFocus","exact","pt","unstyled"])],16)):r.createCommentVNode("",!0)],16,j),[[r.vShow,s.isItemActive(t)]])]})),_:2},1040)],16)):r.createCommentVNode("",!0)],64)})),128))],16,S)},K}(primevue.icons.chevrondown,primevue.icons.chevronright,primevue.utils,primevue.basecomponent,primevue.usestyle,primevue.ripple,Vue);