AvatarGroup
ImplementedStacked avatar list — up to max (default 3) initial circles overlapping by -8px, remaining members collapsed into a "+N" overflow chip. The wrapper is a single role="img" with one accessible description. Used for attendees, collaborators, team members.
patterns/molecules/avatargroup.htmlStacked avatar list with overflow count.
AvatarGroup
molecules
Renders a horizontal stack of overlapping initial avatars. Members beyond `max` collapse into a "+N" overflow chip. Used for attendees, collaborators, and team members.
Usage
AvatarGroup is a compact representation of a user set. The default max of 3 keeps the control visually balanced; raise it for explicit team rosters where every member matters.
import { AvatarGroup } from '@epasslive/design-system'
<AvatarGroup
initials={['AM', 'PD', 'SL']}
total={9}
label="9 attendees going"
/>Props
initials*string[]Initials for each member (1-2 chars), rendered as Avatar-style circles.
maxnumber3Avatars shown before collapsing.
totalnumberTotal member count — when larger than initials.length, the "+N" chip renders.
overflowLabelstringOverrides the computed overflow label (e.g. "+9").
labelstringAccessible description of the group (defaults to "N members").
size'sm' | 'md' | 'lg''md'Avatar diameter.
classNamestringAdditional CSS classes.
Accessibility
- Wrapper exposes role="img" with the group label (defaults to "N members").
- Individual initials and the "+N" chip are decorative — the group label is the single accessible description.
Props
AvatarGroup
initialsstring[]—Initials for each member (1-2 chars), rendered as Avatar-style circles.
overflowLabelstring—Overrides the computed overflow chip label (default '+N').
totalnumber—Total member count — when larger than initials.length, '+N' renders.
maxnumber3Max avatars shown before collapsing to +N.
labelstring—Accessible description of the group (default '{N} members' — pass a localized label).
size"sm" | "md" | "lg"'md'Circle size preset: sm 24px / md 32px / lg 40px.
classNamestring—Additional CSS classes on the group container.
<AvatarGroup />Accessibility
ARIA
1 ruleType
1 ruleUsage
Import
import { AvatarGroup } from "@epasslive/design-system"Example 1
<AvatarGroup initials={['AM','PD','SL']} total={9} label='9 attendees going' />Example 2
<AvatarGroup initials={['JD','KB']} size='sm' overflowLabel='+2 more' />Anti-patterns
— Do not hardcode data in molecules
— Avoid complex business logic in molecules