UNPKG

@accelint/design-toolkit

Version:

An open-source component library to serve as part of the entire ecosystem of UX for Accelint.

4 lines (3 loc) 1.29 kB
'use client'; import {jsx,jsxs}from'react/jsx-runtime';import {Person}from'@accelint/icons';import {Root,Image,Fallback}from'@radix-ui/react-avatar';import {designTokens}from'./../../tokens/tokens.js';import'client-only';import {useContextProps}from'react-aria-components';import {BadgeProvider}from'../badge/context.js';import {Icon}from'../icon/index.js';import {IconProvider}from'../icon/context.js';import {AvatarContext}from'./context.js';import {AvatarStyles}from'./styles.js';const{avatar:b,image:A,fallback:I,content:h}=AvatarStyles();function D({ref:e,...m}){[m,e]=useContextProps(m,e??null,AvatarContext);const{children:s,classNames:r,fallbackProps:t,imageProps:i,size:o="medium",...l}=m;return jsx(IconProvider,{size:o==="medium"?"large":"medium",children:jsxs(Root,{...l,ref:e,className:b({size:o,className:r?.avatar}),role:"img","data-size":o,children:[jsx(Image,{...i,className:A({className:r?.image,size:o})}),jsx(Fallback,{...t,className:I({className:r?.fallback,size:o}),children:t?.children||jsx(Icon,{children:jsx(Person,{})})}),jsx(BadgeProvider,{offset:designTokens.spacing.xs,placement:"top right",children:jsx("span",{className:h({className:r?.content,size:o}),children:s})})]})})}export{D as Avatar};//# sourceMappingURL=index.js.map //# sourceMappingURL=index.js.map