@miragon/mcp-toolkit-ui 2.7.0 → 2.8.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 (387) hide show
  1. package/README.md +7 -4
  2. package/dist/app/adapt-data-widget.d.ts +1 -22
  3. package/dist/app/adapt-data-widget.d.ts.map +1 -1
  4. package/dist/app/adapt-data-widget.js +1 -35
  5. package/dist/app/adapt-data-widget.js.map +1 -1
  6. package/dist/app/builder/BuilderBanners.js +1 -1
  7. package/dist/app/builder/BuilderBanners.js.map +1 -1
  8. package/dist/app/builder/CanvasRow.d.ts +4 -2
  9. package/dist/app/builder/CanvasRow.d.ts.map +1 -1
  10. package/dist/app/builder/CanvasRow.js +21 -7
  11. package/dist/app/builder/CanvasRow.js.map +1 -1
  12. package/dist/app/builder/CatalogueSheet.d.ts.map +1 -1
  13. package/dist/app/builder/CatalogueSheet.js +11 -4
  14. package/dist/app/builder/CatalogueSheet.js.map +1 -1
  15. package/dist/app/builder/CellPropsSheet.d.ts +7 -3
  16. package/dist/app/builder/CellPropsSheet.d.ts.map +1 -1
  17. package/dist/app/builder/CellPropsSheet.js +10 -3
  18. package/dist/app/builder/CellPropsSheet.js.map +1 -1
  19. package/dist/app/builder/DiscardDialog.d.ts +18 -0
  20. package/dist/app/builder/DiscardDialog.d.ts.map +1 -0
  21. package/dist/app/builder/DiscardDialog.js +18 -0
  22. package/dist/app/builder/DiscardDialog.js.map +1 -0
  23. package/dist/app/builder/LayoutSurface.d.ts +33 -9
  24. package/dist/app/builder/LayoutSurface.d.ts.map +1 -1
  25. package/dist/app/builder/LayoutSurface.js +74 -23
  26. package/dist/app/builder/LayoutSurface.js.map +1 -1
  27. package/dist/app/builder/PipelineStrip.d.ts +2 -1
  28. package/dist/app/builder/PipelineStrip.d.ts.map +1 -1
  29. package/dist/app/builder/PipelineStrip.js +26 -13
  30. package/dist/app/builder/PipelineStrip.js.map +1 -1
  31. package/dist/app/builder/SaveDialog.d.ts +9 -1
  32. package/dist/app/builder/SaveDialog.d.ts.map +1 -1
  33. package/dist/app/builder/SaveDialog.js +8 -2
  34. package/dist/app/builder/SaveDialog.js.map +1 -1
  35. package/dist/app/builder/Toolbar.d.ts +12 -4
  36. package/dist/app/builder/Toolbar.d.ts.map +1 -1
  37. package/dist/app/builder/Toolbar.js +18 -7
  38. package/dist/app/builder/Toolbar.js.map +1 -1
  39. package/dist/app/builder/Workspace.d.ts +23 -3
  40. package/dist/app/builder/Workspace.d.ts.map +1 -1
  41. package/dist/app/builder/Workspace.js +58 -8
  42. package/dist/app/builder/Workspace.js.map +1 -1
  43. package/dist/app/builder/builder-model.d.ts +143 -1
  44. package/dist/app/builder/builder-model.d.ts.map +1 -1
  45. package/dist/app/builder/builder-model.js +191 -1
  46. package/dist/app/builder/builder-model.js.map +1 -1
  47. package/dist/app/builder/reveal.d.ts +10 -0
  48. package/dist/app/builder/reveal.d.ts.map +1 -0
  49. package/dist/app/builder/reveal.js +10 -0
  50. package/dist/app/builder/reveal.js.map +1 -0
  51. package/dist/app/builder/use-builder-catalogue.d.ts +4 -1
  52. package/dist/app/builder/use-builder-catalogue.d.ts.map +1 -1
  53. package/dist/app/builder/use-builder-catalogue.js +44 -17
  54. package/dist/app/builder/use-builder-catalogue.js.map +1 -1
  55. package/dist/app/builder/use-builder-session.d.ts +30 -0
  56. package/dist/app/builder/use-builder-session.d.ts.map +1 -0
  57. package/dist/app/builder/use-builder-session.js +58 -0
  58. package/dist/app/builder/use-builder-session.js.map +1 -0
  59. package/dist/app/builder/use-display-resolver.d.ts +17 -0
  60. package/dist/app/builder/use-display-resolver.d.ts.map +1 -0
  61. package/dist/app/builder/use-display-resolver.js +16 -0
  62. package/dist/app/builder/use-display-resolver.js.map +1 -0
  63. package/dist/app/index.d.ts +8 -3
  64. package/dist/app/index.d.ts.map +1 -1
  65. package/dist/app/index.js +8 -2
  66. package/dist/app/index.js.map +1 -1
  67. package/dist/app/layout-builder.d.ts +13 -25
  68. package/dist/app/layout-builder.d.ts.map +1 -1
  69. package/dist/app/layout-builder.js +75 -81
  70. package/dist/app/layout-builder.js.map +1 -1
  71. package/dist/app/mcp-app-view-chrome.d.ts +12 -3
  72. package/dist/app/mcp-app-view-chrome.d.ts.map +1 -1
  73. package/dist/app/mcp-app-view-chrome.js +21 -5
  74. package/dist/app/mcp-app-view-chrome.js.map +1 -1
  75. package/dist/app/mcp-app-view-states.d.ts +11 -3
  76. package/dist/app/mcp-app-view-states.d.ts.map +1 -1
  77. package/dist/app/mcp-app-view-states.js +29 -8
  78. package/dist/app/mcp-app-view-states.js.map +1 -1
  79. package/dist/app/mcp-app-view.d.ts +33 -1
  80. package/dist/app/mcp-app-view.d.ts.map +1 -1
  81. package/dist/app/mcp-app-view.js +181 -127
  82. package/dist/app/mcp-app-view.js.map +1 -1
  83. package/dist/app/mcp-toolkit-app.d.ts +6 -1
  84. package/dist/app/mcp-toolkit-app.d.ts.map +1 -1
  85. package/dist/app/mcp-toolkit-app.js +8 -1
  86. package/dist/app/mcp-toolkit-app.js.map +1 -1
  87. package/dist/app/mcp-use-host-bridge.d.ts +15 -6
  88. package/dist/app/mcp-use-host-bridge.d.ts.map +1 -1
  89. package/dist/app/mcp-use-host-bridge.js +51 -22
  90. package/dist/app/mcp-use-host-bridge.js.map +1 -1
  91. package/dist/app/model-context.d.ts +71 -0
  92. package/dist/app/model-context.d.ts.map +1 -0
  93. package/dist/app/model-context.js +101 -0
  94. package/dist/app/model-context.js.map +1 -0
  95. package/dist/app/use-build-mode-focus.d.ts +33 -0
  96. package/dist/app/use-build-mode-focus.d.ts.map +1 -0
  97. package/dist/app/use-build-mode-focus.js +59 -0
  98. package/dist/app/use-build-mode-focus.js.map +1 -0
  99. package/dist/app/use-view-actions.d.ts +31 -0
  100. package/dist/app/use-view-actions.d.ts.map +1 -0
  101. package/dist/app/use-view-actions.js +81 -0
  102. package/dist/app/use-view-actions.js.map +1 -0
  103. package/dist/app/use-view-lifecycle.d.ts +4 -0
  104. package/dist/app/use-view-lifecycle.d.ts.map +1 -1
  105. package/dist/app/use-view-lifecycle.js +2 -0
  106. package/dist/app/use-view-lifecycle.js.map +1 -1
  107. package/dist/app/view-lifecycle.d.ts +80 -4
  108. package/dist/app/view-lifecycle.d.ts.map +1 -1
  109. package/dist/app/view-lifecycle.js +90 -3
  110. package/dist/app/view-lifecycle.js.map +1 -1
  111. package/dist/app/widget-fixture.d.ts +10 -3
  112. package/dist/app/widget-fixture.d.ts.map +1 -1
  113. package/dist/app/widget-fixture.js +21 -8
  114. package/dist/app/widget-fixture.js.map +1 -1
  115. package/dist/app/widget-props-sheet.d.ts +3 -1
  116. package/dist/app/widget-props-sheet.d.ts.map +1 -1
  117. package/dist/app/widget-props-sheet.js +22 -10
  118. package/dist/app/widget-props-sheet.js.map +1 -1
  119. package/dist/app/widget-renderer.js +1 -1
  120. package/dist/app/widget-renderer.js.map +1 -1
  121. package/dist/components/DrillButton.d.ts +9 -6
  122. package/dist/components/DrillButton.d.ts.map +1 -1
  123. package/dist/components/DrillButton.js +8 -6
  124. package/dist/components/DrillButton.js.map +1 -1
  125. package/dist/components/EmptyState.d.ts.map +1 -1
  126. package/dist/components/EmptyState.js +4 -2
  127. package/dist/components/EmptyState.js.map +1 -1
  128. package/dist/components/ErrorState.d.ts +5 -2
  129. package/dist/components/ErrorState.d.ts.map +1 -1
  130. package/dist/components/ErrorState.js +25 -8
  131. package/dist/components/ErrorState.js.map +1 -1
  132. package/dist/components/FilterBar.d.ts +15 -4
  133. package/dist/components/FilterBar.d.ts.map +1 -1
  134. package/dist/components/FilterBar.js +11 -6
  135. package/dist/components/FilterBar.js.map +1 -1
  136. package/dist/components/KpiGrid.d.ts +66 -21
  137. package/dist/components/KpiGrid.d.ts.map +1 -1
  138. package/dist/components/KpiGrid.js +101 -34
  139. package/dist/components/KpiGrid.js.map +1 -1
  140. package/dist/components/ListFooter.d.ts +31 -4
  141. package/dist/components/ListFooter.d.ts.map +1 -1
  142. package/dist/components/ListFooter.js +30 -11
  143. package/dist/components/ListFooter.js.map +1 -1
  144. package/dist/components/PagedListFooter.d.ts +57 -0
  145. package/dist/components/PagedListFooter.d.ts.map +1 -0
  146. package/dist/components/PagedListFooter.js +27 -0
  147. package/dist/components/PagedListFooter.js.map +1 -0
  148. package/dist/components/Pills.d.ts +27 -7
  149. package/dist/components/Pills.d.ts.map +1 -1
  150. package/dist/components/Pills.js +21 -6
  151. package/dist/components/Pills.js.map +1 -1
  152. package/dist/components/SectionHeading.d.ts +3 -1
  153. package/dist/components/SectionHeading.d.ts.map +1 -1
  154. package/dist/components/SectionHeading.js +6 -2
  155. package/dist/components/SectionHeading.js.map +1 -1
  156. package/dist/components/Toast.d.ts +9 -3
  157. package/dist/components/Toast.d.ts.map +1 -1
  158. package/dist/components/Toast.js +31 -16
  159. package/dist/components/Toast.js.map +1 -1
  160. package/dist/components/WidgetHeader.d.ts +34 -10
  161. package/dist/components/WidgetHeader.d.ts.map +1 -1
  162. package/dist/components/WidgetHeader.js +11 -6
  163. package/dist/components/WidgetHeader.js.map +1 -1
  164. package/dist/hooks/index.d.ts +4 -4
  165. package/dist/hooks/index.d.ts.map +1 -1
  166. package/dist/hooks/index.js +1 -1
  167. package/dist/hooks/index.js.map +1 -1
  168. package/dist/hooks/tool-result-recovery-model.d.ts +155 -0
  169. package/dist/hooks/tool-result-recovery-model.d.ts.map +1 -0
  170. package/dist/hooks/tool-result-recovery-model.js +273 -0
  171. package/dist/hooks/tool-result-recovery-model.js.map +1 -0
  172. package/dist/hooks/use-tool-query.d.ts +56 -14
  173. package/dist/hooks/use-tool-query.d.ts.map +1 -1
  174. package/dist/hooks/use-tool-query.js +102 -25
  175. package/dist/hooks/use-tool-query.js.map +1 -1
  176. package/dist/hooks/use-tool-result-recovery.d.ts +47 -52
  177. package/dist/hooks/use-tool-result-recovery.d.ts.map +1 -1
  178. package/dist/hooks/use-tool-result-recovery.js +58 -120
  179. package/dist/hooks/use-tool-result-recovery.js.map +1 -1
  180. package/dist/hooks/use-view-data.d.ts +52 -10
  181. package/dist/hooks/use-view-data.d.ts.map +1 -1
  182. package/dist/hooks/use-view-data.js +81 -16
  183. package/dist/hooks/use-view-data.js.map +1 -1
  184. package/dist/hooks/use-view-tool-query.d.ts +12 -7
  185. package/dist/hooks/use-view-tool-query.d.ts.map +1 -1
  186. package/dist/hooks/use-view-tool-query.js +15 -14
  187. package/dist/hooks/use-view-tool-query.js.map +1 -1
  188. package/dist/index.d.ts +17 -10
  189. package/dist/index.d.ts.map +1 -1
  190. package/dist/index.js +18 -6
  191. package/dist/index.js.map +1 -1
  192. package/dist/lib/focus-return.d.ts +61 -0
  193. package/dist/lib/focus-return.d.ts.map +1 -0
  194. package/dist/lib/focus-return.js +46 -0
  195. package/dist/lib/focus-return.js.map +1 -0
  196. package/dist/lib/parse-tool-result.d.ts +23 -1
  197. package/dist/lib/parse-tool-result.d.ts.map +1 -1
  198. package/dist/lib/parse-tool-result.js +38 -2
  199. package/dist/lib/parse-tool-result.js.map +1 -1
  200. package/dist/lib/toast-model.d.ts +41 -1
  201. package/dist/lib/toast-model.d.ts.map +1 -1
  202. package/dist/lib/toast-model.js +67 -1
  203. package/dist/lib/toast-model.js.map +1 -1
  204. package/dist/lib/tone-utils.d.ts +58 -6
  205. package/dist/lib/tone-utils.d.ts.map +1 -1
  206. package/dist/lib/tone-utils.js +66 -4
  207. package/dist/lib/tone-utils.js.map +1 -1
  208. package/dist/lib/tool-query.d.ts +107 -0
  209. package/dist/lib/tool-query.d.ts.map +1 -0
  210. package/dist/lib/tool-query.js +182 -0
  211. package/dist/lib/tool-query.js.map +1 -0
  212. package/dist/lib/tool-result-observer.d.ts +108 -0
  213. package/dist/lib/tool-result-observer.d.ts.map +1 -0
  214. package/dist/lib/tool-result-observer.js +158 -0
  215. package/dist/lib/tool-result-observer.js.map +1 -0
  216. package/dist/lib/typography.d.ts +37 -0
  217. package/dist/lib/typography.d.ts.map +1 -0
  218. package/dist/lib/typography.js +41 -0
  219. package/dist/lib/typography.js.map +1 -0
  220. package/dist/lib/utils.d.ts.map +1 -1
  221. package/dist/lib/utils.js +11 -1
  222. package/dist/lib/utils.js.map +1 -1
  223. package/dist/locale/index.d.ts +1 -1
  224. package/dist/locale/index.d.ts.map +1 -1
  225. package/dist/locale/message-types.d.ts +117 -4
  226. package/dist/locale/message-types.d.ts.map +1 -1
  227. package/dist/locale/messages-de.d.ts.map +1 -1
  228. package/dist/locale/messages-de.js +44 -10
  229. package/dist/locale/messages-de.js.map +1 -1
  230. package/dist/locale/messages-en.d.ts.map +1 -1
  231. package/dist/locale/messages-en.js +44 -10
  232. package/dist/locale/messages-en.js.map +1 -1
  233. package/dist/locale/toolkit-messages.d.ts +19 -1
  234. package/dist/locale/toolkit-messages.d.ts.map +1 -1
  235. package/dist/locale/toolkit-messages.js +54 -1
  236. package/dist/locale/toolkit-messages.js.map +1 -1
  237. package/dist/primitives/alert.d.ts +1 -1
  238. package/dist/primitives/alert.d.ts.map +1 -1
  239. package/dist/primitives/alert.js +2 -0
  240. package/dist/primitives/alert.js.map +1 -1
  241. package/dist/primitives/badge.d.ts +1 -1
  242. package/dist/primitives/badge.d.ts.map +1 -1
  243. package/dist/primitives/badge.js +9 -4
  244. package/dist/primitives/badge.js.map +1 -1
  245. package/dist/primitives/button.d.ts +1 -1
  246. package/dist/primitives/button.js +1 -1
  247. package/dist/primitives/button.js.map +1 -1
  248. package/dist/primitives/dialog.d.ts +1 -1
  249. package/dist/primitives/dialog.d.ts.map +1 -1
  250. package/dist/primitives/dialog.js +10 -3
  251. package/dist/primitives/dialog.js.map +1 -1
  252. package/dist/primitives/select.js +1 -1
  253. package/dist/primitives/select.js.map +1 -1
  254. package/dist/primitives/sheet.d.ts +1 -1
  255. package/dist/primitives/sheet.d.ts.map +1 -1
  256. package/dist/primitives/sheet.js +6 -2
  257. package/dist/primitives/sheet.js.map +1 -1
  258. package/dist/providers/query-provider.d.ts +32 -1
  259. package/dist/providers/query-provider.d.ts.map +1 -1
  260. package/dist/providers/query-provider.js +53 -4
  261. package/dist/providers/query-provider.js.map +1 -1
  262. package/dist/render-cases-primitives.js +1 -1
  263. package/dist/render-cases-primitives.js.map +1 -1
  264. package/dist/render-cases.d.ts.map +1 -1
  265. package/dist/render-cases.js +30 -6
  266. package/dist/render-cases.js.map +1 -1
  267. package/dist/render-effects.d.ts +42 -0
  268. package/dist/render-effects.d.ts.map +1 -0
  269. package/dist/render-effects.js +81 -0
  270. package/dist/render-effects.js.map +1 -0
  271. package/dist/theme/create-theme.d.ts +19 -1
  272. package/dist/theme/create-theme.d.ts.map +1 -1
  273. package/dist/theme/create-theme.js +15 -0
  274. package/dist/theme/create-theme.js.map +1 -1
  275. package/package.json +5 -4
  276. package/src/app/adapt-data-widget.tsx +2 -42
  277. package/src/app/builder/BuilderBanners.tsx +1 -1
  278. package/src/app/builder/CanvasRow.tsx +63 -17
  279. package/src/app/builder/CatalogueSheet.tsx +50 -29
  280. package/src/app/builder/CellPropsSheet.tsx +17 -2
  281. package/src/app/builder/DiscardDialog.tsx +59 -0
  282. package/src/app/builder/LayoutSurface.tsx +206 -66
  283. package/src/app/builder/PipelineStrip.tsx +253 -153
  284. package/src/app/builder/SaveDialog.tsx +14 -2
  285. package/src/app/builder/Toolbar.tsx +144 -59
  286. package/src/app/builder/Workspace.tsx +226 -58
  287. package/src/app/builder/builder-model.ts +341 -2
  288. package/src/app/builder/builder-model.ux.test.ts +456 -0
  289. package/src/app/builder/builder-ux.test.tsx +844 -0
  290. package/src/app/builder/reveal.ts +10 -0
  291. package/src/app/builder/use-builder-catalogue.ts +56 -19
  292. package/src/app/builder/use-builder-session.ts +68 -0
  293. package/src/app/builder/use-display-resolver.ts +24 -0
  294. package/src/app/index.ts +12 -2
  295. package/src/app/layout-builder.tsx +178 -191
  296. package/src/app/mcp-app-view-chrome.test.tsx +141 -1
  297. package/src/app/mcp-app-view-chrome.tsx +56 -6
  298. package/src/app/mcp-app-view-states.tsx +51 -11
  299. package/src/app/mcp-app-view.effects.test.tsx +292 -0
  300. package/src/app/mcp-app-view.test.tsx +222 -2
  301. package/src/app/mcp-app-view.tsx +267 -117
  302. package/src/app/mcp-toolkit-app.test.tsx +40 -0
  303. package/src/app/mcp-toolkit-app.tsx +8 -1
  304. package/src/app/mcp-use-host-bridge.test.tsx +180 -0
  305. package/src/app/mcp-use-host-bridge.tsx +67 -24
  306. package/src/app/model-context.test.tsx +116 -0
  307. package/src/app/model-context.tsx +125 -0
  308. package/src/app/use-build-mode-focus.ts +62 -0
  309. package/src/app/use-view-actions.ts +89 -0
  310. package/src/app/use-view-lifecycle.ts +6 -0
  311. package/src/app/view-lifecycle.test.ts +216 -0
  312. package/src/app/view-lifecycle.ts +165 -5
  313. package/src/app/widget-fixture.effects.test.tsx +51 -0
  314. package/src/app/widget-fixture.render.test.tsx +81 -0
  315. package/src/app/widget-fixture.tsx +34 -11
  316. package/src/app/widget-props-sheet.tsx +57 -16
  317. package/src/app/widget-renderer.tsx +1 -1
  318. package/src/components/DrillButton.tsx +23 -10
  319. package/src/components/EmptyState.tsx +6 -4
  320. package/src/components/ErrorState.tsx +31 -9
  321. package/src/components/FilterBar.test.tsx +82 -0
  322. package/src/components/FilterBar.tsx +52 -26
  323. package/src/components/KpiGrid.test.tsx +279 -0
  324. package/src/components/KpiGrid.tsx +297 -90
  325. package/src/components/ListFooter.test.tsx +116 -0
  326. package/src/components/ListFooter.tsx +102 -15
  327. package/src/components/PagedListFooter.test.tsx +140 -0
  328. package/src/components/PagedListFooter.tsx +107 -0
  329. package/src/components/Pills.test.tsx +77 -0
  330. package/src/components/Pills.tsx +63 -10
  331. package/src/components/SectionHeading.tsx +9 -3
  332. package/src/components/Toast.tsx +37 -19
  333. package/src/components/WidgetHeader.test.tsx +78 -0
  334. package/src/components/WidgetHeader.tsx +63 -16
  335. package/src/components/feedback-states.test.tsx +98 -9
  336. package/src/components/tone-figures.test.tsx +8 -4
  337. package/src/hooks/index.ts +6 -3
  338. package/src/hooks/tool-result-recovery-model.test.ts +744 -0
  339. package/src/hooks/tool-result-recovery-model.ts +418 -0
  340. package/src/hooks/use-tool-query.effects.test.tsx +205 -0
  341. package/src/hooks/use-tool-query.ts +156 -33
  342. package/src/hooks/use-tool-result-recovery.effects.test.tsx +141 -0
  343. package/src/hooks/use-tool-result-recovery.test.ts +3 -4
  344. package/src/hooks/use-tool-result-recovery.ts +84 -142
  345. package/src/hooks/use-view-data.test.tsx +118 -9
  346. package/src/hooks/use-view-data.ts +128 -18
  347. package/src/hooks/use-view-tool-query.ts +25 -19
  348. package/src/i18n-coverage.test.tsx +104 -2
  349. package/src/index.ts +48 -11
  350. package/src/lib/focus-return.test.ts +288 -0
  351. package/src/lib/focus-return.ts +96 -0
  352. package/src/lib/parse-tool-result.test.ts +46 -1
  353. package/src/lib/parse-tool-result.ts +40 -2
  354. package/src/lib/toast-model.test.ts +166 -1
  355. package/src/lib/toast-model.ts +104 -2
  356. package/src/lib/tone-utils.test.ts +86 -10
  357. package/src/lib/tone-utils.ts +89 -8
  358. package/src/lib/tool-query.test.ts +569 -0
  359. package/src/lib/tool-query.ts +253 -0
  360. package/src/lib/tool-result-observer.test.ts +296 -0
  361. package/src/lib/tool-result-observer.ts +211 -0
  362. package/src/lib/typography.test.ts +45 -0
  363. package/src/lib/typography.ts +47 -0
  364. package/src/lib/utils.ts +12 -1
  365. package/src/locale/index.ts +1 -0
  366. package/src/locale/message-types.ts +118 -2
  367. package/src/locale/messages-de.ts +49 -10
  368. package/src/locale/messages-en.ts +49 -10
  369. package/src/locale/toolkit-messages.test.ts +133 -0
  370. package/src/locale/toolkit-messages.ts +63 -2
  371. package/src/primitives/alert.tsx +3 -0
  372. package/src/primitives/badge.tsx +9 -4
  373. package/src/primitives/button.tsx +1 -1
  374. package/src/primitives/dialog.tsx +10 -1
  375. package/src/primitives/select.tsx +1 -1
  376. package/src/primitives/sheet.tsx +7 -0
  377. package/src/providers/query-provider.test.tsx +154 -0
  378. package/src/providers/query-provider.tsx +66 -5
  379. package/src/render-cases-primitives.tsx +1 -1
  380. package/src/render-cases.tsx +38 -6
  381. package/src/render-effects.tsx +96 -0
  382. package/src/theme/cd-tokens.test.ts +3 -1
  383. package/src/theme/create-theme.test.ts +10 -0
  384. package/src/theme/create-theme.ts +28 -0
  385. package/src/theme/theme-css.test.ts +51 -0
  386. package/src/theme.css +31 -1
  387. package/ui-catalog.json +448 -41
@@ -2,10 +2,41 @@ import { type ReactNode } from "react";
2
2
  import { QueryClient } from "@tanstack/react-query";
3
3
  type CallToolFn = (name: string, args: object) => Promise<unknown>;
4
4
  declare const queryClient: QueryClient;
5
- export declare function AppQueryProvider({ children, callTool, }: {
5
+ /**
6
+ * The query client and tool transport of the toolkit's data hooks.
7
+ *
8
+ * `callTool` is how `useToolQuery` & co. reach the server; without it they
9
+ * fall back to the nearest `HostBridgeProvider`'s bridge (toolkit#176 N25).
10
+ * `client` replaces the shared module-level client, e.g. one per mount;
11
+ * omitted, a nested provider keeps its parent's client (as `McpAppView`'s
12
+ * own provider does), and the outermost one shares the toolkit's client
13
+ * (`queryClient`). `toolNameInQueryKey` puts the tool name into the hooks'
14
+ * cache keys (`[...queryKey, toolName, args]`, see `toolQueryKey`), so two
15
+ * tools never share an entry; omitted, a nested provider keeps its parent's
16
+ * setting, and the outermost one uses the 2.x key `[...queryKey, args]`. The
17
+ * next major makes the tool name the default.
18
+ */
19
+ export declare function AppQueryProvider({ children, callTool, client, toolNameInQueryKey, }: {
6
20
  children: ReactNode;
7
21
  callTool?: CallToolFn;
22
+ client?: QueryClient;
23
+ toolNameInQueryKey?: boolean;
8
24
  }): import("react").JSX.Element;
25
+ /**
26
+ * The client an `AppQueryProvider` without `client` uses at this point: the
27
+ * nearest `AppQueryProvider`'s, else the toolkit's shared `queryClient`. A
28
+ * plain TanStack `QueryClientProvider` does not count.
29
+ */
30
+ export declare function useAppQueryClient(): QueryClient;
31
+ /**
32
+ * Whether the nearest `AppQueryProvider` puts the tool name into the data
33
+ * hooks' cache keys (`toolNameInQueryKey`); `false` outside one.
34
+ */
35
+ export declare function useToolNameInQueryKey(): boolean;
36
+ /**
37
+ * The tool transport of the data hooks: `AppQueryProvider`'s `callTool`,
38
+ * else the nearest `HostBridgeProvider`'s `callTool`, else `undefined`.
39
+ */
9
40
  export declare function useCallTool(): CallToolFn | undefined;
10
41
  export { queryClient };
11
42
  //# sourceMappingURL=query-provider.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"query-provider.d.ts","sourceRoot":"","sources":["../../src/providers/query-provider.tsx"],"names":[],"mappings":"AAAA,OAAO,EAA6B,KAAK,SAAS,EAAE,MAAM,OAAO,CAAA;AACjE,OAAO,EAAE,WAAW,EAAuB,MAAM,uBAAuB,CAAA;AAKxE,KAAK,UAAU,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,CAAC,CAAA;AAIlE,QAAA,MAAM,WAAW,aAOf,CAAA;AAEF,wBAAgB,gBAAgB,CAAC,EAC/B,QAAQ,EACR,QAAQ,GACT,EAAE;IACD,QAAQ,EAAE,SAAS,CAAA;IACnB,QAAQ,CAAC,EAAE,UAAU,CAAA;CACtB,+BAMA;AAED,wBAAgB,WAAW,IAAI,UAAU,GAAG,SAAS,CAEpD;AAED,OAAO,EAAE,WAAW,EAAE,CAAA"}
1
+ {"version":3,"file":"query-provider.d.ts","sourceRoot":"","sources":["../../src/providers/query-provider.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAsC,KAAK,SAAS,EAAE,MAAM,OAAO,CAAA;AAC1E,OAAO,EAAE,WAAW,EAAuB,MAAM,uBAAuB,CAAA;AAMxE,KAAK,UAAU,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,CAAC,CAAA;AAOlE,QAAA,MAAM,WAAW,aAOf,CAAA;AAKF;;;;;;;;;;;;;GAaG;AACH,wBAAgB,gBAAgB,CAAC,EAC/B,QAAQ,EACR,QAAQ,EACR,MAAM,EACN,kBAAkB,GACnB,EAAE;IACD,QAAQ,EAAE,SAAS,CAAA;IACnB,QAAQ,CAAC,EAAE,UAAU,CAAA;IACrB,MAAM,CAAC,EAAE,WAAW,CAAA;IACpB,kBAAkB,CAAC,EAAE,OAAO,CAAA;CAC7B,+BAeA;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,IAAI,WAAW,CAE/C;AAED;;;GAGG;AACH,wBAAgB,qBAAqB,IAAI,OAAO,CAE/C;AAED;;;GAGG;AACH,wBAAgB,WAAW,IAAI,UAAU,GAAG,SAAS,CAQpD;AAED,OAAO,EAAE,WAAW,EAAE,CAAA"}
@@ -1,7 +1,10 @@
1
1
  import { jsx as _jsx } from "react/jsx-runtime";
2
- import { createContext, useContext } from "react";
2
+ import { createContext, useContext, useMemo } from "react";
3
3
  import { QueryClient, QueryClientProvider } from "@tanstack/react-query";
4
+ import { useHostBridgeOrNull } from "../app/host-bridge.js";
4
5
  const CallToolContext = createContext(undefined);
6
+ /** Whether the data hooks put the tool name into their cache keys (`toolQueryKey`). */
7
+ const ToolNameInQueryKeyContext = createContext(false);
5
8
  const queryClient = new QueryClient({
6
9
  defaultOptions: {
7
10
  queries: {
@@ -10,11 +13,57 @@ const queryClient = new QueryClient({
10
13
  },
11
14
  },
12
15
  });
13
- export function AppQueryProvider({ children, callTool, }) {
14
- return (_jsx(QueryClientProvider, { client: queryClient, children: _jsx(CallToolContext.Provider, { value: callTool, children: children }) }));
16
+ /** The client of the nearest `AppQueryProvider`, which a nested one without `client` keeps. */
17
+ const AppQueryClientContext = createContext(queryClient);
18
+ /**
19
+ * The query client and tool transport of the toolkit's data hooks.
20
+ *
21
+ * `callTool` is how `useToolQuery` & co. reach the server; without it they
22
+ * fall back to the nearest `HostBridgeProvider`'s bridge (toolkit#176 N25).
23
+ * `client` replaces the shared module-level client, e.g. one per mount;
24
+ * omitted, a nested provider keeps its parent's client (as `McpAppView`'s
25
+ * own provider does), and the outermost one shares the toolkit's client
26
+ * (`queryClient`). `toolNameInQueryKey` puts the tool name into the hooks'
27
+ * cache keys (`[...queryKey, toolName, args]`, see `toolQueryKey`), so two
28
+ * tools never share an entry; omitted, a nested provider keeps its parent's
29
+ * setting, and the outermost one uses the 2.x key `[...queryKey, args]`. The
30
+ * next major makes the tool name the default.
31
+ */
32
+ export function AppQueryProvider({ children, callTool, client, toolNameInQueryKey, }) {
33
+ const inheritedClient = useAppQueryClient();
34
+ const inherited = useContext(ToolNameInQueryKeyContext);
35
+ const effective = client ?? inheritedClient;
36
+ return (_jsx(AppQueryClientContext.Provider, { value: effective, children: _jsx(QueryClientProvider, { client: effective, children: _jsx(CallToolContext.Provider, { value: callTool, children: _jsx(ToolNameInQueryKeyContext.Provider, { value: toolNameInQueryKey ?? inherited, children: children }) }) }) }));
15
37
  }
38
+ /**
39
+ * The client an `AppQueryProvider` without `client` uses at this point: the
40
+ * nearest `AppQueryProvider`'s, else the toolkit's shared `queryClient`. A
41
+ * plain TanStack `QueryClientProvider` does not count.
42
+ */
43
+ export function useAppQueryClient() {
44
+ return useContext(AppQueryClientContext);
45
+ }
46
+ /**
47
+ * Whether the nearest `AppQueryProvider` puts the tool name into the data
48
+ * hooks' cache keys (`toolNameInQueryKey`); `false` outside one.
49
+ */
50
+ export function useToolNameInQueryKey() {
51
+ return useContext(ToolNameInQueryKeyContext);
52
+ }
53
+ /**
54
+ * The tool transport of the data hooks: `AppQueryProvider`'s `callTool`,
55
+ * else the nearest `HostBridgeProvider`'s `callTool`, else `undefined`.
56
+ */
16
57
  export function useCallTool() {
17
- return useContext(CallToolContext);
58
+ const explicit = useContext(CallToolContext);
59
+ const bridge = useHostBridgeOrNull();
60
+ return useMemo(() => {
61
+ if (explicit)
62
+ return explicit;
63
+ if (!bridge)
64
+ return undefined;
65
+ return (name, args) => bridge.callTool(name, args);
66
+ }, [explicit, bridge]);
18
67
  }
19
68
  export { queryClient };
20
69
  //# sourceMappingURL=query-provider.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"query-provider.js","sourceRoot":"","sources":["../../src/providers/query-provider.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,aAAa,EAAE,UAAU,EAAkB,MAAM,OAAO,CAAA;AACjE,OAAO,EAAE,WAAW,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAA;AAOxE,MAAM,eAAe,GAAG,aAAa,CAAyB,SAAS,CAAC,CAAA;AAExE,MAAM,WAAW,GAAG,IAAI,WAAW,CAAC;IAClC,cAAc,EAAE;QACd,OAAO,EAAE;YACP,SAAS,EAAE,MAAM;YACjB,oBAAoB,EAAE,KAAK;SAC5B;KACF;CACF,CAAC,CAAA;AAEF,MAAM,UAAU,gBAAgB,CAAC,EAC/B,QAAQ,EACR,QAAQ,GAIT;IACC,OAAO,CACL,KAAC,mBAAmB,IAAC,MAAM,EAAE,WAAW,YACtC,KAAC,eAAe,CAAC,QAAQ,IAAC,KAAK,EAAE,QAAQ,YAAG,QAAQ,GAA4B,GAC5D,CACvB,CAAA;AACH,CAAC;AAED,MAAM,UAAU,WAAW;IACzB,OAAO,UAAU,CAAC,eAAe,CAAC,CAAA;AACpC,CAAC;AAED,OAAO,EAAE,WAAW,EAAE,CAAA"}
1
+ {"version":3,"file":"query-provider.js","sourceRoot":"","sources":["../../src/providers/query-provider.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,OAAO,EAAkB,MAAM,OAAO,CAAA;AAC1E,OAAO,EAAE,WAAW,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAA;AACxE,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAA;AAO3D,MAAM,eAAe,GAAG,aAAa,CAAyB,SAAS,CAAC,CAAA;AAExE,uFAAuF;AACvF,MAAM,yBAAyB,GAAG,aAAa,CAAC,KAAK,CAAC,CAAA;AAEtD,MAAM,WAAW,GAAG,IAAI,WAAW,CAAC;IAClC,cAAc,EAAE;QACd,OAAO,EAAE;YACP,SAAS,EAAE,MAAM;YACjB,oBAAoB,EAAE,KAAK;SAC5B;KACF;CACF,CAAC,CAAA;AAEF,+FAA+F;AAC/F,MAAM,qBAAqB,GAAG,aAAa,CAAc,WAAW,CAAC,CAAA;AAErE;;;;;;;;;;;;;GAaG;AACH,MAAM,UAAU,gBAAgB,CAAC,EAC/B,QAAQ,EACR,QAAQ,EACR,MAAM,EACN,kBAAkB,GAMnB;IACC,MAAM,eAAe,GAAG,iBAAiB,EAAE,CAAA;IAC3C,MAAM,SAAS,GAAG,UAAU,CAAC,yBAAyB,CAAC,CAAA;IACvD,MAAM,SAAS,GAAG,MAAM,IAAI,eAAe,CAAA;IAC3C,OAAO,CACL,KAAC,qBAAqB,CAAC,QAAQ,IAAC,KAAK,EAAE,SAAS,YAC9C,KAAC,mBAAmB,IAAC,MAAM,EAAE,SAAS,YACpC,KAAC,eAAe,CAAC,QAAQ,IAAC,KAAK,EAAE,QAAQ,YACvC,KAAC,yBAAyB,CAAC,QAAQ,IAAC,KAAK,EAAE,kBAAkB,IAAI,SAAS,YACvE,QAAQ,GAC0B,GACZ,GACP,GACS,CAClC,CAAA;AACH,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,iBAAiB;IAC/B,OAAO,UAAU,CAAC,qBAAqB,CAAC,CAAA;AAC1C,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,qBAAqB;IACnC,OAAO,UAAU,CAAC,yBAAyB,CAAC,CAAA;AAC9C,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,WAAW;IACzB,MAAM,QAAQ,GAAG,UAAU,CAAC,eAAe,CAAC,CAAA;IAC5C,MAAM,MAAM,GAAG,mBAAmB,EAAE,CAAA;IACpC,OAAO,OAAO,CAAyB,GAAG,EAAE;QAC1C,IAAI,QAAQ;YAAE,OAAO,QAAQ,CAAA;QAC7B,IAAI,CAAC,MAAM;YAAE,OAAO,SAAS,CAAA;QAC7B,OAAO,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,IAA+B,CAAC,CAAA;IAC/E,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAA;AACxB,CAAC;AAED,OAAO,EAAE,WAAW,EAAE,CAAA"}
@@ -67,7 +67,7 @@ export const PRIMITIVE_RENDER_CASES = [
67
67
  {
68
68
  name: "Alert",
69
69
  marker: "RC:Alert",
70
- render: () => (_jsxs(Alert, { variant: "destructive", children: [_jsx(AlertTitle, { children: "RC:Alert" }), _jsx(AlertDescription, { children: "The engine rejected the job." })] })),
70
+ render: () => (_jsxs(Alert, { variant: "danger", children: [_jsx(AlertTitle, { children: "RC:Alert" }), _jsx(AlertDescription, { children: "The engine rejected the job." })] })),
71
71
  },
72
72
  {
73
73
  name: "ScrollArea",
@@ -1 +1 @@
1
- {"version":3,"file":"render-cases-primitives.js","sourceRoot":"","sources":["../src/render-cases-primitives.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"render-cases-primitives.js","sourceRoot":"","sources":["../src/render-cases-primitives.tsx"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"render-cases.d.ts","sourceRoot":"","sources":["../src/render-cases.tsx"],"names":[],"mappings":"AA0BA,OAAO,EAA0B,KAAK,UAAU,EAAE,MAAM,8BAA8B,CAAA;AAEtF,YAAY,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAA;AAwC9D,eAAO,MAAM,YAAY,EAAE,UAAU,EAsNpC,CAAA"}
1
+ {"version":3,"file":"render-cases.d.ts","sourceRoot":"","sources":["../src/render-cases.tsx"],"names":[],"mappings":"AA6BA,OAAO,EAA0B,KAAK,UAAU,EAAE,MAAM,8BAA8B,CAAA;AAEtF,YAAY,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAA;AAwC9D,eAAO,MAAM,YAAY,EAAE,UAAU,EAmPpC,CAAA"}
@@ -1,8 +1,8 @@
1
1
  import { jsxs as _jsxs, jsx as _jsx } from "react/jsx-runtime";
2
- import { Inbox } from "lucide-react";
3
- import { Button, CountPill, DrillButton, EmptyState, ErrorState, FilterBar, GridItem, GridLayout, GroupCard, KpiGrid, ListFooter, LivePill, LocaleProvider, SectionHeading, ThemeProvider, themePresets, ToastProvider, useLocale, WidgetHeader, } from "./index.js";
2
+ import { ExternalLink, Inbox } from "lucide-react";
3
+ import { Button, CountPill, DrillButton, EmptyState, ErrorState, FilterBar, GridItem, GridLayout, GroupCard, KpiGrid, KpiGridSkeleton, ListFooter, LivePill, LocaleProvider, PagedListFooter, SectionHeading, StatusBadge, ThemeProvider, themePresets, ToastProvider, useLocale, WidgetHeader, } from "./index.js";
4
4
  import { createStandaloneHostBridge, HostBridgeProvider, useHostBridge } from "./app/host-bridge.js";
5
- import { HostModelContext } from "./app/adapt-data-widget.js";
5
+ import { HostModelContext } from "./app/model-context.js";
6
6
  import { WidgetFixtureHost } from "./app/widget-fixture.js";
7
7
  import { PRIMITIVE_RENDER_CASES } from "./render-cases-primitives.js";
8
8
  /**
@@ -62,9 +62,15 @@ export const RENDER_CASES = [
62
62
  trendDirection: "up",
63
63
  },
64
64
  { label: "Done", value: 12, fraction: "/19", tone: "success" },
65
- { label: "Total", value: 19, onClick: noop, ariaLabel: "Show all" },
65
+ { label: "Total", value: 19, onClick: noop, actionHint: "Shows all orders" },
66
66
  ] })),
67
67
  },
68
+ {
69
+ // A skeleton has no text; the marker is its busy state.
70
+ name: "KpiGridSkeleton",
71
+ marker: 'aria-busy="true"',
72
+ render: () => _jsx(KpiGridSkeleton, { cells: 4, boxed: true }),
73
+ },
68
74
  {
69
75
  name: "LivePill",
70
76
  marker: "RC:LivePill",
@@ -75,6 +81,11 @@ export const RENDER_CASES = [
75
81
  marker: "RC:CountPill",
76
82
  render: () => _jsx(CountPill, { tone: "warning", children: "RC:CountPill" }),
77
83
  },
84
+ {
85
+ name: "StatusBadge",
86
+ marker: "RC:StatusBadge",
87
+ render: () => _jsx(StatusBadge, { tone: "warning", children: "RC:StatusBadge" }),
88
+ },
78
89
  {
79
90
  name: "SectionHeading",
80
91
  marker: "RC:SectionHeading",
@@ -83,7 +94,7 @@ export const RENDER_CASES = [
83
94
  {
84
95
  name: "WidgetHeader",
85
96
  marker: "RC:WidgetHeader",
86
- render: () => (_jsx(WidgetHeader, { icon: "\u2713", iconTone: "info", title: "RC:WidgetHeader", sub: _jsx(LivePill, { children: "Live" }), actions: _jsx(Button, { size: "sm", variant: "ghost", onClick: noop, children: "Refresh" }) })),
97
+ render: () => (_jsx(WidgetHeader, { as: "h2", title: "RC:WidgetHeader", badge: _jsx(StatusBadge, { tone: "info", children: "Running" }), sub: _jsx(LivePill, { children: "Live" }), actions: _jsx(Button, { size: "sm", variant: "ghost", onClick: noop, children: "Refresh" }) })),
87
98
  },
88
99
  {
89
100
  name: "GroupCard",
@@ -102,13 +113,26 @@ export const RENDER_CASES = [
102
113
  {
103
114
  name: "DrillButton",
104
115
  marker: "RC:DrillButton",
105
- render: () => (_jsx(DrillButton, { onDrill: noop, icon: "\u2197", size: "sm", ariaLabel: "Open order o-1001", children: "RC:DrillButton" })),
116
+ render: () => (_jsx(DrillButton, { onDrill: noop, icon: _jsx(ExternalLink, {}), size: "sm", ariaLabel: "Open order o-1001", children: "RC:DrillButton" })),
106
117
  },
107
118
  {
108
119
  name: "ListFooter",
109
120
  marker: "of 42 tasks",
110
121
  render: () => _jsx(ListFooter, { shown: 8, total: 42, hasMore: true, onLoadMore: noop, noun: "tasks" }),
111
122
  },
123
+ {
124
+ name: "PagedListFooter",
125
+ marker: "of 3 orders",
126
+ render: () => (_jsx(PagedListFooter, { paged: {
127
+ items: ["o-1", "o-2"],
128
+ total: 3,
129
+ hasMore: true,
130
+ loadMore: noop,
131
+ refreshing: true,
132
+ firstPage: {},
133
+ loadMoreError: new Error("HTTP 503"),
134
+ }, noun: "orders" })),
135
+ },
112
136
  // ── Feedback and states ──
113
137
  {
114
138
  // The provider renders its children plus the (empty) live region.
@@ -1 +1 @@
1
- {"version":3,"file":"render-cases.js","sourceRoot":"","sources":["../src/render-cases.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"render-cases.js","sourceRoot":"","sources":["../src/render-cases.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,YAAY,EAAE,KAAK,EAAE,MAAM,cAAc,CAAA;AAClD,OAAO,EACL,MAAM,EACN,SAAS,EACT,WAAW,EACX,UAAU,EACV,UAAU,EACV,SAAS,EACT,QAAQ,EACR,UAAU,EACV,SAAS,EACT,OAAO,EACP,eAAe,EACf,UAAU,EACV,QAAQ,EACR,cAAc,EACd,eAAe,EACf,cAAc,EACd,WAAW,EACX,aAAa,EACb,YAAY,EACZ,aAAa,EACb,SAAS,EACT,YAAY,GACb,MAAM,YAAY,CAAA;AACnB,OAAO,EAAE,0BAA0B,EAAE,kBAAkB,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAA;AACpG,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAA;AACzD,OAAO,EAAE,iBAAiB,EAAsB,MAAM,yBAAyB,CAAA;AAC/E,OAAO,EAAE,sBAAsB,EAAmB,MAAM,8BAA8B,CAAA;AAItF;;;;;;;;;;;GAWG;AAEH,MAAM,IAAI,GAAG,GAAS,EAAE,GAAE,CAAC,CAAA;AAE3B,mFAAmF;AACnF,MAAM,WAAW,GAAG,0BAA0B,CAAC;IAC7C,QAAQ,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;IACnC,KAAK,EAAE,MAAM;CACd,CAAC,CAAA;AAEF,kFAAkF;AAClF,SAAS,gBAAgB;IACvB,MAAM,MAAM,GAAG,aAAa,EAAE,CAAA;IAC9B,OAAO,qDAA6B,MAAM,CAAC,KAAK,IAAI,OAAO,IAAQ,CAAA;AACrE,CAAC;AAED,8EAA8E;AAC9E,SAAS,WAAW;IAClB,MAAM,MAAM,GAAG,SAAS,EAAE,CAAA;IAC1B,OAAO,iDAAyB,MAAM,IAAQ,CAAA;AAChD,CAAC;AAED,sEAAsE;AACtE,SAAS,kBAAkB,CAAC,EAAE,IAAI,EAAwC;IACxE,OAAO,mDAA2B,IAAI,EAAE,KAAK,IAAI,YAAY,IAAO,CAAA;AACtE,CAAC;AAED,MAAM,CAAC,MAAM,YAAY,GAAiB;IACxC,GAAG,sBAAsB;IAEzB,4BAA4B;IAC5B;QACE,IAAI,EAAE,YAAY;QAClB,MAAM,EAAE,eAAe;QACvB,MAAM,EAAE,GAAG,EAAE,CAAC,CACZ,MAAC,UAAU,eACT,KAAC,QAAQ,IAAC,IAAI,EAAE,CAAC,YACf,0CAAwB,GACf,EACX,KAAC,QAAQ,IAAC,IAAI,EAAE,CAAC,YACf,sCAAoB,GACX,IACA,CACd;KACF;IACD;QACE,IAAI,EAAE,UAAU;QAChB,MAAM,EAAE,aAAa;QACrB,MAAM,EAAE,GAAG,EAAE,CAAC,CACZ,KAAC,UAAU,cACT,KAAC,QAAQ,IAAC,IAAI,EAAE,CAAC,YACf,wCAAsB,GACb,GACA,CACd;KACF;IACD;QACE,IAAI,EAAE,SAAS;QACf,MAAM,EAAE,YAAY;QACpB,MAAM,EAAE,GAAG,EAAE,CAAC,CACZ,KAAC,OAAO,IACN,KAAK,QACL,MAAM,EAAE,EAAE,KAAK,EAAE,YAAY,EAAE,KAAK,EAAE,MAAM,EAAE,EAC9C,KAAK,EAAE;gBACL;oBACE,KAAK,EAAE,MAAM;oBACb,KAAK,EAAE,CAAC;oBACR,IAAI,EAAE,QAAQ;oBACd,KAAK,EAAE,iBAAiB;oBACxB,cAAc,EAAE,IAAI;iBACrB;gBACD,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC9D,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,kBAAkB,EAAE;aAC7E,GACD,CACH;KACF;IACD;QACE,wDAAwD;QACxD,IAAI,EAAE,iBAAiB;QACvB,MAAM,EAAE,kBAAkB;QAC1B,MAAM,EAAE,GAAG,EAAE,CAAC,KAAC,eAAe,IAAC,KAAK,EAAE,CAAC,EAAE,KAAK,SAAG;KAClD;IACD;QACE,IAAI,EAAE,UAAU;QAChB,MAAM,EAAE,aAAa;QACrB,MAAM,EAAE,GAAG,EAAE,CAAC,KAAC,QAAQ,IAAC,IAAI,EAAC,SAAS,4BAAuB;KAC9D;IACD;QACE,IAAI,EAAE,WAAW;QACjB,MAAM,EAAE,cAAc;QACtB,MAAM,EAAE,GAAG,EAAE,CAAC,KAAC,SAAS,IAAC,IAAI,EAAC,SAAS,6BAAyB;KACjE;IACD;QACE,IAAI,EAAE,aAAa;QACnB,MAAM,EAAE,gBAAgB;QACxB,MAAM,EAAE,GAAG,EAAE,CAAC,KAAC,WAAW,IAAC,IAAI,EAAC,SAAS,+BAA6B;KACvE;IACD;QACE,IAAI,EAAE,gBAAgB;QACtB,MAAM,EAAE,mBAAmB;QAC3B,MAAM,EAAE,GAAG,EAAE,CAAC,KAAC,cAAc,IAAC,KAAK,EAAC,mBAAmB,EAAC,IAAI,EAAC,SAAS,GAAG;KAC1E;IACD;QACE,IAAI,EAAE,cAAc;QACpB,MAAM,EAAE,iBAAiB;QACzB,MAAM,EAAE,GAAG,EAAE,CAAC,CACZ,KAAC,YAAY,IACX,EAAE,EAAC,IAAI,EACP,KAAK,EAAC,iBAAiB,EACvB,KAAK,EAAE,KAAC,WAAW,IAAC,IAAI,EAAC,MAAM,wBAAsB,EACrD,GAAG,EAAE,KAAC,QAAQ,uBAAgB,EAC9B,OAAO,EACL,KAAC,MAAM,IAAC,IAAI,EAAC,IAAI,EAAC,OAAO,EAAC,OAAO,EAAC,OAAO,EAAE,IAAI,wBAEtC,GAEX,CACH;KACF;IACD;QACE,IAAI,EAAE,WAAW;QACjB,MAAM,EAAE,cAAc;QACtB,MAAM,EAAE,GAAG,EAAE,CAAC,CACZ,KAAC,SAAS,IAAC,QAAQ,QAAC,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAE,yCAAuB,YAClE,8CAA4B,GAClB,CACb;KACF;IACD;QACE,0DAA0D;QAC1D,IAAI,EAAE,WAAW;QACjB,MAAM,EAAE,cAAc;QACtB,MAAM,EAAE,GAAG,EAAE,CAAC,CACZ,KAAC,SAAS,IACR,MAAM,EAAC,cAAc,EACrB,iBAAiB,EAAC,oBAAe,EACjC,cAAc,EAAE,IAAI,EACpB,KAAK,EAAE;gBACL,EAAE,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE;gBACrD,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE;aAC5B,EACD,YAAY,EAAE,IAAI,GAClB,CACH;KACF;IACD;QACE,IAAI,EAAE,aAAa;QACnB,MAAM,EAAE,gBAAgB;QACxB,MAAM,EAAE,GAAG,EAAE,CAAC,CACZ,KAAC,WAAW,IAAC,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,KAAC,YAAY,KAAG,EAAE,IAAI,EAAC,IAAI,EAAC,SAAS,EAAC,mBAAmB,+BAE7E,CACf;KACF;IACD;QACE,IAAI,EAAE,YAAY;QAClB,MAAM,EAAE,aAAa;QACrB,MAAM,EAAE,GAAG,EAAE,CAAC,KAAC,UAAU,IAAC,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,OAAO,QAAC,UAAU,EAAE,IAAI,EAAE,IAAI,EAAC,OAAO,GAAG;KACzF;IACD;QACE,IAAI,EAAE,iBAAiB;QACvB,MAAM,EAAE,aAAa;QACrB,MAAM,EAAE,GAAG,EAAE,CAAC,CACZ,KAAC,eAAe,IACd,KAAK,EAAE;gBACL,KAAK,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC;gBACrB,KAAK,EAAE,CAAC;gBACR,OAAO,EAAE,IAAI;gBACb,QAAQ,EAAE,IAAI;gBACd,UAAU,EAAE,IAAI;gBAChB,SAAS,EAAE,EAAE;gBACb,aAAa,EAAE,IAAI,KAAK,CAAC,UAAU,CAAC;aACrC,EACD,IAAI,EAAC,QAAQ,GACb,CACH;KACF;IAED,4BAA4B;IAC5B;QACE,kEAAkE;QAClE,IAAI,EAAE,eAAe;QACrB,MAAM,EAAE,kBAAkB;QAC1B,MAAM,EAAE,GAAG,EAAE,CAAC,CACZ,KAAC,aAAa,cACZ,6CAA2B,GACb,CACjB;KACF;IACD;QACE,IAAI,EAAE,YAAY;QAClB,MAAM,EAAE,eAAe;QACvB,MAAM,EAAE,GAAG,EAAE,CAAC,CACZ,KAAC,UAAU,IACT,IAAI,EAAE,KAAC,KAAK,KAAG,EACf,KAAK,EAAC,eAAe,EACrB,WAAW,EAAC,2BAA2B,EACvC,MAAM,EACJ,KAAC,MAAM,IAAC,IAAI,EAAC,IAAI,EAAC,OAAO,EAAE,IAAI,0BAEtB,GAEX,CACH;KACF;IACD;QACE,IAAI,EAAE,YAAY;QAClB,MAAM,EAAE,eAAe;QACvB,MAAM,EAAE,GAAG,EAAE,CAAC,CACZ,KAAC,UAAU,IACT,KAAK,EAAC,eAAe,EACrB,WAAW,EAAC,qCAAqC,EACjD,OAAO,EAAC,8BAA8B,EACtC,OAAO,EAAE,IAAI,GACb,CACH;KACF;IAED,8BAA8B;IAC9B;QACE,IAAI,EAAE,oBAAoB;QAC1B,MAAM,EAAE,4BAA4B;QACpC,MAAM,EAAE,GAAG,EAAE,CAAC,CACZ,KAAC,kBAAkB,IAAC,MAAM,EAAE,WAAW,YACrC,KAAC,gBAAgB,KAAG,GACD,CACtB;KACF;IACD;QACE,yEAAyE;QACzE,iEAAiE;QACjE,IAAI,EAAE,kBAAkB;QACxB,MAAM,EAAE,qBAAqB;QAC7B,MAAM,EAAE,GAAG,EAAE,CAAC,CACZ,KAAC,kBAAkB,IAAC,MAAM,EAAE,WAAW,YACrC,KAAC,gBAAgB,IAAC,OAAO,EAAC,0BAA0B,YAClD,gDAA8B,GACb,GACA,CACtB;KACF;IACD;QACE,IAAI,EAAE,eAAe;QACrB,MAAM,EAAE,kBAAkB;QAC1B,MAAM,EAAE,GAAG,EAAE,CAAC,CACZ,KAAC,aAAa,IAAC,KAAK,EAAE,YAAY,CAAC,OAAO,EAAE,IAAI,EAAC,MAAM,YACrD,6CAA2B,GACb,CACjB;KACF;IACD;QACE,IAAI,EAAE,gBAAgB;QACtB,MAAM,EAAE,sBAAsB;QAC9B,MAAM,EAAE,GAAG,EAAE,CAAC,CACZ,KAAC,cAAc,IAAC,MAAM,EAAC,IAAI,YACzB,KAAC,WAAW,KAAG,GACA,CAClB;KACF;IACD;QACE,IAAI,EAAE,mBAAmB;QACzB,MAAM,EAAE,mCAAmC;QAC3C,MAAM,EAAE,GAAG,EAAE,CAAC,CACZ,KAAC,iBAAiB,IAChB,MAAM,EAAE,kBAAmC,EAC3C,IAAI,EAAE,EAAE,KAAK,EAAE,cAAc,EAAE,GAC/B,CACH;KACF;CACF,CAAA"}
@@ -0,0 +1,42 @@
1
+ /**
2
+ * Effect-running renders for the WIRING tests SSR cannot see: effects,
3
+ * subscriptions and timers of the view lifecycle and the data hooks
4
+ * (toolkit#176 review). `react-dom/client` + `act` in a test file that opts
5
+ * into a DOM with `// @vitest-environment happy-dom`. Not an interaction kit:
6
+ * the house render path stays SSR (`renderToStaticMarkup`), and these tests
7
+ * drive hooks through their inputs; a `click()` only where the wiring starts
8
+ * at a button.
9
+ */
10
+ import { type ReactNode } from "react";
11
+ /**
12
+ * Run `work` in an ASYNC act scope: the promises it starts (a tool call that
13
+ * resolves, a state update after it) settle, and their renders commit,
14
+ * before the scope ends.
15
+ */
16
+ export declare function inAct(work: () => unknown): Promise<void>;
17
+ export interface EffectRender {
18
+ container: HTMLElement;
19
+ /** Render `node` into the same root (a new host state, new props). */
20
+ rerender: (node: ReactNode) => Promise<void>;
21
+ /** Unmount and run the cleanups; a second call does nothing. */
22
+ unmount: () => Promise<void>;
23
+ }
24
+ /** Mount `node` and run its effects. */
25
+ export declare function renderWithEffects(node: ReactNode): Promise<EffectRender>;
26
+ /**
27
+ * Settle pending promises and the effects and renders they cause, with real
28
+ * timers: TanStack Query notifies its observers on a 0 ms timer, so each
29
+ * round lets one land (under fake timers use {@link advanceTimers}).
30
+ */
31
+ export declare function flushEffects(rounds?: number): Promise<void>;
32
+ /** Advance fake timers by `ms` inside act, so the renders they cause commit. */
33
+ export declare function advanceTimers(advance: (ms: number) => unknown, ms: number): Promise<void>;
34
+ /**
35
+ * Renders `useValue` in a probe and keeps its latest committed value: read
36
+ * `current` after a render or flush.
37
+ */
38
+ export declare function hookProbe<T>(useValue: () => T): {
39
+ Probe: () => null;
40
+ current: () => T;
41
+ };
42
+ //# sourceMappingURL=render-effects.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"render-effects.d.ts","sourceRoot":"","sources":["../src/render-effects.tsx"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,OAAO,EAAkB,KAAK,SAAS,EAAE,MAAM,OAAO,CAAA;AAMtD;;;;GAIG;AACH,wBAAgB,KAAK,CAAC,IAAI,EAAE,MAAM,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAKxD;AAED,MAAM,WAAW,YAAY;IAC3B,SAAS,EAAE,WAAW,CAAA;IACtB,sEAAsE;IACtE,QAAQ,EAAE,CAAC,IAAI,EAAE,SAAS,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;IAC5C,gEAAgE;IAChE,OAAO,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAA;CAC7B;AAED,wCAAwC;AACxC,wBAAsB,iBAAiB,CAAC,IAAI,EAAE,SAAS,GAAG,OAAO,CAAC,YAAY,CAAC,CAgB9E;AAED;;;;GAIG;AACH,wBAAsB,YAAY,CAAC,MAAM,SAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAM5D;AAED,gFAAgF;AAChF,wBAAgB,aAAa,CAAC,OAAO,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,OAAO,EAAE,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAEzF;AAED;;;GAGG;AACH,wBAAgB,SAAS,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,CAAC,GAAG;IAC/C,KAAK,EAAE,MAAM,IAAI,CAAA;IACjB,OAAO,EAAE,MAAM,CAAC,CAAA;CACjB,CAgBA"}
@@ -0,0 +1,81 @@
1
+ /**
2
+ * Effect-running renders for the WIRING tests SSR cannot see: effects,
3
+ * subscriptions and timers of the view lifecycle and the data hooks
4
+ * (toolkit#176 review). `react-dom/client` + `act` in a test file that opts
5
+ * into a DOM with `// @vitest-environment happy-dom`. Not an interaction kit:
6
+ * the house render path stays SSR (`renderToStaticMarkup`), and these tests
7
+ * drive hooks through their inputs; a `click()` only where the wiring starts
8
+ * at a button.
9
+ */
10
+ import { act, useEffect } from "react";
11
+ import { createRoot } from "react-dom/client";
12
+ globalThis.IS_REACT_ACT_ENVIRONMENT = true;
13
+ /**
14
+ * Run `work` in an ASYNC act scope: the promises it starts (a tool call that
15
+ * resolves, a state update after it) settle, and their renders commit,
16
+ * before the scope ends.
17
+ */
18
+ export function inAct(work) {
19
+ return act(() => {
20
+ work();
21
+ return Promise.resolve();
22
+ });
23
+ }
24
+ /** Mount `node` and run its effects. */
25
+ export async function renderWithEffects(node) {
26
+ const container = document.createElement("div");
27
+ document.body.append(container);
28
+ const root = createRoot(container);
29
+ await inAct(() => root.render(node));
30
+ let mounted = true;
31
+ return {
32
+ container,
33
+ rerender: (next) => inAct(() => root.render(next)),
34
+ unmount: async () => {
35
+ if (!mounted)
36
+ return;
37
+ mounted = false;
38
+ await inAct(() => root.unmount());
39
+ container.remove();
40
+ },
41
+ };
42
+ }
43
+ /**
44
+ * Settle pending promises and the effects and renders they cause, with real
45
+ * timers: TanStack Query notifies its observers on a 0 ms timer, so each
46
+ * round lets one land (under fake timers use {@link advanceTimers}).
47
+ */
48
+ export async function flushEffects(rounds = 3) {
49
+ for (let round = 0; round < rounds; round++) {
50
+ await act(async () => {
51
+ await new Promise((resolve) => setTimeout(resolve, 0));
52
+ });
53
+ }
54
+ }
55
+ /** Advance fake timers by `ms` inside act, so the renders they cause commit. */
56
+ export function advanceTimers(advance, ms) {
57
+ return inAct(() => advance(ms));
58
+ }
59
+ /**
60
+ * Renders `useValue` in a probe and keeps its latest committed value: read
61
+ * `current` after a render or flush.
62
+ */
63
+ export function hookProbe(useValue) {
64
+ const box = {};
65
+ function Probe() {
66
+ const value = useValue();
67
+ useEffect(() => {
68
+ box.value = { current: value };
69
+ });
70
+ return null;
71
+ }
72
+ return {
73
+ Probe,
74
+ current: () => {
75
+ if (!box.value)
76
+ throw new Error("the probe has not committed yet");
77
+ return box.value.current;
78
+ },
79
+ };
80
+ }
81
+ //# sourceMappingURL=render-effects.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"render-effects.js","sourceRoot":"","sources":["../src/render-effects.tsx"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,OAAO,EAAE,GAAG,EAAE,SAAS,EAAkB,MAAM,OAAO,CAAA;AACtD,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAG5C;AAAC,UAAqD,CAAC,wBAAwB,GAAG,IAAI,CAAA;AAEvF;;;;GAIG;AACH,MAAM,UAAU,KAAK,CAAC,IAAmB;IACvC,OAAO,GAAG,CAAC,GAAG,EAAE;QACd,IAAI,EAAE,CAAA;QACN,OAAO,OAAO,CAAC,OAAO,EAAE,CAAA;IAC1B,CAAC,CAAC,CAAA;AACJ,CAAC;AAUD,wCAAwC;AACxC,MAAM,CAAC,KAAK,UAAU,iBAAiB,CAAC,IAAe;IACrD,MAAM,SAAS,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAA;IAC/C,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAA;IAC/B,MAAM,IAAI,GAAG,UAAU,CAAC,SAAS,CAAC,CAAA;IAClC,MAAM,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAA;IACpC,IAAI,OAAO,GAAG,IAAI,CAAA;IAClB,OAAO;QACL,SAAS;QACT,QAAQ,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAClD,OAAO,EAAE,KAAK,IAAI,EAAE;YAClB,IAAI,CAAC,OAAO;gBAAE,OAAM;YACpB,OAAO,GAAG,KAAK,CAAA;YACf,MAAM,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAA;YACjC,SAAS,CAAC,MAAM,EAAE,CAAA;QACpB,CAAC;KACF,CAAA;AACH,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,YAAY,CAAC,MAAM,GAAG,CAAC;IAC3C,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,MAAM,EAAE,KAAK,EAAE,EAAE,CAAC;QAC5C,MAAM,GAAG,CAAC,KAAK,IAAI,EAAE;YACnB,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAA;QACxD,CAAC,CAAC,CAAA;IACJ,CAAC;AACH,CAAC;AAED,gFAAgF;AAChF,MAAM,UAAU,aAAa,CAAC,OAAgC,EAAE,EAAU;IACxE,OAAO,KAAK,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAA;AACjC,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,SAAS,CAAI,QAAiB;IAI5C,MAAM,GAAG,GAA+B,EAAE,CAAA;IAC1C,SAAS,KAAK;QACZ,MAAM,KAAK,GAAG,QAAQ,EAAE,CAAA;QACxB,SAAS,CAAC,GAAG,EAAE;YACb,GAAG,CAAC,KAAK,GAAG,EAAE,OAAO,EAAE,KAAK,EAAE,CAAA;QAChC,CAAC,CAAC,CAAA;QACF,OAAO,IAAI,CAAA;IACb,CAAC;IACD,OAAO;QACL,KAAK;QACL,OAAO,EAAE,GAAG,EAAE;YACZ,IAAI,CAAC,GAAG,CAAC,KAAK;gBAAE,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAA;YAClE,OAAO,GAAG,CAAC,KAAK,CAAC,OAAO,CAAA;QAC1B,CAAC;KACF,CAAA;AACH,CAAC"}
@@ -133,6 +133,19 @@ export interface ThemeTokens {
133
133
  fontMono?: string;
134
134
  /** Heading font-family list. Maps to `--font-heading`. */
135
135
  fontHeading?: string;
136
+ /** Page title size (CI h2, 28 px). Maps to `--text-title` (`text-title`). */
137
+ textTitle?: string;
138
+ /** Section title size (CI h3, 21 px). Maps to `--text-section` (`text-section`). */
139
+ textSection?: string;
140
+ /** Running text size (16 px). Maps to `--text-body` (`text-body`). */
141
+ textBody?: string;
142
+ /** Dense tables and controls (14 px), never running text. Maps to `--text-dense` (`text-dense`). */
143
+ textDense?: string;
144
+ /**
145
+ * Captions, labels and hints: the smallest text the kit renders (13 px;
146
+ * keep it at 13 px or more). Maps to `--text-small` (`text-small`).
147
+ */
148
+ textSmall?: string;
136
149
  }
137
150
  /** The CSS custom-property name a {@link ThemeTokens} field resolves to. */
138
151
  type CssVarName = `--${string}`;
@@ -191,6 +204,11 @@ export declare const TOKEN_TO_CSS_VAR: {
191
204
  readonly fontSans: "--font-sans";
192
205
  readonly fontMono: "--font-mono";
193
206
  readonly fontHeading: "--font-heading";
207
+ readonly textTitle: "--text-title";
208
+ readonly textSection: "--text-section";
209
+ readonly textBody: "--text-body";
210
+ readonly textDense: "--text-dense";
211
+ readonly textSmall: "--text-small";
194
212
  };
195
213
  /**
196
214
  * The role-token contract: every variable the toolkit defines for components
@@ -198,7 +216,7 @@ export declare const TOKEN_TO_CSS_VAR: {
198
216
  * package, and in apps built on it, style through these names only, never
199
217
  * through raw colours or Tailwind palette classes.
200
218
  */
201
- export declare const ROLE_TOKENS: readonly ["--background", "--card", "--popover", "--muted", "--secondary", "--foreground", "--muted-foreground", "--border", "--input", "--primary", "--primary-foreground", "--primary-hover", "--link", "--ring", "--focus", "--success", "--warning", "--danger", "--info", "--success-soft", "--warning-soft", "--danger-soft", "--info-soft", "--success-ink", "--warning-ink", "--danger-ink", "--info-ink", "--destructive", "--radius-sm", "--radius-md", "--radius-lg", "--radius-pill", "--shadow-1", "--shadow-2", "--shadow-3", "--scrim", "--motion-fast", "--motion-base", "--motion-slow", "--ease", "--font-sans", "--font-mono"];
219
+ export declare const ROLE_TOKENS: readonly ["--background", "--card", "--popover", "--muted", "--secondary", "--foreground", "--muted-foreground", "--border", "--input", "--primary", "--primary-foreground", "--primary-hover", "--link", "--ring", "--focus", "--success", "--warning", "--danger", "--info", "--success-soft", "--warning-soft", "--danger-soft", "--info-soft", "--success-ink", "--warning-ink", "--danger-ink", "--info-ink", "--destructive", "--radius-sm", "--radius-md", "--radius-lg", "--radius-pill", "--shadow-1", "--shadow-2", "--shadow-3", "--scrim", "--motion-fast", "--motion-base", "--motion-slow", "--ease", "--font-sans", "--font-mono", "--text-title", "--text-section", "--text-body", "--text-dense", "--text-small"];
202
220
  /**
203
221
  * Variables whose toolkit value is the same in light and dark (theme.css
204
222
  * declares them once, or identically in both modes). A theme's LIGHT value for
@@ -1 +1 @@
1
- {"version":3,"file":"create-theme.d.ts","sourceRoot":"","sources":["../../src/theme/create-theme.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,OAAO,CAAA;AAE1C;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,WAAW,WAAW;IAC1B,yEAAyE;IACzE,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,+EAA+E;IAC/E,iBAAiB,CAAC,EAAE,MAAM,CAAA;IAC1B;;;;OAIG;IACH,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB;;;OAGG;IACH,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,6DAA6D;IAC7D,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,yEAAyE;IACzE,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB,mDAAmD;IACnD,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,mDAAmD;IACnD,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,4CAA4C;IAC5C,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,oEAAoE;IACpE,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,4DAA4D;IAC5D,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,4EAA4E;IAC5E,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,iFAAiF;IACjF,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,+DAA+D;IAC/D,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,gFAAgF;IAChF,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,sEAAsE;IACtE,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,2DAA2D;IAC3D,IAAI,CAAC,EAAE,MAAM,CAAA;IACb;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,wDAAwD;IACxD,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB;;;OAGG;IACH,qBAAqB,CAAC,EAAE,MAAM,CAAA;IAC9B,2FAA2F;IAC3F,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,sDAAsD;IACtD,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,gEAAgE;IAChE,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,2FAA2F;IAC3F,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,sDAAsD;IACtD,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,gEAAgE;IAChE,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,mEAAmE;IACnE,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,oDAAoD;IACpD,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,8DAA8D;IAC9D,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,+DAA+D;IAC/D,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,gDAAgD;IAChD,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,0DAA0D;IAC1D,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB;;;;;;OAMG;IACH,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,8DAA8D;IAC9D,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,2FAA2F;IAC3F,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,oEAAoE;IACpE,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,mEAAmE;IACnE,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,2DAA2D;IAC3D,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,yEAAyE;IACzE,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,+DAA+D;IAC/D,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,6DAA6D;IAC7D,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,+EAA+E;IAC/E,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,qDAAqD;IACrD,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,8DAA8D;IAC9D,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,oEAAoE;IACpE,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,oDAAoD;IACpD,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,yDAAyD;IACzD,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,0DAA0D;IAC1D,WAAW,CAAC,EAAE,MAAM,CAAA;CACrB;AAED,4EAA4E;AAC5E,KAAK,UAAU,GAAG,KAAK,MAAM,EAAE,CAAA;AAE/B;;;;;GAKG;AACH,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAiD6B,CAAA;AAE1D;;;;;GAKG;AACH,eAAO,MAAM,WAAW,mnBA2CkB,CAAA;AAE1C;;;;;;;;;GASG;AACH,eAAO,MAAM,mBAAmB,EAAE,WAAW,CAAC,UAAU,CAsBtD,CAAA;AAEF,yEAAyE;AACzE,MAAM,MAAM,SAAS,GAAG,MAAM,CAAC,UAAU,EAAE,MAAM,CAAC,CAAA;AAElD;;;;;;;;GAQG;AACH,MAAM,WAAW,eAAe;IAC9B,kFAAkF;IAClF,IAAI,EAAE,SAAS,CAAA;IACf,wEAAwE;IACxE,QAAQ,CAAC,EAAE,SAAS,CAAA;IACpB;;;;;;;;OAQG;IACH,OAAO,IAAI,aAAa,CAAA;CACzB;AAED;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,MAAM,EAAE,WAAW,GAAG,SAAS,CAY3D;AAED,uCAAuC;AACvC,MAAM,WAAW,kBAAkB;IACjC;;;;;OAKG;IACH,IAAI,CAAC,EAAE,WAAW,CAAA;CACnB;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,WAAW,CAAC,MAAM,EAAE,WAAW,EAAE,IAAI,CAAC,EAAE,kBAAkB,GAAG,eAAe,CAW3F;AAqCD;;;;;;;;GAQG;AACH,wBAAgB,gBAAgB,CAC9B,KAAK,EAAE,eAAe,GAAG,IAAI,GAAG,SAAS,EACzC,IAAI,EAAE,OAAO,GAAG,MAAM,GACrB,SAAS,CAQX"}
1
+ {"version":3,"file":"create-theme.d.ts","sourceRoot":"","sources":["../../src/theme/create-theme.ts"],"names":[],"mappings":"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"}
@@ -53,6 +53,11 @@ export const TOKEN_TO_CSS_VAR = {
53
53
  fontSans: "--font-sans",
54
54
  fontMono: "--font-mono",
55
55
  fontHeading: "--font-heading",
56
+ textTitle: "--text-title",
57
+ textSection: "--text-section",
58
+ textBody: "--text-body",
59
+ textDense: "--text-dense",
60
+ textSmall: "--text-small",
56
61
  };
57
62
  /**
58
63
  * The role-token contract: every variable the toolkit defines for components
@@ -103,6 +108,11 @@ export const ROLE_TOKENS = [
103
108
  "--ease",
104
109
  "--font-sans",
105
110
  "--font-mono",
111
+ "--text-title",
112
+ "--text-section",
113
+ "--text-body",
114
+ "--text-dense",
115
+ "--text-small",
106
116
  ];
107
117
  /**
108
118
  * Variables whose toolkit value is the same in light and dark (theme.css
@@ -136,6 +146,11 @@ export const MODE_INVARIANT_VARS = new Set([
136
146
  "--font-sans",
137
147
  "--font-mono",
138
148
  "--font-heading",
149
+ "--text-title",
150
+ "--text-section",
151
+ "--text-body",
152
+ "--text-dense",
153
+ "--text-small",
139
154
  ]);
140
155
  /**
141
156
  * Map a {@link ThemeTokens} object to its CSS variables. Empty/partial token
@@ -1 +1 @@
1
- {"version":3,"file":"create-theme.js","sourceRoot":"","sources":["../../src/theme/create-theme.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"create-theme.js","sourceRoot":"","sources":["../../src/theme/create-theme.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@miragon/mcp-toolkit-ui",
3
- "version": "2.7.0",
4
- "description": "React UI for MCP servers: shadcn primitives, composite components, TanStack Query hooks, and the MCP App shell (McpAppView + WidgetRenderer).",
3
+ "version": "2.8.0",
4
+ "description": "React UI for MCP servers in the Miragon design system (white-label through role tokens): primitives, composite components, TanStack Query hooks, and the MCP App shell (McpAppView + WidgetRenderer).",
5
5
  "repository": {
6
6
  "type": "git",
7
7
  "url": "git+https://github.com/Miragon/mcp-toolkit.git",
@@ -45,7 +45,7 @@
45
45
  "react": "^19.2.0",
46
46
  "react-dom": "^19.2.0",
47
47
  "tailwindcss": "^4.3.0",
48
- "@miragon/mcp-toolkit-core": "~2.7.0"
48
+ "@miragon/mcp-toolkit-core": "~2.8.0"
49
49
  },
50
50
  "dependencies": {
51
51
  "@base-ui/react": "1.8.0",
@@ -67,13 +67,14 @@
67
67
  "@types/react-dom": "19.3.0",
68
68
  "@vitest/coverage-v8": "4.1.11",
69
69
  "fast-check": "4.10.2",
70
+ "happy-dom": "20.14.5",
70
71
  "mcp-use": "2.7.3",
71
72
  "react": "19.3.0",
72
73
  "react-dom": "19.3.0",
73
74
  "tailwindcss": "4.3.3",
74
75
  "typescript": "6.0.3",
75
76
  "vitest": "4.1.11",
76
- "@miragon/mcp-toolkit-core": "2.7.0"
77
+ "@miragon/mcp-toolkit-core": "2.8.0"
77
78
  },
78
79
  "engines": {
79
80
  "node": ">=22.22.2"
@@ -1,8 +1,6 @@
1
- import { useEffect, type ComponentType, type ReactNode } from "react"
2
- import { ModelContext } from "mcp-use/react"
1
+ import type { ComponentType } from "react"
3
2
  import type { WidgetProps } from "@miragon/mcp-toolkit-core"
4
- import { useHostBridgeOrNull } from "./host-bridge.js"
5
- import { useIsInsideMcpUseView } from "./mcp-use-host-bridge.js"
3
+ import { HostModelContext } from "./model-context.js"
6
4
  import type { WidgetComponent } from "./widget-renderer.js"
7
5
 
8
6
  /**
@@ -16,44 +14,6 @@ export type DescribeForModel<T> = (
16
14
  props: Readonly<Record<string, unknown>>,
17
15
  ) => string
18
16
 
19
- /**
20
- * Model-context reporting that works on every host — the host-portable
21
- * replacement for rendering `mcp-use/react`'s `ModelContext` directly.
22
- *
23
- * mcp-use 2.x's `ModelContext` registers with the view runtime and THROWS
24
- * outside a `bootstrapView` mount, so it is only rendered inside an mcp-use
25
- * view (where it aggregates nested nodes into one tree). Everywhere else —
26
- * ChatGPT via `createChatGptHostBridge`, the `WidgetFixtureHost` harness,
27
- * standalone apps — the description flows through the bridge's
28
- * `setModelContext` instead (last-writer-wins; fine for the single-widget
29
- * mounts those hosts render).
30
- *
31
- * Widgets that self-fetch and report their own context (cockpit views like
32
- * `TasksBoard`) must use this instead of importing `ModelContext` from
33
- * `mcp-use/react` — the direct import crashes the widget in every non-view
34
- * mount, starting with the widget playground.
35
- */
36
- export function HostModelContext({
37
- content,
38
- children,
39
- }: {
40
- content: string
41
- children: ReactNode
42
- }): ReactNode {
43
- const insideView = useIsInsideMcpUseView()
44
- if (insideView) return <ModelContext content={content}>{children}</ModelContext>
45
- return <BridgeModelContext content={content}>{children}</BridgeModelContext>
46
- }
47
-
48
- function BridgeModelContext({ content, children }: { content: string; children: ReactNode }) {
49
- const bridge = useHostBridgeOrNull()
50
- const setModelContext = bridge?.setModelContext
51
- useEffect(() => {
52
- setModelContext?.(content)
53
- }, [setModelContext, content])
54
- return children
55
- }
56
-
57
17
  /**
58
18
  * Wraps a "single-data" widget component (signature `({ data }: { data: T | null })`)
59
19
  * so it can be registered as a framework {@link WidgetComponent} (which receives