@cueplusplus/ui 0.9.0 → 0.10.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 (314) hide show
  1. package/CHANGELOG.md +195 -0
  2. package/README.md +91 -9
  3. package/dist/index.d.ts +4 -3
  4. package/dist/index.js +4 -2
  5. package/dist/instruments/meter.d.ts +5 -1
  6. package/dist/layout/bento.d.ts +144 -0
  7. package/dist/layout/bento.js +266 -0
  8. package/dist/layout/index.d.ts +3 -2
  9. package/dist/layout/index.js +3 -2
  10. package/dist/primitives/button.d.ts +12 -0
  11. package/dist/primitives/chip.d.ts +1 -1
  12. package/dist/system/index.d.ts +2 -2
  13. package/dist/system/index.js +2 -1
  14. package/dist/system/overrides.d.ts +38 -1
  15. package/dist/system/overrides.js +40 -1
  16. package/manifest/components/accordion.json +24 -6
  17. package/manifest/components/activity-graph.json +20 -5
  18. package/manifest/components/agent-card.json +37 -9
  19. package/manifest/components/agent-handoff.json +21 -5
  20. package/manifest/components/agent-mode-badge.json +22 -4
  21. package/manifest/components/agent-pile.json +38 -8
  22. package/manifest/components/agent-plan.json +9 -2
  23. package/manifest/components/agent-status.json +17 -3
  24. package/manifest/components/agent-surface.json +26 -11
  25. package/manifest/components/alert-dialog.json +29 -5
  26. package/manifest/components/animated-number.json +14 -6
  27. package/manifest/components/app-bar.json +66 -13
  28. package/manifest/components/app-shell.json +133 -31
  29. package/manifest/components/app-window-frame.json +28 -6
  30. package/manifest/components/approval-card.json +37 -7
  31. package/manifest/components/artifact-card.json +16 -4
  32. package/manifest/components/ask-box.json +99 -21
  33. package/manifest/components/audience-icon.json +1 -7
  34. package/manifest/components/autocomplete.json +80 -18
  35. package/manifest/components/avatar-group.json +13 -2
  36. package/manifest/components/avatar.json +22 -4
  37. package/manifest/components/background-inbox.json +9 -2
  38. package/manifest/components/bento.json +306 -0
  39. package/manifest/components/branch-picker.json +29 -7
  40. package/manifest/components/breadcrumb.json +13 -3
  41. package/manifest/components/button-group.json +21 -4
  42. package/manifest/components/button.json +41 -4
  43. package/manifest/components/canvas-split-body.json +4 -1
  44. package/manifest/components/canvas-split-header.json +17 -4
  45. package/manifest/components/canvas-split-line.json +4 -1
  46. package/manifest/components/canvas-split-message.json +8 -1
  47. package/manifest/components/card.json +14 -3
  48. package/manifest/components/carousel.json +54 -12
  49. package/manifest/components/catalogue-icon.json +1 -7
  50. package/manifest/components/channel-beta-icon.json +1 -7
  51. package/manifest/components/channel-matrix.json +80 -15
  52. package/manifest/components/channel-released-icon.json +1 -7
  53. package/manifest/components/chart-container.json +26 -10
  54. package/manifest/components/chart-ramp.json +13 -3
  55. package/manifest/components/chart-swatch.json +9 -2
  56. package/manifest/components/chart-tooltip-content.json +31 -7
  57. package/manifest/components/chart.json +30 -6
  58. package/manifest/components/chat-panel-composer.json +9 -2
  59. package/manifest/components/checkbox-group.json +4 -2
  60. package/manifest/components/checkbox.json +17 -4
  61. package/manifest/components/checkpoint-history.json +13 -3
  62. package/manifest/components/chip.json +35 -5
  63. package/manifest/components/clamp.json +30 -7
  64. package/manifest/components/cli-tool-icon.json +1 -7
  65. package/manifest/components/code-diff.json +20 -5
  66. package/manifest/components/code-runner.json +32 -6
  67. package/manifest/components/collapsible.json +16 -4
  68. package/manifest/components/color-area.json +4 -1
  69. package/manifest/components/color-field.json +13 -3
  70. package/manifest/components/color-picker.json +75 -17
  71. package/manifest/components/color-slider.json +12 -3
  72. package/manifest/components/color-swatch.json +13 -2
  73. package/manifest/components/colors-section.json +8 -4
  74. package/manifest/components/combobox.json +81 -18
  75. package/manifest/components/command-palette.json +57 -13
  76. package/manifest/components/compaction-row.json +35 -7
  77. package/manifest/components/comparison-card.json +17 -4
  78. package/manifest/components/composer-attachment-chip.json +9 -2
  79. package/manifest/components/composer-bar.json +4 -1
  80. package/manifest/components/composer-command-item.json +8 -2
  81. package/manifest/components/composer-context.json +4 -1
  82. package/manifest/components/composer-input.json +5 -1
  83. package/manifest/components/composer-menu-item.json +4 -1
  84. package/manifest/components/composer-menu.json +12 -2
  85. package/manifest/components/composer-model-item.json +8 -2
  86. package/manifest/components/composer-model-trigger.json +8 -2
  87. package/manifest/components/composer-person-item.json +8 -2
  88. package/manifest/components/composer-send.json +8 -2
  89. package/manifest/components/composer-voice-button.json +4 -1
  90. package/manifest/components/composer-voice.json +8 -2
  91. package/manifest/components/composer.json +76 -17
  92. package/manifest/components/computer-use.json +17 -4
  93. package/manifest/components/confidence-marker.json +13 -3
  94. package/manifest/components/connection-state.json +23 -4
  95. package/manifest/components/container.json +14 -2
  96. package/manifest/components/context-breakdown.json +8 -2
  97. package/manifest/components/context-menu.json +16 -4
  98. package/manifest/components/context-usage.json +16 -4
  99. package/manifest/components/conversation-search.json +22 -5
  100. package/manifest/components/copy-button.json +32 -7
  101. package/manifest/components/cost-meter.json +12 -3
  102. package/manifest/components/cue-logotype.json +17 -3
  103. package/manifest/components/cue-mark.json +17 -3
  104. package/manifest/components/cue-portal-frame.json +13 -3
  105. package/manifest/components/data-row.json +21 -7
  106. package/manifest/components/data-table-pagination.json +18 -4
  107. package/manifest/components/data-table-toolbar.json +30 -7
  108. package/manifest/components/data-tree.json +42 -9
  109. package/manifest/components/date-field.json +13 -2
  110. package/manifest/components/date-picker.json +81 -19
  111. package/manifest/components/date-range-picker.json +81 -19
  112. package/manifest/components/day-separator.json +4 -1
  113. package/manifest/components/delegation-card.json +64 -12
  114. package/manifest/components/density.json +24 -4
  115. package/manifest/components/description-list.json +8 -1
  116. package/manifest/components/diagram.json +33 -7
  117. package/manifest/components/dialog.json +29 -6
  118. package/manifest/components/disclosure.json +31 -7
  119. package/manifest/components/dmx-bar.json +16 -4
  120. package/manifest/components/dmx-strip.json +20 -5
  121. package/manifest/components/document-reference.json +21 -5
  122. package/manifest/components/draft-restore.json +18 -4
  123. package/manifest/components/drawer.json +30 -6
  124. package/manifest/components/dropdown-menu.json +55 -10
  125. package/manifest/components/edit-message.json +32 -7
  126. package/manifest/components/elements-command-palette.json +27 -6
  127. package/manifest/components/elements-data-table.json +9 -2
  128. package/manifest/components/elements-timeline.json +8 -2
  129. package/manifest/components/elicitation-form.json +31 -6
  130. package/manifest/components/empty-state-composer.json +9 -2
  131. package/manifest/components/empty-state-suggestion.json +4 -1
  132. package/manifest/components/empty-state.json +25 -5
  133. package/manifest/components/end-of-turn-summary.json +16 -4
  134. package/manifest/components/env-var-input.json +54 -12
  135. package/manifest/components/error-state.json +17 -4
  136. package/manifest/components/export-dialog.json +27 -8
  137. package/manifest/components/eyebrow.json +4 -1
  138. package/manifest/components/feedback-dialog.json +33 -7
  139. package/manifest/components/field-description.json +4 -1
  140. package/manifest/components/field-error.json +13 -3
  141. package/manifest/components/field-label.json +4 -1
  142. package/manifest/components/field.json +4 -1
  143. package/manifest/components/file-tree.json +16 -4
  144. package/manifest/components/file-upload.json +58 -13
  145. package/manifest/components/flow-graph.json +12 -3
  146. package/manifest/components/folder-icon.json +1 -7
  147. package/manifest/components/footer.json +24 -4
  148. package/manifest/components/frac.json +10 -2
  149. package/manifest/components/generation-loader.json +17 -3
  150. package/manifest/components/generative-ui.json +39 -7
  151. package/manifest/components/grid.json +56 -5
  152. package/manifest/components/group-bar.json +25 -6
  153. package/manifest/components/guardrail-notice.json +22 -5
  154. package/manifest/components/hover-card.json +45 -8
  155. package/manifest/components/icon-button.json +22 -4
  156. package/manifest/components/image-generation.json +8 -2
  157. package/manifest/components/info-tip.json +42 -7
  158. package/manifest/components/inline-citation.json +14 -3
  159. package/manifest/components/input-group.json +24 -5
  160. package/manifest/components/input.json +13 -3
  161. package/manifest/components/item.json +42 -8
  162. package/manifest/components/job-progress.json +25 -6
  163. package/manifest/components/launcher-bubble.json +32 -7
  164. package/manifest/components/ledger.json +87 -19
  165. package/manifest/components/link.json +16 -3
  166. package/manifest/components/live-region-announcer.json +21 -5
  167. package/manifest/components/log-viewer.json +42 -10
  168. package/manifest/components/map-answer.json +17 -4
  169. package/manifest/components/markdown-text.json +36 -5
  170. package/manifest/components/math-block.json +12 -3
  171. package/manifest/components/mcp-server-icon.json +1 -7
  172. package/manifest/components/mcp-server-panel.json +18 -4
  173. package/manifest/components/memory-chips.json +9 -2
  174. package/manifest/components/menubar.json +33 -7
  175. package/manifest/components/message-actions.json +32 -7
  176. package/manifest/components/message-attachments.json +9 -2
  177. package/manifest/components/message-branches.json +14 -3
  178. package/manifest/components/message-list.json +27 -6
  179. package/manifest/components/message-pair.json +25 -5
  180. package/manifest/components/message-queue.json +13 -3
  181. package/manifest/components/message-timing.json +8 -2
  182. package/manifest/components/message.json +41 -9
  183. package/manifest/components/meter.json +43 -7
  184. package/manifest/components/mobile-composer.json +47 -10
  185. package/manifest/components/model-picker.json +13 -3
  186. package/manifest/components/multi-select.json +78 -17
  187. package/manifest/components/musical-time-input.json +34 -8
  188. package/manifest/components/navigation-menu.json +54 -12
  189. package/manifest/components/node-card.json +42 -7
  190. package/manifest/components/node-handle.json +17 -2
  191. package/manifest/components/number-field.json +28 -6
  192. package/manifest/components/number-ticker.json +8 -2
  193. package/manifest/components/onboarding.json +18 -4
  194. package/manifest/components/otp-field.json +43 -10
  195. package/manifest/components/page-shell.json +35 -6
  196. package/manifest/components/pagination.json +21 -5
  197. package/manifest/components/panel-header.json +15 -3
  198. package/manifest/components/password-input.json +38 -8
  199. package/manifest/components/permission-grant.json +28 -5
  200. package/manifest/components/permission-scopes.json +57 -12
  201. package/manifest/components/piano-keyboard.json +38 -9
  202. package/manifest/components/plussie.json +34 -5
  203. package/manifest/components/popover.json +45 -8
  204. package/manifest/components/preset-section.json +12 -5
  205. package/manifest/components/progress.json +25 -6
  206. package/manifest/components/prompt-library.json +27 -6
  207. package/manifest/components/queue-dock.json +36 -8
  208. package/manifest/components/quota-banner.json +25 -6
  209. package/manifest/components/quote-reply.json +29 -7
  210. package/manifest/components/radio-group.json +12 -2
  211. package/manifest/components/radio.json +17 -3
  212. package/manifest/components/rating.json +60 -13
  213. package/manifest/components/read-aloud.json +35 -8
  214. package/manifest/components/reasoning-effort.json +17 -4
  215. package/manifest/components/reasoning-panel.json +33 -8
  216. package/manifest/components/recommendation-card.json +35 -10
  217. package/manifest/components/regenerate-menu.json +22 -5
  218. package/manifest/components/replay-player.json +29 -7
  219. package/manifest/components/research-report.json +12 -3
  220. package/manifest/components/resizable.json +4 -1
  221. package/manifest/components/retrieval-chunks.json +16 -4
  222. package/manifest/components/revert-dock.json +61 -14
  223. package/manifest/components/reviewable-diff.json +23 -5
  224. package/manifest/components/risk-badge.json +18 -3
  225. package/manifest/components/row.json +17 -4
  226. package/manifest/components/schedule-card.json +25 -6
  227. package/manifest/components/score-breakdown.json +20 -5
  228. package/manifest/components/scroll-anchor.json +13 -3
  229. package/manifest/components/scroll-area.json +31 -8
  230. package/manifest/components/scrollable-tabs-list.json +12 -4
  231. package/manifest/components/scrub-input.json +84 -18
  232. package/manifest/components/seam-cell.json +19 -3
  233. package/manifest/components/seam-grid.json +12 -3
  234. package/manifest/components/search-input.json +49 -10
  235. package/manifest/components/section-header.json +36 -8
  236. package/manifest/components/segmented-control.json +50 -11
  237. package/manifest/components/select.json +74 -16
  238. package/manifest/components/separator.json +4 -1
  239. package/manifest/components/settings-panel.json +41 -9
  240. package/manifest/components/shape-section.json +8 -4
  241. package/manifest/components/shared-conversation.json +21 -5
  242. package/manifest/components/sheet.json +29 -6
  243. package/manifest/components/shimmer-label.json +4 -2
  244. package/manifest/components/sidebar.json +60 -13
  245. package/manifest/components/skill-icon.json +1 -7
  246. package/manifest/components/slider.json +22 -5
  247. package/manifest/components/sources.json +17 -4
  248. package/manifest/components/sparkline.json +17 -4
  249. package/manifest/components/speaker-identity.json +4 -1
  250. package/manifest/components/spec-sheet.json +16 -4
  251. package/manifest/components/spectrum-visualizer.json +41 -10
  252. package/manifest/components/spinner.json +12 -2
  253. package/manifest/components/stack-icon.json +1 -7
  254. package/manifest/components/stack.json +54 -7
  255. package/manifest/components/stacks-matrix-icon.json +1 -7
  256. package/manifest/components/stat.json +28 -4
  257. package/manifest/components/status-bar.json +50 -9
  258. package/manifest/components/status-dot.json +23 -4
  259. package/manifest/components/stepper.json +22 -5
  260. package/manifest/components/stopped-run.json +19 -4
  261. package/manifest/components/streaming-text.json +12 -3
  262. package/manifest/components/subagent-list.json +21 -5
  263. package/manifest/components/suggestions.json +27 -5
  264. package/manifest/components/swap-label.json +18 -4
  265. package/manifest/components/switch.json +18 -3
  266. package/manifest/components/table-scroll-region.json +4 -1
  267. package/manifest/components/table.json +54 -11
  268. package/manifest/components/tabs.json +16 -5
  269. package/manifest/components/tags-input.json +79 -17
  270. package/manifest/components/tail-status.json +37 -8
  271. package/manifest/components/terminal-block.json +25 -5
  272. package/manifest/components/terminal-frame.json +34 -8
  273. package/manifest/components/textarea.json +8 -3
  274. package/manifest/components/theme-configurator.json +47 -11
  275. package/manifest/components/theme-provider.json +79 -15
  276. package/manifest/components/thinking-indicator.json +8 -2
  277. package/manifest/components/thread-list.json +13 -3
  278. package/manifest/components/thread-search.json +22 -5
  279. package/manifest/components/threshold-rail.json +77 -14
  280. package/manifest/components/time-boundary.json +8 -2
  281. package/manifest/components/time-field.json +13 -2
  282. package/manifest/components/timeline-ruler.json +51 -12
  283. package/manifest/components/timeline.json +19 -3
  284. package/manifest/components/title-bar.json +19 -4
  285. package/manifest/components/toast.json +12 -3
  286. package/manifest/components/todo-list.json +8 -2
  287. package/manifest/components/toggle-group.json +33 -7
  288. package/manifest/components/toggle.json +23 -4
  289. package/manifest/components/token-editor.json +26 -7
  290. package/manifest/components/tool-call-card.json +83 -16
  291. package/manifest/components/tool-call.json +37 -9
  292. package/manifest/components/tool-error.json +34 -8
  293. package/manifest/components/tool-group.json +17 -4
  294. package/manifest/components/tool-timeline.json +37 -9
  295. package/manifest/components/toolbar.json +37 -8
  296. package/manifest/components/tooltip.json +41 -7
  297. package/manifest/components/trace-waterfall.json +12 -3
  298. package/manifest/components/tree-visibility-toggle.json +18 -3
  299. package/manifest/components/tree.json +52 -11
  300. package/manifest/components/turn-footer.json +36 -8
  301. package/manifest/components/two-step-button.json +46 -9
  302. package/manifest/components/typing-indicator.json +8 -1
  303. package/manifest/components/universe-grid.json +37 -10
  304. package/manifest/components/unread-divider.json +4 -1
  305. package/manifest/components/usage-chart.json +46 -9
  306. package/manifest/components/verdict-row.json +20 -5
  307. package/manifest/components/voice-conversation.json +37 -7
  308. package/manifest/components/web-preview.json +23 -5
  309. package/manifest/components/web-search.json +20 -5
  310. package/manifest/components/work-collapse.json +30 -7
  311. package/manifest/fixtures.json +106 -0
  312. package/manifest/manifest.json +315 -297
  313. package/manifest/tokens.json +2 -2
  314. package/package.json +7 -6
@@ -12,21 +12,30 @@
12
12
  "type": "string",
13
13
  "required": false,
14
14
  "defaultValue": null,
15
- "description": "Optional eyebrow above the working."
15
+ "description": "Optional eyebrow above the working.",
16
+ "control": {
17
+ "kind": "string"
18
+ }
16
19
  },
17
20
  {
18
21
  "name": "steps",
19
22
  "type": "readonly MathStep[]",
20
23
  "required": true,
21
24
  "defaultValue": null,
22
- "description": "Each step is a node, so you compose expressions from the exported Frac, Sup, and\nSub helpers rather than passing a string to parse."
25
+ "description": "Each step is a node, so you compose expressions from the exported Frac, Sup, and\nSub helpers rather than passing a string to parse.",
26
+ "control": {
27
+ "kind": "array"
28
+ }
23
29
  },
24
30
  {
25
31
  "name": "visibleSteps",
26
32
  "type": "number",
27
33
  "required": true,
28
34
  "defaultValue": null,
29
- "description": "How much of the derivation has been shown."
35
+ "description": "How much of the derivation has been shown.",
36
+ "control": {
37
+ "kind": "number"
38
+ }
30
39
  }
31
40
  ],
32
41
  "typeReferences": [
@@ -14,13 +14,7 @@
14
14
  "parts": [],
15
15
  "variants": {},
16
16
  "defaultVariants": {},
17
- "tokensUsed": [
18
- "--cue-danger",
19
- "--cue-fg",
20
- "--cue-icon-",
21
- "--cue-icon-md",
22
- "--cue-icon-sm"
23
- ],
17
+ "tokensUsed": [],
24
18
  "summary": "An MCP server in the registry: a thing an agent connects *to*.",
25
19
  "examples": [],
26
20
  "status": "todo-docs",
@@ -14,28 +14,42 @@
14
14
  "type": "readonly McpServer[]",
15
15
  "required": true,
16
16
  "defaultValue": null,
17
- "description": "Every configured server, connected or not. The header counts how many are live."
17
+ "description": "Every configured server, connected or not. The header counts how many are live.",
18
+ "control": {
19
+ "kind": "array"
20
+ }
18
21
  },
19
22
  {
20
23
  "name": "expandedId",
21
24
  "type": "string",
22
25
  "required": false,
23
26
  "defaultValue": null,
24
- "description": "Which server is open. Only one expands at a time; omit for an all-collapsed list."
27
+ "description": "Which server is open. Only one expands at a time; omit for an all-collapsed list.",
28
+ "control": {
29
+ "kind": "string"
30
+ }
25
31
  },
26
32
  {
27
33
  "name": "onToggle",
28
34
  "type": "((id: string) => void)",
29
35
  "required": false,
30
36
  "defaultValue": null,
31
- "description": "Called when a server row is expanded or collapsed."
37
+ "description": "Called when a server row is expanded or collapsed.",
38
+ "control": {
39
+ "kind": "callback",
40
+ "fixture": "callback.log"
41
+ }
32
42
  },
33
43
  {
34
44
  "name": "onAuthorize",
35
45
  "type": "((id: string) => void)",
36
46
  "required": false,
37
47
  "defaultValue": null,
38
- "description": "Called from the Authorize button, shown only while a server needs auth."
48
+ "description": "Called from the Authorize button, shown only while a server needs auth.",
49
+ "control": {
50
+ "kind": "callback",
51
+ "fixture": "callback.log"
52
+ }
39
53
  }
40
54
  ],
41
55
  "typeReferences": [
@@ -14,14 +14,21 @@
14
14
  "type": "readonly MemoryChip[]",
15
15
  "required": true,
16
16
  "defaultValue": null,
17
- "description": "What is remembered. Anything not marked existing is counted as new this turn and\ntinted."
17
+ "description": "What is remembered. Anything not marked existing is counted as new this turn and\ntinted.",
18
+ "control": {
19
+ "kind": "array"
20
+ }
18
21
  },
19
22
  {
20
23
  "name": "onForget",
21
24
  "type": "((id: string) => void)",
22
25
  "required": false,
23
26
  "defaultValue": null,
24
- "description": "Called to drop a fact. Every chip is removable, including ones it just learned."
27
+ "description": "Called to drop a fact. Every chip is removable, including ones it just learned.",
28
+ "control": {
29
+ "kind": "callback",
30
+ "fixture": "callback.log"
31
+ }
25
32
  }
26
33
  ],
27
34
  "typeReferences": [
@@ -25,7 +25,10 @@
25
25
  "type": "string",
26
26
  "required": false,
27
27
  "defaultValue": null,
28
- "description": "Extra classes for the bar."
28
+ "description": "Extra classes for the bar.",
29
+ "control": {
30
+ "kind": "string"
31
+ }
29
32
  }
30
33
  ],
31
34
  "typeReferences": [
@@ -51,7 +54,10 @@
51
54
  "type": "string",
52
55
  "required": false,
53
56
  "defaultValue": null,
54
- "description": "Extra classes for the trigger."
57
+ "description": "Extra classes for the trigger.",
58
+ "control": {
59
+ "kind": "string"
60
+ }
55
61
  }
56
62
  ],
57
63
  "typeReferences": [
@@ -68,35 +74,55 @@
68
74
  "type": "string",
69
75
  "required": false,
70
76
  "defaultValue": null,
71
- "description": "Extra classes for the popup surface."
77
+ "description": "Extra classes for the popup surface.",
78
+ "control": {
79
+ "kind": "string"
80
+ }
72
81
  },
73
82
  {
74
83
  "name": "align",
75
84
  "type": "\"center\" | \"end\" | \"start\"",
76
85
  "required": false,
77
86
  "defaultValue": "start",
78
- "description": "Alignment along the bottom of the trigger. Defaults to `\"start\"`."
87
+ "description": "Alignment along the bottom of the trigger. Defaults to `\"start\"`.",
88
+ "control": {
89
+ "kind": "enum",
90
+ "members": [
91
+ "center",
92
+ "end",
93
+ "start"
94
+ ]
95
+ }
79
96
  },
80
97
  {
81
98
  "name": "keepMounted",
82
99
  "type": "boolean",
83
100
  "required": false,
84
101
  "defaultValue": null,
85
- "description": "Keep the popup mounted while closed."
102
+ "description": "Keep the popup mounted while closed.",
103
+ "control": {
104
+ "kind": "boolean"
105
+ }
86
106
  },
87
107
  {
88
108
  "name": "positionerClassName",
89
109
  "type": "string",
90
110
  "required": false,
91
111
  "defaultValue": null,
92
- "description": "Extra classes for the positioner that places the popup."
112
+ "description": "Extra classes for the positioner that places the popup.",
113
+ "control": {
114
+ "kind": "string"
115
+ }
93
116
  },
94
117
  {
95
118
  "name": "sideOffset",
96
119
  "type": "number | OffsetFunction",
97
120
  "required": false,
98
121
  "defaultValue": "4",
99
- "description": "Gap in px between trigger and popup. Defaults to `4`."
122
+ "description": "Gap in px between trigger and popup. Defaults to `4`.",
123
+ "control": {
124
+ "kind": "opaque"
125
+ }
100
126
  }
101
127
  ],
102
128
  "typeReferences": [
@@ -14,49 +14,74 @@
14
14
  "type": "boolean",
15
15
  "required": true,
16
16
  "defaultValue": null,
17
- "description": "When true the copy button shows a green check confirmation."
17
+ "description": "When true the copy button shows a green check confirmation.",
18
+ "control": {
19
+ "kind": "boolean"
20
+ }
18
21
  },
19
22
  {
20
23
  "name": "reaction",
21
24
  "type": "Reaction",
22
25
  "required": true,
23
26
  "defaultValue": null,
24
- "description": "Active thumbs reaction, or null when none is selected."
27
+ "description": "Active thumbs reaction, or null when none is selected.",
28
+ "control": {
29
+ "kind": "opaque"
30
+ }
25
31
  },
26
32
  {
27
33
  "name": "regenerating",
28
34
  "type": "boolean",
29
35
  "required": true,
30
36
  "defaultValue": null,
31
- "description": "When true the regenerate icon spins to show work in progress."
37
+ "description": "When true the regenerate icon spins to show work in progress.",
38
+ "control": {
39
+ "kind": "boolean"
40
+ }
32
41
  },
33
42
  {
34
43
  "name": "onCopy",
35
44
  "type": "() => void",
36
45
  "required": true,
37
46
  "defaultValue": null,
38
- "description": "Called when the copy control is pressed."
47
+ "description": "Called when the copy control is pressed.",
48
+ "control": {
49
+ "kind": "callback",
50
+ "fixture": "callback.log"
51
+ }
39
52
  },
40
53
  {
41
54
  "name": "onReactionChange",
42
55
  "type": "(reaction: Reaction) => void",
43
56
  "required": true,
44
57
  "defaultValue": null,
45
- "description": "Called when the user toggles thumbs up or thumbs down."
58
+ "description": "Called when the user toggles thumbs up or thumbs down.",
59
+ "control": {
60
+ "kind": "callback",
61
+ "fixture": "callback.log"
62
+ }
46
63
  },
47
64
  {
48
65
  "name": "onRegenerate",
49
66
  "type": "() => void",
50
67
  "required": true,
51
68
  "defaultValue": null,
52
- "description": "Called when the regenerate control is pressed."
69
+ "description": "Called when the regenerate control is pressed.",
70
+ "control": {
71
+ "kind": "callback",
72
+ "fixture": "callback.log"
73
+ }
53
74
  },
54
75
  {
55
76
  "name": "onMore",
56
77
  "type": "() => void",
57
78
  "required": true,
58
79
  "defaultValue": null,
59
- "description": "Called when the overflow menu control is pressed."
80
+ "description": "Called when the overflow menu control is pressed.",
81
+ "control": {
82
+ "kind": "callback",
83
+ "fixture": "callback.log"
84
+ }
60
85
  }
61
86
  ],
62
87
  "typeReferences": [
@@ -14,14 +14,21 @@
14
14
  "type": "readonly MessageAttachmentItem[]",
15
15
  "required": true,
16
16
  "defaultValue": null,
17
- "description": "Files carried by the message. Images render as a thumbnail row, everything else as\na chip."
17
+ "description": "Files carried by the message. Images render as a thumbnail row, everything else as\na chip.",
18
+ "control": {
19
+ "kind": "array"
20
+ }
18
21
  },
19
22
  {
20
23
  "name": "onOpen",
21
24
  "type": "((id: string) => void)",
22
25
  "required": false,
23
26
  "defaultValue": null,
24
- "description": "Called when an attachment is opened for preview."
27
+ "description": "Called when an attachment is opened for preview.",
28
+ "control": {
29
+ "kind": "callback",
30
+ "fixture": "callback.log"
31
+ }
25
32
  }
26
33
  ],
27
34
  "typeReferences": [
@@ -14,21 +14,32 @@
14
14
  "type": "readonly string[]",
15
15
  "required": true,
16
16
  "defaultValue": null,
17
- "description": "Alternate regenerated answers the user can step through."
17
+ "description": "Alternate regenerated answers the user can step through.",
18
+ "control": {
19
+ "kind": "array",
20
+ "fixture": "agent.transcript"
21
+ }
18
22
  },
19
23
  {
20
24
  "name": "index",
21
25
  "type": "number",
22
26
  "required": true,
23
27
  "defaultValue": null,
24
- "description": "Which variant is currently displayed."
28
+ "description": "Which variant is currently displayed.",
29
+ "control": {
30
+ "kind": "number"
31
+ }
25
32
  },
26
33
  {
27
34
  "name": "onIndexChange",
28
35
  "type": "(index: number) => void",
29
36
  "required": true,
30
37
  "defaultValue": null,
31
- "description": "Called when the previous or next branch control is pressed."
38
+ "description": "Called when the previous or next branch control is pressed.",
39
+ "control": {
40
+ "kind": "callback",
41
+ "fixture": "callback.log"
42
+ }
32
43
  }
33
44
  ],
34
45
  "typeReferences": [
@@ -12,42 +12,63 @@
12
12
  "type": "ReactNode",
13
13
  "required": false,
14
14
  "defaultValue": null,
15
- "description": "The turns, oldest first — normally {@link Message }s."
15
+ "description": "The turns, oldest first — normally {@link Message }s.",
16
+ "control": {
17
+ "kind": "node",
18
+ "fixture": "children.text"
19
+ }
16
20
  },
17
21
  {
18
22
  "name": "follow",
19
23
  "type": "boolean",
20
24
  "required": false,
21
25
  "defaultValue": "true",
22
- "description": "Stick to the bottom as turns arrive. Defaults to `true`."
26
+ "description": "Stick to the bottom as turns arrive. Defaults to `true`.",
27
+ "control": {
28
+ "kind": "boolean"
29
+ }
23
30
  },
24
31
  {
25
32
  "name": "height",
26
33
  "type": "number",
27
34
  "required": false,
28
35
  "defaultValue": null,
29
- "description": "Fixed height in px at the 16px root, emitted as rem. Omit to fill the parent."
36
+ "description": "Fixed height in px at the 16px root, emitted as rem. Omit to fill the parent.",
37
+ "control": {
38
+ "kind": "number"
39
+ }
30
40
  },
31
41
  {
32
42
  "name": "jumpLabel",
33
43
  "type": "ReactNode",
34
44
  "required": false,
35
45
  "defaultValue": "Jump to latest",
36
- "description": "Label on the catch-up pill. Defaults to `\"Jump to latest\"`."
46
+ "description": "Label on the catch-up pill. Defaults to `\"Jump to latest\"`.",
47
+ "control": {
48
+ "kind": "node",
49
+ "fixture": "children.text"
50
+ }
37
51
  },
38
52
  {
39
53
  "name": "emptyLabel",
40
54
  "type": "ReactNode",
41
55
  "required": false,
42
56
  "defaultValue": "No messages yet",
43
- "description": "What to say before the first turn. Defaults to `\"No messages yet\"`."
57
+ "description": "What to say before the first turn. Defaults to `\"No messages yet\"`.",
58
+ "control": {
59
+ "kind": "node",
60
+ "fixture": "children.text"
61
+ }
44
62
  },
45
63
  {
46
64
  "name": "aria-label",
47
65
  "type": "string",
48
66
  "required": false,
49
67
  "defaultValue": null,
50
- "description": "Accessible name for the transcript. Required in practice — name the thread."
68
+ "description": "Accessible name for the transcript. Required in practice — name the thread.",
69
+ "control": {
70
+ "kind": "string"
71
+ }
51
72
  }
52
73
  ],
53
74
  "typeReferences": [
@@ -14,35 +14,55 @@
14
14
  "type": "string",
15
15
  "required": true,
16
16
  "defaultValue": null,
17
- "description": "Text shown in the user bubble on the right."
17
+ "description": "Text shown in the user bubble on the right.",
18
+ "control": {
19
+ "kind": "string"
20
+ }
18
21
  },
19
22
  {
20
23
  "name": "words",
21
24
  "type": "readonly string[]",
22
25
  "required": true,
23
26
  "defaultValue": null,
24
- "description": "Assistant reply broken into words for streaming."
27
+ "description": "Assistant reply broken into words for streaming.",
28
+ "control": {
29
+ "kind": "array",
30
+ "fixture": "agent.transcript"
31
+ }
25
32
  },
26
33
  {
27
34
  "name": "visibleWords",
28
35
  "type": "number",
29
36
  "required": true,
30
37
  "defaultValue": null,
31
- "description": "How many assistant words are currently visible."
38
+ "description": "How many assistant words are currently visible.",
39
+ "control": {
40
+ "kind": "number"
41
+ }
32
42
  },
33
43
  {
34
44
  "name": "streaming",
35
45
  "type": "boolean",
36
46
  "required": true,
37
47
  "defaultValue": null,
38
- "description": "When true the newest assistant words tint blue as they arrive."
48
+ "description": "When true the newest assistant words tint blue as they arrive.",
49
+ "control": {
50
+ "kind": "boolean"
51
+ }
39
52
  },
40
53
  {
41
54
  "name": "variant",
42
55
  "type": "\"flat\" | \"bubble\"",
43
56
  "required": false,
44
57
  "defaultValue": "bubble",
45
- "description": "bubble wraps the user message in a surface; flat renders it as plain right-aligned\ntext."
58
+ "description": "bubble wraps the user message in a surface; flat renders it as plain right-aligned\ntext.",
59
+ "control": {
60
+ "kind": "enum",
61
+ "members": [
62
+ "flat",
63
+ "bubble"
64
+ ]
65
+ }
46
66
  }
47
67
  ],
48
68
  "typeReferences": [
@@ -14,21 +14,31 @@
14
14
  "type": "string",
15
15
  "required": true,
16
16
  "defaultValue": null,
17
- "description": "The turn currently in flight, shown above the queue."
17
+ "description": "The turn currently in flight, shown above the queue.",
18
+ "control": {
19
+ "kind": "string"
20
+ }
18
21
  },
19
22
  {
20
23
  "name": "queued",
21
24
  "type": "readonly QueuedMessage[]",
22
25
  "required": true,
23
26
  "defaultValue": null,
24
- "description": "Turns waiting to send, in the order they will drain once the run finishes."
27
+ "description": "Turns waiting to send, in the order they will drain once the run finishes.",
28
+ "control": {
29
+ "kind": "array"
30
+ }
25
31
  },
26
32
  {
27
33
  "name": "onCancel",
28
34
  "type": "((id: string) => void)",
29
35
  "required": false,
30
36
  "defaultValue": null,
31
- "description": "Called when a queued turn is removed before it ever sends."
37
+ "description": "Called when a queued turn is removed before it ever sends.",
38
+ "control": {
39
+ "kind": "callback",
40
+ "fixture": "callback.log"
41
+ }
32
42
  }
33
43
  ],
34
44
  "typeReferences": [
@@ -12,14 +12,20 @@
12
12
  "type": "readonly TimingStat[]",
13
13
  "required": true,
14
14
  "defaultValue": null,
15
- "description": "Label and value pairs, pre-formatted. Show fewer while streaming and the full set\nonce the turn settles."
15
+ "description": "Label and value pairs, pre-formatted. Show fewer while streaming and the full set\nonce the turn settles.",
16
+ "control": {
17
+ "kind": "array"
18
+ }
16
19
  },
17
20
  {
18
21
  "name": "streaming",
19
22
  "type": "boolean",
20
23
  "required": false,
21
24
  "defaultValue": null,
22
- "description": "Tints the values blue while they are still moving."
25
+ "description": "Tints the values blue while they are still moving.",
26
+ "control": {
27
+ "kind": "boolean"
28
+ }
23
29
  }
24
30
  ],
25
31
  "typeReferences": [
@@ -12,56 +12,89 @@
12
12
  "type": "\"agent\" | \"user\" | \"system\"",
13
13
  "required": false,
14
14
  "defaultValue": "agent",
15
- "description": "Who is speaking. Defaults to `\"agent\"`."
15
+ "description": "Who is speaking. Defaults to `\"agent\"`.",
16
+ "control": {
17
+ "kind": "enum",
18
+ "members": [
19
+ "agent",
20
+ "user",
21
+ "system"
22
+ ]
23
+ }
16
24
  },
17
25
  {
18
26
  "name": "agent",
19
27
  "type": "string",
20
28
  "required": false,
21
29
  "defaultValue": null,
22
- "description": "The speaking agent's slug. Names the turn and inks the author line and the\n`--agent-color` custom property, which anything nested reads."
30
+ "description": "The speaking agent's slug. Names the turn and inks the author line and the\n`--agent-color` custom property, which anything nested reads.",
31
+ "control": {
32
+ "kind": "string"
33
+ }
23
34
  },
24
35
  {
25
36
  "name": "rootAgent",
26
37
  "type": "string",
27
38
  "required": false,
28
39
  "defaultValue": null,
29
- "description": "Slug of the orchestrator, so its turns take the theme accent."
40
+ "description": "Slug of the orchestrator, so its turns take the theme accent.",
41
+ "control": {
42
+ "kind": "string"
43
+ }
30
44
  },
31
45
  {
32
46
  "name": "author",
33
47
  "type": "ReactNode",
34
48
  "required": false,
35
49
  "defaultValue": null,
36
- "description": "Author line override. Defaults to `\"You\"` for the user and to `agent` otherwise."
50
+ "description": "Author line override. Defaults to `\"You\"` for the user and to `agent` otherwise.",
51
+ "control": {
52
+ "kind": "node",
53
+ "fixture": "children.text"
54
+ }
37
55
  },
38
56
  {
39
57
  "name": "timestamp",
40
58
  "type": "ReactNode",
41
59
  "required": false,
42
60
  "defaultValue": null,
43
- "description": "Rendered opposite the author — pass a formatted time, not a `Date`."
61
+ "description": "Rendered opposite the author — pass a formatted time, not a `Date`.",
62
+ "control": {
63
+ "kind": "node",
64
+ "fixture": "children.text"
65
+ }
44
66
  },
45
67
  {
46
68
  "name": "pending",
47
69
  "type": "boolean",
48
70
  "required": false,
49
71
  "defaultValue": "false",
50
- "description": "The turn is still streaming: shows a caret and announces it."
72
+ "description": "The turn is still streaming: shows a caret and announces it.",
73
+ "control": {
74
+ "kind": "boolean"
75
+ }
51
76
  },
52
77
  {
53
78
  "name": "footer",
54
79
  "type": "ReactNode",
55
80
  "required": false,
56
81
  "defaultValue": null,
57
- "description": "Slot under the body — attachments, warnings, retry actions."
82
+ "description": "Slot under the body — attachments, warnings, retry actions.",
83
+ "control": {
84
+ "kind": "node",
85
+ "fixture": "children.text"
86
+ }
58
87
  },
59
88
  {
60
89
  "name": "children",
61
90
  "type": "ReactNode",
62
91
  "required": false,
63
92
  "defaultValue": null,
64
- "description": "The turn itself."
93
+ "description": "The turn itself.",
94
+ "control": {
95
+ "kind": "node",
96
+ "fixture": "children.text"
97
+ }
65
98
  }
66
99
  ],
67
100
  "typeReferences": [
@@ -80,7 +113,6 @@
80
113
  "--cue-font-mono",
81
114
  "--cue-radius-control",
82
115
  "--cue-radius-overlay",
83
- "--cue-radius-scale",
84
116
  "--cue-space-2",
85
117
  "--cue-space-3",
86
118
  "--cue-space-4",