@stanfordspezi/spezi-web-design-system
Version:
Stanford Biodesign Digital Health Spezi Web Design System
2 lines (1 loc) • 1.16 kB
JavaScript
;const l=require("react/jsx-runtime"),m=require("./index-BhHud2F8.js"),o=require("react"),u=require("./index-DwV9MiDB.js"),x=require("./misc-DD8jgyt3.js"),d=r=>{var t,a,s;const e=r.trim().split(" ");if(x.isEmpty(e))return"";if(e.length===1)return((t=e.at(0))==null?void 0:t.substring(0,2).toLocaleUpperCase())??"";const i=((a=e.at(0))==null?void 0:a.at(0))??"",n=((s=e.at(-1))==null?void 0:s.at(0))??"";return`${i}${n}`.toLocaleUpperCase()},f={size:{sm:"size-8 text-xs",default:"size-12",lg:"size-16 text-xl"}},v=m.cva("relative flex shrink-0 overflow-hidden rounded-full",{variants:f,defaultVariants:{size:"default"}}),g=({className:r,src:e,fallback:i,size:n,name:t})=>{const[a,s]=o.useState(!1);o.useEffect(()=>{s(!1)},[e]);const c=a?null:t?d(t):i;return l.jsxs("div",{className:u.cn(v({size:n}),r),children:[e&&l.jsx("img",{className:u.cn("aspect-square size-full object-cover",!a&&"opacity-0"),src:e,onLoad:()=>s(!0),alt:[t,"avatar"].filter(Boolean).join(" ")}),c&&l.jsx("div",{className:"flex-center bg-muted size-full rounded-full",children:c})]})};exports.Avatar=g;exports.avatarVariance=v;exports.avatarVariants=f;exports.getInitials=d;