Launch prototype

Components

Avatar

User representation. Supports an image, initials fallback, and an icon fallback. Sizes and demo sections are driven from config/design-system.config.ts.

Component Playground

Live instance - the controls read their options from the same config that drives the Variants section below.

OW
md · 40px

Controls

Size

Initials

Status

Count

Badge priority: status › verified › count - only one shows at a time.

Sizes

Extra small / Small / Medium / Large / Extra large / 2X large

OW
xs
OW
sm
OW
md
OW
lg
OW
xl
OW
2xl

Fallback content

Falls back in order: src image → initials → placeholderIcon → placeholder → default User01 icon.

Initials / custom icon / default

OW
initials
placeholderIcon
default (User01)

Border

An inner contrast ring around the avatar - used when the background behind the avatar is unpredictable.

border

OW

Status indicator

online / offline

OW
online
OW
offline

Verified

verified

OW

Count badge

Displays an unread/notification count on the badge corner.

count

OW
4

Company icon

Pass a custom badge node - e.g. a company logo - when status/verified/count aren't in use.

badge

OW
Company

Add button

A dashed placeholder used at the end of an avatar stack to add another user.

AvatarAddButton

Avatar label group

An avatar paired with a title and subtitle - used in lists, tables, and comments.

AvatarLabelGroup

OW

Olivia Wyatt

olivia@dew.design

Profile photo

A larger presentation used on profile headers and settings pages.

sm / md / lg

OW
sm
OW
md
OW
lg

Avatar group

Stack avatars with border and a –8px overlap, ending in an AvatarAddButton or a count avatar when the list exceeds the max.

stack

OW
JD
MK
PL
+4

API

PropTypeDefault
size"xs" | "sm" | "md" | "lg" | "xl" | "2xl""md"
srcstring | null-
altstring-
initialsstring-
placeholderIconFC<{ className?: string }>-
placeholderReactNode-
borderbooleanfalse
contrastBorderbooleanfalse
badgeReactNode-
status"online" | "offline"-
verifiedbooleanfalse
countnumber-
roundedbooleantrue
focusablebooleanfalse
classNamestring-
contentClassNamestring-

Usage

import { Avatar } from "@/components/base/avatar/avatar";

<Avatar size="md" initials="OW" status="online" />

Figma

No linked Figma file yet - this component was pulled in via the Untitled UI CLI, not designed in Figma first.