alert2.js 4.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100
  1. 'use strict';
  2. Object.defineProperty(exports, '__esModule', { value: true });
  3. var vue = require('vue');
  4. var index$1 = require('../../icon/index.js');
  5. var alert = require('./alert.js');
  6. var pluginVue_exportHelper = require('../../../_virtual/plugin-vue_export-helper.js');
  7. var icon = require('../../../utils/vue/icon.js');
  8. var index = require('../../../hooks/use-namespace/index.js');
  9. const __default__ = vue.defineComponent({
  10. name: "ElAlert"
  11. });
  12. const _sfc_main = /* @__PURE__ */ vue.defineComponent({
  13. ...__default__,
  14. props: alert.alertProps,
  15. emits: alert.alertEmits,
  16. setup(__props, { emit }) {
  17. const props = __props;
  18. const { Close } = icon.TypeComponents;
  19. const slots = vue.useSlots();
  20. const ns = index.useNamespace("alert");
  21. const visible = vue.ref(true);
  22. const iconComponent = vue.computed(() => icon.TypeComponentsMap[props.type]);
  23. const hasDesc = vue.computed(() => !!(props.description || slots.default));
  24. const close = (evt) => {
  25. visible.value = false;
  26. emit("close", evt);
  27. };
  28. return (_ctx, _cache) => {
  29. return vue.openBlock(), vue.createBlock(vue.Transition, {
  30. name: vue.unref(ns).b("fade"),
  31. persisted: ""
  32. }, {
  33. default: vue.withCtx(() => [
  34. vue.withDirectives(vue.createElementVNode("div", {
  35. class: vue.normalizeClass([vue.unref(ns).b(), vue.unref(ns).m(_ctx.type), vue.unref(ns).is("center", _ctx.center), vue.unref(ns).is(_ctx.effect)]),
  36. role: "alert"
  37. }, [
  38. _ctx.showIcon && (_ctx.$slots.icon || vue.unref(iconComponent)) ? (vue.openBlock(), vue.createBlock(vue.unref(index$1.ElIcon), {
  39. key: 0,
  40. class: vue.normalizeClass([vue.unref(ns).e("icon"), { [vue.unref(ns).is("big")]: vue.unref(hasDesc) }])
  41. }, {
  42. default: vue.withCtx(() => [
  43. vue.renderSlot(_ctx.$slots, "icon", {}, () => [
  44. (vue.openBlock(), vue.createBlock(vue.resolveDynamicComponent(vue.unref(iconComponent))))
  45. ])
  46. ]),
  47. _: 3
  48. }, 8, ["class"])) : vue.createCommentVNode("v-if", true),
  49. vue.createElementVNode("div", {
  50. class: vue.normalizeClass(vue.unref(ns).e("content"))
  51. }, [
  52. _ctx.title || _ctx.$slots.title ? (vue.openBlock(), vue.createElementBlock("span", {
  53. key: 0,
  54. class: vue.normalizeClass([vue.unref(ns).e("title"), { "with-description": vue.unref(hasDesc) }])
  55. }, [
  56. vue.renderSlot(_ctx.$slots, "title", {}, () => [
  57. vue.createTextVNode(vue.toDisplayString(_ctx.title), 1)
  58. ])
  59. ], 2)) : vue.createCommentVNode("v-if", true),
  60. vue.unref(hasDesc) ? (vue.openBlock(), vue.createElementBlock("p", {
  61. key: 1,
  62. class: vue.normalizeClass(vue.unref(ns).e("description"))
  63. }, [
  64. vue.renderSlot(_ctx.$slots, "default", {}, () => [
  65. vue.createTextVNode(vue.toDisplayString(_ctx.description), 1)
  66. ])
  67. ], 2)) : vue.createCommentVNode("v-if", true),
  68. _ctx.closable ? (vue.openBlock(), vue.createElementBlock(vue.Fragment, { key: 2 }, [
  69. _ctx.closeText ? (vue.openBlock(), vue.createElementBlock("div", {
  70. key: 0,
  71. class: vue.normalizeClass([vue.unref(ns).e("close-btn"), vue.unref(ns).is("customed")]),
  72. onClick: close
  73. }, vue.toDisplayString(_ctx.closeText), 3)) : (vue.openBlock(), vue.createBlock(vue.unref(index$1.ElIcon), {
  74. key: 1,
  75. class: vue.normalizeClass(vue.unref(ns).e("close-btn")),
  76. onClick: close
  77. }, {
  78. default: vue.withCtx(() => [
  79. vue.createVNode(vue.unref(Close))
  80. ]),
  81. _: 1
  82. }, 8, ["class"]))
  83. ], 64)) : vue.createCommentVNode("v-if", true)
  84. ], 2)
  85. ], 2), [
  86. [vue.vShow, visible.value]
  87. ])
  88. ]),
  89. _: 3
  90. }, 8, ["name"]);
  91. };
  92. }
  93. });
  94. var Alert = /* @__PURE__ */ pluginVue_exportHelper["default"](_sfc_main, [["__file", "alert.vue"]]);
  95. exports["default"] = Alert;
  96. //# sourceMappingURL=alert2.js.map