import{c as z,r as d,j as a,P as R,d as B,a as fe,u as U,f as me,l as f,h as T,ai as ve}from"./index-BMIwdYku.js";import{u as k,c as Ce}from"./index-uCALUfYL.js";import{a as q,u as xe}from"./index-CSCvTu1N.js";var _="Collapsible",[be,Y]=z(_),[ge,M]=be(_),J=d.forwardRef((e,r)=>{const{__scopeCollapsible:o,open:t,defaultOpen:c,disabled:n,onOpenChange:s,...l}=e,[p,u]=k({prop:t,defaultProp:c??!1,onChange:s,caller:_});return a.jsx(ge,{scope:o,disabled:n,contentId:q(),open:p,onOpenToggle:d.useCallback(()=>u(m=>!m),[u]),children:a.jsx(R.div,{"data-state":V(p),"data-disabled":n?"":void 0,...l,ref:r})})});J.displayName=_;var Q="CollapsibleTrigger",W=d.forwardRef((e,r)=>{const{__scopeCollapsible:o,...t}=e,c=M(Q,o);return a.jsx(R.button,{type:"button","aria-controls":c.contentId,"aria-expanded":c.open||!1,"data-state":V(c.open),"data-disabled":c.disabled?"":void 0,disabled:c.disabled,...t,ref:r,onClick:B(e.onClick,c.onOpenToggle)})});W.displayName=Q;var $="CollapsibleContent",X=d.forwardRef((e,r)=>{const{forceMount:o,...t}=e,c=M($,e.__scopeCollapsible);return a.jsx(fe,{present:o||c.open,children:({present:n})=>a.jsx(Ae,{...t,ref:r,present:n})})});X.displayName=$;var Ae=d.forwardRef((e,r)=>{const{__scopeCollapsible:o,present:t,children:c,...n}=e,s=M($,o),[l,p]=d.useState(t),u=d.useRef(null),m=U(r,u),v=d.useRef(0),h=v.current,x=d.useRef(0),w=x.current,b=s.open||l,g=d.useRef(b),A=d.useRef(void 0);return d.useEffect(()=>{const i=requestAnimationFrame(()=>g.current=!1);return()=>cancelAnimationFrame(i)},[]),me(()=>{const i=u.current;if(i){A.current=A.current||{transitionDuration:i.style.transitionDuration,animationName:i.style.animationName},i.style.transitionDuration="0s",i.style.animationName="none";const I=i.getBoundingClientRect();v.current=I.height,x.current=I.width,g.current||(i.style.transitionDuration=A.current.transitionDuration,i.style.animationName=A.current.animationName),p(t)}},[s.open,t]),a.jsx(R.div,{"data-state":V(s.open),"data-disabled":s.disabled?"":void 0,id:s.contentId,hidden:!b,...n,ref:m,style:{"--radix-collapsible-content-height":h?`${h}px`:void 0,"--radix-collapsible-content-width":w?`${w}px`:void 0,...e.style},children:b&&c})});function V(e){return e?"open":"closed"}var he=J,Ie=W,Re=X,C="Accordion",we=["Home","End","ArrowDown","ArrowUp","ArrowLeft","ArrowRight"],[H,Ne,_e]=Ce(C),[y,Ke]=z(C,[_e,Y]),L=Y(),Z=f.forwardRef((e,r)=>{const{type:o,...t}=e,c=t,n=t;return a.jsx(H.Provider,{scope:e.__scopeAccordion,children:o==="multiple"?a.jsx(Ee,{...n,ref:r}):a.jsx(je,{...c,ref:r})})});Z.displayName=C;var[ee,ye]=y(C),[oe,Pe]=y(C,{collapsible:!1}),je=f.forwardRef((e,r)=>{const{value:o,defaultValue:t,onValueChange:c=()=>{},collapsible:n=!1,...s}=e,[l,p]=k({prop:o,defaultProp:t??"",onChange:c,caller:C});return a.jsx(ee,{scope:e.__scopeAccordion,value:f.useMemo(()=>l?[l]:[],[l]),onItemOpen:p,onItemClose:f.useCallback(()=>n&&p(""),[n,p]),children:a.jsx(oe,{scope:e.__scopeAccordion,collapsible:n,children:a.jsx(te,{...s,ref:r})})})}),Ee=f.forwardRef((e,r)=>{const{value:o,defaultValue:t,onValueChange:c=()=>{},...n}=e,[s,l]=k({prop:o,defaultProp:t??[],onChange:c,caller:C}),p=f.useCallback(m=>l((v=[])=>[...v,m]),[l]),u=f.useCallback(m=>l((v=[])=>v.filter(h=>h!==m)),[l]);return a.jsx(ee,{scope:e.__scopeAccordion,value:s,onItemOpen:p,onItemClose:u,children:a.jsx(oe,{scope:e.__scopeAccordion,collapsible:!0,children:a.jsx(te,{...n,ref:r})})})}),[Se,P]=y(C),te=f.forwardRef((e,r)=>{const{__scopeAccordion:o,disabled:t,dir:c,orientation:n="vertical",...s}=e,l=f.useRef(null),p=U(l,r),u=Ne(o),v=xe(c)==="ltr",h=B(e.onKeyDown,x=>{var K;if(!we.includes(x.key))return;const w=x.target,b=u().filter(O=>{var F;return!((F=O.ref.current)!=null&&F.disabled)}),g=b.findIndex(O=>O.ref.current===w),A=b.length;if(g===-1)return;x.preventDefault();let i=g;const I=0,j=A-1,E=()=>{i=g+1,i>j&&(i=I)},S=()=>{i=g-1,i<I&&(i=j)};switch(x.key){case"Home":i=I;break;case"End":i=j;break;case"ArrowRight":n==="horizontal"&&(v?E():S());break;case"ArrowDown":n==="vertical"&&E();break;case"ArrowLeft":n==="horizontal"&&(v?S():E());break;case"ArrowUp":n==="vertical"&&S();break}const ue=i%A;(K=b[ue].ref.current)==null||K.focus()});return a.jsx(Se,{scope:o,disabled:t,direction:c,orientation:n,children:a.jsx(H.Slot,{scope:o,children:a.jsx(R.div,{...s,"data-orientation":n,ref:p,onKeyDown:t?void 0:h})})})}),N="AccordionItem",[Oe,G]=y(N),ne=f.forwardRef((e,r)=>{const{__scopeAccordion:o,value:t,...c}=e,n=P(N,o),s=ye(N,o),l=L(o),p=q(),u=t&&s.value.includes(t)||!1,m=n.disabled||e.disabled;return a.jsx(Oe,{scope:o,open:u,disabled:m,triggerId:p,children:a.jsx(he,{"data-orientation":n.orientation,"data-state":le(u),...l,...c,ref:r,disabled:m,open:u,onOpenChange:v=>{v?s.onItemOpen(t):s.onItemClose(t)}})})});ne.displayName=N;var re="AccordionHeader",ae=f.forwardRef((e,r)=>{const{__scopeAccordion:o,...t}=e,c=P(C,o),n=G(re,o);return a.jsx(R.h3,{"data-orientation":c.orientation,"data-state":le(n.open),"data-disabled":n.disabled?"":void 0,...t,ref:r})});ae.displayName=re;var D="AccordionTrigger",ce=f.forwardRef((e,r)=>{const{__scopeAccordion:o,...t}=e,c=P(C,o),n=G(D,o),s=Pe(D,o),l=L(o);return a.jsx(H.ItemSlot,{scope:o,children:a.jsx(Ie,{"aria-disabled":n.open&&!s.collapsible||void 0,"data-orientation":c.orientation,id:n.triggerId,...l,...t,ref:r})})});ce.displayName=D;var se="AccordionContent",ie=f.forwardRef((e,r)=>{const{__scopeAccordion:o,...t}=e,c=P(C,o),n=G(se,o),s=L(o);return a.jsx(Re,{role:"region","aria-labelledby":n.triggerId,"data-orientation":c.orientation,...s,...t,ref:r,style:{"--radix-accordion-content-height":"var(--radix-collapsible-content-height)","--radix-accordion-content-width":"var(--radix-collapsible-content-width)",...e.style}})});ie.displayName=se;function le(e){return e?"open":"closed"}var De=Z,Te=ne,ke=ae,de=ce,pe=ie;const Fe=De,Me=d.forwardRef(({className:e,...r},o)=>a.jsx(Te,{ref:o,className:T("border-b",e),...r}));Me.displayName="AccordionItem";const $e=d.forwardRef(({className:e,children:r,...o},t)=>a.jsx(ke,{className:"flex",children:a.jsxs(de,{ref:t,className:T("flex flex-1 items-center justify-between py-4 font-medium transition-all hover:underline [&[data-state=open]>svg]:rotate-180",e),...o,children:[r,a.jsx(ve,{className:"h-4 w-4 shrink-0 transition-transform duration-300 ease-in-out"})]})}));$e.displayName=de.displayName;const Ve=d.forwardRef(({className:e,children:r,...o},t)=>a.jsx(pe,{ref:t,className:"overflow-hidden text-base transition-all data-[state=closed]:animate-accordion-up data-[state=open]:animate-accordion-down",...o,children:a.jsx("div",{className:T("pb-4 pt-0",e),children:r})}));Ve.displayName=pe.displayName;export{Fe as A,Me as a,$e as b,Ve as c};