0.5.0 • Published 2 years ago

mui-mdx-components v0.5.0

Weekly downloads
-
License
MIT
Repository
github
Last release
2 years ago

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.

GithubCI Coverage npm version Contributions

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 a react-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

0.5.0

2 years ago

0.4.4

2 years ago

0.4.3

2 years ago

0.4.2

2 years ago

0.4.1

2 years ago

0.4.0

2 years ago

0.3.1

2 years ago

0.3.0

2 years ago

0.2.1

2 years ago

0.2.0

2 years ago

0.1.1

2 years ago

0.1.1-alpha.2

2 years ago

0.1.1-alpha.1

2 years ago

0.1.1-alpha.0

2 years ago