badge2.js 3.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899
  1. 'use strict';
  2. Object.defineProperty(exports, '__esModule', { value: true });
  3. var vue = require('vue');
  4. require('../../../hooks/index.js');
  5. require('../../../utils/index.js');
  6. var badge = require('./badge.js');
  7. var pluginVue_exportHelper = require('../../../_virtual/plugin-vue_export-helper.js');
  8. var index = require('../../../hooks/use-namespace/index.js');
  9. var types = require('../../../utils/types.js');
  10. var style = require('../../../utils/dom/style.js');
  11. var index$1 = require('../../../hooks/use-deprecated/index.js');
  12. const _hoisted_1 = ["textContent"];
  13. const __default__ = vue.defineComponent({
  14. name: "ElBadge"
  15. });
  16. const _sfc_main = /* @__PURE__ */ vue.defineComponent({
  17. ...__default__,
  18. props: badge.badgeProps,
  19. setup(__props, { expose }) {
  20. const props = __props;
  21. const ns = index.useNamespace("badge");
  22. const content = vue.computed(() => {
  23. if (props.isDot)
  24. return "";
  25. if (types.isNumber(props.value) && types.isNumber(props.max)) {
  26. if (props.max < props.value) {
  27. return `${props.max}+`;
  28. }
  29. return props.value === 0 && !props.showZero ? "" : `${props.value}`;
  30. }
  31. return `${props.value}`;
  32. });
  33. const style$1 = vue.computed(() => {
  34. var _a, _b, _c, _d, _e, _f;
  35. return [
  36. {
  37. backgroundColor: props.color,
  38. marginRight: style.addUnit(-((_b = (_a = props.offset) == null ? void 0 : _a[0]) != null ? _b : 0)),
  39. marginTop: style.addUnit((_d = (_c = props.offset) == null ? void 0 : _c[1]) != null ? _d : 0)
  40. },
  41. (_e = props.dotStyle) != null ? _e : {},
  42. (_f = props.badgeStyle) != null ? _f : {}
  43. ];
  44. });
  45. index$1.useDeprecated({
  46. from: "dot-style",
  47. replacement: "badge-style",
  48. version: "2.8.0",
  49. scope: "el-badge",
  50. ref: "https://element-plus.org/en-US/component/badge.html"
  51. }, vue.computed(() => !!props.dotStyle));
  52. index$1.useDeprecated({
  53. from: "dot-class",
  54. replacement: "badge-class",
  55. version: "2.8.0",
  56. scope: "el-badge",
  57. ref: "https://element-plus.org/en-US/component/badge.html"
  58. }, vue.computed(() => !!props.dotClass));
  59. expose({
  60. content
  61. });
  62. return (_ctx, _cache) => {
  63. return vue.openBlock(), vue.createElementBlock("div", {
  64. class: vue.normalizeClass(vue.unref(ns).b())
  65. }, [
  66. vue.renderSlot(_ctx.$slots, "default"),
  67. vue.createVNode(vue.Transition, {
  68. name: `${vue.unref(ns).namespace.value}-zoom-in-center`,
  69. persisted: ""
  70. }, {
  71. default: vue.withCtx(() => [
  72. vue.withDirectives(vue.createElementVNode("sup", {
  73. class: vue.normalizeClass([
  74. vue.unref(ns).e("content"),
  75. vue.unref(ns).em("content", _ctx.type),
  76. vue.unref(ns).is("fixed", !!_ctx.$slots.default),
  77. vue.unref(ns).is("dot", _ctx.isDot),
  78. _ctx.dotClass,
  79. _ctx.badgeClass
  80. ]),
  81. style: vue.normalizeStyle(vue.unref(style$1)),
  82. textContent: vue.toDisplayString(vue.unref(content))
  83. }, null, 14, _hoisted_1), [
  84. [vue.vShow, !_ctx.hidden && (vue.unref(content) || _ctx.isDot)]
  85. ])
  86. ]),
  87. _: 1
  88. }, 8, ["name"])
  89. ], 2);
  90. };
  91. }
  92. });
  93. var Badge = /* @__PURE__ */ pluginVue_exportHelper["default"](_sfc_main, [["__file", "badge.vue"]]);
  94. exports["default"] = Badge;
  95. //# sourceMappingURL=badge2.js.map