import{o as V,w as X,m as l,e as h,b as g,k as m,c as Y,u as P,n as c,d as x,f as p,p as Z,g as _,h as I}from"./B-4V-jI8.js";import{a5 as $,a6 as ee,a7 as te}from"./c625DOTJ.js";import{o as re}from"./C9nuju27.js";import{g as ne}from"./DRSikRWz.js";import{u as se,c as oe,g as ae,a as ie,r as le}from"./DkGSCXZX.js";import{t as A}from"./CL9tgVpD.js";import{h as K}from"./B0S1aD5i.js";const{name:d}=Y("dialog"),ce={preventScroll:!0,closeOnEscape:!0,closeOnOutsideClick:!0,role:"dialog",defaultOpen:!1,portal:void 0,forceVisible:!1,openFocus:void 0,closeFocus:void 0,onOutsideClick:void 0},de=["content","title","description"];function ke(M){const o={...ce,...M},C=A(V(o,"ids")),{preventScroll:B,closeOnEscape:b,closeOnOutsideClick:w,role:H,portal:T,forceVisible:F,openFocus:L,closeFocus:N,onOutsideClick:R}=C,S=X.writable(null),a=A({...ne(de),...o.ids}),W=o.open??$(o.defaultOpen),n=re(W,o==null?void 0:o.onOpenChange),k=ee([n,F],([e,r])=>e||r);let v=c;function D(e){const r=e.currentTarget,t=e.currentTarget;!I(r)||!I(t)||(n.set(!0),S.set(t))}function f(){n.set(!1),K({prop:N.get(),defaultEl:S.get()})}const G=l(d("trigger"),{stores:[n],returned:([e])=>({"aria-haspopup":"dialog","aria-expanded":e,type:"button"}),action:e=>({destroy:h(g(e,"click",t=>{D(t)}),g(e,"keydown",t=>{t.key!==m.ENTER&&t.key!==m.SPACE||(t.preventDefault(),D(t))}))})}),j=l(d("overlay"),{stores:[k,n],returned:([e,r])=>({hidden:e?void 0:!0,tabindex:-1,style:x({display:e?void 0:"none"}),"aria-hidden":!0,"data-state":r?"open":"closed"}),action:e=>{let r=c;if(b.get()){const t=P(e,{handler:()=>{f()}});t&&t.destroy&&(r=t.destroy)}return{destroy(){r()}}}}),q=l(d("content"),{stores:[k,a.content,a.description,a.title,n],returned:([e,r,t,u,s])=>({id:r,role:H.get(),"aria-describedby":t,"aria-labelledby":u,"aria-modal":e?"true":void 0,"data-state":s?"open":"closed",tabindex:-1,hidden:e?void 0:!0,style:x({display:e?void 0:"none"})}),action:e=>{let r=c,t=c;const u=h(p([n,w,b],([s,E,y])=>{if(!s)return;const i=oe({immediate:!1,escapeDeactivates:y,clickOutsideDeactivates:E,allowOutsideClick:!0,returnFocusOnDeactivate:!1,fallbackFocus:e});r=i.activate,t=i.deactivate;const O=i.useFocusTrap(e);return O&&O.destroy?O.destroy:i.deactivate}),p([w,n],([s,E])=>se(e,{open:E,closeOnInteractOutside:s,onClose(){f()},shouldCloseOnInteractOutside(y){var i;return(i=R.get())==null||i(y),!y.defaultPrevented}}).destroy),p([b],([s])=>s?P(e,{handler:f}).destroy:c),p([k],([s])=>{te().then(()=>{s?r():t()})}));return{destroy:()=>{v(),u()}}}}),z=l(d("portalled"),{stores:T,returned:e=>({"data-portal":Z(e)}),action:e=>{const r=p([T],([t])=>{if(t===null)return c;const u=ae(e,t);return u===null?c:ie(e,u).destroy});return{destroy(){r()}}}}),J=l(d("title"),{stores:[a.title],returned:([e])=>({id:e})}),Q=l(d("description"),{stores:[a.description],returned:([e])=>({id:e})}),U=l(d("close"),{returned:()=>({type:"button"}),action:e=>({destroy:h(g(e,"click",()=>{f()}),g(e,"keydown",t=>{t.key!==m.SPACE&&t.key!==m.ENTER||(t.preventDefault(),f())}))})});return p([n,B],([e,r])=>{if(_){if(r&&e&&(v=le()),e){const t=document.getElementById(a.content.get());K({prop:L.get(),defaultEl:t})}return()=>{F.get()||v()}}}),{ids:a,elements:{content:q,trigger:G,title:J,description:Q,overlay:j,close:U,portalled:z},states:{open:n},options:C}}export{ke as c};