ChatMessageList API
API reference docs for the React ChatMessageList component. Learn about the props, CSS, and other APIs of this exported module.
Demos
Import
import { ChatMessageList } from '@mui/x-chat/ChatMessageList';
// or
import { ChatMessageList } from '@mui/x-chat';Learn about the difference by reading this guide on minimizing bundle size.
Props of the native component are also available.
| Name | Type | Default | Description |
|---|---|---|---|
| autoScroll | { buffer?: number } | bool | true | Controls automatic scrolling to the bottom when new messages arrive or
streaming content grows, as long as the user is within
Scrolling when the user sends a message is always active. |
| enableRovingFocus | bool | true | Whether the message list manages a roving tabindex over its messages: the list is a single Tab stop, ArrowUp/ArrowDown (plus Home/End) move focus between messages, Enter drills into a message's interior controls and Escape returns to the message. |
| features | { dateDivider?: bool, streamingIndicator?: 'auto' | bool, unreadMarker?: bool } | - | Feature flags for the row extras rendered by the default row: the opt-in dividers ( |
| onReachBottom | func | - | Callback fired when the viewport enters the bottom zone of the list — within |
| onReachTop | func | - | Callback fired when the viewport enters the top zone of the list — within |
| overlay | node | null | Floating layer rendered above the message list, anchored to its bottom edge; pointer-transparent. |
| renderItem | func | - | Render a custom row for each message. When omitted, the default row used by |
These class names are useful for styling with CSS. They are applied to the component's slots when specific states are triggered.
| Class name | Rule name | Description |
|---|---|---|
| .MuiChatMessageList-content | content | Styles applied to the message list content element. |
| .MuiChatMessageList-root | root | Styles applied to the message list root element. |
| .MuiChatMessageList-scroller | scroller | Styles applied to the message list scroller element. |
You can override the style of the component using one of these customization options:
- With a global class name.
- With a rule name as part of the component's
styleOverridesproperty in a custom theme.
Source code
If you did not find the information in this page, consider having a look at the implementation of the component for more detail.