@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
@@ -12,21 +12,35 @@
12
12
  "type": "number | BrandSize",
13
13
  "required": false,
14
14
  "defaultValue": "md",
15
- "description": "Rung of the density control ladder to draw at, or an explicit height in px.\nDefaults to `\"md\"`.\n\nHeight, always — every asset here keeps its own aspect ratio, so the width\nfollows from the artwork rather than from the caller."
15
+ "description": "Rung of the density control ladder to draw at, or an explicit height in px.\nDefaults to `\"md\"`.\n\nHeight, always — every asset here keeps its own aspect ratio, so the width\nfollows from the artwork rather than from the caller.",
16
+ "control": {
17
+ "kind": "opaque"
18
+ }
16
19
  },
17
20
  {
18
21
  "name": "tone",
19
22
  "type": "\"inherit\" | \"fg\" | \"accent\"",
20
23
  "required": false,
21
24
  "defaultValue": "inherit",
22
- "description": "Where the ink comes from: `currentColor`, the foreground token, or the\naccent. Defaults to `\"inherit\"`."
25
+ "description": "Where the ink comes from: `currentColor`, the foreground token, or the\naccent. Defaults to `\"inherit\"`.",
26
+ "control": {
27
+ "kind": "enum",
28
+ "members": [
29
+ "inherit",
30
+ "fg",
31
+ "accent"
32
+ ]
33
+ }
23
34
  },
24
35
  {
25
36
  "name": "title",
26
37
  "type": "string",
27
38
  "required": false,
28
39
  "defaultValue": null,
29
- "description": "The accessible name.\n\nOmit it and the asset is decorative — `aria-hidden`, announced by nothing.\nPass one only when the mark is the *only* thing naming what it sits on: a\nbare logo link, a splash screen with no heading."
40
+ "description": "The accessible name.\n\nOmit it and the asset is decorative — `aria-hidden`, announced by nothing.\nPass one only when the mark is the *only* thing naming what it sits on: a\nbare logo link, a splash screen with no heading.",
41
+ "control": {
42
+ "kind": "string"
43
+ }
30
44
  }
31
45
  ],
32
46
  "typeReferences": [
@@ -12,21 +12,35 @@
12
12
  "type": "number | BrandSize",
13
13
  "required": false,
14
14
  "defaultValue": "md",
15
- "description": "Rung of the density control ladder to draw at, or an explicit height in px.\nDefaults to `\"md\"`.\n\nHeight, always — every asset here keeps its own aspect ratio, so the width\nfollows from the artwork rather than from the caller."
15
+ "description": "Rung of the density control ladder to draw at, or an explicit height in px.\nDefaults to `\"md\"`.\n\nHeight, always — every asset here keeps its own aspect ratio, so the width\nfollows from the artwork rather than from the caller.",
16
+ "control": {
17
+ "kind": "opaque"
18
+ }
16
19
  },
17
20
  {
18
21
  "name": "tone",
19
22
  "type": "\"inherit\" | \"fg\" | \"accent\"",
20
23
  "required": false,
21
24
  "defaultValue": "inherit",
22
- "description": "Where the ink comes from: `currentColor`, the foreground token, or the\naccent. Defaults to `\"inherit\"`."
25
+ "description": "Where the ink comes from: `currentColor`, the foreground token, or the\naccent. Defaults to `\"inherit\"`.",
26
+ "control": {
27
+ "kind": "enum",
28
+ "members": [
29
+ "inherit",
30
+ "fg",
31
+ "accent"
32
+ ]
33
+ }
23
34
  },
24
35
  {
25
36
  "name": "title",
26
37
  "type": "string",
27
38
  "required": false,
28
39
  "defaultValue": null,
29
- "description": "The accessible name.\n\nOmit it and the asset is decorative — `aria-hidden`, announced by nothing.\nPass one only when the mark is the *only* thing naming what it sits on: a\nbare logo link, a splash screen with no heading."
40
+ "description": "The accessible name.\n\nOmit it and the asset is decorative — `aria-hidden`, announced by nothing.\nPass one only when the mark is the *only* thing naming what it sits on: a\nbare logo link, a splash screen with no heading.",
41
+ "control": {
42
+ "kind": "string"
43
+ }
30
44
  }
31
45
  ],
32
46
  "typeReferences": [
@@ -5,28 +5,38 @@
5
5
  "importPath": "@cueplusplus/ui",
6
6
  "peerDependencies": [],
7
7
  "clientOnly": true,
8
- "description": "Inline version of the portal contract, for portals whose container cannot be\nchosen (a third-party overlay, or content already portaled by something else).\n\nWraps `children` in a `display: contents` element carrying the same\n`data-theme` / `data-density` / `data-font` / `data-mode` / `data-cue-skin` /\n`data-cue-fidelity` stamp and `--cue-font-scale` as {@link useCuePortalProps}. Prefer the hook — a stamped container costs one\nelement per overlay instead of one per render tree — and reach for this only\nwhen the container prop is not available.",
8
+ "description": "Inline version of the portal contract, for portals whose container cannot be\nchosen (a third-party overlay, or content already portaled by something else).\n\nWraps `children` in a `display: contents` element carrying the same\n`data-theme` / `data-density` / `data-font` / `data-mode` / `data-cue-skin` /\n`data-cue-fidelity` stamp, `--cue-font-scale` and `overrides` properties as\n{@link useCuePortalProps}. Prefer the hook — a stamped container costs one\nelement per overlay instead of one per render tree — and reach for this only\nwhen the container prop is not available.",
9
9
  "props": [
10
10
  {
11
11
  "name": "children",
12
12
  "type": "ReactNode",
13
13
  "required": true,
14
14
  "defaultValue": null,
15
- "description": "Portal content to stamp."
15
+ "description": "Portal content to stamp.",
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 for the frame element."
26
+ "description": "Extra classes for the frame element.",
27
+ "control": {
28
+ "kind": "string"
29
+ }
23
30
  },
24
31
  {
25
32
  "name": "style",
26
33
  "type": "CSSProperties",
27
34
  "required": false,
28
35
  "defaultValue": null,
29
- "description": "Inline styles, merged after `display: contents`."
36
+ "description": "Inline styles, merged after `display: contents`.",
37
+ "control": {
38
+ "kind": "opaque"
39
+ }
30
40
  }
31
41
  ],
32
42
  "typeReferences": [],
@@ -28,35 +28,51 @@
28
28
  "type": "boolean",
29
29
  "required": false,
30
30
  "defaultValue": "false",
31
- "description": "The row responds to a pointer and to the keyboard: hover wash, `cursor`,\nan inset focus ring and a tab stop. Defaults to `false`."
31
+ "description": "The row responds to a pointer and to the keyboard: hover wash, `cursor`,\nan inset focus ring and a tab stop. Defaults to `false`.",
32
+ "control": {
33
+ "kind": "boolean"
34
+ }
32
35
  },
33
36
  {
34
37
  "name": "selected",
35
38
  "type": "boolean",
36
39
  "required": false,
37
40
  "defaultValue": "false",
38
- "description": "Draw the row as picked out of the list. Defaults to `false`.\n\nSets `data-selected`, which is also what the hover-revealed action track and\nthe accent tint key off — so a `<tr data-selected>` in the table idiom gets\nexactly the same treatment without going through this component."
41
+ "description": "Draw the row as picked out of the list. Defaults to `false`.\n\nSets `data-selected`, which is also what the hover-revealed action track and\nthe accent tint key off — so a `<tr data-selected>` in the table idiom gets\nexactly the same treatment without going through this component.",
42
+ "control": {
43
+ "kind": "boolean"
44
+ }
39
45
  },
40
46
  {
41
47
  "name": "disabled",
42
48
  "type": "boolean",
43
49
  "required": false,
44
50
  "defaultValue": "false",
45
- "description": "Grey the row out and stop it responding to anything. Defaults to `false`."
51
+ "description": "Grey the row out and stop it responding to anything. Defaults to `false`.",
52
+ "control": {
53
+ "kind": "boolean"
54
+ }
46
55
  },
47
56
  {
48
57
  "name": "onActivate",
49
58
  "type": "(() => void)",
50
59
  "required": false,
51
60
  "defaultValue": null,
52
- "description": "What \"open this row\" means — a drawer, a detail pane, a route."
61
+ "description": "What \"open this row\" means — a drawer, a detail pane, a route.",
62
+ "control": {
63
+ "kind": "callback",
64
+ "fixture": "callback.log"
65
+ }
53
66
  },
54
67
  {
55
68
  "name": "disclosure",
56
69
  "type": "DataRowDisclosure",
57
70
  "required": false,
58
71
  "defaultValue": null,
59
- "description": "Expose the row as a disclosure: `data-expanded` always, `aria-expanded`\nwhen the row has a `role` that can carry it, and `aria-controls` when the\ndisclosed element is on the page.\n\n**`aria-expanded` is gated on the role, because on a bare `<div>` it is\nworse than nothing.** A role-less div maps to `generic`, which supports\nonly the global attributes — so the state is dropped outright by Blink,\nWebKit and Gecko alike (verified through Chromium's own accessibility\ntree), announces nothing, and adds a critical `aria-allowed-attr` finding\nto any axe run over the console that used it. `role` passes straight\nthrough as a div prop, so a row that genuinely is a disclosure says which\nkind it is — `role=\"button\"` for a row that opens a drawer, `role=\"row\"`\ninside a grid — and gets the attribute with it. Everything else gets\n`data-expanded`, which styles and tests exactly as well and promises\nnothing to a screen reader.\n\nThe row is still not given a widget role on its own account: a\n`role=\"button\"` row could not legally hold the buttons and links these rows\nexist to contain, and that judgement belongs to the caller who knows what\ntheir row does. Where the disclosure has to be bulletproof for assistive\ntechnology, reach for `DataTree` (real `treeitem` expansion) or a\n`Table.GroupRow` with a real toggle button in it."
72
+ "description": "Expose the row as a disclosure: `data-expanded` always, `aria-expanded`\nwhen the row has a `role` that can carry it, and `aria-controls` when the\ndisclosed element is on the page.\n\n**`aria-expanded` is gated on the role, because on a bare `<div>` it is\nworse than nothing.** A role-less div maps to `generic`, which supports\nonly the global attributes — so the state is dropped outright by Blink,\nWebKit and Gecko alike (verified through Chromium's own accessibility\ntree), announces nothing, and adds a critical `aria-allowed-attr` finding\nto any axe run over the console that used it. `role` passes straight\nthrough as a div prop, so a row that genuinely is a disclosure says which\nkind it is — `role=\"button\"` for a row that opens a drawer, `role=\"row\"`\ninside a grid — and gets the attribute with it. Everything else gets\n`data-expanded`, which styles and tests exactly as well and promises\nnothing to a screen reader.\n\nThe row is still not given a widget role on its own account: a\n`role=\"button\"` row could not legally hold the buttons and links these rows\nexist to contain, and that judgement belongs to the caller who knows what\ntheir row does. Where the disclosure has to be bulletproof for assistive\ntechnology, reach for `DataTree` (real `treeitem` expansion) or a\n`Table.GroupRow` with a real toggle button in it.",
73
+ "control": {
74
+ "kind": "opaque"
75
+ }
60
76
  }
61
77
  ],
62
78
  "typeReferences": [
@@ -123,8 +139,6 @@
123
139
  "tokensUsed": [
124
140
  "--cue-accent",
125
141
  "--cue-accent-soft",
126
- "--cue-chip-h",
127
- "--cue-control-sm",
128
142
  "--cue-data-row-cols",
129
143
  "--cue-data-tree-indent",
130
144
  "--cue-fg",
@@ -14,28 +14,42 @@
14
14
  "type": "DataTablePager",
15
15
  "required": true,
16
16
  "defaultValue": null,
17
- "description": "The table instance from {@link useCueTable}, or anything with the same seven members."
17
+ "description": "The table instance from {@link useCueTable}, or anything with the same seven members.",
18
+ "control": {
19
+ "kind": "opaque"
20
+ }
18
21
  },
19
22
  {
20
23
  "name": "labels",
21
24
  "type": "Partial<DataTablePaginationLabels>",
22
25
  "required": false,
23
26
  "defaultValue": null,
24
- "description": "Accessible names for the four buttons."
27
+ "description": "Accessible names for the four buttons.",
28
+ "control": {
29
+ "kind": "opaque"
30
+ }
25
31
  },
26
32
  {
27
33
  "name": "formatPosition",
28
34
  "type": "((page: number, pages: number) => string)",
29
35
  "required": false,
30
36
  "defaultValue": "(page, pages) => `${page} / ${pages}`",
31
- "description": "Render the position readout. Defaults to `\"2 / 7\"`."
37
+ "description": "Render the position readout. Defaults to `\"2 / 7\"`.",
38
+ "control": {
39
+ "kind": "callback",
40
+ "fixture": "callback.log"
41
+ }
32
42
  },
33
43
  {
34
44
  "name": "formatRowCount",
35
45
  "type": "((rows: number) => string)",
36
46
  "required": false,
37
47
  "defaultValue": "(rows) => `${rows} row${rows === 1 ? \"\" : \"s\"}`",
38
- "description": "Render the row count. Defaults to `\"340 rows\"`."
48
+ "description": "Render the row count. Defaults to `\"340 rows\"`.",
49
+ "control": {
50
+ "kind": "callback",
51
+ "fixture": "callback.log"
52
+ }
39
53
  }
40
54
  ],
41
55
  "typeReferences": [
@@ -14,49 +14,72 @@
14
14
  "type": "string",
15
15
  "required": false,
16
16
  "defaultValue": null,
17
- "description": "The current query. Pair it with `onValueChange` and the table's global filter."
17
+ "description": "The current query. Pair it with `onValueChange` and the table's global filter.",
18
+ "control": {
19
+ "kind": "string"
20
+ }
18
21
  },
19
22
  {
20
23
  "name": "onValueChange",
21
24
  "type": "((value: string) => void)",
22
25
  "required": false,
23
26
  "defaultValue": null,
24
- "description": "Fired on every keystroke in the search box."
27
+ "description": "Fired on every keystroke in the search box.",
28
+ "control": {
29
+ "kind": "callback",
30
+ "fixture": "callback.log"
31
+ }
25
32
  },
26
33
  {
27
34
  "name": "placeholder",
28
35
  "type": "string",
29
36
  "required": false,
30
37
  "defaultValue": "Filter…",
31
- "description": "Placeholder for the search box. Defaults to `\"Filter…\"`."
38
+ "description": "Placeholder for the search box. Defaults to `\"Filter…\"`.",
39
+ "control": {
40
+ "kind": "string"
41
+ }
32
42
  },
33
43
  {
34
44
  "name": "searchLabel",
35
45
  "type": "string",
36
46
  "required": false,
37
47
  "defaultValue": "Filter rows",
38
- "description": "Accessible name for the search box. Defaults to `\"Filter rows\"`."
48
+ "description": "Accessible name for the search box. Defaults to `\"Filter rows\"`.",
49
+ "control": {
50
+ "kind": "string"
51
+ }
39
52
  },
40
53
  {
41
54
  "name": "count",
42
55
  "type": "number",
43
56
  "required": false,
44
57
  "defaultValue": null,
45
- "description": "Rows currently matching. Shown as `count/total` when both are given."
58
+ "description": "Rows currently matching. Shown as `count/total` when both are given.",
59
+ "control": {
60
+ "kind": "number"
61
+ }
46
62
  },
47
63
  {
48
64
  "name": "total",
49
65
  "type": "number",
50
66
  "required": false,
51
67
  "defaultValue": null,
52
- "description": "Rows before filtering."
68
+ "description": "Rows before filtering.",
69
+ "control": {
70
+ "kind": "number"
71
+ }
53
72
  },
54
73
  {
55
74
  "name": "children",
56
75
  "type": "ReactNode",
57
76
  "required": false,
58
77
  "defaultValue": null,
59
- "description": "Trailing controls — a column picker, an export button."
78
+ "description": "Trailing controls — a column picker, an export button.",
79
+ "control": {
80
+ "kind": "node",
81
+ "fixture": "children.text"
82
+ }
60
83
  }
61
84
  ],
62
85
  "typeReferences": [
@@ -12,63 +12,96 @@
12
12
  "type": "readonly DataTreeItem[]",
13
13
  "required": true,
14
14
  "defaultValue": null,
15
- "description": "The roots, in display order."
15
+ "description": "The roots, in display order.",
16
+ "control": {
17
+ "kind": "array"
18
+ }
16
19
  },
17
20
  {
18
21
  "name": "expanded",
19
22
  "type": "readonly string[]",
20
23
  "required": false,
21
24
  "defaultValue": null,
22
- "description": "Expanded ids when controlled. Pass with `onExpandedChange`."
25
+ "description": "Expanded ids when controlled. Pass with `onExpandedChange`.",
26
+ "control": {
27
+ "kind": "array",
28
+ "fixture": "agent.transcript"
29
+ }
23
30
  },
24
31
  {
25
32
  "name": "defaultExpanded",
26
33
  "type": "readonly string[]",
27
34
  "required": false,
28
35
  "defaultValue": null,
29
- "description": "Initially expanded ids when uncontrolled."
36
+ "description": "Initially expanded ids when uncontrolled.",
37
+ "control": {
38
+ "kind": "array",
39
+ "fixture": "agent.transcript"
40
+ }
30
41
  },
31
42
  {
32
43
  "name": "onExpandedChange",
33
44
  "type": "((expanded: string[]) => void)",
34
45
  "required": false,
35
46
  "defaultValue": null,
36
- "description": "Called with the whole next expanded set whenever a row is folded or unfolded."
47
+ "description": "Called with the whole next expanded set whenever a row is folded or unfolded.",
48
+ "control": {
49
+ "kind": "callback",
50
+ "fixture": "callback.log"
51
+ }
37
52
  },
38
53
  {
39
54
  "name": "selected",
40
55
  "type": "string | null",
41
56
  "required": false,
42
57
  "defaultValue": null,
43
- "description": "Selected id when controlled. Pass with `onSelect`."
58
+ "description": "Selected id when controlled. Pass with `onSelect`.",
59
+ "control": {
60
+ "kind": "string",
61
+ "nullable": true
62
+ }
44
63
  },
45
64
  {
46
65
  "name": "defaultSelected",
47
66
  "type": "string | null",
48
67
  "required": false,
49
68
  "defaultValue": "null",
50
- "description": "Initially selected id when uncontrolled."
69
+ "description": "Initially selected id when uncontrolled.",
70
+ "control": {
71
+ "kind": "string",
72
+ "nullable": true
73
+ }
51
74
  },
52
75
  {
53
76
  "name": "onSelect",
54
77
  "type": "((id: string) => void)",
55
78
  "required": false,
56
79
  "defaultValue": null,
57
- "description": "Called with the id of the row the user selected."
80
+ "description": "Called with the id of the row the user selected.",
81
+ "control": {
82
+ "kind": "callback",
83
+ "fixture": "callback.log"
84
+ }
58
85
  },
59
86
  {
60
87
  "name": "guides",
61
88
  "type": "boolean",
62
89
  "required": false,
63
90
  "defaultValue": "true",
64
- "description": "Draw the depth guides. Defaults to `true`.\n\nRoots never draw one — there is no ancestor to draw — so a flat tree draws\nnone at all whatever this is set to."
91
+ "description": "Draw the depth guides. Defaults to `true`.\n\nRoots never draw one — there is no ancestor to draw — so a flat tree draws\nnone at all whatever this is set to.",
92
+ "control": {
93
+ "kind": "boolean"
94
+ }
65
95
  },
66
96
  {
67
97
  "name": "aria-label",
68
98
  "type": "string",
69
99
  "required": false,
70
100
  "defaultValue": null,
71
- "description": "Accessible name for the tree. Required in practice — name what it lists."
101
+ "description": "Accessible name for the tree. Required in practice — name what it lists.",
102
+ "control": {
103
+ "kind": "string"
104
+ }
72
105
  }
73
106
  ],
74
107
  "typeReferences": [
@@ -14,14 +14,25 @@
14
14
  "type": "\"sm\" | \"md\" | \"lg\"",
15
15
  "required": false,
16
16
  "defaultValue": null,
17
- "description": "Rung of the control ladder. Defaults to `\"md\"`."
17
+ "description": "Rung of the control ladder. Defaults to `\"md\"`.",
18
+ "control": {
19
+ "kind": "enum",
20
+ "members": [
21
+ "sm",
22
+ "md",
23
+ "lg"
24
+ ]
25
+ }
18
26
  },
19
27
  {
20
28
  "name": "inputClassName",
21
29
  "type": "ClassNameOrFunction<DateInputRenderProps>",
22
30
  "required": false,
23
31
  "defaultValue": null,
24
- "description": "Extra classes for the segment group itself."
32
+ "description": "Extra classes for the segment group itself.",
33
+ "control": {
34
+ "kind": "opaque"
35
+ }
25
36
  }
26
37
  ],
27
38
  "typeReferences": [