@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,91 @@
1
+ "use client";
2
+ import { cn } from "../lib/cn.js";
3
+ import { field, inkButton, mono, paper } from "./surfaces.js";
4
+ import { Fragment, jsx, jsxs } from "react/jsx-runtime";
5
+ import { BotIcon, CheckIcon } from "lucide-react";
6
+ //#region src/elements/agent-card.tsx
7
+ /**
8
+ * Who you are about to talk to: its skills, its model, and the endpoint behind it.
9
+ *
10
+ * @example
11
+ * import { AgentCard } from "@cueplusplus/ui/elements";
12
+ *
13
+ * <AgentCard
14
+ * name="Maintainer"
15
+ * description="Reproduces the report, writes the fix, opens the PR."
16
+ * provider="assistant-ui"
17
+ * version="1.4.0"
18
+ * model="opus"
19
+ * endpoint="https://agents.example.com/a2a"
20
+ * skills={skills}
21
+ * connected={false}
22
+ * onConnect={connect}
23
+ * />
24
+ */
25
+ function AgentCard({ name, description, provider, version, model, endpoint, skills, connected, onConnect, className, ...props }) {
26
+ return /* @__PURE__ */ jsxs("div", {
27
+ "data-slot": "agent-card",
28
+ className: cn(paper, "flex w-full max-w-sm flex-col gap-3.5 rounded-(--radius-overlay) p-4", className),
29
+ ...props,
30
+ children: [
31
+ /* @__PURE__ */ jsxs("div", {
32
+ className: "flex items-start gap-3",
33
+ children: [/* @__PURE__ */ jsx("span", {
34
+ className: "bg-surface-1 text-fg-muted flex size-9 shrink-0 items-center justify-center rounded-(--radius-surface)",
35
+ children: /* @__PURE__ */ jsx(BotIcon, { className: "size-4" })
36
+ }), /* @__PURE__ */ jsxs("div", {
37
+ className: "flex min-w-0 flex-1 flex-col",
38
+ children: [/* @__PURE__ */ jsxs("span", {
39
+ className: "flex items-baseline gap-2",
40
+ children: [/* @__PURE__ */ jsx("span", {
41
+ className: "truncate text-(length:--cue-text-body) font-medium",
42
+ children: name
43
+ }), /* @__PURE__ */ jsxs("span", {
44
+ className: cn(mono, "text-fg-subtle shrink-0"),
45
+ children: ["v", version]
46
+ })]
47
+ }), /* @__PURE__ */ jsx("span", {
48
+ className: "text-fg-muted truncate text-(length:--cue-text-ui)",
49
+ children: provider
50
+ })]
51
+ })]
52
+ }),
53
+ /* @__PURE__ */ jsx("p", {
54
+ className: "text-fg-muted text-(length:--cue-text-ui) leading-(--cue-leading-ui)",
55
+ children: description
56
+ }),
57
+ /* @__PURE__ */ jsx("div", {
58
+ className: "flex flex-col gap-1.5",
59
+ children: skills.map((skill) => /* @__PURE__ */ jsxs("div", {
60
+ className: "flex items-baseline gap-2",
61
+ children: [/* @__PURE__ */ jsx("span", {
62
+ className: cn(field, mono, "text-fg-muted shrink-0 rounded-(--radius-control) px-1.5 py-0.5"),
63
+ children: skill.name
64
+ }), /* @__PURE__ */ jsx("span", {
65
+ className: "text-fg-muted min-w-0 flex-1 truncate text-(length:--cue-text-ui)",
66
+ children: skill.description
67
+ })]
68
+ }, skill.name))
69
+ }),
70
+ /* @__PURE__ */ jsxs("div", {
71
+ className: "border-border flex items-center gap-2 border-t pt-3",
72
+ children: [/* @__PURE__ */ jsx("span", {
73
+ className: cn(mono, "text-fg-subtle min-w-0 flex-1 truncate"),
74
+ children: endpoint
75
+ }), /* @__PURE__ */ jsx("span", {
76
+ className: cn(mono, "text-fg-subtle shrink-0"),
77
+ children: model
78
+ })]
79
+ }),
80
+ /* @__PURE__ */ jsx("button", {
81
+ type: "button",
82
+ onClick: onConnect,
83
+ disabled: connected,
84
+ className: cn(connected ? cn(field, "text-fg-muted") : cn(inkButton, "justify-center"), "flex h-8 items-center justify-center gap-1.5 rounded-full px-3.5 text-(length:--cue-text-ui) font-medium disabled:pointer-events-none"),
85
+ children: connected ? /* @__PURE__ */ jsxs(Fragment, { children: [/* @__PURE__ */ jsx(CheckIcon, { className: "size-3.5 text-ok" }), "Connected"] }) : "Connect"
86
+ })
87
+ ]
88
+ });
89
+ }
90
+ //#endregion
91
+ export { AgentCard };
@@ -0,0 +1,24 @@
1
+ import { ComponentProps } from "react";
2
+ //#region src/elements/agent-handoff.d.ts
3
+ /**
4
+ * Control passing between agents, with the reason and what came along.
5
+ *
6
+ * @example
7
+ * import { AgentHandoff } from "@cueplusplus/ui/elements";
8
+ *
9
+ * <AgentHandoff from="Triage" to="Maintainer" reason={reason} carried={carried} settled />
10
+ */
11
+ declare function AgentHandoff({ from, to, reason, carried, settled, className, ...props }: Omit<ComponentProps<"div">, "children" | "from" | "to" | "reason" | "carried" | "settled"> & {
12
+ /** Agent giving up control. */
13
+ from: string;
14
+ /** Agent taking it. */
15
+ to: string;
16
+ /** Why the baton moved. Without it a handoff reads as an unexplained jump. */
17
+ reason: string;
18
+ /** Context that travelled across. Pass an empty array to hide the section. */
19
+ carried: readonly string[];
20
+ /** Cools the arrow and the receiving badge once the new agent is underway. */
21
+ settled: boolean;
22
+ }): import("react").JSX.Element;
23
+ //#endregion
24
+ export { AgentHandoff };
@@ -0,0 +1,53 @@
1
+ "use client";
2
+ import { cn } from "../lib/cn.js";
3
+ import { field } from "./surfaces.js";
4
+ import { jsx, jsxs } from "react/jsx-runtime";
5
+ import { ArrowRightIcon, BotIcon } from "lucide-react";
6
+ //#region src/elements/agent-handoff.tsx
7
+ /**
8
+ * Control passing between agents, with the reason and what came along.
9
+ *
10
+ * @example
11
+ * import { AgentHandoff } from "@cueplusplus/ui/elements";
12
+ *
13
+ * <AgentHandoff from="Triage" to="Maintainer" reason={reason} carried={carried} settled />
14
+ */
15
+ function AgentHandoff({ from, to, reason, carried, settled, className, ...props }) {
16
+ return /* @__PURE__ */ jsxs("div", {
17
+ "data-slot": "agent-handoff",
18
+ className: cn("flex w-full max-w-sm flex-col gap-2", className),
19
+ ...props,
20
+ children: [
21
+ /* @__PURE__ */ jsxs("div", {
22
+ className: "flex items-center gap-2",
23
+ children: [
24
+ /* @__PURE__ */ jsxs("span", {
25
+ className: cn(field, "text-fg-muted flex items-center gap-1.5 rounded-full px-2.5 py-1 text-(length:--cue-text-ui) transition-opacity duration-500", settled && "opacity-45"),
26
+ children: [/* @__PURE__ */ jsx(BotIcon, { className: "size-3" }), from]
27
+ }),
28
+ /* @__PURE__ */ jsx(ArrowRightIcon, { className: cn("size-3.5 shrink-0 transition-colors duration-500", settled ? "text-fg-subtle" : "text-stream") }),
29
+ /* @__PURE__ */ jsxs("span", {
30
+ className: cn("flex items-center gap-1.5 rounded-full px-2.5 py-1 text-(length:--cue-text-ui) transition-colors duration-500", settled ? cn(field, "text-fg-muted") : "bg-stream/15 text-stream"),
31
+ children: [/* @__PURE__ */ jsx(BotIcon, { className: "size-3" }), to]
32
+ })
33
+ ]
34
+ }),
35
+ /* @__PURE__ */ jsx("p", {
36
+ className: "text-fg-muted text-(length:--cue-text-ui) leading-(--cue-leading-ui)",
37
+ children: reason
38
+ }),
39
+ carried.length > 0 && /* @__PURE__ */ jsxs("div", {
40
+ className: "flex flex-col gap-1",
41
+ children: [/* @__PURE__ */ jsx("span", {
42
+ className: cn("font-mono text-(length:--cue-text-label) tracking-tight", "text-fg-subtle"),
43
+ children: "carried over"
44
+ }), carried.map((item) => /* @__PURE__ */ jsx("span", {
45
+ className: "text-fg-muted border-border border-s ps-2.5 text-(length:--cue-text-ui) leading-(--cue-leading-ui)",
46
+ children: item
47
+ }, item))]
48
+ })
49
+ ]
50
+ });
51
+ }
52
+ //#endregion
53
+ export { AgentHandoff };
@@ -0,0 +1,72 @@
1
+ import { AgentMode } from "./vocabulary.js";
2
+ import * as React from "react";
3
+ import { useRender } from "@base-ui/react/use-render";
4
+ //#region src/elements/agent-mode-badge.d.ts
5
+ interface AgentModeBadgeProps extends Omit<React.ComponentPropsWithoutRef<"span">, "children"> {
6
+ /**
7
+ * How much authority the run is holding: `manual`, `auto-edit`, `plan` or
8
+ * `unsafe`. Stamped as `data-agent-mode`, which is what the quadruple in
9
+ * `@cueplusplus/ui/elements.css` is keyed on.
10
+ */
11
+ mode: AgentMode;
12
+ /**
13
+ * The product's own word for it — `Agent`, `Build`, `YOLO`, `Bypass
14
+ * permissions`. Defaults to `AGENT_MODE_LABELS[mode]`, and it is the reason
15
+ * a nine-mode product needs no more than these four rungs.
16
+ */
17
+ label?: string;
18
+ /**
19
+ * What the mode actually does, as the badge's `title`. Defaults to
20
+ * `AGENT_MODE_DESCRIPTIONS[mode]`. Pass `""` for no tooltip at all.
21
+ */
22
+ description?: string;
23
+ /**
24
+ * Replace the rendered element (Base UI render prop) — `render={<button
25
+ * type="button" onClick={cycle} />}` for a picker that cycles, which is what
26
+ * every product with more than two modes ships.
27
+ */
28
+ render?: useRender.RenderProp;
29
+ }
30
+ /**
31
+ * What the run is allowed to do, said in one chip and one attribute.
32
+ *
33
+ * Agent authority is the fact a person most needs from the corner of their eye
34
+ * and the one every catalogue leaves to prose. This is the readout: a glyph, a
35
+ * word, and `data-agent-mode` on the element. The attribute is the part that
36
+ * travels — `@cueplusplus/ui/elements.css` declares four custom properties
37
+ * under it, so putting the same attribute on a composer tints its focus ring,
38
+ * its send button and its rail from one place, and a console adds a
39
+ * mode-aware surface by reading a property rather than by threading a prop:
40
+ *
41
+ * ```css
42
+ * .composer:focus-within { border-color: var(--cue-elements-mode-icon); }
43
+ * .send-button { background: var(--cue-elements-mode-icon); color: var(--cue-elements-mode-background); }
44
+ * .turn-rail { background: var(--cue-elements-mode-border); }
45
+ * ```
46
+ *
47
+ * The ladder is four rungs and the mode set is open. Every product in the study
48
+ * paints six, seven or nine modes in exactly four accents — will it ask me, is
49
+ * it writing, is it only planning, are the guardrails off — so the rung is what
50
+ * `mode` carries and the product's own word is what `label` carries.
51
+ *
52
+ * The properties resolve against the *element that carries the attribute*, not
53
+ * against the page: a badge inside an `<AgentSurface skin="aui">` takes the
54
+ * island's palette, because the quadruple is declared on `[data-agent-mode]`
55
+ * rather than at `:root` where a `var()` would have been substituted before it
56
+ * ever reached the island.
57
+ *
58
+ * @example
59
+ * import { AgentModeBadge } from "@cueplusplus/ui/elements";
60
+ *
61
+ * <AgentModeBadge mode="plan" />
62
+ * @example
63
+ * // A product's own word on cue's rung, and a chip that cycles.
64
+ * <AgentModeBadge
65
+ * mode="unsafe"
66
+ * label="YOLO"
67
+ * render={<button type="button" onClick={cycle} />}
68
+ * />
69
+ */
70
+ declare const AgentModeBadge: React.ForwardRefExoticComponent<AgentModeBadgeProps & React.RefAttributes<HTMLSpanElement>>;
71
+ //#endregion
72
+ export { AgentModeBadge, AgentModeBadgeProps };
@@ -0,0 +1,110 @@
1
+ "use client";
2
+ import { cn } from "../lib/cn.js";
3
+ import { AGENT_MODE_DESCRIPTIONS, AGENT_MODE_LABELS } from "./vocabulary.js";
4
+ import * as React from "react";
5
+ import { Fragment, jsx, jsxs } from "react/jsx-runtime";
6
+ import { useRender } from "@base-ui/react/use-render";
7
+ import { HandIcon, MapIcon, PencilIcon, ShieldOffIcon } from "lucide-react";
8
+ //#region src/elements/agent-mode-badge.tsx
9
+ /**
10
+ * The glyph per rung, so the ladder survives a colour-blind reader and a
11
+ * monochrome screenshot.
12
+ *
13
+ * A hand for the mode that stops and asks, a pencil for the one that writes, a
14
+ * map for the one that only reads and plans, and a shield with a line through
15
+ * it for the one that does not stop. Colour alone cannot carry authority — this
16
+ * is the same argument that puts a label beside it.
17
+ */
18
+ const MODE_GLYPH = {
19
+ manual: HandIcon,
20
+ "auto-edit": PencilIcon,
21
+ plan: MapIcon,
22
+ unsafe: ShieldOffIcon
23
+ };
24
+ /**
25
+ * The four properties the quadruple publishes, with a token behind each.
26
+ *
27
+ * The fallbacks are not decoration: `elements.css` is a consumer import, and
28
+ * without it these four are undeclared. A badge that resolved to nothing would
29
+ * be an invisible chip, so the fallback is the family's neutral — the mode is
30
+ * then carried by the glyph and the label, which is where it has to be carried
31
+ * anyway.
32
+ */
33
+ const MODE_PAINT = {
34
+ backgroundColor: "var(--cue-elements-mode-background, var(--cue-surface-2))",
35
+ color: "var(--cue-elements-mode-text, var(--cue-fg-muted))",
36
+ borderColor: "var(--cue-elements-mode-border, var(--cue-border))"
37
+ };
38
+ /** The icon's own property, which is the one a rail and a spinner also read. */
39
+ const MODE_ICON = { color: "var(--cue-elements-mode-icon, var(--cue-fg-subtle))" };
40
+ /**
41
+ * What the run is allowed to do, said in one chip and one attribute.
42
+ *
43
+ * Agent authority is the fact a person most needs from the corner of their eye
44
+ * and the one every catalogue leaves to prose. This is the readout: a glyph, a
45
+ * word, and `data-agent-mode` on the element. The attribute is the part that
46
+ * travels — `@cueplusplus/ui/elements.css` declares four custom properties
47
+ * under it, so putting the same attribute on a composer tints its focus ring,
48
+ * its send button and its rail from one place, and a console adds a
49
+ * mode-aware surface by reading a property rather than by threading a prop:
50
+ *
51
+ * ```css
52
+ * .composer:focus-within { border-color: var(--cue-elements-mode-icon); }
53
+ * .send-button { background: var(--cue-elements-mode-icon); color: var(--cue-elements-mode-background); }
54
+ * .turn-rail { background: var(--cue-elements-mode-border); }
55
+ * ```
56
+ *
57
+ * The ladder is four rungs and the mode set is open. Every product in the study
58
+ * paints six, seven or nine modes in exactly four accents — will it ask me, is
59
+ * it writing, is it only planning, are the guardrails off — so the rung is what
60
+ * `mode` carries and the product's own word is what `label` carries.
61
+ *
62
+ * The properties resolve against the *element that carries the attribute*, not
63
+ * against the page: a badge inside an `<AgentSurface skin="aui">` takes the
64
+ * island's palette, because the quadruple is declared on `[data-agent-mode]`
65
+ * rather than at `:root` where a `var()` would have been substituted before it
66
+ * ever reached the island.
67
+ *
68
+ * @example
69
+ * import { AgentModeBadge } from "@cueplusplus/ui/elements";
70
+ *
71
+ * <AgentModeBadge mode="plan" />
72
+ * @example
73
+ * // A product's own word on cue's rung, and a chip that cycles.
74
+ * <AgentModeBadge
75
+ * mode="unsafe"
76
+ * label="YOLO"
77
+ * render={<button type="button" onClick={cycle} />}
78
+ * />
79
+ */
80
+ const AgentModeBadge = React.forwardRef(function AgentModeBadge({ mode, label, description, render, className, style, ...elementProps }, ref) {
81
+ const Glyph = MODE_GLYPH[mode];
82
+ const said = label ?? AGENT_MODE_LABELS[mode];
83
+ const explained = description ?? AGENT_MODE_DESCRIPTIONS[mode];
84
+ return useRender({
85
+ render,
86
+ ref,
87
+ defaultTagName: "span",
88
+ props: {
89
+ ...elementProps,
90
+ "data-slot": "agent-mode-badge",
91
+ "data-agent-mode": mode,
92
+ title: explained === "" ? void 0 : explained,
93
+ style: {
94
+ ...MODE_PAINT,
95
+ ...style
96
+ },
97
+ className: cn("inline-flex shrink-0 items-center gap-1.5 rounded-full border px-2 py-0.5 text-(length:--cue-text-ui) font-medium", className),
98
+ children: /* @__PURE__ */ jsxs(Fragment, { children: [/* @__PURE__ */ jsx(Glyph, {
99
+ "aria-hidden": true,
100
+ className: "size-3.5 shrink-0",
101
+ style: MODE_ICON
102
+ }), /* @__PURE__ */ jsx("span", {
103
+ className: "min-w-0 truncate",
104
+ children: said
105
+ })] })
106
+ }
107
+ });
108
+ });
109
+ //#endregion
110
+ export { AgentModeBadge };
@@ -0,0 +1,24 @@
1
+ import { ComponentProps } from "react";
2
+ //#region src/elements/agent-plan.d.ts
3
+ /**
4
+ * A checklist the agent works through, with progress you can glance.
5
+ *
6
+ * @example
7
+ * import { AgentPlan } from "@cueplusplus/ui/elements";
8
+ *
9
+ * <AgentPlan
10
+ * steps={["Read the file", "Draft the fix", "Run tests"]}
11
+ * activeIndex={1}
12
+ * />
13
+ */
14
+ declare function AgentPlan({ steps, activeIndex, className, ...props }: Omit<ComponentProps<"div">, "children" | "steps" | "activeIndex"> & {
15
+ /** Checklist items the agent works through in order. */
16
+ steps: readonly string[];
17
+ /**
18
+ * Index of the step currently running. Values past the end mark every step done, and
19
+ * values before the start mark none.
20
+ */
21
+ activeIndex: number;
22
+ }): import("react").JSX.Element;
23
+ //#endregion
24
+ export { AgentPlan };
@@ -0,0 +1,74 @@
1
+ "use client";
2
+ import { cn } from "../lib/cn.js";
3
+ import { mono } from "./surfaces.js";
4
+ import { pct, progressOf } from "./range.js";
5
+ import { jsx, jsxs } from "react/jsx-runtime";
6
+ import { CheckIcon, Loader2Icon } from "lucide-react";
7
+ //#region src/elements/agent-plan.tsx
8
+ /**
9
+ * A checklist the agent works through, with progress you can glance.
10
+ *
11
+ * @example
12
+ * import { AgentPlan } from "@cueplusplus/ui/elements";
13
+ *
14
+ * <AgentPlan
15
+ * steps={["Read the file", "Draft the fix", "Run tests"]}
16
+ * activeIndex={1}
17
+ * />
18
+ */
19
+ function AgentPlan({ steps, activeIndex, className, ...props }) {
20
+ const total = steps.length;
21
+ const completed = progressOf(activeIndex, total);
22
+ const allDone = completed >= total;
23
+ const progress = pct(completed, total);
24
+ return /* @__PURE__ */ jsxs("div", {
25
+ "data-slot": "agent-plan",
26
+ className: cn("flex w-full max-w-sm flex-col gap-3", className),
27
+ ...props,
28
+ children: [
29
+ /* @__PURE__ */ jsxs("div", {
30
+ className: "flex items-center justify-between",
31
+ children: [/* @__PURE__ */ jsx("span", {
32
+ className: "text-(length:--cue-text-body) font-medium",
33
+ children: "Plan"
34
+ }), /* @__PURE__ */ jsxs("span", {
35
+ className: cn(mono, "text-fg-subtle tabular-nums"),
36
+ children: [
37
+ completed,
38
+ " of ",
39
+ total
40
+ ]
41
+ })]
42
+ }),
43
+ /* @__PURE__ */ jsx("div", {
44
+ className: "bg-surface-2 h-[3px] w-full overflow-hidden rounded-full",
45
+ children: /* @__PURE__ */ jsx("span", {
46
+ className: "bg-accent block h-full rounded-full transition-[width] duration-500",
47
+ style: { width: `${progress}%` }
48
+ })
49
+ }),
50
+ /* @__PURE__ */ jsx("ul", {
51
+ className: "flex flex-col gap-2.5",
52
+ children: steps.map((step, i) => {
53
+ const done = allDone || i < completed;
54
+ const active = !allDone && i === completed;
55
+ return /* @__PURE__ */ jsxs("li", {
56
+ className: "flex items-center gap-2.5 text-(length:--cue-text-body)",
57
+ children: [/* @__PURE__ */ jsx("span", {
58
+ className: "flex size-4 shrink-0 items-center justify-center",
59
+ children: done ? /* @__PURE__ */ jsx(CheckIcon, { className: "text-fg-subtle size-3.5" }) : active ? /* @__PURE__ */ jsx(Loader2Icon, { className: "text-fg size-3.5 animate-spin motion-reduce:animate-none" }) : /* @__PURE__ */ jsx("span", {
60
+ "aria-hidden": true,
61
+ className: "bg-surface-3 size-1.5 rounded-full"
62
+ })
63
+ }), /* @__PURE__ */ jsx("span", {
64
+ className: cn(done && "text-fg-subtle", active && "text-fg", !done && !active && "text-fg-subtle"),
65
+ children: step
66
+ })]
67
+ }, step);
68
+ })
69
+ })
70
+ ]
71
+ });
72
+ }
73
+ //#endregion
74
+ export { AgentPlan };
@@ -0,0 +1,29 @@
1
+ import { ComponentProps } from "react";
2
+ //#region src/elements/agent-status.d.ts
3
+ /** What the agent is doing: `working`, `waiting` on the user, or `done`. */
4
+ type AgentState = "working" | "waiting" | "done";
5
+ /** One step of an agent's run, for a surface that lists them rather than showing the last. */
6
+ interface StatusStep {
7
+ /** The step's own state, drawn as its glyph. */
8
+ state: AgentState;
9
+ /** What the step says. */
10
+ label: string;
11
+ }
12
+ /**
13
+ * One pill that always answers: what is it doing, and for how long.
14
+ *
15
+ * @example
16
+ * import { AgentStatus } from "@cueplusplus/ui/elements";
17
+ *
18
+ * <AgentStatus state="working" label="Editing composer.tsx" elapsed="8s" />
19
+ */
20
+ declare function AgentStatus({ state, label, elapsed, className, ...props }: Omit<ComponentProps<"div">, "children" | "state" | "label" | "elapsed"> & {
21
+ /** Visual mode of the pill: working, waiting, or done with a check. */
22
+ state: AgentState;
23
+ /** Short status line describing what the agent is doing. */
24
+ label: string;
25
+ /** Elapsed time shown in mono when provided. */
26
+ elapsed?: string;
27
+ }): import("react").JSX.Element;
28
+ //#endregion
29
+ export { AgentState, AgentStatus, StatusStep };
@@ -0,0 +1,46 @@
1
+ "use client";
2
+ import { cn } from "../lib/cn.js";
3
+ import { ghostButton, paper } from "./surfaces.js";
4
+ import { jsx, jsxs } from "react/jsx-runtime";
5
+ import { CheckIcon, PauseIcon, RotateCcwIcon } from "lucide-react";
6
+ //#region src/elements/agent-status.tsx
7
+ /**
8
+ * One pill that always answers: what is it doing, and for how long.
9
+ *
10
+ * @example
11
+ * import { AgentStatus } from "@cueplusplus/ui/elements";
12
+ *
13
+ * <AgentStatus state="working" label="Editing composer.tsx" elapsed="8s" />
14
+ */
15
+ function AgentStatus({ state, label, elapsed, className, ...props }) {
16
+ return /* @__PURE__ */ jsxs("div", {
17
+ "data-slot": "agent-status",
18
+ className: cn(paper, "flex items-center gap-2.5 rounded-full py-1.5 ps-3.5 pe-1.5", className),
19
+ ...props,
20
+ children: [
21
+ state === "done" ? /* @__PURE__ */ jsx(CheckIcon, {
22
+ "aria-hidden": true,
23
+ className: "size-3 shrink-0 text-ok"
24
+ }) : /* @__PURE__ */ jsx("span", {
25
+ "aria-hidden": true,
26
+ className: cn("size-1.5 shrink-0 rounded-full motion-reduce:animate-none", state === "working" ? "animate-pulse bg-stream" : "bg-surface-3 animate-pulse")
27
+ }),
28
+ /* @__PURE__ */ jsx("span", {
29
+ className: "cue-elements-fade-in cue-elements-blur-in-2 cue-elements-animate-in max-w-44 truncate text-(length:--cue-text-ui) duration-300 motion-reduce:animate-none",
30
+ children: label
31
+ }, label),
32
+ elapsed !== void 0 && state !== "done" && /* @__PURE__ */ jsx("span", {
33
+ className: cn("font-mono text-(length:--cue-text-label) tracking-tight", "text-fg-subtle tabular-nums"),
34
+ children: elapsed
35
+ }),
36
+ /* @__PURE__ */ jsx("button", {
37
+ type: "button",
38
+ "aria-label": state === "done" ? "Run again" : "Pause agent",
39
+ className: cn(ghostButton, "size-6"),
40
+ children: state === "done" ? /* @__PURE__ */ jsx(RotateCcwIcon, { className: "size-3" }) : /* @__PURE__ */ jsx(PauseIcon, { className: "size-3" })
41
+ })
42
+ ]
43
+ });
44
+ }
45
+ //#endregion
46
+ export { AgentStatus };
@@ -0,0 +1,65 @@
1
+ import { AgentFidelity, AgentSkin } from "../system/agent-skin.js";
2
+ import * as React from "react";
3
+ import { useRender } from "@base-ui/react/use-render";
4
+ //#region src/elements/agent-surface.d.ts
5
+ interface AgentSurfaceProps extends Omit<React.ComponentPropsWithoutRef<"div">, "children"> {
6
+ /**
7
+ * Which value-set paints the subtree: `cue` (the default) or `aui`, which
8
+ * installs assistant-ui's own inks, grounds and hues.
9
+ */
10
+ skin?: AgentSkin;
11
+ /**
12
+ * How much a supersede island re-points: `cue-metrics` (the default, colour
13
+ * only) or `upstream`, which also pins assistant-ui's radii, literal type
14
+ * sizes and spacing so the density ladder stops at the island edge.
15
+ */
16
+ fidelity?: AgentFidelity;
17
+ /**
18
+ * Replace the rendered element (Base UI render prop). Accepts an element —
19
+ * `render={<section />}` — or a function returning one.
20
+ */
21
+ render?: useRender.RenderProp;
22
+ /** The subtree that paints with this island's values. */
23
+ children?: React.ReactNode;
24
+ }
25
+ /**
26
+ * The supersede island: one subtree, painted by a different set of values.
27
+ *
28
+ * Renders a plain `<div data-slot="agent-surface" data-cue-skin="…"
29
+ * data-cue-fidelity="…">` and publishes the same pair on React context. The attributes do the work —
30
+ * `@cueplusplus/ui/elements.css` re-declares, under them, the `--cue-*` tokens
31
+ * the whole elements family reads, and custom properties inherit, so every
32
+ * element inside repaints with no prop threading and no branch in any
33
+ * component. The context exists for the one place that cannot see the DOM: an
34
+ * overlay portaled to `<body>` from inside the island, which
35
+ * {@link useCuePortalProps} stamps from the same values.
36
+ *
37
+ * Two things this is not. It is not a theme — `data-theme`, `data-mode` and
38
+ * `data-density` are untouched, and a light app keeps a light island. And it is
39
+ * not needed for cue mode: the elements were rewritten onto cue's tokens by the
40
+ * vendoring codemod, so `skin="cue"` is what they already do. Reach for this to
41
+ * show an element the way assistant-ui drew it, or to hand a chat panel back to
42
+ * upstream's design language inside a console that is otherwise cue's.
43
+ *
44
+ * What an `aui` island re-points is this family's own vocabulary rather than the
45
+ * whole token contract: `--cue-busy`, `--cue-info`, `--cue-selection`,
46
+ * `--cue-focus`, `--cue-scrim` and every derived `*-soft` / `*-border` stay on
47
+ * the console's theme. Nothing in the elements group reads them, so the island
48
+ * is complete for what it is for — but a *cue* component placed inside one (a
49
+ * `Chip tone="busy"`, a `Toast`) paints half in each palette, and the
50
+ * derivations cannot be made to follow at all: they are `color-mix()` values
51
+ * resolved on the theme block and inherited as answers. `elements.css` carries
52
+ * the full accounting beside the values themselves.
53
+ *
54
+ * `elements.css` is a consumer import: `@import "@cueplusplus/ui/elements.css";`
55
+ * after the main stylesheet. Without it a `skin="aui"` island simply stays in
56
+ * cue's palette.
57
+ *
58
+ * @example
59
+ * <AgentSurface skin="aui" fidelity="upstream">
60
+ * <ToolCall label="Searched" activeLabel="Searching" query="composer" … />
61
+ * </AgentSurface>
62
+ */
63
+ declare const AgentSurface: React.ForwardRefExoticComponent<AgentSurfaceProps & React.RefAttributes<HTMLDivElement>>;
64
+ //#endregion
65
+ export { AgentSurface, AgentSurfaceProps };
@@ -0,0 +1,68 @@
1
+ "use client";
2
+ import { AgentSkinContext } from "../system/agent-skin.js";
3
+ import * as React from "react";
4
+ import { jsx } from "react/jsx-runtime";
5
+ import { useRender } from "@base-ui/react/use-render";
6
+ //#region src/elements/agent-surface.tsx
7
+ /**
8
+ * The supersede island: one subtree, painted by a different set of values.
9
+ *
10
+ * Renders a plain `<div data-slot="agent-surface" data-cue-skin="…"
11
+ * data-cue-fidelity="…">` and publishes the same pair on React context. The attributes do the work —
12
+ * `@cueplusplus/ui/elements.css` re-declares, under them, the `--cue-*` tokens
13
+ * the whole elements family reads, and custom properties inherit, so every
14
+ * element inside repaints with no prop threading and no branch in any
15
+ * component. The context exists for the one place that cannot see the DOM: an
16
+ * overlay portaled to `<body>` from inside the island, which
17
+ * {@link useCuePortalProps} stamps from the same values.
18
+ *
19
+ * Two things this is not. It is not a theme — `data-theme`, `data-mode` and
20
+ * `data-density` are untouched, and a light app keeps a light island. And it is
21
+ * not needed for cue mode: the elements were rewritten onto cue's tokens by the
22
+ * vendoring codemod, so `skin="cue"` is what they already do. Reach for this to
23
+ * show an element the way assistant-ui drew it, or to hand a chat panel back to
24
+ * upstream's design language inside a console that is otherwise cue's.
25
+ *
26
+ * What an `aui` island re-points is this family's own vocabulary rather than the
27
+ * whole token contract: `--cue-busy`, `--cue-info`, `--cue-selection`,
28
+ * `--cue-focus`, `--cue-scrim` and every derived `*-soft` / `*-border` stay on
29
+ * the console's theme. Nothing in the elements group reads them, so the island
30
+ * is complete for what it is for — but a *cue* component placed inside one (a
31
+ * `Chip tone="busy"`, a `Toast`) paints half in each palette, and the
32
+ * derivations cannot be made to follow at all: they are `color-mix()` values
33
+ * resolved on the theme block and inherited as answers. `elements.css` carries
34
+ * the full accounting beside the values themselves.
35
+ *
36
+ * `elements.css` is a consumer import: `@import "@cueplusplus/ui/elements.css";`
37
+ * after the main stylesheet. Without it a `skin="aui"` island simply stays in
38
+ * cue's palette.
39
+ *
40
+ * @example
41
+ * <AgentSurface skin="aui" fidelity="upstream">
42
+ * <ToolCall label="Searched" activeLabel="Searching" query="composer" … />
43
+ * </AgentSurface>
44
+ */
45
+ const AgentSurface = React.forwardRef(function AgentSurface({ skin = "cue", fidelity = "cue-metrics", render, children, ...elementProps }, ref) {
46
+ const island = React.useMemo(() => ({
47
+ skin,
48
+ fidelity
49
+ }), [skin, fidelity]);
50
+ const element = useRender({
51
+ render,
52
+ ref,
53
+ defaultTagName: "div",
54
+ props: {
55
+ ...elementProps,
56
+ "data-slot": "agent-surface",
57
+ "data-cue-skin": skin,
58
+ "data-cue-fidelity": fidelity,
59
+ children
60
+ }
61
+ });
62
+ return /* @__PURE__ */ jsx(AgentSkinContext.Provider, {
63
+ value: island,
64
+ children: element
65
+ });
66
+ });
67
+ //#endregion
68
+ export { AgentSurface };