@cueplusplus/ui 0.9.0 → 0.11.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 (330) hide show
  1. package/CHANGELOG.md +337 -0
  2. package/README.md +197 -9
  3. package/dist/chrome/index.d.ts +2 -1
  4. package/dist/chrome/index.js +3 -2
  5. package/dist/chrome/inspector.d.ts +61 -0
  6. package/dist/chrome/inspector.js +121 -0
  7. package/dist/forms/input.d.ts +12 -0
  8. package/dist/forms/textarea.d.ts +12 -0
  9. package/dist/forms/toggle.d.ts +6 -0
  10. package/dist/index.d.ts +7 -3
  11. package/dist/index.js +8 -3
  12. package/dist/instruments/code-block.d.ts +35 -0
  13. package/dist/instruments/code-block.js +173 -0
  14. package/dist/instruments/index.d.ts +2 -1
  15. package/dist/instruments/index.js +2 -1
  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 +4 -2
  20. package/dist/layout/index.js +4 -2
  21. package/dist/layout/preview.d.ts +110 -0
  22. package/dist/layout/preview.js +459 -0
  23. package/dist/primitives/button.d.ts +12 -0
  24. package/dist/primitives/chip.d.ts +1 -1
  25. package/dist/system/index.d.ts +2 -2
  26. package/dist/system/index.js +2 -1
  27. package/dist/system/overrides.d.ts +38 -1
  28. package/dist/system/overrides.js +40 -1
  29. package/manifest/components/accordion.json +24 -6
  30. package/manifest/components/activity-graph.json +20 -5
  31. package/manifest/components/agent-card.json +37 -9
  32. package/manifest/components/agent-handoff.json +21 -5
  33. package/manifest/components/agent-mode-badge.json +22 -4
  34. package/manifest/components/agent-pile.json +38 -8
  35. package/manifest/components/agent-plan.json +9 -2
  36. package/manifest/components/agent-status.json +17 -3
  37. package/manifest/components/agent-surface.json +26 -11
  38. package/manifest/components/alert-dialog.json +29 -5
  39. package/manifest/components/animated-number.json +14 -6
  40. package/manifest/components/app-bar.json +66 -13
  41. package/manifest/components/app-shell.json +133 -31
  42. package/manifest/components/app-window-frame.json +28 -6
  43. package/manifest/components/approval-card.json +37 -7
  44. package/manifest/components/artifact-card.json +16 -4
  45. package/manifest/components/ask-box.json +99 -21
  46. package/manifest/components/audience-icon.json +1 -7
  47. package/manifest/components/autocomplete.json +80 -18
  48. package/manifest/components/avatar-group.json +13 -2
  49. package/manifest/components/avatar.json +22 -4
  50. package/manifest/components/background-inbox.json +9 -2
  51. package/manifest/components/bento.json +306 -0
  52. package/manifest/components/branch-picker.json +29 -7
  53. package/manifest/components/breadcrumb.json +13 -3
  54. package/manifest/components/button-group.json +21 -4
  55. package/manifest/components/button.json +41 -4
  56. package/manifest/components/canvas-split-body.json +4 -1
  57. package/manifest/components/canvas-split-header.json +17 -4
  58. package/manifest/components/canvas-split-line.json +4 -1
  59. package/manifest/components/canvas-split-message.json +8 -1
  60. package/manifest/components/card.json +14 -3
  61. package/manifest/components/carousel.json +54 -12
  62. package/manifest/components/catalogue-icon.json +1 -7
  63. package/manifest/components/channel-beta-icon.json +1 -7
  64. package/manifest/components/channel-matrix.json +80 -15
  65. package/manifest/components/channel-released-icon.json +1 -7
  66. package/manifest/components/chart-container.json +26 -10
  67. package/manifest/components/chart-ramp.json +13 -3
  68. package/manifest/components/chart-swatch.json +9 -2
  69. package/manifest/components/chart-tooltip-content.json +31 -7
  70. package/manifest/components/chart.json +30 -6
  71. package/manifest/components/chat-panel-composer.json +9 -2
  72. package/manifest/components/checkbox-group.json +4 -2
  73. package/manifest/components/checkbox.json +17 -4
  74. package/manifest/components/checkpoint-history.json +13 -3
  75. package/manifest/components/chip.json +35 -5
  76. package/manifest/components/clamp.json +30 -7
  77. package/manifest/components/cli-tool-icon.json +1 -7
  78. package/manifest/components/code-block.json +106 -0
  79. package/manifest/components/code-diff.json +20 -5
  80. package/manifest/components/code-runner.json +32 -6
  81. package/manifest/components/collapsible.json +16 -4
  82. package/manifest/components/color-area.json +4 -1
  83. package/manifest/components/color-field.json +13 -3
  84. package/manifest/components/color-picker.json +75 -17
  85. package/manifest/components/color-slider.json +12 -3
  86. package/manifest/components/color-swatch.json +13 -2
  87. package/manifest/components/colors-section.json +8 -4
  88. package/manifest/components/combobox.json +81 -18
  89. package/manifest/components/command-palette.json +57 -13
  90. package/manifest/components/compaction-row.json +35 -7
  91. package/manifest/components/comparison-card.json +17 -4
  92. package/manifest/components/composer-attachment-chip.json +9 -2
  93. package/manifest/components/composer-bar.json +4 -1
  94. package/manifest/components/composer-command-item.json +8 -2
  95. package/manifest/components/composer-context.json +4 -1
  96. package/manifest/components/composer-input.json +5 -1
  97. package/manifest/components/composer-menu-item.json +4 -1
  98. package/manifest/components/composer-menu.json +12 -2
  99. package/manifest/components/composer-model-item.json +8 -2
  100. package/manifest/components/composer-model-trigger.json +8 -2
  101. package/manifest/components/composer-person-item.json +8 -2
  102. package/manifest/components/composer-send.json +8 -2
  103. package/manifest/components/composer-voice-button.json +4 -1
  104. package/manifest/components/composer-voice.json +8 -2
  105. package/manifest/components/composer.json +76 -17
  106. package/manifest/components/computer-use.json +17 -4
  107. package/manifest/components/confidence-marker.json +13 -3
  108. package/manifest/components/connection-state.json +23 -4
  109. package/manifest/components/container.json +14 -2
  110. package/manifest/components/context-breakdown.json +8 -2
  111. package/manifest/components/context-menu.json +16 -4
  112. package/manifest/components/context-usage.json +16 -4
  113. package/manifest/components/conversation-search.json +22 -5
  114. package/manifest/components/copy-button.json +32 -7
  115. package/manifest/components/cost-meter.json +12 -3
  116. package/manifest/components/cue-logotype.json +17 -3
  117. package/manifest/components/cue-mark.json +17 -3
  118. package/manifest/components/cue-portal-frame.json +13 -3
  119. package/manifest/components/data-row.json +21 -7
  120. package/manifest/components/data-table-pagination.json +18 -4
  121. package/manifest/components/data-table-toolbar.json +30 -7
  122. package/manifest/components/data-tree.json +42 -9
  123. package/manifest/components/date-field.json +13 -2
  124. package/manifest/components/date-picker.json +81 -19
  125. package/manifest/components/date-range-picker.json +81 -19
  126. package/manifest/components/day-separator.json +4 -1
  127. package/manifest/components/delegation-card.json +64 -12
  128. package/manifest/components/density.json +24 -4
  129. package/manifest/components/description-list.json +8 -1
  130. package/manifest/components/diagram.json +33 -7
  131. package/manifest/components/dialog.json +29 -6
  132. package/manifest/components/disclosure.json +31 -7
  133. package/manifest/components/dmx-bar.json +16 -4
  134. package/manifest/components/dmx-strip.json +20 -5
  135. package/manifest/components/document-reference.json +21 -5
  136. package/manifest/components/draft-restore.json +18 -4
  137. package/manifest/components/drawer.json +30 -6
  138. package/manifest/components/dropdown-menu.json +55 -10
  139. package/manifest/components/edit-message.json +32 -7
  140. package/manifest/components/elements-command-palette.json +27 -6
  141. package/manifest/components/elements-data-table.json +9 -2
  142. package/manifest/components/elements-timeline.json +8 -2
  143. package/manifest/components/elicitation-form.json +31 -6
  144. package/manifest/components/empty-state-composer.json +9 -2
  145. package/manifest/components/empty-state-suggestion.json +4 -1
  146. package/manifest/components/empty-state.json +25 -5
  147. package/manifest/components/end-of-turn-summary.json +16 -4
  148. package/manifest/components/env-var-input.json +54 -12
  149. package/manifest/components/error-state.json +17 -4
  150. package/manifest/components/export-dialog.json +27 -8
  151. package/manifest/components/eyebrow.json +4 -1
  152. package/manifest/components/feedback-dialog.json +33 -7
  153. package/manifest/components/field-description.json +4 -1
  154. package/manifest/components/field-error.json +13 -3
  155. package/manifest/components/field-label.json +4 -1
  156. package/manifest/components/field.json +4 -1
  157. package/manifest/components/file-tree.json +16 -4
  158. package/manifest/components/file-upload.json +58 -13
  159. package/manifest/components/flow-graph.json +12 -3
  160. package/manifest/components/folder-icon.json +1 -7
  161. package/manifest/components/footer.json +24 -4
  162. package/manifest/components/frac.json +10 -2
  163. package/manifest/components/generation-loader.json +17 -3
  164. package/manifest/components/generative-ui.json +39 -7
  165. package/manifest/components/grid.json +56 -5
  166. package/manifest/components/group-bar.json +25 -6
  167. package/manifest/components/guardrail-notice.json +22 -5
  168. package/manifest/components/hover-card.json +45 -8
  169. package/manifest/components/icon-button.json +22 -4
  170. package/manifest/components/image-generation.json +8 -2
  171. package/manifest/components/info-tip.json +42 -7
  172. package/manifest/components/inline-citation.json +14 -3
  173. package/manifest/components/input-group.json +24 -5
  174. package/manifest/components/input.json +33 -3
  175. package/manifest/components/inspector.json +199 -0
  176. package/manifest/components/item.json +42 -8
  177. package/manifest/components/job-progress.json +25 -6
  178. package/manifest/components/launcher-bubble.json +32 -7
  179. package/manifest/components/ledger.json +87 -19
  180. package/manifest/components/link.json +16 -3
  181. package/manifest/components/live-region-announcer.json +21 -5
  182. package/manifest/components/log-viewer.json +42 -10
  183. package/manifest/components/map-answer.json +17 -4
  184. package/manifest/components/markdown-text.json +36 -5
  185. package/manifest/components/math-block.json +12 -3
  186. package/manifest/components/mcp-server-icon.json +1 -7
  187. package/manifest/components/mcp-server-panel.json +18 -4
  188. package/manifest/components/memory-chips.json +9 -2
  189. package/manifest/components/menubar.json +33 -7
  190. package/manifest/components/message-actions.json +32 -7
  191. package/manifest/components/message-attachments.json +9 -2
  192. package/manifest/components/message-branches.json +14 -3
  193. package/manifest/components/message-list.json +27 -6
  194. package/manifest/components/message-pair.json +25 -5
  195. package/manifest/components/message-queue.json +13 -3
  196. package/manifest/components/message-timing.json +8 -2
  197. package/manifest/components/message.json +41 -9
  198. package/manifest/components/meter.json +43 -7
  199. package/manifest/components/mobile-composer.json +47 -10
  200. package/manifest/components/model-picker.json +13 -3
  201. package/manifest/components/multi-select.json +78 -17
  202. package/manifest/components/musical-time-input.json +34 -8
  203. package/manifest/components/navigation-menu.json +54 -12
  204. package/manifest/components/node-card.json +42 -7
  205. package/manifest/components/node-handle.json +17 -2
  206. package/manifest/components/number-field.json +28 -6
  207. package/manifest/components/number-ticker.json +8 -2
  208. package/manifest/components/onboarding.json +18 -4
  209. package/manifest/components/otp-field.json +43 -10
  210. package/manifest/components/page-shell.json +35 -6
  211. package/manifest/components/pagination.json +21 -5
  212. package/manifest/components/panel-header.json +15 -3
  213. package/manifest/components/password-input.json +58 -8
  214. package/manifest/components/permission-grant.json +28 -5
  215. package/manifest/components/permission-scopes.json +57 -12
  216. package/manifest/components/piano-keyboard.json +38 -9
  217. package/manifest/components/plussie.json +34 -5
  218. package/manifest/components/popover.json +45 -8
  219. package/manifest/components/preset-section.json +12 -5
  220. package/manifest/components/preview.json +202 -0
  221. package/manifest/components/progress.json +25 -6
  222. package/manifest/components/prompt-library.json +27 -6
  223. package/manifest/components/queue-dock.json +36 -8
  224. package/manifest/components/quota-banner.json +25 -6
  225. package/manifest/components/quote-reply.json +29 -7
  226. package/manifest/components/radio-group.json +12 -2
  227. package/manifest/components/radio.json +17 -3
  228. package/manifest/components/rating.json +60 -13
  229. package/manifest/components/read-aloud.json +35 -8
  230. package/manifest/components/reasoning-effort.json +17 -4
  231. package/manifest/components/reasoning-panel.json +33 -8
  232. package/manifest/components/recommendation-card.json +35 -10
  233. package/manifest/components/regenerate-menu.json +22 -5
  234. package/manifest/components/replay-player.json +29 -7
  235. package/manifest/components/research-report.json +12 -3
  236. package/manifest/components/resizable.json +4 -1
  237. package/manifest/components/retrieval-chunks.json +16 -4
  238. package/manifest/components/revert-dock.json +61 -14
  239. package/manifest/components/reviewable-diff.json +23 -5
  240. package/manifest/components/risk-badge.json +18 -3
  241. package/manifest/components/row.json +17 -4
  242. package/manifest/components/schedule-card.json +25 -6
  243. package/manifest/components/score-breakdown.json +20 -5
  244. package/manifest/components/scroll-anchor.json +13 -3
  245. package/manifest/components/scroll-area.json +31 -8
  246. package/manifest/components/scrollable-tabs-list.json +12 -4
  247. package/manifest/components/scrub-input.json +84 -18
  248. package/manifest/components/seam-cell.json +19 -3
  249. package/manifest/components/seam-grid.json +12 -3
  250. package/manifest/components/search-input.json +69 -10
  251. package/manifest/components/section-header.json +36 -8
  252. package/manifest/components/segmented-control.json +50 -11
  253. package/manifest/components/select.json +74 -16
  254. package/manifest/components/separator.json +4 -1
  255. package/manifest/components/settings-panel.json +41 -9
  256. package/manifest/components/shape-section.json +8 -4
  257. package/manifest/components/shared-conversation.json +21 -5
  258. package/manifest/components/sheet.json +29 -6
  259. package/manifest/components/shimmer-label.json +4 -2
  260. package/manifest/components/sidebar.json +60 -13
  261. package/manifest/components/skill-icon.json +1 -7
  262. package/manifest/components/slider.json +22 -5
  263. package/manifest/components/sources.json +17 -4
  264. package/manifest/components/sparkline.json +17 -4
  265. package/manifest/components/speaker-identity.json +4 -1
  266. package/manifest/components/spec-sheet.json +16 -4
  267. package/manifest/components/spectrum-visualizer.json +41 -10
  268. package/manifest/components/spinner.json +12 -2
  269. package/manifest/components/stack-icon.json +1 -7
  270. package/manifest/components/stack.json +54 -7
  271. package/manifest/components/stacks-matrix-icon.json +1 -7
  272. package/manifest/components/stat.json +28 -4
  273. package/manifest/components/status-bar.json +50 -9
  274. package/manifest/components/status-dot.json +23 -4
  275. package/manifest/components/stepper.json +22 -5
  276. package/manifest/components/stopped-run.json +19 -4
  277. package/manifest/components/streaming-text.json +12 -3
  278. package/manifest/components/subagent-list.json +21 -5
  279. package/manifest/components/suggestions.json +27 -5
  280. package/manifest/components/swap-label.json +18 -4
  281. package/manifest/components/switch.json +18 -3
  282. package/manifest/components/table-scroll-region.json +4 -1
  283. package/manifest/components/table.json +54 -11
  284. package/manifest/components/tabs.json +16 -5
  285. package/manifest/components/tags-input.json +79 -17
  286. package/manifest/components/tail-status.json +37 -8
  287. package/manifest/components/terminal-block.json +25 -5
  288. package/manifest/components/terminal-frame.json +34 -8
  289. package/manifest/components/textarea.json +28 -3
  290. package/manifest/components/theme-configurator.json +47 -11
  291. package/manifest/components/theme-provider.json +79 -15
  292. package/manifest/components/thinking-indicator.json +8 -2
  293. package/manifest/components/thread-list.json +13 -3
  294. package/manifest/components/thread-search.json +22 -5
  295. package/manifest/components/threshold-rail.json +77 -14
  296. package/manifest/components/time-boundary.json +8 -2
  297. package/manifest/components/time-field.json +13 -2
  298. package/manifest/components/timeline-ruler.json +51 -12
  299. package/manifest/components/timeline.json +19 -3
  300. package/manifest/components/title-bar.json +19 -4
  301. package/manifest/components/toast.json +12 -3
  302. package/manifest/components/todo-list.json +8 -2
  303. package/manifest/components/toggle-group.json +33 -7
  304. package/manifest/components/toggle.json +33 -4
  305. package/manifest/components/token-editor.json +26 -7
  306. package/manifest/components/tool-call-card.json +83 -16
  307. package/manifest/components/tool-call.json +37 -9
  308. package/manifest/components/tool-error.json +34 -8
  309. package/manifest/components/tool-group.json +17 -4
  310. package/manifest/components/tool-timeline.json +37 -9
  311. package/manifest/components/toolbar.json +37 -8
  312. package/manifest/components/tooltip.json +41 -7
  313. package/manifest/components/trace-waterfall.json +12 -3
  314. package/manifest/components/tree-visibility-toggle.json +18 -3
  315. package/manifest/components/tree.json +52 -11
  316. package/manifest/components/turn-footer.json +36 -8
  317. package/manifest/components/two-step-button.json +46 -9
  318. package/manifest/components/typing-indicator.json +8 -1
  319. package/manifest/components/universe-grid.json +37 -10
  320. package/manifest/components/unread-divider.json +4 -1
  321. package/manifest/components/usage-chart.json +46 -9
  322. package/manifest/components/verdict-row.json +20 -5
  323. package/manifest/components/voice-conversation.json +37 -7
  324. package/manifest/components/web-preview.json +23 -5
  325. package/manifest/components/web-search.json +20 -5
  326. package/manifest/components/work-collapse.json +30 -7
  327. package/manifest/fixtures.json +111 -0
  328. package/manifest/manifest.json +354 -297
  329. package/manifest/tokens.json +2 -2
  330. package/package.json +8 -7
@@ -12,35 +12,52 @@
12
12
  "type": "ReactNode",
13
13
  "required": false,
14
14
  "defaultValue": null,
15
- "description": "Visible label above the track."
15
+ "description": "Visible label above the track.",
16
+ "control": {
17
+ "kind": "node",
18
+ "fixture": "children.text"
19
+ }
16
20
  },
17
21
  {
18
22
  "name": "className",
19
23
  "type": "string",
20
24
  "required": false,
21
25
  "defaultValue": null,
22
- "description": "Extra classes, merged over the root defaults."
26
+ "description": "Extra classes, merged over the root defaults.",
27
+ "control": {
28
+ "kind": "string"
29
+ }
23
30
  },
24
31
  {
25
32
  "name": "aria-label",
26
33
  "type": "string",
27
34
  "required": false,
28
35
  "defaultValue": null,
29
- "description": "Accessible name for the thumb. With several thumbs each is suffixed with its\n1-based index, so a range slider announces \"Window 1\" and \"Window 2\"."
36
+ "description": "Accessible name for the thumb. With several thumbs each is suffixed with its\n1-based index, so a range slider announces \"Window 1\" and \"Window 2\".",
37
+ "control": {
38
+ "kind": "string"
39
+ }
30
40
  },
31
41
  {
32
42
  "name": "onCommit",
33
43
  "type": "((value: number | number[]) => void)",
34
44
  "required": false,
35
45
  "defaultValue": null,
36
- "description": "Fired once when a gesture *ends*: pointer-up after a drag, key-up after a\nstep, or a track press. `onValueChange` fires on every intermediate value —\na drag emits dozens — so an undo stack, a network write or a persisted\nsetting must hang off this, not off `onValueChange`, or it will record every\nframe of the drag as a separate edit."
46
+ "description": "Fired once when a gesture *ends*: pointer-up after a drag, key-up after a\nstep, or a track press. `onValueChange` fires on every intermediate value —\na drag emits dozens — so an undo stack, a network write or a persisted\nsetting must hang off this, not off `onValueChange`, or it will record every\nframe of the drag as a separate edit.",
47
+ "control": {
48
+ "kind": "callback",
49
+ "fixture": "callback.log"
50
+ }
37
51
  },
38
52
  {
39
53
  "name": "showValue",
40
54
  "type": "boolean",
41
55
  "required": false,
42
56
  "defaultValue": "false",
43
- "description": "Show the live formatted value opposite the label."
57
+ "description": "Show the live formatted value opposite the label.",
58
+ "control": {
59
+ "kind": "boolean"
60
+ }
44
61
  }
45
62
  ],
46
63
  "typeReferences": [
@@ -14,28 +14,41 @@
14
14
  "type": "readonly Source[]",
15
15
  "required": true,
16
16
  "defaultValue": null,
17
- "description": "Citation cards revealed when the sources pill expands."
17
+ "description": "Citation cards revealed when the sources pill expands.",
18
+ "control": {
19
+ "kind": "array"
20
+ }
18
21
  },
19
22
  {
20
23
  "name": "open",
21
24
  "type": "boolean",
22
25
  "required": true,
23
26
  "defaultValue": null,
24
- "description": "Whether the source list is expanded under the pill."
27
+ "description": "Whether the source list is expanded under the pill.",
28
+ "control": {
29
+ "kind": "boolean"
30
+ }
25
31
  },
26
32
  {
27
33
  "name": "onOpenChange",
28
34
  "type": "(open: boolean) => void",
29
35
  "required": true,
30
36
  "defaultValue": null,
31
- "description": "Called when the user expands or collapses the sources."
37
+ "description": "Called when the user expands or collapses the sources.",
38
+ "control": {
39
+ "kind": "callback",
40
+ "fixture": "callback.log"
41
+ }
32
42
  },
33
43
  {
34
44
  "name": "className",
35
45
  "type": "string",
36
46
  "required": false,
37
47
  "defaultValue": null,
38
- "description": "Extra classes merged onto the root."
48
+ "description": "Extra classes merged onto the root.",
49
+ "control": {
50
+ "kind": "string"
51
+ }
39
52
  }
40
53
  ],
41
54
  "typeReferences": [],
@@ -12,28 +12,41 @@
12
12
  "type": "readonly number[]",
13
13
  "required": true,
14
14
  "defaultValue": null,
15
- "description": "The series, as percentages. Clamped to 0–100; never rescaled."
15
+ "description": "The series, as percentages. Clamped to 0–100; never rescaled.",
16
+ "control": {
17
+ "kind": "array",
18
+ "fixture": "chart.series"
19
+ }
16
20
  },
17
21
  {
18
22
  "name": "width",
19
23
  "type": "number",
20
24
  "required": false,
21
25
  "defaultValue": "72",
22
- "description": "Box width in px at the 16px root, emitted as `rem`. Defaults to `72`."
26
+ "description": "Box width in px at the 16px root, emitted as `rem`. Defaults to `72`.",
27
+ "control": {
28
+ "kind": "number"
29
+ }
23
30
  },
24
31
  {
25
32
  "name": "height",
26
33
  "type": "number",
27
34
  "required": false,
28
35
  "defaultValue": "14",
29
- "description": "Box height in px at the 16px root, emitted as `rem`. Defaults to `14`."
36
+ "description": "Box height in px at the 16px root, emitted as `rem`. Defaults to `14`.",
37
+ "control": {
38
+ "kind": "number"
39
+ }
30
40
  },
31
41
  {
32
42
  "name": "label",
33
43
  "type": "string",
34
44
  "required": false,
35
45
  "defaultValue": null,
36
- "description": "The accessible name. Defaults to a sentence naming the latest value, which\nis the only number a trace this small can honestly report."
46
+ "description": "The accessible name. Defaults to a sentence naming the latest value, which\nis the only number a trace this small can honestly report.",
47
+ "control": {
48
+ "kind": "string"
49
+ }
37
50
  }
38
51
  ],
39
52
  "typeReferences": [
@@ -14,7 +14,10 @@
14
14
  "type": "readonly SpeakerTurn[]",
15
15
  "required": true,
16
16
  "defaultValue": null,
17
- "description": "Turns in order, each naming who produced it."
17
+ "description": "Turns in order, each naming who produced it.",
18
+ "control": {
19
+ "kind": "array"
20
+ }
18
21
  }
19
22
  ],
20
23
  "typeReferences": [
@@ -12,28 +12,40 @@
12
12
  "type": "string",
13
13
  "required": true,
14
14
  "defaultValue": null,
15
- "description": "What the sheet describes."
15
+ "description": "What the sheet describes.",
16
+ "control": {
17
+ "kind": "string"
18
+ }
16
19
  },
17
20
  {
18
21
  "name": "subtitle",
19
22
  "type": "string",
20
23
  "required": false,
21
24
  "defaultValue": null,
22
- "description": "Secondary identifier: a model id, a SKU, a version."
25
+ "description": "Secondary identifier: a model id, a SKU, a version.",
26
+ "control": {
27
+ "kind": "string"
28
+ }
23
29
  },
24
30
  {
25
31
  "name": "rows",
26
32
  "type": "readonly SpecRow[]",
27
33
  "required": true,
28
34
  "defaultValue": null,
29
- "description": "Label and value pairs. Values are pre-formatted and right-aligned on tabular figures."
35
+ "description": "Label and value pairs. Values are pre-formatted and right-aligned on tabular figures.",
36
+ "control": {
37
+ "kind": "array"
38
+ }
30
39
  },
31
40
  {
32
41
  "name": "visibleCount",
33
42
  "type": "number",
34
43
  "required": true,
35
44
  "defaultValue": null,
36
- "description": "How many rows have landed."
45
+ "description": "How many rows have landed.",
46
+ "control": {
47
+ "kind": "number"
48
+ }
37
49
  }
38
50
  ],
39
51
  "typeReferences": [
@@ -12,63 +12,95 @@
12
12
  "type": "readonly number[] | Float32Array<ArrayBufferLike>",
13
13
  "required": true,
14
14
  "defaultValue": null,
15
- "description": "One level per band, `0`–`1`, in the ramp's own order.\n\nPositional rather than keyed by band id: an FFT hands back an array forty\ntimes a second, and building a lookup per frame to match it up is work for\nno information."
15
+ "description": "One level per band, `0`–`1`, in the ramp's own order.\n\nPositional rather than keyed by band id: an FFT hands back an array forty\ntimes a second, and building a lookup per frame to match it up is work for\nno information.",
16
+ "control": {
17
+ "kind": "opaque"
18
+ }
16
19
  },
17
20
  {
18
21
  "name": "ramp",
19
22
  "type": "readonly FrequencyBand[] | \"bands-7\" | \"bands-10\" | \"bands-16\" | \"bands-31\"",
20
23
  "required": false,
21
24
  "defaultValue": "bands-7",
22
- "description": "The bands: a ramp from `/charts` by name, or a band list. Defaults to `\"bands-7\"`."
25
+ "description": "The bands: a ramp from `/charts` by name, or a band list. Defaults to `\"bands-7\"`.",
26
+ "control": {
27
+ "kind": "opaque"
28
+ }
23
29
  },
24
30
  {
25
31
  "name": "mode",
26
32
  "type": "\"line\" | \"bars\"",
27
33
  "required": false,
28
34
  "defaultValue": "bars",
29
- "description": "Bars or a line trace. Defaults to `\"bars\"`."
35
+ "description": "Bars or a line trace. Defaults to `\"bars\"`.",
36
+ "control": {
37
+ "kind": "enum",
38
+ "members": [
39
+ "line",
40
+ "bars"
41
+ ]
42
+ }
30
43
  },
31
44
  {
32
45
  "name": "thresholds",
33
46
  "type": "number | readonly number[]",
34
47
  "required": false,
35
48
  "defaultValue": null,
36
- "description": "Trigger levels to rule, one per band or one for all of them."
49
+ "description": "Trigger levels to rule, one per band or one for all of them.",
50
+ "control": {
51
+ "kind": "opaque"
52
+ }
37
53
  },
38
54
  {
39
55
  "name": "selected",
40
56
  "type": "readonly string[]",
41
57
  "required": false,
42
58
  "defaultValue": null,
43
- "description": "Band ids to keep bright. Empty or absent means every band is bright."
59
+ "description": "Band ids to keep bright. Empty or absent means every band is bright.",
60
+ "control": {
61
+ "kind": "array",
62
+ "fixture": "agent.transcript"
63
+ }
44
64
  },
45
65
  {
46
66
  "name": "sensitivity",
47
67
  "type": "number",
48
68
  "required": false,
49
69
  "defaultValue": "1",
50
- "description": "Display gain applied to every level before drawing. Defaults to `1`."
70
+ "description": "Display gain applied to every level before drawing. Defaults to `1`.",
71
+ "control": {
72
+ "kind": "number"
73
+ }
51
74
  },
52
75
  {
53
76
  "name": "height",
54
77
  "type": "number",
55
78
  "required": false,
56
79
  "defaultValue": "96",
57
- "description": "Graph height in px at the 16px root, emitted as `rem`. Defaults to `96`."
80
+ "description": "Graph height in px at the 16px root, emitted as `rem`. Defaults to `96`.",
81
+ "control": {
82
+ "kind": "number"
83
+ }
58
84
  },
59
85
  {
60
86
  "name": "labels",
61
87
  "type": "boolean",
62
88
  "required": false,
63
89
  "defaultValue": "true",
64
- "description": "List the band names under the graph. Defaults to `true`."
90
+ "description": "List the band names under the graph. Defaults to `true`.",
91
+ "control": {
92
+ "kind": "boolean"
93
+ }
65
94
  },
66
95
  {
67
96
  "name": "label",
68
97
  "type": "string",
69
98
  "required": false,
70
99
  "defaultValue": "Spectrum",
71
- "description": "What is being analysed. Defaults to `\"Spectrum\"`."
100
+ "description": "What is being analysed. Defaults to `\"Spectrum\"`.",
101
+ "control": {
102
+ "kind": "string"
103
+ }
72
104
  }
73
105
  ],
74
106
  "typeReferences": [
@@ -79,7 +111,6 @@
79
111
  "variants": {},
80
112
  "defaultVariants": {},
81
113
  "tokensUsed": [
82
- "--cue-accent",
83
114
  "--cue-border",
84
115
  "--cue-data-ground",
85
116
  "--cue-font-mono",
@@ -12,14 +12,24 @@
12
12
  "type": "\"sm\" | \"md\"",
13
13
  "required": false,
14
14
  "defaultValue": "md",
15
- "description": "Rung of the density icon ladder to draw at. Defaults to `\"md\"`."
15
+ "description": "Rung of the density icon ladder to draw at. Defaults to `\"md\"`.",
16
+ "control": {
17
+ "kind": "enum",
18
+ "members": [
19
+ "sm",
20
+ "md"
21
+ ]
22
+ }
16
23
  },
17
24
  {
18
25
  "name": "label",
19
26
  "type": "string",
20
27
  "required": false,
21
28
  "defaultValue": "Loading",
22
- "description": "Accessible label announced while the spinner is on screen. Defaults to `\"Loading\"`."
29
+ "description": "Accessible label announced while the spinner is on screen. Defaults to `\"Loading\"`.",
30
+ "control": {
31
+ "kind": "string"
32
+ }
23
33
  }
24
34
  ],
25
35
  "typeReferences": [
@@ -14,13 +14,7 @@
14
14
  "parts": [],
15
15
  "variants": {},
16
16
  "defaultVariants": {},
17
- "tokensUsed": [
18
- "--cue-danger",
19
- "--cue-fg",
20
- "--cue-icon-",
21
- "--cue-icon-md",
22
- "--cue-icon-sm"
23
- ],
17
+ "tokensUsed": [],
24
18
  "summary": "One person's stack: the set of things they have actually installed.",
25
19
  "examples": [],
26
20
  "status": "todo-docs",
@@ -12,42 +12,90 @@
12
12
  "type": "\"row\" | \"column\"",
13
13
  "required": false,
14
14
  "defaultValue": "column",
15
- "description": "`\"column\"` (default) or `\"row\"`."
15
+ "description": "`\"column\"` (default) or `\"row\"`.",
16
+ "control": {
17
+ "kind": "enum",
18
+ "members": [
19
+ "row",
20
+ "column"
21
+ ]
22
+ }
16
23
  },
17
24
  {
18
25
  "name": "gap",
19
26
  "type": "0 | 4 | 8 | 1 | 2 | 3 | 5 | 6 | 7",
20
27
  "required": false,
21
28
  "defaultValue": "4",
22
- "description": "Which rung of the density space ladder to spend between children. Defaults to `4`."
29
+ "description": "Which rung of the density space ladder to spend between children. Defaults to `4`.",
30
+ "control": {
31
+ "kind": "enum",
32
+ "members": [
33
+ 0,
34
+ 4,
35
+ 8,
36
+ 1,
37
+ 2,
38
+ 3,
39
+ 5,
40
+ 6,
41
+ 7
42
+ ],
43
+ "min": 0,
44
+ "max": 8
45
+ }
23
46
  },
24
47
  {
25
48
  "name": "align",
26
49
  "type": "\"center\" | \"end\" | \"baseline\" | \"start\" | \"stretch\"",
27
50
  "required": false,
28
51
  "defaultValue": null,
29
- "description": "Cross-axis alignment. Omit to inherit the flex default (`stretch`)."
52
+ "description": "Cross-axis alignment. Omit to inherit the flex default (`stretch`).",
53
+ "control": {
54
+ "kind": "enum",
55
+ "members": [
56
+ "center",
57
+ "end",
58
+ "baseline",
59
+ "start",
60
+ "stretch"
61
+ ]
62
+ }
30
63
  },
31
64
  {
32
65
  "name": "justify",
33
66
  "type": "\"center\" | \"end\" | \"start\" | \"between\"",
34
67
  "required": false,
35
68
  "defaultValue": null,
36
- "description": "Main-axis distribution. Omit to inherit the flex default (`start`)."
69
+ "description": "Main-axis distribution. Omit to inherit the flex default (`start`).",
70
+ "control": {
71
+ "kind": "enum",
72
+ "members": [
73
+ "center",
74
+ "end",
75
+ "start",
76
+ "between"
77
+ ]
78
+ }
37
79
  },
38
80
  {
39
81
  "name": "wrap",
40
82
  "type": "boolean",
41
83
  "required": false,
42
84
  "defaultValue": "false",
43
- "description": "Let a row wrap onto more lines."
85
+ "description": "Let a row wrap onto more lines.",
86
+ "control": {
87
+ "kind": "boolean"
88
+ }
44
89
  },
45
90
  {
46
91
  "name": "inline",
47
92
  "type": "boolean",
48
93
  "required": false,
49
94
  "defaultValue": "false",
50
- "description": "Lay out as `inline-flex`, so the stack sits in a line of text."
95
+ "description": "Lay out as `inline-flex`, so the stack sits in a line of text.",
96
+ "control": {
97
+ "kind": "boolean"
98
+ }
51
99
  }
52
100
  ],
53
101
  "typeReferences": [
@@ -58,7 +106,6 @@
58
106
  "variants": {},
59
107
  "defaultVariants": {},
60
108
  "tokensUsed": [
61
- "--cue-space-",
62
109
  "--cue-space-1",
63
110
  "--cue-space-2",
64
111
  "--cue-space-3",
@@ -14,13 +14,7 @@
14
14
  "parts": [],
15
15
  "variants": {},
16
16
  "defaultVariants": {},
17
- "tokensUsed": [
18
- "--cue-danger",
19
- "--cue-fg",
20
- "--cue-icon-",
21
- "--cue-icon-md",
22
- "--cue-icon-sm"
23
- ],
17
+ "tokensUsed": [],
24
18
  "summary": "Every stack at once, one column each: who has what, read across.",
25
19
  "examples": [],
26
20
  "status": "todo-docs",
@@ -12,28 +12,52 @@
12
12
  "type": "ReactNode",
13
13
  "required": true,
14
14
  "defaultValue": null,
15
- "description": "What is being measured. Rendered as a micro uppercase caption."
15
+ "description": "What is being measured. Rendered as a micro uppercase caption.",
16
+ "control": {
17
+ "kind": "node",
18
+ "fixture": "children.text"
19
+ }
16
20
  },
17
21
  {
18
22
  "name": "value",
19
23
  "type": "ReactNode",
20
24
  "required": true,
21
25
  "defaultValue": null,
22
- "description": "The reading itself — the one thing the eye should land on."
26
+ "description": "The reading itself — the one thing the eye should land on.",
27
+ "control": {
28
+ "kind": "node",
29
+ "fixture": "children.text"
30
+ }
23
31
  },
24
32
  {
25
33
  "name": "detail",
26
34
  "type": "ReactNode",
27
35
  "required": false,
28
36
  "defaultValue": null,
29
- "description": "Optional second line: a delta, a window, a unit."
37
+ "description": "Optional second line: a delta, a window, a unit.",
38
+ "control": {
39
+ "kind": "node",
40
+ "fixture": "children.text"
41
+ }
30
42
  },
31
43
  {
32
44
  "name": "tone",
33
45
  "type": "\"danger\" | \"accent\" | \"busy\" | \"neutral\" | \"ok\" | \"warn\" | \"info\"",
34
46
  "required": false,
35
47
  "defaultValue": "neutral",
36
- "description": "Tints the value only. Defaults to `\"neutral\"`."
48
+ "description": "Tints the value only. Defaults to `\"neutral\"`.",
49
+ "control": {
50
+ "kind": "enum",
51
+ "members": [
52
+ "danger",
53
+ "accent",
54
+ "busy",
55
+ "neutral",
56
+ "ok",
57
+ "warn",
58
+ "info"
59
+ ]
60
+ }
37
61
  }
38
62
  ],
39
63
  "typeReferences": [
@@ -25,49 +25,84 @@
25
25
  "type": "\"accent\" | \"danger\" | \"busy\" | \"neutral\" | \"ok\" | \"warn\" | \"info\"",
26
26
  "required": false,
27
27
  "defaultValue": "neutral",
28
- "description": "Ink for this item. Defaults to the bar's own subtle grey."
28
+ "description": "Ink for this item. Defaults to the bar's own subtle grey.",
29
+ "control": {
30
+ "kind": "enum",
31
+ "members": [
32
+ "accent",
33
+ "danger",
34
+ "busy",
35
+ "neutral",
36
+ "ok",
37
+ "warn",
38
+ "info"
39
+ ]
40
+ }
29
41
  },
30
42
  {
31
43
  "name": "push",
32
44
  "type": "boolean",
33
45
  "required": false,
34
46
  "defaultValue": "false",
35
- "description": "Start the trailing cluster here: pushes this item and everything after it\nto the far edge. Cheaper and more robust than a spacer element, which a\ncaller has to remember to keep in the right place."
47
+ "description": "Start the trailing cluster here: pushes this item and everything after it\nto the far edge. Cheaper and more robust than a spacer element, which a\ncaller has to remember to keep in the right place.",
48
+ "control": {
49
+ "kind": "boolean"
50
+ }
36
51
  },
37
52
  {
38
53
  "name": "icon",
39
54
  "type": "ElementType<any, keyof IntrinsicElements>",
40
55
  "required": false,
41
56
  "defaultValue": null,
42
- "description": "Optional leading icon (e.g. a lucide icon), drawn `aria-hidden`."
57
+ "description": "Optional leading icon (e.g. a lucide icon), drawn `aria-hidden`.",
58
+ "control": {
59
+ "kind": "opaque",
60
+ "fixture": "icon.play"
61
+ }
43
62
  },
44
63
  {
45
64
  "name": "interactive",
46
65
  "type": "boolean",
47
66
  "required": false,
48
67
  "defaultValue": "false",
49
- "description": "Make the item a real control: a `<button type=\"button\">` with hover, press\nand keyboard-focus feedback. Defaults to `false`.\n\nA native button, not a `<div>` with an `onClick` — keyboard order is DOM\norder, `Enter` and `Space` work because the platform makes them work, and\nassistive technology is told what the thing is by the element rather than\nby a role attribute that has to be kept honest by hand.\n\n**An icon-only interactive item needs an `aria-label`.** There is no text\nfor a screen reader to read and the icon is drawn `aria-hidden`, so without\none the control announces as \"button\" and nothing else."
68
+ "description": "Make the item a real control: a `<button type=\"button\">` with hover, press\nand keyboard-focus feedback. Defaults to `false`.\n\nA native button, not a `<div>` with an `onClick` — keyboard order is DOM\norder, `Enter` and `Space` work because the platform makes them work, and\nassistive technology is told what the thing is by the element rather than\nby a role attribute that has to be kept honest by hand.\n\n**An icon-only interactive item needs an `aria-label`.** There is no text\nfor a screen reader to read and the icon is drawn `aria-hidden`, so without\none the control announces as \"button\" and nothing else.",
69
+ "control": {
70
+ "kind": "boolean"
71
+ }
50
72
  },
51
73
  {
52
74
  "name": "prominence",
53
75
  "type": "\"quiet\" | \"filled\"",
54
76
  "required": false,
55
77
  "defaultValue": "quiet",
56
- "description": "How loudly the item states itself. Defaults to `\"quiet\"`.\n\n`quiet` is a reading: tone ink on the bar's own ground. `filled` is a chip\n— a full-height tone wash behind tone ink — for the small set of states\nthat earn a colour of their own: a warning, an error, the remote you are\nattached to. It is loud deliberately, and a bar of five filled items is a\nbar nobody reads."
78
+ "description": "How loudly the item states itself. Defaults to `\"quiet\"`.\n\n`quiet` is a reading: tone ink on the bar's own ground. `filled` is a chip\n— a full-height tone wash behind tone ink — for the small set of states\nthat earn a colour of their own: a warning, an error, the remote you are\nattached to. It is loud deliberately, and a bar of five filled items is a\nbar nobody reads.",
79
+ "control": {
80
+ "kind": "enum",
81
+ "members": [
82
+ "quiet",
83
+ "filled"
84
+ ]
85
+ }
57
86
  },
58
87
  {
59
88
  "name": "render",
60
89
  "type": "RenderProp<Record<string, unknown>>",
61
90
  "required": false,
62
91
  "defaultValue": null,
63
- "description": "Replace the rendered element (Base UI render prop) — `render={<a href=\"…\" />}`\nfor a status item that navigates.\n\nImplies {@link StatusBarItemProps.interactive}: whatever is rendered gets\nthe control chassis, because an element a reader can click has to look like\none whether it is a button or a link."
92
+ "description": "Replace the rendered element (Base UI render prop) — `render={<a href=\"…\" />}`\nfor a status item that navigates.\n\nImplies {@link StatusBarItemProps.interactive}: whatever is rendered gets\nthe control chassis, because an element a reader can click has to look like\none whether it is a button or a link.",
93
+ "control": {
94
+ "kind": "opaque"
95
+ }
64
96
  },
65
97
  {
66
98
  "name": "disabled",
67
99
  "type": "boolean",
68
100
  "required": false,
69
101
  "defaultValue": null,
70
- "description": "Grey the control out, take it out of the pointer's reach and announce it as\ndisabled. Defaults to `false`. Ignored by a static item, which is a reading\nand not a control.\n\nHonoured whatever {@link StatusBarItemProps.render} renders, but by two\nroutes: the `disabled` attribute where it means something — the default\n`<button>`, a form control, a component that takes a `disabled` prop of its\nown — and `aria-disabled` plus `data-disabled` everywhere, which is all an\nanchor gets. There is no such thing as a disabled link; a link that should\nnot be followed should not be a link, and this states the intent rather\nthan pretending to enforce it."
102
+ "description": "Grey the control out, take it out of the pointer's reach and announce it as\ndisabled. Defaults to `false`. Ignored by a static item, which is a reading\nand not a control.\n\nHonoured whatever {@link StatusBarItemProps.render} renders, but by two\nroutes: the `disabled` attribute where it means something — the default\n`<button>`, a form control, a component that takes a `disabled` prop of its\nown — and `aria-disabled` plus `data-disabled` everywhere, which is all an\nanchor gets. There is no such thing as a disabled link; a link that should\nnot be followed should not be a link, and this states the intent rather\nthan pretending to enforce it.",
103
+ "control": {
104
+ "kind": "boolean"
105
+ }
71
106
  }
72
107
  ],
73
108
  "typeReferences": [
@@ -84,14 +119,20 @@
84
119
  "type": "boolean",
85
120
  "required": false,
86
121
  "defaultValue": "false",
87
- "description": "Start the trailing cluster at this group: pushes it and everything after it\nto the far edge, exactly as `push` does on a single item."
122
+ "description": "Start the trailing cluster at this group: pushes it and everything after it\nto the far edge, exactly as `push` does on a single item.",
123
+ "control": {
124
+ "kind": "boolean"
125
+ }
88
126
  },
89
127
  {
90
128
  "name": "aria-label",
91
129
  "type": "string",
92
130
  "required": false,
93
131
  "defaultValue": null,
94
- "description": "What the cluster is called. Optional, and worth giving whenever the members\nonly make sense together — \"Repository\", \"Connection\" — because a `group`\nwith no name is a landmark a screen reader reads straight past."
132
+ "description": "What the cluster is called. Optional, and worth giving whenever the members\nonly make sense together — \"Repository\", \"Connection\" — because a `group`\nwith no name is a landmark a screen reader reads straight past.",
133
+ "control": {
134
+ "kind": "string"
135
+ }
95
136
  }
96
137
  ],
97
138
  "typeReferences": [