Avatar

Displays a user avatar image with fallback initials.

Report a bug

Preview

Switch between light and dark to inspect the embedded Storybook preview.

Installation

pnpm dlx shadcn@latest add https://ui.vllnt.ai/r/avatar.json

Storybook

Explore all variants, controls, and accessibility checks in the interactive Storybook playground.

View in Storybook

Code

"use client"; import { forwardRef } from "react"; import * as AvatarPrimitive from "@radix-ui/react-avatar"; import { cn } from "../../lib/utils"; const Avatar = forwardRef< React.ComponentRef<typeof AvatarPrimitive.Root>, React.ComponentPropsWithoutRef<typeof AvatarPrimitive.Root> >(({ className, ...props }, ref) => ( <AvatarPrimitive.Root className={cn( "relative flex size-10 shrink-0 overflow-hidden rounded-full", className, )} ref={ref} {...props} /> )); Avatar.displayName = AvatarPrimitive.Root.displayName; const AvatarImage = forwardRef< React.ComponentRef<typeof AvatarPrimitive.Image>, React.ComponentPropsWithoutRef<typeof AvatarPrimitive.Image> >(({ className, ...props }, ref) => ( <AvatarPrimitive.Image className={cn("aspect-square h-full w-full", className)} ref={ref} {...props} /> )); AvatarImage.displayName = AvatarPrimitive.Image.displayName; const AvatarFallback = forwardRef< React.ComponentRef<typeof AvatarPrimitive.Fallback>, React.ComponentPropsWithoutRef<typeof AvatarPrimitive.Fallback> >(({ className, ...props }, ref) => ( <AvatarPrimitive.Fallback className={cn( "flex h-full w-full items-center justify-center rounded-full bg-muted", className, )} ref={ref} {...props} /> )); AvatarFallback.displayName = AvatarPrimitive.Fallback.displayName; export { Avatar, AvatarFallback, AvatarImage };

Dependencies

  • @vllnt/ui@^0.2.1