Skip to content

Avatar

Avatar

Component for displaying user profile images or initials in a circular or rounded container.

Import

import { Avatar } from '@primitivekit/vanilla';

Basic Usage

const avatar = new Avatar({ /* options */ });
document.body.appendChild(avatar.element);

Props

No props available.

Customization

The Avatar component supports CSS variables for complete customization:

const avatar = new Avatar({
  style: {
    '--avatar-bg-color': '#007bff',
    '--avatar-text-color': '#ffffff'
  }
});

Design Tokens

The following design tokens are available for customization:

  • --avatar-size
  • --avatar-bg-color
  • --avatar-color
  • --avatar-border-radius
  • --avatar-border-width
  • --avatar-border-color
  • --avatar-font-size
  • --small
  • --large
  • --square
  • … and 1 more

Accessibility

The Avatar component is fully accessible and follows WCAG 2.1 AA standards:

  • ✅ Semantic HTML elements
  • ✅ Keyboard accessible
  • ✅ Focus visible indicator
  • ✅ Proper ARIA attributes
  • ✅ Screen reader compatible
  • ✅ Touch target size (44x44px minimum)
  • ✅ Color contrast compliance

Keyboard Navigation

KeyAction
TabMove focus to/from component

Related Components

  • Tag - Removable label component for displaying tags, filters, or selections.
  • Table - Data display component for showing structured data in rows and columns with sorting and pagination.
  • Collapse - Component for showing and hiding content sections with expand/collapse animation.
  • Image - Enhanced image component with lazy loading, fallback, and aspect ratio support.
  • Empty - Component for displaying empty states when no data or content is available.

See Also