import * as React from 'react' import * as AvatarPrimitive from '@radix-ui/react-avatar' import { cva, type VariantProps } from 'class-variance-authority' import { cn } from '@/lib/utils' const avatarVariants = cva('relative flex shrink-0 rounded-full', { variants: { size: { sm: 'h-8 w-8', default: 'h-10 w-10', lg: 'h-12 w-12', }, }, defaultVariants: { size: 'default' }, }) export interface AvatarProps extends React.ComponentPropsWithoutRef, VariantProps {} const Avatar = React.forwardRef< React.ElementRef, AvatarProps >(({ className, size = 'default', ...props }, ref) => ( )) Avatar.displayName = AvatarPrimitive.Root.displayName export type AvatarImageProps = React.ComponentPropsWithoutRef const AvatarImage = React.forwardRef< React.ElementRef, AvatarImageProps >(({ className, ...props }, ref) => ( )) AvatarImage.displayName = AvatarPrimitive.Image.displayName export type AvatarFallbackProps = React.ComponentPropsWithoutRef const AvatarFallback = React.forwardRef< React.ElementRef, AvatarFallbackProps >(({ className, ...props }, ref) => ( )) AvatarFallback.displayName = AvatarPrimitive.Fallback.displayName export type AvatarBadgeProps = React.HTMLAttributes const AvatarBadge = React.forwardRef( ({ className, ...props }, ref) => ( ) ) AvatarBadge.displayName = 'AvatarBadge' export type AvatarGroupProps = React.HTMLAttributes const AvatarGroup = React.forwardRef( ({ className, ...props }, ref) => (
*]:ring-2 [&>*]:ring-bg-base', className)} {...props} /> ) ) AvatarGroup.displayName = 'AvatarGroup' export type AvatarGroupCountProps = React.HTMLAttributes const AvatarGroupCount = React.forwardRef( ({ className, ...props }, ref) => ( ) ) AvatarGroupCount.displayName = 'AvatarGroupCount' export { Avatar, AvatarImage, AvatarFallback, AvatarBadge, AvatarGroup, AvatarGroupCount, } export { avatarVariants }