@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.
Files changed (439) hide show
  1. package/CHANGELOG.md +61 -0
  2. package/README.md +2 -2
  3. package/bin/tag-cli-config.ts +126 -0
  4. package/bin/tags-audit-runner.ts +60 -76
  5. package/bin/tags-audit.mjs +17 -36
  6. package/bin/tags-suggest-runner.ts +429 -0
  7. package/bin/tags-suggest.mjs +30 -0
  8. package/bin/zudo-doc.mjs +78 -25
  9. package/dist/breadcrumb/breadcrumb.d.ts +4 -4
  10. package/dist/breadcrumb/find-path.d.ts +2 -2
  11. package/dist/breadcrumb/index.d.ts +1 -1
  12. package/dist/breadcrumb/types.d.ts +0 -5
  13. package/dist/chrome/derive.d.ts +16 -4
  14. package/dist/chrome/derive.js +64 -4
  15. package/dist/chrome/index.d.ts +13 -10
  16. package/dist/chrome/index.js +12 -6
  17. package/dist/chrome/primary-slots.d.ts +21 -0
  18. package/dist/chrome/primary-slots.js +59 -0
  19. package/dist/chrome-bindings.d.ts +227 -0
  20. package/dist/chrome-bindings.js +6 -0
  21. package/dist/code-syntax/code-block-enhancer-script.d.ts +4 -0
  22. package/dist/code-syntax/code-block-enhancer-script.js +7 -4
  23. package/dist/code-syntax/code-block-enhancer.d.ts +2 -2
  24. package/dist/code-syntax/code-block-enhancer.js +1 -3
  25. package/dist/code-syntax/index.d.ts +5 -5
  26. package/dist/code-syntax/index.js +4 -13
  27. package/dist/code-syntax/mermaid-init-script.d.ts +1 -22
  28. package/dist/code-syntax/mermaid-init-script.js +0 -2
  29. package/dist/code-syntax/mermaid-init.d.ts +0 -1
  30. package/dist/code-syntax/mermaid-init.js +3 -4
  31. package/dist/code-syntax/tabs-init.d.ts +0 -1
  32. package/dist/code-syntax/tabs-init.js +1 -3
  33. package/dist/code-syntax/tabs.d.ts +0 -1
  34. package/dist/code-syntax/tabs.js +1 -3
  35. package/dist/color-scheme-utils.d.ts +72 -4
  36. package/dist/color-scheme-utils.js +137 -0
  37. package/dist/color-schemes-defaults/index.d.ts +23 -0
  38. package/dist/color-schemes-defaults/index.js +134 -0
  39. package/dist/config.d.ts +459 -0
  40. package/dist/config.js +125 -0
  41. package/dist/content/component-map.d.ts +0 -16
  42. package/dist/content/component-map.js +2 -4
  43. package/dist/content/index.d.ts +1 -1
  44. package/dist/content/index.js +2 -3
  45. package/dist/content.css +1 -1
  46. package/dist/design-token-panel-bootstrap.d.ts +82 -27
  47. package/dist/design-token-panel-bootstrap.js +110 -21
  48. package/dist/design-token-panel-config/index.d.ts +49 -0
  49. package/dist/design-token-panel-config/index.js +211 -0
  50. package/dist/design-token-panel-config/manifest.d.ts +46 -0
  51. package/dist/design-token-panel-config/manifest.js +105 -0
  52. package/dist/directive-vocabulary-defaults/index.d.ts +16 -0
  53. package/dist/directive-vocabulary-defaults/index.js +12 -0
  54. package/dist/doc-body-end-islands/design-token-panel-island.d.ts +15 -0
  55. package/dist/doc-body-end-islands/design-token-panel-island.js +31 -0
  56. package/dist/doc-body-end-islands/index.d.ts +52 -7
  57. package/dist/doc-body-end-islands/index.js +19 -0
  58. package/dist/doc-body-end-islands/theme-pack-switcher-island.d.ts +37 -0
  59. package/dist/doc-body-end-islands/theme-pack-switcher-island.js +18 -0
  60. package/dist/doc-content-header/index.js +1 -1
  61. package/dist/doc-history-area/index.d.ts +10 -4
  62. package/dist/doc-history-area/index.js +3 -2
  63. package/dist/doc-metainfo-area/index.d.ts +1 -0
  64. package/dist/doc-page-props/index.d.ts +7 -23
  65. package/dist/doc-page-renderer/index.d.ts +1 -0
  66. package/dist/doc-page-renderer/index.js +1 -0
  67. package/dist/doc-page-shell/index.js +19 -12
  68. package/dist/doc-pager/index.js +1 -1
  69. package/dist/doc-route-entries/index.d.ts +2 -2
  70. package/dist/doclayout/doc-layout-with-defaults.js +4 -4
  71. package/dist/doclayout/doc-layout.d.ts +8 -0
  72. package/dist/doclayout/doc-layout.js +10 -1
  73. package/dist/docs-schema/index.d.ts +67 -0
  74. package/dist/docs-schema/index.js +43 -0
  75. package/dist/eject/index.d.ts +16 -0
  76. package/dist/eject/index.js +122 -28
  77. package/dist/extract-headings/index.d.ts +5 -8
  78. package/dist/extract-headings/index.js +2 -9
  79. package/dist/factory-context/index.d.ts +56 -4
  80. package/dist/features.css +65 -43
  81. package/dist/find-in-page/find-bar.d.ts +9 -0
  82. package/dist/find-in-page/find-bar.js +114 -0
  83. package/dist/find-in-page/find-in-page.d.ts +17 -0
  84. package/dist/find-in-page/find-in-page.js +131 -0
  85. package/dist/find-in-page/index.d.ts +11 -0
  86. package/dist/find-in-page/index.js +49 -0
  87. package/dist/footer/footer.js +1 -0
  88. package/dist/frontmatter-preview-defaults/index.d.ts +16 -0
  89. package/dist/frontmatter-preview-defaults/index.js +25 -0
  90. package/dist/head-with-defaults/index.d.ts +2 -0
  91. package/dist/head-with-defaults/index.js +16 -0
  92. package/dist/header/header.d.ts +10 -5
  93. package/dist/header/header.js +45 -5
  94. package/dist/header/index.d.ts +1 -1
  95. package/dist/header/types.d.ts +30 -1
  96. package/dist/header-with-defaults/index.js +1 -0
  97. package/dist/home-page/index.d.ts +2 -0
  98. package/dist/home-page/index.js +11 -5
  99. package/dist/home-page/prepare-home-data.js +1 -1
  100. package/dist/i18n-defaults/index.d.ts +22 -0
  101. package/dist/i18n-defaults/index.js +167 -0
  102. package/dist/locale-merge/index.d.ts +9 -14
  103. package/dist/locale-merge/index.js +6 -4
  104. package/dist/mdx-components/index.js +4 -4
  105. package/dist/plugins/claude-resources.d.ts +1 -0
  106. package/dist/plugins/claude-resources.js +4 -2
  107. package/dist/plugins/doc-history.js +1 -1
  108. package/dist/{integrations → plugins/internal}/claude-resources/index.d.ts +1 -16
  109. package/dist/{integrations → plugins/internal}/claude-resources/index.js +0 -9
  110. package/dist/{integrations → plugins/internal}/doc-history/index.d.ts +0 -17
  111. package/dist/{integrations → plugins/internal}/doc-history/index.js +0 -4
  112. package/dist/{integrations → plugins/internal}/doc-history/pre-build.d.ts +2 -4
  113. package/dist/plugins/internal/llms-txt/index.d.ts +7 -0
  114. package/dist/{integrations → plugins/internal}/llms-txt/load.d.ts +1 -1
  115. package/dist/{integrations → plugins/internal}/llms-txt/load.js +2 -2
  116. package/dist/{integrations → plugins/internal}/llms-txt/strip.d.ts +2 -3
  117. package/dist/{integrations → plugins/internal}/llms-txt/strip.js +1 -1
  118. package/dist/{integrations → plugins/internal}/llms-txt/types.d.ts +13 -22
  119. package/dist/{integrations → plugins/internal}/search-index/collect.js +1 -1
  120. package/dist/plugins/internal/theme-packs/copy.d.ts +32 -0
  121. package/dist/plugins/internal/theme-packs/copy.js +45 -0
  122. package/dist/plugins/internal/theme-packs/dev-middleware.d.ts +22 -0
  123. package/dist/plugins/internal/theme-packs/dev-middleware.js +80 -0
  124. package/dist/plugins/internal/theme-packs/index.d.ts +6 -0
  125. package/dist/plugins/internal/theme-packs/index.js +9 -0
  126. package/dist/plugins/internal/theme-packs/resolve.d.ts +17 -0
  127. package/dist/plugins/internal/theme-packs/resolve.js +17 -0
  128. package/dist/plugins/internal/theme-packs/types.d.ts +22 -0
  129. package/dist/plugins/internal/theme-packs/types.js +0 -0
  130. package/dist/plugins/llms-txt.js +1 -1
  131. package/dist/plugins/routes.js +55 -21
  132. package/dist/plugins/search-index.js +1 -1
  133. package/dist/plugins/theme-packs.d.ts +3 -0
  134. package/dist/plugins/theme-packs.js +40 -0
  135. package/dist/preset.d.ts +28 -14
  136. package/dist/preset.js +24 -9
  137. package/dist/route-context/index.js +4 -6
  138. package/dist/route-enumerators/index.d.ts +6 -18
  139. package/dist/route-enumerators/index.js +8 -6
  140. package/dist/routes/404.js +3 -1
  141. package/dist/routes/_chrome.js +3 -2
  142. package/dist/routes/_context.d.ts +7 -3
  143. package/dist/routes/_context.js +2 -0
  144. package/dist/routes/_docs-helpers.js +9 -21
  145. package/dist/safelist.css +1 -1
  146. package/dist/settings.d.ts +64 -12
  147. package/dist/sidebar-tree/build-tree.d.ts +3 -4
  148. package/dist/sidebar-tree/build-tree.js +4 -3
  149. package/dist/sidebar-tree/index.d.ts +2 -2
  150. package/dist/sidebar-tree/types.d.ts +6 -17
  151. package/dist/site-tree-nav-island/index.d.ts +3 -1
  152. package/dist/site-tree-nav-island/index.js +17 -5
  153. package/dist/site-tree-nav-island/state.d.ts +4 -0
  154. package/dist/site-tree-nav-island/state.js +10 -0
  155. package/dist/tag-helpers/index.d.ts +6 -13
  156. package/dist/tag-helpers/index.js +5 -23
  157. package/dist/tag-pages/index.d.ts +8 -21
  158. package/dist/tag-pages/index.js +14 -10
  159. package/dist/tags-audit.d.ts +16 -44
  160. package/dist/tags-audit.js +9 -172
  161. package/dist/theme/color-scheme-provider.d.ts +2 -3
  162. package/dist/theme/color-scheme-provider.js +2 -10
  163. package/dist/theme/index.d.ts +1 -4
  164. package/dist/theme/index.js +2 -30
  165. package/dist/theme/theme-pack-provider.d.ts +42 -0
  166. package/dist/theme/theme-pack-provider.js +75 -0
  167. package/dist/theme-cli/apply.d.ts +16 -0
  168. package/dist/theme-cli/apply.js +61 -0
  169. package/dist/theme-cli/config-io.d.ts +15 -0
  170. package/dist/theme-cli/config-io.js +51 -0
  171. package/dist/theme-cli/config-rewriter.d.ts +21 -0
  172. package/dist/theme-cli/config-rewriter.js +141 -0
  173. package/dist/theme-cli/config-scanner.d.ts +63 -0
  174. package/dist/theme-cli/config-scanner.js +288 -0
  175. package/dist/theme-cli/index.d.ts +7 -0
  176. package/dist/theme-cli/index.js +38 -0
  177. package/dist/theme-cli/list.d.ts +27 -0
  178. package/dist/theme-cli/list.js +64 -0
  179. package/dist/theme-cli/provenance.d.ts +17 -0
  180. package/dist/theme-cli/provenance.js +35 -0
  181. package/dist/theme-cli/registry.d.ts +14 -0
  182. package/dist/theme-cli/registry.js +13 -0
  183. package/dist/theme-pack-dialog/dialog-state.d.ts +25 -0
  184. package/dist/theme-pack-dialog/dialog-state.js +40 -0
  185. package/dist/theme-pack-dialog/index.d.ts +5 -0
  186. package/dist/theme-pack-dialog/index.js +152 -0
  187. package/dist/theme-pack-dialog/theme-pack-card.d.ts +25 -0
  188. package/dist/theme-pack-dialog/theme-pack-card.js +72 -0
  189. package/dist/theme-pack-switcher/index.d.ts +49 -0
  190. package/dist/theme-pack-switcher/index.js +205 -0
  191. package/dist/theme-pack-switcher/switcher-state.d.ts +56 -0
  192. package/dist/theme-pack-switcher/switcher-state.js +43 -0
  193. package/dist/theme-pack-switcher/theme-pack-sync.d.ts +85 -0
  194. package/dist/theme-pack-switcher/theme-pack-sync.js +121 -0
  195. package/dist/theme-packs/beacon/fonts/AtkinsonHyperlegible-400-latin.woff2 +0 -0
  196. package/dist/theme-packs/beacon/fonts/AtkinsonHyperlegible-700-latin.woff2 +0 -0
  197. package/dist/theme-packs/beacon/fonts/AtkinsonHyperlegible-italic-400-latin.woff2 +0 -0
  198. package/dist/theme-packs/beacon/fonts/AtkinsonHyperlegible-italic-700-latin.woff2 +0 -0
  199. package/dist/theme-packs/beacon/fonts/AtkinsonHyperlegibleMono-italic-latin.woff2 +0 -0
  200. package/dist/theme-packs/beacon/fonts/AtkinsonHyperlegibleMono-latin.woff2 +0 -0
  201. package/dist/theme-packs/beacon/fonts/OFL.txt +94 -0
  202. package/dist/theme-packs/beacon/meta.json +37 -0
  203. package/dist/theme-packs/beacon/pack.css +442 -0
  204. package/dist/theme-packs/broadsheet/fonts/CourierPrime-400-latin.woff2 +0 -0
  205. package/dist/theme-packs/broadsheet/fonts/CourierPrime-700-latin.woff2 +0 -0
  206. package/dist/theme-packs/broadsheet/fonts/OFL.txt +95 -0
  207. package/dist/theme-packs/broadsheet/fonts/PlayfairDisplay-italic-latin.woff2 +0 -0
  208. package/dist/theme-packs/broadsheet/fonts/PlayfairDisplay-latin.woff2 +0 -0
  209. package/dist/theme-packs/broadsheet/fonts/SourceSerif4-italic-latin.woff2 +0 -0
  210. package/dist/theme-packs/broadsheet/fonts/SourceSerif4-latin.woff2 +0 -0
  211. package/dist/theme-packs/broadsheet/meta.json +38 -0
  212. package/dist/theme-packs/broadsheet/pack.css +448 -0
  213. package/dist/theme-packs/brutalist/fonts/ArchivoBlack-latin.woff2 +0 -0
  214. package/dist/theme-packs/brutalist/fonts/IBMPlexMono-400-latin.woff2 +0 -0
  215. package/dist/theme-packs/brutalist/fonts/IBMPlexMono-500-latin.woff2 +0 -0
  216. package/dist/theme-packs/brutalist/fonts/IBMPlexMono-700-latin.woff2 +0 -0
  217. package/dist/theme-packs/brutalist/fonts/OFL.txt +95 -0
  218. package/dist/theme-packs/brutalist/fonts/SpaceGrotesk-latin.woff2 +0 -0
  219. package/dist/theme-packs/brutalist/meta.json +38 -0
  220. package/dist/theme-packs/brutalist/pack.css +546 -0
  221. package/dist/theme-packs/default/meta.json +37 -0
  222. package/dist/theme-packs/drift/fonts/IBMPlexMono-400-latin-ext.woff2 +0 -0
  223. package/dist/theme-packs/drift/fonts/IBMPlexMono-400-latin.woff2 +0 -0
  224. package/dist/theme-packs/drift/fonts/IBMPlexMono-500-latin-ext.woff2 +0 -0
  225. package/dist/theme-packs/drift/fonts/IBMPlexMono-500-latin.woff2 +0 -0
  226. package/dist/theme-packs/drift/fonts/IBMPlexSans-italic-latin.woff2 +0 -0
  227. package/dist/theme-packs/drift/fonts/IBMPlexSans-latin-ext.woff2 +0 -0
  228. package/dist/theme-packs/drift/fonts/IBMPlexSans-latin.woff2 +0 -0
  229. package/dist/theme-packs/drift/fonts/OFL.txt +93 -0
  230. package/dist/theme-packs/drift/meta.json +37 -0
  231. package/dist/theme-packs/drift/pack.css +478 -0
  232. package/dist/theme-packs/fjord/fonts/Inter-latin-ext.woff2 +0 -0
  233. package/dist/theme-packs/fjord/fonts/Inter-latin.woff2 +0 -0
  234. package/dist/theme-packs/fjord/fonts/JetBrainsMono-latin-ext.woff2 +0 -0
  235. package/dist/theme-packs/fjord/fonts/JetBrainsMono-latin.woff2 +0 -0
  236. package/dist/theme-packs/fjord/fonts/OFL.txt +94 -0
  237. package/dist/theme-packs/fjord/meta.json +37 -0
  238. package/dist/theme-packs/fjord/pack.css +375 -0
  239. package/dist/theme-packs/foundry/fonts/Inter-latin-ext.woff2 +0 -0
  240. package/dist/theme-packs/foundry/fonts/Inter-latin.woff2 +0 -0
  241. package/dist/theme-packs/foundry/fonts/OFL.txt +93 -0
  242. package/dist/theme-packs/foundry/meta.json +37 -0
  243. package/dist/theme-packs/foundry/pack.css +202 -0
  244. package/dist/theme-packs/futura-editorial/fonts/Jost-latin.woff2 +0 -0
  245. package/dist/theme-packs/futura-editorial/fonts/NotoSans-italic-latin.woff2 +0 -0
  246. package/dist/theme-packs/futura-editorial/fonts/NotoSans-latin.woff2 +0 -0
  247. package/dist/theme-packs/futura-editorial/fonts/OFL.txt +95 -0
  248. package/dist/theme-packs/futura-editorial/fonts/SpaceMono-400-latin.woff2 +0 -0
  249. package/dist/theme-packs/futura-editorial/fonts/SpaceMono-700-latin.woff2 +0 -0
  250. package/dist/theme-packs/futura-editorial/meta.json +38 -0
  251. package/dist/theme-packs/futura-editorial/pack.css +313 -0
  252. package/dist/theme-packs/hearth/fonts/Fraunces-italic-latin.woff2 +0 -0
  253. package/dist/theme-packs/hearth/fonts/Fraunces-latin.woff2 +0 -0
  254. package/dist/theme-packs/hearth/fonts/Nunito-latin.woff2 +0 -0
  255. package/dist/theme-packs/hearth/fonts/OFL.txt +95 -0
  256. package/dist/theme-packs/hearth/fonts/SplineSansMono-latin.woff2 +0 -0
  257. package/dist/theme-packs/hearth/meta.json +38 -0
  258. package/dist/theme-packs/hearth/pack.css +385 -0
  259. package/dist/theme-packs/hollow/fonts/OFL.txt +94 -0
  260. package/dist/theme-packs/hollow/fonts/SpaceGrotesk-latin.woff2 +0 -0
  261. package/dist/theme-packs/hollow/fonts/SpaceMono-400-italic-latin.woff2 +0 -0
  262. package/dist/theme-packs/hollow/fonts/SpaceMono-400-latin.woff2 +0 -0
  263. package/dist/theme-packs/hollow/fonts/SpaceMono-700-latin.woff2 +0 -0
  264. package/dist/theme-packs/hollow/meta.json +37 -0
  265. package/dist/theme-packs/hollow/pack.css +428 -0
  266. package/dist/theme-packs/ledger/fonts/CrimsonPro-latin-ext-italic.woff2 +0 -0
  267. package/dist/theme-packs/ledger/fonts/CrimsonPro-latin-ext.woff2 +0 -0
  268. package/dist/theme-packs/ledger/fonts/CrimsonPro-latin-italic.woff2 +0 -0
  269. package/dist/theme-packs/ledger/fonts/CrimsonPro-latin.woff2 +0 -0
  270. package/dist/theme-packs/ledger/fonts/IBMPlexMono-400-latin-ext.woff2 +0 -0
  271. package/dist/theme-packs/ledger/fonts/IBMPlexMono-400-latin.woff2 +0 -0
  272. package/dist/theme-packs/ledger/fonts/IBMPlexMono-500-latin-ext.woff2 +0 -0
  273. package/dist/theme-packs/ledger/fonts/IBMPlexMono-500-latin.woff2 +0 -0
  274. package/dist/theme-packs/ledger/fonts/OFL.txt +94 -0
  275. package/dist/theme-packs/ledger/meta.json +37 -0
  276. package/dist/theme-packs/ledger/pack.css +463 -0
  277. package/dist/theme-packs/manuscript/fonts/CourierPrime-400-latin-ext.woff2 +0 -0
  278. package/dist/theme-packs/manuscript/fonts/CourierPrime-400-latin.woff2 +0 -0
  279. package/dist/theme-packs/manuscript/fonts/CourierPrime-700-latin-ext.woff2 +0 -0
  280. package/dist/theme-packs/manuscript/fonts/CourierPrime-700-latin.woff2 +0 -0
  281. package/dist/theme-packs/manuscript/fonts/EBGaramond-latin-italic.woff2 +0 -0
  282. package/dist/theme-packs/manuscript/fonts/EBGaramond-latin.woff2 +0 -0
  283. package/dist/theme-packs/manuscript/fonts/OFL.txt +94 -0
  284. package/dist/theme-packs/manuscript/meta.json +37 -0
  285. package/dist/theme-packs/manuscript/pack.css +376 -0
  286. package/dist/theme-packs/matcha/fonts/MPLUS1Code-latin.woff2 +0 -0
  287. package/dist/theme-packs/matcha/fonts/OFL.txt +95 -0
  288. package/dist/theme-packs/matcha/fonts/ShipporiMincho-500-latin.woff2 +0 -0
  289. package/dist/theme-packs/matcha/fonts/ShipporiMincho-700-latin.woff2 +0 -0
  290. package/dist/theme-packs/matcha/fonts/ZenKakuGothicNew-400-latin.woff2 +0 -0
  291. package/dist/theme-packs/matcha/fonts/ZenKakuGothicNew-500-latin.woff2 +0 -0
  292. package/dist/theme-packs/matcha/meta.json +38 -0
  293. package/dist/theme-packs/matcha/pack.css +409 -0
  294. package/dist/theme-packs/nocturne/fonts/CormorantGaramond-italic-latin.woff2 +0 -0
  295. package/dist/theme-packs/nocturne/fonts/CormorantGaramond-latin.woff2 +0 -0
  296. package/dist/theme-packs/nocturne/fonts/IBMPlexMono-400-latin.woff2 +0 -0
  297. package/dist/theme-packs/nocturne/fonts/IBMPlexMono-500-latin.woff2 +0 -0
  298. package/dist/theme-packs/nocturne/fonts/IBMPlexMono-italic-latin.woff2 +0 -0
  299. package/dist/theme-packs/nocturne/fonts/Manrope-latin.woff2 +0 -0
  300. package/dist/theme-packs/nocturne/fonts/OFL.txt +95 -0
  301. package/dist/theme-packs/nocturne/meta.json +38 -0
  302. package/dist/theme-packs/nocturne/pack.css +502 -0
  303. package/dist/theme-packs/observatory/fonts/JosefinSans-latin.woff2 +0 -0
  304. package/dist/theme-packs/observatory/fonts/Jost-italic-latin.woff2 +0 -0
  305. package/dist/theme-packs/observatory/fonts/Jost-latin.woff2 +0 -0
  306. package/dist/theme-packs/observatory/fonts/OFL.txt +95 -0
  307. package/dist/theme-packs/observatory/fonts/SpaceMono-400-latin.woff2 +0 -0
  308. package/dist/theme-packs/observatory/fonts/SpaceMono-700-latin.woff2 +0 -0
  309. package/dist/theme-packs/observatory/fonts/SpaceMono-italic-latin.woff2 +0 -0
  310. package/dist/theme-packs/observatory/meta.json +38 -0
  311. package/dist/theme-packs/observatory/pack.css +728 -0
  312. package/dist/theme-packs/onyx/fonts/CormorantGaramond-italic-latin.woff2 +0 -0
  313. package/dist/theme-packs/onyx/fonts/CormorantGaramond-latin.woff2 +0 -0
  314. package/dist/theme-packs/onyx/fonts/IBMPlexMono-400-latin-ext.woff2 +0 -0
  315. package/dist/theme-packs/onyx/fonts/IBMPlexMono-400-latin.woff2 +0 -0
  316. package/dist/theme-packs/onyx/fonts/IBMPlexMono-500-latin-ext.woff2 +0 -0
  317. package/dist/theme-packs/onyx/fonts/IBMPlexMono-500-latin.woff2 +0 -0
  318. package/dist/theme-packs/onyx/fonts/Jost-latin.woff2 +0 -0
  319. package/dist/theme-packs/onyx/fonts/OFL.txt +95 -0
  320. package/dist/theme-packs/onyx/meta.json +38 -0
  321. package/dist/theme-packs/onyx/pack.css +497 -0
  322. package/dist/theme-packs/phosphor/fonts/JetBrainsMono-latin-ext.woff2 +0 -0
  323. package/dist/theme-packs/phosphor/fonts/JetBrainsMono-latin.woff2 +0 -0
  324. package/dist/theme-packs/phosphor/fonts/OFL.txt +94 -0
  325. package/dist/theme-packs/phosphor/fonts/VT323-latin-ext.woff2 +0 -0
  326. package/dist/theme-packs/phosphor/fonts/VT323-latin.woff2 +0 -0
  327. package/dist/theme-packs/phosphor/meta.json +38 -0
  328. package/dist/theme-packs/phosphor/pack.css +493 -0
  329. package/dist/theme-packs/solar/fonts/OFL.txt +94 -0
  330. package/dist/theme-packs/solar/fonts/SourceCodePro-italic-latin.woff2 +0 -0
  331. package/dist/theme-packs/solar/fonts/SourceCodePro-latin.woff2 +0 -0
  332. package/dist/theme-packs/solar/fonts/SourceSans3-italic-latin.woff2 +0 -0
  333. package/dist/theme-packs/solar/fonts/SourceSans3-latin.woff2 +0 -0
  334. package/dist/theme-packs/solar/meta.json +37 -0
  335. package/dist/theme-packs/solar/pack.css +380 -0
  336. package/dist/theme-packs/sumi/fonts/IBMPlexMono-400-latin-ext.woff2 +0 -0
  337. package/dist/theme-packs/sumi/fonts/IBMPlexMono-400-latin.woff2 +0 -0
  338. package/dist/theme-packs/sumi/fonts/IBMPlexMono-500-latin-ext.woff2 +0 -0
  339. package/dist/theme-packs/sumi/fonts/IBMPlexMono-500-latin.woff2 +0 -0
  340. package/dist/theme-packs/sumi/fonts/OFL.txt +95 -0
  341. package/dist/theme-packs/sumi/fonts/ShipporiMinchoB1-600-latin.woff2 +0 -0
  342. package/dist/theme-packs/sumi/fonts/ShipporiMinchoB1-700-latin.woff2 +0 -0
  343. package/dist/theme-packs/sumi/fonts/ShipporiMinchoB1-800-latin.woff2 +0 -0
  344. package/dist/theme-packs/sumi/fonts/ZenKakuGothicNew-400-latin.woff2 +0 -0
  345. package/dist/theme-packs/sumi/fonts/ZenKakuGothicNew-500-latin.woff2 +0 -0
  346. package/dist/theme-packs/sumi/meta.json +38 -0
  347. package/dist/theme-packs/sumi/pack.css +502 -0
  348. package/dist/theme-packs/swissgrid/fonts/IBMPlexMono-400-latin-ext.woff2 +0 -0
  349. package/dist/theme-packs/swissgrid/fonts/IBMPlexMono-400-latin.woff2 +0 -0
  350. package/dist/theme-packs/swissgrid/fonts/IBMPlexMono-600-latin.woff2 +0 -0
  351. package/dist/theme-packs/swissgrid/fonts/Inter-latin-ext.woff2 +0 -0
  352. package/dist/theme-packs/swissgrid/fonts/Inter-latin.woff2 +0 -0
  353. package/dist/theme-packs/swissgrid/fonts/InterTight-latin.woff2 +0 -0
  354. package/dist/theme-packs/swissgrid/fonts/OFL.txt +95 -0
  355. package/dist/theme-packs/swissgrid/meta.json +38 -0
  356. package/dist/theme-packs/swissgrid/pack.css +518 -0
  357. package/dist/theme-packs/washi/fonts/MPlus1Code-400-latin.woff2 +0 -0
  358. package/dist/theme-packs/washi/fonts/MPlus1Code-500-latin.woff2 +0 -0
  359. package/dist/theme-packs/washi/fonts/OFL.txt +95 -0
  360. package/dist/theme-packs/washi/fonts/ShipporiMincho-500-latin.woff2 +0 -0
  361. package/dist/theme-packs/washi/fonts/ShipporiMincho-600-latin.woff2 +0 -0
  362. package/dist/theme-packs/washi/fonts/ShipporiMincho-700-latin.woff2 +0 -0
  363. package/dist/theme-packs/washi/fonts/ZenKakuGothicNew-400-latin.woff2 +0 -0
  364. package/dist/theme-packs/washi/fonts/ZenKakuGothicNew-500-latin.woff2 +0 -0
  365. package/dist/theme-packs/washi/fonts/ZenKakuGothicNew-700-latin.woff2 +0 -0
  366. package/dist/theme-packs/washi/meta.json +38 -0
  367. package/dist/theme-packs/washi/pack.css +479 -0
  368. package/dist/theme-packs-registry/index.d.ts +5 -0
  369. package/dist/theme-packs-registry/index.js +30 -0
  370. package/dist/theme-packs-registry/load-registry.d.ts +23 -0
  371. package/dist/theme-packs-registry/load-registry.js +64 -0
  372. package/dist/theme-packs-registry/meta-schema.d.ts +70 -0
  373. package/dist/theme-packs-registry/meta-schema.js +38 -0
  374. package/dist/theme-packs-registry/resolve-enabled-packs.d.ts +25 -0
  375. package/dist/theme-packs-registry/resolve-enabled-packs.js +43 -0
  376. package/dist/theme-packs-registry/token-manifest.d.ts +19 -0
  377. package/dist/theme-packs-registry/token-manifest.js +57 -0
  378. package/dist/theme-packs-registry/validator.d.ts +35 -0
  379. package/dist/theme-packs-registry/validator.js +284 -0
  380. package/dist/theme-toggle/color-scheme-sync.d.ts +2 -4
  381. package/dist/theme.css +319 -0
  382. package/dist/versions-page/index.d.ts +2 -2
  383. package/dist/versions-page/index.js +8 -8
  384. package/dist/z-index-defaults/index.d.ts +45 -0
  385. package/dist/z-index-defaults/index.js +34 -0
  386. package/eject/breadcrumb/breadcrumb.tsx +4 -4
  387. package/eject/breadcrumb/find-path.ts +2 -2
  388. package/eject/breadcrumb/index.ts +1 -1
  389. package/eject/breadcrumb/types.ts +0 -6
  390. package/eject/code-group/index.tsx +2 -2
  391. package/eject/doc-history/index.tsx +1 -1
  392. package/eject/doc-pager/index.tsx +1 -1
  393. package/eject/footer/footer.tsx +1 -0
  394. package/eject/header/header.tsx +86 -21
  395. package/eject/header/index.ts +3 -0
  396. package/eject/header/types.ts +39 -1
  397. package/eject/site-tree-nav-island/index.tsx +15 -3
  398. package/eject/site-tree-nav-island/state.ts +9 -0
  399. package/eject/theme-toggle/color-scheme-sync.ts +2 -4
  400. package/package.json +82 -29
  401. package/routes-src/404.tsx +4 -1
  402. package/routes-src/_chrome.tsx +31 -8
  403. package/routes-src/_context.ts +4 -0
  404. package/routes-src/_docs-helpers.ts +9 -29
  405. package/routes-src/_virtual.d.ts +38 -2
  406. package/tsconfig.base.json +29 -0
  407. package/virtual-modules.d.ts +83 -0
  408. package/zfb-config-shim.d.ts +210 -0
  409. package/dist/integrations/llms-txt/index.d.ts +0 -33
  410. package/dist/theme/color-tweak-export-modal.d.ts +0 -16
  411. package/dist/theme/color-tweak-export-modal.js +0 -138
  412. package/dist/theme/design-token-serde.d.ts +0 -183
  413. package/dist/theme/design-token-serde.js +0 -346
  414. package/dist/theme/design-token-types.d.ts +0 -13
  415. package/dist/theme/design-token-types.js +0 -6
  416. package/dist/theme/iframe-bridge.d.ts +0 -42
  417. package/dist/theme/iframe-bridge.js +0 -72
  418. /package/dist/{integrations → plugins/internal}/claude-resources/escape-for-mdx.d.ts +0 -0
  419. /package/dist/{integrations → plugins/internal}/claude-resources/escape-for-mdx.js +0 -0
  420. /package/dist/{integrations → plugins/internal}/claude-resources/generate.d.ts +0 -0
  421. /package/dist/{integrations → plugins/internal}/claude-resources/generate.js +0 -0
  422. /package/dist/{integrations → plugins/internal}/doc-history/pre-build.js +0 -0
  423. /package/dist/{integrations → plugins/internal}/llms-txt/dev-middleware.d.ts +0 -0
  424. /package/dist/{integrations → plugins/internal}/llms-txt/dev-middleware.js +0 -0
  425. /package/dist/{integrations → plugins/internal}/llms-txt/emit.d.ts +0 -0
  426. /package/dist/{integrations → plugins/internal}/llms-txt/emit.js +0 -0
  427. /package/dist/{integrations → plugins/internal}/llms-txt/generate.d.ts +0 -0
  428. /package/dist/{integrations → plugins/internal}/llms-txt/generate.js +0 -0
  429. /package/dist/{integrations → plugins/internal}/llms-txt/index.js +0 -0
  430. /package/dist/{integrations → plugins/internal}/llms-txt/types.js +0 -0
  431. /package/dist/{integrations → plugins/internal}/search-index/build-emitter.d.ts +0 -0
  432. /package/dist/{integrations → plugins/internal}/search-index/build-emitter.js +0 -0
  433. /package/dist/{integrations → plugins/internal}/search-index/collect.d.ts +0 -0
  434. /package/dist/{integrations → plugins/internal}/search-index/dev-middleware.d.ts +0 -0
  435. /package/dist/{integrations → plugins/internal}/search-index/dev-middleware.js +0 -0
  436. /package/dist/{integrations → plugins/internal}/search-index/index.d.ts +0 -0
  437. /package/dist/{integrations → plugins/internal}/search-index/index.js +0 -0
  438. /package/dist/{integrations → plugins/internal}/search-index/types.d.ts +0 -0
  439. /package/dist/{integrations → plugins/internal}/search-index/types.js +0 -0
@@ -0,0 +1,94 @@
1
+ Copyright 2020 The Inter Project Authors (https://github.com/rsms/inter)
2
+ Copyright 2020 The JetBrains Mono Project Authors (https://github.com/JetBrains/JetBrainsMono)
3
+
4
+ This Font Software is licensed under the SIL Open Font License, Version 1.1.
5
+ This license is copied below, and is also available with a FAQ at:
6
+ https://scripts.sil.org/OFL
7
+
8
+
9
+ -----------------------------------------------------------
10
+ SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007
11
+ -----------------------------------------------------------
12
+
13
+ PREAMBLE
14
+ The goals of the Open Font License (OFL) are to stimulate worldwide
15
+ development of collaborative font projects, to support the font creation
16
+ efforts of academic and linguistic communities, and to provide a free and
17
+ open framework in which fonts may be shared and improved in partnership
18
+ with others.
19
+
20
+ The OFL allows the licensed fonts to be used, studied, modified and
21
+ redistributed freely as long as they are not sold by themselves. The
22
+ fonts, including any derivative works, can be bundled, embedded,
23
+ redistributed and/or sold with any software provided that any reserved
24
+ names are not used by derivative works. The fonts and derivatives,
25
+ however, cannot be released under any other type of license. The
26
+ requirement for fonts to remain under this license does not apply
27
+ to any document created using the fonts or their derivatives.
28
+
29
+ DEFINITIONS
30
+ "Font Software" refers to the set of files released by the Copyright
31
+ Holder(s) under this license and clearly marked as such. This may
32
+ include source files, build scripts and documentation.
33
+
34
+ "Reserved Font Name" refers to any names specified as such after the
35
+ copyright statement(s).
36
+
37
+ "Original Version" refers to the collection of Font Software components as
38
+ distributed by the Copyright Holder(s).
39
+
40
+ "Modified Version" refers to any derivative made by adding to, deleting,
41
+ or substituting -- in part or in whole -- any of the components of the
42
+ Original Version, by changing formats or by porting the Font Software to a
43
+ new environment.
44
+
45
+ "Author" refers to any designer, engineer, programmer, technical
46
+ writer or other person who contributed to the Font Software.
47
+
48
+ PERMISSION & CONDITIONS
49
+ Permission is hereby granted, free of charge, to any person obtaining
50
+ a copy of the Font Software, to use, study, copy, merge, embed, modify,
51
+ redistribute, and sell modified and unmodified copies of the Font
52
+ Software, subject to the following conditions:
53
+
54
+ 1) Neither the Font Software nor any of its individual components,
55
+ in Original or Modified Versions, may be sold by itself.
56
+
57
+ 2) Original or Modified Versions of the Font Software may be bundled,
58
+ redistributed and/or sold with any software, provided that each copy
59
+ contains the above copyright notice and this license. These can be
60
+ included either as stand-alone text files, human-readable headers or
61
+ in the appropriate machine-readable metadata fields within text or
62
+ binary files as long as those fields can be easily viewed by the user.
63
+
64
+ 3) No Modified Version of the Font Software may use the Reserved Font
65
+ Name(s) unless explicit written permission is granted by the corresponding
66
+ Copyright Holder. This restriction only applies to the primary font name as
67
+ presented to the users.
68
+
69
+ 4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font
70
+ Software shall not be used to promote, endorse or advertise any
71
+ Modified Version, except to acknowledge the contribution(s) of the
72
+ Copyright Holder(s) and the Author(s) or with their explicit written
73
+ permission.
74
+
75
+ 5) The Font Software, modified or unmodified, in part or in whole,
76
+ must be distributed entirely under this license, and must not be
77
+ distributed under any other license. The requirement for fonts to
78
+ remain under this license does not apply to any document created
79
+ using the Font Software.
80
+
81
+ TERMINATION
82
+ This license becomes null and void if any of the above conditions are
83
+ not met.
84
+
85
+ DISCLAIMER
86
+ THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
87
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF
88
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
89
+ OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE
90
+ COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
91
+ INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL
92
+ DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
93
+ FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM
94
+ OTHER DEALINGS IN THE FONT SOFTWARE.
@@ -0,0 +1,37 @@
1
+ {
2
+ "schemaVersion": 1,
3
+ "slug": "fjord",
4
+ "name": "Fjord",
5
+ "description": "Polar-night blue under a faint aurora — frost-cyan accents, icy borders, snow-white text. Cold nordic calm.",
6
+ "mode": "dark",
7
+ "version": "1.0.1",
8
+ "fonts": {
9
+ "sans": "Inter",
10
+ "mono": "JetBrains Mono",
11
+ "loaded": ["Inter", "JetBrains Mono"]
12
+ },
13
+ "preview": {
14
+ "light": {
15
+ "bg": "oklch(0.971 0.008 230)",
16
+ "fg": "oklch(0.255 0.03 255)",
17
+ "accent": "oklch(0.455 0.092 205)",
18
+ "syntax": {
19
+ "keyword": "oklch(0.455 0.105 250)",
20
+ "string": "oklch(0.495 0.105 165)",
21
+ "comment": "oklch(0.51 0.03 245)",
22
+ "callable": "oklch(0.445 0.098 202)"
23
+ }
24
+ },
25
+ "dark": {
26
+ "bg": "oklch(0.232 0.024 255)",
27
+ "fg": "oklch(0.93 0.012 235)",
28
+ "accent": "oklch(0.79 0.095 195)",
29
+ "syntax": {
30
+ "keyword": "oklch(0.76 0.095 242)",
31
+ "string": "oklch(0.8 0.105 158)",
32
+ "comment": "oklch(0.63 0.03 245)",
33
+ "callable": "oklch(0.815 0.095 195)"
34
+ }
35
+ }
36
+ }
37
+ }
@@ -0,0 +1,375 @@
1
+ /* ============================================================
2
+ Fjord — zudo-doc theme pack (ADR docs/adr/theme-packs.md)
3
+
4
+ Polar-night blue under a faint aurora: frost-cyan accents, icy
5
+ borders, snow-white text. DARK is the hero (arctic night); LIGHT
6
+ is the same fjord at daylight — pale glacial ice, deep-water teal
7
+ accents. Crystalline shape language: zero-radius admonitions and
8
+ cards, ice-pane code blocks lit along their top edge, a fixed
9
+ teal-to-violet aurora glow over the page with matching aurora
10
+ hairlines on the header, h2 rules, and the flyout cap. Inter
11
+ reading face, JetBrains Mono code.
12
+
13
+ Every rule below is scoped under html[data-theme-pack="fjord"] —
14
+ this is what makes the runtime pack swap atomic (Decision 3) and
15
+ lets the validator prove a pack can never leak styles while
16
+ inactive (Decision 6.7). The @font-face blocks are the sole
17
+ exception (at-rules can't be selector-scoped).
18
+
19
+ Prototype-selector adaptations against the REAL DOM (tokens-dump
20
+ §6 + component sources), noted inline where they matter:
21
+ - `.sb-group a` → `#desktop-sidebar` (frost-drift bg) +
22
+ `a[data-nav-active]` (glowing active item)
23
+ - `.toc-active` → `nav[data-zd-toc] a[aria-current="true"]`
24
+ (toc/toc.tsx marks the active entry with
25
+ aria-current, not a mock class)
26
+ - `.doc-pager` → `.zd-content > nav[data-doc-pager] > a`
27
+ (the DocPager nav now carries a stable
28
+ data-doc-pager hook, #2876)
29
+ - `footer[data-footer]` → ships literally now — the real footer
30
+ carries the stable data-footer hook (#2876)
31
+ - `.tp-flyout` → `div[data-switcher-card]` (the flyout's
32
+ stable hook, #2876); the aurora cap rides
33
+ its top border via border-image
34
+ - `.hdr-search` / `.sb-group > p` — prototype-mock markup with no
35
+ stable hook; their frost styling is NOT ported.
36
+ - the prototype's `--fjord-*` helper properties (ice-border,
37
+ aurora ribbon stops, glows, sheen) are not part of the token
38
+ manifest, so their light-dark() values are inlined at each use
39
+ site below.
40
+ - prototype `--zdc-doc-title-weight: 750` / `h2-weight: 680` are
41
+ pulled down to 700/650 — the shipped Inter subset is a 400–700
42
+ variable file, so weights past 700 would clamp anyway.
43
+ - the light-mode comment ink runs one step darker than the
44
+ prototype (L .545 → .51) to clear WCAG AA (4.67:1) on the
45
+ glacial code panel; every other pair already passes 4.5:1 in
46
+ both modes (checked computationally).
47
+ ============================================================ */
48
+
49
+ /* ---- Inter — reading face and chrome. Variable 400–700 (weights
50
+ for prose, nav, and the tight snow-white headings all come
51
+ from the same files), latin + latin-ext. ---- */
52
+
53
+ @font-face {
54
+ font-family: "Inter";
55
+ font-style: normal;
56
+ font-weight: 400 700;
57
+ font-display: swap;
58
+ src: url("./fonts/Inter-latin.woff2") format("woff2");
59
+ unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA,
60
+ U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191,
61
+ U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
62
+ }
63
+
64
+ @font-face {
65
+ font-family: "Inter";
66
+ font-style: normal;
67
+ font-weight: 400 700;
68
+ font-display: swap;
69
+ src: url("./fonts/Inter-latin-ext.woff2") format("woff2");
70
+ unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7,
71
+ U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F,
72
+ U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F,
73
+ U+A720-A7FF;
74
+ }
75
+
76
+ /* ---- JetBrains Mono — the ice-pane code face. Variable 400–700,
77
+ latin + latin-ext. No italic file is shipped; the .hi-com
78
+ italic renders synthesized-oblique (the ledger/matcha
79
+ precedent). ---- */
80
+
81
+ @font-face {
82
+ font-family: "JetBrains Mono";
83
+ font-style: normal;
84
+ font-weight: 400 700;
85
+ font-display: swap;
86
+ src: url("./fonts/JetBrainsMono-latin.woff2") format("woff2");
87
+ unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA,
88
+ U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191,
89
+ U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
90
+ }
91
+
92
+ @font-face {
93
+ font-family: "JetBrains Mono";
94
+ font-style: normal;
95
+ font-weight: 400 700;
96
+ font-display: swap;
97
+ src: url("./fonts/JetBrainsMono-latin-ext.woff2") format("woff2");
98
+ unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7,
99
+ U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F,
100
+ U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F,
101
+ U+A720-A7FF;
102
+ }
103
+
104
+ html[data-theme-pack="fjord"] {
105
+ /* Tier-2 semantic roles — polar-night blue-gray, frost cyan, snow.
106
+ Both modes always via light-dark(). */
107
+ --zd-bg: light-dark(oklch(0.971 0.008 230), oklch(0.232 0.024 255));
108
+ --zd-fg: light-dark(oklch(0.255 0.03 255), oklch(0.93 0.012 235));
109
+ --zd-selection-bg: light-dark(oklch(0.855 0.062 210), oklch(0.455 0.075 215));
110
+ --zd-selection-fg: light-dark(oklch(0.215 0.032 255), oklch(0.975 0.008 220));
111
+ --zd-surface: light-dark(oklch(0.948 0.012 228), oklch(0.262 0.026 253));
112
+ --zd-muted: light-dark(oklch(0.465 0.038 245), oklch(0.715 0.03 240));
113
+ --zd-accent: light-dark(oklch(0.455 0.092 205), oklch(0.79 0.095 195));
114
+ --zd-accent-hover: light-dark(oklch(0.385 0.088 210), oklch(0.855 0.1 188));
115
+ --zd-code-bg: light-dark(oklch(0.93 0.015 226), oklch(0.196 0.024 258));
116
+ --zd-code-fg: light-dark(oklch(0.27 0.03 255), oklch(0.912 0.015 235));
117
+ --zd-success: light-dark(oklch(0.485 0.115 165), oklch(0.8 0.12 160));
118
+ --zd-danger: light-dark(oklch(0.505 0.15 20), oklch(0.705 0.12 15));
119
+ --zd-warning: light-dark(oklch(0.508 0.105 80), oklch(0.83 0.095 85));
120
+ --zd-info: light-dark(oklch(0.475 0.095 240), oklch(0.76 0.085 235));
121
+
122
+ /* syntax — all 9 roles, both modes: a cold "frost family" — blue
123
+ keywords, cyan callables, aurora-green strings, pale-violet
124
+ numbers, snow identifiers. inserted/deleted reuse the
125
+ success/danger hues. */
126
+ --zd-syntax-comment: light-dark(oklch(0.51 0.03 245), oklch(0.63 0.03 245));
127
+ --zd-syntax-string: light-dark(oklch(0.495 0.105 165), oklch(0.8 0.105 158));
128
+ --zd-syntax-number: light-dark(oklch(0.5 0.09 300), oklch(0.79 0.075 300));
129
+ --zd-syntax-keyword: light-dark(oklch(0.455 0.105 250), oklch(0.76 0.095 242));
130
+ --zd-syntax-callable: light-dark(oklch(0.445 0.098 202), oklch(0.815 0.095 195));
131
+ --zd-syntax-type: light-dark(oklch(0.43 0.07 228), oklch(0.835 0.065 218));
132
+ --zd-syntax-name: light-dark(oklch(0.285 0.03 255), oklch(0.92 0.015 235));
133
+ --zd-syntax-inserted: light-dark(oklch(0.485 0.115 165), oklch(0.8 0.12 160));
134
+ --zd-syntax-deleted: light-dark(oklch(0.505 0.15 20), oklch(0.705 0.12 15));
135
+
136
+ /* fonts — Inter reading face, JetBrains Mono code. */
137
+ --font-sans: "Inter", system-ui, -apple-system, "Segoe UI", sans-serif;
138
+ --font-mono: "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, monospace;
139
+
140
+ /* Tier-3 component seams — tight snow-white Inter headings;
141
+ crystalline shape language: ice shards, not pillows. */
142
+ --zdc-doc-title-weight: 700;
143
+ --zdc-doc-title-tracking: -0.025em;
144
+ --zdc-doc-h2-weight: 650;
145
+ --zdc-doc-h2-tracking: -0.014em;
146
+ --zdc-admonition-radius: 0;
147
+ --zdc-admonition-border-width: 3px;
148
+ --zdc-card-radius: 0;
149
+ --zdc-nav-active-indicator-color: var(--zd-accent);
150
+ --zdc-nav-active-weight: 600;
151
+ }
152
+
153
+ /* ---- Fjord extras ---- */
154
+
155
+ /* polar sky: a faint fixed aurora above the fold, teal drifting to
156
+ violet (daylight: high glacial haze) */
157
+ html[data-theme-pack="fjord"] body {
158
+ background-image:
159
+ radial-gradient(
160
+ 110% 52% at 72% -12%,
161
+ light-dark(oklch(0.87 0.048 205 / 0.38), oklch(0.52 0.09 195 / 0.16)),
162
+ transparent 62%
163
+ ),
164
+ radial-gradient(
165
+ 85% 44% at 12% -8%,
166
+ light-dark(oklch(0.9 0.035 270 / 0.28), oklch(0.48 0.09 285 / 0.13)),
167
+ transparent 58%
168
+ );
169
+ background-repeat: no-repeat;
170
+ background-attachment: fixed;
171
+ }
172
+
173
+ html[data-theme-pack="fjord"] {
174
+ scrollbar-color: color-mix(in oklch, var(--zd-muted) 45%, transparent) transparent;
175
+ }
176
+
177
+ /* frosted header with an aurora hairline along its bottom edge (the
178
+ header is sticky/positioned, so the ::after anchors to it) */
179
+ html[data-theme-pack="fjord"] header[data-header] {
180
+ background-color: color-mix(in oklch, var(--zd-surface) 82%, transparent);
181
+ -webkit-backdrop-filter: blur(10px);
182
+ backdrop-filter: blur(10px);
183
+ border-bottom-color: light-dark(oklch(0.79 0.038 220 / 0.9), oklch(0.56 0.055 220 / 0.4));
184
+ }
185
+ html[data-theme-pack="fjord"] header[data-header]::after {
186
+ content: "";
187
+ position: absolute;
188
+ left: 0;
189
+ right: 0;
190
+ bottom: -1px;
191
+ height: 1px;
192
+ background: linear-gradient(
193
+ 90deg,
194
+ light-dark(oklch(0.6 0.1 195), oklch(0.78 0.11 185)),
195
+ light-dark(oklch(0.58 0.09 250), oklch(0.66 0.1 255)) 45%,
196
+ light-dark(oklch(0.6 0.08 295), oklch(0.61 0.09 300)) 72%,
197
+ transparent 96%
198
+ );
199
+ opacity: 0.55;
200
+ pointer-events: none;
201
+ }
202
+ html[data-theme-pack="fjord"] [data-header-logo] {
203
+ letter-spacing: -0.02em;
204
+ }
205
+ html[data-theme-pack="fjord"] [data-header-logo]::before {
206
+ content: "❄ ";
207
+ font-size: 0.82em;
208
+ color: var(--zd-accent);
209
+ }
210
+
211
+ /* sidebar: frost drift at the top, icy divider, glowing active item
212
+ (the aurora-teal pill fill itself comes from
213
+ --zdc-nav-active-indicator-color) */
214
+ html[data-theme-pack="fjord"] #desktop-sidebar {
215
+ background: linear-gradient(
216
+ 180deg,
217
+ color-mix(in oklch, var(--zd-accent) 4%, var(--zd-bg)),
218
+ var(--zd-bg) 36%
219
+ );
220
+ border-right-color: light-dark(oklch(0.79 0.038 220 / 0.9), oklch(0.56 0.055 220 / 0.4));
221
+ }
222
+ html[data-theme-pack="fjord"] a[data-nav-active] {
223
+ box-shadow: 0 0 16px -4px color-mix(in oklch, var(--zd-accent) 55%, transparent);
224
+ }
225
+
226
+ /* headings: aurora rule over every h2 instead of the default fg
227
+ fade. The SSR-inlined `style="border-image:linear-gradient(...)"`
228
+ is defeated with !important (Decision 6.6's sole allowlisted
229
+ carve-out) — here it is REPLACED by the aurora ribbon, not
230
+ removed. */
231
+ html[data-theme-pack="fjord"] .zd-content h2 {
232
+ border-top-width: 2px;
233
+ border-image: linear-gradient(
234
+ to right,
235
+ light-dark(oklch(0.6 0.1 195), oklch(0.78 0.11 185)),
236
+ light-dark(oklch(0.58 0.09 250), oklch(0.66 0.1 255)) 42%,
237
+ transparent 88%
238
+ )
239
+ 1 !important;
240
+ }
241
+ html[data-theme-pack="fjord"] .zd-content h1 {
242
+ color: color-mix(in oklch, var(--zd-accent) 10%, var(--zd-fg));
243
+ }
244
+
245
+ /* aurora-teal links: quiet frost underline that solidifies on hover */
246
+ html[data-theme-pack="fjord"] .zd-content a {
247
+ text-decoration-color: color-mix(in oklch, var(--zd-accent) 42%, transparent);
248
+ text-underline-offset: 3px;
249
+ text-decoration-thickness: 1px;
250
+ }
251
+ html[data-theme-pack="fjord"] .zd-content a:hover {
252
+ text-decoration-color: currentColor;
253
+ }
254
+
255
+ /* code: an ice pane — deep water behind glass, lit along the top
256
+ edge, hard shadow falling away beneath */
257
+ html[data-theme-pack="fjord"] pre.hi-root {
258
+ border-radius: 2px;
259
+ border-color: light-dark(oklch(0.79 0.038 220 / 0.9), oklch(0.56 0.055 220 / 0.4));
260
+ background-image: linear-gradient(
261
+ 180deg,
262
+ color-mix(in oklch, var(--zd-accent) 3%, transparent),
263
+ transparent 38%
264
+ );
265
+ box-shadow:
266
+ inset 0 1px 0 light-dark(oklch(1 0 0 / 0.6), oklch(0.95 0.02 220 / 0.06)),
267
+ 0 10px 28px -20px light-dark(oklch(0.4 0.06 235 / 0.55), oklch(0 0 0 / 0.8));
268
+ }
269
+ html[data-theme-pack="fjord"] .hi-com {
270
+ font-style: italic;
271
+ }
272
+
273
+ /* inline code: little frost chips */
274
+ html[data-theme-pack="fjord"] .zd-content code:not(pre code) {
275
+ border: 1px solid light-dark(oklch(0.79 0.038 220 / 0.9), oklch(0.56 0.055 220 / 0.4));
276
+ border-radius: 2px;
277
+ }
278
+
279
+ /* admonitions: glyphs from the fjord — snowflake, aurora spark,
280
+ peak; the other four variants keep the stock icons. Zero radius
281
+ comes from the --zdc-admonition-radius seam. */
282
+ html[data-theme-pack="fjord"] [data-admonition] .admonition-title {
283
+ letter-spacing: 0.01em;
284
+ }
285
+ html[data-theme-pack="fjord"] [data-admonition="note"] .admonition-title::before {
286
+ content: "❄ ";
287
+ }
288
+ html[data-theme-pack="fjord"] [data-admonition="tip"] .admonition-title::before {
289
+ content: "✦ ";
290
+ }
291
+ html[data-theme-pack="fjord"] [data-admonition="warning"] .admonition-title::before {
292
+ content: "▲ ";
293
+ }
294
+
295
+ html[data-theme-pack="fjord"] .zd-content blockquote {
296
+ border-left-color: color-mix(in oklch, var(--zd-accent) 55%, transparent);
297
+ }
298
+
299
+ /* table: teal-tinted header rule, frost hover on rows */
300
+ html[data-theme-pack="fjord"] .zd-content th {
301
+ border-bottom-color: color-mix(in oklch, var(--zd-accent) 45%, transparent);
302
+ color: color-mix(in oklch, var(--zd-accent) 28%, var(--zd-fg));
303
+ }
304
+ html[data-theme-pack="fjord"] .zd-content td {
305
+ border-bottom-color: light-dark(oklch(0.79 0.038 220 / 0.9), oklch(0.56 0.055 220 / 0.4));
306
+ }
307
+ html[data-theme-pack="fjord"] .zd-content tbody tr:hover td {
308
+ background: color-mix(in oklch, var(--zd-accent) 6%, transparent);
309
+ }
310
+
311
+ /* TOC: icy spine, frost-cyan active entry with a hard inner edge.
312
+ The real DOM marks it with aria-current="true" (toc/toc.tsx). The
313
+ entry pulls back over the ul's hairline so the 2px accent edge
314
+ sits on the rail (the ul's overflow clips at the padding edge —
315
+ the foundry/ledger geometry note). */
316
+ html[data-theme-pack="fjord"] nav[data-zd-toc] ul {
317
+ border-left-color: light-dark(oklch(0.79 0.038 220 / 0.9), oklch(0.56 0.055 220 / 0.4));
318
+ }
319
+ html[data-theme-pack="fjord"] nav[data-zd-toc] a:hover {
320
+ color: var(--zd-accent);
321
+ }
322
+ html[data-theme-pack="fjord"] nav[data-zd-toc] a[aria-current="true"] {
323
+ background: color-mix(in oklch, var(--zd-accent) 15%, transparent);
324
+ color: var(--zd-accent);
325
+ font-weight: 600;
326
+ margin-left: calc(-1 * var(--spacing-hsp-lg, 1rem) - 1px);
327
+ padding-left: var(--spacing-hsp-lg, 1rem);
328
+ padding-right: 0.4rem;
329
+ box-shadow: inset 2px 0 0 var(--zd-accent);
330
+ }
331
+
332
+ /* pager cards: translucent ice, cold glow on hover. The DocPager nav
333
+ now carries a stable data-doc-pager hook (#2876). */
334
+ html[data-theme-pack="fjord"] .zd-content > nav[data-doc-pager] > a {
335
+ border-radius: 0;
336
+ border-color: light-dark(oklch(0.79 0.038 220 / 0.9), oklch(0.56 0.055 220 / 0.4));
337
+ background: color-mix(in oklch, var(--zd-surface) 55%, transparent);
338
+ }
339
+ html[data-theme-pack="fjord"] .zd-content > nav[data-doc-pager] > a:hover {
340
+ border-color: color-mix(in oklch, var(--zd-accent) 70%, transparent);
341
+ box-shadow: 0 0 22px -8px color-mix(in oklch, var(--zd-accent) 50%, transparent);
342
+ }
343
+
344
+ /* footer: icy top rule, faint frost drift (the real footer now
345
+ carries the stable data-footer hook, #2876) */
346
+ html[data-theme-pack="fjord"] footer[data-footer] {
347
+ border-top-color: light-dark(oklch(0.79 0.038 220 / 0.9), oklch(0.56 0.055 220 / 0.4));
348
+ background: linear-gradient(
349
+ 180deg,
350
+ color-mix(in oklch, var(--zd-accent) 3%, var(--zd-surface)),
351
+ var(--zd-surface)
352
+ );
353
+ }
354
+
355
+ /* theme-pack flyout: frosted card capped with a 2px aurora ribbon —
356
+ painted as a top-anchored background gradient (the hearth h2
357
+ technique) so the icy 1px border keeps its own color on all four
358
+ sides */
359
+ html[data-theme-pack="fjord"] div[data-switcher-card] {
360
+ border-color: light-dark(oklch(0.79 0.038 220 / 0.9), oklch(0.56 0.055 220 / 0.4));
361
+ background-color: color-mix(in oklch, var(--zd-surface) 90%, transparent);
362
+ background-image: linear-gradient(
363
+ 90deg,
364
+ light-dark(oklch(0.6 0.1 195), oklch(0.78 0.11 185)),
365
+ light-dark(oklch(0.58 0.09 250), oklch(0.66 0.1 255)) 50%,
366
+ light-dark(oklch(0.6 0.08 295), oklch(0.61 0.09 300))
367
+ );
368
+ background-size: 100% 2px;
369
+ background-repeat: no-repeat;
370
+ background-position: top left;
371
+ -webkit-backdrop-filter: blur(12px);
372
+ backdrop-filter: blur(12px);
373
+ /* no inset top sheen here — it would wash over the ribbon's pixels */
374
+ box-shadow: 0 18px 44px -14px light-dark(oklch(0.35 0.05 245 / 0.35), oklch(0 0 0 / 0.65));
375
+ }
@@ -0,0 +1,93 @@
1
+ Copyright 2020 The Inter Project Authors (https://github.com/rsms/inter)
2
+
3
+ This Font Software is licensed under the SIL Open Font License, Version 1.1.
4
+ This license is copied below, and is also available with a FAQ at:
5
+ https://scripts.sil.org/OFL
6
+
7
+
8
+ -----------------------------------------------------------
9
+ SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007
10
+ -----------------------------------------------------------
11
+
12
+ PREAMBLE
13
+ The goals of the Open Font License (OFL) are to stimulate worldwide
14
+ development of collaborative font projects, to support the font creation
15
+ efforts of academic and linguistic communities, and to provide a free and
16
+ open framework in which fonts may be shared and improved in partnership
17
+ with others.
18
+
19
+ The OFL allows the licensed fonts to be used, studied, modified and
20
+ redistributed freely as long as they are not sold by themselves. The
21
+ fonts, including any derivative works, can be bundled, embedded,
22
+ redistributed and/or sold with any software provided that any reserved
23
+ names are not used by derivative works. The fonts and derivatives,
24
+ however, cannot be released under any other type of license. The
25
+ requirement for fonts to remain under this license does not apply
26
+ to any document created using the fonts or their derivatives.
27
+
28
+ DEFINITIONS
29
+ "Font Software" refers to the set of files released by the Copyright
30
+ Holder(s) under this license and clearly marked as such. This may
31
+ include source files, build scripts and documentation.
32
+
33
+ "Reserved Font Name" refers to any names specified as such after the
34
+ copyright statement(s).
35
+
36
+ "Original Version" refers to the collection of Font Software components as
37
+ distributed by the Copyright Holder(s).
38
+
39
+ "Modified Version" refers to any derivative made by adding to, deleting,
40
+ or substituting -- in part or in whole -- any of the components of the
41
+ Original Version, by changing formats or by porting the Font Software to a
42
+ new environment.
43
+
44
+ "Author" refers to any designer, engineer, programmer, technical
45
+ writer or other person who contributed to the Font Software.
46
+
47
+ PERMISSION & CONDITIONS
48
+ Permission is hereby granted, free of charge, to any person obtaining
49
+ a copy of the Font Software, to use, study, copy, merge, embed, modify,
50
+ redistribute, and sell modified and unmodified copies of the Font
51
+ Software, subject to the following conditions:
52
+
53
+ 1) Neither the Font Software nor any of its individual components,
54
+ in Original or Modified Versions, may be sold by itself.
55
+
56
+ 2) Original or Modified Versions of the Font Software may be bundled,
57
+ redistributed and/or sold with any software, provided that each copy
58
+ contains the above copyright notice and this license. These can be
59
+ included either as stand-alone text files, human-readable headers or
60
+ in the appropriate machine-readable metadata fields within text or
61
+ binary files as long as those fields can be easily viewed by the user.
62
+
63
+ 3) No Modified Version of the Font Software may use the Reserved Font
64
+ Name(s) unless explicit written permission is granted by the corresponding
65
+ Copyright Holder. This restriction only applies to the primary font name as
66
+ presented to the users.
67
+
68
+ 4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font
69
+ Software shall not be used to promote, endorse or advertise any
70
+ Modified Version, except to acknowledge the contribution(s) of the
71
+ Copyright Holder(s) and the Author(s) or with their explicit written
72
+ permission.
73
+
74
+ 5) The Font Software, modified or unmodified, in part or in whole,
75
+ must be distributed entirely under this license, and must not be
76
+ distributed under any other license. The requirement for fonts to
77
+ remain under this license does not apply to any document created
78
+ using the Font Software.
79
+
80
+ TERMINATION
81
+ This license becomes null and void if any of the above conditions are
82
+ not met.
83
+
84
+ DISCLAIMER
85
+ THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
86
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF
87
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
88
+ OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE
89
+ COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
90
+ INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL
91
+ DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
92
+ FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM
93
+ OTHER DEALINGS IN THE FONT SOFTWARE.
@@ -0,0 +1,37 @@
1
+ {
2
+ "schemaVersion": 1,
3
+ "slug": "foundry",
4
+ "name": "Foundry",
5
+ "description": "GitHub-neutral baseline — white paper, near-black ink, Primer-blue links, quiet gray rules. Restraint, perfected.",
6
+ "mode": "light",
7
+ "version": "1.0.1",
8
+ "fonts": {
9
+ "sans": "Inter",
10
+ "mono": "System",
11
+ "loaded": ["Inter"]
12
+ },
13
+ "preview": {
14
+ "light": {
15
+ "bg": "#ffffff",
16
+ "fg": "#1f2328",
17
+ "accent": "#0969da",
18
+ "syntax": {
19
+ "keyword": "#cf222e",
20
+ "string": "#0a3069",
21
+ "comment": "#6e7781",
22
+ "callable": "#8250df"
23
+ }
24
+ },
25
+ "dark": {
26
+ "bg": "#0d1117",
27
+ "fg": "#e6edf3",
28
+ "accent": "#4493f8",
29
+ "syntax": {
30
+ "keyword": "#ff7b72",
31
+ "string": "#a5d6ff",
32
+ "comment": "#8b949e",
33
+ "callable": "#d2a8ff"
34
+ }
35
+ }
36
+ }
37
+ }