import{i as O,u as P,o as d,A as S,N as k,a as v}from"./BlrSMPbJ.js";import{s as K}from"./DV_mAys4.js";import{t as M,i as m,l as N}from"./D4EjA3aX.js";import{j as g,r as c,a2 as h,n as y,y as C,a3 as $,I as H,a4 as w}from"./CNMxD_3v.js";var L=(l=>(l[l.Open=0]="Open",l[l.Closed=1]="Closed",l))(L||{});let E=Symbol("DisclosureContext");function I(l){let n=w(E,null);if(n===null){let r=new Error(`<${l} /> is missing a parent <Disclosure /> component.`);throw Error.captureStackTrace&&Error.captureStackTrace(r,I),r}return n}let B=Symbol("DisclosurePanelContext");function U(){return w(B,null)}let q=g({name:"Disclosure",props:{as:{type:[Object,String],default:"template"},defaultOpen:{type:[Boolean],default:!1}},setup(l,{slots:n,attrs:r}){let o=c(l.defaultOpen?0:1),e=c(null),i=c(null),s={buttonId:c(`headlessui-disclosure-button-${O()}`),panelId:c(`headlessui-disclosure-panel-${O()}`),disclosureState:o,panel:e,button:i,toggleDisclosure(){o.value=P(o.value,{0:1,1:0})},closeDisclosure(){o.value!==1&&(o.value=1)},close(t){s.closeDisclosure();let u=t?t instanceof HTMLElement?t:t.value instanceof HTMLElement?d(t):d(s.button):d(s.button);u==null||u.focus()}};return h(E,s),M(y(()=>P(o.value,{0:m.Open,1:m.Closed}))),()=>{let{defaultOpen:t,...u}=l,p={open:o.value===0,close:s.close};return S({theirProps:u,ourProps:{},slot:p,slots:n,attrs:r,name:"Disclosure"})}}}),z=g({name:"DisclosureButton",props:{as:{type:[Object,String],default:"button"},disabled:{type:[Boolean],default:!1},id:{type:String,default:null}},setup(l,{attrs:n,slots:r,expose:o}){let e=I("DisclosureButton"),i=U(),s=y(()=>i===null?!1:i.value===e.panelId.value);C(()=>{s.value||l.id!==null&&(e.buttonId.value=l.id)}),$(()=>{s.value||(e.buttonId.value=null)});let t=c(null);o({el:t,$el:t}),s.value||H(()=>{e.button.value=t.value});let u=K(y(()=>({as:l.as,type:n.type})),t);function p(){var a;l.disabled||(s.value?(e.toggleDisclosure(),(a=d(e.button))==null||a.focus()):e.toggleDisclosure())}function f(a){var b;if(!l.disabled)if(s.value)switch(a.key){case v.Space:case v.Enter:a.preventDefault(),a.stopPropagation(),e.toggleDisclosure(),(b=d(e.button))==null||b.focus();break}else switch(a.key){case v.Space:case v.Enter:a.preventDefault(),a.stopPropagation(),e.toggleDisclosure();break}}function D(a){switch(a.key){case v.Space:a.preventDefault();break}}return()=>{var a;let b={open:e.disclosureState.value===0},{id:x,...j}=l,T=s.value?{ref:t,type:u.value,onClick:p,onKeydown:f}:{id:(a=e.buttonId.value)!=null?a:x,ref:t,type:u.value,"aria-expanded":e.disclosureState.value===0,"aria-controls":e.disclosureState.value===0||d(e.panel)?e.panelId.value:void 0,disabled:l.disabled?!0:void 0,onClick:p,onKeydown:f,onKeyup:D};return S({ourProps:T,theirProps:j,slot:b,attrs:n,slots:r,name:"DisclosureButton"})}}}),F=g({name:"DisclosurePanel",props:{as:{type:[Object,String],default:"div"},static:{type:Boolean,default:!1},unmount:{type:Boolean,default:!0},id:{type:String,default:null}},setup(l,{attrs:n,slots:r,expose:o}){let e=I("DisclosurePanel");C(()=>{l.id!==null&&(e.panelId.value=l.id)}),$(()=>{e.panelId.value=null}),o({el:e.panel,$el:e.panel}),h(B,e.panelId);let i=N(),s=y(()=>i!==null?(i.value&m.Open)===m.Open:e.disclosureState.value===0);return()=>{var t;let u={open:e.disclosureState.value===0,close:e.close},{id:p,...f}=l,D={id:(t=e.panelId.value)!=null?t:p,ref:e.panel};return S({ourProps:D,theirProps:f,slot:u,attrs:n,slots:r,features:k.RenderStrategy|k.Static,visible:s.value,name:"DisclosurePanel"})}}});export{q as N,z as Q,F as V};
