@cueplusplus/ui 0.13.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 (1016) hide show
  1. package/CHANGELOG.md +4028 -0
  2. package/LICENSE +21 -0
  3. package/NOTICE.md +34 -0
  4. package/README.md +237 -0
  5. package/dist/agent-runtime/_glyphs.js +43 -0
  6. package/dist/agent-runtime/branch-picker.d.ts +45 -0
  7. package/dist/agent-runtime/branch-picker.js +87 -0
  8. package/dist/agent-runtime/index.d.ts +4 -0
  9. package/dist/agent-runtime/index.js +4 -0
  10. package/dist/agent-runtime/tool-call-card.d.ts +69 -0
  11. package/dist/agent-runtime/tool-call-card.js +187 -0
  12. package/dist/agent-runtime/use-agent-thread.d.ts +164 -0
  13. package/dist/agent-runtime/use-agent-thread.js +251 -0
  14. package/dist/brand/_chassis.d.ts +54 -0
  15. package/dist/brand/_chassis.js +81 -0
  16. package/dist/brand/_geometry.js +41 -0
  17. package/dist/brand/cue-logotype.d.ts +29 -0
  18. package/dist/brand/cue-logotype.js +60 -0
  19. package/dist/brand/cue-mark.d.ts +30 -0
  20. package/dist/brand/cue-mark.js +61 -0
  21. package/dist/brand/index.d.ts +5 -0
  22. package/dist/brand/plussie.d.ts +67 -0
  23. package/dist/brand/plussie.js +125 -0
  24. package/dist/charts/_token.js +39 -0
  25. package/dist/charts/container.d.ts +58 -0
  26. package/dist/charts/container.js +77 -0
  27. package/dist/charts/index.d.ts +5 -0
  28. package/dist/charts/index.js +5 -0
  29. package/dist/charts/ramps.d.ts +140 -0
  30. package/dist/charts/ramps.js +615 -0
  31. package/dist/charts/theme.d.ts +112 -0
  32. package/dist/charts/theme.js +165 -0
  33. package/dist/charts/tones.d.ts +111 -0
  34. package/dist/charts/tones.js +127 -0
  35. package/dist/chat/_glyphs.js +55 -0
  36. package/dist/chat/agent-color.d.ts +84 -0
  37. package/dist/chat/agent-color.js +101 -0
  38. package/dist/chat/agent-pile.d.ts +55 -0
  39. package/dist/chat/agent-pile.js +121 -0
  40. package/dist/chat/ask-box.d.ts +88 -0
  41. package/dist/chat/ask-box.js +341 -0
  42. package/dist/chat/composer.d.ts +66 -0
  43. package/dist/chat/composer.js +144 -0
  44. package/dist/chat/delegation-card.d.ts +60 -0
  45. package/dist/chat/delegation-card.js +129 -0
  46. package/dist/chat/index.d.ts +8 -0
  47. package/dist/chat/index.js +8 -0
  48. package/dist/chat/message-list.d.ts +45 -0
  49. package/dist/chat/message-list.js +141 -0
  50. package/dist/chat/message.d.ts +47 -0
  51. package/dist/chat/message.js +108 -0
  52. package/dist/chrome/_band.js +54 -0
  53. package/dist/chrome/_drag.js +59 -0
  54. package/dist/chrome/_edge-scroller.d.ts +45 -0
  55. package/dist/chrome/_edge-scroller.js +149 -0
  56. package/dist/chrome/_glyphs.js +119 -0
  57. package/dist/chrome/_status-bar-item.js +85 -0
  58. package/dist/chrome/_status-bar.d.ts +15 -0
  59. package/dist/chrome/_status-bar.js +171 -0
  60. package/dist/chrome/_tabs-scroll.d.ts +67 -0
  61. package/dist/chrome/_tabs-scroll.js +73 -0
  62. package/dist/chrome/_tree.d.ts +75 -0
  63. package/dist/chrome/_tree.js +49 -0
  64. package/dist/chrome/app-bar.d.ts +103 -0
  65. package/dist/chrome/app-bar.js +175 -0
  66. package/dist/chrome/app-shell.d.ts +243 -0
  67. package/dist/chrome/app-shell.js +266 -0
  68. package/dist/chrome/band.d.ts +106 -0
  69. package/dist/chrome/band.js +97 -0
  70. package/dist/chrome/empty-state.d.ts +37 -0
  71. package/dist/chrome/empty-state.js +57 -0
  72. package/dist/chrome/eyebrow.d.ts +29 -0
  73. package/dist/chrome/eyebrow.js +36 -0
  74. package/dist/chrome/footer.d.ts +88 -0
  75. package/dist/chrome/footer.js +83 -0
  76. package/dist/chrome/index.d.ts +24 -0
  77. package/dist/chrome/index.js +22 -0
  78. package/dist/chrome/inspector.d.ts +61 -0
  79. package/dist/chrome/inspector.js +121 -0
  80. package/dist/chrome/navigation-menu.d.ts +80 -0
  81. package/dist/chrome/navigation-menu.js +121 -0
  82. package/dist/chrome/page-shell.d.ts +38 -0
  83. package/dist/chrome/page-shell.js +76 -0
  84. package/dist/chrome/panel.d.ts +55 -0
  85. package/dist/chrome/panel.js +67 -0
  86. package/dist/chrome/row.d.ts +82 -0
  87. package/dist/chrome/row.js +106 -0
  88. package/dist/chrome/scroll-area.d.ts +39 -0
  89. package/dist/chrome/scroll-area.js +70 -0
  90. package/dist/chrome/section-header.d.ts +42 -0
  91. package/dist/chrome/section-header.js +79 -0
  92. package/dist/chrome/segmented-control.d.ts +77 -0
  93. package/dist/chrome/segmented-control.js +95 -0
  94. package/dist/chrome/status-bar.d.ts +129 -0
  95. package/dist/chrome/status-bar.js +120 -0
  96. package/dist/chrome/tabs.d.ts +80 -0
  97. package/dist/chrome/tabs.js +132 -0
  98. package/dist/chrome/title-bar.d.ts +47 -0
  99. package/dist/chrome/title-bar.js +43 -0
  100. package/dist/chrome/toolbar.d.ts +68 -0
  101. package/dist/chrome/toolbar.js +83 -0
  102. package/dist/chrome/tree.d.ts +98 -0
  103. package/dist/chrome/tree.js +248 -0
  104. package/dist/color/_checker.js +14 -0
  105. package/dist/color/_convert.d.ts +52 -0
  106. package/dist/color/_convert.js +66 -0
  107. package/dist/color/_glyphs.js +28 -0
  108. package/dist/color/_thumb.js +15 -0
  109. package/dist/color/_value.js +28 -0
  110. package/dist/color/color-area.d.ts +27 -0
  111. package/dist/color/color-area.js +40 -0
  112. package/dist/color/color-field.d.ts +32 -0
  113. package/dist/color/color-field.js +43 -0
  114. package/dist/color/color-picker.d.ts +71 -0
  115. package/dist/color/color-picker.js +178 -0
  116. package/dist/color/color-slider.d.ts +31 -0
  117. package/dist/color/color-slider.js +51 -0
  118. package/dist/color/color-swatch.d.ts +32 -0
  119. package/dist/color/color-swatch.js +44 -0
  120. package/dist/color/index.d.ts +7 -0
  121. package/dist/color/index.js +7 -0
  122. package/dist/configurator/_export.d.ts +78 -0
  123. package/dist/configurator/_export.js +302 -0
  124. package/dist/configurator/_glyphs.js +92 -0
  125. package/dist/configurator/_overrides.d.ts +266 -0
  126. package/dist/configurator/_overrides.js +541 -0
  127. package/dist/configurator/configurator.d.ts +71 -0
  128. package/dist/configurator/configurator.js +284 -0
  129. package/dist/configurator/export-dialog.d.ts +30 -0
  130. package/dist/configurator/export-dialog.js +121 -0
  131. package/dist/configurator/index.d.ts +8 -0
  132. package/dist/configurator/index.js +8 -0
  133. package/dist/configurator/panel-sections.d.ts +86 -0
  134. package/dist/configurator/panel-sections.js +352 -0
  135. package/dist/configurator/token-editor.d.ts +74 -0
  136. package/dist/configurator/token-editor.js +152 -0
  137. package/dist/configurator/use-zoom.d.ts +87 -0
  138. package/dist/configurator/use-zoom.js +113 -0
  139. package/dist/date/_glyphs.js +34 -0
  140. package/dist/date/_segments.js +101 -0
  141. package/dist/date/_trigger.js +31 -0
  142. package/dist/date/calendar.d.ts +25 -0
  143. package/dist/date/calendar.js +125 -0
  144. package/dist/date/date-field.d.ts +34 -0
  145. package/dist/date/date-field.js +41 -0
  146. package/dist/date/date-picker.d.ts +69 -0
  147. package/dist/date/date-picker.js +89 -0
  148. package/dist/date/date-range-picker.d.ts +65 -0
  149. package/dist/date/date-range-picker.js +92 -0
  150. package/dist/date/index.d.ts +6 -0
  151. package/dist/date/index.js +6 -0
  152. package/dist/date/time-field.d.ts +29 -0
  153. package/dist/date/time-field.js +36 -0
  154. package/dist/dmx/_ramp.d.ts +77 -0
  155. package/dist/dmx/_ramp.js +169 -0
  156. package/dist/dmx/_readout.js +53 -0
  157. package/dist/dmx/_universe.d.ts +105 -0
  158. package/dist/dmx/_universe.js +112 -0
  159. package/dist/dmx/channel-matrix.d.ts +81 -0
  160. package/dist/dmx/channel-matrix.js +285 -0
  161. package/dist/dmx/dmx-bar.d.ts +50 -0
  162. package/dist/dmx/dmx-bar.js +107 -0
  163. package/dist/dmx/dmx-strip.d.ts +41 -0
  164. package/dist/dmx/dmx-strip.js +196 -0
  165. package/dist/dmx/index.d.ts +7 -0
  166. package/dist/dmx/index.js +7 -0
  167. package/dist/dmx/universe-grid.d.ts +61 -0
  168. package/dist/dmx/universe-grid.js +182 -0
  169. package/dist/elements/activity-graph.d.ts +40 -0
  170. package/dist/elements/activity-graph.js +81 -0
  171. package/dist/elements/agent-card.d.ts +49 -0
  172. package/dist/elements/agent-card.js +91 -0
  173. package/dist/elements/agent-handoff.d.ts +24 -0
  174. package/dist/elements/agent-handoff.js +53 -0
  175. package/dist/elements/agent-mode-badge.d.ts +72 -0
  176. package/dist/elements/agent-mode-badge.js +110 -0
  177. package/dist/elements/agent-plan.d.ts +24 -0
  178. package/dist/elements/agent-plan.js +74 -0
  179. package/dist/elements/agent-status.d.ts +29 -0
  180. package/dist/elements/agent-status.js +46 -0
  181. package/dist/elements/agent-surface.d.ts +65 -0
  182. package/dist/elements/agent-surface.js +68 -0
  183. package/dist/elements/animated-number.d.ts +86 -0
  184. package/dist/elements/animated-number.js +118 -0
  185. package/dist/elements/approval-card.d.ts +40 -0
  186. package/dist/elements/approval-card.js +78 -0
  187. package/dist/elements/artifact-card.d.ts +30 -0
  188. package/dist/elements/artifact-card.js +58 -0
  189. package/dist/elements/background-inbox.d.ts +39 -0
  190. package/dist/elements/background-inbox.js +60 -0
  191. package/dist/elements/canvas-split.d.ts +77 -0
  192. package/dist/elements/canvas-split.js +138 -0
  193. package/dist/elements/chart.d.ts +41 -0
  194. package/dist/elements/chart.js +117 -0
  195. package/dist/elements/chat-panel.d.ts +46 -0
  196. package/dist/elements/chat-panel.js +104 -0
  197. package/dist/elements/checkpoint-history.d.ts +31 -0
  198. package/dist/elements/checkpoint-history.js +65 -0
  199. package/dist/elements/clamp.d.ts +90 -0
  200. package/dist/elements/clamp.js +109 -0
  201. package/dist/elements/code-diff.d.ts +42 -0
  202. package/dist/elements/code-diff.js +69 -0
  203. package/dist/elements/code-runner.d.ts +38 -0
  204. package/dist/elements/code-runner.js +84 -0
  205. package/dist/elements/command-palette.d.ts +48 -0
  206. package/dist/elements/command-palette.js +129 -0
  207. package/dist/elements/compaction-row.d.ts +63 -0
  208. package/dist/elements/compaction-row.js +110 -0
  209. package/dist/elements/comparison-card.d.ts +47 -0
  210. package/dist/elements/comparison-card.js +69 -0
  211. package/dist/elements/composer.d.ts +274 -0
  212. package/dist/elements/composer.js +505 -0
  213. package/dist/elements/computer-use.d.ts +40 -0
  214. package/dist/elements/computer-use.js +92 -0
  215. package/dist/elements/confidence-marker.d.ts +39 -0
  216. package/dist/elements/confidence-marker.js +64 -0
  217. package/dist/elements/connection-state.d.ts +29 -0
  218. package/dist/elements/connection-state.js +66 -0
  219. package/dist/elements/context-breakdown.d.ts +30 -0
  220. package/dist/elements/context-breakdown.js +86 -0
  221. package/dist/elements/context-usage.d.ts +99 -0
  222. package/dist/elements/context-usage.js +225 -0
  223. package/dist/elements/conversation-search.d.ts +48 -0
  224. package/dist/elements/conversation-search.js +88 -0
  225. package/dist/elements/cost-meter.d.ts +33 -0
  226. package/dist/elements/cost-meter.js +75 -0
  227. package/dist/elements/data-table.d.ts +31 -0
  228. package/dist/elements/data-table.js +67 -0
  229. package/dist/elements/day-separator.d.ts +34 -0
  230. package/dist/elements/day-separator.js +50 -0
  231. package/dist/elements/diagram.d.ts +34 -0
  232. package/dist/elements/diagram.js +75 -0
  233. package/dist/elements/document-reference.d.ts +37 -0
  234. package/dist/elements/document-reference.js +66 -0
  235. package/dist/elements/draft-restore.d.ts +27 -0
  236. package/dist/elements/draft-restore.js +54 -0
  237. package/dist/elements/edit-message.d.ts +36 -0
  238. package/dist/elements/edit-message.js +77 -0
  239. package/dist/elements/elements.css +459 -0
  240. package/dist/elements/elicitation-form.d.ts +48 -0
  241. package/dist/elements/elicitation-form.js +106 -0
  242. package/dist/elements/empty-state.d.ts +52 -0
  243. package/dist/elements/empty-state.js +98 -0
  244. package/dist/elements/end-of-turn-summary.d.ts +60 -0
  245. package/dist/elements/end-of-turn-summary.js +75 -0
  246. package/dist/elements/error-state.d.ts +29 -0
  247. package/dist/elements/error-state.js +55 -0
  248. package/dist/elements/feedback-dialog.d.ts +36 -0
  249. package/dist/elements/feedback-dialog.js +81 -0
  250. package/dist/elements/file-tree.d.ts +45 -0
  251. package/dist/elements/file-tree.js +84 -0
  252. package/dist/elements/flow-graph.d.ts +45 -0
  253. package/dist/elements/flow-graph.js +78 -0
  254. package/dist/elements/generative/chart.js +200 -0
  255. package/dist/elements/generative/faults.js +111 -0
  256. package/dist/elements/generative/icons.d.ts +41 -0
  257. package/dist/elements/generative/icons.js +190 -0
  258. package/dist/elements/generative/intrinsics.js +483 -0
  259. package/dist/elements/generative/spec.d.ts +110 -0
  260. package/dist/elements/generative/spec.js +366 -0
  261. package/dist/elements/generative.css +1145 -0
  262. package/dist/elements/generative.d.ts +144 -0
  263. package/dist/elements/generative.js +126 -0
  264. package/dist/elements/guardrail-notice.d.ts +29 -0
  265. package/dist/elements/guardrail-notice.js +63 -0
  266. package/dist/elements/image-generation.d.ts +18 -0
  267. package/dist/elements/image-generation.js +64 -0
  268. package/dist/elements/index.d.ts +116 -0
  269. package/dist/elements/index.js +115 -0
  270. package/dist/elements/inline-citation.d.ts +43 -0
  271. package/dist/elements/inline-citation.js +93 -0
  272. package/dist/elements/job-progress.d.ts +49 -0
  273. package/dist/elements/job-progress.js +74 -0
  274. package/dist/elements/launcher-bubble.d.ts +34 -0
  275. package/dist/elements/launcher-bubble.js +72 -0
  276. package/dist/elements/live-region-announcer.d.ts +130 -0
  277. package/dist/elements/live-region-announcer.js +230 -0
  278. package/dist/elements/loading-state.d.ts +27 -0
  279. package/dist/elements/loading-state.js +36 -0
  280. package/dist/elements/map-answer.d.ts +38 -0
  281. package/dist/elements/map-answer.js +93 -0
  282. package/dist/elements/markdown.d.ts +131 -0
  283. package/dist/elements/markdown.js +528 -0
  284. package/dist/elements/math-block.d.ts +51 -0
  285. package/dist/elements/math-block.js +70 -0
  286. package/dist/elements/mcp-server-panel.d.ts +41 -0
  287. package/dist/elements/mcp-server-panel.js +115 -0
  288. package/dist/elements/memory-chips.d.ts +30 -0
  289. package/dist/elements/memory-chips.js +43 -0
  290. package/dist/elements/message-actions.d.ts +38 -0
  291. package/dist/elements/message-actions.js +71 -0
  292. package/dist/elements/message-attachment.d.ts +48 -0
  293. package/dist/elements/message-attachment.js +63 -0
  294. package/dist/elements/message-branches.d.ts +25 -0
  295. package/dist/elements/message-branches.js +65 -0
  296. package/dist/elements/message-pair.d.ts +33 -0
  297. package/dist/elements/message-pair.js +65 -0
  298. package/dist/elements/message-queue.d.ts +31 -0
  299. package/dist/elements/message-queue.js +80 -0
  300. package/dist/elements/message-timing.d.ts +33 -0
  301. package/dist/elements/message-timing.js +37 -0
  302. package/dist/elements/mobile-composer.d.ts +44 -0
  303. package/dist/elements/mobile-composer.js +88 -0
  304. package/dist/elements/model-picker.d.ts +38 -0
  305. package/dist/elements/model-picker.js +69 -0
  306. package/dist/elements/number-ticker.d.ts +18 -0
  307. package/dist/elements/number-ticker.js +47 -0
  308. package/dist/elements/onboarding.d.ts +30 -0
  309. package/dist/elements/onboarding.js +75 -0
  310. package/dist/elements/permission-grant.d.ts +35 -0
  311. package/dist/elements/permission-grant.js +86 -0
  312. package/dist/elements/permission-scopes.d.ts +215 -0
  313. package/dist/elements/permission-scopes.js +249 -0
  314. package/dist/elements/prompt-library.d.ts +43 -0
  315. package/dist/elements/prompt-library.js +117 -0
  316. package/dist/elements/queue-dock.d.ts +101 -0
  317. package/dist/elements/queue-dock.js +132 -0
  318. package/dist/elements/quota-banner.d.ts +26 -0
  319. package/dist/elements/quota-banner.js +66 -0
  320. package/dist/elements/quote-reply.d.ts +44 -0
  321. package/dist/elements/quote-reply.js +79 -0
  322. package/dist/elements/range.d.ts +29 -0
  323. package/dist/elements/range.js +45 -0
  324. package/dist/elements/read-aloud.d.ts +45 -0
  325. package/dist/elements/read-aloud.js +75 -0
  326. package/dist/elements/reasoning-effort.d.ts +36 -0
  327. package/dist/elements/reasoning-effort.js +67 -0
  328. package/dist/elements/reasoning-panel.d.ts +46 -0
  329. package/dist/elements/reasoning-panel.js +75 -0
  330. package/dist/elements/recommendation-card.d.ts +45 -0
  331. package/dist/elements/recommendation-card.js +83 -0
  332. package/dist/elements/regenerate-menu.d.ts +45 -0
  333. package/dist/elements/regenerate-menu.js +51 -0
  334. package/dist/elements/replay.d.ts +217 -0
  335. package/dist/elements/replay.js +498 -0
  336. package/dist/elements/research-report.d.ts +38 -0
  337. package/dist/elements/research-report.js +69 -0
  338. package/dist/elements/retrieval-chunks.d.ts +43 -0
  339. package/dist/elements/retrieval-chunks.js +81 -0
  340. package/dist/elements/revert-dock.d.ts +159 -0
  341. package/dist/elements/revert-dock.js +327 -0
  342. package/dist/elements/reviewable-diff.d.ts +45 -0
  343. package/dist/elements/reviewable-diff.js +110 -0
  344. package/dist/elements/risk-badge.d.ts +52 -0
  345. package/dist/elements/risk-badge.js +91 -0
  346. package/dist/elements/schedule-card.d.ts +42 -0
  347. package/dist/elements/schedule-card.js +90 -0
  348. package/dist/elements/score-breakdown.d.ts +47 -0
  349. package/dist/elements/score-breakdown.js +82 -0
  350. package/dist/elements/scroll-anchor.d.ts +32 -0
  351. package/dist/elements/scroll-anchor.js +123 -0
  352. package/dist/elements/settings-panel.d.ts +52 -0
  353. package/dist/elements/settings-panel.js +107 -0
  354. package/dist/elements/shared-conversation.d.ts +39 -0
  355. package/dist/elements/shared-conversation.js +68 -0
  356. package/dist/elements/sources.d.ts +33 -0
  357. package/dist/elements/sources.js +61 -0
  358. package/dist/elements/speaker-identity.d.ts +32 -0
  359. package/dist/elements/speaker-identity.js +51 -0
  360. package/dist/elements/spec-sheet.d.ts +31 -0
  361. package/dist/elements/spec-sheet.js +45 -0
  362. package/dist/elements/stopped-run.d.ts +22 -0
  363. package/dist/elements/stopped-run.js +50 -0
  364. package/dist/elements/streaming-text.d.ts +31 -0
  365. package/dist/elements/streaming-text.js +45 -0
  366. package/dist/elements/subagent-list.d.ts +37 -0
  367. package/dist/elements/subagent-list.js +79 -0
  368. package/dist/elements/suggestions.d.ts +30 -0
  369. package/dist/elements/suggestions.js +36 -0
  370. package/dist/elements/surfaces.d.ts +85 -0
  371. package/dist/elements/surfaces.js +108 -0
  372. package/dist/elements/tail-status.d.ts +131 -0
  373. package/dist/elements/tail-status.js +94 -0
  374. package/dist/elements/terminal-block.d.ts +29 -0
  375. package/dist/elements/terminal-block.js +54 -0
  376. package/dist/elements/thinking-indicator.d.ts +18 -0
  377. package/dist/elements/thinking-indicator.js +36 -0
  378. package/dist/elements/thread-list.d.ts +35 -0
  379. package/dist/elements/thread-list.js +68 -0
  380. package/dist/elements/thread-search.d.ts +42 -0
  381. package/dist/elements/thread-search.js +99 -0
  382. package/dist/elements/timeline.d.ts +37 -0
  383. package/dist/elements/timeline.js +46 -0
  384. package/dist/elements/todo-list.d.ts +42 -0
  385. package/dist/elements/todo-list.js +59 -0
  386. package/dist/elements/tool-call.d.ts +41 -0
  387. package/dist/elements/tool-call.js +85 -0
  388. package/dist/elements/tool-error.d.ts +39 -0
  389. package/dist/elements/tool-error.js +76 -0
  390. package/dist/elements/tool-group.d.ts +45 -0
  391. package/dist/elements/tool-group.js +71 -0
  392. package/dist/elements/tool-timeline.d.ts +65 -0
  393. package/dist/elements/tool-timeline.js +88 -0
  394. package/dist/elements/trace-waterfall.d.ts +37 -0
  395. package/dist/elements/trace-waterfall.js +69 -0
  396. package/dist/elements/transcript-rules.d.ts +67 -0
  397. package/dist/elements/transcript-rules.js +95 -0
  398. package/dist/elements/turn-footer.d.ts +74 -0
  399. package/dist/elements/turn-footer.js +101 -0
  400. package/dist/elements/typing-indicator.d.ts +16 -0
  401. package/dist/elements/typing-indicator.js +51 -0
  402. package/dist/elements/verdict-row.d.ts +89 -0
  403. package/dist/elements/verdict-row.js +150 -0
  404. package/dist/elements/vocabulary.d.ts +612 -0
  405. package/dist/elements/vocabulary.js +611 -0
  406. package/dist/elements/voice-conversation.d.ts +49 -0
  407. package/dist/elements/voice-conversation.js +123 -0
  408. package/dist/elements/web-preview.d.ts +32 -0
  409. package/dist/elements/web-preview.js +66 -0
  410. package/dist/elements/web-search.d.ts +37 -0
  411. package/dist/elements/web-search.js +66 -0
  412. package/dist/elements/work-collapse.d.ts +103 -0
  413. package/dist/elements/work-collapse.js +131 -0
  414. package/dist/flow/_frame.d.ts +52 -0
  415. package/dist/flow/_frame.js +38 -0
  416. package/dist/flow/controls.d.ts +41 -0
  417. package/dist/flow/controls.js +53 -0
  418. package/dist/flow/flow.css +121 -0
  419. package/dist/flow/handles.d.ts +40 -0
  420. package/dist/flow/handles.js +61 -0
  421. package/dist/flow/index.d.ts +7 -0
  422. package/dist/flow/index.js +7 -0
  423. package/dist/flow/node-card.d.ts +71 -0
  424. package/dist/flow/node-card.js +102 -0
  425. package/dist/flow/signal-edge.d.ts +60 -0
  426. package/dist/flow/signal-edge.js +108 -0
  427. package/dist/flow/use-flow-theme.d.ts +69 -0
  428. package/dist/flow/use-flow-theme.js +109 -0
  429. package/dist/forms/_chassis.d.ts +164 -0
  430. package/dist/forms/_chassis.js +159 -0
  431. package/dist/forms/_glyphs.js +143 -0
  432. package/dist/forms/_listbox.js +55 -0
  433. package/dist/forms/autocomplete.d.ts +61 -0
  434. package/dist/forms/autocomplete.js +88 -0
  435. package/dist/forms/button-group.d.ts +47 -0
  436. package/dist/forms/button-group.js +52 -0
  437. package/dist/forms/checkbox.d.ts +51 -0
  438. package/dist/forms/checkbox.js +98 -0
  439. package/dist/forms/combobox.d.ts +73 -0
  440. package/dist/forms/combobox.js +108 -0
  441. package/dist/forms/env-var-input.d.ts +74 -0
  442. package/dist/forms/env-var-input.js +116 -0
  443. package/dist/forms/field.d.ts +89 -0
  444. package/dist/forms/field.js +102 -0
  445. package/dist/forms/file-upload.d.ts +113 -0
  446. package/dist/forms/file-upload.js +232 -0
  447. package/dist/forms/index.d.ts +26 -0
  448. package/dist/forms/index.js +26 -0
  449. package/dist/forms/input-group.d.ts +36 -0
  450. package/dist/forms/input-group.js +59 -0
  451. package/dist/forms/input.d.ts +45 -0
  452. package/dist/forms/input.js +36 -0
  453. package/dist/forms/multi-select.d.ts +62 -0
  454. package/dist/forms/multi-select.js +107 -0
  455. package/dist/forms/number-field.d.ts +39 -0
  456. package/dist/forms/number-field.js +65 -0
  457. package/dist/forms/otp-field.d.ts +54 -0
  458. package/dist/forms/otp-field.js +59 -0
  459. package/dist/forms/password-input.d.ts +46 -0
  460. package/dist/forms/password-input.js +62 -0
  461. package/dist/forms/radio-group.d.ts +50 -0
  462. package/dist/forms/radio-group.js +64 -0
  463. package/dist/forms/rating.d.ts +69 -0
  464. package/dist/forms/rating.js +103 -0
  465. package/dist/forms/scrub-input.d.ts +81 -0
  466. package/dist/forms/scrub-input.js +249 -0
  467. package/dist/forms/search-input.d.ts +54 -0
  468. package/dist/forms/search-input.js +112 -0
  469. package/dist/forms/select.d.ts +75 -0
  470. package/dist/forms/select.js +91 -0
  471. package/dist/forms/slider.d.ts +44 -0
  472. package/dist/forms/slider.js +65 -0
  473. package/dist/forms/switch.d.ts +36 -0
  474. package/dist/forms/switch.js +71 -0
  475. package/dist/forms/tags-input.d.ts +69 -0
  476. package/dist/forms/tags-input.js +148 -0
  477. package/dist/forms/textarea.d.ts +39 -0
  478. package/dist/forms/textarea.js +37 -0
  479. package/dist/forms/toggle-group.d.ts +41 -0
  480. package/dist/forms/toggle-group.js +56 -0
  481. package/dist/forms/toggle.d.ts +47 -0
  482. package/dist/forms/toggle.js +100 -0
  483. package/dist/icons/containers.d.ts +89 -0
  484. package/dist/icons/containers.js +295 -0
  485. package/dist/icons/index.d.ts +2 -0
  486. package/dist/index.d.ts +138 -0
  487. package/dist/index.js +124 -0
  488. package/dist/instruments/_ansi.js +116 -0
  489. package/dist/instruments/_data-row.d.ts +68 -0
  490. package/dist/instruments/_data-row.js +139 -0
  491. package/dist/instruments/_glyphs.js +90 -0
  492. package/dist/instruments/_ledger-disclosure.js +103 -0
  493. package/dist/instruments/_ledger.d.ts +21 -0
  494. package/dist/instruments/_ledger.js +5 -0
  495. package/dist/instruments/_motion.js +56 -0
  496. package/dist/instruments/_rem.js +21 -0
  497. package/dist/instruments/app-window-frame.d.ts +48 -0
  498. package/dist/instruments/app-window-frame.js +76 -0
  499. package/dist/instruments/code-block.d.ts +35 -0
  500. package/dist/instruments/code-block.js +173 -0
  501. package/dist/instruments/copy-button.d.ts +41 -0
  502. package/dist/instruments/copy-button.js +112 -0
  503. package/dist/instruments/data-row.d.ts +94 -0
  504. package/dist/instruments/data-row.js +151 -0
  505. package/dist/instruments/data-table.d.ts +168 -0
  506. package/dist/instruments/data-table.js +212 -0
  507. package/dist/instruments/data-tree.d.ts +126 -0
  508. package/dist/instruments/data-tree.js +303 -0
  509. package/dist/instruments/group-bar.d.ts +63 -0
  510. package/dist/instruments/group-bar.js +122 -0
  511. package/dist/instruments/index.d.ts +18 -0
  512. package/dist/instruments/index.js +18 -0
  513. package/dist/instruments/ledger.d.ts +204 -0
  514. package/dist/instruments/ledger.js +204 -0
  515. package/dist/instruments/log-viewer.d.ts +74 -0
  516. package/dist/instruments/log-viewer.js +215 -0
  517. package/dist/instruments/meter.d.ts +81 -0
  518. package/dist/instruments/meter.js +96 -0
  519. package/dist/instruments/progress.d.ts +61 -0
  520. package/dist/instruments/progress.js +79 -0
  521. package/dist/instruments/seam-grid.d.ts +66 -0
  522. package/dist/instruments/seam-grid.js +78 -0
  523. package/dist/instruments/sparkline.d.ts +39 -0
  524. package/dist/instruments/sparkline.js +85 -0
  525. package/dist/instruments/stat.d.ts +35 -0
  526. package/dist/instruments/stat.js +59 -0
  527. package/dist/instruments/table.d.ts +170 -0
  528. package/dist/instruments/table.js +237 -0
  529. package/dist/instruments/terminal-frame.d.ts +89 -0
  530. package/dist/instruments/terminal-frame.js +256 -0
  531. package/dist/instruments/two-step-button.d.ts +47 -0
  532. package/dist/instruments/two-step-button.js +166 -0
  533. package/dist/instruments/usage-chart.d.ts +55 -0
  534. package/dist/instruments/usage-chart.js +235 -0
  535. package/dist/layout/_collapse.js +46 -0
  536. package/dist/layout/_glyphs.js +45 -0
  537. package/dist/layout/_ground.d.ts +22 -0
  538. package/dist/layout/_ground.js +9 -0
  539. package/dist/layout/accordion.d.ts +52 -0
  540. package/dist/layout/accordion.js +81 -0
  541. package/dist/layout/bento.d.ts +144 -0
  542. package/dist/layout/bento.js +266 -0
  543. package/dist/layout/breadcrumb.d.ts +35 -0
  544. package/dist/layout/breadcrumb.js +67 -0
  545. package/dist/layout/card.d.ts +51 -0
  546. package/dist/layout/card.js +76 -0
  547. package/dist/layout/carousel.d.ts +96 -0
  548. package/dist/layout/carousel.js +211 -0
  549. package/dist/layout/collapsible.d.ts +74 -0
  550. package/dist/layout/collapsible.js +126 -0
  551. package/dist/layout/container.d.ts +27 -0
  552. package/dist/layout/container.js +43 -0
  553. package/dist/layout/description-list.d.ts +24 -0
  554. package/dist/layout/description-list.js +37 -0
  555. package/dist/layout/frames.d.ts +70 -0
  556. package/dist/layout/frames.js +298 -0
  557. package/dist/layout/grid.d.ts +40 -0
  558. package/dist/layout/grid.js +48 -0
  559. package/dist/layout/index.d.ts +19 -0
  560. package/dist/layout/index.js +18 -0
  561. package/dist/layout/item.d.ts +65 -0
  562. package/dist/layout/item.js +100 -0
  563. package/dist/layout/link.d.ts +48 -0
  564. package/dist/layout/link.js +63 -0
  565. package/dist/layout/pagination.d.ts +54 -0
  566. package/dist/layout/pagination.js +121 -0
  567. package/dist/layout/preview.d.ts +177 -0
  568. package/dist/layout/preview.js +628 -0
  569. package/dist/layout/resizable.d.ts +38 -0
  570. package/dist/layout/resizable.js +68 -0
  571. package/dist/layout/sidebar.d.ts +105 -0
  572. package/dist/layout/sidebar.js +158 -0
  573. package/dist/layout/stack.d.ts +46 -0
  574. package/dist/layout/stack.js +62 -0
  575. package/dist/layout/stepper.d.ts +49 -0
  576. package/dist/layout/stepper.js +81 -0
  577. package/dist/layout/timeline.d.ts +43 -0
  578. package/dist/layout/timeline.js +63 -0
  579. package/dist/lib/aria-class.js +24 -0
  580. package/dist/lib/cn.js +18 -0
  581. package/dist/lib/compose.js +38 -0
  582. package/dist/lib/cva.d.ts +18 -0
  583. package/dist/lib/cva.js +65 -0
  584. package/dist/midi/_notes.d.ts +101 -0
  585. package/dist/midi/_notes.js +183 -0
  586. package/dist/midi/_ruler.d.ts +100 -0
  587. package/dist/midi/_ruler.js +105 -0
  588. package/dist/midi/_time.d.ts +107 -0
  589. package/dist/midi/_time.js +130 -0
  590. package/dist/midi/index.d.ts +9 -0
  591. package/dist/midi/index.js +9 -0
  592. package/dist/midi/musical-time-input.d.ts +48 -0
  593. package/dist/midi/musical-time-input.js +154 -0
  594. package/dist/midi/piano-keyboard.d.ts +50 -0
  595. package/dist/midi/piano-keyboard.js +197 -0
  596. package/dist/midi/spectrum-visualizer.d.ts +65 -0
  597. package/dist/midi/spectrum-visualizer.js +213 -0
  598. package/dist/midi/threshold-rail.d.ts +72 -0
  599. package/dist/midi/threshold-rail.js +214 -0
  600. package/dist/midi/timeline-ruler.d.ts +83 -0
  601. package/dist/midi/timeline-ruler.js +152 -0
  602. package/dist/overlays/_debounce.js +34 -0
  603. package/dist/overlays/_glyphs.js +59 -0
  604. package/dist/overlays/_surface.d.ts +70 -0
  605. package/dist/overlays/_surface.js +70 -0
  606. package/dist/overlays/_wheel.js +42 -0
  607. package/dist/overlays/alert-dialog.d.ts +67 -0
  608. package/dist/overlays/alert-dialog.js +117 -0
  609. package/dist/overlays/command-palette.d.ts +93 -0
  610. package/dist/overlays/command-palette.js +193 -0
  611. package/dist/overlays/context-menu.d.ts +64 -0
  612. package/dist/overlays/context-menu.js +78 -0
  613. package/dist/overlays/dialog.d.ts +72 -0
  614. package/dist/overlays/dialog.js +124 -0
  615. package/dist/overlays/drawer.d.ts +75 -0
  616. package/dist/overlays/drawer.js +151 -0
  617. package/dist/overlays/dropdown-menu.d.ts +79 -0
  618. package/dist/overlays/dropdown-menu.js +156 -0
  619. package/dist/overlays/hover-card.d.ts +58 -0
  620. package/dist/overlays/hover-card.js +91 -0
  621. package/dist/overlays/index.d.ts +15 -0
  622. package/dist/overlays/index.js +15 -0
  623. package/dist/overlays/info-tip.d.ts +41 -0
  624. package/dist/overlays/info-tip.js +45 -0
  625. package/dist/overlays/menubar.d.ts +72 -0
  626. package/dist/overlays/menubar.js +100 -0
  627. package/dist/overlays/popover.d.ts +66 -0
  628. package/dist/overlays/popover.js +114 -0
  629. package/dist/overlays/sheet.d.ts +78 -0
  630. package/dist/overlays/sheet.js +131 -0
  631. package/dist/overlays/toast.d.ts +106 -0
  632. package/dist/overlays/toast.js +146 -0
  633. package/dist/overlays/tooltip.d.ts +57 -0
  634. package/dist/overlays/tooltip.js +95 -0
  635. package/dist/primitives/avatar.d.ts +51 -0
  636. package/dist/primitives/avatar.js +93 -0
  637. package/dist/primitives/button.d.ts +58 -0
  638. package/dist/primitives/button.js +104 -0
  639. package/dist/primitives/chip.d.ts +73 -0
  640. package/dist/primitives/chip.js +238 -0
  641. package/dist/primitives/icon-button.d.ts +41 -0
  642. package/dist/primitives/icon-button.js +59 -0
  643. package/dist/primitives/index.d.ts +10 -0
  644. package/dist/primitives/index.js +10 -0
  645. package/dist/primitives/kbd.d.ts +17 -0
  646. package/dist/primitives/kbd.js +24 -0
  647. package/dist/primitives/separator.d.ts +25 -0
  648. package/dist/primitives/separator.js +30 -0
  649. package/dist/primitives/skeleton.d.ts +20 -0
  650. package/dist/primitives/skeleton.js +27 -0
  651. package/dist/primitives/spinner.d.ts +26 -0
  652. package/dist/primitives/spinner.js +31 -0
  653. package/dist/primitives/status-dot.d.ts +51 -0
  654. package/dist/primitives/status-dot.js +57 -0
  655. package/dist/styles.css +97 -0
  656. package/dist/system/agent-skin.d.ts +27 -0
  657. package/dist/system/agent-skin.js +20 -0
  658. package/dist/system/density.d.ts +73 -0
  659. package/dist/system/density.js +111 -0
  660. package/dist/system/index.d.ts +12 -0
  661. package/dist/system/index.js +10 -0
  662. package/dist/system/overrides.d.ts +80 -0
  663. package/dist/system/overrides.js +277 -0
  664. package/dist/system/portal.d.ts +56 -0
  665. package/dist/system/portal.js +193 -0
  666. package/dist/system/prepaint.d.ts +134 -0
  667. package/dist/system/prepaint.js +120 -0
  668. package/dist/system/theme-provider.d.ts +290 -0
  669. package/dist/system/theme-provider.js +543 -0
  670. package/dist/system/theme-registry.d.ts +53 -0
  671. package/dist/system/theme-registry.js +66 -0
  672. package/dist/system/use-density.d.ts +50 -0
  673. package/dist/system/use-density.js +232 -0
  674. package/dist/system/use-isomorphic-layout-effect.js +33 -0
  675. package/dist/system/use-theme.d.ts +30 -0
  676. package/dist/system/use-theme.js +36 -0
  677. package/dist/system/vocabulary.d.ts +16 -0
  678. package/dist/system/vocabulary.js +125 -0
  679. package/dist/theming/contrast.d.ts +2 -0
  680. package/dist/theming/contrast.js +2 -0
  681. package/dist/theming/create-theme.d.ts +195 -0
  682. package/dist/theming/create-theme.js +524 -0
  683. package/dist/theming/index.d.ts +4 -0
  684. package/dist/theming/index.js +4 -0
  685. package/dist/theming/serialize.d.ts +167 -0
  686. package/dist/theming/serialize.js +241 -0
  687. package/manifest/components/accordion.json +173 -0
  688. package/manifest/components/activity-graph.json +104 -0
  689. package/manifest/components/agent-card.json +150 -0
  690. package/manifest/components/agent-handoff.json +104 -0
  691. package/manifest/components/agent-mode-badge.json +102 -0
  692. package/manifest/components/agent-pile.json +147 -0
  693. package/manifest/components/agent-plan.json +74 -0
  694. package/manifest/components/agent-status.json +87 -0
  695. package/manifest/components/agent-surface.json +93 -0
  696. package/manifest/components/alert-dialog.json +215 -0
  697. package/manifest/components/animated-number.json +75 -0
  698. package/manifest/components/app-bar.json +297 -0
  699. package/manifest/components/app-shell.json +526 -0
  700. package/manifest/components/app-window-frame.json +124 -0
  701. package/manifest/components/approval-card.json +136 -0
  702. package/manifest/components/artifact-card.json +93 -0
  703. package/manifest/components/ask-box.json +288 -0
  704. package/manifest/components/audience-icon.json +46 -0
  705. package/manifest/components/autocomplete.json +262 -0
  706. package/manifest/components/avatar-group.json +83 -0
  707. package/manifest/components/avatar.json +113 -0
  708. package/manifest/components/background-inbox.json +79 -0
  709. package/manifest/components/band.json +104 -0
  710. package/manifest/components/bento.json +306 -0
  711. package/manifest/components/branch-picker.json +146 -0
  712. package/manifest/components/breadcrumb.json +85 -0
  713. package/manifest/components/button-group.json +91 -0
  714. package/manifest/components/button.json +163 -0
  715. package/manifest/components/calendar.json +65 -0
  716. package/manifest/components/canvas-split-body.json +66 -0
  717. package/manifest/components/canvas-split-document.json +55 -0
  718. package/manifest/components/canvas-split-header.json +97 -0
  719. package/manifest/components/canvas-split-line.json +66 -0
  720. package/manifest/components/canvas-split-message.json +70 -0
  721. package/manifest/components/canvas-split-thread.json +55 -0
  722. package/manifest/components/canvas-split.json +61 -0
  723. package/manifest/components/card.json +152 -0
  724. package/manifest/components/carousel.json +242 -0
  725. package/manifest/components/catalogue-icon.json +46 -0
  726. package/manifest/components/channel-beta-icon.json +46 -0
  727. package/manifest/components/channel-matrix.json +239 -0
  728. package/manifest/components/channel-released-icon.json +46 -0
  729. package/manifest/components/chart-container.json +127 -0
  730. package/manifest/components/chart-ramp.json +82 -0
  731. package/manifest/components/chart-swatch.json +72 -0
  732. package/manifest/components/chart-tooltip-content.json +140 -0
  733. package/manifest/components/chart.json +117 -0
  734. package/manifest/components/chat-empty-state.json +55 -0
  735. package/manifest/components/chat-panel-assistant-message.json +52 -0
  736. package/manifest/components/chat-panel-composer.json +74 -0
  737. package/manifest/components/chat-panel-messages.json +52 -0
  738. package/manifest/components/chat-panel-typing.json +52 -0
  739. package/manifest/components/chat-panel-user-message.json +52 -0
  740. package/manifest/components/chat-panel.json +58 -0
  741. package/manifest/components/checkbox-group.json +70 -0
  742. package/manifest/components/checkbox.json +106 -0
  743. package/manifest/components/checkpoint-history.json +91 -0
  744. package/manifest/components/chip.json +174 -0
  745. package/manifest/components/clamp.json +125 -0
  746. package/manifest/components/cli-tool-icon.json +46 -0
  747. package/manifest/components/code-block.json +107 -0
  748. package/manifest/components/code-diff.json +104 -0
  749. package/manifest/components/code-runner.json +124 -0
  750. package/manifest/components/collapsible.json +133 -0
  751. package/manifest/components/color-area.json +62 -0
  752. package/manifest/components/color-field.json +91 -0
  753. package/manifest/components/color-picker.json +235 -0
  754. package/manifest/components/color-slider.json +84 -0
  755. package/manifest/components/color-swatch.json +79 -0
  756. package/manifest/components/colors-section.json +70 -0
  757. package/manifest/components/combobox.json +265 -0
  758. package/manifest/components/command-palette.json +222 -0
  759. package/manifest/components/compaction-row.json +128 -0
  760. package/manifest/components/comparison-card.json +98 -0
  761. package/manifest/components/composer-actions.json +65 -0
  762. package/manifest/components/composer-attach-button.json +65 -0
  763. package/manifest/components/composer-attachment-chip.json +83 -0
  764. package/manifest/components/composer-attachments.json +60 -0
  765. package/manifest/components/composer-bar.json +76 -0
  766. package/manifest/components/composer-command-item.json +85 -0
  767. package/manifest/components/composer-context.json +71 -0
  768. package/manifest/components/composer-input.json +77 -0
  769. package/manifest/components/composer-menu-item.json +75 -0
  770. package/manifest/components/composer-menu.json +89 -0
  771. package/manifest/components/composer-model-item.json +82 -0
  772. package/manifest/components/composer-model-trigger.json +81 -0
  773. package/manifest/components/composer-person-item.json +86 -0
  774. package/manifest/components/composer-send.json +86 -0
  775. package/manifest/components/composer-toolbar.json +65 -0
  776. package/manifest/components/composer-voice-button.json +71 -0
  777. package/manifest/components/composer-voice.json +81 -0
  778. package/manifest/components/composer.json +238 -0
  779. package/manifest/components/computer-use.json +98 -0
  780. package/manifest/components/confidence-marker.json +86 -0
  781. package/manifest/components/connection-state.json +103 -0
  782. package/manifest/components/container.json +75 -0
  783. package/manifest/components/context-breakdown.json +72 -0
  784. package/manifest/components/context-menu.json +134 -0
  785. package/manifest/components/context-usage.json +98 -0
  786. package/manifest/components/conversation-search.json +111 -0
  787. package/manifest/components/copy-button.json +118 -0
  788. package/manifest/components/cost-meter.json +84 -0
  789. package/manifest/components/cue-logotype.json +110 -0
  790. package/manifest/components/cue-mark.json +111 -0
  791. package/manifest/components/cue-portal-frame.json +65 -0
  792. package/manifest/components/data-row.json +222 -0
  793. package/manifest/components/data-table-pagination.json +97 -0
  794. package/manifest/components/data-table-toolbar.json +127 -0
  795. package/manifest/components/data-tree.json +185 -0
  796. package/manifest/components/date-field.json +93 -0
  797. package/manifest/components/date-picker.json +255 -0
  798. package/manifest/components/date-range-picker.json +255 -0
  799. package/manifest/components/day-separator.json +63 -0
  800. package/manifest/components/delegation-card.json +196 -0
  801. package/manifest/components/density.json +93 -0
  802. package/manifest/components/description-list.json +91 -0
  803. package/manifest/components/diagram.json +126 -0
  804. package/manifest/components/dialog.json +222 -0
  805. package/manifest/components/disclosure.json +134 -0
  806. package/manifest/components/dmx-bar.json +107 -0
  807. package/manifest/components/dmx-strip.json +117 -0
  808. package/manifest/components/document-reference.json +108 -0
  809. package/manifest/components/draft-restore.json +96 -0
  810. package/manifest/components/drawer.json +204 -0
  811. package/manifest/components/dropdown-menu.json +275 -0
  812. package/manifest/components/edit-message.json +131 -0
  813. package/manifest/components/elements-command-palette.json +122 -0
  814. package/manifest/components/elements-composer.json +71 -0
  815. package/manifest/components/elements-data-table.json +75 -0
  816. package/manifest/components/elements-timeline.json +77 -0
  817. package/manifest/components/elicitation-form.json +130 -0
  818. package/manifest/components/empty-state-composer.json +71 -0
  819. package/manifest/components/empty-state-greeting.json +49 -0
  820. package/manifest/components/empty-state-suggestion.json +60 -0
  821. package/manifest/components/empty-state-suggestions.json +49 -0
  822. package/manifest/components/empty-state.json +111 -0
  823. package/manifest/components/end-of-turn-summary.json +89 -0
  824. package/manifest/components/env-var-input.json +194 -0
  825. package/manifest/components/error-state.json +93 -0
  826. package/manifest/components/export-dialog.json +101 -0
  827. package/manifest/components/eyebrow.json +59 -0
  828. package/manifest/components/feedback-dialog.json +133 -0
  829. package/manifest/components/field-description.json +66 -0
  830. package/manifest/components/field-error.json +87 -0
  831. package/manifest/components/field-label.json +66 -0
  832. package/manifest/components/field.json +82 -0
  833. package/manifest/components/file-tree.json +96 -0
  834. package/manifest/components/file-upload.json +204 -0
  835. package/manifest/components/flow-background.json +50 -0
  836. package/manifest/components/flow-controls.json +50 -0
  837. package/manifest/components/flow-graph.json +86 -0
  838. package/manifest/components/folder-icon.json +46 -0
  839. package/manifest/components/footer.json +133 -0
  840. package/manifest/components/frac.json +68 -0
  841. package/manifest/components/frames.json +210 -0
  842. package/manifest/components/generation-loader.json +78 -0
  843. package/manifest/components/generative-ui.json +125 -0
  844. package/manifest/components/grid.json +132 -0
  845. package/manifest/components/group-bar.json +122 -0
  846. package/manifest/components/guardrail-notice.json +109 -0
  847. package/manifest/components/hover-card.json +189 -0
  848. package/manifest/components/icon-button.json +106 -0
  849. package/manifest/components/image-generation.json +73 -0
  850. package/manifest/components/info-tip.json +133 -0
  851. package/manifest/components/inline-citation.json +90 -0
  852. package/manifest/components/input-group.json +112 -0
  853. package/manifest/components/input.json +121 -0
  854. package/manifest/components/inspector.json +199 -0
  855. package/manifest/components/item.json +163 -0
  856. package/manifest/components/job-progress.json +116 -0
  857. package/manifest/components/kbd.json +52 -0
  858. package/manifest/components/launcher-bubble.json +130 -0
  859. package/manifest/components/ledger.json +330 -0
  860. package/manifest/components/link.json +94 -0
  861. package/manifest/components/live-region-announcer.json +95 -0
  862. package/manifest/components/log-viewer.json +172 -0
  863. package/manifest/components/map-answer.json +97 -0
  864. package/manifest/components/markdown-text.json +126 -0
  865. package/manifest/components/math-block.json +84 -0
  866. package/manifest/components/mcp-server-icon.json +46 -0
  867. package/manifest/components/mcp-server-panel.json +102 -0
  868. package/manifest/components/memory-chips.json +73 -0
  869. package/manifest/components/menubar.json +184 -0
  870. package/manifest/components/message-actions.json +125 -0
  871. package/manifest/components/message-attachments.json +71 -0
  872. package/manifest/components/message-branches.json +83 -0
  873. package/manifest/components/message-list.json +121 -0
  874. package/manifest/components/message-pair.json +107 -0
  875. package/manifest/components/message-queue.json +85 -0
  876. package/manifest/components/message-timing.json +69 -0
  877. package/manifest/components/message.json +149 -0
  878. package/manifest/components/meter.json +150 -0
  879. package/manifest/components/mobile-composer.json +163 -0
  880. package/manifest/components/model-picker.json +87 -0
  881. package/manifest/components/multi-select.json +255 -0
  882. package/manifest/components/musical-time-input.json +141 -0
  883. package/manifest/components/navigation-menu.json +269 -0
  884. package/manifest/components/node-card.json +144 -0
  885. package/manifest/components/node-handle.json +84 -0
  886. package/manifest/components/number-field.json +131 -0
  887. package/manifest/components/number-ticker.json +67 -0
  888. package/manifest/components/onboarding.json +100 -0
  889. package/manifest/components/otp-field.json +163 -0
  890. package/manifest/components/page-shell.json +129 -0
  891. package/manifest/components/pagination.json +108 -0
  892. package/manifest/components/panel-header.json +89 -0
  893. package/manifest/components/panel.json +71 -0
  894. package/manifest/components/password-input.json +171 -0
  895. package/manifest/components/permission-grant.json +115 -0
  896. package/manifest/components/permission-scopes.json +184 -0
  897. package/manifest/components/piano-keyboard.json +149 -0
  898. package/manifest/components/plussie.json +140 -0
  899. package/manifest/components/popover.json +231 -0
  900. package/manifest/components/preset-section.json +80 -0
  901. package/manifest/components/preview.json +294 -0
  902. package/manifest/components/progress.json +114 -0
  903. package/manifest/components/prompt-library.json +122 -0
  904. package/manifest/components/queue-dock.json +139 -0
  905. package/manifest/components/quota-banner.json +113 -0
  906. package/manifest/components/quote-reply.json +129 -0
  907. package/manifest/components/radio-group.json +83 -0
  908. package/manifest/components/radio.json +94 -0
  909. package/manifest/components/rating.json +188 -0
  910. package/manifest/components/read-aloud.json +139 -0
  911. package/manifest/components/reasoning-effort.json +95 -0
  912. package/manifest/components/reasoning-panel.json +135 -0
  913. package/manifest/components/recommendation-card.json +133 -0
  914. package/manifest/components/regenerate-menu.json +107 -0
  915. package/manifest/components/replay-player.json +124 -0
  916. package/manifest/components/research-report.json +87 -0
  917. package/manifest/components/resizable.json +91 -0
  918. package/manifest/components/retrieval-chunks.json +98 -0
  919. package/manifest/components/revert-dock.json +197 -0
  920. package/manifest/components/reviewable-diff.json +113 -0
  921. package/manifest/components/risk-badge.json +89 -0
  922. package/manifest/components/row.json +122 -0
  923. package/manifest/components/schedule-card.json +121 -0
  924. package/manifest/components/score-breakdown.json +108 -0
  925. package/manifest/components/scroll-anchor.json +84 -0
  926. package/manifest/components/scroll-area.json +114 -0
  927. package/manifest/components/scrollable-tabs-list.json +91 -0
  928. package/manifest/components/scrub-input.json +268 -0
  929. package/manifest/components/seam-cell.json +91 -0
  930. package/manifest/components/seam-grid.json +84 -0
  931. package/manifest/components/seam-list.json +56 -0
  932. package/manifest/components/search-input.json +195 -0
  933. package/manifest/components/section-header.json +140 -0
  934. package/manifest/components/segmented-control.json +178 -0
  935. package/manifest/components/select.json +253 -0
  936. package/manifest/components/separator.json +56 -0
  937. package/manifest/components/settings-panel.json +152 -0
  938. package/manifest/components/shape-section.json +70 -0
  939. package/manifest/components/shared-conversation.json +107 -0
  940. package/manifest/components/sheet.json +210 -0
  941. package/manifest/components/shimmer-label.json +61 -0
  942. package/manifest/components/sidebar.json +245 -0
  943. package/manifest/components/signal-edge.json +56 -0
  944. package/manifest/components/skeleton.json +46 -0
  945. package/manifest/components/skill-icon.json +46 -0
  946. package/manifest/components/slider.json +106 -0
  947. package/manifest/components/sources.json +97 -0
  948. package/manifest/components/sparkline.json +89 -0
  949. package/manifest/components/speaker-identity.json +66 -0
  950. package/manifest/components/spec-sheet.json +93 -0
  951. package/manifest/components/spectrum-visualizer.json +147 -0
  952. package/manifest/components/spinner.json +71 -0
  953. package/manifest/components/stack-icon.json +46 -0
  954. package/manifest/components/stack.json +143 -0
  955. package/manifest/components/stacks-matrix-icon.json +46 -0
  956. package/manifest/components/stat.json +111 -0
  957. package/manifest/components/status-bar.json +233 -0
  958. package/manifest/components/status-dot.json +97 -0
  959. package/manifest/components/stepper.json +107 -0
  960. package/manifest/components/stopped-run.json +97 -0
  961. package/manifest/components/streaming-text.json +82 -0
  962. package/manifest/components/sub.json +45 -0
  963. package/manifest/components/subagent-list.json +106 -0
  964. package/manifest/components/suggestions.json +106 -0
  965. package/manifest/components/sup.json +45 -0
  966. package/manifest/components/swap-label.json +86 -0
  967. package/manifest/components/switch.json +102 -0
  968. package/manifest/components/table-scroll-region.json +78 -0
  969. package/manifest/components/table.json +306 -0
  970. package/manifest/components/tabs.json +156 -0
  971. package/manifest/components/tags-input.json +255 -0
  972. package/manifest/components/tail-status.json +138 -0
  973. package/manifest/components/terminal-block.json +111 -0
  974. package/manifest/components/terminal-frame.json +146 -0
  975. package/manifest/components/textarea.json +104 -0
  976. package/manifest/components/theme-configurator.json +158 -0
  977. package/manifest/components/theme-provider.json +228 -0
  978. package/manifest/components/thinking-indicator.json +69 -0
  979. package/manifest/components/thread-list.json +87 -0
  980. package/manifest/components/thread-search.json +108 -0
  981. package/manifest/components/threshold-rail.json +223 -0
  982. package/manifest/components/time-boundary.json +68 -0
  983. package/manifest/components/time-field.json +93 -0
  984. package/manifest/components/timeline-ruler.json +178 -0
  985. package/manifest/components/timeline.json +131 -0
  986. package/manifest/components/title-bar.json +97 -0
  987. package/manifest/components/toast.json +140 -0
  988. package/manifest/components/todo-list.json +76 -0
  989. package/manifest/components/toggle-group.json +134 -0
  990. package/manifest/components/toggle.json +140 -0
  991. package/manifest/components/token-editor.json +106 -0
  992. package/manifest/components/tool-call-card.json +268 -0
  993. package/manifest/components/tool-call.json +147 -0
  994. package/manifest/components/tool-error.json +141 -0
  995. package/manifest/components/tool-group.json +97 -0
  996. package/manifest/components/tool-timeline.json +147 -0
  997. package/manifest/components/toolbar.json +192 -0
  998. package/manifest/components/tooltip.json +199 -0
  999. package/manifest/components/trace-waterfall.json +84 -0
  1000. package/manifest/components/tree-visibility-toggle.json +99 -0
  1001. package/manifest/components/tree.json +182 -0
  1002. package/manifest/components/turn-footer.json +133 -0
  1003. package/manifest/components/two-step-button.json +150 -0
  1004. package/manifest/components/typing-indicator.json +60 -0
  1005. package/manifest/components/universe-grid.json +155 -0
  1006. package/manifest/components/unread-divider.json +58 -0
  1007. package/manifest/components/usage-chart.json +162 -0
  1008. package/manifest/components/verdict-row.json +106 -0
  1009. package/manifest/components/voice-conversation.json +141 -0
  1010. package/manifest/components/web-preview.json +105 -0
  1011. package/manifest/components/web-search.json +108 -0
  1012. package/manifest/components/work-collapse.json +125 -0
  1013. package/manifest/fixtures.json +776 -0
  1014. package/manifest/manifest.json +5037 -0
  1015. package/manifest/tokens.json +288 -0
  1016. package/package.json +278 -0
@@ -0,0 +1,104 @@
1
+ {
2
+ "name": "Band",
3
+ "slug": "band",
4
+ "group": "chrome",
5
+ "importPath": "@cueplusplus/ui",
6
+ "peerDependencies": [],
7
+ "clientOnly": false,
8
+ "description": "A full-bleed horizontal section: the page's rhythm, its separation, and a\ncolumn at the measure.\n\nThis is `Footer`'s recipe with the footer taken out of it — a `w-full`\nelement, a rule running edge to edge, and a centred `Container` inside so the\nline reaches the window while the words stop at the measure. `Footer` is\nbuilt on this rather than beside it; the recipe exists once.\n\nEvery dimension it spends belongs to the style axis, so the same markup\ncomposes differently under `[data-style]` without a prop changing: the\nvertical rhythm is `--cue-band-y` (one `--cue-space-7` with no set, doubled\nunder `editorial`, trebled under `marketing`), the column is\n`--cue-measure-prose` unless `width` names a fixed rung, and the rule and the\nground are `--cue-band-rule` and `--cue-band-ground`. Read `separation`'s own\ndocumentation before choosing one, because two of the four can come out to\nnothing and they do not vanish symmetrically: `--cue-band-ground` is\n`transparent` on `:root` and on two of the three sets, so a `\"ground\"` paints\nnothing in three of the four states a page can be in, while `--cue-band-rule`\nis `0px` under `marketing` alone. Both are deliberate and nothing warns.\n\n**Two substitution boundaries, because `--cue-band-y` is a `calc()` resolved\nat the element that declares it.** A `<Density>` island nested inside a\nstyled page moves every `--cue-space-*` and the band rhythm does **not**\nfollow it — the island inherits the rhythm already resolved above. Restate\nthe set on the island (`<Density density=\"compact\" styleSet=\"editorial\">`) to\nre-resolve it against that island's rung. Likewise a nested `[data-theme]`\nunder a marketing band paints the **outer** theme's `--cue-surface-1` through\nan already-resolved `--cue-band-ground`.\n\nIt renders a `<section>`, which is not a landmark until it has an accessible\nname — so a band with a heading should carry `aria-labelledby` pointing at\nit, and a band without one costs the document nothing.\n\nStatic markup — no `\"use client\"`.",
9
+ "props": [
10
+ {
11
+ "name": "separation",
12
+ "type": "\"none\" | \"rule\" | \"ground\" | \"bleed\"",
13
+ "required": false,
14
+ "defaultValue": "rule",
15
+ "description": "How this band separates itself from the one above it. Defaults to `\"rule\"`.\n\n- **`\"rule\"`** — a line at the top edge, `--cue-band-rule` wide, in\n `border-border`. What `Footer` has always drawn.\n- **`\"ground\"`** — a ground, `--cue-band-ground`, edge to edge. The one\n value that touches colour, and it resolves through the single carve-out\n the token layer allows a style set.\n- **`\"bleed\"`** — neither, and **no column**: the children run the band's\n full width with no measure and no gutters. The separation is the change\n of scale, which is what a full-width image or strip does. `width` has\n nothing to apply to and is ignored.\n- **`\"none\"`** — neither, column kept. Sections separate by rhythm alone,\n which is `--cue-band-y` and is what `editorial` leads with.\n\n**What a style set makes each of these do, because two of them can come out\nto nothing and there is no way for this component to warn you.** The values\nare the token layer's; `packages/ui/test/chrome/band.test.tsx` holds this\ntable to `packages/tokens/dist/axes.css`, so it cannot quietly stop being\ntrue.\n\n| set | `\"rule\"` draws | `\"ground\"` paints |\n|---|---|---|\n| *(no set)* and `console` | 1px | nothing — the ground is `transparent` |\n| `editorial` | a 0.5px hairline, **which Chromium paints at 1px at every DPR**; only retina WebKit draws it thinner | nothing — `transparent` |\n| `marketing` | **nothing — the rule is `0px`** | `--cue-surface-1` |\n\nRead the diagonal: `\"ground\"` is the marketing separation and `\"rule\"` is\neveryone else's. A band that wants to separate under *every* set separates\nby rhythm, which every set has.",
16
+ "control": {
17
+ "kind": "enum",
18
+ "members": [
19
+ "none",
20
+ "rule",
21
+ "ground",
22
+ "bleed"
23
+ ]
24
+ }
25
+ },
26
+ {
27
+ "name": "width",
28
+ "type": "\"narrow\" | \"wide\" | \"broad\" | \"full\" | \"prose\"",
29
+ "required": false,
30
+ "defaultValue": "prose",
31
+ "description": "Which measure the band's centred column takes. Defaults to `\"prose\"`.",
32
+ "control": {
33
+ "kind": "enum",
34
+ "members": [
35
+ "narrow",
36
+ "wide",
37
+ "broad",
38
+ "full",
39
+ "prose"
40
+ ]
41
+ }
42
+ },
43
+ {
44
+ "name": "columnClassName",
45
+ "type": "string",
46
+ "required": false,
47
+ "defaultValue": null,
48
+ "description": "Extra classes for the centred column. Ignored when `separation` is `\"bleed\"`.",
49
+ "control": {
50
+ "kind": "string"
51
+ }
52
+ },
53
+ {
54
+ "name": "children",
55
+ "type": "ReactNode",
56
+ "required": false,
57
+ "defaultValue": null,
58
+ "description": "The band's contents.",
59
+ "control": {
60
+ "kind": "node",
61
+ "fixture": "children.text"
62
+ }
63
+ }
64
+ ],
65
+ "typeReferences": [
66
+ "React.ComponentPropsWithoutRef<\"section\">"
67
+ ],
68
+ "subcomponents": [],
69
+ "parts": [],
70
+ "variants": {},
71
+ "defaultVariants": {},
72
+ "tokensUsed": [
73
+ "--cue-band-ground",
74
+ "--cue-band-rule",
75
+ "--cue-band-y",
76
+ "--cue-border",
77
+ "--cue-measure-prose"
78
+ ],
79
+ "summary": "A full-bleed horizontal section: the page's rhythm, its separation, and a column at the measure.",
80
+ "examples": [
81
+ {
82
+ "title": "Usage",
83
+ "code": "<Band aria-labelledby=\"pitch\">\n <h2 id=\"pitch\">One import</h2>\n <p>Everything on one token layer.</p>\n</Band>\n<Band separation=\"ground\" width=\"broad\">\n <Bento.Root cols={3}>{tiles}</Bento.Root>\n</Band>",
84
+ "language": "tsx"
85
+ }
86
+ ],
87
+ "status": "todo-docs",
88
+ "url": "/docs/components/band",
89
+ "mdUrl": "/docs/components/band.md",
90
+ "jsonUrl": "/r/components/band.json",
91
+ "specimens": [
92
+ {
93
+ "title": "Band",
94
+ "group": "chrome",
95
+ "components": [
96
+ "Band"
97
+ ],
98
+ "code": "<div className=\"w-full overflow-hidden rounded-(--radius-surface) border border-border bg-bg\">\n {/*\n * `separation=\"rule\"` is written out rather than left to the\n * default, and it is load-bearing rather than tidy.\n * `seedFromSpecimen` merges every `<Band>` open tag in this file\n * first-wins, so with it omitted the seed took `separation` from\n * the *second* band below and the generated `defaults` set became\n * `{ separation: \"ground\", width: \"wide\" }`. A ground is\n * `transparent` on every block but `marketing`, so the listing\n * tile — which draws the opening preset with no children — painted\n * nothing at all and `tests/browser/preview-stage.spec.ts` red with\n * \"a set drove the component to nothing\". That is the documented\n * trap in `Band`'s own docblock, landing on the library's own tile\n * before it could land on anybody else's page.\n */}\n <Band separation=\"rule\" aria-labelledby=\"bench-band-one\" width=\"wide\">\n <Stack gap={3}>\n <Eyebrow>composition</Eyebrow>\n <h3 id=\"bench-band-one\" className=\"font-mono text-(length:--cue-text-title) text-fg\">\n One markup, three attributes\n </h3>\n <p className=\"font-mono text-(length:--cue-text-body) leading-(--cue-leading-prose) text-fg-muted\">\n The measure, the line height and the rhythm of this band are the style axis&rsquo;s,\n so the same markup composes three ways with no prop changing.\n </p>\n </Stack>\n </Band>\n <Band separation=\"ground\" aria-labelledby=\"bench-band-two\" width=\"wide\">\n <Stack gap={3}>\n <h3 id=\"bench-band-two\" className=\"font-mono text-(length:--cue-text-title) text-fg\">\n Separated by ground\n </h3>\n <p className=\"font-mono text-(length:--cue-text-body) leading-(--cue-leading-prose) text-fg-muted\">\n Which paints under <code>marketing</code> and is transparent everywhere else.\n </p>\n </Stack>\n </Band>\n</div>",
99
+ "note": "A page's horizontal section: the rhythm, the separation and the column, all three off the style axis. Four separations — a rule, a ground, a full bleed with no column, and rhythm alone. Under no style set this is exactly what Footer draws above its links.",
100
+ "interaction": "none; what changes it is the [data-style] attribute above it, not a pointer."
101
+ }
102
+ ],
103
+ "todo": true
104
+ }
@@ -0,0 +1,306 @@
1
+ {
2
+ "name": "Bento",
3
+ "slug": "bento",
4
+ "group": "layout",
5
+ "importPath": "@cueplusplus/ui",
6
+ "peerDependencies": [],
7
+ "clientOnly": false,
8
+ "description": "A grid of unequal tiles: per-item spans, clamped to the container's columns.\n\nWhere `Grid` lays out cells it never touches, a bento's whole content is\nper-item — so the span is a prop on the tile, from a closed set, and the\ncontainer clamps it on the way past. One column below `sm`, two from `sm`,\nthe asked-for count from `lg`; the clamp is per breakpoint and not per\n`cols`, because every container is two tracks wide in between whatever it\nwas asked for.\n\n**Static markup — no hooks, no `\"use client\"`, and it must stay that way.**\nA directive is per *module*, so a `Bento` built on `useRender` would open a\nclient boundary in every server page that draws one. That is why the router\nescape hatch is `render`, an *element* that is cloned, rather than a render\nfunction; and why {@link Bento.Tile} is a discriminated union rather than a\ntile that decides at runtime what it is.\n\n`BentoTileProps` omits the native `title` from its `<div>` props, the same\nomission `PanelHeader` and `Item` make: `React.ComponentPropsWithoutRef<\"div\">`\nalready declares `title?: string`, and narrowing it to a `ReactNode` without\nthe `Omit` is TS2430.",
9
+ "props": [],
10
+ "typeReferences": [],
11
+ "subcomponents": [
12
+ "Root",
13
+ "Tile"
14
+ ],
15
+ "parts": [
16
+ {
17
+ "name": "Root",
18
+ "usage": "Bento.Root",
19
+ "description": "The bento container: a responsive grid that clamps the spans of its tiles.\n\nIt maps `React.Children` and clones every child whose type is the tile,\nnarrowing that tile's `span` to its own `cols`; anything else passes through\nwith its props untouched, so a `<section>` or a bare `<div>` may sit in a\nband beside the tiles.\n\n**The clamp reaches direct children only, and that is a contract rather than\nan oversight.** `React.Children` does not descend into a component element,\nso a tile rendered by a child — `<Bento.Root><MyTiles /></Bento.Root>` — is\nwhatever `span` it declared, and an over-wide one grows an implicit column\nexactly as an unclamped tile would. Reading through a component would mean\nrendering it, which a container may not do. So: **keep a tile a child\ncomponent renders at `span={1}`, or clamp it in that component.** The same\nhazard in fragment form is why an authored `node` fixture of tiles is an\narray and not a `<>…</>`.\n\nStatic markup — no `\"use client\"`.",
20
+ "props": [
21
+ {
22
+ "name": "cols",
23
+ "type": "4 | 2 | 3",
24
+ "required": false,
25
+ "defaultValue": "3",
26
+ "description": "How many columns at `lg`. Defaults to `3`. Two from `sm`, one below it.",
27
+ "control": {
28
+ "kind": "enum",
29
+ "members": [
30
+ 4,
31
+ 2,
32
+ 3
33
+ ],
34
+ "min": 2,
35
+ "max": 4
36
+ }
37
+ },
38
+ {
39
+ "name": "rows",
40
+ "type": "4 | 1 | 2 | 3",
41
+ "required": false,
42
+ "defaultValue": null,
43
+ "description": "How many rows to declare from `sm` up.\n\nOnly worth setting where a tile spans rows: a `rowSpan` over implicit\ntracks sizes itself to the tile's own content, which is not a span.",
44
+ "control": {
45
+ "kind": "enum",
46
+ "members": [
47
+ 4,
48
+ 1,
49
+ 2,
50
+ 3
51
+ ],
52
+ "min": 1,
53
+ "max": 4
54
+ }
55
+ },
56
+ {
57
+ "name": "dense",
58
+ "type": "boolean",
59
+ "required": false,
60
+ "defaultValue": "false",
61
+ "description": "Pack later tiles into earlier holes instead of leaving them empty.",
62
+ "control": {
63
+ "kind": "boolean"
64
+ }
65
+ },
66
+ {
67
+ "name": "gap",
68
+ "type": "0 | 4 | 8 | 1 | 2 | 3 | 5 | 6 | 7",
69
+ "required": false,
70
+ "defaultValue": "4",
71
+ "description": "Which rung of the density space ladder to spend between tiles. Defaults to `4`.",
72
+ "control": {
73
+ "kind": "enum",
74
+ "members": [
75
+ 0,
76
+ 4,
77
+ 8,
78
+ 1,
79
+ 2,
80
+ 3,
81
+ 5,
82
+ 6,
83
+ 7
84
+ ],
85
+ "min": 0,
86
+ "max": 8
87
+ }
88
+ },
89
+ {
90
+ "name": "children",
91
+ "type": "ReactNode",
92
+ "required": false,
93
+ "defaultValue": null,
94
+ "description": "The tiles. Declared, so the manifest files it as a documented prop.",
95
+ "control": {
96
+ "kind": "node",
97
+ "fixture": "children.text"
98
+ }
99
+ }
100
+ ],
101
+ "typeReferences": [
102
+ "React.ComponentPropsWithoutRef<\"div\">"
103
+ ]
104
+ },
105
+ {
106
+ "name": "Tile",
107
+ "usage": "Bento.Tile",
108
+ "description": "One cell of a bento: a link, or a surface with an `action`.\n\nThe two are a discriminated union rather than one shape with a runtime\nbranch, because half of the rule is something a compiler can hold: `href`\nand `action` are mutually exclusive in the type. The other half — that a\nlink tile's content is static — is held by a dev-time check here and by a\nDOM assertion in each grid that draws one.\n\nStatic markup — no `\"use client\"`.",
109
+ "props": [
110
+ {
111
+ "name": "span",
112
+ "type": "4 | 1 | 2 | 3",
113
+ "required": false,
114
+ "defaultValue": null,
115
+ "description": "How many columns to cover. Clamped by the container to its own `cols`.",
116
+ "control": {
117
+ "kind": "enum",
118
+ "members": [
119
+ 4,
120
+ 1,
121
+ 2,
122
+ 3
123
+ ],
124
+ "min": 1,
125
+ "max": 4
126
+ }
127
+ },
128
+ {
129
+ "name": "rowSpan",
130
+ "type": "1 | 2",
131
+ "required": false,
132
+ "defaultValue": null,
133
+ "description": "How many rows to cover. Needs a container that declares them.",
134
+ "control": {
135
+ "kind": "enum",
136
+ "members": [
137
+ 1,
138
+ 2
139
+ ],
140
+ "min": 1,
141
+ "max": 2
142
+ }
143
+ },
144
+ {
145
+ "name": "minHeight",
146
+ "type": "\"none\" | \"half\" | \"hero\"",
147
+ "required": false,
148
+ "defaultValue": null,
149
+ "description": "How much height to hold before the content arrives. Defaults to `\"none\"`.",
150
+ "control": {
151
+ "kind": "enum",
152
+ "members": [
153
+ "none",
154
+ "half",
155
+ "hero"
156
+ ]
157
+ }
158
+ },
159
+ {
160
+ "name": "eyebrow",
161
+ "type": "ReactNode",
162
+ "required": false,
163
+ "defaultValue": null,
164
+ "description": "The qualifier above the name: an import specifier, a family, a device.",
165
+ "control": {
166
+ "kind": "node",
167
+ "fixture": "children.text"
168
+ }
169
+ },
170
+ {
171
+ "name": "title",
172
+ "type": "ReactNode",
173
+ "required": false,
174
+ "defaultValue": null,
175
+ "description": "The tile's name. Rendered as a `<span>`, never as a heading.",
176
+ "control": {
177
+ "kind": "node",
178
+ "fixture": "children.text"
179
+ }
180
+ },
181
+ {
182
+ "name": "meta",
183
+ "type": "ReactNode",
184
+ "required": false,
185
+ "defaultValue": null,
186
+ "description": "The count beside the name — by convention a `<Chip variant=\"outline\">`.",
187
+ "control": {
188
+ "kind": "node",
189
+ "fixture": "children.text"
190
+ }
191
+ },
192
+ {
193
+ "name": "children",
194
+ "type": "ReactNode",
195
+ "required": false,
196
+ "defaultValue": null,
197
+ "description": "The summary and anything below it.",
198
+ "control": {
199
+ "kind": "node",
200
+ "fixture": "children.text"
201
+ }
202
+ },
203
+ {
204
+ "name": "href",
205
+ "type": "string",
206
+ "required": false,
207
+ "defaultValue": null,
208
+ "description": "Where the tile goes. Its presence is what makes the tile a link.\nNever on a panel tile: `href` is what selects the link variant.",
209
+ "control": {
210
+ "kind": "string"
211
+ }
212
+ },
213
+ {
214
+ "name": "render",
215
+ "type": "ReactElement<unknown, string | JSXElementConstructor<any>>",
216
+ "required": false,
217
+ "defaultValue": null,
218
+ "description": "A router's own link element, cloned to carry the tile's classes and slots.\n\nThe **element** form only, and never a render function: a function would\nbuy a second calling convention at the price of this component's\nserver-safety, because the hook that reads one is a hook. The element keeps\nits own `href` — `next/link` declares that prop required, so passing the\ntile's would make the tile the silent owner of a value the element has to\ndeclare anyway. Its own `className` is **merged** with the tile's rather\nthan replaced by it, which is the other half of the same bargain: `href` is\na value the element owns outright, and a class is one it adds to.\nNever on a panel tile: `render` belongs to the link variant.",
219
+ "control": {
220
+ "kind": "opaque"
221
+ }
222
+ },
223
+ {
224
+ "name": "action",
225
+ "type": "ReactNode",
226
+ "required": false,
227
+ "defaultValue": null,
228
+ "description": "Never on a link tile: an `<a>` may not contain a control.\nThe tile's own link or control, rendered beside the count rather than around it.",
229
+ "control": {
230
+ "kind": "node",
231
+ "fixture": "children.text"
232
+ }
233
+ }
234
+ ],
235
+ "typeReferences": [
236
+ "BentoLinkTileProps | BentoPanelTileProps"
237
+ ]
238
+ }
239
+ ],
240
+ "variants": {},
241
+ "defaultVariants": {},
242
+ "tokensUsed": [
243
+ "--cue-accent",
244
+ "--cue-border",
245
+ "--cue-fg",
246
+ "--cue-fg-muted",
247
+ "--cue-font-mono",
248
+ "--cue-radius-surface",
249
+ "--cue-space-1",
250
+ "--cue-space-2",
251
+ "--cue-space-3",
252
+ "--cue-space-5",
253
+ "--cue-space-8",
254
+ "--cue-surface-1",
255
+ "--cue-surface-2",
256
+ "--cue-text-emphasis",
257
+ "--cue-text-micro"
258
+ ],
259
+ "summary": "The unequal grid: tiles of different sizes on one set of tracks, from a closed set of spans.",
260
+ "examples": [
261
+ {
262
+ "title": "A link tile",
263
+ "code": "<Bento.Root cols={3} gap={5}>\n <Bento.Tile\n href=\"/docs/components/grid\"\n render={<NextLink href=\"/docs/components/grid\" />}\n eyebrow=\"@cueplusplus/ui\"\n title=\"Grid\"\n meta={<Chip variant=\"outline\">17</Chip>}\n >\n Equal columns, or as many as fit.\n </Bento.Tile>\n</Bento.Root>",
264
+ "language": "tsx"
265
+ },
266
+ {
267
+ "title": "A panel tile, whose control is a sibling",
268
+ "code": "<Bento.Root cols={2} rows={2} gap={5}>\n <Bento.Tile\n span={2}\n rowSpan={2}\n minHeight=\"hero\"\n title=\"Signal\"\n action={<Button onClick={() => setTheme(\"signal\")}>Apply</Button>}\n >\n <ThemeSwatches theme=\"signal\" />\n </Bento.Tile>\n</Bento.Root>",
269
+ "language": "tsx"
270
+ },
271
+ {
272
+ "title": "Usage",
273
+ "code": "<Bento.Root cols={3} rows={2} gap={5}>\n <Bento.Tile span={2} rowSpan={2} minHeight=\"hero\" title=\"Kitchen sink\">\n Every component, on one page.\n </Bento.Tile>\n <Bento.Tile title=\"Themes\" meta={<Chip variant=\"outline\">10</Chip>} />\n <Bento.Tile title=\"Density\" meta={<Chip variant=\"outline\">5</Chip>} />\n</Bento.Root>\n<Bento.Tile\n href=\"/docs/components/grid\"\n render={<NextLink href=\"/docs/components/grid\" />}\n eyebrow=\"@cueplusplus/ui\"\n title=\"Grid\"\n>\n Equal columns, or as many as fit.\n</Bento.Tile>\n<Bento.Tile title=\"Signal\" action={<Button onClick={apply}>Apply</Button>}>\n <ThemeSwatches theme=\"signal\" />\n</Bento.Tile>",
274
+ "language": "tsx"
275
+ }
276
+ ],
277
+ "status": "stable",
278
+ "url": "/docs/components/bento",
279
+ "mdUrl": "/docs/components/bento.md",
280
+ "jsonUrl": "/r/components/bento.json",
281
+ "whenToUse": [
282
+ "A landing surface where some things matter more than others: one hero tile, a run of ordinary ones, and the difference visible without a heading.",
283
+ "A dashboard of unlike cards — a chart beside a count beside a link — where a uniform cell would make the biggest thing look the same size as the smallest."
284
+ ],
285
+ "whenNotToUse": [
286
+ "Equal cards. That is `Grid`, and a bento of equal tiles is a grid that costs a reader a scan: they look for the emphasis the layout is promising and there is none.",
287
+ "A list of rows. That is `Panel` with `Row` — a bento of one-column tiles is a list wearing nine rims."
288
+ ],
289
+ "commonMistakes": [
290
+ "Interpolating a span. `col-span-${n}` is invisible to Tailwind's scanner, which reads source text and not computed strings — which is exactly why `span` is a closed set of literals with a static class each.",
291
+ "Putting a control or a second link inside a tile that has an `href`. An `<a>` admits no interactive descendant, so the whole tile stops being one thing; use a panel tile and put the control in `action`, which is what that variant is for.",
292
+ "Spanning rows in a container that declares none. `rowSpan` over implicit tracks sizes itself to the tile's own content, so set `rows` on the container and the span is over tracks that exist."
293
+ ],
294
+ "specimens": [
295
+ {
296
+ "title": "Bento",
297
+ "group": "layout",
298
+ "components": [
299
+ "Bento"
300
+ ],
301
+ "code": "<Specimens>\n <Specimen label=\"three columns, one wide tile\" wide>\n <Bento.Root cols={3} rows={2} gap={4} className=\"w-full\">\n <Bento.Tile\n span={2}\n rowSpan={2}\n minHeight=\"half\"\n eyebrow=\"universe 1\"\n title=\"Front truss\"\n meta={<Chip variant=\"outline\">24</Chip>}\n >\n Twenty-four Source Four 26° on channels 12 to 35.\n </Bento.Tile>\n <Bento.Tile title=\"Movers\" meta={<Chip variant=\"outline\">8</Chip>} />\n <Bento.Tile title=\"Cyc\" meta={<Chip variant=\"outline\">6</Chip>} />\n <Bento.Tile title=\"Haze\" meta={<Chip variant=\"outline\">2</Chip>} />\n <Bento.Tile title=\"House\" meta={<Chip variant=\"outline\">4</Chip>} />\n <Bento.Tile title=\"Spare\" meta={<Chip variant=\"outline\">1</Chip>} />\n </Bento.Root>\n </Specimen>\n <Specimen label=\"link tiles\" wide>\n <Bento.Root cols={3} gap={4} className=\"w-full\">\n <Bento.Tile href=\"#bento\" eyebrow=\"@cueplusplus/ui\" title=\"Grid\">\n Equal columns, or as many as fit.\n </Bento.Tile>\n <Bento.Tile href=\"#bento\" eyebrow=\"@cueplusplus/ui\" title=\"Stack\">\n One axis, spaced off a rung of the density ladder.\n </Bento.Tile>\n <Bento.Tile href=\"#bento\" eyebrow=\"@cueplusplus/ui\" title=\"Container\">\n A measure, centred.\n </Bento.Tile>\n </Bento.Root>\n </Specimen>\n</Specimens>",
302
+ "note": "An unequal grid: every tile carries its own span from a closed set, and the container clamps it to its own columns — per breakpoint, because a bento is two tracks wide between `sm` and `lg` whatever its `cols`.",
303
+ "interaction": "the first specimen is panel tiles and takes no focus of its own; every tile in the second is one anchor, so Tab reaches three links and never anything inside one."
304
+ }
305
+ ]
306
+ }
@@ -0,0 +1,146 @@
1
+ {
2
+ "name": "BranchPicker",
3
+ "slug": "branch-picker",
4
+ "group": "agent-runtime",
5
+ "importPath": "@cueplusplus/ui/agent-runtime",
6
+ "peerDependencies": [],
7
+ "clientOnly": true,
8
+ "description": "The `‹ 2 / 3 ›` stepper that walks a turn's regenerated siblings.\n\nIt keeps a segmented control's two promises — exactly one branch is on show,\nand the set cannot be emptied — without being one. A row of N numbered\nsegments is the wrong shape for a count that is usually 2 and occasionally 9,\nand a segmented control's recessed frame fights the message bubble it sits\nin. Two ghost icon buttons around a mono readout stay quiet until the reader\nhas a reason to look at them.\n\nA single branch is not a choice, so below two branches this renders nothing\nat all: the host can hand it every turn's `branch` without deciding which\nturns deserve a control. It belongs in an agent turn's `footer` — a user\nbubble is a solid accent fill, and a stepper drawn on it is unreadable.\n\nThe picker never moves the thread itself. It reports a direction and the host\nasks the runtime; under an ExternalStore runtime the switch arrives back at\nthe adapter's `setMessages`, which is the host's to write.",
9
+ "props": [
10
+ {
11
+ "name": "index",
12
+ "type": "number",
13
+ "required": true,
14
+ "defaultValue": null,
15
+ "description": "1-based position of the branch on show — what the readout prints.",
16
+ "control": {
17
+ "kind": "number"
18
+ }
19
+ },
20
+ {
21
+ "name": "count",
22
+ "type": "number",
23
+ "required": true,
24
+ "defaultValue": null,
25
+ "description": "How many sibling branches exist. Below 2 the picker renders nothing.",
26
+ "control": {
27
+ "kind": "number"
28
+ }
29
+ },
30
+ {
31
+ "name": "onNavigate",
32
+ "type": "(direction: BranchDirection) => void",
33
+ "required": true,
34
+ "defaultValue": null,
35
+ "description": "Called with the direction to move in. Never called past either end.",
36
+ "control": {
37
+ "kind": "callback",
38
+ "fixture": "callback.log"
39
+ }
40
+ },
41
+ {
42
+ "name": "previousLabel",
43
+ "type": "string",
44
+ "required": false,
45
+ "defaultValue": "Previous branch",
46
+ "description": "Accessible name of the previous button. Defaults to `\"Previous branch\"`.",
47
+ "control": {
48
+ "kind": "string"
49
+ }
50
+ },
51
+ {
52
+ "name": "nextLabel",
53
+ "type": "string",
54
+ "required": false,
55
+ "defaultValue": "Next branch",
56
+ "description": "Accessible name of the next button. Defaults to `\"Next branch\"`.",
57
+ "control": {
58
+ "kind": "string"
59
+ }
60
+ },
61
+ {
62
+ "name": "disabled",
63
+ "type": "boolean",
64
+ "required": false,
65
+ "defaultValue": null,
66
+ "description": "Block both buttons — a run is in flight and the runtime cannot switch mid-run.",
67
+ "control": {
68
+ "kind": "boolean"
69
+ }
70
+ },
71
+ {
72
+ "name": "aria-label",
73
+ "type": "string",
74
+ "required": false,
75
+ "defaultValue": "Branches",
76
+ "description": "Accessible name for the group. Defaults to `\"Branches\"`.",
77
+ "control": {
78
+ "kind": "string"
79
+ }
80
+ }
81
+ ],
82
+ "typeReferences": [
83
+ "Omit<React.ComponentPropsWithoutRef<\"div\">, \"onChange\" | \"children\">"
84
+ ],
85
+ "subcomponents": [],
86
+ "parts": [],
87
+ "variants": {},
88
+ "defaultVariants": {},
89
+ "tokensUsed": [
90
+ "--cue-fg-subtle",
91
+ "--cue-font-mono",
92
+ "--cue-space-1",
93
+ "--cue-text-micro"
94
+ ],
95
+ "summary": "The `‹ 2 / 3 ›` stepper over a turn's regenerated siblings, and nothing at all below two.",
96
+ "examples": [
97
+ {
98
+ "title": "Usage",
99
+ "code": "<Message agent=\"planner\" footer={<BranchPicker index={2} count={3} onNavigate={go} disabled={busy} />}>…</Message>",
100
+ "language": "tsx"
101
+ }
102
+ ],
103
+ "status": "stable",
104
+ "url": "/docs/components/branch-picker",
105
+ "mdUrl": "/docs/components/branch-picker.md",
106
+ "jsonUrl": "/r/components/branch-picker.json",
107
+ "whenToUse": [
108
+ "An agent turn's `footer`, once a regenerate has given the turn a sibling.",
109
+ "Any host that can move between branches: it reports a direction and lets you ask the runtime."
110
+ ],
111
+ "whenNotToUse": [
112
+ "A single branch. It renders nothing, on purpose, so a host can hand it every turn.",
113
+ "Picking between views or modes. That is `SegmentedControl`, which shows every option at once.",
114
+ "Paging through a list. That is `Pagination`; a branch set is one answer with alternatives, not a sequence.",
115
+ "Regenerating. The picker only moves between branches that exist; `useAgentThread().regenerate` makes a new one, and the host draws that control — a ghost `Button` in a turn's footer, as the demo does."
116
+ ],
117
+ "commonMistakes": [
118
+ "Putting it in a user bubble's footer. That bubble is a solid accent fill and a ghost stepper on it is unreadable.",
119
+ "Wiring `onNavigate` to a state setter without clamping, when the runtime is the one that knows the count.",
120
+ "Leaving it enabled during a run. Pass `disabled` while the thread is busy, because the runtime will not switch mid-run."
121
+ ],
122
+ "specimens": [
123
+ {
124
+ "title": "useAgentThread / ToolCallCard / BranchPicker",
125
+ "group": "agent-runtime",
126
+ "components": [
127
+ "useAgentThread",
128
+ "ToolCallCard",
129
+ "BranchPicker"
130
+ ],
131
+ "code": "<ScriptedThread />",
132
+ "note": "The hook reads an assistant-ui runtime and hands back the props the Chat group already takes: `busy`, `disabled`, `onSend` and `onStop` for the composer, `role`, `agent` and `pending` for each turn, `toolCalls` for the cards, `branch` and `switchBranch` for the stepper. No provider is mounted and no borrowed DOM is rendered, so every pixel here is this library's. The thread below plays a fixed script, because a docs page has no model behind it.",
133
+ "interaction": "the script streams once and stops on its own; Stop cancels it mid-sentence, Regenerate answers again under the same question, and the stepper that then appears walks the two answers."
134
+ },
135
+ {
136
+ "title": "BranchPicker",
137
+ "group": "agent-runtime",
138
+ "components": [
139
+ "BranchPicker"
140
+ ],
141
+ "code": "<div className=\"flex w-full max-w-[42rem] flex-col gap-(--cue-space-4)\">\n <StatefulPicker />\n <Message\n agent=\"reviewer\"\n author=\"Reviewer\"\n footer={<BranchPicker index={1} count={2} onNavigate={() => {}} disabled />}\n >\n Blocked while a run is in flight: the runtime cannot switch branches mid-run.\n </Message>\n</div>",
142
+ "note": "A stepper rather than a segmented row of numbers: a branch count is usually 2 and occasionally 9, and a segmented frame fights the bubble it sits in. It keeps the two promises that matter, which are that exactly one branch is on show and that the set cannot be emptied, and it renders nothing at all below two branches. It belongs in an agent turn's footer, never a user bubble's.",
143
+ "interaction": "each end button disables itself at its end of the run, and the position is read aloud as well as drawn."
144
+ }
145
+ ]
146
+ }
@@ -0,0 +1,85 @@
1
+ {
2
+ "name": "Breadcrumb",
3
+ "slug": "breadcrumb",
4
+ "group": "layout",
5
+ "importPath": "@cueplusplus/ui",
6
+ "peerDependencies": [],
7
+ "clientOnly": false,
8
+ "description": "Where you are, and how to get back.\n\nThe last crumb is never a link: it is the page you are on, marked\n`aria-current=\"page\"` and set in full-strength ink so the trail has one\nvisible end. Separators are `aria-hidden` — a screen reader announcing\n\"console slash patch slash universe 1\" is reading punctuation, not structure.\n\nStatic markup — no `\"use client\"`.",
9
+ "props": [
10
+ {
11
+ "name": "items",
12
+ "type": "readonly BreadcrumbItem[]",
13
+ "required": true,
14
+ "defaultValue": null,
15
+ "description": "The trail, root first. The last entry is the current page.",
16
+ "control": {
17
+ "kind": "array",
18
+ "fixture": "layout.show-crumbs"
19
+ }
20
+ },
21
+ {
22
+ "name": "separator",
23
+ "type": "ReactNode",
24
+ "required": false,
25
+ "defaultValue": "/",
26
+ "description": "What sits between crumbs. Defaults to `\"/\"`.",
27
+ "control": {
28
+ "kind": "node",
29
+ "fixture": "children.text"
30
+ }
31
+ },
32
+ {
33
+ "name": "label",
34
+ "type": "string",
35
+ "required": false,
36
+ "defaultValue": "Breadcrumb",
37
+ "description": "The nav's accessible name. Defaults to `\"Breadcrumb\"`.",
38
+ "control": {
39
+ "kind": "string"
40
+ }
41
+ }
42
+ ],
43
+ "typeReferences": [
44
+ "Omit<React.ComponentPropsWithoutRef<\"nav\">, \"children\">"
45
+ ],
46
+ "subcomponents": [],
47
+ "parts": [],
48
+ "variants": {},
49
+ "defaultVariants": {},
50
+ "tokensUsed": [
51
+ "--cue-accent",
52
+ "--cue-fg",
53
+ "--cue-fg-muted",
54
+ "--cue-fg-subtle",
55
+ "--cue-font-mono",
56
+ "--cue-radius-control",
57
+ "--cue-space-2",
58
+ "--cue-text-label"
59
+ ],
60
+ "summary": "Where you are, and how to get back.",
61
+ "examples": [
62
+ {
63
+ "title": "Usage",
64
+ "code": "<Breadcrumb items={[{ label: \"Console\", href: \"/\" }, { label: \"Patch\" }]} />",
65
+ "language": "tsx"
66
+ }
67
+ ],
68
+ "status": "todo-docs",
69
+ "url": "/docs/components/breadcrumb",
70
+ "mdUrl": "/docs/components/breadcrumb.md",
71
+ "jsonUrl": "/r/components/breadcrumb.json",
72
+ "specimens": [
73
+ {
74
+ "title": "Breadcrumb",
75
+ "group": "layout",
76
+ "components": [
77
+ "Breadcrumb"
78
+ ],
79
+ "code": "<Breadcrumb items={CRUMBS} />",
80
+ "note": "Where you are, with `aria-hidden` punctuation between the crumbs and the last one marked current.",
81
+ "interaction": "every crumb but the last is a link; the last is plain text."
82
+ }
83
+ ],
84
+ "todo": true
85
+ }