Zetta v0.10

Components · Data display

Avatar

A fully rounded user image or initials on a muted surface. Five sizes from 16px (dense table cells) to 48px (profile headers); use 44px or larger for anything tappable.

Preview

Light
AC AC AC AC
Dark
AC AC AC AC
Accessibility
AC AC AC AC

Spec

Values and token references straight from the Zetta spec.

avatar
backgroundColor
{colors.surface-muted}
textColor
{colors.muted}
borderRadius
{rounded.full}
fontFamily
Geist
fontSize
13px
fontWeight
500
sizeXs
16px
sizeSm
24px
sizeMd
40px
sizeLg
44px
sizeXl
48px
avatar-image
borderRadius
{rounded.full}
objectFit
cover

Build with the skill

No package to install — hand this to your AI to generate the avatar in your stack.

Prompt for your AI
Implement the Zetta "Avatar" component in this project's stack using the zetta-design-md skill.

- Apply the `avatar` spec from the skill (variants: xs, sm, md, lg, xl).
- Use this project's own component conventions and framework idioms.
- Reference the Zetta design tokens (CSS variables) for every color, radius, and shadow — never hardcode values.
- Implement all states (hover, focus, active, disabled, and invalid where applicable) with a visible 2px focus ring.
- Honor the Zetta guardrails (brand never shifts hue, shadows for overlays only, etc.) and verify in Light, Dark, and Accessibility.

Anatomy & rules

  • Full radius, surface-muted fill, muted initials (13 / 500). Image covers (object-fit: cover).
  • Sizes: 16 / 24 / 40 / 44 / 48px. Use lg (44px) or larger for any tappable avatar (SC 2.5.5).

Known gaps

  • Status indicator (online dot) and an avatar-group / stack pattern are not yet specified.