KQ-602 · RECIPIENT/PICK

Recipient Pick

Recent payees drawn as faces. Picking one grows its row item into a chip carrying the full name and handle beside the same disc — a layout animation on glide — while the others shrink and recede on a tween. Typing filters the row and the survivors travel to their new slots through the same FLIP; the row is a listbox where arrows step, Home and End jump, Enter chooses and Escape returns to the field.

KQ-602 · RECIPIENT/PICK

6 of 6 recents

6 of 6 recent payees shown, none chosen

No payee · 6 shown

Install

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

$ pnpm dlx shadcn@latest add @kinetiq/recipient-pick

Props

people
Recipient[]
default
The recent payees: id, name, handle and tint. Pass a theme token as the tint so both themes read.
value / defaultValue
string | null
default null
Controlled or initial payee id; null is the unpicked row.
onValueChange
(id: string | null) => void
default
Fires from the press or key that chose or cleared.
query / defaultQuery
string
default ""
Controlled or initial filter text.
onQueryChange
(query: string) => void
default
Fires from the field's input event.
max
number
default 6
Faces drawn before the row stops; the count line says how many matched.
label
string
default "Send to"
Visible field label and the row's group name.
placeholder
string
default "Name or handle"
Field placeholder.