import { Flex, Heading, Link, ListItem, OrderedList, Stack, Table, Text, UnorderedList } from '@chakra-ui/react'; import NextLink from 'next/link'; import { Code, Note } from '.'; import { textStyles } from '../../../theme/foundations'; import { parseHeadingId } from '../../../utils/parseHeadingId'; const { header1, header2, header3, header4 } = textStyles; const MDComponents = { // paragraphs p: ({ children }: any) => { return ( {children} ); }, // links a: ({ children, href }: any) => { const isExternal = href.startsWith('http') && !href.includes('geth.ethereum.org'); return isExternal ? ( {children} ) : ( {children} ); }, // headings h1: ({ children }: any) => { const { children: parsedChildren, headingId } = parseHeadingId(children); return ( {parsedChildren} ); }, h2: ({ children }: any) => { const { children: parsedChildren, headingId } = parseHeadingId(children); return ( {parsedChildren} ); }, h3: ({ children }: any) => { const { children: parsedChildren, headingId } = parseHeadingId(children); return ( {parsedChildren} ); }, h4: ({ children }: any) => { const { children: parsedChildren, headingId } = parseHeadingId(children); return ( {parsedChildren} ); }, // tables table: ({ children }: any) => ( {children}
), // pre pre: ({ children }: any) => (
{children}
), // code code: ({ children, ...props }: any) => {children}, // list ul: ({ children }: any) => { return ( {children} ); }, ol: ({ children }: any) => { return ( {children} ); }, li: ({ children }: any) => { return {children}; }, note: ({ children }: any) => { return {children}; } }; export default MDComponents;