import*as e from"react";import n,{PrimeReactContext as t,ariaLabel as r}from"primereact/api";import{ComponentBase as i,useHandleStyle as o}from"primereact/componentbase";import{useMergeProps as a,useEventListener as u,useResizeListener as c,useMountEffect as l,useUpdateEffect as s,useUnmountEffect as m}from"primereact/hooks";import{BarsIcon as f}from"primereact/icons/bars";import{classNames as p,ObjectUtils as d,IconUtils as b,DomHandler as v,UniqueComponentId as y,ZIndexUtils as g}from"primereact/utils";import{AngleDownIcon as x}from"primereact/icons/angledown";import{AngleRightIcon as h}from"primereact/icons/angleright";import{Ripple as I}from"primereact/ripple";function E(e){return E="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(e)}function k(e,n){if("object"!=E(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var r=t.call(e,n||"default");if("object"!=E(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===n?String:Number)(e)}function O(e){var n=k(e,"string");return"symbol"==E(n)?n:n+""}function S(e,n,t){return(n=O(n))in e?Object.defineProperty(e,n,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[n]=t,e}function w(e){if(Array.isArray(e))return e}function P(e,n){var t=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=t){var r,i,o,a,u=[],c=!0,l=!1;try{if(o=(t=t.call(e)).next,0===n){if(Object(t)!==t)return;c=!1}else for(;!(c=(r=o.call(t)).done)&&(u.push(r.value),u.length!==n);c=!0);}catch(e){l=!0,i=e}finally{try{if(!c&&null!=t.return&&(a=t.return(),Object(a)!==a))return}finally{if(l)throw i}}return u}}function N(e,n){(null==n||n>e.length)&&(n=e.length);for(var t=0,r=Array(n);t li ul {\n display: none;\n z-index: 1;\n }\n\n .p-menubar-root-list > .p-menuitem-active > .p-submenu-list {\n display: block;\n }\n\n .p-menubar .p-submenu-list {\n display: none;\n position: absolute;\n z-index: 5;\n }\n\n .p-menubar .p-submenu-list > .p-menuitem-active > .p-submenu-list {\n display: block;\n left: 100%;\n top: 0;\n }\n\n .p-menubar .p-submenu-list .p-menuitem .p-menuitem-content .p-menuitem-link .p-submenu-icon {\n margin-left: auto;\n }\n\n .p-menubar .p-menubar-end {\n margin-left: auto;\n align-self: center;\n }\n\n .p-menubar-button {\n display: none;\n cursor: pointer;\n align-items: center;\n justify-content: center;\n text-decoration: none;\n }\n}\n"}});function C(){return C=Object.assign?Object.assign.bind():function(e){for(var n=1;n-1?n+e+1:e},Ve=function(e){var n=e>0?d.findLastIndex(W.slice(0,e),(function(e){return Be(e)})):-1;return n>-1?n:e},He=function(){return W.findIndex((function(e){return Fe(e)}))},We=function(){return He()},Ze=function(){return He()},Ye=function(e,n){ue.current=(ue.current||"")+n;var t=-1,r=!1;return-1!==(t=-1!==R.index?-1===(t=W.slice(R.index).findIndex((function(e){return _e(e)})))?W.slice(0,R.index).findIndex((function(e){return _e(e)})):t+R.index:W.findIndex((function(e){return _e(e)})))&&(r=!0),-1===t&&-1===R.index&&(t=We()),-1!==t&&$e(t),ce.current&&clearTimeout(ce.current),ce.current=setTimeout((function(){ue.current="",ce.current=null}),500),r},$e=function(e){R.index!==e&&(B(_(_({},R),{},{index:e})),qe())},qe=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:-1,n=-1!==e?"".concat(O,"_").concat(e):J,t=v.findSingle(oe.current,'li[data-id="'.concat(n,'"]'));t&&t.scrollIntoView&&t.scrollIntoView({block:"nearest",inline:"start"})},Ge=function(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"",i=[];return e&&e.forEach((function(e,o){var a=(""!==r?r+"_":"")+o,u={item:e,index:o,level:n,key:a,parent:t,parentKey:r};u.items=Ge(e.items,n+1,u,a),i.push(u)})),i};l((function(){O||w(y())})),s((function(){N?(de(),ye(),g.set("menu",oe.current,I&&I.autoZIndex||n.autoZIndex,I&&I.zIndex.menu||n.zIndex.menu)):(ge(),be(),g.clear(oe.current))}),[N]),e.useEffect((function(){var e=Ge(E.model||[],0,null,"");q(e)}),[E.model]),s((function(){var e=U.find((function(e){return e.key===R.parentKey}));Z(e?e.items:$)}),[U,R,$]),s((function(){d.isNotEmpty(U)?(de(),ye()):(be(),ge())}),[U]),s((function(){if(Q){var e=-1!==R.index?Ue(R.index):le.current?ze():We();$e(e),le.current=!1,ee(!1)}}),[Q]),s((function(){X(-1!==R.index?"".concat(O).concat(d.isNotEmpty(R.parentKey)?"_"+R.parentKey:"","_").concat(R.index):null)}),[R]),m((function(){g.clear(oe.current)})),e.useImperativeHandle(x,(function(){return{props:E,toggle:xe,getElement:function(){return ie.current},getRootMenu:function(){return oe.current},getMenuButton:function(){return ae.current}}}));var Qe=function(){if(E.start){var n=d.getJSXElement(E.start,E),t=h({className:fe("start")},me("start"));return e.createElement("div",t,n)}return null}(),en=function(){if(E.end){var n=d.getJSXElement(E.end,E),t=h({className:fe("end")},me("end"));return e.createElement("div",t,n)}return null}(),nn=function(){if(E.model&&E.model.length<1)return null;var n=h(S(S(S(S({ref:ae,href:"#",tabIndex:"0","aria-haspopup":!!(N&&E.model&&E.model.length>0),"aria-expanded":N,"aria-label":r("navigation"),"aria-controls":O,role:"button"},"tabIndex",0),"className",fe("button")),"onKeyDown",(function(e){var n;("Enter"===(n=e).code||"NumpadEnter"===n.code||"Space"===n.code)&&xe(n)})),"onClick",(function(e){return xe(e)})),me("button")),t=h(me("popupIcon")),i=b.getJSXIcon(E.menuIcon||e.createElement(f,t),_({},t),{props:E});return e.createElement("a",n,i)}(),tn=e.createElement(T,{hostName:"Menubar",ariaActivedescendant:C?J:void 0,level:0,id:O,ref:oe,menuProps:E,model:$,onLeafClick:function(e){var n=e.originalEvent,t=e.processedItem,r=we(t),i=d.isEmpty(t.parent);if(Je(t)){var o=t.index,a=t.key,u=t.level,c=t.parentKey;V(U.filter((function(e){return a!==e.key&&a.startsWith(e.key)}))),B({index:o,level:u,parentKey:c}),r||re(!i),setTimeout((function(){v.focus(oe.current),r&&re(!0)}),0)}else if(r)v.focus(oe.current),Pe({originalEvent:n,processedItem:t});else{var l=i?t:U.find((function(e){return""===e.parentKey})),s=l?l.index:-1;Ie(n),B({index:s,parentKey:l?l.parentKey:""}),K(!1)}},onItemMouseEnter:function(e){!N&&te&&Pe(e)},onFocus:function(e){L(!0),B(-1!==R.index?R:{index:We(),level:0,parentKey:""}),E.onFocus&&E.onFocus(e)},onBlur:function(e){L(!1),B({index:-1,level:0,parentKey:""}),ue.current="",re(!1),E.onBlur&&E.onBlur(e)},onKeyDown:function(e){var n=e.metaKey||e.ctrlKey;switch(e.code){case"ArrowDown":Ne(e);break;case"ArrowUp":Ke(e);break;case"ArrowLeft":je(e);break;case"ArrowRight":De(e);break;case"Home":Ae(e);break;case"End":Ce(e);break;case"Space":Me(e);break;case"Enter":case"NumpadEnter":Le(e);break;case"Escape":Te();break;case"Tab":Re(e);break;case"PageDown":case"PageUp":case"Backspace":case"ShiftLeft":case"ShiftRight":break;default:!n&&d.isPrintableCharacter(e.key)&&Ye(e,e.key)}},root:!0,activeItemPath:U,focusedItemId:C?J:void 0,submenuIcon:E.submenuIcon,ptm:me,cx:fe}),rn=h({id:E.id,ref:ie,className:p(E.className,fe("root",{mobileActiveState:N})),style:E.style},A.getOtherProps(E),me("root"));return e.createElement("div",rn,Qe,nn,tn,en)})));B.displayName="Menubar";export{B as Menubar};