basalt-ui 1.41.0 → 2.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (914) hide show
  1. package/AGENTS.md +46 -43
  2. package/CHANGELOG.md +535 -518
  3. package/MIGRATING.md +945 -37
  4. package/README.md +171 -366
  5. package/agent/rules/basalt-batteries.md +19 -74
  6. package/agent/rules/basalt-charts.md +21 -95
  7. package/agent/rules/basalt-controls.md +23 -131
  8. package/agent/rules/basalt-mantine.md +26 -99
  9. package/agent/rules/basalt-state.md +21 -103
  10. package/agent/rules/basalt-tokens.md +33 -114
  11. package/agent/skills/basalt-app/SKILL.md +229 -72
  12. package/agent/skills/basalt-charts/SKILL.md +23 -57
  13. package/agent/skills/basalt-design/SKILL.md +12 -70
  14. package/agent/templates/AGENTS-block.md.tpl +16 -26
  15. package/agent/templates/DESIGN.md.tpl +1 -1
  16. package/agent/templates/__root.tpl +9 -16
  17. package/agent/templates/main.tpl +21 -0
  18. package/agent/templates/nav.tpl +18 -0
  19. package/configs/oxlint-basalt.json +4 -10
  20. package/configs/oxlint-plugin.js +465 -844
  21. package/configs/oxlint-plugin.test.ts +661 -709
  22. package/configs/oxlint.json +10 -2
  23. package/dist/agent/ai-sdk-transport.d.ts +19 -7
  24. package/dist/agent/ai-sdk-transport.d.ts.map +1 -1
  25. package/dist/agent/ai-sdk-transport.js +10 -7
  26. package/dist/{agent-chat → agent/chat}/composer.d.ts +16 -16
  27. package/dist/agent/chat/composer.d.ts.map +1 -0
  28. package/dist/{agent-chat → agent/chat}/composer.js +10 -9
  29. package/dist/{agent-chat → agent/chat}/message-affordances.d.ts +7 -6
  30. package/dist/agent/chat/message-affordances.d.ts.map +1 -0
  31. package/dist/agent/chat/relative-time.d.ts.map +1 -0
  32. package/dist/{agent-chat → agent/chat}/thread-feed-row.d.ts +18 -16
  33. package/dist/agent/chat/thread-feed-row.d.ts.map +1 -0
  34. package/dist/{agent-chat → agent/chat}/thread-feed-row.js +12 -11
  35. package/dist/{agent-chat → agent/chat}/thread-feed.d.ts +8 -8
  36. package/dist/agent/chat/thread-feed.d.ts.map +1 -0
  37. package/dist/{agent-chat → agent/chat}/thread-feed.js +12 -10
  38. package/dist/{agent-chat → agent/chat}/thread-message.d.ts +12 -9
  39. package/dist/agent/chat/thread-message.d.ts.map +1 -0
  40. package/dist/{agent-chat → agent/chat}/thread-message.js +15 -13
  41. package/dist/{agent-chat → agent/chat}/thread-outcome-card.d.ts +2 -2
  42. package/dist/agent/chat/thread-outcome-card.d.ts.map +1 -0
  43. package/dist/{agent-chat → agent/chat}/thread-outcome-card.js +3 -3
  44. package/dist/{agent-chat → agent/chat}/tool-chip.d.ts +5 -5
  45. package/dist/agent/chat/tool-chip.d.ts.map +1 -0
  46. package/dist/{agent-chat → agent/chat}/tool-chip.js +4 -4
  47. package/dist/agent/chat/use-keyboard-inset.d.ts.map +1 -0
  48. package/dist/{agent-chat → agent/chat}/use-keyboard-inset.js +1 -1
  49. package/dist/{agent-chat → agent/chat}/virtualize.d.ts +7 -7
  50. package/dist/agent/chat/virtualize.d.ts.map +1 -0
  51. package/dist/agent/error.d.ts +31 -0
  52. package/dist/agent/error.d.ts.map +1 -0
  53. package/dist/agent/error.js +18 -0
  54. package/dist/agent/history.d.ts +2 -36
  55. package/dist/agent/history.d.ts.map +1 -1
  56. package/dist/agent/history.js +0 -32
  57. package/dist/agent/id.d.ts +4 -5
  58. package/dist/agent/id.d.ts.map +1 -1
  59. package/dist/agent/index.d.ts +19 -52
  60. package/dist/agent/index.d.ts.map +1 -1
  61. package/dist/agent/index.js +10 -32
  62. package/dist/agent/outcome.d.ts +3 -14
  63. package/dist/agent/outcome.d.ts.map +1 -1
  64. package/dist/agent/outcome.js +0 -30
  65. package/dist/agent/part-list.d.ts +3 -3
  66. package/dist/agent/part-list.d.ts.map +1 -1
  67. package/dist/agent/parts.d.ts +23 -24
  68. package/dist/agent/parts.d.ts.map +1 -1
  69. package/dist/agent/run-committer.d.ts +23 -0
  70. package/dist/agent/run-committer.d.ts.map +1 -0
  71. package/dist/agent/run-committer.js +41 -0
  72. package/dist/agent/run-records.d.ts +77 -0
  73. package/dist/agent/run-records.d.ts.map +1 -0
  74. package/dist/agent/run-records.js +69 -0
  75. package/dist/agent/thread.d.ts +23 -47
  76. package/dist/agent/thread.d.ts.map +1 -1
  77. package/dist/agent/thread.js +3 -134
  78. package/dist/agent/transport.d.ts +6 -69
  79. package/dist/agent/transport.d.ts.map +1 -1
  80. package/dist/agent/transport.js +0 -18
  81. package/dist/agent/use-agent-thread-runs.d.ts +63 -26
  82. package/dist/agent/use-agent-thread-runs.d.ts.map +1 -1
  83. package/dist/agent/use-agent-thread-runs.js +202 -66
  84. package/dist/charts/BandStrip.d.ts +46 -0
  85. package/dist/charts/BandStrip.d.ts.map +1 -0
  86. package/dist/charts/BandStrip.js +151 -0
  87. package/dist/charts/Bars.d.ts +19 -0
  88. package/dist/charts/Bars.d.ts.map +1 -0
  89. package/dist/charts/Bars.js +77 -0
  90. package/dist/charts/CartesianChart.d.ts +57 -0
  91. package/dist/charts/CartesianChart.d.ts.map +1 -0
  92. package/dist/charts/CartesianChart.js +121 -0
  93. package/dist/charts/ChartCard.d.ts +34 -0
  94. package/dist/charts/ChartCard.d.ts.map +1 -0
  95. package/dist/charts/ChartCard.js +115 -0
  96. package/dist/charts/Donut.d.ts +25 -0
  97. package/dist/charts/Donut.d.ts.map +1 -0
  98. package/dist/charts/Donut.js +191 -0
  99. package/dist/charts/DualPanel.d.ts +47 -0
  100. package/dist/charts/DualPanel.d.ts.map +1 -0
  101. package/dist/charts/DualPanel.js +214 -0
  102. package/dist/charts/Heatmap.d.ts +41 -0
  103. package/dist/charts/Heatmap.d.ts.map +1 -0
  104. package/dist/charts/Heatmap.js +216 -0
  105. package/dist/charts/Lines.d.ts +11 -0
  106. package/dist/charts/Lines.d.ts.map +1 -0
  107. package/dist/charts/Lines.js +114 -0
  108. package/dist/charts/MirroredBars.d.ts +44 -0
  109. package/dist/charts/MirroredBars.d.ts.map +1 -0
  110. package/dist/charts/MirroredBars.js +190 -0
  111. package/dist/charts/Sparkline.d.ts +22 -0
  112. package/dist/charts/Sparkline.d.ts.map +1 -0
  113. package/dist/charts/Sparkline.js +129 -0
  114. package/dist/charts/StackedArea.d.ts +15 -0
  115. package/dist/charts/StackedArea.d.ts.map +1 -0
  116. package/dist/charts/StackedArea.js +46 -0
  117. package/dist/charts/box.d.ts +38 -0
  118. package/dist/charts/box.d.ts.map +1 -0
  119. package/dist/charts/box.js +72 -0
  120. package/dist/charts/card-context.d.ts +3 -0
  121. package/dist/charts/card-context.d.ts.map +1 -0
  122. package/dist/charts/card-context.js +7 -0
  123. package/dist/charts/chart-box.module.css +64 -0
  124. package/{src/content/article-card.module.css.d.ts → dist/charts/chart-box.module.css.d.ts} +5 -9
  125. package/dist/charts/chart-card.module.css +25 -0
  126. package/dist/{dashboard/widget-grid.module.css.d.ts → charts/chart-card.module.css.d.ts} +1 -3
  127. package/dist/charts/chart-legend.module.css +38 -0
  128. package/{src/dashboard/widget-grid.module.css.d.ts → dist/charts/chart-legend.module.css.d.ts} +3 -3
  129. package/dist/charts/compile.d.ts +62 -0
  130. package/dist/charts/compile.d.ts.map +1 -0
  131. package/dist/charts/compile.js +386 -0
  132. package/dist/charts/cursor.d.ts +50 -0
  133. package/dist/charts/cursor.d.ts.map +1 -0
  134. package/dist/charts/cursor.js +157 -0
  135. package/dist/charts/curves.d.ts +12 -0
  136. package/dist/charts/curves.d.ts.map +1 -0
  137. package/dist/charts/curves.js +86 -0
  138. package/dist/charts/donut.module.css +54 -0
  139. package/dist/{content/article-card.module.css.d.ts → charts/donut.module.css.d.ts} +2 -9
  140. package/dist/charts/host.d.ts +17 -0
  141. package/dist/charts/host.d.ts.map +1 -0
  142. package/dist/charts/host.js +35 -0
  143. package/dist/charts/index.d.ts +18 -53
  144. package/dist/charts/index.d.ts.map +1 -1
  145. package/dist/charts/index.js +17 -189
  146. package/dist/charts/legend.d.ts +23 -0
  147. package/dist/charts/legend.d.ts.map +1 -0
  148. package/dist/charts/legend.js +160 -0
  149. package/dist/charts/marks.d.ts +25 -0
  150. package/dist/charts/marks.d.ts.map +1 -0
  151. package/dist/charts/marks.js +128 -0
  152. package/dist/charts/panel.d.ts +56 -0
  153. package/dist/charts/panel.d.ts.map +1 -0
  154. package/dist/charts/panel.js +123 -0
  155. package/dist/charts/scales.d.ts +44 -0
  156. package/dist/charts/scales.d.ts.map +1 -0
  157. package/dist/charts/scales.js +163 -0
  158. package/dist/charts/sizing.d.ts +12 -0
  159. package/dist/charts/sizing.d.ts.map +1 -0
  160. package/dist/charts/sizing.js +33 -0
  161. package/dist/charts/state.d.ts +17 -0
  162. package/dist/charts/state.d.ts.map +1 -0
  163. package/dist/charts/state.js +53 -0
  164. package/dist/charts/theme.d.ts +38 -19
  165. package/dist/charts/theme.d.ts.map +1 -1
  166. package/dist/charts/theme.js +48 -26
  167. package/dist/charts/types.d.ts +227 -0
  168. package/dist/charts/types.d.ts.map +1 -0
  169. package/dist/charts/types.js +4 -0
  170. package/dist/cli/audit-allows.d.ts +4 -17
  171. package/dist/cli/audit-allows.d.ts.map +1 -1
  172. package/dist/cli/config.d.ts +14 -43
  173. package/dist/cli/config.d.ts.map +1 -1
  174. package/dist/cli/doctor-upgrade.d.ts +31 -0
  175. package/dist/cli/doctor-upgrade.d.ts.map +1 -0
  176. package/dist/cli/doctor-upgrade.js +269 -0
  177. package/dist/cli/doctor.d.ts +13 -29
  178. package/dist/cli/doctor.d.ts.map +1 -1
  179. package/dist/cli/doctor.js +51 -9
  180. package/dist/cli/help.d.ts.map +1 -1
  181. package/dist/cli/help.js +2 -4
  182. package/dist/cli/index.d.ts +48 -172
  183. package/dist/cli/index.d.ts.map +1 -1
  184. package/dist/cli/index.js +39 -132
  185. package/dist/cli/init.d.ts.map +1 -1
  186. package/dist/cli/init.js +43 -37
  187. package/dist/cli/sync.d.ts +5 -21
  188. package/dist/cli/sync.d.ts.map +1 -1
  189. package/dist/cli/sync.js +4 -23
  190. package/dist/cli/tokens-css.d.ts +7 -28
  191. package/dist/cli/tokens-css.d.ts.map +1 -1
  192. package/dist/commands/ShortcutsHelp.d.ts.map +1 -1
  193. package/dist/commands/ShortcutsHelp.js +4 -5
  194. package/dist/commands/define-commands.d.ts +15 -31
  195. package/dist/commands/define-commands.d.ts.map +1 -1
  196. package/dist/commands/define-commands.js +1 -11
  197. package/dist/commands/define-overlays.d.ts +5 -19
  198. package/dist/commands/define-overlays.d.ts.map +1 -1
  199. package/dist/commands/define-overlays.js +3 -11
  200. package/dist/commands/index.d.ts +10 -40
  201. package/dist/commands/index.d.ts.map +1 -1
  202. package/dist/commands/index.js +9 -46
  203. package/dist/{notifications → commands/notifications}/bell.d.ts +1 -1
  204. package/dist/commands/notifications/bell.d.ts.map +1 -0
  205. package/dist/{notifications → commands/notifications}/center.d.ts +2 -2
  206. package/dist/commands/notifications/center.d.ts.map +1 -0
  207. package/dist/{notifications → commands/notifications}/center.js +2 -2
  208. package/dist/{notifications → commands/notifications}/define-notifications.d.ts +3 -3
  209. package/dist/commands/notifications/define-notifications.d.ts.map +1 -0
  210. package/dist/commands/notifications/notify.d.ts +44 -0
  211. package/dist/commands/notifications/notify.d.ts.map +1 -0
  212. package/dist/commands/notifications/notify.js +79 -0
  213. package/dist/{notifications → commands/notifications}/store.d.ts +2 -0
  214. package/dist/commands/notifications/store.d.ts.map +1 -0
  215. package/dist/{notifications → commands/notifications}/store.js +4 -0
  216. package/dist/commands/projectors.d.ts +1 -131
  217. package/dist/commands/projectors.d.ts.map +1 -1
  218. package/dist/commands/projectors.js +2 -73
  219. package/dist/commands/shell-bridge.d.ts +3 -3
  220. package/dist/commands/shortcut-format.d.ts +5 -4
  221. package/dist/commands/shortcut-format.d.ts.map +1 -1
  222. package/dist/common/errors.d.ts +3 -3
  223. package/dist/common/use-measured-widths.d.ts.map +1 -1
  224. package/dist/common/use-measured-widths.js +5 -3
  225. package/dist/common/validate.d.ts +2 -2
  226. package/dist/content/article-layout.d.ts.map +1 -1
  227. package/dist/content/article-layout.js +3 -3
  228. package/dist/content/article-model.d.ts +1 -46
  229. package/dist/content/article-model.d.ts.map +1 -1
  230. package/dist/content/article-model.js +1 -29
  231. package/dist/content/index.d.ts +11 -41
  232. package/dist/content/index.d.ts.map +1 -1
  233. package/dist/content/index.js +3 -35
  234. package/dist/content/markdown.d.ts +1 -1
  235. package/dist/content/markdown.d.ts.map +1 -1
  236. package/dist/content/markdown.js +1 -1
  237. package/dist/content/mermaid.d.ts.map +1 -1
  238. package/dist/content/mermaid.js +7 -7
  239. package/dist/content/slug.d.ts +1 -8
  240. package/dist/content/slug.d.ts.map +1 -1
  241. package/dist/content/slug.js +1 -8
  242. package/dist/content/url-hardening.d.ts +2 -2
  243. package/dist/content/url-hardening.d.ts.map +1 -1
  244. package/dist/content/url-hardening.js +2 -0
  245. package/dist/controls/actions.d.ts +16 -1
  246. package/dist/controls/actions.d.ts.map +1 -1
  247. package/dist/controls/enum-filter.d.ts +1 -1
  248. package/dist/controls/enum-filter.d.ts.map +1 -1
  249. package/dist/controls/filter-context.d.ts.map +1 -1
  250. package/dist/controls/filter-context.js +3 -1
  251. package/dist/controls/filter-set.js +4 -6
  252. package/dist/controls/form-layout.d.ts +1 -1
  253. package/dist/controls/form-layout.d.ts.map +1 -1
  254. package/dist/controls/form-layout.js +1 -1
  255. package/dist/controls/glyphs.d.ts +0 -2
  256. package/dist/controls/glyphs.d.ts.map +1 -1
  257. package/dist/controls/glyphs.js +0 -7
  258. package/dist/controls/index.d.ts +12 -17
  259. package/dist/controls/index.d.ts.map +1 -1
  260. package/dist/controls/index.js +5 -39
  261. package/dist/controls/multi-select-filter.d.ts +4 -3
  262. package/dist/controls/multi-select-filter.d.ts.map +1 -1
  263. package/dist/controls/number-filter.d.ts +4 -3
  264. package/dist/controls/number-filter.d.ts.map +1 -1
  265. package/dist/controls/number-filter.js +3 -1
  266. package/dist/controls/range-filter.d.ts +4 -3
  267. package/dist/controls/range-filter.d.ts.map +1 -1
  268. package/dist/controls/search-filter.d.ts +4 -3
  269. package/dist/controls/search-filter.d.ts.map +1 -1
  270. package/dist/controls/search-filter.js +19 -14
  271. package/dist/controls/select-filter.d.ts +4 -3
  272. package/dist/controls/select-filter.d.ts.map +1 -1
  273. package/dist/controls/sync-button.d.ts.map +1 -1
  274. package/dist/controls/sync-button.js +12 -15
  275. package/dist/controls/toggle-filter.d.ts +4 -3
  276. package/dist/controls/toggle-filter.d.ts.map +1 -1
  277. package/dist/controls/uncontrolled.d.ts +12 -0
  278. package/dist/controls/uncontrolled.d.ts.map +1 -0
  279. package/dist/controls/view-tabs.d.ts +2 -2
  280. package/dist/controls/view-tabs.d.ts.map +1 -1
  281. package/dist/controls-dates/index.d.ts +0 -1
  282. package/dist/controls-dates/index.d.ts.map +1 -1
  283. package/dist/dashboard/index.d.ts +7 -9
  284. package/dist/dashboard/index.d.ts.map +1 -1
  285. package/dist/dashboard/index.js +3 -23
  286. package/dist/dashboard/section.d.ts +4 -6
  287. package/dist/dashboard/section.d.ts.map +1 -1
  288. package/dist/dashboard/section.js +4 -10
  289. package/dist/dashboard/stat-card.d.ts +4 -4
  290. package/dist/dashboard/stat-card.d.ts.map +1 -1
  291. package/dist/dashboard/stat-card.js +3 -3
  292. package/dist/dashboard/widget-header.module.css +9 -7
  293. package/dist/dev-dock.d.ts.map +1 -1
  294. package/dist/dev-dock.js +6 -1
  295. package/dist/format/date.d.ts +0 -34
  296. package/dist/format/date.d.ts.map +1 -1
  297. package/dist/format/date.js +0 -54
  298. package/dist/format/index.d.ts +7 -22
  299. package/dist/format/index.d.ts.map +1 -1
  300. package/dist/format/index.js +2 -43
  301. package/dist/format/number.d.ts +3 -14
  302. package/dist/format/number.d.ts.map +1 -1
  303. package/dist/format/number.js +0 -13
  304. package/dist/format/shared.d.ts +2 -3
  305. package/dist/format/shared.d.ts.map +1 -1
  306. package/dist/forms/index.d.ts +0 -11
  307. package/dist/forms/index.d.ts.map +1 -1
  308. package/dist/forms/index.js +1 -14
  309. package/dist/guard/index.d.ts +6 -21
  310. package/dist/guard/index.d.ts.map +1 -1
  311. package/dist/guard/index.js +27 -115
  312. package/dist/guard/types.d.ts +7 -18
  313. package/dist/guard/types.d.ts.map +1 -1
  314. package/dist/index.d.ts +16 -48
  315. package/dist/index.d.ts.map +1 -1
  316. package/dist/index.js +21 -117
  317. package/dist/provider/create-router.d.ts +44 -0
  318. package/dist/provider/create-router.d.ts.map +1 -0
  319. package/dist/provider/create-router.js +62 -0
  320. package/dist/provider/hotkeys.d.ts +8 -0
  321. package/dist/provider/hotkeys.d.ts.map +1 -0
  322. package/dist/provider/hotkeys.js +50 -0
  323. package/dist/provider/index.d.ts +33 -110
  324. package/dist/provider/index.d.ts.map +1 -1
  325. package/dist/provider/index.js +182 -82
  326. package/dist/provider/lab-theme.d.ts.map +1 -1
  327. package/dist/provider/route-transition.d.ts +76 -0
  328. package/dist/provider/route-transition.d.ts.map +1 -0
  329. package/dist/provider/route-transition.js +98 -0
  330. package/dist/provider/spotlight-actions.d.ts +10 -0
  331. package/dist/provider/spotlight-actions.d.ts.map +1 -0
  332. package/dist/provider/spotlight-actions.js +55 -0
  333. package/dist/provider/test-router.d.ts +6 -0
  334. package/dist/provider/test-router.d.ts.map +1 -0
  335. package/dist/provider/test-router.js +18 -0
  336. package/dist/query-client.d.ts +4 -20
  337. package/dist/query-client.d.ts.map +1 -1
  338. package/dist/query-client.js +2 -2
  339. package/dist/router-tanstack/index.d.ts +18 -64
  340. package/dist/router-tanstack/index.d.ts.map +1 -1
  341. package/dist/router-tanstack/index.js +2 -16
  342. package/dist/router-tanstack/nav.d.ts +12 -1
  343. package/dist/router-tanstack/nav.d.ts.map +1 -1
  344. package/dist/router-tanstack/nav.js +8 -1
  345. package/dist/router-tanstack/search-store.d.ts +1 -1
  346. package/dist/router-tanstack/search-store.d.ts.map +1 -1
  347. package/dist/router-tanstack/use-nav.d.ts +8 -9
  348. package/dist/router-tanstack/use-nav.d.ts.map +1 -1
  349. package/dist/router-tanstack/use-nav.js +20 -1
  350. package/dist/shell/app-mobile-nav.d.ts.map +1 -1
  351. package/dist/shell/app-sidebar.js +1 -1
  352. package/dist/shell/index.d.ts +31 -10
  353. package/dist/shell/index.d.ts.map +1 -1
  354. package/dist/shell/index.js +14 -3
  355. package/dist/shell/page-aside.d.ts +2 -2
  356. package/dist/shell/page-aside.d.ts.map +1 -1
  357. package/dist/shell/page-aside.js +31 -12
  358. package/dist/shell/page-bar.d.ts +2 -2
  359. package/dist/shell/page-bar.d.ts.map +1 -1
  360. package/dist/shell/page-bar.js +1 -1
  361. package/dist/state.d.ts +10 -12
  362. package/dist/state.d.ts.map +1 -1
  363. package/dist/state.js +4 -6
  364. package/dist/styles.css +107 -7
  365. package/dist/surfaces.d.ts +28 -103
  366. package/dist/surfaces.d.ts.map +1 -1
  367. package/dist/surfaces.js +54 -143
  368. package/dist/{data → table}/data-table-state.d.ts +1 -1
  369. package/dist/table/data-table-state.d.ts.map +1 -0
  370. package/dist/{data → table}/data-table-state.js +4 -3
  371. package/dist/{data → table}/data-table.d.ts +28 -49
  372. package/dist/table/data-table.d.ts.map +1 -0
  373. package/dist/{data → table}/data-table.js +74 -60
  374. package/dist/table/index.d.ts +18 -0
  375. package/dist/table/index.d.ts.map +1 -0
  376. package/dist/{data/table.js → table/index.js} +1 -1
  377. package/dist/table/query-branch.d.ts.map +1 -0
  378. package/dist/table/table-features.d.ts +69 -0
  379. package/dist/table/table-features.d.ts.map +1 -0
  380. package/dist/table/table-features.js +49 -0
  381. package/dist/telemetry.d.ts +77 -0
  382. package/dist/telemetry.d.ts.map +1 -0
  383. package/dist/telemetry.js +33 -0
  384. package/dist/theme/index.d.ts +10 -21
  385. package/dist/theme/index.d.ts.map +1 -1
  386. package/dist/theme/index.js +3 -14
  387. package/dist/theme/theme-toggle.d.ts.map +1 -1
  388. package/dist/theme/theme-toggle.js +7 -33
  389. package/dist/theme/theme-toggle.module.css +30 -0
  390. package/dist/theme/theme-toggle.module.css.d.ts +10 -0
  391. package/dist/theme-lab/derive-controls.d.ts.map +1 -1
  392. package/dist/theme-lab/derive-controls.js +5 -3
  393. package/dist/theme-lab/derive-state.d.ts.map +1 -1
  394. package/dist/theme-lab/derive-state.js +2 -1
  395. package/dist/tokens/core.d.ts +360 -0
  396. package/dist/tokens/core.d.ts.map +1 -0
  397. package/dist/tokens/core.js +708 -0
  398. package/dist/tokens/derive.d.ts +1 -1
  399. package/dist/tokens/derive.d.ts.map +1 -1
  400. package/dist/tokens/index.d.ts +5 -373
  401. package/dist/tokens/index.d.ts.map +1 -1
  402. package/dist/tokens/index.js +8 -700
  403. package/dist/tokens/palette.d.ts +2 -6
  404. package/dist/tokens/palette.d.ts.map +1 -1
  405. package/dist/tokens/palette.js +1 -4
  406. package/dist/vite.d.ts +4 -3
  407. package/dist/vite.d.ts.map +1 -1
  408. package/llms.txt +43 -85
  409. package/package.json +77 -170
  410. package/src/agent/ai-sdk-transport.ts +57 -37
  411. package/src/{agent-chat → agent/chat}/composer.tsx +29 -30
  412. package/src/{agent-chat → agent/chat}/message-affordances.ts +8 -5
  413. package/src/{agent-chat → agent/chat}/thread-feed-row.tsx +30 -35
  414. package/src/{agent-chat → agent/chat}/thread-feed.tsx +40 -35
  415. package/src/{agent-chat → agent/chat}/thread-message.tsx +37 -35
  416. package/src/{agent-chat → agent/chat}/thread-outcome-card.tsx +5 -5
  417. package/src/{agent-chat → agent/chat}/tool-chip.tsx +12 -12
  418. package/src/{agent-chat → agent/chat}/use-keyboard-inset.ts +1 -1
  419. package/src/{agent-chat → agent/chat}/virtualize.ts +5 -5
  420. package/src/agent/error.ts +43 -0
  421. package/src/agent/history.ts +2 -107
  422. package/src/agent/id.ts +4 -5
  423. package/src/agent/index.ts +23 -112
  424. package/src/agent/outcome.ts +3 -56
  425. package/src/agent/part-list.tsx +3 -3
  426. package/src/agent/parts.ts +23 -22
  427. package/src/agent/run-committer.ts +64 -0
  428. package/src/agent/run-records.ts +147 -0
  429. package/src/agent/thread.ts +24 -231
  430. package/src/agent/transport.ts +6 -96
  431. package/src/agent/use-agent-thread-runs.ts +364 -199
  432. package/src/charts/BandStrip.tsx +276 -0
  433. package/src/charts/Bars.tsx +141 -0
  434. package/src/charts/CartesianChart.tsx +206 -0
  435. package/src/charts/ChartCard.tsx +178 -0
  436. package/src/charts/Donut.tsx +256 -0
  437. package/src/charts/DualPanel.tsx +326 -0
  438. package/src/charts/Heatmap.tsx +282 -0
  439. package/src/charts/Lines.tsx +151 -0
  440. package/src/charts/MirroredBars.tsx +303 -0
  441. package/src/charts/Sparkline.tsx +176 -0
  442. package/src/charts/StackedArea.tsx +80 -0
  443. package/src/charts/box.tsx +96 -0
  444. package/src/charts/card-context.ts +11 -0
  445. package/src/charts/chart-box.module.css +64 -0
  446. package/src/charts/chart-box.module.css.d.ts +12 -0
  447. package/src/charts/chart-card.module.css +25 -0
  448. package/src/charts/chart-card.module.css.d.ts +8 -0
  449. package/src/charts/chart-legend.module.css +38 -0
  450. package/src/charts/chart-legend.module.css.d.ts +10 -0
  451. package/src/charts/compile.ts +585 -0
  452. package/src/charts/cursor.ts +282 -0
  453. package/src/charts/curves.ts +111 -0
  454. package/src/charts/donut.module.css +54 -0
  455. package/src/charts/donut.module.css.d.ts +9 -0
  456. package/src/charts/host.tsx +60 -0
  457. package/src/charts/index.ts +41 -178
  458. package/src/charts/legend.tsx +204 -0
  459. package/src/charts/marks.ts +201 -0
  460. package/src/charts/panel.tsx +227 -0
  461. package/src/charts/scales.ts +237 -0
  462. package/src/charts/sizing.ts +47 -0
  463. package/src/charts/state.tsx +80 -0
  464. package/src/charts/theme.ts +65 -0
  465. package/src/charts/types.ts +242 -0
  466. package/src/cli/audit-allows.ts +8 -30
  467. package/src/cli/config.ts +14 -43
  468. package/src/cli/doctor-upgrade.ts +392 -0
  469. package/src/cli/doctor.ts +81 -72
  470. package/src/cli/help.ts +2 -4
  471. package/src/cli/index.ts +100 -384
  472. package/src/cli/init.ts +60 -51
  473. package/src/cli/sync.ts +13 -68
  474. package/src/cli/tokens-css.ts +7 -28
  475. package/src/commands/ShortcutsHelp.tsx +8 -9
  476. package/src/commands/define-commands.ts +16 -43
  477. package/src/commands/define-overlays.ts +12 -36
  478. package/src/commands/index.ts +11 -94
  479. package/src/{notifications → commands/notifications}/bell.tsx +2 -2
  480. package/src/{notifications → commands/notifications}/center.tsx +7 -5
  481. package/src/{notifications → commands/notifications}/define-notifications.ts +3 -3
  482. package/src/commands/notifications/notify.tsx +158 -0
  483. package/src/{notifications → commands/notifications}/store.ts +10 -2
  484. package/src/commands/projectors.ts +5 -225
  485. package/src/commands/shell-bridge.ts +5 -5
  486. package/src/commands/shortcut-format.ts +5 -4
  487. package/src/common/errors.ts +3 -3
  488. package/src/common/use-measured-widths.ts +6 -3
  489. package/src/common/validate.ts +2 -2
  490. package/src/content/article-layout.tsx +37 -38
  491. package/src/content/article-model.ts +1 -84
  492. package/src/content/index.ts +12 -83
  493. package/src/content/markdown.tsx +4 -3
  494. package/src/content/mermaid.tsx +9 -7
  495. package/src/content/slug.ts +1 -16
  496. package/src/content/url-hardening.ts +8 -2
  497. package/src/controls/actions.tsx +24 -1
  498. package/src/controls/enum-filter.tsx +1 -1
  499. package/src/controls/filter-context.tsx +3 -1
  500. package/src/controls/filter-set.tsx +5 -7
  501. package/src/controls/form-layout.tsx +2 -2
  502. package/src/controls/glyphs.tsx +0 -10
  503. package/src/controls/index.ts +13 -64
  504. package/src/controls/multi-select-filter.tsx +5 -4
  505. package/src/controls/number-filter.tsx +8 -4
  506. package/src/controls/range-filter.tsx +5 -4
  507. package/src/controls/search-filter.tsx +25 -19
  508. package/src/controls/select-filter.tsx +5 -4
  509. package/src/controls/sync-button.tsx +18 -20
  510. package/src/controls/toggle-filter.tsx +5 -4
  511. package/src/controls/uncontrolled.ts +12 -0
  512. package/src/controls/view-tabs.tsx +3 -3
  513. package/src/controls-dates/date-range-picker.tsx +1 -1
  514. package/src/controls-dates/index.ts +0 -1
  515. package/src/dashboard/index.ts +7 -48
  516. package/src/dashboard/section.tsx +11 -40
  517. package/src/dashboard/stat-card.tsx +14 -16
  518. package/src/dashboard/widget-header.module.css +9 -7
  519. package/src/dev-dock.tsx +14 -27
  520. package/src/format/date.ts +2 -92
  521. package/src/format/index.ts +7 -53
  522. package/src/format/number.ts +3 -26
  523. package/src/format/shared.ts +2 -3
  524. package/src/forms/index.ts +0 -23
  525. package/src/guard/index.ts +36 -191
  526. package/src/guard/types.ts +6 -19
  527. package/src/index.ts +30 -282
  528. package/src/provider/create-router.tsx +138 -0
  529. package/src/provider/hotkeys.ts +70 -0
  530. package/src/provider/index.tsx +260 -230
  531. package/src/provider/lab-theme.ts +3 -2
  532. package/src/provider/route-transition.ts +199 -0
  533. package/src/provider/spotlight-actions.tsx +69 -0
  534. package/src/provider/test-router.tsx +25 -0
  535. package/src/query-client.ts +4 -22
  536. package/src/router-tanstack/index.ts +18 -112
  537. package/src/router-tanstack/nav.ts +28 -2
  538. package/src/router-tanstack/search-store.ts +9 -2
  539. package/src/router-tanstack/use-nav.ts +47 -13
  540. package/src/shell/app-mobile-nav.tsx +3 -2
  541. package/src/shell/app-sidebar.tsx +1 -1
  542. package/src/shell/aside-docking.ts +1 -1
  543. package/src/shell/index.tsx +61 -20
  544. package/src/shell/page-aside.tsx +47 -23
  545. package/src/shell/page-bar.tsx +3 -3
  546. package/src/shell/page-title.tsx +1 -1
  547. package/src/state.ts +11 -37
  548. package/src/styles.css +107 -7
  549. package/src/surfaces.ts +56 -151
  550. package/src/{data → table}/data-table-state.ts +5 -4
  551. package/src/{data → table}/data-table.tsx +170 -161
  552. package/src/table/index.ts +18 -0
  553. package/src/table/table-features.ts +102 -0
  554. package/src/telemetry.ts +110 -0
  555. package/src/theme/index.ts +22 -47
  556. package/src/theme/theme-toggle.module.css +30 -0
  557. package/src/theme/theme-toggle.module.css.d.ts +10 -0
  558. package/src/theme/theme-toggle.tsx +15 -43
  559. package/src/theme-lab/derive-controls.tsx +5 -3
  560. package/src/theme-lab/derive-state.ts +2 -1
  561. package/src/tokens/core.ts +1163 -0
  562. package/src/tokens/derive.ts +1 -1
  563. package/src/tokens/index.ts +14 -1181
  564. package/src/tokens/palette.ts +3 -7
  565. package/src/vite.ts +3 -3
  566. package/agent/templates/query-client.ts.tpl +0 -26
  567. package/dist/agent/adapter.d.ts +0 -150
  568. package/dist/agent/adapter.d.ts.map +0 -1
  569. package/dist/agent/adapter.js +0 -482
  570. package/dist/agent/use-agent-stream.d.ts +0 -35
  571. package/dist/agent/use-agent-stream.d.ts.map +0 -1
  572. package/dist/agent/use-agent-stream.js +0 -59
  573. package/dist/agent-chat/composer.d.ts.map +0 -1
  574. package/dist/agent-chat/index.d.ts +0 -31
  575. package/dist/agent-chat/index.d.ts.map +0 -1
  576. package/dist/agent-chat/index.js +0 -19
  577. package/dist/agent-chat/message-affordances.d.ts.map +0 -1
  578. package/dist/agent-chat/relative-time.d.ts.map +0 -1
  579. package/dist/agent-chat/thread-detail-panel.d.ts +0 -28
  580. package/dist/agent-chat/thread-detail-panel.d.ts.map +0 -1
  581. package/dist/agent-chat/thread-detail-panel.js +0 -115
  582. package/dist/agent-chat/thread-feed-row.d.ts.map +0 -1
  583. package/dist/agent-chat/thread-feed.d.ts.map +0 -1
  584. package/dist/agent-chat/thread-message.d.ts.map +0 -1
  585. package/dist/agent-chat/thread-outcome-card.d.ts.map +0 -1
  586. package/dist/agent-chat/thread-workspace.d.ts +0 -44
  587. package/dist/agent-chat/thread-workspace.d.ts.map +0 -1
  588. package/dist/agent-chat/thread-workspace.js +0 -153
  589. package/dist/agent-chat/tool-chip.d.ts.map +0 -1
  590. package/dist/agent-chat/use-keyboard-inset.d.ts.map +0 -1
  591. package/dist/agent-chat/virtualize.d.ts.map +0 -1
  592. package/dist/charts/cursor/resolve.d.ts +0 -75
  593. package/dist/charts/cursor/resolve.d.ts.map +0 -1
  594. package/dist/charts/cursor/resolve.js +0 -91
  595. package/dist/charts/cursor/scope.d.ts +0 -20
  596. package/dist/charts/cursor/scope.d.ts.map +0 -1
  597. package/dist/charts/cursor/scope.js +0 -20
  598. package/dist/charts/cursor/store.d.ts +0 -35
  599. package/dist/charts/cursor/store.d.ts.map +0 -1
  600. package/dist/charts/cursor/store.js +0 -25
  601. package/dist/charts/cursor/touch-pin.d.ts +0 -45
  602. package/dist/charts/cursor/touch-pin.d.ts.map +0 -1
  603. package/dist/charts/cursor/touch-pin.js +0 -79
  604. package/dist/charts/hooks/use-discrete-cursor.d.ts +0 -66
  605. package/dist/charts/hooks/use-discrete-cursor.d.ts.map +0 -1
  606. package/dist/charts/hooks/use-discrete-cursor.js +0 -198
  607. package/dist/charts/hooks/use-hysteresis.d.ts +0 -18
  608. package/dist/charts/hooks/use-hysteresis.d.ts.map +0 -1
  609. package/dist/charts/hooks/use-hysteresis.js +0 -12
  610. package/dist/charts/hooks/useBandPlot.d.ts +0 -145
  611. package/dist/charts/hooks/useBandPlot.d.ts.map +0 -1
  612. package/dist/charts/hooks/useBandPlot.js +0 -178
  613. package/dist/charts/hooks/useChartCursor.d.ts +0 -75
  614. package/dist/charts/hooks/useChartCursor.d.ts.map +0 -1
  615. package/dist/charts/hooks/useChartCursor.js +0 -200
  616. package/dist/charts/hooks/useChartSize.d.ts +0 -29
  617. package/dist/charts/hooks/useChartSize.d.ts.map +0 -1
  618. package/dist/charts/hooks/useChartSize.js +0 -8
  619. package/dist/charts/kinds/BandStrip.d.ts +0 -132
  620. package/dist/charts/kinds/BandStrip.d.ts.map +0 -1
  621. package/dist/charts/kinds/BandStrip.js +0 -241
  622. package/dist/charts/kinds/Bars.d.ts +0 -141
  623. package/dist/charts/kinds/Bars.d.ts.map +0 -1
  624. package/dist/charts/kinds/Bars.js +0 -343
  625. package/dist/charts/kinds/Donut.d.ts +0 -77
  626. package/dist/charts/kinds/Donut.d.ts.map +0 -1
  627. package/dist/charts/kinds/Donut.js +0 -245
  628. package/dist/charts/kinds/DualPanel.d.ts +0 -111
  629. package/dist/charts/kinds/DualPanel.d.ts.map +0 -1
  630. package/dist/charts/kinds/DualPanel.js +0 -471
  631. package/dist/charts/kinds/Heatmap.d.ts +0 -85
  632. package/dist/charts/kinds/Heatmap.d.ts.map +0 -1
  633. package/dist/charts/kinds/Heatmap.js +0 -243
  634. package/dist/charts/kinds/MirroredBars.d.ts +0 -98
  635. package/dist/charts/kinds/MirroredBars.d.ts.map +0 -1
  636. package/dist/charts/kinds/MirroredBars.js +0 -292
  637. package/dist/charts/kinds/MultiLine.d.ts +0 -87
  638. package/dist/charts/kinds/MultiLine.d.ts.map +0 -1
  639. package/dist/charts/kinds/MultiLine.js +0 -176
  640. package/dist/charts/kinds/StackedArea.d.ts +0 -73
  641. package/dist/charts/kinds/StackedArea.d.ts.map +0 -1
  642. package/dist/charts/kinds/StackedArea.js +0 -135
  643. package/dist/charts/kinds/ZonedLine.d.ts +0 -97
  644. package/dist/charts/kinds/ZonedLine.d.ts.map +0 -1
  645. package/dist/charts/kinds/ZonedLine.js +0 -155
  646. package/dist/charts/kinds/band-chrome.d.ts +0 -31
  647. package/dist/charts/kinds/band-chrome.d.ts.map +0 -1
  648. package/dist/charts/kinds/band-chrome.js +0 -71
  649. package/dist/charts/kinds/donut-layout.d.ts +0 -47
  650. package/dist/charts/kinds/donut-layout.d.ts.map +0 -1
  651. package/dist/charts/kinds/donut-layout.js +0 -52
  652. package/dist/charts/layout/auto-margin.d.ts +0 -122
  653. package/dist/charts/layout/auto-margin.d.ts.map +0 -1
  654. package/dist/charts/layout/auto-margin.js +0 -81
  655. package/dist/charts/layout/end-labels.d.ts +0 -64
  656. package/dist/charts/layout/end-labels.d.ts.map +0 -1
  657. package/dist/charts/layout/end-labels.js +0 -76
  658. package/dist/charts/layout/log-ticks.d.ts +0 -27
  659. package/dist/charts/layout/log-ticks.d.ts.map +0 -1
  660. package/dist/charts/layout/log-ticks.js +0 -42
  661. package/dist/charts/primitives/AreaGradient.d.ts +0 -18
  662. package/dist/charts/primitives/AreaGradient.d.ts.map +0 -1
  663. package/dist/charts/primitives/AreaGradient.js +0 -13
  664. package/dist/charts/primitives/Axes.d.ts +0 -83
  665. package/dist/charts/primitives/Axes.d.ts.map +0 -1
  666. package/dist/charts/primitives/Axes.js +0 -168
  667. package/dist/charts/primitives/CartesianChart.d.ts +0 -257
  668. package/dist/charts/primitives/CartesianChart.d.ts.map +0 -1
  669. package/dist/charts/primitives/CartesianChart.js +0 -549
  670. package/dist/charts/primitives/ChartCard.d.ts +0 -66
  671. package/dist/charts/primitives/ChartCard.d.ts.map +0 -1
  672. package/dist/charts/primitives/ChartCard.js +0 -143
  673. package/dist/charts/primitives/ChartFrame.d.ts +0 -156
  674. package/dist/charts/primitives/ChartFrame.d.ts.map +0 -1
  675. package/dist/charts/primitives/ChartFrame.js +0 -241
  676. package/dist/charts/primitives/ChartLegend.d.ts +0 -67
  677. package/dist/charts/primitives/ChartLegend.d.ts.map +0 -1
  678. package/dist/charts/primitives/ChartLegend.js +0 -292
  679. package/dist/charts/primitives/ChartPending.d.ts +0 -113
  680. package/dist/charts/primitives/ChartPending.d.ts.map +0 -1
  681. package/dist/charts/primitives/ChartPending.js +0 -117
  682. package/dist/charts/primitives/ChartTooltip.d.ts +0 -59
  683. package/dist/charts/primitives/ChartTooltip.d.ts.map +0 -1
  684. package/dist/charts/primitives/ChartTooltip.js +0 -197
  685. package/dist/charts/primitives/Crosshair.d.ts +0 -26
  686. package/dist/charts/primitives/Crosshair.d.ts.map +0 -1
  687. package/dist/charts/primitives/Crosshair.js +0 -23
  688. package/dist/charts/primitives/HatchPattern.d.ts +0 -31
  689. package/dist/charts/primitives/HatchPattern.d.ts.map +0 -1
  690. package/dist/charts/primitives/HatchPattern.js +0 -31
  691. package/dist/charts/primitives/HoverOverlay.d.ts +0 -45
  692. package/dist/charts/primitives/HoverOverlay.d.ts.map +0 -1
  693. package/dist/charts/primitives/HoverOverlay.js +0 -72
  694. package/dist/charts/primitives/HoverOverlay.module.css +0 -13
  695. package/dist/charts/primitives/HoverOverlay.module.css.d.ts +0 -8
  696. package/dist/charts/primitives/XZoneRects.d.ts +0 -54
  697. package/dist/charts/primitives/XZoneRects.d.ts.map +0 -1
  698. package/dist/charts/primitives/XZoneRects.js +0 -65
  699. package/dist/charts/primitives/ZoneRects.d.ts +0 -38
  700. package/dist/charts/primitives/ZoneRects.d.ts.map +0 -1
  701. package/dist/charts/primitives/ZoneRects.js +0 -30
  702. package/dist/charts/primitives/chart-card-context.d.ts +0 -33
  703. package/dist/charts/primitives/chart-card-context.d.ts.map +0 -1
  704. package/dist/charts/primitives/chart-card-context.js +0 -18
  705. package/dist/charts/primitives/chart-frame-layout.d.ts +0 -185
  706. package/dist/charts/primitives/chart-frame-layout.d.ts.map +0 -1
  707. package/dist/charts/primitives/chart-frame-layout.js +0 -175
  708. package/dist/charts/primitives/chart-layout.d.ts +0 -112
  709. package/dist/charts/primitives/chart-layout.d.ts.map +0 -1
  710. package/dist/charts/primitives/chart-layout.js +0 -175
  711. package/dist/charts/primitives/chart-tier.d.ts +0 -16
  712. package/dist/charts/primitives/chart-tier.d.ts.map +0 -1
  713. package/dist/charts/primitives/chart-tier.js +0 -44
  714. package/dist/charts/primitives/legend-disclosure.d.ts +0 -27
  715. package/dist/charts/primitives/legend-disclosure.d.ts.map +0 -1
  716. package/dist/charts/primitives/legend-disclosure.js +0 -153
  717. package/dist/charts/series.d.ts +0 -189
  718. package/dist/charts/series.d.ts.map +0 -1
  719. package/dist/charts/series.js +0 -84
  720. package/dist/charts/sparklines/BarSparkline.d.ts +0 -37
  721. package/dist/charts/sparklines/BarSparkline.d.ts.map +0 -1
  722. package/dist/charts/sparklines/BarSparkline.js +0 -53
  723. package/dist/charts/sparklines/LineSparkline.d.ts +0 -15
  724. package/dist/charts/sparklines/LineSparkline.d.ts.map +0 -1
  725. package/dist/charts/sparklines/LineSparkline.js +0 -51
  726. package/dist/charts/sparklines/index.d.ts +0 -3
  727. package/dist/charts/sparklines/index.d.ts.map +0 -1
  728. package/dist/charts/sparklines/index.js +0 -6
  729. package/dist/charts/utils/domain.d.ts +0 -35
  730. package/dist/charts/utils/domain.d.ts.map +0 -1
  731. package/dist/charts/utils/domain.js +0 -12
  732. package/dist/charts/utils/format.d.ts +0 -8
  733. package/dist/charts/utils/format.d.ts.map +0 -1
  734. package/dist/charts/utils/format.js +0 -20
  735. package/dist/charts/utils/measure-text.d.ts +0 -25
  736. package/dist/charts/utils/measure-text.d.ts.map +0 -1
  737. package/dist/charts/utils/measure-text.js +0 -64
  738. package/dist/charts/utils/ticks.d.ts +0 -103
  739. package/dist/charts/utils/ticks.d.ts.map +0 -1
  740. package/dist/charts/utils/ticks.js +0 -92
  741. package/dist/commands/overlays-mount.d.ts +0 -122
  742. package/dist/commands/overlays-mount.d.ts.map +0 -1
  743. package/dist/commands/overlays-mount.js +0 -125
  744. package/dist/commands/useCommandHotkeys.d.ts +0 -14
  745. package/dist/commands/useCommandHotkeys.d.ts.map +0 -1
  746. package/dist/commands/useCommandHotkeys.js +0 -45
  747. package/dist/content/article-actions.d.ts +0 -39
  748. package/dist/content/article-actions.d.ts.map +0 -1
  749. package/dist/content/article-actions.js +0 -28
  750. package/dist/content/article-card.d.ts +0 -58
  751. package/dist/content/article-card.d.ts.map +0 -1
  752. package/dist/content/article-card.js +0 -79
  753. package/dist/content/article-card.module.css +0 -111
  754. package/dist/content/mdx.d.ts +0 -20
  755. package/dist/content/mdx.d.ts.map +0 -1
  756. package/dist/content/mdx.js +0 -64
  757. package/dist/controls/compare-filter.d.ts +0 -42
  758. package/dist/controls/compare-filter.d.ts.map +0 -1
  759. package/dist/controls/compare-filter.js +0 -38
  760. package/dist/controls/slider-control.d.ts +0 -36
  761. package/dist/controls/slider-control.d.ts.map +0 -1
  762. package/dist/controls/slider-control.js +0 -64
  763. package/dist/dashboard/widget-grid.d.ts +0 -27
  764. package/dist/dashboard/widget-grid.d.ts.map +0 -1
  765. package/dist/dashboard/widget-grid.js +0 -40
  766. package/dist/dashboard/widget-grid.module.css +0 -69
  767. package/dist/data/data-table-state.d.ts.map +0 -1
  768. package/dist/data/data-table.d.ts.map +0 -1
  769. package/dist/data/query-branch.d.ts.map +0 -1
  770. package/dist/data/table.d.ts +0 -24
  771. package/dist/data/table.d.ts.map +0 -1
  772. package/dist/data/virtual-list.d.ts +0 -133
  773. package/dist/data/virtual-list.d.ts.map +0 -1
  774. package/dist/data/virtual-list.js +0 -157
  775. package/dist/data/virtual.d.ts +0 -21
  776. package/dist/data/virtual.d.ts.map +0 -1
  777. package/dist/data/virtual.js +0 -4
  778. package/dist/forms/FormErrorSummary.d.ts +0 -30
  779. package/dist/forms/FormErrorSummary.d.ts.map +0 -1
  780. package/dist/forms/FormErrorSummary.js +0 -30
  781. package/dist/forms/use-field-array.d.ts +0 -60
  782. package/dist/forms/use-field-array.d.ts.map +0 -1
  783. package/dist/forms/use-field-array.js +0 -20
  784. package/dist/forms/use-form-draft.d.ts +0 -76
  785. package/dist/forms/use-form-draft.d.ts.map +0 -1
  786. package/dist/forms/use-form-draft.js +0 -92
  787. package/dist/forms/use-form-submit.d.ts +0 -88
  788. package/dist/forms/use-form-submit.d.ts.map +0 -1
  789. package/dist/forms/use-form-submit.js +0 -63
  790. package/dist/notifications/bell.d.ts.map +0 -1
  791. package/dist/notifications/center.d.ts.map +0 -1
  792. package/dist/notifications/define-notifications.d.ts.map +0 -1
  793. package/dist/notifications/index.d.ts +0 -40
  794. package/dist/notifications/index.d.ts.map +0 -1
  795. package/dist/notifications/index.js +0 -54
  796. package/dist/notifications/mount-guard.d.ts +0 -8
  797. package/dist/notifications/mount-guard.d.ts.map +0 -1
  798. package/dist/notifications/mount-guard.js +0 -18
  799. package/dist/notifications/notify.d.ts +0 -149
  800. package/dist/notifications/notify.d.ts.map +0 -1
  801. package/dist/notifications/notify.js +0 -171
  802. package/dist/notifications/store.d.ts.map +0 -1
  803. package/dist/provider/connectivity-indicator.d.ts +0 -13
  804. package/dist/provider/connectivity-indicator.d.ts.map +0 -1
  805. package/dist/provider/connectivity-indicator.js +0 -205
  806. package/dist/provider/connectivity-provider.d.ts +0 -7
  807. package/dist/provider/connectivity-provider.d.ts.map +0 -1
  808. package/dist/provider/connectivity-provider.js +0 -128
  809. package/dist/provider/connectivity-types.d.ts +0 -36
  810. package/dist/provider/connectivity-types.d.ts.map +0 -1
  811. package/dist/provider/use-connectivity.d.ts +0 -3
  812. package/dist/provider/use-connectivity.d.ts.map +0 -1
  813. package/dist/provider/use-connectivity.js +0 -14
  814. package/dist/query-devtools.d.ts +0 -21
  815. package/dist/query-devtools.d.ts.map +0 -1
  816. package/dist/query-devtools.js +0 -13
  817. package/src/agent/adapter.ts +0 -945
  818. package/src/agent/use-agent-stream.ts +0 -154
  819. package/src/agent-chat/index.ts +0 -54
  820. package/src/agent-chat/thread-detail-panel.tsx +0 -201
  821. package/src/agent-chat/thread-workspace.tsx +0 -279
  822. package/src/charts/cursor/resolve.ts +0 -198
  823. package/src/charts/cursor/scope.tsx +0 -35
  824. package/src/charts/cursor/store.ts +0 -58
  825. package/src/charts/cursor/touch-pin.ts +0 -138
  826. package/src/charts/hooks/use-discrete-cursor.ts +0 -335
  827. package/src/charts/hooks/use-hysteresis.ts +0 -26
  828. package/src/charts/hooks/useBandPlot.ts +0 -383
  829. package/src/charts/hooks/useChartCursor.ts +0 -367
  830. package/src/charts/hooks/useChartSize.ts +0 -35
  831. package/src/charts/kinds/BandStrip.tsx +0 -449
  832. package/src/charts/kinds/Bars.tsx +0 -589
  833. package/src/charts/kinds/Donut.tsx +0 -368
  834. package/src/charts/kinds/DualPanel.tsx +0 -712
  835. package/src/charts/kinds/Heatmap.tsx +0 -396
  836. package/src/charts/kinds/MirroredBars.tsx +0 -469
  837. package/src/charts/kinds/MultiLine.tsx +0 -322
  838. package/src/charts/kinds/StackedArea.tsx +0 -267
  839. package/src/charts/kinds/ZonedLine.tsx +0 -301
  840. package/src/charts/kinds/band-chrome.tsx +0 -91
  841. package/src/charts/kinds/donut-layout.ts +0 -82
  842. package/src/charts/layout/auto-margin.ts +0 -242
  843. package/src/charts/layout/end-labels.ts +0 -135
  844. package/src/charts/layout/log-ticks.ts +0 -90
  845. package/src/charts/primitives/AreaGradient.tsx +0 -26
  846. package/src/charts/primitives/Axes.tsx +0 -271
  847. package/src/charts/primitives/CartesianChart.tsx +0 -1002
  848. package/src/charts/primitives/ChartCard.tsx +0 -280
  849. package/src/charts/primitives/ChartFrame.tsx +0 -493
  850. package/src/charts/primitives/ChartLegend.tsx +0 -422
  851. package/src/charts/primitives/ChartPending.tsx +0 -243
  852. package/src/charts/primitives/ChartTooltip.tsx +0 -265
  853. package/src/charts/primitives/Crosshair.tsx +0 -43
  854. package/src/charts/primitives/HatchPattern.tsx +0 -55
  855. package/src/charts/primitives/HoverOverlay.module.css +0 -13
  856. package/src/charts/primitives/HoverOverlay.module.css.d.ts +0 -8
  857. package/src/charts/primitives/HoverOverlay.tsx +0 -109
  858. package/src/charts/primitives/XZoneRects.tsx +0 -132
  859. package/src/charts/primitives/ZoneRects.tsx +0 -67
  860. package/src/charts/primitives/chart-card-context.ts +0 -46
  861. package/src/charts/primitives/chart-frame-layout.ts +0 -430
  862. package/src/charts/primitives/chart-layout.ts +0 -318
  863. package/src/charts/primitives/chart-tier.tsx +0 -76
  864. package/src/charts/primitives/legend-disclosure.tsx +0 -178
  865. package/src/charts/series.ts +0 -276
  866. package/src/charts/sparklines/BarSparkline.tsx +0 -94
  867. package/src/charts/sparklines/LineSparkline.tsx +0 -71
  868. package/src/charts/sparklines/index.ts +0 -2
  869. package/src/charts/theme.tsx +0 -53
  870. package/src/charts/utils/domain.ts +0 -41
  871. package/src/charts/utils/format.ts +0 -19
  872. package/src/charts/utils/measure-text.ts +0 -109
  873. package/src/charts/utils/ticks.ts +0 -239
  874. package/src/commands/overlays-mount.tsx +0 -333
  875. package/src/commands/useCommandHotkeys.ts +0 -114
  876. package/src/content/article-actions.ts +0 -72
  877. package/src/content/article-card.module.css +0 -111
  878. package/src/content/article-card.tsx +0 -174
  879. package/src/content/mdx.tsx +0 -127
  880. package/src/controls/compare-filter.tsx +0 -81
  881. package/src/controls/slider-control.tsx +0 -159
  882. package/src/dashboard/widget-grid.module.css +0 -69
  883. package/src/dashboard/widget-grid.tsx +0 -146
  884. package/src/data/table.ts +0 -39
  885. package/src/data/virtual-list.tsx +0 -356
  886. package/src/data/virtual.ts +0 -26
  887. package/src/forms/FormErrorSummary.tsx +0 -71
  888. package/src/forms/use-field-array.ts +0 -94
  889. package/src/forms/use-form-draft.ts +0 -262
  890. package/src/forms/use-form-submit.ts +0 -199
  891. package/src/notifications/index.ts +0 -88
  892. package/src/notifications/mount-guard.ts +0 -38
  893. package/src/notifications/notify.tsx +0 -379
  894. package/src/provider/connectivity-indicator.tsx +0 -267
  895. package/src/provider/connectivity-provider.tsx +0 -189
  896. package/src/provider/connectivity-types.ts +0 -42
  897. package/src/provider/use-connectivity.ts +0 -26
  898. package/src/query-devtools.tsx +0 -40
  899. /package/dist/{agent-chat → agent/chat}/message-affordances.js +0 -0
  900. /package/dist/{agent-chat → agent/chat}/relative-time.d.ts +0 -0
  901. /package/dist/{agent-chat → agent/chat}/relative-time.js +0 -0
  902. /package/dist/{agent-chat → agent/chat}/use-keyboard-inset.d.ts +0 -0
  903. /package/dist/{agent-chat → agent/chat}/virtualize.js +0 -0
  904. /package/dist/{notifications → commands/notifications}/bell.js +0 -0
  905. /package/dist/{notifications → commands/notifications}/define-notifications.js +0 -0
  906. /package/dist/{provider/connectivity-types.js → controls/uncontrolled.js} +0 -0
  907. /package/dist/{data → table}/data-table.module.css +0 -0
  908. /package/dist/{data → table}/data-table.module.css.d.ts +0 -0
  909. /package/dist/{data → table}/query-branch.d.ts +0 -0
  910. /package/dist/{data → table}/query-branch.js +0 -0
  911. /package/src/{agent-chat → agent/chat}/relative-time.ts +0 -0
  912. /package/src/{data → table}/data-table.module.css +0 -0
  913. /package/src/{data → table}/data-table.module.css.d.ts +0 -0
  914. /package/src/{data → table}/query-branch.ts +0 -0
@@ -1,14 +1,14 @@
1
1
  import type { CSSVariablesResolver, MantineThemeOverride } from '@mantine/core';
2
2
  import type { RadiusValues, SpaceValues } from '../tokens/palette.js';
3
3
  import type { DeriveConfig } from '../tokens/derive.js';
4
- import type { BasaltFontsConfig } from '../tokens/index.js';
4
+ import type { BasaltFontsConfig } from '../tokens/core.js';
5
5
  /**
6
- * The `fonts` option's resolved shape — defined in `basalt-ui/tokens` (`BasaltFontsConfig`,
7
- * paired with its pure builder `buildFontsCss` there); re-exported here since
6
+ * The `fonts` option's resolved shape — defined in `../tokens/core` (`BasaltFontsConfig`, paired
7
+ * with its pure builder `buildFontsCss` there, internal to the package); re-exported here since
8
8
  * `CreateBasaltThemeOptions.fonts` below is its primary production entry point. See
9
9
  * {@link CreateBasaltThemeOptions.fonts}.
10
10
  */
11
- export type { BasaltFontsConfig } from '../tokens/index.js';
11
+ export type { BasaltFontsConfig } from '../tokens/core.js';
12
12
  export { useBasaltSpacing } from './use-basalt-spacing.js';
13
13
  export { CTL_THEME, CtlSlot, type CtlSlotProps } from './ctl-theme.js';
14
14
  declare module '@mantine/core' {
@@ -22,6 +22,10 @@ declare module '@mantine/core' {
22
22
  /** The static, shipped-identity theme — `buildTheme` evaluated once at
23
23
  * `DEFAULT_DERIVE_CONFIG` (memoized by `buildPaletteData`), not per import. */
24
24
  export declare const baseTheme: MantineThemeOverride;
25
+ /** `radius` knob: an integer level, so an out-of-range value is a tsc error (V2-SPEC §3). */
26
+ export type BasaltRadiusLevel = -5 | -4 | -3 | -2 | -1 | 0 | 1 | 2 | 3 | 4 | 5;
27
+ /** `density` knob: an integer level, so an out-of-range value is a tsc error (V2-SPEC §3). */
28
+ export type BasaltDensityLevel = -3 | -2 | -1 | 0 | 1 | 2 | 3;
25
29
  /** The static, shipped-identity resolver — `buildCssVariablesResolver` evaluated once at
26
30
  * `DEFAULT_DERIVE_CONFIG`. Unchanged call signature (`cssVariablesResolver(theme)`), so it drops
27
31
  * straight into `<MantineProvider cssVariablesResolver={cssVariablesResolver}>` as before. */
@@ -76,7 +80,7 @@ export type CreateBasaltThemeOptions = {
76
80
  * @example
77
81
  * createBasaltTheme(undefined, { radius: 2 })
78
82
  */
79
- radius?: number;
83
+ radius?: BasaltRadiusLevel;
80
84
  /**
81
85
  * Retune spacing DENSITY from a single integer level in `[-3, 3]` (default `0` = the shipped
82
86
  * identity) — narrower than `radius`'s `[-5, 5]` on purpose (see `deriveSpacing`'s JSDoc,
@@ -98,22 +102,7 @@ export type CreateBasaltThemeOptions = {
98
102
  * @example
99
103
  * createBasaltTheme(undefined, { density: -2 })
100
104
  */
101
- density?: number;
102
- /**
103
- * Input sizing for the platform the app runs on. `'touch'` (default) keeps the shipped identity:
104
- * `md` inputs (42px) with the 16px font floor that stops iOS Safari's focus-zoom. `'desktop'` is
105
- * for an app that never runs in a mobile browser (a Tauri/Electron shell): the Input family
106
- * (`TextInput`, `NumberInput`, `PasswordInput`, `Select`, `Textarea`, `Input`) defaults to
107
- * Mantine's `sm` (36px, `--vx-text-sm` font) and the provider drops the 16px floor, so every
108
- * input Mantine ships — `MultiSelect`/`TagsInput`/pills included, they already default to `sm` —
109
- * renders at its own size. An explicit `size` prop still wins. Stashed on
110
- * `theme.other.basaltInputs` (only when non-default); `BasaltProvider` emits the floor override,
111
- * so `injectPalette={false}` also opts it out.
112
- *
113
- * @example
114
- * createBasaltTheme(undefined, { inputs: 'desktop' })
115
- */
116
- inputs?: 'touch' | 'desktop';
105
+ density?: BasaltDensityLevel;
117
106
  };
118
107
  /**
119
108
  * Build the Basalt theme, optionally merged with consumer overrides. Overrides win on conflict
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/theme/index.ts"],"names":[],"mappings":"AAiEA,OAAO,KAAK,EACV,oBAAoB,EAGpB,oBAAoB,EAErB,MAAM,eAAe,CAAA;AAStB,OAAO,KAAK,EAAe,YAAY,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAE/E,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAA;AAGpD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAA;AAQlD;;;;;GAKG;AACH,YAAY,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAA;AAIlD,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAA;AAMvD,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,aAAa,CAAA;AAgBnE,OAAO,QAAQ,eAAe,CAAC;IAC7B,UAAU,iBAAiB;QACzB,YAAY,CAAC,EAAE,YAAY,CAAA;QAC3B,WAAW,CAAC,EAAE,iBAAiB,CAAA;QAC/B,YAAY,CAAC,EAAE,YAAY,CAAA;QAC3B,aAAa,CAAC,EAAE,WAAW,CAAA;KAC5B;CACF;AAuiCD;+EAC+E;AAC/E,eAAO,MAAM,SAAS,EAAE,oBAAuD,CAAA;AAkU/E;;8FAE8F;AAC9F,eAAO,MAAM,oBAAoB,EAAE,oBACc,CAAA;AAEjD,kEAAkE;AAClE,MAAM,MAAM,wBAAwB,GAAG;IACrC;;;;;;;;;;;OAWG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC,YAAY,CAAC,CAAA;IAE9B;;;;;;;;;;;;;;;;OAgBG;IACH,KAAK,CAAC,EAAE,iBAAiB,CAAA;IAEzB;;;;;;;;;;;;;;;;OAgBG;IACH,MAAM,CAAC,EAAE,MAAM,CAAA;IAEf;;;;;;;;;;;;;;;;;;;;OAoBG;IACH,OAAO,CAAC,EAAE,MAAM,CAAA;IAEhB;;;;;;;;;;;;;OAaG;IACH,MAAM,CAAC,EAAE,OAAO,GAAG,SAAS,CAAA;CAC7B,CAAA;AA0BD;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,wBAAgB,iBAAiB,CAC/B,SAAS,CAAC,EAAE,IAAI,CAAC,oBAAoB,EAAE,aAAa,CAAC,EACrD,OAAO,CAAC,EAAE,wBAAwB,GACjC,oBAAoB,CAmCtB"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/theme/index.ts"],"names":[],"mappings":"AAiEA,OAAO,KAAK,EACV,oBAAoB,EAGpB,oBAAoB,EAErB,MAAM,eAAe,CAAA;AAStB,OAAO,KAAK,EAAe,YAAY,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAE/E,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAA;AAGpD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAA;AAQvD;;;;;GAKG;AACH,YAAY,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAA;AAIvD,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAA;AAMvD,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,aAAa,CAAA;AAenE,OAAO,QAAQ,eAAe,CAAC;IAC7B,UAAU,iBAAiB;QACzB,YAAY,CAAC,EAAE,YAAY,CAAA;QAC3B,WAAW,CAAC,EAAE,iBAAiB,CAAA;QAC/B,YAAY,CAAC,EAAE,YAAY,CAAA;QAC3B,aAAa,CAAC,EAAE,WAAW,CAAA;KAC5B;CACF;AAyiCD;+EAC+E;AAC/E,eAAO,MAAM,SAAS,EAAE,oBAAuD,CAAA;AA8O/E,6FAA6F;AAC7F,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;AAE9E,8FAA8F;AAC9F,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;AAsF7D;;8FAE8F;AAC9F,eAAO,MAAM,oBAAoB,EAAE,oBACc,CAAA;AAEjD,kEAAkE;AAClE,MAAM,MAAM,wBAAwB,GAAG;IACrC;;;;;;;;;;;OAWG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC,YAAY,CAAC,CAAA;IAE9B;;;;;;;;;;;;;;;;OAgBG;IACH,KAAK,CAAC,EAAE,iBAAiB,CAAA;IAEzB;;;;;;;;;;;;;;;;OAgBG;IACH,MAAM,CAAC,EAAE,iBAAiB,CAAA;IAE1B;;;;;;;;;;;;;;;;;;;;OAoBG;IACH,OAAO,CAAC,EAAE,kBAAkB,CAAA;CAC7B,CAAA;AAYD;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,wBAAgB,iBAAiB,CAC/B,SAAS,CAAC,EAAE,IAAI,CAAC,oBAAoB,EAAE,aAAa,CAAC,EACrD,OAAO,CAAC,EAAE,wBAAwB,GACjC,oBAAoB,CAiCtB"}
@@ -55,7 +55,7 @@ import {
55
55
  SPACE_FIXED
56
56
  } from "../tokens/palette.js";
57
57
  import { DEFAULT_DERIVE_CONFIG, isDefaultDeriveConfig, resolveDeriveConfig } from "../tokens/derive.js";
58
- import { pxRem, VX } from "../tokens/index.js";
58
+ import { pxRem, VX } from "../tokens/core.js";
59
59
  import { SIZE_CLASS_BREAKPOINTS } from "../tokens/size-classes.js";
60
60
  import controlsClasses from "./controls.module.css";
61
61
  import floatingClasses from "./floating.module.css";
@@ -181,6 +181,8 @@ function buildTheme(data, options = {}) {
181
181
  // Mantine's dark `--mantine-color-{c}-text`, which is hardcoded to shade 4 = `ACCENT.accent.dark`.
182
182
  primaryShade: 6,
183
183
  autoContrast: true,
184
+ // V2-SPEC § 5: Mantine's own transitions (modal, drawer, popover, menu) follow the OS setting.
185
+ respectReducedMotion: true,
184
186
  luminanceThreshold: 0.45,
185
187
  // Force the `light` variant to a faint, AA-legible tint in both schemes (see resolver above).
186
188
  variantColorResolver: basaltVariantColorResolver,
@@ -1056,17 +1058,6 @@ const cssVariablesResolver = buildCssVariablesResolver(DEFAULT_PALETTE_DATA);
1056
1058
  function hasFontsConfig(fonts) {
1057
1059
  return fonts !== void 0 && Object.values(fonts).some((value) => value !== void 0);
1058
1060
  }
1059
- const DESKTOP_INPUTS_THEME = {
1060
- components: {
1061
- Input: Input.extend({ defaultProps: { size: "sm" } }),
1062
- TextInput: TextInput.extend({ defaultProps: { size: "sm" } }),
1063
- NumberInput: NumberInput.extend({ defaultProps: { size: "sm" } }),
1064
- PasswordInput: PasswordInput.extend({ defaultProps: { size: "sm" } }),
1065
- Select: Select.extend({ defaultProps: { size: "sm" } }),
1066
- Textarea: Textarea.extend({ defaultProps: { size: "sm" } })
1067
- },
1068
- other: { basaltInputs: "desktop" }
1069
- };
1070
1061
  function createBasaltTheme(overrides, options) {
1071
1062
  const resolvedConfig = resolveDeriveConfig(options?.derive);
1072
1063
  const radiusLevel = options?.radius ?? 0;
@@ -1076,7 +1067,6 @@ function createBasaltTheme(overrides, options) {
1076
1067
  const spaceValues = deriveSpacing(densityLevel);
1077
1068
  const isDefaultDensity = densityLevel === 0;
1078
1069
  const isDefaultDerive = isDefaultDeriveConfig(resolvedConfig);
1079
- const desktopInputs = options?.inputs === "desktop";
1080
1070
  let theme;
1081
1071
  if (isDefaultDerive && isDefaultRadius && isDefaultDensity) {
1082
1072
  theme = baseTheme;
@@ -1097,7 +1087,6 @@ function createBasaltTheme(overrides, options) {
1097
1087
  if (hasFontsConfig(fontsConfig)) {
1098
1088
  theme = mergeThemeOverrides(theme, { other: { basaltFonts: fontsConfig } });
1099
1089
  }
1100
- if (desktopInputs) theme = mergeThemeOverrides(theme, DESKTOP_INPUTS_THEME);
1101
1090
  if (!overrides) return theme;
1102
1091
  return { ...mergeThemeOverrides(theme, overrides), breakpoints: SIZE_CLASS_BREAKPOINTS };
1103
1092
  }
@@ -1 +1 @@
1
- {"version":3,"file":"theme-toggle.d.ts","sourceRoot":"","sources":["../../src/theme/theme-toggle.tsx"],"names":[],"mappings":"AA0BA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAA;AAqFlD,MAAM,MAAM,gBAAgB,GAAG,WAAW,GAAG;IAC3C,qFAAqF;IACrF,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,+EAA+E;IAC/E,UAAU,CAAC,EAAE,MAAM,CAAA;CACpB,CAAA;AAOD,wBAAgB,WAAW,CAAC,EAC1B,SAAe,EACf,UAAgB,EAChB,SAAS,EACT,KAAK,GACN,GAAE,gBAAqB,+BA+DvB"}
1
+ {"version":3,"file":"theme-toggle.d.ts","sourceRoot":"","sources":["../../src/theme/theme-toggle.tsx"],"names":[],"mappings":"AAsBA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAA;AA8DlD,MAAM,MAAM,gBAAgB,GAAG,WAAW,GAAG;IAC3C,qFAAqF;IACrF,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,+EAA+E;IAC/E,UAAU,CAAC,EAAE,MAAM,CAAA;CACpB,CAAA;AAOD,wBAAgB,WAAW,CAAC,EAC1B,SAAe,EACf,UAAgB,EAChB,SAAS,EACT,KAAK,GACN,GAAE,gBAAqB,+BA8DvB"}
@@ -1,16 +1,13 @@
1
1
  import { jsx, jsxs } from "react/jsx-runtime";
2
2
  import {
3
3
  ActionIcon,
4
- Center,
5
4
  Popover,
6
5
  SegmentedControl,
7
6
  useComputedColorScheme,
8
7
  useMantineColorScheme
9
8
  } from "@mantine/core";
10
- import { useReducedMotion } from "@mantine/hooks";
11
- import { AnimatePresence, motion } from "motion/react";
12
9
  import { useRef, useState } from "react";
13
- import { MOTION_SPRING } from "../common/motion.js";
10
+ import classes from "./theme-toggle.module.css";
14
11
  const CYCLE = ["light", "dark", "auto"];
15
12
  const LABEL = {
16
13
  light: "Light",
@@ -53,33 +50,11 @@ function MoonGlyph() {
53
50
  }
54
51
  ) });
55
52
  }
56
- function SchemeGlyph({ dark, reduceMotion }) {
57
- if (reduceMotion) {
58
- return /* @__PURE__ */ jsx(Center, { component: "span", inline: true, children: dark ? /* @__PURE__ */ jsx(MoonGlyph, {}) : /* @__PURE__ */ jsx(SunGlyph, {}) });
59
- }
60
- return /* @__PURE__ */ jsx(AnimatePresence, { mode: "wait", initial: false, children: dark ? /* @__PURE__ */ jsx(
61
- motion.span,
62
- {
63
- style: { display: "inline-flex" },
64
- initial: { opacity: 0, scale: 0.6, rotate: 30 },
65
- animate: { opacity: 1, scale: 1, rotate: 0 },
66
- exit: { opacity: 0, scale: 0.6, rotate: -30 },
67
- transition: MOTION_SPRING,
68
- children: /* @__PURE__ */ jsx(MoonGlyph, {})
69
- },
70
- "moon"
71
- ) : /* @__PURE__ */ jsx(
72
- motion.span,
73
- {
74
- style: { display: "inline-flex" },
75
- initial: { opacity: 0, scale: 0.6, rotate: -30 },
76
- animate: { opacity: 1, scale: 1, rotate: 0 },
77
- exit: { opacity: 0, scale: 0.6, rotate: 30 },
78
- transition: MOTION_SPRING,
79
- children: /* @__PURE__ */ jsx(SunGlyph, {})
80
- },
81
- "sun"
82
- ) });
53
+ function SchemeGlyph({ dark }) {
54
+ return /* @__PURE__ */ jsxs("span", { className: classes.glyph, "data-dark": dark, children: [
55
+ /* @__PURE__ */ jsx("span", { className: classes.sun, children: /* @__PURE__ */ jsx(SunGlyph, {}) }),
56
+ /* @__PURE__ */ jsx("span", { className: classes.moon, children: /* @__PURE__ */ jsx(MoonGlyph, {}) })
57
+ ] });
83
58
  }
84
59
  function nextScheme(current) {
85
60
  return CYCLE[(CYCLE.indexOf(current) + 1) % CYCLE.length];
@@ -92,7 +67,6 @@ function ThemeToggle({
92
67
  } = {}) {
93
68
  const { colorScheme, setColorScheme } = useMantineColorScheme();
94
69
  const resolved = useComputedColorScheme("dark");
95
- const reduceMotion = useReducedMotion();
96
70
  const [opened, setOpened] = useState(false);
97
71
  const timer = useRef(void 0);
98
72
  const scheduleOpen = () => {
@@ -127,7 +101,7 @@ function ThemeToggle({
127
101
  onMouseLeave: scheduleClose,
128
102
  onFocus: scheduleOpen,
129
103
  onBlur: scheduleClose,
130
- children: /* @__PURE__ */ jsx(SchemeGlyph, { dark, reduceMotion })
104
+ children: /* @__PURE__ */ jsx(SchemeGlyph, { dark })
131
105
  }
132
106
  ) }),
133
107
  /* @__PURE__ */ jsx(
@@ -0,0 +1,30 @@
1
+ /*
2
+ * The sun/moon glyph: both icons stacked in one grid cell, the inactive one faded, shrunk and
3
+ * rotated away. A CSS transition, not `motion` (V2-SPEC § 5); reduced motion swaps instantly.
4
+ */
5
+ .glyph {
6
+ display: inline-grid;
7
+ place-items: center;
8
+ }
9
+
10
+ .sun,
11
+ .moon {
12
+ grid-area: 1 / 1;
13
+ display: inline-flex;
14
+ transition:
15
+ opacity 150ms ease,
16
+ transform 250ms cubic-bezier(0.4, 0, 0.2, 1);
17
+ }
18
+
19
+ .glyph[data-dark='true'] .sun,
20
+ .glyph[data-dark='false'] .moon {
21
+ opacity: 0;
22
+ transform: scale(0.6) rotate(30deg);
23
+ }
24
+
25
+ @media (prefers-reduced-motion: reduce) {
26
+ .sun,
27
+ .moon {
28
+ transition: none;
29
+ }
30
+ }
@@ -0,0 +1,10 @@
1
+ /**
2
+ * Typed CSS-module declaration (the S4 CSS-modules path). Named string props — not an index
3
+ * signature — so dot access stays verbatim under the package's strict flags.
4
+ */
5
+ declare const classes: {
6
+ readonly glyph: string
7
+ readonly sun: string
8
+ readonly moon: string
9
+ }
10
+ export default classes
@@ -1 +1 @@
1
- {"version":3,"file":"derive-controls.d.ts","sourceRoot":"","sources":["../../src/theme-lab/derive-controls.tsx"],"names":[],"mappings":"AA8DA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAiBtC,OAAO,EAAE,aAAa,EAAE,yBAAyB,EAAE,KAAK,oBAAoB,EAAE,MAAM,gBAAgB,CAAA;AAiDpG,MAAM,MAAM,mBAAmB,GAAG;IAChC,uFAAuF;IACvF,SAAS,CAAC,EAAE,SAAS,CAAA;CACtB,CAAA;AAED;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,EAAE,SAAS,EAAE,EAAE,mBAAmB,+BA0FhE"}
1
+ {"version":3,"file":"derive-controls.d.ts","sourceRoot":"","sources":["../../src/theme-lab/derive-controls.tsx"],"names":[],"mappings":"AA8DA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAiBtC,OAAO,EAAE,aAAa,EAAE,yBAAyB,EAAE,KAAK,oBAAoB,EAAE,MAAM,gBAAgB,CAAA;AAiDpG,MAAM,MAAM,mBAAmB,GAAG;IAChC,uFAAuF;IACvF,SAAS,CAAC,EAAE,SAAS,CAAA;CACtB,CAAA;AAED;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,EAAE,SAAS,EAAE,EAAE,mBAAmB,+BA4FhE"}
@@ -10,7 +10,7 @@ import {
10
10
  Text
11
11
  } from "@mantine/core";
12
12
  import { useEffect, useState } from "react";
13
- import { buildDensityCss, buildPaletteCss, buildRadiusCss } from "../tokens/index.js";
13
+ import { buildDensityCss, buildPaletteCss, buildRadiusCss } from "../tokens/core.js";
14
14
  import { buildPaletteData, deriveRadius, deriveSpacing } from "../tokens/palette.js";
15
15
  import {
16
16
  DEFAULT_STATE,
@@ -56,9 +56,11 @@ if (typeof document !== "undefined") {
56
56
  function DeriveControls({ resetIcon }) {
57
57
  const [state, setState] = useDeriveControlsState();
58
58
  const [accentDraft, setAccentDraft] = useState(state.accent);
59
- useEffect(() => {
59
+ const [draftSource, setDraftSource] = useState(state.accent);
60
+ if (draftSource !== state.accent) {
61
+ setDraftSource(state.accent);
60
62
  setAccentDraft(state.accent);
61
- }, [state.accent]);
63
+ }
62
64
  const handleAccentChange = (value) => {
63
65
  setAccentDraft(value);
64
66
  if (isAccentHex(value)) setState({ ...state, accent: value });
@@ -1 +1 @@
1
- {"version":3,"file":"derive-state.d.ts","sourceRoot":"","sources":["../../src/theme-lab/derive-state.ts"],"names":[],"mappings":"AAkBA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAA;AASpD,mGAAmG;AACnG,eAAO,MAAM,eAAe;;;GAK3B,CAAA;AAKD,uGAAuG;AACvG,eAAO,MAAM,WAAW,GAAI,OAAO,MAAM,KAAG,OAA6B,CAAA;AAEzE,mGAAmG;AACnG,MAAM,MAAM,oBAAoB,GAAG,YAAY,GAAG;IAChD,OAAO,EAAE,OAAO,CAAA;IAChB,MAAM,EAAE,MAAM,CAAA;IACd,OAAO,EAAE,MAAM,CAAA;CAChB,CAAA;AAED,eAAO,MAAM,aAAa,EAAE,oBAK3B,CAAA;AAWD;;;;;;;GAOG;AACH,wBAAgB,yBAAyB,CAAC,KAAK,EAAE,OAAO,GAAG,oBAAoB,GAAG,IAAI,CA2BrF;AAED;;;;GAIG;AACH,eAAO,MAAM,sBAAsB,6EAgBjC,CAAA;AAEF;;;;GAIG;AACH,MAAM,MAAM,cAAc,GAAG;IAAE,MAAM,EAAE,YAAY,CAAC;IAAC,WAAW,EAAE,MAAM,CAAC;IAAC,YAAY,EAAE,MAAM,CAAA;CAAE,CAAA;AAEhG;;;;;;;GAOG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,oBAAoB,GAAG,cAAc,GAAG,IAAI,CAcnF;AAED;;;GAGG;AACH,wBAAgB,yBAAyB,IAAI,cAAc,GAAG,IAAI,CAGjE"}
1
+ {"version":3,"file":"derive-state.d.ts","sourceRoot":"","sources":["../../src/theme-lab/derive-state.ts"],"names":[],"mappings":"AAmBA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAA;AASpD,mGAAmG;AACnG,eAAO,MAAM,eAAe;;;GAK3B,CAAA;AAKD,uGAAuG;AACvG,eAAO,MAAM,WAAW,GAAI,OAAO,MAAM,KAAG,OAA6B,CAAA;AAEzE,mGAAmG;AACnG,MAAM,MAAM,oBAAoB,GAAG,YAAY,GAAG;IAChD,OAAO,EAAE,OAAO,CAAA;IAChB,MAAM,EAAE,MAAM,CAAA;IACd,OAAO,EAAE,MAAM,CAAA;CAChB,CAAA;AAED,eAAO,MAAM,aAAa,EAAE,oBAK3B,CAAA;AAWD;;;;;;;GAOG;AACH,wBAAgB,yBAAyB,CAAC,KAAK,EAAE,OAAO,GAAG,oBAAoB,GAAG,IAAI,CA2BrF;AAED;;;;GAIG;AACH,eAAO,MAAM,sBAAsB,6EAgBjC,CAAA;AAEF;;;;GAIG;AACH,MAAM,MAAM,cAAc,GAAG;IAAE,MAAM,EAAE,YAAY,CAAC;IAAC,WAAW,EAAE,MAAM,CAAC;IAAC,YAAY,EAAE,MAAM,CAAA;CAAE,CAAA;AAEhG;;;;;;;GAOG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,oBAAoB,GAAG,cAAc,GAAG,IAAI,CAcnF;AAED;;;GAGG;AACH,wBAAgB,yBAAyB,IAAI,cAAc,GAAG,IAAI,CAGjE"}
@@ -1,4 +1,5 @@
1
- import { createPersistedState, readPersistedValue } from "../state.js";
1
+ import { createPersistedState } from "../state.js";
2
+ import { readPersistedValue } from "../state/persisted.js";
2
3
  import { DEFAULT_DERIVE_CONFIG, resolveDeriveConfig } from "../tokens/derive.js";
3
4
  const STORAGE_KEY = "theme-lab-derive";
4
5
  const STORAGE_VERSION = 4;
@@ -0,0 +1,360 @@
1
+ /**
2
+ * Mantine-free token + palette layer.
3
+ *
4
+ * This module is PURE DATA + string helpers — ZERO `@mantine/*` imports (lint-enforced).
5
+ * Colors are CSS custom properties under the `--vx-*` prefix (do NOT rename the prefix).
6
+ * They resolve per color scheme in CSS, so `VX.*` works in components AND in non-component
7
+ * files. Apply opacity via `alpha(token, a)` (never raw `rgba()`) so the hue keeps resolving.
8
+ *
9
+ * Grounded in argo `packages/charts/src/{tokens,palette,theme-vars,utils/color}.ts`.
10
+ */
11
+ import type { PaletteData, RadiusValues, SpaceValues } from './palette.js';
12
+ export { BP, p } from './palette.js';
13
+ export { DEFAULT_DERIVE_CONFIG, deriveTokens, resolveDeriveConfig } from './derive.js';
14
+ export type { DeriveConfig, DerivedPalette } from './derive.js';
15
+ export { deriveRadius } from './palette.js';
16
+ export type { RadiusValues } from './palette.js';
17
+ export { deriveSpacing } from './palette.js';
18
+ export type { SpaceValues } from './palette.js';
19
+ export { CONTAINER_CLASSES, CONTAINER_GRID_BREAKPOINTS, CONTAINER_KEYS, resolveContainerClass, SIZE_CLASSES, } from './size-classes.js';
20
+ export type { ContainerClass } from './size-classes.js';
21
+ /** A per-theme color pair: a hue keeps its identity but shifts shade across schemes. */
22
+ export type ColorPair = {
23
+ light: string;
24
+ dark: string;
25
+ };
26
+ /** A map of token name → per-theme color pair (the input shape for series/group builders). */
27
+ export type SeriesMap = Record<string, ColorPair>;
28
+ /**
29
+ * Apply opacity to any palette token, theme-aware. Use instead of raw `rgba()` so the
30
+ * underlying hue still resolves per color scheme.
31
+ *
32
+ * alpha(VX.neutral, 0.5) // muted hairline
33
+ * alpha(VX.status.warn, 0.1) // zone-band fill
34
+ */
35
+ export declare const alpha: (token: string, a: number) => string;
36
+ export declare const VX: {
37
+ readonly lineWidth: 2.5;
38
+ readonly line2Width: 2;
39
+ readonly axisFont: 11;
40
+ readonly dotR: number;
41
+ readonly dashArray: "6 4";
42
+ readonly legendGap: number;
43
+ readonly legendFontSize: 13.5;
44
+ readonly text: {
45
+ readonly nano: 10;
46
+ readonly micro: 11;
47
+ readonly xs: 12.5;
48
+ readonly sm: 13.5;
49
+ readonly md: 15;
50
+ readonly lg: 16;
51
+ readonly xl: 18;
52
+ readonly h2: 21;
53
+ readonly kpi: 24;
54
+ readonly h1: 26;
55
+ readonly display: 30;
56
+ };
57
+ readonly radiusCard: "var(--vx-radius-card)";
58
+ readonly radiusCtrl: "var(--vx-radius-ctrl)";
59
+ readonly radiusPill: "var(--vx-radius-pill)";
60
+ readonly hit: "var(--vx-hit)";
61
+ readonly space: {
62
+ readonly controlHeightTag: "var(--vx-space-control-height-tag)";
63
+ readonly controlHeightWidget: "var(--vx-space-control-height-widget)";
64
+ readonly controlHeightCtl: "var(--vx-space-control-height-ctl)";
65
+ readonly pageBarRowHeight: "var(--vx-space-page-bar-row-height)";
66
+ readonly sectionHeaderHeight: "var(--vx-space-section-header-height)";
67
+ readonly widgetHeaderHeight: "var(--vx-space-widget-header-height)";
68
+ readonly sidebarBlockRowHeight: "var(--vx-space-sidebar-block-row-height)";
69
+ readonly controlGap: "var(--vx-space-control-gap)";
70
+ readonly sheetRowHeight: "var(--vx-space-sheet-row-height)";
71
+ };
72
+ readonly line2Dark: "var(--vx-line2)";
73
+ readonly good: "var(--vx-good)";
74
+ readonly goodSoft: "var(--vx-good-soft)";
75
+ readonly bad: "var(--vx-bad)";
76
+ readonly warn: "var(--vx-warn)";
77
+ readonly goodSolid: "var(--vx-good-solid)";
78
+ readonly badSolid: "var(--vx-bad-solid)";
79
+ readonly warnSolid: "var(--vx-warn-solid)";
80
+ readonly goodRef: "var(--vx-good-ref)";
81
+ readonly badRef: "var(--vx-bad-ref)";
82
+ readonly warnRef: "var(--vx-warn-ref)";
83
+ readonly line: "var(--vx-line)";
84
+ readonly line2: "var(--vx-line2)";
85
+ readonly axis: "var(--vx-axis)";
86
+ readonly axisStroke: "var(--vx-axis-stroke)";
87
+ readonly grid: "var(--vx-grid)";
88
+ readonly crosshair: "var(--vx-crosshair)";
89
+ readonly dotStroke: "var(--vx-dot-stroke)";
90
+ readonly legendText: "var(--vx-legend-text)";
91
+ readonly tooltipMuted: "var(--vx-tooltip-muted)";
92
+ readonly neutral: "var(--vx-neutral)";
93
+ readonly ink: "var(--vx-ink)";
94
+ readonly ink2: "var(--vx-ink2)";
95
+ readonly muted: "var(--vx-muted)";
96
+ readonly faint: "var(--vx-faint)";
97
+ readonly accent: "var(--vx-accent)";
98
+ readonly accentHover: "var(--vx-accent-hover)";
99
+ readonly accentFill: "var(--vx-accent-fill)";
100
+ readonly accentFillHover: "var(--vx-accent-fill-hover)";
101
+ readonly onAccent: "var(--vx-on-accent)";
102
+ readonly divider: "var(--vx-divider)";
103
+ readonly shadowCard: "var(--vx-shadow-card)";
104
+ readonly shadowCtrl: "var(--vx-shadow-ctrl)";
105
+ readonly shadowRaised: "var(--vx-shadow-raised)";
106
+ readonly shadowOverlay: "var(--vx-shadow-overlay)";
107
+ readonly surface: {
108
+ readonly bg: "var(--vx-surface-bg)";
109
+ readonly panel: "var(--vx-surface-panel)";
110
+ readonly panelHover: "var(--vx-surface-panel-hover)";
111
+ readonly elevated: "var(--vx-surface-elevated)";
112
+ readonly subtle: "var(--vx-surface-subtle)";
113
+ readonly overlay: "var(--vx-surface-overlay)";
114
+ readonly field: "var(--vx-surface-field)";
115
+ readonly border: "var(--vx-surface-border)";
116
+ readonly hairline: "var(--vx-surface-hairline)";
117
+ };
118
+ readonly status: {
119
+ readonly excellent: "var(--vx-status-excellent)";
120
+ readonly good: "var(--vx-status-good)";
121
+ readonly warn: "var(--vx-status-warn)";
122
+ readonly bad: "var(--vx-status-bad)";
123
+ readonly neutral: "var(--vx-status-neutral)";
124
+ };
125
+ readonly margin: {
126
+ readonly top: number;
127
+ readonly right: number;
128
+ readonly bottom: number;
129
+ readonly left: number;
130
+ };
131
+ readonly minPxPerTick: 55;
132
+ /**
133
+ * Floor on a chart's plot rect height, in px (the 1.x chart frame). A legend wrapping to five rows at
134
+ * phone width used to eat a fixed `height={240}` toward zero and the plot simply stopped
135
+ * rendering — the plot never shrinks past this, the frame grows instead (or, under `fill`, the
136
+ * legend rolls up).
137
+ */
138
+ readonly minPlotHeight: 120;
139
+ /** Every floating chart overlay portalled to `document.body` — a pinned tooltip, the legend's
140
+ * `All N` disclosure and its backdrop — shares one stacking value, so they always stack the same
141
+ * way relative to page chrome and to each other. */
142
+ readonly zIndexFloating: 9999;
143
+ };
144
+ /**
145
+ * Layout breakpoints, in px, for the places CSS cannot read a custom property.
146
+ *
147
+ * A `@media` query's condition is resolved before custom properties exist, so
148
+ * `@media (max-width: var(--x))` is invalid CSS — a stylesheet with a responsive rule has no
149
+ * choice but to write the number. This constant is the other half of that literal: the CSS states
150
+ * the number and names the token beside it, and a test asserts the two agree
151
+ * (`content/article-layout.breakpoint.test.ts`, the same "literal must match the token" idiom as
152
+ * `styles.floor.test.ts`).
153
+ *
154
+ * Only breakpoints that are genuinely a CSS-authored `@media` belong here. A component that can
155
+ * measure its own box uses the measurement instead (`CONTAINER_CLASSES`), and Mantine chrome uses
156
+ * `theme.breakpoints`.
157
+ */
158
+ export declare const BREAKPOINTS: {
159
+ /**
160
+ * `content/article-layout.module.css` — below this the TOC rail is dropped and the article
161
+ * collapses to a single centred column. Well above the `sm` (52.5em/840px) shell breakpoint on
162
+ * purpose: the rail needs the prose measure PLUS its own width plus the column gap, which runs
163
+ * out long before the shell goes mobile.
164
+ */
165
+ readonly article: 1200;
166
+ };
167
+ /**
168
+ * A px number expressed as the plain rem STRING literal (16px base: `pxRem(6)` → `'0.375rem'`) —
169
+ * NOT Mantine's own `rem()` helper, which instead emits a `calc(...)` expression bound to
170
+ * `--mantine-scale` (a different value; that scaling happens at the Mantine-coupled call site
171
+ * instead — see `theme/index.ts`'s `Input.extend` `vars` for why `--vx-space-input-height` needs
172
+ * both halves). The SINGLE source for this conversion — `theme/index.ts` imports this instead of
173
+ * keeping its own copy, so the radius/spacing size-scale steps and this module's own rem-emitting
174
+ * vars (`--vx-space-input-height`) can never compute the conversion two different ways.
175
+ */
176
+ export declare function pxRem(px: number): string;
177
+ /**
178
+ * Wrap a map of `{ name: ColorPair }` into `var(--vx-<prefix><name>)` token refs — the runtime
179
+ * companion to `buildPaletteCss`. Lets a consumer define its own series and read stable refs.
180
+ *
181
+ * Returns an exact-keyed object: the return type mirrors the keys of the input map, so a renamed
182
+ * or removed key becomes a tsc error rather than silently widening to `Record<string, string>`.
183
+ */
184
+ export declare function seriesTokens<const T extends SeriesMap>(map: T, prefix?: string): {
185
+ [K in keyof T]: string;
186
+ };
187
+ /**
188
+ * Define a named series map. Identity passthrough — gives consumers a typed authoring entry
189
+ * point and preserves the exact literal keys of the input (const-generic so callers get back T,
190
+ * not the widened SeriesMap, enabling downstream exact-key checks in groupTokens / seriesTokens).
191
+ */
192
+ export declare function defineSeries<const T extends SeriesMap>(map: T): T;
193
+ /** Runtime key of the {@link SeriesGroup} brand. */
194
+ declare const SERIES_GROUP: unique symbol;
195
+ /**
196
+ * The brand `groupTokens` puts on its return value. `BuildPaletteOpts.groups` takes these, so the
197
+ * `${name}-` key that emits the variables and the one that references them come from one call and
198
+ * cannot be spelled two ways.
199
+ */
200
+ export type SeriesGroup = {
201
+ readonly [SERIES_GROUP]: {
202
+ readonly prefix: string;
203
+ readonly map: SeriesMap;
204
+ };
205
+ };
206
+ /**
207
+ * Build a single namespaced group's token refs (`var(--vx-<name>-<key>)`).
208
+ *
209
+ * Returns an exact-keyed object matching the keys of `map` — a stale or renamed key is a tsc
210
+ * error at the call site rather than a silent `Record<string, string>` widening.
211
+ */
212
+ export declare function groupTokens<const T extends SeriesMap>(name: string, map: T): {
213
+ [K in keyof T]: string;
214
+ } & SeriesGroup;
215
+ /**
216
+ * The attribute + values the per-scheme blocks key off. Defaults reproduce Mantine's own toggle
217
+ * (`data-mantine-color-scheme` = `dark` / `light`), so a consumer only names the axis it differs
218
+ * on. Supplying this object at all switches the emitter onto the framework-neutral selector shape
219
+ * — see {@link BuildPaletteOpts.scheme}.
220
+ */
221
+ export type ColorSchemeSelector = {
222
+ attribute?: string;
223
+ darkValue?: string;
224
+ lightValue?: string;
225
+ };
226
+ /** Options for {@link buildPaletteCss}. */
227
+ export type BuildPaletteOpts = {
228
+ /** Extra named series maps to emit under the given prefixes (each one is the return value of `groupTokens`). */
229
+ groups?: readonly SeriesGroup[];
230
+ /** Theme-independent derived declarations (gradients, semantic fills) emitted once on `:root`. */
231
+ derived?: string[];
232
+ /**
233
+ * Attribute + values the per-scheme blocks key off — for a consumer whose scheme toggle is not
234
+ * Mantine's (a static site on `data-theme`, say). Default: Mantine's own
235
+ * `data-mantine-color-scheme` = `dark` / `light`.
236
+ *
237
+ * Setting ANY of `scheme` / `defaultScheme` / `mediaFallback` moves the emitter off the legacy
238
+ * `html[…]` selector onto `:root[…]`. That is deliberate and load-bearing, NOT cosmetic:
239
+ *
240
+ * `:root[data-theme='dark']` 0-2-0 ← what this path emits
241
+ * `html[data-theme='dark']` 0-1-1
242
+ * `[data-theme='dark']` 0-1-0 ← same as a bare `:root`, so source order decides
243
+ *
244
+ * A light-default site whose own `:root` block happens to come last would beat the third form
245
+ * outright — dark mode silently does nothing. `:root[…]` sits above both a bare `:root` and
246
+ * `html[…]`, and carries no assumption about the element the attribute lands on.
247
+ *
248
+ * The no-options path keeps emitting `html[data-mantine-color-scheme='…']` verbatim, because a
249
+ * basalt consumer may already override `--vx-*` under that exact selector — raising basalt's own
250
+ * specificity would silently win over their override.
251
+ */
252
+ scheme?: ColorSchemeSelector;
253
+ /**
254
+ * Which scheme rides along on the bare `:root` block — the one that applies when the attribute
255
+ * is absent. Default: `'dark'` (the framework's own default scheme).
256
+ *
257
+ * `'none'` emits no bare-`:root` primitives at all: each scheme gets only its attribute block,
258
+ * and an unattributed document falls back to the theme-independent scalars alone. Pair it with
259
+ * `mediaFallback` unless the consumer always sets the attribute.
260
+ */
261
+ defaultScheme?: 'dark' | 'light' | 'none';
262
+ /**
263
+ * Also emit an `@media (prefers-color-scheme: …)` block for every scheme that is not the bare
264
+ * `:root` default, so a document with no attribute set follows the OS. Default: `false`.
265
+ *
266
+ * The block is a bare `:root` (0-1-0), so an explicit attribute block (0-2-0) always wins over
267
+ * it regardless of source order — the OS preference is a fallback, never an override.
268
+ */
269
+ mediaFallback?: boolean;
270
+ /**
271
+ * How much of the SPACING set to emit. Default: `'all'` (every one of the 108 `--vx-space-*`
272
+ * declarations the framework's own components read).
273
+ *
274
+ * `'core'` keeps the 9 generic anchors — the stack rhythm, the two control heights, the row
275
+ * insets — and drops the 99 named for a specific basalt component
276
+ * (`--vx-space-agent-transcript-inset`, `--vx-space-toc-sub-indent`, …), taking the emitted set
277
+ * from 204 variables to 105. Nothing outside basalt's own React components reads those, so a
278
+ * framework-free consumer is carrying them for nothing.
279
+ *
280
+ * This is a SPACING filter only: color, radius, shadow, type and status variables are identical
281
+ * in both modes. The partition is derived from the `SPACE` key set rather than a maintained list
282
+ * — see {@link CORE_SPACE_VARS}.
283
+ */
284
+ only?: 'core' | 'all';
285
+ /**
286
+ * Whether to also emit the 32 deprecated camelCase aliases (`--vx-accentFill`, `--vx-tooltipBg`,
287
+ * `--vx-fillHover-gray`, …) alongside the canonical kebab-case names the 1.4.0 normalization
288
+ * introduced. Default: `true`, so an existing consumer's hand-written CSS referencing a
289
+ * camelCase name keeps resolving. Each alias is defined as `var(--vx-<canonical>)` — it can
290
+ * never drift from the value it aliases. Pass `false` once every reference in your own code has
291
+ * migrated to the kebab names to drop the extra 32 lines.
292
+ */
293
+ legacyAliases?: boolean;
294
+ };
295
+ /**
296
+ * Emit the `--vx-*` stylesheet: a `:root` block of theme-independent scalars, then the
297
+ * dark (default) and light primitive blocks under `html[data-mantine-color-scheme='…']`.
298
+ *
299
+ * The framework chrome (STATUS/SEMANTIC/SURFACE pairs + the framework DERIVED defaults) is
300
+ * built in, so an empty `buildPaletteCss()` already emits every framework var. Consumer
301
+ * `opts.groups` / `opts.derived` append on top (e.g. argo's domain SERIES/ACTIVITY/USAGE).
302
+ *
303
+ * `data` defaults to the static, shipped palette (`buildPaletteData()` at `DEFAULT_DERIVE_CONFIG`)
304
+ * — pass the result of `buildPaletteData(config)` to emit CSS for a retuned derive config instead
305
+ * (this is how `BasaltProvider` follows `createBasaltTheme`'s `{ derive }` option; see `../theme`
306
+ * and `../provider`).
307
+ *
308
+ * Dark is the default (`:root`) since the framework defaults to dark; the
309
+ * `[data-mantine-color-scheme]` selectors track Mantine's toggle on `<html>`.
310
+ *
311
+ * A non-Mantine consumer retargets all three of those choices — the attribute, which scheme rides
312
+ * the bare `:root`, and whether the OS preference is honoured — via `opts.scheme` /
313
+ * `opts.defaultScheme` / `opts.mediaFallback`. Setting any of them also moves the per-scheme
314
+ * selector from `html[…]` to the framework-neutral, higher-specificity `:root[…]`; see
315
+ * `BuildPaletteOpts.scheme` for why that is not cosmetic. With none of them set the output is
316
+ * byte-identical to what the framework has always emitted (pinned by
317
+ * `tests/palette-css.test.ts`).
318
+ */
319
+ export declare function buildPaletteCss(opts?: BuildPaletteOpts, data?: PaletteData): string;
320
+ /**
321
+ * The `fonts` option's resolved shape — a full CSS font-family stack string per slot (with its own
322
+ * fallback chain), riding the `--basalt-font-sans/head/mono` override seam `styles.css` ships
323
+ * fallbacks for. Omitted keys keep the shipped fallback untouched. Lives here (not in `../theme`,
324
+ * which only re-exports the type) because its builder `buildFontsCss` below is a pure, Mantine-free
325
+ * string builder that belongs in the tokens layer — see `../theme`'s
326
+ * `CreateBasaltThemeOptions.fonts` for the production entry point that sets it.
327
+ */
328
+ export type BasaltFontsConfig = {
329
+ sans?: string;
330
+ head?: string;
331
+ mono?: string;
332
+ };
333
+ /**
334
+ * Build the `:root` block of `--basalt-font-*` declarations for a resolved `basaltFonts` config —
335
+ * only for the keys the consumer actually set (`createBasaltTheme(overrides, { fonts })`); an
336
+ * omitted key keeps the shipped `styles.css` fallback chain untouched. Empty string when `fonts` is
337
+ * absent or every key is omitted, so callers can unconditionally concatenate the result. Internal
338
+ * (not on the `basalt-ui/tokens` barrel) — `BasaltProvider`'s bridge (`../provider`) calls this
339
+ * directly to append declarations to its injected `<style>`.
340
+ */
341
+ export declare function buildFontsCss(fonts: BasaltFontsConfig | undefined): string;
342
+ /**
343
+ * Build the `:root` block of overriding `--vx-radius-*` declarations for a resolved
344
+ * `basaltRadius` value (`createBasaltTheme(overrides, { radius })`) — analog of {@link buildFontsCss}.
345
+ * Empty string when `radius` is absent (the default level-0 path never sets `theme.other.basaltRadius`
346
+ * in the first place), so callers can unconditionally concatenate the result. Internal, like
347
+ * `buildFontsCss` above.
348
+ */
349
+ export declare function buildRadiusCss(radius: RadiusValues | undefined): string;
350
+ /**
351
+ * Build the `:root` block of overriding `--vx-space-*` declarations for a resolved `basaltDensity`
352
+ * value (`createBasaltTheme(overrides, { density })`) — analog of {@link buildRadiusCss}, reusing
353
+ * the SAME `spaceDecls` list `frameworkDerived` emits the shipped defaults from (so the two can
354
+ * never drift). Empty string when `space` is absent (the default level-0 path never sets
355
+ * `theme.other.basaltDensity` in the first place), so callers can unconditionally concatenate the
356
+ * result. Importable from `basalt-ui/tokens`, same SSR/custom-injection use as `buildRadiusCss`
357
+ * above.
358
+ */
359
+ export declare function buildDensityCss(space: SpaceValues | undefined): string;
360
+ //# sourceMappingURL=core.d.ts.map