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.
| Name | Type | Default | Description |
|---|---|---|---|
| renderItem* | func | - | Signature: function(params: { id: string; index: number; }) => ReactNode |
| autoScroll | bool | bool | { buffer?: number } | true | Controls automatic scrolling to the bottom when new messages arrive or
streaming content grows, as long as the user is within |
| classes | Partial | - | See CSS classes API below for more details. |
| estimatedItemSize | number | - | |
| getItemKey | func | - | Signature: function(id: string, index: number) => Key |
| items | Array<string> | - | |
| onReachTop | func | - | Signature: function() => void |
| overlay | node | - | |
| slotProps | MessageListRootSlotProps | - | |
| slots | Partial | - | See Slots API below for more details. |
| Slot name | Class name | Default component | Description |
|---|---|---|---|
| messageList | |||
| messageListContent | |||
| messageListOverlay | |||
| messageListScrollbar | |||
| messageListScrollbarThumb | |||
| messageListScroller |
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.