lookingglass/hyperglass/ui/components/markdown/markdown.tsx
2021-01-03 23:51:09 -07:00

35 lines
708 B
TypeScript

import ReactMarkdown from 'react-markdown';
import {
Br,
List,
Link,
Table,
Heading,
Divider,
ListItem,
CodeBlock,
TableData,
Paragraph,
InlineCode,
} from './elements';
import type { ReactMarkdownProps } from 'react-markdown';
import type { TMarkdown } from './types';
const renderers = {
break: Br,
link: Link,
list: List,
table: Table,
code: CodeBlock,
heading: Heading,
listItem: ListItem,
paragraph: Paragraph,
tableCell: TableData,
inlineCode: InlineCode,
thematicBreak: Divider,
} as ReactMarkdownProps['renderers'];
export const Markdown: React.FC<TMarkdown> = (props: TMarkdown) => (
<ReactMarkdown renderers={renderers} source={props.content} />
);