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.

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").

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.