UNPKG

vxe-pc-ui

Version:
1 lines 1.3 kB
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _vue=require("vue"),_xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../ui");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}var _default=exports.default=(0,_vue.defineComponent)({name:"VxeBadge",props:{count:[String,Number],dot:Boolean,content:[String,Number],size:{type:String,default:()=>(0,_ui.getConfig)().badge.size||(0,_ui.getConfig)().size}},emits:[],setup(n,e){const{emit:r,slots:a}=e;var t=_xeUtils.default.uniqueId();const s=(0,_vue.ref)(),o=(0,_ui.useSize)(n)["computeSize"];var u=(0,_vue.reactive)({});const i={refElem:s},d=(0,_vue.computed)(()=>{var e=n["count"];return e?_xeUtils.default.toNumber(e):0}),v={},l={xID:t,props:n,context:e,reactData:u,getRefMaps:()=>i,getComputeMaps:()=>v};Object.assign(l,{dispatchEvent:(e,t,u)=>{r(e,(0,_ui.createEvent)(u,{$badge:l},t))}},{});return l.renderVN=()=>{var{dot:e,content:t}=n,u=o.value,r=d.value,i=a.default;return(0,_vue.h)("div",{ref:s,class:["vxe-badge",{["size--"+u]:u,"is--dot":e}]},[i||t?(0,_vue.h)("div",{class:"vxe-badge--content"},i?i({}):""+(t||"")):[],r?(0,_vue.h)("span",{class:"vxe-badge--count"},99<r?"99+":""+r):(0,_ui.renderEmptyElement)(l)])},l},render(){return this.renderVN()}});