UNPKG

element-plus

Version:

A Component Library for Vue 3

1 lines 9.47 kB
{"version":3,"file":"dialog.vue2.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, dialogPropsDefaults } from './dialog'\nimport { useDialog } from './use-dialog'\n\nimport type { DialogProps } from './dialog'\n\ndefineOptions({\n name: 'ElDialog',\n inheritAttrs: false,\n})\n\nconst props = withDefaults(defineProps<DialogProps>(), dialogPropsDefaults)\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","_createVNode","_Transition","_mergeProps","_createElementVNode","_normalizeClass","_openBlock","ElDialogContent","$attrs","$slots","_renderSlot"],"mappings":"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"}