Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
78 commits
Select commit Hold shift + click to select a range
353746f
[docs] Reorganize existing chat docs navigation
hasdfa May 17, 2026
153c262
[chat-headless] Add createEchoAdapter and createAiSdkAdapter
hasdfa May 13, 2026
2f156eb
[x-chat] Complete built-in adapter exports
hasdfa May 17, 2026
59f5389
[chat-headless] Format AI SDK adapter test
hasdfa May 17, 2026
849b199
[x-chat] Address built-in adapter review comments
hasdfa May 18, 2026
8d32a61
[x-chat] Fix adapter CI issues
hasdfa May 18, 2026
2e92b22
[chat-headless] Harden runtime model and message errors
hasdfa May 17, 2026
216a7da
[chat-headless] Fix runtime branch CI
hasdfa May 17, 2026
c8fc6ba
[chat-headless] Keep runtime tests on pre-slots API
hasdfa May 18, 2026
9034463
[chat-headless] Fix runtime static docs output
hasdfa May 18, 2026
212b1cc
[chat-headless] Address runtime review comments
hasdfa May 18, 2026
0585a84
[chat-headless] Fix provider controlled message reset
hasdfa May 18, 2026
555b9fa
[chat-headless] Forward role display names
hasdfa May 18, 2026
738f10e
Merge branch 'master' into x-chat-docs-ia-existing-content
hasdfa May 18, 2026
2d10846
[chat-headless] Regenerate ChatBox API docs
hasdfa May 18, 2026
285865c
[x-chat] Harden material message surfaces
hasdfa May 17, 2026
2f6463d
[x-chat] Fix material message surfaces CI
hasdfa May 17, 2026
66c6e5a
[x-chat] Fix message surface API docs generation
hasdfa May 18, 2026
613840a
[docs] Dedupe chat API imports
hasdfa May 18, 2026
7d4443f
[docs] Address chat nav review suggestions
hasdfa May 20, 2026
bcd8b46
Merge branch 'master' into x-chat-docs-ia-existing-content
hasdfa May 20, 2026
cdaf1cb
Merge branch 'master' into x-chat-headless-runtime-model
hasdfa May 20, 2026
1648d70
Merge branch 'master' into x-chat-headless-runtime-model
hasdfa May 20, 2026
696e9be
Merge branch 'master' into x-chat-docs-ia-existing-content
hasdfa May 26, 2026
a48abf7
[docs] Align chat display nav group path
hasdfa May 26, 2026
81ab35f
Merge branch 'master' into x-chat-headless-runtime-model
hasdfa May 26, 2026
aee4621
[chat-headless] Address runtime model review comments
hasdfa May 26, 2026
59ea6ab
Merge branch 'master' into x-chat-docs-ia-existing-content
hasdfa May 27, 2026
2a6984b
Merge branch 'master' into x-chat-docs-ia-existing-content
hasdfa May 27, 2026
ebeccbd
Merge remote-tracking branch 'upstream/master' into x-chat-headless-r…
hasdfa May 27, 2026
557d583
Merge remote-tracking branch 'upstream/master' into x-chat-material-m…
hasdfa May 27, 2026
25959cd
Update messageReasoningLabel from 'Thoughts' to 'Reasoning'
hasdfa May 27, 2026
e35f0ee
[docs] Fix controlled composer demo width
hasdfa May 27, 2026
b906a95
fix tests
hasdfa May 27, 2026
0cd3365
fix tests
hasdfa May 27, 2026
71abd6b
[docs] Fix controlled composer demo width
hasdfa May 27, 2026
65b335c
Merge remote-tracking branch 'origin/x-chat-docs-ia-existing-content'…
hasdfa May 27, 2026
0696106
Merge remote-tracking branch 'origin/x-chat-headless-runtime-model' i…
hasdfa May 28, 2026
712e696
Merge branch 'master' into x-chat-material-message-surfaces
hasdfa Jun 2, 2026
2ce51bb
Merge branch 'master' into x-chat-material-message-surfaces
hasdfa Jun 2, 2026
8dc6572
Merge branch 'master' into x-chat-material-message-surfaces
hasdfa Jun 2, 2026
5d1d0c6
Merge remote-tracking branch 'upstream/master' into x-chat-material-m…
Copilot Jun 2, 2026
4258a05
Merge master into copilot/x-chat-material-message-surfaces-reopen
Copilot Jun 2, 2026
ed6de9a
Merge branch 'master' into copilot/hasdfamui-xcopilotx-chat-material-…
hasdfa Jun 2, 2026
b59eebd
[x-chat] Address review feedback on Material message surfaces
hasdfa Jun 2, 2026
5435ba0
[x-chat] Use an effect to auto-open the tool input section
hasdfa Jun 2, 2026
fe84f39
[x-chat] Restore the default conversation-list sidebar width
hasdfa Jun 2, 2026
dcc0fed
Merge branch 'master' into copilot/hasdfamui-xcopilotx-chat-material-…
hasdfa Jun 3, 2026
12da38f
Merge branch 'master' into copilot/hasdfamui-xcopilotx-chat-material-…
hasdfa Jun 3, 2026
8d27d9b
Merge branch 'master' into copilot/hasdfamui-xcopilotx-chat-material-…
hasdfa Jun 3, 2026
dc4e741
Merge branch 'master' into copilot/hasdfamui-xcopilotx-chat-material-…
hasdfa Jun 3, 2026
ff63f5f
[x-chat] Add ChatBox layout slots and migration codemod
hasdfa May 17, 2026
2a1a018
[x-chat] Fix slots migration branch CI
hasdfa May 17, 2026
538f9c1
[x-chat] Regenerate slots API demo links
hasdfa May 18, 2026
49fbc15
[x-chat] Address chat slots codemod reviews
hasdfa May 18, 2026
1b10d00
[x-chat] Keep flat ChatBox slots, distribute via context, drop codemod
hasdfa Jun 4, 2026
a7efa46
[x-chat] Fix root-slot fallback being clobbered by undefined override
hasdfa May 20, 2026
5ba532a
[x-chat] Render slot tree alongside injected author in compact ChatMe…
hasdfa May 20, 2026
729e5aa
Merge branch 'master' into x-chat-chatbox-layout-slots-codemod
hasdfa Jun 5, 2026
cc3a95c
[docs] Commit missing chat demo .tsx.preview files
hasdfa Jun 5, 2026
2451846
[x-chat] Run ChatBox conversation-list width test browser-only
hasdfa Jun 5, 2026
d45cfa8
[x-chat] Address slot review nits: spread order + flat test names
hasdfa Jun 5, 2026
ac93ec7
[x-chat] Document ChatBox slots and tidy innerRef typing
hasdfa Jun 5, 2026
6796a27
[x-chat] Group rendered-list rows correctly and drop dead sidebar hide
hasdfa Jun 5, 2026
6c68452
[docs] Flatten leftover nested slot vocab in Agent/Messenger overview…
hasdfa Jun 5, 2026
e6a6866
[x-chat] Address slots reviews: messageGroup wrapper, compact childre…
hasdfa Jun 5, 2026
6db1d21
[x-chat] Drop redundant classes prop from ChatMessage slot sub-parts
hasdfa Jun 5, 2026
1997fd0
[x-chat] Forward consumer onToggle on tool sections without clobberin…
hasdfa Jun 5, 2026
d3c37af
[x-chat] Stop groupAuthorName leaking to the DOM on headless MessageRoot
hasdfa Jun 5, 2026
dbb93bd
[x-chat] Fix standalone attachment list and function-form suggestions…
hasdfa Jun 5, 2026
6a53730
[x-chat] Fix emptyState slotProps callback, header-hidden back nav, c…
hasdfa Jun 5, 2026
512a0ff
[x-chat] Support callback-form slotProps everywhere + render row divi…
hasdfa Jun 5, 2026
758238a
[x-chat] Allow null for dateDivider/unreadMarker slots to hide them
hasdfa Jun 5, 2026
d596389
[x-chat] Close the narrow conversation overlay on keyboard selection
hasdfa Jun 5, 2026
1dd458d
[x-chat] Forward messageGroup.groupKey to MessageGroup; drop stray cl…
hasdfa Jun 6, 2026
c2c0a0c
[x-chat] Make ChatBox slots.messageList a true wrapper-only root slot
hasdfa Jun 6, 2026
f02a39f
[x-chat] Assign the split conversation list to the conversations pane
hasdfa Jun 6, 2026
0193799
[x-chat] Preserve top-level suggestions sx in the above-composer path
hasdfa Jun 6, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion docs/data/chat/behavior/error-handling/error-handling.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ productId: x-chat
title: Error Handling
packageName: '@mui/x-chat'
githubLabel: 'scope: chat'
components: ChatBox, MessageError
components: ChatBox, ChatMessageError, MessageError
---

# Chat - Error Handling
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -63,37 +63,43 @@ Use `slotProps` to pass additional props to either the default or a custom slot

### Conversation slots

| Slot name | Default component | Element | Description |
| :-------------------------- | :------------------------------ | :--------- | :---------------------------------- |
| `conversationList` | `ChatConversationList` | `<div>` | Conversation list |
| `conversationHeader` | `ChatConversationHeader` | `<header>` | Header bar above the message list |
| `conversationTitle` | `ChatConversationTitle` | `<div>` | Conversation name |
| `conversationSubtitle` | `ChatConversationSubtitle` | `<div>` | Secondary line (participants, etc.) |
| `conversationHeaderActions` | `ChatConversationHeaderActions` | `<div>` | Action buttons in the header |
| Slot name | Default component | Element | Description |
| :-------------------------- | :------------------------------ | :--------- | :----------------------------------- |
| `conversationRoot` | `ChatConversation` | `<div>` | Thread shell (wrapper-only) |
| `conversationList` | `ChatConversationList` | `<div>` | Conversation list |
| `conversationHeader` | `ChatConversationHeader` | `<header>` | Header bar above the message list |
| `conversationHeaderInfo` | `ChatConversationHeaderInfo` | `<div>` | Title + subtitle group in the header |
| `conversationTitle` | `ChatConversationTitle` | `<div>` | Conversation name |
| `conversationSubtitle` | `ChatConversationSubtitle` | `<div>` | Secondary line (participants, etc.) |
| `conversationHeaderActions` | `ChatConversationHeaderActions` | `<div>` | Action buttons in the header |

### Message list slots

| Slot name | Default component | Element | Description |
| :--------------- | :------------------- | :------ | :---------------------------- |
| `messageList` | `ChatMessageList` | `<div>` | Scrollable message container |
| `messageRoot` | `ChatMessage` | `<div>` | Individual message row |
| `messageAvatar` | `ChatMessageAvatar` | `<div>` | Author avatar |
| `messageContent` | `ChatMessageContent` | `<div>` | Message bubble |
| `messageMeta` | `ChatMessageMeta` | `<div>` | Timestamp and delivery status |
| `messageActions` | `ChatMessageActions` | `<div>` | Hover action menu |
| `messageGroup` | `ChatMessageGroup` | `<div>` | Same-author message group |
| `dateDivider` | `ChatDateDivider` | `<div>` | Date separator between groups |
| Slot name | Default component | Element | Description |
| :------------------ | :---------------------- | :------- | :------------------------------------ |
| `messageList` | `ChatMessageList` | `<div>` | Scrollable message container |
| `messageGroup` | `ChatMessageGroup` | `<div>` | Same-author message group |
| `messageRoot` | `ChatMessage` | `<div>` | Individual message row (wrapper-only) |
| `messageAvatar` | `ChatMessageAvatar` | `<div>` | Author avatar |
| `messageContent` | `ChatMessageContent` | `<div>` | Message bubble |
| `messageMeta` | `ChatMessageMeta` | `<div>` | Timestamp (compact variant) |
| `messageInlineMeta` | `ChatMessageInlineMeta` | `<span>` | Inline timestamp inside the bubble |
| `messageError` | `ChatMessageError` | `<div>` | Error card under a failed message |
| `messageActions` | `ChatMessageActions` | `<div>` | Hover action menu |
| `messageAuthorName` | — | `<div>` | Author name label above the group |
| `dateDivider` | `ChatDateDivider` | `<div>` | Date separator between groups |

### Composer slots

| Slot name | Default component | Element | Description |
| :--------------------- | :------------------------- | :----------- | :---------------------- |
| `composerRoot` | `ChatComposer` | `<form>` | Composer container |
| `composerInput` | `ChatComposerTextArea` | `<textarea>` | Auto-resizing text area |
| `composerSendButton` | `ChatComposerSendButton` | `<button>` | Submit button |
| `composerAttachButton` | `ChatComposerAttachButton` | `<button>` | File attach trigger |
| `composerToolbar` | `ChatComposerToolbar` | `<div>` | Button row |
| `composerHelperText` | `ChatComposerHelperText` | `<div>` | Disclaimer or hint |
| Slot name | Default component | Element | Description |
| :----------------------- | :--------------------------- | :----------- | :-------------------------------- |
| `composerRoot` | `ChatComposer` | `<form>` | Composer container (wrapper-only) |
| `composerInput` | `ChatComposerTextArea` | `<textarea>` | Auto-resizing text area |
| `composerSendButton` | `ChatComposerSendButton` | `<button>` | Submit button |
| `composerAttachButton` | `ChatComposerAttachButton` | `<button>` | File attach trigger |
| `composerAttachmentList` | `ChatComposerAttachmentList` | `<div>` | Pending-attachment preview row |
| `composerToolbar` | `ChatComposerToolbar` | `<div>` | Button row |
| `composerHelperText` | `ChatComposerHelperText` | `<div>` | Disclaimer or hint |

### Indicator slots

Expand All @@ -104,8 +110,13 @@ Use `slotProps` to pass additional props to either the default or a custom slot
| `scrollToBottom` | `ChatScrollToBottomAffordance` | `<button>` | Floating scroll-to-bottom button |
| `suggestions` | `ChatSuggestions` | `<div>` | Prompt suggestion chips |

:::info
The `typingIndicator`, `unreadMarker`, and `messageActions` slots are defined in the type interface but are not currently consumed by `ChatBox`'s internal composition. To customize these, use the standalone components directly in a custom layout with `ChatProvider`.
:::warning
**Two things to know about the slot names:**

- **Standalone components use short keys.** The flat, prefixed names above (for example, `messageAvatar`, `composerSendButton`) apply to `ChatBox`. When you render a leaf component directly, it uses its own short keys — `<ChatMessage slots={{ avatar: MyAvatar }} />`, not `messageAvatar`.
- **`*Root` slots are wrapper-only.** `conversationRoot`, `messageRoot`, and `composerRoot` swap the styled root element while the default children still render inside. To replace a region entirely, compose it yourself with the headless hooks.

The `typingIndicator` and `unreadMarker` slots are surfaced for standalone composition but are not rendered by `ChatBox`'s default layout. To use them, render the standalone components in a custom layout with `ChatProvider`.
:::

## Hiding a slot
Expand Down Expand Up @@ -143,33 +154,42 @@ To conditionally show a custom component, keep the feature flag enabled and hand

## `slotProps` reference

| Key | Type | Description |
| :--------------------- | :------------------------------------------- | :---------------------- |
| `root` | `SlotComponentProps<'div'>` | Outermost div |
| `layout` | `SlotComponentProps<'div'>` | Layout div |
| `conversationsPane` | `SlotComponentProps<'div'>` | Conversations pane div |
| `threadPane` | `SlotComponentProps<'div'>` | Thread pane div |
| `conversationList` | `Partial<ChatConversationListProps>` | Conversation list |
| `conversationHeader` | `Partial<ChatConversationHeaderProps>` | Thread header |
| `conversationTitle` | `Partial<ChatConversationTitleProps>` | Thread title |
| `conversationSubtitle` | `Partial<ChatConversationSubtitleProps>` | Thread subtitle |
| `messageList` | `Partial<ChatMessageListProps>` | Message list |
| `messageRoot` | `Partial<ChatMessageProps>` | Each message container |
| `messageAvatar` | `Partial<ChatMessageAvatarProps>` | Message avatar |
| `messageContent` | `Partial<ChatMessageContentProps>` | Message content/bubble |
| `messageMeta` | `Partial<ChatMessageMetaProps>` | Message timestamp |
| `messageActions` | `Partial<ChatMessageActionsProps>` | Message action menu |
| `messageGroup` | `Partial<ChatMessageGroupProps>` | Message group container |
| `dateDivider` | `Partial<ChatDateDividerProps>` | Date separator |
| `composerRoot` | `Partial<ChatComposerProps>` | Composer form root |
| `composerInput` | `Partial<ChatComposerTextAreaProps>` | Composer textarea |
| `composerSendButton` | `Partial<ChatComposerSendButtonProps>` | Send button |
| `composerAttachButton` | `Partial<ChatComposerAttachButtonProps>` | Attach button |
| `composerToolbar` | `Partial<ChatComposerToolbarProps>` | Toolbar container |
| `composerHelperText` | `Partial<ChatComposerHelperTextProps>` | Helper text below input |
| `typingIndicator` | `Partial<ChatTypingIndicatorProps>` | Typing indicator |
| `unreadMarker` | `Partial<ChatUnreadMarkerProps>` | Unread marker |
| `scrollToBottom` | `Partial<ChatScrollToBottomAffordanceProps>` | Scroll to bottom button |
| Key | Type | Description |
| :-------------------------- | :-------------------------------------------- | :----------------------------- |
| `root` | `SlotComponentProps<'div'>` | Outermost div |
| `layout` | `SlotComponentProps<'div'>` | Layout div |
| `conversationsPane` | `SlotComponentProps<'div'>` | Conversations pane div |
| `threadPane` | `SlotComponentProps<'div'>` | Thread pane div |
| `conversationRoot` | `Partial<ChatConversationProps>` | Thread shell (wrapper-only) |
| `conversationList` | `Partial<ChatConversationListProps>` | Conversation list |
| `conversationHeader` | `Partial<ChatConversationHeaderProps>` | Thread header |
| `conversationHeaderInfo` | `Partial<ChatConversationHeaderInfoProps>` | Title + subtitle group |
| `conversationTitle` | `Partial<ChatConversationTitleProps>` | Thread title |
| `conversationSubtitle` | `Partial<ChatConversationSubtitleProps>` | Thread subtitle |
| `conversationHeaderActions` | `Partial<ChatConversationHeaderActionsProps>` | Header action area |
| `messageList` | `Partial<ChatMessageListProps>` | Message list |
| `messageGroup` | `Partial<ChatMessageGroupProps>` | Message group container |
| `messageRoot` | `Partial<ChatMessageProps>` | Each message container |
| `messageAvatar` | `Partial<ChatMessageAvatarProps>` | Message avatar |
| `messageContent` | `Partial<ChatMessageContentProps>` | Message content/bubble |
| `messageMeta` | `Partial<ChatMessageMetaProps>` | Message timestamp (compact) |
| `messageInlineMeta` | `Record<string, unknown>` | Inline timestamp in the bubble |
| `messageError` | `Partial<ChatMessageErrorProps>` | Error card |
| `messageActions` | `Partial<ChatMessageActionsProps>` | Message action menu |
| `messageAuthorName` | `Record<string, unknown>` | Author name label |
| `dateDivider` | `Partial<ChatDateDividerProps>` | Date separator |
| `composerRoot` | `Partial<ChatComposerProps>` | Composer form root |
| `composerInput` | `Partial<ChatComposerTextAreaProps>` | Composer textarea |
| `composerSendButton` | `Partial<ChatComposerSendButtonProps>` | Send button |
| `composerAttachButton` | `Partial<ChatComposerAttachButtonProps>` | Attach button |
| `composerAttachmentList` | `Partial<ChatComposerAttachmentListProps>` | Attachment preview row |
| `composerToolbar` | `Partial<ChatComposerToolbarProps>` | Toolbar container |
| `composerHelperText` | `Partial<ChatComposerHelperTextProps>` | Helper text below input |
| `typingIndicator` | `Partial<ChatTypingIndicatorProps>` | Typing indicator |
| `unreadMarker` | `Partial<ChatUnreadMarkerProps>` | Unread marker |
| `scrollToBottom` | `Partial<ChatScrollToBottomAffordanceProps>` | Scroll to bottom button |
| `suggestions` | `Partial<ChatSuggestionsProps>` | Prompt suggestions |
| `emptyState` | `SlotComponentProps<'div'>` | Custom empty state |

## CSS classes

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,9 @@ export default function BasicMessageActions() {
initialActiveConversationId={minimalConversation.id}
initialConversations={[minimalConversation]}
initialMessages={minimalMessages}
slots={{ messageActions: MyMessageActions }}
slots={{
messageActions: MyMessageActions,
}}
sx={{
height: 500,
border: '1px solid',
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,9 @@ export default function BasicMessageActions() {
initialActiveConversationId={minimalConversation.id}
initialConversations={[minimalConversation]}
initialMessages={minimalMessages}
slots={{ messageActions: MyMessageActions }}
slots={{
messageActions: MyMessageActions,
}}
sx={{
height: 500,
border: '1px solid',
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,9 @@
initialActiveConversationId={minimalConversation.id}
initialConversations={[minimalConversation]}
initialMessages={minimalMessages}
slots={{ messageActions: MyMessageActions }}
slots={{
messageActions: MyMessageActions,
}}
sx={{
height: 500,
border: '1px solid',
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,9 @@ export default function RoleBasedMessageActions() {
initialActiveConversationId={minimalConversation.id}
initialConversations={[minimalConversation]}
initialMessages={minimalMessages}
slots={{ messageActions: RoleBasedActions }}
slots={{
messageActions: RoleBasedActions,
}}
sx={{
height: 500,
border: '1px solid',
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,9 @@ export default function RoleBasedMessageActions() {
initialActiveConversationId={minimalConversation.id}
initialConversations={[minimalConversation]}
initialMessages={minimalMessages}
slots={{ messageActions: RoleBasedActions }}
slots={{
messageActions: RoleBasedActions,
}}
sx={{
height: 500,
border: '1px solid',
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,9 @@
initialActiveConversationId={minimalConversation.id}
initialConversations={[minimalConversation]}
initialMessages={minimalMessages}
slots={{ messageActions: RoleBasedActions }}
slots={{
messageActions: RoleBasedActions,
}}
sx={{
height: 500,
border: '1px solid',
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ export default function ComposerCustomPlaceholder() {
initialConversations={[minimalConversation]}
initialMessages={minimalMessages}
slotProps={{
composerInput: { placeholder: 'Ask me anything…' },
composerInput: { placeholder: 'Ask me anything...' },
}}
sx={{
height: 400,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ export default function ComposerCustomPlaceholder() {
initialConversations={[minimalConversation]}
initialMessages={minimalMessages}
slotProps={{
composerInput: { placeholder: 'Ask me anything…' },
composerInput: { placeholder: 'Ask me anything...' },
}}
sx={{
height: 400,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
initialConversations={[minimalConversation]}
initialMessages={minimalMessages}
slotProps={{
composerInput: { placeholder: 'Ask me anything…' },
composerInput: { placeholder: 'Ask me anything...' },
}}
sx={{
height: 400,
Expand Down
1 change: 1 addition & 0 deletions docs/data/chat/material/conversation-list/CompactRow.js
Original file line number Diff line number Diff line change
Expand Up @@ -88,6 +88,7 @@ export default function CompactRow() {
activeConversationId={activeConversationId}
conversations={conversations}
messages={messages}
features={{ conversationList: true }}
onActiveConversationChange={(nextId) => {
if (nextId) {
setActiveConversationId(nextId);
Expand Down
1 change: 1 addition & 0 deletions docs/data/chat/material/conversation-list/CompactRow.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -95,6 +95,7 @@ export default function CompactRow() {
activeConversationId={activeConversationId}
conversations={conversations}
messages={messages}
features={{ conversationList: true }}
onActiveConversationChange={(nextId) => {
if (nextId) {
setActiveConversationId(nextId);
Expand Down
1 change: 1 addition & 0 deletions docs/data/chat/material/conversation-list/FullCustomRow.js
Original file line number Diff line number Diff line change
Expand Up @@ -147,6 +147,7 @@ export default function FullCustomRow() {
activeConversationId={activeConversationId}
conversations={conversations}
messages={messages}
features={{ conversationList: true }}
onActiveConversationChange={(nextId) => {
if (nextId) {
setActiveConversationId(nextId);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -155,6 +155,7 @@ export default function FullCustomRow() {
activeConversationId={activeConversationId}
conversations={conversations}
messages={messages}
features={{ conversationList: true }}
onActiveConversationChange={(nextId) => {
if (nextId) {
setActiveConversationId(nextId);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -89,6 +89,7 @@ export default function RichItemContent() {
activeConversationId={activeConversationId}
conversations={conversations}
messages={messages}
features={{ conversationList: true }}
onActiveConversationChange={(nextId) => {
if (nextId) {
setActiveConversationId(nextId);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -97,6 +97,7 @@ export default function RichItemContent() {
activeConversationId={activeConversationId}
conversations={conversations}
messages={messages}
features={{ conversationList: true }}
onActiveConversationChange={(nextId) => {
if (nextId) {
setActiveConversationId(nextId);
Expand Down
1 change: 1 addition & 0 deletions docs/data/chat/material/conversation-list/ThemedAvatar.js
Original file line number Diff line number Diff line change
Expand Up @@ -67,6 +67,7 @@ export default function ThemedAvatar() {
activeConversationId={activeConversationId}
conversations={conversations}
messages={messages}
features={{ conversationList: true }}
onActiveConversationChange={(nextId) => {
if (nextId) {
setActiveConversationId(nextId);
Expand Down
Loading
Loading