element-plus
Version:
A Component Library for Vue 3
1 lines • 10.1 kB
Source Map (JSON)
{"version":3,"file":"dialog2.mjs","sources":["../../../../../../packages/components/dialog/src/dialog.vue"],"sourcesContent":["<template>\n <el-teleport\n :to=\"appendTo\"\n :disabled=\"appendTo !== 'body' ? false : !appendToBody\"\n >\n <transition v-bind=\"transitionConfig\">\n <el-overlay\n v-show=\"visible\"\n custom-mask-event\n :mask=\"modal\"\n :overlay-class=\"[\n modalClass ?? '',\n `${ns.namespace.value}-modal-dialog`,\n ns.is('penetrable', penetrable),\n ]\"\n :z-index=\"zIndex\"\n >\n <div\n role=\"dialog\"\n aria-modal=\"true\"\n :aria-label=\"title || undefined\"\n :aria-labelledby=\"!title ? titleId : undefined\"\n :aria-describedby=\"bodyId\"\n :class=\"[\n `${ns.namespace.value}-overlay-dialog`,\n ns.is('closing', closing),\n ]\"\n :style=\"overlayDialogStyle\"\n @click=\"overlayEvent.onClick\"\n @mousedown=\"overlayEvent.onMousedown\"\n @mouseup=\"overlayEvent.onMouseup\"\n >\n <el-focus-trap\n loop\n :trapped=\"visible\"\n focus-start-el=\"container\"\n @focus-after-trapped=\"onOpenAutoFocus\"\n @focus-after-released=\"onCloseAutoFocus\"\n @focusout-prevented=\"onFocusoutPrevented\"\n @release-requested=\"onCloseRequested\"\n >\n <el-dialog-content\n v-if=\"rendered\"\n ref=\"dialogContentRef\"\n v-bind=\"$attrs\"\n :center=\"center\"\n :align-center=\"_alignCenter\"\n :close-icon=\"closeIcon\"\n :draggable=\"_draggable\"\n :overflow=\"_overflow\"\n :fullscreen=\"fullscreen\"\n :header-class=\"headerClass\"\n :body-class=\"bodyClass\"\n :footer-class=\"footerClass\"\n :show-close=\"showClose\"\n :title=\"title\"\n :aria-level=\"headerAriaLevel\"\n @close=\"handleClose\"\n >\n <template #header>\n <slot\n v-if=\"!$slots.title\"\n name=\"header\"\n :close=\"handleClose\"\n :title-id=\"titleId\"\n :title-class=\"ns.e('title')\"\n />\n <slot v-else name=\"title\" />\n </template>\n <slot />\n <template v-if=\"$slots.footer\" #footer>\n <slot name=\"footer\" />\n </template>\n </el-dialog-content>\n </el-focus-trap>\n </div>\n </el-overlay>\n </transition>\n </el-teleport>\n</template>\n\n<script lang=\"ts\" setup>\nimport { computed, provide, ref, useSlots } from 'vue'\nimport { ElOverlay } from '@element-plus/components/overlay'\nimport { useDeprecated, useNamespace, useSameTarget } from '@element-plus/hooks'\nimport ElFocusTrap from '@element-plus/components/focus-trap'\nimport ElTeleport from '@element-plus/components/teleport'\nimport ElDialogContent from './dialog-content.vue'\nimport { dialogInjectionKey } from './constants'\nimport { dialogEmits, dialogProps } from './dialog'\nimport { useDialog } from './use-dialog'\n\ndefineOptions({\n name: 'ElDialog',\n inheritAttrs: false,\n})\n\nconst props = defineProps(dialogProps)\ndefineEmits(dialogEmits)\nconst slots = useSlots()\n\nuseDeprecated(\n {\n scope: 'el-dialog',\n from: 'the title slot',\n replacement: 'the header slot',\n version: '3.0.0',\n ref: 'https://element-plus.org/en-US/component/dialog.html#slots',\n },\n computed(() => !!slots.title)\n)\n\nconst ns = useNamespace('dialog')\nconst dialogRef = ref<HTMLElement>()\nconst headerRef = ref<HTMLElement>()\nconst dialogContentRef = ref()\n\nconst {\n visible,\n titleId,\n bodyId,\n style,\n overlayDialogStyle,\n rendered,\n transitionConfig,\n zIndex,\n _draggable,\n _alignCenter,\n _overflow,\n handleClose,\n onModalClick,\n onOpenAutoFocus,\n onCloseAutoFocus,\n onCloseRequested,\n onFocusoutPrevented,\n closing,\n} = useDialog(props, dialogRef)\n\nprovide(dialogInjectionKey, {\n dialogRef,\n headerRef,\n bodyId,\n ns,\n rendered,\n style,\n})\n\nconst overlayEvent = useSameTarget(onModalClick)\n\nconst penetrable = computed(\n () => props.modalPenetrable && !props.modal && !props.fullscreen\n)\n\nconst resetPosition = () => {\n dialogContentRef.value?.resetPosition()\n}\n\ndefineExpose({\n /** @description whether the dialog is visible */\n visible,\n dialogContentRef,\n resetPosition,\n handleClose,\n})\n</script>\n"],"names":["_createBlock","_unref","appendTo","appendToBody","_createVNode","_Transition","_mergeProps","_withCtx","_withDirectives","modal","modalClass","_createElementVNode","title","_normalizeClass","_normalizeStyle","_openBlock","$attrs","center","closeIcon","fullscreen","headerClass","bodyClass","footerClass","showClose","headerAriaLevel","_createSlots","$slots","_renderSlot"],"mappings":"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"}