@takazudo/zudo-doc 5.28.2 → 6.0.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/CHANGELOG.md +22 -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/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 +28 -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 +2933 -2943
- 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 +70 -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 +1 -2
- package/dist/header-with-defaults/index.js +18 -8
- 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/index.d.ts +1 -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-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/index.ts +1 -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,4 +1,4 @@
|
|
|
1
|
-
import { jsx, jsxs } from "
|
|
1
|
+
import { jsx, jsxs } from "@takazudo/zfb/zudo-react/jsx-runtime";
|
|
2
2
|
import { formatAssetBytes } from "../asset-components/index.js";
|
|
3
3
|
import { assetViewerHref } from "../asset-path/index.js";
|
|
4
4
|
import { facetLabel, kindLabel } from "../asset-page/shared.js";
|
|
@@ -49,9 +49,9 @@ function AssetTree({ node, base, routePrefix, locale, fileCountLabel, fileCountS
|
|
|
49
49
|
return /* @__PURE__ */ jsxs("ul", { "data-zd-asset-tree": root ? true : void 0, children: [
|
|
50
50
|
node.dirs.map((dir) => /* @__PURE__ */ jsx("li", { children: /* @__PURE__ */ jsxs("details", { open: true, children: [
|
|
51
51
|
/* @__PURE__ */ jsxs("summary", { class: "flex cursor-pointer items-center gap-hsp-xs rounded px-hsp-sm py-vsp-3xs text-small hover:bg-accent/10 focus-visible:bg-accent/10", children: [
|
|
52
|
-
/* @__PURE__ */ jsx(ChevronRight, {
|
|
53
|
-
/* @__PURE__ */ jsx(Folder, {
|
|
54
|
-
/* @__PURE__ */ jsx(FolderOpen, {
|
|
52
|
+
/* @__PURE__ */ jsx(ChevronRight, { class: "h-icon-xs w-icon-xs shrink-0 text-muted transition-transform" }),
|
|
53
|
+
/* @__PURE__ */ jsx(Folder, { class: "h-icon-sm w-icon-sm shrink-0 text-muted" }),
|
|
54
|
+
/* @__PURE__ */ jsx(FolderOpen, { class: "h-icon-sm w-icon-sm shrink-0 text-muted" }),
|
|
55
55
|
/* @__PURE__ */ jsxs("span", { class: "min-w-0 truncate font-mono text-fg", children: [
|
|
56
56
|
dir.name,
|
|
57
57
|
"/"
|
|
@@ -69,7 +69,7 @@ function AssetTree({ node, base, routePrefix, locale, fileCountLabel, fileCountS
|
|
|
69
69
|
const facet = facetLabel(asset, asset.lines !== void 0 ? linesLabel.replace("{count}", String(asset.lines)) : void 0);
|
|
70
70
|
const meta = [kindLabel(asset), facet, formatAssetBytes(asset.bytes)].filter(Boolean).join(" \xB7 ");
|
|
71
71
|
return /* @__PURE__ */ jsx("li", { children: /* @__PURE__ */ jsxs("a", { href: assetViewerHref({ base, routePrefix, path: asset.path, locale }), title: asset.name, class: "flex min-w-0 items-center gap-hsp-xs rounded px-hsp-sm py-vsp-3xs text-small text-fg hover:bg-accent/10 hover:text-accent hover:underline focus-visible:bg-accent/10 focus-visible:text-accent focus-visible:underline", children: [
|
|
72
|
-
/* @__PURE__ */ jsx(Icon, {
|
|
72
|
+
/* @__PURE__ */ jsx(Icon, { class: "h-icon-sm w-icon-sm shrink-0 text-muted" }),
|
|
73
73
|
/* @__PURE__ */ jsx("span", { class: "min-w-0 truncate font-mono", children: basename(asset.path) }),
|
|
74
74
|
/* @__PURE__ */ jsx("span", { class: "ml-auto hidden whitespace-nowrap pl-hsp-lg text-caption text-muted sm:block", children: meta })
|
|
75
75
|
] }) });
|
|
@@ -105,7 +105,7 @@ function AssetIndexPageBody({ entries, labels, base, routePrefix, dir, locale })
|
|
|
105
105
|
] })
|
|
106
106
|
] }),
|
|
107
107
|
entries.length > 0 ? /* @__PURE__ */ jsx(AssetTree, { root: true, node: tree, base, routePrefix, locale, fileCountLabel: labels.fileCount, fileCountSingleLabel: labels.fileCountSingle, linesLabel: labels.lines }) : /* @__PURE__ */ jsx("p", { class: "text-small text-muted", "data-zd-asset-index-empty": true, children: labels.indexEmpty }),
|
|
108
|
-
/* @__PURE__ */ jsx("script", {
|
|
108
|
+
/* @__PURE__ */ jsx("script", { rawHtml: ASSET_INDEX_PAGE_SCRIPT })
|
|
109
109
|
] });
|
|
110
110
|
}
|
|
111
111
|
export {
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
/** @jsxRuntime automatic */
|
|
2
|
-
|
|
3
|
-
import type { JSX } from "preact";
|
|
2
|
+
import type { JSX } from "@takazudo/zfb/zudo-react/jsx-runtime";
|
|
4
3
|
import type { ChromeContext } from "../factory-context/index.js";
|
|
5
4
|
import type { AssetIndexEntry } from "../route-context-payload/types.js";
|
|
6
5
|
import type { Settings } from "../settings.js";
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { jsx } from "
|
|
1
|
+
import { jsx } from "@takazudo/zfb/zudo-react/jsx-runtime";
|
|
2
2
|
import { assertChromeContext } from "../chrome/assert-chrome-context.js";
|
|
3
3
|
import { deriveBodyEndIslands, deriveComposeMetaTitle } from "../chrome/derive.js";
|
|
4
4
|
import { derivePrimaryChromeSlots } from "../chrome/primary-slots.js";
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
/** @jsxRuntime automatic */
|
|
2
|
-
|
|
3
|
-
import type { VNode } from "preact";
|
|
2
|
+
import type { Child } from "@takazudo/zfb/zudo-react";
|
|
4
3
|
import type { DateFormatPattern } from "../format-date/index.js";
|
|
5
4
|
import type { AssetRecord } from "../plugins/internal/asset-viewer/types.js";
|
|
6
5
|
/**
|
|
@@ -58,13 +57,10 @@ export declare function resolveAssetPageLabels(t: (key: string, locale?: string)
|
|
|
58
57
|
* D3). Render this ahead of the rest of the page `head` — see
|
|
59
58
|
* `createAssetPageView`'s `head` prop on `DocLayoutWithDefaults`.
|
|
60
59
|
*
|
|
61
|
-
* A function
|
|
62
|
-
*
|
|
63
|
-
* reused across many independent SSR passes (e.g. every asset page in a
|
|
64
|
-
* `zfb build` run, all sharing this module) is a latent hazard. Each call
|
|
65
|
-
* returns a fresh vnode.
|
|
60
|
+
* A function so each page composition receives its own child description;
|
|
61
|
+
* the executable payload itself is the static literal from `script.ts`.
|
|
66
62
|
*/
|
|
67
|
-
export declare function renderAssetDetailsPrepaintScript():
|
|
63
|
+
export declare function renderAssetDetailsPrepaintScript(): Child;
|
|
68
64
|
export interface AssetPageBodyProps {
|
|
69
65
|
/** The asset record being rendered. */
|
|
70
66
|
entry: AssetRecord;
|
|
@@ -95,4 +91,4 @@ export interface AssetPageBodyProps {
|
|
|
95
91
|
* placed inline as `DocLayoutWithDefaults`'s children before the #4221
|
|
96
92
|
* split. Plain props only, no `ChromeContext`.
|
|
97
93
|
*/
|
|
98
|
-
export declare function AssetPageBody({ entry: asset, locale, rawUrl, labels, fullPattern, backLink, viewSourceUrl, showViewSource, }: AssetPageBodyProps):
|
|
94
|
+
export declare function AssetPageBody({ entry: asset, locale, rawUrl, labels, fullPattern, backLink, viewSourceUrl, showViewSource, }: AssetPageBodyProps): Child;
|
package/dist/asset-page/body.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { jsx, jsxs } from "
|
|
1
|
+
import { jsx, jsxs } from "@takazudo/zfb/zudo-react/jsx-runtime";
|
|
2
2
|
import { BodyFootUtilArea } from "../body-foot-util/index.js";
|
|
3
3
|
import {
|
|
4
4
|
AssetActions,
|
|
@@ -42,7 +42,7 @@ function resolveAssetPageLabels(t, locale) {
|
|
|
42
42
|
};
|
|
43
43
|
}
|
|
44
44
|
function renderAssetDetailsPrepaintScript() {
|
|
45
|
-
return /* @__PURE__ */ jsx("script", {
|
|
45
|
+
return /* @__PURE__ */ jsx("script", { rawHtml: ASSET_DETAILS_PREPAINT_SCRIPT });
|
|
46
46
|
}
|
|
47
47
|
function AssetPageBody({
|
|
48
48
|
entry: asset,
|
|
@@ -97,7 +97,7 @@ function AssetPageBody({
|
|
|
97
97
|
body,
|
|
98
98
|
/* @__PURE__ */ jsx(AssetActions, { rawUrl, downloadLabel: labels.download, openRawLabel: labels.openRaw, copyLabel: labels.copy, wrapLabel: labels.wrap, bottom: true }),
|
|
99
99
|
showViewSource && /* @__PURE__ */ jsx(BodyFootUtilArea, { sourceUrl: viewSourceUrl, viewSourceLabel: labels.viewSource, docHistoryIsland: null }),
|
|
100
|
-
/* @__PURE__ */ jsx("script", {
|
|
100
|
+
/* @__PURE__ */ jsx("script", { rawHtml: ASSET_PAGE_SCRIPT })
|
|
101
101
|
] });
|
|
102
102
|
}
|
|
103
103
|
export {
|
|
@@ -1,12 +1,11 @@
|
|
|
1
1
|
/** @jsxRuntime automatic */
|
|
2
|
-
|
|
3
|
-
import type { ComponentChildren, VNode } from "preact";
|
|
2
|
+
import type { Child } from "@takazudo/zfb/zudo-react";
|
|
4
3
|
import type { DateFormatPattern } from "../format-date/index.js";
|
|
5
4
|
import type { AssetRecord } from "../plugins/internal/asset-viewer/types.js";
|
|
6
5
|
export declare function AssetEyebrow({ asset, badge }: {
|
|
7
6
|
asset: AssetRecord;
|
|
8
7
|
badge: string;
|
|
9
|
-
}):
|
|
8
|
+
}): Child;
|
|
10
9
|
export declare function AssetHeader({ asset, locale, badge, updatedLabel, linesLabel, fullPattern }: {
|
|
11
10
|
asset: AssetRecord;
|
|
12
11
|
locale: string;
|
|
@@ -14,7 +13,7 @@ export declare function AssetHeader({ asset, locale, badge, updatedLabel, linesL
|
|
|
14
13
|
updatedLabel: string;
|
|
15
14
|
linesLabel?: string;
|
|
16
15
|
fullPattern?: DateFormatPattern;
|
|
17
|
-
}):
|
|
16
|
+
}): Child;
|
|
18
17
|
export declare function AssetActions({ rawUrl, downloadLabel, openRawLabel, copyLabel, wrapLabel, code, bottom }: {
|
|
19
18
|
rawUrl: string;
|
|
20
19
|
downloadLabel: string;
|
|
@@ -23,14 +22,14 @@ export declare function AssetActions({ rawUrl, downloadLabel, openRawLabel, copy
|
|
|
23
22
|
wrapLabel: string;
|
|
24
23
|
code?: boolean;
|
|
25
24
|
bottom?: boolean;
|
|
26
|
-
}):
|
|
25
|
+
}): Child;
|
|
27
26
|
export declare function AssetCodeBody({ asset, copyLabel, wrapLabel, truncatedLabel, linesLabel }: {
|
|
28
27
|
asset: AssetRecord;
|
|
29
28
|
copyLabel: string;
|
|
30
29
|
wrapLabel: string;
|
|
31
30
|
truncatedLabel: string;
|
|
32
31
|
linesLabel?: string;
|
|
33
|
-
}):
|
|
32
|
+
}): Child;
|
|
34
33
|
export interface AssetImageStageLabels {
|
|
35
34
|
fit: string;
|
|
36
35
|
actualSize: string;
|
|
@@ -42,27 +41,27 @@ export declare function AssetImageStage({ asset, rawUrl, labels }: {
|
|
|
42
41
|
asset: AssetRecord;
|
|
43
42
|
rawUrl: string;
|
|
44
43
|
labels: AssetImageStageLabels;
|
|
45
|
-
}):
|
|
44
|
+
}): Child;
|
|
46
45
|
export declare function AssetVideoStage({ asset, rawUrl }: {
|
|
47
46
|
asset: AssetRecord;
|
|
48
47
|
rawUrl: string;
|
|
49
|
-
}):
|
|
48
|
+
}): Child;
|
|
50
49
|
export declare function AssetPdfStage({ asset, rawUrl, children }: {
|
|
51
50
|
asset: AssetRecord;
|
|
52
51
|
rawUrl: string;
|
|
53
|
-
children:
|
|
54
|
-
}):
|
|
52
|
+
children: Child;
|
|
53
|
+
}): Child;
|
|
55
54
|
export declare function AssetDownloadPanel({ asset, rawUrl, noPreview, downloadLabel, copyLabel }: {
|
|
56
55
|
asset: AssetRecord;
|
|
57
56
|
rawUrl: string;
|
|
58
57
|
noPreview: string;
|
|
59
58
|
downloadLabel: string;
|
|
60
59
|
copyLabel: string;
|
|
61
|
-
}):
|
|
60
|
+
}): Child;
|
|
62
61
|
export declare function AssetLinkedFrom({ asset, label }: {
|
|
63
62
|
asset: AssetRecord;
|
|
64
63
|
label: string;
|
|
65
|
-
}):
|
|
64
|
+
}): Child | null;
|
|
66
65
|
export interface AssetDetailsLabels {
|
|
67
66
|
heading: string;
|
|
68
67
|
type: string;
|
|
@@ -74,7 +73,7 @@ export interface AssetDetailsLabels {
|
|
|
74
73
|
export declare function AssetDetails({ asset, labels }: {
|
|
75
74
|
asset: AssetRecord;
|
|
76
75
|
labels: AssetDetailsLabels;
|
|
77
|
-
}):
|
|
76
|
+
}): Child;
|
|
78
77
|
export interface AssetDetailsToggleLabels {
|
|
79
78
|
collapse: string;
|
|
80
79
|
expand: string;
|
|
@@ -87,8 +86,8 @@ export interface AssetDetailsToggleLabels {
|
|
|
87
86
|
* `body.tsx#AssetPageBody` can compose it from a different module.
|
|
88
87
|
*/
|
|
89
88
|
export declare function AssetBodyLayout({ stage, details, linked, toggleLabels }: {
|
|
90
|
-
stage:
|
|
91
|
-
details:
|
|
92
|
-
linked:
|
|
89
|
+
stage: Child;
|
|
90
|
+
details: Child;
|
|
91
|
+
linked: Child;
|
|
93
92
|
toggleLabels: AssetDetailsToggleLabels;
|
|
94
|
-
}):
|
|
93
|
+
}): Child;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Fragment, jsx, jsxs } from "
|
|
1
|
+
import { Fragment, jsx, jsxs } from "@takazudo/zfb/zudo-react/jsx-runtime";
|
|
2
2
|
import { formatDate } from "../format-date/index.js";
|
|
3
3
|
import { formatAssetBytes } from "../asset-components/index.js";
|
|
4
4
|
import { ChevronLeft, ChevronRight } from "../icons/index.js";
|
|
@@ -30,7 +30,7 @@ function AssetHeader({ asset, locale, badge, updatedLabel, linesLabel, fullPatte
|
|
|
30
30
|
}
|
|
31
31
|
function AssetActions({ rawUrl, downloadLabel, openRawLabel, copyLabel, wrapLabel, code = false, bottom = false }) {
|
|
32
32
|
return /* @__PURE__ */ jsxs("div", { class: `${bottom ? "mt-vsp-lg border-t border-muted pt-vsp-md" : "mb-vsp-md"} flex flex-wrap gap-hsp-sm`, "data-zd-asset-actions": true, children: [
|
|
33
|
-
/* @__PURE__ */ jsx("a", { download:
|
|
33
|
+
/* @__PURE__ */ jsx("a", { download: "", href: rawUrl, class: `${actionClass(true)} hover:underline focus-visible:underline`, children: downloadLabel }),
|
|
34
34
|
/* @__PURE__ */ jsx("a", { href: rawUrl, "data-zfb-reload": true, target: "_blank", rel: "noopener", class: `${actionClass()} hover:underline focus-visible:underline`, children: openRawLabel }),
|
|
35
35
|
code && /* @__PURE__ */ jsx("button", { type: "button", disabled: true, "data-zd-asset-action": "copy", class: actionClass(), children: copyLabel }),
|
|
36
36
|
code && /* @__PURE__ */ jsx("button", { type: "button", disabled: true, "data-zd-asset-action": "wrap", class: actionClass(), children: wrapLabel })
|
|
@@ -54,7 +54,7 @@ function AssetCodeBody({ asset, copyLabel, wrapLabel, truncatedLabel, linesLabel
|
|
|
54
54
|
/* @__PURE__ */ jsx("button", { type: "button", disabled: true, "data-zd-asset-action": "wrap", class: "text-fg hover:text-accent focus-visible:text-accent", children: wrapLabel })
|
|
55
55
|
] })
|
|
56
56
|
] }),
|
|
57
|
-
/* @__PURE__ */ jsx("pre", { class: "hi-root zd-asset-code", "data-lang": asset.language ?? "text",
|
|
57
|
+
/* @__PURE__ */ jsx("pre", { class: "hi-root zd-asset-code", "data-lang": asset.language ?? "text", rawHtml: highlightedCode }),
|
|
58
58
|
asset.truncated && /* @__PURE__ */ jsx("p", { class: "mt-vsp-xs text-caption text-muted", children: truncatedLabel })
|
|
59
59
|
] });
|
|
60
60
|
}
|
|
@@ -84,7 +84,7 @@ function AssetVideoStage({ asset, rawUrl }) {
|
|
|
84
84
|
}
|
|
85
85
|
function AssetPdfStage({ asset, rawUrl, children }) {
|
|
86
86
|
return /* @__PURE__ */ jsxs("section", { children: [
|
|
87
|
-
/* @__PURE__ */ jsx("iframe", { title: asset.name, src: `${rawUrl}#view=FitH`,
|
|
87
|
+
/* @__PURE__ */ jsx("iframe", { title: asset.name, src: `${rawUrl}#view=FitH`, "data-zd-asset-pdf": true, class: "h-[70vh] w-full rounded border border-muted" }),
|
|
88
88
|
/* @__PURE__ */ jsx("div", { class: "mt-vsp-sm", children })
|
|
89
89
|
] });
|
|
90
90
|
}
|
|
@@ -99,7 +99,7 @@ function AssetDownloadPanel({ asset, rawUrl, noPreview, downloadLabel, copyLabel
|
|
|
99
99
|
] }),
|
|
100
100
|
/* @__PURE__ */ jsx("p", { class: "mb-vsp-md text-small text-muted", children: noPreview }),
|
|
101
101
|
/* @__PURE__ */ jsxs("div", { class: "flex flex-wrap justify-center gap-hsp-sm", children: [
|
|
102
|
-
/* @__PURE__ */ jsx("a", { download:
|
|
102
|
+
/* @__PURE__ */ jsx("a", { download: "", href: rawUrl, class: `${actionClass(true)} hover:underline focus-visible:underline`, children: downloadLabel }),
|
|
103
103
|
/* @__PURE__ */ jsx("button", { type: "button", "data-zd-asset-action": "copy-url", "data-zd-copy-url": rawUrl, class: actionClass(), children: copyLabel })
|
|
104
104
|
] })
|
|
105
105
|
] });
|
|
@@ -122,7 +122,7 @@ function AssetDetails({ asset, labels }) {
|
|
|
122
122
|
return /* @__PURE__ */ jsxs("section", { children: [
|
|
123
123
|
/* @__PURE__ */ jsx("h2", { class: "mb-vsp-xs text-title font-bold", children: labels.heading }),
|
|
124
124
|
/* @__PURE__ */ jsx("dl", { "data-zd-asset-details-list": true, class: "grid grid-cols-[auto_1fr] gap-x-hsp-md gap-y-vsp-2xs text-caption", children: rows.map(([term, value]) => /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
125
|
-
/* @__PURE__ */ jsx("dt", { class: "font-
|
|
125
|
+
/* @__PURE__ */ jsx("dt", { class: "font-semibold text-muted", children: term }),
|
|
126
126
|
/* @__PURE__ */ jsx("dd", { class: "min-w-0 break-words text-fg", children: value })
|
|
127
127
|
] })) })
|
|
128
128
|
] });
|
|
@@ -140,10 +140,11 @@ function AssetDetailsToggle({ labels }) {
|
|
|
140
140
|
"aria-controls": ASSET_DETAILS_RAIL_ID,
|
|
141
141
|
"aria-expanded": "true",
|
|
142
142
|
"aria-label": labels.collapse,
|
|
143
|
-
class: "zd-asset-details-toggle hidden lg:flex fixed bottom-vsp-xl z-sidebar items-center justify-center w-[1.5rem] h-[3rem] bg-surface border border-muted border-r-0
|
|
143
|
+
class: "zd-asset-details-toggle hidden lg:flex fixed bottom-vsp-xl z-sidebar items-center justify-center w-[1.5rem] h-[3rem] bg-surface border border-muted border-r-0 text-muted cursor-pointer transition-colors duration-200 hover:text-fg disabled:cursor-default disabled:opacity-50",
|
|
144
|
+
style: "border-top-left-radius:var(--radius-DEFAULT);border-bottom-left-radius:var(--radius-DEFAULT)",
|
|
144
145
|
children: [
|
|
145
|
-
/* @__PURE__ */ jsx("span", { "data-zd-asset-details-chevron": "collapse", children: /* @__PURE__ */ jsx(ChevronRight, {
|
|
146
|
-
/* @__PURE__ */ jsx("span", { "data-zd-asset-details-chevron": "expand", children: /* @__PURE__ */ jsx(ChevronLeft, {
|
|
146
|
+
/* @__PURE__ */ jsx("span", { "data-zd-asset-details-chevron": "collapse", children: /* @__PURE__ */ jsx(ChevronRight, { class: "h-icon-sm w-icon-sm" }) }),
|
|
147
|
+
/* @__PURE__ */ jsx("span", { "data-zd-asset-details-chevron": "expand", children: /* @__PURE__ */ jsx(ChevronLeft, { class: "h-icon-sm w-icon-sm" }) })
|
|
147
148
|
]
|
|
148
149
|
}
|
|
149
150
|
);
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
/** @jsxRuntime automatic */
|
|
2
|
-
|
|
3
|
-
import type { JSX } from "preact";
|
|
2
|
+
import type { JSX } from "@takazudo/zfb/zudo-react/jsx-runtime";
|
|
4
3
|
import type { ChromeContext } from "../factory-context/index.js";
|
|
5
4
|
import type { AssetRecord } from "../plugins/internal/asset-viewer/types.js";
|
|
6
5
|
import type { Settings } from "../settings.js";
|
package/dist/asset-page/index.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Fragment, jsx, jsxs } from "
|
|
1
|
+
import { Fragment, jsx, jsxs } from "@takazudo/zfb/zudo-react/jsx-runtime";
|
|
2
2
|
import { deriveBodyEndIslands, deriveDateFormats } from "../chrome/derive.js";
|
|
3
3
|
import { deriveComposeMetaTitle } from "../chrome/derive.js";
|
|
4
4
|
import { derivePrimaryChromeSlots } from "../chrome/primary-slots.js";
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
/** @jsxRuntime automatic */
|
|
2
|
-
|
|
3
|
-
import type { JSX } from "preact";
|
|
2
|
+
import type { JSX } from "@takazudo/zfb/zudo-react/jsx-runtime";
|
|
4
3
|
import { pickGlyphName } from "./shapes.js";
|
|
5
4
|
export { pickGlyphName };
|
|
6
5
|
export { renderAutoLogoStandaloneSvg } from "./standalone.js";
|
package/dist/auto-logo/index.js
CHANGED
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
/** @jsxRuntime automatic */
|
|
2
|
-
|
|
3
|
-
import type { VNode } from "preact";
|
|
2
|
+
import type { Child, Description } from "@takazudo/zfb/zudo-react";
|
|
4
3
|
/**
|
|
5
4
|
* Default label used when the consumer doesn't pass one. The legacy
|
|
6
5
|
* Astro template translated `doc.viewSource` via the project's i18n
|
|
@@ -36,7 +35,7 @@ export interface BodyFootUtilAreaProps {
|
|
|
36
35
|
*
|
|
37
36
|
* Pass `null` / `undefined` to suppress the history trigger entirely.
|
|
38
37
|
*/
|
|
39
|
-
docHistoryIsland?:
|
|
38
|
+
docHistoryIsland?: Description | null;
|
|
40
39
|
}
|
|
41
40
|
/**
|
|
42
41
|
* Footer utility area shown below an article body — composes the
|
|
@@ -48,4 +47,4 @@ export interface BodyFootUtilAreaProps {
|
|
|
48
47
|
* surrounding `<section>` (with its top border + spacing) doesn't
|
|
49
48
|
* appear as an empty band.
|
|
50
49
|
*/
|
|
51
|
-
export declare function BodyFootUtilArea(props: BodyFootUtilAreaProps):
|
|
50
|
+
export declare function BodyFootUtilArea(props: BodyFootUtilAreaProps): Child;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Fragment, jsx, jsxs } from "
|
|
1
|
+
import { Fragment, jsx, jsxs } from "@takazudo/zfb/zudo-react/jsx-runtime";
|
|
2
2
|
const DEFAULT_VIEW_SOURCE_LABEL = "View source on GitHub";
|
|
3
3
|
function BodyFootUtilArea(props) {
|
|
4
4
|
const {
|
|
@@ -26,7 +26,6 @@ function BodyFootUtilArea(props) {
|
|
|
26
26
|
/* @__PURE__ */ jsxs(
|
|
27
27
|
"svg",
|
|
28
28
|
{
|
|
29
|
-
xmlns: "http://www.w3.org/2000/svg",
|
|
30
29
|
class: "h-[0.875rem] w-[0.875rem]",
|
|
31
30
|
fill: "none",
|
|
32
31
|
viewBox: "0 0 24 24",
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
/** @jsxRuntime automatic */
|
|
2
|
-
|
|
3
|
-
import type { VNode } from "preact";
|
|
2
|
+
import type { Child } from "@takazudo/zfb/zudo-react";
|
|
4
3
|
/**
|
|
5
4
|
* Default label used when the consumer doesn't pass one. The legacy
|
|
6
5
|
* Astro template translated `doc.editPage` via the project's i18n
|
|
@@ -38,4 +37,4 @@ export interface EditLinkProps {
|
|
|
38
37
|
* are pre-resolved by the caller. This matches the breadcrumb subpath
|
|
39
38
|
* pattern of "no settings/i18n imports inside the v2 package".
|
|
40
39
|
*/
|
|
41
|
-
export declare function EditLink(props: EditLinkProps):
|
|
40
|
+
export declare function EditLink(props: EditLinkProps): Child;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { jsx, jsxs } from "
|
|
1
|
+
import { jsx, jsxs } from "@takazudo/zfb/zudo-react/jsx-runtime";
|
|
2
2
|
const DEFAULT_EDIT_LINK_LABEL = "Edit this page";
|
|
3
3
|
function EditLink(props) {
|
|
4
4
|
const { editUrl, label = DEFAULT_EDIT_LINK_LABEL } = props;
|
|
@@ -14,7 +14,6 @@ function EditLink(props) {
|
|
|
14
14
|
/* @__PURE__ */ jsx(
|
|
15
15
|
"svg",
|
|
16
16
|
{
|
|
17
|
-
xmlns: "http://www.w3.org/2000/svg",
|
|
18
17
|
class: "h-[0.875rem] w-[0.875rem]",
|
|
19
18
|
fill: "none",
|
|
20
19
|
viewBox: "0 0 24 24",
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
/** @jsxRuntime automatic */
|
|
2
|
-
|
|
3
|
-
import type { ComponentChildren, VNode } from "preact";
|
|
2
|
+
import type { Child } from "@takazudo/zfb/zudo-react";
|
|
4
3
|
import type { BreadcrumbItem, BreadcrumbNode } from "./types.js";
|
|
5
4
|
/**
|
|
6
5
|
* Convert a sidebar tree + the current page's id into the ordered list
|
|
@@ -30,14 +29,15 @@ export interface BreadcrumbProps {
|
|
|
30
29
|
* breadcrumb + version-switcher row:
|
|
31
30
|
*
|
|
32
31
|
* class="mb-vsp-sm flex flex-col items-start gap-vsp-xs
|
|
33
|
-
* sm:flex-row sm:items-center sm:justify-between
|
|
32
|
+
* sm:flex-row sm:items-center sm:justify-between zd-breadcrumb-nav-no-margin"
|
|
34
33
|
*
|
|
35
|
-
* The `
|
|
34
|
+
* The `zd-breadcrumb-nav-no-margin` rule strips the nav's own
|
|
35
|
+
* `mb-vsp-md` so the
|
|
36
36
|
* wrapper margin controls spacing instead. Use this to place the
|
|
37
37
|
* VersionSwitcher pill inline at the right of the breadcrumb row,
|
|
38
38
|
* matching the reference site's layout on category index pages.
|
|
39
39
|
*/
|
|
40
|
-
rightSlot?:
|
|
40
|
+
rightSlot?: Child;
|
|
41
41
|
}
|
|
42
42
|
/**
|
|
43
43
|
* Breadcrumb trail component.
|
|
@@ -50,4 +50,4 @@ export interface BreadcrumbProps {
|
|
|
50
50
|
* Returns null when no items resolve, matching the documented
|
|
51
51
|
* `items.length > 0 &&` guard.
|
|
52
52
|
*/
|
|
53
|
-
export declare function Breadcrumb(props: BreadcrumbProps):
|
|
53
|
+
export declare function Breadcrumb(props: BreadcrumbProps): Child;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Fragment, jsx, jsxs } from "
|
|
1
|
+
import { Fragment, jsx, jsxs } from "@takazudo/zfb/zudo-react/jsx-runtime";
|
|
2
2
|
import { findPath } from "./find-path.js";
|
|
3
3
|
import { ChevronRight } from "../icons/index.js";
|
|
4
4
|
function buildBreadcrumbItems(tree, currentId, homeHref) {
|
|
@@ -43,13 +43,12 @@ function isPathLike(text) {
|
|
|
43
43
|
return false;
|
|
44
44
|
}
|
|
45
45
|
function ChevronIcon() {
|
|
46
|
-
return /* @__PURE__ */ jsx(ChevronRight, {
|
|
46
|
+
return /* @__PURE__ */ jsx(ChevronRight, { class: "h-icon-xs w-icon-xs text-muted shrink-0" });
|
|
47
47
|
}
|
|
48
48
|
function HomeIcon() {
|
|
49
49
|
return /* @__PURE__ */ jsx(
|
|
50
50
|
"svg",
|
|
51
51
|
{
|
|
52
|
-
xmlns: "http://www.w3.org/2000/svg",
|
|
53
52
|
class: "h-[1.575rem] w-[1.575rem] shrink-0",
|
|
54
53
|
fill: "none",
|
|
55
54
|
viewBox: "0 0 24 24",
|
|
@@ -92,7 +91,7 @@ function Breadcrumb(props) {
|
|
|
92
91
|
}
|
|
93
92
|
);
|
|
94
93
|
if (props.rightSlot === void 0) return nav;
|
|
95
|
-
return /* @__PURE__ */ jsxs("div", { class: "mb-vsp-sm flex flex-col items-start gap-vsp-xs sm:flex-row sm:items-center sm:justify-between
|
|
94
|
+
return /* @__PURE__ */ jsxs("div", { class: "mb-vsp-sm flex flex-col items-start gap-vsp-xs sm:flex-row sm:items-center sm:justify-between zd-breadcrumb-nav-no-margin", children: [
|
|
96
95
|
nav,
|
|
97
96
|
props.rightSlot
|
|
98
97
|
] });
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
/** @jsxRuntime automatic */
|
|
2
|
-
|
|
3
|
-
import type { JSX } from "preact";
|
|
2
|
+
import type { JSX } from "@takazudo/zfb/zudo-react/jsx-runtime";
|
|
4
3
|
/** Minimal nav node shape required by the category-nav factory. */
|
|
5
4
|
export interface CategoryNavNode {
|
|
6
5
|
/**
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { jsx } from "
|
|
2
|
-
import { CategoryNav as
|
|
1
|
+
import { jsx } from "@takazudo/zfb/zudo-react/jsx-runtime";
|
|
2
|
+
import { CategoryNav as CategoryNavView } from "../nav-indexing/index.js";
|
|
3
3
|
import { remapVersionedHrefs } from "../nav-data-prep/index.js";
|
|
4
4
|
function createCategoryNavWrapper(deps) {
|
|
5
5
|
const { defaultLocale, resolveNavSource, buildNavTree, findNode, firstRoutedHref, versionedDocsUrl } = deps;
|
|
@@ -34,10 +34,10 @@ function createCategoryNavWrapper(deps) {
|
|
|
34
34
|
if (!href) return null;
|
|
35
35
|
return {
|
|
36
36
|
label: node.label,
|
|
37
|
-
description: node.description,
|
|
38
37
|
href,
|
|
39
38
|
hasPage: true,
|
|
40
|
-
children: []
|
|
39
|
+
children: [],
|
|
40
|
+
...node.description !== void 0 ? { description: node.description } : {}
|
|
41
41
|
};
|
|
42
42
|
}).filter((n) => n !== null);
|
|
43
43
|
} else if (category !== void 0) {
|
|
@@ -47,7 +47,13 @@ function createCategoryNavWrapper(deps) {
|
|
|
47
47
|
return null;
|
|
48
48
|
}
|
|
49
49
|
if (children.length === 0) return null;
|
|
50
|
-
return /* @__PURE__ */ jsx(
|
|
50
|
+
return /* @__PURE__ */ jsx(
|
|
51
|
+
CategoryNavView,
|
|
52
|
+
{
|
|
53
|
+
children,
|
|
54
|
+
...className !== void 0 ? { class: className } : {}
|
|
55
|
+
}
|
|
56
|
+
);
|
|
51
57
|
}
|
|
52
58
|
return CategoryNavWrapper;
|
|
53
59
|
}
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
/** @jsxRuntime automatic */
|
|
2
|
-
|
|
3
|
-
import type { JSX } from "preact";
|
|
2
|
+
import type { JSX } from "@takazudo/zfb/zudo-react/jsx-runtime";
|
|
4
3
|
/** Minimal nav node shape required by the category-tree-nav factory. */
|
|
5
4
|
export interface CategoryTreeNavNode {
|
|
6
5
|
/**
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { jsx } from "
|
|
2
|
-
import { CategoryTreeNav as
|
|
1
|
+
import { jsx } from "@takazudo/zfb/zudo-react/jsx-runtime";
|
|
2
|
+
import { CategoryTreeNav as CategoryTreeNavView } from "../nav-indexing/index.js";
|
|
3
3
|
import { remapVersionedHrefs } from "../nav-data-prep/index.js";
|
|
4
4
|
function createCategoryTreeNavWrapper(deps) {
|
|
5
5
|
const { defaultLocale, resolveNavSource, buildNavTree, groupSatelliteNodes, findNode, versionedDocsUrl } = deps;
|
|
@@ -27,7 +27,7 @@ function createCategoryTreeNavWrapper(deps) {
|
|
|
27
27
|
const categoryNode = findNode(tree, category);
|
|
28
28
|
const children = categoryNode?.children.filter((c) => c.hasPage || c.children.length > 0) ?? [];
|
|
29
29
|
if (children.length === 0) return null;
|
|
30
|
-
return /* @__PURE__ */ jsx(
|
|
30
|
+
return /* @__PURE__ */ jsx(CategoryTreeNavView, { children });
|
|
31
31
|
}
|
|
32
32
|
return CategoryTreeNavWrapper;
|
|
33
33
|
}
|
package/dist/chrome/derive.d.ts
CHANGED
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
/** @jsxRuntime automatic */
|
|
2
|
-
|
|
3
|
-
import type { JSX
|
|
2
|
+
import type { Child } from "@takazudo/zfb/zudo-react";
|
|
3
|
+
import type { JSX } from "@takazudo/zfb/zudo-react/jsx-runtime";
|
|
4
4
|
import type { ChromeContext, FactoryComponent } from "../factory-context/index.js";
|
|
5
5
|
import type { ResolvedDateFormats, Settings } from "../settings.js";
|
|
6
6
|
import { type ColorScheme } from "../color-scheme-utils.js";
|
|
7
|
+
export { normalizeIslandData } from "./island-data.js";
|
|
7
8
|
/** Package-default color scheme used when `colorSchemes` is `null` or a key is
|
|
8
9
|
* missing. Exported so `createChrome` keeps the identical fallback. Base roles
|
|
9
10
|
* follow the epic's Default Dark defaults on the minimized 5-base ramp
|
|
@@ -18,7 +19,7 @@ declare function DocHistoryStub(_props: {
|
|
|
18
19
|
basePath?: string;
|
|
19
20
|
displayLocale?: string;
|
|
20
21
|
dateFormats?: ResolvedDateFormats;
|
|
21
|
-
}):
|
|
22
|
+
}): Child;
|
|
22
23
|
/**
|
|
23
24
|
* Derive the single settings -> resolved-roles seam for the `dateFormat`
|
|
24
25
|
* setting (#4075).
|
|
@@ -53,7 +54,20 @@ export declare function deriveColorSchemeGenerators(ctx: ChromeContext): {
|
|
|
53
54
|
export declare function deriveNavDataPrep(ctx: ChromeContext): {
|
|
54
55
|
buildRootMenuItems: (lang: string, currentVersion: string | undefined) => import("../nav-data-prep/index.js").RootMenuItem[];
|
|
55
56
|
buildLocaleLinksForNav: (currentPath: string, lang: string, localeCount: number) => import("../url-helpers/index.js").LocaleLink[] | undefined;
|
|
56
|
-
buildSidebarNodes: (lang: string, navSection: string | undefined, currentVersion: string | undefined, emptyWhenUnsectioned?: boolean) => import("../sidebar
|
|
57
|
+
buildSidebarNodes: (lang: string, navSection: string | undefined, currentVersion: string | undefined, emptyWhenUnsectioned?: boolean | undefined) => import("../sidebar/types.js").SidebarNavNode[];
|
|
58
|
+
buildSidebarContext: (lang: string, navSection: string | undefined, currentVersion: string | undefined, emptyWhenUnsectioned?: boolean) => {
|
|
59
|
+
nodes: import("../sidebar/types.js").SidebarNavNode[];
|
|
60
|
+
navigation: {
|
|
61
|
+
id: string;
|
|
62
|
+
roots: import("../sidebar/types.js").SidebarNavNode[];
|
|
63
|
+
initialExpansion?: Record<string, "collapsed" | "expanded">;
|
|
64
|
+
parents: Record<string, string | null>;
|
|
65
|
+
localParentId?: string;
|
|
66
|
+
};
|
|
67
|
+
} | {
|
|
68
|
+
nodes: never[];
|
|
69
|
+
navigation: undefined;
|
|
70
|
+
};
|
|
57
71
|
getThemeDefaultMode: () => "light" | "dark" | undefined;
|
|
58
72
|
};
|
|
59
73
|
/** Derive the header SearchWidget: `ctx.hostBindings.SearchWidget` when the host
|
|
@@ -105,29 +119,6 @@ export declare function deriveSearchWidgetSlot(ctx: ChromeContext): (props: {
|
|
|
105
119
|
* and no click queue — a dead button. The two gates must stay in lockstep.
|
|
106
120
|
*/
|
|
107
121
|
export declare function skipsPackageDefaultDesignTokenPanel(settings: Settings): boolean;
|
|
108
|
-
/**
|
|
109
|
-
* Derive the body-end islands. The package owns the settings-gated
|
|
110
|
-
* DesignTokenPanelBootstrap + ThemePackSwitcher mounts even when a host
|
|
111
|
-
* supplies a BodyEndIslands override; the override is composed with those
|
|
112
|
-
* package islands rather than replacing them. Without an override,
|
|
113
|
-
* `createBodyEndIslands` already contains the same package islands, so the
|
|
114
|
-
* two paths are deliberately exclusive.
|
|
115
|
-
*
|
|
116
|
-
* The components default to the statically imported package islands
|
|
117
|
-
* (#2658 gate-2 fix; #2821), preserving route → chrome → derive → component
|
|
118
|
-
* scanner reachability for bare `createChrome(routeCtx)` callers. A host may
|
|
119
|
-
* still replace the DTP component through
|
|
120
|
-
* `hostBindings.DesignTokenPanelBootstrap`, but the package remains the sole
|
|
121
|
-
* owner of the mounts and settings gates.
|
|
122
|
-
*
|
|
123
|
-
* Since #3396 the injected package routes use that same slot: `routes/_chrome.tsx`
|
|
124
|
-
* supplies `ConfiguredDesignTokenPanelBootstrap`, which is identical to the
|
|
125
|
-
* default except that its builder comes from
|
|
126
|
-
* `virtual:zudo-doc-design-token-panel-config` (i.e. a host's
|
|
127
|
-
* `designTokenPanelConfigModule`). The default below is what every non-routes
|
|
128
|
-
* `createChrome` caller keeps getting — EXCEPT under the one condition
|
|
129
|
-
* {@link skipsPackageDefaultDesignTokenPanel} describes.
|
|
130
|
-
*/
|
|
131
122
|
export declare function deriveBodyEndIslands(ctx: ChromeContext): (props: import("../doc-body-end-islands/index.js").BodyEndIslandsProps) => JSX.Element;
|
|
132
123
|
/** Derive the DocHistory island: `ctx.hostBindings.DocHistory` when supplied,
|
|
133
124
|
* else the package no-op stub. */
|