Quick replies
A row of tappable canned responses to drop above a composer. Await-aware: the chosen chip dims while your send resolves, so a slow network can't double-send.
Tap a reply.
Installation
npx shadcn@latest add @handset/quick-repliesUsage
import { QuickReplies } from "@/components/handset/quick-replies";
<QuickReplies
replies={["On my way", "Running late", "Reschedule?"]}
onSelect={(text) => thread.send({ body: text })}
/>Pure UI — onSelect is yours to wire (to useThread().send, a template, wherever). Bring the replies from your own config or the top intents in a tenant's inbox.
Props
| Prop | Type | Default | Description |
|---|---|---|---|
| replies | string[] | — | The canned responses to show. |
| onSelect | (text: string) => void | Promise<void> | — | Fired with the chosen reply. |
| disabled | boolean | — | Disable all chips. |
| className | string | — | Merged onto the row. |