UNPKG

t-fighting-design

Version:

Fighting design can quickly build interactive interfaces in vue3 applications, which looks good.

2 lines (1 loc) 2.22 kB
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("vue"),m=require("./index3.js"),g=require("../../_utils/index2.js"),a=require("../../_utils/index3.js"),k=require("../../svg-icon/index.js"),S=require("../../_hooks/use-filter-props/index.js");require("../../_hooks/use-message/index.js");require("../../loading-bar/src/index2.js");const y={key:1,class:"f-avatar__text"},z=["alt"],h={class:"f-avatar__error-text"},B=e.defineComponent({name:"FAvatar"}),C=e.defineComponent({...B,props:m.Props,setup(d){const r=d,f=e.useSlots(),l=e.ref(!0),i=e.ref(r.lazy),c=e.ref(null),v=e.computed(()=>{const{round:o,size:t,fit:s}=r;return["f-avatar__img",{"f-avatar__round":o,[`f-avatar__${t}`]:a.isString(t),[`f-avatar__${s}`]:s}]}),_=e.computed(()=>{const{size:o,round:t}=r;return["f-avatar",{"f-avatar__round":t,[`f-avatar__${o}`]:a.isString(o)}]}),u=e.computed(()=>{const{background:o,size:t,fontColor:s,fontSize:n}=r;return{"--f-avatar-size":a.isNumber(t)?t+"px":"","--f-avatar-background-color":o,"--f-avatar-font-color":s,"--f-avatar-font-size":a.sizeChange(n)}}),p=()=>{const o=c.value,t=n=>{l.value=n,i.value=n},s=S.useFilterProps(r,["src","errSrc","rootMargin","lazy","load","error"]);g.loadImage(o,s,t)};return e.onMounted(()=>{!f.icon&&!r.icon&&!r.text&&p()}),(o,t)=>l.value?(e.openBlock(),e.createElementBlock("div",{key:0,role:"img",class:e.normalizeClass(e.unref(_)),style:e.normalizeStyle(e.unref(u))},[o.$slots.icon||o.icon?(e.openBlock(),e.createBlock(e.unref(k.FSvgIcon),{key:0,size:o.fontSize,color:o.fontColor,icon:o.icon},{default:e.withCtx(()=>[e.renderSlot(o.$slots,"icon")]),_:3},8,["size","color","icon"])):o.text?(e.openBlock(),e.createElementBlock("span",y,e.toDisplayString(o.text),1)):e.withDirectives((e.openBlock(),e.createElementBlock("img",{key:2,ref_key:"FAvatarImg",ref:c,src:"",class:e.normalizeClass(e.unref(v)),alt:o.alt},null,10,z)),[[e.vShow,i.value]])],6)):(e.openBlock(),e.createElementBlock("div",{key:1,class:"f-avatar__error",style:e.normalizeStyle(e.unref(u))},[e.renderSlot(o.$slots,"error",{},()=>[e.createElementVNode("span",h,e.toDisplayString(o.alt||"\u52A0\u8F7D\u5931\u8D25"),1)])],4))}});exports.default=C;