@nikala-ui/folio 0.13.0
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/LICENSE +20 -0
- package/README.md +221 -0
- package/dist/cli/commands/build.d.ts +5 -0
- package/dist/cli/commands/build.d.ts.map +1 -0
- package/dist/cli/commands/build.js +28 -0
- package/dist/cli/commands/build.js.map +1 -0
- package/dist/cli/commands/dev.d.ts +7 -0
- package/dist/cli/commands/dev.d.ts.map +1 -0
- package/dist/cli/commands/dev.js +33 -0
- package/dist/cli/commands/dev.js.map +1 -0
- package/dist/cli/commands/init.d.ts +2 -0
- package/dist/cli/commands/init.d.ts.map +1 -0
- package/dist/cli/commands/init.js +359 -0
- package/dist/cli/commands/init.js.map +1 -0
- package/dist/cli/commands/preview.d.ts +7 -0
- package/dist/cli/commands/preview.d.ts.map +1 -0
- package/dist/cli/commands/preview.js +25 -0
- package/dist/cli/commands/preview.js.map +1 -0
- package/dist/cli/commands/serve.d.ts +7 -0
- package/dist/cli/commands/serve.d.ts.map +1 -0
- package/dist/cli/commands/serve.js +34 -0
- package/dist/cli/commands/serve.js.map +1 -0
- package/dist/cli/index.d.ts +3 -0
- package/dist/cli/index.d.ts.map +1 -0
- package/dist/cli/index.js +55 -0
- package/dist/cli/index.js.map +1 -0
- package/dist/client/app-types.d.ts +18 -0
- package/dist/client/app-types.d.ts.map +1 -0
- package/dist/client/app-types.js +2 -0
- package/dist/client/app-types.js.map +1 -0
- package/dist/client/app.d.ts +5 -0
- package/dist/client/app.d.ts.map +1 -0
- package/dist/client/app.jsx +51 -0
- package/dist/client/app.jsx.map +1 -0
- package/dist/client/base.css +90 -0
- package/dist/client/components/docs-layout-shell.d.ts +23 -0
- package/dist/client/components/docs-layout-shell.d.ts.map +1 -0
- package/dist/client/components/docs-layout-shell.jsx +15 -0
- package/dist/client/components/docs-layout-shell.jsx.map +1 -0
- package/dist/client/components/docs-page-content.d.ts +9 -0
- package/dist/client/components/docs-page-content.d.ts.map +1 -0
- package/dist/client/components/docs-page-content.jsx +10 -0
- package/dist/client/components/docs-page-content.jsx.map +1 -0
- package/dist/client/entry.d.ts +2 -0
- package/dist/client/entry.d.ts.map +1 -0
- package/dist/client/entry.jsx +32 -0
- package/dist/client/entry.jsx.map +1 -0
- package/dist/client/index.html +23 -0
- package/dist/client/navigation/page-navigation.d.ts +9 -0
- package/dist/client/navigation/page-navigation.d.ts.map +1 -0
- package/dist/client/navigation/page-navigation.js +51 -0
- package/dist/client/navigation/page-navigation.js.map +1 -0
- package/dist/client/page-actions.d.ts +10 -0
- package/dist/client/page-actions.d.ts.map +1 -0
- package/dist/client/page-actions.js +63 -0
- package/dist/client/page-actions.js.map +1 -0
- package/dist/client/public/favicon.ico +0 -0
- package/dist/client/routing/use-docs-router.d.ts +17 -0
- package/dist/client/routing/use-docs-router.d.ts.map +1 -0
- package/dist/client/routing/use-docs-router.js +87 -0
- package/dist/client/routing/use-docs-router.js.map +1 -0
- package/dist/client/ssr-entry.d.ts +3 -0
- package/dist/client/ssr-entry.d.ts.map +1 -0
- package/dist/client/ssr-entry.jsx +13 -0
- package/dist/client/ssr-entry.jsx.map +1 -0
- package/dist/client/style.css +186 -0
- package/dist/client/utils/sidebar.d.ts +2 -0
- package/dist/client/utils/sidebar.d.ts.map +1 -0
- package/dist/client/utils/sidebar.js +2 -0
- package/dist/client/utils/sidebar.js.map +1 -0
- package/dist/components/mdx-components.d.ts +65 -0
- package/dist/components/mdx-components.d.ts.map +1 -0
- package/dist/components/mdx-components.jsx +133 -0
- package/dist/components/mdx-components.jsx.map +1 -0
- package/dist/components/ui/api-table.d.ts +29 -0
- package/dist/components/ui/api-table.d.ts.map +1 -0
- package/dist/components/ui/api-table.jsx +66 -0
- package/dist/components/ui/api-table.jsx.map +1 -0
- package/dist/components/ui/badge.d.ts +17 -0
- package/dist/components/ui/badge.d.ts.map +1 -0
- package/dist/components/ui/badge.jsx +33 -0
- package/dist/components/ui/badge.jsx.map +1 -0
- package/dist/components/ui/breadcrumb.d.ts +51 -0
- package/dist/components/ui/breadcrumb.d.ts.map +1 -0
- package/dist/components/ui/breadcrumb.jsx +62 -0
- package/dist/components/ui/breadcrumb.jsx.map +1 -0
- package/dist/components/ui/button.d.ts +19 -0
- package/dist/components/ui/button.d.ts.map +1 -0
- package/dist/components/ui/button.jsx +54 -0
- package/dist/components/ui/button.jsx.map +1 -0
- package/dist/components/ui/callout.d.ts +21 -0
- package/dist/components/ui/callout.d.ts.map +1 -0
- package/dist/components/ui/callout.jsx +76 -0
- package/dist/components/ui/callout.jsx.map +1 -0
- package/dist/components/ui/card.d.ts +44 -0
- package/dist/components/ui/card.d.ts.map +1 -0
- package/dist/components/ui/card.jsx +45 -0
- package/dist/components/ui/card.jsx.map +1 -0
- package/dist/components/ui/code-block.d.ts +23 -0
- package/dist/components/ui/code-block.d.ts.map +1 -0
- package/dist/components/ui/code-block.jsx +263 -0
- package/dist/components/ui/code-block.jsx.map +1 -0
- package/dist/components/ui/collapsible.d.ts +27 -0
- package/dist/components/ui/collapsible.d.ts.map +1 -0
- package/dist/components/ui/collapsible.jsx +29 -0
- package/dist/components/ui/collapsible.jsx.map +1 -0
- package/dist/components/ui/command.d.ts +57 -0
- package/dist/components/ui/command.d.ts.map +1 -0
- package/dist/components/ui/command.jsx +224 -0
- package/dist/components/ui/command.jsx.map +1 -0
- package/dist/components/ui/component-viewer.d.ts +33 -0
- package/dist/components/ui/component-viewer.d.ts.map +1 -0
- package/dist/components/ui/component-viewer.jsx +210 -0
- package/dist/components/ui/component-viewer.jsx.map +1 -0
- package/dist/components/ui/container.d.ts +13 -0
- package/dist/components/ui/container.d.ts.map +1 -0
- package/dist/components/ui/container.jsx +29 -0
- package/dist/components/ui/container.jsx.map +1 -0
- package/dist/components/ui/dropdown-menu.d.ts +58 -0
- package/dist/components/ui/dropdown-menu.d.ts.map +1 -0
- package/dist/components/ui/dropdown-menu.jsx +112 -0
- package/dist/components/ui/dropdown-menu.jsx.map +1 -0
- package/dist/components/ui/input-group.d.ts +16 -0
- package/dist/components/ui/input-group.d.ts.map +1 -0
- package/dist/components/ui/input-group.jsx +33 -0
- package/dist/components/ui/input-group.jsx.map +1 -0
- package/dist/components/ui/kbd.d.ts +15 -0
- package/dist/components/ui/kbd.d.ts.map +1 -0
- package/dist/components/ui/kbd.jsx +42 -0
- package/dist/components/ui/kbd.jsx.map +1 -0
- package/dist/components/ui/list.d.ts +36 -0
- package/dist/components/ui/list.d.ts.map +1 -0
- package/dist/components/ui/list.jsx +131 -0
- package/dist/components/ui/list.jsx.map +1 -0
- package/dist/components/ui/logo.d.ts +9 -0
- package/dist/components/ui/logo.d.ts.map +1 -0
- package/dist/components/ui/logo.jsx +31 -0
- package/dist/components/ui/logo.jsx.map +1 -0
- package/dist/components/ui/navbar.d.ts +57 -0
- package/dist/components/ui/navbar.d.ts.map +1 -0
- package/dist/components/ui/navbar.jsx +174 -0
- package/dist/components/ui/navbar.jsx.map +1 -0
- package/dist/components/ui/package-manager-tabs.d.ts +21 -0
- package/dist/components/ui/package-manager-tabs.d.ts.map +1 -0
- package/dist/components/ui/package-manager-tabs.jsx +167 -0
- package/dist/components/ui/package-manager-tabs.jsx.map +1 -0
- package/dist/components/ui/pager.d.ts +27 -0
- package/dist/components/ui/pager.d.ts.map +1 -0
- package/dist/components/ui/pager.jsx +50 -0
- package/dist/components/ui/pager.jsx.map +1 -0
- package/dist/components/ui/scroll-area.d.ts +9 -0
- package/dist/components/ui/scroll-area.d.ts.map +1 -0
- package/dist/components/ui/scroll-area.jsx +160 -0
- package/dist/components/ui/scroll-area.jsx.map +1 -0
- package/dist/components/ui/section-heading.d.ts +23 -0
- package/dist/components/ui/section-heading.d.ts.map +1 -0
- package/dist/components/ui/section-heading.jsx +82 -0
- package/dist/components/ui/section-heading.jsx.map +1 -0
- package/dist/components/ui/separator.d.ts +13 -0
- package/dist/components/ui/separator.d.ts.map +1 -0
- package/dist/components/ui/separator.jsx +16 -0
- package/dist/components/ui/separator.jsx.map +1 -0
- package/dist/components/ui/sidebar.d.ts +103 -0
- package/dist/components/ui/sidebar.d.ts.map +1 -0
- package/dist/components/ui/sidebar.jsx +315 -0
- package/dist/components/ui/sidebar.jsx.map +1 -0
- package/dist/components/ui/skeleton.d.ts +9 -0
- package/dist/components/ui/skeleton.d.ts.map +1 -0
- package/dist/components/ui/skeleton.jsx +11 -0
- package/dist/components/ui/skeleton.jsx.map +1 -0
- package/dist/components/ui/spinner.d.ts +11 -0
- package/dist/components/ui/spinner.d.ts.map +1 -0
- package/dist/components/ui/spinner.jsx +21 -0
- package/dist/components/ui/spinner.jsx.map +1 -0
- package/dist/components/ui/table-of-contents.d.ts +20 -0
- package/dist/components/ui/table-of-contents.d.ts.map +1 -0
- package/dist/components/ui/table-of-contents.jsx +77 -0
- package/dist/components/ui/table-of-contents.jsx.map +1 -0
- package/dist/components/ui/table.d.ts +58 -0
- package/dist/components/ui/table.d.ts.map +1 -0
- package/dist/components/ui/table.jsx +61 -0
- package/dist/components/ui/table.jsx.map +1 -0
- package/dist/components/ui/tabs.d.ts +42 -0
- package/dist/components/ui/tabs.d.ts.map +1 -0
- package/dist/components/ui/tabs.jsx +93 -0
- package/dist/components/ui/tabs.jsx.map +1 -0
- package/dist/components/ui/theme-toggle.d.ts +19 -0
- package/dist/components/ui/theme-toggle.d.ts.map +1 -0
- package/dist/components/ui/theme-toggle.jsx +142 -0
- package/dist/components/ui/theme-toggle.jsx.map +1 -0
- package/dist/components/ui/tooltip.d.ts +10 -0
- package/dist/components/ui/tooltip.d.ts.map +1 -0
- package/dist/components/ui/tooltip.jsx +18 -0
- package/dist/components/ui/tooltip.jsx.map +1 -0
- package/dist/config.d.ts +6 -0
- package/dist/config.d.ts.map +1 -0
- package/dist/config.js +105 -0
- package/dist/config.js.map +1 -0
- package/dist/core/content-scanner.d.ts +10 -0
- package/dist/core/content-scanner.d.ts.map +1 -0
- package/dist/core/content-scanner.js +218 -0
- package/dist/core/content-scanner.js.map +1 -0
- package/dist/core/route-tree.d.ts +24 -0
- package/dist/core/route-tree.d.ts.map +1 -0
- package/dist/core/route-tree.js +221 -0
- package/dist/core/route-tree.js.map +1 -0
- package/dist/hooks/create-click-outside.d.ts +18 -0
- package/dist/hooks/create-click-outside.d.ts.map +1 -0
- package/dist/hooks/create-click-outside.js +55 -0
- package/dist/hooks/create-click-outside.js.map +1 -0
- package/dist/hooks/create-clipboard.d.ts +20 -0
- package/dist/hooks/create-clipboard.d.ts.map +1 -0
- package/dist/hooks/create-clipboard.js +48 -0
- package/dist/hooks/create-clipboard.js.map +1 -0
- package/dist/hooks/create-color-mode.d.ts +27 -0
- package/dist/hooks/create-color-mode.d.ts.map +1 -0
- package/dist/hooks/create-color-mode.js +86 -0
- package/dist/hooks/create-color-mode.js.map +1 -0
- package/dist/hooks/create-controllable-signal.d.ts +17 -0
- package/dist/hooks/create-controllable-signal.d.ts.map +1 -0
- package/dist/hooks/create-controllable-signal.js +35 -0
- package/dist/hooks/create-controllable-signal.js.map +1 -0
- package/dist/hooks/create-focus-trap.d.ts +15 -0
- package/dist/hooks/create-focus-trap.d.ts.map +1 -0
- package/dist/hooks/create-focus-trap.js +72 -0
- package/dist/hooks/create-focus-trap.js.map +1 -0
- package/dist/hooks/create-keybindings.d.ts +34 -0
- package/dist/hooks/create-keybindings.d.ts.map +1 -0
- package/dist/hooks/create-keybindings.js +113 -0
- package/dist/hooks/create-keybindings.js.map +1 -0
- package/dist/hooks/create-lock-scroll.d.ts +20 -0
- package/dist/hooks/create-lock-scroll.d.ts.map +1 -0
- package/dist/hooks/create-lock-scroll.js +77 -0
- package/dist/hooks/create-lock-scroll.js.map +1 -0
- package/dist/hooks/create-resize-observer.d.ts +27 -0
- package/dist/hooks/create-resize-observer.d.ts.map +1 -0
- package/dist/hooks/create-resize-observer.js +59 -0
- package/dist/hooks/create-resize-observer.js.map +1 -0
- package/dist/hooks/create-scroll-position.d.ts +29 -0
- package/dist/hooks/create-scroll-position.d.ts.map +1 -0
- package/dist/hooks/create-scroll-position.js +101 -0
- package/dist/hooks/create-scroll-position.js.map +1 -0
- package/dist/index.d.ts +13 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +14 -0
- package/dist/index.js.map +1 -0
- package/dist/lib/cn.d.ts +6 -0
- package/dist/lib/cn.d.ts.map +1 -0
- package/dist/lib/cn.js +9 -0
- package/dist/lib/cn.js.map +1 -0
- package/dist/mdx/compiler.d.ts +13 -0
- package/dist/mdx/compiler.d.ts.map +1 -0
- package/dist/mdx/compiler.js +38 -0
- package/dist/mdx/compiler.js.map +1 -0
- package/dist/mdx/highlighter.d.ts +22 -0
- package/dist/mdx/highlighter.d.ts.map +1 -0
- package/dist/mdx/highlighter.js +190 -0
- package/dist/mdx/highlighter.js.map +1 -0
- package/dist/mdx/rehype-shiki.d.ts +3 -0
- package/dist/mdx/rehype-shiki.d.ts.map +1 -0
- package/dist/mdx/rehype-shiki.js +83 -0
- package/dist/mdx/rehype-shiki.js.map +1 -0
- package/dist/navigation/index.d.ts +3 -0
- package/dist/navigation/index.d.ts.map +1 -0
- package/dist/navigation/index.js +3 -0
- package/dist/navigation/index.js.map +1 -0
- package/dist/navigation/repository-links.d.ts +3 -0
- package/dist/navigation/repository-links.d.ts.map +1 -0
- package/dist/navigation/repository-links.js +35 -0
- package/dist/navigation/repository-links.js.map +1 -0
- package/dist/navigation/sidebar-state.d.ts +6 -0
- package/dist/navigation/sidebar-state.d.ts.map +1 -0
- package/dist/navigation/sidebar-state.js +20 -0
- package/dist/navigation/sidebar-state.js.map +1 -0
- package/dist/navigation/sidebar-tree.d.ts +7 -0
- package/dist/navigation/sidebar-tree.d.ts.map +1 -0
- package/dist/navigation/sidebar-tree.js +11 -0
- package/dist/navigation/sidebar-tree.js.map +1 -0
- package/dist/providers/theme-provider.d.ts +33 -0
- package/dist/providers/theme-provider.d.ts.map +1 -0
- package/dist/providers/theme-provider.jsx +158 -0
- package/dist/providers/theme-provider.jsx.map +1 -0
- package/dist/providers/theme-script.d.ts +16 -0
- package/dist/providers/theme-script.d.ts.map +1 -0
- package/dist/providers/theme-script.jsx +41 -0
- package/dist/providers/theme-script.jsx.map +1 -0
- package/dist/providers/theme-transitions.d.ts +12 -0
- package/dist/providers/theme-transitions.d.ts.map +1 -0
- package/dist/providers/theme-transitions.js +115 -0
- package/dist/providers/theme-transitions.js.map +1 -0
- package/dist/registry/api-table.json +21 -0
- package/dist/registry/badge.json +18 -0
- package/dist/registry/breadcrumb.json +17 -0
- package/dist/registry/button.json +21 -0
- package/dist/registry/callout.json +19 -0
- package/dist/registry/card.json +17 -0
- package/dist/registry/code-block.json +28 -0
- package/dist/registry/collapsible.json +18 -0
- package/dist/registry/command.json +27 -0
- package/dist/registry/component-viewer.json +25 -0
- package/dist/registry/container.json +18 -0
- package/dist/registry/create-click-outside.json +13 -0
- package/dist/registry/create-clipboard.json +13 -0
- package/dist/registry/create-color-mode.json +13 -0
- package/dist/registry/create-controllable-signal.json +13 -0
- package/dist/registry/create-focus-trap.json +13 -0
- package/dist/registry/create-keybindings.json +13 -0
- package/dist/registry/create-lock-scroll.json +13 -0
- package/dist/registry/create-resize-observer.json +13 -0
- package/dist/registry/create-scroll-position.json +13 -0
- package/dist/registry/dropdown-menu.json +22 -0
- package/dist/registry/input-group.json +21 -0
- package/dist/registry/kbd.json +18 -0
- package/dist/registry/list.json +20 -0
- package/dist/registry/logo.json +17 -0
- package/dist/registry/navbar.json +19 -0
- package/dist/registry/package-manager-tabs.json +24 -0
- package/dist/registry/pager.json +21 -0
- package/dist/registry/scroll-area.json +21 -0
- package/dist/registry/section-heading.json +21 -0
- package/dist/registry/separator.json +17 -0
- package/dist/registry/sidebar.json +24 -0
- package/dist/registry/skeleton.json +17 -0
- package/dist/registry/spinner.json +18 -0
- package/dist/registry/table-of-contents.json +23 -0
- package/dist/registry/table.json +17 -0
- package/dist/registry/tabs.json +20 -0
- package/dist/registry/theme-manager.json +39 -0
- package/dist/registry/tooltip.json +18 -0
- package/dist/search/provider.d.ts +14 -0
- package/dist/search/provider.d.ts.map +1 -0
- package/dist/search/provider.js +14 -0
- package/dist/search/provider.js.map +1 -0
- package/dist/server/index.d.ts +18 -0
- package/dist/server/index.d.ts.map +1 -0
- package/dist/server/index.js +565 -0
- package/dist/server/index.js.map +1 -0
- package/dist/server/plugin.d.ts +10 -0
- package/dist/server/plugin.d.ts.map +1 -0
- package/dist/server/plugin.js +522 -0
- package/dist/server/plugin.js.map +1 -0
- package/dist/theme-accent.d.ts +8 -0
- package/dist/theme-accent.d.ts.map +1 -0
- package/dist/theme-accent.js +18 -0
- package/dist/theme-accent.js.map +1 -0
- package/dist/theme-mode.d.ts +4 -0
- package/dist/theme-mode.d.ts.map +1 -0
- package/dist/theme-mode.js +5 -0
- package/dist/theme-mode.js.map +1 -0
- package/dist/themes/default/content/breadcrumbs.d.ts +4 -0
- package/dist/themes/default/content/breadcrumbs.d.ts.map +1 -0
- package/dist/themes/default/content/breadcrumbs.jsx +31 -0
- package/dist/themes/default/content/breadcrumbs.jsx.map +1 -0
- package/dist/themes/default/content/pager.d.ts +5 -0
- package/dist/themes/default/content/pager.d.ts.map +1 -0
- package/dist/themes/default/content/pager.jsx +9 -0
- package/dist/themes/default/content/pager.jsx.map +1 -0
- package/dist/themes/default/content/table-of-contents.d.ts +4 -0
- package/dist/themes/default/content/table-of-contents.d.ts.map +1 -0
- package/dist/themes/default/content/table-of-contents.jsx +19 -0
- package/dist/themes/default/content/table-of-contents.jsx.map +1 -0
- package/dist/themes/default/icons.d.ts +3 -0
- package/dist/themes/default/icons.d.ts.map +1 -0
- package/dist/themes/default/icons.js +15 -0
- package/dist/themes/default/icons.js.map +1 -0
- package/dist/themes/default/index.d.ts +12 -0
- package/dist/themes/default/index.d.ts.map +1 -0
- package/dist/themes/default/index.js +30 -0
- package/dist/themes/default/index.js.map +1 -0
- package/dist/themes/default/layout.d.ts +4 -0
- package/dist/themes/default/layout.d.ts.map +1 -0
- package/dist/themes/default/layout.jsx +194 -0
- package/dist/themes/default/layout.jsx.map +1 -0
- package/dist/themes/default/navbar.d.ts +4 -0
- package/dist/themes/default/navbar.d.ts.map +1 -0
- package/dist/themes/default/navbar.jsx +83 -0
- package/dist/themes/default/navbar.jsx.map +1 -0
- package/dist/themes/default/navigation/mobile-table-of-contents.d.ts +4 -0
- package/dist/themes/default/navigation/mobile-table-of-contents.d.ts.map +1 -0
- package/dist/themes/default/navigation/mobile-table-of-contents.jsx +38 -0
- package/dist/themes/default/navigation/mobile-table-of-contents.jsx.map +1 -0
- package/dist/themes/default/navigation/sidebar-tree.d.ts +8 -0
- package/dist/themes/default/navigation/sidebar-tree.d.ts.map +1 -0
- package/dist/themes/default/navigation/sidebar-tree.jsx +124 -0
- package/dist/themes/default/navigation/sidebar-tree.jsx.map +1 -0
- package/dist/themes/default/overlays/search-dialog.d.ts +4 -0
- package/dist/themes/default/overlays/search-dialog.d.ts.map +1 -0
- package/dist/themes/default/overlays/search-dialog.jsx +52 -0
- package/dist/themes/default/overlays/search-dialog.jsx.map +1 -0
- package/dist/themes/default/sidebar.d.ts +4 -0
- package/dist/themes/default/sidebar.d.ts.map +1 -0
- package/dist/themes/default/sidebar.jsx +92 -0
- package/dist/themes/default/sidebar.jsx.map +1 -0
- package/dist/themes/index.d.ts +4 -0
- package/dist/themes/index.d.ts.map +1 -0
- package/dist/themes/index.js +5 -0
- package/dist/themes/index.js.map +1 -0
- package/dist/themes/types.d.ts +91 -0
- package/dist/themes/types.d.ts.map +1 -0
- package/dist/themes/types.js +2 -0
- package/dist/themes/types.js.map +1 -0
- package/dist/types.d.ts +132 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +3 -0
- package/dist/types.js.map +1 -0
- package/dist/vendor/docs-src/components/mdx-components.tsx +144 -0
- package/dist/vendor/docs-src/components/ui/api-table.tsx +117 -0
- package/dist/vendor/docs-src/components/ui/badge.tsx +56 -0
- package/dist/vendor/docs-src/components/ui/breadcrumb.tsx +136 -0
- package/dist/vendor/docs-src/components/ui/button.tsx +82 -0
- package/dist/vendor/docs-src/components/ui/callout.tsx +137 -0
- package/dist/vendor/docs-src/components/ui/card.tsx +113 -0
- package/dist/vendor/docs-src/components/ui/code-block.tsx +347 -0
- package/dist/vendor/docs-src/components/ui/collapsible.tsx +73 -0
- package/dist/vendor/docs-src/components/ui/command.tsx +382 -0
- package/dist/vendor/docs-src/components/ui/component-viewer.tsx +363 -0
- package/dist/vendor/docs-src/components/ui/container.tsx +45 -0
- package/dist/vendor/docs-src/components/ui/dropdown-menu.tsx +298 -0
- package/dist/vendor/docs-src/components/ui/input-group.tsx +80 -0
- package/dist/vendor/docs-src/components/ui/kbd.tsx +73 -0
- package/dist/vendor/docs-src/components/ui/list.tsx +222 -0
- package/dist/vendor/docs-src/components/ui/logo.tsx +68 -0
- package/dist/vendor/docs-src/components/ui/navbar.tsx +375 -0
- package/dist/vendor/docs-src/components/ui/package-manager-tabs.tsx +226 -0
- package/dist/vendor/docs-src/components/ui/pager.tsx +102 -0
- package/dist/vendor/docs-src/components/ui/scroll-area.tsx +228 -0
- package/dist/vendor/docs-src/components/ui/section-heading.tsx +115 -0
- package/dist/vendor/docs-src/components/ui/separator.tsx +37 -0
- package/dist/vendor/docs-src/components/ui/sidebar.tsx +712 -0
- package/dist/vendor/docs-src/components/ui/skeleton.tsx +24 -0
- package/dist/vendor/docs-src/components/ui/spinner.tsx +41 -0
- package/dist/vendor/docs-src/components/ui/table-of-contents.tsx +131 -0
- package/dist/vendor/docs-src/components/ui/table.tsx +160 -0
- package/dist/vendor/docs-src/components/ui/tabs.tsx +204 -0
- package/dist/vendor/docs-src/components/ui/theme-toggle.tsx +238 -0
- package/dist/vendor/docs-src/components/ui/tooltip.tsx +41 -0
- package/dist/vendor/docs-src/hooks/create-click-outside.ts +82 -0
- package/dist/vendor/docs-src/hooks/create-clipboard.ts +69 -0
- package/dist/vendor/docs-src/hooks/create-color-mode.ts +115 -0
- package/dist/vendor/docs-src/hooks/create-controllable-signal.ts +56 -0
- package/dist/vendor/docs-src/hooks/create-focus-trap.ts +94 -0
- package/dist/vendor/docs-src/hooks/create-keybindings.ts +148 -0
- package/dist/vendor/docs-src/hooks/create-lock-scroll.ts +97 -0
- package/dist/vendor/docs-src/hooks/create-resize-observer.ts +89 -0
- package/dist/vendor/docs-src/hooks/create-scroll-position.ts +129 -0
- package/dist/vendor/docs-src/lib/cn.ts +9 -0
- package/dist/vendor/docs-src/providers/theme-provider.tsx +203 -0
- package/dist/vendor/docs-src/providers/theme-script.tsx +54 -0
- package/dist/vendor/docs-src/providers/theme-transitions.ts +139 -0
- package/dist/version.d.ts +2 -0
- package/dist/version.d.ts.map +1 -0
- package/dist/version.js +2 -0
- package/dist/version.js.map +1 -0
- package/package.json +95 -0
|
@@ -0,0 +1,522 @@
|
|
|
1
|
+
import path from "node:path";
|
|
2
|
+
import { fileURLToPath } from "node:url";
|
|
3
|
+
import { createRequire } from "node:module";
|
|
4
|
+
import fs from "fs-extra";
|
|
5
|
+
import { scanContent, scanContentDirectories } from "../core/content-scanner.js";
|
|
6
|
+
import { buildConfiguredSidebarTree, buildSidebarTree } from "../core/route-tree.js";
|
|
7
|
+
import { compileMdx } from "../mdx/compiler.js";
|
|
8
|
+
import { loadConfig } from "../config.js";
|
|
9
|
+
import { resolveDefaultThemeMode } from "../theme-mode.js";
|
|
10
|
+
const VIRTUAL_CONFIG_ID = "virtual:folio-config";
|
|
11
|
+
const RESOLVED_CONFIG_ID = "\0" + VIRTUAL_CONFIG_ID;
|
|
12
|
+
const VIRTUAL_TREE_ID = "virtual:folio-tree";
|
|
13
|
+
const RESOLVED_TREE_ID = "\0" + VIRTUAL_TREE_ID;
|
|
14
|
+
const VIRTUAL_ROUTES_ID = "virtual:folio-routes";
|
|
15
|
+
const RESOLVED_ROUTES_ID = "\0" + VIRTUAL_ROUTES_ID;
|
|
16
|
+
const VIRTUAL_SOURCES_ID = "virtual:folio-sources";
|
|
17
|
+
const RESOLVED_SOURCES_ID = "\0" + VIRTUAL_SOURCES_ID;
|
|
18
|
+
const VIRTUAL_COMPONENTS_ID = "virtual:folio-components";
|
|
19
|
+
const RESOLVED_COMPONENTS_ID = "\0" + VIRTUAL_COMPONENTS_ID;
|
|
20
|
+
const VIRTUAL_ICONS_ID = "virtual:folio-icons";
|
|
21
|
+
const RESOLVED_ICONS_ID = "\0" + VIRTUAL_ICONS_ID;
|
|
22
|
+
const VIRTUAL_THEME_ID = "virtual:folio-theme";
|
|
23
|
+
const RESOLVED_THEME_ID = "\0" + VIRTUAL_THEME_ID;
|
|
24
|
+
const VIRTUAL_SHIKI_ID = "virtual:folio-shiki-stub";
|
|
25
|
+
const RESOLVED_SHIKI_ID = "\0" + VIRTUAL_SHIKI_ID;
|
|
26
|
+
const CONFIG_FILENAMES = new Set([
|
|
27
|
+
"docs.config.ts",
|
|
28
|
+
"docs.config.js",
|
|
29
|
+
"docs.config.mjs",
|
|
30
|
+
"nikala.docs.config.ts",
|
|
31
|
+
"nikala.docs.config.js",
|
|
32
|
+
"nikala.docs.config.mjs",
|
|
33
|
+
// Backward compatibility for older docs projects.
|
|
34
|
+
"nikala.config.ts",
|
|
35
|
+
"nikala.config.js",
|
|
36
|
+
]);
|
|
37
|
+
function findConfigFile(rootDir) {
|
|
38
|
+
return [...CONFIG_FILENAMES]
|
|
39
|
+
.map((filename) => path.join(rootDir, filename))
|
|
40
|
+
.find((file) => fs.existsSync(file));
|
|
41
|
+
}
|
|
42
|
+
function toLucideComponentName(name) {
|
|
43
|
+
return name
|
|
44
|
+
.trim()
|
|
45
|
+
.split(/[-_\s]+/)
|
|
46
|
+
.filter(Boolean)
|
|
47
|
+
.map((part) => part.charAt(0).toUpperCase() + part.slice(1))
|
|
48
|
+
.join("");
|
|
49
|
+
}
|
|
50
|
+
function escapeHtmlAttribute(value) {
|
|
51
|
+
return value
|
|
52
|
+
.replace(/&/g, "&")
|
|
53
|
+
.replace(/"/g, """)
|
|
54
|
+
.replace(/</g, "<")
|
|
55
|
+
.replace(/>/g, ">");
|
|
56
|
+
}
|
|
57
|
+
function getTailwindSourceDirectives(rootDir, docsDir) {
|
|
58
|
+
const sources = [];
|
|
59
|
+
const bundledDocsSource = path.resolve(path.dirname(fileURLToPath(import.meta.url)), "../vendor/docs-src");
|
|
60
|
+
if (fs.existsSync(bundledDocsSource))
|
|
61
|
+
sources.push(bundledDocsSource);
|
|
62
|
+
sources.push(path.resolve(rootDir, "src"));
|
|
63
|
+
const themesDir = path.resolve(path.dirname(fileURLToPath(import.meta.url)), "../themes");
|
|
64
|
+
if (fs.existsSync(themesDir))
|
|
65
|
+
sources.push(themesDir);
|
|
66
|
+
if (docsDir && fs.existsSync(docsDir))
|
|
67
|
+
sources.push(docsDir);
|
|
68
|
+
return sources
|
|
69
|
+
.map((src) => `@source "${src}";`)
|
|
70
|
+
.join("\n");
|
|
71
|
+
}
|
|
72
|
+
function getComponentSourceDir(rootDir) {
|
|
73
|
+
const localSource = path.resolve(rootDir, "src/components/ui");
|
|
74
|
+
if (fs.existsSync(localSource))
|
|
75
|
+
return localSource;
|
|
76
|
+
const moduleDir = path.dirname(fileURLToPath(import.meta.url));
|
|
77
|
+
const candidates = [
|
|
78
|
+
path.resolve(moduleDir, "../vendor/docs-src/components/ui"),
|
|
79
|
+
path.resolve(moduleDir, "../../src/components/ui"),
|
|
80
|
+
path.resolve(moduleDir, "../components/ui"),
|
|
81
|
+
];
|
|
82
|
+
const source = candidates.find((candidate) => fs.existsSync(candidate));
|
|
83
|
+
if (source)
|
|
84
|
+
return source;
|
|
85
|
+
throw new Error("Folio local component sources are missing");
|
|
86
|
+
}
|
|
87
|
+
function collectComponentExports(directory) {
|
|
88
|
+
if (!fs.existsSync(directory))
|
|
89
|
+
return [];
|
|
90
|
+
return fs.readdirSync(directory, { withFileTypes: true })
|
|
91
|
+
.filter((entry) => entry.isFile() && /\.(?:tsx?|jsx?)$/.test(entry.name) && !/^index\./.test(entry.name))
|
|
92
|
+
.flatMap((entry) => {
|
|
93
|
+
const file = path.join(directory, entry.name);
|
|
94
|
+
const source = fs.readFileSync(file, "utf8");
|
|
95
|
+
const names = new Set();
|
|
96
|
+
for (const match of source.matchAll(/export\s+(?:const|function|class)\s+([A-Z][A-Za-z0-9_$]*)/g)) {
|
|
97
|
+
names.add(match[1]);
|
|
98
|
+
}
|
|
99
|
+
for (const match of source.matchAll(/export\s*\{([^}]+)\}/g)) {
|
|
100
|
+
for (const name of match[1].split(",")) {
|
|
101
|
+
const exported = name.trim().split(/\s+as\s+/).at(-1);
|
|
102
|
+
if (exported && /^[A-Z][A-Za-z0-9_$]*$/.test(exported))
|
|
103
|
+
names.add(exported);
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
return [...names].sort().map((name) => ({ name, file }));
|
|
107
|
+
})
|
|
108
|
+
.sort((a, b) => a.name.localeCompare(b.name));
|
|
109
|
+
}
|
|
110
|
+
function collectSourceFiles(directory) {
|
|
111
|
+
if (!fs.existsSync(directory))
|
|
112
|
+
return [];
|
|
113
|
+
return fs.readdirSync(directory, { withFileTypes: true }).flatMap((entry) => {
|
|
114
|
+
const file = path.join(directory, entry.name);
|
|
115
|
+
if (entry.isDirectory())
|
|
116
|
+
return collectSourceFiles(file);
|
|
117
|
+
return entry.isFile() && /\.(?:tsx?|jsx?)$/.test(entry.name) ? [file] : [];
|
|
118
|
+
});
|
|
119
|
+
}
|
|
120
|
+
function resolveComponentFile(directory, importPath) {
|
|
121
|
+
const base = path.join(directory, importPath);
|
|
122
|
+
const candidates = [
|
|
123
|
+
base,
|
|
124
|
+
...[".ts", ".tsx", ".js", ".jsx"].map((extension) => base + extension),
|
|
125
|
+
...["index.ts", "index.tsx", "index.js", "index.jsx"].map((entry) => path.join(base, entry)),
|
|
126
|
+
];
|
|
127
|
+
return candidates.find((file) => fs.existsSync(file));
|
|
128
|
+
}
|
|
129
|
+
function collectStaticComponentFiles(componentDir, themeDirs) {
|
|
130
|
+
const staticFiles = new Set();
|
|
131
|
+
const pending = themeDirs.flatMap((directory) => collectSourceFiles(directory));
|
|
132
|
+
while (pending.length) {
|
|
133
|
+
const file = pending.pop();
|
|
134
|
+
if (!fs.existsSync(file))
|
|
135
|
+
continue;
|
|
136
|
+
const source = fs.readFileSync(file, "utf8");
|
|
137
|
+
for (const match of source.matchAll(/from\s+["']@\/components\/ui\/([^"']+)["']/g)) {
|
|
138
|
+
const importedFile = resolveComponentFile(componentDir, match[1]);
|
|
139
|
+
if (importedFile && !staticFiles.has(importedFile)) {
|
|
140
|
+
staticFiles.add(importedFile);
|
|
141
|
+
pending.push(importedFile);
|
|
142
|
+
}
|
|
143
|
+
}
|
|
144
|
+
for (const match of source.matchAll(/from\s+["'](\.\.?\/[^"']+)["']/g)) {
|
|
145
|
+
const importedFile = resolveComponentFile(path.dirname(file), match[1]);
|
|
146
|
+
if (importedFile && importedFile.startsWith(`${path.resolve(componentDir)}${path.sep}`) && !staticFiles.has(importedFile)) {
|
|
147
|
+
staticFiles.add(importedFile);
|
|
148
|
+
pending.push(importedFile);
|
|
149
|
+
}
|
|
150
|
+
}
|
|
151
|
+
}
|
|
152
|
+
return staticFiles;
|
|
153
|
+
}
|
|
154
|
+
export function nikalaDocsPlugin(options = {}) {
|
|
155
|
+
// Vite's root is the docs engine client directory. It is not the user's
|
|
156
|
+
// project root, so content/config paths must always resolve from configRoot.
|
|
157
|
+
let rootDir = path.resolve(options.configRoot || process.cwd());
|
|
158
|
+
let docsDir = options.docsDir ? path.resolve(rootDir, options.docsDir) : path.resolve(rootDir, "docs");
|
|
159
|
+
let resolvedConfig = options.config || { title: "Folio" };
|
|
160
|
+
let cachedPages = [];
|
|
161
|
+
let isSsrBuild = false;
|
|
162
|
+
return {
|
|
163
|
+
name: "vite-plugin-folio",
|
|
164
|
+
enforce: "pre",
|
|
165
|
+
async configResolved(viteConfig) {
|
|
166
|
+
isSsrBuild = Boolean(viteConfig.build.ssr);
|
|
167
|
+
// Keep Vite's internal root separate from the consuming project's root.
|
|
168
|
+
// Otherwise a relative contentDir could resolve under packages/docs.
|
|
169
|
+
rootDir = path.resolve(options.configRoot || process.cwd());
|
|
170
|
+
if (!options.docsDir) {
|
|
171
|
+
// The config is authoritative for new projects; keep legacy auto-detection.
|
|
172
|
+
const fs = await import("fs-extra");
|
|
173
|
+
if (!options.config) {
|
|
174
|
+
resolvedConfig = await loadConfig(options.configRoot || rootDir);
|
|
175
|
+
}
|
|
176
|
+
if (resolvedConfig.contentDir) {
|
|
177
|
+
docsDir = path.resolve(rootDir, resolvedConfig.contentDir);
|
|
178
|
+
}
|
|
179
|
+
else if (await fs.pathExists(path.resolve(rootDir, "docs"))) {
|
|
180
|
+
docsDir = path.resolve(rootDir, "docs");
|
|
181
|
+
}
|
|
182
|
+
else if (await fs.pathExists(path.resolve(rootDir, "content"))) {
|
|
183
|
+
docsDir = path.resolve(rootDir, "content");
|
|
184
|
+
}
|
|
185
|
+
else {
|
|
186
|
+
docsDir = rootDir;
|
|
187
|
+
}
|
|
188
|
+
}
|
|
189
|
+
else {
|
|
190
|
+
docsDir = path.resolve(rootDir, options.docsDir);
|
|
191
|
+
}
|
|
192
|
+
},
|
|
193
|
+
transformIndexHtml(html) {
|
|
194
|
+
const favicon = resolvedConfig.favicon || "/favicon.ico";
|
|
195
|
+
const defaultTheme = resolveDefaultThemeMode(resolvedConfig);
|
|
196
|
+
return html.replace(/<link rel="icon" href="[^"]*"\s*\/>/i, `<link rel="icon" href="${escapeHtmlAttribute(favicon)}" />`).replaceAll("__NIKALA_DEFAULT_THEME__", defaultTheme);
|
|
197
|
+
},
|
|
198
|
+
resolveId(id, importer) {
|
|
199
|
+
if (id === "shiki" || id.startsWith("shiki/")) {
|
|
200
|
+
if (importer && (importer.includes("/mdx/") || importer.includes("\\mdx\\"))) {
|
|
201
|
+
return null;
|
|
202
|
+
}
|
|
203
|
+
return isSsrBuild ? RESOLVED_SHIKI_ID : null;
|
|
204
|
+
}
|
|
205
|
+
if (id === VIRTUAL_CONFIG_ID)
|
|
206
|
+
return RESOLVED_CONFIG_ID;
|
|
207
|
+
if (id === VIRTUAL_TREE_ID)
|
|
208
|
+
return RESOLVED_TREE_ID;
|
|
209
|
+
if (id === VIRTUAL_ROUTES_ID)
|
|
210
|
+
return RESOLVED_ROUTES_ID;
|
|
211
|
+
if (id === VIRTUAL_SOURCES_ID)
|
|
212
|
+
return RESOLVED_SOURCES_ID;
|
|
213
|
+
if (id === VIRTUAL_COMPONENTS_ID)
|
|
214
|
+
return RESOLVED_COMPONENTS_ID;
|
|
215
|
+
if (id === VIRTUAL_ICONS_ID || id === RESOLVED_ICONS_ID)
|
|
216
|
+
return RESOLVED_ICONS_ID;
|
|
217
|
+
if (id === VIRTUAL_THEME_ID)
|
|
218
|
+
return RESOLVED_THEME_ID;
|
|
219
|
+
return null;
|
|
220
|
+
},
|
|
221
|
+
async load(id) {
|
|
222
|
+
if (id === RESOLVED_SHIKI_ID) {
|
|
223
|
+
return `
|
|
224
|
+
export const createHighlighter = async () => null;
|
|
225
|
+
export const bundledLanguages = {};
|
|
226
|
+
export const bundledThemes = {};
|
|
227
|
+
export default { createHighlighter, bundledLanguages, bundledThemes };
|
|
228
|
+
`;
|
|
229
|
+
}
|
|
230
|
+
if (id === RESOLVED_CONFIG_ID) {
|
|
231
|
+
const configFile = findConfigFile(rootDir);
|
|
232
|
+
if (!configFile)
|
|
233
|
+
return `export default ${JSON.stringify(resolvedConfig)};`;
|
|
234
|
+
return `
|
|
235
|
+
import userConfig from ${JSON.stringify(configFile)};
|
|
236
|
+
const defaults = ${JSON.stringify(resolvedConfig)};
|
|
237
|
+
const config = {
|
|
238
|
+
...defaults,
|
|
239
|
+
...userConfig,
|
|
240
|
+
navigation: {
|
|
241
|
+
...defaults.navigation,
|
|
242
|
+
...userConfig.navigation,
|
|
243
|
+
sidebar: { ...defaults.navigation?.sidebar, ...userConfig.navigation?.sidebar },
|
|
244
|
+
},
|
|
245
|
+
theme: { ...defaults.theme, ...userConfig.theme },
|
|
246
|
+
shiki: {
|
|
247
|
+
...defaults.shiki,
|
|
248
|
+
...userConfig.shiki,
|
|
249
|
+
themes: { ...defaults.shiki?.themes, ...userConfig.shiki?.themes },
|
|
250
|
+
},
|
|
251
|
+
search: { ...defaults.search, ...userConfig.search },
|
|
252
|
+
};
|
|
253
|
+
export default config;
|
|
254
|
+
`;
|
|
255
|
+
}
|
|
256
|
+
if (id === RESOLVED_TREE_ID) {
|
|
257
|
+
cachedPages = await scanContent(docsDir);
|
|
258
|
+
const directories = await scanContentDirectories(docsDir);
|
|
259
|
+
const configuredSidebar = resolvedConfig.navigation?.sidebar?.nav ?? resolvedConfig.sidebar ?? "auto";
|
|
260
|
+
const tree = configuredSidebar !== "auto"
|
|
261
|
+
? buildConfiguredSidebarTree(configuredSidebar, cachedPages)
|
|
262
|
+
: buildSidebarTree(cachedPages, directories);
|
|
263
|
+
return `
|
|
264
|
+
export const pages = ${JSON.stringify(cachedPages)};
|
|
265
|
+
export const tree = ${JSON.stringify(tree)};
|
|
266
|
+
export default { pages, tree };
|
|
267
|
+
`;
|
|
268
|
+
}
|
|
269
|
+
if (id === RESOLVED_ROUTES_ID) {
|
|
270
|
+
cachedPages = await scanContent(docsDir);
|
|
271
|
+
const routeEntries = cachedPages.map((page) => ` ${JSON.stringify(page.url)}: () => import(${JSON.stringify(page.filePath)})`);
|
|
272
|
+
return `
|
|
273
|
+
export const routes = {
|
|
274
|
+
${routeEntries.join(",\n")}
|
|
275
|
+
};
|
|
276
|
+
export default routes;
|
|
277
|
+
`;
|
|
278
|
+
}
|
|
279
|
+
if (id === RESOLVED_SOURCES_ID) {
|
|
280
|
+
cachedPages = await scanContent(docsDir);
|
|
281
|
+
const sourceEntries = cachedPages.map((page) => ` ${JSON.stringify(page.url)}: () => import(${JSON.stringify(`${page.filePath}?raw`)})`);
|
|
282
|
+
return `
|
|
283
|
+
export const sources = {
|
|
284
|
+
${sourceEntries.join(",\n")}
|
|
285
|
+
};
|
|
286
|
+
export default sources;
|
|
287
|
+
`;
|
|
288
|
+
}
|
|
289
|
+
if (id === RESOLVED_COMPONENTS_ID) {
|
|
290
|
+
const componentDir = getComponentSourceDir(rootDir);
|
|
291
|
+
const themeDirs = [
|
|
292
|
+
path.resolve(path.dirname(fileURLToPath(import.meta.url)), "../themes/default"),
|
|
293
|
+
path.resolve(rootDir, "src/themes/default"),
|
|
294
|
+
];
|
|
295
|
+
if (resolvedConfig.theme?.path) {
|
|
296
|
+
const configuredTheme = path.resolve(rootDir, resolvedConfig.theme.path);
|
|
297
|
+
themeDirs.push(fs.existsSync(configuredTheme) && fs.statSync(configuredTheme).isDirectory()
|
|
298
|
+
? configuredTheme
|
|
299
|
+
: path.dirname(configuredTheme));
|
|
300
|
+
}
|
|
301
|
+
const staticFiles = collectStaticComponentFiles(componentDir, themeDirs);
|
|
302
|
+
const modules = new Map();
|
|
303
|
+
const exports = collectComponentExports(getComponentSourceDir(rootDir));
|
|
304
|
+
for (const { file } of exports) {
|
|
305
|
+
const existing = modules.get(file);
|
|
306
|
+
if (!existing)
|
|
307
|
+
modules.set(file, { index: modules.size, file, isStatic: staticFiles.has(file) });
|
|
308
|
+
}
|
|
309
|
+
const moduleEntries = [...modules.values()];
|
|
310
|
+
const imports = moduleEntries.map(({ index, file }) => modules.get(file).isStatic
|
|
311
|
+
? `import * as componentModule${index} from ${JSON.stringify(file)};`
|
|
312
|
+
: `const componentModule${index} = () => import(${JSON.stringify(file)});`);
|
|
313
|
+
const entries = exports.map(({ name, file }) => {
|
|
314
|
+
const module = modules.get(file);
|
|
315
|
+
return module.isStatic
|
|
316
|
+
? ` ${JSON.stringify(name)}: componentModule${module.index}[${JSON.stringify(name)}]`
|
|
317
|
+
: ` ${JSON.stringify(name)}: lazy(() => componentModule${module.index}().then((module) => ({ default: module[${JSON.stringify(name)}] })))`;
|
|
318
|
+
});
|
|
319
|
+
return `
|
|
320
|
+
import { lazy } from "solid-js";
|
|
321
|
+
${imports.join("\n")}
|
|
322
|
+
const components = {
|
|
323
|
+
${entries.join(",\n")}
|
|
324
|
+
};
|
|
325
|
+
export default components;
|
|
326
|
+
`;
|
|
327
|
+
}
|
|
328
|
+
if (id === RESOLVED_ICONS_ID) {
|
|
329
|
+
const pages = await scanContent(docsDir);
|
|
330
|
+
const names = [...new Set(pages.map((page) => page.frontmatter.icon).filter((name) => typeof name === "string" && name.trim().length > 0))];
|
|
331
|
+
const require = createRequire(path.join(rootDir, "package.json"));
|
|
332
|
+
const entries = [];
|
|
333
|
+
for (const name of names) {
|
|
334
|
+
const kebabName = name
|
|
335
|
+
.trim()
|
|
336
|
+
.replace(/([a-z0-9])([A-Z])/g, "$1-$2")
|
|
337
|
+
.replace(/[\s_]+/g, "-")
|
|
338
|
+
.toLowerCase();
|
|
339
|
+
try {
|
|
340
|
+
require.resolve(`lucide-solid/icons/${kebabName}`);
|
|
341
|
+
entries.push({ name, specifier: `lucide-solid/icons/${kebabName}` });
|
|
342
|
+
}
|
|
343
|
+
catch {
|
|
344
|
+
console.warn(`[folio] Unknown Lucide icon "${name}"; skipping it.`);
|
|
345
|
+
}
|
|
346
|
+
}
|
|
347
|
+
const imports = entries.map(({ specifier }, index) => `import icon${index} from ${JSON.stringify(specifier)};`);
|
|
348
|
+
const iconEntries = entries.map(({ name }, index) => ` ${JSON.stringify(toLucideComponentName(name))}: icon${index}`);
|
|
349
|
+
return `
|
|
350
|
+
${imports.join("\n")}
|
|
351
|
+
export const icons = {
|
|
352
|
+
${iconEntries.join(",\n")}
|
|
353
|
+
};
|
|
354
|
+
`;
|
|
355
|
+
}
|
|
356
|
+
if (id === RESOLVED_THEME_ID) {
|
|
357
|
+
const configuredPath = resolvedConfig.theme?.path;
|
|
358
|
+
if (!configuredPath) {
|
|
359
|
+
const defaultEntry = path.resolve(path.dirname(fileURLToPath(import.meta.url)), "../themes/default/index.js");
|
|
360
|
+
return `import defaultTheme from ${JSON.stringify(defaultEntry)}; export const theme = defaultTheme; export default theme;`;
|
|
361
|
+
}
|
|
362
|
+
const requestedPath = path.resolve(options.configRoot || rootDir, configuredPath);
|
|
363
|
+
const candidates = [
|
|
364
|
+
requestedPath,
|
|
365
|
+
path.join(requestedPath, "index.ts"),
|
|
366
|
+
path.join(requestedPath, "index.tsx"),
|
|
367
|
+
path.join(requestedPath, "index.js"),
|
|
368
|
+
path.join(requestedPath, "index.jsx"),
|
|
369
|
+
];
|
|
370
|
+
const themeEntry = candidates.find((candidate) => fs.existsSync(candidate));
|
|
371
|
+
if (!themeEntry)
|
|
372
|
+
throw new Error(`[folio] Theme path does not exist: ${requestedPath}`);
|
|
373
|
+
return `import configuredTheme from ${JSON.stringify(themeEntry)}; export const theme = configuredTheme.default || configuredTheme; export default theme;`;
|
|
374
|
+
}
|
|
375
|
+
return null;
|
|
376
|
+
},
|
|
377
|
+
async transform(code, id, transformOptions) {
|
|
378
|
+
const cssId = id.split("?", 1)[0];
|
|
379
|
+
const packagedCss = path.resolve(path.dirname(fileURLToPath(import.meta.url)), "../client/style.css");
|
|
380
|
+
const baseCss = path.resolve(path.dirname(fileURLToPath(import.meta.url)), "../client/base.css");
|
|
381
|
+
const configuredCss = resolvedConfig.css
|
|
382
|
+
? path.resolve(rootDir, resolvedConfig.css)
|
|
383
|
+
: packagedCss;
|
|
384
|
+
if (cssId === packagedCss || cssId === configuredCss) {
|
|
385
|
+
if (cssId === packagedCss && configuredCss !== packagedCss) {
|
|
386
|
+
const sourceDirectives = getTailwindSourceDirectives(rootDir, docsDir);
|
|
387
|
+
return {
|
|
388
|
+
code: sourceDirectives + "\n@import " + JSON.stringify(configuredCss.replace(/\\/g, "/")) + ";\n@import " + JSON.stringify(baseCss.replace(/\\/g, "/")) + ";",
|
|
389
|
+
map: null,
|
|
390
|
+
};
|
|
391
|
+
}
|
|
392
|
+
const sourceDirectives = getTailwindSourceDirectives(rootDir, docsDir);
|
|
393
|
+
return {
|
|
394
|
+
code: `@import "tailwindcss";\n${sourceDirectives}\n${code.replace('@import "tailwindcss";', "")}`,
|
|
395
|
+
map: null,
|
|
396
|
+
};
|
|
397
|
+
}
|
|
398
|
+
// Compile Markdown / MDX files to SolidJS JSX
|
|
399
|
+
if (/\.(md|mdx)$/.test(id)) {
|
|
400
|
+
const isSsr = Boolean(transformOptions?.ssr);
|
|
401
|
+
const result = await compileMdx(code, {
|
|
402
|
+
filePath: id,
|
|
403
|
+
development: !isSsr && process.env.NODE_ENV !== "production",
|
|
404
|
+
shiki: resolvedConfig.shiki,
|
|
405
|
+
});
|
|
406
|
+
return {
|
|
407
|
+
code: result.code,
|
|
408
|
+
map: null,
|
|
409
|
+
};
|
|
410
|
+
}
|
|
411
|
+
return null;
|
|
412
|
+
},
|
|
413
|
+
configureServer(server) {
|
|
414
|
+
// Vite's root is the packaged client directory, so the consuming
|
|
415
|
+
// project's config/content files are outside its default watch scope.
|
|
416
|
+
// Register them explicitly for dev reloads.
|
|
417
|
+
const configFiles = [...CONFIG_FILENAMES]
|
|
418
|
+
.map((filename) => path.join(rootDir, filename))
|
|
419
|
+
.filter((file) => fs.existsSync(file));
|
|
420
|
+
if (configFiles.length)
|
|
421
|
+
server.watcher.add(configFiles);
|
|
422
|
+
if (docsDir && fs.existsSync(docsDir))
|
|
423
|
+
server.watcher.add(docsDir);
|
|
424
|
+
const componentsDir = getComponentSourceDir(rootDir);
|
|
425
|
+
if (componentsDir && fs.existsSync(componentsDir))
|
|
426
|
+
server.watcher.add(componentsDir);
|
|
427
|
+
const configuredCss = resolvedConfig.css
|
|
428
|
+
? path.resolve(rootDir, resolvedConfig.css)
|
|
429
|
+
: undefined;
|
|
430
|
+
if (configuredCss && fs.existsSync(configuredCss))
|
|
431
|
+
server.watcher.add(configuredCss);
|
|
432
|
+
let reloadTimer;
|
|
433
|
+
const invalidateVirtualModules = (includeConfig = false, includeComponents = false) => {
|
|
434
|
+
const modTree = server.moduleGraph.getModuleById(RESOLVED_TREE_ID);
|
|
435
|
+
const modRoutes = server.moduleGraph.getModuleById(RESOLVED_ROUTES_ID);
|
|
436
|
+
if (modTree)
|
|
437
|
+
server.moduleGraph.invalidateModule(modTree);
|
|
438
|
+
if (modRoutes)
|
|
439
|
+
server.moduleGraph.invalidateModule(modRoutes);
|
|
440
|
+
if (includeComponents) {
|
|
441
|
+
const modComponents = server.moduleGraph.getModuleById(RESOLVED_COMPONENTS_ID);
|
|
442
|
+
if (modComponents)
|
|
443
|
+
server.moduleGraph.invalidateModule(modComponents);
|
|
444
|
+
}
|
|
445
|
+
if (includeConfig) {
|
|
446
|
+
const modConfig = server.moduleGraph.getModuleById(RESOLVED_CONFIG_ID);
|
|
447
|
+
const modTheme = server.moduleGraph.getModuleById(RESOLVED_THEME_ID);
|
|
448
|
+
if (modConfig)
|
|
449
|
+
server.moduleGraph.invalidateModule(modConfig);
|
|
450
|
+
if (modTheme)
|
|
451
|
+
server.moduleGraph.invalidateModule(modTheme);
|
|
452
|
+
}
|
|
453
|
+
if (reloadTimer)
|
|
454
|
+
clearTimeout(reloadTimer);
|
|
455
|
+
reloadTimer = setTimeout(() => {
|
|
456
|
+
reloadTimer = undefined;
|
|
457
|
+
server.ws.send({ type: "full-reload" });
|
|
458
|
+
}, 75);
|
|
459
|
+
};
|
|
460
|
+
// Watch content directory for file additions or removals
|
|
461
|
+
server.watcher.on("add", (file) => {
|
|
462
|
+
if (/\.(md|mdx)$/.test(file)) {
|
|
463
|
+
invalidateVirtualModules();
|
|
464
|
+
return;
|
|
465
|
+
}
|
|
466
|
+
if (componentsDir && path.resolve(file).startsWith(`${path.resolve(componentsDir)}${path.sep}`)) {
|
|
467
|
+
invalidateVirtualModules(false, true);
|
|
468
|
+
}
|
|
469
|
+
});
|
|
470
|
+
server.watcher.on("unlink", (file) => {
|
|
471
|
+
if (/\.(md|mdx)$/.test(file)) {
|
|
472
|
+
invalidateVirtualModules();
|
|
473
|
+
return;
|
|
474
|
+
}
|
|
475
|
+
if (componentsDir && path.resolve(file).startsWith(`${path.resolve(componentsDir)}${path.sep}`)) {
|
|
476
|
+
invalidateVirtualModules(false, true);
|
|
477
|
+
}
|
|
478
|
+
});
|
|
479
|
+
server.watcher.on("change", async (file) => {
|
|
480
|
+
if (/\.(md|mdx)$/.test(file)) {
|
|
481
|
+
invalidateVirtualModules();
|
|
482
|
+
return;
|
|
483
|
+
}
|
|
484
|
+
if (componentsDir && path.resolve(file).startsWith(`${path.resolve(componentsDir)}${path.sep}`)) {
|
|
485
|
+
invalidateVirtualModules(false, true);
|
|
486
|
+
return;
|
|
487
|
+
}
|
|
488
|
+
if (CONFIG_FILENAMES.has(path.basename(file))) {
|
|
489
|
+
if (!options.config) {
|
|
490
|
+
resolvedConfig = await loadConfig(rootDir);
|
|
491
|
+
if (resolvedConfig.contentDir) {
|
|
492
|
+
docsDir = path.resolve(rootDir, resolvedConfig.contentDir);
|
|
493
|
+
}
|
|
494
|
+
}
|
|
495
|
+
invalidateVirtualModules(true);
|
|
496
|
+
return;
|
|
497
|
+
}
|
|
498
|
+
if (configuredCss && path.resolve(file) === configuredCss) {
|
|
499
|
+
const cssModule = server.moduleGraph.getModuleById(configuredCss);
|
|
500
|
+
if (cssModule)
|
|
501
|
+
server.moduleGraph.invalidateModule(cssModule);
|
|
502
|
+
invalidateVirtualModules();
|
|
503
|
+
}
|
|
504
|
+
});
|
|
505
|
+
},
|
|
506
|
+
handleHotUpdate({ file, server }) {
|
|
507
|
+
const configuredCss = resolvedConfig.css
|
|
508
|
+
? path.resolve(rootDir, resolvedConfig.css)
|
|
509
|
+
: undefined;
|
|
510
|
+
if (configuredCss && path.resolve(file) === configuredCss) {
|
|
511
|
+
const cssModules = server.moduleGraph.getModulesByFile(configuredCss);
|
|
512
|
+
for (const module of cssModules || []) {
|
|
513
|
+
server.moduleGraph.invalidateModule(module);
|
|
514
|
+
}
|
|
515
|
+
server.ws.send({ type: "full-reload" });
|
|
516
|
+
return [];
|
|
517
|
+
}
|
|
518
|
+
return undefined;
|
|
519
|
+
},
|
|
520
|
+
};
|
|
521
|
+
}
|
|
522
|
+
//# sourceMappingURL=plugin.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"plugin.js","sourceRoot":"","sources":["../../src/server/plugin.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
export declare const TAILWIND_ACCENT_COLORS: readonly ["slate", "gray", "zinc", "neutral", "stone", "red", "orange", "amber", "yellow", "lime", "green", "emerald", "teal", "cyan", "sky", "blue", "indigo", "violet", "purple", "fuchsia", "pink", "rose"];
|
|
2
|
+
export type DocsAccentColor = (typeof TAILWIND_ACCENT_COLORS)[number];
|
|
3
|
+
export declare function isDocsAccentColor(value: unknown): value is DocsAccentColor;
|
|
4
|
+
export declare function getAccentCssVariables(accent: DocsAccentColor, dark: boolean): {
|
|
5
|
+
primary: string;
|
|
6
|
+
foreground: string;
|
|
7
|
+
};
|
|
8
|
+
//# sourceMappingURL=theme-accent.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"theme-accent.d.ts","sourceRoot":"","sources":["../src/theme-accent.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,sBAAsB,YACjC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,OAAO,EACrE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EACnE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,CAC/C,CAAC;AAEX,MAAM,MAAM,eAAe,GAAG,CAAC,OAAO,sBAAsB,CAAC,CAAC,MAAM,CAAC,CAAC;AAEtE,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,eAAe,CAE1E;AAED,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,eAAe,EAAE,IAAI,EAAE,OAAO;;;EAQ3E"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
export const TAILWIND_ACCENT_COLORS = [
|
|
2
|
+
"slate", "gray", "zinc", "neutral", "stone", "red", "orange", "amber",
|
|
3
|
+
"yellow", "lime", "green", "emerald", "teal", "cyan", "sky", "blue",
|
|
4
|
+
"indigo", "violet", "purple", "fuchsia", "pink", "rose",
|
|
5
|
+
];
|
|
6
|
+
export function isDocsAccentColor(value) {
|
|
7
|
+
return typeof value === "string" && TAILWIND_ACCENT_COLORS.includes(value);
|
|
8
|
+
}
|
|
9
|
+
export function getAccentCssVariables(accent, dark) {
|
|
10
|
+
const foreground = accent === "amber" || accent === "yellow" || accent === "lime"
|
|
11
|
+
? "var(--color-black)"
|
|
12
|
+
: "var(--color-white)";
|
|
13
|
+
return {
|
|
14
|
+
primary: `var(--color-${accent}-${dark ? "400" : "500"})`,
|
|
15
|
+
foreground,
|
|
16
|
+
};
|
|
17
|
+
}
|
|
18
|
+
//# sourceMappingURL=theme-accent.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"theme-accent.js","sourceRoot":"","sources":["../src/theme-accent.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,sBAAsB,GAAG;IACpC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,OAAO;IACrE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM;IACnE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM;CAC/C,CAAC;AAIX,MAAM,UAAU,iBAAiB,CAAC,KAAc;IAC9C,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,sBAAsB,CAAC,QAAQ,CAAC,KAAwB,CAAC,CAAC;AAChG,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,MAAuB,EAAE,IAAa;IAC1E,MAAM,UAAU,GAAG,MAAM,KAAK,OAAO,IAAI,MAAM,KAAK,QAAQ,IAAI,MAAM,KAAK,MAAM;QAC/E,CAAC,CAAC,oBAAoB;QACtB,CAAC,CAAC,oBAAoB,CAAC;IACzB,OAAO;QACL,OAAO,EAAE,eAAe,MAAM,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,GAAG;QACzD,UAAU;KACX,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"theme-mode.d.ts","sourceRoot":"","sources":["../src/theme-mode.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAE7C,MAAM,MAAM,aAAa,GAAG,OAAO,GAAG,MAAM,GAAG,QAAQ,CAAC;AAExD,wBAAgB,uBAAuB,CAAC,MAAM,CAAC,EAAE,UAAU,GAAG,aAAa,CAG1E"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"theme-mode.js","sourceRoot":"","sources":["../src/theme-mode.ts"],"names":[],"mappings":"AAIA,MAAM,UAAU,uBAAuB,CAAC,MAAmB;IACzD,MAAM,IAAI,GAAG,MAAM,EAAE,KAAK,EAAE,WAAW,CAAC;IACxC,OAAO,IAAI,KAAK,OAAO,IAAI,IAAI,KAAK,MAAM,IAAI,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC;AACpF,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"breadcrumbs.d.ts","sourceRoot":"","sources":["../../../../src/themes/default/content/breadcrumbs.tsx"],"names":[],"mappings":"AACA,OAAO,EAAyB,KAAK,SAAS,EAAE,MAAM,UAAU,CAAC;AAOjE,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AAE3D,eAAO,MAAM,eAAe,EAAE,SAAS,CAAC,oBAAoB,CA6B3D,CAAC"}
|