UNPKG

primereact

Version:

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

2 lines (1 loc) 20.9 kB
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react"),t=require("primereact/api"),n=require("primereact/componentbase"),r=require("primereact/csstransition"),o=require("primereact/hooks"),i=require("primereact/portal"),a=require("primereact/utils"),u=require("primereact/icons/angleright"),c=require("primereact/ripple");function l(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}function s(e){if(e&&e.__esModule)return e;var t=Object.create(null);return e&&Object.keys(e).forEach((function(n){if("default"!==n){var r=Object.getOwnPropertyDescriptor(e,n);Object.defineProperty(t,n,r.get?r:{enumerable:!0,get:function(){return e[n]}})}})),t.default=e,Object.freeze(t)}var m=s(e),f=l(t);function d(){return d=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)({}).hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},d.apply(null,arguments)}function p(e){return p="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},p(e)}function b(e,t){if("object"!=p(e)||!e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,t||"default");if("object"!=p(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}function v(e){var t=b(e,"string");return"symbol"==p(t)?t:t+""}function y(e,t,n){return(t=v(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function x(e){if(Array.isArray(e))return e}function g(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,o,i,a,u=[],c=!0,l=!1;try{if(i=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;c=!1}else for(;!(c=(r=i.call(n)).done)&&(u.push(r.value),u.length!==t);c=!0);}catch(e){l=!0,o=e}finally{try{if(!c&&null!=n.return&&(a=n.return(),Object(a)!==a))return}finally{if(l)throw o}}return u}}function h(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}function I(e,t){if(e){if("string"==typeof e)return h(e,t);var n={}.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)?h(e,t):void 0}}function E(){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 O(e,t){return x(e)||g(e,t)||I(e,t)||E()}var k=n.ComponentBase.extend({defaultProps:{__TYPE:"ContextMenu",id:null,ariaLabel:null,ariaLabelledby:null,model:null,style:null,className:null,global:!1,autoZIndex:!0,baseZIndex:0,tabIndex:0,breakpoint:void 0,scrollHeight:"400px",appendTo:null,transitionOptions:null,onFocus:null,onBlur:null,onShow:null,onHide:null,submenuIcon:null,children:void 0},css:{classes:{root:function(e){var t=e.context;return a.classNames("p-contextmenu p-component",{"p-input-filled":t&&"filled"===t.inputStyle||"filled"===f.default.inputStyle,"p-ripple-disabled":t&&!1===t.ripple||!1===f.default.ripple})},menu:function(e){var t=e.menuProps;return a.classNames({" p-contextmenu-root-list":t.root,"p-submenu-list":!t.root})},menuitem:function(e){return a.classNames("p-menuitem",{"p-menuitem-active p-highlight":e.active,"p-focus":e.focused,"p-disabled":e.disabled},e.item.className)},action:function(e){return a.classNames("p-menuitem-link",{"p-disabled":e.item.disabled})},content:"p-menuitem-content",icon:"p-menuitem-icon",submenuIcon:"p-submenu-icon",label:"p-menuitem-text",separator:"p-menuitem-separator",transition:"p-contextmenu",submenuTransition:"p-contextmenusub"},styles:"\n@layer primereact {\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 {\n opacity: 0;\n }\n\n .p-contextmenu-enter-active {\n opacity: 1;\n transition: opacity 250ms;\n }\n}\n"}});function S(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function w(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?S(Object(n),!0).forEach((function(t){y(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):S(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}var P=m.memo(m.forwardRef((function(e,t){var n=o.useMergeProps(),i=m.useRef(null),l=e.root||!e.resetMenu,s=e.ptm,f=e.cx,p=function(t,n,r){return s(n,{hostName:e.hostName,context:{active:I(t),focused:k(t),disabled:O(t),index:r}})},b=function(t,n){n.disabled||e.isMobileMode?t.preventDefault():e.onItemMouseEnter({originalEvent:t,processedItem:n})},v=function(t,n){var r=n.item;r.disabled?t.preventDefault():(r.command&&r.command({originalEvent:t,item:r}),e.onItemClick({originalEvent:t,processedItem:n,isFocus:!0}),r.items||e.onLeafClick(t),r.url||(t.preventDefault(),t.stopPropagation()))},x=function(){if(!e.isMobileMode){var t=i.current.parentElement,n=a.DomHandler.getOffset(t),r=a.DomHandler.getViewport(),o=i.current.offsetParent?i.current.offsetWidth:a.DomHandler.getHiddenElementOuterWidth(i.current),u=a.DomHandler.getOuterWidth(t.children[0]),c=parseInt(n.top,10)+i.current.offsetHeight-a.DomHandler.getWindowScrollTop();i.current.style.top=c>r.height?r.height-c+"px":"0px",i.current.style.left=parseInt(n.left,10)+u+o>r.width-a.DomHandler.calculateScrollbarWidth()?-1*o+"px":u+"px"}};o.useUpdateEffect((function(){l&&x()}));var g=function(t){return"".concat(e.menuId,"_").concat(t.key)},h=function(e,t,n){return e&&e.item?a.ObjectUtils.getItemValue(e.item[t],n):void 0},I=function(t){return e.activeItemPath&&e.activeItemPath.some((function(e){return e.key===t.key}))},E=function(e){return!1!==h(e,"visible")},O=function(e){return h(e,"disabled")},k=function(t){return e.focusedItemId===g(t)},S=function(e){return a.ObjectUtils.isNotEmpty(e.items)},j=function(t){return t-e.model.slice(0,t).filter((function(e){return E(e)&&h(e,"separator")})).length+1};m.useImperativeHandle(t,(function(){return{props:e,getElement:function(){return i.current}}}));var D=function(t){var r=e.id+"_separator_"+t,o=n({id:r,key:r,className:f("separator"),role:"separator"},s("separator",{hostName:e.hostName}));return m.createElement("li",o)},N=function(t,n){return S(t)?m.createElement(P,{id:e.id+"_"+n,role:"menu",menuId:e.menuId,focusedItemId:e.focusedItemId,activeItemPath:e.activeItemPath,level:e.level+1,hostName:e.hostName,ariaLabelledby:g(t),menuProps:e.menuProps,model:t.items,resetMenu:!I(t),onLeafClick:e.onLeafClick,onItemClick:e.onItemClick,onItemMouseEnter:e.onItemMouseEnter,isMobileMode:e.isMobileMode,submenuIcon:e.submenuIcon,ptm:s,cx:f}):null},H=function(t,r){if(!E(t))return null;var o=t.item,i=I(t),l=O(t),s=k(t),d=S(t),x=g(t),P=n({className:f("icon")},p(t,"icon",r)),D=a.IconUtils.getJSXIcon(o.icon,w({},P),{props:e.menuProps}),H=n({className:f("submenuIcon")},p(t,"submenuIcon",r)),M=n({className:f("label")},p(t,"label",r)),U=h(t,"items")&&a.IconUtils.getJSXIcon(e.submenuIcon||m.createElement(u.AngleRightIcon,H),w({},H),{props:e.menuProps}),C=o.label&&m.createElement("span",M,o.label),L=N(t,r),K=n({href:o.url||"#",tabIndex:-1,className:f("action",{item:o}),target:o.target},p(t,"action",r)),T=m.createElement("a",K,D,C,U,m.createElement(c.Ripple,null));if(o.template){var R={className:"p-menuitem-link",labelClassName:"p-menuitem-text",iconClassName:"p-menuitem-icon",submenuIconClassName:f("submenuIcon"),element:T,props:e,active:i};T=a.ObjectUtils.getJSXElement(o.template,o,R)}var A=n({onClick:function(e){return v(e,t)},onMouseEnter:function(e){return b(e,t)},className:f("content")},p(t,"content",r)),_=n(y({id:x,key:x,role:"menuitem","aria-label":o.label,"aria-disabled":l,"aria-expanded":d?i:void 0,"aria-haspopup":d&&!o.url?"menu":void 0,"aria-level":e.level+1,"aria-setsize":e.model.filter((function(e){return E(e)&&!h(e,"separator")})).length,"aria-posinset":j(r),"data-p-highlight":i,"data-p-focused":s,"data-p-disabled":l,className:f("menuitem",{item:o,active:i,focused:s,disabled:O(o)}),style:o.style},"key",x),p(t,"menuitem",r));return m.createElement("li",_,m.createElement("div",A,T),L)},M=e.model?e.model.map((function(e,t){return!1===e.visible?null:e.separator?D(t):H(e,t)})):null,U=n({className:f("menu",{menuProps:e}),onFocus:e.onFocus,onBlur:e.onBlur,onKeyDown:e.onKeyDown,"aria-label":e.ariaLabel,"aria-labelledby":e.ariaLabelledby,"aria-orientation":"vertical","aria-activedescendant":e.ariaActivedescendant,tabIndex:e.tabIndex,role:e.role},s("menu",{hostName:e.hostName})),C=n({classNames:f("submenuTransition"),in:l,timeout:{enter:0,exit:0},unmountOnExit:!0,onEnter:function(){x()}},s("menu.transition",{hostName:e.hostName}));return m.createElement(r.CSSTransition,d({nodeRef:i},C),m.createElement("ul",d({ref:i},U),M))})));function j(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function D(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?j(Object(n),!0).forEach((function(t){y(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):j(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}P.displayName="ContextMenuSub";var N=m.memo(m.forwardRef((function(e,u){var c=o.useMergeProps(),l=m.useContext(t.PrimeReactContext),s=k.getProps(e,l),p=O(m.useState(s.id),2),b=p[0],v=p[1],y=O(m.useState(!1),2),x=y[0],g=y[1],h=O(m.useState(!1),2),I=h[0],E=h[1],S=O(m.useState(!1),2),w=S[0],j=S[1],N=O(m.useState(null),2),H=N[0],M=N[1],U=O(m.useState(!1),2),C=U[0],L=U[1],K=O(m.useState(!1),2),T=K[0],R=K[1],A=O(m.useState({index:-1,level:0,parentKey:""}),2),_=A[0],q=A[1],Z=O(m.useState(""),2),W=Z[0],B=Z[1],F=O(m.useState([]),2),z=F[0],V=F[1],X=O(m.useState([]),2),J=X[0],Y=X[1],$=O(m.useState(null),2),G=$[0],Q=$[1],ee=k.setMetaData({props:s,state:{id:b,visible:x,reshow:I,resetMenu:w,attributeSelector:H}}),te=ee.ptm,ne=ee.cx;n.useHandleStyle(k.css.styles,ee.isUnstyled,{name:"contextmenu"});var re=m.useRef(null),oe=m.useRef(null),ie=m.useRef(null),ae=m.useRef(""),ue=m.useRef(null),ce=m.useRef(null),le=o.useMatchMedia("screen and (max-width: ".concat(s.breakpoint,")"),!!s.breakpoint),se=O(o.useEventListener({type:"click",listener:function(e){je(e)&&2!==e.button&&(he(e),j(!0))}}),2),me=se[0],fe=se[1],de=O(o.useEventListener({type:"contextmenu",when:s.global,listener:function(e){ge(e)}}),1)[0],pe=O(o.useResizeListener({listener:function(e){x&&!a.DomHandler.isTouchDevice()&&he(e)}}),2),be=pe[0],ve=pe[1],ye=function(){if(!ce.current){ce.current=a.DomHandler.createInlineStyle(l&&l.nonce||f.default.nonce,l&&l.styleContainer);var e="".concat(H),t="\n@media screen and (max-width: ".concat(s.breakpoint,") {\n .p-contextmenu[").concat(e,"] > ul {\n max-height: ").concat(s.scrollHeight,";\n overflow: ").concat(s.scrollHeight?"auto":"",";\n }\n\n .p-contextmenu[").concat(e,"] .p-submenu-list {\n position: relative;\n }\n\n .p-contextmenu[").concat(e,"] .p-menuitem-active > .p-submenu-list {\n left: 0;\n box-shadow: none;\n border-radius: 0;\n padding: 0 0 0 calc(var(--inline-spacing) * 2); /* @todo */\n }\n\n .p-contextmenu[").concat(e,"] .p-menuitem-active > .p-menuitem-link > .p-submenu-icon {\n transform: rotate(-180deg);\n }\n\n .p-contextmenu[").concat(e,'] .p-submenu-icon:before {\n content: "\\e930";\n }\n}\n');ce.current.innerHTML=t}},xe=function(){ce.current=a.DomHandler.removeInlineStyle(ce.current)},ge=function(e){B([]),q({index:-1,level:0,parentKey:""}),e.stopPropagation(),e.preventDefault(),ie.current=e,x?E(!0):(g(!0),s.onShow&&s.onShow(ie.current)),Promise.resolve().then((function(){oe.current&&a.DomHandler.focus(oe.current.getElement())}))},he=function(e){ie.current=e,g(!1),E(!1),B([]),q({index:-1,level:0,parentKey:""}),s.onHide&&s.onHide(ie.current)},Ie=function(){a.DomHandler.addStyles(re.current,{position:"absolute"}),s.autoZIndex&&a.ZIndexUtils.set("menu",re.current,l&&l.autoZIndex||f.default.autoZIndex,s.baseZIndex||l&&l.zIndex.menu||f.default.zIndex.menu),Se(ie.current),H&&s.breakpoint&&(re.current.setAttribute(H,""),ye())},Ee=function(){De()},Oe=function(){Ne(),a.ZIndexUtils.clear(re.current)},ke=function(){a.ZIndexUtils.clear(re.current),xe()},Se=function(e){if(e){var t=e.pageX+1,n=e.pageY+1,r=re.current.offsetParent?re.current.offsetWidth:a.DomHandler.getHiddenElementOuterWidth(re.current),o=re.current.offsetParent?re.current.offsetHeight:a.DomHandler.getHiddenElementOuterHeight(re.current),i=a.DomHandler.getViewport();t+r-document.body.scrollLeft>i.width&&(t-=r),n+o-document.body.scrollTop>i.height&&(n-=o),t<document.body.scrollLeft&&(t=document.body.scrollLeft),n<document.body.scrollTop&&(n=document.body.scrollTop),re.current.style.left=t+"px",re.current.style.top=n+"px"}},we=m.useCallback((function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"",o=[];return e&&e.forEach((function(e,i){var a=(""!==r?r+"_":"")+i,u={item:e,index:i,level:t,separator:e.separator,key:a,parent:n,parentKey:r};u.items=we(e.items,t+1,u,a),o.push(u)})),o}),[]),Pe=function(e){j(!0),he(e),e.stopPropagation()},je=function(e){return re&&re.current&&!(re.current.isSameNode(e.target)||re.current.contains(e.target))},De=function(){be(),me()},Ne=function(){ve(),fe()};o.useMountEffect((function(){var e=a.UniqueComponentId();!b&&v(e),s.global&&de(),s.breakpoint&&!H&&M(e)})),o.useUpdateEffect((function(){s.global&&de()}),[s.global]),o.useUpdateEffect((function(){return H&&re.current&&(re.current.setAttribute(H,""),ye()),function(){xe()}}),[H,s.breakpoint]),o.useUpdateEffect((function(){x?(g(!1),E(!1),j(!0)):I||x||!w||ge(ie.current)}),[I]),m.useEffect((function(){var e=we(s.model||[],0,null,"");V(e)}),[s.model,we]),o.useUpdateEffect((function(){var e=-1!==_.index?"".concat(b).concat(a.ObjectUtils.isNotEmpty(_.parentKey)?"_"+_.parentKey:"","_").concat(_.index):null;Q(e)}),[_]),o.useUpdateEffect((function(){var e=W&&W.find((function(e){return e.key===_.parentKey}));Y(e?e.items:z)}),[W,_]),o.useUpdateEffect((function(){if(T){var e=-1!==_.index?ot(_.index):st();Ye(e),B(W.filter((function(e){return e.parentKey!==_.parentKey}))),R(!1)}}),[T]),o.useUnmountEffect((function(){a.ZIndexUtils.clear(re.current)})),m.useImperativeHandle(u,(function(){return{props:s,show:ge,hide:he,getElement:function(){return re.current}}}));var He,Me,Ue=function(e){L(!0),q(-1!==_.index?_:{index:-1,level:0,parentKey:""}),s.onFocus&&s.onFocus(e)},Ce=function(e){L(!1),q({index:-1,level:0,parentKey:""}),ae.current="",ae.current="",s.onBlur&&s.onBlur(e)},Le=function(e){var t=e.metaKey||e.ctrlKey;switch(e.code){case"ArrowDown":Ae(e);break;case"ArrowUp":_e(e);break;case"ArrowLeft":qe(e);break;case"ArrowRight":Ze(e);break;case"Home":We(e);break;case"End":Be(e);break;case"Space":ze(e);break;case"Enter":case"NumpadEnter":Fe(e);break;case"Escape":Ve(e);break;case"Tab":Xe(e);break;case"PageDown":case"PageUp":case"Backspace":case"ShiftLeft":case"ShiftRight":break;default:!t&&a.ObjectUtils.isPrintableCharacter(e.key)&&Je(e,e.key)}},Ke=function(e){var t=e.processedItem,n=e.isFocus,r=e.updateState,o=void 0===r||r;if(!a.ObjectUtils.isEmpty(t)){var i=t.index,u=t.key,c=t.level,l=t.parentKey,s=a.ObjectUtils.isNotEmpty(t.items),m=W.filter((function(e){return e.parentKey!==l&&e.parentKey!==u}));s&&o&&(m.push(t),g(!0)),q({index:i,level:c,parentKey:l}),B(m),n&&a.DomHandler.focus(oe.current.getElement())}},Te=function(e){var t=e.processedItem,n=et(t);if(at(t)){var r=t.index,o=t.key,i=t.level,u=t.parentKey;B(W.filter((function(e){return o!==e.key&&o.startsWith(e.key)}))),q({index:r,level:i,parentKey:u}),a.DomHandler.focus(oe.current.getElement())}else n?Ke(e):he()},Re=function(e){Ke(e)},Ae=function(e){var t=-1!==_.index?ot(_.index):st();Ye(t),e.preventDefault()},_e=function(e){if(e.altKey){if(-1!==_.index){var t=J[_.index];!et(t)&&Ke({originalEvent:e,processedItem:t})}e.preventDefault()}else{var n=-1!==_.index?it(_.index):mt();Ye(n),e.preventDefault()}},qe=function(e){var t=J[_.index],n=W.find((function(e){return e.key===t.parentKey}));a.ObjectUtils.isEmpty(t.parent)||(q({index:-1,parentKey:n?n.parentKey:""}),ae.current="",setTimeout((function(){return R(!0)}),0)),e.preventDefault()},Ze=function(e){var t=J[_.index];et(t)&&(Ke({originalEvent:e,processedItem:t}),q({index:-1,parentKey:t.key}),ae.current="",setTimeout((function(){return R(!0)}),0)),e.preventDefault()},We=function(e){Ye(ct()),e.preventDefault()},Be=function(e){Ye(lt()),e.preventDefault()},Fe=function(e){if(-1!==_.index){var t=a.DomHandler.findSingle(oe.current.getElement(),'li[id="'.concat("".concat(G),'"]')),n=t&&a.DomHandler.findSingle(t,'a[data-pc-section="action"]');n?n.click():t&&t.click(),!et(J[_.index])&&q(D(D({},_),{},{index:st()}))}e.preventDefault()},ze=function(e){Fe(e)},Ve=function(e){he(),q({focusedItemInfo:_,index:st()}),e.preventDefault()},Xe=function(e){if(-1!==_.index){var t=J[_.index];!et(t)&&Ke({originalEvent:e,processedItem:t})}he()},Je=function(e,t){ae.current=ae.current||""+t;var n=-1,r=!1;return-1!==(n=-1!==_.index?-1===(n=J.slice(_.index).findIndex((function(e){return rt(e)})))?J.slice(0,_.index).findIndex((function(e){return rt(e)})):n+_.index:J.findIndex((function(e){return rt(e)})))&&(r=!0),-1===n&&-1===_.index&&(n=st()),-1!==n&&Ye(n),ue.current&&clearTimeout(ue.current),ue.current=setTimeout((function(){ae.current="",ue.current=null}),500),r},Ye=function(e){_.index!==e&&(q(D(D({},_),{},{index:e})),$e())},$e=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:-1,t=-1!==e?"".concat(b,"_").concat(e):G,n=a.DomHandler.findSingle(oe.current.getElement(),'li[id="'.concat(t,'"]'));n&&n.scrollIntoView&&n.scrollIntoView({block:"nearest",inline:"start"})},Ge=function(e,t){return e?a.ObjectUtils.getItemValue(e[t]):void 0},Qe=function(e){return e?Ge(e.item,"label"):void 0},et=function(e){return e&&a.ObjectUtils.isNotEmpty(e.items)},tt=function(e){return Ge(e,"separator")},nt=function(e){return!!e&&!Ge(e.item,"disabled")&&!tt(e.item)},rt=function(e){return nt(e)&&Qe(e).toLocaleLowerCase().startsWith(ae.current.toLocaleLowerCase())},ot=function(e){var t=e<J.length-1?J.slice(e+1).findIndex((function(e){return nt(e)})):-1;return t>-1?t+e+1:e},it=function(e){var t=e>0?a.ObjectUtils.findLastIndex(J.slice(0,e),(function(e){return nt(e)})):-1;return t>-1?t:e},at=function(e){return W&&W.some((function(t){return t.key===e.key}))},ut=function(e){return nt(e)&&at(e)},ct=function(){return J.findIndex((function(e){return nt(e)}))},lt=function(){return a.ObjectUtils.findLastIndex(J,(function(e){return nt(e)}))},st=function(){var e=ft();return e<0?ct():e},mt=function(){var e=ft();return e<0?lt():e},ft=function(){return J.findIndex((function(e){return ut(e)}))},dt=(He=c({id:s.id,className:a.classNames(s.className,ne("root",{context:l})),style:s.style,onClick:function(e){j(!1)},onMouseEnter:function(e){j(!1)}},k.getOtherProps(s),te("root")),Me=c({classNames:ne("transition"),in:x,timeout:{enter:250,exit:0},options:s.transitionOptions,unmountOnExit:!0,onEnter:Ie,onEntered:Ee,onExit:Oe,onExited:ke},te("transition")),m.createElement(r.CSSTransition,d({nodeRef:re},Me),m.createElement("div",d({ref:re},He),m.createElement(P,{ref:oe,ariaLabel:s.ariaLabel,ariaLabelledby:s.ariaLabelledby,activeItemPath:W,hostName:"ContextMenu",id:b+"_list",role:"menubar",tabIndex:s.tabIndex||0,ariaActivedescendant:C?G:void 0,menuId:b,focusedItemId:C?G:void 0,menuProps:s,model:z,level:0,root:!0,onItemClick:Te,onItemMouseEnter:Re,onFocus:Ue,onBlur:Ce,onKeyDown:Le,resetMenu:w,onLeafClick:Pe,isMobileMode:le,submenuIcon:s.submenuIcon,ptm:te,cx:ne}))));return m.createElement(i.Portal,{element:dt,appendTo:s.appendTo})})));N.displayName="ContextMenu",exports.ContextMenu=N;