@gits-id/icon
Version:
GITS Icon Component
2 lines (1 loc) • 1.04 kB
JavaScript
;Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("vue"),u=require("@iconify/vue/dist/offline"),r=require("@iconify/vue"),f=["xxs","xs","sm","md","lg","xl"];const m={key:2},i=e.defineComponent({__name:"Icon",props:{name:null,size:{default:"md"}},setup(o){const n=o,s=e.ref(!1),t=e.ref();async function c(){s.value=!0,t.value=await r.loadIcon(n.name).catch(()=>{}),s.value=!1}e.watch(()=>n.name,c);const l=e.computed(()=>`v-icon v-icon--${n.size}`),a=e.computed(()=>f.includes(String(n.size))?{}:{width:n.size,height:n.size});return c(),(d,_)=>s.value?(e.openBlock(),e.createElementBlock("span",{key:0,class:e.normalizeClass(e.unref(l)),style:e.normalizeStyle(e.unref(a))},null,6)):t.value?(e.openBlock(),e.createBlock(e.unref(u.Icon),{key:1,icon:t.value,class:e.normalizeClass(e.unref(l)),style:e.normalizeStyle(e.unref(a))},null,8,["icon","class","style"])):(e.openBlock(),e.createElementBlock("span",m,e.toDisplayString(o.name),1))}});exports.Icon=i;exports.default=i;