UNPKG

element-plus

Version:

A Component Library for Vue 3

1 lines 11.9 kB
{"version":3,"file":"drawer2.mjs","sources":["../../../../../../packages/components/drawer/src/drawer.vue"],"sourcesContent":["<template>\n <el-teleport\n :to=\"appendTo\"\n :disabled=\"appendTo !== 'body' ? false : !appendToBody\"\n >\n <transition\n :name=\"ns.b('fade')\"\n @after-enter=\"afterEnter\"\n @after-leave=\"afterLeave\"\n @before-leave=\"beforeLeave\"\n >\n <el-overlay\n v-show=\"visible\"\n :mask=\"modal\"\n :overlay-class=\"[\n ns.is('drawer'),\n modalClass ?? '',\n `${ns.namespace.value}-modal-drawer`,\n ns.is('penetrable', penetrable),\n ]\"\n :z-index=\"zIndex\"\n @click=\"onModalClick\"\n >\n <el-focus-trap\n loop\n :trapped=\"visible\"\n :focus-trap-el=\"drawerRef\"\n :focus-start-el=\"focusStartRef\"\n @focus-after-trapped=\"onOpenAutoFocus\"\n @focus-after-released=\"onCloseAutoFocus\"\n @focusout-prevented=\"onFocusoutPrevented\"\n @release-requested=\"onCloseRequested\"\n >\n <div\n ref=\"drawerRef\"\n aria-modal=\"true\"\n :aria-label=\"title || undefined\"\n :aria-labelledby=\"!title ? titleId : undefined\"\n :aria-describedby=\"bodyId\"\n v-bind=\"$attrs\"\n :class=\"[\n ns.b(),\n direction,\n visible && 'open',\n ns.is('dragging', isResizing),\n ]\"\n :style=\"{ [isHorizontal ? 'width' : 'height']: size }\"\n role=\"dialog\"\n @click.stop\n >\n <span ref=\"focusStartRef\" :class=\"ns.e('sr-focus')\" tabindex=\"-1\" />\n <header v-if=\"withHeader\" :class=\"[ns.e('header'), headerClass]\">\n <template v-if=\"!$slots.title\">\n <slot\n name=\"header\"\n :close=\"handleClose\"\n :title-id=\"titleId\"\n :title-class=\"ns.e('title')\"\n >\n <span\n :id=\"titleId\"\n role=\"heading\"\n :aria-level=\"headerAriaLevel\"\n :class=\"ns.e('title')\"\n >\n {{ title }}\n </span>\n </slot>\n </template>\n <template v-else>\n <slot name=\"title\">\n <!-- DEPRECATED SLOT -->\n </slot>\n </template>\n <button\n v-if=\"showClose\"\n :aria-label=\"t('el.drawer.close')\"\n :class=\"ns.e('close-btn')\"\n type=\"button\"\n @click=\"handleClose\"\n >\n <el-icon :class=\"ns.e('close')\">\n <close />\n </el-icon>\n </button>\n </header>\n <template v-if=\"rendered\">\n <div :id=\"bodyId\" :class=\"[ns.e('body'), bodyClass]\">\n <slot />\n </div>\n </template>\n <div v-if=\"$slots.footer\" :class=\"[ns.e('footer'), footerClass]\">\n <slot name=\"footer\" />\n </div>\n <div\n v-if=\"resizable\"\n ref=\"draggerRef\"\n :style=\"{ zIndex }\"\n :class=\"ns.e('dragger')\"\n />\n </div>\n </el-focus-trap>\n </el-overlay>\n </transition>\n </el-teleport>\n</template>\n\n<script lang=\"ts\" setup>\nimport { computed, ref, useSlots } from 'vue'\nimport { Close } from '@element-plus/icons-vue'\nimport { ElOverlay } from '@element-plus/components/overlay'\nimport ElFocusTrap from '@element-plus/components/focus-trap'\nimport ElTeleport from '@element-plus/components/teleport'\nimport { useDialog } from '@element-plus/components/dialog'\nimport ElIcon from '@element-plus/components/icon'\nimport { useDeprecated, useLocale, useNamespace } from '@element-plus/hooks'\nimport { drawerEmits, drawerProps } from './drawer'\nimport { useResizable } from './composables/useResizable'\n\ndefineOptions({\n name: 'ElDrawer',\n inheritAttrs: false,\n})\n\nconst props = defineProps(drawerProps)\nconst emit = defineEmits(drawerEmits)\nconst slots = useSlots()\n\nuseDeprecated(\n {\n scope: 'el-drawer',\n from: 'the title slot',\n replacement: 'the header slot',\n version: '3.0.0',\n ref: 'https://element-plus.org/en-US/component/drawer.html#slots',\n },\n computed(() => !!slots.title)\n)\n\nconst drawerRef = ref<HTMLElement>()\nconst focusStartRef = ref<HTMLElement>()\nconst draggerRef = ref<HTMLElement>()\nconst ns = useNamespace('drawer')\nconst { t } = useLocale()\n\nconst {\n afterEnter,\n afterLeave,\n beforeLeave,\n visible,\n rendered,\n titleId,\n bodyId,\n zIndex,\n onModalClick,\n onOpenAutoFocus,\n onCloseAutoFocus,\n onFocusoutPrevented,\n onCloseRequested,\n handleClose,\n} = useDialog(props, drawerRef)\n\nconst { isHorizontal, size, isResizing } = useResizable(props, draggerRef, emit)\n\nconst penetrable = computed(() => props.modalPenetrable && !props.modal)\n\ndefineExpose({\n handleClose,\n afterEnter,\n afterLeave,\n})\n</script>\n"],"names":["_createBlock","_unref","appendTo","appendToBody","_createVNode","_Transition","_withDirectives","modal","modalClass","_createElementVNode","_mergeProps","title","$attrs","direction","_withModifiers","_normalizeClass","withHeader","_openBlock","_createElementBlock","headerClass","$slots","_renderSlot","headerAriaLevel","_toDisplayString","_createCommentVNode","showClose","bodyClass","footerClass","resizable","_normalizeStyle"],"mappings":"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"}