KQ-873 · AVATAR/CLUSTER

Avatar Cluster

Faces overlap by ten pixels until the cluster is hovered or holds focus, and then each face's own margin glides apart on glide so the cluster widens rather than sliding faces out from under each other. Avatars are procedural — initials over a rim signature hashed from the id into pathLength fractions, rounded before they reach an attribute — and the speaking member lifts on snap under a cobalt ring that breathes. The overflow count rolls in the direction it moved, and a roving tabindex over the faces is the keyboard's path to the spread.

KQ-873 · AVATAR/CLUSTER

Coldbrook standup · 09:15

6 in the room · speaking Ines

Install

One command — the source lands in your repo. Or copy it from the Code tab.

$ pnpm dlx shadcn@latest add @kinetiq/avatar-cluster

Props

people
ClusterPerson[]
default
The room, in stacking order; the first face sits on top.
label
string
default
Names the cluster and the overflow chip ("Coldbrook standup").
max
number
default 4
Faces drawn before the overflow chip.
speakingId
string | null
default null
Who is speaking; that face lifts, rings and rises above its neighbours.
onSelect
(id: string) => void
default
Fires from a face's click, Enter or Space.
onOverflowSelect
() => void
default
Fires from the overflow chip.