Skip to contentSkip to content

ChatCodeBlock API

API reference docs for the React ChatCodeBlock component. Learn about the props, CSS, and other APIs of this exported module.

Demos

Import

import { ChatCodeBlock } from '@mui/x-chat/ChatCodeBlock';
// or
import { ChatCodeBlock } from '@mui/x-chat';

Learn about the difference by reading this guide on minimizing bundle size.

Props

Props of the native component are also available.

NameTypeDescription
children*string

The code string to display.

classesobject

Override or extend the styles applied to the component.

See CSS classes API below for more details.

highlighterfunc

Optional syntax highlighter. Receives the code string and a language identifier, and should return highlighted React nodes. When omitted, raw code is displayed.

Signature:function(code: string, language: string) => React.ReactNode
  • code The code string to highlight.
  • language The language identifier for syntax highlighting.
languagestring

Language identifier shown in the header (e.g. "typescript", "python").

sxArray<func
| object
| bool>
| func
| object

The system prop that allows defining system overrides as well as additional CSS styles.

See the `sx` page for more details.

The component cannot hold a ref.

CSS classes

These class names are useful for styling with CSS. They are applied to the component's slots when specific states are triggered.

Class nameRule nameDescription
.MuiChatCodeBlock-codecodeStyles applied to the code element.
.MuiChatCodeBlock-copyButtoncopyButtonStyles applied to the copy button element.
.MuiChatCodeBlock-headerheaderStyles applied to the header element.
.MuiChatCodeBlock-languageLabellanguageLabelStyles applied to the language label element.
.MuiChatCodeBlock-prepreStyles applied to the pre element.
.MuiChatCodeBlock-rootrootStyles applied to the root element.

You can override the style of the component using one of these customization options:

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.