{"version":3,"file":"GU55OnaV.js","sources":["../../../../node_modules/vuetify/lib/components/VDialog/VDialog.mjs"],"sourcesContent":["import { mergeProps as _mergeProps, createVNode as _createVNode } from \"vue\";\n// Styles\nimport \"./VDialog.css\";\n\n// Components\nimport { VDialogTransition } from \"../transitions/index.mjs\";\nimport { VDefaultsProvider } from \"../VDefaultsProvider/index.mjs\";\nimport { VOverlay } from \"../VOverlay/index.mjs\";\nimport { makeVOverlayProps } from \"../VOverlay/VOverlay.mjs\"; // Composables\nimport { forwardRefs } from \"../../composables/forwardRefs.mjs\";\nimport { useProxiedModel } from \"../../composables/proxiedModel.mjs\";\nimport { useScopeId } from \"../../composables/scopeId.mjs\"; // Utilities\nimport { computed, mergeProps, nextTick, ref, watch } from 'vue';\nimport { focusableChildren, genericComponent, IN_BROWSER, propsFactory, useRender } from \"../../util/index.mjs\"; // Types\nexport const makeVDialogProps = propsFactory({\n fullscreen: Boolean,\n retainFocus: {\n type: Boolean,\n default: true\n },\n scrollable: Boolean,\n ...makeVOverlayProps({\n origin: 'center center',\n scrollStrategy: 'block',\n transition: {\n component: VDialogTransition\n },\n zIndex: 2400\n })\n}, 'VDialog');\nexport const VDialog = genericComponent()({\n name: 'VDialog',\n props: makeVDialogProps(),\n emits: {\n 'update:modelValue': value => true\n },\n setup(props, _ref) {\n let {\n slots\n } = _ref;\n const isActive = useProxiedModel(props, 'modelValue');\n const {\n scopeId\n } = useScopeId();\n const overlay = ref();\n function onFocusin(e) {\n const before = e.relatedTarget;\n const after = e.target;\n if (before !== after && overlay.value?.contentEl &&\n // We're the topmost dialog\n overlay.value?.globalTop &&\n // It isn't the document or the dialog body\n ![document, overlay.value.contentEl].includes(after) &&\n // It isn't inside the dialog body\n !overlay.value.contentEl.contains(after)) {\n const focusable = focusableChildren(overlay.value.contentEl);\n if (!focusable.length) return;\n const firstElement = focusable[0];\n const lastElement = focusable[focusable.length - 1];\n if (before === firstElement) {\n lastElement.focus();\n } else {\n firstElement.focus();\n }\n }\n }\n if (IN_BROWSER) {\n watch(() => isActive.value && props.retainFocus, val => {\n val ? document.addEventListener('focusin', onFocusin) : document.removeEventListener('focusin', onFocusin);\n }, {\n immediate: true\n });\n }\n watch(isActive, async val => {\n await nextTick();\n if (val) {\n overlay.value.contentEl?.focus({\n preventScroll: true\n });\n } else {\n overlay.value.activatorEl?.focus({\n preventScroll: true\n });\n }\n });\n const activatorProps = computed(() => mergeProps({\n 'aria-haspopup': 'dialog',\n 'aria-expanded': String(isActive.value)\n }, props.activatorProps));\n useRender(() => {\n const overlayProps = VOverlay.filterProps(props);\n return _createVNode(VOverlay, _mergeProps({\n \"ref\": overlay,\n \"class\": ['v-dialog', {\n 'v-dialog--fullscreen': props.fullscreen,\n 'v-dialog--scrollable': props.scrollable\n }, props.class],\n \"style\": props.style\n }, overlayProps, {\n \"modelValue\": isActive.value,\n \"onUpdate:modelValue\": $event => isActive.value = $event,\n \"aria-modal\": \"true\",\n \"activatorProps\": activatorProps.value,\n \"role\": \"dialog\"\n }, scopeId), {\n activator: slots.activator,\n default: function () {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n return _createVNode(VDefaultsProvider, {\n \"root\": \"VDialog\"\n }, {\n default: () => [slots.default?.(...args)]\n });\n }\n });\n });\n return forwardRefs({}, overlay);\n }\n});\n//# sourceMappingURL=VDialog.mjs.map"],"names":["makeVDialogProps","propsFactory","makeVOverlayProps","VDialogTransition","VDialog","genericComponent","value","props","_ref","slots","isActive","useProxiedModel","scopeId","useScopeId","overlay","ref","onFocusin","e","before","after","_a","_b","focusable","focusableChildren","firstElement","lastElement","IN_BROWSER","watch","val","nextTick","activatorProps","computed","mergeProps","useRender","overlayProps","VOverlay","_createVNode","_mergeProps","$event","_len","args","_key","VDefaultsProvider","forwardRefs"],"mappings":";;uiBAcO,MAAMA,EAAmBC,EAAa,CAC3C,WAAY,QACZ,YAAa,CACX,KAAM,QACN,QAAS,EACV,EACD,WAAY,QACZ,GAAGC,EAAkB,CACnB,OAAQ,gBACR,eAAgB,QAChB,WAAY,CACV,UAAWC,CACZ,EACD,OAAQ,IACZ,CAAG,CACH,EAAG,SAAS,EACCC,EAAUC,EAAgB,EAAG,CACxC,KAAM,UACN,MAAOL,EAAkB,EACzB,MAAO,CACL,oBAAqBM,GAAS,EAC/B,EACD,MAAMC,EAAOC,EAAM,CACjB,GAAI,CACF,MAAAC,CACD,EAAGD,EACJ,MAAME,EAAWC,EAAgBJ,EAAO,YAAY,EAC9C,CACJ,QAAAK,CACD,EAAGC,EAAU,EACRC,EAAUC,IAChB,SAASC,EAAUC,EAAG,SACpB,MAAMC,EAASD,EAAE,cACXE,EAAQF,EAAE,OAChB,GAAIC,IAAWC,KAASC,EAAAN,EAAQ,QAAR,MAAAM,EAAe,cAEvCC,EAAAP,EAAQ,QAAR,MAAAO,EAAe,YAEf,CAAC,CAAC,SAAUP,EAAQ,MAAM,SAAS,EAAE,SAASK,CAAK,GAEnD,CAACL,EAAQ,MAAM,UAAU,SAASK,CAAK,EAAG,CACxC,MAAMG,EAAYC,EAAkBT,EAAQ,MAAM,SAAS,EAC3D,GAAI,CAACQ,EAAU,OAAQ,OACvB,MAAME,EAAeF,EAAU,CAAC,EAC1BG,EAAcH,EAAUA,EAAU,OAAS,CAAC,EAC9CJ,IAAWM,EACbC,EAAY,MAAK,EAEjBD,EAAa,MAAK,CAErB,CACF,CACGE,GACFC,EAAM,IAAMjB,EAAS,OAASH,EAAM,YAAaqB,GAAO,CACtDA,EAAM,SAAS,iBAAiB,UAAWZ,CAAS,EAAI,SAAS,oBAAoB,UAAWA,CAAS,CACjH,EAAS,CACD,UAAW,EACnB,CAAO,EAEHW,EAAMjB,EAAU,MAAMkB,GAAO,SAC3B,MAAMC,EAAQ,EACVD,GACFR,EAAAN,EAAQ,MAAM,YAAd,MAAAM,EAAyB,MAAM,CAC7B,cAAe,EACzB,IAEQC,EAAAP,EAAQ,MAAM,cAAd,MAAAO,EAA2B,MAAM,CAC/B,cAAe,EACzB,EAEA,CAAK,EACD,MAAMS,EAAiBC,EAAS,IAAMC,EAAW,CAC/C,gBAAiB,SACjB,gBAAiB,OAAOtB,EAAS,KAAK,CAC5C,EAAOH,EAAM,cAAc,CAAC,EACxB,OAAA0B,EAAU,IAAM,CACd,MAAMC,EAAeC,EAAS,YAAY5B,CAAK,EAC/C,OAAO6B,EAAaD,EAAUE,EAAY,CACxC,IAAOvB,EACP,MAAS,CAAC,WAAY,CACpB,uBAAwBP,EAAM,WAC9B,uBAAwBA,EAAM,UACxC,EAAWA,EAAM,KAAK,EACd,MAASA,EAAM,KAChB,EAAE2B,EAAc,CACf,WAAcxB,EAAS,MACvB,sBAAuB4B,GAAU5B,EAAS,MAAQ4B,EAClD,aAAc,OACd,eAAkBR,EAAe,MACjC,KAAQ,QACT,EAAElB,CAAO,EAAG,CACX,UAAWH,EAAM,UACjB,QAAS,UAAY,CACnB,QAAS8B,EAAO,UAAU,OAAQC,EAAO,IAAI,MAAMD,CAAI,EAAGE,EAAO,EAAGA,EAAOF,EAAME,IAC/ED,EAAKC,CAAI,EAAI,UAAUA,CAAI,EAE7B,OAAOL,EAAaM,EAAmB,CACrC,KAAQ,SACpB,EAAa,CACD,QAAS,IAAA,OAAM,QAACtB,EAAAX,EAAM,UAAN,YAAAW,EAAA,KAAAX,EAAgB,GAAG+B,EAAK,EACpD,CAAW,CACF,CACT,CAAO,CACP,CAAK,EACMG,EAAY,GAAI7B,CAAO,CAC/B,CACH,CAAC","debug_id":"45e18911-0899-5cb6-9367-2e9f98749c16"}