import type { MDXComponents } from "mdx/types";
import type { ComponentProps } from "react";
import { Accordion, Accordions } from "fumadocs-ui/components/accordion";
import { Callout } from "@/components/docs/fumadocs/callout";
import { Card, Cards } from "@/components/docs/fumadocs/card";
import { Step, Steps } from "@/components/docs/fumadocs/steps";
import { Tab, Tabs } from "@/components/docs/fumadocs/tabs";
import defaultComponents from "fumadocs-ui/mdx";
import {
CodeBlock,
type CodeBlockProps,
Pre,
} from "fumadocs-ui/components/codeblock";
import { InstallCommand } from "@/components/docs/fumadocs/install/install-command";
import { ParametersTable } from "@/components/docs/parameters-table";
import {
PlatformAwareCode,
PlatformOnly,
PlatformTabs,
} from "@/components/docs/platform/mdx";
import { PrimitivesTypeTable } from "@/components/docs/primitives-type-table";
import { SourceLink } from "@/components/docs/source-link";
import { DemoIframe } from "@/components/docs/demo-iframe";
import { Flow } from "@/components/assistant-ui/flow";
import { MermaidDiagram } from "@/components/docs/mermaid-diagram";
function Kbd({ children, ...props }: ComponentProps<"kbd">) {
return (
{children}
);
}
function Code({ children, ...props }: ComponentProps<"code">) {
return (
{children}
);
}
export function getMDXComponents(components: MDXComponents): MDXComponents {
return {
...(defaultComponents as MDXComponents),
pre: (props: CodeBlockProps) => (
{props.children}
),
Tabs,
Tab,
PlatformTabs,
Callout,
Card,
Cards,
Step,
Steps,
Accordion,
Accordions,
Kbd,
PlatformOnly,
InstallCommand,
ParametersTable,
PrimitivesTypeTable,
SourceLink,
DemoIframe,
Flow,
MermaidDiagram,
Code,
blockquote: (props) => {props.children},
...components,
};
}