import{r as o,j as c}from"../react-D4HIU6wz.js";import{c as I}from"./primitive-DW48STyt.js";import{c as O}from"./react-context-BtN23xbQ.js";import{u as S}from"./react-use-controllable-state-DdjIjzua.js";import{u as D}from"./react-use-layout-effect-Cn7lYQ6X.js";import{u as M}from"./react-compose-refs-Coh3vsPe.js";import{P as b}from"./react-primitive-Cc8htHgm.js";import{P as L}from"./react-presence-dvcUCN-x.js";import{u as k}from"./react-id-YZqjcPkx.js";var v="Collapsible",[F,W]=O(v),[B,g]=F(v),T=o.forwardRef((e,s)=>{const{__scopeCollapsible:r,open:a,defaultOpen:t,disabled:l,onOpenChange:i,...f}=e,[d=!1,p]=S({prop:a,defaultProp:t,onChange:i});return c.jsx(B,{scope:r,disabled:l,contentId:k(),open:d,onOpenToggle:o.useCallback(()=>p(m=>!m),[p]),children:c.jsx(b.div,{"data-state":R(d),"data-disabled":l?"":void 0,...f,ref:s})})});T.displayName=v;var j="CollapsibleTrigger",w=o.forwardRef((e,s)=>{const{__scopeCollapsible:r,...a}=e,t=g(j,r);return c.jsx(b.button,{type:"button","aria-controls":t.contentId,"aria-expanded":t.open||!1,"data-state":R(t.open),"data-disabled":t.disabled?"":void 0,disabled:t.disabled,...a,ref:s,onClick:I(e.onClick,t.onOpenToggle)})});w.displayName=j;var x="CollapsibleContent",A=o.forwardRef((e,s)=>{const{forceMount:r,...a}=e,t=g(x,e.__scopeCollapsible);return c.jsx(L,{present:r||t.open,children:({present:l})=>c.jsx(G,{...a,ref:s,present:l})})});A.displayName=x;var G=o.forwardRef((e,s)=>{const{__scopeCollapsible:r,present:a,children:t,...l}=e,i=g(x,r),[f,d]=o.useState(a),p=o.useRef(null),m=M(s,p),h=o.useRef(0),P=h.current,y=o.useRef(0),N=y.current,C=i.open||f,E=o.useRef(C),u=o.useRef();return o.useEffect(()=>{const n=requestAnimationFrame(()=>E.current=!1);return()=>cancelAnimationFrame(n)},[]),D(()=>{const n=p.current;if(n){u.current=u.current||{transitionDuration:n.style.transitionDuration,animationName:n.style.animationName},n.style.transitionDuration="0s",n.style.animationName="none";const _=n.getBoundingClientRect();h.current=_.height,y.current=_.width,E.current||(n.style.transitionDuration=u.current.transitionDuration,n.style.animationName=u.current.animationName),d(a)}},[i.open,a]),c.jsx(b.div,{"data-state":R(i.open),"data-disabled":i.disabled?"":void 0,id:i.contentId,hidden:!C,...l,ref:m,style:{"--radix-collapsible-content-height":P?`${P}px`:void 0,"--radix-collapsible-content-width":N?`${N}px`:void 0,...e.style},children:C&&t})});function R(e){return e?"open":"closed"}var X=T,Y=w,Z=A;export{Z as C,X as R,Y as T,w as a,A as b,W as c};