import{bE as D,cr as h,dQ as A,bI as I,bK as L,ct as x,aM as R,bQ as S,bs as m,an as w,bR as B,cz as g,am as f,I as E,bZ as F,b$ as T,e3 as O}from"./index-pVvkWKzi.js";const z=D({fullscreen:Boolean,retainFocus:{type:Boolean,default:!0},scrollable:Boolean,...h({origin:"center center",scrollStrategy:"block",transition:{component:A},zIndex:2400})},"VDialog"),M=I()({name:"VDialog",props:z(),emits:{"update:modelValue":a=>!0,afterEnter:()=>!0,afterLeave:()=>!0},setup(a,b){let{emit:v,slots:u}=b;const i=L(a,"modelValue"),{scopeId:p}=x(),e=R();function d(t){var r,s;const n=t.relatedTarget,l=t.target;if(n!==l&&((r=e.value)!=null&&r.contentEl)&&((s=e.value)!=null&&s.globalTop)&&![document,e.value.contentEl].includes(l)&&!e.value.contentEl.contains(l)){const o=O(e.value.contentEl);if(!o.length)return;const c=o[0],y=o[o.length-1];n===c?y.focus():c.focus()}}S&&m(()=>i.value&&a.retainFocus,t=>{t?document.addEventListener("focusin",d):document.removeEventListener("focusin",d)},{immediate:!0});function V(){var t;v("afterEnter"),(t=e.value)!=null&&t.contentEl&&!e.value.contentEl.contains(document.activeElement)&&e.value.contentEl.focus({preventScroll:!0})}function P(){v("afterLeave")}return m(i,async t=>{var n;t||(await w(),(n=e.value.activatorEl)==null||n.focus({preventScroll:!0}))}),B(()=>{const t=g.filterProps(a),n=f({"aria-haspopup":"dialog"},a.activatorProps),l=f({tabindex:-1},a.contentProps);return E(g,f({ref:e,class:["v-dialog",{"v-dialog--fullscreen":a.fullscreen,"v-dialog--scrollable":a.scrollable},a.class],style:a.style},t,{modelValue:i.value,"onUpdate:modelValue":r=>i.value=r,"aria-modal":"true",activatorProps:n,contentProps:l,role:"dialog",onAfterEnter:V,onAfterLeave:P},p),{activator:u.activator,default:function(){for(var r=arguments.length,s=new Array(r),o=0;o<r;o++)s[o]=arguments[o];return E(F,{root:"VDialog"},{default:()=>{var c;return[(c=u.default)==null?void 0:c.call(u,...s)]}})}})}),T({},e)}});export{M as V};