@cueplusplus/ui 0.13.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 (1016) hide show
  1. package/CHANGELOG.md +4028 -0
  2. package/LICENSE +21 -0
  3. package/NOTICE.md +34 -0
  4. package/README.md +237 -0
  5. package/dist/agent-runtime/_glyphs.js +43 -0
  6. package/dist/agent-runtime/branch-picker.d.ts +45 -0
  7. package/dist/agent-runtime/branch-picker.js +87 -0
  8. package/dist/agent-runtime/index.d.ts +4 -0
  9. package/dist/agent-runtime/index.js +4 -0
  10. package/dist/agent-runtime/tool-call-card.d.ts +69 -0
  11. package/dist/agent-runtime/tool-call-card.js +187 -0
  12. package/dist/agent-runtime/use-agent-thread.d.ts +164 -0
  13. package/dist/agent-runtime/use-agent-thread.js +251 -0
  14. package/dist/brand/_chassis.d.ts +54 -0
  15. package/dist/brand/_chassis.js +81 -0
  16. package/dist/brand/_geometry.js +41 -0
  17. package/dist/brand/cue-logotype.d.ts +29 -0
  18. package/dist/brand/cue-logotype.js +60 -0
  19. package/dist/brand/cue-mark.d.ts +30 -0
  20. package/dist/brand/cue-mark.js +61 -0
  21. package/dist/brand/index.d.ts +5 -0
  22. package/dist/brand/plussie.d.ts +67 -0
  23. package/dist/brand/plussie.js +125 -0
  24. package/dist/charts/_token.js +39 -0
  25. package/dist/charts/container.d.ts +58 -0
  26. package/dist/charts/container.js +77 -0
  27. package/dist/charts/index.d.ts +5 -0
  28. package/dist/charts/index.js +5 -0
  29. package/dist/charts/ramps.d.ts +140 -0
  30. package/dist/charts/ramps.js +615 -0
  31. package/dist/charts/theme.d.ts +112 -0
  32. package/dist/charts/theme.js +165 -0
  33. package/dist/charts/tones.d.ts +111 -0
  34. package/dist/charts/tones.js +127 -0
  35. package/dist/chat/_glyphs.js +55 -0
  36. package/dist/chat/agent-color.d.ts +84 -0
  37. package/dist/chat/agent-color.js +101 -0
  38. package/dist/chat/agent-pile.d.ts +55 -0
  39. package/dist/chat/agent-pile.js +121 -0
  40. package/dist/chat/ask-box.d.ts +88 -0
  41. package/dist/chat/ask-box.js +341 -0
  42. package/dist/chat/composer.d.ts +66 -0
  43. package/dist/chat/composer.js +144 -0
  44. package/dist/chat/delegation-card.d.ts +60 -0
  45. package/dist/chat/delegation-card.js +129 -0
  46. package/dist/chat/index.d.ts +8 -0
  47. package/dist/chat/index.js +8 -0
  48. package/dist/chat/message-list.d.ts +45 -0
  49. package/dist/chat/message-list.js +141 -0
  50. package/dist/chat/message.d.ts +47 -0
  51. package/dist/chat/message.js +108 -0
  52. package/dist/chrome/_band.js +54 -0
  53. package/dist/chrome/_drag.js +59 -0
  54. package/dist/chrome/_edge-scroller.d.ts +45 -0
  55. package/dist/chrome/_edge-scroller.js +149 -0
  56. package/dist/chrome/_glyphs.js +119 -0
  57. package/dist/chrome/_status-bar-item.js +85 -0
  58. package/dist/chrome/_status-bar.d.ts +15 -0
  59. package/dist/chrome/_status-bar.js +171 -0
  60. package/dist/chrome/_tabs-scroll.d.ts +67 -0
  61. package/dist/chrome/_tabs-scroll.js +73 -0
  62. package/dist/chrome/_tree.d.ts +75 -0
  63. package/dist/chrome/_tree.js +49 -0
  64. package/dist/chrome/app-bar.d.ts +103 -0
  65. package/dist/chrome/app-bar.js +175 -0
  66. package/dist/chrome/app-shell.d.ts +243 -0
  67. package/dist/chrome/app-shell.js +266 -0
  68. package/dist/chrome/band.d.ts +106 -0
  69. package/dist/chrome/band.js +97 -0
  70. package/dist/chrome/empty-state.d.ts +37 -0
  71. package/dist/chrome/empty-state.js +57 -0
  72. package/dist/chrome/eyebrow.d.ts +29 -0
  73. package/dist/chrome/eyebrow.js +36 -0
  74. package/dist/chrome/footer.d.ts +88 -0
  75. package/dist/chrome/footer.js +83 -0
  76. package/dist/chrome/index.d.ts +24 -0
  77. package/dist/chrome/index.js +22 -0
  78. package/dist/chrome/inspector.d.ts +61 -0
  79. package/dist/chrome/inspector.js +121 -0
  80. package/dist/chrome/navigation-menu.d.ts +80 -0
  81. package/dist/chrome/navigation-menu.js +121 -0
  82. package/dist/chrome/page-shell.d.ts +38 -0
  83. package/dist/chrome/page-shell.js +76 -0
  84. package/dist/chrome/panel.d.ts +55 -0
  85. package/dist/chrome/panel.js +67 -0
  86. package/dist/chrome/row.d.ts +82 -0
  87. package/dist/chrome/row.js +106 -0
  88. package/dist/chrome/scroll-area.d.ts +39 -0
  89. package/dist/chrome/scroll-area.js +70 -0
  90. package/dist/chrome/section-header.d.ts +42 -0
  91. package/dist/chrome/section-header.js +79 -0
  92. package/dist/chrome/segmented-control.d.ts +77 -0
  93. package/dist/chrome/segmented-control.js +95 -0
  94. package/dist/chrome/status-bar.d.ts +129 -0
  95. package/dist/chrome/status-bar.js +120 -0
  96. package/dist/chrome/tabs.d.ts +80 -0
  97. package/dist/chrome/tabs.js +132 -0
  98. package/dist/chrome/title-bar.d.ts +47 -0
  99. package/dist/chrome/title-bar.js +43 -0
  100. package/dist/chrome/toolbar.d.ts +68 -0
  101. package/dist/chrome/toolbar.js +83 -0
  102. package/dist/chrome/tree.d.ts +98 -0
  103. package/dist/chrome/tree.js +248 -0
  104. package/dist/color/_checker.js +14 -0
  105. package/dist/color/_convert.d.ts +52 -0
  106. package/dist/color/_convert.js +66 -0
  107. package/dist/color/_glyphs.js +28 -0
  108. package/dist/color/_thumb.js +15 -0
  109. package/dist/color/_value.js +28 -0
  110. package/dist/color/color-area.d.ts +27 -0
  111. package/dist/color/color-area.js +40 -0
  112. package/dist/color/color-field.d.ts +32 -0
  113. package/dist/color/color-field.js +43 -0
  114. package/dist/color/color-picker.d.ts +71 -0
  115. package/dist/color/color-picker.js +178 -0
  116. package/dist/color/color-slider.d.ts +31 -0
  117. package/dist/color/color-slider.js +51 -0
  118. package/dist/color/color-swatch.d.ts +32 -0
  119. package/dist/color/color-swatch.js +44 -0
  120. package/dist/color/index.d.ts +7 -0
  121. package/dist/color/index.js +7 -0
  122. package/dist/configurator/_export.d.ts +78 -0
  123. package/dist/configurator/_export.js +302 -0
  124. package/dist/configurator/_glyphs.js +92 -0
  125. package/dist/configurator/_overrides.d.ts +266 -0
  126. package/dist/configurator/_overrides.js +541 -0
  127. package/dist/configurator/configurator.d.ts +71 -0
  128. package/dist/configurator/configurator.js +284 -0
  129. package/dist/configurator/export-dialog.d.ts +30 -0
  130. package/dist/configurator/export-dialog.js +121 -0
  131. package/dist/configurator/index.d.ts +8 -0
  132. package/dist/configurator/index.js +8 -0
  133. package/dist/configurator/panel-sections.d.ts +86 -0
  134. package/dist/configurator/panel-sections.js +352 -0
  135. package/dist/configurator/token-editor.d.ts +74 -0
  136. package/dist/configurator/token-editor.js +152 -0
  137. package/dist/configurator/use-zoom.d.ts +87 -0
  138. package/dist/configurator/use-zoom.js +113 -0
  139. package/dist/date/_glyphs.js +34 -0
  140. package/dist/date/_segments.js +101 -0
  141. package/dist/date/_trigger.js +31 -0
  142. package/dist/date/calendar.d.ts +25 -0
  143. package/dist/date/calendar.js +125 -0
  144. package/dist/date/date-field.d.ts +34 -0
  145. package/dist/date/date-field.js +41 -0
  146. package/dist/date/date-picker.d.ts +69 -0
  147. package/dist/date/date-picker.js +89 -0
  148. package/dist/date/date-range-picker.d.ts +65 -0
  149. package/dist/date/date-range-picker.js +92 -0
  150. package/dist/date/index.d.ts +6 -0
  151. package/dist/date/index.js +6 -0
  152. package/dist/date/time-field.d.ts +29 -0
  153. package/dist/date/time-field.js +36 -0
  154. package/dist/dmx/_ramp.d.ts +77 -0
  155. package/dist/dmx/_ramp.js +169 -0
  156. package/dist/dmx/_readout.js +53 -0
  157. package/dist/dmx/_universe.d.ts +105 -0
  158. package/dist/dmx/_universe.js +112 -0
  159. package/dist/dmx/channel-matrix.d.ts +81 -0
  160. package/dist/dmx/channel-matrix.js +285 -0
  161. package/dist/dmx/dmx-bar.d.ts +50 -0
  162. package/dist/dmx/dmx-bar.js +107 -0
  163. package/dist/dmx/dmx-strip.d.ts +41 -0
  164. package/dist/dmx/dmx-strip.js +196 -0
  165. package/dist/dmx/index.d.ts +7 -0
  166. package/dist/dmx/index.js +7 -0
  167. package/dist/dmx/universe-grid.d.ts +61 -0
  168. package/dist/dmx/universe-grid.js +182 -0
  169. package/dist/elements/activity-graph.d.ts +40 -0
  170. package/dist/elements/activity-graph.js +81 -0
  171. package/dist/elements/agent-card.d.ts +49 -0
  172. package/dist/elements/agent-card.js +91 -0
  173. package/dist/elements/agent-handoff.d.ts +24 -0
  174. package/dist/elements/agent-handoff.js +53 -0
  175. package/dist/elements/agent-mode-badge.d.ts +72 -0
  176. package/dist/elements/agent-mode-badge.js +110 -0
  177. package/dist/elements/agent-plan.d.ts +24 -0
  178. package/dist/elements/agent-plan.js +74 -0
  179. package/dist/elements/agent-status.d.ts +29 -0
  180. package/dist/elements/agent-status.js +46 -0
  181. package/dist/elements/agent-surface.d.ts +65 -0
  182. package/dist/elements/agent-surface.js +68 -0
  183. package/dist/elements/animated-number.d.ts +86 -0
  184. package/dist/elements/animated-number.js +118 -0
  185. package/dist/elements/approval-card.d.ts +40 -0
  186. package/dist/elements/approval-card.js +78 -0
  187. package/dist/elements/artifact-card.d.ts +30 -0
  188. package/dist/elements/artifact-card.js +58 -0
  189. package/dist/elements/background-inbox.d.ts +39 -0
  190. package/dist/elements/background-inbox.js +60 -0
  191. package/dist/elements/canvas-split.d.ts +77 -0
  192. package/dist/elements/canvas-split.js +138 -0
  193. package/dist/elements/chart.d.ts +41 -0
  194. package/dist/elements/chart.js +117 -0
  195. package/dist/elements/chat-panel.d.ts +46 -0
  196. package/dist/elements/chat-panel.js +104 -0
  197. package/dist/elements/checkpoint-history.d.ts +31 -0
  198. package/dist/elements/checkpoint-history.js +65 -0
  199. package/dist/elements/clamp.d.ts +90 -0
  200. package/dist/elements/clamp.js +109 -0
  201. package/dist/elements/code-diff.d.ts +42 -0
  202. package/dist/elements/code-diff.js +69 -0
  203. package/dist/elements/code-runner.d.ts +38 -0
  204. package/dist/elements/code-runner.js +84 -0
  205. package/dist/elements/command-palette.d.ts +48 -0
  206. package/dist/elements/command-palette.js +129 -0
  207. package/dist/elements/compaction-row.d.ts +63 -0
  208. package/dist/elements/compaction-row.js +110 -0
  209. package/dist/elements/comparison-card.d.ts +47 -0
  210. package/dist/elements/comparison-card.js +69 -0
  211. package/dist/elements/composer.d.ts +274 -0
  212. package/dist/elements/composer.js +505 -0
  213. package/dist/elements/computer-use.d.ts +40 -0
  214. package/dist/elements/computer-use.js +92 -0
  215. package/dist/elements/confidence-marker.d.ts +39 -0
  216. package/dist/elements/confidence-marker.js +64 -0
  217. package/dist/elements/connection-state.d.ts +29 -0
  218. package/dist/elements/connection-state.js +66 -0
  219. package/dist/elements/context-breakdown.d.ts +30 -0
  220. package/dist/elements/context-breakdown.js +86 -0
  221. package/dist/elements/context-usage.d.ts +99 -0
  222. package/dist/elements/context-usage.js +225 -0
  223. package/dist/elements/conversation-search.d.ts +48 -0
  224. package/dist/elements/conversation-search.js +88 -0
  225. package/dist/elements/cost-meter.d.ts +33 -0
  226. package/dist/elements/cost-meter.js +75 -0
  227. package/dist/elements/data-table.d.ts +31 -0
  228. package/dist/elements/data-table.js +67 -0
  229. package/dist/elements/day-separator.d.ts +34 -0
  230. package/dist/elements/day-separator.js +50 -0
  231. package/dist/elements/diagram.d.ts +34 -0
  232. package/dist/elements/diagram.js +75 -0
  233. package/dist/elements/document-reference.d.ts +37 -0
  234. package/dist/elements/document-reference.js +66 -0
  235. package/dist/elements/draft-restore.d.ts +27 -0
  236. package/dist/elements/draft-restore.js +54 -0
  237. package/dist/elements/edit-message.d.ts +36 -0
  238. package/dist/elements/edit-message.js +77 -0
  239. package/dist/elements/elements.css +459 -0
  240. package/dist/elements/elicitation-form.d.ts +48 -0
  241. package/dist/elements/elicitation-form.js +106 -0
  242. package/dist/elements/empty-state.d.ts +52 -0
  243. package/dist/elements/empty-state.js +98 -0
  244. package/dist/elements/end-of-turn-summary.d.ts +60 -0
  245. package/dist/elements/end-of-turn-summary.js +75 -0
  246. package/dist/elements/error-state.d.ts +29 -0
  247. package/dist/elements/error-state.js +55 -0
  248. package/dist/elements/feedback-dialog.d.ts +36 -0
  249. package/dist/elements/feedback-dialog.js +81 -0
  250. package/dist/elements/file-tree.d.ts +45 -0
  251. package/dist/elements/file-tree.js +84 -0
  252. package/dist/elements/flow-graph.d.ts +45 -0
  253. package/dist/elements/flow-graph.js +78 -0
  254. package/dist/elements/generative/chart.js +200 -0
  255. package/dist/elements/generative/faults.js +111 -0
  256. package/dist/elements/generative/icons.d.ts +41 -0
  257. package/dist/elements/generative/icons.js +190 -0
  258. package/dist/elements/generative/intrinsics.js +483 -0
  259. package/dist/elements/generative/spec.d.ts +110 -0
  260. package/dist/elements/generative/spec.js +366 -0
  261. package/dist/elements/generative.css +1145 -0
  262. package/dist/elements/generative.d.ts +144 -0
  263. package/dist/elements/generative.js +126 -0
  264. package/dist/elements/guardrail-notice.d.ts +29 -0
  265. package/dist/elements/guardrail-notice.js +63 -0
  266. package/dist/elements/image-generation.d.ts +18 -0
  267. package/dist/elements/image-generation.js +64 -0
  268. package/dist/elements/index.d.ts +116 -0
  269. package/dist/elements/index.js +115 -0
  270. package/dist/elements/inline-citation.d.ts +43 -0
  271. package/dist/elements/inline-citation.js +93 -0
  272. package/dist/elements/job-progress.d.ts +49 -0
  273. package/dist/elements/job-progress.js +74 -0
  274. package/dist/elements/launcher-bubble.d.ts +34 -0
  275. package/dist/elements/launcher-bubble.js +72 -0
  276. package/dist/elements/live-region-announcer.d.ts +130 -0
  277. package/dist/elements/live-region-announcer.js +230 -0
  278. package/dist/elements/loading-state.d.ts +27 -0
  279. package/dist/elements/loading-state.js +36 -0
  280. package/dist/elements/map-answer.d.ts +38 -0
  281. package/dist/elements/map-answer.js +93 -0
  282. package/dist/elements/markdown.d.ts +131 -0
  283. package/dist/elements/markdown.js +528 -0
  284. package/dist/elements/math-block.d.ts +51 -0
  285. package/dist/elements/math-block.js +70 -0
  286. package/dist/elements/mcp-server-panel.d.ts +41 -0
  287. package/dist/elements/mcp-server-panel.js +115 -0
  288. package/dist/elements/memory-chips.d.ts +30 -0
  289. package/dist/elements/memory-chips.js +43 -0
  290. package/dist/elements/message-actions.d.ts +38 -0
  291. package/dist/elements/message-actions.js +71 -0
  292. package/dist/elements/message-attachment.d.ts +48 -0
  293. package/dist/elements/message-attachment.js +63 -0
  294. package/dist/elements/message-branches.d.ts +25 -0
  295. package/dist/elements/message-branches.js +65 -0
  296. package/dist/elements/message-pair.d.ts +33 -0
  297. package/dist/elements/message-pair.js +65 -0
  298. package/dist/elements/message-queue.d.ts +31 -0
  299. package/dist/elements/message-queue.js +80 -0
  300. package/dist/elements/message-timing.d.ts +33 -0
  301. package/dist/elements/message-timing.js +37 -0
  302. package/dist/elements/mobile-composer.d.ts +44 -0
  303. package/dist/elements/mobile-composer.js +88 -0
  304. package/dist/elements/model-picker.d.ts +38 -0
  305. package/dist/elements/model-picker.js +69 -0
  306. package/dist/elements/number-ticker.d.ts +18 -0
  307. package/dist/elements/number-ticker.js +47 -0
  308. package/dist/elements/onboarding.d.ts +30 -0
  309. package/dist/elements/onboarding.js +75 -0
  310. package/dist/elements/permission-grant.d.ts +35 -0
  311. package/dist/elements/permission-grant.js +86 -0
  312. package/dist/elements/permission-scopes.d.ts +215 -0
  313. package/dist/elements/permission-scopes.js +249 -0
  314. package/dist/elements/prompt-library.d.ts +43 -0
  315. package/dist/elements/prompt-library.js +117 -0
  316. package/dist/elements/queue-dock.d.ts +101 -0
  317. package/dist/elements/queue-dock.js +132 -0
  318. package/dist/elements/quota-banner.d.ts +26 -0
  319. package/dist/elements/quota-banner.js +66 -0
  320. package/dist/elements/quote-reply.d.ts +44 -0
  321. package/dist/elements/quote-reply.js +79 -0
  322. package/dist/elements/range.d.ts +29 -0
  323. package/dist/elements/range.js +45 -0
  324. package/dist/elements/read-aloud.d.ts +45 -0
  325. package/dist/elements/read-aloud.js +75 -0
  326. package/dist/elements/reasoning-effort.d.ts +36 -0
  327. package/dist/elements/reasoning-effort.js +67 -0
  328. package/dist/elements/reasoning-panel.d.ts +46 -0
  329. package/dist/elements/reasoning-panel.js +75 -0
  330. package/dist/elements/recommendation-card.d.ts +45 -0
  331. package/dist/elements/recommendation-card.js +83 -0
  332. package/dist/elements/regenerate-menu.d.ts +45 -0
  333. package/dist/elements/regenerate-menu.js +51 -0
  334. package/dist/elements/replay.d.ts +217 -0
  335. package/dist/elements/replay.js +498 -0
  336. package/dist/elements/research-report.d.ts +38 -0
  337. package/dist/elements/research-report.js +69 -0
  338. package/dist/elements/retrieval-chunks.d.ts +43 -0
  339. package/dist/elements/retrieval-chunks.js +81 -0
  340. package/dist/elements/revert-dock.d.ts +159 -0
  341. package/dist/elements/revert-dock.js +327 -0
  342. package/dist/elements/reviewable-diff.d.ts +45 -0
  343. package/dist/elements/reviewable-diff.js +110 -0
  344. package/dist/elements/risk-badge.d.ts +52 -0
  345. package/dist/elements/risk-badge.js +91 -0
  346. package/dist/elements/schedule-card.d.ts +42 -0
  347. package/dist/elements/schedule-card.js +90 -0
  348. package/dist/elements/score-breakdown.d.ts +47 -0
  349. package/dist/elements/score-breakdown.js +82 -0
  350. package/dist/elements/scroll-anchor.d.ts +32 -0
  351. package/dist/elements/scroll-anchor.js +123 -0
  352. package/dist/elements/settings-panel.d.ts +52 -0
  353. package/dist/elements/settings-panel.js +107 -0
  354. package/dist/elements/shared-conversation.d.ts +39 -0
  355. package/dist/elements/shared-conversation.js +68 -0
  356. package/dist/elements/sources.d.ts +33 -0
  357. package/dist/elements/sources.js +61 -0
  358. package/dist/elements/speaker-identity.d.ts +32 -0
  359. package/dist/elements/speaker-identity.js +51 -0
  360. package/dist/elements/spec-sheet.d.ts +31 -0
  361. package/dist/elements/spec-sheet.js +45 -0
  362. package/dist/elements/stopped-run.d.ts +22 -0
  363. package/dist/elements/stopped-run.js +50 -0
  364. package/dist/elements/streaming-text.d.ts +31 -0
  365. package/dist/elements/streaming-text.js +45 -0
  366. package/dist/elements/subagent-list.d.ts +37 -0
  367. package/dist/elements/subagent-list.js +79 -0
  368. package/dist/elements/suggestions.d.ts +30 -0
  369. package/dist/elements/suggestions.js +36 -0
  370. package/dist/elements/surfaces.d.ts +85 -0
  371. package/dist/elements/surfaces.js +108 -0
  372. package/dist/elements/tail-status.d.ts +131 -0
  373. package/dist/elements/tail-status.js +94 -0
  374. package/dist/elements/terminal-block.d.ts +29 -0
  375. package/dist/elements/terminal-block.js +54 -0
  376. package/dist/elements/thinking-indicator.d.ts +18 -0
  377. package/dist/elements/thinking-indicator.js +36 -0
  378. package/dist/elements/thread-list.d.ts +35 -0
  379. package/dist/elements/thread-list.js +68 -0
  380. package/dist/elements/thread-search.d.ts +42 -0
  381. package/dist/elements/thread-search.js +99 -0
  382. package/dist/elements/timeline.d.ts +37 -0
  383. package/dist/elements/timeline.js +46 -0
  384. package/dist/elements/todo-list.d.ts +42 -0
  385. package/dist/elements/todo-list.js +59 -0
  386. package/dist/elements/tool-call.d.ts +41 -0
  387. package/dist/elements/tool-call.js +85 -0
  388. package/dist/elements/tool-error.d.ts +39 -0
  389. package/dist/elements/tool-error.js +76 -0
  390. package/dist/elements/tool-group.d.ts +45 -0
  391. package/dist/elements/tool-group.js +71 -0
  392. package/dist/elements/tool-timeline.d.ts +65 -0
  393. package/dist/elements/tool-timeline.js +88 -0
  394. package/dist/elements/trace-waterfall.d.ts +37 -0
  395. package/dist/elements/trace-waterfall.js +69 -0
  396. package/dist/elements/transcript-rules.d.ts +67 -0
  397. package/dist/elements/transcript-rules.js +95 -0
  398. package/dist/elements/turn-footer.d.ts +74 -0
  399. package/dist/elements/turn-footer.js +101 -0
  400. package/dist/elements/typing-indicator.d.ts +16 -0
  401. package/dist/elements/typing-indicator.js +51 -0
  402. package/dist/elements/verdict-row.d.ts +89 -0
  403. package/dist/elements/verdict-row.js +150 -0
  404. package/dist/elements/vocabulary.d.ts +612 -0
  405. package/dist/elements/vocabulary.js +611 -0
  406. package/dist/elements/voice-conversation.d.ts +49 -0
  407. package/dist/elements/voice-conversation.js +123 -0
  408. package/dist/elements/web-preview.d.ts +32 -0
  409. package/dist/elements/web-preview.js +66 -0
  410. package/dist/elements/web-search.d.ts +37 -0
  411. package/dist/elements/web-search.js +66 -0
  412. package/dist/elements/work-collapse.d.ts +103 -0
  413. package/dist/elements/work-collapse.js +131 -0
  414. package/dist/flow/_frame.d.ts +52 -0
  415. package/dist/flow/_frame.js +38 -0
  416. package/dist/flow/controls.d.ts +41 -0
  417. package/dist/flow/controls.js +53 -0
  418. package/dist/flow/flow.css +121 -0
  419. package/dist/flow/handles.d.ts +40 -0
  420. package/dist/flow/handles.js +61 -0
  421. package/dist/flow/index.d.ts +7 -0
  422. package/dist/flow/index.js +7 -0
  423. package/dist/flow/node-card.d.ts +71 -0
  424. package/dist/flow/node-card.js +102 -0
  425. package/dist/flow/signal-edge.d.ts +60 -0
  426. package/dist/flow/signal-edge.js +108 -0
  427. package/dist/flow/use-flow-theme.d.ts +69 -0
  428. package/dist/flow/use-flow-theme.js +109 -0
  429. package/dist/forms/_chassis.d.ts +164 -0
  430. package/dist/forms/_chassis.js +159 -0
  431. package/dist/forms/_glyphs.js +143 -0
  432. package/dist/forms/_listbox.js +55 -0
  433. package/dist/forms/autocomplete.d.ts +61 -0
  434. package/dist/forms/autocomplete.js +88 -0
  435. package/dist/forms/button-group.d.ts +47 -0
  436. package/dist/forms/button-group.js +52 -0
  437. package/dist/forms/checkbox.d.ts +51 -0
  438. package/dist/forms/checkbox.js +98 -0
  439. package/dist/forms/combobox.d.ts +73 -0
  440. package/dist/forms/combobox.js +108 -0
  441. package/dist/forms/env-var-input.d.ts +74 -0
  442. package/dist/forms/env-var-input.js +116 -0
  443. package/dist/forms/field.d.ts +89 -0
  444. package/dist/forms/field.js +102 -0
  445. package/dist/forms/file-upload.d.ts +113 -0
  446. package/dist/forms/file-upload.js +232 -0
  447. package/dist/forms/index.d.ts +26 -0
  448. package/dist/forms/index.js +26 -0
  449. package/dist/forms/input-group.d.ts +36 -0
  450. package/dist/forms/input-group.js +59 -0
  451. package/dist/forms/input.d.ts +45 -0
  452. package/dist/forms/input.js +36 -0
  453. package/dist/forms/multi-select.d.ts +62 -0
  454. package/dist/forms/multi-select.js +107 -0
  455. package/dist/forms/number-field.d.ts +39 -0
  456. package/dist/forms/number-field.js +65 -0
  457. package/dist/forms/otp-field.d.ts +54 -0
  458. package/dist/forms/otp-field.js +59 -0
  459. package/dist/forms/password-input.d.ts +46 -0
  460. package/dist/forms/password-input.js +62 -0
  461. package/dist/forms/radio-group.d.ts +50 -0
  462. package/dist/forms/radio-group.js +64 -0
  463. package/dist/forms/rating.d.ts +69 -0
  464. package/dist/forms/rating.js +103 -0
  465. package/dist/forms/scrub-input.d.ts +81 -0
  466. package/dist/forms/scrub-input.js +249 -0
  467. package/dist/forms/search-input.d.ts +54 -0
  468. package/dist/forms/search-input.js +112 -0
  469. package/dist/forms/select.d.ts +75 -0
  470. package/dist/forms/select.js +91 -0
  471. package/dist/forms/slider.d.ts +44 -0
  472. package/dist/forms/slider.js +65 -0
  473. package/dist/forms/switch.d.ts +36 -0
  474. package/dist/forms/switch.js +71 -0
  475. package/dist/forms/tags-input.d.ts +69 -0
  476. package/dist/forms/tags-input.js +148 -0
  477. package/dist/forms/textarea.d.ts +39 -0
  478. package/dist/forms/textarea.js +37 -0
  479. package/dist/forms/toggle-group.d.ts +41 -0
  480. package/dist/forms/toggle-group.js +56 -0
  481. package/dist/forms/toggle.d.ts +47 -0
  482. package/dist/forms/toggle.js +100 -0
  483. package/dist/icons/containers.d.ts +89 -0
  484. package/dist/icons/containers.js +295 -0
  485. package/dist/icons/index.d.ts +2 -0
  486. package/dist/index.d.ts +138 -0
  487. package/dist/index.js +124 -0
  488. package/dist/instruments/_ansi.js +116 -0
  489. package/dist/instruments/_data-row.d.ts +68 -0
  490. package/dist/instruments/_data-row.js +139 -0
  491. package/dist/instruments/_glyphs.js +90 -0
  492. package/dist/instruments/_ledger-disclosure.js +103 -0
  493. package/dist/instruments/_ledger.d.ts +21 -0
  494. package/dist/instruments/_ledger.js +5 -0
  495. package/dist/instruments/_motion.js +56 -0
  496. package/dist/instruments/_rem.js +21 -0
  497. package/dist/instruments/app-window-frame.d.ts +48 -0
  498. package/dist/instruments/app-window-frame.js +76 -0
  499. package/dist/instruments/code-block.d.ts +35 -0
  500. package/dist/instruments/code-block.js +173 -0
  501. package/dist/instruments/copy-button.d.ts +41 -0
  502. package/dist/instruments/copy-button.js +112 -0
  503. package/dist/instruments/data-row.d.ts +94 -0
  504. package/dist/instruments/data-row.js +151 -0
  505. package/dist/instruments/data-table.d.ts +168 -0
  506. package/dist/instruments/data-table.js +212 -0
  507. package/dist/instruments/data-tree.d.ts +126 -0
  508. package/dist/instruments/data-tree.js +303 -0
  509. package/dist/instruments/group-bar.d.ts +63 -0
  510. package/dist/instruments/group-bar.js +122 -0
  511. package/dist/instruments/index.d.ts +18 -0
  512. package/dist/instruments/index.js +18 -0
  513. package/dist/instruments/ledger.d.ts +204 -0
  514. package/dist/instruments/ledger.js +204 -0
  515. package/dist/instruments/log-viewer.d.ts +74 -0
  516. package/dist/instruments/log-viewer.js +215 -0
  517. package/dist/instruments/meter.d.ts +81 -0
  518. package/dist/instruments/meter.js +96 -0
  519. package/dist/instruments/progress.d.ts +61 -0
  520. package/dist/instruments/progress.js +79 -0
  521. package/dist/instruments/seam-grid.d.ts +66 -0
  522. package/dist/instruments/seam-grid.js +78 -0
  523. package/dist/instruments/sparkline.d.ts +39 -0
  524. package/dist/instruments/sparkline.js +85 -0
  525. package/dist/instruments/stat.d.ts +35 -0
  526. package/dist/instruments/stat.js +59 -0
  527. package/dist/instruments/table.d.ts +170 -0
  528. package/dist/instruments/table.js +237 -0
  529. package/dist/instruments/terminal-frame.d.ts +89 -0
  530. package/dist/instruments/terminal-frame.js +256 -0
  531. package/dist/instruments/two-step-button.d.ts +47 -0
  532. package/dist/instruments/two-step-button.js +166 -0
  533. package/dist/instruments/usage-chart.d.ts +55 -0
  534. package/dist/instruments/usage-chart.js +235 -0
  535. package/dist/layout/_collapse.js +46 -0
  536. package/dist/layout/_glyphs.js +45 -0
  537. package/dist/layout/_ground.d.ts +22 -0
  538. package/dist/layout/_ground.js +9 -0
  539. package/dist/layout/accordion.d.ts +52 -0
  540. package/dist/layout/accordion.js +81 -0
  541. package/dist/layout/bento.d.ts +144 -0
  542. package/dist/layout/bento.js +266 -0
  543. package/dist/layout/breadcrumb.d.ts +35 -0
  544. package/dist/layout/breadcrumb.js +67 -0
  545. package/dist/layout/card.d.ts +51 -0
  546. package/dist/layout/card.js +76 -0
  547. package/dist/layout/carousel.d.ts +96 -0
  548. package/dist/layout/carousel.js +211 -0
  549. package/dist/layout/collapsible.d.ts +74 -0
  550. package/dist/layout/collapsible.js +126 -0
  551. package/dist/layout/container.d.ts +27 -0
  552. package/dist/layout/container.js +43 -0
  553. package/dist/layout/description-list.d.ts +24 -0
  554. package/dist/layout/description-list.js +37 -0
  555. package/dist/layout/frames.d.ts +70 -0
  556. package/dist/layout/frames.js +298 -0
  557. package/dist/layout/grid.d.ts +40 -0
  558. package/dist/layout/grid.js +48 -0
  559. package/dist/layout/index.d.ts +19 -0
  560. package/dist/layout/index.js +18 -0
  561. package/dist/layout/item.d.ts +65 -0
  562. package/dist/layout/item.js +100 -0
  563. package/dist/layout/link.d.ts +48 -0
  564. package/dist/layout/link.js +63 -0
  565. package/dist/layout/pagination.d.ts +54 -0
  566. package/dist/layout/pagination.js +121 -0
  567. package/dist/layout/preview.d.ts +177 -0
  568. package/dist/layout/preview.js +628 -0
  569. package/dist/layout/resizable.d.ts +38 -0
  570. package/dist/layout/resizable.js +68 -0
  571. package/dist/layout/sidebar.d.ts +105 -0
  572. package/dist/layout/sidebar.js +158 -0
  573. package/dist/layout/stack.d.ts +46 -0
  574. package/dist/layout/stack.js +62 -0
  575. package/dist/layout/stepper.d.ts +49 -0
  576. package/dist/layout/stepper.js +81 -0
  577. package/dist/layout/timeline.d.ts +43 -0
  578. package/dist/layout/timeline.js +63 -0
  579. package/dist/lib/aria-class.js +24 -0
  580. package/dist/lib/cn.js +18 -0
  581. package/dist/lib/compose.js +38 -0
  582. package/dist/lib/cva.d.ts +18 -0
  583. package/dist/lib/cva.js +65 -0
  584. package/dist/midi/_notes.d.ts +101 -0
  585. package/dist/midi/_notes.js +183 -0
  586. package/dist/midi/_ruler.d.ts +100 -0
  587. package/dist/midi/_ruler.js +105 -0
  588. package/dist/midi/_time.d.ts +107 -0
  589. package/dist/midi/_time.js +130 -0
  590. package/dist/midi/index.d.ts +9 -0
  591. package/dist/midi/index.js +9 -0
  592. package/dist/midi/musical-time-input.d.ts +48 -0
  593. package/dist/midi/musical-time-input.js +154 -0
  594. package/dist/midi/piano-keyboard.d.ts +50 -0
  595. package/dist/midi/piano-keyboard.js +197 -0
  596. package/dist/midi/spectrum-visualizer.d.ts +65 -0
  597. package/dist/midi/spectrum-visualizer.js +213 -0
  598. package/dist/midi/threshold-rail.d.ts +72 -0
  599. package/dist/midi/threshold-rail.js +214 -0
  600. package/dist/midi/timeline-ruler.d.ts +83 -0
  601. package/dist/midi/timeline-ruler.js +152 -0
  602. package/dist/overlays/_debounce.js +34 -0
  603. package/dist/overlays/_glyphs.js +59 -0
  604. package/dist/overlays/_surface.d.ts +70 -0
  605. package/dist/overlays/_surface.js +70 -0
  606. package/dist/overlays/_wheel.js +42 -0
  607. package/dist/overlays/alert-dialog.d.ts +67 -0
  608. package/dist/overlays/alert-dialog.js +117 -0
  609. package/dist/overlays/command-palette.d.ts +93 -0
  610. package/dist/overlays/command-palette.js +193 -0
  611. package/dist/overlays/context-menu.d.ts +64 -0
  612. package/dist/overlays/context-menu.js +78 -0
  613. package/dist/overlays/dialog.d.ts +72 -0
  614. package/dist/overlays/dialog.js +124 -0
  615. package/dist/overlays/drawer.d.ts +75 -0
  616. package/dist/overlays/drawer.js +151 -0
  617. package/dist/overlays/dropdown-menu.d.ts +79 -0
  618. package/dist/overlays/dropdown-menu.js +156 -0
  619. package/dist/overlays/hover-card.d.ts +58 -0
  620. package/dist/overlays/hover-card.js +91 -0
  621. package/dist/overlays/index.d.ts +15 -0
  622. package/dist/overlays/index.js +15 -0
  623. package/dist/overlays/info-tip.d.ts +41 -0
  624. package/dist/overlays/info-tip.js +45 -0
  625. package/dist/overlays/menubar.d.ts +72 -0
  626. package/dist/overlays/menubar.js +100 -0
  627. package/dist/overlays/popover.d.ts +66 -0
  628. package/dist/overlays/popover.js +114 -0
  629. package/dist/overlays/sheet.d.ts +78 -0
  630. package/dist/overlays/sheet.js +131 -0
  631. package/dist/overlays/toast.d.ts +106 -0
  632. package/dist/overlays/toast.js +146 -0
  633. package/dist/overlays/tooltip.d.ts +57 -0
  634. package/dist/overlays/tooltip.js +95 -0
  635. package/dist/primitives/avatar.d.ts +51 -0
  636. package/dist/primitives/avatar.js +93 -0
  637. package/dist/primitives/button.d.ts +58 -0
  638. package/dist/primitives/button.js +104 -0
  639. package/dist/primitives/chip.d.ts +73 -0
  640. package/dist/primitives/chip.js +238 -0
  641. package/dist/primitives/icon-button.d.ts +41 -0
  642. package/dist/primitives/icon-button.js +59 -0
  643. package/dist/primitives/index.d.ts +10 -0
  644. package/dist/primitives/index.js +10 -0
  645. package/dist/primitives/kbd.d.ts +17 -0
  646. package/dist/primitives/kbd.js +24 -0
  647. package/dist/primitives/separator.d.ts +25 -0
  648. package/dist/primitives/separator.js +30 -0
  649. package/dist/primitives/skeleton.d.ts +20 -0
  650. package/dist/primitives/skeleton.js +27 -0
  651. package/dist/primitives/spinner.d.ts +26 -0
  652. package/dist/primitives/spinner.js +31 -0
  653. package/dist/primitives/status-dot.d.ts +51 -0
  654. package/dist/primitives/status-dot.js +57 -0
  655. package/dist/styles.css +97 -0
  656. package/dist/system/agent-skin.d.ts +27 -0
  657. package/dist/system/agent-skin.js +20 -0
  658. package/dist/system/density.d.ts +73 -0
  659. package/dist/system/density.js +111 -0
  660. package/dist/system/index.d.ts +12 -0
  661. package/dist/system/index.js +10 -0
  662. package/dist/system/overrides.d.ts +80 -0
  663. package/dist/system/overrides.js +277 -0
  664. package/dist/system/portal.d.ts +56 -0
  665. package/dist/system/portal.js +193 -0
  666. package/dist/system/prepaint.d.ts +134 -0
  667. package/dist/system/prepaint.js +120 -0
  668. package/dist/system/theme-provider.d.ts +290 -0
  669. package/dist/system/theme-provider.js +543 -0
  670. package/dist/system/theme-registry.d.ts +53 -0
  671. package/dist/system/theme-registry.js +66 -0
  672. package/dist/system/use-density.d.ts +50 -0
  673. package/dist/system/use-density.js +232 -0
  674. package/dist/system/use-isomorphic-layout-effect.js +33 -0
  675. package/dist/system/use-theme.d.ts +30 -0
  676. package/dist/system/use-theme.js +36 -0
  677. package/dist/system/vocabulary.d.ts +16 -0
  678. package/dist/system/vocabulary.js +125 -0
  679. package/dist/theming/contrast.d.ts +2 -0
  680. package/dist/theming/contrast.js +2 -0
  681. package/dist/theming/create-theme.d.ts +195 -0
  682. package/dist/theming/create-theme.js +524 -0
  683. package/dist/theming/index.d.ts +4 -0
  684. package/dist/theming/index.js +4 -0
  685. package/dist/theming/serialize.d.ts +167 -0
  686. package/dist/theming/serialize.js +241 -0
  687. package/manifest/components/accordion.json +173 -0
  688. package/manifest/components/activity-graph.json +104 -0
  689. package/manifest/components/agent-card.json +150 -0
  690. package/manifest/components/agent-handoff.json +104 -0
  691. package/manifest/components/agent-mode-badge.json +102 -0
  692. package/manifest/components/agent-pile.json +147 -0
  693. package/manifest/components/agent-plan.json +74 -0
  694. package/manifest/components/agent-status.json +87 -0
  695. package/manifest/components/agent-surface.json +93 -0
  696. package/manifest/components/alert-dialog.json +215 -0
  697. package/manifest/components/animated-number.json +75 -0
  698. package/manifest/components/app-bar.json +297 -0
  699. package/manifest/components/app-shell.json +526 -0
  700. package/manifest/components/app-window-frame.json +124 -0
  701. package/manifest/components/approval-card.json +136 -0
  702. package/manifest/components/artifact-card.json +93 -0
  703. package/manifest/components/ask-box.json +288 -0
  704. package/manifest/components/audience-icon.json +46 -0
  705. package/manifest/components/autocomplete.json +262 -0
  706. package/manifest/components/avatar-group.json +83 -0
  707. package/manifest/components/avatar.json +113 -0
  708. package/manifest/components/background-inbox.json +79 -0
  709. package/manifest/components/band.json +104 -0
  710. package/manifest/components/bento.json +306 -0
  711. package/manifest/components/branch-picker.json +146 -0
  712. package/manifest/components/breadcrumb.json +85 -0
  713. package/manifest/components/button-group.json +91 -0
  714. package/manifest/components/button.json +163 -0
  715. package/manifest/components/calendar.json +65 -0
  716. package/manifest/components/canvas-split-body.json +66 -0
  717. package/manifest/components/canvas-split-document.json +55 -0
  718. package/manifest/components/canvas-split-header.json +97 -0
  719. package/manifest/components/canvas-split-line.json +66 -0
  720. package/manifest/components/canvas-split-message.json +70 -0
  721. package/manifest/components/canvas-split-thread.json +55 -0
  722. package/manifest/components/canvas-split.json +61 -0
  723. package/manifest/components/card.json +152 -0
  724. package/manifest/components/carousel.json +242 -0
  725. package/manifest/components/catalogue-icon.json +46 -0
  726. package/manifest/components/channel-beta-icon.json +46 -0
  727. package/manifest/components/channel-matrix.json +239 -0
  728. package/manifest/components/channel-released-icon.json +46 -0
  729. package/manifest/components/chart-container.json +127 -0
  730. package/manifest/components/chart-ramp.json +82 -0
  731. package/manifest/components/chart-swatch.json +72 -0
  732. package/manifest/components/chart-tooltip-content.json +140 -0
  733. package/manifest/components/chart.json +117 -0
  734. package/manifest/components/chat-empty-state.json +55 -0
  735. package/manifest/components/chat-panel-assistant-message.json +52 -0
  736. package/manifest/components/chat-panel-composer.json +74 -0
  737. package/manifest/components/chat-panel-messages.json +52 -0
  738. package/manifest/components/chat-panel-typing.json +52 -0
  739. package/manifest/components/chat-panel-user-message.json +52 -0
  740. package/manifest/components/chat-panel.json +58 -0
  741. package/manifest/components/checkbox-group.json +70 -0
  742. package/manifest/components/checkbox.json +106 -0
  743. package/manifest/components/checkpoint-history.json +91 -0
  744. package/manifest/components/chip.json +174 -0
  745. package/manifest/components/clamp.json +125 -0
  746. package/manifest/components/cli-tool-icon.json +46 -0
  747. package/manifest/components/code-block.json +107 -0
  748. package/manifest/components/code-diff.json +104 -0
  749. package/manifest/components/code-runner.json +124 -0
  750. package/manifest/components/collapsible.json +133 -0
  751. package/manifest/components/color-area.json +62 -0
  752. package/manifest/components/color-field.json +91 -0
  753. package/manifest/components/color-picker.json +235 -0
  754. package/manifest/components/color-slider.json +84 -0
  755. package/manifest/components/color-swatch.json +79 -0
  756. package/manifest/components/colors-section.json +70 -0
  757. package/manifest/components/combobox.json +265 -0
  758. package/manifest/components/command-palette.json +222 -0
  759. package/manifest/components/compaction-row.json +128 -0
  760. package/manifest/components/comparison-card.json +98 -0
  761. package/manifest/components/composer-actions.json +65 -0
  762. package/manifest/components/composer-attach-button.json +65 -0
  763. package/manifest/components/composer-attachment-chip.json +83 -0
  764. package/manifest/components/composer-attachments.json +60 -0
  765. package/manifest/components/composer-bar.json +76 -0
  766. package/manifest/components/composer-command-item.json +85 -0
  767. package/manifest/components/composer-context.json +71 -0
  768. package/manifest/components/composer-input.json +77 -0
  769. package/manifest/components/composer-menu-item.json +75 -0
  770. package/manifest/components/composer-menu.json +89 -0
  771. package/manifest/components/composer-model-item.json +82 -0
  772. package/manifest/components/composer-model-trigger.json +81 -0
  773. package/manifest/components/composer-person-item.json +86 -0
  774. package/manifest/components/composer-send.json +86 -0
  775. package/manifest/components/composer-toolbar.json +65 -0
  776. package/manifest/components/composer-voice-button.json +71 -0
  777. package/manifest/components/composer-voice.json +81 -0
  778. package/manifest/components/composer.json +238 -0
  779. package/manifest/components/computer-use.json +98 -0
  780. package/manifest/components/confidence-marker.json +86 -0
  781. package/manifest/components/connection-state.json +103 -0
  782. package/manifest/components/container.json +75 -0
  783. package/manifest/components/context-breakdown.json +72 -0
  784. package/manifest/components/context-menu.json +134 -0
  785. package/manifest/components/context-usage.json +98 -0
  786. package/manifest/components/conversation-search.json +111 -0
  787. package/manifest/components/copy-button.json +118 -0
  788. package/manifest/components/cost-meter.json +84 -0
  789. package/manifest/components/cue-logotype.json +110 -0
  790. package/manifest/components/cue-mark.json +111 -0
  791. package/manifest/components/cue-portal-frame.json +65 -0
  792. package/manifest/components/data-row.json +222 -0
  793. package/manifest/components/data-table-pagination.json +97 -0
  794. package/manifest/components/data-table-toolbar.json +127 -0
  795. package/manifest/components/data-tree.json +185 -0
  796. package/manifest/components/date-field.json +93 -0
  797. package/manifest/components/date-picker.json +255 -0
  798. package/manifest/components/date-range-picker.json +255 -0
  799. package/manifest/components/day-separator.json +63 -0
  800. package/manifest/components/delegation-card.json +196 -0
  801. package/manifest/components/density.json +93 -0
  802. package/manifest/components/description-list.json +91 -0
  803. package/manifest/components/diagram.json +126 -0
  804. package/manifest/components/dialog.json +222 -0
  805. package/manifest/components/disclosure.json +134 -0
  806. package/manifest/components/dmx-bar.json +107 -0
  807. package/manifest/components/dmx-strip.json +117 -0
  808. package/manifest/components/document-reference.json +108 -0
  809. package/manifest/components/draft-restore.json +96 -0
  810. package/manifest/components/drawer.json +204 -0
  811. package/manifest/components/dropdown-menu.json +275 -0
  812. package/manifest/components/edit-message.json +131 -0
  813. package/manifest/components/elements-command-palette.json +122 -0
  814. package/manifest/components/elements-composer.json +71 -0
  815. package/manifest/components/elements-data-table.json +75 -0
  816. package/manifest/components/elements-timeline.json +77 -0
  817. package/manifest/components/elicitation-form.json +130 -0
  818. package/manifest/components/empty-state-composer.json +71 -0
  819. package/manifest/components/empty-state-greeting.json +49 -0
  820. package/manifest/components/empty-state-suggestion.json +60 -0
  821. package/manifest/components/empty-state-suggestions.json +49 -0
  822. package/manifest/components/empty-state.json +111 -0
  823. package/manifest/components/end-of-turn-summary.json +89 -0
  824. package/manifest/components/env-var-input.json +194 -0
  825. package/manifest/components/error-state.json +93 -0
  826. package/manifest/components/export-dialog.json +101 -0
  827. package/manifest/components/eyebrow.json +59 -0
  828. package/manifest/components/feedback-dialog.json +133 -0
  829. package/manifest/components/field-description.json +66 -0
  830. package/manifest/components/field-error.json +87 -0
  831. package/manifest/components/field-label.json +66 -0
  832. package/manifest/components/field.json +82 -0
  833. package/manifest/components/file-tree.json +96 -0
  834. package/manifest/components/file-upload.json +204 -0
  835. package/manifest/components/flow-background.json +50 -0
  836. package/manifest/components/flow-controls.json +50 -0
  837. package/manifest/components/flow-graph.json +86 -0
  838. package/manifest/components/folder-icon.json +46 -0
  839. package/manifest/components/footer.json +133 -0
  840. package/manifest/components/frac.json +68 -0
  841. package/manifest/components/frames.json +210 -0
  842. package/manifest/components/generation-loader.json +78 -0
  843. package/manifest/components/generative-ui.json +125 -0
  844. package/manifest/components/grid.json +132 -0
  845. package/manifest/components/group-bar.json +122 -0
  846. package/manifest/components/guardrail-notice.json +109 -0
  847. package/manifest/components/hover-card.json +189 -0
  848. package/manifest/components/icon-button.json +106 -0
  849. package/manifest/components/image-generation.json +73 -0
  850. package/manifest/components/info-tip.json +133 -0
  851. package/manifest/components/inline-citation.json +90 -0
  852. package/manifest/components/input-group.json +112 -0
  853. package/manifest/components/input.json +121 -0
  854. package/manifest/components/inspector.json +199 -0
  855. package/manifest/components/item.json +163 -0
  856. package/manifest/components/job-progress.json +116 -0
  857. package/manifest/components/kbd.json +52 -0
  858. package/manifest/components/launcher-bubble.json +130 -0
  859. package/manifest/components/ledger.json +330 -0
  860. package/manifest/components/link.json +94 -0
  861. package/manifest/components/live-region-announcer.json +95 -0
  862. package/manifest/components/log-viewer.json +172 -0
  863. package/manifest/components/map-answer.json +97 -0
  864. package/manifest/components/markdown-text.json +126 -0
  865. package/manifest/components/math-block.json +84 -0
  866. package/manifest/components/mcp-server-icon.json +46 -0
  867. package/manifest/components/mcp-server-panel.json +102 -0
  868. package/manifest/components/memory-chips.json +73 -0
  869. package/manifest/components/menubar.json +184 -0
  870. package/manifest/components/message-actions.json +125 -0
  871. package/manifest/components/message-attachments.json +71 -0
  872. package/manifest/components/message-branches.json +83 -0
  873. package/manifest/components/message-list.json +121 -0
  874. package/manifest/components/message-pair.json +107 -0
  875. package/manifest/components/message-queue.json +85 -0
  876. package/manifest/components/message-timing.json +69 -0
  877. package/manifest/components/message.json +149 -0
  878. package/manifest/components/meter.json +150 -0
  879. package/manifest/components/mobile-composer.json +163 -0
  880. package/manifest/components/model-picker.json +87 -0
  881. package/manifest/components/multi-select.json +255 -0
  882. package/manifest/components/musical-time-input.json +141 -0
  883. package/manifest/components/navigation-menu.json +269 -0
  884. package/manifest/components/node-card.json +144 -0
  885. package/manifest/components/node-handle.json +84 -0
  886. package/manifest/components/number-field.json +131 -0
  887. package/manifest/components/number-ticker.json +67 -0
  888. package/manifest/components/onboarding.json +100 -0
  889. package/manifest/components/otp-field.json +163 -0
  890. package/manifest/components/page-shell.json +129 -0
  891. package/manifest/components/pagination.json +108 -0
  892. package/manifest/components/panel-header.json +89 -0
  893. package/manifest/components/panel.json +71 -0
  894. package/manifest/components/password-input.json +171 -0
  895. package/manifest/components/permission-grant.json +115 -0
  896. package/manifest/components/permission-scopes.json +184 -0
  897. package/manifest/components/piano-keyboard.json +149 -0
  898. package/manifest/components/plussie.json +140 -0
  899. package/manifest/components/popover.json +231 -0
  900. package/manifest/components/preset-section.json +80 -0
  901. package/manifest/components/preview.json +294 -0
  902. package/manifest/components/progress.json +114 -0
  903. package/manifest/components/prompt-library.json +122 -0
  904. package/manifest/components/queue-dock.json +139 -0
  905. package/manifest/components/quota-banner.json +113 -0
  906. package/manifest/components/quote-reply.json +129 -0
  907. package/manifest/components/radio-group.json +83 -0
  908. package/manifest/components/radio.json +94 -0
  909. package/manifest/components/rating.json +188 -0
  910. package/manifest/components/read-aloud.json +139 -0
  911. package/manifest/components/reasoning-effort.json +95 -0
  912. package/manifest/components/reasoning-panel.json +135 -0
  913. package/manifest/components/recommendation-card.json +133 -0
  914. package/manifest/components/regenerate-menu.json +107 -0
  915. package/manifest/components/replay-player.json +124 -0
  916. package/manifest/components/research-report.json +87 -0
  917. package/manifest/components/resizable.json +91 -0
  918. package/manifest/components/retrieval-chunks.json +98 -0
  919. package/manifest/components/revert-dock.json +197 -0
  920. package/manifest/components/reviewable-diff.json +113 -0
  921. package/manifest/components/risk-badge.json +89 -0
  922. package/manifest/components/row.json +122 -0
  923. package/manifest/components/schedule-card.json +121 -0
  924. package/manifest/components/score-breakdown.json +108 -0
  925. package/manifest/components/scroll-anchor.json +84 -0
  926. package/manifest/components/scroll-area.json +114 -0
  927. package/manifest/components/scrollable-tabs-list.json +91 -0
  928. package/manifest/components/scrub-input.json +268 -0
  929. package/manifest/components/seam-cell.json +91 -0
  930. package/manifest/components/seam-grid.json +84 -0
  931. package/manifest/components/seam-list.json +56 -0
  932. package/manifest/components/search-input.json +195 -0
  933. package/manifest/components/section-header.json +140 -0
  934. package/manifest/components/segmented-control.json +178 -0
  935. package/manifest/components/select.json +253 -0
  936. package/manifest/components/separator.json +56 -0
  937. package/manifest/components/settings-panel.json +152 -0
  938. package/manifest/components/shape-section.json +70 -0
  939. package/manifest/components/shared-conversation.json +107 -0
  940. package/manifest/components/sheet.json +210 -0
  941. package/manifest/components/shimmer-label.json +61 -0
  942. package/manifest/components/sidebar.json +245 -0
  943. package/manifest/components/signal-edge.json +56 -0
  944. package/manifest/components/skeleton.json +46 -0
  945. package/manifest/components/skill-icon.json +46 -0
  946. package/manifest/components/slider.json +106 -0
  947. package/manifest/components/sources.json +97 -0
  948. package/manifest/components/sparkline.json +89 -0
  949. package/manifest/components/speaker-identity.json +66 -0
  950. package/manifest/components/spec-sheet.json +93 -0
  951. package/manifest/components/spectrum-visualizer.json +147 -0
  952. package/manifest/components/spinner.json +71 -0
  953. package/manifest/components/stack-icon.json +46 -0
  954. package/manifest/components/stack.json +143 -0
  955. package/manifest/components/stacks-matrix-icon.json +46 -0
  956. package/manifest/components/stat.json +111 -0
  957. package/manifest/components/status-bar.json +233 -0
  958. package/manifest/components/status-dot.json +97 -0
  959. package/manifest/components/stepper.json +107 -0
  960. package/manifest/components/stopped-run.json +97 -0
  961. package/manifest/components/streaming-text.json +82 -0
  962. package/manifest/components/sub.json +45 -0
  963. package/manifest/components/subagent-list.json +106 -0
  964. package/manifest/components/suggestions.json +106 -0
  965. package/manifest/components/sup.json +45 -0
  966. package/manifest/components/swap-label.json +86 -0
  967. package/manifest/components/switch.json +102 -0
  968. package/manifest/components/table-scroll-region.json +78 -0
  969. package/manifest/components/table.json +306 -0
  970. package/manifest/components/tabs.json +156 -0
  971. package/manifest/components/tags-input.json +255 -0
  972. package/manifest/components/tail-status.json +138 -0
  973. package/manifest/components/terminal-block.json +111 -0
  974. package/manifest/components/terminal-frame.json +146 -0
  975. package/manifest/components/textarea.json +104 -0
  976. package/manifest/components/theme-configurator.json +158 -0
  977. package/manifest/components/theme-provider.json +228 -0
  978. package/manifest/components/thinking-indicator.json +69 -0
  979. package/manifest/components/thread-list.json +87 -0
  980. package/manifest/components/thread-search.json +108 -0
  981. package/manifest/components/threshold-rail.json +223 -0
  982. package/manifest/components/time-boundary.json +68 -0
  983. package/manifest/components/time-field.json +93 -0
  984. package/manifest/components/timeline-ruler.json +178 -0
  985. package/manifest/components/timeline.json +131 -0
  986. package/manifest/components/title-bar.json +97 -0
  987. package/manifest/components/toast.json +140 -0
  988. package/manifest/components/todo-list.json +76 -0
  989. package/manifest/components/toggle-group.json +134 -0
  990. package/manifest/components/toggle.json +140 -0
  991. package/manifest/components/token-editor.json +106 -0
  992. package/manifest/components/tool-call-card.json +268 -0
  993. package/manifest/components/tool-call.json +147 -0
  994. package/manifest/components/tool-error.json +141 -0
  995. package/manifest/components/tool-group.json +97 -0
  996. package/manifest/components/tool-timeline.json +147 -0
  997. package/manifest/components/toolbar.json +192 -0
  998. package/manifest/components/tooltip.json +199 -0
  999. package/manifest/components/trace-waterfall.json +84 -0
  1000. package/manifest/components/tree-visibility-toggle.json +99 -0
  1001. package/manifest/components/tree.json +182 -0
  1002. package/manifest/components/turn-footer.json +133 -0
  1003. package/manifest/components/two-step-button.json +150 -0
  1004. package/manifest/components/typing-indicator.json +60 -0
  1005. package/manifest/components/universe-grid.json +155 -0
  1006. package/manifest/components/unread-divider.json +58 -0
  1007. package/manifest/components/usage-chart.json +162 -0
  1008. package/manifest/components/verdict-row.json +106 -0
  1009. package/manifest/components/voice-conversation.json +141 -0
  1010. package/manifest/components/web-preview.json +105 -0
  1011. package/manifest/components/web-search.json +108 -0
  1012. package/manifest/components/work-collapse.json +125 -0
  1013. package/manifest/fixtures.json +776 -0
  1014. package/manifest/manifest.json +5037 -0
  1015. package/manifest/tokens.json +288 -0
  1016. package/package.json +278 -0
@@ -0,0 +1,165 @@
1
+ import { cn } from "../lib/cn.js";
2
+ import { overlaySurfaceClasses } from "../overlays/_surface.js";
3
+ import * as React from "react";
4
+ import { Fragment, jsx, jsxs } from "react/jsx-runtime";
5
+ //#region src/charts/theme.tsx
6
+ /**
7
+ * The recharts chrome, restated in this system's vocabulary.
8
+ *
9
+ * Recharts paints its grid, axes and ticks with presentation attributes baked
10
+ * into the SVG (`stroke="#ccc"`, `fill="#666"`). Those attributes lose to any
11
+ * CSS declaration, which is the whole opening: one scoped stylesheet on the
12
+ * chart's wrapper re-inks the entire chrome without a single prop threaded
13
+ * through the chart, and — because the declarations are token references — it
14
+ * re-inks again on a theme, mode or density switch with no React involved.
15
+ *
16
+ * The alternative, spreading a `{ stroke, fill, fontSize }` bundle onto every
17
+ * `CartesianGrid`, `XAxis` and `YAxis`, is the version of this that rots: the one
18
+ * axis somebody forgets to spread onto is grey forever, and nothing catches it.
19
+ *
20
+ * Deliberately recharts-free at the module level: only the container imports the
21
+ * library, so this file and the palette stay importable from groups that never
22
+ * render a chart.
23
+ */
24
+ /**
25
+ * Everything the chart wrapper needs to re-ink recharts' own SVG.
26
+ *
27
+ * Spread by `ChartContainer`; exported so an app that mounts a chart some other
28
+ * way (a recharts component outside the container, a printed export) gets the
29
+ * same chrome from the same source.
30
+ *
31
+ * @example
32
+ * <div className={cn(chartChromeClasses, "h-40")}><LineChart …/></div>
33
+ */
34
+ const chartChromeClasses = [
35
+ "[&_.recharts-cartesian-grid_line]:stroke-border",
36
+ "[&_.recharts-cartesian-grid_line]:[stroke-opacity:0.45]",
37
+ "[&_.recharts-cartesian-axis-line]:stroke-border",
38
+ "[&_.recharts-cartesian-axis-tick-line]:stroke-border",
39
+ "[&_.recharts-cartesian-axis-tick-value]:font-mono",
40
+ "[&_.recharts-cartesian-axis-tick-value]:text-(length:--cue-text-label)",
41
+ "[&_.recharts-cartesian-axis-tick-value]:fill-fg-subtle",
42
+ "[&_.recharts-label]:font-mono",
43
+ "[&_.recharts-label]:text-(length:--cue-text-label)",
44
+ "[&_.recharts-label]:fill-fg-muted",
45
+ "[&_.recharts-legend-item-text]:font-mono",
46
+ "[&_.recharts-legend-item-text]:text-(length:--cue-text-label)",
47
+ "[&_.recharts-reference-line-line]:stroke-danger",
48
+ "[&_.recharts-active-dot_circle]:stroke-bg"
49
+ ].join(" ");
50
+ /**
51
+ * The cursor recharts draws under the tooltip.
52
+ *
53
+ * One object for both shapes it can take: a `<line>` on a line or area chart,
54
+ * where only the stroke lands, and a `<rect>` on a bar chart, where the faint
55
+ * fill washes the hovered band and the dashed rim keeps its edges legible. The
56
+ * dash is the same `2 3` the rest of the system uses for "this is a guide, not
57
+ * data".
58
+ *
59
+ * @example
60
+ * <Tooltip cursor={chartTooltipCursor} content={<ChartTooltipContent />} />
61
+ */
62
+ const chartTooltipCursor = {
63
+ stroke: "var(--cue-fg)",
64
+ strokeOpacity: .5,
65
+ strokeWidth: 1,
66
+ strokeDasharray: "2 3",
67
+ fill: "var(--cue-fg)",
68
+ fillOpacity: .06
69
+ };
70
+ /** Identity and behaviour attributes a caller may still put on the surface. */
71
+ const DOM_PASSTHROUGH = /* @__PURE__ */ new Set([
72
+ "id",
73
+ "role",
74
+ "title",
75
+ "lang",
76
+ "dir",
77
+ "tabIndex"
78
+ ]);
79
+ /**
80
+ * The subset of the incoming props that belongs on a `<div>`.
81
+ *
82
+ * recharts renders custom tooltip content with `cloneElement(content, props)`,
83
+ * so the entire `<Tooltip>` configuration — `cursor`, `wrapperStyle`,
84
+ * `animationEasing`, two dozen more — arrives here as props. Spread that onto a
85
+ * `<div>` and you get nineteen junk attributes in the DOM and a React warning
86
+ * for each one.
87
+ *
88
+ * An allowlist rather than a denylist, because the denylist would need editing
89
+ * every time recharts adds an option, and nothing would fail until someone
90
+ * noticed the attributes. What a DOM node can carry, by contrast, does not
91
+ * change: data and ARIA attributes, and a handful of identity ones. `className`
92
+ * and `style` skip this filter entirely — they are destructured and applied by
93
+ * name, so the two props a caller most wants are never at the allowlist's mercy.
94
+ */
95
+ function domProps(props) {
96
+ const kept = {};
97
+ for (const [key, value] of Object.entries(props)) if (key.startsWith("data-") || key.startsWith("aria-") || DOM_PASSTHROUGH.has(key)) kept[key] = value;
98
+ return kept;
99
+ }
100
+ /**
101
+ * The tooltip surface: an overlay, styled like every other overlay.
102
+ *
103
+ * A chart tooltip *is* a floating surface, so it gets exactly what a Popover
104
+ * gets — `surface-2` fill, the overlay rim, one soft shadow — from
105
+ * `_surface.ts` rather than from a second, chart-only recipe that would drift.
106
+ * What it adds is the reading discipline the rest of the system uses for
107
+ * numbers: mono, tabular figures, values right-aligned so a column of them lines
108
+ * up under the pointer.
109
+ *
110
+ * Returns `null` when the pointer is off the plot or the payload is empty,
111
+ * because recharts keeps the content mounted between hovers.
112
+ *
113
+ * `formatter` and `labelFormatter` may equally be set on the `<Tooltip>` itself:
114
+ * recharts forwards its own configuration into cloned content, so both spellings
115
+ * land here. Everything else in that configuration is dropped rather than
116
+ * rendered — see {@link domProps} — which also means a handler passed to this
117
+ * component does not reach the surface. Nothing would fire on it anyway: the
118
+ * tooltip is drawn under the pointer, not in its path.
119
+ *
120
+ * @example
121
+ * <Tooltip cursor={chartTooltipCursor} content={<ChartTooltipContent />} />
122
+ */
123
+ const ChartTooltipContent = React.forwardRef(function ChartTooltipContent({ className, style, active, payload, label, hideLabel = false, hideIndicator = false, labelFormatter, formatter, ...elementProps }, ref) {
124
+ const entries = payload ?? [];
125
+ if (active !== true || entries.length === 0) return null;
126
+ return /* @__PURE__ */ jsxs("div", {
127
+ ref,
128
+ "data-slot": "chart-tooltip",
129
+ className: cn(overlaySurfaceClasses, "flex min-w-[8rem] flex-col gap-(--cue-space-2) px-(--cue-space-3) py-(--cue-space-2) font-mono text-(length:--cue-text-label)", className),
130
+ style,
131
+ ...domProps(elementProps),
132
+ children: [hideLabel || label === void 0 || label === null ? null : /* @__PURE__ */ jsx("div", {
133
+ "data-slot": "chart-tooltip-label",
134
+ className: "text-fg-muted",
135
+ children: labelFormatter === void 0 ? label : labelFormatter(label, entries)
136
+ }), /* @__PURE__ */ jsx("div", {
137
+ "data-slot": "chart-tooltip-items",
138
+ className: "flex flex-col gap-(--cue-space-1)",
139
+ children: entries.map((entry, index) => /* @__PURE__ */ jsxs("div", {
140
+ "data-slot": "chart-tooltip-item",
141
+ className: "flex items-center gap-(--cue-space-2)",
142
+ children: [
143
+ hideIndicator ? null : /* @__PURE__ */ jsx("span", {
144
+ "aria-hidden": "true",
145
+ "data-slot": "chart-tooltip-indicator",
146
+ className: "size-[0.375rem] shrink-0 rounded-[1px]",
147
+ style: { backgroundColor: entry.color }
148
+ }),
149
+ /* @__PURE__ */ jsx("span", {
150
+ "data-slot": "chart-tooltip-name",
151
+ className: "text-fg-muted",
152
+ children: entry.name ?? entry.dataKey
153
+ }),
154
+ /* @__PURE__ */ jsx("span", {
155
+ "data-slot": "chart-tooltip-value",
156
+ className: "ml-auto tabular-nums text-fg",
157
+ children: formatter === void 0 ? /* @__PURE__ */ jsxs(Fragment, { children: [entry.value, entry.unit] }) : formatter(entry.value, entry.name ?? entry.dataKey, entry, index)
158
+ })
159
+ ]
160
+ }, index))
161
+ })]
162
+ });
163
+ });
164
+ //#endregion
165
+ export { ChartTooltipContent, chartChromeClasses, chartTooltipCursor };
@@ -0,0 +1,111 @@
1
+ //#region src/charts/tones.d.ts
2
+ /**
3
+ * The categorical palette a chart assigns series from.
4
+ *
5
+ * It is two halves, and the seam between them is the whole design:
6
+ *
7
+ * - **The first six are the theme's own status vocabulary** — the same `accent`,
8
+ * `info`, `ok`, `warn`, `danger` and `fg-muted` a StatusDot and a Chip use. A
9
+ * chart of "requests vs errors" should draw errors in the colour the rest of
10
+ * the console already means *error* by, and it should re-hue with the theme
11
+ * like everything else. They are expressed as `var(--cue-*)` references so
12
+ * that happens in CSS, with no re-render.
13
+ * - **The next nine are generated and fixed** — nine oklch hues at one lightness
14
+ * and one chroma. Past six series the semantic vocabulary is exhausted, and
15
+ * inventing a seventh *meaning* would be a lie; what a seventh series needs is
16
+ * simply to be told apart from the sixth. Fixed literals also mean a legend
17
+ * screenshotted under one theme still matches the chart under another, which a
18
+ * theme-derived extension could not promise.
19
+ *
20
+ * Nothing here is a hard-coded brand colour, and nothing is a second spelling of
21
+ * a token: the semantic half *is* the token layer, seen from a chart.
22
+ */
23
+ /** The six semantic tokens, in the order a chart consumes them. */
24
+ declare const CHART_TONE_TOKENS: readonly ["accent", "info", "ok", "warn", "danger", "fg-muted"];
25
+ /** One of the semantic series colours. */
26
+ type ChartToneToken = (typeof CHART_TONE_TOKENS)[number];
27
+ /**
28
+ * Lightness of every generated hue.
29
+ *
30
+ * One value for all nine, because a categorical palette whose members differ in
31
+ * lightness reads as an ordering — and a category list has no order. 0.7 is the
32
+ * rung that holds against this portfolio's dark grounds without glowing, and
33
+ * stays readable on the light ones.
34
+ */
35
+ declare const CHART_EXTENDED_LIGHTNESS = 0.7;
36
+ /**
37
+ * Chroma of every generated hue.
38
+ *
39
+ * 0.12 is the largest chroma at which *all nine* hues fit inside sRGB — push it
40
+ * to 0.14 and the teal and cyan ends fall out of gamut, so the browser clips
41
+ * them and two neighbours converge on the same green. A palette whose members
42
+ * cannot be told apart is worse than no palette at all.
43
+ */
44
+ declare const CHART_EXTENDED_CHROMA = 0.12;
45
+ /** The nine hue angles: evenly spaced 40° apart, starting at blue. */
46
+ declare const CHART_EXTENDED_HUES: readonly number[];
47
+ /** {@link CHART_EXTENDED_HUES} as `oklch()` literals. */
48
+ declare const CHART_EXTENDED_TONES: readonly string[];
49
+ /**
50
+ * The whole palette as CSS values — six token references, then nine literals.
51
+ *
52
+ * Safe to hand straight to a `stroke` or a `fill`: the references resolve in the
53
+ * theme the chart is stamped with, so the palette follows a theme switch without
54
+ * React hearing about it.
55
+ */
56
+ declare const CHART_TONES: readonly string[];
57
+ /** Prefix of the per-series custom properties `ChartContainer` publishes. */
58
+ declare const CHART_TONE_PROPERTY_PREFIX = "--chart-";
59
+ /**
60
+ * The custom property carrying series `index`.
61
+ *
62
+ * One-based in CSS, zero-based in JS: `--chart-1` is the first series, because
63
+ * `nth-child`-style CSS counting starts at one and a stylesheet reading
64
+ * `--chart-0` would be the odd one out.
65
+ *
66
+ * @param index - Zero-based series index.
67
+ * @example
68
+ * chartToneProperty(0); // → "--chart-1"
69
+ */
70
+ declare function chartToneProperty(index: number): string;
71
+ /**
72
+ * {@link chartToneProperty} wrapped in `var()`, ready for a recharts prop.
73
+ *
74
+ * @param index - Zero-based series index.
75
+ * @example
76
+ * <Line dataKey="requests" stroke={chartToneVar(0)} />
77
+ */
78
+ declare function chartToneVar(index: number): string;
79
+ interface ChartTonesOptions {
80
+ /**
81
+ * Where the semantic tokens resolve. Defaults to the document element. Pass a
82
+ * node inside a portal or a nested theme to read that scope instead.
83
+ */
84
+ element?: Element | null;
85
+ /**
86
+ * How many colours to return. Beyond the palette's own length it cycles, so a
87
+ * 20-series chart still gets 20 entries. Defaults to the whole palette.
88
+ */
89
+ count?: number;
90
+ }
91
+ /**
92
+ * The palette with its semantic half resolved against the live theme.
93
+ *
94
+ * {@link CHART_TONES} is what you paint with; this is what you *compute* with —
95
+ * a legend that needs a real colour string, a canvas overlay, a downstream oklch
96
+ * derivation. Because it resolves at call time it is theme-reactive in the same
97
+ * sense the CSS is: call it during render and it reports the theme stamped right
98
+ * now.
99
+ *
100
+ * Tokens that nothing has defined fall back to their `var()` reference rather
101
+ * than to an invented colour — the value is then still correct in a browser,
102
+ * just not yet computable.
103
+ *
104
+ * @param options - Where to resolve, and how many colours to return.
105
+ * @returns Concrete CSS colours, one per series.
106
+ * @example
107
+ * const [first] = chartTones({ element: chartRef.current });
108
+ */
109
+ declare function chartTones(options?: ChartTonesOptions): string[];
110
+ //#endregion
111
+ export { CHART_EXTENDED_CHROMA, CHART_EXTENDED_HUES, CHART_EXTENDED_LIGHTNESS, CHART_EXTENDED_TONES, CHART_TONES, CHART_TONE_PROPERTY_PREFIX, CHART_TONE_TOKENS, ChartToneToken, ChartTonesOptions, chartToneProperty, chartToneVar, chartTones };
@@ -0,0 +1,127 @@
1
+ import { resolveToken, tokenRef } from "./_token.js";
2
+ //#region src/charts/tones.ts
3
+ /**
4
+ * The categorical palette a chart assigns series from.
5
+ *
6
+ * It is two halves, and the seam between them is the whole design:
7
+ *
8
+ * - **The first six are the theme's own status vocabulary** — the same `accent`,
9
+ * `info`, `ok`, `warn`, `danger` and `fg-muted` a StatusDot and a Chip use. A
10
+ * chart of "requests vs errors" should draw errors in the colour the rest of
11
+ * the console already means *error* by, and it should re-hue with the theme
12
+ * like everything else. They are expressed as `var(--cue-*)` references so
13
+ * that happens in CSS, with no re-render.
14
+ * - **The next nine are generated and fixed** — nine oklch hues at one lightness
15
+ * and one chroma. Past six series the semantic vocabulary is exhausted, and
16
+ * inventing a seventh *meaning* would be a lie; what a seventh series needs is
17
+ * simply to be told apart from the sixth. Fixed literals also mean a legend
18
+ * screenshotted under one theme still matches the chart under another, which a
19
+ * theme-derived extension could not promise.
20
+ *
21
+ * Nothing here is a hard-coded brand colour, and nothing is a second spelling of
22
+ * a token: the semantic half *is* the token layer, seen from a chart.
23
+ */
24
+ /** The six semantic tokens, in the order a chart consumes them. */
25
+ const CHART_TONE_TOKENS = [
26
+ "accent",
27
+ "info",
28
+ "ok",
29
+ "warn",
30
+ "danger",
31
+ "fg-muted"
32
+ ];
33
+ /**
34
+ * Lightness of every generated hue.
35
+ *
36
+ * One value for all nine, because a categorical palette whose members differ in
37
+ * lightness reads as an ordering — and a category list has no order. 0.7 is the
38
+ * rung that holds against this portfolio's dark grounds without glowing, and
39
+ * stays readable on the light ones.
40
+ */
41
+ const CHART_EXTENDED_LIGHTNESS = .7;
42
+ /**
43
+ * Chroma of every generated hue.
44
+ *
45
+ * 0.12 is the largest chroma at which *all nine* hues fit inside sRGB — push it
46
+ * to 0.14 and the teal and cyan ends fall out of gamut, so the browser clips
47
+ * them and two neighbours converge on the same green. A palette whose members
48
+ * cannot be told apart is worse than no palette at all.
49
+ */
50
+ const CHART_EXTENDED_CHROMA = .12;
51
+ /** The nine hue angles: evenly spaced 40° apart, starting at blue. */
52
+ const CHART_EXTENDED_HUES = [
53
+ 250,
54
+ 290,
55
+ 330,
56
+ 10,
57
+ 50,
58
+ 90,
59
+ 130,
60
+ 170,
61
+ 210
62
+ ];
63
+ /** {@link CHART_EXTENDED_HUES} as `oklch()` literals. */
64
+ const CHART_EXTENDED_TONES = CHART_EXTENDED_HUES.map((hue) => `oklch(${CHART_EXTENDED_LIGHTNESS} ${CHART_EXTENDED_CHROMA} ${hue})`);
65
+ /**
66
+ * The whole palette as CSS values — six token references, then nine literals.
67
+ *
68
+ * Safe to hand straight to a `stroke` or a `fill`: the references resolve in the
69
+ * theme the chart is stamped with, so the palette follows a theme switch without
70
+ * React hearing about it.
71
+ */
72
+ const CHART_TONES = [...CHART_TONE_TOKENS.map(tokenRef), ...CHART_EXTENDED_TONES];
73
+ /** Prefix of the per-series custom properties `ChartContainer` publishes. */
74
+ const CHART_TONE_PROPERTY_PREFIX = "--chart-";
75
+ /**
76
+ * The custom property carrying series `index`.
77
+ *
78
+ * One-based in CSS, zero-based in JS: `--chart-1` is the first series, because
79
+ * `nth-child`-style CSS counting starts at one and a stylesheet reading
80
+ * `--chart-0` would be the odd one out.
81
+ *
82
+ * @param index - Zero-based series index.
83
+ * @example
84
+ * chartToneProperty(0); // → "--chart-1"
85
+ */
86
+ function chartToneProperty(index) {
87
+ return `${CHART_TONE_PROPERTY_PREFIX}${index + 1}`;
88
+ }
89
+ /**
90
+ * {@link chartToneProperty} wrapped in `var()`, ready for a recharts prop.
91
+ *
92
+ * @param index - Zero-based series index.
93
+ * @example
94
+ * <Line dataKey="requests" stroke={chartToneVar(0)} />
95
+ */
96
+ function chartToneVar(index) {
97
+ return `var(${chartToneProperty(index)})`;
98
+ }
99
+ /**
100
+ * The palette with its semantic half resolved against the live theme.
101
+ *
102
+ * {@link CHART_TONES} is what you paint with; this is what you *compute* with —
103
+ * a legend that needs a real colour string, a canvas overlay, a downstream oklch
104
+ * derivation. Because it resolves at call time it is theme-reactive in the same
105
+ * sense the CSS is: call it during render and it reports the theme stamped right
106
+ * now.
107
+ *
108
+ * Tokens that nothing has defined fall back to their `var()` reference rather
109
+ * than to an invented colour — the value is then still correct in a browser,
110
+ * just not yet computable.
111
+ *
112
+ * @param options - Where to resolve, and how many colours to return.
113
+ * @returns Concrete CSS colours, one per series.
114
+ * @example
115
+ * const [first] = chartTones({ element: chartRef.current });
116
+ */
117
+ function chartTones(options = {}) {
118
+ const { element, count } = options;
119
+ const palette = CHART_TONES.map((value, index) => {
120
+ const token = CHART_TONE_TOKENS[index];
121
+ return token === void 0 ? value : resolveToken(token, element) ?? value;
122
+ });
123
+ if (count === void 0) return palette;
124
+ return Array.from({ length: Math.max(0, count) }, (_unused, index) => palette[index % palette.length]);
125
+ }
126
+ //#endregion
127
+ export { CHART_EXTENDED_CHROMA, CHART_EXTENDED_HUES, CHART_EXTENDED_LIGHTNESS, CHART_EXTENDED_TONES, CHART_TONES, CHART_TONE_PROPERTY_PREFIX, CHART_TONE_TOKENS, chartToneProperty, chartToneVar, chartTones };
@@ -0,0 +1,55 @@
1
+ import "react";
2
+ import { jsx } from "react/jsx-runtime";
3
+ //#region src/chat/_glyphs.tsx
4
+ /**
5
+ * Shared chat glyphs.
6
+ *
7
+ * Drawn inline for the same reason as `overlays/_glyphs.tsx` and
8
+ * `instruments/_glyphs.tsx`: a crown on an avatar and a tick on an answered
9
+ * question should not put an icon dependency on the render path of a
10
+ * transcript, and hand-set strokes stay hairline-thin at the 8–12px sizes
11
+ * console density asks for. `currentColor` everywhere — the tone comes from the
12
+ * parent, which in this group is usually `var(--agent-color)`.
13
+ *
14
+ * @internal Not part of the public API.
15
+ */
16
+ /** Three points and a band: the orchestrator's mark. */
17
+ function CrownGlyph(props) {
18
+ return /* @__PURE__ */ jsx("svg", {
19
+ viewBox: "0 0 16 16",
20
+ fill: "currentColor",
21
+ "aria-hidden": "true",
22
+ ...props,
23
+ children: /* @__PURE__ */ jsx("path", { d: "M2 5.5 4.75 8 8 3.5 11.25 8 14 5.5v6a.5.5 0 0 1-.5.5h-11a.5.5 0 0 1-.5-.5Z" })
24
+ });
25
+ }
26
+ /** The tick that says an answer landed. */
27
+ function CheckGlyph(props) {
28
+ return /* @__PURE__ */ jsx("svg", {
29
+ viewBox: "0 0 16 16",
30
+ fill: "none",
31
+ stroke: "currentColor",
32
+ strokeWidth: "2",
33
+ strokeLinecap: "round",
34
+ strokeLinejoin: "round",
35
+ "aria-hidden": "true",
36
+ ...props,
37
+ children: /* @__PURE__ */ jsx("path", { d: "m3 8.5 3.5 3.5L13 4.5" })
38
+ });
39
+ }
40
+ /** A downward chevron — the direction the catch-up pill takes you. */
41
+ function ChevronDownGlyph(props) {
42
+ return /* @__PURE__ */ jsx("svg", {
43
+ viewBox: "0 0 16 16",
44
+ fill: "none",
45
+ stroke: "currentColor",
46
+ strokeWidth: "2",
47
+ strokeLinecap: "round",
48
+ strokeLinejoin: "round",
49
+ "aria-hidden": "true",
50
+ ...props,
51
+ children: /* @__PURE__ */ jsx("path", { d: "m3 6 5 5 5-5" })
52
+ });
53
+ }
54
+ //#endregion
55
+ export { CheckGlyph, ChevronDownGlyph, CrownGlyph };
@@ -0,0 +1,84 @@
1
+ import * as React from "react";
2
+ //#region src/chat/agent-color.d.ts
3
+ /**
4
+ * Deterministic per-agent colour.
5
+ *
6
+ * In a multi-agent transcript the colour is not decoration — it is the only
7
+ * thing that lets a reader follow one agent's lane through a wall of nested
8
+ * cards. That makes two properties load-bearing:
9
+ *
10
+ * - **Deterministic.** The same slug is the same colour in every session, on
11
+ * every machine, in every screenshot. No allocation table, no state, no
12
+ * ordering dependency: just a hash of the slug, so two clients rendering the
13
+ * same thread agree without talking to each other.
14
+ * - **Theme-independent.** The hues are literal `oklch()` values rather than
15
+ * tokens, because a palette that re-hues per theme would break the first
16
+ * property. They sit at L ≈ 0.6 with moderate chroma, which is the band that
17
+ * stays legible against both the dark surfaces this portfolio defaults to and
18
+ * the light ones it supports.
19
+ *
20
+ * The orchestrator is the one exception: it borrows the theme accent, because
21
+ * "the lane everything delegates from" is exactly what the accent means
22
+ * everywhere else in the system.
23
+ *
24
+ * Ported from corale's `agentColor`, hash and palette order intact — existing
25
+ * transcripts keep their colours.
26
+ */
27
+ /**
28
+ * The seven sub-agent hues, in the order the hash indexes them.
29
+ *
30
+ * Seven rather than a generated ramp: past about seven, adjacent hues stop
31
+ * being distinguishable at the 16–24px an avatar occupies, and a palette whose
32
+ * members cannot be told apart is worse than no palette at all.
33
+ */
34
+ declare const AGENT_HUES: readonly string[];
35
+ /** What the orchestrator gets instead of a hue: the live theme accent. */
36
+ declare const AGENT_ROOT_COLOR = "var(--cue-accent)";
37
+ /**
38
+ * The custom property every chat part reads for its per-agent ink and rail.
39
+ *
40
+ * Published as a property rather than passed down as a prop so a caller can
41
+ * restyle a whole lane — a nested `DelegationCard`, the messages inside it, the
42
+ * rail down its side — by setting one value on the wrapper.
43
+ */
44
+ declare const AGENT_COLOR_PROPERTY = "--agent-color";
45
+ interface AgentColorOptions {
46
+ /**
47
+ * Slug of the orchestrator. That one agent answers {@link AGENT_ROOT_COLOR}
48
+ * instead of a palette hue; everyone else is unaffected.
49
+ */
50
+ root?: string;
51
+ }
52
+ /**
53
+ * The colour for one agent: a stable palette hue, or the theme accent for the
54
+ * orchestrator.
55
+ *
56
+ * Pure and synchronous — safe to call during render, in a server component, or
57
+ * from a test asserting that yesterday's colour is still today's.
58
+ *
59
+ * @param slug - The agent's stable identifier.
60
+ * @param options - Pass `root` to hand the orchestrator the accent.
61
+ * @returns A CSS colour: an `oklch()` literal, or `var(--cue-accent)`.
62
+ * @example
63
+ * agentColor("researcher"); // → "oklch(0.62 0.19 20)"
64
+ * @example
65
+ * agentColor("chief", { root: "chief" }); // → "var(--cue-accent)"
66
+ */
67
+ declare function agentColor(slug: string, options?: AgentColorOptions): string;
68
+ /**
69
+ * {@link agentColor} as an inline style, ready to spread onto an element.
70
+ *
71
+ * The cast is unavoidable: `React.CSSProperties` has no index signature for
72
+ * custom properties, and every alternative (a `Record<string, string>` the
73
+ * caller then casts, a `style` built inline at each site) moves the same cast
74
+ * somewhere less obvious.
75
+ *
76
+ * @param slug - The agent's stable identifier.
77
+ * @param options - Pass `root` to hand the orchestrator the accent.
78
+ * @returns `{ "--agent-color": … }`.
79
+ * @example
80
+ * <div style={agentColorStyle(slug, { root })} className="text-(--agent-color)" />
81
+ */
82
+ declare function agentColorStyle(slug: string, options?: AgentColorOptions): React.CSSProperties;
83
+ //#endregion
84
+ export { AGENT_COLOR_PROPERTY, AGENT_HUES, AGENT_ROOT_COLOR, AgentColorOptions, agentColor, agentColorStyle };
@@ -0,0 +1,101 @@
1
+ //#region src/chat/agent-color.ts
2
+ /**
3
+ * Deterministic per-agent colour.
4
+ *
5
+ * In a multi-agent transcript the colour is not decoration — it is the only
6
+ * thing that lets a reader follow one agent's lane through a wall of nested
7
+ * cards. That makes two properties load-bearing:
8
+ *
9
+ * - **Deterministic.** The same slug is the same colour in every session, on
10
+ * every machine, in every screenshot. No allocation table, no state, no
11
+ * ordering dependency: just a hash of the slug, so two clients rendering the
12
+ * same thread agree without talking to each other.
13
+ * - **Theme-independent.** The hues are literal `oklch()` values rather than
14
+ * tokens, because a palette that re-hues per theme would break the first
15
+ * property. They sit at L ≈ 0.6 with moderate chroma, which is the band that
16
+ * stays legible against both the dark surfaces this portfolio defaults to and
17
+ * the light ones it supports.
18
+ *
19
+ * The orchestrator is the one exception: it borrows the theme accent, because
20
+ * "the lane everything delegates from" is exactly what the accent means
21
+ * everywhere else in the system.
22
+ *
23
+ * Ported from corale's `agentColor`, hash and palette order intact — existing
24
+ * transcripts keep their colours.
25
+ */
26
+ /**
27
+ * The seven sub-agent hues, in the order the hash indexes them.
28
+ *
29
+ * Seven rather than a generated ramp: past about seven, adjacent hues stop
30
+ * being distinguishable at the 16–24px an avatar occupies, and a palette whose
31
+ * members cannot be told apart is worse than no palette at all.
32
+ */
33
+ const AGENT_HUES = [
34
+ "oklch(0.62 0.17 150)",
35
+ "oklch(0.62 0.15 50)",
36
+ "oklch(0.6 0.18 300)",
37
+ "oklch(0.6 0.15 220)",
38
+ "oklch(0.62 0.19 20)",
39
+ "oklch(0.6 0.13 190)",
40
+ "oklch(0.62 0.16 330)"
41
+ ];
42
+ /** What the orchestrator gets instead of a hue: the live theme accent. */
43
+ const AGENT_ROOT_COLOR = "var(--cue-accent)";
44
+ /**
45
+ * The custom property every chat part reads for its per-agent ink and rail.
46
+ *
47
+ * Published as a property rather than passed down as a prop so a caller can
48
+ * restyle a whole lane — a nested `DelegationCard`, the messages inside it, the
49
+ * rail down its side — by setting one value on the wrapper.
50
+ */
51
+ const AGENT_COLOR_PROPERTY = "--agent-color";
52
+ /**
53
+ * djb2-style 31× hash, truncated to 32 bits each round.
54
+ *
55
+ * `value * 31` peaks below 2^37, so the multiply is exact in a double and the
56
+ * `>>> 0` is the only truncation — which is what makes this reproduce corale's
57
+ * assignments byte for byte.
58
+ */
59
+ function hash(slug) {
60
+ let value = 0;
61
+ for (let index = 0; index < slug.length; index += 1) value = value * 31 + slug.charCodeAt(index) >>> 0;
62
+ return value;
63
+ }
64
+ /**
65
+ * The colour for one agent: a stable palette hue, or the theme accent for the
66
+ * orchestrator.
67
+ *
68
+ * Pure and synchronous — safe to call during render, in a server component, or
69
+ * from a test asserting that yesterday's colour is still today's.
70
+ *
71
+ * @param slug - The agent's stable identifier.
72
+ * @param options - Pass `root` to hand the orchestrator the accent.
73
+ * @returns A CSS colour: an `oklch()` literal, or `var(--cue-accent)`.
74
+ * @example
75
+ * agentColor("researcher"); // → "oklch(0.62 0.19 20)"
76
+ * @example
77
+ * agentColor("chief", { root: "chief" }); // → "var(--cue-accent)"
78
+ */
79
+ function agentColor(slug, options) {
80
+ if (options?.root !== void 0 && slug === options.root) return AGENT_ROOT_COLOR;
81
+ return AGENT_HUES[hash(slug) % AGENT_HUES.length];
82
+ }
83
+ /**
84
+ * {@link agentColor} as an inline style, ready to spread onto an element.
85
+ *
86
+ * The cast is unavoidable: `React.CSSProperties` has no index signature for
87
+ * custom properties, and every alternative (a `Record<string, string>` the
88
+ * caller then casts, a `style` built inline at each site) moves the same cast
89
+ * somewhere less obvious.
90
+ *
91
+ * @param slug - The agent's stable identifier.
92
+ * @param options - Pass `root` to hand the orchestrator the accent.
93
+ * @returns `{ "--agent-color": … }`.
94
+ * @example
95
+ * <div style={agentColorStyle(slug, { root })} className="text-(--agent-color)" />
96
+ */
97
+ function agentColorStyle(slug, options) {
98
+ return { [AGENT_COLOR_PROPERTY]: agentColor(slug, options) };
99
+ }
100
+ //#endregion
101
+ export { AGENT_COLOR_PROPERTY, AGENT_HUES, AGENT_ROOT_COLOR, agentColor, agentColorStyle };