element-plus
Version:
A Component Library for Vue 3
1 lines • 4.98 kB
Source Map (JSON)
{"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 <div\n ref=\"dialogRef\"\n v-trap-focus\n :class=\"[\n ns.b(),\n ns.is('fullscreen', fullscreen),\n ns.is('draggable', draggable),\n { [ns.m('center')]: center },\n customClass,\n ]\"\n aria-modal=\"true\"\n role=\"dialog\"\n :aria-label=\"title || 'dialog'\"\n :style=\"style\"\n @click.stop=\"\"\n >\n <div ref=\"headerRef\" :class=\"ns.e('header')\">\n <slot name=\"title\">\n <span :class=\"ns.e('title')\">\n {{ title }}\n </span>\n </slot>\n <button\n v-if=\"showClose\"\n aria-label=\"close\"\n :class=\"ns.e('headerbtn')\"\n type=\"button\"\n @click=\"handleClose\"\n >\n <el-icon :class=\"ns.e('close')\">\n <component :is=\"closeIcon || 'close'\" />\n </el-icon>\n </button>\n </div>\n <template v-if=\"rendered\">\n <div :class=\"ns.e('body')\">\n <slot></slot>\n </div>\n </template>\n <div v-if=\"$slots.footer\" :class=\"ns.e('footer')\">\n <slot name=\"footer\"></slot>\n </div>\n </div>\n </div>\n </el-overlay>\n </transition>\n </teleport>\n</template>\n\n<script lang=\"ts\">\nimport { computed, defineComponent, ref } from 'vue'\nimport { TrapFocus } from '@element-plus/directives'\nimport { ElOverlay } from '@element-plus/components/overlay'\nimport { ElIcon } from '@element-plus/components/icon'\nimport { CloseComponents } from '@element-plus/utils'\nimport { useNamespace, useDraggable, useSameTarget } from '@element-plus/hooks'\nimport { dialogProps, dialogEmits } from './dialog'\nimport { useDialog } from './use-dialog'\n\nexport default defineComponent({\n name: 'ElDialog',\n components: {\n ElOverlay,\n ElIcon,\n ...CloseComponents,\n },\n directives: {\n TrapFocus,\n },\n\n props: dialogProps,\n emits: dialogEmits,\n\n setup(props, ctx) {\n const ns = useNamespace('dialog')\n const dialogRef = ref<HTMLElement>()\n const headerRef = ref<HTMLElement>()\n const dialog = useDialog(props, ctx, dialogRef)\n const overlayEvent = useSameTarget(dialog.onModalClick)\n\n const draggable = computed(() => props.draggable && !props.fullscreen)\n useDraggable(dialogRef, headerRef, draggable)\n\n return {\n ns,\n dialogRef,\n headerRef,\n overlayEvent,\n ...dialog,\n }\n },\n})\n</script>\n"],"names":["_openBlock","_createBlock","_Transition","_createVNode","_withCtx","_normalizeClass","_createElementBlock","_normalizeStyle","_createCommentVNode"],"mappings":";;;;;;;;;;;;;;;AAgFA,MAAK,YAAa,gBAAa;AAAA,EAC7B,MAAM;AAAA,EACN,YAAY;AAAA,IACV;AAAA,IACA;AAAA,OACG;AAAA;AAAA,EAEL,YAAY;AAAA,IACV;AAAA;AAAA,EAGF,OAAO;AAAA,EACP,OAAO;AAAA,EAEP,MAAM,OAAO,KAAK;AAChB,UAAM,KAAK,aAAa;AACxB,UAAM,YAAY;AAClB,UAAM,YAAY;AAClB,UAAM,SAAS,UAAU,OAAO,KAAK;AACrC,UAAM,eAAe,cAAc,OAAO;AAE1C,UAAM,YAAY,SAAS,MAAM,MAAM,aAAa,CAAC,MAAM;AAC3D,iBAAa,WAAW,WAAW;AAEnC,WAAO;AAAA,MACL;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,SACG;AAAA;AAAA;AAAA;;;;;;SA5GMA,aAAMC;AAAA,IAAE;AAAA;KACnB;AAAA,gBACOC,YAAa;AAAA,MACjB;AAAA,MACA,cAAa;AAAA,MACb,cAAY,KAAE;AAAA;;uBAEf;AAAA,uBAEEC,YAAiB;AAAA,UAChB,qBAAW;AAAA,UACX;AAAA,UACA,iBAAS,KAAM;AAAA;;mBAEhBC,cAiDM;AAAA,+BAhDE;AAAA,cACL,OAAKC;AAAA,cACL,gBAAS,qCAAE,wBAAa,KAAW,aAAxB,QAAa;AAAA,cACxB,aAAO,uCAAE,kBAAa,eAAb,kBAAa,YAAS;AAAA;;2CAGfC;AAAA,gBAEd,KAAK;AAAA,gBAAkB,OAAID;AAAA,kBAAkB,QAAG;AAAA,kBAA4C,QAAG,GAAE,cAAc;AAAA,uBAA6B,MAAG,aAAC,KAAa;AAAA,kBAAwB,yBAAW;AAAA;;gBAQjM,cAAa;AAAA,gBACZ;AAAA,gBACA,cAAK,cAAE;AAAA,gBACP,OAAKE;AAAA;;iBAEN;AAAA,mCAAoB;AAAA,kBAAE,KAAK;AAAA;mBACzB;AAAA,6BACE,aAEO;AAAA,uCAFK,QAAE;AAAA,4CACT,KAAK;AAAA;;;oBAKV;AAAA,oBACC,cAAK;AAAA,oBACN,OAAKF,eAAQ;AAAA,oBACZ;AAAA;qBAED;AAAA,gCAAe,oBAAK;AAAA;;uCAClB;AAAA;;;;;mBAIU;AAAA;kBACR,KAAK;AAAA;mBACT;AAAA;yBAGOG,mBAAa;AAAA;kBAAG,KAAK;AAAA;mBAC9B;AAAA;;;;;;;;cApDE,SAAO;AAAA;;;;;;;;;;;"}