2 lines
1.7 KiB
JavaScript
Executable File
2 lines
1.7 KiB
JavaScript
Executable File
import{_ as t,o as e,c as s,w as i,r as a,j as o,n as l,a as n,t as r,b as d,P as u,i as p}from"./index-Br__yMYG.js";const c=t({name:"UniBadge",emits:["click"],props:{type:{type:String,default:"error"},inverted:{type:Boolean,default:!1},isDot:{type:Boolean,default:!1},maxNum:{type:Number,default:99},absolute:{type:String,default:""},offset:{type:Array,default:()=>[0,0]},text:{type:[String,Number],default:""},size:{type:String,default:"small"},customStyle:{type:Object,default:()=>({})}},data:()=>({}),computed:{width(){return 8*String(this.text).length+12},classNames(){const{inverted:t,type:e,size:s,absolute:i}=this;return[t?"uni-badge--"+e+"-inverted":"","uni-badge--"+e,"uni-badge--"+s,i?"uni-badge--absolute":""].join(" ")},positionStyle(){if(!this.absolute)return{};let t=this.width/2,e=10;this.isDot&&(t=5,e=5);const s=`${-t+this.offset[0]}px`,i=`${-e+this.offset[1]}px`,a={rightTop:{right:s,top:i},rightBottom:{right:s,bottom:i},leftBottom:{left:s,bottom:i},leftTop:{left:s,top:i}},o=a[this.absolute];return o||a.rightTop},dotStyle(){return this.isDot?{width:"10px",minWidth:"0",height:"10px",padding:"0",borderRadius:"10px"}:{}},displayValue(){const{isDot:t,text:e,maxNum:s}=this;return t?"":Number(e)>s?`${s}+`:e}},methods:{onClick(){this.$emit("click")}}},[["render",function(t,c,f,h,m,y){const g=u,b=p;return e(),s(b,{class:"uni-badge--x"},{default:i((()=>[a(t.$slots,"default",{},void 0,!0),f.text?(e(),s(g,{key:0,class:o([y.classNames,"uni-badge"]),style:l([y.positionStyle,f.customStyle,y.dotStyle]),onClick:c[0]||(c[0]=t=>y.onClick())},{default:i((()=>[n(r(y.displayValue),1)])),_:1},8,["class","style"])):d("",!0)])),_:3})}],["__scopeId","data-v-414d462c"]]);export{c as _};
|