@takazudo/zudo-doc 0.2.20 → 0.2.22

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 (276) hide show
  1. package/bin/gen-z-index.mjs +164 -0
  2. package/bin/tags-audit-runner.ts +126 -0
  3. package/bin/tags-audit.mjs +64 -0
  4. package/dist/ai-chat-modal/index.d.ts +8 -0
  5. package/dist/ai-chat-modal/index.js +243 -0
  6. package/dist/body-foot-util/body-foot-util-area.d.ts +4 -8
  7. package/dist/body-foot-util/edit-link.d.ts +4 -8
  8. package/dist/body-foot-util/index.d.ts +4 -3
  9. package/dist/breadcrumb/breadcrumb.d.ts +5 -9
  10. package/dist/breadcrumb/find-path.d.ts +2 -5
  11. package/dist/breadcrumb/index.d.ts +4 -4
  12. package/dist/breadcrumb/types.d.ts +3 -5
  13. package/dist/category-nav/index.d.ts +86 -0
  14. package/dist/category-nav/index.js +44 -0
  15. package/dist/category-tree-nav/index.d.ts +65 -0
  16. package/dist/category-tree-nav/index.js +24 -0
  17. package/dist/code-group/index.d.ts +10 -0
  18. package/dist/code-group/index.js +37 -0
  19. package/dist/code-syntax/code-block-enhancer-script.d.ts +1 -3
  20. package/dist/code-syntax/code-block-enhancer.d.ts +3 -6
  21. package/dist/code-syntax/index.d.ts +9 -8
  22. package/dist/code-syntax/mermaid-init-script.d.ts +3 -5
  23. package/dist/code-syntax/mermaid-init.d.ts +4 -7
  24. package/dist/code-syntax/tabs-init-script.d.ts +1 -3
  25. package/dist/code-syntax/tabs-init.d.ts +3 -6
  26. package/dist/code-syntax/tabs.d.ts +4 -7
  27. package/dist/color-scheme-utils.d.ts +125 -0
  28. package/dist/color-scheme-utils.js +151 -0
  29. package/dist/compose-meta-title/index.d.ts +7 -0
  30. package/dist/compose-meta-title/index.js +10 -0
  31. package/dist/content/component-map.d.ts +13 -17
  32. package/dist/content/content-blockquote.d.ts +3 -6
  33. package/dist/content/content-code.d.ts +3 -6
  34. package/dist/content/content-code.js +1 -1
  35. package/dist/content/content-link.d.ts +3 -6
  36. package/dist/content/content-link.js +1 -1
  37. package/dist/content/content-ol.d.ts +3 -6
  38. package/dist/content/content-paragraph.d.ts +3 -6
  39. package/dist/content/content-strong.d.ts +3 -6
  40. package/dist/content/content-table.d.ts +3 -6
  41. package/dist/content/content-ul.d.ts +3 -6
  42. package/dist/content/heading-h2.d.ts +3 -6
  43. package/dist/content/heading-h3.d.ts +3 -6
  44. package/dist/content/heading-h4.d.ts +3 -6
  45. package/dist/content/index.d.ts +29 -13
  46. package/dist/content-admonition/index.d.ts +15 -0
  47. package/dist/content-admonition/index.js +14 -0
  48. package/dist/design-token-panel-bootstrap.d.ts +38 -0
  49. package/dist/design-token-panel-bootstrap.js +29 -0
  50. package/dist/desktop-sidebar-toggle-island/index.d.ts +5 -0
  51. package/dist/desktop-sidebar-toggle-island/index.js +62 -0
  52. package/dist/details/details.d.ts +3 -7
  53. package/dist/details/index.d.ts +2 -2
  54. package/dist/doc-body-end/index.d.ts +21 -0
  55. package/dist/doc-body-end/index.js +15 -0
  56. package/dist/doc-content-header/index.d.ts +69 -0
  57. package/dist/doc-content-header/index.js +49 -0
  58. package/dist/doc-history/index.d.ts +10 -0
  59. package/dist/doc-history/index.js +407 -0
  60. package/dist/doc-history-area/index.d.ts +84 -0
  61. package/dist/doc-history-area/index.js +76 -0
  62. package/dist/doc-metainfo-area/index.d.ts +46 -0
  63. package/dist/doc-metainfo-area/index.js +41 -0
  64. package/dist/doc-page-props/index.d.ts +93 -0
  65. package/dist/doc-page-props/index.js +0 -0
  66. package/dist/doc-page-renderer/index.d.ts +128 -0
  67. package/dist/doc-page-renderer/index.js +103 -0
  68. package/dist/doc-page-shell/index.d.ts +136 -0
  69. package/dist/doc-page-shell/index.js +127 -0
  70. package/dist/doc-pager/index.d.ts +25 -0
  71. package/dist/doc-pager/index.js +41 -0
  72. package/dist/doc-route-entries/index.d.ts +125 -0
  73. package/dist/doc-route-entries/index.js +76 -0
  74. package/dist/doc-route-paths/index.d.ts +54 -0
  75. package/dist/doc-route-paths/index.js +61 -0
  76. package/dist/doc-tags-area/index.d.ts +38 -0
  77. package/dist/doc-tags-area/index.js +30 -0
  78. package/dist/doclayout/anchors.d.ts +7 -9
  79. package/dist/doclayout/doc-layout-with-defaults.d.ts +16 -12
  80. package/dist/doclayout/doc-layout.d.ts +5 -9
  81. package/dist/doclayout/index.d.ts +6 -6
  82. package/dist/extract-headings/index.d.ts +43 -0
  83. package/dist/extract-headings/index.js +111 -0
  84. package/dist/factory-context/index.d.ts +80 -0
  85. package/dist/factory-context/index.js +0 -0
  86. package/dist/features.css +882 -0
  87. package/dist/footer/footer.d.ts +4 -8
  88. package/dist/footer/index.d.ts +13 -3
  89. package/dist/footer/types.d.ts +4 -6
  90. package/dist/footer-with-defaults/index.d.ts +63 -0
  91. package/dist/footer-with-defaults/index.js +128 -0
  92. package/dist/frontmatter-preview-data/index.d.ts +26 -0
  93. package/dist/frontmatter-preview-data/index.js +23 -0
  94. package/dist/github-helpers/index.d.ts +17 -0
  95. package/dist/github-helpers/index.js +16 -0
  96. package/dist/head/doc-head.d.ts +3 -6
  97. package/dist/head/index.d.ts +9 -5
  98. package/dist/head/og-tags.d.ts +4 -7
  99. package/dist/head/twitter-card.d.ts +3 -6
  100. package/dist/head/types.d.ts +1 -3
  101. package/dist/head-with-defaults/index.d.ts +49 -0
  102. package/dist/head-with-defaults/index.js +62 -0
  103. package/dist/header/header.d.ts +6 -10
  104. package/dist/header/index.d.ts +16 -6
  105. package/dist/header/nav-active.d.ts +5 -7
  106. package/dist/header/nav-overflow-script.d.ts +1 -3
  107. package/dist/header/right-items.d.ts +3 -6
  108. package/dist/header/types.d.ts +10 -12
  109. package/dist/header-with-defaults/index.d.ts +77 -0
  110. package/dist/header-with-defaults/index.js +163 -0
  111. package/dist/html-preview-wrapper/dedent.d.ts +1 -3
  112. package/dist/html-preview-wrapper/highlighted-code.d.ts +3 -7
  113. package/dist/html-preview-wrapper/html-preview-wrapper.d.ts +6 -10
  114. package/dist/html-preview-wrapper/html-preview.d.ts +5 -9
  115. package/dist/html-preview-wrapper/index.d.ts +8 -5
  116. package/dist/html-preview-wrapper/preflight.d.ts +1 -3
  117. package/dist/html-preview-wrapper/preview-base.d.ts +4 -8
  118. package/dist/i18n-version/index.d.ts +7 -5
  119. package/dist/i18n-version/language-switcher.d.ts +5 -8
  120. package/dist/i18n-version/types.d.ts +3 -5
  121. package/dist/i18n-version/version-banner.d.ts +4 -8
  122. package/dist/i18n-version/version-switcher.d.ts +7 -10
  123. package/dist/icons/index.d.ts +9 -13
  124. package/dist/image-enlarge/index.d.ts +13 -0
  125. package/dist/image-enlarge/index.js +176 -0
  126. package/dist/index.d.ts +26 -2
  127. package/dist/inline-version-switcher/index.d.ts +31 -0
  128. package/dist/inline-version-switcher/index.js +44 -0
  129. package/dist/integrations/claude-resources/escape-for-mdx.d.ts +1 -3
  130. package/dist/integrations/claude-resources/generate.d.ts +2 -4
  131. package/dist/integrations/claude-resources/index.d.ts +7 -10
  132. package/dist/integrations/doc-history/index.d.ts +21 -24
  133. package/dist/integrations/doc-history/pre-build.d.ts +7 -9
  134. package/dist/integrations/llms-txt/dev-middleware.d.ts +7 -11
  135. package/dist/integrations/llms-txt/emit.d.ts +2 -7
  136. package/dist/integrations/llms-txt/generate.d.ts +3 -8
  137. package/dist/integrations/llms-txt/index.d.ts +33 -8
  138. package/dist/integrations/llms-txt/load.d.ts +3 -7
  139. package/dist/integrations/llms-txt/strip.d.ts +2 -6
  140. package/dist/integrations/llms-txt/types.d.ts +9 -13
  141. package/dist/integrations/search-index/build-emitter.d.ts +4 -7
  142. package/dist/integrations/search-index/collect.d.ts +2 -5
  143. package/dist/integrations/search-index/dev-middleware.d.ts +5 -8
  144. package/dist/integrations/search-index/index.d.ts +7 -5
  145. package/dist/integrations/search-index/types.d.ts +5 -7
  146. package/dist/island-types/index.d.ts +44 -0
  147. package/dist/island-types/index.js +12 -0
  148. package/dist/locale-merge/index.d.ts +114 -0
  149. package/dist/locale-merge/index.js +27 -0
  150. package/dist/math-block/index.d.ts +18 -0
  151. package/dist/math-block/index.js +29 -0
  152. package/dist/md-utils/index.d.ts +6 -8
  153. package/dist/md-utils/index.js +2 -1
  154. package/dist/mdx-components/index.d.ts +46 -0
  155. package/dist/mdx-components/index.js +161 -0
  156. package/dist/mermaid-enlarge/index.d.ts +11 -0
  157. package/dist/mermaid-enlarge/index.js +290 -0
  158. package/dist/metainfo/doc-metainfo.d.ts +5 -9
  159. package/dist/metainfo/doc-tags.d.ts +7 -11
  160. package/dist/metainfo/frontmatter-preview.d.ts +8 -12
  161. package/dist/metainfo/index.d.ts +6 -4
  162. package/dist/nav-data-prep/index.d.ts +72 -0
  163. package/dist/nav-data-prep/index.js +34 -0
  164. package/dist/nav-indexing/category-nav.d.ts +4 -8
  165. package/dist/nav-indexing/category-nav.js +1 -1
  166. package/dist/nav-indexing/category-tree-nav.d.ts +4 -8
  167. package/dist/nav-indexing/doc-card-grid.d.ts +4 -8
  168. package/dist/nav-indexing/docs-sitemap.d.ts +4 -8
  169. package/dist/nav-indexing/index.d.ts +37 -10
  170. package/dist/nav-indexing/nav-card-grid.d.ts +4 -8
  171. package/dist/nav-indexing/site-tree-nav-demo.d.ts +4 -8
  172. package/dist/nav-indexing/tag-nav.d.ts +6 -10
  173. package/dist/nav-indexing/types.d.ts +6 -8
  174. package/dist/nav-indexing/versions-page-content.d.ts +4 -8
  175. package/dist/nav-scope/index.d.ts +41 -0
  176. package/dist/nav-scope/index.js +41 -0
  177. package/dist/nav-source-cache/index.d.ts +13 -0
  178. package/dist/nav-source-cache/index.js +28 -0
  179. package/dist/nav-source-docs/index.d.ts +169 -0
  180. package/dist/nav-source-docs/index.js +123 -0
  181. package/dist/page-loading/index.d.ts +1 -2
  182. package/dist/page-loading/page-loading-overlay.d.ts +4 -8
  183. package/dist/plugins/claude-resources.d.ts +3 -0
  184. package/dist/plugins/claude-resources.js +27 -0
  185. package/dist/plugins/connect-adapter.d.ts +31 -0
  186. package/dist/plugins/connect-adapter.js +78 -0
  187. package/dist/plugins/doc-history.d.ts +3 -0
  188. package/dist/plugins/doc-history.js +54 -0
  189. package/dist/plugins/llms-txt.d.ts +3 -0
  190. package/dist/plugins/llms-txt.js +48 -0
  191. package/dist/plugins/plugin-utils.d.ts +17 -0
  192. package/dist/plugins/plugin-utils.js +11 -0
  193. package/dist/plugins/search-index.d.ts +3 -0
  194. package/dist/plugins/search-index.js +24 -0
  195. package/dist/preset.d.ts +152 -0
  196. package/dist/preset.js +169 -0
  197. package/dist/render-markdown/index.d.ts +5 -0
  198. package/dist/render-markdown/index.js +115 -0
  199. package/dist/robots.d.ts +36 -0
  200. package/dist/robots.js +17 -0
  201. package/dist/route-enumerators/index.d.ts +204 -0
  202. package/dist/route-enumerators/index.js +156 -0
  203. package/dist/safelist.css +1 -1
  204. package/dist/search-widget/index.d.ts +38 -0
  205. package/dist/search-widget/index.js +169 -0
  206. package/dist/search-widget-script/index.d.ts +18 -0
  207. package/dist/search-widget-script/index.js +465 -0
  208. package/dist/settings.d.ts +255 -0
  209. package/dist/settings.js +0 -0
  210. package/dist/sidebar/index.d.ts +21 -3
  211. package/dist/sidebar/sidebar.d.ts +5 -9
  212. package/dist/sidebar/types.d.ts +4 -6
  213. package/dist/sidebar-prepaint/index.d.ts +21 -0
  214. package/dist/sidebar-prepaint/index.js +23 -0
  215. package/dist/sidebar-resizer/index.d.ts +2 -6
  216. package/dist/sidebar-resizer/sidebar-resizer-init.d.ts +6 -10
  217. package/dist/sidebar-toggle-island/index.d.ts +13 -0
  218. package/dist/sidebar-toggle-island/index.js +122 -0
  219. package/dist/sidebar-tree/build-tree.d.ts +4 -8
  220. package/dist/sidebar-tree/category-meta.d.ts +3 -6
  221. package/dist/sidebar-tree/index.d.ts +18 -3
  222. package/dist/sidebar-tree/types.d.ts +6 -8
  223. package/dist/sidebar-tree-island/index.d.ts +13 -0
  224. package/dist/sidebar-tree-island/index.js +454 -0
  225. package/dist/sidebar-utils/index.d.ts +64 -0
  226. package/dist/sidebar-utils/index.js +88 -0
  227. package/dist/sidebar-with-defaults/index.d.ts +38 -0
  228. package/dist/sidebar-with-defaults/index.js +45 -0
  229. package/dist/site-tree-nav/index.d.ts +71 -0
  230. package/dist/site-tree-nav/index.js +36 -0
  231. package/dist/site-tree-nav-island/index.d.ts +11 -0
  232. package/dist/site-tree-nav-island/index.js +176 -0
  233. package/dist/slug/index.d.ts +4 -0
  234. package/dist/slug/index.js +19 -0
  235. package/dist/smart-break/index.d.ts +55 -0
  236. package/dist/{toc/smart-break.js → smart-break/index.js} +30 -3
  237. package/dist/tab-item/index.d.ts +2 -2
  238. package/dist/tab-item/tab-item.d.ts +6 -7
  239. package/dist/tag-helpers/index.d.ts +40 -0
  240. package/dist/tag-helpers/index.js +54 -0
  241. package/dist/tag-pages/index.d.ts +114 -0
  242. package/dist/tag-pages/index.js +146 -0
  243. package/dist/tags-audit.d.ts +107 -0
  244. package/dist/tags-audit.js +321 -0
  245. package/dist/theme/color-scheme-provider.d.ts +4 -8
  246. package/dist/theme/color-tweak-export-modal.d.ts +4 -7
  247. package/dist/theme/design-token-serde.d.ts +14 -17
  248. package/dist/theme/design-token-types.d.ts +4 -6
  249. package/dist/theme/iframe-bridge.d.ts +12 -14
  250. package/dist/theme/index.d.ts +7 -9
  251. package/dist/theme/theme-toggle.d.ts +3 -8
  252. package/dist/theme-toggle/color-scheme-sync.d.ts +5 -7
  253. package/dist/theme-toggle/index.d.ts +4 -8
  254. package/dist/toc/cx.d.ts +2 -3
  255. package/dist/toc/index.d.ts +8 -6
  256. package/dist/toc/mobile-toc.d.ts +5 -9
  257. package/dist/toc/mobile-toc.js +1 -1
  258. package/dist/toc/toc-title.d.ts +1 -3
  259. package/dist/toc/toc.d.ts +5 -9
  260. package/dist/toc/toc.js +1 -1
  261. package/dist/toc/types.d.ts +1 -3
  262. package/dist/toc/use-active-heading.d.ts +4 -7
  263. package/dist/transitions/index.d.ts +1 -1
  264. package/dist/transitions/page-events.d.ts +4 -6
  265. package/dist/tree-nav-shared/index.d.ts +22 -0
  266. package/dist/tree-nav-shared/index.js +66 -0
  267. package/dist/url-helpers/index.d.ts +37 -0
  268. package/dist/url-helpers/index.js +106 -0
  269. package/dist/url-normalizer/index.d.ts +39 -1
  270. package/dist/url-normalizer/normalize.d.ts +3 -5
  271. package/dist/use-modal-dialog/index.d.ts +70 -0
  272. package/dist/use-modal-dialog/index.js +73 -0
  273. package/dist/versions-page/index.d.ts +55 -0
  274. package/dist/versions-page/index.js +73 -0
  275. package/package.json +290 -10
  276. package/dist/toc/smart-break.d.ts +0 -27
@@ -0,0 +1,151 @@
1
+ const SEMANTIC_DEFAULTS = {
2
+ surface: 0,
3
+ muted: 8,
4
+ accent: 5,
5
+ accentHover: 14,
6
+ codeBg: 10,
7
+ codeFg: 11,
8
+ success: 2,
9
+ danger: 1,
10
+ warning: 3,
11
+ info: 4,
12
+ mermaidNodeBg: 9,
13
+ mermaidText: 11,
14
+ mermaidLine: 8,
15
+ mermaidLabelBg: 10,
16
+ mermaidNoteBg: 0,
17
+ chatUserBg: 5,
18
+ chatUserText: 9,
19
+ chatAssistantBg: 9,
20
+ chatAssistantText: 11,
21
+ imageOverlayBg: 0,
22
+ imageOverlayFg: 11,
23
+ matchedKeywordBg: 3,
24
+ matchedKeywordFg: 15
25
+ };
26
+ const SEMANTIC_CSS_NAMES = {
27
+ surface: "--zd-surface",
28
+ muted: "--zd-muted",
29
+ accent: "--zd-accent",
30
+ accentHover: "--zd-accent-hover",
31
+ codeBg: "--zd-code-bg",
32
+ codeFg: "--zd-code-fg",
33
+ success: "--zd-success",
34
+ danger: "--zd-danger",
35
+ warning: "--zd-warning",
36
+ info: "--zd-info",
37
+ mermaidNodeBg: "--zd-mermaid-node-bg",
38
+ mermaidText: "--zd-mermaid-text",
39
+ mermaidLine: "--zd-mermaid-line",
40
+ mermaidLabelBg: "--zd-mermaid-label-bg",
41
+ mermaidNoteBg: "--zd-mermaid-note-bg",
42
+ chatUserBg: "--zd-chat-user-bg",
43
+ chatUserText: "--zd-chat-user-text",
44
+ chatAssistantBg: "--zd-chat-assistant-bg",
45
+ chatAssistantText: "--zd-chat-assistant-text",
46
+ imageOverlayBg: "--zd-image-overlay-bg",
47
+ imageOverlayFg: "--zd-image-overlay-fg",
48
+ matchedKeywordBg: "--zd-matched-keyword-bg",
49
+ matchedKeywordFg: "--zd-matched-keyword-fg"
50
+ };
51
+ function resolveColor(value, palette, fallback) {
52
+ if (value === void 0) return fallback;
53
+ if (typeof value === "number") return palette[value] ?? fallback;
54
+ return value;
55
+ }
56
+ function resolveSemanticColors(scheme) {
57
+ const p = scheme.palette;
58
+ return {
59
+ surface: resolveColor(scheme.semantic?.surface, p, p[0]),
60
+ muted: resolveColor(scheme.semantic?.muted, p, p[8]),
61
+ accent: resolveColor(scheme.semantic?.accent, p, p[5]),
62
+ accentHover: resolveColor(scheme.semantic?.accentHover, p, p[14]),
63
+ codeBg: resolveColor(scheme.semantic?.codeBg, p, p[10]),
64
+ codeFg: resolveColor(scheme.semantic?.codeFg, p, p[11]),
65
+ success: resolveColor(scheme.semantic?.success, p, p[2]),
66
+ danger: resolveColor(scheme.semantic?.danger, p, p[1]),
67
+ warning: resolveColor(scheme.semantic?.warning, p, p[3]),
68
+ info: resolveColor(scheme.semantic?.info, p, p[4]),
69
+ mermaidNodeBg: resolveColor(scheme.semantic?.mermaidNodeBg, p, p[9]),
70
+ mermaidText: resolveColor(scheme.semantic?.mermaidText, p, p[11]),
71
+ mermaidLine: resolveColor(scheme.semantic?.mermaidLine, p, p[8]),
72
+ mermaidLabelBg: resolveColor(scheme.semantic?.mermaidLabelBg, p, p[10]),
73
+ mermaidNoteBg: resolveColor(scheme.semantic?.mermaidNoteBg, p, p[0]),
74
+ chatUserBg: resolveColor(scheme.semantic?.chatUserBg, p, p[5]),
75
+ chatUserText: resolveColor(scheme.semantic?.chatUserText, p, p[9]),
76
+ chatAssistantBg: resolveColor(scheme.semantic?.chatAssistantBg, p, p[9]),
77
+ chatAssistantText: resolveColor(scheme.semantic?.chatAssistantText, p, p[11]),
78
+ imageOverlayBg: resolveColor(scheme.semantic?.imageOverlayBg, p, p[0]),
79
+ imageOverlayFg: resolveColor(scheme.semantic?.imageOverlayFg, p, p[11]),
80
+ matchedKeywordBg: resolveColor(scheme.semantic?.matchedKeywordBg, p, p[3]),
81
+ matchedKeywordFg: resolveColor(scheme.semantic?.matchedKeywordFg, p, p[15])
82
+ };
83
+ }
84
+ function schemeToCssPairs(scheme) {
85
+ const p = scheme.palette;
86
+ const sem = resolveSemanticColors(scheme);
87
+ return [
88
+ ["--zd-bg", resolveColor(scheme.background, p, p[0])],
89
+ ["--zd-fg", resolveColor(scheme.foreground, p, p[15])],
90
+ ["--zd-cursor", resolveColor(scheme.cursor, p, p[6])],
91
+ // intentionally inert/vestigial: exposed in the design-token panel but no CSS rule consumes it (no caret-color wiring); mirrors shikiTheme's status
92
+ ["--zd-sel-bg", resolveColor(scheme.selectionBg, p, resolveColor(scheme.background, p, p[0]))],
93
+ ["--zd-sel-fg", resolveColor(scheme.selectionFg, p, resolveColor(scheme.foreground, p, p[15]))],
94
+ ...p.map((color, i) => [`--zd-${i}`, color]),
95
+ ["--zd-surface", sem.surface],
96
+ ["--zd-muted", sem.muted],
97
+ ["--zd-accent", sem.accent],
98
+ ["--zd-accent-hover", sem.accentHover],
99
+ ["--zd-code-bg", sem.codeBg],
100
+ ["--zd-code-fg", sem.codeFg],
101
+ ["--zd-success", sem.success],
102
+ ["--zd-danger", sem.danger],
103
+ ["--zd-warning", sem.warning],
104
+ ["--zd-info", sem.info],
105
+ ["--zd-mermaid-node-bg", sem.mermaidNodeBg],
106
+ ["--zd-mermaid-text", sem.mermaidText],
107
+ ["--zd-mermaid-line", sem.mermaidLine],
108
+ ["--zd-mermaid-label-bg", sem.mermaidLabelBg],
109
+ ["--zd-mermaid-note-bg", sem.mermaidNoteBg],
110
+ ["--zd-chat-user-bg", sem.chatUserBg],
111
+ ["--zd-chat-user-text", sem.chatUserText],
112
+ ["--zd-chat-assistant-bg", sem.chatAssistantBg],
113
+ ["--zd-chat-assistant-text", sem.chatAssistantText],
114
+ ["--zd-image-overlay-bg", sem.imageOverlayBg],
115
+ ["--zd-image-overlay-fg", sem.imageOverlayFg],
116
+ ["--zd-matched-keyword-bg", sem.matchedKeywordBg],
117
+ ["--zd-matched-keyword-fg", sem.matchedKeywordFg]
118
+ ];
119
+ }
120
+ function generateCssCustomProperties(scheme) {
121
+ const pairs = schemeToCssPairs(scheme);
122
+ const lines = [":root {", ...pairs.map(([prop, value]) => ` ${prop}: ${value};`), "}"];
123
+ return lines.join("\n");
124
+ }
125
+ function generateLightDarkCssProperties(light, dark) {
126
+ const lightPairs = schemeToCssPairs(light);
127
+ const darkPairs = schemeToCssPairs(dark);
128
+ if (lightPairs.length !== darkPairs.length) {
129
+ throw new Error(`Light scheme has ${lightPairs.length} properties but dark scheme has ${darkPairs.length}`);
130
+ }
131
+ const lines = [":root {", " color-scheme: light dark;"];
132
+ for (let i = 0; i < lightPairs.length; i++) {
133
+ const lightPair = lightPairs[i];
134
+ const darkPair = darkPairs[i];
135
+ if (!lightPair || !darkPair) continue;
136
+ const [prop, lightVal] = lightPair;
137
+ const darkVal = darkPair[1];
138
+ lines.push(` ${prop}: light-dark(${lightVal}, ${darkVal});`);
139
+ }
140
+ lines.push("}");
141
+ return lines.join("\n");
142
+ }
143
+ export {
144
+ SEMANTIC_CSS_NAMES,
145
+ SEMANTIC_DEFAULTS,
146
+ generateCssCustomProperties,
147
+ generateLightDarkCssProperties,
148
+ resolveColor,
149
+ resolveSemanticColors,
150
+ schemeToCssPairs
151
+ };
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Create a `composeMetaTitle` helper bound to the given site name.
3
+ *
4
+ * Mirrors the shape of `makeUrlHelpers` (S1a) — the host stub calls this
5
+ * once with its concrete `settings.siteName` and re-exports the result.
6
+ */
7
+ export declare function createComposeMetaTitle(siteName: string): (title: string) => string;
@@ -0,0 +1,10 @@
1
+ function createComposeMetaTitle(siteName) {
2
+ return function composeMetaTitle(title) {
3
+ if (!siteName) return title;
4
+ if (title === siteName) return siteName;
5
+ return `${title} | ${siteName}`;
6
+ };
7
+ }
8
+ export {
9
+ createComposeMetaTitle
10
+ };
@@ -1,16 +1,14 @@
1
- import { HeadingH2 } from './heading-h2.js';
2
- import { HeadingH3 } from './heading-h3.js';
3
- import { HeadingH4 } from './heading-h4.js';
4
- import { ContentParagraph } from './content-paragraph.js';
5
- import { ContentLink } from './content-link.js';
6
- import { ContentStrong } from './content-strong.js';
7
- import { ContentBlockquote } from './content-blockquote.js';
8
- import { ContentUl } from './content-ul.js';
9
- import { ContentOl } from './content-ol.js';
10
- import { ContentTable } from './content-table.js';
11
- import { ContentCode } from './content-code.js';
12
- import 'preact';
13
-
1
+ import { HeadingH2 } from "./heading-h2.js";
2
+ import { HeadingH3 } from "./heading-h3.js";
3
+ import { HeadingH4 } from "./heading-h4.js";
4
+ import { ContentParagraph } from "./content-paragraph.js";
5
+ import { ContentLink } from "./content-link.js";
6
+ import { ContentStrong } from "./content-strong.js";
7
+ import { ContentBlockquote } from "./content-blockquote.js";
8
+ import { ContentUl } from "./content-ul.js";
9
+ import { ContentOl } from "./content-ol.js";
10
+ import { ContentTable } from "./content-table.js";
11
+ import { ContentCode } from "./content-code.js";
14
12
  /**
15
13
  * MDX component overrides map for the HTML elements used in doc content.
16
14
  *
@@ -18,7 +16,7 @@ import 'preact';
18
16
  * into a larger components object that also includes admonition overrides,
19
17
  * custom shortcodes, etc.) at the Astro page layer.
20
18
  */
21
- declare const htmlOverrides: {
19
+ export declare const htmlOverrides: {
22
20
  h2: typeof HeadingH2;
23
21
  h3: typeof HeadingH3;
24
22
  h4: typeof HeadingH4;
@@ -34,7 +32,7 @@ declare const htmlOverrides: {
34
32
  /**
35
33
  * Alias for `htmlOverrides`. Prefer this name in new consumer code.
36
34
  */
37
- declare const defaultComponents: {
35
+ export declare const defaultComponents: {
38
36
  h2: typeof HeadingH2;
39
37
  h3: typeof HeadingH3;
40
38
  h4: typeof HeadingH4;
@@ -47,5 +45,3 @@ declare const defaultComponents: {
47
45
  table: typeof ContentTable;
48
46
  code: typeof ContentCode;
49
47
  };
50
-
51
- export { defaultComponents, htmlOverrides };
@@ -1,9 +1,6 @@
1
- import { JSX } from 'preact';
2
-
3
1
  /** @jsxRuntime automatic */
4
2
  /** @jsxImportSource preact */
5
-
3
+ import type { JSX } from "preact";
6
4
  type Props = JSX.IntrinsicElements["blockquote"];
7
- declare function ContentBlockquote({ children, className, ...rest }: Props): JSX.Element;
8
-
9
- export { ContentBlockquote };
5
+ export declare function ContentBlockquote({ children, className, ...rest }: Props): JSX.Element;
6
+ export {};
@@ -1,8 +1,6 @@
1
- import { JSX } from 'preact';
2
-
3
1
  /** @jsxRuntime automatic */
4
2
  /** @jsxImportSource preact */
5
-
3
+ import type { JSX } from "preact";
6
4
  type Props = JSX.IntrinsicElements["code"];
7
5
  /**
8
6
  * Override for inline `<code>` in MDX. Wraps text-only inline code with
@@ -19,6 +17,5 @@ type Props = JSX.IntrinsicElements["code"];
19
17
  * `extractText` unwraps that so the heuristic works regardless of MDX's
20
18
  * internal wrapping.
21
19
  */
22
- declare function ContentCode({ children, className, ...rest }: Props): JSX.Element;
23
-
24
- export { ContentCode };
20
+ export declare function ContentCode({ children, className, ...rest }: Props): JSX.Element;
21
+ export {};
@@ -1,5 +1,5 @@
1
1
  import { jsx } from "preact/jsx-runtime";
2
- import { SmartBreak as SmartBreakImpl } from "../toc/smart-break.js";
2
+ import { SmartBreak as SmartBreakImpl } from "../smart-break/index.js";
3
3
  const SmartBreak = SmartBreakImpl;
4
4
  function ContentCode({ children, className, ...rest }) {
5
5
  const isShikiBlock = typeof className === "string" && /(^|\s)language-/.test(className);
@@ -1,9 +1,6 @@
1
- import { JSX } from 'preact';
2
-
3
1
  /** @jsxRuntime automatic */
4
2
  /** @jsxImportSource preact */
5
-
3
+ import type { JSX } from "preact";
6
4
  type Props = JSX.IntrinsicElements["a"];
7
- declare function ContentLink({ href, className, children, ...rest }: Props): JSX.Element;
8
-
9
- export { ContentLink };
5
+ export declare function ContentLink({ href, className, children, ...rest }: Props): JSX.Element;
6
+ export {};
@@ -1,5 +1,5 @@
1
1
  import { jsx } from "preact/jsx-runtime";
2
- import { SmartBreak as SmartBreakBase } from "../toc/smart-break.js";
2
+ import { SmartBreak as SmartBreakBase } from "../smart-break/index.js";
3
3
  const SmartBreak = SmartBreakBase;
4
4
  function ContentLink({ href, className, children, ...rest }) {
5
5
  const classes = typeof className === "string" ? className.split(" ") : [];
@@ -1,9 +1,6 @@
1
- import { JSX } from 'preact';
2
-
3
1
  /** @jsxRuntime automatic */
4
2
  /** @jsxImportSource preact */
5
-
3
+ import type { JSX } from "preact";
6
4
  type Props = JSX.IntrinsicElements["ol"];
7
- declare function ContentOl({ children, className, ...rest }: Props): JSX.Element;
8
-
9
- export { ContentOl };
5
+ export declare function ContentOl({ children, className, ...rest }: Props): JSX.Element;
6
+ export {};
@@ -1,9 +1,6 @@
1
- import { JSX } from 'preact';
2
-
3
1
  /** @jsxRuntime automatic */
4
2
  /** @jsxImportSource preact */
5
-
3
+ import type { JSX } from "preact";
6
4
  type Props = JSX.IntrinsicElements["p"];
7
- declare function ContentParagraph({ children, ...rest }: Props): JSX.Element;
8
-
9
- export { ContentParagraph };
5
+ export declare function ContentParagraph({ children, ...rest }: Props): JSX.Element;
6
+ export {};
@@ -1,9 +1,6 @@
1
- import { JSX } from 'preact';
2
-
3
1
  /** @jsxRuntime automatic */
4
2
  /** @jsxImportSource preact */
5
-
3
+ import type { JSX } from "preact";
6
4
  type Props = JSX.IntrinsicElements["strong"];
7
- declare function ContentStrong({ children, className, ...rest }: Props): JSX.Element;
8
-
9
- export { ContentStrong };
5
+ export declare function ContentStrong({ children, className, ...rest }: Props): JSX.Element;
6
+ export {};
@@ -1,9 +1,6 @@
1
- import { JSX } from 'preact';
2
-
3
1
  /** @jsxRuntime automatic */
4
2
  /** @jsxImportSource preact */
5
-
3
+ import type { JSX } from "preact";
6
4
  type Props = JSX.IntrinsicElements["table"];
7
- declare function ContentTable({ children, className, ...rest }: Props): JSX.Element;
8
-
9
- export { ContentTable };
5
+ export declare function ContentTable({ children, className, ...rest }: Props): JSX.Element;
6
+ export {};
@@ -1,9 +1,6 @@
1
- import { JSX } from 'preact';
2
-
3
1
  /** @jsxRuntime automatic */
4
2
  /** @jsxImportSource preact */
5
-
3
+ import type { JSX } from "preact";
6
4
  type Props = JSX.IntrinsicElements["ul"];
7
- declare function ContentUl({ children, className, ...rest }: Props): JSX.Element;
8
-
9
- export { ContentUl };
5
+ export declare function ContentUl({ children, className, ...rest }: Props): JSX.Element;
6
+ export {};
@@ -1,9 +1,6 @@
1
- import { JSX } from 'preact';
2
-
3
1
  /** @jsxRuntime automatic */
4
2
  /** @jsxImportSource preact */
5
-
3
+ import type { JSX } from "preact";
6
4
  type Props = JSX.IntrinsicElements["h2"];
7
- declare function HeadingH2({ id, children, className, ...rest }: Props): JSX.Element;
8
-
9
- export { HeadingH2 };
5
+ export declare function HeadingH2({ id, children, className, ...rest }: Props): JSX.Element;
6
+ export {};
@@ -1,9 +1,6 @@
1
- import { JSX } from 'preact';
2
-
3
1
  /** @jsxRuntime automatic */
4
2
  /** @jsxImportSource preact */
5
-
3
+ import type { JSX } from "preact";
6
4
  type Props = JSX.IntrinsicElements["h3"];
7
- declare function HeadingH3({ id, children, className, ...rest }: Props): JSX.Element;
8
-
9
- export { HeadingH3 };
5
+ export declare function HeadingH3({ id, children, className, ...rest }: Props): JSX.Element;
6
+ export {};
@@ -1,9 +1,6 @@
1
- import { JSX } from 'preact';
2
-
3
1
  /** @jsxRuntime automatic */
4
2
  /** @jsxImportSource preact */
5
-
3
+ import type { JSX } from "preact";
6
4
  type Props = JSX.IntrinsicElements["h4"];
7
- declare function HeadingH4({ id, children, className, ...rest }: Props): JSX.Element;
8
-
9
- export { HeadingH4 };
5
+ export declare function HeadingH4({ id, children, className, ...rest }: Props): JSX.Element;
6
+ export {};
@@ -1,13 +1,29 @@
1
- export { HeadingH2 } from './heading-h2.js';
2
- export { HeadingH3 } from './heading-h3.js';
3
- export { HeadingH4 } from './heading-h4.js';
4
- export { ContentParagraph } from './content-paragraph.js';
5
- export { ContentLink } from './content-link.js';
6
- export { ContentStrong } from './content-strong.js';
7
- export { ContentBlockquote } from './content-blockquote.js';
8
- export { ContentUl } from './content-ul.js';
9
- export { ContentOl } from './content-ol.js';
10
- export { ContentTable } from './content-table.js';
11
- export { ContentCode } from './content-code.js';
12
- export { defaultComponents, htmlOverrides } from './component-map.js';
13
- import 'preact';
1
+ /**
2
+ * Public entry for `@takazudo/zudo-doc/content`.
3
+ *
4
+ * Exports the 11 MDX typography override components and the pre-assembled
5
+ * component map. Consumers compose the map at the Astro page layer:
6
+ *
7
+ * import { defaultComponents } from "@takazudo/zudo-doc/content";
8
+ *
9
+ * const components = {
10
+ * ...defaultComponents,
11
+ * Note,
12
+ * Tip,
13
+ * // ... admonitions, shortcodes, etc.
14
+ * };
15
+ *
16
+ * <Content components={components} />
17
+ */
18
+ export { HeadingH2 } from "./heading-h2.js";
19
+ export { HeadingH3 } from "./heading-h3.js";
20
+ export { HeadingH4 } from "./heading-h4.js";
21
+ export { ContentParagraph } from "./content-paragraph.js";
22
+ export { ContentLink } from "./content-link.js";
23
+ export { ContentStrong } from "./content-strong.js";
24
+ export { ContentBlockquote } from "./content-blockquote.js";
25
+ export { ContentUl } from "./content-ul.js";
26
+ export { ContentOl } from "./content-ol.js";
27
+ export { ContentTable } from "./content-table.js";
28
+ export { ContentCode } from "./content-code.js";
29
+ export { htmlOverrides, defaultComponents } from "./component-map.js";
@@ -0,0 +1,15 @@
1
+ /** @jsxRuntime automatic */
2
+ /** @jsxImportSource preact */
3
+ import type { ComponentChildren, VNode } from "preact";
4
+ export type AdmonitionVariant = "note" | "tip" | "info" | "warning" | "danger" | "caution" | "important";
5
+ export interface AdmonitionProps {
6
+ /** Custom title; falls back to the capitalized variant name (e.g. "Note"). */
7
+ title?: string;
8
+ children?: ComponentChildren;
9
+ }
10
+ /**
11
+ * Build the admonition component for a single variant. The title row is always
12
+ * rendered — defaulting to the capitalized variant name when the author gives
13
+ * no `title` — matching the Astro reference where every callout shows a title.
14
+ */
15
+ export declare function makeAdmonition(variant: AdmonitionVariant): ({ title, children }: AdmonitionProps) => VNode;
@@ -0,0 +1,14 @@
1
+ import { jsx, jsxs } from "preact/jsx-runtime";
2
+ function makeAdmonition(variant) {
3
+ const defaultTitle = variant.charAt(0).toUpperCase() + variant.slice(1);
4
+ return function Admonition({ title, children }) {
5
+ const heading = title && title.length > 0 ? title : defaultTitle;
6
+ return /* @__PURE__ */ jsxs("div", { "data-admonition": variant, class: `admonition admonition-${variant}`, children: [
7
+ /* @__PURE__ */ jsx("p", { class: "admonition-title", children: heading }),
8
+ /* @__PURE__ */ jsx("div", { class: "admonition-body", children })
9
+ ] });
10
+ };
11
+ }
12
+ export {
13
+ makeAdmonition
14
+ };
@@ -0,0 +1,38 @@
1
+ /**
2
+ * Design-token panel (zdtp) WIRING MECHANISM.
3
+ *
4
+ * A side-effect module that calls `configurePanel(panelConfig)` and wires
5
+ * zdtp's lifecycle hooks to zfb's navigation events via
6
+ * `setLifecycleAdapter()`. Projects import this with their own
7
+ * `designTokenPanelConfig` object — the DATA stays project-side.
8
+ *
9
+ * Usage (project-side `src/lib/design-token-panel-bootstrap.ts`):
10
+ *
11
+ * import { bootstrapDesignTokenPanel } from "@takazudo/zudo-doc/design-token-panel-bootstrap";
12
+ * import { designTokenPanelConfig } from "@/config/design-token-panel-config";
13
+ * bootstrapDesignTokenPanel(designTokenPanelConfig);
14
+ *
15
+ * Moved from the host's `src/lib/design-token-panel-bootstrap.ts` as part of
16
+ * the package-first migration (S9a zudolab/zudo-doc#2333). The PanelConfig
17
+ * DATA stays project-side.
18
+ *
19
+ * CSS is pulled via `@import "@takazudo/zdtp/styles.css"` in the project's
20
+ * `src/styles/global.css` so the panel chrome lands in the main page CSS
21
+ * bundle (not a deferred chunk). Vite library mode strips the source CSS
22
+ * import from the emitted JS, so the explicit CSS-side import is the
23
+ * required pull point. See @takazudo/zdtp PORTABLE-CONTRACT.md §7.
24
+ */
25
+ import { type PanelConfig } from "@takazudo/zdtp";
26
+ /**
27
+ * Bootstrap zdtp for a project. Calls `configurePanel(panelConfig)`,
28
+ * drains any pre-hydration click queue, and wires the zdtp lifecycle
29
+ * adapter to zfb's navigation events so persisted token overrides are
30
+ * re-applied on every soft navigation.
31
+ *
32
+ * Call this once, as a side-effect import from the project's island
33
+ * wrapper (`src/components/design-token-panel-bootstrap.tsx`).
34
+ *
35
+ * @param panelConfig - The project's `PanelConfig` object (data stays
36
+ * project-side in `src/config/design-token-panel-config.ts`).
37
+ */
38
+ export declare function bootstrapDesignTokenPanel(panelConfig: PanelConfig): void;
@@ -0,0 +1,29 @@
1
+ import { configurePanel, setLifecycleAdapter } from "@takazudo/zdtp";
2
+ import {
3
+ BEFORE_NAVIGATE_EVENT,
4
+ AFTER_NAVIGATE_EVENT
5
+ } from "./transitions/page-events.js";
6
+ function bootstrapDesignTokenPanel(panelConfig) {
7
+ configurePanel(panelConfig);
8
+ if (typeof window !== "undefined") {
9
+ window.__zdtpReadyClicks?.();
10
+ }
11
+ if (typeof document !== "undefined") {
12
+ const adapter = {
13
+ onBeforeSwap(cb) {
14
+ const handler = () => cb();
15
+ document.addEventListener(BEFORE_NAVIGATE_EVENT, handler);
16
+ return () => document.removeEventListener(BEFORE_NAVIGATE_EVENT, handler);
17
+ },
18
+ onPageLoad(cb) {
19
+ const handler = () => cb();
20
+ document.addEventListener(AFTER_NAVIGATE_EVENT, handler);
21
+ return () => document.removeEventListener(AFTER_NAVIGATE_EVENT, handler);
22
+ }
23
+ };
24
+ setLifecycleAdapter(adapter);
25
+ }
26
+ }
27
+ export {
28
+ bootstrapDesignTokenPanel
29
+ };
@@ -0,0 +1,5 @@
1
+ export declare const SIDEBAR_STORAGE_KEY = "zudo-doc-sidebar-visible";
2
+ export declare function DesktopSidebarToggle(): import("preact").JSX.Element;
3
+ export declare namespace DesktopSidebarToggle {
4
+ var displayName: string;
5
+ }
@@ -0,0 +1,62 @@
1
+ "use client";
2
+ import { jsx } from "preact/jsx-runtime";
3
+ import { useState, useEffect, useRef } from "preact/hooks";
4
+ import { ChevronRight, ChevronLeft } from "../icons/index.js";
5
+ import { AFTER_NAVIGATE_EVENT } from "../transitions/index.js";
6
+ const SIDEBAR_STORAGE_KEY = "zudo-doc-sidebar-visible";
7
+ function readState() {
8
+ if (typeof window === "undefined") return true;
9
+ try {
10
+ return localStorage.getItem(SIDEBAR_STORAGE_KEY) !== "false";
11
+ } catch {
12
+ return true;
13
+ }
14
+ }
15
+ function setDataAttribute(isVisible) {
16
+ if (isVisible) {
17
+ document.documentElement.removeAttribute("data-sidebar-hidden");
18
+ } else {
19
+ document.documentElement.setAttribute("data-sidebar-hidden", "");
20
+ }
21
+ }
22
+ function DesktopSidebarToggle() {
23
+ const [visible, setVisible] = useState(true);
24
+ const hydrated = useRef(false);
25
+ useEffect(() => {
26
+ if (!hydrated.current) return;
27
+ setDataAttribute(visible);
28
+ try {
29
+ localStorage.setItem(SIDEBAR_STORAGE_KEY, String(visible));
30
+ } catch {
31
+ }
32
+ }, [visible]);
33
+ useEffect(() => {
34
+ hydrated.current = true;
35
+ const actual = readState();
36
+ if (actual !== visible) {
37
+ setVisible(actual);
38
+ }
39
+ }, []);
40
+ useEffect(() => {
41
+ const handler = () => setDataAttribute(readState());
42
+ document.addEventListener(AFTER_NAVIGATE_EVENT, handler);
43
+ return () => document.removeEventListener(AFTER_NAVIGATE_EVENT, handler);
44
+ }, []);
45
+ return /* @__PURE__ */ jsx(
46
+ "button",
47
+ {
48
+ type: "button",
49
+ onClick: () => setVisible((v) => !v),
50
+ className: "zd-desktop-sidebar-toggle hidden lg:flex fixed bottom-vsp-xl z-sidebar items-center justify-center w-[1.5rem] h-[3rem] bg-surface border border-muted border-l-0 rounded-r-DEFAULT text-muted cursor-pointer transition-[left,color] duration-200 ease-in-out hover:text-fg",
51
+ "aria-label": visible ? "Hide sidebar" : "Show sidebar",
52
+ "aria-pressed": visible,
53
+ "data-zfb-transition-persist": "desktop-sidebar-toggle",
54
+ children: visible ? /* @__PURE__ */ jsx(ChevronLeft, { className: "h-icon-sm w-icon-sm" }) : /* @__PURE__ */ jsx(ChevronRight, { className: "h-icon-sm w-icon-sm" })
55
+ }
56
+ );
57
+ }
58
+ DesktopSidebarToggle.displayName = "DesktopSidebarToggle";
59
+ export {
60
+ DesktopSidebarToggle,
61
+ SIDEBAR_STORAGE_KEY
62
+ };
@@ -1,9 +1,7 @@
1
- import { ComponentChildren, VNode } from 'preact';
2
-
3
1
  /** @jsxRuntime automatic */
4
2
  /** @jsxImportSource preact */
5
-
6
- interface DetailsProps {
3
+ import type { ComponentChildren, VNode } from "preact";
4
+ export interface DetailsProps {
7
5
  /**
8
6
  * Summary / toggle label shown in the `<summary>` element.
9
7
  * Defaults to `"Details"` — the same fallback used by the legacy
@@ -21,6 +19,4 @@ interface DetailsProps {
21
19
  * The legacy component used Astro's `<slot />`; v2 accepts standard
22
20
  * Preact `children`.
23
21
  */
24
- declare function Details({ title, children }: DetailsProps): VNode;
25
-
26
- export { Details, type DetailsProps };
22
+ export declare function Details({ title, children }: DetailsProps): VNode;
@@ -1,2 +1,2 @@
1
- export { Details, DetailsProps } from './details.js';
2
- import 'preact';
1
+ export { Details } from "./details.js";
2
+ export type { DetailsProps } from "./details.js";