@cueplusplus/ui 0.8.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 (352) hide show
  1. package/CHANGELOG.md +457 -0
  2. package/README.md +131 -0
  3. package/dist/chat/message-list.js +2 -1
  4. package/dist/configurator/_export.d.ts +1 -1
  5. package/dist/configurator/_export.js +53 -13
  6. package/dist/configurator/_overrides.d.ts +25 -6
  7. package/dist/configurator/_overrides.js +30 -17
  8. package/dist/configurator/configurator.js +8 -3
  9. package/dist/configurator/panel-sections.js +43 -13
  10. package/dist/elements/command-palette.js +1 -1
  11. package/dist/elements/flow-graph.js +2 -2
  12. package/dist/elements/markdown.js +1 -1
  13. package/dist/elements/surfaces.js +4 -3
  14. package/dist/index.d.ts +7 -3
  15. package/dist/index.js +5 -2
  16. package/dist/instruments/meter.d.ts +5 -1
  17. package/dist/layout/bento.d.ts +144 -0
  18. package/dist/layout/bento.js +266 -0
  19. package/dist/layout/index.d.ts +3 -2
  20. package/dist/layout/index.js +3 -2
  21. package/dist/midi/piano-keyboard.js +5 -1
  22. package/dist/primitives/button.d.ts +12 -0
  23. package/dist/styles.css +23 -1
  24. package/dist/system/density.d.ts +17 -8
  25. package/dist/system/density.js +39 -16
  26. package/dist/system/index.d.ts +5 -2
  27. package/dist/system/index.js +3 -1
  28. package/dist/system/overrides.d.ts +80 -0
  29. package/dist/system/overrides.js +277 -0
  30. package/dist/system/portal.d.ts +4 -2
  31. package/dist/system/portal.js +34 -3
  32. package/dist/system/prepaint.d.ts +58 -7
  33. package/dist/system/prepaint.js +72 -20
  34. package/dist/system/theme-provider.d.ts +133 -8
  35. package/dist/system/theme-provider.js +203 -72
  36. package/dist/system/theme-registry.d.ts +53 -0
  37. package/dist/system/theme-registry.js +66 -0
  38. package/dist/system/use-density.d.ts +13 -5
  39. package/dist/system/use-density.js +142 -13
  40. package/dist/system/use-theme.d.ts +5 -3
  41. package/dist/system/use-theme.js +5 -3
  42. package/dist/system/vocabulary.d.ts +15 -0
  43. package/dist/system/vocabulary.js +111 -0
  44. package/dist/theming/contrast.d.ts +2 -122
  45. package/dist/theming/contrast.js +2 -194
  46. package/dist/theming/create-theme.d.ts +37 -11
  47. package/dist/theming/create-theme.js +54 -17
  48. package/dist/theming/index.d.ts +3 -4
  49. package/dist/theming/index.js +3 -4
  50. package/dist/theming/serialize.d.ts +24 -11
  51. package/dist/theming/serialize.js +16 -18
  52. package/manifest/components/accordion.json +24 -6
  53. package/manifest/components/activity-graph.json +20 -5
  54. package/manifest/components/agent-card.json +37 -9
  55. package/manifest/components/agent-handoff.json +21 -5
  56. package/manifest/components/agent-mode-badge.json +22 -4
  57. package/manifest/components/agent-pile.json +38 -8
  58. package/manifest/components/agent-plan.json +9 -2
  59. package/manifest/components/agent-status.json +17 -3
  60. package/manifest/components/agent-surface.json +26 -11
  61. package/manifest/components/alert-dialog.json +29 -5
  62. package/manifest/components/animated-number.json +14 -6
  63. package/manifest/components/app-bar.json +66 -13
  64. package/manifest/components/app-shell.json +133 -31
  65. package/manifest/components/app-window-frame.json +28 -6
  66. package/manifest/components/approval-card.json +37 -7
  67. package/manifest/components/artifact-card.json +16 -4
  68. package/manifest/components/ask-box.json +99 -21
  69. package/manifest/components/audience-icon.json +1 -7
  70. package/manifest/components/autocomplete.json +80 -18
  71. package/manifest/components/avatar-group.json +13 -2
  72. package/manifest/components/avatar.json +22 -4
  73. package/manifest/components/background-inbox.json +9 -2
  74. package/manifest/components/bento.json +306 -0
  75. package/manifest/components/branch-picker.json +29 -7
  76. package/manifest/components/breadcrumb.json +13 -3
  77. package/manifest/components/button-group.json +21 -4
  78. package/manifest/components/button.json +41 -4
  79. package/manifest/components/canvas-split-body.json +4 -1
  80. package/manifest/components/canvas-split-header.json +17 -4
  81. package/manifest/components/canvas-split-line.json +4 -1
  82. package/manifest/components/canvas-split-message.json +8 -1
  83. package/manifest/components/card.json +14 -3
  84. package/manifest/components/carousel.json +54 -12
  85. package/manifest/components/catalogue-icon.json +1 -7
  86. package/manifest/components/channel-beta-icon.json +1 -7
  87. package/manifest/components/channel-matrix.json +80 -15
  88. package/manifest/components/channel-released-icon.json +1 -7
  89. package/manifest/components/chart-container.json +26 -10
  90. package/manifest/components/chart-ramp.json +13 -3
  91. package/manifest/components/chart-swatch.json +9 -2
  92. package/manifest/components/chart-tooltip-content.json +31 -7
  93. package/manifest/components/chart.json +30 -6
  94. package/manifest/components/chat-panel-composer.json +9 -2
  95. package/manifest/components/checkbox-group.json +4 -2
  96. package/manifest/components/checkbox.json +17 -4
  97. package/manifest/components/checkpoint-history.json +13 -3
  98. package/manifest/components/chip.json +35 -5
  99. package/manifest/components/clamp.json +30 -7
  100. package/manifest/components/cli-tool-icon.json +1 -7
  101. package/manifest/components/code-diff.json +20 -5
  102. package/manifest/components/code-runner.json +32 -6
  103. package/manifest/components/collapsible.json +16 -4
  104. package/manifest/components/color-area.json +4 -1
  105. package/manifest/components/color-field.json +13 -3
  106. package/manifest/components/color-picker.json +75 -17
  107. package/manifest/components/color-slider.json +12 -3
  108. package/manifest/components/color-swatch.json +13 -2
  109. package/manifest/components/colors-section.json +10 -7
  110. package/manifest/components/combobox.json +81 -18
  111. package/manifest/components/command-palette.json +57 -13
  112. package/manifest/components/compaction-row.json +35 -7
  113. package/manifest/components/comparison-card.json +17 -4
  114. package/manifest/components/composer-attachment-chip.json +9 -2
  115. package/manifest/components/composer-bar.json +4 -1
  116. package/manifest/components/composer-command-item.json +8 -2
  117. package/manifest/components/composer-context.json +4 -1
  118. package/manifest/components/composer-input.json +5 -1
  119. package/manifest/components/composer-menu-item.json +4 -1
  120. package/manifest/components/composer-menu.json +12 -2
  121. package/manifest/components/composer-model-item.json +8 -2
  122. package/manifest/components/composer-model-trigger.json +8 -2
  123. package/manifest/components/composer-person-item.json +8 -2
  124. package/manifest/components/composer-send.json +8 -2
  125. package/manifest/components/composer-voice-button.json +4 -1
  126. package/manifest/components/composer-voice.json +8 -2
  127. package/manifest/components/composer.json +76 -17
  128. package/manifest/components/computer-use.json +17 -4
  129. package/manifest/components/confidence-marker.json +13 -3
  130. package/manifest/components/connection-state.json +23 -4
  131. package/manifest/components/container.json +14 -2
  132. package/manifest/components/context-breakdown.json +8 -2
  133. package/manifest/components/context-menu.json +16 -4
  134. package/manifest/components/context-usage.json +16 -4
  135. package/manifest/components/conversation-search.json +22 -5
  136. package/manifest/components/copy-button.json +32 -7
  137. package/manifest/components/cost-meter.json +12 -3
  138. package/manifest/components/cue-logotype.json +17 -3
  139. package/manifest/components/cue-mark.json +17 -3
  140. package/manifest/components/cue-portal-frame.json +14 -4
  141. package/manifest/components/data-row.json +21 -7
  142. package/manifest/components/data-table-pagination.json +18 -4
  143. package/manifest/components/data-table-toolbar.json +30 -7
  144. package/manifest/components/data-tree.json +42 -9
  145. package/manifest/components/date-field.json +13 -2
  146. package/manifest/components/date-picker.json +81 -19
  147. package/manifest/components/date-range-picker.json +81 -19
  148. package/manifest/components/day-separator.json +4 -1
  149. package/manifest/components/delegation-card.json +64 -12
  150. package/manifest/components/density.json +25 -5
  151. package/manifest/components/description-list.json +8 -1
  152. package/manifest/components/diagram.json +33 -7
  153. package/manifest/components/dialog.json +29 -6
  154. package/manifest/components/disclosure.json +31 -7
  155. package/manifest/components/dmx-bar.json +16 -4
  156. package/manifest/components/dmx-strip.json +20 -5
  157. package/manifest/components/document-reference.json +21 -5
  158. package/manifest/components/draft-restore.json +18 -4
  159. package/manifest/components/drawer.json +30 -6
  160. package/manifest/components/dropdown-menu.json +55 -10
  161. package/manifest/components/edit-message.json +32 -7
  162. package/manifest/components/elements-command-palette.json +27 -6
  163. package/manifest/components/elements-data-table.json +9 -2
  164. package/manifest/components/elements-timeline.json +8 -2
  165. package/manifest/components/elicitation-form.json +31 -6
  166. package/manifest/components/empty-state-composer.json +9 -2
  167. package/manifest/components/empty-state-suggestion.json +4 -1
  168. package/manifest/components/empty-state.json +25 -5
  169. package/manifest/components/end-of-turn-summary.json +16 -4
  170. package/manifest/components/env-var-input.json +54 -12
  171. package/manifest/components/error-state.json +17 -4
  172. package/manifest/components/export-dialog.json +27 -11
  173. package/manifest/components/eyebrow.json +4 -1
  174. package/manifest/components/feedback-dialog.json +33 -7
  175. package/manifest/components/field-description.json +4 -1
  176. package/manifest/components/field-error.json +13 -3
  177. package/manifest/components/field-label.json +4 -1
  178. package/manifest/components/field.json +4 -1
  179. package/manifest/components/file-tree.json +16 -4
  180. package/manifest/components/file-upload.json +58 -13
  181. package/manifest/components/flow-graph.json +12 -3
  182. package/manifest/components/folder-icon.json +1 -7
  183. package/manifest/components/footer.json +24 -4
  184. package/manifest/components/frac.json +10 -2
  185. package/manifest/components/generation-loader.json +17 -3
  186. package/manifest/components/generative-ui.json +39 -7
  187. package/manifest/components/grid.json +56 -5
  188. package/manifest/components/group-bar.json +25 -6
  189. package/manifest/components/guardrail-notice.json +22 -5
  190. package/manifest/components/hover-card.json +45 -8
  191. package/manifest/components/icon-button.json +22 -4
  192. package/manifest/components/image-generation.json +8 -2
  193. package/manifest/components/info-tip.json +42 -7
  194. package/manifest/components/inline-citation.json +14 -3
  195. package/manifest/components/input-group.json +24 -5
  196. package/manifest/components/input.json +13 -3
  197. package/manifest/components/item.json +42 -8
  198. package/manifest/components/job-progress.json +25 -6
  199. package/manifest/components/launcher-bubble.json +32 -7
  200. package/manifest/components/ledger.json +87 -19
  201. package/manifest/components/link.json +16 -3
  202. package/manifest/components/live-region-announcer.json +21 -5
  203. package/manifest/components/log-viewer.json +42 -10
  204. package/manifest/components/map-answer.json +17 -4
  205. package/manifest/components/markdown-text.json +36 -5
  206. package/manifest/components/math-block.json +12 -3
  207. package/manifest/components/mcp-server-icon.json +1 -7
  208. package/manifest/components/mcp-server-panel.json +18 -4
  209. package/manifest/components/memory-chips.json +9 -2
  210. package/manifest/components/menubar.json +33 -7
  211. package/manifest/components/message-actions.json +32 -7
  212. package/manifest/components/message-attachments.json +9 -2
  213. package/manifest/components/message-branches.json +14 -3
  214. package/manifest/components/message-list.json +27 -6
  215. package/manifest/components/message-pair.json +25 -5
  216. package/manifest/components/message-queue.json +13 -3
  217. package/manifest/components/message-timing.json +8 -2
  218. package/manifest/components/message.json +41 -9
  219. package/manifest/components/meter.json +43 -7
  220. package/manifest/components/mobile-composer.json +47 -10
  221. package/manifest/components/model-picker.json +13 -3
  222. package/manifest/components/multi-select.json +78 -17
  223. package/manifest/components/musical-time-input.json +34 -8
  224. package/manifest/components/navigation-menu.json +54 -12
  225. package/manifest/components/node-card.json +42 -7
  226. package/manifest/components/node-handle.json +17 -2
  227. package/manifest/components/number-field.json +28 -6
  228. package/manifest/components/number-ticker.json +8 -2
  229. package/manifest/components/onboarding.json +18 -4
  230. package/manifest/components/otp-field.json +43 -10
  231. package/manifest/components/page-shell.json +35 -6
  232. package/manifest/components/pagination.json +21 -5
  233. package/manifest/components/panel-header.json +15 -3
  234. package/manifest/components/password-input.json +38 -8
  235. package/manifest/components/permission-grant.json +28 -5
  236. package/manifest/components/permission-scopes.json +57 -12
  237. package/manifest/components/piano-keyboard.json +38 -9
  238. package/manifest/components/plussie.json +34 -5
  239. package/manifest/components/popover.json +45 -8
  240. package/manifest/components/preset-section.json +14 -8
  241. package/manifest/components/progress.json +25 -6
  242. package/manifest/components/prompt-library.json +27 -6
  243. package/manifest/components/queue-dock.json +36 -8
  244. package/manifest/components/quota-banner.json +25 -6
  245. package/manifest/components/quote-reply.json +29 -7
  246. package/manifest/components/radio-group.json +12 -2
  247. package/manifest/components/radio.json +17 -3
  248. package/manifest/components/rating.json +60 -13
  249. package/manifest/components/read-aloud.json +35 -8
  250. package/manifest/components/reasoning-effort.json +17 -4
  251. package/manifest/components/reasoning-panel.json +33 -8
  252. package/manifest/components/recommendation-card.json +35 -10
  253. package/manifest/components/regenerate-menu.json +22 -5
  254. package/manifest/components/replay-player.json +29 -7
  255. package/manifest/components/research-report.json +12 -3
  256. package/manifest/components/resizable.json +4 -1
  257. package/manifest/components/retrieval-chunks.json +16 -4
  258. package/manifest/components/revert-dock.json +61 -14
  259. package/manifest/components/reviewable-diff.json +23 -5
  260. package/manifest/components/risk-badge.json +18 -3
  261. package/manifest/components/row.json +17 -4
  262. package/manifest/components/schedule-card.json +25 -6
  263. package/manifest/components/score-breakdown.json +20 -5
  264. package/manifest/components/scroll-anchor.json +13 -3
  265. package/manifest/components/scroll-area.json +31 -8
  266. package/manifest/components/scrollable-tabs-list.json +12 -4
  267. package/manifest/components/scrub-input.json +84 -18
  268. package/manifest/components/seam-cell.json +19 -3
  269. package/manifest/components/seam-grid.json +12 -3
  270. package/manifest/components/search-input.json +49 -10
  271. package/manifest/components/section-header.json +36 -8
  272. package/manifest/components/segmented-control.json +50 -11
  273. package/manifest/components/select.json +74 -16
  274. package/manifest/components/separator.json +4 -1
  275. package/manifest/components/settings-panel.json +41 -9
  276. package/manifest/components/shape-section.json +10 -7
  277. package/manifest/components/shared-conversation.json +21 -5
  278. package/manifest/components/sheet.json +29 -6
  279. package/manifest/components/shimmer-label.json +4 -2
  280. package/manifest/components/sidebar.json +60 -13
  281. package/manifest/components/skill-icon.json +1 -7
  282. package/manifest/components/slider.json +22 -5
  283. package/manifest/components/sources.json +17 -4
  284. package/manifest/components/sparkline.json +17 -4
  285. package/manifest/components/speaker-identity.json +4 -1
  286. package/manifest/components/spec-sheet.json +16 -4
  287. package/manifest/components/spectrum-visualizer.json +41 -10
  288. package/manifest/components/spinner.json +12 -2
  289. package/manifest/components/stack-icon.json +1 -7
  290. package/manifest/components/stack.json +54 -7
  291. package/manifest/components/stacks-matrix-icon.json +1 -7
  292. package/manifest/components/stat.json +28 -4
  293. package/manifest/components/status-bar.json +50 -9
  294. package/manifest/components/status-dot.json +23 -4
  295. package/manifest/components/stepper.json +22 -5
  296. package/manifest/components/stopped-run.json +19 -4
  297. package/manifest/components/streaming-text.json +12 -3
  298. package/manifest/components/subagent-list.json +21 -5
  299. package/manifest/components/suggestions.json +27 -5
  300. package/manifest/components/swap-label.json +18 -4
  301. package/manifest/components/switch.json +18 -3
  302. package/manifest/components/table-scroll-region.json +4 -1
  303. package/manifest/components/table.json +54 -11
  304. package/manifest/components/tabs.json +16 -5
  305. package/manifest/components/tags-input.json +79 -17
  306. package/manifest/components/tail-status.json +37 -8
  307. package/manifest/components/terminal-block.json +25 -5
  308. package/manifest/components/terminal-frame.json +34 -8
  309. package/manifest/components/textarea.json +8 -3
  310. package/manifest/components/theme-configurator.json +47 -14
  311. package/manifest/components/theme-provider.json +97 -18
  312. package/manifest/components/thinking-indicator.json +8 -2
  313. package/manifest/components/thread-list.json +13 -3
  314. package/manifest/components/thread-search.json +22 -5
  315. package/manifest/components/threshold-rail.json +77 -14
  316. package/manifest/components/time-boundary.json +8 -2
  317. package/manifest/components/time-field.json +13 -2
  318. package/manifest/components/timeline-ruler.json +51 -12
  319. package/manifest/components/timeline.json +19 -3
  320. package/manifest/components/title-bar.json +19 -4
  321. package/manifest/components/toast.json +12 -3
  322. package/manifest/components/todo-list.json +8 -2
  323. package/manifest/components/toggle-group.json +33 -7
  324. package/manifest/components/toggle.json +23 -4
  325. package/manifest/components/token-editor.json +26 -10
  326. package/manifest/components/tool-call-card.json +83 -16
  327. package/manifest/components/tool-call.json +37 -9
  328. package/manifest/components/tool-error.json +34 -8
  329. package/manifest/components/tool-group.json +17 -4
  330. package/manifest/components/tool-timeline.json +37 -9
  331. package/manifest/components/toolbar.json +37 -8
  332. package/manifest/components/tooltip.json +41 -7
  333. package/manifest/components/trace-waterfall.json +12 -3
  334. package/manifest/components/tree-visibility-toggle.json +18 -3
  335. package/manifest/components/tree.json +52 -11
  336. package/manifest/components/turn-footer.json +36 -8
  337. package/manifest/components/two-step-button.json +46 -9
  338. package/manifest/components/typing-indicator.json +8 -1
  339. package/manifest/components/universe-grid.json +37 -10
  340. package/manifest/components/unread-divider.json +4 -1
  341. package/manifest/components/usage-chart.json +46 -9
  342. package/manifest/components/verdict-row.json +20 -5
  343. package/manifest/components/voice-conversation.json +37 -7
  344. package/manifest/components/web-preview.json +23 -5
  345. package/manifest/components/web-search.json +20 -5
  346. package/manifest/components/work-collapse.json +30 -7
  347. package/manifest/fixtures.json +106 -0
  348. package/manifest/manifest.json +449 -310
  349. package/manifest/tokens.json +122 -12
  350. package/package.json +16 -6
  351. package/dist/theming/_presets.d.ts +0 -11
  352. package/dist/theming/_presets.js +0 -678
@@ -14,49 +14,79 @@
14
14
  "type": "\"done\" | \"running\" | \"request\" | \"denied\"",
15
15
  "required": true,
16
16
  "defaultValue": null,
17
- "description": "Lifecycle of the card: request with actions, running spinner, done check, or denied."
17
+ "description": "Lifecycle of the card: request with actions, running spinner, done check, or denied.",
18
+ "control": {
19
+ "kind": "enum",
20
+ "members": [
21
+ "done",
22
+ "running",
23
+ "request",
24
+ "denied"
25
+ ]
26
+ }
18
27
  },
19
28
  {
20
29
  "name": "command",
21
30
  "type": "string",
22
31
  "required": true,
23
32
  "defaultValue": null,
24
- "description": "Command shown in the mono field the agent wants to run."
33
+ "description": "Command shown in the mono field the agent wants to run.",
34
+ "control": {
35
+ "kind": "string"
36
+ }
25
37
  },
26
38
  {
27
39
  "name": "title",
28
40
  "type": "string",
29
41
  "required": true,
30
42
  "defaultValue": null,
31
- "description": "Headline naming the action that needs approval."
43
+ "description": "Headline naming the action that needs approval.",
44
+ "control": {
45
+ "kind": "string"
46
+ }
32
47
  },
33
48
  {
34
49
  "name": "subtitle",
35
50
  "type": "string",
36
51
  "required": true,
37
52
  "defaultValue": null,
38
- "description": "Supporting line under the title explaining the request."
53
+ "description": "Supporting line under the title explaining the request.",
54
+ "control": {
55
+ "kind": "string"
56
+ }
39
57
  },
40
58
  {
41
59
  "name": "onAllowOnce",
42
60
  "type": "(() => void)",
43
61
  "required": false,
44
62
  "defaultValue": null,
45
- "description": "Called when the user clicks Allow once."
63
+ "description": "Called when the user clicks Allow once.",
64
+ "control": {
65
+ "kind": "callback",
66
+ "fixture": "callback.log"
67
+ }
46
68
  },
47
69
  {
48
70
  "name": "onAlwaysAllow",
49
71
  "type": "(() => void)",
50
72
  "required": false,
51
73
  "defaultValue": null,
52
- "description": "Called when the user clicks Always allow."
74
+ "description": "Called when the user clicks Always allow.",
75
+ "control": {
76
+ "kind": "callback",
77
+ "fixture": "callback.log"
78
+ }
53
79
  },
54
80
  {
55
81
  "name": "onDeny",
56
82
  "type": "(() => void)",
57
83
  "required": false,
58
84
  "defaultValue": null,
59
- "description": "Called when the user clicks Deny."
85
+ "description": "Called when the user clicks Deny.",
86
+ "control": {
87
+ "kind": "callback",
88
+ "fixture": "callback.log"
89
+ }
60
90
  }
61
91
  ],
62
92
  "typeReferences": [
@@ -14,28 +14,40 @@
14
14
  "type": "string",
15
15
  "required": true,
16
16
  "defaultValue": null,
17
- "description": "Name of the generated artifact."
17
+ "description": "Name of the generated artifact.",
18
+ "control": {
19
+ "kind": "string"
20
+ }
18
21
  },
19
22
  {
20
23
  "name": "meta",
21
24
  "type": "string",
22
25
  "required": true,
23
26
  "defaultValue": null,
24
- "description": "Resting meta line shown once generation finishes, for example kind, version, and\nrecency."
27
+ "description": "Resting meta line shown once generation finishes, for example kind, version, and\nrecency.",
28
+ "control": {
29
+ "kind": "string"
30
+ }
25
31
  },
26
32
  {
27
33
  "name": "generating",
28
34
  "type": "boolean",
29
35
  "required": false,
30
36
  "defaultValue": "false",
31
- "description": "While true the icon pulses and the meta line shows a live word count with a shimmer."
37
+ "description": "While true the icon pulses and the meta line shows a live word count with a shimmer.",
38
+ "control": {
39
+ "kind": "boolean"
40
+ }
32
41
  },
33
42
  {
34
43
  "name": "words",
35
44
  "type": "number",
36
45
  "required": false,
37
46
  "defaultValue": "0",
38
- "description": "Live word count shown while generating."
47
+ "description": "Live word count shown while generating.",
48
+ "control": {
49
+ "kind": "number"
50
+ }
39
51
  }
40
52
  ],
41
53
  "typeReferences": [
@@ -12,147 +12,225 @@
12
12
  "type": "ReactNode",
13
13
  "required": true,
14
14
  "defaultValue": null,
15
- "description": "The question, as text or nodes. Rendered verbatim — never parsed."
15
+ "description": "The question, as text or nodes. Rendered verbatim — never parsed.",
16
+ "control": {
17
+ "kind": "node",
18
+ "fixture": "children.text"
19
+ }
16
20
  },
17
21
  {
18
22
  "name": "kind",
19
23
  "type": "\"number\" | \"boolean\" | \"text\" | \"single\" | \"multi\"",
20
24
  "required": false,
21
25
  "defaultValue": "text",
22
- "description": "Which widget to offer. Defaults to `\"text\"`."
26
+ "description": "Which widget to offer. Defaults to `\"text\"`.",
27
+ "control": {
28
+ "kind": "enum",
29
+ "members": [
30
+ "number",
31
+ "boolean",
32
+ "text",
33
+ "single",
34
+ "multi"
35
+ ]
36
+ }
23
37
  },
24
38
  {
25
39
  "name": "options",
26
40
  "type": "readonly AskOption[]",
27
41
  "required": false,
28
42
  "defaultValue": null,
29
- "description": "Choices for a `single` or `multi` question."
43
+ "description": "Choices for a `single` or `multi` question.",
44
+ "control": {
45
+ "kind": "array"
46
+ }
30
47
  },
31
48
  {
32
49
  "name": "onAnswer",
33
50
  "type": "(value: AskAnswer) => void",
34
51
  "required": true,
35
52
  "defaultValue": null,
36
- "description": "Fired once with the answer. The host is responsible for resuming the run."
53
+ "description": "Fired once with the answer. The host is responsible for resuming the run.",
54
+ "control": {
55
+ "kind": "callback",
56
+ "fixture": "callback.log"
57
+ }
37
58
  },
38
59
  {
39
60
  "name": "answer",
40
61
  "type": "AskAnswer",
41
62
  "required": false,
42
63
  "defaultValue": null,
43
- "description": "The answer, once there is one. Present means answered: the box collapses to\na one-line summary and stops accepting input."
64
+ "description": "The answer, once there is one. Present means answered: the box collapses to\na one-line summary and stops accepting input.",
65
+ "control": {
66
+ "kind": "opaque"
67
+ }
44
68
  },
45
69
  {
46
70
  "name": "asker",
47
71
  "type": "string",
48
72
  "required": false,
49
73
  "defaultValue": null,
50
- "description": "Slug of the agent asking, for the byline and the box's colour."
74
+ "description": "Slug of the agent asking, for the byline and the box's colour.",
75
+ "control": {
76
+ "kind": "string"
77
+ }
51
78
  },
52
79
  {
53
80
  "name": "rootAgent",
54
81
  "type": "string",
55
82
  "required": false,
56
83
  "defaultValue": null,
57
- "description": "Slug of the orchestrator, so its questions take the theme accent."
84
+ "description": "Slug of the orchestrator, so its questions take the theme accent.",
85
+ "control": {
86
+ "kind": "string"
87
+ }
58
88
  },
59
89
  {
60
90
  "name": "tool",
61
91
  "type": "string",
62
92
  "required": false,
63
93
  "defaultValue": null,
64
- "description": "Tool this question is approving, if it is an approval."
94
+ "description": "Tool this question is approving, if it is an approval.",
95
+ "control": {
96
+ "kind": "string"
97
+ }
65
98
  },
66
99
  {
67
100
  "name": "danger",
68
101
  "type": "\"low\" | \"high\" | \"critical\"",
69
102
  "required": false,
70
103
  "defaultValue": null,
71
- "description": "Risk rating for the tool call. Omit for a plain question."
104
+ "description": "Risk rating for the tool call. Omit for a plain question.",
105
+ "control": {
106
+ "kind": "enum",
107
+ "members": [
108
+ "low",
109
+ "high",
110
+ "critical"
111
+ ]
112
+ }
72
113
  },
73
114
  {
74
115
  "name": "defaultValue",
75
116
  "type": "AskAnswer",
76
117
  "required": false,
77
118
  "defaultValue": null,
78
- "description": "Initial widget value. A string for `text`/`single`, an array for `multi`, a number for `number`."
119
+ "description": "Initial widget value. A string for `text`/`single`, an array for `multi`, a number for `number`.",
120
+ "control": {
121
+ "kind": "opaque"
122
+ }
79
123
  },
80
124
  {
81
125
  "name": "placeholder",
82
126
  "type": "string",
83
127
  "required": false,
84
128
  "defaultValue": null,
85
- "description": "Placeholder for the `text` widget."
129
+ "description": "Placeholder for the `text` widget.",
130
+ "control": {
131
+ "kind": "string"
132
+ }
86
133
  },
87
134
  {
88
135
  "name": "min",
89
136
  "type": "number",
90
137
  "required": false,
91
138
  "defaultValue": null,
92
- "description": "Lower bound for the `number` widget."
139
+ "description": "Lower bound for the `number` widget.",
140
+ "control": {
141
+ "kind": "number"
142
+ }
93
143
  },
94
144
  {
95
145
  "name": "max",
96
146
  "type": "number",
97
147
  "required": false,
98
148
  "defaultValue": null,
99
- "description": "Upper bound for the `number` widget."
149
+ "description": "Upper bound for the `number` widget.",
150
+ "control": {
151
+ "kind": "number"
152
+ }
100
153
  },
101
154
  {
102
155
  "name": "step",
103
156
  "type": "number",
104
157
  "required": false,
105
158
  "defaultValue": null,
106
- "description": "Increment the `number` widget's stepper moves by."
159
+ "description": "Increment the `number` widget's stepper moves by.",
160
+ "control": {
161
+ "kind": "number"
162
+ }
107
163
  },
108
164
  {
109
165
  "name": "unit",
110
166
  "type": "string",
111
167
  "required": false,
112
168
  "defaultValue": null,
113
- "description": "Unit shown beside a number, and in the answered summary."
169
+ "description": "Unit shown beside a number, and in the answered summary.",
170
+ "control": {
171
+ "kind": "string"
172
+ }
114
173
  },
115
174
  {
116
175
  "name": "confirmLabel",
117
176
  "type": "string",
118
177
  "required": false,
119
178
  "defaultValue": "Confirm",
120
- "description": "Label on the affirmative half of a `boolean`. Defaults to `\"Confirm\"`."
179
+ "description": "Label on the affirmative half of a `boolean`. Defaults to `\"Confirm\"`.",
180
+ "control": {
181
+ "kind": "string"
182
+ }
121
183
  },
122
184
  {
123
185
  "name": "rejectLabel",
124
186
  "type": "string",
125
187
  "required": false,
126
188
  "defaultValue": "Reject",
127
- "description": "Label on the negative half of a `boolean`. Defaults to `\"Reject\"`."
189
+ "description": "Label on the negative half of a `boolean`. Defaults to `\"Reject\"`.",
190
+ "control": {
191
+ "kind": "string"
192
+ }
128
193
  },
129
194
  {
130
195
  "name": "submitLabel",
131
196
  "type": "ReactNode",
132
197
  "required": false,
133
198
  "defaultValue": "Submit",
134
- "description": "Label on the submit button. Defaults to `\"Submit\"`."
199
+ "description": "Label on the submit button. Defaults to `\"Submit\"`.",
200
+ "control": {
201
+ "kind": "node",
202
+ "fixture": "children.text"
203
+ }
135
204
  },
136
205
  {
137
206
  "name": "busy",
138
207
  "type": "boolean",
139
208
  "required": false,
140
209
  "defaultValue": "false",
141
- "description": "The answer is in flight: locks the widget and says so."
210
+ "description": "The answer is in flight: locks the widget and says so.",
211
+ "control": {
212
+ "kind": "boolean"
213
+ }
142
214
  },
143
215
  {
144
216
  "name": "defaultOpen",
145
217
  "type": "boolean",
146
218
  "required": false,
147
219
  "defaultValue": "false",
148
- "description": "Expand the answered summary from the start. Defaults to `false`."
220
+ "description": "Expand the answered summary from the start. Defaults to `false`.",
221
+ "control": {
222
+ "kind": "boolean"
223
+ }
149
224
  },
150
225
  {
151
226
  "name": "aria-label",
152
227
  "type": "string",
153
228
  "required": false,
154
229
  "defaultValue": null,
155
- "description": "Accessible name for the widget when `question` is not plain text."
230
+ "description": "Accessible name for the widget when `question` is not plain text.",
231
+ "control": {
232
+ "kind": "string"
233
+ }
156
234
  }
157
235
  ],
158
236
  "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 audience: a named group of people something is published to.",
25
19
  "examples": [],
26
20
  "status": "todo-docs",
@@ -12,126 +12,188 @@
12
12
  "type": "readonly string[]",
13
13
  "required": true,
14
14
  "defaultValue": null,
15
- "description": "The suggestions, filtered against what is typed."
15
+ "description": "The suggestions, filtered against what is typed.",
16
+ "control": {
17
+ "kind": "array",
18
+ "fixture": "agent.transcript"
19
+ }
16
20
  },
17
21
  {
18
22
  "name": "value",
19
23
  "type": "string",
20
24
  "required": false,
21
25
  "defaultValue": null,
22
- "description": "Current text. Use with `onValueChange` for a controlled field."
26
+ "description": "Current text. Use with `onValueChange` for a controlled field.",
27
+ "control": {
28
+ "kind": "string"
29
+ }
23
30
  },
24
31
  {
25
32
  "name": "defaultValue",
26
33
  "type": "string",
27
34
  "required": false,
28
35
  "defaultValue": null,
29
- "description": "Initial text for an uncontrolled field."
36
+ "description": "Initial text for an uncontrolled field.",
37
+ "control": {
38
+ "kind": "string"
39
+ }
30
40
  },
31
41
  {
32
42
  "name": "onValueChange",
33
43
  "type": "((value: string) => void)",
34
44
  "required": false,
35
45
  "defaultValue": null,
36
- "description": "Fired on every keystroke and when a suggestion is picked."
46
+ "description": "Fired on every keystroke and when a suggestion is picked.",
47
+ "control": {
48
+ "kind": "callback",
49
+ "fixture": "callback.log"
50
+ }
37
51
  },
38
52
  {
39
53
  "name": "placeholder",
40
54
  "type": "string",
41
55
  "required": false,
42
56
  "defaultValue": null,
43
- "description": "Shown while the field is empty."
57
+ "description": "Shown while the field is empty.",
58
+ "control": {
59
+ "kind": "string"
60
+ }
44
61
  },
45
62
  {
46
63
  "name": "emptyMessage",
47
64
  "type": "ReactNode",
48
65
  "required": false,
49
66
  "defaultValue": "No matches",
50
- "description": "Shown in place of the list when the query matches nothing."
67
+ "description": "Shown in place of the list when the query matches nothing.",
68
+ "control": {
69
+ "kind": "node",
70
+ "fixture": "children.text"
71
+ }
51
72
  },
52
73
  {
53
74
  "name": "size",
54
75
  "type": "\"sm\" | \"md\" | \"lg\"",
55
76
  "required": false,
56
77
  "defaultValue": null,
57
- "description": "Rung of the control ladder. Defaults to `\"md\"`."
78
+ "description": "Rung of the control ladder. Defaults to `\"md\"`.",
79
+ "control": {
80
+ "kind": "enum",
81
+ "members": [
82
+ "sm",
83
+ "md",
84
+ "lg"
85
+ ]
86
+ }
58
87
  },
59
88
  {
60
89
  "name": "autoHighlight",
61
90
  "type": "boolean",
62
91
  "required": false,
63
92
  "defaultValue": "false",
64
- "description": "Highlight the first match automatically so Enter accepts it."
93
+ "description": "Highlight the first match automatically so Enter accepts it.",
94
+ "control": {
95
+ "kind": "boolean"
96
+ }
65
97
  },
66
98
  {
67
99
  "name": "disabled",
68
100
  "type": "boolean",
69
101
  "required": false,
70
102
  "defaultValue": null,
71
- "description": "Prevent opening and grey the field out."
103
+ "description": "Prevent opening and grey the field out.",
104
+ "control": {
105
+ "kind": "boolean"
106
+ }
72
107
  },
73
108
  {
74
109
  "name": "required",
75
110
  "type": "boolean",
76
111
  "required": false,
77
112
  "defaultValue": null,
78
- "description": "Require text before the owning form submits."
113
+ "description": "Require text before the owning form submits.",
114
+ "control": {
115
+ "kind": "boolean"
116
+ }
79
117
  },
80
118
  {
81
119
  "name": "name",
82
120
  "type": "string",
83
121
  "required": false,
84
122
  "defaultValue": null,
85
- "description": "Name for the input, when the field is part of a form."
123
+ "description": "Name for the input, when the field is part of a form.",
124
+ "control": {
125
+ "kind": "string"
126
+ }
86
127
  },
87
128
  {
88
129
  "name": "id",
89
130
  "type": "string",
90
131
  "required": false,
91
132
  "defaultValue": null,
92
- "description": "Id forwarded to the input."
133
+ "description": "Id forwarded to the input.",
134
+ "control": {
135
+ "kind": "string"
136
+ }
93
137
  },
94
138
  {
95
139
  "name": "aria-label",
96
140
  "type": "string",
97
141
  "required": false,
98
142
  "defaultValue": null,
99
- "description": "Accessible name for the input, when no {@link FieldLabel } names it."
143
+ "description": "Accessible name for the input, when no {@link FieldLabel } names it.",
144
+ "control": {
145
+ "kind": "string"
146
+ }
100
147
  },
101
148
  {
102
149
  "name": "aria-labelledby",
103
150
  "type": "string",
104
151
  "required": false,
105
152
  "defaultValue": null,
106
- "description": "Id of the element naming the input."
153
+ "description": "Id of the element naming the input.",
154
+ "control": {
155
+ "kind": "string"
156
+ }
107
157
  },
108
158
  {
109
159
  "name": "clearLabel",
110
160
  "type": "string",
111
161
  "required": false,
112
162
  "defaultValue": "Clear",
113
- "description": "Accessible name for the clear button. Defaults to `\"Clear\"`."
163
+ "description": "Accessible name for the clear button. Defaults to `\"Clear\"`.",
164
+ "control": {
165
+ "kind": "string"
166
+ }
114
167
  },
115
168
  {
116
169
  "name": "className",
117
170
  "type": "string",
118
171
  "required": false,
119
172
  "defaultValue": null,
120
- "description": "Extra classes for the field."
173
+ "description": "Extra classes for the field.",
174
+ "control": {
175
+ "kind": "string"
176
+ }
121
177
  },
122
178
  {
123
179
  "name": "popupClassName",
124
180
  "type": "string",
125
181
  "required": false,
126
182
  "defaultValue": null,
127
- "description": "Extra classes for the popup surface."
183
+ "description": "Extra classes for the popup surface.",
184
+ "control": {
185
+ "kind": "string"
186
+ }
128
187
  },
129
188
  {
130
189
  "name": "sideOffset",
131
190
  "type": "number",
132
191
  "required": false,
133
192
  "defaultValue": "4",
134
- "description": "Distance in px between the field and the popup. Defaults to `4`."
193
+ "description": "Distance in px between the field and the popup. Defaults to `4`.",
194
+ "control": {
195
+ "kind": "number"
196
+ }
135
197
  }
136
198
  ],
137
199
  "typeReferences": [],
@@ -12,14 +12,25 @@
12
12
  "type": "number",
13
13
  "required": false,
14
14
  "defaultValue": null,
15
- "description": "Show at most this many avatars; the rest collapse into a `+N` chip. Omit for no limit."
15
+ "description": "Show at most this many avatars; the rest collapse into a `+N` chip. Omit for no limit.",
16
+ "control": {
17
+ "kind": "number"
18
+ }
16
19
  },
17
20
  {
18
21
  "name": "size",
19
22
  "type": "\"sm\" | \"md\" | \"lg\"",
20
23
  "required": false,
21
24
  "defaultValue": "md",
22
- "description": "Size of the `+N` overflow chip. Match it to the avatars you pass in. Defaults to `\"md\"`."
25
+ "description": "Size of the `+N` overflow chip. Match it to the avatars you pass in. Defaults to `\"md\"`.",
26
+ "control": {
27
+ "kind": "enum",
28
+ "members": [
29
+ "sm",
30
+ "md",
31
+ "lg"
32
+ ]
33
+ }
23
34
  }
24
35
  ],
25
36
  "typeReferences": [