mirror of
https://github.com/hanzoai/gui.git
synced 2026-10-25 02:31:41 +00:00
The platform is what they were, so the menus name it once and the column under it lists what the platform actually offers. Co-authored-by: Hanzo Dev <[email protected]>
230 lines
6.7 KiB
TypeScript
230 lines
6.7 KiB
TypeScript
import { packages, route } from './packages'
|
|
|
|
export const docsRoutes = [
|
|
// top area - always visible, no accordion
|
|
{
|
|
section: 'core',
|
|
pages: [
|
|
{ title: 'Introduction', route: '/docs/intro/introduction' },
|
|
{ title: 'Installation', route: '/docs/intro/installation' },
|
|
{ title: 'Design system', route: '/docs/intro/design-system' },
|
|
{ title: 'CLI', route: '/docs/guides/cli' },
|
|
{
|
|
title: 'Releases',
|
|
route: 'https://github.com/hanzoai/gui/releases',
|
|
},
|
|
],
|
|
},
|
|
|
|
// Configuration section
|
|
{
|
|
section: 'core',
|
|
title: 'Configuration',
|
|
pages: [
|
|
{ title: 'Configuration', route: '/docs/core/configuration' },
|
|
{ title: 'Config v5', route: '/docs/core/config-v5' },
|
|
{ title: 'Tokens', route: '/docs/core/tokens' },
|
|
{ title: 'Themes', route: '/docs/intro/themes' },
|
|
],
|
|
},
|
|
|
|
// Styling section
|
|
{
|
|
section: 'core',
|
|
title: 'Styling',
|
|
pages: [
|
|
{ title: 'Styling', route: '/docs/intro/styles' },
|
|
{ title: 'styled()', route: '/docs/core/styled' },
|
|
{ title: 'Variants', route: '/docs/core/variants' },
|
|
{ title: 'createStyledContext', route: '/docs/core/create-styled-context' },
|
|
],
|
|
},
|
|
|
|
// Components section
|
|
{
|
|
section: 'core',
|
|
title: 'Components',
|
|
pages: [
|
|
{ title: 'Props', route: '/docs/intro/props' },
|
|
{ title: 'View & Text', route: '/docs/core/view-and-text' },
|
|
{ title: 'Theme', route: '/docs/core/theme' },
|
|
{ title: 'FontLanguage', route: '/docs/core/font-language' },
|
|
],
|
|
},
|
|
|
|
// Hooks section
|
|
{
|
|
section: 'core',
|
|
title: 'Hooks',
|
|
pages: [
|
|
{ title: 'useMedia', route: '/docs/core/use-media' },
|
|
{ title: 'useTheme', route: '/docs/core/use-theme' },
|
|
],
|
|
},
|
|
|
|
// Animations section
|
|
{
|
|
title: 'Animations',
|
|
section: 'core',
|
|
pages: [
|
|
{ title: 'Overview', route: '/docs/core/animations' },
|
|
{ title: 'AnimatePresence', route: '/docs/core/animate-presence' },
|
|
{ title: 'Animation Drivers', route: '/docs/core/animation-drivers' },
|
|
],
|
|
},
|
|
|
|
// Compiler section
|
|
{
|
|
section: 'core',
|
|
title: 'Compiler',
|
|
pages: [
|
|
{ title: 'Installation', route: '/docs/intro/compiler-install' },
|
|
{ title: 'Benchmarks', route: '/docs/intro/benchmarks' },
|
|
{ title: 'Background', route: '/docs/intro/why-a-compiler' },
|
|
],
|
|
},
|
|
|
|
// Bundlers section
|
|
{
|
|
title: 'Bundlers',
|
|
section: 'core',
|
|
pages: [
|
|
{ title: 'Next.js', route: '/docs/guides/next-js' },
|
|
{ title: 'Expo', route: '/docs/guides/expo' },
|
|
{ title: 'Vite', route: '/docs/guides/vite' },
|
|
{ title: 'One', route: '/docs/guides/one' },
|
|
{ title: 'Metro', route: '/docs/guides/metro' },
|
|
],
|
|
},
|
|
|
|
// Guides section
|
|
{
|
|
title: 'Guides',
|
|
section: 'core',
|
|
pages: [
|
|
{ title: 'Upgrading from v1 to v2', route: '/docs/guides/how-to-upgrade' },
|
|
{ title: 'Custom UI Package', route: '/docs/guides/design-systems' },
|
|
{ title: 'Creating Custom Themes', route: '/docs/guides/theme-builder' },
|
|
{
|
|
title: 'How to Build a Button',
|
|
route: '/docs/guides/how-to-build-a-button',
|
|
},
|
|
{ title: 'Developing', route: '/docs/guides/developing' },
|
|
{ title: 'create-gui', route: '/docs/guides/create-gui-app' },
|
|
{ title: 'Server Rendering', route: '/docs/core/server-rendering' },
|
|
{ title: 'Extras', route: '/docs/core/exports' },
|
|
],
|
|
},
|
|
|
|
// API reference — one page per package, read from what each one ships
|
|
{
|
|
section: 'core',
|
|
title: 'API reference',
|
|
pages: [
|
|
{ title: 'How it is made', route: '/docs/intro/api-reference' },
|
|
{ title: 'Packages', route: '/api' },
|
|
...packages.map((name) => ({ title: name, route: route(name) })),
|
|
],
|
|
},
|
|
|
|
// UI:
|
|
|
|
{
|
|
section: 'ui',
|
|
// title: 'hanzogui',
|
|
pages: [
|
|
{ title: 'Install', route: '/ui/intro' },
|
|
{ title: 'Stacks', route: '/ui/stacks' },
|
|
{ title: 'Grid', route: '/ui/grid' },
|
|
{ title: 'Headings', route: '/ui/headings' },
|
|
{ title: 'Text', route: '/ui/text' },
|
|
{ title: 'Native', route: '/ui/native' },
|
|
{ title: 'Z-Index', route: '/ui/z-index' },
|
|
],
|
|
},
|
|
|
|
{
|
|
section: 'ui',
|
|
label: 'Forms',
|
|
pages: [
|
|
{ title: 'Button', route: '/ui/button' },
|
|
{ title: 'Checkbox', route: '/ui/checkbox' },
|
|
{ title: 'Form', route: '/ui/form' },
|
|
{ title: 'Input & TextArea', route: '/ui/inputs' },
|
|
{ title: 'Label', route: '/ui/label' },
|
|
{ title: 'Progress', route: '/ui/progress' },
|
|
{ title: 'RadioGroup', route: '/ui/radio-group' },
|
|
{ title: 'Select', route: '/ui/select' },
|
|
{ title: 'Slider', route: '/ui/slider' },
|
|
{ title: 'Switch', route: '/ui/switch' },
|
|
{ title: 'ToggleGroup', route: '/ui/toggle-group' },
|
|
],
|
|
},
|
|
|
|
{
|
|
section: 'ui',
|
|
label: 'Menus',
|
|
pages: [
|
|
{ title: 'Menu', route: '/ui/menu' },
|
|
{ title: 'ContextMenu', route: '/ui/context-menu' },
|
|
],
|
|
},
|
|
|
|
{
|
|
section: 'ui',
|
|
label: 'Panels',
|
|
pages: [
|
|
{ title: 'Accordion', route: '/ui/accordion' },
|
|
{ title: 'AlertDialog', route: '/ui/alert-dialog' },
|
|
{ title: 'Dialog', route: '/ui/dialog' },
|
|
{ title: 'Popover', route: '/ui/popover' },
|
|
{ title: 'Sheet', route: '/ui/sheet' },
|
|
{ title: 'Tabs', route: '/ui/tabs' },
|
|
{ title: 'Tooltip', route: '/ui/tooltip' },
|
|
{ title: 'Toast', route: '/ui/toast' },
|
|
{ title: 'Toast v2', route: '/ui/toast-2' },
|
|
],
|
|
},
|
|
|
|
{
|
|
section: 'ui',
|
|
label: 'Content',
|
|
pages: [
|
|
{ title: 'Avatar', route: '/ui/avatar' },
|
|
{ title: 'Image', route: '/ui/image' },
|
|
{ title: 'ListItem', route: '/ui/list-item' },
|
|
],
|
|
},
|
|
|
|
{
|
|
section: 'ui',
|
|
label: 'Functional',
|
|
pages: [
|
|
{ title: 'Anchor', route: '/ui/anchor' },
|
|
{ title: 'FocusScope', route: '/ui/focus-scope' },
|
|
{ title: 'Group', route: '/ui/group' },
|
|
{ title: 'HTML Elements', route: '/ui/html-elements' },
|
|
{ title: 'Portal', route: '/ui/portal' },
|
|
{ title: 'RovingFocusGroup', route: '/ui/roving-focus' },
|
|
{ title: 'ScrollView', route: '/ui/scroll-view' },
|
|
{ title: 'Unspaced', route: '/ui/unspaced' },
|
|
{ title: 'VisuallyHidden', route: '/ui/visually-hidden' },
|
|
],
|
|
},
|
|
|
|
{
|
|
label: 'Visual',
|
|
section: 'ui',
|
|
pages: [
|
|
{ title: 'LinearGradient', route: '/ui/linear-gradient' },
|
|
{ title: 'Lucide Icons', route: '/ui/lucide-icons' },
|
|
{ title: 'Separator', route: '/ui/separator' },
|
|
{ title: 'Spinner', route: '/ui/spinner' },
|
|
{ title: 'Square & Circle', route: '/ui/shapes' },
|
|
],
|
|
},
|
|
]
|
|
|
|
export const allDocsRoutes = docsRoutes.flatMap((x) => x.pages || [])
|
|
export const allNotPending = allDocsRoutes.filter((x) => !x['pending'])
|