@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
@@ -14,21 +14,36 @@
14
14
  "type": "\"low\" | \"high\" | \"medium\" | \"unknown\"",
15
15
  "required": true,
16
16
  "defaultValue": null,
17
- "description": "What the runtime says this call could do: `unknown`, `low`, `medium` or\n`high`. Stamped as `data-risk`, and as `data-color` for the tone, so a\nconsole can restyle the row from the attribute rather than from a prop."
17
+ "description": "What the runtime says this call could do: `unknown`, `low`, `medium` or\n`high`. Stamped as `data-risk`, and as `data-color` for the tone, so a\nconsole can restyle the row from the attribute rather than from a prop.",
18
+ "control": {
19
+ "kind": "enum",
20
+ "members": [
21
+ "low",
22
+ "high",
23
+ "medium",
24
+ "unknown"
25
+ ]
26
+ }
18
27
  },
19
28
  {
20
29
  "name": "label",
21
30
  "type": "string",
22
31
  "required": false,
23
32
  "defaultValue": null,
24
- "description": "What it is called. Defaults to `RISK_LABELS[risk]` — `High risk`, not\n`HIGH`, because the badge sits inline beside a duration and a diff stat and\na bare adjective there is a number about something."
33
+ "description": "What it is called. Defaults to `RISK_LABELS[risk]` — `High risk`, not\n`HIGH`, because the badge sits inline beside a duration and a diff stat and\na bare adjective there is a number about something.",
34
+ "control": {
35
+ "kind": "string"
36
+ }
25
37
  },
26
38
  {
27
39
  "name": "reason",
28
40
  "type": "string",
29
41
  "required": false,
30
42
  "defaultValue": null,
31
- "description": "Why, in the words the products that guess at risk already use: `outside\nyour workspace`, `protected file`, `arbitrary network access`. Drawn beside\nthe label, truncating before the label does."
43
+ "description": "Why, in the words the products that guess at risk already use: `outside\nyour workspace`, `protected file`, `arbitrary network access`. Drawn beside\nthe label, truncating before the label does.",
44
+ "control": {
45
+ "kind": "string"
46
+ }
32
47
  }
33
48
  ],
34
49
  "typeReferences": [
@@ -12,28 +12,41 @@
12
12
  "type": "boolean",
13
13
  "required": false,
14
14
  "defaultValue": "false",
15
- "description": "Render as a `<button>` with hover feedback and a focus ring instead of a\nstatic `<div>`. Use for rows that select, open or toggle something."
15
+ "description": "Render as a `<button>` with hover feedback and a focus ring instead of a\nstatic `<div>`. Use for rows that select, open or toggle something.",
16
+ "control": {
17
+ "kind": "boolean"
18
+ }
16
19
  },
17
20
  {
18
21
  "name": "seam",
19
22
  "type": "boolean",
20
23
  "required": false,
21
24
  "defaultValue": null,
22
- "description": "Drop the hairline and paint the row's own fill, for use inside a\n{@link SeamList}. Without a `SeamList` parent the rows will simply touch."
25
+ "description": "Drop the hairline and paint the row's own fill, for use inside a\n{@link SeamList}. Without a `SeamList` parent the rows will simply touch.",
26
+ "control": {
27
+ "kind": "boolean"
28
+ }
23
29
  },
24
30
  {
25
31
  "name": "disabled",
26
32
  "type": "boolean",
27
33
  "required": false,
28
34
  "defaultValue": null,
29
- "description": "Disable the interactive form. Ignored when `interactive` is not set."
35
+ "description": "Disable the interactive form. Ignored when `interactive` is not set.",
36
+ "control": {
37
+ "kind": "boolean"
38
+ }
30
39
  },
31
40
  {
32
41
  "name": "children",
33
42
  "type": "ReactNode",
34
43
  "required": false,
35
44
  "defaultValue": null,
36
- "description": "Row content — normally a label, a spacer and a value or control."
45
+ "description": "Row content — normally a label, a spacer and a value or control.",
46
+ "control": {
47
+ "kind": "node",
48
+ "fixture": "children.text"
49
+ }
37
50
  }
38
51
  ],
39
52
  "typeReferences": [
@@ -14,42 +14,61 @@
14
14
  "type": "string",
15
15
  "required": true,
16
16
  "defaultValue": null,
17
- "description": "What the scheduled run does."
17
+ "description": "What the scheduled run does.",
18
+ "control": {
19
+ "kind": "string"
20
+ }
18
21
  },
19
22
  {
20
23
  "name": "cadence",
21
24
  "type": "string",
22
25
  "required": true,
23
26
  "defaultValue": null,
24
- "description": "Human-readable recurrence, not a cron string."
27
+ "description": "Human-readable recurrence, not a cron string.",
28
+ "control": {
29
+ "kind": "string"
30
+ }
25
31
  },
26
32
  {
27
33
  "name": "nextRun",
28
34
  "type": "string",
29
35
  "required": true,
30
36
  "defaultValue": null,
31
- "description": "When it fires next. Replaced by paused when disabled."
37
+ "description": "When it fires next. Replaced by paused when disabled.",
38
+ "control": {
39
+ "kind": "string"
40
+ }
32
41
  },
33
42
  {
34
43
  "name": "enabled",
35
44
  "type": "boolean",
36
45
  "required": true,
37
46
  "defaultValue": null,
38
- "description": "Whether the schedule is live."
47
+ "description": "Whether the schedule is live.",
48
+ "control": {
49
+ "kind": "boolean"
50
+ }
39
51
  },
40
52
  {
41
53
  "name": "history",
42
54
  "type": "readonly ScheduleRun[]",
43
55
  "required": true,
44
56
  "defaultValue": null,
45
- "description": "Recent runs, so a silently failing schedule is visible."
57
+ "description": "Recent runs, so a silently failing schedule is visible.",
58
+ "control": {
59
+ "kind": "array"
60
+ }
46
61
  },
47
62
  {
48
63
  "name": "onToggle",
49
64
  "type": "(() => void)",
50
65
  "required": false,
51
66
  "defaultValue": null,
52
- "description": "Called when the schedule is paused or resumed."
67
+ "description": "Called when the schedule is paused or resumed.",
68
+ "control": {
69
+ "kind": "callback",
70
+ "fixture": "callback.log"
71
+ }
53
72
  }
54
73
  ],
55
74
  "typeReferences": [
@@ -12,35 +12,50 @@
12
12
  "type": "string",
13
13
  "required": true,
14
14
  "defaultValue": null,
15
- "description": "The decision in a word. Its tint follows total over outOf."
15
+ "description": "The decision in a word. Its tint follows total over outOf.",
16
+ "control": {
17
+ "kind": "string"
18
+ }
16
19
  },
17
20
  {
18
21
  "name": "total",
19
22
  "type": "number",
20
23
  "required": true,
21
24
  "defaultValue": null,
22
- "description": "The composite score."
25
+ "description": "The composite score.",
26
+ "control": {
27
+ "kind": "number"
28
+ }
23
29
  },
24
30
  {
25
31
  "name": "outOf",
26
32
  "type": "number",
27
33
  "required": true,
28
34
  "defaultValue": null,
29
- "description": "Maximum possible, for the headline and for every criterion bar."
35
+ "description": "Maximum possible, for the headline and for every criterion bar.",
36
+ "control": {
37
+ "kind": "number"
38
+ }
30
39
  },
31
40
  {
32
41
  "name": "criteria",
33
42
  "type": "readonly ScoreCriterion[]",
34
43
  "required": true,
35
44
  "defaultValue": null,
36
- "description": "What produced the number, so the verdict can be argued with."
45
+ "description": "What produced the number, so the verdict can be argued with.",
46
+ "control": {
47
+ "kind": "array"
48
+ }
37
49
  },
38
50
  {
39
51
  "name": "visibleCount",
40
52
  "type": "number",
41
53
  "required": true,
42
54
  "defaultValue": null,
43
- "description": "How many criteria have been scored."
55
+ "description": "How many criteria have been scored.",
56
+ "control": {
57
+ "kind": "number"
58
+ }
44
59
  }
45
60
  ],
46
61
  "typeReferences": [
@@ -14,21 +14,31 @@
14
14
  "type": "ScrollAnchorMessage[]",
15
15
  "required": true,
16
16
  "defaultValue": null,
17
- "description": "Conversation messages appended over time inside the scroll viewport."
17
+ "description": "Conversation messages appended over time inside the scroll viewport.",
18
+ "control": {
19
+ "kind": "array"
20
+ }
18
21
  },
19
22
  {
20
23
  "name": "paused",
21
24
  "type": "boolean",
22
25
  "required": false,
23
26
  "defaultValue": "false",
24
- "description": "Freezes the scene where it is; replay happens by remounting."
27
+ "description": "Freezes the scene where it is; replay happens by remounting.",
28
+ "control": {
29
+ "kind": "boolean"
30
+ }
25
31
  },
26
32
  {
27
33
  "name": "onSettled",
28
34
  "type": "(() => void)",
29
35
  "required": false,
30
36
  "defaultValue": null,
31
- "description": "Called once every message has landed and the viewport is pinned."
37
+ "description": "Called once every message has landed and the viewport is pinned.",
38
+ "control": {
39
+ "kind": "callback",
40
+ "fixture": "callback.log"
41
+ }
32
42
  }
33
43
  ],
34
44
  "typeReferences": [
@@ -12,42 +12,66 @@
12
12
  "type": "string",
13
13
  "required": false,
14
14
  "defaultValue": null,
15
- "description": "Extra classes for the frame. Give it a height, or nothing will scroll."
15
+ "description": "Extra classes for the frame. Give it a height, or nothing will scroll.",
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": "The scrolling content."
25
+ "description": "The scrolling content.",
26
+ "control": {
27
+ "kind": "node",
28
+ "fixture": "children.text"
29
+ }
23
30
  },
24
31
  {
25
32
  "name": "orientation",
26
33
  "type": "\"both\" | \"horizontal\" | \"vertical\"",
27
34
  "required": false,
28
35
  "defaultValue": "vertical",
29
- "description": "Which axes may scroll. Defaults to `\"vertical\"`."
36
+ "description": "Which axes may scroll. Defaults to `\"vertical\"`.",
37
+ "control": {
38
+ "kind": "enum",
39
+ "members": [
40
+ "both",
41
+ "horizontal",
42
+ "vertical"
43
+ ]
44
+ }
30
45
  },
31
46
  {
32
47
  "name": "viewportClassName",
33
48
  "type": "string",
34
49
  "required": false,
35
50
  "defaultValue": null,
36
- "description": "Extra classes for the scrolling viewport (padding belongs here)."
51
+ "description": "Extra classes for the scrolling viewport (padding belongs here).",
52
+ "control": {
53
+ "kind": "string"
54
+ }
37
55
  },
38
56
  {
39
57
  "name": "keepScrollbarsMounted",
40
58
  "type": "boolean",
41
59
  "required": false,
42
60
  "defaultValue": "false",
43
- "description": "Keep the scrollbar tracks mounted even when the content fits. Use for a\npanel whose content grows and shrinks, where a track appearing and\ndisappearing would reflow everything beside it."
61
+ "description": "Keep the scrollbar tracks mounted even when the content fits. Use for a\npanel whose content grows and shrinks, where a track appearing and\ndisappearing would reflow everything beside it.",
62
+ "control": {
63
+ "kind": "boolean"
64
+ }
44
65
  },
45
66
  {
46
67
  "name": "viewportRef",
47
68
  "type": "Ref<HTMLDivElement>",
48
69
  "required": false,
49
70
  "defaultValue": null,
50
- "description": "Ref to the scrolling element itself — for virtualizers and scroll restore."
71
+ "description": "Ref to the scrolling element itself — for virtualizers and scroll restore.",
72
+ "control": {
73
+ "kind": "opaque"
74
+ }
51
75
  }
52
76
  ],
53
77
  "typeReferences": [
@@ -60,8 +84,7 @@
60
84
  "tokensUsed": [
61
85
  "--cue-accent",
62
86
  "--cue-border-strong",
63
- "--cue-space-3",
64
- "--cue-space-4"
87
+ "--cue-space-3"
65
88
  ],
66
89
  "summary": "A scrolling region with the system's own scrollbar instead of the platform's.",
67
90
  "examples": [
@@ -12,21 +12,30 @@
12
12
  "type": "string",
13
13
  "required": false,
14
14
  "defaultValue": null,
15
- "description": "Extra classes for the strip."
15
+ "description": "Extra classes for the strip.",
16
+ "control": {
17
+ "kind": "string"
18
+ }
16
19
  },
17
20
  {
18
21
  "name": "containerClassName",
19
22
  "type": "string",
20
23
  "required": false,
21
24
  "defaultValue": null,
22
- "description": "Classes for the outer frame (background, rim). It spans the full width even\nwhile the strip inside it is scrolled."
25
+ "description": "Classes for the outer frame (background, rim). It spans the full width even\nwhile the strip inside it is scrolled.",
26
+ "control": {
27
+ "kind": "string"
28
+ }
23
29
  },
24
30
  {
25
31
  "name": "activeValue",
26
32
  "type": "any",
27
33
  "required": false,
28
34
  "defaultValue": null,
29
- "description": "The active tab's value. When it changes, that tab is scrolled into view — a\ntab selected in code (a deep link, a keyboard shortcut) can be off-screen."
35
+ "description": "The active tab's value. When it changes, that tab is scrolled into view — a\ntab selected in code (a deep link, a keyboard shortcut) can be off-screen.",
36
+ "control": {
37
+ "kind": "opaque"
38
+ }
30
39
  }
31
40
  ],
32
41
  "typeReferences": [
@@ -39,7 +48,6 @@
39
48
  "tokensUsed": [
40
49
  "--cue-accent",
41
50
  "--cue-border",
42
- "--cue-chrome-toolbar",
43
51
  "--cue-control-md",
44
52
  "--cue-edge-fade",
45
53
  "--cue-fg",
@@ -12,126 +12,192 @@
12
12
  "type": "number",
13
13
  "required": true,
14
14
  "defaultValue": null,
15
- "description": "The value. Always controlled — a scrub is a stream of edits, not a state to lose."
15
+ "description": "The value. Always controlled — a scrub is a stream of edits, not a state to lose.",
16
+ "control": {
17
+ "kind": "number"
18
+ }
16
19
  },
17
20
  {
18
21
  "name": "onChange",
19
22
  "type": "(value: number) => void",
20
23
  "required": true,
21
24
  "defaultValue": null,
22
- "description": "Called with every new value: each drag frame, each arrow-key step, and the\ncommitted result of a typed edit. Not a DOM change event."
25
+ "description": "Called with every new value: each drag frame, each arrow-key step, and the\ncommitted result of a typed edit. Not a DOM change event.",
26
+ "control": {
27
+ "kind": "callback",
28
+ "fixture": "callback.log"
29
+ }
23
30
  },
24
31
  {
25
32
  "name": "onLiveDrag",
26
33
  "type": "((value: number) => void)",
27
34
  "required": false,
28
35
  "defaultValue": null,
29
- "description": "Called only for values produced by a drag, for hosts that throttle live writes."
36
+ "description": "Called only for values produced by a drag, for hosts that throttle live writes.",
37
+ "control": {
38
+ "kind": "callback",
39
+ "fixture": "callback.log"
40
+ }
30
41
  },
31
42
  {
32
43
  "name": "onDragStart",
33
44
  "type": "(() => void)",
34
45
  "required": false,
35
46
  "defaultValue": null,
36
- "description": "Called once when a drag actually begins — after the click threshold, not on press."
47
+ "description": "Called once when a drag actually begins — after the click threshold, not on press.",
48
+ "control": {
49
+ "kind": "callback",
50
+ "fixture": "callback.log"
51
+ }
37
52
  },
38
53
  {
39
54
  "name": "onDragEnd",
40
55
  "type": "(() => void)",
41
56
  "required": false,
42
57
  "defaultValue": null,
43
- "description": "Called once when a drag ends."
58
+ "description": "Called once when a drag ends.",
59
+ "control": {
60
+ "kind": "callback",
61
+ "fixture": "callback.log"
62
+ }
44
63
  },
45
64
  {
46
65
  "name": "onCommit",
47
66
  "type": "((value: number) => void)",
48
67
  "required": false,
49
68
  "defaultValue": null,
50
- "description": "Called once per finished gesture: pointer-up after a drag, each key step, a\ncommitted typed value. Hang undo entries, network writes and persistence\nhere — `onChange` fires dozens of times per drag."
69
+ "description": "Called once per finished gesture: pointer-up after a drag, each key step, a\ncommitted typed value. Hang undo entries, network writes and persistence\nhere — `onChange` fires dozens of times per drag.",
70
+ "control": {
71
+ "kind": "callback",
72
+ "fixture": "callback.log"
73
+ }
51
74
  },
52
75
  {
53
76
  "name": "min",
54
77
  "type": "number",
55
78
  "required": false,
56
79
  "defaultValue": "Number.NEGATIVE_INFINITY",
57
- "description": "Lower bound. Defaults to `-Infinity`."
80
+ "description": "Lower bound. Defaults to `-Infinity`.",
81
+ "control": {
82
+ "kind": "number"
83
+ }
58
84
  },
59
85
  {
60
86
  "name": "max",
61
87
  "type": "number",
62
88
  "required": false,
63
89
  "defaultValue": "Number.POSITIVE_INFINITY",
64
- "description": "Upper bound. Defaults to `Infinity`."
90
+ "description": "Upper bound. Defaults to `Infinity`.",
91
+ "control": {
92
+ "kind": "number"
93
+ }
65
94
  },
66
95
  {
67
96
  "name": "step",
68
97
  "type": "number",
69
98
  "required": false,
70
99
  "defaultValue": "1",
71
- "description": "Grid the value snaps to. Defaults to `1`."
100
+ "description": "Grid the value snaps to. Defaults to `1`.",
101
+ "control": {
102
+ "kind": "number"
103
+ }
72
104
  },
73
105
  {
74
106
  "name": "precision",
75
107
  "type": "number",
76
108
  "required": false,
77
109
  "defaultValue": null,
78
- "description": "Decimal places shown. Defaults to whatever `step` implies."
110
+ "description": "Decimal places shown. Defaults to whatever `step` implies.",
111
+ "control": {
112
+ "kind": "number"
113
+ }
79
114
  },
80
115
  {
81
116
  "name": "unit",
82
117
  "type": "string",
83
118
  "required": false,
84
119
  "defaultValue": null,
85
- "description": "Suffix drawn after the number — `%`, `s`, `dB`."
120
+ "description": "Suffix drawn after the number — `%`, `s`, `dB`.",
121
+ "control": {
122
+ "kind": "string"
123
+ }
86
124
  },
87
125
  {
88
126
  "name": "units",
89
127
  "type": "readonly string[]",
90
128
  "required": false,
91
129
  "defaultValue": null,
92
- "description": "The units this value can be expressed in. With more than one the suffix\nbecomes a button that cycles through them and reports via `onUnitChange`."
130
+ "description": "The units this value can be expressed in. With more than one the suffix\nbecomes a button that cycles through them and reports via `onUnitChange`.",
131
+ "control": {
132
+ "kind": "array",
133
+ "fixture": "agent.transcript"
134
+ }
93
135
  },
94
136
  {
95
137
  "name": "onUnitChange",
96
138
  "type": "((unit: string) => void)",
97
139
  "required": false,
98
140
  "defaultValue": null,
99
- "description": "Called with the next unit when the suffix is clicked."
141
+ "description": "Called with the next unit when the suffix is clicked.",
142
+ "control": {
143
+ "kind": "callback",
144
+ "fixture": "callback.log"
145
+ }
100
146
  },
101
147
  {
102
148
  "name": "size",
103
149
  "type": "\"sm\" | \"md\" | \"lg\"",
104
150
  "required": false,
105
151
  "defaultValue": "md",
106
- "description": "Rung of the control ladder. Defaults to `\"md\"`."
152
+ "description": "Rung of the control ladder. Defaults to `\"md\"`.",
153
+ "control": {
154
+ "kind": "enum",
155
+ "members": [
156
+ "sm",
157
+ "md",
158
+ "lg"
159
+ ]
160
+ }
107
161
  },
108
162
  {
109
163
  "name": "disabled",
110
164
  "type": "boolean",
111
165
  "required": false,
112
166
  "defaultValue": "false",
113
- "description": "Refuse dragging, typing and keyboard steps."
167
+ "description": "Refuse dragging, typing and keyboard steps.",
168
+ "control": {
169
+ "kind": "boolean"
170
+ }
114
171
  },
115
172
  {
116
173
  "name": "aria-label",
117
174
  "type": "string",
118
175
  "required": false,
119
176
  "defaultValue": null,
120
- "description": "Accessible name for the control."
177
+ "description": "Accessible name for the control.",
178
+ "control": {
179
+ "kind": "string"
180
+ }
121
181
  },
122
182
  {
123
183
  "name": "aria-labelledby",
124
184
  "type": "string",
125
185
  "required": false,
126
186
  "defaultValue": null,
127
- "description": "Id of the element naming the control."
187
+ "description": "Id of the element naming the control.",
188
+ "control": {
189
+ "kind": "string"
190
+ }
128
191
  },
129
192
  {
130
193
  "name": "className",
131
194
  "type": "string",
132
195
  "required": false,
133
196
  "defaultValue": null,
134
- "description": "Extra classes for the control."
197
+ "description": "Extra classes for the control.",
198
+ "control": {
199
+ "kind": "string"
200
+ }
135
201
  }
136
202
  ],
137
203
  "typeReferences": [
@@ -12,21 +12,37 @@
12
12
  "type": "\"bg\" | \"sunken\" | \"surface-1\" | \"surface-2\" | \"surface-3\"",
13
13
  "required": false,
14
14
  "defaultValue": "surface-1",
15
- "description": "Which rung of the elevation ladder to fill with. Defaults to `\"surface-1\"`."
15
+ "description": "Which rung of the elevation ladder to fill with. Defaults to `\"surface-1\"`.",
16
+ "control": {
17
+ "kind": "enum",
18
+ "members": [
19
+ "bg",
20
+ "sunken",
21
+ "surface-1",
22
+ "surface-2",
23
+ "surface-3"
24
+ ]
25
+ }
16
26
  },
17
27
  {
18
28
  "name": "interactive",
19
29
  "type": "boolean",
20
30
  "required": false,
21
31
  "defaultValue": "false",
22
- "description": "Add the hover feedback of a clickable cell. Put the control inside it."
32
+ "description": "Add the hover feedback of a clickable cell. Put the control inside it.",
33
+ "control": {
34
+ "kind": "boolean"
35
+ }
23
36
  },
24
37
  {
25
38
  "name": "flush",
26
39
  "type": "boolean",
27
40
  "required": false,
28
41
  "defaultValue": "false",
29
- "description": "Drop the built-in padding — for a cell that holds a chart or a canvas."
42
+ "description": "Drop the built-in padding — for a cell that holds a chart or a canvas.",
43
+ "control": {
44
+ "kind": "boolean"
45
+ }
30
46
  }
31
47
  ],
32
48
  "typeReferences": [
@@ -12,21 +12,30 @@
12
12
  "type": "number",
13
13
  "required": false,
14
14
  "defaultValue": null,
15
- "description": "Fixed column count. Ignored when {@link SeamGridProps.min} is set."
15
+ "description": "Fixed column count. Ignored when {@link SeamGridProps.min} is set.",
16
+ "control": {
17
+ "kind": "number"
18
+ }
16
19
  },
17
20
  {
18
21
  "name": "min",
19
22
  "type": "number",
20
23
  "required": false,
21
24
  "defaultValue": null,
22
- "description": "Minimum cell width in px at the 16px root. Switches the track to\n`auto-fit`, so the grid reflows without a media query."
25
+ "description": "Minimum cell width in px at the 16px root. Switches the track to\n`auto-fit`, so the grid reflows without a media query.",
26
+ "control": {
27
+ "kind": "number"
28
+ }
23
29
  },
24
30
  {
25
31
  "name": "bordered",
26
32
  "type": "boolean",
27
33
  "required": false,
28
34
  "defaultValue": "false",
29
- "description": "Draw a hairline rim around the whole grid as well as between the cells."
35
+ "description": "Draw a hairline rim around the whole grid as well as between the cells.",
36
+ "control": {
37
+ "kind": "boolean"
38
+ }
30
39
  }
31
40
  ],
32
41
  "typeReferences": [