dad4d2390707304600227392a6917b3cae40b8e5b1a3f97fdb8c74b3bbaf8fc03524095759f4cc8ce63a5aaf11df7ae6607bc48e7c71929b90b109b6e75649 2.8 KB

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