Patterns · AI
Chat layout: a scrolling message list that follows new content, with a sticky composer underneath.
Send a message: it shows Thinking, then streams a cited reply. Stop or Escape ends the reply early.
| Prop | Type | Default | Required | Description |
|---|---|---|---|---|
| children | ReactNode | — | — | The messages, usually MessageBubbles. |
| composer | ReactNode | — | — | Sticky slot under the list, usually a PromptInput. |
| autoScroll | boolean | true | — | Follow new content while the reader is at the bottom. Scrolling up stops following and shows "Jump to latest". |
| announce | boolean | false | — | Make the list a polite `role="log"`. Only for whole-message updates: with token streaming it announces every chunk. |
| messages | Partial<ConversationMessages> | — | — | Overrides for `jumpToLatest` and `conversation`. |
import { Conversation } from '@nexub/patterns';