Hello! I am styled using your active Material UI theme. Try sending a message.
Chat - Custom theme
Restyle the entire chat surface by wrapping `ChatBox` in a `ThemeProvider` with custom palette and shape values.
ChatBox inherits its visual design from the active Material UI theme.
This demo shows how a single createTheme() call changes bubble colors, border radius, and typography across the entire surface.
ThemeProviderwith a custompalette.primary(teal) applied to user message bubbles- Custom
shape.borderRadiusreflected in bubble and container rounding - Custom
typography.fontFamilypropagated to all text elements - No extra CSS or style overrides needed—the theme drives everything.
The demo below shows a single createTheme() call retheming bubble colors, border radius, and typography across the entire surface:
Press Enter to start editing
Mapping theme tokens to chat elements
| Theme token | Chat element |
|---|---|
palette.primary.main |
User message bubble background |
palette.primary.contrastText |
User message bubble text |
palette.grey[100] / grey[800] |
Assistant bubble background (light/dark) |
palette.text.primary |
Assistant bubble text |
palette.divider |
Borders, separators |
shape.borderRadius |
Bubble corner rounding |
typography.body2 |
Message text |
typography.caption |
Timestamps, metadata |
Scoping the theme to the chat surface
- Wrapping with
ThemeProviderscopes the theme to that subtree. Other parts of the page keep the parent theme. - Use
CssBaselineinside theThemeProviderif you need baseline styles applied to the chat container. - Import
@mui/x-chat/themeAugmentationto add TypeScript types forMuiChatBoxand related component overrides oncreateTheme().
See also
- See Slot overrides for details on replacing individual subcomponents.
- See Customization for details on the full set of style override keys.