import*as e from"react";import t,{PrimeReactContext as n}from"primereact/api";import{Button as r}from"primereact/button";import{ComponentBase as o,useHandleStyle as i}from"primereact/componentbase";import{useMergeProps as u,useUpdateEffect as a,useMatchMedia as l,useEventListener as c,useResizeListener as s,useMountEffect as p,useUnmountEffect as m,useDisplayOrder as d,useGlobalOnEscapeKey as f,ESC_KEY_HANDLING_PRIORITIES as b}from"primereact/hooks";import{ChevronDownIcon as y}from"primereact/icons/chevrondown";import{OverlayService as v}from"primereact/overlayservice";import{CSSTransition as g}from"primereact/csstransition";import{Portal as h}from"primereact/portal";import{classNames as x,DomHandler as I,ObjectUtils as E,IconUtils as O,UniqueComponentId as w,ZIndexUtils as k}from"primereact/utils";import{AngleRightIcon as S}from"primereact/icons/angleright";import{Ripple as P}from"primereact/ripple";import{Tooltip as N}from"primereact/tooltip";function j(){return j=Object.assign?Object.assign.bind():function(e){for(var t=1;te.length)&&(t=e.length);for(var n=0,r=Array(t);n .p-submenu-list {\n display: block;\n left: 100%;\n top: 0;\n }\n\n .p-tieredmenu .p-menuitem-active > .p-submenu-list-flipped {\n left: -100%;\n }\n}\n",inlineStyles:{submenu:function(e){var t=e.subProps;return{display:!t.root&&t.parentActive?"block":"none"}}}}});function z(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 Z(e){for(var t=1;tn.height?n.height-u+"px":"0px",parseInt(t.left,10)+i+o>n.width-I.calculateScrollbarWidth()&&I.addClass(r.current,"p-submenu-list-flipped")}},m=function(e,n){var r=n.item;v(n)?e.preventDefault():(r.command&&r.command({originalEvent:e,item:r}),t.onItemClick&&t.onItemClick({originalEvent:e,processedItem:n}),r.url||(e.preventDefault(),e.stopPropagation()))},d=function(e){return e.item&&e.item.id?e.item.id:"".concat(t.menuId,"_").concat(e.key)},f=function(e,t,n){return e&&e.item?E.getItemValue(e.item[t],n):void 0},b=function(e){return t.activeItemPath.some((function(t){return t.key===e.key}))},y=function(e){return!1!==f(e,"visible")},v=function(e){return f(e,"disabled")},g=function(e){return t.focusedItemId===d(e)},h=function(e){return E.isNotEmpty(e.items)},w=function(e,n){t.onItemMouseEnter&&t.onItemMouseEnter({originalEvent:e,processedItem:n})},k=function(e){return e-t.model.slice(0,e).filter((function(e){return y(e)&&f(e,"separator")})).length+1};a((function(){t.root||!t.parentActive||t.isMobileMode||p()}),[t.parentActive]),e.useImperativeHandle(n,(function(){return{getElement:function(){return r.current}}}));var N=function(n){var r="separator_"+n,u=o({className:l("separator"),role:"separator"},i("separator",{hostName:t.hostName}));return e.createElement("li",j({},u,{key:r}))},D=function(n,r){return h(n)?e.createElement(F,{id:t.id+"_"+r,menuProps:t.menuProps,model:n.items,menuId:t.menuId,ariaLabelledby:d(n),focusedItemId:t.focusedItemId,activeItemPath:t.activeItemPath,level:t.level+1,onItemClick:t.onItemClick,popup:t.popup,onItemMouseEnter:t.onItemMouseEnter,parentActive:b(n),isMobileMode:t.isMobileMode,submenuIcon:t.submenuIcon,ptm:t.ptm,cx:l,sx:c}):null},T=function(n,r){if(!1===y(n))return null;var i=n.item,u=f(n,"style"),a=f(n,"className"),c=f(n,"icon"),p=f(n,"target"),I=f(n,"url"),N=d(n),T=g(n),C=b(n),K=v(n),M=h(n),_=x("p-menuitem-link"),A=x("p-menuitem-icon",c),B=o({className:x(i.icon,"p-menuitem-icon","icon")},s(n,"icon")),L=O.getJSXIcon(c,Z({},B),{props:t.menuProps}),H=o({className:l("label")},s(n,"label")),R=i.label&&e.createElement("span",H,i.label),z=o({className:l("submenuIcon")},s(n,"submenuIcon")),F=M&&O.getJSXIcon(t.submenuIcon||e.createElement(S,z),Z({},z),{props:t.menuProps}),W=D(n,r),U=o({href:I||"#",tabIndex:"-1",onFocus:function(e){return e.stopPropagation()},className:l("action"),target:p},s(n,"action")),V=e.createElement("a",U,L,R,F,e.createElement(P,null));i.template&&(V=E.getJSXElement(i.template,i,{className:_,labelClassName:"p-menuitem-text",iconClassName:A,submenuIconClassName:"p-submenu-icon",element:V,props:t,active:C,disabled:K}));var J=o({onClick:function(e){return m(e,n)},onMouseEnter:function(e){return w(e,n)},className:l("content")},s(n,"content")),X=o({id:N,"aria-label":i.label,"aria-disabled":K,"aria-expanded":M?C:void 0,"aria-haspopup":M&&!I?"menu":void 0,"aria-setsize":t.model.filter((function(e){return y(e)&&!f(e,"separator")})).length,"aria-posinset":k(r),"data-p-highlight":C,"data-p-disabled":K,"data-p-visited":T,className:l("menuitem",{itemClassName:a,active:C,focused:T,disabled:K}),style:u,onMouseEnter:function(e){return w(e,i)},role:"menuitem"},s(n,"menuitem"));return e.createElement("li",j({},X,{key:N}),e.createElement("div",J,V),W)},C=t.model?t.model.map((function(e,t){return!1===e.visible?null:f(e,"separator")?N(t):T(e,t)})):null,K=t.root?"menu":"submenu",M=o({ref:r,id:t.id,tabIndex:t.tabIndex,onFocus:t.onFocus,onBlur:t.onBlur,onKeyDown:t.onKeyDown,className:l(K,{subProps:t}),style:c(K,{subProps:t}),role:t.root?"menubar":"menu","aria-label":t.ariaLabel,"aria-labelledby":t.ariaLabelledby,"aria-orientation":t.ariaOrientation,"aria-activedescendant":t.focusedItemId},i(K,{hostName:t.hostName}));return e.createElement("ul",M,C)})));function W(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 U(e){for(var t=1;t-1?t+e+1:e},it=function(e){var t=e>0?E.findLastIndex(ee.slice(0,e),(function(e){return Qe(e)})):-1;return t>-1?t:e},ut=function(){return ee.findIndex((function(e){return et(e)}))},at=function(){var e=ut();return e<0?nt():e},lt=function(){var e=ut();return e<0?rt():e},ct=function(e){ge.current=(ge.current||"")+e;var t=-1,n=!1;return-1!==(t=-1!==W.index?-1===(t=ee.slice(W.index).findIndex((function(e){return Ge(e)})))?ee.slice(0,W.index).findIndex((function(e){return Ge(e)})):t+W.index:ee.findIndex((function(e){return Ge(e)})))&&(n=!0),-1===t&&-1===W.index&&(t=at()),-1!==t&&st(t),he.current&&clearTimeout(he),he.current=setTimeout((function(){ge.current="",he.current=null}),500),n},st=function(e){W.index!==e&&(V(U(U({},W),{},{index:e})),pt())},pt=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:-1,t=-1!==e?"".concat(O,"_").concat(e):L,n=I.findSingle(Je(),'li[id="'.concat(t,'"]'));n&&n.scrollIntoView&&n.scrollIntoView({block:"nearest",inline:"start"})},mt=e.useCallback((function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,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 u=(""!==r?r+"_":"")+i,a={item:e,index:i,level:t,key:u,parent:n,parentKey:r};a.items=mt(e.items,t+1,a,u),o.push(a)})),o}),[]),dt=function(){if(!ve.current){ve.current=I.createInlineStyle(f&&f.nonce||t.nonce,f&&f.styleContainer);var e="".concat(ue),n="\n@media screen and (max-width: ".concat(b.breakpoint,") {\n .p-tieredmenu[").concat(e,"] > ul {\n max-height: ").concat(b.scrollHeight,";\n overflow: ").concat(b.scrollHeight?"auto":"",";\n }\n\n .p-tieredmenu[").concat(e,"] .p-submenu-list {\n position: relative;\n }\n\n .p-tieredmenu[").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-tieredmenu[").concat(e,"] .p-menuitem-active > .p-menuitem-link > .p-submenu-icon {\n transform: rotate(-180deg);\n }\n\n .p-tieredmenu[").concat(e,'] .p-submenu-icon:before {\n content: "\\e930";\n }\n\n ').concat(b.popup?"":".p-tieredmenu[".concat(e,"] { width: 100%; }"),"\n}\n");ve.current.innerHTML=n}},ft=function(){ve.current=I.removeInlineStyle(ve.current)},bt=function(){var e;b.autoZIndex&&k.set("menu",de.current,f&&f.autoZIndex||t.autoZIndex,b.baseZIndex||f&&f.zIndex.menu||t.zIndex.menu),I.addStyles(de.current,{position:"absolute",top:"0",left:"0"}),e=I.getOuterWidth(be.current)>I.getOuterWidth(de.current),I.alignOverlay(de.current,be.current,b.appendTo,e),I.focus(fe.current.getElement()),pt(),ue&&b.breakpoint&&(de.current.setAttribute(ue,""),dt())},yt=function(){Ee(),ke()},vt=function(){be.current=null,Oe(),Se()},gt=function(){k.clear(de.current),ft()};p((function(){var e=w();!O&&S(e),b.breakpoint&&!ue&&ae(e)})),e.useEffect((function(){var e=mt(b.model||[]);G(e)}),[b.model,mt]),a((function(){var e=C.find((function(e){return e.key===W.parentKey}));te(e?e.items:q)}),[C,W,q]),a((function(){var e=-1!==W.index?"".concat(O).concat(E.isNotEmpty(W.parentKey)?"_"+W.parentKey:"","_").concat(W.index):null;z(e)}),[W]),a((function(){b.popup||(E.isNotEmpty(C)?(Ee(),ke()):(Oe(),Se()))}),[C]),a((function(){if(re){var e=-1!==W.index?ot(W.index):at();st(e),K(C.filter((function(e){return e.parentKey!==W.parentKey}))),oe(!1)}}),[re]),a((function(){return ue&&de.current&&(de.current.setAttribute(ue,""),dt()),function(){ft()}}),[ue,b.breakpoint]),m((function(){k.clear(de.current)})),e.useImperativeHandle(o,(function(){return{props:b,toggle:Ne,show:je,hide:De,getElement:function(){return de.current}}}));var ht,xt,It=(ht=d({ref:de,id:b.id,className:x(b.className,pe("root")),style:b.style,onClick:Pe},R.getOtherProps(b),se("root")),xt=d({classNames:pe("transition"),in:N,timeout:{enter:120,exit:100},options:b.transitionOptions,unmountOnExit:!0,onEnter:bt,onEntered:yt,onExit:vt,onExited:gt},se("transition")),e.createElement(g,j({nodeRef:de},xt),e.createElement("div",ht,e.createElement(F,{id:O+"_list",ref:fe,hostName:"TieredMenu",menuProps:b,tabIndex:0,model:q,ariaLabel:b.ariaLabel,ariaLabelledBy:b.ariaLabelledBy,ariaOrientation:"vertical",ariaActiveDescendant:_?L:void 0,menuId:O,level:0,focusedItemId:L,activeItemPath:C,onFocus:Te,onBlur:Ce,onKeyDown:Ke,onItemClick:_e,onItemMouseEnter:Ae,root:!0,popup:b.popup,onHide:De,isMobileMode:xe,submenuIcon:b.submenuIcon,ptm:se,cx:pe,sx:me}))));return b.popup?e.createElement(h,{element:It,appendTo:b.appendTo}):It})));V.displayName="TieredMenu";var J=o.extend({defaultProps:{__TYPE:"SplitButton",id:null,label:null,icon:null,autoZIndex:!0,baseZIndex:0,loading:!1,loadingIcon:null,model:null,disabled:null,style:null,className:null,buttonClassName:null,menuStyle:null,menuClassName:null,menuButtonClassName:null,buttonProps:null,menuButtonProps:null,tabIndex:null,severity:null,rounded:!1,raised:!1,outlined:!1,text:!1,size:null,appendTo:null,tooltip:null,tooltipOptions:null,buttonTemplate:null,transitionOptions:null,dropdownIcon:null,onClick:null,onShow:null,onHide:null,children:void 0},css:{classes:{icon:"p-button-icon p-c",root:function(e){var t=e.props,n=e.size;return x("p-splitbutton p-component",K(K(K(K(K(K({"p-disabled":t.disabled,"p-button-loading-label-only":t.loading&&!t.icon&&t.label},"p-button-".concat(t.severity),t.severity),"p-button-raised",t.raised),"p-button-rounded",t.rounded),"p-button-text",t.text),"p-button-outlined",t.outlined),"p-button-".concat(n),n))},button:"p-splitbutton-defaultbutton",menuButton:"p-splitbutton-menubutton",menu:function(e){return x("p-menu p-menu-overlay p-component",e.props.menuClassName)},menuList:"p-menu-list p-reset",separator:"p-menu-separator",menuIcon:"p-menuitem-icon",menuLabel:"p-menuitem-text",anchor:function(e){return x("p-menuitem-link",e._className,{"p-disabled":e.disabled})},menuItem:"p-menuitem",transition:"p-connected-overlay"},styles:"\n@layer primereact {\n .p-splitbutton {\n display: inline-flex;\n position: relative;\n }\n\n .p-splitbutton .p-splitbutton-defaultbutton,\n .p-splitbutton.p-button-rounded > .p-splitbutton-defaultbutton.p-button,\n .p-splitbutton.p-button-outlined > .p-splitbutton-defaultbutton.p-button,\n .p-splitbutton.p-button-outlined > .p-splitbutton-defaultbutton.p-button-outlined.p-button:hover {\n flex: 1 1 auto;\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n border-right: 0 none;\n }\n\n .p-splitbutton-menubutton,\n .p-splitbutton.p-button-rounded > .p-splitbutton-menubutton.p-button,\n .p-splitbutton.p-button-outlined > .p-splitbutton-menubutton.p-button {\n display: flex;\n align-items: center;\n justify-content: center;\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n }\n\n .p-splitbutton .p-menu {\n min-width: 100%;\n }\n\n .p-fluid .p-splitbutton {\n display: flex;\n }\n}\n"}});function X(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 Y(e){for(var t=1;t