UNPKG

song-ui-u

Version:

vue3 + js的PC前端组件库

106 lines (96 loc) 3.04 kB
'use strict'; var vue = require('vue'); var index$1 = require('../../../hook/use-namespace/index.cjs'); var index = require('../../../hook/use-style/index.cjs'); require('../../../hook/use-zindex/index.cjs'); var types = require('../../../utils/types.cjs'); require('song-ui-pro-icon'); var _pluginVue_exportHelper = require('../../../_virtual/_plugin-vue_export-helper.cjs'); const __default__ = { name: "x-badge" }; const _sfc_main = /*#__PURE__*/Object.assign(__default__, { props: { value: { type: [String, Number], default: "", }, placement: { type: String, default: "top-right", }, type: { type: String, default: "danger", }, size: { type: String, default: "default", }, max: { type: Number, default: 99, }, color: { type: String, default: "", }, outline: { type: Boolean, default: true, }, bgColor: { type: String, default: "", }, isDot: Boolean, opacity: { tyep: Number, default: 1, }, classNames: { type: String, default: "", }, }, setup(__props, { expose: __expose }) { __expose(); const ns = index$1.useNamespace("badge"); const s = index.useStyle(); /** props */ const props = __props; const content = vue.computed(() => { const value = types.types().isNumber(props.value); const max = types.types().isNumber(props.max); if (value && max) { return props.max < props.value ? `${props.max}+` : `${props.value}`; } return props.value; }); const styleOpacity = vue.computed(() => s.opacity(props.opacity)); const styleBgColor = vue.computed(() => s.bgColor(props.bgColor)); const styleColor = vue.computed(() => s.color(props.color)); const __returned__ = { ns, s, props, content, styleOpacity, styleBgColor, styleColor, computed: vue.computed, get useNamespace() { return index$1.useNamespace }, get useStyle() { return index.useStyle }, get types() { return types.types } }; Object.defineProperty(__returned__, '__isScriptSetup', { enumerable: false, value: true }); return __returned__ } }); function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) { return (vue.openBlock(), vue.createElementBlock("span", { class: vue.normalizeClass([$setup.ns.b()]) }, [ vue.createElementVNode("span", { class: vue.normalizeClass([ $props.classNames, $setup.ns.e('content'), $setup.ns.m($props.type), $setup.ns.m('size', $props.size), $setup.ns.is('unoutline', !$props.outline), $setup.ns.is('dot', $props.isDot), ]), style: vue.normalizeStyle([$setup.styleOpacity, $setup.styleBgColor, $setup.styleColor]) }, vue.toDisplayString($props.isDot ? "" : $setup.content), 7 /* TEXT, CLASS, STYLE */), vue.renderSlot(_ctx.$slots, "default") ], 2 /* CLASS */)) } var Badge = /*#__PURE__*/_pluginVue_exportHelper(_sfc_main, [['render',_sfc_render],['__file',"E:\\code\\my-code\\song-ui-ultra\\packages\\components\\badge\\src\\index.vue"]]); module.exports = Badge; //# sourceMappingURL=index.vue.cjs.map