specra 0.1.0 → 0.1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/app/docs-page.js +164 -148
- package/dist/app/docs-page.js.map +1 -1
- package/dist/app/docs-page.mjs +3 -3
- package/dist/app/layout.js +84 -5
- package/dist/app/layout.js.map +1 -1
- package/dist/app/layout.mjs +3 -3
- package/dist/{chunk-NXRIAL7T.mjs → chunk-4QHOMV5A.mjs} +8 -5
- package/dist/chunk-4QHOMV5A.mjs.map +1 -0
- package/dist/{chunk-IZFGEAD6.mjs → chunk-5AYOV2KD.mjs} +5 -4
- package/dist/chunk-5AYOV2KD.mjs.map +1 -0
- package/dist/chunk-I3ELVEK2.mjs +56 -0
- package/dist/chunk-I3ELVEK2.mjs.map +1 -0
- package/dist/{chunk-INL2EC72.mjs → chunk-RLMSINLY.mjs} +2 -5
- package/dist/{chunk-INL2EC72.mjs.map → chunk-RLMSINLY.mjs.map} +1 -1
- package/dist/components/index.d.mts +39 -3
- package/dist/components/index.d.ts +39 -3
- package/dist/components/index.js +100 -62
- package/dist/components/index.js.map +1 -1
- package/dist/components/index.mjs +83 -48
- package/dist/components/index.mjs.map +1 -1
- package/dist/index.d.mts +39 -3
- package/dist/index.d.ts +39 -3
- package/dist/index.js +129 -94
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +10 -4
- package/dist/index.mjs.map +1 -1
- package/dist/lib/index.d.mts +7 -0
- package/dist/lib/index.d.ts +7 -0
- package/dist/lib/index.js +1 -4
- package/dist/lib/index.js.map +1 -1
- package/dist/lib/index.mjs +1 -1
- package/package.json +2 -2
- package/src/app/layout.tsx +6 -3
- package/src/components/docs/header.tsx +7 -3
- package/src/components/docs/index.ts +3 -0
- package/src/lib/config.context.tsx +65 -0
- package/src/lib/config.server.ts +9 -5
- package/src/lib/index.ts +1 -0
- package/dist/chunk-IZFGEAD6.mjs.map +0 -1
- package/dist/chunk-MZJHJ6BV.mjs +0 -21
- package/dist/chunk-MZJHJ6BV.mjs.map +0 -1
- package/dist/chunk-NXRIAL7T.mjs.map +0 -1
package/dist/index.d.mts
CHANGED
|
@@ -173,9 +173,9 @@ interface HeaderProps {
|
|
|
173
173
|
currentVersion: string;
|
|
174
174
|
versions: string[];
|
|
175
175
|
onMenuClick?: () => void;
|
|
176
|
-
config
|
|
176
|
+
config?: SpecraConfig;
|
|
177
177
|
}
|
|
178
|
-
declare function Header({ currentVersion, versions, onMenuClick, config }: HeaderProps): react_jsx_runtime.JSX.Element;
|
|
178
|
+
declare function Header({ currentVersion, versions, onMenuClick, config: configProp }: HeaderProps): react_jsx_runtime.JSX.Element;
|
|
179
179
|
|
|
180
180
|
declare function HotReloadIndicator(): react_jsx_runtime.JSX.Element | null;
|
|
181
181
|
|
|
@@ -508,6 +508,42 @@ interface VersionSwitcherProps {
|
|
|
508
508
|
}
|
|
509
509
|
declare function VersionSwitcher({ currentVersion, versions }: VersionSwitcherProps): react_jsx_runtime.JSX.Element;
|
|
510
510
|
|
|
511
|
+
interface ConfigProviderProps {
|
|
512
|
+
config: SpecraConfig;
|
|
513
|
+
children: React$1.ReactNode;
|
|
514
|
+
}
|
|
515
|
+
/**
|
|
516
|
+
* Provider component that makes Specra config available to all client components
|
|
517
|
+
* Usage: Wrap your app with this provider in your root layout
|
|
518
|
+
*/
|
|
519
|
+
declare function ConfigProvider({ config, children }: ConfigProviderProps): react_jsx_runtime.JSX.Element;
|
|
520
|
+
/**
|
|
521
|
+
* Hook to access Specra configuration in any client component
|
|
522
|
+
* @returns The current Specra configuration
|
|
523
|
+
* @example
|
|
524
|
+
* ```tsx
|
|
525
|
+
* function MyComponent() {
|
|
526
|
+
* const config = useConfig()
|
|
527
|
+
* return <div>{config.site.title}</div>
|
|
528
|
+
* }
|
|
529
|
+
* ```
|
|
530
|
+
*/
|
|
531
|
+
declare function useConfig(): SpecraConfig;
|
|
532
|
+
/**
|
|
533
|
+
* Hook to access a specific configuration value by path
|
|
534
|
+
* @param path - Dot-separated path to the config value (e.g., "site.title")
|
|
535
|
+
* @returns The configuration value at the specified path
|
|
536
|
+
* @example
|
|
537
|
+
* ```tsx
|
|
538
|
+
* function MyComponent() {
|
|
539
|
+
* const title = useConfigValue<string>("site.title")
|
|
540
|
+
* const showSidebar = useConfigValue<boolean>("navigation.showSidebar")
|
|
541
|
+
* return <div>{title}</div>
|
|
542
|
+
* }
|
|
543
|
+
* ```
|
|
544
|
+
*/
|
|
545
|
+
declare function useConfigValue<T = any>(path: string): T | undefined;
|
|
546
|
+
|
|
511
547
|
declare const badgeVariants: (props?: ({
|
|
512
548
|
variant?: "default" | "destructive" | "outline" | "secondary" | null | undefined;
|
|
513
549
|
} & class_variance_authority_types.ClassProp) | undefined) => string;
|
|
@@ -542,4 +578,4 @@ declare function Textarea({ className, ...props }: React$1.ComponentProps<"texta
|
|
|
542
578
|
|
|
543
579
|
declare function VersionNotFound(): react_jsx_runtime.JSX.Element;
|
|
544
580
|
|
|
545
|
-
export { Accordion, AccordionItem, ApiEndpoint, ApiParams, ApiPlayground, ApiReference, ApiResponse as ApiResponseDisplay, Badge, Breadcrumb, Button, COMPONENT_TEXT_PROPS, Callout, Card, CardGrid, CategoryIndex, CodeBlock, Column, Columns, DevModeBadge, Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogOverlay, DialogPortal, DialogTitle, DialogTrigger, Doc, Badge$1 as DocBadge, DocLayout, DocLayoutWrapper, DocLoading, DocMeta, DocMetadata, DocNavigation, DocTags, DraftBadge, Footer, Frame, Header, HotReloadIndicator, Icon, Image, ImageCard, ImageCardGrid, Input, Math, MdxHotReload, Mermaid, MobileDocLayout, NotFoundContent, ParserType, SearchHighlight, SearchModal, Sidebar, SidebarSkeleton, SiteBanner, SpecraConfig, Step, Steps, Tab, TabGroup, TabGroups, TabProvider, TableOfContents, Tabs, Textarea, ThemeToggle, Tooltip, VersionNotFound, VersionSwitcher, Video, badgeVariants, buttonVariants, extractComponentPropsText, extractSearchText, mdxComponents, useTabContext };
|
|
581
|
+
export { Accordion, AccordionItem, ApiEndpoint, ApiParams, ApiPlayground, ApiReference, ApiResponse as ApiResponseDisplay, Badge, Breadcrumb, Button, COMPONENT_TEXT_PROPS, Callout, Card, CardGrid, CategoryIndex, CodeBlock, Column, Columns, ConfigProvider, DevModeBadge, Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogOverlay, DialogPortal, DialogTitle, DialogTrigger, Doc, Badge$1 as DocBadge, DocLayout, DocLayoutWrapper, DocLoading, DocMeta, DocMetadata, DocNavigation, DocTags, DraftBadge, Footer, Frame, Header, HotReloadIndicator, Icon, Image, ImageCard, ImageCardGrid, Input, Math, MdxHotReload, Mermaid, MobileDocLayout, NotFoundContent, ParserType, SearchHighlight, SearchModal, Sidebar, SidebarSkeleton, SiteBanner, SpecraConfig, Step, Steps, Tab, TabGroup, TabGroups, TabProvider, TableOfContents, Tabs, Textarea, ThemeToggle, Tooltip, VersionNotFound, VersionSwitcher, Video, badgeVariants, buttonVariants, extractComponentPropsText, extractSearchText, mdxComponents, useConfig, useConfigValue, useTabContext };
|
package/dist/index.d.ts
CHANGED
|
@@ -173,9 +173,9 @@ interface HeaderProps {
|
|
|
173
173
|
currentVersion: string;
|
|
174
174
|
versions: string[];
|
|
175
175
|
onMenuClick?: () => void;
|
|
176
|
-
config
|
|
176
|
+
config?: SpecraConfig;
|
|
177
177
|
}
|
|
178
|
-
declare function Header({ currentVersion, versions, onMenuClick, config }: HeaderProps): react_jsx_runtime.JSX.Element;
|
|
178
|
+
declare function Header({ currentVersion, versions, onMenuClick, config: configProp }: HeaderProps): react_jsx_runtime.JSX.Element;
|
|
179
179
|
|
|
180
180
|
declare function HotReloadIndicator(): react_jsx_runtime.JSX.Element | null;
|
|
181
181
|
|
|
@@ -508,6 +508,42 @@ interface VersionSwitcherProps {
|
|
|
508
508
|
}
|
|
509
509
|
declare function VersionSwitcher({ currentVersion, versions }: VersionSwitcherProps): react_jsx_runtime.JSX.Element;
|
|
510
510
|
|
|
511
|
+
interface ConfigProviderProps {
|
|
512
|
+
config: SpecraConfig;
|
|
513
|
+
children: React$1.ReactNode;
|
|
514
|
+
}
|
|
515
|
+
/**
|
|
516
|
+
* Provider component that makes Specra config available to all client components
|
|
517
|
+
* Usage: Wrap your app with this provider in your root layout
|
|
518
|
+
*/
|
|
519
|
+
declare function ConfigProvider({ config, children }: ConfigProviderProps): react_jsx_runtime.JSX.Element;
|
|
520
|
+
/**
|
|
521
|
+
* Hook to access Specra configuration in any client component
|
|
522
|
+
* @returns The current Specra configuration
|
|
523
|
+
* @example
|
|
524
|
+
* ```tsx
|
|
525
|
+
* function MyComponent() {
|
|
526
|
+
* const config = useConfig()
|
|
527
|
+
* return <div>{config.site.title}</div>
|
|
528
|
+
* }
|
|
529
|
+
* ```
|
|
530
|
+
*/
|
|
531
|
+
declare function useConfig(): SpecraConfig;
|
|
532
|
+
/**
|
|
533
|
+
* Hook to access a specific configuration value by path
|
|
534
|
+
* @param path - Dot-separated path to the config value (e.g., "site.title")
|
|
535
|
+
* @returns The configuration value at the specified path
|
|
536
|
+
* @example
|
|
537
|
+
* ```tsx
|
|
538
|
+
* function MyComponent() {
|
|
539
|
+
* const title = useConfigValue<string>("site.title")
|
|
540
|
+
* const showSidebar = useConfigValue<boolean>("navigation.showSidebar")
|
|
541
|
+
* return <div>{title}</div>
|
|
542
|
+
* }
|
|
543
|
+
* ```
|
|
544
|
+
*/
|
|
545
|
+
declare function useConfigValue<T = any>(path: string): T | undefined;
|
|
546
|
+
|
|
511
547
|
declare const badgeVariants: (props?: ({
|
|
512
548
|
variant?: "default" | "destructive" | "outline" | "secondary" | null | undefined;
|
|
513
549
|
} & class_variance_authority_types.ClassProp) | undefined) => string;
|
|
@@ -542,4 +578,4 @@ declare function Textarea({ className, ...props }: React$1.ComponentProps<"texta
|
|
|
542
578
|
|
|
543
579
|
declare function VersionNotFound(): react_jsx_runtime.JSX.Element;
|
|
544
580
|
|
|
545
|
-
export { Accordion, AccordionItem, ApiEndpoint, ApiParams, ApiPlayground, ApiReference, ApiResponse as ApiResponseDisplay, Badge, Breadcrumb, Button, COMPONENT_TEXT_PROPS, Callout, Card, CardGrid, CategoryIndex, CodeBlock, Column, Columns, DevModeBadge, Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogOverlay, DialogPortal, DialogTitle, DialogTrigger, Doc, Badge$1 as DocBadge, DocLayout, DocLayoutWrapper, DocLoading, DocMeta, DocMetadata, DocNavigation, DocTags, DraftBadge, Footer, Frame, Header, HotReloadIndicator, Icon, Image, ImageCard, ImageCardGrid, Input, Math, MdxHotReload, Mermaid, MobileDocLayout, NotFoundContent, ParserType, SearchHighlight, SearchModal, Sidebar, SidebarSkeleton, SiteBanner, SpecraConfig, Step, Steps, Tab, TabGroup, TabGroups, TabProvider, TableOfContents, Tabs, Textarea, ThemeToggle, Tooltip, VersionNotFound, VersionSwitcher, Video, badgeVariants, buttonVariants, extractComponentPropsText, extractSearchText, mdxComponents, useTabContext };
|
|
581
|
+
export { Accordion, AccordionItem, ApiEndpoint, ApiParams, ApiPlayground, ApiReference, ApiResponse as ApiResponseDisplay, Badge, Breadcrumb, Button, COMPONENT_TEXT_PROPS, Callout, Card, CardGrid, CategoryIndex, CodeBlock, Column, Columns, ConfigProvider, DevModeBadge, Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogOverlay, DialogPortal, DialogTitle, DialogTrigger, Doc, Badge$1 as DocBadge, DocLayout, DocLayoutWrapper, DocLoading, DocMeta, DocMetadata, DocNavigation, DocTags, DraftBadge, Footer, Frame, Header, HotReloadIndicator, Icon, Image, ImageCard, ImageCardGrid, Input, Math, MdxHotReload, Mermaid, MobileDocLayout, NotFoundContent, ParserType, SearchHighlight, SearchModal, Sidebar, SidebarSkeleton, SiteBanner, SpecraConfig, Step, Steps, Tab, TabGroup, TabGroups, TabProvider, TableOfContents, Tabs, Textarea, ThemeToggle, Tooltip, VersionNotFound, VersionSwitcher, Video, badgeVariants, buttonVariants, extractComponentPropsText, extractSearchText, mdxComponents, useConfig, useConfigValue, useTabContext };
|
package/dist/index.js
CHANGED
|
@@ -49,6 +49,7 @@ __export(src_exports, {
|
|
|
49
49
|
CodeBlock: () => CodeBlock,
|
|
50
50
|
Column: () => Column,
|
|
51
51
|
Columns: () => Columns,
|
|
52
|
+
ConfigProvider: () => ConfigProvider,
|
|
52
53
|
DevModeBadge: () => DevModeBadge,
|
|
53
54
|
Dialog: () => Dialog,
|
|
54
55
|
DialogClose: () => DialogClose,
|
|
@@ -149,6 +150,8 @@ __export(src_exports, {
|
|
|
149
150
|
replaceEnvVariables: () => replaceEnvVariables,
|
|
150
151
|
sortSidebarGroups: () => sortSidebarGroups,
|
|
151
152
|
sortSidebarItems: () => sortSidebarItems,
|
|
153
|
+
useConfig: () => useConfig,
|
|
154
|
+
useConfigValue: () => useConfigValue,
|
|
152
155
|
useTabContext: () => useTabContext,
|
|
153
156
|
validateConfig: () => validateConfig
|
|
154
157
|
});
|
|
@@ -830,15 +833,12 @@ function validateConfig(config) {
|
|
|
830
833
|
}
|
|
831
834
|
var configInstance = null;
|
|
832
835
|
function initConfig(userConfig) {
|
|
833
|
-
if (configInstance) {
|
|
834
|
-
throw new Error("Specra config has already been initialized");
|
|
835
|
-
}
|
|
836
836
|
configInstance = loadConfig(userConfig);
|
|
837
837
|
return configInstance;
|
|
838
838
|
}
|
|
839
839
|
function getConfig() {
|
|
840
840
|
if (!configInstance) {
|
|
841
|
-
|
|
841
|
+
configInstance = loadConfig({});
|
|
842
842
|
}
|
|
843
843
|
return configInstance;
|
|
844
844
|
}
|
|
@@ -4003,8 +4003,40 @@ function SearchModal({ isOpen, onClose, config }) {
|
|
|
4003
4003
|
|
|
4004
4004
|
// src/components/docs/header.tsx
|
|
4005
4005
|
var import_react21 = require("react");
|
|
4006
|
+
|
|
4007
|
+
// src/lib/config.context.tsx
|
|
4008
|
+
var React2 = __toESM(require("react"));
|
|
4006
4009
|
var import_jsx_runtime47 = require("react/jsx-runtime");
|
|
4007
|
-
|
|
4010
|
+
var ConfigContext = React2.createContext(defaultConfig);
|
|
4011
|
+
function ConfigProvider({ config, children }) {
|
|
4012
|
+
return /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(ConfigContext.Provider, { value: config, children });
|
|
4013
|
+
}
|
|
4014
|
+
function useConfig() {
|
|
4015
|
+
const config = React2.useContext(ConfigContext);
|
|
4016
|
+
if (!config) {
|
|
4017
|
+
throw new Error("useConfig must be used within a ConfigProvider");
|
|
4018
|
+
}
|
|
4019
|
+
return config;
|
|
4020
|
+
}
|
|
4021
|
+
function useConfigValue(path3) {
|
|
4022
|
+
const config = useConfig();
|
|
4023
|
+
const keys = path3.split(".");
|
|
4024
|
+
let value = config;
|
|
4025
|
+
for (const key of keys) {
|
|
4026
|
+
if (value && typeof value === "object" && key in value) {
|
|
4027
|
+
value = value[key];
|
|
4028
|
+
} else {
|
|
4029
|
+
return void 0;
|
|
4030
|
+
}
|
|
4031
|
+
}
|
|
4032
|
+
return value;
|
|
4033
|
+
}
|
|
4034
|
+
|
|
4035
|
+
// src/components/docs/header.tsx
|
|
4036
|
+
var import_jsx_runtime48 = require("react/jsx-runtime");
|
|
4037
|
+
function Header({ currentVersion, versions, onMenuClick, config: configProp }) {
|
|
4038
|
+
const contextConfig = useConfig();
|
|
4039
|
+
const config = configProp || contextConfig;
|
|
4008
4040
|
const [searchOpen, setSearchOpen] = (0, import_react21.useState)(false);
|
|
4009
4041
|
(0, import_react21.useEffect)(() => {
|
|
4010
4042
|
const handleKeyDown = (e) => {
|
|
@@ -4016,38 +4048,38 @@ function Header({ currentVersion, versions, onMenuClick, config }) {
|
|
|
4016
4048
|
window.addEventListener("keydown", handleKeyDown);
|
|
4017
4049
|
return () => window.removeEventListener("keydown", handleKeyDown);
|
|
4018
4050
|
}, []);
|
|
4019
|
-
return /* @__PURE__ */ (0,
|
|
4020
|
-
/* @__PURE__ */ (0,
|
|
4021
|
-
/* @__PURE__ */ (0,
|
|
4022
|
-
/* @__PURE__ */ (0,
|
|
4051
|
+
return /* @__PURE__ */ (0, import_jsx_runtime48.jsxs)("header", { className: "sticky top-0 z-50 w-full border-b border-border bg-background/95 backdrop-blur supports-backdrop-filter:bg-background/60", children: [
|
|
4052
|
+
/* @__PURE__ */ (0, import_jsx_runtime48.jsxs)("div", { className: "container flex h-16 items-center justify-between px-6 mx-auto", children: [
|
|
4053
|
+
/* @__PURE__ */ (0, import_jsx_runtime48.jsxs)("div", { className: "flex items-center gap-2", children: [
|
|
4054
|
+
/* @__PURE__ */ (0, import_jsx_runtime48.jsx)(
|
|
4023
4055
|
"button",
|
|
4024
4056
|
{
|
|
4025
4057
|
onClick: onMenuClick,
|
|
4026
4058
|
className: "lg:hidden hover:bg-muted p-2 rounded-md transition-colors",
|
|
4027
4059
|
"aria-label": "Toggle menu",
|
|
4028
|
-
children: /* @__PURE__ */ (0,
|
|
4060
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(import_lucide_react23.Menu, { className: "h-5 w-5" })
|
|
4029
4061
|
}
|
|
4030
4062
|
),
|
|
4031
|
-
/* @__PURE__ */ (0,
|
|
4032
|
-
config.site.logo ? /* @__PURE__ */ (0,
|
|
4033
|
-
/* @__PURE__ */ (0,
|
|
4063
|
+
/* @__PURE__ */ (0, import_jsx_runtime48.jsxs)(import_link8.default, { href: "/", className: "flex items-center gap-2", children: [
|
|
4064
|
+
config.site.logo ? /* @__PURE__ */ (0, import_jsx_runtime48.jsx)("img", { src: getAssetPath(config.site.logo), alt: config.site.title, className: "h-8 w-auto" }) : /* @__PURE__ */ (0, import_jsx_runtime48.jsx)("div", { className: "h-8 w-8 rounded-xl bg-primary flex items-center justify-center", children: /* @__PURE__ */ (0, import_jsx_runtime48.jsx)("span", { className: "text-primary-foreground font-bold text-lg", children: config.site.title.charAt(0).toUpperCase() }) }),
|
|
4065
|
+
/* @__PURE__ */ (0, import_jsx_runtime48.jsx)("span", { className: "font-semibold text-lg text-foreground", children: config.site.title ?? "Specra" })
|
|
4034
4066
|
] })
|
|
4035
4067
|
] }),
|
|
4036
|
-
/* @__PURE__ */ (0,
|
|
4037
|
-
config.search?.enabled && /* @__PURE__ */ (0,
|
|
4068
|
+
/* @__PURE__ */ (0, import_jsx_runtime48.jsxs)("div", { className: "flex items-center gap-2", children: [
|
|
4069
|
+
config.search?.enabled && /* @__PURE__ */ (0, import_jsx_runtime48.jsxs)(
|
|
4038
4070
|
"button",
|
|
4039
4071
|
{
|
|
4040
4072
|
onClick: () => setSearchOpen(true),
|
|
4041
4073
|
className: "flex items-center gap-2 px-3 py-2 text-sm text-muted-foreground hover:text-foreground bg-muted rounded-md transition-colors",
|
|
4042
4074
|
children: [
|
|
4043
|
-
/* @__PURE__ */ (0,
|
|
4044
|
-
/* @__PURE__ */ (0,
|
|
4045
|
-
/* @__PURE__ */ (0,
|
|
4075
|
+
/* @__PURE__ */ (0, import_jsx_runtime48.jsx)(import_lucide_react23.Search, { className: "h-4 w-4" }),
|
|
4076
|
+
/* @__PURE__ */ (0, import_jsx_runtime48.jsx)("span", { className: "hidden sm:inline", children: config.search.placeholder || "Search" }),
|
|
4077
|
+
/* @__PURE__ */ (0, import_jsx_runtime48.jsx)("kbd", { className: "hidden sm:inline-flex h-5 select-none items-center gap-1 rounded border border-border bg-background px-1.5 font-mono text-xs font-medium", children: "\u2318K" })
|
|
4046
4078
|
]
|
|
4047
4079
|
}
|
|
4048
4080
|
),
|
|
4049
|
-
config.features?.versioning && /* @__PURE__ */ (0,
|
|
4050
|
-
config.social?.github && /* @__PURE__ */ (0,
|
|
4081
|
+
config.features?.versioning && /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(VersionSwitcher, { currentVersion, versions }),
|
|
4082
|
+
config.social?.github && /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(
|
|
4051
4083
|
"a",
|
|
4052
4084
|
{
|
|
4053
4085
|
href: config.social.github,
|
|
@@ -4055,10 +4087,10 @@ function Header({ currentVersion, versions, onMenuClick, config }) {
|
|
|
4055
4087
|
rel: "noopener noreferrer",
|
|
4056
4088
|
className: "hidden md:flex items-center justify-center h-9 w-9 rounded-md hover:bg-muted transition-colors",
|
|
4057
4089
|
"aria-label": "GitHub",
|
|
4058
|
-
children: /* @__PURE__ */ (0,
|
|
4090
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(import_lucide_react23.Github, { className: "h-4 w-4" })
|
|
4059
4091
|
}
|
|
4060
4092
|
),
|
|
4061
|
-
config.social?.twitter && /* @__PURE__ */ (0,
|
|
4093
|
+
config.social?.twitter && /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(
|
|
4062
4094
|
"a",
|
|
4063
4095
|
{
|
|
4064
4096
|
href: config.social.twitter,
|
|
@@ -4066,10 +4098,10 @@ function Header({ currentVersion, versions, onMenuClick, config }) {
|
|
|
4066
4098
|
rel: "noopener noreferrer",
|
|
4067
4099
|
className: "hidden md:flex items-center justify-center h-9 w-9 rounded-md hover:bg-muted transition-colors",
|
|
4068
4100
|
"aria-label": "Twitter",
|
|
4069
|
-
children: /* @__PURE__ */ (0,
|
|
4101
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(import_lucide_react23.Twitter, { className: "h-4 w-4" })
|
|
4070
4102
|
}
|
|
4071
4103
|
),
|
|
4072
|
-
config.social?.discord && /* @__PURE__ */ (0,
|
|
4104
|
+
config.social?.discord && /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(
|
|
4073
4105
|
"a",
|
|
4074
4106
|
{
|
|
4075
4107
|
href: config.social.discord,
|
|
@@ -4077,13 +4109,13 @@ function Header({ currentVersion, versions, onMenuClick, config }) {
|
|
|
4077
4109
|
rel: "noopener noreferrer",
|
|
4078
4110
|
className: "hidden md:flex items-center justify-center h-9 w-9 rounded-md hover:bg-muted transition-colors",
|
|
4079
4111
|
"aria-label": "Discord",
|
|
4080
|
-
children: /* @__PURE__ */ (0,
|
|
4112
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(import_lucide_react23.MessageCircle, { className: "h-4 w-4" })
|
|
4081
4113
|
}
|
|
4082
4114
|
),
|
|
4083
|
-
/* @__PURE__ */ (0,
|
|
4115
|
+
/* @__PURE__ */ (0, import_jsx_runtime48.jsx)(ThemeToggle, {})
|
|
4084
4116
|
] })
|
|
4085
4117
|
] }),
|
|
4086
|
-
/* @__PURE__ */ (0,
|
|
4118
|
+
/* @__PURE__ */ (0, import_jsx_runtime48.jsx)(SearchModal, { isOpen: searchOpen, onClose: () => setSearchOpen(false), config })
|
|
4087
4119
|
] });
|
|
4088
4120
|
}
|
|
4089
4121
|
|
|
@@ -4091,7 +4123,7 @@ function Header({ currentVersion, versions, onMenuClick, config }) {
|
|
|
4091
4123
|
var import_react22 = require("react");
|
|
4092
4124
|
var import_navigation5 = require("next/navigation");
|
|
4093
4125
|
var import_lucide_react24 = require("lucide-react");
|
|
4094
|
-
var
|
|
4126
|
+
var import_jsx_runtime49 = require("react/jsx-runtime");
|
|
4095
4127
|
function HotReloadIndicator() {
|
|
4096
4128
|
const [isReloading, setIsReloading] = (0, import_react22.useState)(false);
|
|
4097
4129
|
const [lastReload, setLastReload] = (0, import_react22.useState)(null);
|
|
@@ -4126,14 +4158,14 @@ function HotReloadIndicator() {
|
|
|
4126
4158
|
};
|
|
4127
4159
|
}, []);
|
|
4128
4160
|
if (process.env.NODE_ENV !== "development") return null;
|
|
4129
|
-
return /* @__PURE__ */ (0,
|
|
4130
|
-
isReloading && /* @__PURE__ */ (0,
|
|
4131
|
-
/* @__PURE__ */ (0,
|
|
4132
|
-
/* @__PURE__ */ (0,
|
|
4161
|
+
return /* @__PURE__ */ (0, import_jsx_runtime49.jsxs)(import_jsx_runtime49.Fragment, { children: [
|
|
4162
|
+
isReloading && /* @__PURE__ */ (0, import_jsx_runtime49.jsxs)("div", { className: "fixed bottom-4 right-4 z-50 flex items-center gap-2 px-4 py-2 bg-primary text-primary-foreground rounded-xl shadow-lg animate-in slide-in-from-bottom-2", children: [
|
|
4163
|
+
/* @__PURE__ */ (0, import_jsx_runtime49.jsx)(import_lucide_react24.RefreshCw, { className: "h-4 w-4 animate-spin" }),
|
|
4164
|
+
/* @__PURE__ */ (0, import_jsx_runtime49.jsx)("span", { className: "text-sm font-medium", children: "Reloading..." })
|
|
4133
4165
|
] }),
|
|
4134
|
-
lastReload && !isReloading && /* @__PURE__ */ (0,
|
|
4135
|
-
/* @__PURE__ */ (0,
|
|
4136
|
-
/* @__PURE__ */ (0,
|
|
4166
|
+
lastReload && !isReloading && /* @__PURE__ */ (0, import_jsx_runtime49.jsxs)("div", { className: "fixed bottom-4 right-4 z-50 flex items-center gap-2 px-4 py-2 bg-green-500 text-white rounded-xl shadow-lg animate-in slide-in-from-bottom-2", children: [
|
|
4167
|
+
/* @__PURE__ */ (0, import_jsx_runtime49.jsx)(import_lucide_react24.RefreshCw, { className: "h-4 w-4" }),
|
|
4168
|
+
/* @__PURE__ */ (0, import_jsx_runtime49.jsxs)("span", { className: "text-sm font-medium", children: [
|
|
4137
4169
|
"Updated at ",
|
|
4138
4170
|
lastReload.toLocaleTimeString()
|
|
4139
4171
|
] })
|
|
@@ -4172,63 +4204,63 @@ function MdxHotReload() {
|
|
|
4172
4204
|
// src/components/docs/not-found-content.tsx
|
|
4173
4205
|
var import_link9 = __toESM(require("next/link"));
|
|
4174
4206
|
var import_lucide_react25 = require("lucide-react");
|
|
4175
|
-
var
|
|
4207
|
+
var import_jsx_runtime50 = require("react/jsx-runtime");
|
|
4176
4208
|
function NotFoundContent({ version }) {
|
|
4177
|
-
return /* @__PURE__ */ (0,
|
|
4178
|
-
/* @__PURE__ */ (0,
|
|
4179
|
-
/* @__PURE__ */ (0,
|
|
4180
|
-
/* @__PURE__ */ (0,
|
|
4181
|
-
/* @__PURE__ */ (0,
|
|
4209
|
+
return /* @__PURE__ */ (0, import_jsx_runtime50.jsx)("div", { className: "flex min-h-[calc(100vh-12rem)] items-center justify-center px-4 py-12", children: /* @__PURE__ */ (0, import_jsx_runtime50.jsxs)("div", { className: "w-full max-w-2xl text-center", children: [
|
|
4210
|
+
/* @__PURE__ */ (0, import_jsx_runtime50.jsx)("div", { className: "mb-6 flex justify-center", children: /* @__PURE__ */ (0, import_jsx_runtime50.jsx)("div", { className: "rounded-full bg-yellow-500/10 p-4", children: /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(import_lucide_react25.AlertTriangle, { className: "h-16 w-16 text-yellow-500" }) }) }),
|
|
4211
|
+
/* @__PURE__ */ (0, import_jsx_runtime50.jsx)("h1", { className: "mb-3 text-5xl font-bold tracking-tight", children: "404" }),
|
|
4212
|
+
/* @__PURE__ */ (0, import_jsx_runtime50.jsx)("h2", { className: "mb-4 text-2xl font-semibold", children: "Page Not Found" }),
|
|
4213
|
+
/* @__PURE__ */ (0, import_jsx_runtime50.jsxs)("p", { className: "mb-8 text-base text-muted-foreground", children: [
|
|
4182
4214
|
"The documentation page you're looking for doesn't exist or may have been moved.",
|
|
4183
|
-
/* @__PURE__ */ (0,
|
|
4215
|
+
/* @__PURE__ */ (0, import_jsx_runtime50.jsx)("br", {}),
|
|
4184
4216
|
"Try using the sidebar to find what you're looking for, or return to the documentation home."
|
|
4185
4217
|
] }),
|
|
4186
|
-
/* @__PURE__ */ (0,
|
|
4187
|
-
/* @__PURE__ */ (0,
|
|
4218
|
+
/* @__PURE__ */ (0, import_jsx_runtime50.jsxs)("div", { className: "flex flex-col items-center justify-center gap-3 sm:flex-row", children: [
|
|
4219
|
+
/* @__PURE__ */ (0, import_jsx_runtime50.jsxs)(
|
|
4188
4220
|
import_link9.default,
|
|
4189
4221
|
{
|
|
4190
4222
|
href: `/docs/${version}`,
|
|
4191
4223
|
className: "inline-flex items-center gap-2 rounded-lg bg-primary px-6 py-3 text-sm font-medium text-primary-foreground hover:bg-primary/90 transition-colors",
|
|
4192
4224
|
children: [
|
|
4193
|
-
/* @__PURE__ */ (0,
|
|
4225
|
+
/* @__PURE__ */ (0, import_jsx_runtime50.jsx)(import_lucide_react25.ArrowLeft, { className: "h-4 w-4" }),
|
|
4194
4226
|
"Back to Documentation"
|
|
4195
4227
|
]
|
|
4196
4228
|
}
|
|
4197
4229
|
),
|
|
4198
|
-
/* @__PURE__ */ (0,
|
|
4230
|
+
/* @__PURE__ */ (0, import_jsx_runtime50.jsxs)(
|
|
4199
4231
|
import_link9.default,
|
|
4200
4232
|
{
|
|
4201
4233
|
href: "/",
|
|
4202
4234
|
className: "inline-flex items-center gap-2 rounded-lg border border-border bg-background px-6 py-3 text-sm font-medium hover:bg-muted transition-colors",
|
|
4203
4235
|
children: [
|
|
4204
|
-
/* @__PURE__ */ (0,
|
|
4236
|
+
/* @__PURE__ */ (0, import_jsx_runtime50.jsx)(import_lucide_react25.Home, { className: "h-4 w-4" }),
|
|
4205
4237
|
"Go to Homepage"
|
|
4206
4238
|
]
|
|
4207
4239
|
}
|
|
4208
4240
|
)
|
|
4209
4241
|
] }),
|
|
4210
|
-
/* @__PURE__ */ (0,
|
|
4211
|
-
/* @__PURE__ */ (0,
|
|
4242
|
+
/* @__PURE__ */ (0, import_jsx_runtime50.jsx)("div", { className: "mt-12 rounded-lg border border-border bg-muted/30 p-6", children: /* @__PURE__ */ (0, import_jsx_runtime50.jsxs)("p", { className: "text-sm text-muted-foreground", children: [
|
|
4243
|
+
/* @__PURE__ */ (0, import_jsx_runtime50.jsx)("strong", { className: "font-medium text-foreground", children: "Tip:" }),
|
|
4212
4244
|
" Use the sidebar navigation on the left to browse all available documentation pages."
|
|
4213
4245
|
] }) })
|
|
4214
4246
|
] }) });
|
|
4215
4247
|
}
|
|
4216
4248
|
|
|
4217
4249
|
// src/components/docs/sidebar-skeleton.tsx
|
|
4218
|
-
var
|
|
4250
|
+
var import_jsx_runtime51 = require("react/jsx-runtime");
|
|
4219
4251
|
function SidebarSkeleton() {
|
|
4220
|
-
return /* @__PURE__ */ (0,
|
|
4221
|
-
/* @__PURE__ */ (0,
|
|
4222
|
-
/* @__PURE__ */ (0,
|
|
4252
|
+
return /* @__PURE__ */ (0, import_jsx_runtime51.jsx)("aside", { className: "w-64 pr-8 py-6", children: /* @__PURE__ */ (0, import_jsx_runtime51.jsxs)("div", { className: "space-y-6", children: [
|
|
4253
|
+
/* @__PURE__ */ (0, import_jsx_runtime51.jsx)("div", { className: "px-2", children: /* @__PURE__ */ (0, import_jsx_runtime51.jsx)("div", { className: "h-5 w-32 bg-muted/50 rounded animate-pulse" }) }),
|
|
4254
|
+
/* @__PURE__ */ (0, import_jsx_runtime51.jsx)("div", { className: "space-y-1", children: [...Array(8)].map((_, i) => /* @__PURE__ */ (0, import_jsx_runtime51.jsx)("div", { className: "px-3 py-2", children: /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(
|
|
4223
4255
|
"div",
|
|
4224
4256
|
{
|
|
4225
4257
|
className: "h-4 bg-muted/50 rounded animate-pulse",
|
|
4226
4258
|
style: { width: `${60 + Math.random() * 40}%` }
|
|
4227
4259
|
}
|
|
4228
4260
|
) }, i)) }),
|
|
4229
|
-
/* @__PURE__ */ (0,
|
|
4230
|
-
/* @__PURE__ */ (0,
|
|
4231
|
-
[...Array(5)].map((_, i) => /* @__PURE__ */ (0,
|
|
4261
|
+
/* @__PURE__ */ (0, import_jsx_runtime51.jsxs)("div", { className: "space-y-1", children: [
|
|
4262
|
+
/* @__PURE__ */ (0, import_jsx_runtime51.jsx)("div", { className: "px-2 mb-2", children: /* @__PURE__ */ (0, import_jsx_runtime51.jsx)("div", { className: "h-4 w-24 bg-muted/50 rounded animate-pulse" }) }),
|
|
4263
|
+
[...Array(5)].map((_, i) => /* @__PURE__ */ (0, import_jsx_runtime51.jsx)("div", { className: "px-3 py-2", children: /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(
|
|
4232
4264
|
"div",
|
|
4233
4265
|
{
|
|
4234
4266
|
className: "h-4 bg-muted/50 rounded animate-pulse",
|
|
@@ -4241,7 +4273,7 @@ function SidebarSkeleton() {
|
|
|
4241
4273
|
|
|
4242
4274
|
// src/components/docs/table-of-contents.tsx
|
|
4243
4275
|
var import_react24 = require("react");
|
|
4244
|
-
var
|
|
4276
|
+
var import_jsx_runtime52 = require("react/jsx-runtime");
|
|
4245
4277
|
function TableOfContents({ items, config }) {
|
|
4246
4278
|
const [activeId, setActiveId] = (0, import_react24.useState)("");
|
|
4247
4279
|
if (!config.navigation?.showTableOfContents) {
|
|
@@ -4286,9 +4318,9 @@ function TableOfContents({ items, config }) {
|
|
|
4286
4318
|
};
|
|
4287
4319
|
const stickyTop = hasTabGroups ? "top-[7.5rem]" : "top-24";
|
|
4288
4320
|
const maxHeight = hasTabGroups ? "max-h-[calc(100vh-10rem)]" : "max-h-[calc(100vh-7rem)]";
|
|
4289
|
-
return /* @__PURE__ */ (0,
|
|
4290
|
-
/* @__PURE__ */ (0,
|
|
4291
|
-
/* @__PURE__ */ (0,
|
|
4321
|
+
return /* @__PURE__ */ (0, import_jsx_runtime52.jsx)("aside", { className: `w-64 hidden xl:block shrink-0 sticky ${stickyTop} self-start`, children: filteredItems.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime52.jsxs)("div", { className: `${maxHeight} overflow-y-auto bg-muted/30 dark:bg-muted/10 rounded-2xl p-4 border border-border/50`, children: [
|
|
4322
|
+
/* @__PURE__ */ (0, import_jsx_runtime52.jsx)("h3", { className: "text-xs font-semibold text-muted-foreground uppercase tracking-wider mb-4 px-2", children: "On this page" }),
|
|
4323
|
+
/* @__PURE__ */ (0, import_jsx_runtime52.jsx)("nav", { className: "space-y-1", children: filteredItems.map((item) => /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(
|
|
4292
4324
|
"a",
|
|
4293
4325
|
{
|
|
4294
4326
|
href: `#${item.id}`,
|
|
@@ -4304,13 +4336,13 @@ function TableOfContents({ items, config }) {
|
|
|
4304
4336
|
// src/components/global/version-not-found.tsx
|
|
4305
4337
|
var import_lucide_react26 = require("lucide-react");
|
|
4306
4338
|
var import_link10 = __toESM(require("next/link"));
|
|
4307
|
-
var
|
|
4339
|
+
var import_jsx_runtime53 = require("react/jsx-runtime");
|
|
4308
4340
|
function VersionNotFound() {
|
|
4309
|
-
return /* @__PURE__ */ (0,
|
|
4310
|
-
/* @__PURE__ */ (0,
|
|
4311
|
-
/* @__PURE__ */ (0,
|
|
4312
|
-
/* @__PURE__ */ (0,
|
|
4313
|
-
/* @__PURE__ */ (0,
|
|
4341
|
+
return /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(import_jsx_runtime53.Fragment, { children: /* @__PURE__ */ (0, import_jsx_runtime53.jsx)("div", { className: "flex min-h-screen items-center justify-center px-4", children: /* @__PURE__ */ (0, import_jsx_runtime53.jsxs)("div", { className: "text-center", children: [
|
|
4342
|
+
/* @__PURE__ */ (0, import_jsx_runtime53.jsx)("div", { className: "mb-4 flex justify-center", children: /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(import_lucide_react26.AlertTriangle, { className: "h-16 w-16 text-yellow-500" }) }),
|
|
4343
|
+
/* @__PURE__ */ (0, import_jsx_runtime53.jsx)("h1", { className: "mb-2 text-4xl font-bold", children: "Version Not Found" }),
|
|
4344
|
+
/* @__PURE__ */ (0, import_jsx_runtime53.jsx)("p", { className: "mb-6 text-muted-foreground", children: "The documentation version you're looking for doesn't exist." }),
|
|
4345
|
+
/* @__PURE__ */ (0, import_jsx_runtime53.jsx)(
|
|
4314
4346
|
import_link10.default,
|
|
4315
4347
|
{
|
|
4316
4348
|
href: "/docs/v1.0.0",
|
|
@@ -4323,7 +4355,7 @@ function VersionNotFound() {
|
|
|
4323
4355
|
|
|
4324
4356
|
// src/app/layout.tsx
|
|
4325
4357
|
var import_google = require("next/font/google");
|
|
4326
|
-
var
|
|
4358
|
+
var import_jsx_runtime54 = require("react/jsx-runtime");
|
|
4327
4359
|
var geist = (0, import_google.Geist)({ subsets: ["latin"] });
|
|
4328
4360
|
var geistMono = (0, import_google.Geist_Mono)({ subsets: ["latin"] });
|
|
4329
4361
|
function generateMetadata() {
|
|
@@ -4365,12 +4397,12 @@ function RootLayout({
|
|
|
4365
4397
|
}) {
|
|
4366
4398
|
const config = getConfig();
|
|
4367
4399
|
const defaultTab = config.navigation?.tabGroups?.[0]?.id || "";
|
|
4368
|
-
return /* @__PURE__ */ (0,
|
|
4400
|
+
return /* @__PURE__ */ (0, import_jsx_runtime54.jsx)("html", { lang: config.site.language || "en", suppressHydrationWarning: true, children: /* @__PURE__ */ (0, import_jsx_runtime54.jsx)("body", { className: `${geist.className} font-sans antialiased`, children: /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(ConfigProvider, { config, children: /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(TabProvider, { defaultTab, children }) }) }) });
|
|
4369
4401
|
}
|
|
4370
4402
|
|
|
4371
4403
|
// src/app/docs-page.tsx
|
|
4372
4404
|
var import_react25 = require("react");
|
|
4373
|
-
var
|
|
4405
|
+
var import_jsx_runtime55 = require("react/jsx-runtime");
|
|
4374
4406
|
async function generateMetadata2({ params }) {
|
|
4375
4407
|
const { version, slug: slugArray } = await params;
|
|
4376
4408
|
const slug = slugArray.join("/");
|
|
@@ -4430,14 +4462,14 @@ async function DocPage({ params }) {
|
|
|
4430
4462
|
if (!doc && isCategory) {
|
|
4431
4463
|
const categoryDoc = allDocs.find((d) => d.slug.startsWith(slug + "/"));
|
|
4432
4464
|
const categoryTabGroup = categoryDoc?.meta?.tab_group || categoryDoc?.categoryTabGroup;
|
|
4433
|
-
return /* @__PURE__ */ (0,
|
|
4434
|
-
/* @__PURE__ */ (0,
|
|
4465
|
+
return /* @__PURE__ */ (0, import_jsx_runtime55.jsxs)(import_jsx_runtime55.Fragment, { children: [
|
|
4466
|
+
/* @__PURE__ */ (0, import_jsx_runtime55.jsx)(
|
|
4435
4467
|
DocLayoutWrapper,
|
|
4436
4468
|
{
|
|
4437
|
-
header: /* @__PURE__ */ (0,
|
|
4469
|
+
header: /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(Header, { currentVersion: version, versions, config }),
|
|
4438
4470
|
docs: allDocs,
|
|
4439
4471
|
version,
|
|
4440
|
-
content: /* @__PURE__ */ (0,
|
|
4472
|
+
content: /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(
|
|
4441
4473
|
CategoryIndex,
|
|
4442
4474
|
{
|
|
4443
4475
|
categoryPath: slug,
|
|
@@ -4448,47 +4480,47 @@ async function DocPage({ params }) {
|
|
|
4448
4480
|
config
|
|
4449
4481
|
}
|
|
4450
4482
|
),
|
|
4451
|
-
toc: /* @__PURE__ */ (0,
|
|
4483
|
+
toc: /* @__PURE__ */ (0, import_jsx_runtime55.jsx)("div", {}),
|
|
4452
4484
|
config,
|
|
4453
4485
|
currentPageTabGroup: categoryTabGroup
|
|
4454
4486
|
}
|
|
4455
4487
|
),
|
|
4456
|
-
/* @__PURE__ */ (0,
|
|
4457
|
-
/* @__PURE__ */ (0,
|
|
4458
|
-
/* @__PURE__ */ (0,
|
|
4488
|
+
/* @__PURE__ */ (0, import_jsx_runtime55.jsx)(MdxHotReload, {}),
|
|
4489
|
+
/* @__PURE__ */ (0, import_jsx_runtime55.jsx)(HotReloadIndicator, {}),
|
|
4490
|
+
/* @__PURE__ */ (0, import_jsx_runtime55.jsx)(DevModeBadge, {})
|
|
4459
4491
|
] });
|
|
4460
4492
|
}
|
|
4461
4493
|
if (!doc) {
|
|
4462
|
-
return /* @__PURE__ */ (0,
|
|
4463
|
-
/* @__PURE__ */ (0,
|
|
4494
|
+
return /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(import_jsx_runtime55.Fragment, { children: /* @__PURE__ */ (0, import_jsx_runtime55.jsxs)(import_react25.Suspense, { fallback: /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(DocLoading, {}), children: [
|
|
4495
|
+
/* @__PURE__ */ (0, import_jsx_runtime55.jsx)(
|
|
4464
4496
|
DocLayoutWrapper,
|
|
4465
4497
|
{
|
|
4466
|
-
header: /* @__PURE__ */ (0,
|
|
4498
|
+
header: /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(Header, { currentVersion: version, versions, config }),
|
|
4467
4499
|
docs: allDocs,
|
|
4468
4500
|
version,
|
|
4469
|
-
content: /* @__PURE__ */ (0,
|
|
4470
|
-
toc: /* @__PURE__ */ (0,
|
|
4501
|
+
content: /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(NotFoundContent, { version }),
|
|
4502
|
+
toc: /* @__PURE__ */ (0, import_jsx_runtime55.jsx)("div", {}),
|
|
4471
4503
|
config,
|
|
4472
4504
|
currentPageTabGroup: void 0
|
|
4473
4505
|
}
|
|
4474
4506
|
),
|
|
4475
|
-
/* @__PURE__ */ (0,
|
|
4476
|
-
/* @__PURE__ */ (0,
|
|
4477
|
-
/* @__PURE__ */ (0,
|
|
4507
|
+
/* @__PURE__ */ (0, import_jsx_runtime55.jsx)(MdxHotReload, {}),
|
|
4508
|
+
/* @__PURE__ */ (0, import_jsx_runtime55.jsx)(HotReloadIndicator, {}),
|
|
4509
|
+
/* @__PURE__ */ (0, import_jsx_runtime55.jsx)(DevModeBadge, {})
|
|
4478
4510
|
] }) });
|
|
4479
4511
|
}
|
|
4480
4512
|
const toc = extractTableOfContents(doc.content);
|
|
4481
4513
|
const { previous, next } = getAdjacentDocs(slug, allDocs);
|
|
4482
4514
|
const showCategoryIndex = isCategory && doc;
|
|
4483
4515
|
const currentPageTabGroup = doc.meta?.tab_group || doc.categoryTabGroup;
|
|
4484
|
-
return /* @__PURE__ */ (0,
|
|
4485
|
-
/* @__PURE__ */ (0,
|
|
4516
|
+
return /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(import_jsx_runtime55.Fragment, { children: /* @__PURE__ */ (0, import_jsx_runtime55.jsxs)(import_react25.Suspense, { fallback: /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(DocLoading, {}), children: [
|
|
4517
|
+
/* @__PURE__ */ (0, import_jsx_runtime55.jsx)(
|
|
4486
4518
|
DocLayoutWrapper,
|
|
4487
4519
|
{
|
|
4488
|
-
header: /* @__PURE__ */ (0,
|
|
4520
|
+
header: /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(Header, { currentVersion: version, versions, config }),
|
|
4489
4521
|
docs: allDocs,
|
|
4490
4522
|
version,
|
|
4491
|
-
content: showCategoryIndex ? /* @__PURE__ */ (0,
|
|
4523
|
+
content: showCategoryIndex ? /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(
|
|
4492
4524
|
CategoryIndex,
|
|
4493
4525
|
{
|
|
4494
4526
|
categoryPath: slug,
|
|
@@ -4499,7 +4531,7 @@ async function DocPage({ params }) {
|
|
|
4499
4531
|
content: doc.content,
|
|
4500
4532
|
config
|
|
4501
4533
|
}
|
|
4502
|
-
) : /* @__PURE__ */ (0,
|
|
4534
|
+
) : /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(
|
|
4503
4535
|
DocLayout,
|
|
4504
4536
|
{
|
|
4505
4537
|
meta: doc.meta,
|
|
@@ -4511,14 +4543,14 @@ async function DocPage({ params }) {
|
|
|
4511
4543
|
config
|
|
4512
4544
|
}
|
|
4513
4545
|
),
|
|
4514
|
-
toc: showCategoryIndex ? /* @__PURE__ */ (0,
|
|
4546
|
+
toc: showCategoryIndex ? /* @__PURE__ */ (0, import_jsx_runtime55.jsx)("div", {}) : /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(TableOfContents, { items: toc, config }),
|
|
4515
4547
|
config,
|
|
4516
4548
|
currentPageTabGroup
|
|
4517
4549
|
}
|
|
4518
4550
|
),
|
|
4519
|
-
/* @__PURE__ */ (0,
|
|
4520
|
-
/* @__PURE__ */ (0,
|
|
4521
|
-
/* @__PURE__ */ (0,
|
|
4551
|
+
/* @__PURE__ */ (0, import_jsx_runtime55.jsx)(MdxHotReload, {}),
|
|
4552
|
+
/* @__PURE__ */ (0, import_jsx_runtime55.jsx)(HotReloadIndicator, {}),
|
|
4553
|
+
/* @__PURE__ */ (0, import_jsx_runtime55.jsx)(DevModeBadge, {})
|
|
4522
4554
|
] }) });
|
|
4523
4555
|
}
|
|
4524
4556
|
// Annotate the CommonJS export names for ESM import in node:
|
|
@@ -4542,6 +4574,7 @@ async function DocPage({ params }) {
|
|
|
4542
4574
|
CodeBlock,
|
|
4543
4575
|
Column,
|
|
4544
4576
|
Columns,
|
|
4577
|
+
ConfigProvider,
|
|
4545
4578
|
DevModeBadge,
|
|
4546
4579
|
Dialog,
|
|
4547
4580
|
DialogClose,
|
|
@@ -4642,6 +4675,8 @@ async function DocPage({ params }) {
|
|
|
4642
4675
|
replaceEnvVariables,
|
|
4643
4676
|
sortSidebarGroups,
|
|
4644
4677
|
sortSidebarItems,
|
|
4678
|
+
useConfig,
|
|
4679
|
+
useConfigValue,
|
|
4645
4680
|
useTabContext,
|
|
4646
4681
|
validateConfig
|
|
4647
4682
|
});
|