{"version":3,"file":"alert2.mjs","sources":["../../../../../../packages/components/alert/src/alert.vue"],"sourcesContent":["<template>\n  <transition :name=\"ns.b('fade')\">\n    <div\n      v-show=\"visible\"\n      :class=\"[ns.b(), ns.m(type), ns.is('center', center), ns.is(effect)]\"\n      role=\"alert\"\n    >\n      <el-icon\n        v-if=\"showIcon && iconComponent\"\n        :class=\"[ns.e('icon'), isBigIcon]\"\n      >\n        <component :is=\"iconComponent\" />\n      </el-icon>\n      <div :class=\"ns.e('content')\">\n        <span\n          v-if=\"title || $slots.title\"\n          :class=\"[ns.e('title'), isBoldTitle]\"\n        >\n          <slot name=\"title\">{{ title }}</slot>\n        </span>\n        <p v-if=\"$slots.default || description\" :class=\"ns.e('description')\">\n          <slot>\n            {{ description }}\n          </slot>\n        </p>\n        <template v-if=\"closable\">\n          <div\n            v-if=\"closeText\"\n            :class=\"[ns.e('close-btn'), ns.is('customed')]\"\n            @click=\"close\"\n          >\n            {{ closeText }}\n          </div>\n          <el-icon v-else :class=\"ns.e('close-btn')\" @click=\"close\">\n            <Close />\n          </el-icon>\n        </template>\n      </div>\n    </div>\n  </transition>\n</template>\n<script lang=\"ts\" setup>\nimport { computed, ref, useSlots } from 'vue'\nimport { ElIcon } from '@element-plus/components/icon'\nimport { TypeComponents, TypeComponentsMap } from '@element-plus/utils'\nimport { useNamespace } from '@element-plus/hooks'\nimport { alertEmits, alertProps } from './alert'\n\nconst { Close } = TypeComponents\n\ndefineOptions({\n  name: 'ElAlert',\n})\n\nconst props = defineProps(alertProps)\nconst emit = defineEmits(alertEmits)\nconst slots = useSlots()\n\nconst ns = useNamespace('alert')\n\n// state\nconst visible = ref(true)\n\n// computed\nconst iconComponent = computed(\n  () => TypeComponentsMap[props.type] || TypeComponentsMap['info']\n)\nconst isBigIcon = computed(\n  () => props.description || { [ns.is('big')]: slots.default }\n)\nconst isBoldTitle = computed(\n  () => props.description || { [ns.is('bold')]: slots.default }\n)\n\n// methods\nconst close = (evt: MouseEvent) => {\n  visible.value = false\n  emit('close', evt)\n}\n</script>\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAgDA,IAAA,MAAA,EAAA,KAAA,EAAA,GAAA,cAAA,CAAA;AAQA,IAAA,MAAA,KAAA,GAAA,QAAA,EAAA,CAAA;AAEA,IAAA,MAAA,KAAA,YAAA,CAAA,OAAA,CAAA,CAAA;AAGA,IAAA,MAAA,UAAA,GAAA,CAAA,IAAA,CAAA,CAAA;AAGA,IAAA,MAAA,gBAAA,QACA,CAAA,MAAA,iBAAA,CAAA,KAAA,CAAA,SAAA,iBAAA,CAAA,MAAA,CAAA,CAAA,CAAA;AAEA,IAAA,MAAA,SAAA,GAAA,SACA,MAAA,KAAA,CAAA,eAAA,EAAA,CAAA,EAAA,CAAA,EAAA,CAAA,KAAA,CAAA,GAAA,KAAA,CAAA,OAAA,EAAA,CAAA,CAAA;AAEA,IAAA,MAAA,WAAA,GAAA,SACA,MAAA,KAAA,CAAA,eAAA,EAAA,CAAA,EAAA,CAAA,EAAA,CAAA,MAAA,CAAA,GAAA,KAAA,CAAA,OAAA,EAAA,CAAA,CAAA;AAIA,IAAA,MAAA,KAAA,GAAA,CAAA,GAAA,KAAA;AACA,MAAA,OAAA,CAAA,KAAA,GAAA,KAAA,CAAA;AACA,MAAA,IAAA,CAAA,OAAA,EAAA,GAAA,CAAA,CAAA;AAAA,KAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}