UNPKG

element-plus

Version:

A Component Library for Vue 3

1 lines 3.68 kB
{"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\">\nimport { defineComponent, computed, ref } from 'vue'\nimport { ElIcon } from '@element-plus/components/icon'\nimport { TypeComponents, TypeComponentsMap } from '@element-plus/utils'\nimport { useNamespace } from '@element-plus/hooks'\nimport { alertProps, alertEmits } from './alert'\n\nexport default defineComponent({\n name: 'ElAlert',\n\n components: {\n ElIcon,\n ...TypeComponents,\n },\n\n props: alertProps,\n emits: alertEmits,\n\n setup(props, { emit, slots }) {\n const ns = useNamespace('alert')\n\n // state\n const visible = ref(true)\n\n // computed\n const iconComponent = computed(\n () => TypeComponentsMap[props.type] || TypeComponentsMap['info']\n )\n const isBigIcon = computed(() =>\n props.description || slots.default ? ns.is('big') : ''\n )\n const isBoldTitle = computed(() =>\n props.description || slots.default ? ns.is('bold') : ''\n )\n\n // methods\n const close = (evt: MouseEvent) => {\n visible.value = false\n emit('close', evt)\n }\n\n return {\n ns,\n visible,\n iconComponent,\n isBigIcon,\n isBoldTitle,\n close,\n }\n },\n})\n</script>\n"],"names":["_openBlock","_createBlock","_createElementVNode","_normalizeClass","_createCommentVNode","_createElementBlock","_Fragment","_withCtx"],"mappings":";;;;;;;;;AAgDA,MAAK,YAAa,gBAAa;AAAA,EAC7B,MAAM;AAAA,EAEN,YAAY;AAAA,IACV;AAAA,OACG;AAAA;AAAA,EAGL,OAAO;AAAA,EACP,OAAO;AAAA,EAEP,MAAM,OAAO,EAAE,MAAM,SAAS;AAC5B,UAAM,KAAK,aAAa;AAGxB,UAAM,UAAU,IAAI;AAGpB,UAAM,gBAAgB,SACpB,MAAM,kBAAkB,MAAM,SAAS,kBAAkB;AAE3D,UAAM,YAAY,SAAS,MACzB,MAAM,eAAe,MAAM,UAAU,GAAG,GAAG,SAAS;AAEtD,UAAM,cAAc,SAAS,MAC3B,MAAM,eAAe,MAAM,UAAU,GAAG,GAAG,UAAU;AAIvD,UAAM,QAAQ,CAAC,QAAoB;AACjC,cAAQ,QAAQ;AAChB,WAAK,SAAS;AAAA;AAGhB,WAAO;AAAA,MACL;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA;AAAA;AAAA;;;;SAvFeA,aAAIC;AAAA;;qBACrB;AAAA,qBAEQC,mBAAO,OAAI;AAAA,QACjB,OAAKC,eAAO;AAAA;SAGJ;AAAA,8BADR;UAEG,KAAK;AAAA;;2BAEN;AAAA;;;4BAEFC,mBAwBM;AAAA,2BAxBK,OAAE;AAAA;WAEH;AAAA,6BADR;YAEG,KAAK;AAAA;aAEN;AAAA,iDAAsB;AAAA;;mBAEfA,mBAAkB;AAAA,iCAA3B;YAAyC,KAAK;AAAA;aAC5C;AAAA,+CACK;AAAA;;mBAGSA,mBAAQ;AAAA,wCAEdC,mBAASC;AAAA;cACd,KAAK;AAAA,cACL,OAAKH,6CAAE;AAAA,iDAEI;AAAA,+BAEd,iBAEU;cAFO,KAAK;AAAA,cAAsB,OAAKA,eAAO;AAAA;;uBACtDI,QAAS;AAAA;;;;;;aA/BP;AAAA;;;;;;;;;;"}