Skip to content
  • System
  • Light
  • Dark
  • High contrast

Avatar

When no image is provided (or the image fails to load), the fallback renders instead.

import { Avatar } from '@eekodigital/raster';

<Avatar.Root>
  <Avatar.Fallback>JD</Avatar.Fallback>
</Avatar.Root>

Provide an Avatar.Image. Radix handles the load/error state and shows the Fallback if the image fails.

<Avatar.Root>
  <Avatar.Image src="/avatar.jpg" alt="Jane Doe" />
  <Avatar.Fallback>JD</Avatar.Fallback>
</Avatar.Root>

Three sizes: sm (2rem), md (2.5rem, default), lg (3.5rem).

<Avatar.Root size="sm"><Avatar.Fallback>SM</Avatar.Fallback></Avatar.Root>
<Avatar.Root size="md"><Avatar.Fallback>MD</Avatar.Fallback></Avatar.Root>
<Avatar.Root size="lg"><Avatar.Fallback>LG</Avatar.Fallback></Avatar.Root>

Use square for organisation logos and non-person avatars.

<Avatar.Root square size="md"><Avatar.Fallback>OG</Avatar.Fallback></Avatar.Root>
PropTypeDefaultDescription
size”sm” | “md” | “lg""md”Diameter of the avatar.
squarebooleanfalseRounded square instead of circle.
classNamestringAdditional CSS classes.
PropTypeDescription
srcstringImage URL.
altstringAccessible alt text.
PropTypeDefaultDescription
childrenReactNodeTypically 1–2 initials.
delayMsnumber600Delay before fallback renders (avoids flash on slow images).