import { User } from 'lucide-react'; import { Box } from './Box'; import { Icon } from './Icon'; import { Surface } from './Surface'; export interface AvatarProps { src?: string; alt?: string; size?: 'sm' | 'md' | 'lg' | 'xl' | number; fallback?: string; className?: string; 'data-testid'?: string; } export const Avatar = ({ src, alt, size = 'md', fallback, className, 'data-testid': dataTestId }: AvatarProps) => { const sizeMap: Record = { sm: '2rem', md: '3rem', lg: '4rem', xl: '6rem' }; const iconSizeMap: Record = { sm: 3, md: 5, lg: 8, xl: 12 }; const finalSize = typeof size === 'number' ? `${size / 4}rem` : sizeMap[size]; const finalIconSize = typeof size === 'number' ? Math.round(size / 8) : iconSizeMap[size]; return ( {src ? ( {alt} ) : ( {fallback ? ( {fallback} ) : ( )} )} ); };