@takazudo/zudo-doc 3.2.0 → 4.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 +61 -0
- package/README.md +2 -2
- package/bin/tag-cli-config.ts +126 -0
- package/bin/tags-audit-runner.ts +60 -76
- package/bin/tags-audit.mjs +17 -36
- package/bin/tags-suggest-runner.ts +429 -0
- package/bin/tags-suggest.mjs +30 -0
- package/bin/zudo-doc.mjs +78 -25
- package/dist/breadcrumb/breadcrumb.d.ts +4 -4
- package/dist/breadcrumb/find-path.d.ts +2 -2
- package/dist/breadcrumb/index.d.ts +1 -1
- package/dist/breadcrumb/types.d.ts +0 -5
- package/dist/chrome/derive.d.ts +16 -4
- package/dist/chrome/derive.js +64 -4
- package/dist/chrome/index.d.ts +13 -10
- package/dist/chrome/index.js +12 -6
- package/dist/chrome/primary-slots.d.ts +21 -0
- package/dist/chrome/primary-slots.js +59 -0
- package/dist/chrome-bindings.d.ts +227 -0
- package/dist/chrome-bindings.js +6 -0
- package/dist/code-syntax/code-block-enhancer-script.d.ts +4 -0
- package/dist/code-syntax/code-block-enhancer-script.js +7 -4
- package/dist/code-syntax/code-block-enhancer.d.ts +2 -2
- package/dist/code-syntax/code-block-enhancer.js +1 -3
- package/dist/code-syntax/index.d.ts +5 -5
- package/dist/code-syntax/index.js +4 -13
- package/dist/code-syntax/mermaid-init-script.d.ts +1 -22
- package/dist/code-syntax/mermaid-init-script.js +0 -2
- package/dist/code-syntax/mermaid-init.d.ts +0 -1
- package/dist/code-syntax/mermaid-init.js +3 -4
- package/dist/code-syntax/tabs-init.d.ts +0 -1
- package/dist/code-syntax/tabs-init.js +1 -3
- package/dist/code-syntax/tabs.d.ts +0 -1
- package/dist/code-syntax/tabs.js +1 -3
- package/dist/color-scheme-utils.d.ts +72 -4
- package/dist/color-scheme-utils.js +137 -0
- package/dist/color-schemes-defaults/index.d.ts +23 -0
- package/dist/color-schemes-defaults/index.js +134 -0
- package/dist/config.d.ts +459 -0
- package/dist/config.js +125 -0
- package/dist/content/component-map.d.ts +0 -16
- package/dist/content/component-map.js +2 -4
- package/dist/content/index.d.ts +1 -1
- package/dist/content/index.js +2 -3
- package/dist/content.css +1 -1
- package/dist/design-token-panel-bootstrap.d.ts +82 -27
- package/dist/design-token-panel-bootstrap.js +110 -21
- package/dist/design-token-panel-config/index.d.ts +49 -0
- package/dist/design-token-panel-config/index.js +211 -0
- package/dist/design-token-panel-config/manifest.d.ts +46 -0
- package/dist/design-token-panel-config/manifest.js +105 -0
- package/dist/directive-vocabulary-defaults/index.d.ts +16 -0
- package/dist/directive-vocabulary-defaults/index.js +12 -0
- package/dist/doc-body-end-islands/design-token-panel-island.d.ts +15 -0
- package/dist/doc-body-end-islands/design-token-panel-island.js +31 -0
- package/dist/doc-body-end-islands/index.d.ts +52 -7
- package/dist/doc-body-end-islands/index.js +19 -0
- package/dist/doc-body-end-islands/theme-pack-switcher-island.d.ts +37 -0
- package/dist/doc-body-end-islands/theme-pack-switcher-island.js +18 -0
- package/dist/doc-content-header/index.js +1 -1
- package/dist/doc-history-area/index.d.ts +10 -4
- package/dist/doc-history-area/index.js +3 -2
- package/dist/doc-metainfo-area/index.d.ts +1 -0
- package/dist/doc-page-props/index.d.ts +7 -23
- package/dist/doc-page-renderer/index.d.ts +1 -0
- package/dist/doc-page-renderer/index.js +1 -0
- package/dist/doc-page-shell/index.js +19 -12
- package/dist/doc-pager/index.js +1 -1
- package/dist/doc-route-entries/index.d.ts +2 -2
- package/dist/doclayout/doc-layout-with-defaults.js +4 -4
- package/dist/doclayout/doc-layout.d.ts +8 -0
- package/dist/doclayout/doc-layout.js +10 -1
- package/dist/docs-schema/index.d.ts +67 -0
- package/dist/docs-schema/index.js +43 -0
- package/dist/eject/index.d.ts +16 -0
- package/dist/eject/index.js +122 -28
- package/dist/extract-headings/index.d.ts +5 -8
- package/dist/extract-headings/index.js +2 -9
- package/dist/factory-context/index.d.ts +56 -4
- package/dist/features.css +65 -43
- package/dist/find-in-page/find-bar.d.ts +9 -0
- package/dist/find-in-page/find-bar.js +114 -0
- package/dist/find-in-page/find-in-page.d.ts +17 -0
- package/dist/find-in-page/find-in-page.js +131 -0
- package/dist/find-in-page/index.d.ts +11 -0
- package/dist/find-in-page/index.js +49 -0
- package/dist/footer/footer.js +1 -0
- package/dist/frontmatter-preview-defaults/index.d.ts +16 -0
- package/dist/frontmatter-preview-defaults/index.js +25 -0
- package/dist/head-with-defaults/index.d.ts +2 -0
- package/dist/head-with-defaults/index.js +16 -0
- package/dist/header/header.d.ts +10 -5
- package/dist/header/header.js +45 -5
- package/dist/header/index.d.ts +1 -1
- package/dist/header/types.d.ts +30 -1
- package/dist/header-with-defaults/index.js +1 -0
- package/dist/home-page/index.d.ts +2 -0
- package/dist/home-page/index.js +11 -5
- package/dist/home-page/prepare-home-data.js +1 -1
- package/dist/i18n-defaults/index.d.ts +22 -0
- package/dist/i18n-defaults/index.js +167 -0
- package/dist/locale-merge/index.d.ts +9 -14
- package/dist/locale-merge/index.js +6 -4
- package/dist/mdx-components/index.js +4 -4
- package/dist/plugins/claude-resources.d.ts +1 -0
- package/dist/plugins/claude-resources.js +4 -2
- package/dist/plugins/doc-history.js +1 -1
- package/dist/{integrations → plugins/internal}/claude-resources/index.d.ts +1 -16
- package/dist/{integrations → plugins/internal}/claude-resources/index.js +0 -9
- package/dist/{integrations → plugins/internal}/doc-history/index.d.ts +0 -17
- package/dist/{integrations → plugins/internal}/doc-history/index.js +0 -4
- package/dist/{integrations → plugins/internal}/doc-history/pre-build.d.ts +2 -4
- package/dist/plugins/internal/llms-txt/index.d.ts +7 -0
- package/dist/{integrations → plugins/internal}/llms-txt/load.d.ts +1 -1
- package/dist/{integrations → plugins/internal}/llms-txt/load.js +2 -2
- package/dist/{integrations → plugins/internal}/llms-txt/strip.d.ts +2 -3
- package/dist/{integrations → plugins/internal}/llms-txt/strip.js +1 -1
- package/dist/{integrations → plugins/internal}/llms-txt/types.d.ts +13 -22
- package/dist/{integrations → plugins/internal}/search-index/collect.js +1 -1
- package/dist/plugins/internal/theme-packs/copy.d.ts +32 -0
- package/dist/plugins/internal/theme-packs/copy.js +45 -0
- package/dist/plugins/internal/theme-packs/dev-middleware.d.ts +22 -0
- package/dist/plugins/internal/theme-packs/dev-middleware.js +80 -0
- package/dist/plugins/internal/theme-packs/index.d.ts +6 -0
- package/dist/plugins/internal/theme-packs/index.js +9 -0
- package/dist/plugins/internal/theme-packs/resolve.d.ts +17 -0
- package/dist/plugins/internal/theme-packs/resolve.js +17 -0
- package/dist/plugins/internal/theme-packs/types.d.ts +22 -0
- package/dist/plugins/internal/theme-packs/types.js +0 -0
- package/dist/plugins/llms-txt.js +1 -1
- package/dist/plugins/routes.js +55 -21
- package/dist/plugins/search-index.js +1 -1
- package/dist/plugins/theme-packs.d.ts +3 -0
- package/dist/plugins/theme-packs.js +40 -0
- package/dist/preset.d.ts +28 -14
- package/dist/preset.js +24 -9
- package/dist/route-context/index.js +4 -6
- package/dist/route-enumerators/index.d.ts +6 -18
- package/dist/route-enumerators/index.js +8 -6
- package/dist/routes/404.js +3 -1
- package/dist/routes/_chrome.js +3 -2
- package/dist/routes/_context.d.ts +7 -3
- package/dist/routes/_context.js +2 -0
- package/dist/routes/_docs-helpers.js +9 -21
- package/dist/safelist.css +1 -1
- package/dist/settings.d.ts +64 -12
- package/dist/sidebar-tree/build-tree.d.ts +3 -4
- package/dist/sidebar-tree/build-tree.js +4 -3
- package/dist/sidebar-tree/index.d.ts +2 -2
- package/dist/sidebar-tree/types.d.ts +6 -17
- package/dist/site-tree-nav-island/index.d.ts +3 -1
- package/dist/site-tree-nav-island/index.js +17 -5
- package/dist/site-tree-nav-island/state.d.ts +4 -0
- package/dist/site-tree-nav-island/state.js +10 -0
- package/dist/tag-helpers/index.d.ts +6 -13
- package/dist/tag-helpers/index.js +5 -23
- package/dist/tag-pages/index.d.ts +8 -21
- package/dist/tag-pages/index.js +14 -10
- package/dist/tags-audit.d.ts +16 -44
- package/dist/tags-audit.js +9 -172
- package/dist/theme/color-scheme-provider.d.ts +2 -3
- package/dist/theme/color-scheme-provider.js +2 -10
- package/dist/theme/index.d.ts +1 -4
- package/dist/theme/index.js +2 -30
- package/dist/theme/theme-pack-provider.d.ts +42 -0
- package/dist/theme/theme-pack-provider.js +75 -0
- package/dist/theme-cli/apply.d.ts +16 -0
- package/dist/theme-cli/apply.js +61 -0
- package/dist/theme-cli/config-io.d.ts +15 -0
- package/dist/theme-cli/config-io.js +51 -0
- package/dist/theme-cli/config-rewriter.d.ts +21 -0
- package/dist/theme-cli/config-rewriter.js +141 -0
- package/dist/theme-cli/config-scanner.d.ts +63 -0
- package/dist/theme-cli/config-scanner.js +288 -0
- package/dist/theme-cli/index.d.ts +7 -0
- package/dist/theme-cli/index.js +38 -0
- package/dist/theme-cli/list.d.ts +27 -0
- package/dist/theme-cli/list.js +64 -0
- package/dist/theme-cli/provenance.d.ts +17 -0
- package/dist/theme-cli/provenance.js +35 -0
- package/dist/theme-cli/registry.d.ts +14 -0
- package/dist/theme-cli/registry.js +13 -0
- package/dist/theme-pack-dialog/dialog-state.d.ts +25 -0
- package/dist/theme-pack-dialog/dialog-state.js +40 -0
- package/dist/theme-pack-dialog/index.d.ts +5 -0
- package/dist/theme-pack-dialog/index.js +152 -0
- package/dist/theme-pack-dialog/theme-pack-card.d.ts +25 -0
- package/dist/theme-pack-dialog/theme-pack-card.js +72 -0
- package/dist/theme-pack-switcher/index.d.ts +49 -0
- package/dist/theme-pack-switcher/index.js +205 -0
- package/dist/theme-pack-switcher/switcher-state.d.ts +56 -0
- package/dist/theme-pack-switcher/switcher-state.js +43 -0
- package/dist/theme-pack-switcher/theme-pack-sync.d.ts +85 -0
- package/dist/theme-pack-switcher/theme-pack-sync.js +121 -0
- package/dist/theme-packs/beacon/fonts/AtkinsonHyperlegible-400-latin.woff2 +0 -0
- package/dist/theme-packs/beacon/fonts/AtkinsonHyperlegible-700-latin.woff2 +0 -0
- package/dist/theme-packs/beacon/fonts/AtkinsonHyperlegible-italic-400-latin.woff2 +0 -0
- package/dist/theme-packs/beacon/fonts/AtkinsonHyperlegible-italic-700-latin.woff2 +0 -0
- package/dist/theme-packs/beacon/fonts/AtkinsonHyperlegibleMono-italic-latin.woff2 +0 -0
- package/dist/theme-packs/beacon/fonts/AtkinsonHyperlegibleMono-latin.woff2 +0 -0
- package/dist/theme-packs/beacon/fonts/OFL.txt +94 -0
- package/dist/theme-packs/beacon/meta.json +37 -0
- package/dist/theme-packs/beacon/pack.css +442 -0
- package/dist/theme-packs/broadsheet/fonts/CourierPrime-400-latin.woff2 +0 -0
- package/dist/theme-packs/broadsheet/fonts/CourierPrime-700-latin.woff2 +0 -0
- package/dist/theme-packs/broadsheet/fonts/OFL.txt +95 -0
- package/dist/theme-packs/broadsheet/fonts/PlayfairDisplay-italic-latin.woff2 +0 -0
- package/dist/theme-packs/broadsheet/fonts/PlayfairDisplay-latin.woff2 +0 -0
- package/dist/theme-packs/broadsheet/fonts/SourceSerif4-italic-latin.woff2 +0 -0
- package/dist/theme-packs/broadsheet/fonts/SourceSerif4-latin.woff2 +0 -0
- package/dist/theme-packs/broadsheet/meta.json +38 -0
- package/dist/theme-packs/broadsheet/pack.css +448 -0
- package/dist/theme-packs/brutalist/fonts/ArchivoBlack-latin.woff2 +0 -0
- package/dist/theme-packs/brutalist/fonts/IBMPlexMono-400-latin.woff2 +0 -0
- package/dist/theme-packs/brutalist/fonts/IBMPlexMono-500-latin.woff2 +0 -0
- package/dist/theme-packs/brutalist/fonts/IBMPlexMono-700-latin.woff2 +0 -0
- package/dist/theme-packs/brutalist/fonts/OFL.txt +95 -0
- package/dist/theme-packs/brutalist/fonts/SpaceGrotesk-latin.woff2 +0 -0
- package/dist/theme-packs/brutalist/meta.json +38 -0
- package/dist/theme-packs/brutalist/pack.css +546 -0
- package/dist/theme-packs/default/meta.json +37 -0
- package/dist/theme-packs/drift/fonts/IBMPlexMono-400-latin-ext.woff2 +0 -0
- package/dist/theme-packs/drift/fonts/IBMPlexMono-400-latin.woff2 +0 -0
- package/dist/theme-packs/drift/fonts/IBMPlexMono-500-latin-ext.woff2 +0 -0
- package/dist/theme-packs/drift/fonts/IBMPlexMono-500-latin.woff2 +0 -0
- package/dist/theme-packs/drift/fonts/IBMPlexSans-italic-latin.woff2 +0 -0
- package/dist/theme-packs/drift/fonts/IBMPlexSans-latin-ext.woff2 +0 -0
- package/dist/theme-packs/drift/fonts/IBMPlexSans-latin.woff2 +0 -0
- package/dist/theme-packs/drift/fonts/OFL.txt +93 -0
- package/dist/theme-packs/drift/meta.json +37 -0
- package/dist/theme-packs/drift/pack.css +478 -0
- package/dist/theme-packs/fjord/fonts/Inter-latin-ext.woff2 +0 -0
- package/dist/theme-packs/fjord/fonts/Inter-latin.woff2 +0 -0
- package/dist/theme-packs/fjord/fonts/JetBrainsMono-latin-ext.woff2 +0 -0
- package/dist/theme-packs/fjord/fonts/JetBrainsMono-latin.woff2 +0 -0
- package/dist/theme-packs/fjord/fonts/OFL.txt +94 -0
- package/dist/theme-packs/fjord/meta.json +37 -0
- package/dist/theme-packs/fjord/pack.css +375 -0
- package/dist/theme-packs/foundry/fonts/Inter-latin-ext.woff2 +0 -0
- package/dist/theme-packs/foundry/fonts/Inter-latin.woff2 +0 -0
- package/dist/theme-packs/foundry/fonts/OFL.txt +93 -0
- package/dist/theme-packs/foundry/meta.json +37 -0
- package/dist/theme-packs/foundry/pack.css +202 -0
- package/dist/theme-packs/futura-editorial/fonts/Jost-latin.woff2 +0 -0
- package/dist/theme-packs/futura-editorial/fonts/NotoSans-italic-latin.woff2 +0 -0
- package/dist/theme-packs/futura-editorial/fonts/NotoSans-latin.woff2 +0 -0
- package/dist/theme-packs/futura-editorial/fonts/OFL.txt +95 -0
- package/dist/theme-packs/futura-editorial/fonts/SpaceMono-400-latin.woff2 +0 -0
- package/dist/theme-packs/futura-editorial/fonts/SpaceMono-700-latin.woff2 +0 -0
- package/dist/theme-packs/futura-editorial/meta.json +38 -0
- package/dist/theme-packs/futura-editorial/pack.css +313 -0
- package/dist/theme-packs/hearth/fonts/Fraunces-italic-latin.woff2 +0 -0
- package/dist/theme-packs/hearth/fonts/Fraunces-latin.woff2 +0 -0
- package/dist/theme-packs/hearth/fonts/Nunito-latin.woff2 +0 -0
- package/dist/theme-packs/hearth/fonts/OFL.txt +95 -0
- package/dist/theme-packs/hearth/fonts/SplineSansMono-latin.woff2 +0 -0
- package/dist/theme-packs/hearth/meta.json +38 -0
- package/dist/theme-packs/hearth/pack.css +385 -0
- package/dist/theme-packs/hollow/fonts/OFL.txt +94 -0
- package/dist/theme-packs/hollow/fonts/SpaceGrotesk-latin.woff2 +0 -0
- package/dist/theme-packs/hollow/fonts/SpaceMono-400-italic-latin.woff2 +0 -0
- package/dist/theme-packs/hollow/fonts/SpaceMono-400-latin.woff2 +0 -0
- package/dist/theme-packs/hollow/fonts/SpaceMono-700-latin.woff2 +0 -0
- package/dist/theme-packs/hollow/meta.json +37 -0
- package/dist/theme-packs/hollow/pack.css +428 -0
- package/dist/theme-packs/ledger/fonts/CrimsonPro-latin-ext-italic.woff2 +0 -0
- package/dist/theme-packs/ledger/fonts/CrimsonPro-latin-ext.woff2 +0 -0
- package/dist/theme-packs/ledger/fonts/CrimsonPro-latin-italic.woff2 +0 -0
- package/dist/theme-packs/ledger/fonts/CrimsonPro-latin.woff2 +0 -0
- package/dist/theme-packs/ledger/fonts/IBMPlexMono-400-latin-ext.woff2 +0 -0
- package/dist/theme-packs/ledger/fonts/IBMPlexMono-400-latin.woff2 +0 -0
- package/dist/theme-packs/ledger/fonts/IBMPlexMono-500-latin-ext.woff2 +0 -0
- package/dist/theme-packs/ledger/fonts/IBMPlexMono-500-latin.woff2 +0 -0
- package/dist/theme-packs/ledger/fonts/OFL.txt +94 -0
- package/dist/theme-packs/ledger/meta.json +37 -0
- package/dist/theme-packs/ledger/pack.css +463 -0
- package/dist/theme-packs/manuscript/fonts/CourierPrime-400-latin-ext.woff2 +0 -0
- package/dist/theme-packs/manuscript/fonts/CourierPrime-400-latin.woff2 +0 -0
- package/dist/theme-packs/manuscript/fonts/CourierPrime-700-latin-ext.woff2 +0 -0
- package/dist/theme-packs/manuscript/fonts/CourierPrime-700-latin.woff2 +0 -0
- package/dist/theme-packs/manuscript/fonts/EBGaramond-latin-italic.woff2 +0 -0
- package/dist/theme-packs/manuscript/fonts/EBGaramond-latin.woff2 +0 -0
- package/dist/theme-packs/manuscript/fonts/OFL.txt +94 -0
- package/dist/theme-packs/manuscript/meta.json +37 -0
- package/dist/theme-packs/manuscript/pack.css +376 -0
- package/dist/theme-packs/matcha/fonts/MPLUS1Code-latin.woff2 +0 -0
- package/dist/theme-packs/matcha/fonts/OFL.txt +95 -0
- package/dist/theme-packs/matcha/fonts/ShipporiMincho-500-latin.woff2 +0 -0
- package/dist/theme-packs/matcha/fonts/ShipporiMincho-700-latin.woff2 +0 -0
- package/dist/theme-packs/matcha/fonts/ZenKakuGothicNew-400-latin.woff2 +0 -0
- package/dist/theme-packs/matcha/fonts/ZenKakuGothicNew-500-latin.woff2 +0 -0
- package/dist/theme-packs/matcha/meta.json +38 -0
- package/dist/theme-packs/matcha/pack.css +409 -0
- package/dist/theme-packs/nocturne/fonts/CormorantGaramond-italic-latin.woff2 +0 -0
- package/dist/theme-packs/nocturne/fonts/CormorantGaramond-latin.woff2 +0 -0
- package/dist/theme-packs/nocturne/fonts/IBMPlexMono-400-latin.woff2 +0 -0
- package/dist/theme-packs/nocturne/fonts/IBMPlexMono-500-latin.woff2 +0 -0
- package/dist/theme-packs/nocturne/fonts/IBMPlexMono-italic-latin.woff2 +0 -0
- package/dist/theme-packs/nocturne/fonts/Manrope-latin.woff2 +0 -0
- package/dist/theme-packs/nocturne/fonts/OFL.txt +95 -0
- package/dist/theme-packs/nocturne/meta.json +38 -0
- package/dist/theme-packs/nocturne/pack.css +502 -0
- package/dist/theme-packs/observatory/fonts/JosefinSans-latin.woff2 +0 -0
- package/dist/theme-packs/observatory/fonts/Jost-italic-latin.woff2 +0 -0
- package/dist/theme-packs/observatory/fonts/Jost-latin.woff2 +0 -0
- package/dist/theme-packs/observatory/fonts/OFL.txt +95 -0
- package/dist/theme-packs/observatory/fonts/SpaceMono-400-latin.woff2 +0 -0
- package/dist/theme-packs/observatory/fonts/SpaceMono-700-latin.woff2 +0 -0
- package/dist/theme-packs/observatory/fonts/SpaceMono-italic-latin.woff2 +0 -0
- package/dist/theme-packs/observatory/meta.json +38 -0
- package/dist/theme-packs/observatory/pack.css +728 -0
- package/dist/theme-packs/onyx/fonts/CormorantGaramond-italic-latin.woff2 +0 -0
- package/dist/theme-packs/onyx/fonts/CormorantGaramond-latin.woff2 +0 -0
- package/dist/theme-packs/onyx/fonts/IBMPlexMono-400-latin-ext.woff2 +0 -0
- package/dist/theme-packs/onyx/fonts/IBMPlexMono-400-latin.woff2 +0 -0
- package/dist/theme-packs/onyx/fonts/IBMPlexMono-500-latin-ext.woff2 +0 -0
- package/dist/theme-packs/onyx/fonts/IBMPlexMono-500-latin.woff2 +0 -0
- package/dist/theme-packs/onyx/fonts/Jost-latin.woff2 +0 -0
- package/dist/theme-packs/onyx/fonts/OFL.txt +95 -0
- package/dist/theme-packs/onyx/meta.json +38 -0
- package/dist/theme-packs/onyx/pack.css +497 -0
- package/dist/theme-packs/phosphor/fonts/JetBrainsMono-latin-ext.woff2 +0 -0
- package/dist/theme-packs/phosphor/fonts/JetBrainsMono-latin.woff2 +0 -0
- package/dist/theme-packs/phosphor/fonts/OFL.txt +94 -0
- package/dist/theme-packs/phosphor/fonts/VT323-latin-ext.woff2 +0 -0
- package/dist/theme-packs/phosphor/fonts/VT323-latin.woff2 +0 -0
- package/dist/theme-packs/phosphor/meta.json +38 -0
- package/dist/theme-packs/phosphor/pack.css +493 -0
- package/dist/theme-packs/solar/fonts/OFL.txt +94 -0
- package/dist/theme-packs/solar/fonts/SourceCodePro-italic-latin.woff2 +0 -0
- package/dist/theme-packs/solar/fonts/SourceCodePro-latin.woff2 +0 -0
- package/dist/theme-packs/solar/fonts/SourceSans3-italic-latin.woff2 +0 -0
- package/dist/theme-packs/solar/fonts/SourceSans3-latin.woff2 +0 -0
- package/dist/theme-packs/solar/meta.json +37 -0
- package/dist/theme-packs/solar/pack.css +380 -0
- package/dist/theme-packs/sumi/fonts/IBMPlexMono-400-latin-ext.woff2 +0 -0
- package/dist/theme-packs/sumi/fonts/IBMPlexMono-400-latin.woff2 +0 -0
- package/dist/theme-packs/sumi/fonts/IBMPlexMono-500-latin-ext.woff2 +0 -0
- package/dist/theme-packs/sumi/fonts/IBMPlexMono-500-latin.woff2 +0 -0
- package/dist/theme-packs/sumi/fonts/OFL.txt +95 -0
- package/dist/theme-packs/sumi/fonts/ShipporiMinchoB1-600-latin.woff2 +0 -0
- package/dist/theme-packs/sumi/fonts/ShipporiMinchoB1-700-latin.woff2 +0 -0
- package/dist/theme-packs/sumi/fonts/ShipporiMinchoB1-800-latin.woff2 +0 -0
- package/dist/theme-packs/sumi/fonts/ZenKakuGothicNew-400-latin.woff2 +0 -0
- package/dist/theme-packs/sumi/fonts/ZenKakuGothicNew-500-latin.woff2 +0 -0
- package/dist/theme-packs/sumi/meta.json +38 -0
- package/dist/theme-packs/sumi/pack.css +502 -0
- package/dist/theme-packs/swissgrid/fonts/IBMPlexMono-400-latin-ext.woff2 +0 -0
- package/dist/theme-packs/swissgrid/fonts/IBMPlexMono-400-latin.woff2 +0 -0
- package/dist/theme-packs/swissgrid/fonts/IBMPlexMono-600-latin.woff2 +0 -0
- package/dist/theme-packs/swissgrid/fonts/Inter-latin-ext.woff2 +0 -0
- package/dist/theme-packs/swissgrid/fonts/Inter-latin.woff2 +0 -0
- package/dist/theme-packs/swissgrid/fonts/InterTight-latin.woff2 +0 -0
- package/dist/theme-packs/swissgrid/fonts/OFL.txt +95 -0
- package/dist/theme-packs/swissgrid/meta.json +38 -0
- package/dist/theme-packs/swissgrid/pack.css +518 -0
- package/dist/theme-packs/washi/fonts/MPlus1Code-400-latin.woff2 +0 -0
- package/dist/theme-packs/washi/fonts/MPlus1Code-500-latin.woff2 +0 -0
- package/dist/theme-packs/washi/fonts/OFL.txt +95 -0
- package/dist/theme-packs/washi/fonts/ShipporiMincho-500-latin.woff2 +0 -0
- package/dist/theme-packs/washi/fonts/ShipporiMincho-600-latin.woff2 +0 -0
- package/dist/theme-packs/washi/fonts/ShipporiMincho-700-latin.woff2 +0 -0
- package/dist/theme-packs/washi/fonts/ZenKakuGothicNew-400-latin.woff2 +0 -0
- package/dist/theme-packs/washi/fonts/ZenKakuGothicNew-500-latin.woff2 +0 -0
- package/dist/theme-packs/washi/fonts/ZenKakuGothicNew-700-latin.woff2 +0 -0
- package/dist/theme-packs/washi/meta.json +38 -0
- package/dist/theme-packs/washi/pack.css +479 -0
- package/dist/theme-packs-registry/index.d.ts +5 -0
- package/dist/theme-packs-registry/index.js +30 -0
- package/dist/theme-packs-registry/load-registry.d.ts +23 -0
- package/dist/theme-packs-registry/load-registry.js +64 -0
- package/dist/theme-packs-registry/meta-schema.d.ts +70 -0
- package/dist/theme-packs-registry/meta-schema.js +38 -0
- package/dist/theme-packs-registry/resolve-enabled-packs.d.ts +25 -0
- package/dist/theme-packs-registry/resolve-enabled-packs.js +43 -0
- package/dist/theme-packs-registry/token-manifest.d.ts +19 -0
- package/dist/theme-packs-registry/token-manifest.js +57 -0
- package/dist/theme-packs-registry/validator.d.ts +35 -0
- package/dist/theme-packs-registry/validator.js +284 -0
- package/dist/theme-toggle/color-scheme-sync.d.ts +2 -4
- package/dist/theme.css +319 -0
- package/dist/versions-page/index.d.ts +2 -2
- package/dist/versions-page/index.js +8 -8
- package/dist/z-index-defaults/index.d.ts +45 -0
- package/dist/z-index-defaults/index.js +34 -0
- package/eject/breadcrumb/breadcrumb.tsx +4 -4
- package/eject/breadcrumb/find-path.ts +2 -2
- package/eject/breadcrumb/index.ts +1 -1
- package/eject/breadcrumb/types.ts +0 -6
- package/eject/code-group/index.tsx +2 -2
- package/eject/doc-history/index.tsx +1 -1
- package/eject/doc-pager/index.tsx +1 -1
- package/eject/footer/footer.tsx +1 -0
- package/eject/header/header.tsx +86 -21
- package/eject/header/index.ts +3 -0
- package/eject/header/types.ts +39 -1
- package/eject/site-tree-nav-island/index.tsx +15 -3
- package/eject/site-tree-nav-island/state.ts +9 -0
- package/eject/theme-toggle/color-scheme-sync.ts +2 -4
- package/package.json +82 -29
- package/routes-src/404.tsx +4 -1
- package/routes-src/_chrome.tsx +31 -8
- package/routes-src/_context.ts +4 -0
- package/routes-src/_docs-helpers.ts +9 -29
- package/routes-src/_virtual.d.ts +38 -2
- package/tsconfig.base.json +29 -0
- package/virtual-modules.d.ts +83 -0
- package/zfb-config-shim.d.ts +210 -0
- package/dist/integrations/llms-txt/index.d.ts +0 -33
- package/dist/theme/color-tweak-export-modal.d.ts +0 -16
- package/dist/theme/color-tweak-export-modal.js +0 -138
- package/dist/theme/design-token-serde.d.ts +0 -183
- package/dist/theme/design-token-serde.js +0 -346
- package/dist/theme/design-token-types.d.ts +0 -13
- package/dist/theme/design-token-types.js +0 -6
- package/dist/theme/iframe-bridge.d.ts +0 -42
- package/dist/theme/iframe-bridge.js +0 -72
- /package/dist/{integrations → plugins/internal}/claude-resources/escape-for-mdx.d.ts +0 -0
- /package/dist/{integrations → plugins/internal}/claude-resources/escape-for-mdx.js +0 -0
- /package/dist/{integrations → plugins/internal}/claude-resources/generate.d.ts +0 -0
- /package/dist/{integrations → plugins/internal}/claude-resources/generate.js +0 -0
- /package/dist/{integrations → plugins/internal}/doc-history/pre-build.js +0 -0
- /package/dist/{integrations → plugins/internal}/llms-txt/dev-middleware.d.ts +0 -0
- /package/dist/{integrations → plugins/internal}/llms-txt/dev-middleware.js +0 -0
- /package/dist/{integrations → plugins/internal}/llms-txt/emit.d.ts +0 -0
- /package/dist/{integrations → plugins/internal}/llms-txt/emit.js +0 -0
- /package/dist/{integrations → plugins/internal}/llms-txt/generate.d.ts +0 -0
- /package/dist/{integrations → plugins/internal}/llms-txt/generate.js +0 -0
- /package/dist/{integrations → plugins/internal}/llms-txt/index.js +0 -0
- /package/dist/{integrations → plugins/internal}/llms-txt/types.js +0 -0
- /package/dist/{integrations → plugins/internal}/search-index/build-emitter.d.ts +0 -0
- /package/dist/{integrations → plugins/internal}/search-index/build-emitter.js +0 -0
- /package/dist/{integrations → plugins/internal}/search-index/collect.d.ts +0 -0
- /package/dist/{integrations → plugins/internal}/search-index/dev-middleware.d.ts +0 -0
- /package/dist/{integrations → plugins/internal}/search-index/dev-middleware.js +0 -0
- /package/dist/{integrations → plugins/internal}/search-index/index.d.ts +0 -0
- /package/dist/{integrations → plugins/internal}/search-index/index.js +0 -0
- /package/dist/{integrations → plugins/internal}/search-index/types.d.ts +0 -0
- /package/dist/{integrations → plugins/internal}/search-index/types.js +0 -0
|
@@ -0,0 +1,442 @@
|
|
|
1
|
+
/* ============================================================
|
|
2
|
+
Beacon — zudo-doc theme pack (ADR docs/adr/theme-packs.md)
|
|
3
|
+
|
|
4
|
+
WCAG-AAA high contrast: 7:1+ ink everywhere, 3px focus rings,
|
|
5
|
+
always-underlined links — clarity as beauty. Pure white/black
|
|
6
|
+
ground; the palette is locked to two AAA-checked accents —
|
|
7
|
+
blue (#0044cc light / #6db3ff dark) and dark red (#a50000 /
|
|
8
|
+
#ff8f8f) — and admits nothing else (success collapses to ink;
|
|
9
|
+
the palette has no green). Atkinson Hyperlegible reading face,
|
|
10
|
+
Atkinson Hyperlegible Mono code. Shape language: square —
|
|
11
|
+
every radius forced to 0. Oversized 112.5% rem grid, 1.7 body
|
|
12
|
+
line-height, thick honest chrome rules (3px header/footer,
|
|
13
|
+
2px sidebar), fully boxed admonitions with monochrome text
|
|
14
|
+
glyphs in place of the stock emoji icons.
|
|
15
|
+
|
|
16
|
+
Every ink below is verified at >= 7:1 (WCAG AAA) against its
|
|
17
|
+
background in BOTH modes:
|
|
18
|
+
light — muted #595959 7.0:1, accent #0044cc 7.8:1, hover
|
|
19
|
+
#002e8a 12.0:1, red #a50000 8.1:1, deep red #6e0000 12.6:1,
|
|
20
|
+
deep blue #00287a 13.3:1, body ink 21:1
|
|
21
|
+
dark — muted #b3b3b3 10.0:1, accent #6db3ff 9.5:1, hover
|
|
22
|
+
#9cccff 12.5:1, red #ff8f8f 9.6:1, salmon #ffb3ab 12.3:1,
|
|
23
|
+
ice blue #a8d1ff 13.2:1, body ink 21:1
|
|
24
|
+
Admonition backgrounds are pinned to the page ground (not the
|
|
25
|
+
stock 12% variant tint) so every variant title ink keeps its
|
|
26
|
+
full 7:1+ ratio; the 6px signal edge does the color-coding.
|
|
27
|
+
|
|
28
|
+
RADIUS DECISION: 0 across the board — square, uncompromising.
|
|
29
|
+
Clarity comes from thick rules and focus rings, not corners.
|
|
30
|
+
|
|
31
|
+
Every rule below is scoped under html[data-theme-pack="beacon"]
|
|
32
|
+
— this is what makes the runtime pack swap atomic (Decision 3)
|
|
33
|
+
and lets the validator prove a pack can never leak styles while
|
|
34
|
+
inactive (Decision 6.7). The @font-face blocks are the sole
|
|
35
|
+
exception (at-rules can't be selector-scoped).
|
|
36
|
+
|
|
37
|
+
Prototype-selector adaptations against the REAL DOM (tokens-dump
|
|
38
|
+
§6 + component sources), noted inline where they matter:
|
|
39
|
+
- `:where(a, button, …):focus-visible` → expanded into a
|
|
40
|
+
comma list of fully-prefixed branches (the validator checks
|
|
41
|
+
every comma-separated branch for the scope prefix, so the
|
|
42
|
+
comma-bearing :where() argument list can't be used)
|
|
43
|
+
- `.lead` → `.zd-content > p[data-doc-description]`
|
|
44
|
+
(the description paragraph DocContentHeader
|
|
45
|
+
renders now carries a stable data-doc-description
|
|
46
|
+
hook; fails soft on pages without one, #2876)
|
|
47
|
+
- `.doc-pager` → `.zd-content > nav[data-doc-pager] > a`
|
|
48
|
+
(the DocPager nav now carries a stable
|
|
49
|
+
data-doc-pager hook, #2876)
|
|
50
|
+
- `.pager-title` → the pager card's <p> (its only <p>)
|
|
51
|
+
- `footer[data-footer]` → ships literally now — the real footer
|
|
52
|
+
carries the stable data-footer hook (#2876)
|
|
53
|
+
- `.tp-flyout` → `div[data-switcher-card]` (the flyout card
|
|
54
|
+
now carries a stable data-switcher-card
|
|
55
|
+
hook, #2876). The launcher button and
|
|
56
|
+
`.tp-btn` controls carry a data-switcher-launcher
|
|
57
|
+
hook too, but their styling is intentionally
|
|
58
|
+
NOT ported.
|
|
59
|
+
- `.hdr-search` / `.hdr-icon-btn` / `.toc-title` / `.sb-group > p`
|
|
60
|
+
— prototype-mock markup with no stable
|
|
61
|
+
hook; NOT ported.
|
|
62
|
+
- the prototype's `--radius` / `--radius-lg` overrides are not
|
|
63
|
+
part of the token manifest; squareness is carried by the
|
|
64
|
+
`--zdc-*-radius` seams plus explicit border-radius: 0 on the
|
|
65
|
+
stable hooks below.
|
|
66
|
+
============================================================ */
|
|
67
|
+
|
|
68
|
+
/* ---- Atkinson Hyperlegible — the reading face, designed by the
|
|
69
|
+
Braille Institute for maximum legibility. Static 400/700 +
|
|
70
|
+
true italics. Latin subsets only (both families): a stray
|
|
71
|
+
latin-ext or CJK glyph falls through to the stack's system
|
|
72
|
+
face. ---- */
|
|
73
|
+
|
|
74
|
+
@font-face {
|
|
75
|
+
font-family: "Atkinson Hyperlegible";
|
|
76
|
+
font-style: normal;
|
|
77
|
+
font-weight: 400;
|
|
78
|
+
font-display: swap;
|
|
79
|
+
src: url("./fonts/AtkinsonHyperlegible-400-latin.woff2") format("woff2");
|
|
80
|
+
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA,
|
|
81
|
+
U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191,
|
|
82
|
+
U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
@font-face {
|
|
86
|
+
font-family: "Atkinson Hyperlegible";
|
|
87
|
+
font-style: normal;
|
|
88
|
+
font-weight: 700;
|
|
89
|
+
font-display: swap;
|
|
90
|
+
src: url("./fonts/AtkinsonHyperlegible-700-latin.woff2") format("woff2");
|
|
91
|
+
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA,
|
|
92
|
+
U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191,
|
|
93
|
+
U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
|
|
94
|
+
}
|
|
95
|
+
|
|
96
|
+
@font-face {
|
|
97
|
+
font-family: "Atkinson Hyperlegible";
|
|
98
|
+
font-style: italic;
|
|
99
|
+
font-weight: 400;
|
|
100
|
+
font-display: swap;
|
|
101
|
+
src: url("./fonts/AtkinsonHyperlegible-italic-400-latin.woff2") format("woff2");
|
|
102
|
+
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA,
|
|
103
|
+
U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191,
|
|
104
|
+
U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
|
|
105
|
+
}
|
|
106
|
+
|
|
107
|
+
@font-face {
|
|
108
|
+
font-family: "Atkinson Hyperlegible";
|
|
109
|
+
font-style: italic;
|
|
110
|
+
font-weight: 700;
|
|
111
|
+
font-display: swap;
|
|
112
|
+
src: url("./fonts/AtkinsonHyperlegible-italic-700-latin.woff2") format("woff2");
|
|
113
|
+
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA,
|
|
114
|
+
U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191,
|
|
115
|
+
U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
|
|
116
|
+
}
|
|
117
|
+
|
|
118
|
+
/* ---- Atkinson Hyperlegible Mono — code. Variable 200–800 (bold
|
|
119
|
+
code emphasis rides the same file) + a true italic for
|
|
120
|
+
comments. ---- */
|
|
121
|
+
|
|
122
|
+
@font-face {
|
|
123
|
+
font-family: "Atkinson Hyperlegible Mono";
|
|
124
|
+
font-style: normal;
|
|
125
|
+
font-weight: 200 800;
|
|
126
|
+
font-display: swap;
|
|
127
|
+
src: url("./fonts/AtkinsonHyperlegibleMono-latin.woff2") format("woff2");
|
|
128
|
+
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA,
|
|
129
|
+
U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191,
|
|
130
|
+
U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
|
|
131
|
+
}
|
|
132
|
+
|
|
133
|
+
@font-face {
|
|
134
|
+
font-family: "Atkinson Hyperlegible Mono";
|
|
135
|
+
font-style: italic;
|
|
136
|
+
font-weight: 200 800;
|
|
137
|
+
font-display: swap;
|
|
138
|
+
src: url("./fonts/AtkinsonHyperlegibleMono-italic-latin.woff2") format("woff2");
|
|
139
|
+
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA,
|
|
140
|
+
U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191,
|
|
141
|
+
U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
|
|
142
|
+
}
|
|
143
|
+
|
|
144
|
+
html[data-theme-pack="beacon"] {
|
|
145
|
+
/* the oversized readable grid: scale the whole rem system up */
|
|
146
|
+
font-size: 112.5%;
|
|
147
|
+
|
|
148
|
+
/* Tier-2 semantic roles — pure white / pure black ground,
|
|
149
|
+
21:1 body text in both modes. Both modes always via
|
|
150
|
+
light-dark(). */
|
|
151
|
+
--zd-bg: light-dark(#ffffff, #000000);
|
|
152
|
+
--zd-fg: light-dark(#000000, #ffffff);
|
|
153
|
+
--zd-surface: light-dark(#ffffff, #000000);
|
|
154
|
+
--zd-selection-bg: light-dark(#0044cc, #6db3ff);
|
|
155
|
+
--zd-selection-fg: light-dark(#ffffff, #000000);
|
|
156
|
+
--zd-muted: light-dark(#595959, #b3b3b3);
|
|
157
|
+
--zd-accent: light-dark(#0044cc, #6db3ff);
|
|
158
|
+
--zd-accent-hover: light-dark(#002e8a, #9cccff);
|
|
159
|
+
--zd-code-bg: light-dark(#ffffff, #000000);
|
|
160
|
+
--zd-code-fg: light-dark(#000000, #ffffff);
|
|
161
|
+
/* success collapses to ink — the palette does not admit green */
|
|
162
|
+
--zd-success: light-dark(#000000, #ffffff);
|
|
163
|
+
--zd-danger: light-dark(#a50000, #ff8f8f);
|
|
164
|
+
--zd-warning: light-dark(#a50000, #ff8f8f);
|
|
165
|
+
--zd-info: light-dark(#0044cc, #6db3ff);
|
|
166
|
+
|
|
167
|
+
/* search + chat roles — left to the bundled color scheme these
|
|
168
|
+
resolve to sub-AAA values (search mark 4.9:1, user bubble
|
|
169
|
+
6.7:1). Matched keywords invert into the accent like the
|
|
170
|
+
selection (7.8:1 light / 9.5:1 dark); chat bubbles stay on
|
|
171
|
+
AAA pairs (user 7.8/9.5, assistant 17.9/16.5). */
|
|
172
|
+
--zd-matched-keyword-bg: light-dark(#0044cc, #6db3ff);
|
|
173
|
+
--zd-matched-keyword-fg: light-dark(#ffffff, #000000);
|
|
174
|
+
--zd-chat-user-bg: light-dark(#0044cc, #6db3ff);
|
|
175
|
+
--zd-chat-user-text: light-dark(#ffffff, #000000);
|
|
176
|
+
--zd-chat-assistant-bg: light-dark(#ededed, #1f1f1f);
|
|
177
|
+
--zd-chat-assistant-text: light-dark(#000000, #ffffff);
|
|
178
|
+
|
|
179
|
+
/* syntax — two blues, two reds, one grey, one ink; all 9 roles
|
|
180
|
+
in both modes, every value >= 7:1 on the page ground. */
|
|
181
|
+
--zd-syntax-comment: light-dark(#595959, #b3b3b3);
|
|
182
|
+
--zd-syntax-string: light-dark(#a50000, #ff8f8f);
|
|
183
|
+
--zd-syntax-number: light-dark(#6e0000, #ffb3ab);
|
|
184
|
+
--zd-syntax-keyword: light-dark(#0044cc, #6db3ff);
|
|
185
|
+
--zd-syntax-callable: light-dark(#00287a, #a8d1ff);
|
|
186
|
+
--zd-syntax-type: light-dark(#6e0000, #ffb3ab);
|
|
187
|
+
--zd-syntax-name: light-dark(#000000, #ffffff);
|
|
188
|
+
--zd-syntax-inserted: light-dark(#000000, #ffffff);
|
|
189
|
+
--zd-syntax-deleted: light-dark(#a50000, #ff8f8f);
|
|
190
|
+
/* features.css derives the deleted-line background as a 15% mix
|
|
191
|
+
of the deleted ink itself, which drops #a50000 to 6.0:1 there —
|
|
192
|
+
a 6% mix keeps the red cue and clears AAA (7.2:1 light /
|
|
193
|
+
9.0:1 dark; inserted stays 14.9/15.1 even at the stock 15%). */
|
|
194
|
+
--zfb-hi-del-bg: color-mix(in srgb, var(--zd-syntax-deleted) 6%, var(--zd-code-bg));
|
|
195
|
+
|
|
196
|
+
/* fonts — Atkinson Hyperlegible everywhere; headings share the
|
|
197
|
+
reading face (hierarchy comes from size + weight + rules). */
|
|
198
|
+
--font-sans: "Atkinson Hyperlegible", system-ui, sans-serif;
|
|
199
|
+
--font-mono: "Atkinson Hyperlegible Mono", ui-monospace, SFMono-Regular, Menlo, monospace;
|
|
200
|
+
|
|
201
|
+
/* Tier-3 component seams — square, uncompromising */
|
|
202
|
+
--zdc-doc-title-font: var(--font-sans);
|
|
203
|
+
--zdc-doc-title-weight: 700;
|
|
204
|
+
--zdc-doc-title-tracking: -0.01em;
|
|
205
|
+
--zdc-doc-h2-font: var(--font-sans);
|
|
206
|
+
--zdc-doc-h2-weight: 700;
|
|
207
|
+
--zdc-doc-h2-tracking: 0;
|
|
208
|
+
--zdc-doc-link-decoration: underline;
|
|
209
|
+
--zdc-admonition-radius: 0;
|
|
210
|
+
--zdc-admonition-border-width: 6px;
|
|
211
|
+
--zdc-card-radius: 0;
|
|
212
|
+
--zdc-nav-active-indicator-color: var(--zd-fg);
|
|
213
|
+
--zdc-nav-active-weight: 700;
|
|
214
|
+
}
|
|
215
|
+
|
|
216
|
+
/* ---- Beacon extras ---- */
|
|
217
|
+
|
|
218
|
+
html[data-theme-pack="beacon"] body {
|
|
219
|
+
line-height: 1.7;
|
|
220
|
+
}
|
|
221
|
+
|
|
222
|
+
/* the signature: 3px focus rings on every interactive element.
|
|
223
|
+
Written as fully-prefixed branches (not :where(a, button, …))
|
|
224
|
+
so the validator's per-branch scope check passes. */
|
|
225
|
+
html[data-theme-pack="beacon"] a:focus-visible,
|
|
226
|
+
html[data-theme-pack="beacon"] button:focus-visible,
|
|
227
|
+
html[data-theme-pack="beacon"] input:focus-visible,
|
|
228
|
+
html[data-theme-pack="beacon"] select:focus-visible,
|
|
229
|
+
html[data-theme-pack="beacon"] textarea:focus-visible,
|
|
230
|
+
html[data-theme-pack="beacon"] summary:focus-visible,
|
|
231
|
+
html[data-theme-pack="beacon"] [tabindex]:focus-visible {
|
|
232
|
+
outline: 3px solid var(--zd-accent);
|
|
233
|
+
outline-offset: 2px;
|
|
234
|
+
border-radius: 0;
|
|
235
|
+
}
|
|
236
|
+
|
|
237
|
+
/* links are underlined, always — everywhere. `aside a` (not
|
|
238
|
+
`#desktop-sidebar a`) so the rule also reaches the mobile sidebar
|
|
239
|
+
panel, which is a separate hook-less <aside> rendered by the
|
|
240
|
+
SidebarToggle island — the package's only two <aside>s are the
|
|
241
|
+
two sidebars. */
|
|
242
|
+
html[data-theme-pack="beacon"] [data-nav-item],
|
|
243
|
+
html[data-theme-pack="beacon"] aside a,
|
|
244
|
+
html[data-theme-pack="beacon"] main nav[aria-label="Breadcrumb"] a,
|
|
245
|
+
html[data-theme-pack="beacon"] nav[data-zd-toc] a,
|
|
246
|
+
html[data-theme-pack="beacon"] footer[data-footer] a {
|
|
247
|
+
text-decoration: underline;
|
|
248
|
+
text-underline-offset: 0.2em;
|
|
249
|
+
}
|
|
250
|
+
|
|
251
|
+
/* chrome framing: thick, black, honest rules */
|
|
252
|
+
html[data-theme-pack="beacon"] header[data-header] {
|
|
253
|
+
border-bottom: 3px solid var(--zd-fg);
|
|
254
|
+
}
|
|
255
|
+
/* the header logo carries the beacon mark */
|
|
256
|
+
html[data-theme-pack="beacon"] [data-header-logo]::before {
|
|
257
|
+
content: "◉";
|
|
258
|
+
color: var(--zd-accent);
|
|
259
|
+
margin-right: 0.45rem;
|
|
260
|
+
}
|
|
261
|
+
html[data-theme-pack="beacon"] #desktop-sidebar {
|
|
262
|
+
border-right: 2px solid var(--zd-fg);
|
|
263
|
+
}
|
|
264
|
+
html[data-theme-pack="beacon"] aside a,
|
|
265
|
+
html[data-theme-pack="beacon"] a[data-nav-active] {
|
|
266
|
+
border-radius: 0;
|
|
267
|
+
}
|
|
268
|
+
html[data-theme-pack="beacon"] footer[data-footer] {
|
|
269
|
+
border-top: 3px solid var(--zd-fg);
|
|
270
|
+
}
|
|
271
|
+
|
|
272
|
+
/* strong hierarchy in the prose */
|
|
273
|
+
html[data-theme-pack="beacon"] .zd-content h1 {
|
|
274
|
+
font-size: 3rem;
|
|
275
|
+
}
|
|
276
|
+
html[data-theme-pack="beacon"] .zd-content > p[data-doc-description] {
|
|
277
|
+
font-size: 1.3rem;
|
|
278
|
+
}
|
|
279
|
+
/* h2: a 4px ink rule. The SSR-inlined
|
|
280
|
+
`style="border-image:linear-gradient(...)"` bar is defeated with
|
|
281
|
+
border-image none !important (Decision 6.6's sole allowlisted
|
|
282
|
+
carve-out); a solid full-strength top border replaces it. */
|
|
283
|
+
html[data-theme-pack="beacon"] .zd-content h2 {
|
|
284
|
+
border-image: none !important;
|
|
285
|
+
border-top: 4px solid var(--zd-fg);
|
|
286
|
+
font-size: 1.55rem;
|
|
287
|
+
}
|
|
288
|
+
html[data-theme-pack="beacon"] .zd-content h3 {
|
|
289
|
+
font-size: 1.25rem;
|
|
290
|
+
}
|
|
291
|
+
html[data-theme-pack="beacon"] .zd-content blockquote {
|
|
292
|
+
border-left: 6px solid var(--zd-fg);
|
|
293
|
+
color: var(--zd-fg);
|
|
294
|
+
font-style: italic;
|
|
295
|
+
}
|
|
296
|
+
html[data-theme-pack="beacon"] .zd-content hr {
|
|
297
|
+
border-top: 3px solid var(--zd-fg);
|
|
298
|
+
}
|
|
299
|
+
|
|
300
|
+
/* prose links: 2px underlines, 3px on hover — the ring language */
|
|
301
|
+
html[data-theme-pack="beacon"] .zd-content a {
|
|
302
|
+
text-decoration-thickness: 2px;
|
|
303
|
+
text-underline-offset: 0.2em;
|
|
304
|
+
}
|
|
305
|
+
html[data-theme-pack="beacon"] .zd-content a:hover {
|
|
306
|
+
text-decoration-thickness: 3px;
|
|
307
|
+
}
|
|
308
|
+
|
|
309
|
+
/* inline code: crisp square chip behind a hairline ink rule */
|
|
310
|
+
html[data-theme-pack="beacon"] .zd-content code:not(pre code) {
|
|
311
|
+
background: color-mix(in srgb, var(--zd-fg) 7%, var(--zd-bg));
|
|
312
|
+
border: 1px solid color-mix(in srgb, var(--zd-fg) 35%, transparent);
|
|
313
|
+
border-radius: 0;
|
|
314
|
+
}
|
|
315
|
+
|
|
316
|
+
/* code block: page-ground panel behind a 2px ink frame */
|
|
317
|
+
html[data-theme-pack="beacon"] pre.hi-root {
|
|
318
|
+
border: 2px solid var(--zd-fg);
|
|
319
|
+
border-radius: 0;
|
|
320
|
+
}
|
|
321
|
+
html[data-theme-pack="beacon"] .hi-kw,
|
|
322
|
+
html[data-theme-pack="beacon"] .hi-fn {
|
|
323
|
+
font-weight: 700;
|
|
324
|
+
}
|
|
325
|
+
/* comments ride the shipped mono italic face */
|
|
326
|
+
html[data-theme-pack="beacon"] .hi-com {
|
|
327
|
+
font-style: italic;
|
|
328
|
+
}
|
|
329
|
+
|
|
330
|
+
/* find-in-page: the stock warning-tinted washes drop body ink below
|
|
331
|
+
AA on beacon's red warning role — repaint them in the accent.
|
|
332
|
+
Ink stays 12.3:1+ on the 30% wash; the active match inverts like
|
|
333
|
+
the selection (7.8:1 light / 9.5:1 dark). */
|
|
334
|
+
html[data-theme-pack="beacon"] .find-match {
|
|
335
|
+
background-color: color-mix(in srgb, var(--zd-accent) 30%, transparent);
|
|
336
|
+
border-radius: 0;
|
|
337
|
+
}
|
|
338
|
+
html[data-theme-pack="beacon"] .find-match-active {
|
|
339
|
+
background-color: var(--zd-accent);
|
|
340
|
+
color: var(--zd-selection-fg);
|
|
341
|
+
border-radius: 0;
|
|
342
|
+
outline: 2px solid var(--zd-accent);
|
|
343
|
+
}
|
|
344
|
+
|
|
345
|
+
/* admonitions: fully boxed, square, 6px signal edge. Backgrounds
|
|
346
|
+
pin to the page ground (not the stock 12% tint) so every variant
|
|
347
|
+
title ink keeps its full AAA ratio — the border does the
|
|
348
|
+
color-coding. Emoji icons swap for monochrome text glyphs that
|
|
349
|
+
inherit each title's AAA ink. */
|
|
350
|
+
html[data-theme-pack="beacon"] [data-admonition] {
|
|
351
|
+
border-style: solid;
|
|
352
|
+
border-width: 2px 2px 2px var(--zdc-admonition-border-width);
|
|
353
|
+
border-color: var(--zd-muted);
|
|
354
|
+
background-color: var(--zd-bg);
|
|
355
|
+
}
|
|
356
|
+
html[data-theme-pack="beacon"] [data-admonition="note"],
|
|
357
|
+
html[data-theme-pack="beacon"] [data-admonition="important"] {
|
|
358
|
+
border-color: var(--zd-accent);
|
|
359
|
+
}
|
|
360
|
+
html[data-theme-pack="beacon"] [data-admonition="tip"] {
|
|
361
|
+
border-color: var(--zd-success);
|
|
362
|
+
}
|
|
363
|
+
html[data-theme-pack="beacon"] [data-admonition="info"] {
|
|
364
|
+
border-color: var(--zd-info);
|
|
365
|
+
}
|
|
366
|
+
html[data-theme-pack="beacon"] [data-admonition="warning"] {
|
|
367
|
+
border-color: var(--zd-warning);
|
|
368
|
+
}
|
|
369
|
+
html[data-theme-pack="beacon"] [data-admonition="danger"],
|
|
370
|
+
html[data-theme-pack="beacon"] [data-admonition="caution"] {
|
|
371
|
+
border-color: var(--zd-danger);
|
|
372
|
+
}
|
|
373
|
+
html[data-theme-pack="beacon"] [data-admonition="note"] .admonition-title::before {
|
|
374
|
+
content: "◆ ";
|
|
375
|
+
}
|
|
376
|
+
html[data-theme-pack="beacon"] [data-admonition="tip"] .admonition-title::before {
|
|
377
|
+
content: "✓ ";
|
|
378
|
+
}
|
|
379
|
+
html[data-theme-pack="beacon"] [data-admonition="info"] .admonition-title::before {
|
|
380
|
+
content: "● ";
|
|
381
|
+
}
|
|
382
|
+
html[data-theme-pack="beacon"] [data-admonition="warning"] .admonition-title::before {
|
|
383
|
+
content: "▲ ";
|
|
384
|
+
}
|
|
385
|
+
html[data-theme-pack="beacon"] [data-admonition="danger"] .admonition-title::before {
|
|
386
|
+
content: "■ ";
|
|
387
|
+
}
|
|
388
|
+
html[data-theme-pack="beacon"] [data-admonition="important"] .admonition-title::before {
|
|
389
|
+
content: "! ";
|
|
390
|
+
}
|
|
391
|
+
html[data-theme-pack="beacon"] [data-admonition="caution"] .admonition-title::before {
|
|
392
|
+
content: "✕ ";
|
|
393
|
+
}
|
|
394
|
+
|
|
395
|
+
/* table: 3px header rule, honest row rules */
|
|
396
|
+
html[data-theme-pack="beacon"] .zd-content th {
|
|
397
|
+
border-bottom: 3px solid var(--zd-fg);
|
|
398
|
+
font-weight: 700;
|
|
399
|
+
}
|
|
400
|
+
html[data-theme-pack="beacon"] .zd-content td {
|
|
401
|
+
border-bottom: 1px solid color-mix(in srgb, var(--zd-fg) 30%, transparent);
|
|
402
|
+
}
|
|
403
|
+
|
|
404
|
+
/* TOC: 2px spine; the inverted active pill (bg-fg text-bg, 21:1)
|
|
405
|
+
stays stock */
|
|
406
|
+
html[data-theme-pack="beacon"] nav[data-zd-toc] ul {
|
|
407
|
+
border-left: 2px solid color-mix(in srgb, var(--zd-fg) 30%, transparent);
|
|
408
|
+
}
|
|
409
|
+
|
|
410
|
+
/* pager cards: 2px ink frames whose hover echoes the focus-ring
|
|
411
|
+
language. The DocPager is the article's LAST unlabelled
|
|
412
|
+
direct-child nav (breadcrumb and NavCardGrid navs carry
|
|
413
|
+
aria-labels). */
|
|
414
|
+
html[data-theme-pack="beacon"] .zd-content > nav[data-doc-pager] > a {
|
|
415
|
+
border: 2px solid var(--zd-fg);
|
|
416
|
+
border-radius: 0;
|
|
417
|
+
}
|
|
418
|
+
html[data-theme-pack="beacon"] .zd-content > nav[data-doc-pager] > a:hover {
|
|
419
|
+
border-color: var(--zd-accent);
|
|
420
|
+
outline: 3px solid var(--zd-accent);
|
|
421
|
+
outline-offset: 0;
|
|
422
|
+
}
|
|
423
|
+
html[data-theme-pack="beacon"] .zd-content > nav[data-doc-pager] > a p {
|
|
424
|
+
font-weight: 700;
|
|
425
|
+
text-decoration: underline;
|
|
426
|
+
text-decoration-thickness: 2px;
|
|
427
|
+
text-underline-offset: 0.2em;
|
|
428
|
+
}
|
|
429
|
+
|
|
430
|
+
/* theme-pack flyout: square, 3px-framed, hard offset shadow (the
|
|
431
|
+
launcher button's styling is intentionally not ported) */
|
|
432
|
+
html[data-theme-pack="beacon"] div[data-switcher-card] {
|
|
433
|
+
border: 3px solid var(--zd-fg);
|
|
434
|
+
border-radius: 0;
|
|
435
|
+
box-shadow: 6px 6px 0 0 color-mix(in srgb, var(--zd-fg) 18%, transparent);
|
|
436
|
+
}
|
|
437
|
+
html[data-theme-pack="beacon"]
|
|
438
|
+
div[data-switcher-card]
|
|
439
|
+
p[aria-live="polite"]::before {
|
|
440
|
+
content: "◉ ";
|
|
441
|
+
color: var(--zd-accent);
|
|
442
|
+
}
|
|
Binary file
|
|
Binary file
|
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
Copyright 2017 The Playfair Display Project Authors (https://github.com/clauseggers/Playfair)
|
|
2
|
+
Copyright 2014, 2018 Adobe (http://www.adobe.com/), with Reserved Font Name 'Source'. Source Serif 4 is a trademark of Adobe in the United States and/or other countries. (https://github.com/adobe-fonts/source-serif)
|
|
3
|
+
Copyright 2015 The Courier Prime Project Authors (https://github.com/quoteunquoteapps/CourierPrime)
|
|
4
|
+
|
|
5
|
+
This Font Software is licensed under the SIL Open Font License, Version 1.1.
|
|
6
|
+
This license is copied below, and is also available with a FAQ at:
|
|
7
|
+
https://scripts.sil.org/OFL
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
-----------------------------------------------------------
|
|
11
|
+
SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007
|
|
12
|
+
-----------------------------------------------------------
|
|
13
|
+
|
|
14
|
+
PREAMBLE
|
|
15
|
+
The goals of the Open Font License (OFL) are to stimulate worldwide
|
|
16
|
+
development of collaborative font projects, to support the font creation
|
|
17
|
+
efforts of academic and linguistic communities, and to provide a free and
|
|
18
|
+
open framework in which fonts may be shared and improved in partnership
|
|
19
|
+
with others.
|
|
20
|
+
|
|
21
|
+
The OFL allows the licensed fonts to be used, studied, modified and
|
|
22
|
+
redistributed freely as long as they are not sold by themselves. The
|
|
23
|
+
fonts, including any derivative works, can be bundled, embedded,
|
|
24
|
+
redistributed and/or sold with any software provided that any reserved
|
|
25
|
+
names are not used by derivative works. The fonts and derivatives,
|
|
26
|
+
however, cannot be released under any other type of license. The
|
|
27
|
+
requirement for fonts to remain under this license does not apply
|
|
28
|
+
to any document created using the fonts or their derivatives.
|
|
29
|
+
|
|
30
|
+
DEFINITIONS
|
|
31
|
+
"Font Software" refers to the set of files released by the Copyright
|
|
32
|
+
Holder(s) under this license and clearly marked as such. This may
|
|
33
|
+
include source files, build scripts and documentation.
|
|
34
|
+
|
|
35
|
+
"Reserved Font Name" refers to any names specified as such after the
|
|
36
|
+
copyright statement(s).
|
|
37
|
+
|
|
38
|
+
"Original Version" refers to the collection of Font Software components as
|
|
39
|
+
distributed by the Copyright Holder(s).
|
|
40
|
+
|
|
41
|
+
"Modified Version" refers to any derivative made by adding to, deleting,
|
|
42
|
+
or substituting -- in part or in whole -- any of the components of the
|
|
43
|
+
Original Version, by changing formats or by porting the Font Software to a
|
|
44
|
+
new environment.
|
|
45
|
+
|
|
46
|
+
"Author" refers to any designer, engineer, programmer, technical
|
|
47
|
+
writer or other person who contributed to the Font Software.
|
|
48
|
+
|
|
49
|
+
PERMISSION & CONDITIONS
|
|
50
|
+
Permission is hereby granted, free of charge, to any person obtaining
|
|
51
|
+
a copy of the Font Software, to use, study, copy, merge, embed, modify,
|
|
52
|
+
redistribute, and sell modified and unmodified copies of the Font
|
|
53
|
+
Software, subject to the following conditions:
|
|
54
|
+
|
|
55
|
+
1) Neither the Font Software nor any of its individual components,
|
|
56
|
+
in Original or Modified Versions, may be sold by itself.
|
|
57
|
+
|
|
58
|
+
2) Original or Modified Versions of the Font Software may be bundled,
|
|
59
|
+
redistributed and/or sold with any software, provided that each copy
|
|
60
|
+
contains the above copyright notice and this license. These can be
|
|
61
|
+
included either as stand-alone text files, human-readable headers or
|
|
62
|
+
in the appropriate machine-readable metadata fields within text or
|
|
63
|
+
binary files as long as those fields can be easily viewed by the user.
|
|
64
|
+
|
|
65
|
+
3) No Modified Version of the Font Software may use the Reserved Font
|
|
66
|
+
Name(s) unless explicit written permission is granted by the corresponding
|
|
67
|
+
Copyright Holder. This restriction only applies to the primary font name as
|
|
68
|
+
presented to the users.
|
|
69
|
+
|
|
70
|
+
4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font
|
|
71
|
+
Software shall not be used to promote, endorse or advertise any
|
|
72
|
+
Modified Version, except to acknowledge the contribution(s) of the
|
|
73
|
+
Copyright Holder(s) and the Author(s) or with their explicit written
|
|
74
|
+
permission.
|
|
75
|
+
|
|
76
|
+
5) The Font Software, modified or unmodified, in part or in whole,
|
|
77
|
+
must be distributed entirely under this license, and must not be
|
|
78
|
+
distributed under any other license. The requirement for fonts to
|
|
79
|
+
remain under this license does not apply to any document created
|
|
80
|
+
using the Font Software.
|
|
81
|
+
|
|
82
|
+
TERMINATION
|
|
83
|
+
This license becomes null and void if any of the above conditions are
|
|
84
|
+
not met.
|
|
85
|
+
|
|
86
|
+
DISCLAIMER
|
|
87
|
+
THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
|
88
|
+
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF
|
|
89
|
+
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
|
|
90
|
+
OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE
|
|
91
|
+
COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
|
|
92
|
+
INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL
|
|
93
|
+
DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
|
|
94
|
+
FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM
|
|
95
|
+
OTHER DEALINGS IN THE FONT SOFTWARE.
|
|
Binary file
|
|
Binary file
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
{
|
|
2
|
+
"schemaVersion": 1,
|
|
3
|
+
"slug": "broadsheet",
|
|
4
|
+
"name": "Broadsheet",
|
|
5
|
+
"description": "Newspaper editorial — Playfair masthead, Oxford ink rules, a red drop cap, and a night-edition dark mode.",
|
|
6
|
+
"mode": "light",
|
|
7
|
+
"version": "1.0.1",
|
|
8
|
+
"fonts": {
|
|
9
|
+
"sans": "Source Serif 4",
|
|
10
|
+
"mono": "Courier Prime",
|
|
11
|
+
"display": "Playfair Display",
|
|
12
|
+
"loaded": ["Playfair Display", "Source Serif 4", "Courier Prime"]
|
|
13
|
+
},
|
|
14
|
+
"preview": {
|
|
15
|
+
"light": {
|
|
16
|
+
"bg": "oklch(0.955 0.012 92)",
|
|
17
|
+
"fg": "oklch(0.205 0.012 80)",
|
|
18
|
+
"accent": "oklch(0.455 0.155 27)",
|
|
19
|
+
"syntax": {
|
|
20
|
+
"keyword": "oklch(0.445 0.155 27)",
|
|
21
|
+
"string": "oklch(0.45 0.075 60)",
|
|
22
|
+
"comment": "oklch(0.5 0.016 78)",
|
|
23
|
+
"callable": "oklch(0.42 0.09 252)"
|
|
24
|
+
}
|
|
25
|
+
},
|
|
26
|
+
"dark": {
|
|
27
|
+
"bg": "oklch(0.185 0.012 75)",
|
|
28
|
+
"fg": "oklch(0.935 0.015 90)",
|
|
29
|
+
"accent": "oklch(0.7 0.145 27)",
|
|
30
|
+
"syntax": {
|
|
31
|
+
"keyword": "oklch(0.72 0.14 27)",
|
|
32
|
+
"string": "oklch(0.79 0.07 70)",
|
|
33
|
+
"comment": "oklch(0.7 0.02 85)",
|
|
34
|
+
"callable": "oklch(0.74 0.08 248)"
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
}
|