UNPKG

@volverjs/ui-vue

Version:

@volverjs/ui-vue is a lightweight Vue 3 component library to accompany @volverjs/style.

2 lines (1 loc) 2.53 kB
import{computed as r,defineComponent as e,toRefs as t,createElementBlock as a,openBlock as i,normalizeClass as o,unref as s,renderSlot as l,createCommentVNode as u,useId as n,createBlock as f,Fragment as m,renderList as v,mergeProps as d,withCtx as c,toDisplayString as y,createTextVNode as p}from"vue";var b=/* @__PURE__ */(r=>(r.local="local",r.session="session",r))(b||{}),g=/* @__PURE__ */(r=>(r.left="left",r.right="right",r.top="top",r.bottom="bottom",r))(g||{}),A=/* @__PURE__ */(r=>(r.before="before",r.after="after",r))(A||{}),S=/* @__PURE__ */(r=>(r.button="button",r.submit="submit",r.reset="reset",r))(S||{}),k=/* @__PURE__ */(r=>(r.nuxtLink="nuxt-link",r.routerLink="router-link",r.a="a",r.button="button",r))(k||{});const h={modifiers:{type:[String,Array],default:void 0}};A.before,g.bottom,S.button,k.button,b.local;const x={...h,imgSrc:String};function $(e,t,a){return r(()=>{const r={[e]:!0},a="string"==typeof t?.value?t.value.split(" "):t?.value;return a&&Array.isArray(a)&&a.forEach(t=>{t&&(r[`${e}--${t}`]=!0)}),r})}const _=["role","aria-label"],w=["src"],I=/* @__PURE__ */e({name:"VvAvatar",props:x,setup(r){const e=r,{modifiers:n}=t(e),f=$("vv-avatar",n);return(r,e)=>(i(),a("span",{class:o(s(f)),role:r.imgSrc?void 0:"img","aria-label":r.imgSrc?void 0:"avatar"},[l(r.$slots,"default",{},()=>[r.imgSrc?(i(),a("img",{key:0,src:r.imgSrc,alt:"avatar"},null,8,w)):u("v-if",!0)])],10,_))}}),L={...h,items:{type:Array,default:()=>[],required:!0},toShow:{type:Number,default:3},totalItems:{type:Number},avatarModifiers:[String,Array]};const M={key:0},N=/* @__PURE__ */e({name:"VvAvatarGroup",props:L,setup(e){const b=e,{modifiers:g,items:A,toShow:S,totalItems:k,avatarModifiers:h}=t(b),x=$("vv-avatar-group",g),_=r(()=>h?.value&&Array.isArray(h?.value)?h.value.join(" "):h?.value||""),w=r(()=>A.value.slice(0,S.value).map(e=>{let t=[],a=[];return h?.value&&(t=Array.isArray(h?.value)?h?.value:[h?.value]),e.modifiers&&(a=Array.isArray(e.modifiers)?e.modifiers:[e.modifiers]),{...e,key:e.key||r(()=>String(n())).value,modifiers:[...t,...a]}}));return(r,e)=>(i(),a("span",{class:o(s(x))},[l(r.$slots,"default",{},()=>[(i(!0),a(m,null,v(s(w),r=>(i(),f(I,d({key:r.key},{ref_for:!0},{modifiers:r.modifiers,imgSrc:r.imgSrc}),{default:c(()=>[r.text?(i(),a("span",M,y(r.text),1)):u("v-if",!0)]),_:2},1040))),128)),(s(k)||s(A).length)>s(S)?(i(),f(I,{key:0,modifiers:`${s(_)} surface bordered`},{default:c(()=>[p(y("+"+((s(k)||s(A).length)-s(S))),1)]),_:1},8,["modifiers"])):u("v-if",!0)])],2))}});export{N as default};