UNPKG

primevue

Version:

[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT) [![npm version](https://badge.fury.io/js/primevue.svg)](https://badge.fury.io/js/primevue) [![Discord Chat](https://img.shields.io/discord/55794023

2 lines (1 loc) 24.7 kB
"use strict";var e=require("primevue/portal"),t=require("primevue/utils"),n=require("primevue/basecomponent"),i=require("primevue/usestyle"),o=require("primevue/icons/angleright"),s=require("primevue/ripple"),r=require("vue");function c(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var a=c(e),l=c(n),u=c(o),m=c(s),d=i.useStyle("\n.p-contextmenu ul {\n margin: 0;\n padding: 0;\n list-style: none;\n}\n\n.p-contextmenu .p-submenu-list {\n position: absolute;\n min-width: 100%;\n z-index: 1;\n}\n\n.p-contextmenu .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-contextmenu .p-menuitem-text {\n line-height: 1;\n}\n\n.p-contextmenu .p-menuitem {\n position: relative;\n}\n\n.p-contextmenu .p-menuitem-link .p-submenu-icon {\n margin-left: auto;\n}\n\n.p-contextmenu-enter-from {\n opacity: 0;\n}\n\n.p-contextmenu-enter-active {\n transition: opacity 250ms;\n}\n",{name:"contextmenu",manual:!0}),f={name:"BaseContextMenu",extends:l.default,props:{model:{type:Array,default:null},appendTo:{type:String,default:"body"},autoZIndex:{type:Boolean,default:!0},baseZIndex:{type:Number,default:0},global:{type:Boolean,default:!1},exact:{type:Boolean,default:!0},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-contextmenu p-component",{"p-input-filled":"filled"===t.$primevue.config.inputStyle,"p-ripple-disabled":!1===t.$primevue.config.ripple}]},menu:"p-contextmenu-root-list",menuitem:function(e){var t=e.instance,n=e.processedItem;return["p-menuitem",{"p-menuitem-active p-highlight":t.isItemActive(n),"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:"ContextMenuSub",hostName:"ContextMenu",extends:l.default,emits:["item-click","item-mouseenter"],props:{items:{type:Array,default:null},menuId:{type:String,default:null},focusedItemId:{type:String,default:null},root:{type:Boolean,default:!1},visible:{type:Boolean,default:!1},level:{type:Number,default:0},templates:{type:Object,default:null},exact:{type:Boolean,default:!0},activeItemPath:{type:Object,default:null},tabindex:{type:Number,default:0}},methods:{getItemId:function(e){return"".concat(this.menuId,"_").concat(e.key)},getItemKey:function(e){return this.getItemId(e)},getItemProp:function(e,n,i){return e&&e.item?t.ObjectUtils.getItemValue(e.item[n],i):void 0},getItemLabel:function(e){return this.getItemProp(e,"label")},getPTOptions:function(e,t,n){return this.ptm(e,{context:{item:t,active:this.isItemActive(t),focused:this.isItemFocused(t),index:n}})},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 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})},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},onEnter:function(){this.position()},position:function(){var e=this.$refs.container.parentElement,n=t.DomHandler.getOffset(this.$refs.container.parentElement),i=t.DomHandler.getViewport(),o=this.$refs.container.offsetParent?this.$refs.container.offsetWidth:t.DomHandler.getHiddenElementOuterWidth(this.$refs.container),s=t.DomHandler.getOuterWidth(e.children[0]);this.$refs.container.style.top="0px",this.$refs.container.style.left=parseInt(n.left,10)+s+o>i.width-t.DomHandler.calculateScrollbarWidth()?-1*o+"px":s+"px"}},components:{AngleRightIcon:u.default},directives:{ripple:m.default}},p=["tabindex"],I=["id","aria-label","aria-disabled","aria-expanded","aria-haspopup","aria-level","aria-setsize","aria-posinset","data-p-highlight","data-p-focused","data-p-disabled"],v=["onClick","onMouseenter"],b=["href","onClick"],g=["href","target"],x=["id"];h.render=function(e,t,n,i,o,s){var c=r.resolveComponent("router-link"),a=r.resolveComponent("AngleRightIcon"),l=r.resolveComponent("ContextMenuSub",!0),u=r.resolveDirective("ripple");return r.openBlock(),r.createBlock(r.Transition,{name:"p-contextmenusub",onEnter:s.onEnter},{default:r.withCtx((function(){return[n.root||n.visible?(r.openBlock(),r.createElementBlock("ul",r.mergeProps({key:0,ref:"container",tabindex:n.tabindex},e.ptm("menu")),[(r.openBlock(!0),r.createElementBlock(r.Fragment,null,r.renderList(n.items,(function(i,o){return r.openBlock(),r.createElementBlock(r.Fragment,{key:s.getItemKey(i)},[s.isItemVisible(i)&&!s.getItemProp(i,"separator")?(r.openBlock(),r.createElementBlock("li",r.mergeProps({key:0,id:s.getItemId(i),style:s.getItemProp(i,"style"),class:[e.cx("menuitem",{processedItem:i}),s.getItemProp(i,"class")],role:"menuitem","aria-label":s.getItemLabel(i),"aria-disabled":s.isItemDisabled(i)||void 0,"aria-expanded":s.isItemGroup(i)?s.isItemActive(i):void 0,"aria-haspopup":s.isItemGroup(i)&&!s.getItemProp(i,"to")?"menu":void 0,"aria-level":n.level+1,"aria-setsize":s.getAriaSetSize(),"aria-posinset":s.getAriaPosInset(o)},s.getPTOptions("menuitem",i,o),{"data-p-highlight":s.isItemActive(i),"data-p-focused":s.isItemFocused(i),"data-p-disabled":s.isItemDisabled(i)}),[r.createElementVNode("div",r.mergeProps({class:e.cx("content"),onClick:function(e){return s.onItemClick(e,i)},onMouseenter:function(e){return s.onItemMouseEnter(e,i)}},s.getPTOptions("content",i,o)),[n.templates.item?(r.openBlock(),r.createBlock(r.resolveDynamicComponent(n.templates.item),{key:1,item:i.item},null,8,["item"])):(r.openBlock(),r.createElementBlock(r.Fragment,{key:0},[s.getItemProp(i,"to")&&!s.isItemDisabled(i)?(r.openBlock(),r.createBlock(c,{key:0,to:s.getItemProp(i,"to"),custom:""},{default:r.withCtx((function(t){var c=t.navigate,a=t.href,l=t.isActive,m=t.isExactActive;return[r.withDirectives((r.openBlock(),r.createElementBlock("a",r.mergeProps({href:a,class:e.cx("action",{isActive:l,isExactActive:m}),tabindex:"-1","aria-hidden":"true",onClick:function(e){return s.onItemActionClick(e,c)}},s.getPTOptions("action",i,o)),[n.templates.itemicon?(r.openBlock(),r.createBlock(r.resolveDynamicComponent(n.templates.itemicon),{key:0,item:i.item,class:r.normalizeClass([e.cx("icon"),s.getItemProp(i,"icon")])},null,8,["item","class"])):s.getItemProp(i,"icon")?(r.openBlock(),r.createElementBlock("span",r.mergeProps({key:1,class:[e.cx("icon"),s.getItemProp(i,"icon")]},s.getPTOptions("icon",i,o)),null,16)):r.createCommentVNode("",!0),r.createElementVNode("span",r.mergeProps({class:e.cx("label")},s.getPTOptions("label",i,o)),r.toDisplayString(s.getItemLabel(i)),17)],16,b)),[[u]])]})),_:2},1032,["to"])):r.withDirectives((r.openBlock(),r.createElementBlock("a",r.mergeProps({key:1,href:s.getItemProp(i,"url"),class:e.cx("action"),target:s.getItemProp(i,"target"),tabindex:"-1","aria-hidden":"true"},s.getPTOptions("action",i,o)),[n.templates.itemicon?(r.openBlock(),r.createBlock(r.resolveDynamicComponent(n.templates.itemicon),{key:0,item:i.item,class:r.normalizeClass([e.cx("icon"),s.getItemProp(i,"icon")])},null,8,["item","class"])):s.getItemProp(i,"icon")?(r.openBlock(),r.createElementBlock("span",r.mergeProps({key:1,class:[e.cx("icon"),s.getItemProp(i,"icon")]},s.getPTOptions("icon",i,o)),null,16)):r.createCommentVNode("",!0),r.createElementVNode("span",r.mergeProps({class:e.cx("label")},s.getPTOptions("label",i,o)),r.toDisplayString(s.getItemLabel(i)),17),s.getItemProp(i,"items")?(r.openBlock(),r.createElementBlock(r.Fragment,{key:2},[n.templates.submenuicon?(r.openBlock(),r.createBlock(r.resolveDynamicComponent(n.templates.submenuicon),{key:0,active:s.isItemActive(i),class:r.normalizeClass(e.cx("submenuIcon"))},null,8,["active","class"])):(r.openBlock(),r.createBlock(a,r.mergeProps({key:1,class:e.cx("submenuIcon")},s.getPTOptions("submenuicon",i,o)),null,16,["class"]))],64)):r.createCommentVNode("",!0)],16,g)),[[u]])],64))],16,v),s.isItemVisible(i)&&s.isItemGroup(i)?(r.openBlock(),r.createBlock(l,r.mergeProps({key:0,id:s.getItemId(i)+"_list",role:"menu",class:e.cx("submenu"),menuId:n.menuId,focusedItemId:n.focusedItemId,items:i.items,templates:n.templates,activeItemPath:n.activeItemPath,exact:n.exact,level:n.level+1,pt:e.pt,visible:s.isItemActive(i)&&s.isItemGroup(i),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)})},e.ptm("submenu")),null,16,["id","class","menuId","focusedItemId","items","templates","activeItemPath","exact","level","pt","visible"])):r.createCommentVNode("",!0)],16,I)):r.createCommentVNode("",!0),s.isItemVisible(i)&&s.getItemProp(i,"separator")?(r.openBlock(),r.createElementBlock("li",r.mergeProps({key:1,id:s.getItemId(i),style:s.getItemProp(i,"style"),class:[e.cx("separator"),s.getItemProp(i,"class")],role:"separator"},e.ptm("separator")),null,16,x)):r.createCommentVNode("",!0)],64)})),128))],16,p)):r.createCommentVNode("",!0)]})),_:1},8,["onEnter"])};var y={name:"ContextMenu",extends:f,inheritAttrs:!1,emits:["focus","blur","show","hide"],target:null,outsideClickListener:null,resizeListener:null,documentContextMenuListener:null,pageX:null,pageY:null,container:null,list:null,data:function(){return{id:this.$attrs.id,focused:!1,focusedItemInfo:{index:-1,level:0,parentKey:""},activeItemPath:[],visible:!1,submenuVisible:!1}},watch:{"$attrs.id":function(e){this.id=e||t.UniqueComponentId()},activeItemPath:function(e){t.ObjectUtils.isNotEmpty(e)?(this.bindOutsideClickListener(),this.bindResizeListener(),this.bindDocumentContextMenuListener()):this.visible||(this.unbindOutsideClickListener(),this.unbindResizeListener(),this.unbindDocumentContextMenuListener())}},beforeUnmount:function(){this.unbindResizeListener(),this.unbindOutsideClickListener(),this.unbindDocumentContextMenuListener(),this.container&&this.autoZIndex&&t.ZIndexUtils.clear(this.container),this.target=null,this.container=null},mounted:function(){this.id=this.id||t.UniqueComponentId(),this.global&&this.bindDocumentContextMenuListener()},methods:{getItemProp:function(e,n){return e?t.ObjectUtils.getItemValue(e[n]):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){this.visible?this.hide():this.show(e)},show:function(e){this.activeItemPath=[],this.focusedItemInfo={index:-1,level:0,parentKey:""},t.DomHandler.focus(this.list),this.pageX=e.pageX,this.pageY=e.pageY,this.visible?this.position():this.visible=!0,e.stopPropagation(),e.preventDefault()},hide:function(){this.visible=!1,this.activeItemPath=[],this.focusedItemInfo={index:-1,level:0,parentKey:""}},onFocus:function(e){this.focused=!0,this.focusedItemInfo=-1!==this.focusedItemInfo.index?this.focusedItemInfo:{index:-1,level:0,parentKey:""},this.$emit("focus",e)},onBlur:function(e){this.focused=!1,this.focusedItemInfo={index:-1,level:0,parentKey:""},this.searchValue="",this.$emit("blur",e)},onKeyDown:function(e){var n=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":this.onEscapeKey(e);break;case"Tab":this.onTabKey(e);break;case"PageDown":case"PageUp":case"Backspace":case"ShiftLeft":case"ShiftRight":break;default:!n&&t.ObjectUtils.isPrintableCharacter(e.key)&&this.searchItems(e,e.key)}},onItemChange:function(e){var n=e.processedItem,i=e.isFocus;if(!t.ObjectUtils.isEmpty(n)){var o=n.index,s=n.key,r=n.level,c=n.parentKey,a=t.ObjectUtils.isNotEmpty(n.items),l=this.activeItemPath.filter((function(e){return e.parentKey!==c&&e.parentKey!==s}));a&&(l.push(n),this.submenuVisible=!0),this.focusedItemInfo={index:o,level:r,parentKey:c},this.activeItemPath=l,i&&t.DomHandler.focus(this.list)}},onItemClick:function(e){var n=e.processedItem,i=this.isProccessedItemGroup(n);if(this.isSelected(n)){var o=n.index,s=n.key,r=n.level,c=n.parentKey;this.activeItemPath=this.activeItemPath.filter((function(e){return s!==e.key&&s.startsWith(e.key)})),this.focusedItemInfo={index:o,level:r,parentKey:c},t.DomHandler.focus(this.list)}else i?this.onItemChange(e):this.hide()},onItemMouseEnter:function(e){this.onItemChange(e)},onArrowDownKey:function(e){var t=-1!==this.focusedItemInfo.index?this.findNextItemIndex(this.focusedItemInfo.index):this.findFirstFocusedItemIndex();this.changeFocusedItemIndex(e,t),e.preventDefault()},onArrowUpKey:function(e){if(e.altKey){if(-1!==this.focusedItemInfo.index){var t=this.visibleItems[this.focusedItemInfo.index];!this.isProccessedItemGroup(t)&&this.onItemChange({originalEvent:e,processedItem:t})}this.popup&&this.hide(),e.preventDefault()}else{var n=-1!==this.focusedItemInfo.index?this.findPrevItemIndex(this.focusedItemInfo.index):this.findLastFocusedItemIndex();this.changeFocusedItemIndex(e,n),e.preventDefault()}},onArrowLeftKey:function(e){var n=this,i=this.visibleItems[this.focusedItemInfo.index],o=this.activeItemPath.find((function(e){return e.key===i.parentKey}));t.ObjectUtils.isEmpty(i.parent)||(this.focusedItemInfo={index:-1,parentKey:o?o.parentKey:""},this.searchValue="",this.onArrowDownKey(e)),this.activeItemPath=this.activeItemPath.filter((function(e){return e.parentKey!==n.focusedItemInfo.parentKey})),e.preventDefault()},onArrowRightKey:function(e){var t=this.visibleItems[this.focusedItemInfo.index];this.isProccessedItemGroup(t)&&(this.onItemChange({originalEvent:e,processedItem:t}),this.focusedItemInfo={index:-1,parentKey:t.key},this.searchValue="",this.onArrowDownKey(e)),e.preventDefault()},onHomeKey:function(e){this.changeFocusedItemIndex(e,this.findFirstItemIndex()),e.preventDefault()},onEndKey:function(e){this.changeFocusedItemIndex(e,this.findLastItemIndex()),e.preventDefault()},onEnterKey:function(e){if(-1!==this.focusedItemInfo.index){var n=t.DomHandler.findSingle(this.list,'li[id="'.concat("".concat(this.focusedItemId),'"]')),i=n&&t.DomHandler.findSingle(n,'a[data-pc-section="action"]');i?i.click():n&&n.click(),!this.isProccessedItemGroup(this.visibleItems[this.focusedItemInfo.index])&&(this.focusedItemInfo.index=this.findFirstFocusedItemIndex())}e.preventDefault()},onSpaceKey:function(e){this.onEnterKey(e)},onEscapeKey:function(e){this.hide(),!this.popup&&(this.focusedItemInfo.index=this.findFirstFocusedItemIndex()),e.preventDefault()},onTabKey:function(e){if(-1!==this.focusedItemInfo.index){var t=this.visibleItems[this.focusedItemInfo.index];!this.isProccessedItemGroup(t)&&this.onItemChange({originalEvent:e,processedItem:t})}this.hide()},onEnter:function(e){t.DomHandler.addStyles(e,{position:"absolute"}),this.position(),this.autoZIndex&&t.ZIndexUtils.set("menu",e,this.baseZIndex+this.$primevue.config.zIndex.menu)},onAfterEnter:function(){this.bindOutsideClickListener(),this.bindResizeListener(),this.bindDocumentContextMenuListener(),this.$emit("show"),t.DomHandler.focus(this.list)},onLeave:function(){this.$emit("hide"),this.container=null},onAfterLeave:function(e){this.autoZIndex&&t.ZIndexUtils.clear(e),this.unbindOutsideClickListener(),this.unbindResizeListener(),this.unbindDocumentContextMenuListener()},position:function(){var e=this.pageX+1,n=this.pageY+1,i=this.container.offsetParent?this.container.offsetWidth:t.DomHandler.getHiddenElementOuterWidth(this.container),o=this.container.offsetParent?this.container.offsetHeight:t.DomHandler.getHiddenElementOuterHeight(this.container),s=t.DomHandler.getViewport();e+i-document.body.scrollLeft>s.width&&(e-=i),n+o-document.body.scrollTop>s.height&&(n-=o),e<document.body.scrollLeft&&(e=document.body.scrollLeft),n<document.body.scrollTop&&(n=document.body.scrollTop),this.container.style.left=e+"px",this.container.style.top=n+"px"},bindOutsideClickListener:function(){var e=this;this.outsideClickListener||(this.outsideClickListener=function(t){var n=e.container&&!e.container.contains(t.target),i=!e.visible||!(e.target&&(e.target===t.target||e.target.contains(t.target)));n&&i&&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(){e.visible&&!t.DomHandler.isTouchDevice()&&e.hide()},window.addEventListener("resize",this.resizeListener))},unbindResizeListener:function(){this.resizeListener&&(window.removeEventListener("resize",this.resizeListener),this.resizeListener=null)},bindDocumentContextMenuListener:function(){var e=this;this.documentContextMenuListener||(this.documentContextMenuListener=function(t){2!==t.button?e.show(t):e.hide()},document.addEventListener("contextmenu",this.documentContextMenuListener))},unbindDocumentContextMenuListener:function(){this.documentContextMenuListener&&(document.removeEventListener("contextmenu",this.documentContextMenuListener),this.documentContextMenuListener=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 this.activeItemPath.some((function(t){return t.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,n=e<this.visibleItems.length-1?this.visibleItems.slice(e+1).findIndex((function(e){return t.isValidItem(e)})):-1;return n>-1?n+e+1:e},findPrevItemIndex:function(e){var n=this,i=e>0?t.ObjectUtils.findLastIndex(this.visibleItems.slice(0,e),(function(e){return n.isValidItem(e)})):-1;return i>-1?i: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},searchItems:function(e,t){var n=this;this.searchValue=(this.searchValue||"")+t;var i=-1,o=!1;return-1!==(i=-1!==this.focusedItemInfo.index?-1===(i=this.visibleItems.slice(this.focusedItemInfo.index).findIndex((function(e){return n.isItemMatched(e)})))?this.visibleItems.slice(0,this.focusedItemInfo.index).findIndex((function(e){return n.isItemMatched(e)})):i+this.focusedItemInfo.index:this.visibleItems.findIndex((function(e){return n.isItemMatched(e)})))&&(o=!0),-1===i&&-1===this.focusedItemInfo.index&&(i=this.findFirstFocusedItemIndex()),-1!==i&&this.changeFocusedItemIndex(e,i),this.searchTimeout&&clearTimeout(this.searchTimeout),this.searchTimeout=setTimeout((function(){n.searchValue="",n.searchTimeout=null}),500),o},changeFocusedItemIndex:function(e,t){this.focusedItemInfo.index!==t&&(this.focusedItemInfo.index=t,this.scrollInView())},scrollInView:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:-1,n=-1!==e?"".concat(this.id,"_").concat(e):this.focusedItemId,i=t.DomHandler.findSingle(this.list,'li[id="'.concat(n,'"]'));i&&i.scrollIntoView&&i.scrollIntoView({block:"nearest",inline:"start"})},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 c=(""!==o?o+"_":"")+r,a={item:e,index:r,level:n,key:c,parent:i,parentKey:o};a.items=t.createProcessedItems(e.items,n+1,a,c),s.push(a)})),s},containerRef:function(e){this.container=e},listRef:function(e){this.list=e?e.$el:void 0}},computed:{processedItems:function(){return this.createProcessedItems(this.model||[])},visibleItems:function(){var e=this,t=this.activeItemPath.find((function(t){return t.key===e.focusedItemInfo.parentKey}));return t?t.items:this.processedItems},focusedItemId:function(){return-1!==this.focusedItemInfo.index?"".concat(this.id).concat(t.ObjectUtils.isNotEmpty(this.focusedItemInfo.parentKey)?"_"+this.focusedItemInfo.parentKey:"","_").concat(this.focusedItemInfo.index):null}},components:{ContextMenuSub:h,Portal:a.default}};function k(e){return k="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},k(e)}function P(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 L(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?P(Object(n),!0).forEach((function(t){C(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):P(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function C(e,t,n){return(t=E(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function E(e){var t=D(e,"string");return"symbol"===k(t)?t:String(t)}function D(e,t){if("object"!==k(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var i=n.call(e,t||"default");if("object"!==k(i))return i;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}y.render=function(e,t,n,i,o,s){var c=r.resolveComponent("ContextMenuSub"),a=r.resolveComponent("Portal");return r.openBlock(),r.createBlock(a,{appendTo:e.appendTo},{default:r.withCtx((function(){return[r.createVNode(r.Transition,{name:"p-contextmenu",onEnter:s.onEnter,onAfterEnter:s.onAfterEnter,onLeave:s.onLeave,onAfterLeave:s.onAfterLeave},{default:r.withCtx((function(){return[o.visible?(r.openBlock(),r.createElementBlock("div",r.mergeProps({key:0,ref:s.containerRef,class:e.cx("root")},L(L({},e.$attrs),e.ptm("root")),{"data-pc-name":"contextmenu"}),[r.createVNode(c,{ref:s.listRef,id:o.id+"_list",class:r.normalizeClass(e.cx("menu")),role:"menubar",root:!0,tabindex:e.tabindex,"aria-orientation":"vertical","aria-activedescendant":o.focused?s.focusedItemId:void 0,menuId:o.id,focusedItemId:o.focused?s.focusedItemId:void 0,items:s.processedItems,templates:e.$slots,activeItemPath:o.activeItemPath,exact:e.exact,"aria-labelledby":e.ariaLabelledby,"aria-label":e.ariaLabel,level:0,visible:o.submenuVisible,pt:e.pt,onFocus:s.onFocus,onBlur:s.onBlur,onKeydown:s.onKeyDown,onItemClick:s.onItemClick,onItemMouseenter:s.onItemMouseEnter},null,8,["id","class","tabindex","aria-activedescendant","menuId","focusedItemId","items","templates","activeItemPath","exact","aria-labelledby","aria-label","visible","pt","onFocus","onBlur","onKeydown","onItemClick","onItemMouseenter"])],16)):r.createCommentVNode("",!0)]})),_:1},8,["onEnter","onAfterEnter","onLeave","onAfterLeave"])]})),_:1},8,["appendTo"])},module.exports=y;