UNPKG

sate-lib

Version:

A lightweight and modular React component library designed for modern web interfaces. **SATE Lib** powers the [sate.menu](https://sate.menu) platform with reusable, scalable, and themeable UI components.

2 lines 889 B
"use client"; import{jsx as e}from"react/jsx-runtime";import r from"./avatar.styles.module.js";function a(e){if(!e)return"";let r=e.trim().replace(/\s+/g," "),a=r.includes(" ")?r.split(" "):r.split(/(?=[A-Z])/);return 0===(a=a.filter(Boolean)).length?"":1===a.length?a[0].substring(0,2).toUpperCase():(a[0][0]+a[a.length-1][0]).toUpperCase()}function t({src:t,alt:l,name:s,size:i="medium",shape:o="circle",border:n=!1,className:d,...c}){return e("div",{className:[r.root,r[i],r[o],n&&r.border,d].filter(Boolean).join(" "),"aria-label":l||s,role:"img",...c,children:s?e("span",{className:r.text,children:a(s)}):e("img",{src:t,alt:l,className:`${r.img}`,draggable:!1,loading:"lazy",decoding:"async",onLoad:e=>e.currentTarget.classList.add(r.loaded),onError:e=>e.currentTarget.classList.add(r.loaded),ref:e=>{e&&e.complete&&e.classList.add(r.loaded)}})})}export{t as Avatar,a as getInitials};