'use client'; import * as React from 'react'; import * as AvatarPrimitive from '@radix-ui/react-avatar'; import { cn } from '../lib/utils'; const Avatar = React.forwardRef< React.ElementRef, React.ComponentPropsWithoutRef >(({ className, ...props }, ref) => ( )); Avatar.displayName = AvatarPrimitive.Root.displayName; const AvatarImage = React.forwardRef< React.ElementRef, React.ComponentPropsWithoutRef >(({ className, ...props }, ref) => ( )); AvatarImage.displayName = AvatarPrimitive.Image.displayName; const AvatarFallback = React.forwardRef< React.ElementRef, React.ComponentPropsWithoutRef >(({ className, ...props }, ref) => ( )); AvatarFallback.displayName = AvatarPrimitive.Fallback.displayName; type AvatarWithTextProps = { avatarClass?: string; avatarSrc?: string | null; avatarFallback: string; className?: string; primaryText: React.ReactNode; secondaryText?: React.ReactNode; rightSideComponent?: React.ReactNode; // Optional class to hide/show the text beside avatar textSectionClassName?: string; }; const AvatarWithText = ({ avatarClass, avatarSrc, avatarFallback, className, primaryText, secondaryText, rightSideComponent, textSectionClassName, }: AvatarWithTextProps) => (
{avatarSrc && } {avatarFallback}
{primaryText} {secondaryText}
{rightSideComponent}
); export { Avatar, AvatarImage, AvatarFallback, AvatarWithText };