Conversation
Composer
The input row. Enter sends, Shift+Enter breaks, IME-safe, autosizing.
Install
npx shadcn@latest add https://ui.inflection.network/r/composer.jsonPulls in utils, use-autosize-textarea automatically.
Usage
actions
busy
Props
| Name | Type | Description |
|---|---|---|
| onSend* | (text: string) => void | Called with the trimmed message. The field clears itself. |
| busy | boolean | A reply is in flight. Disables send, not typing. |
| disabled | boolean | No session, or the conversation ended. Disables the field. |
| actions | ReactNode | Utility icons shown while the field is empty; replaced by send once there is text. |
| leading | ReactNode | Controls to the left of the field — a mic, an attachment button. |
| placeholder | string | Default: "Type a message…" |
* required