import * as CodeBlock from 'fumadocs-ui/components/codeblock';
import { TypeTable } from 'fumadocs-ui/components/type-table';
import defaultMdxComponents from 'fumadocs-ui/mdx';
import type { MDXComponents } from 'mdx/types';
import { ComponentProps } from 'react';
// OpenAPI sources
import { APIPage } from 'fumadocs-openapi/ui';
import { EnhancedAPIPage } from './components/api/enhanced-api-page';
import { WebhooksAPIPage } from './components/api/webhooks-api-page';
import AppleSecretGenerator from './components/apple-secret-generator';
import { Card, CardGroup, Info, QuickLink, QuickLinks } from './components/mdx';
import { AuthCard } from './components/mdx/auth-card';
import { DynamicCodeblock } from './components/mdx/dynamic-code-block';
import { EmbeddedLink } from './components/mdx/embedded-link';
import { PlatformCodeblock } from './components/mdx/platform-codeblock';
import { AsideSection, CollapsibleMethodSection, CollapsibleTypesSection, MethodAside, MethodContent, MethodLayout, MethodSection, MethodTitle } from './components/ui/method-layout';
import { SDKOverview } from './components/sdk/overview';
import { CursorIcon, StackAuthIcon } from './components/icons';
import { Button } from './components/mdx/button';
import { JWTViewer } from './components/mdx/jwt-viewer';
import { Mermaid } from './components/mdx/mermaid';
import { Accordion, AccordionGroup, ClickableTableOfContents, Icon, Markdown, ParamField } from './components/mdx/sdk-components';
import { PropTable } from './components/prop-table';
import { ImageZoom } from 'fumadocs-ui/components/image-zoom';
import { AppCard, AppGrid } from './components/mdx/app-card';
import { SignInDemo, SignInPasswordFirstTab, SignInStackAuth } from './components/stack-auth/sign-in';
import { AccountSettingsStackAuth } from './components/stack-auth/stack-account-settings';
import { TeamSwitcherDemo } from './components/stack-auth/stack-team-switcher';
import { StackUserButton } from './components/stack-auth/stack-user-button';
import { UserButtonDemo } from './components/stack-auth/stack-user-button-demo';
import { Step, Steps } from './components/steps';
import { Tabs, TabsContent, TabsList, TabsTrigger } from './components/ui/tabs';
export function getMDXComponents(components?: MDXComponents): MDXComponents {
return {
...defaultMdxComponents,
...components,
...CodeBlock,
// Components
Card,
CardGroup,
QuickLink,
QuickLinks,
Info,
SignInStackAuth,
SignInPasswordFirstTab,
SignInDemo,
AuthCard,
AccountSettingsStackAuth,
StackUserButton,
UserButtonDemo,
TeamSwitcherDemo,
Steps,
Step,
Tabs,
TabsList,
TabsTrigger,
TabsContent,
APIPage,
EnhancedAPIPage,
WebhooksAPIPage,
TypeTable,
PropTable,
// SDK Documentation Components
Markdown,
ParamField,
Accordion,
AccordionGroup,
Icon,
DynamicCodeblock,
PlatformCodeblock,
Mermaid,
MethodLayout,
MethodContent,
MethodAside,
MethodTitle,
AsideSection,
MethodSection,
ClickableTableOfContents,
CollapsibleMethodSection,
CollapsibleTypesSection,
SDKOverview,
AppleSecretGenerator,
// Logo Icons
StackAuthIcon,
CursorIcon,
// UI Components
Button,
JWTViewer,
// App Components
AppCard,
AppGrid,
// eslint-disable-next-line @typescript-eslint/no-explicit-any
img: (props) => ,
} as MDXComponents;
}
// MDX components for embedded mode - includes link rewriting
export function getEmbeddedMDXComponents(components?: MDXComponents): MDXComponents {
return {
...getMDXComponents(components),
// Override the link component to use embedded URLs
a: (props: ComponentProps<'a'>) => ,
} as MDXComponents;
}