UNPKG

@ohu-mobile/core

Version:
76 lines (75 loc) 2.43 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; var _defineComponent = require("../_utils/defineComponent"); var _shared = require("../_utils/shared"); var _getComponentStyle = _interopRequireDefault(require("../_utils/getComponentStyle")); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } var _default = exports.default = (0, _defineComponent.defineComponent)('badge').create({ props: { type: _defineComponent.props.ofType().default('tag'), color: (0, _defineComponent.props)(String).default('red'), fontColor: String, position: _defineComponent.props.ofType().default('up-right'), text: (0, _defineComponent.props)(String, Number).default(''), overflowNumber: (0, _defineComponent.props)(Number).default(99) }, render: function render() { var h = arguments[0]; var root = this.$rootCls(); var type = this.type, text = this.text, color = this.color, fontColor = this.fontColor, position = this.position, overflowNumber = this.overflowNumber, $slots = this.$slots; var style = (0, _getComponentStyle.default)(root, color, fontColor); var inner; var badge = root.element(type); if (type === 'corner') { badge.is([$slots.default instanceof Array && position]); var cornerRootStyle = {}; var cornerTextStyle = {}; if (!_shared.colors.includes(color)) { cornerRootStyle.color = color; } if (fontColor) { cornerTextStyle.color = fontColor; } inner = h("div", { "class": badge, "style": cornerRootStyle }, [h("div", { "class": badge.element('triangle') }), h("div", { "class": badge.element('text'), "style": cornerTextStyle }, [text])]); } else if (type === 'tag') { var innerText = text; if (typeof text === 'number' && text > overflowNumber) { innerText = "".concat(overflowNumber, "+"); } inner = h("span", { "class": badge, "style": style }, [innerText]); } else { inner = h("span", { "class": badge, "style": style }); } if ($slots.default) { return h("div", { "class": root.is('wrapper') }, [$slots.default, inner]); } return h("div", { "class": root }, [inner]); } });