KQ-857 · MENTION/POP

Mention Pop

Names that complete as you type. An @ opens the room's members in a list that rises above the composer from eight pixels on snap, rows cascading in with a presence dot that says in words who is here; picking one wraps the typed name as a chip whose wash scales from the left edge on snap around glyphs the textarea already drew, and sending lands the message in the thread where its chips glow once — a fill flashes and a ring flares outward on a tween. Up and Down move the highlight, Home and End jump, Enter or Tab inserts, Escape closes; with the list shut Enter sends and Shift+Enter breaks the line.

KQ-857 · MENTION/POP
  1. Marta@Ines the pump on line two is back up. Who takes the night check?
  2. RuiI can, if the gate log is signed by six.

Type @ to mention someone. Up and Down choose, Enter or Tab inserts, Escape closes the list. Enter sends, Shift+Enter breaks the line.

Type @ to mention · 0 sent

Install

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

$ pnpm dlx shadcn@latest add @kinetiq/mention-pop

Props

members
MentionMember[]
default
Who can be mentioned: id, name, a mono handle searched alongside it, and presence (online, away or offline).
messages
MentionMessage[]
default
The thread, oldest first: id, from ("me" or a sender's name) and text with @Name tokens. Append the sent message here from onSend.
value / defaultValue
string
default ""
Controlled or initial composer text.
onValueChange
(text: string) => void
default
Fires on every edit and on the clear after a send.
onSend
(text: string, mentioned: string[]) => void
default
Fires from Enter or the Send button with the trimmed text and the member ids mentioned in it.
placeholder
string
default "Message the room"
Composer placeholder.
label
string
default
Names the thread and the composer for assistive technology.