import { openBlock, createElementBlock, renderSlot, normalizeClass, normalizeStyle, toDisplayString, createCommentVNode } from "vue"; import { _ as _export_sfc } from "./plugin-vue_export-helper.js"; var _style_0 = { "uni-badge--x": { "": { "position": "relative" } }, "uni-badge--absolute": { "": { "position": "absolute" } }, "uni-badge--small": { "": { "transform": "scale(0.8)", "transformOrigin": "center center" } }, "uni-badge": { "": { "justifyContent": "center", "flexDirection": "row", "height": 20, "lineHeight": 18, "color": "#ffffff", "borderRadius": 100, "backgroundColor": "rgba(0,0,0,0)", "borderWidth": 1, "borderStyle": "solid", "borderColor": "#ffffff", "textAlign": "center", "fontFamily": '"Helvetica Neue", Helvetica, sans-serif', "fontSize": 12 } }, "uni-badge--info": { "": { "color": "#ffffff", "backgroundColor": "#909399" } }, "uni-badge--primary": { "": { "backgroundColor": "#2979ff" } }, "uni-badge--success": { "": { "backgroundColor": "#4cd964" } }, "uni-badge--warning": { "": { "backgroundColor": "#f0ad4e" } }, "uni-badge--error": { "": { "backgroundColor": "#dd524d" } }, "uni-badge--inverted": { "": { "paddingTop": 0, "paddingRight": 5, "paddingBottom": 0, "paddingLeft": 0, "color": "#909399" } }, "uni-badge--info-inverted": { "": { "color": "#909399", "backgroundColor": "rgba(0,0,0,0)" } }, "uni-badge--primary-inverted": { "": { "color": "#2979ff", "backgroundColor": "rgba(0,0,0,0)" } }, "uni-badge--success-inverted": { "": { "color": "#4cd964", "backgroundColor": "rgba(0,0,0,0)" } }, "uni-badge--warning-inverted": { "": { "color": "#f0ad4e", "backgroundColor": "rgba(0,0,0,0)" } }, "uni-badge--error-inverted": { "": { "color": "#dd524d", "backgroundColor": "rgba(0,0,0,0)" } } }; const _sfc_main = { name: "UniBadge", emits: ["click"], props: { type: { type: String, default: "error" }, inverted: { type: Boolean, default: false }, isDot: { type: Boolean, default: false }, maxNum: { type: Number, default: 99 }, absolute: { type: String, default: "" }, offset: { type: Array, default() { return [0, 0]; } }, text: { type: [String, Number], default: "" }, size: { type: String, default: "small" }, customStyle: { type: Object, default() { return {}; } } }, data() { return {}; }, computed: { width() { return String(this.text).length * 8 + 12; }, classNames() { const { inverted, type, size, absolute } = this; return [ inverted ? "uni-badge--" + type + "-inverted" : "", "uni-badge--" + type, "uni-badge--" + size, absolute ? "uni-badge--absolute" : "" ].join(" "); }, positionStyle() { if (!this.absolute) return {}; let w = this.width / 2, h = 10; if (this.isDot) { w = 5; h = 5; } const x = `${-w + this.offset[0]}px`; const y = `${-h + this.offset[1]}px`; const whiteList = { rightTop: { right: x, top: y }, rightBottom: { right: x, bottom: y }, leftBottom: { left: x, bottom: y }, leftTop: { left: x, top: y } }; const match = whiteList[this.absolute]; return match ? match : whiteList["rightTop"]; }, badgeWidth() { return { width: `${this.width}px` }; }, dotStyle() { if (!this.isDot) return {}; return { width: "10px", height: "10px", borderRadius: "10px" }; }, displayValue() { const { isDot, text, maxNum } = this; return isDot ? "" : Number(text) > maxNum ? `${maxNum}+` : text; } }, methods: { onClick() { this.$emit("click"); } } }; function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) { return openBlock(), createElementBlock("view", { class: "uni-badge--x" }, [ renderSlot(_ctx.$slots, "default"), $props.text ? (openBlock(), createElementBlock("u-text", { key: 0, class: normalizeClass([$options.classNames, "uni-badge"]), style: normalizeStyle([$options.badgeWidth, $options.positionStyle, $props.customStyle, $options.dotStyle]), onClick: _cache[0] || (_cache[0] = ($event) => $options.onClick()) }, toDisplayString($options.displayValue), 7)) : createCommentVNode("v-if", true) ]); } var __easycom_5 = /* @__PURE__ */ _export_sfc(_sfc_main, [["render", _sfc_render], ["styles", [_style_0]], ["__file", "E:/20220718_wenyin/uni-app/WMS_PDA_3.0/uni_modules/uni-badge/components/uni-badge/uni-badge.vue"]]); export { __easycom_5 as _ };