Faber UI
Components

Avatar

A user image with fallback and optional status badge.

Avatar is built on the Base UI Avatar primitive. It shows an image when available and falls back to initials or placeholder content while loading or on error.

Installation

Terminal
pnpm dlx shadcn@latest add https://faber-ui.vercel.app/r/avatar.json

Usage

SX
typescript
import {
  Avatar,
  AvatarFallback,
  AvatarImage,
} from "@/components/ui/avatar";

export default function Example() {
  return (
    <Avatar>
      <AvatarImage src="https://github.com/SujalXplores.png" alt="SujalXplores" />
      <AvatarFallback>SX</AvatarFallback>
    </Avatar>
  );
}

Examples

Sizes

SML
typescript
<Avatar size="sm">
  <AvatarFallback>S</AvatarFallback>
</Avatar>
<Avatar>
  <AvatarFallback>M</AvatarFallback>
</Avatar>
<Avatar size="lg">
  <AvatarFallback>L</AvatarFallback>
</Avatar>

With a status badge

AB
typescript
<Avatar>
  <AvatarFallback>AB</AvatarFallback>
  <AvatarBadge />
</Avatar>

Avatar group

Stack multiple avatars with AvatarGroup:

ABC
typescript
<AvatarGroup>
  <Avatar>
    <AvatarFallback>A</AvatarFallback>
  </Avatar>
  <Avatar>
    <AvatarFallback>B</AvatarFallback>
  </Avatar>
  <Avatar>
    <AvatarFallback>C</AvatarFallback>
  </Avatar>
</AvatarGroup>

API

Each part forwards every prop of what it is built on, including className and render where Base UI supports it. The props column lists only what Faber UI adds on top.

PartBuilt onProps
Avatardata-slot="avatar"Avatar.RootBase UI
  • size? = "default""default" | "sm" | "lg"
AvatarImagedata-slot="avatar-image"Avatar.ImageBase UI—
AvatarFallbackdata-slot="avatar-fallback"Avatar.FallbackBase UI—
AvatarBadgedata-slot="avatar-badge"<span>HTML—
AvatarGroupdata-slot="avatar-group"<div>HTML—
AvatarGroupCountdata-slot="avatar-group-count"<div>HTML—

Last updated on

On this page