t-fighting-design
Version:
Fighting design can quickly build interactive interfaces in vue3 applications, which looks good.
2 lines (1 loc) • 1.39 kB
JavaScript
;Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("vue"),p=require("./index3.js"),c=require("../../svg-icon/index.js"),m=require("../../close-btn/index.js"),k=e.defineComponent({name:"FTag"}),_=e.defineComponent({...k,props:p.Props,setup(s){const n=s,r=e.ref(!0),a=e.computed(()=>{const{simple:o,type:t,size:l,block:i,round:d,line:f}=n;return["f-tag",{[`f-tag__${t}`]:t,[`f-tag__${l}`]:l,"f-tag__simple":o,"f-tag__block":i,"f-tag__round":d,"f-tag__line":f}]}),u=o=>{r.value=!1,n.closeEnd&&n.closeEnd(o)};return(o,t)=>r.value?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(e.unref(a)),style:e.normalizeStyle({background:o.background,color:o.color})},[o.beforeIcon?(e.openBlock(),e.createBlock(e.unref(c.FSvgIcon),{key:0},{default:e.withCtx(()=>[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(o.beforeIcon)))]),_:1})):e.createCommentVNode("",!0),e.renderSlot(o.$slots,"default"),o.afterIcon?(e.openBlock(),e.createBlock(e.unref(c.FSvgIcon),{key:1},{default:e.withCtx(()=>[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(o.afterIcon)))]),_:1})):e.createCommentVNode("",!0),o.close?(e.openBlock(),e.createBlock(e.unref(m.FCloseBtn),{key:2,onClick:e.withModifiers(u,["stop"])},null,8,["onClick"])):e.createCommentVNode("",!0)],6)):e.createCommentVNode("",!0)}});exports.default=_;