import*as e from"react";import{PrimeReactContext as n}from"primereact/api";import{ComponentBase as t,useHandleStyle as l}from"primereact/componentbase";import{CSSTransition as r}from"primereact/csstransition";import{useMergeProps as o,useMountEffect as a}from"primereact/hooks";import{MinusIcon as i}from"primereact/icons/minus";import{PlusIcon as s}from"primereact/icons/plus";import{Ripple as c}from"primereact/ripple";import{classNames as u,UniqueComponentId as p,IconUtils as g}from"primereact/utils";function d(){return d=Object.assign?Object.assign.bind():function(e){for(var n=1;ne.length)&&(n=e.length);for(var t=0,l=Array(n);t a,\n .p-fieldset-legend > span {\n display: flex;\n align-items: center;\n justify-content: center;\n }\n \n .p-fieldset-toggleable .p-fieldset-legend a {\n cursor: pointer;\n user-select: none;\n overflow: hidden;\n position: relative;\n text-decoration: none;\n }\n \n .p-fieldset-legend-text {\n line-height: 1;\n }\n }\n "}}),x=e.forwardRef((function(t,f){var m=o(),b=e.useContext(n),v=h.getProps(t,b),y=E(e.useState(v.id),2),x=y[0],C=y[1],N=E(e.useState(v.collapsed),2),T=N[1],I=!!v.toggleable&&(v.onToggle?v.collapsed:N[0]),O=e.useRef(null),S=e.useRef(null),j=x+"_header",w=x+"_content",A=h.setMetaData({props:v,state:{id:x,collapsed:I}}),k=A.ptm,P=A.cx;l(h.css.styles,A.isUnstyled,{name:"fieldset"});var D=function(e){v.toggleable&&(I?R(e):_(e),v.onToggle&&v.onToggle({originalEvent:e,value:!I})),e.preventDefault()},R=function(e){v.onToggle||T(!1),v.onExpand&&v.onExpand(e)},_=function(e){v.onToggle||T(!0),v.onCollapse&&v.onCollapse(e)};a((function(){v.id||C(p())}));var F=function(e){"Enter"!==e.code&&"NumpadEnter"!==e.code&&"Space"!==e.code||(D(e),e.preventDefault())},M=function(){if(v.toggleable){var n=m({className:P("togglericon")},k("togglericon"));return g.getJSXIcon(I?v.expandIcon||e.createElement(s,n):v.collapseIcon||e.createElement(i,n),n,{props:v})}return null},U=function(){var n=m({className:P("legendTitle")},k("legendTitle")),t=m({id:j,role:"button","aria-expanded":!I,"aria-controls":w,onKeyDown:F,onClick:D,"aria-label":v.legend,tabIndex:0},k("toggler"));if(v.toggleable){var l=M();return e.createElement("a",t,l,e.createElement("span",n,v.legend),e.createElement(c,null))}return e.createElement("span",d({},n,{id:j}),v.legend)};e.useImperativeHandle(f,(function(){return{props:v,getElement:function(){return O.current},getContent:function(){return S.current}}}));var H,J,K,X=m({id:x,ref:O,style:v.style,className:u(v.className,P("root")),onClick:v.onClick},h.getOtherProps(v),k("root")),Y=function(){var n=m({className:P("legend")},k("legend"));if(null!=v.legend||v.toggleable){var t=U();return e.createElement("legend",n,t)}}(),$=(H=m({className:P("content")},k("content")),J=m({ref:S,id:w,role:"region","aria-labelledby":j,className:P("toggleableContent")},k("toggleableContent")),K=m({classNames:P("transition"),timeout:{enter:1e3,exit:450},in:!I,unmountOnExit:!0,options:v.transitionOptions},k("transition")),e.createElement(r,d({nodeRef:S},K),e.createElement("div",J,e.createElement("div",H,v.children))));return e.createElement("fieldset",X,Y,$)}));x.displayName="Fieldset";export{x as Fieldset};