1import{u as P}from"./useForwardPropsEmits-CrjxCNK2.js";import{d as p,B as x,f as c,w as r,y as f,u as e,o as m,g as _,q as T,C as N,m as D,a as F,z as C,k as M,j as R,D as A,E}from"./app-Z4ZuNcZo.js";import{u as H,a as B,b as I}from"./useForwardExpose-YGAdb9Fx.js";import{c as V,u as j,P as z}from"./RovingFocusGroup-DSn7Z1bE.js";import{P as q}from"./Primitive-O0OxIo2s.js";const[w,S]=V("CollapsibleRoot");var L=p({__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(n,{expose:l,emit:a}){const t=n,i=H(t,"open",a,{defaultValue:t.defaultOpen,passive:t.open===void 0}),{disabled:u,unmountOnHide:d}=x(t);return S({contentId:"",disabled:u,open:i,unmountOnHide:d,onOpenToggle:()=>{u.value||(i.value=!i.value)}}),l({open:i}),B(),(v,y)=>(m(),c(e(q),{as:v.as,"as-child":t.asChild,"data-state":e(i)?"open":"closed","data-disabled":e(u)?"":void 0},{default:r(()=>[f(v.$slots,"default",{open:e(i)})]),_:3},8,["as","as-child","data-state","data-disabled"]))}}),G=L,J=p({inheritAttrs:!1,__name:"CollapsibleContent",props:{forceMount:{type:Boolean,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},emits:["contentFound"],setup(n,{emit:l}){const a=n,t=l,o=w();o.contentId||=j(void 0,"reka-collapsible-content");const i=_(),{forwardRef:u,currentElement:d}=B(),v=_(0),y=_(0),k=R(()=>o.open.value),h=_(k.value),b=_();T(()=>[k.value,i.value?.present],async()=>{await N();const s=d.value;if(!s)return;b.value=b.value||{transitionDuration:s.style.transitionDuration,animationName:s.style.animationName},s.style.transitionDuration="0s",s.style.animationName="none";const g=s.getBoundingClientRect();y.value=g.height,v.value=g.width,h.value||(s.style.transitionDuration=b.value.transitionDuration,s.style.animationName=b.value.animationName)},{immediate:!0});const $=R(()=>h.value&&o.open.value);return D(()=>{requestAnimationFrame(()=>{h.value=!1})}),I(d,"beforematch",s=>{requestAnimationFrame(()=>{o.onOpenToggle(),t("contentFound")})}),(s,g)=>(m(),c(e(z),{ref_key:"presentRef",ref:i,present:s.forceMount||e(o).open.value,"force-mount":!0},{default:r(({present:O})=>[F(e(q),C(s.$attrs,{id:e(o).contentId,ref:e(u),"as-child":a.asChild,as:s.as,hidden:O?void 0:e(o).unmountOnHide.value?"":"until-found","data-state":$.value?void 0:e(o).open.value?"open":"closed","data-disabled":e(o).disabled?.value?"":void 0,style:{"--reka-collapsible-content-height":`${y.value}px`,"--reka-collapsible-content-width":`${v.value}px`}}),{default:r(()=>[!e(o).unmountOnHide.value||O?f(s.$slots,"default",{key:0}):M("v-if",!0)]),_:2},1040,["id","as-child","as","hidden","data-state","data-disabled","style"])]),_:3},8,["present"]))}}),K=J,Q=p({__name:"CollapsibleTrigger",props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:"button"}},setup(n){const l=n;B();const a=w();return(t,o)=>(m(),c(e(q),{type:t.as==="button"?"button":void 0,as:t.as,"as-child":l.asChild,"aria-controls":e(a).contentId,"aria-expanded":e(a).open.value,"data-state":e(a).open.value?"open":"closed","data-disabled":e(a).disabled?.value?"":void 0,disabled:e(a).disabled?.value,onClick:e(a).onOpenToggle},{default:r(()=>[f(t.$slots,"default")]),_:3},8,["type","as","as-child","aria-controls","aria-expanded","data-state","data-disabled","disabled","onClick"]))}}),U=Q;const ae=p({__name:"Collapsible",props:{defaultOpen:{type:Boolean},open:{type:Boolean},disabled:{type:Boolean},unmountOnHide:{type:Boolean},asChild:{type:Boolean},as:{}},emits:["update:open"],setup(n,{emit:l}){const o=P(n,l);return(i,u)=>(m(),c(e(G),C({"data-slot":"collapsible"},e(o)),{default:r(d=>[f(i.$slots,"default",A(E(d)))]),_:3},16))}}),te=p({__name:"CollapsibleContent",props:{forceMount:{type:Boolean},asChild:{type:Boolean},as:{}},setup(n){const l=n;return(a,t)=>(m(),c(e(K),C({"data-slot":"collapsible-content"},l),{default:r(()=>[f(a.$slots,"default")]),_:3},16))}}),oe=p({__name:"CollapsibleTrigger",props:{asChild:{type:Boolean},as:{}},setup(n){const l=n;return(a,t)=>(m(),c(e(U),C({"data-slot":"collapsible-trigger"},l),{default:r(()=>[f(a.$slots,"default")]),_:3},16))}});
1export{ae as _,oe as a,te as b};
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.