1import{D as e,Ht as t,On as n,Tn as r,ct as i,et as a,g as o,k as s,mt as c,qt as l,tt as u,v as d,vn as f,xt as p,y as m}from"./runtime-core.esm-bundler-DPmoNEl9.js";import{a as h,b as g,c as _,t as v}from"./useForwardExpose-RlTU6fXY.js";import{t as y}from"./Primitive-OUQ7g2gS.js";import{t as b}from"./useId-Ci9vvzPH.js";import{t as x}from"./Presence-CmNFq99T.js";var[S,C]=g(`CollapsibleRoot`),w=s({__name:`CollapsibleRoot`,props:{defaultOpen:{type:Boolean,required:!1,default:!1},open:{type:Boolean,required:!1,default:void 0},disabled:{type:Boolean,required:!1},unmountOnHide:{type:Boolean,required:!1,default:!0},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},emits:[`update:open`],setup(e,{expose:t,emit:i}){let a=e,o=_(a,`open`,i,{defaultValue:a.defaultOpen,passive:a.open===void 0}),{disabled:s,unmountOnHide:u}=r(a);return C({contentId:``,disabled:s,open:o,unmountOnHide:u,onOpenToggle:()=>{s.value||(o.value=!o.value)}}),t({open:o}),v(),(e,t)=>(c(),d(n(y),{as:e.as,"as-child":a.asChild,"data-state":n(o)?`open`:`closed`,"data-disabled":n(s)?``:void 0},{default:l(()=>[p(e.$slots,`default`,{open:n(o)})]),_:3},8,[`as`,`as-child`,`data-state`,`data-disabled`]))}}),T=s({inheritAttrs:!1,__name:`CollapsibleContent`,props:{forceMount:{type:Boolean,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},emits:[`contentFound`],setup(r,{emit:s}){let g=r,_=s,C=S();C.contentId||=b(void 0,`reka-collapsible-content`);let w=f(),{forwardRef:T,currentElement:E}=v(),D=f(0),O=f(0),k=o(()=>C.open.value),A=f(k.value),j=f();t(()=>[k.value,w.value?.present],async()=>{await u();let e=E.value;if(!e)return;j.value=j.value||{transitionDuration:e.style.transitionDuration,animationName:e.style.animationName},e.style.transitionDuration=`0s`,e.style.animationName=`none`;let t=e.getBoundingClientRect();O.value=t.height,D.value=t.width,A.value||(e.style.transitionDuration=j.value.transitionDuration,e.style.animationName=j.value.animationName)},{immediate:!0});let M=o(()=>A.value&&C.open.value);return i(()=>{requestAnimationFrame(()=>{A.value=!1})}),h(E,`beforematch`,e=>{requestAnimationFrame(()=>{C.onOpenToggle(),_(`contentFound`)})}),(t,r)=>(c(),d(n(x),{ref_key:`presentRef`,ref:w,present:t.forceMount||n(C).open.value,"force-mount":!0},{default:l(({present:r})=>[e(n(y),a(t.$attrs,{id:n(C).contentId,ref:n(T),"as-child":g.asChild,as:t.as,hidden:r?void 0:n(C).unmountOnHide.value?``:`until-found`,"data-state":M.value?void 0:n(C).open.value?`open`:`closed`,"data-disabled":n(C).disabled?.value?``:void 0,style:{"--reka-collapsible-content-height":`${O.value}px`,"--reka-collapsible-content-width":`${D.value}px`}}),{default:l(()=>[!n(C).unmountOnHide.value||r?p(t.$slots,`default`,{key:0}):m(`v-if`,!0)]),_:2},1040,[`id`,`as-child`,`as`,`hidden`,`data-state`,`data-disabled`,`style`])]),_:3},8,[`present`]))}}),E=s({__name:`CollapsibleTrigger`,props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`button`}},setup(e){let t=e;v();let r=S();return(e,i)=>(c(),d(n(y),{type:e.as===`button`?`button`:void 0,as:e.as,"as-child":t.asChild,"aria-controls":n(r).contentId,"aria-expanded":n(r).open.value,"data-state":n(r).open.value?`open`:`closed`,"data-disabled":n(r).disabled?.value?``:void 0,disabled:n(r).disabled?.value,onClick:n(r).onOpenToggle},{default:l(()=>[p(e.$slots,`default`)]),_:3},8,[`type`,`as`,`as-child`,`aria-controls`,`aria-expanded`,`data-state`,`data-disabled`,`disabled`,`onClick`]))}});export{T as n,w as r,E as t};
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.