vue-amazing-ui
Version:
An Amazing Vue3 UI Components Library, Using TypeScript.
2 lines (1 loc) • 3.59 kB
JavaScript
;Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const t=require("vue"),y=require("../utils/index.cjs"),k={class:"status-text"},g=["title"],h={key:0,class:"number-value",style:{transition:"none 0s ease 0s"}},B={class:"number"},b=t.defineComponent({__name:"Badge",props:{color:{default:void 0},value:{default:void 0},max:{default:99},showZero:{type:Boolean,default:!1},dot:{type:Boolean,default:!1},offset:{default:void 0},status:{default:void 0},text:{default:void 0},valueStyle:{default:()=>({})},zIndex:{default:9},title:{default:void 0},ripple:{type:Boolean,default:!1}},setup(l){const e=l,u=["pink","red","yellow","orange","cyan","green","blue","purple","geekblue","magenta","volcano","gold","lime"],n=y.useSlotsExist(["default","value"]),s=t.computed(()=>{if(e.color&&!u.includes(e.color))return e.value!==void 0&&e.value!==0||e.showZero&&e.value===0?{backgroundColor:e.color}:{color:e.color,backgroundColor:e.color}}),r=t.computed(()=>{if(e.color&&u.includes(e.color))return e.value!==void 0&&e.value!==0||e.showZero&&e.value===0?`color-${e.color} white`:`color-${e.color}`;if(e.status)return e.value!==void 0&&e.value!==0||e.showZero&&e.value===0?`status-${e.status} white`:`status-${e.status}`}),a=t.computed(()=>e.value!==void 0||e.dot||!e.color&&!e.status?n.default:!1),i=t.computed(()=>!e.color&&!e.status?n.value:!1),v=t.computed(()=>!!(e.value!==void 0&&e.value!==0||e.showZero&&e.value===0||e.dot)),f=t.computed(()=>e.value===void 0||e.value===0&&!e.showZero||e.dot),c=t.computed(()=>e.offset?.length?{right:d(e.offset[0])?-e.offset[0]+"px":m(e.offset[0]),marginTop:d(e.offset[1])?e.offset[1]+"px":e.offset[1]}:{});function d(o){return typeof o=="number"}function m(o){return o.includes("-")?o.replace("-",""):`-${o}`}return(o,z)=>(t.openBlock(),t.createElementBlock("div",{class:t.normalizeClass(["badge-wrap",{"badge-status-color":l.value===void 0&&(l.color||l.status)}]),style:t.normalizeStyle([`--badge-z-index: ${l.zIndex}`,l.value===void 0&&!l.dot?c.value:null])},[l.value===void 0&&!l.dot&&(l.color||l.status)?(t.openBlock(),t.createElementBlock(t.Fragment,{key:0},[t.createElementVNode("span",{class:t.normalizeClass(["status-dot",[r.value,{"dot-ripple":l.ripple}]]),style:t.normalizeStyle(s.value)},null,6),t.createElementVNode("span",k,[t.renderSlot(o.$slots,"default",{},()=>[t.createTextVNode(t.toDisplayString(l.text),1)],!0)])],64)):(t.openBlock(),t.createElementBlock(t.Fragment,{key:1},[a.value?t.renderSlot(o.$slots,"default",{key:0},void 0,!0):t.createCommentVNode("",!0),i.value?(t.openBlock(),t.createElementBlock("span",{key:1,class:t.normalizeClass(["value",{"only-number":!a.value}])},[t.renderSlot(o.$slots,"value",{},void 0,!0)],2)):(t.openBlock(),t.createBlock(t.Transition,{key:2,name:"zoom","enter-from-class":"zoom-enter","enter-active-class":"zoom-enter","enter-to-class":"zoom-enter","leave-from-class":"zoom-leave","leave-active-class":"zoom-leave","leave-to-class":"zoom-leave"},{default:t.withCtx(()=>[v.value?(t.openBlock(),t.createElementBlock("div",{key:0,class:t.normalizeClass(["badge-value",[{"small-num":typeof l.value=="number"&&l.value<10,"only-number":!a.value,"only-dot":f.value},r.value]]),style:t.normalizeStyle([s.value,c.value,l.valueStyle]),title:l.title||(l.value!==void 0?String(l.value):"")},[l.dot?t.createCommentVNode("",!0):(t.openBlock(),t.createElementBlock("span",h,[t.createElementVNode("span",B,t.toDisplayString(typeof l.value=="number"&&l.value>l.max?l.max+"+":l.value),1)]))],14,g)):t.createCommentVNode("",!0)]),_:1}))],64))],6))}});exports.default=b;