@volverjs/ui-vue
Version:
@volverjs/ui-vue is a lightweight Vue 3 component library to accompany @volverjs/style.
2 lines (1 loc) • 1.3 kB
JavaScript
import{computed as t,defineComponent as r,toRefs as o,createElementBlock as a,openBlock as e,normalizeClass as i,unref as n,renderSlot as s,createCommentVNode as l}from"vue";var u=/* @__PURE__ */(t=>(t.local="local",t.session="session",t))(u||{}),c=/* @__PURE__ */(t=>(t.left="left",t.right="right",t.top="top",t.bottom="bottom",t))(c||{}),f=/* @__PURE__ */(t=>(t.before="before",t.after="after",t))(f||{}),m=/* @__PURE__ */(t=>(t.button="button",t.submit="submit",t.reset="reset",t))(m||{}),b=/* @__PURE__ */(t=>(t.nuxtLink="nuxt-link",t.routerLink="router-link",t.a="a",t.button="button",t))(b||{});const v={modifiers:{type:[String,Array],default:void 0}};f.before,c.bottom,m.button,b.button,u.local;const g={...v,imgSrc:String};const p=["role","aria-label"],d=["src"],S=/* @__PURE__ */r({name:"VvAvatar",props:g,setup(r){const u=r,{modifiers:c}=o(u),f=function(r,o){return t(()=>{const t={[r]:!0},a="string"==typeof o?.value?o.value.split(" "):o?.value;return a&&Array.isArray(a)&&a.forEach(o=>{o&&(t[`${r}--${o}`]=!0)}),t})}("vv-avatar",c);return(t,r)=>(e(),a("span",{class:i(n(f)),role:t.imgSrc?void 0:"img","aria-label":t.imgSrc?void 0:"avatar"},[s(t.$slots,"default",{},()=>[t.imgSrc?(e(),a("img",{key:0,src:t.imgSrc,alt:"avatar"},null,8,d)):l("v-if",!0)])],10,p))}});export{S as default};