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) 25.9 kB
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 O,IconUtils as E,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;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},j.apply(this,arguments)}function D(e){return D="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},D(e)}function T(e,t){if("object"!==D(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,t||"default");if("object"!==D(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}function C(e){var t=T(e,"string");return"symbol"===D(t)?t:String(t)}function K(e,t,n){return(t=C(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function M(e){if(Array.isArray(e))return e}function _(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,o,i,u,a=[],l=!0,c=!1;try{if(i=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;l=!1}else for(;!(l=(r=i.call(n)).done)&&(a.push(r.value),a.length!==t);l=!0);}catch(e){c=!0,o=e}finally{try{if(!l&&null!=n.return&&(u=n.return(),Object(u)!==u))return}finally{if(c)throw o}}return a}}function A(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function B(e,t){if(e){if("string"==typeof e)return A(e,t);var n=Object.prototype.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)?A(e,t):void 0}}function L(){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 H(e,t){return M(e)||_(e,t)||B(e,t)||L()}var R=o.extend({defaultProps:{__TYPE:"TieredMenu",id:null,model:null,popup:!1,style:null,className:null,autoZIndex:!0,baseZIndex:0,breakpoint:void 0,scrollHeight:"400px",appendTo:null,transitionOptions:null,onShow:null,onFocus:null,onBlur:null,onHide:null,submenuIcon:null,children:void 0},css:{classes:{root:function(e){var n=e.context;return x("p-tieredmenu p-component",{"p-tieredmenu-overlay":e.props.popup,"p-input-filled":n&&"filled"===n.inputStyle||"filled"===t.inputStyle,"p-ripple-disabled":n&&!1===n.ripple||!1===t.ripple})},separator:"p-menuitem-separator",icon:function(e){return x("p-menuitem-icon",e._icon)},content:"p-menuitem-content",label:"p-menuitem-text",submenuIcon:"p-submenu-icon",action:"p-menuitem-link",menuitem:function(e){return x("p-menuitem",{"p-menuitem-active p-highlight":e.active,"p-focus":e.focused,"p-disabled":e.disabled},e.itemClassName)},menu:"p-tieredmenu-root-list",submenu:"p-submenu-list",transition:"p-connected-overlay"},styles:"\n@layer primereact {\n .p-tieredmenu-overlay {\n position: absolute;\n }\n\n .p-tieredmenu ul {\n margin: 0;\n padding: 0;\n list-style: none;\n }\n\n .p-tieredmenu .p-submenu-list {\n position: absolute;\n min-width: 100%;\n z-index: 1;\n display: none;\n }\n\n .p-tieredmenu .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-tieredmenu .p-menuitem-text {\n line-height: 1;\n }\n\n .p-tieredmenu .p-menuitem {\n position: relative;\n }\n\n .p-tieredmenu .p-menuitem-link .p-submenu-icon {\n margin-left: auto;\n }\n\n .p-tieredmenu .p-menuitem-active > .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;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?z(Object(n),!0).forEach((function(t){K(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):z(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}var F=e.memo(e.forwardRef((function(t,n){var r=e.useRef(null),o=u(),i=t.ptm,l=t.cx,c=t.sx,s=function(e,n){return i(n,{hostName:t.hostName,context:{active:b(e)}})},p=function(){if(r.current){var e=r.current.parentElement,t=I.getOffset(e),n=I.getViewport(),o=r.current.offsetParent?r.current.offsetWidth:I.getHiddenElementOuterWidth(r.current),i=I.getOuterWidth(e.children[0]),u=parseInt(t.top,10)+r.current.offsetHeight-I.getWindowScrollTop();r.current.style.top=u>n.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"".concat(t.menuId,"_").concat(e.key)},f=function(e,t,n){return e&&e.item?O.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 O.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=o({key:"separator_"+n,className:l("separator"),role:"separator"},i("separator",{hostName:t.hostName}));return e.createElement("li",r)},j=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},D=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),D=g(n),T=b(n),C=v(n),K=h(n),M=x("p-menuitem-link"),_=x("p-menuitem-icon",c),A=o({className:x(i.icon,"p-menuitem-icon","icon")},s(n,"icon")),B=E.getJSXIcon(c,Z({},A),{props:t.menuProps}),L=o({className:l("label")},s(n,"label")),H=i.label&&e.createElement("span",L,i.label),R=o({className:l("submenuIcon")},s(n,"submenuIcon")),z=K&&E.getJSXIcon(t.submenuIcon||e.createElement(S,R),Z({},R),{props:t.menuProps}),F=j(n,r),W=o({href:I||"#","aria-hidden":!0,tabIndex:"-1",onFocus:function(e){return e.stopPropagation()},className:l("action"),target:p},s(n,"action")),U=e.createElement("a",W,B,H,z,e.createElement(P,null));i.template&&(U=O.getJSXElement(i.template,i,{className:M,labelClassName:"p-menuitem-text",iconClassName:_,submenuIconClassName:"p-submenu-icon",element:U,props:t,active:T,disabled:C}));var V=o({onClick:function(e){return m(e,n)},onMouseEnter:function(e){return w(e,n)},className:l("content")},s(n,"content")),J=o({key:N,id:N,"aria-label":i.label,"aria-disabled":C,"aria-expanded":K?T:void 0,"aria-haspopup":K&&!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":T,"data-p-disabled":C,"data-p-visited":D,className:l("menuitem",{itemClassName:a,active:T,focused:D,disabled:C}),style:u,onMouseEnter:function(e){return w(e,i)},role:"menuitem"},s(n,"menuitem"));return e.createElement("li",J,e.createElement("div",V,U),F)},T=t.model?t.model.map((function(e,t){return f(e,"separator")?N(t):D(e,t)})):null,C=t.root?"menu":"submenu",K=o({ref:r,id:t.id,tabIndex:t.tabIndex,onFocus:t.onFocus,onBlur:t.onBlur,onKeyDown:t.onKeyDown,className:l(C,{subProps:t}),style:c(C,{subProps:t}),role:t.root?"menubar":"menu","aria-label":t.ariaLabel,"aria-labelledby":t.ariaLabelledby,"aria-orientation":t.ariaOrientation,"aria-activedescendant":t.focusedItemId},i(C,{hostName:t.hostName}));return e.createElement("ul",K,T)})));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<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?W(Object(n),!0).forEach((function(t){K(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):W(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}F.displayName="TieredMenuSub";var V=e.memo(e.forwardRef((function(r,o){var d=u(),f=e.useContext(n),b=R.getProps(r,f),y=H(e.useState(b.id),2),E=y[0],S=y[1],P=H(e.useState(!b.popup),2),N=P[0],D=P[1],T=H(e.useState([]),2),C=T[0],K=T[1],M=H(e.useState(!1),2),_=M[0],A=M[1],B=H(e.useState(null),2),L=B[0],z=B[1],Z=H(e.useState({index:-1,level:0,parentKey:""}),2),W=Z[0],V=Z[1],J=H(e.useState(!1),2),X=J[0],Y=J[1],$=H(e.useState([]),2),q=$[0],G=$[1],Q=H(e.useState([]),2),ee=Q[0],te=Q[1],ne=H(e.useState(!1),2),re=ne[0],oe=ne[1],ie=H(e.useState(null),2),ue=ie[0],ae=ie[1],le=R.setMetaData({props:b,state:{id:E,visible:N,attributeSelector:ue}}),ce=le.ptm,se=le.cx,pe=le.sx;i(R.css.styles,le.isUnstyled,{name:"tieredmenu"});var me=e.useRef(null),de=e.useRef(null),fe=e.useRef(null),be=e.useRef(null),ye=e.useRef(null),ve=e.useRef(null),ge=e.useRef(null),he=l("screen and (max-width: ".concat(b.breakpoint,")"),!!b.breakpoint),xe=H(c({type:"click",listener:function(e){var t=me.current&&!me.current.contains(e.target),n=!b.popup||!(fe.current&&(fe.current===e.target||fe.current.contains(e.target)));t&&n&&je(e,!b.popup)}}),2),Ie=xe[0],Oe=xe[1],Ee=H(s({listener:function(){!he&&je(event,!0)}}),2),we=Ee[0],ke=Ee[1],Se=function(e){b.popup&&v.emit("overlay-click",{originalEvent:e,target:fe.current})},Pe=function(e){b.popup&&(N?je(e):Ne(e))},Ne=function(e){b.popup&&(fe.current=e.currentTarget,D(!0),b.onShow&&b.onShow(e),be.current=e.relatedTarget||null),V({index:ut(),level:0,parentKey:""})},je=function(e,t){b.popup&&(D(!1),b.onHide&&b.onHide(e));var n=Ve();K([]),V({index:-1,level:0,parentKey:""}),t&&I.focus(be.current||fe.current||n),Y(!1)},De=function(e){A(!0),V(-1!==W.index?W:{index:ut(),level:0,parentKey:""}),b.onFocus&&b.onFocus(e)},Te=function(e){A(!1),V({index:-1,level:0,parentKey:""}),ve.current="",Y(!1),b.onBlur&&b.onBlur(e)},Ce=function(e){var t=e.metaKey||e.ctrlKey;switch(e.code){case"ArrowDown":Ae(e);break;case"ArrowUp":Be(e);break;case"ArrowLeft":Le(e);break;case"ArrowRight":He(e);break;case"Home":Re(e);break;case"End":ze(e);break;case"Space":Fe(e);break;case"Enter":case"NumpadEnter":Ze(e);break;case"Escape":b.popup&&I.focus(fe.current),We(e);break;case"Tab":Ue(e);break;case"PageDown":case"PageUp":case"Backspace":case"ShiftLeft":case"ShiftRight":break;default:!t&&O.isPrintableCharacter(e.key)&&lt(e.key)}},Ke=function(e){var t=e.processedItem,n=e.isFocus;if(!O.isEmpty(t)){var r=t.index,o=t.key,i=t.level,u=t.parentKey,a=O.isNotEmpty(t.items),l=C.filter((function(e){return e.parentKey!==u&&e.parentKey!==o}));a&&l.push(t),V({index:r,level:i,parentKey:u}),K(l),a&&Y(!0),n&&I.focus(Ve())}},Me=function(e){var t=e.originalEvent,n=e.processedItem;if(!Xe(n)&&!b.isMobileMode){var r=$e(n),o=O.isEmpty(n.parent),i=et(n),u=Ve();if(i){var a=n.index,l=n.key,c=n.level,s=n.parentKey;K(C.filter((function(e){return l!==e.key&&l.startsWith(e.key)}))),V({index:a,level:c,parentKey:s}),r||Y(!o),setTimeout((function(){I.focus(u),r&&Y(!0)}),0)}else if(r)I.focus(u),Ke(e);else{var p=o?n:C.find((function(e){return""===e.parentKey})),m=p?p.index:-1;je(t,!0),V({index:m,parentKey:p?p.parentKey:""})}}},_e=function(e){var t=e.originalEvent;Xe(e.processedItem)||b.isMobileMode?t.preventDefault():X&&!b.popup&&Ke(e)},Ae=function(e){var t=-1!==W.index?rt(W.index):ut();ct(t),e.preventDefault()},Be=function(e){if(e.altKey){if(b.popup&&I.focus(fe.current),-1!==W.index){var t=ee[W.index];!$e(t)&&Ke({originalEvent:e,processedItem:t})}b.popup&&je(e,!0),e.preventDefault()}else{var n=-1!==W.index?ot(W.index):at();ct(n),e.preventDefault()}},Le=function(e){var t=ee[W.index],n=C.find((function(e){return e.key===t.parentKey}));O.isEmpty(t.parent)||(V({index:-1,parentKey:n?n.parentKey:""}),ve.current="",setTimeout((function(){return oe(!0)}),0)),K(C.filter((function(e){return e.parentKey!==W.parentKey}))),e.preventDefault()},He=function(e){var t=ee[W.index];$e(t)&&(Ke({originalEvent:e,processedItem:t}),V({index:-1,parentKey:t.key}),ve.current="",setTimeout((function(){return oe(!0)}),0)),e.preventDefault()},Re=function(e){ct(tt()),e.preventDefault()},ze=function(e){ct(nt()),e.preventDefault()},Ze=function(e){if(-1!==W.index){var t=I.findSingle(Ve(),'li[id="'.concat("".concat(L),'"]')),n=t&&I.findSingle(t,'[data-pc-section="action"]');b.popup&&I.focus(fe.current),n?n.click():t&&t.click()}e.preventDefault()},Fe=function(e){Ze(e)},We=function(e){je(e,!0),!b.popup&&V(U(U({},W),{},{index:ut()})),e.preventDefault()},Ue=function(e){if(-1!==W.index){var t=ee[W.index];!$e(t)&&Ke({originalEvent:e,processedItem:t})}je(e)},Ve=function(){return de.current.getElement()||null},Je=function(e,t){return e?O.getItemValue(e[t]):void 0},Xe=function(e){return Je(e,"disabled")},Ye=function(e){return e?Je(e.item,"label"):void 0},$e=function(e){return e&&O.isNotEmpty(e.items)},qe=function(e){return Ge(e)&&Ye(e).toLocaleLowerCase().startsWith(ve.current.toLocaleLowerCase())},Ge=function(e){return!!e&&!Xe(e.item)&&!Je(e.item,"separator")},Qe=function(e){return Ge(e)&&et(e)},et=function(e){return C.some((function(t){return t.key===e.key}))},tt=function(){return ee.findIndex((function(e){return Ge(e)}))},nt=function(){return O.findLastIndex(ee,(function(e){return Ge(e)}))},rt=function(e){var t=e<ee.length-1?ee.slice(e+1).findIndex((function(e){return Ge(e)})):-1;return t>-1?t+e+1:e},ot=function(e){var t=e>0?O.findLastIndex(ee.slice(0,e),(function(e){return Ge(e)})):-1;return t>-1?t:e},it=function(){return ee.findIndex((function(e){return Qe(e)}))},ut=function(){var e=it();return e<0?tt():e},at=function(){var e=it();return e<0?nt():e},lt=function(e){ve.current=(ve.current||"")+e;var t=-1,n=!1;return-1!==(t=-1!==W.index?-1===(t=ee.slice(W.index).findIndex((function(e){return qe(e)})))?ee.slice(0,W.index).findIndex((function(e){return qe(e)})):t+W.index:ee.findIndex((function(e){return qe(e)})))&&(n=!0),-1===t&&-1===W.index&&(t=ut()),-1!==t&&ct(t),ge.current&&clearTimeout(ge),ge.current=setTimeout((function(){ve.current="",ge.current=null}),500),n},ct=function(e){W.index!==e&&(V(U(U({},W),{},{index:e})),st())},st=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:-1,t=-1!==e?"".concat(E,"_").concat(e):L,n=I.findSingle(Ve(),'li[id="'.concat(t,'"]'));n&&n.scrollIntoView&&n.scrollIntoView({block:"nearest",inline:"start"})},pt=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=pt(e.items,t+1,a,u),o.push(a)})),o}),[]),mt=function(){if(!ye.current){ye.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");ye.current.innerHTML=n}},dt=function(){ye.current=I.removeInlineStyle(ye.current)},ft=function(){var e;b.autoZIndex&&k.set("menu",me.current,f&&f.autoZIndex||t.autoZIndex,b.baseZIndex||f&&f.zIndex.menu||t.zIndex.menu),I.addStyles(me.current,{position:"absolute",top:"0",left:"0"}),e=I.getOuterWidth(fe.current)>I.getOuterWidth(me.current),I.alignOverlay(me.current,fe.current,b.appendTo,e),I.focus(de.current.getElement()),st(),ue&&b.breakpoint&&(me.current.setAttribute(ue,""),mt())},bt=function(){Ie(),we()},yt=function(){fe.current=null,Oe(),ke()},vt=function(){k.clear(me.current),dt()};p((function(){var e=w();!E&&S(e),b.breakpoint&&!ue&&ae(e)})),e.useEffect((function(){var e=pt(b.model||[]);G(e)}),[b.model,pt]),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(E).concat(O.isNotEmpty(W.parentKey)?"_"+W.parentKey:"","_").concat(W.index):null;z(e)}),[W]),a((function(){b.popup||(O.isNotEmpty(C)?(Ie(),we()):(Oe(),ke()))}),[C]),a((function(){if(re){var e=-1!==W.index?rt(W.index):ut();ct(e),K(C.filter((function(e){return e.parentKey!==W.parentKey}))),oe(!1)}}),[re]),a((function(){return ue&&me.current&&(me.current.setAttribute(ue,""),mt()),function(){dt()}}),[ue,b.breakpoint]),m((function(){k.clear(me.current)})),e.useImperativeHandle(o,(function(){return{props:b,toggle:Pe,show:Ne,hide:je,getElement:function(){return me.current}}}));var gt,ht,xt=(gt=d({ref:me,id:b.id,className:x(b.className,se("root")),style:b.style,onClick:Se},R.getOtherProps(b),ce("root")),ht=d({classNames:se("transition"),in:N,timeout:{enter:120,exit:100},options:b.transitionOptions,unmountOnExit:!0,onEnter:ft,onEntered:bt,onExit:yt,onExited:vt},ce("transition")),e.createElement(g,j({nodeRef:me},ht),e.createElement("div",gt,e.createElement(F,{id:E+"_list",ref:de,hostName:"TieredMenu",menuProps:b,tabIndex:0,model:q,ariaLabel:b.ariaLabel,ariaLabelledBy:b.ariaLabelledBy,ariaOrientation:"vertical",ariaActiveDescendant:_?L:void 0,menuId:E,level:0,focusedItemId:L,activeItemPath:C,onFocus:De,onBlur:Te,onKeyDown:Ce,onItemClick:Me,onItemMouseEnter:_e,root:!0,popup:b.popup,onHide:je,isMobileMode:he,submenuIcon:b.submenuIcon,ptm:ce,cx:se,sx:pe}))));return b.popup?e.createElement(h,{element:xt,appendTo:b.appendTo}):xt})));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.subProps.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<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?X(Object(n),!0).forEach((function(t){K(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):X(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}var $=e.memo(e.forwardRef((function(o,a){var l=u(),c=e.useContext(n),s=J.getProps(o,c),g=H(e.useState(s.id),2),h=g[0],S=g[1],P=H(e.useState(!1),2),D=P[0],T=P[1],C=e.useRef(null),K=e.useRef(null),M=e.useRef(null),_=e.useRef(null),A=d("split-button-tooltip",D),B={props:s,state:{id:h,overlayVisible:D}},L=J.setMetaData(B),R=L.ptm,z=L.cx;i(J.css.styles,L.isUnstyled,{name:"splitbutton"}),f({callback:function(){W()},when:D&&A,priority:[b.SPLIT_BUTTON,A]});var Z=function(e){D?W(e):F(e)},F=function(e){T(!0),K.current&&K.current.show(e)},W=function(e){T(!1),K.current&&K.current.hide(e)};if(p((function(){h||S(w()),I.alignOverlay(_.current,M.current.parentElement,s.appendTo||c&&c.appendTo||t.appendTo)})),m((function(){k.clear(_.current)})),e.useImperativeHandle(a,(function(){return{props:s,show:F,hide:W,getElement:function(){return C.current}}})),!1===s.visible)return null;var U=O.isNotEmpty(s.tooltip),X={large:"lg",small:"sm"}[s.size],$=s.buttonTemplate?O.getJSXElement(s.buttonTemplate,s):null,q=h+"_overlay",G=l({ref:C,id:h,className:x(s.className,z("root",{size:X})),style:s.style},J.getOtherProps(s),R("root"));return e.createElement(e.Fragment,null,e.createElement("div",G,e.createElement(r,j({ref:M,type:"button",className:x(s.buttonClassName,z("button")),icon:s.icon,loading:s.loading,loadingIcon:s.loadingIcon,severity:s.severity,label:s.label,"aria-label":s.label,raised:s.raised,onClick:s.onClick,disabled:s.disabled,tabIndex:s.tabIndex,size:s.size,outlined:s.outlined,text:s.text},s.buttonProps,{pt:R("button"),__parentMetadata:{parent:B},unstyled:s.unstyled}),$),e.createElement(r,j({type:"button",className:x(s.menuButtonClassName,z("menuButton")),icon:function(){var t=l({className:z("icon")},R("icon")),n=E.getJSXIcon(s.dropdownIcon||e.createElement(y,t),Y({},t),{props:s});return n},onClick:Z,disabled:s.disabled,"aria-expanded":D,"aria-haspopup":"true","aria-controls":q},s.menuButtonProps,{size:s.size,severity:s.severity,outlined:s.outlined,text:s.text,raised:s.raised,pt:R("menuButton"),__parentMetadata:{parent:B},onKeyDown:function(e){"ArrowDown"!==e.code&&"ArrowUp"!==e.code||(Z(e),e.preventDefault())},unstyled:s.unstyled})),e.createElement(V,{ref:K,popup:!0,unstyled:s.unstyled,model:s.model,appendTo:s.appendTo,id:q,style:s.menuStyle,autoZIndex:s.autoZIndex,baseZIndex:s.baseZIndex,className:s.menuClassName,onClick:function(e){v.emit("overlay-click",{originalEvent:e,target:C.current})},onShow:function(){s.onShow&&s.onShow()},onHide:function(){T(!1),s.onHide&&s.onHide()},pt:R("menu")})),U&&e.createElement(N,j({target:C,content:s.tooltip,pt:R("tooltip")},s.tooltipOptions)))})));$.displayName="SplitButton";export{$ as SplitButton};