/* eslint-disable react/display-name */ import React, { useMemo } from 'react' import { ComponentMap, getMDXComponent } from 'mdx-bundler/client' import Image from './Image' import CustomLink from './Link' import TOCInline from './TOCInline' import Pre from './Pre' import { BlogNewsletterForm } from './NewsletterForm' const Wrapper: React.ComponentType<{ layout: string }> = ({ layout, ...rest }) => { const Layout = require(`../layouts/${layout}`).default return } export const MDXComponents: ComponentMap = { Image, //@ts-ignore TOCInline, a: CustomLink, pre: Pre, wrapper: Wrapper, //@ts-ignore BlogNewsletterForm, } interface Props { layout: string mdxSource: string [key: string]: unknown } export const MDXLayoutRenderer = ({ layout, mdxSource, ...rest }: Props) => { const MDXLayout = useMemo(() => getMDXComponent(mdxSource), [mdxSource]) return }