{"version":3,"file":"drawer2.mjs","sources":["../../../../../../packages/components/drawer/src/drawer.vue"],"sourcesContent":["<template>\n  <teleport to=\"body\" :disabled=\"!appendToBody\">\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=\"modalClass\"\n        :z-index=\"zIndex\"\n        @click=\"onModalClick\"\n      >\n        <div\n          ref=\"drawerRef\"\n          v-trap-focus\n          aria-modal=\"true\"\n          :aria-labelledby=\"ns.e('title')\"\n          :aria-label=\"title\"\n          :class=\"[ns.b(), direction, visible && 'open', customClass]\"\n          :style=\"\n            isHorizontal ? 'width: ' + drawerSize : 'height: ' + drawerSize\n          \"\n          role=\"dialog\"\n          @click.stop\n        >\n          <header v-if=\"withHeader\" :id=\"ns.e('title')\" :class=\"ns.e('header')\">\n            <slot name=\"title\">\n              <span role=\"heading\" :title=\"title\">\n                {{ title }}\n              </span>\n            </slot>\n            <button\n              v-if=\"showClose\"\n              :aria-label=\"'close ' + (title || 'drawer')\"\n              :class=\"ns.e('close-btn')\"\n              type=\"button\"\n              @click=\"handleClose\"\n            >\n              <el-icon :class=\"ns.e('close')\"><close /></el-icon>\n            </button>\n          </header>\n          <template v-if=\"rendered\">\n            <section :class=\"ns.e('body')\">\n              <slot />\n            </section>\n          </template>\n          <div v-if=\"$slots.footer\" :class=\"ns.e('footer')\">\n            <slot name=\"footer\" />\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 { Close } from '@element-plus/icons-vue'\n\nimport { ElOverlay } from '@element-plus/components/overlay'\nimport { useDialog } from '@element-plus/components/dialog'\nimport ElIcon from '@element-plus/components/icon'\nimport { TrapFocus } from '@element-plus/directives'\nimport { useNamespace } from '@element-plus/hooks'\nimport { drawerEmits, drawerProps } from './drawer'\n\nexport default defineComponent({\n  name: 'ElDrawer',\n  components: {\n    ElOverlay,\n    ElIcon,\n    Close,\n  },\n  directives: {\n    TrapFocus,\n  },\n  props: drawerProps,\n  emits: drawerEmits,\n\n  setup(props, ctx) {\n    const drawerRef = ref<HTMLElement>()\n    const ns = useNamespace('drawer')\n\n    const isHorizontal = computed(\n      () => props.direction === 'rtl' || props.direction === 'ltr'\n    )\n    const drawerSize = computed(() =>\n      typeof props.size === 'number' ? `${props.size}px` : props.size\n    )\n\n    return {\n      ...useDialog(props, ctx, drawerRef),\n      drawerRef,\n      isHorizontal,\n      drawerSize,\n      ns,\n    }\n  },\n})\n</script>\n"],"names":["_createBlock","_Teleport","_createVNode","_Transition","_withDirectives","_openBlock","_createElementBlock","_normalizeClass","_normalizeStyle","_withModifiers","_renderSlot","_createElementVNode","_toDisplayString","_createCommentVNode"],"mappings":"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"}