element-plus
Version:
A Component Library for Vue 3
1 lines • 5.66 kB
Source Map (JSON)
{"version":3,"file":"alert.vue2.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 && ($slots.icon || iconComponent)\"\n :class=\"[ns.e('icon'), ns.is('big', hasDesc)]\"\n >\n <slot name=\"icon\">\n <component :is=\"iconComponent\" />\n </slot>\n </el-icon>\n\n <div :class=\"ns.e('content')\">\n <span\n v-if=\"title || $slots.title\"\n :class=\"[ns.e('title'), { 'with-description': hasDesc }]\"\n >\n <slot name=\"title\">{{ title }}</slot>\n </span>\n <p v-if=\"hasDesc\" :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\n<script lang=\"ts\" setup>\nimport { computed, ref, useSlots } from 'vue'\nimport { ElIcon } from '@element-plus/components/icon'\nimport {\n TypeComponents,\n TypeComponentsMap,\n flattedChildren,\n isComment,\n} from '@element-plus/utils'\nimport { useNamespace } from '@element-plus/hooks'\nimport { alertEmits } from './alert'\n\nimport type { AlertProps } from './alert'\n\nconst { Close } = TypeComponents\n\ndefineOptions({\n name: 'ElAlert',\n})\n\nconst props = withDefaults(defineProps<AlertProps>(), {\n title: '',\n description: '',\n type: 'info',\n closable: true,\n closeText: '',\n effect: 'light',\n})\nconst emit = defineEmits(alertEmits)\nconst slots = useSlots()\n\nconst ns = useNamespace('alert')\n\nconst visible = ref(true)\n\nconst iconComponent = computed(() => TypeComponentsMap[props.type])\n\nconst hasDesc = computed(() => {\n if (props.description) return true\n const slotContent = slots.default?.()\n if (!slotContent) return false\n\n const children = flattedChildren(slotContent)\n return children.some((child) => !isComment(child))\n})\n\nconst close = (evt: MouseEvent) => {\n visible.value = false\n emit('close', evt)\n}\n</script>\n"],"names":["_createBlock","_Transition","_unref","_createElementVNode","_normalizeClass","$slots","_renderSlot","_openBlock","_resolveDynamicComponent","_createElementBlock","_Fragment","_createVNode"],"mappings":"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"}