{"version":3,"file":"drawer-v22.mjs","sources":["../../../../../../packages/components/drawer-v2/src/drawer-v2.vue"],"sourcesContent":["<template>\n  <div :class=\"ns.b('trigger')\" @click=\"open\">\n    <slot name=\"trigger\">\n      <el-button v-bind=\"triggerProps\">\n        {{ triggerProps?.triggerText }}\n      </el-button>\n    </slot>\n  </div>\n\n  <el-drawer\n    v-model=\"visible\"\n    append-to-body\n    :show-close=\"false\"\n    :modal-class=\"ns.b()\"\n    v-bind=\"$attrs\"\n  >\n    <template #header=\"scoped\">\n      <slot name=\"header\" v-bind=\"scoped\">\n        <div :class=\"ns.b('header')\">\n          <span class=\"title\">{{ title }}</span>\n          <el-icon size=\"16\" @click=\"scoped.close\"><Close /></el-icon>\n        </div>\n      </slot>\n    </template>\n    <template #default>\n      <div :class=\"ns.b('content')\"><slot /></div>\n    </template>\n    <template #footer>\n      <slot name=\"footer\">\n        <div :class=\"ns.b('footer')\">\n          <el-button\n            v-if=\"!hiddenCancel\"\n            v-bind=\"cancelProps\"\n            @click=\"handleCancel\"\n          >\n            {{ cancelProps?.cancelText ?? t('epx.common.cancel') }}\n          </el-button>\n          <el-button\n            v-if=\"!hiddenSure\"\n            v-bind=\"sureProps\"\n            type=\"primary\"\n            :loading=\"loading\"\n            @click=\"handleSure\"\n          >\n            {{ sureProps?.sureText ?? t('epx.common.sure') }}\n          </el-button>\n        </div>\n      </slot>\n    </template>\n  </el-drawer>\n</template>\n\n<script lang=\"ts\" setup>\nimport { computed, ref } from 'vue'\nimport {\n  ElButton,\n  ElDrawer,\n  ElIcon,\n  useLocale,\n  useNamespace,\n} from 'element-plus'\nimport { Close } from '@element-plus/icons-vue'\nimport { drawerV2Props } from './drawer-v2'\n\ndefineOptions({\n  name: 'ElDrawerV2',\n  inheritAttrs: false,\n})\nconst props = defineProps(drawerV2Props)\n\nconst ns = useNamespace('drawer-v2')\nconst { t } = useLocale()\n\nconst visible = ref(false)\nconst loading = ref(false)\n\nconst hiddenCancel = computed(() => props.cancelProps?.hidden ?? false)\nconst hiddenSure = computed(() => props.sureProps?.hidden ?? false)\n\nconst close = () => (visible.value = false)\nconst open = () => (visible.value = true)\n\nconst handleCancel = () => {\n  props.onCancel ? props.onCancel({ close }) : close()\n}\nconst handleSure = async () => {\n  if (!props.onSure) {\n    return close()\n  }\n  try {\n    loading.value = true\n    await props.onSure({ close })\n  } catch {\n  } finally {\n    loading.value = false\n  }\n}\n\ndefineExpose({\n  close,\n  open,\n})\n</script>\n"],"names":[],"mappings":";;;;;;mCAgEc,CAAA;AAAA,EACZ,IAAM,EAAA,YAAA;AAAA,EACN,YAAc,EAAA,KAAA;AAChB,CAAA,CAAA,CAAA;;;;;AACA,IAAA,MAAM,KAAQ,GAAA,OAAA,CAAA;AAER,IAAA,MAAA,EAAA,GAAK,aAAa,WAAW,CAAA,CAAA;AAC7B,IAAA,MAAA,EAAE,CAAE,EAAA,GAAI,SAAU,EAAA,CAAA;AAElB,IAAA,MAAA,OAAA,GAAU,IAAI,KAAK,CAAA,CAAA;AACnB,IAAA,MAAA,OAAA,GAAU,IAAI,KAAK,CAAA,CAAA;AAEzB,IAAM,MAAA,YAAA,GAAe,SAAS,MAAA;;AAAM,MAAM,OAAA,CAAA,EAAA,GAAA,CAAA,EAAA,GAAA,KAAA,CAAA,WAAA,KAAN,IAAmB,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,MAAA,KAAnB,IAA6B,GAAA,EAAA,GAAA,KAAA,CAAA;AAAA,KAAK,CAAA,CAAA;AACtE,IAAM,MAAA,UAAA,GAAa,SAAS,MAAA;;AAAM,MAAM,OAAA,CAAA,EAAA,GAAA,CAAA,EAAA,GAAA,KAAA,CAAA,SAAA,KAAN,IAAiB,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,MAAA,KAAjB,IAA2B,GAAA,EAAA,GAAA,KAAA,CAAA;AAAA,KAAK,CAAA,CAAA;AAE5D,IAAA,MAAA,KAAA,GAAQ,MAAO,OAAA,CAAQ,KAAQ,GAAA,KAAA,CAAA;AAC/B,IAAA,MAAA,IAAA,GAAO,MAAO,OAAA,CAAQ,KAAQ,GAAA,IAAA,CAAA;AAEpC,IAAA,MAAM,eAAe,MAAM;AACzB,MAAA,KAAA,CAAM,WAAW,KAAM,CAAA,QAAA,CAAS,EAAE,KAAM,EAAC,IAAI,KAAM,EAAA,CAAA;AAAA,KACrD,CAAA;AACA,IAAA,MAAM,aAAa,YAAY;AACzB,MAAA,IAAA,CAAC,MAAM,MAAQ,EAAA;AACjB,QAAA,OAAO,KAAM,EAAA,CAAA;AAAA,OACf;AACI,MAAA,IAAA;AACF,QAAA,OAAA,CAAQ,KAAQ,GAAA,IAAA,CAAA;AAChB,QAAA,MAAM,KAAM,CAAA,MAAA,CAAO,EAAE,KAAA,EAAO,CAAA,CAAA;AAAA,eACtB,CAAA,EAAA;AAAA,OACN,SAAA;AACA,QAAA,OAAA,CAAQ,KAAQ,GAAA,KAAA,CAAA;AAAA,OAClB;AAAA,KACF,CAAA;AAEa,IAAA,QAAA,CAAA;AAAA,MACX,KAAA;AAAA,MACA,IAAA;AAAA,KACD,CAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}