0.5.0 ā€¢ Published 10 months ago

mui-mdx-components v0.5.0

Weekly downloads
-
License
MIT
Repository
github
Last release
10 months 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

10 months ago

0.4.4

10 months ago

0.4.3

10 months ago

0.4.2

10 months ago

0.4.1

10 months ago

0.4.0

10 months ago

0.3.1

11 months ago

0.3.0

11 months ago

0.2.1

11 months ago

0.2.0

11 months ago

0.1.1

11 months ago

0.1.1-alpha.2

11 months ago

0.1.1-alpha.1

11 months ago

0.1.1-alpha.0

11 months ago