{"version":3,"file":"dialog2.mjs","sources":["../../../../../../packages/components/dialog/src/dialog.vue"],"sourcesContent":["<template>\n  <teleport to=\"body\" :disabled=\"!appendToBody\">\n    <transition\n      name=\"dialog-fade\"\n      @after-enter=\"afterEnter\"\n      @after-leave=\"afterLeave\"\n      @before-leave=\"beforeLeave\"\n    >\n      <el-overlay\n        v-show=\"visible\"\n        custom-mask-event\n        :mask=\"modal\"\n        :overlay-class=\"modalClass\"\n        :z-index=\"zIndex\"\n      >\n        <div\n          :class=\"`${ns.namespace.value}-overlay-dialog`\"\n          @click=\"overlayEvent.onClick\"\n          @mousedown=\"overlayEvent.onMousedown\"\n          @mouseup=\"overlayEvent.onMouseup\"\n        >\n          <el-dialog-content\n            v-if=\"rendered\"\n            :custom-class=\"customClass\"\n            :center=\"center\"\n            :close-icon=\"closeIcon\"\n            :draggable=\"draggable\"\n            :fullscreen=\"fullscreen\"\n            :show-close=\"showClose\"\n            :style=\"style\"\n            :title=\"title\"\n            @close=\"handleClose\"\n          >\n            <template #title>\n              <slot name=\"title\" />\n            </template>\n            <slot />\n            <template v-if=\"$slots.footer\" #footer>\n              <slot name=\"footer\" />\n            </template>\n          </el-dialog-content>\n        </div>\n      </el-overlay>\n    </transition>\n  </teleport>\n</template>\n\n<script lang=\"ts\" setup>\nimport { computed, provide, ref } from 'vue'\nimport { ElOverlay } from '@element-plus/components/overlay'\nimport { useDraggable, useNamespace, useSameTarget } from '@element-plus/hooks'\nimport { dialogInjectionKey } from '@element-plus/tokens'\nimport ElDialogContent from './dialog-content.vue'\nimport { dialogEmits, dialogProps } from './dialog'\nimport { useDialog } from './use-dialog'\n\ndefineOptions({\n  name: 'ElDialog',\n})\n\nconst props = defineProps(dialogProps)\ndefineEmits(dialogEmits)\n\nconst ns = useNamespace('dialog')\nconst dialogRef = ref<HTMLElement>()\nconst headerRef = ref<HTMLElement>()\n\nconst {\n  visible,\n  style,\n  rendered,\n  zIndex,\n  afterEnter,\n  afterLeave,\n  beforeLeave,\n  handleClose,\n  onModalClick,\n} = useDialog(props, dialogRef)\n\nprovide(dialogInjectionKey, {\n  dialogRef,\n  headerRef,\n  ns,\n  rendered,\n  style,\n})\n\nconst overlayEvent = useSameTarget(onModalClick)\n\nconst draggable = computed(() => props.draggable && !props.fullscreen)\n\nuseDraggable(dialogRef, headerRef, draggable)\n\ndefineExpose({\n  /** @description whether the dialog is visible */\n  visible,\n})\n</script>\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;AA+DA,IAAA,MAAA,KAAA,YAAA,CAAA,QAAA,CAAA,CAAA;AACA,IAAA,MAAA,SAAA,GAAA,GAAA,EAAA,CAAA;AACA,IAAA,MAAA,SAAA,GAAA,GAAA,EAAA,CAAA;AAEA,IAAA,MAAA;AAAA,MACA,OAAA;AAAA,MACA,KAAA;AAAA,MACA,QAAA;AAAA,MACA,MAAA;AAAA,MACA,UAAA;AAAA,MACA,UAAA;AAAA,MACA,WAAA;AAAA,MACA,WAAA;AAAA,MACA,YAAA;AAAA,KAAA,GACA,UAAA,KAAA,EAAA,SAAA,CAAA,CAAA;AAEA,IAAA,OAAA,CAAA,kBAAA,EAAA;AAAA,MACA,SAAA;AAAA,MACA,SAAA;AAAA,MACA,EAAA;AAAA,MACA,QAAA;AAAA,MACA,KAAA;AAAA,KAAA,CAAA,CAAA;AAGA,IAAA,MAAA,eAAA,aAAA,CAAA,YAAA,CAAA,CAAA;AAEA,IAAA,MAAA,YAAA,QAAA,CAAA,MAAA,KAAA,CAAA,SAAA,IAAA,CAAA,KAAA,CAAA,UAAA,CAAA,CAAA;AAEA,IAAA,YAAA,CAAA,WAAA,SAAA,EAAA,SAAA,CAAA,CAAA;AAEA,IAAA,MAAA,CAAA;AAAA,MAEA,OAAA;AAAA,KAAA,CAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}