import shikiRehype from '@shikijs/rehype' import { MDXRemote } from 'next-mdx-remote-client/rsc' import rehypeSlug from 'rehype-slug-custom-id' import remarkGfm from 'remark-gfm' import { ApiHeading } from '@/components/content/api-heading' import { StarterKitBento } from '@/components/content/bento' import { Blockquote } from '@/components/content/blockquote' import { Callout } from '@/components/content/callout' import { CheckItem } from '@/components/content/check-item' import { Code, CodeLinks, FocusLines } from '@/components/content/code' import { Embed, StarterKitEmbed } from '@/components/content/embed' import { Feature } from '@/components/content/feature' import { Image } from '@/components/content/image' import { MaskedArticleImage } from '@/components/content/masked-article-image' import { ParametersTable } from '@/components/content/parameters-table' import { ParametersTableDescription } from '@/components/content/parameters-table-description' import { ParametersTableName } from '@/components/content/parameters-table-name' import { ParametersTableRow } from '@/components/content/parameters-table-row' import { Pre } from '@/components/content/pre' import { SideBySideImages } from '@/components/content/side-by-side-images' import { ApiMemberTitle } from '@/components/content/title-with-source-link' import { Video } from '@/components/content/video' import { YouTube } from '@/components/content/youtube' import { cn } from '@/utils/cn' import { TldrawLink } from '../common/tldraw-link' export function Content({ mdx, type, className, }: { mdx: string type?: string className?: string }) { return (
` — both resolve `/…` static URLs via `assetUrl` in `image.tsx`. Image, img: Image, MaskedArticleImage, ApiHeading, StarterKitBento, Feature, Callout, FocusLines, CodeLinks, ParametersTable, ParametersTableDescription, ParametersTableName, ParametersTableRow, ApiMemberTitle, CheckItem, blockquote: Blockquote, Video, YouTube, TwoImages: SideBySideImages, }} options={{ mdxOptions: { remarkPlugins: [remarkGfm], rehypePlugins: [ [ rehypeSlug, { enableCustomId: true, maintainCase: true, removeAccents: true, }, ], [ shikiRehype as any, { themes: { dark: 'github-dark-default', light: 'github-light-default', }, defaultColor: false, // Without `langs` the plugin loads all ~300 bundled grammars (seconds and // >100MB per build worker / dev server). Anything not listed is still // loaded on demand thanks to `lazy`. langs: ['ts', 'tsx', 'bash', 'css', 'toml', 'html'], lazy: true, }, ], ], format: 'mdx', }, parseFrontmatter: true, }} />
) }