12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576 |
- "use strict";
- exports.__esModule = true;
- exports.default = void 0;
- var _utils = require("../utils");
- var _number = require("../utils/validate/number");
- var _createNamespace = (0, _utils.createNamespace)('badge'),
- createComponent = _createNamespace[0],
- bem = _createNamespace[1];
- var _default = createComponent({
- props: {
- dot: Boolean,
- max: [Number, String],
- color: String,
- content: [Number, String],
- tag: {
- type: String,
- default: 'div'
- }
- },
- methods: {
- hasContent: function hasContent() {
- return !!(this.$scopedSlots.content || (0, _utils.isDef)(this.content) && this.content !== '');
- },
- renderContent: function renderContent() {
- var dot = this.dot,
- max = this.max,
- content = this.content;
- if (!dot && this.hasContent()) {
- if (this.$scopedSlots.content) {
- return this.$scopedSlots.content();
- }
- if ((0, _utils.isDef)(max) && (0, _number.isNumeric)(content) && +content > max) {
- return max + "+";
- }
- return content;
- }
- },
- renderBadge: function renderBadge() {
- var h = this.$createElement;
- if (this.hasContent() || this.dot) {
- return h("div", {
- "class": bem({
- dot: this.dot,
- fixed: !!this.$scopedSlots.default
- }),
- "style": {
- background: this.color
- }
- }, [this.renderContent()]);
- }
- }
- },
- render: function render() {
- var h = arguments[0];
- if (this.$scopedSlots.default) {
- var tag = this.tag;
- return h(tag, {
- "class": bem('wrapper')
- }, [this.$scopedSlots.default(), this.renderBadge()]);
- }
- return this.renderBadge();
- }
- });
- exports.default = _default;
|