basalt-ui 1.40.3 → 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 (923) hide show
  1. package/AGENTS.md +50 -45
  2. package/CHANGELOG.md +543 -513
  3. package/MIGRATING.md +969 -37
  4. package/README.md +172 -367
  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 +30 -0
  15. package/agent/templates/DESIGN.md.tpl +2 -2
  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/check.yml +1 -1
  20. package/configs/oxlint-basalt.json +4 -10
  21. package/configs/oxlint-plugin.js +468 -847
  22. package/configs/oxlint-plugin.test.ts +662 -710
  23. package/configs/oxlint.json +10 -2
  24. package/dist/agent/ai-sdk-transport.d.ts +19 -7
  25. package/dist/agent/ai-sdk-transport.d.ts.map +1 -1
  26. package/dist/agent/ai-sdk-transport.js +10 -7
  27. package/dist/{agent-chat → agent/chat}/composer.d.ts +16 -16
  28. package/dist/agent/chat/composer.d.ts.map +1 -0
  29. package/dist/{agent-chat → agent/chat}/composer.js +10 -9
  30. package/dist/{agent-chat → agent/chat}/message-affordances.d.ts +7 -6
  31. package/dist/agent/chat/message-affordances.d.ts.map +1 -0
  32. package/dist/agent/chat/relative-time.d.ts.map +1 -0
  33. package/dist/{agent-chat → agent/chat}/thread-feed-row.d.ts +18 -16
  34. package/dist/agent/chat/thread-feed-row.d.ts.map +1 -0
  35. package/dist/{agent-chat → agent/chat}/thread-feed-row.js +12 -11
  36. package/dist/{agent-chat → agent/chat}/thread-feed.d.ts +8 -8
  37. package/dist/agent/chat/thread-feed.d.ts.map +1 -0
  38. package/dist/{agent-chat → agent/chat}/thread-feed.js +12 -10
  39. package/dist/{agent-chat → agent/chat}/thread-message.d.ts +12 -9
  40. package/dist/agent/chat/thread-message.d.ts.map +1 -0
  41. package/dist/{agent-chat → agent/chat}/thread-message.js +15 -13
  42. package/dist/{agent-chat → agent/chat}/thread-outcome-card.d.ts +2 -2
  43. package/dist/agent/chat/thread-outcome-card.d.ts.map +1 -0
  44. package/dist/{agent-chat → agent/chat}/thread-outcome-card.js +3 -3
  45. package/dist/{agent-chat → agent/chat}/tool-chip.d.ts +5 -5
  46. package/dist/agent/chat/tool-chip.d.ts.map +1 -0
  47. package/dist/{agent-chat → agent/chat}/tool-chip.js +4 -4
  48. package/dist/agent/chat/use-keyboard-inset.d.ts.map +1 -0
  49. package/dist/{agent-chat → agent/chat}/use-keyboard-inset.js +1 -1
  50. package/dist/{agent-chat → agent/chat}/virtualize.d.ts +7 -7
  51. package/dist/agent/chat/virtualize.d.ts.map +1 -0
  52. package/dist/agent/error.d.ts +31 -0
  53. package/dist/agent/error.d.ts.map +1 -0
  54. package/dist/agent/error.js +18 -0
  55. package/dist/agent/foreign.d.ts +3 -2
  56. package/dist/agent/foreign.d.ts.map +1 -1
  57. package/dist/agent/history.d.ts +2 -36
  58. package/dist/agent/history.d.ts.map +1 -1
  59. package/dist/agent/history.js +0 -32
  60. package/dist/agent/id.d.ts +4 -5
  61. package/dist/agent/id.d.ts.map +1 -1
  62. package/dist/agent/index.d.ts +19 -52
  63. package/dist/agent/index.d.ts.map +1 -1
  64. package/dist/agent/index.js +10 -32
  65. package/dist/agent/outcome.d.ts +3 -14
  66. package/dist/agent/outcome.d.ts.map +1 -1
  67. package/dist/agent/outcome.js +0 -30
  68. package/dist/agent/part-list.d.ts +3 -3
  69. package/dist/agent/part-list.d.ts.map +1 -1
  70. package/dist/agent/parts.d.ts +23 -24
  71. package/dist/agent/parts.d.ts.map +1 -1
  72. package/dist/agent/run-committer.d.ts +23 -0
  73. package/dist/agent/run-committer.d.ts.map +1 -0
  74. package/dist/agent/run-committer.js +41 -0
  75. package/dist/agent/run-records.d.ts +77 -0
  76. package/dist/agent/run-records.d.ts.map +1 -0
  77. package/dist/agent/run-records.js +69 -0
  78. package/dist/agent/thread.d.ts +23 -47
  79. package/dist/agent/thread.d.ts.map +1 -1
  80. package/dist/agent/thread.js +3 -134
  81. package/dist/agent/transport.d.ts +6 -69
  82. package/dist/agent/transport.d.ts.map +1 -1
  83. package/dist/agent/transport.js +0 -18
  84. package/dist/agent/use-agent-thread-runs.d.ts +63 -26
  85. package/dist/agent/use-agent-thread-runs.d.ts.map +1 -1
  86. package/dist/agent/use-agent-thread-runs.js +202 -66
  87. package/dist/charts/BandStrip.d.ts +46 -0
  88. package/dist/charts/BandStrip.d.ts.map +1 -0
  89. package/dist/charts/BandStrip.js +151 -0
  90. package/dist/charts/Bars.d.ts +19 -0
  91. package/dist/charts/Bars.d.ts.map +1 -0
  92. package/dist/charts/Bars.js +77 -0
  93. package/dist/charts/CartesianChart.d.ts +57 -0
  94. package/dist/charts/CartesianChart.d.ts.map +1 -0
  95. package/dist/charts/CartesianChart.js +121 -0
  96. package/dist/charts/ChartCard.d.ts +34 -0
  97. package/dist/charts/ChartCard.d.ts.map +1 -0
  98. package/dist/charts/ChartCard.js +115 -0
  99. package/dist/charts/Donut.d.ts +25 -0
  100. package/dist/charts/Donut.d.ts.map +1 -0
  101. package/dist/charts/Donut.js +191 -0
  102. package/dist/charts/DualPanel.d.ts +47 -0
  103. package/dist/charts/DualPanel.d.ts.map +1 -0
  104. package/dist/charts/DualPanel.js +214 -0
  105. package/dist/charts/Heatmap.d.ts +41 -0
  106. package/dist/charts/Heatmap.d.ts.map +1 -0
  107. package/dist/charts/Heatmap.js +216 -0
  108. package/dist/charts/Lines.d.ts +11 -0
  109. package/dist/charts/Lines.d.ts.map +1 -0
  110. package/dist/charts/Lines.js +114 -0
  111. package/dist/charts/MirroredBars.d.ts +44 -0
  112. package/dist/charts/MirroredBars.d.ts.map +1 -0
  113. package/dist/charts/MirroredBars.js +190 -0
  114. package/dist/charts/Sparkline.d.ts +22 -0
  115. package/dist/charts/Sparkline.d.ts.map +1 -0
  116. package/dist/charts/Sparkline.js +129 -0
  117. package/dist/charts/StackedArea.d.ts +15 -0
  118. package/dist/charts/StackedArea.d.ts.map +1 -0
  119. package/dist/charts/StackedArea.js +46 -0
  120. package/dist/charts/box.d.ts +38 -0
  121. package/dist/charts/box.d.ts.map +1 -0
  122. package/dist/charts/box.js +72 -0
  123. package/dist/charts/card-context.d.ts +3 -0
  124. package/dist/charts/card-context.d.ts.map +1 -0
  125. package/dist/charts/card-context.js +7 -0
  126. package/dist/charts/chart-box.module.css +64 -0
  127. package/{src/content/article-card.module.css.d.ts → dist/charts/chart-box.module.css.d.ts} +5 -9
  128. package/dist/charts/chart-card.module.css +25 -0
  129. package/dist/{dashboard/widget-grid.module.css.d.ts → charts/chart-card.module.css.d.ts} +1 -3
  130. package/dist/charts/chart-legend.module.css +38 -0
  131. package/{src/dashboard/widget-grid.module.css.d.ts → dist/charts/chart-legend.module.css.d.ts} +3 -3
  132. package/dist/charts/compile.d.ts +62 -0
  133. package/dist/charts/compile.d.ts.map +1 -0
  134. package/dist/charts/compile.js +386 -0
  135. package/dist/charts/cursor.d.ts +50 -0
  136. package/dist/charts/cursor.d.ts.map +1 -0
  137. package/dist/charts/cursor.js +157 -0
  138. package/dist/charts/curves.d.ts +12 -0
  139. package/dist/charts/curves.d.ts.map +1 -0
  140. package/dist/charts/curves.js +86 -0
  141. package/dist/charts/donut.module.css +54 -0
  142. package/dist/{content/article-card.module.css.d.ts → charts/donut.module.css.d.ts} +2 -9
  143. package/dist/charts/host.d.ts +17 -0
  144. package/dist/charts/host.d.ts.map +1 -0
  145. package/dist/charts/host.js +35 -0
  146. package/dist/charts/index.d.ts +18 -53
  147. package/dist/charts/index.d.ts.map +1 -1
  148. package/dist/charts/index.js +17 -189
  149. package/dist/charts/legend.d.ts +23 -0
  150. package/dist/charts/legend.d.ts.map +1 -0
  151. package/dist/charts/legend.js +160 -0
  152. package/dist/charts/marks.d.ts +25 -0
  153. package/dist/charts/marks.d.ts.map +1 -0
  154. package/dist/charts/marks.js +128 -0
  155. package/dist/charts/panel.d.ts +56 -0
  156. package/dist/charts/panel.d.ts.map +1 -0
  157. package/dist/charts/panel.js +123 -0
  158. package/dist/charts/scales.d.ts +44 -0
  159. package/dist/charts/scales.d.ts.map +1 -0
  160. package/dist/charts/scales.js +163 -0
  161. package/dist/charts/sizing.d.ts +12 -0
  162. package/dist/charts/sizing.d.ts.map +1 -0
  163. package/dist/charts/sizing.js +33 -0
  164. package/dist/charts/state.d.ts +17 -0
  165. package/dist/charts/state.d.ts.map +1 -0
  166. package/dist/charts/state.js +53 -0
  167. package/dist/charts/theme.d.ts +38 -19
  168. package/dist/charts/theme.d.ts.map +1 -1
  169. package/dist/charts/theme.js +48 -26
  170. package/dist/charts/types.d.ts +227 -0
  171. package/dist/charts/types.d.ts.map +1 -0
  172. package/dist/charts/types.js +4 -0
  173. package/dist/cli/audit-allows.d.ts +4 -17
  174. package/dist/cli/audit-allows.d.ts.map +1 -1
  175. package/dist/cli/config.d.ts +14 -43
  176. package/dist/cli/config.d.ts.map +1 -1
  177. package/dist/cli/doctor-upgrade.d.ts +31 -0
  178. package/dist/cli/doctor-upgrade.d.ts.map +1 -0
  179. package/dist/cli/doctor-upgrade.js +269 -0
  180. package/dist/cli/doctor.d.ts +13 -26
  181. package/dist/cli/doctor.d.ts.map +1 -1
  182. package/dist/cli/doctor.js +79 -8
  183. package/dist/cli/help.d.ts.map +1 -1
  184. package/dist/cli/help.js +2 -4
  185. package/dist/cli/index.d.ts +68 -135
  186. package/dist/cli/index.d.ts.map +1 -1
  187. package/dist/cli/index.js +89 -76
  188. package/dist/cli/init.d.ts.map +1 -1
  189. package/dist/cli/init.js +43 -27
  190. package/dist/cli/sync.d.ts +5 -21
  191. package/dist/cli/sync.d.ts.map +1 -1
  192. package/dist/cli/sync.js +4 -6
  193. package/dist/cli/tokens-css.d.ts +7 -28
  194. package/dist/cli/tokens-css.d.ts.map +1 -1
  195. package/dist/commands/ShortcutsHelp.d.ts.map +1 -1
  196. package/dist/commands/ShortcutsHelp.js +4 -5
  197. package/dist/commands/define-commands.d.ts +15 -31
  198. package/dist/commands/define-commands.d.ts.map +1 -1
  199. package/dist/commands/define-commands.js +1 -11
  200. package/dist/commands/define-overlays.d.ts +5 -19
  201. package/dist/commands/define-overlays.d.ts.map +1 -1
  202. package/dist/commands/define-overlays.js +3 -11
  203. package/dist/commands/index.d.ts +10 -40
  204. package/dist/commands/index.d.ts.map +1 -1
  205. package/dist/commands/index.js +9 -46
  206. package/dist/{notifications → commands/notifications}/bell.d.ts +1 -1
  207. package/dist/commands/notifications/bell.d.ts.map +1 -0
  208. package/dist/{notifications → commands/notifications}/center.d.ts +2 -2
  209. package/dist/commands/notifications/center.d.ts.map +1 -0
  210. package/dist/{notifications → commands/notifications}/center.js +2 -2
  211. package/dist/{notifications → commands/notifications}/define-notifications.d.ts +3 -3
  212. package/dist/commands/notifications/define-notifications.d.ts.map +1 -0
  213. package/dist/commands/notifications/notify.d.ts +44 -0
  214. package/dist/commands/notifications/notify.d.ts.map +1 -0
  215. package/dist/commands/notifications/notify.js +79 -0
  216. package/dist/{notifications → commands/notifications}/store.d.ts +2 -0
  217. package/dist/commands/notifications/store.d.ts.map +1 -0
  218. package/dist/{notifications → commands/notifications}/store.js +4 -0
  219. package/dist/commands/projectors.d.ts +1 -131
  220. package/dist/commands/projectors.d.ts.map +1 -1
  221. package/dist/commands/projectors.js +2 -73
  222. package/dist/commands/shell-bridge.d.ts +3 -3
  223. package/dist/commands/shortcut-format.d.ts +5 -4
  224. package/dist/commands/shortcut-format.d.ts.map +1 -1
  225. package/dist/common/errors.d.ts +3 -3
  226. package/dist/common/use-measured-widths.d.ts.map +1 -1
  227. package/dist/common/use-measured-widths.js +5 -3
  228. package/dist/common/validate.d.ts +2 -2
  229. package/dist/content/article-layout.d.ts.map +1 -1
  230. package/dist/content/article-layout.js +3 -3
  231. package/dist/content/article-model.d.ts +1 -46
  232. package/dist/content/article-model.d.ts.map +1 -1
  233. package/dist/content/article-model.js +1 -29
  234. package/dist/content/copy-action.d.ts +1 -1
  235. package/dist/content/glyphs.d.ts +1 -1
  236. package/dist/content/index.d.ts +11 -41
  237. package/dist/content/index.d.ts.map +1 -1
  238. package/dist/content/index.js +3 -35
  239. package/dist/content/markdown.d.ts +1 -1
  240. package/dist/content/markdown.d.ts.map +1 -1
  241. package/dist/content/markdown.js +1 -1
  242. package/dist/content/mermaid.d.ts.map +1 -1
  243. package/dist/content/mermaid.js +7 -7
  244. package/dist/content/slug.d.ts +1 -8
  245. package/dist/content/slug.d.ts.map +1 -1
  246. package/dist/content/slug.js +1 -8
  247. package/dist/content/url-hardening.d.ts +2 -2
  248. package/dist/content/url-hardening.d.ts.map +1 -1
  249. package/dist/content/url-hardening.js +2 -0
  250. package/dist/controls/actions.d.ts +16 -1
  251. package/dist/controls/actions.d.ts.map +1 -1
  252. package/dist/controls/enum-filter.d.ts +1 -1
  253. package/dist/controls/enum-filter.d.ts.map +1 -1
  254. package/dist/controls/filter-context.d.ts.map +1 -1
  255. package/dist/controls/filter-context.js +3 -1
  256. package/dist/controls/filter-set.js +4 -6
  257. package/dist/controls/form-layout.d.ts +1 -1
  258. package/dist/controls/form-layout.d.ts.map +1 -1
  259. package/dist/controls/form-layout.js +1 -1
  260. package/dist/controls/glyphs.d.ts +0 -2
  261. package/dist/controls/glyphs.d.ts.map +1 -1
  262. package/dist/controls/glyphs.js +0 -7
  263. package/dist/controls/index.d.ts +12 -17
  264. package/dist/controls/index.d.ts.map +1 -1
  265. package/dist/controls/index.js +5 -39
  266. package/dist/controls/multi-select-filter.d.ts +4 -3
  267. package/dist/controls/multi-select-filter.d.ts.map +1 -1
  268. package/dist/controls/number-filter.d.ts +4 -3
  269. package/dist/controls/number-filter.d.ts.map +1 -1
  270. package/dist/controls/number-filter.js +3 -1
  271. package/dist/controls/range-filter.d.ts +4 -3
  272. package/dist/controls/range-filter.d.ts.map +1 -1
  273. package/dist/controls/search-filter.d.ts +4 -3
  274. package/dist/controls/search-filter.d.ts.map +1 -1
  275. package/dist/controls/search-filter.js +19 -14
  276. package/dist/controls/select-filter.d.ts +4 -3
  277. package/dist/controls/select-filter.d.ts.map +1 -1
  278. package/dist/controls/sync-button.d.ts.map +1 -1
  279. package/dist/controls/sync-button.js +12 -15
  280. package/dist/controls/toggle-filter.d.ts +4 -3
  281. package/dist/controls/toggle-filter.d.ts.map +1 -1
  282. package/dist/controls/uncontrolled.d.ts +12 -0
  283. package/dist/controls/uncontrolled.d.ts.map +1 -0
  284. package/dist/controls/view-tabs.d.ts +2 -2
  285. package/dist/controls/view-tabs.d.ts.map +1 -1
  286. package/dist/controls-dates/index.d.ts +0 -1
  287. package/dist/controls-dates/index.d.ts.map +1 -1
  288. package/dist/dashboard/index.d.ts +7 -9
  289. package/dist/dashboard/index.d.ts.map +1 -1
  290. package/dist/dashboard/index.js +3 -23
  291. package/dist/dashboard/section.d.ts +4 -6
  292. package/dist/dashboard/section.d.ts.map +1 -1
  293. package/dist/dashboard/section.js +4 -10
  294. package/dist/dashboard/stat-card.d.ts +4 -4
  295. package/dist/dashboard/stat-card.d.ts.map +1 -1
  296. package/dist/dashboard/stat-card.js +3 -3
  297. package/dist/dashboard/widget-header.module.css +9 -7
  298. package/dist/dev-dock.d.ts.map +1 -1
  299. package/dist/dev-dock.js +6 -1
  300. package/dist/format/date.d.ts +0 -34
  301. package/dist/format/date.d.ts.map +1 -1
  302. package/dist/format/date.js +0 -54
  303. package/dist/format/index.d.ts +7 -22
  304. package/dist/format/index.d.ts.map +1 -1
  305. package/dist/format/index.js +2 -43
  306. package/dist/format/number.d.ts +3 -14
  307. package/dist/format/number.d.ts.map +1 -1
  308. package/dist/format/number.js +0 -13
  309. package/dist/format/shared.d.ts +2 -3
  310. package/dist/format/shared.d.ts.map +1 -1
  311. package/dist/forms/index.d.ts +0 -11
  312. package/dist/forms/index.d.ts.map +1 -1
  313. package/dist/forms/index.js +1 -14
  314. package/dist/guard/index.d.ts +6 -21
  315. package/dist/guard/index.d.ts.map +1 -1
  316. package/dist/guard/index.js +27 -115
  317. package/dist/guard/types.d.ts +7 -18
  318. package/dist/guard/types.d.ts.map +1 -1
  319. package/dist/index.d.ts +16 -48
  320. package/dist/index.d.ts.map +1 -1
  321. package/dist/index.js +21 -117
  322. package/dist/provider/create-router.d.ts +44 -0
  323. package/dist/provider/create-router.d.ts.map +1 -0
  324. package/dist/provider/create-router.js +62 -0
  325. package/dist/provider/hotkeys.d.ts +8 -0
  326. package/dist/provider/hotkeys.d.ts.map +1 -0
  327. package/dist/provider/hotkeys.js +50 -0
  328. package/dist/provider/index.d.ts +33 -110
  329. package/dist/provider/index.d.ts.map +1 -1
  330. package/dist/provider/index.js +182 -82
  331. package/dist/provider/lab-theme.d.ts.map +1 -1
  332. package/dist/provider/route-transition.d.ts +76 -0
  333. package/dist/provider/route-transition.d.ts.map +1 -0
  334. package/dist/provider/route-transition.js +98 -0
  335. package/dist/provider/spotlight-actions.d.ts +10 -0
  336. package/dist/provider/spotlight-actions.d.ts.map +1 -0
  337. package/dist/provider/spotlight-actions.js +55 -0
  338. package/dist/provider/test-router.d.ts +6 -0
  339. package/dist/provider/test-router.d.ts.map +1 -0
  340. package/dist/provider/test-router.js +18 -0
  341. package/dist/query-client.d.ts +4 -20
  342. package/dist/query-client.d.ts.map +1 -1
  343. package/dist/query-client.js +2 -2
  344. package/dist/router-tanstack/index.d.ts +18 -64
  345. package/dist/router-tanstack/index.d.ts.map +1 -1
  346. package/dist/router-tanstack/index.js +2 -16
  347. package/dist/router-tanstack/nav.d.ts +12 -1
  348. package/dist/router-tanstack/nav.d.ts.map +1 -1
  349. package/dist/router-tanstack/nav.js +8 -1
  350. package/dist/router-tanstack/search-store.d.ts +1 -1
  351. package/dist/router-tanstack/search-store.d.ts.map +1 -1
  352. package/dist/router-tanstack/use-nav.d.ts +8 -9
  353. package/dist/router-tanstack/use-nav.d.ts.map +1 -1
  354. package/dist/router-tanstack/use-nav.js +20 -1
  355. package/dist/shell/app-mobile-nav.d.ts.map +1 -1
  356. package/dist/shell/app-sidebar.js +1 -1
  357. package/dist/shell/index.d.ts +31 -10
  358. package/dist/shell/index.d.ts.map +1 -1
  359. package/dist/shell/index.js +14 -3
  360. package/dist/shell/page-aside.d.ts +2 -2
  361. package/dist/shell/page-aside.d.ts.map +1 -1
  362. package/dist/shell/page-aside.js +31 -12
  363. package/dist/shell/page-bar.d.ts +2 -2
  364. package/dist/shell/page-bar.d.ts.map +1 -1
  365. package/dist/shell/page-bar.js +1 -1
  366. package/dist/state.d.ts +10 -12
  367. package/dist/state.d.ts.map +1 -1
  368. package/dist/state.js +4 -6
  369. package/dist/styles.css +107 -7
  370. package/dist/surfaces.d.ts +28 -103
  371. package/dist/surfaces.d.ts.map +1 -1
  372. package/dist/surfaces.js +54 -143
  373. package/dist/{data → table}/data-table-state.d.ts +1 -1
  374. package/dist/table/data-table-state.d.ts.map +1 -0
  375. package/dist/{data → table}/data-table-state.js +4 -3
  376. package/dist/{data → table}/data-table.d.ts +28 -49
  377. package/dist/table/data-table.d.ts.map +1 -0
  378. package/dist/{data → table}/data-table.js +74 -60
  379. package/dist/table/index.d.ts +18 -0
  380. package/dist/table/index.d.ts.map +1 -0
  381. package/dist/{data/table.js → table/index.js} +1 -1
  382. package/dist/table/query-branch.d.ts.map +1 -0
  383. package/dist/table/table-features.d.ts +69 -0
  384. package/dist/table/table-features.d.ts.map +1 -0
  385. package/dist/table/table-features.js +49 -0
  386. package/dist/telemetry.d.ts +77 -0
  387. package/dist/telemetry.d.ts.map +1 -0
  388. package/dist/telemetry.js +33 -0
  389. package/dist/theme/index.d.ts +10 -21
  390. package/dist/theme/index.d.ts.map +1 -1
  391. package/dist/theme/index.js +3 -14
  392. package/dist/theme/theme-toggle.d.ts.map +1 -1
  393. package/dist/theme/theme-toggle.js +7 -33
  394. package/dist/theme/theme-toggle.module.css +30 -0
  395. package/dist/theme/theme-toggle.module.css.d.ts +10 -0
  396. package/dist/theme-lab/derive-controls.d.ts.map +1 -1
  397. package/dist/theme-lab/derive-controls.js +5 -3
  398. package/dist/theme-lab/derive-state.d.ts.map +1 -1
  399. package/dist/theme-lab/derive-state.js +2 -1
  400. package/dist/tokens/core.d.ts +360 -0
  401. package/dist/tokens/core.d.ts.map +1 -0
  402. package/dist/tokens/core.js +708 -0
  403. package/dist/tokens/derive.d.ts +1 -1
  404. package/dist/tokens/derive.d.ts.map +1 -1
  405. package/dist/tokens/index.d.ts +5 -373
  406. package/dist/tokens/index.d.ts.map +1 -1
  407. package/dist/tokens/index.js +8 -700
  408. package/dist/tokens/palette.d.ts +2 -6
  409. package/dist/tokens/palette.d.ts.map +1 -1
  410. package/dist/tokens/palette.js +1 -4
  411. package/dist/vite.d.ts +4 -3
  412. package/dist/vite.d.ts.map +1 -1
  413. package/llms.txt +43 -85
  414. package/package.json +77 -170
  415. package/src/agent/ai-sdk-transport.ts +57 -37
  416. package/src/{agent-chat → agent/chat}/composer.tsx +29 -30
  417. package/src/{agent-chat → agent/chat}/message-affordances.ts +8 -5
  418. package/src/{agent-chat → agent/chat}/thread-feed-row.tsx +30 -35
  419. package/src/{agent-chat → agent/chat}/thread-feed.tsx +40 -35
  420. package/src/{agent-chat → agent/chat}/thread-message.tsx +37 -35
  421. package/src/{agent-chat → agent/chat}/thread-outcome-card.tsx +5 -5
  422. package/src/{agent-chat → agent/chat}/tool-chip.tsx +12 -12
  423. package/src/{agent-chat → agent/chat}/use-keyboard-inset.ts +1 -1
  424. package/src/{agent-chat → agent/chat}/virtualize.ts +5 -5
  425. package/src/agent/error.ts +43 -0
  426. package/src/agent/foreign.ts +3 -2
  427. package/src/agent/history.ts +2 -107
  428. package/src/agent/id.ts +4 -5
  429. package/src/agent/index.ts +23 -112
  430. package/src/agent/outcome.ts +3 -56
  431. package/src/agent/part-list.tsx +3 -3
  432. package/src/agent/parts.ts +23 -22
  433. package/src/agent/run-committer.ts +64 -0
  434. package/src/agent/run-records.ts +147 -0
  435. package/src/agent/thread.ts +24 -231
  436. package/src/agent/transport.ts +6 -96
  437. package/src/agent/use-agent-thread-runs.ts +364 -199
  438. package/src/charts/BandStrip.tsx +276 -0
  439. package/src/charts/Bars.tsx +141 -0
  440. package/src/charts/CartesianChart.tsx +206 -0
  441. package/src/charts/ChartCard.tsx +178 -0
  442. package/src/charts/Donut.tsx +256 -0
  443. package/src/charts/DualPanel.tsx +326 -0
  444. package/src/charts/Heatmap.tsx +282 -0
  445. package/src/charts/Lines.tsx +151 -0
  446. package/src/charts/MirroredBars.tsx +303 -0
  447. package/src/charts/Sparkline.tsx +176 -0
  448. package/src/charts/StackedArea.tsx +80 -0
  449. package/src/charts/box.tsx +96 -0
  450. package/src/charts/card-context.ts +11 -0
  451. package/src/charts/chart-box.module.css +64 -0
  452. package/src/charts/chart-box.module.css.d.ts +12 -0
  453. package/src/charts/chart-card.module.css +25 -0
  454. package/src/charts/chart-card.module.css.d.ts +8 -0
  455. package/src/charts/chart-legend.module.css +38 -0
  456. package/src/charts/chart-legend.module.css.d.ts +10 -0
  457. package/src/charts/compile.ts +585 -0
  458. package/src/charts/cursor.ts +282 -0
  459. package/src/charts/curves.ts +111 -0
  460. package/src/charts/donut.module.css +54 -0
  461. package/src/charts/donut.module.css.d.ts +9 -0
  462. package/src/charts/host.tsx +60 -0
  463. package/src/charts/index.ts +41 -178
  464. package/src/charts/legend.tsx +204 -0
  465. package/src/charts/marks.ts +201 -0
  466. package/src/charts/panel.tsx +227 -0
  467. package/src/charts/scales.ts +237 -0
  468. package/src/charts/sizing.ts +47 -0
  469. package/src/charts/state.tsx +80 -0
  470. package/src/charts/theme.ts +65 -0
  471. package/src/charts/types.ts +242 -0
  472. package/src/cli/audit-allows.ts +8 -30
  473. package/src/cli/config.ts +14 -43
  474. package/src/cli/doctor-upgrade.ts +392 -0
  475. package/src/cli/doctor.ts +120 -68
  476. package/src/cli/help.ts +2 -4
  477. package/src/cli/index.ts +161 -276
  478. package/src/cli/init.ts +60 -37
  479. package/src/cli/sync.ts +13 -45
  480. package/src/cli/tokens-css.ts +7 -28
  481. package/src/commands/ShortcutsHelp.tsx +8 -9
  482. package/src/commands/define-commands.ts +16 -43
  483. package/src/commands/define-overlays.ts +12 -36
  484. package/src/commands/index.ts +11 -94
  485. package/src/{notifications → commands/notifications}/bell.tsx +2 -2
  486. package/src/{notifications → commands/notifications}/center.tsx +7 -5
  487. package/src/{notifications → commands/notifications}/define-notifications.ts +3 -3
  488. package/src/commands/notifications/notify.tsx +158 -0
  489. package/src/{notifications → commands/notifications}/store.ts +10 -2
  490. package/src/commands/projectors.ts +5 -225
  491. package/src/commands/shell-bridge.ts +5 -5
  492. package/src/commands/shortcut-format.ts +5 -4
  493. package/src/common/errors.ts +3 -3
  494. package/src/common/use-measured-widths.ts +6 -3
  495. package/src/common/validate.ts +2 -2
  496. package/src/content/article-layout.tsx +37 -38
  497. package/src/content/article-model.ts +1 -84
  498. package/src/content/copy-action.tsx +1 -1
  499. package/src/content/glyphs.tsx +1 -1
  500. package/src/content/index.ts +12 -83
  501. package/src/content/markdown.tsx +4 -3
  502. package/src/content/mermaid.tsx +9 -7
  503. package/src/content/slug.ts +1 -16
  504. package/src/content/url-hardening.ts +8 -2
  505. package/src/controls/actions.tsx +24 -1
  506. package/src/controls/enum-filter.tsx +1 -1
  507. package/src/controls/filter-context.tsx +3 -1
  508. package/src/controls/filter-set.tsx +5 -7
  509. package/src/controls/form-layout.tsx +2 -2
  510. package/src/controls/glyphs.tsx +0 -10
  511. package/src/controls/index.ts +13 -64
  512. package/src/controls/multi-select-filter.tsx +5 -4
  513. package/src/controls/number-filter.tsx +8 -4
  514. package/src/controls/range-filter.tsx +5 -4
  515. package/src/controls/search-filter.tsx +25 -19
  516. package/src/controls/select-filter.tsx +5 -4
  517. package/src/controls/sync-button.tsx +18 -20
  518. package/src/controls/toggle-filter.tsx +5 -4
  519. package/src/controls/uncontrolled.ts +12 -0
  520. package/src/controls/view-tabs.tsx +3 -3
  521. package/src/controls-dates/date-range-picker.tsx +1 -1
  522. package/src/controls-dates/index.ts +0 -1
  523. package/src/dashboard/index.ts +7 -48
  524. package/src/dashboard/section.tsx +11 -40
  525. package/src/dashboard/stat-card.tsx +14 -16
  526. package/src/dashboard/widget-header.module.css +9 -7
  527. package/src/dev-dock.tsx +14 -27
  528. package/src/format/date.ts +2 -92
  529. package/src/format/index.ts +7 -53
  530. package/src/format/number.ts +3 -26
  531. package/src/format/shared.ts +2 -3
  532. package/src/forms/index.ts +0 -23
  533. package/src/guard/index.ts +37 -192
  534. package/src/guard/types.ts +6 -19
  535. package/src/index.ts +30 -282
  536. package/src/provider/create-router.tsx +138 -0
  537. package/src/provider/hotkeys.ts +70 -0
  538. package/src/provider/index.tsx +260 -230
  539. package/src/provider/lab-theme.ts +3 -2
  540. package/src/provider/route-transition.ts +199 -0
  541. package/src/provider/spotlight-actions.tsx +69 -0
  542. package/src/provider/test-router.tsx +25 -0
  543. package/src/query-client.ts +4 -22
  544. package/src/router-tanstack/index.ts +18 -112
  545. package/src/router-tanstack/nav.ts +28 -2
  546. package/src/router-tanstack/search-store.ts +9 -2
  547. package/src/router-tanstack/use-nav.ts +47 -13
  548. package/src/shell/app-mobile-nav.tsx +3 -2
  549. package/src/shell/app-sidebar.tsx +1 -1
  550. package/src/shell/aside-docking.ts +1 -1
  551. package/src/shell/index.tsx +61 -20
  552. package/src/shell/page-aside.tsx +47 -23
  553. package/src/shell/page-bar.tsx +3 -3
  554. package/src/shell/page-title.tsx +1 -1
  555. package/src/state.ts +11 -37
  556. package/src/styles.css +107 -7
  557. package/src/surfaces.ts +56 -151
  558. package/src/{data → table}/data-table-state.ts +5 -4
  559. package/src/{data → table}/data-table.tsx +170 -161
  560. package/src/table/index.ts +18 -0
  561. package/src/table/table-features.ts +102 -0
  562. package/src/telemetry.ts +110 -0
  563. package/src/theme/index.ts +22 -47
  564. package/src/theme/theme-toggle.module.css +30 -0
  565. package/src/theme/theme-toggle.module.css.d.ts +10 -0
  566. package/src/theme/theme-toggle.tsx +15 -43
  567. package/src/theme-lab/derive-controls.tsx +5 -3
  568. package/src/theme-lab/derive-state.ts +2 -1
  569. package/src/tokens/core.ts +1163 -0
  570. package/src/tokens/derive.ts +1 -1
  571. package/src/tokens/index.ts +14 -1181
  572. package/src/tokens/palette.ts +3 -7
  573. package/src/vite.ts +3 -3
  574. package/agent/templates/CLAUDE-block.md.tpl +0 -40
  575. package/agent/templates/query-client.ts.tpl +0 -26
  576. package/dist/agent/adapter.d.ts +0 -150
  577. package/dist/agent/adapter.d.ts.map +0 -1
  578. package/dist/agent/adapter.js +0 -482
  579. package/dist/agent/use-agent-stream.d.ts +0 -35
  580. package/dist/agent/use-agent-stream.d.ts.map +0 -1
  581. package/dist/agent/use-agent-stream.js +0 -59
  582. package/dist/agent-chat/composer.d.ts.map +0 -1
  583. package/dist/agent-chat/index.d.ts +0 -31
  584. package/dist/agent-chat/index.d.ts.map +0 -1
  585. package/dist/agent-chat/index.js +0 -19
  586. package/dist/agent-chat/message-affordances.d.ts.map +0 -1
  587. package/dist/agent-chat/relative-time.d.ts.map +0 -1
  588. package/dist/agent-chat/thread-detail-panel.d.ts +0 -28
  589. package/dist/agent-chat/thread-detail-panel.d.ts.map +0 -1
  590. package/dist/agent-chat/thread-detail-panel.js +0 -115
  591. package/dist/agent-chat/thread-feed-row.d.ts.map +0 -1
  592. package/dist/agent-chat/thread-feed.d.ts.map +0 -1
  593. package/dist/agent-chat/thread-message.d.ts.map +0 -1
  594. package/dist/agent-chat/thread-outcome-card.d.ts.map +0 -1
  595. package/dist/agent-chat/thread-workspace.d.ts +0 -44
  596. package/dist/agent-chat/thread-workspace.d.ts.map +0 -1
  597. package/dist/agent-chat/thread-workspace.js +0 -153
  598. package/dist/agent-chat/tool-chip.d.ts.map +0 -1
  599. package/dist/agent-chat/use-keyboard-inset.d.ts.map +0 -1
  600. package/dist/agent-chat/virtualize.d.ts.map +0 -1
  601. package/dist/charts/cursor/resolve.d.ts +0 -75
  602. package/dist/charts/cursor/resolve.d.ts.map +0 -1
  603. package/dist/charts/cursor/resolve.js +0 -91
  604. package/dist/charts/cursor/scope.d.ts +0 -20
  605. package/dist/charts/cursor/scope.d.ts.map +0 -1
  606. package/dist/charts/cursor/scope.js +0 -20
  607. package/dist/charts/cursor/store.d.ts +0 -35
  608. package/dist/charts/cursor/store.d.ts.map +0 -1
  609. package/dist/charts/cursor/store.js +0 -25
  610. package/dist/charts/cursor/touch-pin.d.ts +0 -45
  611. package/dist/charts/cursor/touch-pin.d.ts.map +0 -1
  612. package/dist/charts/cursor/touch-pin.js +0 -79
  613. package/dist/charts/hooks/use-discrete-cursor.d.ts +0 -66
  614. package/dist/charts/hooks/use-discrete-cursor.d.ts.map +0 -1
  615. package/dist/charts/hooks/use-discrete-cursor.js +0 -198
  616. package/dist/charts/hooks/use-hysteresis.d.ts +0 -18
  617. package/dist/charts/hooks/use-hysteresis.d.ts.map +0 -1
  618. package/dist/charts/hooks/use-hysteresis.js +0 -12
  619. package/dist/charts/hooks/useBandPlot.d.ts +0 -145
  620. package/dist/charts/hooks/useBandPlot.d.ts.map +0 -1
  621. package/dist/charts/hooks/useBandPlot.js +0 -178
  622. package/dist/charts/hooks/useChartCursor.d.ts +0 -75
  623. package/dist/charts/hooks/useChartCursor.d.ts.map +0 -1
  624. package/dist/charts/hooks/useChartCursor.js +0 -200
  625. package/dist/charts/hooks/useChartSize.d.ts +0 -29
  626. package/dist/charts/hooks/useChartSize.d.ts.map +0 -1
  627. package/dist/charts/hooks/useChartSize.js +0 -8
  628. package/dist/charts/kinds/BandStrip.d.ts +0 -132
  629. package/dist/charts/kinds/BandStrip.d.ts.map +0 -1
  630. package/dist/charts/kinds/BandStrip.js +0 -241
  631. package/dist/charts/kinds/Bars.d.ts +0 -141
  632. package/dist/charts/kinds/Bars.d.ts.map +0 -1
  633. package/dist/charts/kinds/Bars.js +0 -343
  634. package/dist/charts/kinds/Donut.d.ts +0 -77
  635. package/dist/charts/kinds/Donut.d.ts.map +0 -1
  636. package/dist/charts/kinds/Donut.js +0 -245
  637. package/dist/charts/kinds/DualPanel.d.ts +0 -111
  638. package/dist/charts/kinds/DualPanel.d.ts.map +0 -1
  639. package/dist/charts/kinds/DualPanel.js +0 -471
  640. package/dist/charts/kinds/Heatmap.d.ts +0 -85
  641. package/dist/charts/kinds/Heatmap.d.ts.map +0 -1
  642. package/dist/charts/kinds/Heatmap.js +0 -243
  643. package/dist/charts/kinds/MirroredBars.d.ts +0 -98
  644. package/dist/charts/kinds/MirroredBars.d.ts.map +0 -1
  645. package/dist/charts/kinds/MirroredBars.js +0 -292
  646. package/dist/charts/kinds/MultiLine.d.ts +0 -87
  647. package/dist/charts/kinds/MultiLine.d.ts.map +0 -1
  648. package/dist/charts/kinds/MultiLine.js +0 -176
  649. package/dist/charts/kinds/StackedArea.d.ts +0 -73
  650. package/dist/charts/kinds/StackedArea.d.ts.map +0 -1
  651. package/dist/charts/kinds/StackedArea.js +0 -135
  652. package/dist/charts/kinds/ZonedLine.d.ts +0 -97
  653. package/dist/charts/kinds/ZonedLine.d.ts.map +0 -1
  654. package/dist/charts/kinds/ZonedLine.js +0 -155
  655. package/dist/charts/kinds/band-chrome.d.ts +0 -31
  656. package/dist/charts/kinds/band-chrome.d.ts.map +0 -1
  657. package/dist/charts/kinds/band-chrome.js +0 -71
  658. package/dist/charts/kinds/donut-layout.d.ts +0 -47
  659. package/dist/charts/kinds/donut-layout.d.ts.map +0 -1
  660. package/dist/charts/kinds/donut-layout.js +0 -52
  661. package/dist/charts/layout/auto-margin.d.ts +0 -122
  662. package/dist/charts/layout/auto-margin.d.ts.map +0 -1
  663. package/dist/charts/layout/auto-margin.js +0 -81
  664. package/dist/charts/layout/end-labels.d.ts +0 -64
  665. package/dist/charts/layout/end-labels.d.ts.map +0 -1
  666. package/dist/charts/layout/end-labels.js +0 -76
  667. package/dist/charts/layout/log-ticks.d.ts +0 -27
  668. package/dist/charts/layout/log-ticks.d.ts.map +0 -1
  669. package/dist/charts/layout/log-ticks.js +0 -42
  670. package/dist/charts/primitives/AreaGradient.d.ts +0 -18
  671. package/dist/charts/primitives/AreaGradient.d.ts.map +0 -1
  672. package/dist/charts/primitives/AreaGradient.js +0 -13
  673. package/dist/charts/primitives/Axes.d.ts +0 -83
  674. package/dist/charts/primitives/Axes.d.ts.map +0 -1
  675. package/dist/charts/primitives/Axes.js +0 -168
  676. package/dist/charts/primitives/CartesianChart.d.ts +0 -257
  677. package/dist/charts/primitives/CartesianChart.d.ts.map +0 -1
  678. package/dist/charts/primitives/CartesianChart.js +0 -549
  679. package/dist/charts/primitives/ChartCard.d.ts +0 -66
  680. package/dist/charts/primitives/ChartCard.d.ts.map +0 -1
  681. package/dist/charts/primitives/ChartCard.js +0 -143
  682. package/dist/charts/primitives/ChartFrame.d.ts +0 -156
  683. package/dist/charts/primitives/ChartFrame.d.ts.map +0 -1
  684. package/dist/charts/primitives/ChartFrame.js +0 -241
  685. package/dist/charts/primitives/ChartLegend.d.ts +0 -67
  686. package/dist/charts/primitives/ChartLegend.d.ts.map +0 -1
  687. package/dist/charts/primitives/ChartLegend.js +0 -292
  688. package/dist/charts/primitives/ChartPending.d.ts +0 -113
  689. package/dist/charts/primitives/ChartPending.d.ts.map +0 -1
  690. package/dist/charts/primitives/ChartPending.js +0 -117
  691. package/dist/charts/primitives/ChartTooltip.d.ts +0 -59
  692. package/dist/charts/primitives/ChartTooltip.d.ts.map +0 -1
  693. package/dist/charts/primitives/ChartTooltip.js +0 -197
  694. package/dist/charts/primitives/Crosshair.d.ts +0 -26
  695. package/dist/charts/primitives/Crosshair.d.ts.map +0 -1
  696. package/dist/charts/primitives/Crosshair.js +0 -23
  697. package/dist/charts/primitives/HatchPattern.d.ts +0 -31
  698. package/dist/charts/primitives/HatchPattern.d.ts.map +0 -1
  699. package/dist/charts/primitives/HatchPattern.js +0 -31
  700. package/dist/charts/primitives/HoverOverlay.d.ts +0 -45
  701. package/dist/charts/primitives/HoverOverlay.d.ts.map +0 -1
  702. package/dist/charts/primitives/HoverOverlay.js +0 -72
  703. package/dist/charts/primitives/HoverOverlay.module.css +0 -13
  704. package/dist/charts/primitives/HoverOverlay.module.css.d.ts +0 -8
  705. package/dist/charts/primitives/XZoneRects.d.ts +0 -54
  706. package/dist/charts/primitives/XZoneRects.d.ts.map +0 -1
  707. package/dist/charts/primitives/XZoneRects.js +0 -65
  708. package/dist/charts/primitives/ZoneRects.d.ts +0 -38
  709. package/dist/charts/primitives/ZoneRects.d.ts.map +0 -1
  710. package/dist/charts/primitives/ZoneRects.js +0 -30
  711. package/dist/charts/primitives/chart-card-context.d.ts +0 -33
  712. package/dist/charts/primitives/chart-card-context.d.ts.map +0 -1
  713. package/dist/charts/primitives/chart-card-context.js +0 -18
  714. package/dist/charts/primitives/chart-frame-layout.d.ts +0 -185
  715. package/dist/charts/primitives/chart-frame-layout.d.ts.map +0 -1
  716. package/dist/charts/primitives/chart-frame-layout.js +0 -175
  717. package/dist/charts/primitives/chart-layout.d.ts +0 -112
  718. package/dist/charts/primitives/chart-layout.d.ts.map +0 -1
  719. package/dist/charts/primitives/chart-layout.js +0 -175
  720. package/dist/charts/primitives/chart-tier.d.ts +0 -16
  721. package/dist/charts/primitives/chart-tier.d.ts.map +0 -1
  722. package/dist/charts/primitives/chart-tier.js +0 -44
  723. package/dist/charts/primitives/legend-disclosure.d.ts +0 -27
  724. package/dist/charts/primitives/legend-disclosure.d.ts.map +0 -1
  725. package/dist/charts/primitives/legend-disclosure.js +0 -153
  726. package/dist/charts/series.d.ts +0 -189
  727. package/dist/charts/series.d.ts.map +0 -1
  728. package/dist/charts/series.js +0 -84
  729. package/dist/charts/sparklines/BarSparkline.d.ts +0 -37
  730. package/dist/charts/sparklines/BarSparkline.d.ts.map +0 -1
  731. package/dist/charts/sparklines/BarSparkline.js +0 -53
  732. package/dist/charts/sparklines/LineSparkline.d.ts +0 -15
  733. package/dist/charts/sparklines/LineSparkline.d.ts.map +0 -1
  734. package/dist/charts/sparklines/LineSparkline.js +0 -51
  735. package/dist/charts/sparklines/index.d.ts +0 -3
  736. package/dist/charts/sparklines/index.d.ts.map +0 -1
  737. package/dist/charts/sparklines/index.js +0 -6
  738. package/dist/charts/utils/domain.d.ts +0 -35
  739. package/dist/charts/utils/domain.d.ts.map +0 -1
  740. package/dist/charts/utils/domain.js +0 -12
  741. package/dist/charts/utils/format.d.ts +0 -8
  742. package/dist/charts/utils/format.d.ts.map +0 -1
  743. package/dist/charts/utils/format.js +0 -20
  744. package/dist/charts/utils/measure-text.d.ts +0 -25
  745. package/dist/charts/utils/measure-text.d.ts.map +0 -1
  746. package/dist/charts/utils/measure-text.js +0 -64
  747. package/dist/charts/utils/ticks.d.ts +0 -103
  748. package/dist/charts/utils/ticks.d.ts.map +0 -1
  749. package/dist/charts/utils/ticks.js +0 -92
  750. package/dist/commands/overlays-mount.d.ts +0 -122
  751. package/dist/commands/overlays-mount.d.ts.map +0 -1
  752. package/dist/commands/overlays-mount.js +0 -125
  753. package/dist/commands/useCommandHotkeys.d.ts +0 -14
  754. package/dist/commands/useCommandHotkeys.d.ts.map +0 -1
  755. package/dist/commands/useCommandHotkeys.js +0 -45
  756. package/dist/content/article-actions.d.ts +0 -39
  757. package/dist/content/article-actions.d.ts.map +0 -1
  758. package/dist/content/article-actions.js +0 -28
  759. package/dist/content/article-card.d.ts +0 -58
  760. package/dist/content/article-card.d.ts.map +0 -1
  761. package/dist/content/article-card.js +0 -79
  762. package/dist/content/article-card.module.css +0 -111
  763. package/dist/content/mdx.d.ts +0 -20
  764. package/dist/content/mdx.d.ts.map +0 -1
  765. package/dist/content/mdx.js +0 -64
  766. package/dist/controls/compare-filter.d.ts +0 -42
  767. package/dist/controls/compare-filter.d.ts.map +0 -1
  768. package/dist/controls/compare-filter.js +0 -38
  769. package/dist/controls/slider-control.d.ts +0 -36
  770. package/dist/controls/slider-control.d.ts.map +0 -1
  771. package/dist/controls/slider-control.js +0 -64
  772. package/dist/dashboard/widget-grid.d.ts +0 -27
  773. package/dist/dashboard/widget-grid.d.ts.map +0 -1
  774. package/dist/dashboard/widget-grid.js +0 -40
  775. package/dist/dashboard/widget-grid.module.css +0 -69
  776. package/dist/data/data-table-state.d.ts.map +0 -1
  777. package/dist/data/data-table.d.ts.map +0 -1
  778. package/dist/data/query-branch.d.ts.map +0 -1
  779. package/dist/data/table.d.ts +0 -24
  780. package/dist/data/table.d.ts.map +0 -1
  781. package/dist/data/virtual-list.d.ts +0 -133
  782. package/dist/data/virtual-list.d.ts.map +0 -1
  783. package/dist/data/virtual-list.js +0 -157
  784. package/dist/data/virtual.d.ts +0 -21
  785. package/dist/data/virtual.d.ts.map +0 -1
  786. package/dist/data/virtual.js +0 -4
  787. package/dist/forms/FormErrorSummary.d.ts +0 -30
  788. package/dist/forms/FormErrorSummary.d.ts.map +0 -1
  789. package/dist/forms/FormErrorSummary.js +0 -30
  790. package/dist/forms/use-field-array.d.ts +0 -60
  791. package/dist/forms/use-field-array.d.ts.map +0 -1
  792. package/dist/forms/use-field-array.js +0 -20
  793. package/dist/forms/use-form-draft.d.ts +0 -76
  794. package/dist/forms/use-form-draft.d.ts.map +0 -1
  795. package/dist/forms/use-form-draft.js +0 -92
  796. package/dist/forms/use-form-submit.d.ts +0 -88
  797. package/dist/forms/use-form-submit.d.ts.map +0 -1
  798. package/dist/forms/use-form-submit.js +0 -63
  799. package/dist/notifications/bell.d.ts.map +0 -1
  800. package/dist/notifications/center.d.ts.map +0 -1
  801. package/dist/notifications/define-notifications.d.ts.map +0 -1
  802. package/dist/notifications/index.d.ts +0 -40
  803. package/dist/notifications/index.d.ts.map +0 -1
  804. package/dist/notifications/index.js +0 -54
  805. package/dist/notifications/mount-guard.d.ts +0 -8
  806. package/dist/notifications/mount-guard.d.ts.map +0 -1
  807. package/dist/notifications/mount-guard.js +0 -18
  808. package/dist/notifications/notify.d.ts +0 -149
  809. package/dist/notifications/notify.d.ts.map +0 -1
  810. package/dist/notifications/notify.js +0 -171
  811. package/dist/notifications/store.d.ts.map +0 -1
  812. package/dist/provider/connectivity-indicator.d.ts +0 -13
  813. package/dist/provider/connectivity-indicator.d.ts.map +0 -1
  814. package/dist/provider/connectivity-indicator.js +0 -205
  815. package/dist/provider/connectivity-provider.d.ts +0 -7
  816. package/dist/provider/connectivity-provider.d.ts.map +0 -1
  817. package/dist/provider/connectivity-provider.js +0 -128
  818. package/dist/provider/connectivity-types.d.ts +0 -36
  819. package/dist/provider/connectivity-types.d.ts.map +0 -1
  820. package/dist/provider/use-connectivity.d.ts +0 -3
  821. package/dist/provider/use-connectivity.d.ts.map +0 -1
  822. package/dist/provider/use-connectivity.js +0 -14
  823. package/dist/query-devtools.d.ts +0 -21
  824. package/dist/query-devtools.d.ts.map +0 -1
  825. package/dist/query-devtools.js +0 -13
  826. package/src/agent/adapter.ts +0 -945
  827. package/src/agent/use-agent-stream.ts +0 -154
  828. package/src/agent-chat/index.ts +0 -54
  829. package/src/agent-chat/thread-detail-panel.tsx +0 -201
  830. package/src/agent-chat/thread-workspace.tsx +0 -279
  831. package/src/charts/cursor/resolve.ts +0 -198
  832. package/src/charts/cursor/scope.tsx +0 -35
  833. package/src/charts/cursor/store.ts +0 -58
  834. package/src/charts/cursor/touch-pin.ts +0 -138
  835. package/src/charts/hooks/use-discrete-cursor.ts +0 -335
  836. package/src/charts/hooks/use-hysteresis.ts +0 -26
  837. package/src/charts/hooks/useBandPlot.ts +0 -383
  838. package/src/charts/hooks/useChartCursor.ts +0 -367
  839. package/src/charts/hooks/useChartSize.ts +0 -35
  840. package/src/charts/kinds/BandStrip.tsx +0 -449
  841. package/src/charts/kinds/Bars.tsx +0 -589
  842. package/src/charts/kinds/Donut.tsx +0 -368
  843. package/src/charts/kinds/DualPanel.tsx +0 -712
  844. package/src/charts/kinds/Heatmap.tsx +0 -396
  845. package/src/charts/kinds/MirroredBars.tsx +0 -469
  846. package/src/charts/kinds/MultiLine.tsx +0 -322
  847. package/src/charts/kinds/StackedArea.tsx +0 -267
  848. package/src/charts/kinds/ZonedLine.tsx +0 -301
  849. package/src/charts/kinds/band-chrome.tsx +0 -91
  850. package/src/charts/kinds/donut-layout.ts +0 -82
  851. package/src/charts/layout/auto-margin.ts +0 -242
  852. package/src/charts/layout/end-labels.ts +0 -135
  853. package/src/charts/layout/log-ticks.ts +0 -90
  854. package/src/charts/primitives/AreaGradient.tsx +0 -26
  855. package/src/charts/primitives/Axes.tsx +0 -271
  856. package/src/charts/primitives/CartesianChart.tsx +0 -1002
  857. package/src/charts/primitives/ChartCard.tsx +0 -280
  858. package/src/charts/primitives/ChartFrame.tsx +0 -493
  859. package/src/charts/primitives/ChartLegend.tsx +0 -422
  860. package/src/charts/primitives/ChartPending.tsx +0 -243
  861. package/src/charts/primitives/ChartTooltip.tsx +0 -265
  862. package/src/charts/primitives/Crosshair.tsx +0 -43
  863. package/src/charts/primitives/HatchPattern.tsx +0 -55
  864. package/src/charts/primitives/HoverOverlay.module.css +0 -13
  865. package/src/charts/primitives/HoverOverlay.module.css.d.ts +0 -8
  866. package/src/charts/primitives/HoverOverlay.tsx +0 -109
  867. package/src/charts/primitives/XZoneRects.tsx +0 -132
  868. package/src/charts/primitives/ZoneRects.tsx +0 -67
  869. package/src/charts/primitives/chart-card-context.ts +0 -46
  870. package/src/charts/primitives/chart-frame-layout.ts +0 -430
  871. package/src/charts/primitives/chart-layout.ts +0 -318
  872. package/src/charts/primitives/chart-tier.tsx +0 -76
  873. package/src/charts/primitives/legend-disclosure.tsx +0 -178
  874. package/src/charts/series.ts +0 -276
  875. package/src/charts/sparklines/BarSparkline.tsx +0 -94
  876. package/src/charts/sparklines/LineSparkline.tsx +0 -71
  877. package/src/charts/sparklines/index.ts +0 -2
  878. package/src/charts/theme.tsx +0 -53
  879. package/src/charts/utils/domain.ts +0 -41
  880. package/src/charts/utils/format.ts +0 -19
  881. package/src/charts/utils/measure-text.ts +0 -109
  882. package/src/charts/utils/ticks.ts +0 -239
  883. package/src/commands/overlays-mount.tsx +0 -333
  884. package/src/commands/useCommandHotkeys.ts +0 -114
  885. package/src/content/article-actions.ts +0 -72
  886. package/src/content/article-card.module.css +0 -111
  887. package/src/content/article-card.tsx +0 -174
  888. package/src/content/mdx.tsx +0 -127
  889. package/src/controls/compare-filter.tsx +0 -81
  890. package/src/controls/slider-control.tsx +0 -159
  891. package/src/dashboard/widget-grid.module.css +0 -69
  892. package/src/dashboard/widget-grid.tsx +0 -146
  893. package/src/data/table.ts +0 -39
  894. package/src/data/virtual-list.tsx +0 -356
  895. package/src/data/virtual.ts +0 -26
  896. package/src/forms/FormErrorSummary.tsx +0 -71
  897. package/src/forms/use-field-array.ts +0 -94
  898. package/src/forms/use-form-draft.ts +0 -262
  899. package/src/forms/use-form-submit.ts +0 -199
  900. package/src/notifications/index.ts +0 -88
  901. package/src/notifications/mount-guard.ts +0 -38
  902. package/src/notifications/notify.tsx +0 -379
  903. package/src/provider/connectivity-indicator.tsx +0 -267
  904. package/src/provider/connectivity-provider.tsx +0 -189
  905. package/src/provider/connectivity-types.ts +0 -42
  906. package/src/provider/use-connectivity.ts +0 -26
  907. package/src/query-devtools.tsx +0 -40
  908. /package/dist/{agent-chat → agent/chat}/message-affordances.js +0 -0
  909. /package/dist/{agent-chat → agent/chat}/relative-time.d.ts +0 -0
  910. /package/dist/{agent-chat → agent/chat}/relative-time.js +0 -0
  911. /package/dist/{agent-chat → agent/chat}/use-keyboard-inset.d.ts +0 -0
  912. /package/dist/{agent-chat → agent/chat}/virtualize.js +0 -0
  913. /package/dist/{notifications → commands/notifications}/bell.js +0 -0
  914. /package/dist/{notifications → commands/notifications}/define-notifications.js +0 -0
  915. /package/dist/{provider/connectivity-types.js → controls/uncontrolled.js} +0 -0
  916. /package/dist/{data → table}/data-table.module.css +0 -0
  917. /package/dist/{data → table}/data-table.module.css.d.ts +0 -0
  918. /package/dist/{data → table}/query-branch.d.ts +0 -0
  919. /package/dist/{data → table}/query-branch.js +0 -0
  920. /package/src/{agent-chat → agent/chat}/relative-time.ts +0 -0
  921. /package/src/{data → table}/data-table.module.css +0 -0
  922. /package/src/{data → table}/data-table.module.css.d.ts +0 -0
  923. /package/src/{data → table}/query-branch.ts +0 -0
@@ -1,122 +0,0 @@
1
- /**
2
- * overlays-mount — composable overlay mount for basalt-ui apps.
3
- *
4
- * `BasaltOverlays` bundles ModalsProvider, Spotlight, and Notifications into a single mount point.
5
- * Put it inside BasaltProvider, before the router. It is the ONLY notifications mount — the
6
- * standalone `basalt-ui/notifications` overlay it superseded is gone (C1 consolidation); mounting
7
- * a second, hand-rolled `<Notifications />` alongside `<BasaltOverlays notifications />` still
8
- * double-mounts the overlay and is still wrong for the same reason.
9
- *
10
- * Every layer — ModalsProvider included — mounts as a SIBLING of `children`, never as a wrapper:
11
- * see the comment in the component body (R1). `@mantine/modals`' imperative API (`modals.open*`,
12
- * and so basalt's own `overlays.open`) is a window CustomEvent bus that ModalsProvider subscribes
13
- * to, so nothing needs to be inside it; the one thing a sibling cannot serve is Mantine's
14
- * `useModals()` context hook.
15
- *
16
- * Each overlay system is opt-in via props (all default to true). Use flags to disable layers the
17
- * app does not need — e.g. a charts-only app that has no commands can set `spotlight={false}`.
18
- * A disabled layer's optional peer is NEVER imported — each layer is lazy-loaded (React.lazy +
19
- * dynamic import()) only when its flag is true, and degrades to a no-op fallback instead of
20
- * crashing when the peer is absent.
21
- *
22
- * Optional peers required (only when the corresponding layer is enabled):
23
- * @mantine/modals ^9.3.0 (for modals)
24
- * @mantine/spotlight ^9.3.0 (for spotlight)
25
- * @mantine/notifications ^9.3.0 (for notifications)
26
- * @tanstack/react-hotkeys ^0.10.0 (optional — keybindings degrade to no-op when absent)
27
- *
28
- * Spotlight live store: BasaltOverlays uses a basalt-owned createSpotlight() store so the
29
- * spotlight instance is separate from Mantine's default global. The store is created lazily (on
30
- * first use, whether from mounting the spotlight layer or from calling openSpotlight()/
31
- * closeSpotlight()) so @mantine/spotlight is never imported until actually needed. Import
32
- * `basaltSpotlight` and call `basaltSpotlight.open()` / `basaltSpotlight.close()` from consumer
33
- * code. The re-exported `openSpotlight` / `closeSpotlight` helpers delegate to this store.
34
- *
35
- * @example
36
- * // main.tsx — mount <BasaltOverlays>. Use the layered bundle — the unlayered one outranks
37
- * // basalt's `@layer basalt` styles regardless of specificity:
38
- * import { BasaltOverlays } from 'basalt-ui/commands'
39
- * import '@mantine/spotlight/styles.layer.css'
40
- *
41
- * createRoot(root).render(
42
- * <BasaltProvider>
43
- * <BasaltOverlays>
44
- * <App />
45
- * </BasaltOverlays>
46
- * </BasaltProvider>
47
- * )
48
- *
49
- * // Disable spotlight for apps without commands — @mantine/spotlight is then never imported:
50
- * <BasaltOverlays spotlight={false}>
51
- * <App />
52
- * </BasaltOverlays>
53
- *
54
- * // Open/close programmatically:
55
- * import { openSpotlight, closeSpotlight } from 'basalt-ui/commands'
56
- * openSpotlight()
57
- */
58
- import type { ReactNode } from 'react';
59
- import type { NotificationsProps } from '@mantine/notifications';
60
- import type { SpotlightActionData } from '@mantine/spotlight';
61
- /**
62
- * Basalt-owned Spotlight actions (open/close/toggle), backed by a lazily-created
63
- * createSpotlight() store so @mantine/spotlight is only imported on first use.
64
- *
65
- * @example
66
- * import { basaltSpotlight } from 'basalt-ui/commands'
67
- * basaltSpotlight.open()
68
- */
69
- export declare const basaltSpotlight: {
70
- open: () => void;
71
- close: () => void;
72
- toggle: () => void;
73
- };
74
- /** Open the basalt Spotlight palette programmatically. */
75
- export declare function openSpotlight(): void;
76
- /** Close the basalt Spotlight palette programmatically. */
77
- export declare function closeSpotlight(): void;
78
- export type BasaltOverlaysProps = {
79
- /** Mount @mantine/modals ModalsProvider. Default: true. */
80
- modals?: boolean;
81
- /** Mount @mantine/spotlight Spotlight with mod+K shortcut. Default: true. */
82
- spotlight?: boolean;
83
- /** Mount @mantine/notifications Notifications overlay. Default: true. */
84
- notifications?: boolean;
85
- /**
86
- * Activate @tanstack/react-hotkeys keybindings for all registered commands. Default: true.
87
- * Degrades to no-op when @tanstack/react-hotkeys peer is absent — safe to leave enabled.
88
- */
89
- hotkeys?: boolean;
90
- /** Override or extend the Notifications props (position, autoClose, limit, etc.). Defaults: position="bottom-right", autoClose=4000, limit=5. */
91
- notificationsProps?: Omit<NotificationsProps, 'children'>;
92
- /**
93
- * Extra Spotlight actions merged with the command-projected actions — e.g.
94
- * toRouteActions(nav, { onNavigate }) for page navigation. Rendered BEFORE the command actions
95
- * and grouped by each action's `group`. A static snapshot, same as the command projection.
96
- */
97
- spotlightActions?: SpotlightActionData[];
98
- /**
99
- * Auto-project the registered command bus into Spotlight actions. Default: true. Set false when
100
- * the app supplies the FULL action list itself via `spotlightActions` (e.g. to decorate commands
101
- * with kind badges built from `toSpotlightActions()`) — this avoids the commands appearing twice.
102
- */
103
- projectCommands?: boolean;
104
- /** App content (required). */
105
- children: ReactNode;
106
- };
107
- /**
108
- * Composable overlay mount — renders ModalsProvider, Spotlight and Notifications as siblings of
109
- * `children`. All three layers are enabled by default; pass `false` to disable. A disabled layer's
110
- * optional peer is never imported.
111
- *
112
- * Mount exactly ONE BasaltOverlays per app — a second instance double-mounts `<Notifications />`.
113
- *
114
- * @example
115
- * <BasaltProvider>
116
- * <BasaltOverlays>
117
- * <RouterProvider router={router} />
118
- * </BasaltOverlays>
119
- * </BasaltProvider>
120
- */
121
- export declare function BasaltOverlays({ modals: enableModals, spotlight: enableSpotlight, notifications: enableNotifications, hotkeys: enableHotkeys, notificationsProps, spotlightActions, projectCommands, children, }: BasaltOverlaysProps): import("react").JSX.Element;
122
- //# sourceMappingURL=overlays-mount.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"overlays-mount.d.ts","sourceRoot":"","sources":["../../src/commands/overlays-mount.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwDG;AACH,OAAO,KAAK,EAAiB,SAAS,EAAE,MAAM,OAAO,CAAA;AAGrD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAA;AAChE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAA;AAmC7D;;;;;;;GAOG;AACH,eAAO,MAAM,eAAe;gBAChB,IAAI;iBAGH,IAAI;kBAGH,IAAI;CAGjB,CAAA;AAID,0DAA0D;AAC1D,wBAAgB,aAAa,IAAI,IAAI,CAEpC;AAED,2DAA2D;AAC3D,wBAAgB,cAAc,IAAI,IAAI,CAErC;AAID,MAAM,MAAM,mBAAmB,GAAG;IAChC,2DAA2D;IAC3D,MAAM,CAAC,EAAE,OAAO,CAAA;IAChB,6EAA6E;IAC7E,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,yEAAyE;IACzE,aAAa,CAAC,EAAE,OAAO,CAAA;IACvB;;;OAGG;IACH,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,iJAAiJ;IACjJ,kBAAkB,CAAC,EAAE,IAAI,CAAC,kBAAkB,EAAE,UAAU,CAAC,CAAA;IACzD;;;;OAIG;IACH,gBAAgB,CAAC,EAAE,mBAAmB,EAAE,CAAA;IACxC;;;;OAIG;IACH,eAAe,CAAC,EAAE,OAAO,CAAA;IACzB,8BAA8B;IAC9B,QAAQ,EAAE,SAAS,CAAA;CACpB,CAAA;AAqHD;;;;;;;;;;;;;GAaG;AACH,wBAAgB,cAAc,CAAC,EAC7B,MAAM,EAAE,YAAmB,EAC3B,SAAS,EAAE,eAAsB,EACjC,aAAa,EAAE,mBAA0B,EACzC,OAAO,EAAE,aAAoB,EAC7B,kBAAkB,EAClB,gBAAgB,EAChB,eAAsB,EACtB,QAAQ,GACT,EAAE,mBAAmB,+BAkCrB"}
@@ -1,125 +0,0 @@
1
- import { Fragment, jsx, jsxs } from "react/jsx-runtime";
2
- import { lazy, Suspense } from "react";
3
- import { runCommand } from "./define-commands.js";
4
- import { useModalsLayer } from "./define-overlays.js";
5
- import { toSpotlightActions } from "./projectors.js";
6
- import { useCommandHotkeys } from "./useCommandHotkeys.js";
7
- import { useNotificationsMountGuard } from "../notifications/mount-guard.js";
8
- let spotlightHandlePromise;
9
- function loadSpotlightHandle() {
10
- spotlightHandlePromise ??= import("@mantine/spotlight").then(({ createSpotlight }) => {
11
- const [store, actions] = createSpotlight();
12
- return { store, actions };
13
- }).catch(() => void 0);
14
- return spotlightHandlePromise;
15
- }
16
- const basaltSpotlight = {
17
- open: () => {
18
- void loadSpotlightHandle().then((handle) => handle?.actions.open());
19
- },
20
- close: () => {
21
- void loadSpotlightHandle().then((handle) => handle?.actions.close());
22
- },
23
- toggle: () => {
24
- void loadSpotlightHandle().then((handle) => handle?.actions.toggle());
25
- }
26
- };
27
- function openSpotlight() {
28
- basaltSpotlight.open();
29
- }
30
- function closeSpotlight() {
31
- basaltSpotlight.close();
32
- }
33
- function PassthroughFragment({ children }) {
34
- return /* @__PURE__ */ jsx(Fragment, { children });
35
- }
36
- const LazyModalsProvider = lazy(
37
- () => import("@mantine/modals").then((m) => ({ default: m.ModalsProvider })).catch(() => ({ default: PassthroughFragment }))
38
- );
39
- Object.assign(LazyModalsProvider, { displayName: "LazyModalsProvider" });
40
- function NullFallback() {
41
- return null;
42
- }
43
- const LazySpotlightMount = lazy(
44
- () => Promise.all([import("@mantine/spotlight"), loadSpotlightHandle()]).then(([{ Spotlight }, handle]) => {
45
- if (handle === void 0) return { default: NullFallback };
46
- const spotlightHandle = handle;
47
- function SpotlightMountInner({
48
- extraActions,
49
- projectCommands = true
50
- }) {
51
- const commandActions = projectCommands ? toSpotlightActions((id) => {
52
- spotlightHandle.actions.close();
53
- void runCommand(id);
54
- }) : [];
55
- const actions = [...extraActions ?? [], ...commandActions];
56
- return /* @__PURE__ */ jsx(
57
- Spotlight,
58
- {
59
- store: spotlightHandle.store,
60
- actions,
61
- shortcut: "mod + K",
62
- maxHeight: 420
63
- }
64
- );
65
- }
66
- return { default: SpotlightMountInner };
67
- }).catch(() => ({ default: NullFallback }))
68
- );
69
- Object.assign(LazySpotlightMount, { displayName: "LazySpotlightMount" });
70
- function NotificationsFallback(_props) {
71
- return null;
72
- }
73
- const LazyNotifications = lazy(
74
- () => import("@mantine/notifications").then((m) => ({ default: m.Notifications })).catch(() => ({ default: NotificationsFallback }))
75
- );
76
- Object.assign(LazyNotifications, { displayName: "LazyNotifications" });
77
- function NotificationsLayer({
78
- notificationsProps
79
- }) {
80
- useNotificationsMountGuard();
81
- return /* @__PURE__ */ jsx(Suspense, { fallback: null, children: /* @__PURE__ */ jsx(
82
- LazyNotifications,
83
- {
84
- position: "bottom-right",
85
- autoClose: 4e3,
86
- limit: 5,
87
- ...notificationsProps
88
- }
89
- ) });
90
- }
91
- function HotkeysMount() {
92
- useCommandHotkeys();
93
- return null;
94
- }
95
- function BasaltOverlays({
96
- modals: enableModals = true,
97
- spotlight: enableSpotlight = true,
98
- notifications: enableNotifications = true,
99
- hotkeys: enableHotkeys = true,
100
- notificationsProps,
101
- spotlightActions,
102
- projectCommands = true,
103
- children
104
- }) {
105
- useModalsLayer(enableModals);
106
- return /* @__PURE__ */ jsxs(Fragment, { children: [
107
- enableSpotlight && /* @__PURE__ */ jsx(Suspense, { fallback: null, children: /* @__PURE__ */ jsx(
108
- LazySpotlightMount,
109
- {
110
- projectCommands,
111
- ...spotlightActions !== void 0 && { extraActions: spotlightActions }
112
- }
113
- ) }),
114
- enableNotifications && /* @__PURE__ */ jsx(NotificationsLayer, { notificationsProps }),
115
- enableHotkeys && /* @__PURE__ */ jsx(HotkeysMount, {}),
116
- enableModals && /* @__PURE__ */ jsx(Suspense, { fallback: null, children: /* @__PURE__ */ jsx(LazyModalsProvider, {}) }),
117
- children
118
- ] });
119
- }
120
- export {
121
- BasaltOverlays,
122
- basaltSpotlight,
123
- closeSpotlight,
124
- openSpotlight
125
- };
@@ -1,14 +0,0 @@
1
- /**
2
- * Reads the active command registry and binds each command's `shortcut` to its `run()` via
3
- * the @tanstack/react-hotkeys HotkeyManager singleton. Degrades to a no-op when the optional
4
- * peer is absent.
5
- *
6
- * Registers on mount, unregisters on unmount. Re-runs whenever the effect deps change.
7
- * Commands without a shortcut are skipped. Commands where `when()` returns false at press time
8
- * are silently skipped (the binding stays registered; the when-gate fires in the callback).
9
- *
10
- * @example
11
- * useCommandHotkeys()
12
- */
13
- export declare function useCommandHotkeys(): void;
14
- //# sourceMappingURL=useCommandHotkeys.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useCommandHotkeys.d.ts","sourceRoot":"","sources":["../../src/commands/useCommandHotkeys.ts"],"names":[],"mappings":"AAqDA;;;;;;;;;;;GAWG;AACH,wBAAgB,iBAAiB,IAAI,IAAI,CAgDxC"}
@@ -1,45 +0,0 @@
1
- import { useEffect } from "react";
2
- import { getActiveCommands } from "./define-commands.js";
3
- function useCommandHotkeys() {
4
- useEffect(() => {
5
- let handles = [];
6
- let cancelled = false;
7
- const bind = async () => {
8
- let peer;
9
- try {
10
- peer = await import("@tanstack/react-hotkeys");
11
- } catch {
12
- return;
13
- }
14
- if (cancelled) return;
15
- if (typeof peer.getHotkeyManager !== "function") return;
16
- const manager = peer.getHotkeyManager();
17
- const cmds = getActiveCommands();
18
- for (const [, cmd] of Object.entries(cmds)) {
19
- if (cmd.shortcut === void 0) continue;
20
- const handle = manager.register(
21
- cmd.shortcut,
22
- (event) => {
23
- if (cmd.when !== void 0 && !cmd.when()) return;
24
- event.preventDefault();
25
- void cmd.run();
26
- },
27
- // preventDefault: false — we handle it manually above, gated on when()
28
- { preventDefault: false }
29
- );
30
- handles.push(handle);
31
- }
32
- };
33
- void bind();
34
- return () => {
35
- cancelled = true;
36
- for (const handle of handles) {
37
- handle.unregister();
38
- }
39
- handles = [];
40
- };
41
- }, []);
42
- }
43
- export {
44
- useCommandHotkeys
45
- };
@@ -1,39 +0,0 @@
1
- /**
2
- * toArticleActions — projects an article list into Mantine Spotlight actions
3
- * (docs/CONTENT-SPEC.md). A pure in-memory PROJECTOR into the already-shipped Spotlight surface —
4
- * the same tier as `toRouteActions` (`basalt-ui/commands`). It does not tokenize, rank, index, or
5
- * persist; an app that outgrows substring matching brings its own index.
6
- *
7
- * `SpotlightActionData` is imported TYPE-ONLY — it erases at build, so `./content` stays a types-
8
- * only optional peer of `@mantine/spotlight` and adds no runtime edge. The consumer merges the
9
- * result into its own `<Spotlight>`/`toSpotlightActions()` action array.
10
- *
11
- * @example
12
- * const articleActions = toArticleActions(ARTICLES, {
13
- * onNavigate: (href) => router.navigate({ to: href as never }),
14
- * href: (article) => (article.slug === 'reading-dashboards' ? '/content' : '#'),
15
- * group: 'Guides',
16
- * })
17
- */
18
- import type { SpotlightActionData } from '@mantine/spotlight';
19
- import type { ReactNode } from 'react';
20
- import type { Article } from './article-model.js';
21
- export type ToArticleActionsOptions = {
22
- /** Navigate to an article's href — e.g. `(href) => router.navigate({ to: href })`. */
23
- onNavigate: (href: string) => void;
24
- /** Consumer owns routing — maps an article to its destination href. */
25
- href: (article: Article) => string;
26
- /** Prefix for generated action ids so they never collide with route/command ids. Default 'article:'. */
27
- idPrefix?: string;
28
- /** Spotlight group for every produced action (e.g. 'Guides'). Omit for an ungrouped, flat list. */
29
- group?: string;
30
- /** Node rendered on the right of every action — e.g. a kind badge (`<Badge>Guide</Badge>`). */
31
- rightSection?: ReactNode;
32
- };
33
- /**
34
- * Project an article list into Mantine Spotlight actions. `keywords` joins title, description,
35
- * category, tags, and slug — this is why tags/category live on the model, they make an article
36
- * findable by topic even when the title itself doesn't mention it.
37
- */
38
- export declare function toArticleActions(articles: readonly Article[], options: ToArticleActionsOptions): SpotlightActionData[];
39
- //# sourceMappingURL=article-actions.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"article-actions.d.ts","sourceRoot":"","sources":["../../src/content/article-actions.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AACH,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAA;AAC7D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AACtC,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAA;AAE9C,MAAM,MAAM,uBAAuB,GAAG;IACpC,sFAAsF;IACtF,UAAU,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAA;IAClC,uEAAuE;IACvE,IAAI,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,MAAM,CAAA;IAClC,wGAAwG;IACxG,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,mGAAmG;IACnG,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,+FAA+F;IAC/F,YAAY,CAAC,EAAE,SAAS,CAAA;CACzB,CAAA;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,CAC9B,QAAQ,EAAE,SAAS,OAAO,EAAE,EAC5B,OAAO,EAAE,uBAAuB,GAC/B,mBAAmB,EAAE,CA6BvB"}
@@ -1,28 +0,0 @@
1
- function toArticleActions(articles, options) {
2
- const { onNavigate, href, idPrefix = "article:", group, rightSection } = options;
3
- const actions = [];
4
- for (const article of articles) {
5
- const target = href(article);
6
- const keywords = [
7
- article.title,
8
- article.description,
9
- article.category,
10
- ...article.tags ?? [],
11
- article.slug
12
- ].filter((part) => part !== void 0).join(" ");
13
- const action = {
14
- id: `${idPrefix}${target}`,
15
- label: article.title,
16
- keywords,
17
- onClick: () => onNavigate(target)
18
- };
19
- if (article.description !== void 0) action.description = article.description;
20
- if (group !== void 0) action.group = group;
21
- if (rightSection !== void 0) action.rightSection = rightSection;
22
- actions.push(action);
23
- }
24
- return actions;
25
- }
26
- export {
27
- toArticleActions
28
- };
@@ -1,58 +0,0 @@
1
- /**
2
- * ArticleCard / ArticleGrid — the docs-landing overview building blocks (docs/CONTENT-SPEC.md
3
- * §3/§7): an icon/title/description/meta card over the shipped `Card` chrome, and the responsive
4
- * grid that lays a set of them out.
5
- *
6
- * `ArticleCard` is clickable three ways — pick whichever fits: `href` alone renders the `Card`
7
- * itself as an anchor; `href` + `renderLink` hands the card to a router bridge (e.g. TanStack
8
- * `Link`); `onClick` alone renders a keyboard-operable button-role card. Omit all three for a
9
- * static, non-interactive card.
10
- *
11
- * @example
12
- * import { ArticleCard, ArticleGrid } from 'basalt-ui/content'
13
- * import { Link } from '@tanstack/react-router'
14
- *
15
- * <ArticleGrid>
16
- * <ArticleCard
17
- * title="Reading dashboards"
18
- * description="Why most internal dashboards fail the five-second glance test."
19
- * date="2026-07-16"
20
- * readingTime={6}
21
- * category="guide"
22
- * tags={['dashboards', 'ux']}
23
- * href="/content"
24
- * renderLink={(target, node) => <Link to={target.href}>{node}</Link>}
25
- * />
26
- * </ArticleGrid>
27
- */
28
- import type { CSSProperties, ReactNode } from 'react';
29
- import type { ArticleNavTarget } from './article-layout.js';
30
- export type ArticleCardProps = {
31
- readonly title: string;
32
- readonly description?: string;
33
- readonly icon?: ReactNode;
34
- /** ISO 8601 — rendered via `formatArticleDate`. */
35
- readonly date?: string;
36
- readonly category?: string;
37
- readonly tags?: readonly string[];
38
- /** Minutes; rendered as `"N min read"`. */
39
- readonly readingTime?: number;
40
- /** Locale passed to `formatArticleDate`. Default `'en-US'` — see its JSDoc for why this is
41
- * pinned rather than defaulting to the runtime locale. */
42
- readonly locale?: string;
43
- readonly href?: string;
44
- /** Router bridge — when given alongside `href`, the card is handed to it instead of rendering a
45
- * plain anchor itself. */
46
- readonly renderLink?: (target: ArticleNavTarget, node: ReactNode) => ReactNode;
47
- readonly onClick?: () => void;
48
- readonly className?: string;
49
- readonly style?: CSSProperties;
50
- };
51
- export declare function ArticleCard({ title, description, icon, date, category, tags, readingTime, locale, href, renderLink, onClick, className, style, }: ArticleCardProps): import("react").JSX.Element;
52
- export type ArticleGridProps = {
53
- readonly children: ReactNode;
54
- /** Columns at the `lg` breakpoint. Default `3`. */
55
- readonly cols?: number;
56
- };
57
- export declare function ArticleGrid({ children, cols }: ArticleGridProps): import("react").JSX.Element;
58
- //# sourceMappingURL=article-card.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"article-card.d.ts","sourceRoot":"","sources":["../../src/content/article-card.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,OAAO,KAAK,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAIrD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAA;AAExD,MAAM,MAAM,gBAAgB,GAAG;IAC7B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAA;IAC7B,QAAQ,CAAC,IAAI,CAAC,EAAE,SAAS,CAAA;IACzB,mDAAmD;IACnD,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;IAC1B,QAAQ,CAAC,IAAI,CAAC,EAAE,SAAS,MAAM,EAAE,CAAA;IACjC,2CAA2C;IAC3C,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAA;IAC7B;8DAC0D;IAC1D,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAA;IACxB,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAA;IACtB;8BAC0B;IAC1B,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC,MAAM,EAAE,gBAAgB,EAAE,IAAI,EAAE,SAAS,KAAK,SAAS,CAAA;IAC9E,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,IAAI,CAAA;IAC7B,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAA;IAC3B,QAAQ,CAAC,KAAK,CAAC,EAAE,aAAa,CAAA;CAC/B,CAAA;AAMD,wBAAgB,WAAW,CAAC,EAC1B,KAAK,EACL,WAAW,EACX,IAAI,EACJ,IAAI,EACJ,QAAQ,EACR,IAAI,EACJ,WAAW,EACX,MAAgB,EAChB,IAAI,EACJ,UAAU,EACV,OAAO,EACP,SAAS,EACT,KAAK,GACN,EAAE,gBAAgB,+BAqFlB;AAED,MAAM,MAAM,gBAAgB,GAAG;IAC7B,QAAQ,CAAC,QAAQ,EAAE,SAAS,CAAA;IAC5B,mDAAmD;IACnD,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CACvB,CAAA;AAED,wBAAgB,WAAW,CAAC,EAAE,QAAQ,EAAE,IAAQ,EAAE,EAAE,gBAAgB,+BAOnE"}
@@ -1,79 +0,0 @@
1
- import { Fragment, jsx, jsxs } from "react/jsx-runtime";
2
- import { Card, SimpleGrid } from "@mantine/core";
3
- import classes from "./article-card.module.css";
4
- import { formatArticleDate } from "./article-model.js";
5
- const CARD_STYLE = {
6
- padding: "var(--mantine-spacing-xs) var(--mantine-spacing-sm)"
7
- };
8
- function ArticleCard({
9
- title,
10
- description,
11
- icon,
12
- date,
13
- category,
14
- tags,
15
- readingTime,
16
- locale = "en-US",
17
- href,
18
- renderLink,
19
- onClick,
20
- className,
21
- style
22
- }) {
23
- const cardClass = [
24
- classes.card,
25
- (href !== void 0 || onClick !== void 0) && classes.clickable,
26
- className
27
- ].filter(Boolean).join(" ");
28
- const mergedStyle = { ...CARD_STYLE, ...style };
29
- const meta = [
30
- date !== void 0 ? formatArticleDate(date, locale) : void 0,
31
- readingTime !== void 0 ? `${readingTime} min read` : void 0,
32
- category
33
- ].filter((part) => part !== void 0).join(" \xB7 ");
34
- const body = /* @__PURE__ */ jsxs(Fragment, { children: [
35
- icon !== void 0 && /* @__PURE__ */ jsx("span", { className: classes.icon, children: icon }),
36
- /* @__PURE__ */ jsx("span", { className: classes.title, children: title }),
37
- description !== void 0 && /* @__PURE__ */ jsx("span", { className: classes.description, children: description }),
38
- tags !== void 0 && tags.length > 0 && /* @__PURE__ */ jsx("span", { className: classes.tags, children: tags.map((tag) => /* @__PURE__ */ jsx("span", { className: classes.tag, children: tag }, tag)) }),
39
- meta !== "" && /* @__PURE__ */ jsx("span", { className: classes.meta, children: meta })
40
- ] });
41
- if (href !== void 0 && renderLink !== void 0) {
42
- const target = {
43
- label: title,
44
- href,
45
- ...description !== void 0 && { description }
46
- };
47
- return /* @__PURE__ */ jsx("span", { className: classes.linkWrap, children: renderLink(
48
- target,
49
- /* @__PURE__ */ jsx(Card, { className: cardClass, style: mergedStyle, children: body })
50
- ) });
51
- }
52
- if (href !== void 0) {
53
- return /* @__PURE__ */ jsx(Card, { component: "a", href, className: cardClass, style: mergedStyle, children: body });
54
- }
55
- if (onClick !== void 0) {
56
- return /* @__PURE__ */ jsx(
57
- Card,
58
- {
59
- component: "button",
60
- type: "button",
61
- onClick,
62
- className: cardClass,
63
- style: mergedStyle,
64
- children: body
65
- }
66
- );
67
- }
68
- return /* @__PURE__ */ jsx(Card, { className: cardClass, style: mergedStyle, children: body });
69
- }
70
- function ArticleGrid({ children, cols = 3 }) {
71
- return (
72
- // theme-allow raw-breakpoint — `cols` is documented per viewport `lg`; container keys would re-flow every consumer's grid, so that move ships opt-in
73
- /* @__PURE__ */ jsx(SimpleGrid, { cols: { base: 1, sm: 2, lg: cols }, spacing: "sm", children })
74
- );
75
- }
76
- export {
77
- ArticleCard,
78
- ArticleGrid
79
- };
@@ -1,111 +0,0 @@
1
- /*
2
- * ArticleCard — the docs-landing overview building block (docs/CONTENT-SPEC.md §3/§7): panel bg +
3
- * shadow-card + card-radius (inherited from the shipped `Card` theme, same as StatCard/
4
- * SettingsSection), a clickable whole-card affordance when `href`/`onClick` is given.
5
- */
6
-
7
- .card {
8
- display: flex;
9
- flex-direction: column;
10
- gap: var(--vx-space-stack-sm);
11
- text-decoration: none;
12
- color: inherit;
13
- }
14
-
15
- /* The `renderLink` router bridge renders a consumer anchor around the card — neutralize the
16
- * browser anchor defaults it brings, and keep the grid cell's full height flowing through. */
17
- .linkWrap {
18
- display: block;
19
- height: 100%;
20
- }
21
-
22
- .linkWrap a {
23
- display: block;
24
- height: 100%;
25
- text-decoration: none;
26
- color: inherit;
27
- }
28
-
29
- .clickable {
30
- cursor: pointer;
31
- transition: background-color 120ms ease;
32
- /* Native-`<button>` reset — ArticleCard's `onClick`-only variant renders `Card component="button"`
33
- * for real keyboard/AT semantics. The browser's UA-origin button chrome (border, font, text-align)
34
- * always loses to Card's own authored background/shadow/radius, but these three properties are
35
- * NOT set by Card itself, so the button's UA defaults would otherwise leak through. */
36
- width: 100%;
37
- border: none;
38
- font: inherit;
39
- text-align: inherit;
40
- }
41
-
42
- .clickable:hover,
43
- .clickable:focus-visible {
44
- background-color: var(--vx-surface-panel-hover);
45
- }
46
-
47
- .clickable:hover .title,
48
- .clickable:focus-visible .title {
49
- color: var(--vx-accent);
50
- }
51
-
52
- .clickable:focus-visible {
53
- /* Focus-ring width/offset — paired with (and sized off) the outline's own 2px stroke, not a
54
- * spacing gap; out of scope like a border-shorthand width. */
55
- outline: 2px solid var(--vx-accent);
56
- outline-offset: 2px;
57
- }
58
-
59
- .icon {
60
- display: flex;
61
- color: var(--vx-muted);
62
- }
63
-
64
- .title {
65
- font-family: var(--basalt-font-head);
66
- font-stretch: 88%;
67
- font-weight: 550;
68
- font-size: var(--vx-text-md);
69
- color: var(--vx-ink);
70
- transition: color 120ms ease;
71
- }
72
-
73
- .description {
74
- font-size: var(--vx-text-sm);
75
- color: var(--vx-ink2);
76
- display: -webkit-box;
77
- -webkit-line-clamp: 2;
78
- -webkit-box-orient: vertical;
79
- overflow: hidden;
80
- }
81
-
82
- /* Quiet — a data label, not a status. Muted text on a faint ink tint, same recipe as the code
83
- * block/callout/prose surfaces (`color-mix(in srgb, var(--vx-ink) 6%, transparent)`); no accent,
84
- * no status color. */
85
- .tags {
86
- display: flex;
87
- flex-wrap: wrap;
88
- gap: var(--vx-space-article-card-tags-gap);
89
- }
90
-
91
- .tag {
92
- padding: var(--vx-space-article-card-tag-inset-y) var(--vx-space-article-card-tag-inset-x);
93
- border-radius: var(--vx-radius-fine);
94
- background-color: color-mix(in srgb, var(--vx-ink) 6%, transparent);
95
- color: var(--vx-muted);
96
- font-size: var(--vx-text-micro);
97
- }
98
-
99
- /* Pinned to the card's floor, not floated up behind a short description: the grid stretches every
100
- * card in a row to one height, so a content-following meta line lands at a different y in each
101
- * card and the row reads ragged. `margin-top: auto` in the card's flex column gives the row one
102
- * meta baseline regardless of how many lines each description clamps to. */
103
- .meta {
104
- margin-top: auto;
105
- padding-top: var(--vx-space-article-card-meta-gap-top);
106
- font-family: var(--basalt-font-mono);
107
- font-size: var(--vx-text-micro);
108
- letter-spacing: 0.06em;
109
- text-transform: uppercase;
110
- color: var(--vx-faint);
111
- }
@@ -1,20 +0,0 @@
1
- import type { Components } from 'react-markdown';
2
- import { SlugTracker } from './slug.js';
3
- export type CreateMdxComponentsOptions = {
4
- /** Reuse an existing tracker — e.g. to share heading ids with a `TableOfContents` collecting
5
- * over the same rendered document. Omit for a fresh, page-scoped tracker. */
6
- readonly slugTracker?: SlugTracker;
7
- };
8
- /** Builds the MDX element map (slugged/anchored headings, code/mermaid fences, alert-aware
9
- * blockquotes, external-link treatment). Pass `slugTracker` to share ids across components
10
- * rendering the same document; omit it to get a fresh tracker per call. */
11
- export declare function createMdxComponents(options?: CreateMdxComponentsOptions): Components;
12
- /**
13
- * A ready-to-use element map for simple cases. Built ONCE at module scope with its own
14
- * `SlugTracker` — every consumer of this constant shares that single tracker for the lifetime of
15
- * the app, so a heading text repeated across two DIFFERENT MDX documents will get a `-1`-suffixed
16
- * id on the second document, not a fresh `overview` on both. Reach for `createMdxComponents()`
17
- * (called per document/render) instead when that matters — e.g. a multi-document docs site.
18
- */
19
- export declare const mdxComponents: Components;
20
- //# sourceMappingURL=mdx.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"mdx.d.ts","sourceRoot":"","sources":["../../src/content/mdx.tsx"],"names":[],"mappings":"AA8BA,OAAO,KAAK,EAAE,UAAU,EAAc,MAAM,gBAAgB,CAAA;AAM5D,OAAO,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAA;AAgEpC,MAAM,MAAM,0BAA0B,GAAG;IACvC;iFAC6E;IAC7E,QAAQ,CAAC,WAAW,CAAC,EAAE,WAAW,CAAA;CACnC,CAAA;AAED;;2EAE2E;AAC3E,wBAAgB,mBAAmB,CAAC,OAAO,GAAE,0BAA+B,GAAG,UAAU,CAQxF;AAED;;;;;;GAMG;AACH,eAAO,MAAM,aAAa,EAAE,UAAkC,CAAA"}