Files
vercel-labs__json-render/apps/web/lib/docs-navigation.ts
Chris Tate 95b8af3224 devtools
2026-04-17 14:15:14 -05:00

118 lines
4.1 KiB
TypeScript

export type NavItem = {
title: string;
href: string;
external?: boolean;
};
export type NavSection = {
title: string;
items: NavItem[];
};
export const docsNavigation: NavSection[] = [
{
title: "Getting Started",
items: [
{ title: "Introduction", href: "/docs" },
{ title: "Installation", href: "/docs/installation" },
{ title: "Quick Start", href: "/docs/quick-start" },
{ title: "Skills", href: "/docs/skills" },
{ title: "Migration Guide", href: "/docs/migration" },
{ title: "Changelog", href: "/docs/changelog" },
],
},
{
title: "Core",
items: [
{ title: "Specs", href: "/docs/specs" },
{ title: "Schemas", href: "/docs/schemas" },
{ title: "Catalog", href: "/docs/catalog" },
{ title: "Data Binding", href: "/docs/data-binding" },
{ title: "Computed Values", href: "/docs/computed-values" },
{ title: "Visibility", href: "/docs/visibility" },
{ title: "Watchers", href: "/docs/watchers" },
{ title: "Validation", href: "/docs/validation" },
],
},
{
title: "Rendering",
items: [
{ title: "Renderers", href: "/docs/renderers" },
{ title: "Registry", href: "/docs/registry" },
{ title: "Streaming", href: "/docs/streaming" },
{ title: "Generation Modes", href: "/docs/generation-modes" },
],
},
{
title: "Examples",
items: [{ title: "Browse All Examples", href: "/examples" }],
},
{
title: "Guides",
items: [
{ title: "Custom Schema", href: "/docs/custom-schema" },
{ title: "Code Export", href: "/docs/code-export" },
{ title: "Devtools", href: "/docs/devtools" },
],
},
{
title: "Integrations",
items: [
{ title: "AI SDK", href: "/docs/ai-sdk" },
{ title: "A2UI", href: "/docs/a2ui" },
{ title: "Adaptive Cards", href: "/docs/adaptive-cards" },
{ title: "AG-UI", href: "/docs/ag-ui" },
{ title: "OpenAPI", href: "/docs/openapi" },
],
},
{
title: "API Reference",
items: [
{ title: "@json-render/core", href: "/docs/api/core" },
{ title: "@json-render/react", href: "/docs/api/react" },
{ title: "@json-render/next", href: "/docs/api/next" },
{ title: "@json-render/react-pdf", href: "/docs/api/react-pdf" },
{ title: "@json-render/react-email", href: "/docs/api/react-email" },
{ title: "@json-render/shadcn", href: "/docs/api/shadcn" },
{ title: "@json-render/shadcn-svelte", href: "/docs/api/shadcn-svelte" },
{ title: "@json-render/react-native", href: "/docs/api/react-native" },
{ title: "@json-render/image", href: "/docs/api/image" },
{ title: "@json-render/remotion", href: "/docs/api/remotion" },
{ title: "@json-render/ink", href: "/docs/api/ink" },
{ title: "@json-render/vue", href: "/docs/api/vue" },
{ title: "@json-render/svelte", href: "/docs/api/svelte" },
{ title: "@json-render/solid", href: "/docs/api/solid" },
{
title: "@json-render/react-three-fiber",
href: "/docs/api/react-three-fiber",
},
{ title: "@json-render/codegen", href: "/docs/api/codegen" },
{ title: "@json-render/devtools", href: "/docs/api/devtools" },
{
title: "@json-render/devtools-react",
href: "/docs/api/devtools-react",
},
{ title: "@json-render/devtools-vue", href: "/docs/api/devtools-vue" },
{
title: "@json-render/devtools-svelte",
href: "/docs/api/devtools-svelte",
},
{
title: "@json-render/devtools-solid",
href: "/docs/api/devtools-solid",
},
{ title: "@json-render/mcp", href: "/docs/api/mcp" },
{ title: "@json-render/redux", href: "/docs/api/redux" },
{ title: "@json-render/zustand", href: "/docs/api/zustand" },
{ title: "@json-render/jotai", href: "/docs/api/jotai" },
{ title: "@json-render/xstate", href: "/docs/api/xstate" },
{ title: "@json-render/yaml", href: "/docs/api/yaml" },
],
},
];
// Flatten all pages for current page lookup (excludes external links)
export const allDocsPages = docsNavigation.flatMap((section) =>
section.items.filter((item) => !item.external),
);