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.1 kB
import e from"primevue/icons/chevrondown";import t from"primevue/icons/chevronright";import{ObjectUtils as i,DomHandler as n,UniqueComponentId as s}from"primevue/utils";import{mergeProps as r,resolveComponent as a,resolveDirective as o,openBlock as c,createElementBlock as l,normalizeClass as u,Fragment as d,renderList as m,createElementVNode as h,withDirectives as p,createBlock as f,resolveDynamicComponent as I,createCommentVNode as g,toDisplayString as v,createVNode as y,Transition as b,withCtx as P,vShow as x,renderSlot as k}from"vue";import K from"primevue/basecomponent";import w from"primevue/panelmenu/style";import E from"primevue/ripple";var A={name:"BasePanelMenu",extends:K,props:{model:{type:Array,default:null},expandedKeys:{type:Object,default:null},multiple:{type:Boolean,default:!1},tabindex:{type:Number,default:0}},style:w,provide:function(){return{$parentInstance:this}}},O={name:"PanelMenuSub",hostName:"PanelMenu",extends:K,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},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,n){return e&&e.item?i.getItemValue(e.item[t],n):void 0},getItemLabel:function(e){return this.getItemProp(e,"label")},getPTOptions:function(e,t,i){return this.ptm(e,{context:{item:t,index:i,active:this.isItemActive(t),focused:this.isItemFocused(t),disabled:this.isItemDisabled(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 i.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)},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({class:this.cx("action"),tabindex:-1,"aria-hidden":!0},this.getPTOptions("action",e,t)),icon:r({class:[this.cx("icon"),this.getItemProp(e,"icon")]},this.getPTOptions("icon",e,t)),label:r({class:this.cx("label")},this.getPTOptions("label",e,t)),submenuicon:r({class:this.cx("submenuIcon")},this.getPTOptions("submenuicon",e,t))}}},components:{ChevronRightIcon:t,ChevronDownIcon:e},directives:{ripple:E}},H=["tabindex"],S=["id","aria-label","aria-expanded","aria-level","aria-setsize","aria-posinset","data-p-focused","data-p-disabled"],T=["onClick"],D=["href","target"];function C(){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 F(e,t){if(e){if("string"==typeof e)return L(e,t);var i=Object.prototype.toString.call(e).slice(8,-1);return"Object"===i&&e.constructor&&(i=e.constructor.name),"Map"===i||"Set"===i?Array.from(e):"Arguments"===i||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(i)?L(e,t):void 0}}function L(e,t){(null==t||t>e.length)&&(t=e.length);for(var i=0,n=new Array(t);i<t;i++)n[i]=e[i];return n}function N(e,t){var i=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=i){var n,s,r,a,o=[],c=!0,l=!1;try{if(r=(i=i.call(e)).next,0===t){if(Object(i)!==i)return;c=!1}else for(;!(c=(n=r.call(i)).done)&&(o.push(n.value),o.length!==t);c=!0);}catch(e){l=!0,s=e}finally{try{if(!c&&null!=i.return&&(a=i.return(),Object(a)!==a))return}finally{if(l)throw s}}return o}}function V(e){if(Array.isArray(e))return e}O.render=function(e,t,i,n,s,k){var K=a("PanelMenuSub",!0),w=o("ripple");return c(),l("ul",{class:u(e.cx("submenu")),tabindex:i.tabindex},[(c(!0),l(d,null,m(i.items,(function(t,n){return c(),l(d,{key:k.getItemKey(t)},[k.isItemVisible(t)&&!k.getItemProp(t,"separator")?(c(),l("li",r({key:0,id:k.getItemId(t),class:[e.cx("menuitem",{processedItem:t}),k.getItemProp(t,"class")],style:k.getItemProp(t,"style"),role:"treeitem","aria-label":k.getItemLabel(t),"aria-expanded":k.isItemGroup(t)?k.isItemActive(t):void 0,"aria-level":i.level+1,"aria-setsize":k.getAriaSetSize(),"aria-posinset":k.getAriaPosInset(n)},k.getPTOptions("menuitem",t,n),{"data-p-focused":k.isItemFocused(t),"data-p-disabled":k.isItemDisabled(t)}),[h("div",r({class:e.cx("content"),onClick:function(e){return k.onItemClick(e,t)}},k.getPTOptions("content",t,n)),[i.templates.item?(c(),f(I(i.templates.item),{key:1,item:t.item,root:!1,active:k.isItemActive(t),hasSubmenu:k.isItemGroup(t),label:k.getItemLabel(t),props:k.getMenuItemProps(t,n)},null,8,["item","active","hasSubmenu","label","props"])):p((c(),l("a",r({key:0,href:k.getItemProp(t,"url"),class:e.cx("action"),target:k.getItemProp(t,"target"),tabindex:"-1","aria-hidden":"true"},k.getPTOptions("action",t,n)),[k.isItemGroup(t)?(c(),l(d,{key:0},[i.templates.submenuicon?(c(),f(I(i.templates.submenuicon),r({key:0,class:e.cx("submenuIcon"),active:k.isItemActive(t)},k.getPTOptions("submenuIcon",t,n)),null,16,["class","active"])):(c(),f(I(k.isItemActive(t)?"ChevronDownIcon":"ChevronRightIcon"),r({key:1,class:e.cx("submenuIcon")},k.getPTOptions("submenuIcon",t,n)),null,16,["class"]))],64)):g("",!0),i.templates.itemicon?(c(),f(I(i.templates.itemicon),{key:1,item:t.item,class:u([e.cx("icon"),k.getItemProp(t,"icon")])},null,8,["item","class"])):k.getItemProp(t,"icon")?(c(),l("span",r({key:2,class:[e.cx("icon"),k.getItemProp(t,"icon")]},k.getPTOptions("icon",t,n)),null,16)):g("",!0),h("span",r({class:e.cx("label")},k.getPTOptions("label",t,n)),v(k.getItemLabel(t)),17)],16,D)),[[w]])],16,T),y(b,r({name:"p-toggleable-content"},e.ptm("transition")),{default:P((function(){return[p(h("div",r({class:e.cx("toggleableContent")},e.ptm("toggleableContent")),[k.isItemVisible(t)&&k.isItemGroup(t)?(c(),f(K,r({key:0,id:k.getItemId(t)+"_list",role:"group",panelId:i.panelId,focusedItemId:i.focusedItemId,items:t.items,level:i.level+1,templates:i.templates,activeItemPath:i.activeItemPath,onItemToggle:k.onItemToggle,pt:e.pt,unstyled:e.unstyled},e.ptm("submenu")),null,16,["id","panelId","focusedItemId","items","level","templates","activeItemPath","onItemToggle","pt","unstyled"])):g("",!0)],16),[[x,k.isItemActive(t)]])]})),_:2},1040)],16,S)):g("",!0),k.isItemVisible(t)&&k.getItemProp(t,"separator")?(c(),l("li",r({key:1,style:k.getItemProp(t,"style"),class:[e.cx("separator"),k.getItemProp(t,"class")],role:"separator"},e.ptm("separator")),null,16)):g("",!0)],64)})),128))],10,H)};var j={name:"PanelMenuList",hostName:"PanelMenu",extends:K,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}},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?i.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 i.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":case"NumpadEnter":this.onEnterKey(e);break;case"Escape":case"Tab":case"PageDown":case"PageUp":case"Backspace":case"ShiftLeft":case"ShiftRight":break;default:!t&&i.isPrintableCharacter(e.key)&&this.searchItems(e,e.key)}},onArrowDownKey:function(e){var t=i.isNotEmpty(this.focusedItem)?this.findNextItem(this.focusedItem):this.findFirstItem();this.changeFocusedItem({originalEvent:e,processedItem:t,focusOnNext:!0}),e.preventDefault()},onArrowUpKey:function(e){var t=i.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;i.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=i.isNotEmpty(this.focusedItem.parent)?this.focusedItem.parent:this.focusedItem,e.preventDefault())},onArrowRightKey:function(e){var t=this;if(i.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(i.isNotEmpty(this.focusedItem)){var t=n.findSingle(this.$el,'li[id="'.concat("".concat(this.focusedItemId),'"]')),s=t&&(n.findSingle(t,'[data-pc-section="action"]')||n.findSingle(t,"a,button"));s?s.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.focus(this.$el)},isElementInPanel:function(e,t){var i=e.currentTarget.closest('[data-pc-section="panel"]');return i&&i.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)&&!this.getItemProp(e,"separator")},findFirstItem:function(){var e=this;return this.visibleItems.find((function(t){return e.isValidItem(t)}))},findLastItem:function(){var e=this;return i.findLast(this.visibleItems,(function(t){return e.isValidItem(t)}))},findNextItem:function(e){var t=this,i=this.visibleItems.findIndex((function(t){return t.key===e.key}));return(i<this.visibleItems.length-1?this.visibleItems.slice(i+1).find((function(e){return t.isValidItem(e)})):void 0)||e},findPrevItem:function(e){var t=this,n=this.visibleItems.findIndex((function(t){return t.key===e.key}));return(n>0?i.findLast(this.visibleItems.slice(0,n),(function(e){return t.isValidItem(e)})):void 0)||e},searchItems:function(e,t){var n=this;this.searchValue=(this.searchValue||"")+t;var s=null,r=!1;if(i.isNotEmpty(this.focusedItem)){var a=this.visibleItems.findIndex((function(e){return e.key===n.focusedItem.key}));s=this.visibleItems.slice(a).find((function(e){return n.isItemMatched(e)})),s=i.isEmpty(s)?this.visibleItems.slice(0,a).find((function(e){return n.isItemMatched(e)})):s}else s=this.visibleItems.find((function(e){return n.isItemMatched(e)}));return i.isNotEmpty(s)&&(r=!0),i.isEmpty(s)&&i.isEmpty(this.focusedItem)&&(s=this.findFirstItem()),i.isNotEmpty(s)&&this.changeFocusedItem({originalEvent:e,processedItem:s,allowHeaderFocus:!1}),this.searchTimeout&&clearTimeout(this.searchTimeout),this.searchTimeout=setTimeout((function(){n.searchValue="",n.searchTimeout=null}),500),r},changeFocusedItem:function(e){var t=e.originalEvent,n=e.processedItem,s=e.focusOnNext,r=e.selfCheck,a=e.allowHeaderFocus,o=void 0===a||a;i.isNotEmpty(this.focusedItem)&&this.focusedItem.key!==n.key?(this.focusedItem=n,this.scrollInView()):o&&this.$emit("header-focus",{originalEvent:t,focusOnNext:s,selfCheck:r})},scrollInView:function(){var e=n.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,i){var n,s,r=(s=2,V(n=i)||N(n,s)||F(n,s)||C());if(r[1]){var a=t.findProcessedItemByItemKey(r[0]);a&&e.push(a)}return e}),[])},findProcessedItemByItemKey:function(e,t){var i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0;if(!(t=t||0===i&&this.processedItems))return null;for(var n=0;n<t.length;n++){var s=t[n];if(this.getItemProp(s,"key")===e)return s;var r=this.findProcessedItemByItemKey(e,s.items,i+1);if(r)return r}},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]:"",r=[];return e&&e.forEach((function(e,a){var o=(""!==s?s+"_":"")+a,c={item:e,index:a,level:i,key:o,parent:n,parentKey:s};c.items=t.createProcessedItems(e.items,i+1,c,o),r.push(c)})),r},flatItems:function(e){var t=this,i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];return e&&e.forEach((function(e){t.isVisibleItem(e)&&(i.push(e),t.flatItems(e.items,i))})),i}},computed:{processedItems:function(){return this.createProcessedItems(this.items||[])},visibleItems:function(){return this.flatItems(this.processedItems)},focusedItemId:function(){return i.isNotEmpty(this.focusedItem)?"".concat(this.panelId,"_").concat(this.focusedItem.key):null}},components:{PanelMenuSub:O}};function $(e){return $="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},$(e)}function M(e,t){var i=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),i.push.apply(i,n)}return i}function U(e){for(var t=1;t<arguments.length;t++){var i=null!=arguments[t]?arguments[t]:{};t%2?M(Object(i),!0).forEach((function(t){B(e,t,i[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(i)):M(Object(i)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(i,t))}))}return e}function B(e,t,i){var n;return(t="symbol"==$(n=_(t,"string"))?n:String(n))in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e}function _(e,t){if("object"!=$(e)||!e)return e;var i=e[Symbol.toPrimitive];if(void 0!==i){var n=i.call(e,t||"default");if("object"!=$(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}j.render=function(e,t,i,n,s,o){var l=a("PanelMenuSub");return c(),f(l,r({id:i.panelId+"_list",class:e.cx("menu"),role:"tree",tabindex:-1,"aria-activedescendant":s.focused?o.focusedItemId:void 0,panelId:i.panelId,focusedItemId:s.focused?o.focusedItemId:void 0,items:o.processedItems,templates:i.templates,activeItemPath:s.activeItemPath,onFocus:o.onFocus,onBlur:o.onBlur,onKeydown:o.onKeyDown,onItemToggle:o.onItemToggle,pt:e.pt,unstyled:e.unstyled},e.ptm("menu")),null,16,["id","class","aria-activedescendant","panelId","focusedItemId","items","templates","activeItemPath","onFocus","onBlur","onKeydown","onItemToggle","pt","unstyled"])};var R={name:"PanelMenu",extends:A,emits:["update:expandedKeys","panel-open","panel-close"],data:function(){return{id:this.$attrs.id,activeItem:null,activeItems:[]}},watch:{"$attrs.id":function(e){this.id=e||s()}},mounted:function(){this.id=this.id||s()},methods:{getItemProp:function(e,t){return e?i.getItemValue(e[t]):void 0},getItemLabel:function(e){return this.getItemProp(e,"label")},getPTOptions:function(e,t,i){return this.ptm(e,{context:{index:i,active:this.isItemActive(t),focused:this.isItemFocused(t),disabled:this.isItemDisabled(t)}})},isItemActive:function(e){return this.expandedKeys?this.expandedKeys[this.getItemProp(e,"key")]:this.multiple?this.activeItems.some((function(t){return i.equals(e,t)})):i.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 i.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.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"NumpadEnter":case"Space":this.onHeaderEnterKey(e,t)}},onHeaderArrowDownKey:function(e){var t=!0===n.getAttribute(e.currentTarget,"data-p-highlight")?n.findSingle(e.currentTarget.nextElementSibling,'[data-pc-section="menu"]'):null;t?n.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.getAttribute(t,"data-p-highlight")?n.findSingle(t.nextElementSibling,'[data-pc-section="menu"]'):null;i?n.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.findSingle(e.currentTarget,'[data-pc-section="headeraction"]');i?i.click():this.onHeaderClick(e,t),e.preventDefault()},findNextHeader:function(e){var t=n.findSingle(arguments.length>1&&void 0!==arguments[1]&&arguments[1]?e:e.nextElementSibling,'[data-pc-section="header"]');return t?n.getAttribute(t,"data-p-disabled")?this.findNextHeader(t.parentElement):t:null},findPrevHeader:function(e){var t=n.findSingle(arguments.length>1&&void 0!==arguments[1]&&arguments[1]?e:e.previousElementSibling,'[data-pc-section="header"]');return t?n.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,s=e.selfCheck,r=t.currentTarget.closest('[data-pc-section="panel"]'),a=s?n.findSingle(r,'[data-pc-section="header"]'):i?this.findNextHeader(r):this.findPrevHeader(r);a?this.changeFocusedHeader(t,a):i?this.onHeaderHomeKey(t):this.onHeaderEndKey(t)},changeActiveItem:function(e,t){var n=arguments.length>2&&void 0!==arguments[2]&&arguments[2];if(!this.isItemDisabled(t)){var s=this.isItemActive(t),r=s?"panel-close":"panel-open";this.activeItem=n?t:this.activeItem&&i.equals(t,this.activeItem)?null:t,this.multiple&&(this.activeItems.some((function(e){return i.equals(t,e)}))?this.activeItems=this.activeItems.filter((function(e){return!i.equals(t,e)})):this.activeItems.push(t)),this.changeExpandedKeys({item:t,expanded:!s}),this.$emit(r,{originalEvent:e,item:t})}},changeExpandedKeys:function(e){var t=e.item,i=e.expanded,n=void 0!==i&&i;if(this.expandedKeys){var s=U({},this.expandedKeys);n?s[t.key]=!0:delete s[t.key],this.$emit("update:expandedKeys",s)}},changeFocusedHeader:function(e,t){t&&n.focus(t)},getMenuItemProps:function(e,t){return{icon:r({class:[this.cx("headerIcon"),this.getItemProp(e,"icon")]},this.getPTOptions("headerIcon",e,t)),label:r({class:this.cx("headerLabel")},this.getPTOptions("headerLabel",e,t))}}},components:{PanelMenuList:j,ChevronRightIcon:t,ChevronDownIcon:e}},G=["id"],q=["id","tabindex","aria-label","aria-expanded","aria-controls","aria-disabled","onClick","onKeydown","data-p-highlight","data-p-disabled"],z=["href"],W=["id","aria-labelledby"];R.render=function(e,t,i,n,s,o){var K=a("PanelMenuList");return c(),l("div",r({id:s.id,class:e.cx("root")},e.ptm("root"),{"data-pc-name":"panelmenu"}),[(c(!0),l(d,null,m(e.model,(function(t,i){return c(),l(d,{key:o.getPanelKey(i)},[o.isItemVisible(t)?(c(),l("div",r({key:0,style:o.getItemProp(t,"style"),class:[e.cx("panel"),o.getItemProp(t,"class")]},e.ptm("panel")),[h("div",r({id:o.getHeaderId(i),class:[e.cx("header",{item:t}),o.getItemProp(t,"headerClass")],tabindex:o.isItemDisabled(t)?-1:e.tabindex,role:"button","aria-label":o.getItemLabel(t),"aria-expanded":o.isItemActive(t),"aria-controls":o.getContentId(i),"aria-disabled":o.isItemDisabled(t),onClick:function(e){return o.onHeaderClick(e,t)},onKeydown:function(e){return o.onHeaderKeyDown(e,t)}},o.getPTOptions("header",t,i),{"data-p-highlight":o.isItemActive(t),"data-p-disabled":o.isItemDisabled(t)}),[h("div",r({class:e.cx("headerContent")},o.getPTOptions("headerContent",t,i)),[e.$slots.item?(c(),f(I(e.$slots.item),{key:1,item:t,root:!0,active:o.isItemActive(t),hasSubmenu:o.getItemProp(t,"items"),label:o.getItemLabel(t),props:o.getMenuItemProps(t,i)},null,8,["item","active","hasSubmenu","label","props"])):(c(),l("a",r({key:0,href:o.getItemProp(t,"url"),class:e.cx("headerAction"),tabindex:-1},o.getPTOptions("headerAction",t,i)),[o.getItemProp(t,"items")?k(e.$slots,"submenuicon",{key:0,active:o.isItemActive(t)},(function(){return[(c(),f(I(o.isItemActive(t)?"ChevronDownIcon":"ChevronRightIcon"),r({class:e.cx("submenuIcon")},o.getPTOptions("submenuIcon",t,i)),null,16,["class"]))]})):g("",!0),e.$slots.headericon?(c(),f(I(e.$slots.headericon),{key:1,item:t,class:u([e.cx("headerIcon"),o.getItemProp(t,"icon")])},null,8,["item","class"])):o.getItemProp(t,"icon")?(c(),l("span",r({key:2,class:[e.cx("headerIcon"),o.getItemProp(t,"icon")]},o.getPTOptions("headerIcon",t,i)),null,16)):g("",!0),h("span",r({class:e.cx("headerLabel")},o.getPTOptions("headerLabel",t,i)),v(o.getItemLabel(t)),17)],16,z))],16)],16,q),y(b,r({name:"p-toggleable-content"},e.ptm("transition")),{default:P((function(){return[p(h("div",r({id:o.getContentId(i),class:e.cx("toggleableContent"),role:"region","aria-labelledby":o.getHeaderId(i)},e.ptm("toggleableContent")),[o.getItemProp(t,"items")?(c(),l("div",r({key:0,class:e.cx("menuContent")},e.ptm("menuContent")),[y(K,{panelId:o.getPanelId(i),items:o.getItemProp(t,"items"),templates:e.$slots,expandedKeys:e.expandedKeys,onItemToggle:o.changeExpandedKeys,onHeaderFocus:o.updateFocusedHeader,pt:e.pt,unstyled:e.unstyled},null,8,["panelId","items","templates","expandedKeys","onItemToggle","onHeaderFocus","pt","unstyled"])],16)):g("",!0)],16,W),[[x,o.isItemActive(t)]])]})),_:2},1040)],16)):g("",!0)],64)})),128))],16,G)};export{R as default};