@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,14 +12,20 @@
12
12
  "type": "readonly TimelineEvent[]",
13
13
  "required": true,
14
14
  "defaultValue": null,
15
- "description": "Events in chronological order, past and scheduled together."
15
+ "description": "Events in chronological order, past and scheduled together.",
16
+ "control": {
17
+ "kind": "array"
18
+ }
16
19
  },
17
20
  {
18
21
  "name": "visibleCount",
19
22
  "type": "number",
20
23
  "required": true,
21
24
  "defaultValue": null,
22
- "description": "How many events have been resolved."
25
+ "description": "How many events have been resolved.",
26
+ "control": {
27
+ "kind": "number"
28
+ }
23
29
  }
24
30
  ],
25
31
  "typeReferences": [
@@ -14,42 +14,67 @@
14
14
  "type": "string",
15
15
  "required": true,
16
16
  "defaultValue": null,
17
- "description": "Which server paused to ask."
17
+ "description": "Which server paused to ask.",
18
+ "control": {
19
+ "kind": "string"
20
+ }
18
21
  },
19
22
  {
20
23
  "name": "message",
21
24
  "type": "string",
22
25
  "required": true,
23
26
  "defaultValue": null,
24
- "description": "Why the input is needed, in the server's words."
27
+ "description": "Why the input is needed, in the server's words.",
28
+ "control": {
29
+ "kind": "string"
30
+ }
25
31
  },
26
32
  {
27
33
  "name": "fields",
28
34
  "type": "readonly ElicitationField[]",
29
35
  "required": true,
30
36
  "defaultValue": null,
31
- "description": "The schema the server sent, already resolved to display values."
37
+ "description": "The schema the server sent, already resolved to display values.",
38
+ "control": {
39
+ "kind": "array"
40
+ }
32
41
  },
33
42
  {
34
43
  "name": "state",
35
44
  "type": "\"request\" | \"accepted\" | \"declined\"",
36
45
  "required": true,
37
46
  "defaultValue": null,
38
- "description": "Swaps the action row for the outcome once the user answers."
47
+ "description": "Swaps the action row for the outcome once the user answers.",
48
+ "control": {
49
+ "kind": "enum",
50
+ "members": [
51
+ "request",
52
+ "accepted",
53
+ "declined"
54
+ ]
55
+ }
39
56
  },
40
57
  {
41
58
  "name": "onAccept",
42
59
  "type": "(() => void)",
43
60
  "required": false,
44
61
  "defaultValue": null,
45
- "description": "Called when the filled form is sent back."
62
+ "description": "Called when the filled form is sent back.",
63
+ "control": {
64
+ "kind": "callback",
65
+ "fixture": "callback.log"
66
+ }
46
67
  },
47
68
  {
48
69
  "name": "onDecline",
49
70
  "type": "(() => void)",
50
71
  "required": false,
51
72
  "defaultValue": null,
52
- "description": "Called when the request is refused."
73
+ "description": "Called when the request is refused.",
74
+ "control": {
75
+ "kind": "callback",
76
+ "fixture": "callback.log"
77
+ }
53
78
  }
54
79
  ],
55
80
  "typeReferences": [
@@ -14,14 +14,21 @@
14
14
  "type": "string",
15
15
  "required": true,
16
16
  "defaultValue": null,
17
- "description": "Resting text in the input bar."
17
+ "description": "Resting text in the input bar.",
18
+ "control": {
19
+ "kind": "string"
20
+ }
18
21
  },
19
22
  {
20
23
  "name": "onSend",
21
24
  "type": "(() => void)",
22
25
  "required": false,
23
26
  "defaultValue": null,
24
- "description": "Called from the send control. Omit it and the control renders disabled."
27
+ "description": "Called from the send control. Omit it and the control renders disabled.",
28
+ "control": {
29
+ "kind": "callback",
30
+ "fixture": "callback.log"
31
+ }
25
32
  }
26
33
  ],
27
34
  "typeReferences": [
@@ -14,7 +14,10 @@
14
14
  "type": "number",
15
15
  "required": false,
16
16
  "defaultValue": "0",
17
- "description": "Position in the row. Staggers the entrance so the pills arrive in order."
17
+ "description": "Position in the row. Staggers the entrance so the pills arrive in order.",
18
+ "control": {
19
+ "kind": "number"
20
+ }
18
21
  }
19
22
  ],
20
23
  "typeReferences": [
@@ -12,35 +12,55 @@
12
12
  "type": "ReactNode",
13
13
  "required": true,
14
14
  "defaultValue": null,
15
- "description": "What is missing. One short line: \"No cues yet\"."
15
+ "description": "What is missing. One short line: \"No cues yet\".",
16
+ "control": {
17
+ "kind": "node",
18
+ "fixture": "children.text"
19
+ }
16
20
  },
17
21
  {
18
22
  "name": "hint",
19
23
  "type": "ReactNode",
20
24
  "required": false,
21
25
  "defaultValue": null,
22
- "description": "How to fix it. One sentence, muted."
26
+ "description": "How to fix it. One sentence, muted.",
27
+ "control": {
28
+ "kind": "node",
29
+ "fixture": "children.text"
30
+ }
23
31
  },
24
32
  {
25
33
  "name": "action",
26
34
  "type": "ReactNode",
27
35
  "required": false,
28
36
  "defaultValue": null,
29
- "description": "The way out — normally a single `Button`."
37
+ "description": "The way out — normally a single `Button`.",
38
+ "control": {
39
+ "kind": "node",
40
+ "fixture": "children.text"
41
+ }
30
42
  },
31
43
  {
32
44
  "name": "icon",
33
45
  "type": "ElementType<any, keyof IntrinsicElements>",
34
46
  "required": false,
35
47
  "defaultValue": null,
36
- "description": "Optional glyph above the title (e.g. a lucide icon), drawn `aria-hidden`."
48
+ "description": "Optional glyph above the title (e.g. a lucide icon), drawn `aria-hidden`.",
49
+ "control": {
50
+ "kind": "opaque",
51
+ "fixture": "icon.play"
52
+ }
37
53
  },
38
54
  {
39
55
  "name": "children",
40
56
  "type": "ReactNode",
41
57
  "required": false,
42
58
  "defaultValue": null,
43
- "description": "Extra content between the hint and the action — rarely needed."
59
+ "description": "Extra content between the hint and the action — rarely needed.",
60
+ "control": {
61
+ "kind": "node",
62
+ "fixture": "children.text"
63
+ }
44
64
  }
45
65
  ],
46
66
  "typeReferences": [
@@ -12,28 +12,40 @@
12
12
  "type": "number",
13
13
  "required": true,
14
14
  "defaultValue": null,
15
- "description": "How many files the turn touched."
15
+ "description": "How many files the turn touched.",
16
+ "control": {
17
+ "kind": "number"
18
+ }
16
19
  },
17
20
  {
18
21
  "name": "additions",
19
22
  "type": "number",
20
23
  "required": false,
21
24
  "defaultValue": "0",
22
- "description": "Lines added across them."
25
+ "description": "Lines added across them.",
26
+ "control": {
27
+ "kind": "number"
28
+ }
23
29
  },
24
30
  {
25
31
  "name": "deletions",
26
32
  "type": "number",
27
33
  "required": false,
28
34
  "defaultValue": "0",
29
- "description": "Lines removed across them."
35
+ "description": "Lines removed across them.",
36
+ "control": {
37
+ "kind": "number"
38
+ }
30
39
  },
31
40
  {
32
41
  "name": "label",
33
42
  "type": "string",
34
43
  "required": false,
35
44
  "defaultValue": null,
36
- "description": "The whole line, replacing the one {@link formatChangeSummary} would build —\nfor a turn whose result is not a diff at all: `2 cues written`,\n`Nothing to change`."
45
+ "description": "The whole line, replacing the one {@link formatChangeSummary} would build —\nfor a turn whose result is not a diff at all: `2 cues written`,\n`Nothing to change`.",
46
+ "control": {
47
+ "kind": "string"
48
+ }
37
49
  }
38
50
  ],
39
51
  "typeReferences": [
@@ -12,84 +12,126 @@
12
12
  "type": "string",
13
13
  "required": false,
14
14
  "defaultValue": null,
15
- "description": "The value — a literal, or an `env(NAME)` reference. Use with `onValueChange`."
15
+ "description": "The value — a literal, or an `env(NAME)` reference. Use with `onValueChange`.",
16
+ "control": {
17
+ "kind": "string"
18
+ }
16
19
  },
17
20
  {
18
21
  "name": "defaultValue",
19
22
  "type": "string",
20
23
  "required": false,
21
24
  "defaultValue": null,
22
- "description": "Initial value for an uncontrolled field."
25
+ "description": "Initial value for an uncontrolled field.",
26
+ "control": {
27
+ "kind": "string"
28
+ }
23
29
  },
24
30
  {
25
31
  "name": "onValueChange",
26
32
  "type": "((value: string) => void)",
27
33
  "required": false,
28
34
  "defaultValue": null,
29
- "description": "Called with the new value: on every keystroke in the literal state, and with\n`\"\"` when the variable pill is cleared. One argument, because the pill's\nclear button has no DOM change event to hand on."
35
+ "description": "Called with the new value: on every keystroke in the literal state, and with\n`\"\"` when the variable pill is cleared. One argument, because the pill's\nclear button has no DOM change event to hand on.",
36
+ "control": {
37
+ "kind": "callback",
38
+ "fixture": "callback.log"
39
+ }
30
40
  },
31
41
  {
32
42
  "name": "placeholder",
33
43
  "type": "string",
34
44
  "required": false,
35
45
  "defaultValue": null,
36
- "description": "Shown while the literal field is empty."
46
+ "description": "Shown while the literal field is empty.",
47
+ "control": {
48
+ "kind": "string"
49
+ }
37
50
  },
38
51
  {
39
52
  "name": "secret",
40
53
  "type": "boolean",
41
54
  "required": false,
42
55
  "defaultValue": "false",
43
- "description": "Mask the literal value. The reference is never masked — a name is not a secret."
56
+ "description": "Mask the literal value. The reference is never masked — a name is not a secret.",
57
+ "control": {
58
+ "kind": "boolean"
59
+ }
44
60
  },
45
61
  {
46
62
  "name": "size",
47
63
  "type": "\"sm\" | \"md\" | \"lg\"",
48
64
  "required": false,
49
65
  "defaultValue": "md",
50
- "description": "Rung of the control ladder. Defaults to `\"md\"`."
66
+ "description": "Rung of the control ladder. Defaults to `\"md\"`.",
67
+ "control": {
68
+ "kind": "enum",
69
+ "members": [
70
+ "sm",
71
+ "md",
72
+ "lg"
73
+ ]
74
+ }
51
75
  },
52
76
  {
53
77
  "name": "disabled",
54
78
  "type": "boolean",
55
79
  "required": false,
56
80
  "defaultValue": null,
57
- "description": "Prevent editing and grey the control out."
81
+ "description": "Prevent editing and grey the control out.",
82
+ "control": {
83
+ "kind": "boolean"
84
+ }
58
85
  },
59
86
  {
60
87
  "name": "name",
61
88
  "type": "string",
62
89
  "required": false,
63
90
  "defaultValue": null,
64
- "description": "Name for the underlying input, when the field is part of a form."
91
+ "description": "Name for the underlying input, when the field is part of a form.",
92
+ "control": {
93
+ "kind": "string"
94
+ }
65
95
  },
66
96
  {
67
97
  "name": "id",
68
98
  "type": "string",
69
99
  "required": false,
70
100
  "defaultValue": null,
71
- "description": "Id forwarded to the underlying input."
101
+ "description": "Id forwarded to the underlying input.",
102
+ "control": {
103
+ "kind": "string"
104
+ }
72
105
  },
73
106
  {
74
107
  "name": "aria-label",
75
108
  "type": "string",
76
109
  "required": false,
77
110
  "defaultValue": null,
78
- "description": "Accessible name for the field, when no {@link FieldLabel } names it."
111
+ "description": "Accessible name for the field, when no {@link FieldLabel } names it.",
112
+ "control": {
113
+ "kind": "string"
114
+ }
79
115
  },
80
116
  {
81
117
  "name": "clearLabel",
82
118
  "type": "string",
83
119
  "required": false,
84
120
  "defaultValue": "Clear environment variable",
85
- "description": "Accessible name for the pill's clear button. Defaults to `\"Clear environment variable\"`."
121
+ "description": "Accessible name for the pill's clear button. Defaults to `\"Clear environment variable\"`.",
122
+ "control": {
123
+ "kind": "string"
124
+ }
86
125
  },
87
126
  {
88
127
  "name": "className",
89
128
  "type": "string",
90
129
  "required": false,
91
130
  "defaultValue": null,
92
- "description": "Extra classes for the wrapper."
131
+ "description": "Extra classes for the wrapper.",
132
+ "control": {
133
+ "kind": "string"
134
+ }
93
135
  }
94
136
  ],
95
137
  "typeReferences": [
@@ -14,28 +14,41 @@
14
14
  "type": "string",
15
15
  "required": true,
16
16
  "defaultValue": null,
17
- "description": "Primary failure headline shown in the banner."
17
+ "description": "Primary failure headline shown in the banner.",
18
+ "control": {
19
+ "kind": "string"
20
+ }
18
21
  },
19
22
  {
20
23
  "name": "detail",
21
24
  "type": "string",
22
25
  "required": true,
23
26
  "defaultValue": null,
24
- "description": "Supporting detail under the title explaining what went wrong."
27
+ "description": "Supporting detail under the title explaining what went wrong.",
28
+ "control": {
29
+ "kind": "string"
30
+ }
25
31
  },
26
32
  {
27
33
  "name": "retrying",
28
34
  "type": "boolean",
29
35
  "required": true,
30
36
  "defaultValue": null,
31
- "description": "When true the banner swaps to a spinning Retrying status instead of the error."
37
+ "description": "When true the banner swaps to a spinning Retrying status instead of the error.",
38
+ "control": {
39
+ "kind": "boolean"
40
+ }
32
41
  },
33
42
  {
34
43
  "name": "onRetry",
35
44
  "type": "() => void",
36
45
  "required": true,
37
46
  "defaultValue": null,
38
- "description": "Called when the retry control is pressed."
47
+ "description": "Called when the retry control is pressed.",
48
+ "control": {
49
+ "kind": "callback",
50
+ "fixture": "callback.log"
51
+ }
39
52
  }
40
53
  ],
41
54
  "typeReferences": [
@@ -12,35 +12,57 @@
12
12
  "type": "boolean",
13
13
  "required": true,
14
14
  "defaultValue": null,
15
- "description": "Whether the dialog is showing."
15
+ "description": "Whether the dialog is showing.",
16
+ "control": {
17
+ "kind": "boolean"
18
+ }
16
19
  },
17
20
  {
18
21
  "name": "onOpenChange",
19
22
  "type": "(open: boolean) => void",
20
23
  "required": true,
21
24
  "defaultValue": null,
22
- "description": "Called when it should open or close."
25
+ "description": "Called when it should open or close.",
26
+ "control": {
27
+ "kind": "callback",
28
+ "fixture": "callback.log"
29
+ }
23
30
  },
24
31
  {
25
32
  "name": "overrides",
26
33
  "type": "ThemeOverrides",
27
34
  "required": true,
28
35
  "defaultValue": null,
29
- "description": "The overrides to export."
36
+ "description": "The overrides to export.",
37
+ "control": {
38
+ "kind": "opaque"
39
+ }
30
40
  },
31
41
  {
32
42
  "name": "scope",
33
43
  "type": "ThemeScope",
34
44
  "required": true,
35
45
  "defaultValue": null,
36
- "description": "The theme and mode they were made in."
46
+ "description": "The theme and mode they were made in.",
47
+ "control": {
48
+ "kind": "opaque"
49
+ }
37
50
  },
38
51
  {
39
52
  "name": "defaultFormat",
40
53
  "type": "\"css\" | \"dtcg\" | \"create-theme\" | \"registry\"",
41
54
  "required": false,
42
55
  "defaultValue": "css",
43
- "description": "Format shown first. Defaults to `\"css\"`."
56
+ "description": "Format shown first. Defaults to `\"css\"`.",
57
+ "control": {
58
+ "kind": "enum",
59
+ "members": [
60
+ "css",
61
+ "dtcg",
62
+ "create-theme",
63
+ "registry"
64
+ ]
65
+ }
44
66
  }
45
67
  ],
46
68
  "typeReferences": [],
@@ -49,14 +71,11 @@
49
71
  "variants": {},
50
72
  "defaultVariants": {},
51
73
  "tokensUsed": [
52
- "--cue-accent",
53
74
  "--cue-border",
54
- "--cue-density",
55
75
  "--cue-fg",
56
76
  "--cue-fg-muted",
57
77
  "--cue-font-mono",
58
78
  "--cue-font-sans",
59
- "--cue-font-scale",
60
79
  "--cue-radius-control",
61
80
  "--cue-space-1",
62
81
  "--cue-space-3",
@@ -12,7 +12,10 @@
12
12
  "type": "boolean",
13
13
  "required": false,
14
14
  "defaultValue": "true",
15
- "description": "Print the `//` motif ahead of the label. Defaults to `true` — the slashes\nare the brand mark of this system, and an eyebrow without them is just\nsmall uppercase text. Pass `false` for a plain kicker."
15
+ "description": "Print the `//` motif ahead of the label. Defaults to `true` — the slashes\nare the brand mark of this system, and an eyebrow without them is just\nsmall uppercase text. Pass `false` for a plain kicker.",
16
+ "control": {
17
+ "kind": "boolean"
18
+ }
16
19
  }
17
20
  ],
18
21
  "typeReferences": [
@@ -14,49 +14,75 @@
14
14
  "type": "readonly string[]",
15
15
  "required": true,
16
16
  "defaultValue": null,
17
- "description": "The reason chips offered. Keep them short enough to scan in one line."
17
+ "description": "The reason chips offered. Keep them short enough to scan in one line.",
18
+ "control": {
19
+ "kind": "array",
20
+ "fixture": "agent.transcript"
21
+ }
18
22
  },
19
23
  {
20
24
  "name": "selected",
21
25
  "type": "readonly string[]",
22
26
  "required": true,
23
27
  "defaultValue": null,
24
- "description": "Which reasons are currently picked. More than one is allowed."
28
+ "description": "Which reasons are currently picked. More than one is allowed.",
29
+ "control": {
30
+ "kind": "array",
31
+ "fixture": "agent.transcript"
32
+ }
25
33
  },
26
34
  {
27
35
  "name": "note",
28
36
  "type": "string",
29
37
  "required": true,
30
38
  "defaultValue": null,
31
- "description": "Free-text detail, always optional."
39
+ "description": "Free-text detail, always optional.",
40
+ "control": {
41
+ "kind": "string"
42
+ }
32
43
  },
33
44
  {
34
45
  "name": "sent",
35
46
  "type": "boolean",
36
47
  "required": true,
37
48
  "defaultValue": null,
38
- "description": "Replaces the whole form with an acknowledgement once the report is filed."
49
+ "description": "Replaces the whole form with an acknowledgement once the report is filed.",
50
+ "control": {
51
+ "kind": "boolean"
52
+ }
39
53
  },
40
54
  {
41
55
  "name": "onToggleReason",
42
56
  "type": "((reason: string) => void)",
43
57
  "required": false,
44
58
  "defaultValue": null,
45
- "description": "Called when a reason chip is picked or unpicked."
59
+ "description": "Called when a reason chip is picked or unpicked.",
60
+ "control": {
61
+ "kind": "callback",
62
+ "fixture": "callback.log"
63
+ }
46
64
  },
47
65
  {
48
66
  "name": "onNoteChange",
49
67
  "type": "((note: string) => void)",
50
68
  "required": false,
51
69
  "defaultValue": null,
52
- "description": "Called as the free-text note is typed."
70
+ "description": "Called as the free-text note is typed.",
71
+ "control": {
72
+ "kind": "callback",
73
+ "fixture": "callback.log"
74
+ }
53
75
  },
54
76
  {
55
77
  "name": "onSubmit",
56
78
  "type": "(() => void)",
57
79
  "required": false,
58
80
  "defaultValue": null,
59
- "description": "Called when the report is sent."
81
+ "description": "Called when the report is sent.",
82
+ "control": {
83
+ "kind": "callback",
84
+ "fixture": "callback.log"
85
+ }
60
86
  }
61
87
  ],
62
88
  "typeReferences": [
@@ -12,7 +12,10 @@
12
12
  "type": "string",
13
13
  "required": false,
14
14
  "defaultValue": null,
15
- "description": "Extra classes, merged over the helper-text defaults."
15
+ "description": "Extra classes, merged over the helper-text defaults.",
16
+ "control": {
17
+ "kind": "string"
18
+ }
16
19
  }
17
20
  ],
18
21
  "typeReferences": [
@@ -12,21 +12,31 @@
12
12
  "type": "string",
13
13
  "required": false,
14
14
  "defaultValue": null,
15
- "description": "Extra classes, merged over the danger-text defaults."
15
+ "description": "Extra classes, merged over the danger-text defaults.",
16
+ "control": {
17
+ "kind": "string"
18
+ }
16
19
  },
17
20
  {
18
21
  "name": "children",
19
22
  "type": "ReactNode",
20
23
  "required": false,
21
24
  "defaultValue": null,
22
- "description": "Message to show when driving visibility from `match` instead of `issues`."
25
+ "description": "Message to show when driving visibility from `match` instead of `issues`.",
26
+ "control": {
27
+ "kind": "node",
28
+ "fixture": "children.text"
29
+ }
23
30
  },
24
31
  {
25
32
  "name": "issues",
26
33
  "type": "readonly FieldIssue[]",
27
34
  "required": false,
28
35
  "defaultValue": null,
29
- "description": "Standard Schema issues for this field. When supplied, the component shows\nexactly these messages and stops consulting native `ValidityState`: an\nempty array renders nothing, one issue renders inline, several render as a\nlist. Leave it `undefined` to fall back to `match` + `children`."
36
+ "description": "Standard Schema issues for this field. When supplied, the component shows\nexactly these messages and stops consulting native `ValidityState`: an\nempty array renders nothing, one issue renders inline, several render as a\nlist. Leave it `undefined` to fall back to `match` + `children`.",
37
+ "control": {
38
+ "kind": "array"
39
+ }
30
40
  }
31
41
  ],
32
42
  "typeReferences": [
@@ -12,7 +12,10 @@
12
12
  "type": "string",
13
13
  "required": false,
14
14
  "defaultValue": null,
15
- "description": "Extra classes, merged over the label typography."
15
+ "description": "Extra classes, merged over the label typography.",
16
+ "control": {
17
+ "kind": "string"
18
+ }
16
19
  }
17
20
  ],
18
21
  "typeReferences": [