@cueplusplus/ui 0.2.0 → 0.5.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 (628) hide show
  1. package/CHANGELOG.md +2250 -0
  2. package/dist/agent-runtime/_glyphs.js +43 -0
  3. package/dist/agent-runtime/branch-picker.d.ts +45 -0
  4. package/dist/agent-runtime/branch-picker.js +87 -0
  5. package/dist/agent-runtime/index.d.ts +4 -0
  6. package/dist/agent-runtime/index.js +4 -0
  7. package/dist/agent-runtime/tool-call-card.d.ts +69 -0
  8. package/dist/agent-runtime/tool-call-card.js +187 -0
  9. package/dist/agent-runtime/use-agent-thread.d.ts +164 -0
  10. package/dist/agent-runtime/use-agent-thread.js +251 -0
  11. package/dist/brand/_chassis.d.ts +1 -1
  12. package/dist/brand/cue-mark.d.ts +1 -1
  13. package/dist/brand/cue-mark.js +1 -1
  14. package/dist/chat/index.d.ts +2 -2
  15. package/dist/chat/message-list.d.ts +6 -0
  16. package/dist/chat/message-list.js +35 -0
  17. package/dist/chrome/_edge-scroller.js +12 -1
  18. package/dist/chrome/_tabs-scroll.d.ts +1 -1
  19. package/dist/chrome/_tabs-scroll.js +1 -1
  20. package/dist/chrome/app-shell.d.ts +52 -2
  21. package/dist/chrome/app-shell.js +80 -8
  22. package/dist/chrome/index.d.ts +2 -2
  23. package/dist/configurator/_export.js +3 -2
  24. package/dist/configurator/_overrides.d.ts +1 -1
  25. package/dist/configurator/_overrides.js +18 -6
  26. package/dist/configurator/token-editor.js +4 -1
  27. package/dist/date/_segments.js +37 -2
  28. package/dist/elements/activity-graph.d.ts +40 -0
  29. package/dist/elements/activity-graph.js +81 -0
  30. package/dist/elements/agent-card.d.ts +49 -0
  31. package/dist/elements/agent-card.js +91 -0
  32. package/dist/elements/agent-handoff.d.ts +24 -0
  33. package/dist/elements/agent-handoff.js +53 -0
  34. package/dist/elements/agent-mode-badge.d.ts +72 -0
  35. package/dist/elements/agent-mode-badge.js +110 -0
  36. package/dist/elements/agent-plan.d.ts +24 -0
  37. package/dist/elements/agent-plan.js +74 -0
  38. package/dist/elements/agent-status.d.ts +29 -0
  39. package/dist/elements/agent-status.js +46 -0
  40. package/dist/elements/agent-surface.d.ts +65 -0
  41. package/dist/elements/agent-surface.js +68 -0
  42. package/dist/elements/animated-number.d.ts +86 -0
  43. package/dist/elements/animated-number.js +118 -0
  44. package/dist/elements/approval-card.d.ts +40 -0
  45. package/dist/elements/approval-card.js +78 -0
  46. package/dist/elements/artifact-card.d.ts +30 -0
  47. package/dist/elements/artifact-card.js +58 -0
  48. package/dist/elements/background-inbox.d.ts +39 -0
  49. package/dist/elements/background-inbox.js +60 -0
  50. package/dist/elements/canvas-split.d.ts +77 -0
  51. package/dist/elements/canvas-split.js +138 -0
  52. package/dist/elements/chart.d.ts +41 -0
  53. package/dist/elements/chart.js +117 -0
  54. package/dist/elements/chat-panel.d.ts +46 -0
  55. package/dist/elements/chat-panel.js +104 -0
  56. package/dist/elements/checkpoint-history.d.ts +31 -0
  57. package/dist/elements/checkpoint-history.js +65 -0
  58. package/dist/elements/clamp.d.ts +90 -0
  59. package/dist/elements/clamp.js +109 -0
  60. package/dist/elements/code-diff.d.ts +42 -0
  61. package/dist/elements/code-diff.js +69 -0
  62. package/dist/elements/code-runner.d.ts +38 -0
  63. package/dist/elements/code-runner.js +84 -0
  64. package/dist/elements/command-palette.d.ts +48 -0
  65. package/dist/elements/command-palette.js +129 -0
  66. package/dist/elements/compaction-row.d.ts +63 -0
  67. package/dist/elements/compaction-row.js +110 -0
  68. package/dist/elements/comparison-card.d.ts +47 -0
  69. package/dist/elements/comparison-card.js +69 -0
  70. package/dist/elements/composer.d.ts +274 -0
  71. package/dist/elements/composer.js +505 -0
  72. package/dist/elements/computer-use.d.ts +40 -0
  73. package/dist/elements/computer-use.js +92 -0
  74. package/dist/elements/confidence-marker.d.ts +39 -0
  75. package/dist/elements/confidence-marker.js +64 -0
  76. package/dist/elements/connection-state.d.ts +29 -0
  77. package/dist/elements/connection-state.js +66 -0
  78. package/dist/elements/context-breakdown.d.ts +30 -0
  79. package/dist/elements/context-breakdown.js +86 -0
  80. package/dist/elements/context-usage.d.ts +99 -0
  81. package/dist/elements/context-usage.js +225 -0
  82. package/dist/elements/conversation-search.d.ts +48 -0
  83. package/dist/elements/conversation-search.js +88 -0
  84. package/dist/elements/cost-meter.d.ts +33 -0
  85. package/dist/elements/cost-meter.js +75 -0
  86. package/dist/elements/data-table.d.ts +31 -0
  87. package/dist/elements/data-table.js +67 -0
  88. package/dist/elements/day-separator.d.ts +34 -0
  89. package/dist/elements/day-separator.js +50 -0
  90. package/dist/elements/diagram.d.ts +34 -0
  91. package/dist/elements/diagram.js +75 -0
  92. package/dist/elements/document-reference.d.ts +37 -0
  93. package/dist/elements/document-reference.js +66 -0
  94. package/dist/elements/draft-restore.d.ts +27 -0
  95. package/dist/elements/draft-restore.js +54 -0
  96. package/dist/elements/edit-message.d.ts +36 -0
  97. package/dist/elements/edit-message.js +77 -0
  98. package/dist/elements/elements.css +459 -0
  99. package/dist/elements/elicitation-form.d.ts +48 -0
  100. package/dist/elements/elicitation-form.js +106 -0
  101. package/dist/elements/empty-state.d.ts +52 -0
  102. package/dist/elements/empty-state.js +98 -0
  103. package/dist/elements/end-of-turn-summary.d.ts +60 -0
  104. package/dist/elements/end-of-turn-summary.js +75 -0
  105. package/dist/elements/error-state.d.ts +29 -0
  106. package/dist/elements/error-state.js +55 -0
  107. package/dist/elements/feedback-dialog.d.ts +36 -0
  108. package/dist/elements/feedback-dialog.js +81 -0
  109. package/dist/elements/file-tree.d.ts +45 -0
  110. package/dist/elements/file-tree.js +84 -0
  111. package/dist/elements/flow-graph.d.ts +45 -0
  112. package/dist/elements/flow-graph.js +78 -0
  113. package/dist/elements/generative/chart.js +200 -0
  114. package/dist/elements/generative/faults.js +111 -0
  115. package/dist/elements/generative/icons.d.ts +41 -0
  116. package/dist/elements/generative/icons.js +190 -0
  117. package/dist/elements/generative/intrinsics.js +483 -0
  118. package/dist/elements/generative/spec.d.ts +110 -0
  119. package/dist/elements/generative/spec.js +366 -0
  120. package/dist/elements/generative.css +1145 -0
  121. package/dist/elements/generative.d.ts +144 -0
  122. package/dist/elements/generative.js +126 -0
  123. package/dist/elements/guardrail-notice.d.ts +29 -0
  124. package/dist/elements/guardrail-notice.js +63 -0
  125. package/dist/elements/image-generation.d.ts +18 -0
  126. package/dist/elements/image-generation.js +64 -0
  127. package/dist/elements/index.d.ts +116 -0
  128. package/dist/elements/index.js +115 -0
  129. package/dist/elements/inline-citation.d.ts +43 -0
  130. package/dist/elements/inline-citation.js +93 -0
  131. package/dist/elements/job-progress.d.ts +49 -0
  132. package/dist/elements/job-progress.js +74 -0
  133. package/dist/elements/launcher-bubble.d.ts +34 -0
  134. package/dist/elements/launcher-bubble.js +72 -0
  135. package/dist/elements/live-region-announcer.d.ts +130 -0
  136. package/dist/elements/live-region-announcer.js +230 -0
  137. package/dist/elements/loading-state.d.ts +27 -0
  138. package/dist/elements/loading-state.js +36 -0
  139. package/dist/elements/map-answer.d.ts +38 -0
  140. package/dist/elements/map-answer.js +93 -0
  141. package/dist/elements/markdown.d.ts +131 -0
  142. package/dist/elements/markdown.js +528 -0
  143. package/dist/elements/math-block.d.ts +51 -0
  144. package/dist/elements/math-block.js +70 -0
  145. package/dist/elements/mcp-server-panel.d.ts +41 -0
  146. package/dist/elements/mcp-server-panel.js +115 -0
  147. package/dist/elements/memory-chips.d.ts +30 -0
  148. package/dist/elements/memory-chips.js +43 -0
  149. package/dist/elements/message-actions.d.ts +38 -0
  150. package/dist/elements/message-actions.js +71 -0
  151. package/dist/elements/message-attachment.d.ts +48 -0
  152. package/dist/elements/message-attachment.js +63 -0
  153. package/dist/elements/message-branches.d.ts +25 -0
  154. package/dist/elements/message-branches.js +65 -0
  155. package/dist/elements/message-pair.d.ts +33 -0
  156. package/dist/elements/message-pair.js +65 -0
  157. package/dist/elements/message-queue.d.ts +31 -0
  158. package/dist/elements/message-queue.js +80 -0
  159. package/dist/elements/message-timing.d.ts +33 -0
  160. package/dist/elements/message-timing.js +37 -0
  161. package/dist/elements/mobile-composer.d.ts +44 -0
  162. package/dist/elements/mobile-composer.js +88 -0
  163. package/dist/elements/model-picker.d.ts +38 -0
  164. package/dist/elements/model-picker.js +69 -0
  165. package/dist/elements/number-ticker.d.ts +18 -0
  166. package/dist/elements/number-ticker.js +47 -0
  167. package/dist/elements/onboarding.d.ts +30 -0
  168. package/dist/elements/onboarding.js +75 -0
  169. package/dist/elements/permission-grant.d.ts +35 -0
  170. package/dist/elements/permission-grant.js +86 -0
  171. package/dist/elements/permission-scopes.d.ts +215 -0
  172. package/dist/elements/permission-scopes.js +249 -0
  173. package/dist/elements/prompt-library.d.ts +43 -0
  174. package/dist/elements/prompt-library.js +117 -0
  175. package/dist/elements/queue-dock.d.ts +101 -0
  176. package/dist/elements/queue-dock.js +132 -0
  177. package/dist/elements/quota-banner.d.ts +26 -0
  178. package/dist/elements/quota-banner.js +66 -0
  179. package/dist/elements/quote-reply.d.ts +44 -0
  180. package/dist/elements/quote-reply.js +79 -0
  181. package/dist/elements/range.d.ts +29 -0
  182. package/dist/elements/range.js +45 -0
  183. package/dist/elements/read-aloud.d.ts +45 -0
  184. package/dist/elements/read-aloud.js +75 -0
  185. package/dist/elements/reasoning-effort.d.ts +36 -0
  186. package/dist/elements/reasoning-effort.js +67 -0
  187. package/dist/elements/reasoning-panel.d.ts +46 -0
  188. package/dist/elements/reasoning-panel.js +75 -0
  189. package/dist/elements/recommendation-card.d.ts +45 -0
  190. package/dist/elements/recommendation-card.js +83 -0
  191. package/dist/elements/regenerate-menu.d.ts +45 -0
  192. package/dist/elements/regenerate-menu.js +51 -0
  193. package/dist/elements/replay.d.ts +217 -0
  194. package/dist/elements/replay.js +498 -0
  195. package/dist/elements/research-report.d.ts +38 -0
  196. package/dist/elements/research-report.js +69 -0
  197. package/dist/elements/retrieval-chunks.d.ts +43 -0
  198. package/dist/elements/retrieval-chunks.js +81 -0
  199. package/dist/elements/revert-dock.d.ts +159 -0
  200. package/dist/elements/revert-dock.js +327 -0
  201. package/dist/elements/reviewable-diff.d.ts +45 -0
  202. package/dist/elements/reviewable-diff.js +110 -0
  203. package/dist/elements/risk-badge.d.ts +52 -0
  204. package/dist/elements/risk-badge.js +91 -0
  205. package/dist/elements/schedule-card.d.ts +42 -0
  206. package/dist/elements/schedule-card.js +90 -0
  207. package/dist/elements/score-breakdown.d.ts +47 -0
  208. package/dist/elements/score-breakdown.js +82 -0
  209. package/dist/elements/scroll-anchor.d.ts +32 -0
  210. package/dist/elements/scroll-anchor.js +121 -0
  211. package/dist/elements/settings-panel.d.ts +52 -0
  212. package/dist/elements/settings-panel.js +107 -0
  213. package/dist/elements/shared-conversation.d.ts +39 -0
  214. package/dist/elements/shared-conversation.js +68 -0
  215. package/dist/elements/sources.d.ts +33 -0
  216. package/dist/elements/sources.js +61 -0
  217. package/dist/elements/speaker-identity.d.ts +32 -0
  218. package/dist/elements/speaker-identity.js +51 -0
  219. package/dist/elements/spec-sheet.d.ts +31 -0
  220. package/dist/elements/spec-sheet.js +45 -0
  221. package/dist/elements/stopped-run.d.ts +22 -0
  222. package/dist/elements/stopped-run.js +50 -0
  223. package/dist/elements/streaming-text.d.ts +31 -0
  224. package/dist/elements/streaming-text.js +45 -0
  225. package/dist/elements/subagent-list.d.ts +37 -0
  226. package/dist/elements/subagent-list.js +79 -0
  227. package/dist/elements/suggestions.d.ts +30 -0
  228. package/dist/elements/suggestions.js +36 -0
  229. package/dist/elements/surfaces.d.ts +85 -0
  230. package/dist/elements/surfaces.js +107 -0
  231. package/dist/elements/tail-status.d.ts +131 -0
  232. package/dist/elements/tail-status.js +94 -0
  233. package/dist/elements/terminal-block.d.ts +29 -0
  234. package/dist/elements/terminal-block.js +54 -0
  235. package/dist/elements/thinking-indicator.d.ts +18 -0
  236. package/dist/elements/thinking-indicator.js +36 -0
  237. package/dist/elements/thread-list.d.ts +35 -0
  238. package/dist/elements/thread-list.js +68 -0
  239. package/dist/elements/thread-search.d.ts +42 -0
  240. package/dist/elements/thread-search.js +99 -0
  241. package/dist/elements/timeline.d.ts +37 -0
  242. package/dist/elements/timeline.js +46 -0
  243. package/dist/elements/todo-list.d.ts +42 -0
  244. package/dist/elements/todo-list.js +59 -0
  245. package/dist/elements/tool-call.d.ts +41 -0
  246. package/dist/elements/tool-call.js +85 -0
  247. package/dist/elements/tool-error.d.ts +39 -0
  248. package/dist/elements/tool-error.js +76 -0
  249. package/dist/elements/tool-group.d.ts +45 -0
  250. package/dist/elements/tool-group.js +71 -0
  251. package/dist/elements/tool-timeline.d.ts +65 -0
  252. package/dist/elements/tool-timeline.js +88 -0
  253. package/dist/elements/trace-waterfall.d.ts +37 -0
  254. package/dist/elements/trace-waterfall.js +69 -0
  255. package/dist/elements/transcript-rules.d.ts +67 -0
  256. package/dist/elements/transcript-rules.js +95 -0
  257. package/dist/elements/turn-footer.d.ts +74 -0
  258. package/dist/elements/turn-footer.js +101 -0
  259. package/dist/elements/typing-indicator.d.ts +16 -0
  260. package/dist/elements/typing-indicator.js +51 -0
  261. package/dist/elements/verdict-row.d.ts +89 -0
  262. package/dist/elements/verdict-row.js +150 -0
  263. package/dist/elements/vocabulary.d.ts +612 -0
  264. package/dist/elements/vocabulary.js +611 -0
  265. package/dist/elements/voice-conversation.d.ts +49 -0
  266. package/dist/elements/voice-conversation.js +123 -0
  267. package/dist/elements/web-preview.d.ts +32 -0
  268. package/dist/elements/web-preview.js +66 -0
  269. package/dist/elements/web-search.d.ts +37 -0
  270. package/dist/elements/web-search.js +66 -0
  271. package/dist/elements/work-collapse.d.ts +103 -0
  272. package/dist/elements/work-collapse.js +131 -0
  273. package/dist/icons/containers.d.ts +89 -0
  274. package/dist/icons/containers.js +295 -0
  275. package/dist/icons/index.d.ts +2 -0
  276. package/dist/index.d.ts +9 -7
  277. package/dist/index.js +3 -2
  278. package/dist/instruments/index.d.ts +2 -2
  279. package/dist/instruments/index.js +2 -2
  280. package/dist/instruments/table.d.ts +14 -1
  281. package/dist/instruments/table.js +20 -1
  282. package/dist/instruments/two-step-button.js +25 -6
  283. package/dist/layout/sidebar.d.ts +19 -1
  284. package/dist/layout/sidebar.js +19 -1
  285. package/dist/primitives/button.js +11 -1
  286. package/dist/primitives/chip.d.ts +34 -8
  287. package/dist/primitives/chip.js +97 -11
  288. package/dist/styles.css +11 -1
  289. package/dist/system/agent-skin.d.ts +27 -0
  290. package/dist/system/agent-skin.js +20 -0
  291. package/dist/system/index.d.ts +3 -3
  292. package/dist/system/portal.d.ts +5 -3
  293. package/dist/system/portal.js +36 -8
  294. package/dist/system/prepaint.d.ts +20 -2
  295. package/dist/system/prepaint.js +39 -33
  296. package/dist/system/theme-provider.d.ts +13 -2
  297. package/dist/system/theme-provider.js +107 -26
  298. package/dist/system/use-density.d.ts +9 -0
  299. package/dist/system/use-density.js +9 -0
  300. package/dist/system/use-isomorphic-layout-effect.js +19 -1
  301. package/dist/theming/_presets.d.ts +1 -1
  302. package/dist/theming/_presets.js +124 -8
  303. package/dist/theming/contrast.d.ts +16 -4
  304. package/dist/theming/contrast.js +33 -6
  305. package/dist/theming/create-theme.d.ts +8 -4
  306. package/dist/theming/create-theme.js +56 -20
  307. package/dist/theming/serialize.d.ts +11 -2
  308. package/dist/theming/serialize.js +87 -9
  309. package/manifest/components/accordion.json +154 -0
  310. package/manifest/components/activity-graph.json +88 -0
  311. package/manifest/components/agent-card.json +120 -0
  312. package/manifest/components/agent-handoff.json +87 -0
  313. package/manifest/components/agent-mode-badge.json +84 -0
  314. package/manifest/components/agent-pile.json +116 -0
  315. package/manifest/components/agent-plan.json +67 -0
  316. package/manifest/components/agent-status.json +73 -0
  317. package/manifest/components/agent-surface.json +78 -0
  318. package/manifest/components/alert-dialog.json +190 -0
  319. package/manifest/components/animated-number.json +67 -0
  320. package/manifest/components/app-bar.json +244 -0
  321. package/manifest/components/app-shell.json +383 -0
  322. package/manifest/components/app-window-frame.json +102 -0
  323. package/manifest/components/approval-card.json +106 -0
  324. package/manifest/components/artifact-card.json +81 -0
  325. package/manifest/components/ask-box.json +209 -0
  326. package/manifest/components/audience-icon.json +52 -0
  327. package/manifest/components/autocomplete.json +197 -0
  328. package/manifest/components/avatar-group.json +72 -0
  329. package/manifest/components/avatar.json +95 -0
  330. package/manifest/components/background-inbox.json +71 -0
  331. package/manifest/components/branch-picker.json +124 -0
  332. package/manifest/components/breadcrumb.json +74 -0
  333. package/manifest/components/button-group.json +74 -0
  334. package/manifest/components/button.json +126 -0
  335. package/manifest/components/calendar.json +65 -0
  336. package/manifest/components/canvas-split-body.json +62 -0
  337. package/manifest/components/canvas-split-document.json +54 -0
  338. package/manifest/components/canvas-split-header.json +83 -0
  339. package/manifest/components/canvas-split-line.json +62 -0
  340. package/manifest/components/canvas-split-message.json +62 -0
  341. package/manifest/components/canvas-split-thread.json +54 -0
  342. package/manifest/components/canvas-split.json +60 -0
  343. package/manifest/components/card.json +140 -0
  344. package/manifest/components/carousel.json +200 -0
  345. package/manifest/components/catalogue-icon.json +52 -0
  346. package/manifest/components/channel-beta-icon.json +52 -0
  347. package/manifest/components/channel-matrix.json +173 -0
  348. package/manifest/components/channel-released-icon.json +52 -0
  349. package/manifest/components/chart-container.json +111 -0
  350. package/manifest/components/chart-ramp.json +72 -0
  351. package/manifest/components/chart-swatch.json +65 -0
  352. package/manifest/components/chart-tooltip-content.json +114 -0
  353. package/manifest/components/chart.json +93 -0
  354. package/manifest/components/chat-empty-state.json +55 -0
  355. package/manifest/components/chat-panel-assistant-message.json +51 -0
  356. package/manifest/components/chat-panel-composer.json +66 -0
  357. package/manifest/components/chat-panel-messages.json +51 -0
  358. package/manifest/components/chat-panel-typing.json +51 -0
  359. package/manifest/components/chat-panel-user-message.json +51 -0
  360. package/manifest/components/chat-panel.json +57 -0
  361. package/manifest/components/checkbox-group.json +68 -0
  362. package/manifest/components/checkbox.json +93 -0
  363. package/manifest/components/checkpoint-history.json +80 -0
  364. package/manifest/components/chip.json +144 -0
  365. package/manifest/components/clamp.json +102 -0
  366. package/manifest/components/cli-tool-icon.json +52 -0
  367. package/manifest/components/code-diff.json +87 -0
  368. package/manifest/components/code-runner.json +97 -0
  369. package/manifest/components/collapsible.json +120 -0
  370. package/manifest/components/color-area.json +59 -0
  371. package/manifest/components/color-field.json +79 -0
  372. package/manifest/components/color-picker.json +175 -0
  373. package/manifest/components/color-slider.json +75 -0
  374. package/manifest/components/color-swatch.json +68 -0
  375. package/manifest/components/colors-section.json +66 -0
  376. package/manifest/components/combobox.json +198 -0
  377. package/manifest/components/command-palette.json +177 -0
  378. package/manifest/components/compaction-row.json +100 -0
  379. package/manifest/components/comparison-card.json +83 -0
  380. package/manifest/components/composer-actions.json +65 -0
  381. package/manifest/components/composer-attach-button.json +65 -0
  382. package/manifest/components/composer-attachment-chip.json +75 -0
  383. package/manifest/components/composer-attachments.json +60 -0
  384. package/manifest/components/composer-bar.json +73 -0
  385. package/manifest/components/composer-command-item.json +79 -0
  386. package/manifest/components/composer-context.json +67 -0
  387. package/manifest/components/composer-input.json +73 -0
  388. package/manifest/components/composer-menu-item.json +72 -0
  389. package/manifest/components/composer-menu.json +79 -0
  390. package/manifest/components/composer-model-item.json +75 -0
  391. package/manifest/components/composer-model-trigger.json +75 -0
  392. package/manifest/components/composer-person-item.json +79 -0
  393. package/manifest/components/composer-send.json +80 -0
  394. package/manifest/components/composer-toolbar.json +65 -0
  395. package/manifest/components/composer-voice-button.json +68 -0
  396. package/manifest/components/composer-voice.json +75 -0
  397. package/manifest/components/composer.json +176 -0
  398. package/manifest/components/computer-use.json +84 -0
  399. package/manifest/components/confidence-marker.json +74 -0
  400. package/manifest/components/connection-state.json +84 -0
  401. package/manifest/components/container.json +60 -0
  402. package/manifest/components/context-breakdown.json +65 -0
  403. package/manifest/components/context-menu.json +121 -0
  404. package/manifest/components/context-usage.json +85 -0
  405. package/manifest/components/conversation-search.json +92 -0
  406. package/manifest/components/copy-button.json +93 -0
  407. package/manifest/components/cost-meter.json +74 -0
  408. package/manifest/components/cue-logotype.json +96 -0
  409. package/manifest/components/cue-mark.json +97 -0
  410. package/manifest/components/cue-portal-frame.json +55 -0
  411. package/manifest/components/data-table-pagination.json +83 -0
  412. package/manifest/components/data-table-toolbar.json +104 -0
  413. package/manifest/components/date-field.json +80 -0
  414. package/manifest/components/date-picker.json +191 -0
  415. package/manifest/components/date-range-picker.json +191 -0
  416. package/manifest/components/day-separator.json +58 -0
  417. package/manifest/components/delegation-card.json +144 -0
  418. package/manifest/components/density.json +58 -0
  419. package/manifest/components/description-list.json +84 -0
  420. package/manifest/components/diagram.json +100 -0
  421. package/manifest/components/dialog.json +198 -0
  422. package/manifest/components/disclosure.json +109 -0
  423. package/manifest/components/dmx-bar.json +94 -0
  424. package/manifest/components/dmx-strip.json +101 -0
  425. package/manifest/components/document-reference.json +90 -0
  426. package/manifest/components/draft-restore.json +82 -0
  427. package/manifest/components/drawer.json +179 -0
  428. package/manifest/components/dropdown-menu.json +229 -0
  429. package/manifest/components/edit-message.json +105 -0
  430. package/manifest/components/elements-command-palette.json +100 -0
  431. package/manifest/components/elements-composer.json +71 -0
  432. package/manifest/components/elements-data-table.json +68 -0
  433. package/manifest/components/elements-timeline.json +69 -0
  434. package/manifest/components/elicitation-form.json +103 -0
  435. package/manifest/components/empty-state-composer.json +64 -0
  436. package/manifest/components/empty-state-greeting.json +49 -0
  437. package/manifest/components/empty-state-suggestion.json +57 -0
  438. package/manifest/components/empty-state-suggestions.json +49 -0
  439. package/manifest/components/empty-state.json +90 -0
  440. package/manifest/components/end-of-turn-summary.json +77 -0
  441. package/manifest/components/env-var-input.json +150 -0
  442. package/manifest/components/error-state.json +80 -0
  443. package/manifest/components/export-dialog.json +84 -0
  444. package/manifest/components/eyebrow.json +56 -0
  445. package/manifest/components/feedback-dialog.json +107 -0
  446. package/manifest/components/field-description.json +63 -0
  447. package/manifest/components/field-error.json +77 -0
  448. package/manifest/components/field-label.json +63 -0
  449. package/manifest/components/field.json +79 -0
  450. package/manifest/components/file-tree.json +83 -0
  451. package/manifest/components/file-upload.json +159 -0
  452. package/manifest/components/flow-background.json +50 -0
  453. package/manifest/components/flow-controls.json +50 -0
  454. package/manifest/components/flow-graph.json +75 -0
  455. package/manifest/components/folder-icon.json +52 -0
  456. package/manifest/components/footer.json +112 -0
  457. package/manifest/components/frac.json +59 -0
  458. package/manifest/components/generation-loader.json +64 -0
  459. package/manifest/components/generative-ui.json +93 -0
  460. package/manifest/components/grid.json +81 -0
  461. package/manifest/components/group-bar.json +102 -0
  462. package/manifest/components/guardrail-notice.json +91 -0
  463. package/manifest/components/hover-card.json +151 -0
  464. package/manifest/components/icon-button.json +88 -0
  465. package/manifest/components/image-generation.json +67 -0
  466. package/manifest/components/info-tip.json +98 -0
  467. package/manifest/components/inline-citation.json +77 -0
  468. package/manifest/components/input-group.json +91 -0
  469. package/manifest/components/input.json +89 -0
  470. package/manifest/components/item.json +129 -0
  471. package/manifest/components/job-progress.json +96 -0
  472. package/manifest/components/kbd.json +52 -0
  473. package/manifest/components/launcher-bubble.json +105 -0
  474. package/manifest/components/link.json +81 -0
  475. package/manifest/components/live-region-announcer.json +79 -0
  476. package/manifest/components/log-viewer.json +139 -0
  477. package/manifest/components/map-answer.json +83 -0
  478. package/manifest/components/markdown-text.json +94 -0
  479. package/manifest/components/math-block.json +74 -0
  480. package/manifest/components/mcp-server-icon.json +52 -0
  481. package/manifest/components/mcp-server-panel.json +87 -0
  482. package/manifest/components/memory-chips.json +65 -0
  483. package/manifest/components/menubar.json +157 -0
  484. package/manifest/components/message-actions.json +99 -0
  485. package/manifest/components/message-attachments.json +63 -0
  486. package/manifest/components/message-branches.json +71 -0
  487. package/manifest/components/message-list.json +100 -0
  488. package/manifest/components/message-pair.json +86 -0
  489. package/manifest/components/message-queue.json +74 -0
  490. package/manifest/components/message-timing.json +62 -0
  491. package/manifest/components/message.json +116 -0
  492. package/manifest/components/meter.json +114 -0
  493. package/manifest/components/mobile-composer.json +126 -0
  494. package/manifest/components/model-picker.json +76 -0
  495. package/manifest/components/multi-select.json +190 -0
  496. package/manifest/components/musical-time-input.json +113 -0
  497. package/manifest/components/navigation-menu.json +226 -0
  498. package/manifest/components/node-card.json +109 -0
  499. package/manifest/components/node-handle.json +69 -0
  500. package/manifest/components/number-field.json +107 -0
  501. package/manifest/components/number-ticker.json +61 -0
  502. package/manifest/components/onboarding.json +84 -0
  503. package/manifest/components/otp-field.json +128 -0
  504. package/manifest/components/page-shell.json +96 -0
  505. package/manifest/components/pagination.json +92 -0
  506. package/manifest/components/panel-header.json +77 -0
  507. package/manifest/components/panel.json +71 -0
  508. package/manifest/components/password-input.json +119 -0
  509. package/manifest/components/permission-grant.json +92 -0
  510. package/manifest/components/permission-scopes.json +139 -0
  511. package/manifest/components/piano-keyboard.json +120 -0
  512. package/manifest/components/plussie.json +111 -0
  513. package/manifest/components/popover.json +193 -0
  514. package/manifest/components/preset-section.json +73 -0
  515. package/manifest/components/progress.json +95 -0
  516. package/manifest/components/prompt-library.json +99 -0
  517. package/manifest/components/queue-dock.json +110 -0
  518. package/manifest/components/quota-banner.json +94 -0
  519. package/manifest/components/quote-reply.json +105 -0
  520. package/manifest/components/radio-group.json +73 -0
  521. package/manifest/components/radio.json +80 -0
  522. package/manifest/components/rating.json +141 -0
  523. package/manifest/components/read-aloud.json +111 -0
  524. package/manifest/components/reasoning-effort.json +81 -0
  525. package/manifest/components/reasoning-panel.json +108 -0
  526. package/manifest/components/recommendation-card.json +107 -0
  527. package/manifest/components/regenerate-menu.json +89 -0
  528. package/manifest/components/replay-player.json +102 -0
  529. package/manifest/components/research-report.json +76 -0
  530. package/manifest/components/resizable.json +88 -0
  531. package/manifest/components/retrieval-chunks.json +84 -0
  532. package/manifest/components/revert-dock.json +150 -0
  533. package/manifest/components/reviewable-diff.json +93 -0
  534. package/manifest/components/risk-badge.json +74 -0
  535. package/manifest/components/row.json +109 -0
  536. package/manifest/components/schedule-card.json +101 -0
  537. package/manifest/components/score-breakdown.json +91 -0
  538. package/manifest/components/scroll-anchor.json +72 -0
  539. package/manifest/components/scroll-area.json +91 -0
  540. package/manifest/components/scrollable-tabs-list.json +83 -0
  541. package/manifest/components/scrub-input.json +200 -0
  542. package/manifest/components/seam-cell.json +75 -0
  543. package/manifest/components/seam-grid.json +75 -0
  544. package/manifest/components/seam-list.json +56 -0
  545. package/manifest/components/search-input.json +134 -0
  546. package/manifest/components/section-header.json +112 -0
  547. package/manifest/components/segmented-control.json +138 -0
  548. package/manifest/components/select.json +194 -0
  549. package/manifest/components/separator.json +53 -0
  550. package/manifest/components/settings-panel.json +118 -0
  551. package/manifest/components/shape-section.json +66 -0
  552. package/manifest/components/shared-conversation.json +89 -0
  553. package/manifest/components/sheet.json +186 -0
  554. package/manifest/components/shimmer-label.json +59 -0
  555. package/manifest/components/sidebar.json +198 -0
  556. package/manifest/components/signal-edge.json +56 -0
  557. package/manifest/components/skeleton.json +46 -0
  558. package/manifest/components/skill-icon.json +52 -0
  559. package/manifest/components/slider.json +89 -0
  560. package/manifest/components/sources.json +83 -0
  561. package/manifest/components/sparkline.json +76 -0
  562. package/manifest/components/speaker-identity.json +61 -0
  563. package/manifest/components/spec-sheet.json +80 -0
  564. package/manifest/components/spectrum-visualizer.json +115 -0
  565. package/manifest/components/spinner.json +61 -0
  566. package/manifest/components/stack-icon.json +52 -0
  567. package/manifest/components/stack.json +96 -0
  568. package/manifest/components/stacks-matrix-icon.json +52 -0
  569. package/manifest/components/stat.json +87 -0
  570. package/manifest/components/status-bar.json +58 -0
  571. package/manifest/components/status-dot.json +78 -0
  572. package/manifest/components/stepper.json +89 -0
  573. package/manifest/components/stopped-run.json +81 -0
  574. package/manifest/components/streaming-text.json +71 -0
  575. package/manifest/components/sub.json +44 -0
  576. package/manifest/components/subagent-list.json +88 -0
  577. package/manifest/components/suggestions.json +84 -0
  578. package/manifest/components/sup.json +44 -0
  579. package/manifest/components/swap-label.json +71 -0
  580. package/manifest/components/switch.json +87 -0
  581. package/manifest/components/table-scroll-region.json +69 -0
  582. package/manifest/components/table.json +155 -0
  583. package/manifest/components/tabs.json +145 -0
  584. package/manifest/components/tags-input.json +190 -0
  585. package/manifest/components/tail-status.json +109 -0
  586. package/manifest/components/terminal-block.json +91 -0
  587. package/manifest/components/terminal-frame.json +119 -0
  588. package/manifest/components/textarea.json +76 -0
  589. package/manifest/components/theme-configurator.json +124 -0
  590. package/manifest/components/theme-provider.json +134 -0
  591. package/manifest/components/thinking-indicator.json +63 -0
  592. package/manifest/components/thread-list.json +76 -0
  593. package/manifest/components/thread-search.json +90 -0
  594. package/manifest/components/threshold-rail.json +160 -0
  595. package/manifest/components/time-boundary.json +62 -0
  596. package/manifest/components/time-field.json +80 -0
  597. package/manifest/components/timeline-ruler.json +139 -0
  598. package/manifest/components/timeline.json +115 -0
  599. package/manifest/components/title-bar.json +82 -0
  600. package/manifest/components/toast.json +130 -0
  601. package/manifest/components/todo-list.json +69 -0
  602. package/manifest/components/toggle-group.json +106 -0
  603. package/manifest/components/toggle.json +109 -0
  604. package/manifest/components/token-editor.json +90 -0
  605. package/manifest/components/tool-call-card.json +200 -0
  606. package/manifest/components/tool-call.json +119 -0
  607. package/manifest/components/tool-error.json +114 -0
  608. package/manifest/components/tool-group.json +83 -0
  609. package/manifest/components/tool-timeline.json +119 -0
  610. package/manifest/components/toolbar.json +163 -0
  611. package/manifest/components/tooltip.json +164 -0
  612. package/manifest/components/trace-waterfall.json +74 -0
  613. package/manifest/components/tree-visibility-toggle.json +84 -0
  614. package/manifest/components/tree.json +140 -0
  615. package/manifest/components/turn-footer.json +105 -0
  616. package/manifest/components/two-step-button.json +113 -0
  617. package/manifest/components/typing-indicator.json +53 -0
  618. package/manifest/components/universe-grid.json +127 -0
  619. package/manifest/components/unread-divider.json +55 -0
  620. package/manifest/components/usage-chart.json +124 -0
  621. package/manifest/components/verdict-row.json +91 -0
  622. package/manifest/components/voice-conversation.json +109 -0
  623. package/manifest/components/web-preview.json +87 -0
  624. package/manifest/components/web-search.json +92 -0
  625. package/manifest/components/work-collapse.json +102 -0
  626. package/manifest/manifest.json +4779 -0
  627. package/manifest/tokens.json +159 -0
  628. package/package.json +54 -5
@@ -0,0 +1,69 @@
1
+ {
2
+ "name": "TodoList",
3
+ "slug": "todo-list",
4
+ "group": "elements",
5
+ "importPath": "@cueplusplus/ui/elements",
6
+ "peerDependencies": [
7
+ "lucide-react"
8
+ ],
9
+ "clientOnly": true,
10
+ "description": "The agent's own working list, rewritten mid-run as it discovers what else is needed.",
11
+ "props": [
12
+ {
13
+ "name": "items",
14
+ "type": "readonly TodoItem[]",
15
+ "required": true,
16
+ "defaultValue": null,
17
+ "description": "The list as it stands right now. Each item carries its own status, so the agent\ncan add, reorder, and complete items in any order between renders."
18
+ },
19
+ {
20
+ "name": "revision",
21
+ "type": "number",
22
+ "required": false,
23
+ "defaultValue": null,
24
+ "description": "Which rewrite of the list this is. Omit to show a plain done/total count instead."
25
+ }
26
+ ],
27
+ "typeReferences": [
28
+ "Omit<ComponentProps<\"div\">, \"children\" | \"items\" | \"revision\"> & {\n /**\n * The list as it stands right now. Each item carries its own status, so the agent\n * can add, reorder, and complete items in any order between renders.\n */\n items: readonly TodoItem[];\n /** Which rewrite of the list this is. Omit to show a plain done/total count instead. */\n revision?: number;\n}"
29
+ ],
30
+ "subcomponents": [],
31
+ "parts": [],
32
+ "variants": {},
33
+ "defaultVariants": {},
34
+ "tokensUsed": [
35
+ "--cue-border-strong",
36
+ "--cue-fg",
37
+ "--cue-fg-muted",
38
+ "--cue-fg-subtle",
39
+ "--cue-radius-control",
40
+ "--cue-stream",
41
+ "--cue-surface-2",
42
+ "--cue-text-body"
43
+ ],
44
+ "summary": "The agent's own working list, rewritten mid-run as it discovers what else is needed.",
45
+ "examples": [
46
+ {
47
+ "title": "Usage",
48
+ "code": "import { TodoList } from \"@cueplusplus/ui/elements\";\n\n<TodoList\n items={[\n { id: \"read\", text: \"Read the failing test\", status: \"done\" },\n { id: \"fix\", text: \"Fix the converter\", status: \"active\" },\n { id: \"verify\", text: \"Re-run the suite\", status: \"pending\" },\n ]}\n revision={2}\n/>",
49
+ "language": "tsx"
50
+ }
51
+ ],
52
+ "status": "todo-docs",
53
+ "url": "/docs/components/todo-list",
54
+ "mdUrl": "/docs/components/todo-list.md",
55
+ "jsonUrl": "/r/components/todo-list.json",
56
+ "specimens": [
57
+ {
58
+ "title": "TodoList",
59
+ "group": "elements",
60
+ "components": [
61
+ "TodoList"
62
+ ],
63
+ "code": "<Specimens>\n <Specimen label=\"rev 3\" wide>\n <TodoList items={TODOS} revision={3} />\n </Specimen>\n <Specimen label=\"no revision\" wide>\n <TodoList items={TODOS.slice(0, 3)} />\n </Specimen>\n</Specimens>",
64
+ "note": "The agent's own working list, which is not the plan: it is rewritten mid-run as the job turns out to be bigger. Items carry their own status, so more than one can be active, and `revision` is what makes a rewrite legible rather than alarming.",
65
+ "interaction": "none, and deliberately: a reader who could tick these off would be editing the agent's mind."
66
+ }
67
+ ],
68
+ "todo": true
69
+ }
@@ -0,0 +1,106 @@
1
+ {
2
+ "name": "ToggleGroup",
3
+ "slug": "toggle-group",
4
+ "group": "forms",
5
+ "importPath": "@cueplusplus/ui",
6
+ "peerDependencies": [],
7
+ "clientOnly": true,
8
+ "description": "A cluster of {@link Toggle }s sharing one pressed state.\n\nThe difference from {@link SegmentedControl } is not cosmetic: a toggle group\ncan be **empty**. Pressing the pressed item unpresses it, so \"no filter\" is a\nreachable state — which is what a filter bar needs and what a view switcher\nmust never offer. Reach for `SegmentedControl` when the answer is always one\nof N, and for this when the answer may be none, or several (`multiple`).\n\nArrow-key roving focus and the pressed-state ARIA come from Base UI; this\nlayer supplies the density rung (published to the children through context)\nand the flat frame-less layout — a group of toggles is a row of controls, not\na boxed widget.",
9
+ "props": [
10
+ {
11
+ "name": "defaultValue",
12
+ "type": "readonly string[]",
13
+ "required": false,
14
+ "defaultValue": null,
15
+ "description": "The initially pressed values when uncontrolled."
16
+ },
17
+ {
18
+ "name": "className",
19
+ "type": "string",
20
+ "required": false,
21
+ "defaultValue": null,
22
+ "description": "Extra classes for the group frame."
23
+ },
24
+ {
25
+ "name": "children",
26
+ "type": "ReactNode",
27
+ "required": true,
28
+ "defaultValue": null,
29
+ "description": "The {@link Toggle }s, each carrying a `value`."
30
+ },
31
+ {
32
+ "name": "size",
33
+ "type": "\"sm\" | \"md\" | \"lg\"",
34
+ "required": false,
35
+ "defaultValue": "md",
36
+ "description": "Rung of the control ladder for every toggle inside. Defaults to `\"md\"`."
37
+ },
38
+ {
39
+ "name": "value",
40
+ "type": "readonly string[]",
41
+ "required": false,
42
+ "defaultValue": null,
43
+ "description": "The pressed values when controlled. Pass with `onValueChange`."
44
+ },
45
+ {
46
+ "name": "onValueChange",
47
+ "type": "((value: string[]) => void)",
48
+ "required": false,
49
+ "defaultValue": null,
50
+ "description": "Called with every pressed value, in the order the toggles are declared."
51
+ }
52
+ ],
53
+ "typeReferences": [
54
+ "Omit<\n BaseToggleGroup.Props,\n \"className\" | \"value\" | \"defaultValue\" | \"onValueChange\" | \"children\"\n >"
55
+ ],
56
+ "subcomponents": [],
57
+ "parts": [],
58
+ "variants": {},
59
+ "defaultVariants": {},
60
+ "tokensUsed": [
61
+ "--cue-accent",
62
+ "--cue-border",
63
+ "--cue-control-lg",
64
+ "--cue-control-md",
65
+ "--cue-control-sm",
66
+ "--cue-danger",
67
+ "--cue-fg",
68
+ "--cue-fg-subtle",
69
+ "--cue-font-mono",
70
+ "--cue-radius-control",
71
+ "--cue-space-1",
72
+ "--cue-space-3",
73
+ "--cue-space-4",
74
+ "--cue-space-5",
75
+ "--cue-sunken",
76
+ "--cue-text-body",
77
+ "--cue-text-label",
78
+ "--cue-text-ui"
79
+ ],
80
+ "summary": "A cluster of {@link Toggle }s sharing one pressed state.",
81
+ "examples": [
82
+ {
83
+ "title": "Usage",
84
+ "code": "<ToggleGroup aria-label=\"Layers\" multiple value={layers} onValueChange={setLayers}>\n <Toggle value=\"beams\">Beams</Toggle>\n <Toggle value=\"haze\">Haze</Toggle>\n</ToggleGroup>",
85
+ "language": "tsx"
86
+ }
87
+ ],
88
+ "status": "todo-docs",
89
+ "url": "/docs/components/toggle-group",
90
+ "mdUrl": "/docs/components/toggle-group.md",
91
+ "jsonUrl": "/r/components/toggle-group.json",
92
+ "specimens": [
93
+ {
94
+ "title": "Toggle / ToggleGroup",
95
+ "group": "forms",
96
+ "components": [
97
+ "Toggle",
98
+ "ToggleGroup"
99
+ ],
100
+ "code": "<Specimens>\n <Specimen label=\"off\">\n <Toggle aria-label=\"Highlight\" icon={Lightbulb} />\n </Specimen>\n <Specimen label=\"on\">\n <Toggle aria-label=\"Highlight, on\" icon={Lightbulb} defaultPressed />\n </Specimen>\n <Specimen label=\"with label\">\n <Toggle icon={Lightbulb}>Highlight</Toggle>\n </Specimen>\n <Specimen label=\"disabled\">\n <Toggle aria-label=\"Highlight, disabled\" icon={Lightbulb} disabled />\n </Specimen>\n <Specimen label=\"group\">\n <ToggleGroup aria-label=\"Text style\" defaultValue={[\"bold\"]}>\n <Toggle value=\"bold\" aria-label=\"Bold\" icon={Bold} />\n <Toggle value=\"italic\" aria-label=\"Italic\" icon={Italic} />\n <Toggle value=\"underline\" aria-label=\"Underline\" icon={Underline} />\n </ToggleGroup>\n </Specimen>\n</Specimens>",
101
+ "note": "A button that stays pressed, and a set of them. `aria-pressed` carries the state.",
102
+ "interaction": "hover tints the ground; pressed is accent-soft, on the same ruling as the active tab."
103
+ }
104
+ ],
105
+ "todo": true
106
+ }
@@ -0,0 +1,109 @@
1
+ {
2
+ "name": "Toggle",
3
+ "slug": "toggle",
4
+ "group": "forms",
5
+ "importPath": "@cueplusplus/ui",
6
+ "peerDependencies": [],
7
+ "clientOnly": true,
8
+ "description": "A two-state button: solo, mute, snap-to-grid, \"show hidden\".\n\nDistinct from {@link Switch }, which sets a *setting* and reads as a physical\nthrow; a toggle is a **button that stays down**, so it belongs in a toolbar\nnext to other buttons rather than in a settings list. `aria-pressed` — not\n`aria-checked` — is what says so to assistive technology, and Base UI wires\nthat for us.\n\nInside a {@link ToggleGroup } it inherits the group's density rung and joins\nits roving-focus ring; on its own it is a perfectly good standalone control.",
9
+ "props": [
10
+ {
11
+ "name": "className",
12
+ "type": "string",
13
+ "required": false,
14
+ "defaultValue": null,
15
+ "description": "Extra classes, merged over the recipe."
16
+ },
17
+ {
18
+ "name": "children",
19
+ "type": "ReactNode",
20
+ "required": false,
21
+ "defaultValue": null,
22
+ "description": "The label. Leave it off for an icon-only toggle — and then pass `aria-label`."
23
+ },
24
+ {
25
+ "name": "size",
26
+ "type": "\"sm\" | \"md\" | \"lg\"",
27
+ "required": false,
28
+ "defaultValue": null,
29
+ "description": "Rung of the control ladder. Defaults to the enclosing {@link ToggleGroup }'s\nrung, or `\"md\"` outside one."
30
+ },
31
+ {
32
+ "name": "icon",
33
+ "type": "ElementType<any, keyof IntrinsicElements>",
34
+ "required": false,
35
+ "defaultValue": null,
36
+ "description": "Optional leading icon component (e.g. a lucide icon). Rendered `aria-hidden`\nand sized to the density icon token. With no `children` the toggle collapses\nto a square target instead of a wide pill."
37
+ }
38
+ ],
39
+ "typeReferences": [
40
+ "Omit<BaseToggle.Props, \"className\">"
41
+ ],
42
+ "subcomponents": [],
43
+ "parts": [],
44
+ "variants": {
45
+ "size": [
46
+ "sm",
47
+ "md",
48
+ "lg"
49
+ ],
50
+ "square": [
51
+ "true",
52
+ "false"
53
+ ]
54
+ },
55
+ "defaultVariants": {
56
+ "size": "md",
57
+ "square": "false"
58
+ },
59
+ "tokensUsed": [
60
+ "--cue-accent",
61
+ "--cue-accent-soft",
62
+ "--cue-border",
63
+ "--cue-control-lg",
64
+ "--cue-control-md",
65
+ "--cue-control-sm",
66
+ "--cue-danger",
67
+ "--cue-fg",
68
+ "--cue-fg-muted",
69
+ "--cue-fg-subtle",
70
+ "--cue-font-mono",
71
+ "--cue-icon-md",
72
+ "--cue-icon-sm",
73
+ "--cue-radius-control",
74
+ "--cue-space-3",
75
+ "--cue-space-4",
76
+ "--cue-space-5",
77
+ "--cue-sunken",
78
+ "--cue-surface-2",
79
+ "--cue-text-body",
80
+ "--cue-text-label",
81
+ "--cue-text-ui"
82
+ ],
83
+ "summary": "A two-state button: solo, mute, snap-to-grid, \"show hidden\".",
84
+ "examples": [
85
+ {
86
+ "title": "Usage",
87
+ "code": "<Toggle aria-label=\"Solo\" icon={Headphones} pressed={solo} onPressedChange={setSolo} />\n<Toggle defaultPressed>Snap</Toggle>",
88
+ "language": "tsx"
89
+ }
90
+ ],
91
+ "status": "todo-docs",
92
+ "url": "/docs/components/toggle",
93
+ "mdUrl": "/docs/components/toggle.md",
94
+ "jsonUrl": "/r/components/toggle.json",
95
+ "specimens": [
96
+ {
97
+ "title": "Toggle / ToggleGroup",
98
+ "group": "forms",
99
+ "components": [
100
+ "Toggle",
101
+ "ToggleGroup"
102
+ ],
103
+ "code": "<Specimens>\n <Specimen label=\"off\">\n <Toggle aria-label=\"Highlight\" icon={Lightbulb} />\n </Specimen>\n <Specimen label=\"on\">\n <Toggle aria-label=\"Highlight, on\" icon={Lightbulb} defaultPressed />\n </Specimen>\n <Specimen label=\"with label\">\n <Toggle icon={Lightbulb}>Highlight</Toggle>\n </Specimen>\n <Specimen label=\"disabled\">\n <Toggle aria-label=\"Highlight, disabled\" icon={Lightbulb} disabled />\n </Specimen>\n <Specimen label=\"group\">\n <ToggleGroup aria-label=\"Text style\" defaultValue={[\"bold\"]}>\n <Toggle value=\"bold\" aria-label=\"Bold\" icon={Bold} />\n <Toggle value=\"italic\" aria-label=\"Italic\" icon={Italic} />\n <Toggle value=\"underline\" aria-label=\"Underline\" icon={Underline} />\n </ToggleGroup>\n </Specimen>\n</Specimens>",
104
+ "note": "A button that stays pressed, and a set of them. `aria-pressed` carries the state.",
105
+ "interaction": "hover tints the ground; pressed is accent-soft, on the same ruling as the active tab."
106
+ }
107
+ ],
108
+ "todo": true
109
+ }
@@ -0,0 +1,90 @@
1
+ {
2
+ "name": "TokenEditor",
3
+ "slug": "token-editor",
4
+ "group": "configurator",
5
+ "importPath": "@cueplusplus/ui/configurator",
6
+ "peerDependencies": [
7
+ "react-aria-components"
8
+ ],
9
+ "clientOnly": true,
10
+ "description": "The grouped colour rows.\n\nStateless by design: it renders the values it is handed and reports edits\nback. The configurator owns the override model, and so does anything else\nthat wants to reuse these rows.\n\n`react-aria-components` is an **optional peer** (it arrives with\n`ColorPicker`): import this from `@cueplusplus/ui/configurator`.",
11
+ "props": [
12
+ {
13
+ "name": "values",
14
+ "type": "Record<string, string>",
15
+ "required": true,
16
+ "defaultValue": null,
17
+ "description": "Current values, keyed by `--cue-*` property."
18
+ },
19
+ {
20
+ "name": "overridden",
21
+ "type": "ReadonlySet<string>",
22
+ "required": true,
23
+ "defaultValue": null,
24
+ "description": "Which properties carry an override rather than the preset's value."
25
+ },
26
+ {
27
+ "name": "onTokenChange",
28
+ "type": "(token: string, value: string) => void",
29
+ "required": true,
30
+ "defaultValue": null,
31
+ "description": "Called with the `--cue-*` property and its new value."
32
+ },
33
+ {
34
+ "name": "onTokenReset",
35
+ "type": "(token: string) => void",
36
+ "required": true,
37
+ "defaultValue": null,
38
+ "description": "Called with the `--cue-*` property to put back to the preset's value."
39
+ },
40
+ {
41
+ "name": "groups",
42
+ "type": "readonly TokenGroup[]",
43
+ "required": false,
44
+ "defaultValue": "[\n {\n id: \"ground\",\n label: \"Ground & surfaces\",\n tokens: [\"bg\", \"sunken\", \"surface-1\", \"surface-2\", \"surface-3\", \"data-ground\", \"scrim\"],\n },\n { id: \"ink\", label: \"Ink\", tokens: [\"fg\", \"fg-muted\", \"fg-subtle\"] },\n { id: \"borders\", label: \"Borders\", tokens: [\"border\", \"border-strong\", \"border-overlay\"] },\n {\n id: \"accent\",\n label: \"Accent\",\n tokens: [\"accent\", \"accent-hover\", \"accent-fg\", \"focus\", \"selection\"],\n },\n {\n id: \"status\",\n label: \"Status\",\n // `stream` is the live hue rather than a sixth tone, and it sits in this\n // group because this is where somebody looking for \"the colour a running\n // tool is\" will look for it. `warn-fg` and `danger-fg` each sit next to the\n // tone they are chosen against: they are the inks on the two solid fills\n // this system paints, and moving a tone without looking at its ink is how a\n // confirm button stops being readable.\n tokens: [\"ok\", \"busy\", \"warn\", \"warn-fg\", \"danger\", \"danger-fg\", \"info\", \"stream\"],\n },\n]",
45
+ "description": "Groups to render. Defaults to {@link COLOR_TOKEN_GROUPS}."
46
+ },
47
+ {
48
+ "name": "className",
49
+ "type": "string",
50
+ "required": false,
51
+ "defaultValue": null,
52
+ "description": "Extra classes for the list."
53
+ }
54
+ ],
55
+ "typeReferences": [],
56
+ "subcomponents": [],
57
+ "parts": [],
58
+ "variants": {},
59
+ "defaultVariants": {},
60
+ "tokensUsed": [
61
+ "--cue-accent",
62
+ "--cue-control-sm",
63
+ "--cue-fg",
64
+ "--cue-fg-muted",
65
+ "--cue-fg-subtle",
66
+ "--cue-font-mono",
67
+ "--cue-font-pairing-mono",
68
+ "--cue-font-sans",
69
+ "--cue-font-scale",
70
+ "--cue-font-theme-mono",
71
+ "--cue-radius-scale",
72
+ "--cue-space-2",
73
+ "--cue-space-4",
74
+ "--cue-text-label",
75
+ "--cue-text-micro"
76
+ ],
77
+ "summary": "The grouped colour rows.",
78
+ "examples": [
79
+ {
80
+ "title": "Usage",
81
+ "code": "<TokenEditor\n values={resolvedTokens(overrides, scope)}\n overridden={new Set(Object.keys(overrides.themes[scopeKey(scope)] ?? {}))}\n onTokenChange={(token, value) => setOverrides(setOverride(overrides, scope, token, value))}\n onTokenReset={(token) => setOverrides(clearOverride(overrides, scope, token))}\n/>",
82
+ "language": "tsx"
83
+ }
84
+ ],
85
+ "status": "todo-docs",
86
+ "url": "/docs/components/token-editor",
87
+ "mdUrl": "/docs/components/token-editor.md",
88
+ "jsonUrl": "/r/components/token-editor.json",
89
+ "todo": true
90
+ }
@@ -0,0 +1,200 @@
1
+ {
2
+ "name": "ToolCallCard",
3
+ "slug": "tool-call-card",
4
+ "group": "agent-runtime",
5
+ "importPath": "@cueplusplus/ui/agent-runtime",
6
+ "peerDependencies": [],
7
+ "clientOnly": true,
8
+ "description": "An LLM's own tool call, shown while it runs and after.\n\nThe two neighbours it is deliberately not: `AskBox` is a question put to a\nhuman and it waits for an answer; `DelegationCard` is another agent's work\nfolded into a lane. This is the model reaching for a tool by itself — nobody\nis being asked anything, and nothing downstream is another agent's turn. It\nborrows both their surfaces on purpose, so a transcript mixing all three\nreads as one family: the tool name and risk chip are `AskBox`'s, the status\nline and the disclosure are `DelegationCard`'s.\n\nArguments and results are rendered verbatim: there is no markdown or HTML\npath here on purpose. Both are untrusted text — half of it is the model's\nown output and the other half is whatever the tool returned — and a\ncomponent that quietly parsed them would make every consumer of this library\none prompt away from an injection. `args` is text you already formatted;\n`result` takes nodes, so a caller who wants rich output passes their own\nrenderer and owns that decision.\n\nThe body is mounted and unmounted rather than height-animated. A call's\nresult lands mid-render and its arguments grow while they stream, and\nanimating the height of something that changes size on its own is how a panel\nends up permanently mid-transition.",
9
+ "props": [
10
+ {
11
+ "name": "tool",
12
+ "type": "string",
13
+ "required": true,
14
+ "defaultValue": null,
15
+ "description": "Name of the tool being called."
16
+ },
17
+ {
18
+ "name": "args",
19
+ "type": "string",
20
+ "required": false,
21
+ "defaultValue": null,
22
+ "description": "The call's arguments, rendered verbatim as preformatted text. Pass a string you already formatted — JSON, a command line. An empty string counts as absent."
23
+ },
24
+ {
25
+ "name": "result",
26
+ "type": "ReactNode",
27
+ "required": false,
28
+ "defaultValue": null,
29
+ "description": "What the tool returned, rendered verbatim. A string is shown as text; pass your own renderer for rich output and own that decision. `null`, `false`, an empty string or an empty array count as absent."
30
+ },
31
+ {
32
+ "name": "status",
33
+ "type": "\"done\" | \"working\" | \"failed\" | \"idle\"",
34
+ "required": false,
35
+ "defaultValue": null,
36
+ "description": "Where the call has got to. Omit to draw no status line at all."
37
+ },
38
+ {
39
+ "name": "activity",
40
+ "type": "ReactNode",
41
+ "required": false,
42
+ "defaultValue": null,
43
+ "description": "What the tool is doing right now. Shown beside the spinner while `working`, and as the text while `idle`."
44
+ },
45
+ {
46
+ "name": "danger",
47
+ "type": "\"low\" | \"high\" | \"critical\"",
48
+ "required": false,
49
+ "defaultValue": null,
50
+ "description": "Risk rating for the call, chipped the way an AskBox approval is. Omit for a routine call."
51
+ },
52
+ {
53
+ "name": "agent",
54
+ "type": "string",
55
+ "required": false,
56
+ "defaultValue": null,
57
+ "description": "Slug of the agent making the call, so the rail takes its colour. Named in assistive text as well as inked."
58
+ },
59
+ {
60
+ "name": "rootAgent",
61
+ "type": "string",
62
+ "required": false,
63
+ "defaultValue": null,
64
+ "description": "Slug of the orchestrator, so its calls take the theme accent."
65
+ },
66
+ {
67
+ "name": "open",
68
+ "type": "boolean",
69
+ "required": false,
70
+ "defaultValue": null,
71
+ "description": "Open state when controlled. Pass with `onOpenChange`."
72
+ },
73
+ {
74
+ "name": "defaultOpen",
75
+ "type": "boolean",
76
+ "required": false,
77
+ "defaultValue": null,
78
+ "description": "Initial open state. Defaults to `false`."
79
+ },
80
+ {
81
+ "name": "onOpenChange",
82
+ "type": "((open: boolean) => void)",
83
+ "required": false,
84
+ "defaultValue": null,
85
+ "description": "Called with the state the card is asking to move to."
86
+ },
87
+ {
88
+ "name": "argsLabel",
89
+ "type": "ReactNode",
90
+ "required": false,
91
+ "defaultValue": "arguments",
92
+ "description": "Eyebrow over the arguments block. Defaults to `\"arguments\"`."
93
+ },
94
+ {
95
+ "name": "resultLabel",
96
+ "type": "ReactNode",
97
+ "required": false,
98
+ "defaultValue": "result",
99
+ "description": "Eyebrow over the result block. Defaults to `\"result\"`."
100
+ },
101
+ {
102
+ "name": "doneLabel",
103
+ "type": "ReactNode",
104
+ "required": false,
105
+ "defaultValue": "Completed",
106
+ "description": "What a finished call says. Defaults to `\"Completed\"`."
107
+ },
108
+ {
109
+ "name": "failedLabel",
110
+ "type": "ReactNode",
111
+ "required": false,
112
+ "defaultValue": "Failed",
113
+ "description": "What a failed call says. Defaults to `\"Failed\"`."
114
+ },
115
+ {
116
+ "name": "children",
117
+ "type": "ReactNode",
118
+ "required": false,
119
+ "defaultValue": null,
120
+ "description": "Extra detail under the result — an approval `AskBox`, a nested transcript."
121
+ }
122
+ ],
123
+ "typeReferences": [
124
+ "Omit<React.ComponentPropsWithoutRef<\"div\">, \"title\">"
125
+ ],
126
+ "subcomponents": [],
127
+ "parts": [],
128
+ "variants": {},
129
+ "defaultVariants": {},
130
+ "tokensUsed": [
131
+ "--cue-accent",
132
+ "--cue-border",
133
+ "--cue-danger",
134
+ "--cue-fg",
135
+ "--cue-fg-muted",
136
+ "--cue-fg-subtle",
137
+ "--cue-font-mono",
138
+ "--cue-icon-sm",
139
+ "--cue-ok",
140
+ "--cue-radius-control",
141
+ "--cue-space-2",
142
+ "--cue-space-3",
143
+ "--cue-space-4",
144
+ "--cue-space-5",
145
+ "--cue-text-micro",
146
+ "--cue-text-ui"
147
+ ],
148
+ "summary": "The model's own tool call: name, risk chip, status in words, and the arguments and result behind a disclosure.",
149
+ "examples": [
150
+ {
151
+ "title": "Usage",
152
+ "code": "<ToolCallCard tool=\"read_file\" args={'{ \"path\": \"cue.json\" }'} status=\"working\" activity=\"reading 12 KB\" />",
153
+ "language": "tsx"
154
+ }
155
+ ],
156
+ "status": "stable",
157
+ "url": "/docs/components/tool-call-card",
158
+ "mdUrl": "/docs/components/tool-call-card.md",
159
+ "jsonUrl": "/r/components/tool-call-card.json",
160
+ "whenToUse": [
161
+ "A model reaching for a tool mid-turn, inside the agent's `Message` or beside it.",
162
+ "A settled call in a replayed transcript, where the arguments and the result are the record.",
163
+ "Anywhere the reader needs the exact text a tool was sent and the exact text it returned."
164
+ ],
165
+ "whenNotToUse": [
166
+ "A question put to a human that waits for an answer. Use `AskBox`.",
167
+ "Another agent's work folded into a lane. Use `DelegationCard`.",
168
+ "A call with nothing to show and no status. The card would be a name in a box."
169
+ ],
170
+ "commonMistakes": [
171
+ "Parsing `args` or `result` as markdown. Both are untrusted text, and rendering them as markup is an injection.",
172
+ "Passing an empty string for `args` or `result` and expecting a disclosure. An empty string counts as absent, so the card draws no trigger.",
173
+ "Reaching for `status=\"idle\"` to mean nothing happened. It means the call is parked on a human.",
174
+ "Leaving `agent` off inside a multi-agent thread, which drops the rail back to the theme accent."
175
+ ],
176
+ "specimens": [
177
+ {
178
+ "title": "useAgentThread / ToolCallCard / BranchPicker",
179
+ "group": "agent-runtime",
180
+ "components": [
181
+ "useAgentThread",
182
+ "ToolCallCard",
183
+ "BranchPicker"
184
+ ],
185
+ "code": "<ScriptedThread />",
186
+ "note": "The hook reads an assistant-ui runtime and hands back the props the Chat group already takes: `busy`, `disabled`, `onSend` and `onStop` for the composer, `role`, `agent` and `pending` for each turn, `toolCalls` for the cards, `branch` and `switchBranch` for the stepper. No provider is mounted and no borrowed DOM is rendered, so every pixel here is this library's. The thread below plays a fixed script, because a docs page has no model behind it.",
187
+ "interaction": "the script streams once and stops on its own; Stop cancels it mid-sentence, Regenerate answers again under the same question, and the stepper that then appears walks the two answers."
188
+ },
189
+ {
190
+ "title": "ToolCallCard",
191
+ "group": "agent-runtime",
192
+ "components": [
193
+ "ToolCallCard"
194
+ ],
195
+ "code": "<Specimens>\n <Specimen label=\"working\">\n <ToolCallCard\n tool=\"dmx.patch\"\n status=\"working\"\n activity=\"resolving GDTF profiles\"\n agent=\"patcher\"\n className=\"w-[18rem]\"\n />\n </Specimen>\n <Specimen label=\"done\">\n <ToolCallCard\n tool=\"dmx.patch\"\n status=\"done\"\n agent=\"patcher\"\n args={'{\\n \"universe\": 3,\\n \"fixtures\": 6\\n}'}\n result={'{\\n \"patched\": 6,\\n \"channels\": \"1 to 48\"\\n}'}\n defaultOpen\n className=\"w-[18rem]\"\n />\n </Specimen>\n <Specimen label=\"failed\">\n <ToolCallCard\n tool=\"show.overwrite\"\n status=\"failed\"\n danger=\"critical\"\n agent=\"archivist\"\n className=\"w-[18rem]\"\n />\n </Specimen>\n <Specimen label=\"idle\">\n <ToolCallCard\n tool=\"rig.unpatch\"\n status=\"idle\"\n danger=\"high\"\n agent=\"patcher\"\n activity=\"waiting for an approval\"\n className=\"w-[18rem]\"\n >\n <span className=\"text-fg-subtle\">\n Nothing runs until somebody answers the AskBox above.\n </span>\n </ToolCallCard>\n </Specimen>\n</Specimens>",
196
+ "note": "The model's own tool call, shown while it runs and after. Not an `AskBox`, which is a question put to a human, and not a `DelegationCard`, which is another agent's work. Arguments and results are printed verbatim: both are untrusted text, and a card that parsed them would make every consumer one prompt away from an injection.",
197
+ "interaction": "the header is the disclosure when there is detail behind it, and a plain row when there is not; the status is spelled out as well as tinted."
198
+ }
199
+ ]
200
+ }