@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,54 @@
1
+ "use client";
2
+ import { cn } from "../lib/cn.js";
3
+ import { ghostButton, mono, paper } from "./surfaces.js";
4
+ import { jsx, jsxs } from "react/jsx-runtime";
5
+ import { PencilLineIcon, XIcon } from "lucide-react";
6
+ //#region src/elements/draft-restore.tsx
7
+ /**
8
+ * Come back to a thread and the sentence you never sent is still waiting.
9
+ *
10
+ * @example
11
+ * import { DraftRestore } from "@cueplusplus/ui/elements";
12
+ *
13
+ * <DraftRestore
14
+ * draft="Add a regression test for draft restore"
15
+ * savedAt="2 minutes ago"
16
+ * onRestore={restore}
17
+ * onDiscard={discard}
18
+ * />
19
+ */
20
+ function DraftRestore({ draft, savedAt, onRestore, onDiscard, className, ...props }) {
21
+ return /* @__PURE__ */ jsxs("div", {
22
+ "data-slot": "draft-restore",
23
+ className: cn(paper, "cue-elements-fade-in cue-elements-slide-in-from-bottom-1 cue-elements-animate-in flex w-full max-w-sm items-center gap-2.5 rounded-(--radius-overlay) py-2 pr-2 pl-3.5 duration-300", className),
24
+ ...props,
25
+ children: [
26
+ /* @__PURE__ */ jsx(PencilLineIcon, { className: "text-fg-subtle size-3.5 shrink-0" }),
27
+ /* @__PURE__ */ jsxs("div", {
28
+ className: "flex min-w-0 flex-1 flex-col",
29
+ children: [/* @__PURE__ */ jsx("span", {
30
+ className: "text-fg-muted truncate text-(length:--cue-text-body)",
31
+ children: draft
32
+ }), /* @__PURE__ */ jsxs("span", {
33
+ className: cn(mono, "text-fg-subtle"),
34
+ children: ["unsent draft · ", savedAt]
35
+ })]
36
+ }),
37
+ /* @__PURE__ */ jsx("button", {
38
+ type: "button",
39
+ onClick: onRestore,
40
+ className: "text-fg-muted hover:bg-surface-2 hover:text-fg shrink-0 rounded-full px-2.5 py-1 text-(length:--cue-text-ui) font-medium transition-[background-color,color,scale] duration-150 active:scale-[0.96]",
41
+ children: "Restore"
42
+ }),
43
+ /* @__PURE__ */ jsx("button", {
44
+ type: "button",
45
+ "aria-label": "Discard the draft",
46
+ onClick: onDiscard,
47
+ className: cn(ghostButton, "size-7 shrink-0"),
48
+ children: /* @__PURE__ */ jsx(XIcon, { className: "size-3.5" })
49
+ })
50
+ ]
51
+ });
52
+ }
53
+ //#endregion
54
+ export { DraftRestore };
@@ -0,0 +1,36 @@
1
+ import { ComponentProps } from "react";
2
+ //#region src/elements/edit-message.d.ts
3
+ /**
4
+ * Rewrite a turn in place, told up front how many replies the edit throws away.
5
+ *
6
+ * @example
7
+ * import { EditMessage } from "@cueplusplus/ui/elements";
8
+ *
9
+ * <EditMessage
10
+ * value={value}
11
+ * discardedReplies={3}
12
+ * editing={editing}
13
+ * onValueChange={setValue}
14
+ * onStartEdit={() => setEditing(true)}
15
+ * onCancel={cancel}
16
+ * onSave={save}
17
+ * />
18
+ */
19
+ declare function EditMessage({ value, discardedReplies, editing, onValueChange, onSave, onCancel, onStartEdit, className, ...props }: Omit<ComponentProps<"div">, "children" | "value" | "discardedReplies" | "editing" | "onValueChange" | "onSave" | "onCancel" | "onStartEdit"> & {
20
+ /** The message text, read when resting and edited when open. */
21
+ value: string;
22
+ /** How many replies sending would drop. The warning hides at zero. */
23
+ discardedReplies: number;
24
+ /** Swaps between the resting bubble and the edit composer. */
25
+ editing: boolean;
26
+ /** Called as the message is edited. */
27
+ onValueChange?: (value: string) => void;
28
+ /** Called when the edited message is sent. */
29
+ onSave?: () => void;
30
+ /** Called when the edit is abandoned. Restore the original yourself. */
31
+ onCancel?: () => void;
32
+ /** Called when the resting bubble is clicked. */
33
+ onStartEdit?: () => void;
34
+ }): import("react").JSX.Element;
35
+ //#endregion
36
+ export { EditMessage };
@@ -0,0 +1,77 @@
1
+ "use client";
2
+ import { cn } from "../lib/cn.js";
3
+ import { field, inkButton, paper } from "./surfaces.js";
4
+ import { jsx, jsxs } from "react/jsx-runtime";
5
+ import { AlertTriangleIcon } from "lucide-react";
6
+ //#region src/elements/edit-message.tsx
7
+ /**
8
+ * Rewrite a turn in place, told up front how many replies the edit throws away.
9
+ *
10
+ * @example
11
+ * import { EditMessage } from "@cueplusplus/ui/elements";
12
+ *
13
+ * <EditMessage
14
+ * value={value}
15
+ * discardedReplies={3}
16
+ * editing={editing}
17
+ * onValueChange={setValue}
18
+ * onStartEdit={() => setEditing(true)}
19
+ * onCancel={cancel}
20
+ * onSave={save}
21
+ * />
22
+ */
23
+ function EditMessage({ value, discardedReplies, editing, onValueChange, onSave, onCancel, onStartEdit, className, ...props }) {
24
+ if (!editing) return /* @__PURE__ */ jsx("div", {
25
+ "data-slot": "edit-message",
26
+ className: cn("flex w-full max-w-sm justify-end", className),
27
+ ...props,
28
+ children: /* @__PURE__ */ jsx("button", {
29
+ type: "button",
30
+ onClick: onStartEdit,
31
+ className: cn(field, "hover:bg-surface-2 max-w-[85%] rounded-(--radius-overlay) px-3.5 py-2.5 text-start text-(length:--cue-text-body) transition-colors"),
32
+ children: value
33
+ })
34
+ });
35
+ return /* @__PURE__ */ jsxs("div", {
36
+ "data-slot": "edit-message",
37
+ className: cn(paper, "flex w-full max-w-sm flex-col gap-3 rounded-(--radius-overlay) p-3.5", className),
38
+ ...props,
39
+ children: [
40
+ /* @__PURE__ */ jsx("textarea", {
41
+ value,
42
+ onChange: (event) => onValueChange?.(event.target.value),
43
+ rows: 2,
44
+ "aria-label": "Edit your message",
45
+ className: cn(field, "text-fg focus-visible:outline-2 focus-visible:outline-solid focus-visible:outline-offset-1 focus-visible:outline-accent resize-none rounded-(--radius-surface) px-3 py-2.5 text-(length:--cue-text-body) leading-(--cue-leading-ui) outline-none")
46
+ }),
47
+ discardedReplies > 0 && /* @__PURE__ */ jsxs("div", {
48
+ className: "flex items-center gap-2 text-warn",
49
+ children: [/* @__PURE__ */ jsx(AlertTriangleIcon, { className: "size-3.5 shrink-0" }), /* @__PURE__ */ jsxs("span", {
50
+ className: cn("font-mono text-(length:--cue-text-label) tracking-tight", "tabular-nums"),
51
+ children: [
52
+ "sending discards ",
53
+ discardedReplies,
54
+ " ",
55
+ discardedReplies === 1 ? "reply" : "replies"
56
+ ]
57
+ })]
58
+ }),
59
+ /* @__PURE__ */ jsxs("div", {
60
+ className: "flex items-center justify-end gap-2",
61
+ children: [/* @__PURE__ */ jsx("button", {
62
+ type: "button",
63
+ onClick: onCancel,
64
+ className: "text-fg-muted hover:bg-surface-2 hover:text-fg h-8 rounded-full px-3.5 text-(length:--cue-text-ui) font-medium transition-[background-color,color,scale] duration-150 active:scale-[0.96]",
65
+ children: "Cancel"
66
+ }), /* @__PURE__ */ jsx("button", {
67
+ type: "button",
68
+ onClick: onSave,
69
+ className: cn(inkButton, "flex h-8 items-center rounded-full px-3.5 text-(length:--cue-text-ui) font-medium"),
70
+ children: "Send"
71
+ })]
72
+ })
73
+ ]
74
+ });
75
+ }
76
+ //#endregion
77
+ export { EditMessage };
@@ -0,0 +1,459 @@
1
+ /*! @cueplusplus/ui — the elements family's stylesheet.
2
+ *
3
+ * Consumer app CSS, in this order:
4
+ * @import "tailwindcss";
5
+ * @import "@cueplusplus/ui/styles.css";
6
+ * @import "@cueplusplus/ui/elements.css";
7
+ *
8
+ * Optional. The vendored elements were rewritten onto `--cue-*` tokens by
9
+ * `scripts/elements-sync`, so in cue mode they are already this system's
10
+ * components and need no stylesheet at all. This file exists for the three
11
+ * things a codemod could not produce:
12
+ *
13
+ * 1. **The vocabularies upstream never shipped.** assistant-ui's elements spend
14
+ * `tw-shimmer` and `tw-animate-css` classes that its own registry does not
15
+ * declare (internals report §3). Rewriting entrance motion would have been a
16
+ * design decision inside a mechanical transform, so the effect below is
17
+ * upstream's — but the *names* are not: they are `tw-animate-css`'s, the
18
+ * animation library shadcn installs by default, and an app that has both
19
+ * would get two `.animate-in` rules with import order deciding. So the
20
+ * codemod renames them at emit and everything here is declared under
21
+ * `cue-elements-`. The debt and the rename table are both in
22
+ * `scripts/elements-sync/elements-sync.lock.json` (`unresolvedVocabularies`,
23
+ * `classRenames`), and a test holds this file against them.
24
+ * 2. **The supersede island.** `<AgentSurface skin="aui">` stamps two
25
+ * attributes; the rules below re-declare, under them, the tokens the family
26
+ * reads. Because every element utility dereferences its variable at the
27
+ * point of use — cue's Tailwind bridge and shadcn's are both `@theme inline`
28
+ * — a value-set is all it takes. No layers, no `!important`, no `:where`.
29
+ * 3. **The mode ladder.** `data-agent-mode` and the quadruple it drives — the
30
+ * one idea in the field study that is a *token contract* rather than a
31
+ * component, and the reason `AgentModeBadge` is four properties and a chip
32
+ * rather than a colour prop. The section below carries the reasoning.
33
+ *
34
+ * Plain CSS, no Tailwind at-rules: a values sheet has to work in an app that
35
+ * imports it after everything else.
36
+ */
37
+
38
+ /* ── The sweep ─────────────────────────────────────────────────────────
39
+ *
40
+ * Upstream's `ShimmerLabel` takes its animation from `tw-shimmer`, a package
41
+ * this system does not add as a dependency. This is the same effect out of
42
+ * cue's own tokens: a band of full-strength ink travelling through a muted
43
+ * label, clipped to the glyphs.
44
+ *
45
+ * The ink and the sheen are named properties so a caller can retune one label
46
+ * without re-deriving the gradient.
47
+ */
48
+ @keyframes cue-elements-shimmer {
49
+ from {
50
+ background-position: 150% center;
51
+ }
52
+ to {
53
+ background-position: -50% center;
54
+ }
55
+ }
56
+
57
+ .cue-elements-shimmer {
58
+ --cue-elements-shimmer-ink: var(--cue-fg-muted);
59
+ --cue-elements-shimmer-sheen: var(--cue-fg);
60
+ background-image: linear-gradient(
61
+ 90deg,
62
+ var(--cue-elements-shimmer-ink) 0%,
63
+ var(--cue-elements-shimmer-ink) 35%,
64
+ var(--cue-elements-shimmer-sheen) 50%,
65
+ var(--cue-elements-shimmer-ink) 65%,
66
+ var(--cue-elements-shimmer-ink) 100%
67
+ );
68
+ background-size: 250% 100%;
69
+ background-repeat: no-repeat;
70
+ -webkit-background-clip: text;
71
+ background-clip: text;
72
+ color: transparent;
73
+ animation: cue-elements-shimmer 1.8s linear infinite;
74
+ }
75
+
76
+ /* ── The entrance ──────────────────────────────────────────────────────
77
+ *
78
+ * `tw-animate-css`'s nine-utility subset, as the vendored spine uses it: one
79
+ * keyframe reading five custom properties, and a modifier class per property.
80
+ * The duration comes from the `duration-*` utility written beside it, which is
81
+ * what upstream expects — Tailwind publishes it as `--tw-duration`.
82
+ *
83
+ * The names are this family's, not upstream's. `.animate-in` and its eight
84
+ * companions belong to `tw-animate-css`; declaring them here would collide,
85
+ * silently, with any app that has it installed. `scripts/elements-sync` renames
86
+ * every one at emit (`rules.mjs`, `CLASS_RENAMES`), so the emitted tree writes
87
+ * `cue-elements-animate-in` and this file is the only thing that answers it.
88
+ */
89
+ @keyframes cue-elements-enter {
90
+ from {
91
+ opacity: var(--cue-elements-enter-opacity, 1);
92
+ filter: blur(var(--cue-elements-enter-blur, 0));
93
+ transform: translate3d(
94
+ var(--cue-elements-enter-translate-x, 0),
95
+ var(--cue-elements-enter-translate-y, 0),
96
+ 0
97
+ )
98
+ scale3d(
99
+ var(--cue-elements-enter-scale, 1),
100
+ var(--cue-elements-enter-scale, 1),
101
+ 1
102
+ );
103
+ }
104
+ }
105
+
106
+ .cue-elements-animate-in {
107
+ animation-name: cue-elements-enter;
108
+ animation-duration: var(--tw-duration, 150ms);
109
+ animation-timing-function: var(--tw-ease, ease-out);
110
+ }
111
+
112
+ .cue-elements-fill-mode-both {
113
+ animation-fill-mode: both;
114
+ }
115
+
116
+ .cue-elements-fade-in {
117
+ --cue-elements-enter-opacity: 0;
118
+ }
119
+
120
+ .cue-elements-zoom-in-90 {
121
+ --cue-elements-enter-scale: 0.9;
122
+ }
123
+
124
+ .cue-elements-zoom-in-95 {
125
+ --cue-elements-enter-scale: 0.95;
126
+ }
127
+
128
+ /* Upstream writes this one as `blur-in-[2px]`, an arbitrary value; it is a
129
+ * class like the other eight here. */
130
+ .cue-elements-blur-in-2 {
131
+ --cue-elements-enter-blur: 2px;
132
+ }
133
+
134
+ .cue-elements-slide-in-from-top-1 {
135
+ --cue-elements-enter-translate-y: calc(var(--spacing, 0.25rem) * -1);
136
+ }
137
+
138
+ .cue-elements-slide-in-from-bottom-1 {
139
+ --cue-elements-enter-translate-y: var(--spacing, 0.25rem);
140
+ }
141
+
142
+ .cue-elements-slide-in-from-bottom-2 {
143
+ --cue-elements-enter-translate-y: calc(var(--spacing, 0.25rem) * 2);
144
+ }
145
+
146
+ .cue-elements-slide-in-from-left-1 {
147
+ --cue-elements-enter-translate-x: calc(var(--spacing, 0.25rem) * -1);
148
+ }
149
+
150
+ /* A reader who asked for less motion gets none of it. The sweep has to be
151
+ * undone rather than paused: the label's own colour is transparent and its
152
+ * glyphs are painted by a clipped gradient, so a stopped animation would leave
153
+ * the text frozen wherever the sweep happened to be — including nowhere. */
154
+ @media (prefers-reduced-motion: reduce) {
155
+ .cue-elements-shimmer {
156
+ background-image: none;
157
+ color: var(--cue-elements-shimmer-ink);
158
+ animation: none;
159
+ }
160
+
161
+ .cue-elements-animate-in {
162
+ animation: none;
163
+ }
164
+ }
165
+
166
+ /* ── The mode ladder ───────────────────────────────────────────────────
167
+ *
168
+ * The most distinctive systemic idea in the field study, as four custom
169
+ * properties. Claude Code's panel puts `data-permission-mode` on the composer,
170
+ * the send button and the spinner, and each one re-derives its accent from it —
171
+ * six modes painted in four colours, because the thing a mode *means* is how
172
+ * much authority the run is holding and that ladder has four rungs everywhere.
173
+ * Cursor keeps the same idea as tokens: a quadruple per mode (`background`,
174
+ * `text`, `border`, `icon`) that the mode chip, the composer border and the
175
+ * transcript accent all read.
176
+ *
177
+ * So: sixteen properties, four per rung, declared on the element that carries
178
+ * `data-agent-mode`; then four aliases — the unprefixed quadruple — pointing at
179
+ * whichever rung the attribute names. A composer stamped
180
+ * `data-agent-mode="unsafe"` tints its focus ring, its send button and its rail
181
+ * out of `var(--cue-elements-mode-icon)` with no branch in any component, and a
182
+ * mode picker sitting inside it can still reach every rung by name.
183
+ *
184
+ * Three decisions worth writing down:
185
+ *
186
+ * - **They are declared here and not at `:root`.** A custom property's `var()`
187
+ * references are substituted at the element that declares them, so a rung
188
+ * declared at `:root` would resolve against the *page's* accent and a badge
189
+ * inside an `<AgentSurface skin="aui">` would paint in the console's palette
190
+ * while everything around it painted in the island's. Declared on
191
+ * `[data-agent-mode]`, each rung resolves wherever the attribute lands —
192
+ * which is the same reasoning that keeps the derived `*-soft` tokens out of
193
+ * the island block below.
194
+ *
195
+ * - **The default is neutral, not `manual`.** `[data-agent-mode="something-we-
196
+ * do-not-know"]` gets the family's plain chip, because the two failure modes
197
+ * are not symmetric: an unmapped mode painted brand-orange would be claiming
198
+ * the run asks before it acts, and that is exactly the claim nobody should
199
+ * make on a guess. These four neutrals are the same values
200
+ * `agent-mode-badge.tsx` falls back to when this stylesheet is not imported
201
+ * at all, so the unpainted and the unmapped chip look alike on purpose.
202
+ *
203
+ * - **`plan` is `--cue-stream`.** The reference paints it in the host's focus
204
+ * blue; this family's blue is the streaming hue the codemod already put every
205
+ * upstream `blue-500` on, and a second blue would be a second meaning.
206
+ */
207
+
208
+ [data-agent-mode] {
209
+ --cue-elements-mode-manual-background: color-mix(in oklab, var(--cue-accent) 14%, transparent);
210
+ --cue-elements-mode-manual-text: var(--cue-fg);
211
+ --cue-elements-mode-manual-border: color-mix(in oklab, var(--cue-accent) 40%, transparent);
212
+ --cue-elements-mode-manual-icon: var(--cue-accent);
213
+
214
+ --cue-elements-mode-auto-edit-background: color-mix(in oklab, var(--cue-fg) 10%, transparent);
215
+ --cue-elements-mode-auto-edit-text: var(--cue-fg);
216
+ --cue-elements-mode-auto-edit-border: color-mix(in oklab, var(--cue-fg) 28%, transparent);
217
+ --cue-elements-mode-auto-edit-icon: var(--cue-fg);
218
+
219
+ --cue-elements-mode-plan-background: color-mix(in oklab, var(--cue-stream) 14%, transparent);
220
+ --cue-elements-mode-plan-text: var(--cue-fg);
221
+ --cue-elements-mode-plan-border: color-mix(in oklab, var(--cue-stream) 40%, transparent);
222
+ --cue-elements-mode-plan-icon: var(--cue-stream);
223
+
224
+ --cue-elements-mode-unsafe-background: color-mix(in oklab, var(--cue-danger) 16%, transparent);
225
+ --cue-elements-mode-unsafe-text: var(--cue-fg);
226
+ --cue-elements-mode-unsafe-border: color-mix(in oklab, var(--cue-danger) 45%, transparent);
227
+ --cue-elements-mode-unsafe-icon: var(--cue-danger);
228
+
229
+ /* The active four, which is what every mode-aware surface reads. */
230
+ --cue-elements-mode-background: var(--cue-surface-2);
231
+ --cue-elements-mode-text: var(--cue-fg-muted);
232
+ --cue-elements-mode-border: var(--cue-border);
233
+ --cue-elements-mode-icon: var(--cue-fg-subtle);
234
+ }
235
+
236
+ [data-agent-mode="manual"] {
237
+ --cue-elements-mode-background: var(--cue-elements-mode-manual-background);
238
+ --cue-elements-mode-text: var(--cue-elements-mode-manual-text);
239
+ --cue-elements-mode-border: var(--cue-elements-mode-manual-border);
240
+ --cue-elements-mode-icon: var(--cue-elements-mode-manual-icon);
241
+ }
242
+
243
+ [data-agent-mode="auto-edit"] {
244
+ --cue-elements-mode-background: var(--cue-elements-mode-auto-edit-background);
245
+ --cue-elements-mode-text: var(--cue-elements-mode-auto-edit-text);
246
+ --cue-elements-mode-border: var(--cue-elements-mode-auto-edit-border);
247
+ --cue-elements-mode-icon: var(--cue-elements-mode-auto-edit-icon);
248
+ }
249
+
250
+ [data-agent-mode="plan"] {
251
+ --cue-elements-mode-background: var(--cue-elements-mode-plan-background);
252
+ --cue-elements-mode-text: var(--cue-elements-mode-plan-text);
253
+ --cue-elements-mode-border: var(--cue-elements-mode-plan-border);
254
+ --cue-elements-mode-icon: var(--cue-elements-mode-plan-icon);
255
+ }
256
+
257
+ [data-agent-mode="unsafe"] {
258
+ --cue-elements-mode-background: var(--cue-elements-mode-unsafe-background);
259
+ --cue-elements-mode-text: var(--cue-elements-mode-unsafe-text);
260
+ --cue-elements-mode-border: var(--cue-elements-mode-unsafe-border);
261
+ --cue-elements-mode-icon: var(--cue-elements-mode-unsafe-icon);
262
+ }
263
+
264
+ /* ── Supersede mode: assistant-ui's values ─────────────────────────────
265
+ *
266
+ * The whole of upstream's colour system is four shadcn variables —
267
+ * `--background`, `--foreground`, `--popover`, `--border` — plus four literal
268
+ * Tailwind hues (internals report §2 and §3). Below, those eight are spelled
269
+ * into the cue tokens the emitted tree reads, so one DOM paints two ways.
270
+ *
271
+ * Two are not literal transcriptions and say so:
272
+ *
273
+ * - The ink ramp. Upstream has no muted/subtle tokens; it writes
274
+ * `text-foreground/45` and `text-foreground/30` by hand, ~380 times between
275
+ * them. The two alphas here are the centroids of those two clusters, derived
276
+ * from the island's own foreground so light and dark need one rule.
277
+ * - `--cue-sunken`, the terminal slab. Upstream paints it
278
+ * `bg-foreground dark:bg-popover` — near-black in light — while keeping the
279
+ * text on `--foreground`, which only reads because its own demos are dark.
280
+ * The vendored tree inherits that ink, so the island spends shadcn's own
281
+ * recessed greys instead and the slab stays both a slab and readable.
282
+ *
283
+ * What is NOT here, and why — the same accounting the metrics block below
284
+ * carries for `--radius-*`:
285
+ *
286
+ * - **Absent by choice:** `--cue-busy`, `--cue-info`, `--cue-selection`,
287
+ * `--cue-focus`, `--cue-scrim`. No element in this family reads them — the
288
+ * codemod maps upstream's blue onto `--cue-stream`, and upstream has no
289
+ * selection or scrim of its own to transcribe. The consequence is worth
290
+ * knowing before you mix families: a *cue* component rendered inside an
291
+ * island — a `Chip tone="busy"`, a `Toast`, anything that draws a focus ring
292
+ * — paints half in each palette, its ground and ink from assistant-ui and its
293
+ * tone from the console's theme. That is a mixed surface, not a bug, and the
294
+ * island is not the place to fix it: re-pointing the whole contract here
295
+ * would make this a theme, which is exactly what `AgentSurface` is documented
296
+ * not to be.
297
+ *
298
+ * - **Absent by construction:** every derived token —
299
+ * `--cue-ok-soft`, `--cue-stream-border`, `--cue-accent-soft`, `--cue-hair`,
300
+ * `--cue-row-hover` and the rest. They cannot follow the island. Each is a
301
+ * `color-mix()` over `var(--cue-<base>)` declared on the theme block at
302
+ * `:root`, and a custom property's `var()` references are substituted at the
303
+ * element that declares them — a descendant inherits the resolved colour, not
304
+ * the recipe. So a `bg-ok-soft` inside an island would keep painting the
305
+ * console's green while every `bg-ok/10` beside it turned assistant-ui's, and
306
+ * nothing anywhere would be red. (Restating all sixteen derivations in both
307
+ * halves of this island would work, and is the trade the metrics block makes
308
+ * for three radii; sixteen colours in two modes is a second palette to keep
309
+ * in step, which is how two copies drift.) The family is therefore
310
+ * written in the alpha form — `bg-ok/10`, `border-stream/30`, which
311
+ * composites at the point of use — and `scripts/elements-sync/rules.mjs`
312
+ * refuses to emit a derived token at all: the sync fails loudly rather than
313
+ * writing a file whose island silently half-applies.
314
+ */
315
+ [data-cue-skin="aui"] {
316
+ color-scheme: dark;
317
+ --cue-bg: oklch(0.141 0.005 285.823);
318
+ --cue-fg: oklch(0.985 0 0);
319
+ --cue-fg-muted: color-mix(in oklab, var(--cue-fg) 50%, transparent);
320
+ --cue-fg-subtle: color-mix(in oklab, var(--cue-fg) 32%, transparent);
321
+ --cue-sunken: oklch(0.141 0.005 285.823);
322
+ --cue-surface-1: oklch(0.21 0.006 285.885);
323
+ --cue-surface-2: color-mix(in oklab, var(--cue-fg) 6%, transparent);
324
+ --cue-surface-3: color-mix(in oklab, var(--cue-fg) 15%, transparent);
325
+ --cue-border: color-mix(in oklab, oklch(1 0 0 / 10%) 60%, transparent);
326
+ --cue-border-strong: color-mix(in oklab, var(--cue-fg) 20%, transparent);
327
+ --cue-border-overlay: color-mix(in oklab, oklch(1 0 0 / 10%) 60%, transparent);
328
+ --cue-accent: var(--cue-fg);
329
+ --cue-accent-hover: color-mix(in oklab, var(--cue-fg) 90%, transparent);
330
+ --cue-accent-fg: var(--cue-bg);
331
+ --cue-ok: oklch(0.765 0.177 163.223);
332
+ --cue-danger: oklch(0.704 0.191 22.216);
333
+ /* The ink on the red. Upstream has no such token — it writes `text-white` on
334
+ * `bg-destructive` and its own demos are dark, where that happens to read.
335
+ * Here the two halves of the island disagree, which is the whole reason the
336
+ * token exists: this dark red is light enough to carry the island's ground
337
+ * (6.93:1) and the light half's red is bright enough that the same white ink
338
+ * reaches only 3.82:1 and its ink has to be the island's type instead. */
339
+ --cue-danger-fg: var(--cue-bg);
340
+ --cue-warn: oklch(0.828 0.189 84.429);
341
+ /* The ink on the amber, here for the same reason: this block re-tints
342
+ * `--cue-warn`, so an ink the app chose against its own amber would be an ink
343
+ * chosen against a colour nobody is looking at in here. The amber splits the
344
+ * same way the red above does, with more room on both sides — the island's
345
+ * ground on this half at 11.56:1, its type on the light half at 9.25:1. */
346
+ --cue-warn-fg: var(--cue-bg);
347
+ --cue-stream: oklch(0.707 0.165 254.624);
348
+ }
349
+
350
+ /* The light half. Two selectors, because the stamp lands two ways: on an
351
+ * ancestor for an app in light mode, and on the island itself for a portal
352
+ * container, which carries every axis at once. */
353
+ [data-mode="light"] [data-cue-skin="aui"],
354
+ [data-cue-skin="aui"][data-mode="light"] {
355
+ color-scheme: light;
356
+ --cue-bg: oklch(1 0 0);
357
+ --cue-fg: oklch(0.141 0.005 285.823);
358
+ --cue-fg-muted: color-mix(in oklab, var(--cue-fg) 50%, transparent);
359
+ --cue-fg-subtle: color-mix(in oklab, var(--cue-fg) 32%, transparent);
360
+ --cue-sunken: oklch(0.967 0.001 286.375);
361
+ --cue-surface-1: oklch(1 0 0);
362
+ --cue-surface-2: color-mix(in oklab, var(--cue-fg) 6%, transparent);
363
+ --cue-surface-3: color-mix(in oklab, var(--cue-fg) 15%, transparent);
364
+ --cue-border: color-mix(in oklab, oklch(0.92 0.004 286.32) 60%, transparent);
365
+ --cue-border-strong: color-mix(in oklab, var(--cue-fg) 20%, transparent);
366
+ --cue-border-overlay: color-mix(in oklab, oklch(0.92 0.004 286.32) 60%, transparent);
367
+ --cue-accent: var(--cue-fg);
368
+ --cue-accent-hover: color-mix(in oklab, var(--cue-fg) 90%, transparent);
369
+ --cue-accent-fg: var(--cue-bg);
370
+ --cue-ok: oklch(0.696 0.17 162.48);
371
+ --cue-danger: oklch(0.637 0.237 25.331);
372
+ /* The other half of the asymmetry above: dark ink on the light half's red. */
373
+ --cue-danger-fg: var(--cue-fg);
374
+ --cue-warn: oklch(0.769 0.188 70.08);
375
+ /* And the amber's other half: the island's type on the light amber, 9.25:1. */
376
+ --cue-warn-fg: var(--cue-fg);
377
+ --cue-stream: oklch(0.623 0.214 259.815);
378
+ }
379
+
380
+ /* And the same again for an app whose mode is `system`, mirroring the
381
+ * `mode-light` variant in `styles.css`. */
382
+ @media (prefers-color-scheme: light) {
383
+ [data-mode="system"] [data-cue-skin="aui"],
384
+ [data-cue-skin="aui"][data-mode="system"] {
385
+ color-scheme: light;
386
+ --cue-bg: oklch(1 0 0);
387
+ --cue-fg: oklch(0.141 0.005 285.823);
388
+ --cue-fg-muted: color-mix(in oklab, var(--cue-fg) 50%, transparent);
389
+ --cue-fg-subtle: color-mix(in oklab, var(--cue-fg) 32%, transparent);
390
+ --cue-sunken: oklch(0.967 0.001 286.375);
391
+ --cue-surface-1: oklch(1 0 0);
392
+ --cue-surface-2: color-mix(in oklab, var(--cue-fg) 6%, transparent);
393
+ --cue-surface-3: color-mix(in oklab, var(--cue-fg) 15%, transparent);
394
+ --cue-border: color-mix(in oklab, oklch(0.92 0.004 286.32) 60%, transparent);
395
+ --cue-border-strong: color-mix(in oklab, var(--cue-fg) 20%, transparent);
396
+ --cue-border-overlay: color-mix(in oklab, oklch(0.92 0.004 286.32) 60%, transparent);
397
+ --cue-accent: var(--cue-fg);
398
+ --cue-accent-hover: color-mix(in oklab, var(--cue-fg) 90%, transparent);
399
+ --cue-accent-fg: var(--cue-bg);
400
+ --cue-ok: oklch(0.696 0.17 162.48);
401
+ --cue-danger: oklch(0.637 0.237 25.331);
402
+ /* The other half of the asymmetry above: dark ink on the light half's red. */
403
+ --cue-danger-fg: var(--cue-fg);
404
+ --cue-warn: oklch(0.769 0.188 70.08);
405
+ /* And the amber's other half: the island's type on the light amber, 9.25:1. */
406
+ --cue-warn-fg: var(--cue-fg);
407
+ --cue-stream: oklch(0.623 0.214 259.815);
408
+ }
409
+ }
410
+
411
+ /* ── Metrics ───────────────────────────────────────────────────────────
412
+ *
413
+ * `fidelity="upstream"` pins geometry to assistant-ui's, which means the
414
+ * density ladder stops here. Three groups of numbers, all of them upstream's:
415
+ *
416
+ * - Radii, from shadcn's `--radius: 0.625rem` ladder as the codemod banded it:
417
+ * `rounded-2xl` (18px) became the overlay rung, `rounded-xl` (14px) the
418
+ * surface rung, and bare `rounded` (4px) the control rung.
419
+ * - Type, from the literal pixel sizes the codemod could not keep: `text-xs`
420
+ * is 12px, `text-[13px]` and `text-[13.5px]` share the body rung, `mono` is
421
+ * 11px. Written as pixels rather than rem multiples, which is also what pins
422
+ * the font scale.
423
+ * - `--spacing`, Tailwind's own default, which every `gap-*`, `p-*` and
424
+ * `size-*` in the family multiplies.
425
+ *
426
+ * Both halves of the radius ladder are set, and that is not redundancy. cue's
427
+ * Tailwind bridge declares `--radius-overlay` as
428
+ * `calc(var(--cue-radius-overlay) * var(--cue-radius-scale))`, and Tailwind
429
+ * emits that on `:root` — where the substitution happens. A descendant
430
+ * inherits the answer, not the sum, so an island that re-pointed only the
431
+ * `--cue-` token would change nothing a `rounded-(--radius-overlay)` renders.
432
+ */
433
+ [data-cue-fidelity="upstream"] {
434
+ --spacing: 0.25rem;
435
+ --cue-radius-scale: 1;
436
+ --cue-radius-control: 0.25rem;
437
+ --cue-radius-surface: 0.875rem;
438
+ --cue-radius-overlay: 1.125rem;
439
+ --radius-control: 0.25rem;
440
+ --radius-surface: 0.875rem;
441
+ --radius-overlay: 1.125rem;
442
+ --cue-text-micro: 10px;
443
+ --cue-text-label: 11px;
444
+ --cue-text-ui: 12px;
445
+ --cue-text-body: 13.5px;
446
+ --cue-text-emphasis: 16px;
447
+ --cue-text-title: 24px;
448
+ }
449
+
450
+ /* `fidelity="cue-metrics"` is the default and changes only one thing — but it
451
+ * is the thing the density ladder could not otherwise reach. Every box size and
452
+ * gap in the family is a Tailwind spacing utility, which multiplies
453
+ * `--spacing`; the ladder's own `--cue-space-*` tokens are never named by
454
+ * vendored code. Scaling `--spacing` by `--cue-density` is what makes an island
455
+ * tighten with the console around it. At the default rung the multiplier is 1,
456
+ * so this costs nothing until somebody changes density. */
457
+ [data-cue-fidelity="cue-metrics"] {
458
+ --spacing: calc(0.25rem * var(--cue-density, 1));
459
+ }
@@ -0,0 +1,48 @@
1
+ import { ComponentProps } from "react";
2
+ //#region src/elements/elicitation-form.d.ts
3
+ type ElicitationState = "request" | "accepted" | "declined";
4
+ interface ElicitationField {
5
+ /** Field name sent back to the server. */
6
+ name: string;
7
+ /** Label shown above the control. */
8
+ label: string;
9
+ /** Current value, already resolved to what should be displayed. */
10
+ value: string;
11
+ /** Chooses the control: a value chip, a row of options, or a switch. */
12
+ kind: "text" | "choice" | "toggle";
13
+ /** Choices rendered when kind is choice. */
14
+ options?: readonly string[];
15
+ /** Marks the label with an asterisk. */
16
+ required?: boolean;
17
+ }
18
+ /**
19
+ * A server pausing mid-tool-call to ask you for the fields it still needs.
20
+ *
21
+ * @example
22
+ * import { ElicitationForm } from "@cueplusplus/ui/elements";
23
+ *
24
+ * <ElicitationForm
25
+ * server="github-mcp"
26
+ * message="Confirm where the release notes should be published."
27
+ * fields={fields}
28
+ * state="request"
29
+ * onAccept={send}
30
+ * onDecline={decline}
31
+ * />
32
+ */
33
+ declare function ElicitationForm({ server, message, fields, state, onAccept, onDecline, className, ...props }: Omit<ComponentProps<"div">, "children" | "server" | "message" | "fields" | "state" | "onAccept" | "onDecline"> & {
34
+ /** Which server paused to ask. */
35
+ server: string;
36
+ /** Why the input is needed, in the server's words. */
37
+ message: string;
38
+ /** The schema the server sent, already resolved to display values. */
39
+ fields: readonly ElicitationField[];
40
+ /** Swaps the action row for the outcome once the user answers. */
41
+ state: ElicitationState;
42
+ /** Called when the filled form is sent back. */
43
+ onAccept?: () => void;
44
+ /** Called when the request is refused. */
45
+ onDecline?: () => void;
46
+ }): import("react").JSX.Element;
47
+ //#endregion
48
+ export { ElicitationField, ElicitationForm, ElicitationState };