mui-mdx-components v0.5.0
About
This module creates an MDX components object for use with MDXjs and Material UI.
See the example running here https://dev.joesturge.com/mui-mdx-components.
Usage
Intended to be used with react:17+
@mui/material:5
and @mdx-js/mdx:2
.
This module exports a single method components(options)
which is used to create an MDX components object to be passed to an MDXProvider
see: https://mdxjs.com/docs/using-mdx/#mdx-provider
Options
You can optionally pass an options object to the components function:
- overrides - MDXComponents defined here will overwrite the default component
- propOverrides - Used to override the props which are being passed to the default component
- Highlighter - If you wish to use
react-syntax-highlighter
you can pass an implementation for it here and it will be used - highlighterStyle - You can supply the Highlighter with a style here and it will override the highlighter default, this can also be a function which takes the mui
theme
and returns areact-syntax-highlighter
style.
Example
import { MDXProvider } from "@mdx-js/react";
import components from "mui-mdx-components";
import { PrismLight as Highlighter } from "react-syntax-highlighter";
import {
oneDark,
oneLight,
} from "react-syntax-highlighter/dist/esm/styles/prism";
const options = {
overrides: {
h1: CustomElement,
other: (props) => <span>{prop.children}</span>,
},
propOverrides: {
em: {
color: "secondary",
},
},
Highlighter,
highlighterStyle: (theme) =>
theme.palette.mode === "light" ? oneLight : oneDark,
};
export default (props) => (
<MDXProvider components={components(options)}>{props.children}</MDXProvider>
);
Supported Components
š¹ h1 \ š¹ h2 \ š¹ h3 \ š¹ h4 \ š¹ h5 \ š¹ h6 \ š¹ p \ š¹ strong \ š¹ em \ š¹ ul \ š¹ ol \ š¹ li \ š¹ a \ š¹ hr \ š¹ wrapper \ š¹ code \ š¹ pre \ š¹ blockquote \ ā del \ ā input \ ā section \ ā sup \ ā table \ ā tbody \ ā td \ ā th \ ā thead \ ā tr
10 months ago
10 months ago
10 months ago
10 months ago
10 months ago
10 months ago
11 months ago
11 months ago
11 months ago
11 months ago
11 months ago
11 months ago
11 months ago
11 months ago