Search for a command to run...
A user's image with a text fallback. Composes `AvatarImage` and `AvatarFallback` so the fallback renders cleanly while the image is loading or unavailable.
Opt-in elevation for hero/profile contexts — adds a layered outer drop shadow plus a glassy inner highlight rim. Default avatars stay flat so they read cleanly inline and in groups; reserve shadow for places like the profile-page hero and the MindIsland-style surfaces.
Overlapping avatars for "people on this thing." AvatarGroup handles the negative-space stacking and adds a ring around each child so the overlap reads cleanly on any surface.
Avatar| Prop | Type | Default | Description |
|---|---|---|---|
size | "default" | "sm" | "lg" | "default" | Diameter step. sm = 24px, default = 32px, lg = 40px. |
shadow | boolean | false | Opt-in elevated treatment — outer drop shadow + inner highlight rim. Reserve for profile heroes and the MindIsland-style surfaces. |
AvatarImageForwards every native <img> attribute. Renders null while loading or on error so the fallback shows.
AvatarFallbackRenders when the image is unavailable. Use 1–2 letter initials, an icon, or a Lucide-style glyph.
AvatarGroupA flex row that overlaps its Avatar children via negative space and adds ring-surface-primary to each so the overlap reads on any surface. Inherits size from its children — pass size="sm" or size="lg" on each Avatar to scale the whole group.
AvatarGroupCountA squircle "+N" tile that sits at the end of an AvatarGroup. Same shape, size, and ring treatment as the avatars next to it. Use for overflow ("+12 more").
AvatarFallback — the image can be missing, slow, or broken, and a blank circle reads as a bug.alt on AvatarImage describing the person, not "Avatar of Alice" — screen readers say "image" already.AvatarFallback; one letter is fine when first/last names aren't both known.<img> or a custom badge.AvatarGroup so the overlap and stacking stay consistent.