@takazudo/zudo-doc 5.28.2 → 6.0.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/CHANGELOG.md +33 -0
- package/README.md +49 -16
- package/bin/gen-z-index.mjs +18 -18
- package/dist/agent-docs/identity.d.ts +4 -0
- package/dist/agent-docs/identity.js +24 -0
- package/dist/agent-docs/index.d.ts +5 -0
- package/dist/agent-docs/index.js +5 -0
- package/dist/agent-docs/limits.d.ts +11 -0
- package/dist/agent-docs/limits.js +24 -0
- package/dist/agent-docs/search.d.ts +14 -0
- package/dist/agent-docs/search.js +82 -0
- package/dist/agent-docs/tokenize.d.ts +2 -0
- package/dist/agent-docs/tokenize.js +22 -0
- package/dist/agent-docs/types.d.ts +68 -0
- package/dist/agent-docs/types.js +0 -0
- package/dist/ai-chat-modal/index.d.ts +1 -4
- package/dist/ai-chat-modal/index.js +183 -123
- package/dist/asset-components/asset-card.d.ts +1 -2
- package/dist/asset-components/asset-card.js +12 -12
- package/dist/asset-components/asset-code.d.ts +1 -2
- package/dist/asset-components/asset-code.js +10 -10
- package/dist/asset-components/shared.d.ts +3 -4
- package/dist/asset-components/shared.js +4 -4
- package/dist/asset-index-page/body.d.ts +5 -6
- package/dist/asset-index-page/body.js +6 -6
- package/dist/asset-index-page/index.d.ts +1 -2
- package/dist/asset-index-page/index.js +1 -1
- package/dist/asset-page/body.d.ts +5 -9
- package/dist/asset-page/body.js +3 -3
- package/dist/asset-page/components.d.ts +16 -17
- package/dist/asset-page/components.js +10 -9
- package/dist/asset-page/index.d.ts +1 -2
- package/dist/asset-page/index.js +1 -1
- package/dist/auto-logo/index.d.ts +1 -2
- package/dist/auto-logo/index.js +2 -2
- package/dist/body-foot-util/body-foot-util-area.d.ts +3 -4
- package/dist/body-foot-util/body-foot-util-area.js +1 -2
- package/dist/body-foot-util/edit-link.d.ts +2 -3
- package/dist/body-foot-util/edit-link.js +1 -2
- package/dist/breadcrumb/breadcrumb.d.ts +6 -6
- package/dist/breadcrumb/breadcrumb.js +3 -4
- package/dist/catalog.js +1 -1
- package/dist/category-nav/index.d.ts +1 -2
- package/dist/category-nav/index.js +11 -5
- package/dist/category-tree-nav/index.d.ts +1 -2
- package/dist/category-tree-nav/index.js +3 -3
- package/dist/chrome/derive.d.ts +18 -27
- package/dist/chrome/derive.js +47 -29
- package/dist/chrome/index.d.ts +5 -5
- package/dist/chrome/index.js +1 -1
- package/dist/chrome/island-data.d.ts +4 -0
- package/dist/chrome/island-data.js +52 -0
- package/dist/chrome/primary-slots.d.ts +2 -3
- package/dist/chrome-bindings.d.ts +30 -22
- package/dist/code-group/index.d.ts +3 -4
- package/dist/code-group/index.js +3 -7
- package/dist/code-syntax/code-block-enhancer.d.ts +1 -2
- package/dist/code-syntax/code-block-enhancer.js +2 -2
- package/dist/code-syntax/mermaid-init.d.ts +1 -2
- package/dist/code-syntax/mermaid-init.js +5 -2
- package/dist/code-syntax/tabs-init-script.js +1 -1
- package/dist/code-syntax/tabs-init.d.ts +1 -2
- package/dist/code-syntax/tabs-init.js +2 -2
- package/dist/code-syntax/tabs.d.ts +6 -6
- package/dist/code-syntax/tabs.js +8 -8
- package/dist/compiled.css +2937 -2942
- package/dist/config/component-tokens.d.ts +1 -1
- package/dist/config/component-tokens.js +22 -0
- package/dist/config-assertions/index.d.ts +13 -0
- package/dist/config-assertions/index.js +14 -0
- package/dist/config.d.ts +36 -17
- package/dist/config.js +23 -95
- package/dist/content/content-blockquote.d.ts +2 -3
- package/dist/content/content-blockquote.js +3 -3
- package/dist/content/content-code.d.ts +3 -4
- package/dist/content/content-code.js +5 -5
- package/dist/content/content-link.d.ts +3 -4
- package/dist/content/content-link.js +10 -10
- package/dist/content/content-ol.d.ts +2 -3
- package/dist/content/content-ol.js +5 -4
- package/dist/content/content-paragraph.d.ts +2 -3
- package/dist/content/content-paragraph.js +1 -1
- package/dist/content/content-strong.d.ts +2 -3
- package/dist/content/content-strong.js +3 -3
- package/dist/content/content-table.d.ts +2 -3
- package/dist/content/content-table.js +4 -4
- package/dist/content/content-ul.d.ts +2 -3
- package/dist/content/content-ul.js +4 -4
- package/dist/content/heading-h2.d.ts +2 -3
- package/dist/content/heading-h2.js +4 -4
- package/dist/content/heading-h3.d.ts +2 -3
- package/dist/content/heading-h3.js +4 -4
- package/dist/content/heading-h4.d.ts +2 -3
- package/dist/content/heading-h4.js +4 -4
- package/dist/content-admonition/index.d.ts +3 -4
- package/dist/content-admonition/index.js +2 -2
- package/dist/content.css +35 -33
- package/dist/design-token-panel-bootstrap-controller.d.ts +178 -0
- package/dist/design-token-panel-bootstrap-controller.js +359 -0
- package/dist/design-token-panel-bootstrap-island.d.ts +5 -0
- package/dist/design-token-panel-bootstrap-island.js +19 -0
- package/dist/design-token-panel-bootstrap.d.ts +5 -195
- package/dist/design-token-panel-bootstrap.js +3 -288
- package/dist/desktop-sidebar-toggle-island/index.d.ts +2 -7
- package/dist/desktop-sidebar-toggle-island/index.js +2 -58
- package/dist/desktop-sidebar-toggle-island/island.d.ts +4 -0
- package/dist/desktop-sidebar-toggle-island/island.js +43 -0
- package/dist/desktop-sidebar-toggle-island/storage.d.ts +4 -0
- package/dist/desktop-sidebar-toggle-island/storage.js +29 -0
- package/dist/desktop-toc-toggle-island/index.d.ts +2 -7
- package/dist/desktop-toc-toggle-island/index.js +2 -58
- package/dist/desktop-toc-toggle-island/island.d.ts +4 -0
- package/dist/desktop-toc-toggle-island/island.js +43 -0
- package/dist/desktop-toc-toggle-island/storage.d.ts +4 -0
- package/dist/desktop-toc-toggle-island/storage.js +29 -0
- package/dist/details/details.d.ts +3 -4
- package/dist/details/details.js +1 -1
- package/dist/doc-body-end/index.d.ts +1 -2
- package/dist/doc-body-end/index.js +1 -1
- package/dist/doc-body-end-islands/design-token-panel-island.d.ts +2 -2
- package/dist/doc-body-end-islands/design-token-panel-island.js +3 -7
- package/dist/doc-body-end-islands/index.d.ts +4 -21
- package/dist/doc-body-end-islands/index.js +5 -3
- package/dist/doc-body-end-islands/theme-pack-switcher-island.d.ts +3 -13
- package/dist/doc-body-end-islands/theme-pack-switcher-island.js +11 -13
- package/dist/doc-content-header/index.d.ts +1 -2
- package/dist/doc-content-header/index.js +1 -1
- package/dist/doc-history/index.d.ts +1 -1
- package/dist/doc-history/index.js +166 -141
- package/dist/doc-history-area/index.d.ts +6 -4
- package/dist/doc-history-area/index.js +17 -16
- package/dist/doc-metainfo-area/index.d.ts +2 -3
- package/dist/doc-metainfo-area/index.js +1 -1
- package/dist/doc-page-renderer/index.d.ts +13 -7
- package/dist/doc-page-renderer/index.js +10 -1
- package/dist/doc-page-shell/index.d.ts +20 -7
- package/dist/doc-page-shell/index.js +17 -6
- package/dist/doc-pager/index.d.ts +1 -2
- package/dist/doc-pager/index.js +3 -3
- package/dist/doc-tags-area/index.d.ts +2 -3
- package/dist/doc-tags-area/index.js +1 -1
- package/dist/doclayout/doc-layout-with-defaults.d.ts +9 -9
- package/dist/doclayout/doc-layout-with-defaults.js +5 -15
- package/dist/doclayout/doc-layout.d.ts +26 -27
- package/dist/doclayout/doc-layout.js +23 -14
- package/dist/docs-schema/index.d.ts +4 -0
- package/dist/docs-schema/index.js +1 -0
- package/dist/extract-headings/index.js +43 -12
- package/dist/factory-context/index.d.ts +22 -19
- package/dist/features.css +75 -8
- package/dist/find-in-page/find-bar.d.ts +4 -2
- package/dist/find-in-page/find-bar.js +58 -69
- package/dist/find-in-page/index.d.ts +2 -8
- package/dist/find-in-page/index.js +33 -30
- package/dist/footer/footer.d.ts +3 -4
- package/dist/footer/footer.js +3 -3
- package/dist/footer-with-defaults/index.d.ts +2 -3
- package/dist/footer-with-defaults/index.js +1 -1
- package/dist/frontmatter-preview-defaults/index.js +1 -0
- package/dist/head/doc-head.d.ts +1 -1
- package/dist/head/doc-head.js +24 -32
- package/dist/head/og-tags.d.ts +1 -1
- package/dist/head/og-tags.js +8 -7
- package/dist/head/twitter-card.d.ts +1 -1
- package/dist/head/twitter-card.js +1 -1
- package/dist/head-with-defaults/index.d.ts +7 -2
- package/dist/head-with-defaults/index.js +46 -32
- package/dist/header/header.d.ts +8 -8
- package/dist/header/header.js +9 -11
- package/dist/header/types.d.ts +7 -7
- package/dist/header-with-defaults/index.d.ts +3 -4
- package/dist/header-with-defaults/index.js +27 -14
- package/dist/home-intro/index.d.ts +2 -5
- package/dist/home-intro/index.js +7 -5
- package/dist/home-intro/prepare.js +4 -3
- package/dist/home-page/index.d.ts +3 -3
- package/dist/home-page/index.js +19 -17
- package/dist/html-preview-wrapper/highlighted-code.d.ts +3 -4
- package/dist/html-preview-wrapper/highlighted-code.js +19 -17
- package/dist/html-preview-wrapper/html-preview-wrapper.d.ts +4 -25
- package/dist/html-preview-wrapper/html-preview-wrapper.js +2 -87
- package/dist/html-preview-wrapper/html-preview.d.ts +3 -10
- package/dist/html-preview-wrapper/html-preview.js +13 -37
- package/dist/html-preview-wrapper/index.d.ts +2 -1
- package/dist/html-preview-wrapper/index.js +1 -1
- package/dist/html-preview-wrapper/preview-base.d.ts +3 -5
- package/dist/html-preview-wrapper/preview-base.js +56 -59
- package/dist/html-preview-wrapper/wrapper.d.ts +20 -0
- package/dist/html-preview-wrapper/wrapper.js +37 -0
- package/dist/hydration-pending.d.ts +3 -5
- package/dist/hydration-pending.js +7 -5
- package/dist/i18n-version/language-switcher.d.ts +5 -32
- package/dist/i18n-version/language-switcher.js +5 -106
- package/dist/i18n-version/switcher-generated-scripts.d.ts +2 -0
- package/dist/i18n-version/switcher-generated-scripts.js +107 -0
- package/dist/i18n-version/switcher-url-state.d.ts +76 -0
- package/dist/i18n-version/switcher-url-state.js +103 -0
- package/dist/i18n-version/version-banner.d.ts +2 -3
- package/dist/i18n-version/version-banner.js +1 -1
- package/dist/i18n-version/version-switcher.d.ts +5 -50
- package/dist/i18n-version/version-switcher.js +5 -157
- package/dist/icons/index.d.ts +18 -19
- package/dist/icons/index.js +17 -33
- package/dist/image-enlarge/index.d.ts +1 -10
- package/dist/image-enlarge/index.js +80 -55
- package/dist/image-enlarge/public.d.ts +2 -0
- package/dist/image-enlarge/public.js +6 -0
- package/dist/image-enlarge/ssr-fallback.d.ts +2 -0
- package/dist/image-enlarge/ssr-fallback.js +8 -0
- package/dist/index.d.ts +11 -4
- package/dist/inline-version-switcher/index.d.ts +1 -2
- package/dist/inline-version-switcher/index.js +1 -1
- package/dist/island-types/index.d.ts +2 -2
- package/dist/island-types/index.js +1 -5
- package/dist/math-block/index.d.ts +4 -7
- package/dist/math-block/index.js +5 -5
- package/dist/mcp/handler.d.ts +8 -0
- package/dist/mcp/handler.js +129 -0
- package/dist/mcp/index.d.ts +4 -0
- package/dist/mcp/index.js +7 -0
- package/dist/mcp/loader.d.ts +19 -0
- package/dist/mcp/loader.js +202 -0
- package/dist/mdx-components/index.js +40 -108
- package/dist/mermaid-enlarge/index.d.ts +1 -8
- package/dist/mermaid-enlarge/index.js +174 -158
- package/dist/mermaid-enlarge/public.d.ts +2 -0
- package/dist/mermaid-enlarge/public.js +6 -0
- package/dist/mermaid-enlarge/ssr-fallback.d.ts +2 -0
- package/dist/mermaid-enlarge/ssr-fallback.js +8 -0
- package/dist/metainfo/doc-metainfo.d.ts +2 -3
- package/dist/metainfo/doc-metainfo.js +1 -4
- package/dist/metainfo/doc-tags.d.ts +2 -3
- package/dist/metainfo/doc-tags.js +1 -1
- package/dist/metainfo/frontmatter-preview.d.ts +3 -4
- package/dist/metainfo/frontmatter-preview.js +1 -1
- package/dist/nav-data-prep/index.js +6 -4
- package/dist/nav-indexing/category-nav.d.ts +2 -3
- package/dist/nav-indexing/category-nav.js +1 -2
- package/dist/nav-indexing/category-tree-nav.d.ts +2 -3
- package/dist/nav-indexing/category-tree-nav.js +1 -1
- package/dist/nav-indexing/doc-card-grid.d.ts +2 -3
- package/dist/nav-indexing/doc-card-grid.js +1 -2
- package/dist/nav-indexing/docs-sitemap.d.ts +2 -3
- package/dist/nav-indexing/docs-sitemap.js +2 -2
- package/dist/nav-indexing/index.d.ts +1 -1
- package/dist/nav-indexing/nav-card-grid.d.ts +2 -3
- package/dist/nav-indexing/nav-card-grid.js +1 -2
- package/dist/nav-indexing/note-tray-index-parts/card-list.d.ts +1 -2
- package/dist/nav-indexing/note-tray-index-parts/card-list.js +4 -4
- package/dist/nav-indexing/note-tray-index-parts/date-line.d.ts +2 -3
- package/dist/nav-indexing/note-tray-index-parts/date-line.js +1 -1
- package/dist/nav-indexing/note-tray-index-parts/index-list.d.ts +1 -2
- package/dist/nav-indexing/note-tray-index-parts/index-list.js +2 -2
- package/dist/nav-indexing/note-tray-index-parts/timeline.d.ts +1 -2
- package/dist/nav-indexing/note-tray-index-parts/timeline.js +2 -2
- package/dist/nav-indexing/note-tray-index.d.ts +1 -2
- package/dist/nav-indexing/note-tray-index.js +1 -1
- package/dist/nav-indexing/site-tree-nav-demo.d.ts +2 -3
- package/dist/nav-indexing/site-tree-nav-demo.js +2 -2
- package/dist/nav-indexing/tag-nav.d.ts +1 -2
- package/dist/nav-indexing/tag-nav.js +1 -1
- package/dist/nav-indexing/types.d.ts +2 -2
- package/dist/nav-indexing/versions-page-content.d.ts +2 -3
- package/dist/nav-indexing/versions-page-content.js +8 -8
- package/dist/note-tray-index/index.d.ts +1 -2
- package/dist/note-tray-index/index.js +1 -1
- package/dist/page-loading/page-loading-overlay.d.ts +1 -2
- package/dist/page-loading/page-loading-overlay.js +3 -5
- package/dist/plugins/agent-export.d.ts +3 -0
- package/dist/plugins/agent-export.js +34 -0
- package/dist/plugins/internal/agent-export/chunk.d.ts +5 -0
- package/dist/plugins/internal/agent-export/chunk.js +90 -0
- package/dist/plugins/internal/agent-export/index.d.ts +24 -0
- package/dist/plugins/internal/agent-export/index.js +123 -0
- package/dist/plugins/internal/agent-export/normalize.d.ts +5 -0
- package/dist/plugins/internal/agent-export/normalize.js +73 -0
- package/dist/plugins/internal/llms-txt/dev-middleware.d.ts +6 -0
- package/dist/plugins/internal/llms-txt/dev-middleware.js +8 -3
- package/dist/plugins/internal/llms-txt/emit.js +23 -6
- package/dist/plugins/internal/llms-txt/generate.d.ts +7 -1
- package/dist/plugins/internal/llms-txt/generate.js +9 -2
- package/dist/plugins/internal/llms-txt/load.d.ts +2 -0
- package/dist/plugins/internal/llms-txt/load.js +20 -4
- package/dist/plugins/internal/llms-txt/types.d.ts +10 -0
- package/dist/plugins/routes.js +4 -0
- package/dist/preset.d.ts +19 -9
- package/dist/preset.js +20 -1
- package/dist/route-context-payload/index.js +1 -1
- package/dist/routes/404.d.ts +2 -3
- package/dist/routes/404.js +1 -1
- package/dist/routes/_chrome.d.ts +5 -5
- package/dist/routes/_chrome.js +7 -2
- package/dist/routes/_context.d.ts +4 -4
- package/dist/routes/_design-token-panel-bootstrap.d.ts +1 -4
- package/dist/routes/_design-token-panel-bootstrap.js +9 -1
- package/dist/routes/docs-slug.d.ts +2 -3
- package/dist/routes/docs-tags-index.d.ts +2 -3
- package/dist/routes/docs-tags-index.js +1 -1
- package/dist/routes/docs-tags-tag.d.ts +2 -3
- package/dist/routes/docs-tags-tag.js +1 -1
- package/dist/routes/docs-versions.d.ts +2 -3
- package/dist/routes/docs-versions.js +1 -1
- package/dist/routes/files-path.d.ts +2 -3
- package/dist/routes/files-path.js +1 -1
- package/dist/routes/index.d.ts +2 -3
- package/dist/routes/index.js +1 -1
- package/dist/routes/locale-docs-slug.d.ts +2 -3
- package/dist/routes/locale-docs-tags-index.d.ts +2 -3
- package/dist/routes/locale-docs-tags-index.js +1 -1
- package/dist/routes/locale-docs-tags-tag.d.ts +2 -3
- package/dist/routes/locale-docs-tags-tag.js +1 -1
- package/dist/routes/locale-docs-versions.d.ts +2 -3
- package/dist/routes/locale-docs-versions.js +1 -1
- package/dist/routes/locale-files-path.d.ts +2 -3
- package/dist/routes/locale-files-path.js +1 -1
- package/dist/routes/locale-index.d.ts +2 -3
- package/dist/routes/locale-index.js +1 -1
- package/dist/routes/mcp.d.ts +5 -0
- package/dist/routes/mcp.js +25 -0
- package/dist/routes/v-docs-slug.d.ts +2 -3
- package/dist/routes/v-locale-docs-slug.d.ts +2 -3
- package/dist/search-widget/index.d.ts +1 -2
- package/dist/search-widget/index.js +4 -7
- package/dist/search-widget-script/generated-script.js +12 -5
- package/dist/settings-defaults.d.ts +2 -0
- package/dist/settings-defaults.js +93 -0
- package/dist/settings.d.ts +8 -2
- package/dist/sidebar/client-data.d.ts +18 -0
- package/dist/sidebar/client-data.js +47 -0
- package/dist/sidebar/index.d.ts +3 -1
- package/dist/sidebar/index.js +3 -1
- package/dist/sidebar/sidebar.d.ts +12 -44
- package/dist/sidebar/sidebar.js +4 -3
- package/dist/sidebar/types.d.ts +14 -0
- package/dist/sidebar-prepaint/index.d.ts +1 -2
- package/dist/sidebar-prepaint/index.js +4 -6
- package/dist/sidebar-resizer/sidebar-resizer-init.d.ts +2 -3
- package/dist/sidebar-resizer/sidebar-resizer-init.js +3 -3
- package/dist/sidebar-toggle-island/index.d.ts +8 -11
- package/dist/sidebar-toggle-island/index.js +75 -62
- package/dist/sidebar-tree/build-tree.js +5 -6
- package/dist/sidebar-tree/types.d.ts +2 -0
- package/dist/sidebar-tree-island/index.d.ts +4 -19
- package/dist/sidebar-tree-island/index.js +782 -436
- package/dist/sidebar-tree-island/scope-state.d.ts +38 -0
- package/dist/sidebar-tree-island/scope-state.js +151 -0
- package/dist/sidebar-tree-island/sidebar-scroll-preserve.js +6 -2
- package/dist/sidebar-utils/index.d.ts +17 -19
- package/dist/sidebar-utils/index.js +100 -3
- package/dist/sidebar-utils/scope.d.ts +11 -0
- package/dist/sidebar-utils/scope.js +67 -0
- package/dist/sidebar-with-defaults/index.d.ts +1 -2
- package/dist/sidebar-with-defaults/index.js +19 -18
- package/dist/site-schema/nav-tree.js +15 -15
- package/dist/site-schema/types.d.ts +1 -0
- package/dist/site-tree-nav/index.d.ts +2 -3
- package/dist/site-tree-nav/index.js +11 -12
- package/dist/site-tree-nav/normalize-island-props.d.ts +16 -0
- package/dist/site-tree-nav/normalize-island-props.js +122 -0
- package/dist/site-tree-nav-island/index.d.ts +3 -3
- package/dist/site-tree-nav-island/index.js +243 -144
- package/dist/smart-break/index.d.ts +3 -4
- package/dist/smart-break/index.js +1 -1
- package/dist/tab-item/tab-item.d.ts +3 -4
- package/dist/tab-item/tab-item.js +1 -1
- package/dist/tag-pages/index.d.ts +3 -3
- package/dist/tag-pages/index.js +10 -10
- package/dist/theme/color-scheme-provider.d.ts +3 -3
- package/dist/theme/color-scheme-provider.js +3 -3
- package/dist/theme/theme-pack-provider.d.ts +1 -1
- package/dist/theme/theme-pack-provider.js +3 -3
- package/dist/theme/theme-toggle.d.ts +2 -3
- package/dist/theme/theme-toggle.js +1 -1
- package/dist/theme-pack-dialog/index.d.ts +1 -1
- package/dist/theme-pack-dialog/index.js +69 -75
- package/dist/theme-pack-dialog/theme-pack-card.d.ts +3 -4
- package/dist/theme-pack-dialog/theme-pack-card.js +19 -17
- package/dist/theme-pack-switcher/index.d.ts +4 -5
- package/dist/theme-pack-switcher/index.js +52 -49
- package/dist/theme-packs/academia/meta.json +1 -1
- package/dist/theme-packs/academia/pack.css +1 -1
- package/dist/theme-packs/bauhaus/meta.json +1 -1
- package/dist/theme-packs/bauhaus/pack.css +2 -2
- package/dist/theme-packs/blueprint/meta.json +1 -1
- package/dist/theme-packs/blueprint/pack.css +2 -2
- package/dist/theme-packs/botanica/meta.json +1 -1
- package/dist/theme-packs/botanica/pack.css +2 -2
- package/dist/theme-packs/broadsheet/meta.json +1 -1
- package/dist/theme-packs/broadsheet/pack.css +2 -2
- package/dist/theme-packs/brutalist/meta.json +1 -1
- package/dist/theme-packs/brutalist/pack.css +2 -2
- package/dist/theme-packs/eink/meta.json +1 -1
- package/dist/theme-packs/eink/pack.css +1 -1
- package/dist/theme-packs/futura-editorial/meta.json +1 -1
- package/dist/theme-packs/futura-editorial/pack.css +2 -2
- package/dist/theme-packs/hearth/meta.json +1 -1
- package/dist/theme-packs/hearth/pack.css +2 -2
- package/dist/theme-packs/ledger/meta.json +1 -1
- package/dist/theme-packs/ledger/pack.css +1 -1
- package/dist/theme-packs/manuscript/meta.json +1 -1
- package/dist/theme-packs/manuscript/pack.css +1 -1
- package/dist/theme-packs/matcha/meta.json +1 -1
- package/dist/theme-packs/matcha/pack.css +2 -2
- package/dist/theme-packs/nocturne/meta.json +1 -1
- package/dist/theme-packs/nocturne/pack.css +2 -2
- package/dist/theme-packs/observatory/meta.json +1 -1
- package/dist/theme-packs/observatory/pack.css +2 -2
- package/dist/theme-packs/onyx/meta.json +1 -1
- package/dist/theme-packs/onyx/pack.css +2 -2
- package/dist/theme-packs/phosphor/meta.json +1 -1
- package/dist/theme-packs/phosphor/pack.css +2 -2
- package/dist/theme-packs/riso/meta.json +1 -1
- package/dist/theme-packs/riso/pack.css +2 -2
- package/dist/theme-packs/sakura/meta.json +1 -1
- package/dist/theme-packs/sakura/pack.css +2 -2
- package/dist/theme-packs/scandi/meta.json +1 -1
- package/dist/theme-packs/scandi/pack.css +1 -1
- package/dist/theme-packs/solar/meta.json +1 -1
- package/dist/theme-packs/solar/pack.css +1 -1
- package/dist/theme-packs/sumi/meta.json +1 -1
- package/dist/theme-packs/sumi/pack.css +2 -2
- package/dist/theme-packs/swissgrid/meta.json +1 -1
- package/dist/theme-packs/swissgrid/pack.css +1 -1
- package/dist/theme-packs/timberline/meta.json +1 -1
- package/dist/theme-packs/timberline/pack.css +2 -2
- package/dist/theme-packs/washi/meta.json +1 -1
- package/dist/theme-packs/washi/pack.css +2 -2
- package/dist/theme-toggle/index.d.ts +1 -1
- package/dist/theme-toggle/index.js +154 -167
- package/dist/theme.css +47 -121
- package/dist/toc/mobile-toc.d.ts +3 -5
- package/dist/toc/mobile-toc.js +29 -27
- package/dist/toc/toc.d.ts +3 -4
- package/dist/toc/toc.js +18 -18
- package/dist/toc/use-active-heading.d.ts +5 -4
- package/dist/toc/use-active-heading.js +36 -30
- package/dist/toc-prepaint/index.d.ts +1 -2
- package/dist/toc-prepaint/index.js +4 -6
- package/dist/transitions/nested-island-props-refresh.d.ts +3 -16
- package/dist/transitions/nested-island-props-refresh.js +133 -151
- package/dist/transitions/page-events.d.ts +8 -13
- package/dist/tree-nav-shared/index.d.ts +4 -5
- package/dist/tree-nav-shared/index.js +6 -7
- package/dist/use-modal-dialog/index.d.ts +9 -63
- package/dist/use-modal-dialog/index.js +41 -59
- package/dist/versions-page/index.d.ts +3 -3
- package/dist/versions-page/index.js +5 -5
- package/dist/wind/index.d.ts +5 -0
- package/dist/wind/index.js +169 -0
- package/dist/wind.json +498 -0
- package/dist/z-index-defaults/index.d.ts +4 -4
- package/dist/zdtp-loader.d.ts +7 -0
- package/dist/zdtp-loader.js +8 -0
- package/eject/asset-components/asset-card.tsx +14 -16
- package/eject/asset-components/asset-code.tsx +10 -12
- package/eject/asset-components/shared.tsx +5 -7
- package/eject/breadcrumb/breadcrumb.tsx +15 -16
- package/eject/code-group/index.tsx +4 -10
- package/eject/content-admonition/index.tsx +5 -6
- package/eject/desktop-sidebar-toggle-island/index.ts +4 -0
- package/eject/desktop-sidebar-toggle-island/island.tsx +50 -0
- package/eject/desktop-sidebar-toggle-island/storage.ts +27 -0
- package/eject/details/details.tsx +3 -5
- package/eject/doc-history/index.tsx +193 -179
- package/eject/doc-pager/index.tsx +3 -4
- package/eject/footer/footer.tsx +7 -9
- package/eject/header/header.tsx +42 -54
- package/eject/header/nav-overflow-script.ts +1 -1
- package/eject/header/types.ts +12 -13
- package/eject/image-enlarge/index.tsx +84 -69
- package/eject/image-enlarge/public.ts +2 -0
- package/eject/image-enlarge/ssr-fallback.tsx +7 -0
- package/eject/page-loading/page-loading-overlay.tsx +8 -15
- package/eject/sidebar/client-data.ts +68 -0
- package/eject/sidebar/index.ts +3 -0
- package/eject/sidebar/sidebar.tsx +16 -97
- package/eject/sidebar/types.ts +15 -0
- package/eject/sidebar-toggle-island/index.tsx +103 -102
- package/eject/sidebar-tree-island/index.tsx +827 -615
- package/eject/sidebar-tree-island/scope-state.ts +154 -0
- package/eject/sidebar-tree-island/sidebar-scroll-preserve.ts +8 -2
- package/eject/site-tree-nav-island/index.tsx +349 -222
- package/eject/tab-item/tab-item.tsx +2 -4
- package/eject/theme-toggle/hydration-pending.ts +6 -10
- package/eject/theme-toggle/index.tsx +133 -173
- package/eject/toc/mobile-toc.tsx +27 -31
- package/eject/toc/toc.tsx +21 -24
- package/eject/toc/use-active-heading.ts +43 -38
- package/package.json +40 -22
- package/routes-src/404.tsx +2 -3
- package/routes-src/_chrome.tsx +7 -2
- package/routes-src/_design-token-panel-bootstrap.tsx +1 -63
- package/routes-src/docs-slug.tsx +2 -3
- package/routes-src/docs-tags-index.tsx +2 -3
- package/routes-src/docs-tags-tag.tsx +2 -3
- package/routes-src/docs-versions.tsx +2 -3
- package/routes-src/files-path.tsx +2 -4
- package/routes-src/index.tsx +2 -3
- package/routes-src/locale-docs-slug.tsx +2 -3
- package/routes-src/locale-docs-tags-index.tsx +2 -3
- package/routes-src/locale-docs-tags-tag.tsx +2 -3
- package/routes-src/locale-docs-versions.tsx +2 -3
- package/routes-src/locale-files-path.tsx +2 -4
- package/routes-src/locale-index.tsx +2 -3
- package/routes-src/mcp.tsx +25 -0
- package/routes-src/v-docs-slug.tsx +2 -3
- package/routes-src/v-locale-docs-slug.tsx +2 -3
- package/tsconfig.base.json +1 -1
- package/dist/safelist.css +0 -2
- package/dist/theme-no-reset.css +0 -379
- package/eject/desktop-sidebar-toggle-island/index.tsx +0 -110
|
@@ -1,12 +1,7 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
|
|
3
3
|
/** @jsxRuntime automatic */
|
|
4
|
-
|
|
5
|
-
// Use preact hook entrypoints directly — the "react" → "preact/compat" alias
|
|
6
|
-
// lets us consume React-typed components in this Preact app.
|
|
7
|
-
import { useState, useEffect, useRef } from "preact/hooks";
|
|
8
|
-
// After zudolab/zudo-doc#1335 the host components pull lifecycle event names
|
|
9
|
-
// from the v2 transitions module rather than hard-coding `astro:*` literals.
|
|
4
|
+
import { computed, getScope, signal, type Ref } from "@takazudo/zfb/zudo-react";
|
|
10
5
|
// `ensureNestedIslandPropsRefresh` is imported through the barrel (not the
|
|
11
6
|
// deep `./nested-island-props-refresh.js` path) on purpose: eject rewrites
|
|
12
7
|
// EVERY `../transitions/<anything>.js` import to the single specifier
|
|
@@ -15,20 +10,19 @@ import { useState, useEffect, useRef } from "preact/hooks";
|
|
|
15
10
|
import { AFTER_NAVIGATE_EVENT, ensureNestedIslandPropsRefresh } from "../transitions/index.js";
|
|
16
11
|
import { SidebarTree } from "../sidebar-tree-island/index.js";
|
|
17
12
|
import type { ThemeToggleLabels } from "../theme-toggle/index.js";
|
|
18
|
-
import type { SidebarNavNode, SidebarRootMenuItem, SidebarLocaleLink } from "../sidebar/types.js";
|
|
13
|
+
import type { SidebarNavNode, SidebarRootMenuItem, SidebarLocaleLink, SidebarNavigationContext } from "../sidebar/types.js";
|
|
19
14
|
import type { ResolvedDateFormats } from "../settings.js";
|
|
20
15
|
|
|
21
|
-
// This island lives
|
|
22
|
-
//
|
|
23
|
-
//
|
|
24
|
-
//
|
|
25
|
-
// here rather than from an effect. SSR evaluation is a safe no-op.
|
|
16
|
+
// This island lives inside the persisted `<header>`. Install the shared
|
|
17
|
+
// document-lifetime preparation helper eagerly and idempotently so the native
|
|
18
|
+
// zfb 3.1 lifecycle can retain unchanged nested islands and recreate this one
|
|
19
|
+
// when its serialized page props change. SSR evaluation is a safe no-op.
|
|
26
20
|
ensureNestedIslandPropsRefresh();
|
|
27
21
|
|
|
28
22
|
const cx = (...classes: Array<string | false | null | undefined>) =>
|
|
29
23
|
classes.filter(Boolean).join(" ");
|
|
30
24
|
|
|
31
|
-
// Icon visibility deliberately does NOT ride on
|
|
25
|
+
// Icon visibility deliberately does NOT ride on the `.hidden` utility.
|
|
32
26
|
// `.hidden` is emitted inside `@layer utilities`, and a consumer component pack
|
|
33
27
|
// that ships an UNLAYERED media reset — `img, svg, video, … { display: block }`
|
|
34
28
|
// — outranks every layered rule by cascade-layer precedence, no matter the
|
|
@@ -41,16 +35,16 @@ const HIDDEN_ICON_STYLE = "display:none";
|
|
|
41
35
|
|
|
42
36
|
// Mobile drawer hosts the SidebarTree directly (rather than receiving it as
|
|
43
37
|
// JSX children) so the tree's data props ride across the SSR → hydrate
|
|
44
|
-
// boundary inside
|
|
45
|
-
//
|
|
46
|
-
// `children
|
|
47
|
-
// dropped during hydration and Preact wiped the SSR-rendered tree DOM.
|
|
38
|
+
// boundary inside this island's `data-props` attribute. The island marker
|
|
39
|
+
// serializes the component's own props, not a child's props hidden inside
|
|
40
|
+
// `children`; passing SidebarTree that way drops its data at hydration.
|
|
48
41
|
// Mirroring the desktop `<Sidebar treeComponent={SidebarTree} ...>` shape
|
|
49
42
|
// keeps the data attached to the wrapping island. zudolab/zudo-doc#1355
|
|
50
43
|
// wave 13.5.
|
|
51
44
|
|
|
52
45
|
export interface SidebarToggleProps {
|
|
53
46
|
nodes: SidebarNavNode[];
|
|
47
|
+
navigation?: SidebarNavigationContext;
|
|
54
48
|
currentSlug?: string;
|
|
55
49
|
rootMenuItems?: SidebarRootMenuItem[];
|
|
56
50
|
backToMenuLabel?: string;
|
|
@@ -61,21 +55,18 @@ export interface SidebarToggleProps {
|
|
|
61
55
|
themeLabels?: ThemeToggleLabels;
|
|
62
56
|
themeRespectSystem?: boolean;
|
|
63
57
|
/**
|
|
64
|
-
* Forwarded verbatim to the hosted `<SidebarTree>`.
|
|
65
|
-
*
|
|
66
|
-
* its
|
|
67
|
-
*
|
|
68
|
-
*
|
|
69
|
-
* the blob rather than enumerating prop names (#4075). The patterns cannot
|
|
70
|
-
* actually differ across such a swap (the persist key is `header-${lang}`,
|
|
71
|
-
* so a locale change is never a persisted swap); what matters is that they
|
|
72
|
-
* are not LOST from the lifted island.
|
|
58
|
+
* Forwarded verbatim to the hosted `<SidebarTree>`. The same-locale header
|
|
59
|
+
* may persist across a soft navigation; zfb 3.1 keeps this island live when
|
|
60
|
+
* its effective props are unchanged and recreates it from incoming props
|
|
61
|
+
* when page data changes. The locale-keyed header persistence key prevents
|
|
62
|
+
* locale-specific props from crossing locales.
|
|
73
63
|
*/
|
|
74
64
|
dateFormats?: ResolvedDateFormats;
|
|
75
65
|
}
|
|
76
66
|
|
|
77
67
|
export function SidebarToggle({
|
|
78
68
|
nodes,
|
|
69
|
+
navigation,
|
|
79
70
|
currentSlug,
|
|
80
71
|
rootMenuItems,
|
|
81
72
|
backToMenuLabel,
|
|
@@ -86,35 +77,37 @@ export function SidebarToggle({
|
|
|
86
77
|
themeRespectSystem,
|
|
87
78
|
dateFormats,
|
|
88
79
|
}: SidebarToggleProps) {
|
|
89
|
-
//
|
|
90
|
-
//
|
|
91
|
-
//
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
const
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
const hamburgerRef = useRef<HTMLButtonElement>(null);
|
|
80
|
+
// State starts closed on the server and client so the hydration markup is
|
|
81
|
+
// byte-stable. The tree stays mounted inside this island and receives the
|
|
82
|
+
// page props directly; it is not wrapped in another Island.
|
|
83
|
+
const open = signal(false);
|
|
84
|
+
const hamburgerRef: Ref<HTMLButtonElement> = { current: null };
|
|
85
|
+
const closeIconRef: Ref<SVGSVGElement> = { current: null };
|
|
86
|
+
const menuIconRef: Ref<SVGSVGElement> = { current: null };
|
|
87
|
+
const scope = getScope();
|
|
98
88
|
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
89
|
+
// Keep the v2 body-scroll behavior and always release the lock when this
|
|
90
|
+
// scope closes or is disposed.
|
|
91
|
+
scope.effect(() => {
|
|
92
|
+
const isOpen = open.value;
|
|
93
|
+
document.body.style.overflow = isOpen ? "hidden" : "";
|
|
94
|
+
if (isOpen) closeIconRef.current?.style.removeProperty("display");
|
|
95
|
+
else closeIconRef.current?.style.setProperty("display", "none");
|
|
96
|
+
if (isOpen) menuIconRef.current?.style.setProperty("display", "none");
|
|
97
|
+
else menuIconRef.current?.style.removeProperty("display");
|
|
105
98
|
return () => {
|
|
106
99
|
document.body.style.overflow = "";
|
|
107
100
|
};
|
|
108
|
-
}
|
|
101
|
+
});
|
|
109
102
|
|
|
110
|
-
// Close mobile
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
}
|
|
103
|
+
// Close the mobile drawer after a client-side route swap.
|
|
104
|
+
scope.onActivate(() => {
|
|
105
|
+
const handleSwap = () => {
|
|
106
|
+
open.value = false;
|
|
107
|
+
};
|
|
115
108
|
document.addEventListener(AFTER_NAVIGATE_EVENT, handleSwap);
|
|
116
109
|
return () => document.removeEventListener(AFTER_NAVIGATE_EVENT, handleSwap);
|
|
117
|
-
}
|
|
110
|
+
});
|
|
118
111
|
|
|
119
112
|
// Escape-to-close (zudolab/zudo-doc#4366). Deliberately inlined rather than
|
|
120
113
|
// reusing `connectEscapeToClose` from theme-pack-switcher/switcher-state.js
|
|
@@ -127,91 +120,101 @@ export function SidebarToggle({
|
|
|
127
120
|
// the hamburger synchronously in the handler — the `<aside>` goes `inert`
|
|
128
121
|
// on close, so without this, focus left inside the drawer would strand on
|
|
129
122
|
// `<body>` and defeat the point of the fix for keyboard/AT users.
|
|
130
|
-
|
|
131
|
-
if (!open) return;
|
|
132
|
-
function handleKeyDown(event:
|
|
123
|
+
scope.effect(() => {
|
|
124
|
+
if (!open.value) return;
|
|
125
|
+
function handleKeyDown(event: Event) {
|
|
126
|
+
const keyboard = event as KeyboardEvent;
|
|
133
127
|
// An Escape that ends an IME composition belongs to the composition, not
|
|
134
128
|
// to the drawer: cancelling a Japanese conversion in the drawer's own
|
|
135
129
|
// "Filter navigation" input would otherwise dismiss the whole drawer and
|
|
136
130
|
// yank focus to the hamburger. Same guard the sibling document-level
|
|
137
131
|
// shortcut in `sidebar-tree-island/index.tsx` already uses.
|
|
138
|
-
if (
|
|
132
|
+
if (keyboard.isComposing) return;
|
|
139
133
|
// A nested popover (the Appearance menu, or its trigger button) that
|
|
140
134
|
// owns this Escape already called preventDefault() + stopPropagation()
|
|
141
135
|
// to consume it for itself — see theme-toggle/index.tsx. Respecting
|
|
142
136
|
// defaultPrevented here establishes layered Escape ownership: the first
|
|
143
137
|
// Escape closes only the nested layer, and only a second, unconsumed
|
|
144
138
|
// Escape reaches the drawer (zudolab/zudo-doc#4393).
|
|
145
|
-
if (
|
|
146
|
-
if (
|
|
147
|
-
|
|
139
|
+
if (keyboard.defaultPrevented) return;
|
|
140
|
+
if (keyboard.key === "Escape") {
|
|
141
|
+
open.value = false;
|
|
148
142
|
hamburgerRef.current?.focus();
|
|
149
143
|
}
|
|
150
144
|
}
|
|
151
145
|
document.addEventListener("keydown", handleKeyDown);
|
|
152
146
|
return () => document.removeEventListener("keydown", handleKeyDown);
|
|
153
|
-
}
|
|
147
|
+
});
|
|
154
148
|
|
|
149
|
+
const isClosed = computed(() => !open.value);
|
|
150
|
+
const toggleClass = computed(() =>
|
|
151
|
+
cx(
|
|
152
|
+
"lg:hidden shrink-0 px-hsp-sm py-vsp-xs -ml-hsp-sm mr-hsp-sm text-muted hover:text-fg",
|
|
153
|
+
open.value && "relative z-modal",
|
|
154
|
+
),
|
|
155
|
+
);
|
|
156
|
+
const backdropClass = computed(() =>
|
|
157
|
+
cx(
|
|
158
|
+
"fixed inset-0 z-modal-backdrop bg-overlay/30 lg:hidden",
|
|
159
|
+
!open.value && "hidden",
|
|
160
|
+
),
|
|
161
|
+
);
|
|
162
|
+
const panelClass = computed(() => `
|
|
163
|
+
fixed top-[3.5rem] left-0 z-modal h-[calc(100vh_-_3.5rem)] w-[16rem] flex flex-col
|
|
164
|
+
border-r border-muted bg-bg transition-transform duration-200
|
|
165
|
+
lg:hidden
|
|
166
|
+
${open.value ? "translate-x-0" : "-translate-x-full"}
|
|
167
|
+
`);
|
|
155
168
|
return (
|
|
156
169
|
<>
|
|
157
170
|
{/* Hamburger button - visible only on mobile.
|
|
158
171
|
Both icons are always rendered so the SSR output has the same
|
|
159
|
-
DOM shape as the
|
|
172
|
+
DOM shape as the hydrated tree. The inactive one is hidden
|
|
160
173
|
via an inline `display:none` (see HIDDEN_ICON_STYLE above), so
|
|
161
|
-
|
|
162
|
-
|
|
174
|
+
zudo-react hydrates byte-stable markup and keeps the click handler
|
|
175
|
+
attached. */}
|
|
163
176
|
<button
|
|
164
177
|
ref={hamburgerRef}
|
|
165
178
|
type="button"
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
// the button's own centre and the X is unclickable
|
|
173
|
-
// (zudolab/zudo-doc#4369). `relative` is required: a bare `z-index`
|
|
174
|
-
// has no effect on a statically-positioned element.
|
|
175
|
-
// Conditioning on `open` is load-bearing, not cosmetic: SSR always
|
|
176
|
-
// renders `open=false`, so the closed-state markup stays
|
|
177
|
-
// byte-identical (hydration-stable, and the A2 no-stub parity hashes
|
|
178
|
-
// for this directory do not move).
|
|
179
|
-
open && "relative z-modal",
|
|
179
|
+
on:click={() => {
|
|
180
|
+
open.value = !open.value;
|
|
181
|
+
}}
|
|
182
|
+
class={toggleClass}
|
|
183
|
+
aria-label={computed(() =>
|
|
184
|
+
open.value ? "Close sidebar" : "Open sidebar",
|
|
180
185
|
)}
|
|
181
|
-
aria-
|
|
182
|
-
aria-expanded={open}
|
|
186
|
+
aria-expanded={computed(() => (open.value ? "true" : "false"))}
|
|
183
187
|
>
|
|
184
188
|
{/* X icon — visible only when open */}
|
|
185
189
|
<svg
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
style={
|
|
190
|
+
ref={closeIconRef}
|
|
191
|
+
class="h-icon-lg w-icon-lg"
|
|
192
|
+
style={HIDDEN_ICON_STYLE}
|
|
189
193
|
aria-hidden="true"
|
|
190
194
|
fill="none"
|
|
191
195
|
viewBox="0 0 24 24"
|
|
192
196
|
stroke="currentColor"
|
|
193
|
-
|
|
197
|
+
stroke-width={2}
|
|
194
198
|
>
|
|
195
199
|
<path
|
|
196
|
-
|
|
197
|
-
|
|
200
|
+
stroke-linecap="round"
|
|
201
|
+
stroke-linejoin="round"
|
|
198
202
|
d="M6 18L18 6M6 6l12 12"
|
|
199
203
|
/>
|
|
200
204
|
</svg>
|
|
201
205
|
{/* Hamburger icon — visible only when closed */}
|
|
202
206
|
<svg
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
style={open ? HIDDEN_ICON_STYLE : undefined}
|
|
207
|
+
ref={menuIconRef}
|
|
208
|
+
class="h-icon-lg w-icon-lg"
|
|
206
209
|
aria-hidden="true"
|
|
207
210
|
fill="none"
|
|
208
211
|
viewBox="0 0 24 24"
|
|
209
212
|
stroke="currentColor"
|
|
210
|
-
|
|
213
|
+
stroke-width={2}
|
|
211
214
|
>
|
|
212
215
|
<path
|
|
213
|
-
|
|
214
|
-
|
|
216
|
+
stroke-linecap="round"
|
|
217
|
+
stroke-linejoin="round"
|
|
215
218
|
d="M4 6h16M4 12h16M4 18h16"
|
|
216
219
|
/>
|
|
217
220
|
</svg>
|
|
@@ -226,14 +229,16 @@ export function SidebarToggle({
|
|
|
226
229
|
dims the whole viewport, header included. The toggle button is the
|
|
227
230
|
one exception — while open it renders the X and advertises itself as
|
|
228
231
|
the close control, so it is lifted to `z-modal` (60) for exactly as
|
|
229
|
-
long as the drawer is open (see
|
|
230
|
-
in the header stays dimmed and non-interactive underneath.
|
|
231
|
-
Backdrop tapping
|
|
232
|
-
|
|
232
|
+
long as the drawer is open (see the button class above). Everything
|
|
233
|
+
else in the header stays dimmed and non-interactive underneath.
|
|
234
|
+
Backdrop tapping and Escape remain valid dismissals
|
|
235
|
+
(zudolab/zudo-doc#4366). */}
|
|
233
236
|
<div
|
|
234
|
-
|
|
235
|
-
aria-hidden={
|
|
236
|
-
|
|
237
|
+
class={backdropClass}
|
|
238
|
+
aria-hidden={isClosed}
|
|
239
|
+
on:click={() => {
|
|
240
|
+
open.value = false;
|
|
241
|
+
}}
|
|
237
242
|
/>
|
|
238
243
|
|
|
239
244
|
{/* Sidebar panel - mobile only (desktop sidebar is in doc-layout).
|
|
@@ -249,18 +254,14 @@ export function SidebarToggle({
|
|
|
249
254
|
`inert` it is UNCONDITIONAL, so it is hydration-stable by
|
|
250
255
|
construction: it does not vary with `open`. */}
|
|
251
256
|
<aside
|
|
252
|
-
inert={
|
|
257
|
+
inert={isClosed}
|
|
253
258
|
data-zd-mobile-sidebar
|
|
254
|
-
|
|
255
|
-
fixed top-[3.5rem] left-0 z-modal h-[calc(100vh-3.5rem)] w-[16rem] flex flex-col
|
|
256
|
-
border-r border-muted bg-bg transition-transform duration-200
|
|
257
|
-
lg:hidden
|
|
258
|
-
${open ? "translate-x-0" : "-translate-x-full"}
|
|
259
|
-
`}
|
|
259
|
+
class={panelClass}
|
|
260
260
|
>
|
|
261
|
-
<div
|
|
261
|
+
<div class="flex-1 overflow-y-auto">
|
|
262
262
|
<SidebarTree
|
|
263
263
|
nodes={nodes}
|
|
264
|
+
navigation={navigation}
|
|
264
265
|
currentSlug={currentSlug}
|
|
265
266
|
rootMenuItems={rootMenuItems}
|
|
266
267
|
backToMenuLabel={backToMenuLabel}
|