-
Notifications
You must be signed in to change notification settings - Fork 513
Expand file tree
/
Copy pathmdx-components.tsx
More file actions
111 lines (103 loc) · 3.78 KB
/
mdx-components.tsx
File metadata and controls
111 lines (103 loc) · 3.78 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
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) => <ImageZoom {...(props as any)} />,
} 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'>) => <EmbeddedLink {...props} isEmbedded={true} />,
} as MDXComponents;
}