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