GitHub

/ avatar-group

AvatarGroup

@kumiki/atelier/avatar-group

Layer 5 preview — styled AvatarGroup with overflow indicator.

This component, layer by layer

Styled, copy-paste presets (preview). Run pnpm kumiki add to drop the source into your project, then edit freely.

Live preview

Live preview…

Install
pnpm add @kumiki/atelier
Stacked avatars with overflow
<script lang="ts">
  import { Tailwind as AvatarGroup } from '@kumiki/atelier/avatar-group';

  const members = [
    { id: '1', name: 'Akari', src: '/u/1.jpg' },
    { id: '2', name: 'Ben',   src: '/u/2.jpg' },
    { id: '3', name: 'Cora',  src: '/u/3.jpg' },
    { id: '4', name: 'Dai',   src: '/u/4.jpg' },
  ];
</script>

<AvatarGroup.Root max={3} aria-label="Project members">
  {#each members as m (m.id)}
    <AvatarGroup.Item src={m.src} alt={m.name} />
  {/each}
  <AvatarGroup.Overflow />
</AvatarGroup.Root>

/ accessibility

Accessibility

axe-core — run on every PR (LTR + RTL × every documented state).

Keyboard

No component-specific keymap. Inherits standard browser focus / activation behaviour.

Test discipline

  • axe-core — run on every PR (LTR + RTL × every documented state).
  • APG keyboard tests — Playwright, hand-written per pattern.
  • VoiceOver / NVDA — Guidepup nightly schedule.
  • Type-level required names — title / aria-label / aria-labelledby.