@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,74 @@
14
14
  "type": "string",
15
15
  "required": true,
16
16
  "defaultValue": null,
17
- "description": "The message text, read when resting and edited when open."
17
+ "description": "The message text, read when resting and edited when open.",
18
+ "control": {
19
+ "kind": "string"
20
+ }
18
21
  },
19
22
  {
20
23
  "name": "discardedReplies",
21
24
  "type": "number",
22
25
  "required": true,
23
26
  "defaultValue": null,
24
- "description": "How many replies sending would drop. The warning hides at zero."
27
+ "description": "How many replies sending would drop. The warning hides at zero.",
28
+ "control": {
29
+ "kind": "number"
30
+ }
25
31
  },
26
32
  {
27
33
  "name": "editing",
28
34
  "type": "boolean",
29
35
  "required": true,
30
36
  "defaultValue": null,
31
- "description": "Swaps between the resting bubble and the edit composer."
37
+ "description": "Swaps between the resting bubble and the edit composer.",
38
+ "control": {
39
+ "kind": "boolean"
40
+ }
32
41
  },
33
42
  {
34
43
  "name": "onValueChange",
35
44
  "type": "((value: string) => void)",
36
45
  "required": false,
37
46
  "defaultValue": null,
38
- "description": "Called as the message is edited."
47
+ "description": "Called as the message is edited.",
48
+ "control": {
49
+ "kind": "callback",
50
+ "fixture": "callback.log"
51
+ }
39
52
  },
40
53
  {
41
54
  "name": "onSave",
42
55
  "type": "(() => void)",
43
56
  "required": false,
44
57
  "defaultValue": null,
45
- "description": "Called when the edited message is sent."
58
+ "description": "Called when the edited message is sent.",
59
+ "control": {
60
+ "kind": "callback",
61
+ "fixture": "callback.log"
62
+ }
46
63
  },
47
64
  {
48
65
  "name": "onCancel",
49
66
  "type": "(() => void)",
50
67
  "required": false,
51
68
  "defaultValue": null,
52
- "description": "Called when the edit is abandoned. Restore the original yourself."
69
+ "description": "Called when the edit is abandoned. Restore the original yourself.",
70
+ "control": {
71
+ "kind": "callback",
72
+ "fixture": "callback.log"
73
+ }
53
74
  },
54
75
  {
55
76
  "name": "onStartEdit",
56
77
  "type": "(() => void)",
57
78
  "required": false,
58
79
  "defaultValue": null,
59
- "description": "Called when the resting bubble is clicked."
80
+ "description": "Called when the resting bubble is clicked.",
81
+ "control": {
82
+ "kind": "callback",
83
+ "fixture": "callback.log"
84
+ }
60
85
  }
61
86
  ],
62
87
  "typeReferences": [
@@ -14,42 +14,63 @@
14
14
  "type": "readonly PaletteCommand[]",
15
15
  "required": true,
16
16
  "defaultValue": null,
17
- "description": "Everything runnable. Groups are derived from the entries and keep first-seen order."
17
+ "description": "Everything runnable. Groups are derived from the entries and keep first-seen order.",
18
+ "control": {
19
+ "kind": "array"
20
+ }
18
21
  },
19
22
  {
20
23
  "name": "query",
21
24
  "type": "string",
22
25
  "required": true,
23
26
  "defaultValue": null,
24
- "description": "Current filter text."
27
+ "description": "Current filter text.",
28
+ "control": {
29
+ "kind": "string"
30
+ }
25
31
  },
26
32
  {
27
33
  "name": "activeId",
28
34
  "type": "string",
29
35
  "required": true,
30
36
  "defaultValue": null,
31
- "description": "Which row is highlighted. Arrow keys move it and Enter runs it, both handled by\nthe element; it reports the move through onActiveChange."
37
+ "description": "Which row is highlighted. Arrow keys move it and Enter runs it, both handled by\nthe element; it reports the move through onActiveChange.",
38
+ "control": {
39
+ "kind": "string"
40
+ }
32
41
  },
33
42
  {
34
43
  "name": "onQueryChange",
35
44
  "type": "((query: string) => void)",
36
45
  "required": false,
37
46
  "defaultValue": null,
38
- "description": "Called as the filter is typed."
47
+ "description": "Called as the filter is typed.",
48
+ "control": {
49
+ "kind": "callback",
50
+ "fixture": "callback.log"
51
+ }
39
52
  },
40
53
  {
41
54
  "name": "onActiveChange",
42
55
  "type": "((id: string) => void)",
43
56
  "required": false,
44
57
  "defaultValue": null,
45
- "description": "Called as the arrow keys walk the list. The element owns the key handling and\nreports where it landed, so activeId stays yours to hold."
58
+ "description": "Called as the arrow keys walk the list. The element owns the key handling and\nreports where it landed, so activeId stays yours to hold.",
59
+ "control": {
60
+ "kind": "callback",
61
+ "fixture": "callback.log"
62
+ }
46
63
  },
47
64
  {
48
65
  "name": "onRun",
49
66
  "type": "((id: string) => void)",
50
67
  "required": false,
51
68
  "defaultValue": null,
52
- "description": "Called when a command is chosen."
69
+ "description": "Called when a command is chosen.",
70
+ "control": {
71
+ "kind": "callback",
72
+ "fixture": "callback.log"
73
+ }
53
74
  }
54
75
  ],
55
76
  "typeReferences": [
@@ -12,14 +12,21 @@
12
12
  "type": "readonly ModelUsage[]",
13
13
  "required": true,
14
14
  "defaultValue": null,
15
- "description": "Table rows with model name, context window, and cost."
15
+ "description": "Table rows with model name, context window, and cost.",
16
+ "control": {
17
+ "kind": "array",
18
+ "fixture": "table.model-usage-6"
19
+ }
16
20
  },
17
21
  {
18
22
  "name": "cycle",
19
23
  "type": "number",
20
24
  "required": true,
21
25
  "defaultValue": null,
22
- "description": "Identity key that remounts the body so row entrance can replay."
26
+ "description": "Identity key that remounts the body so row entrance can replay.",
27
+ "control": {
28
+ "kind": "number"
29
+ }
23
30
  }
24
31
  ],
25
32
  "typeReferences": [
@@ -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": [