@cueplusplus/ui 0.2.0 → 0.5.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 (628) hide show
  1. package/CHANGELOG.md +2250 -0
  2. package/dist/agent-runtime/_glyphs.js +43 -0
  3. package/dist/agent-runtime/branch-picker.d.ts +45 -0
  4. package/dist/agent-runtime/branch-picker.js +87 -0
  5. package/dist/agent-runtime/index.d.ts +4 -0
  6. package/dist/agent-runtime/index.js +4 -0
  7. package/dist/agent-runtime/tool-call-card.d.ts +69 -0
  8. package/dist/agent-runtime/tool-call-card.js +187 -0
  9. package/dist/agent-runtime/use-agent-thread.d.ts +164 -0
  10. package/dist/agent-runtime/use-agent-thread.js +251 -0
  11. package/dist/brand/_chassis.d.ts +1 -1
  12. package/dist/brand/cue-mark.d.ts +1 -1
  13. package/dist/brand/cue-mark.js +1 -1
  14. package/dist/chat/index.d.ts +2 -2
  15. package/dist/chat/message-list.d.ts +6 -0
  16. package/dist/chat/message-list.js +35 -0
  17. package/dist/chrome/_edge-scroller.js +12 -1
  18. package/dist/chrome/_tabs-scroll.d.ts +1 -1
  19. package/dist/chrome/_tabs-scroll.js +1 -1
  20. package/dist/chrome/app-shell.d.ts +52 -2
  21. package/dist/chrome/app-shell.js +80 -8
  22. package/dist/chrome/index.d.ts +2 -2
  23. package/dist/configurator/_export.js +3 -2
  24. package/dist/configurator/_overrides.d.ts +1 -1
  25. package/dist/configurator/_overrides.js +18 -6
  26. package/dist/configurator/token-editor.js +4 -1
  27. package/dist/date/_segments.js +37 -2
  28. package/dist/elements/activity-graph.d.ts +40 -0
  29. package/dist/elements/activity-graph.js +81 -0
  30. package/dist/elements/agent-card.d.ts +49 -0
  31. package/dist/elements/agent-card.js +91 -0
  32. package/dist/elements/agent-handoff.d.ts +24 -0
  33. package/dist/elements/agent-handoff.js +53 -0
  34. package/dist/elements/agent-mode-badge.d.ts +72 -0
  35. package/dist/elements/agent-mode-badge.js +110 -0
  36. package/dist/elements/agent-plan.d.ts +24 -0
  37. package/dist/elements/agent-plan.js +74 -0
  38. package/dist/elements/agent-status.d.ts +29 -0
  39. package/dist/elements/agent-status.js +46 -0
  40. package/dist/elements/agent-surface.d.ts +65 -0
  41. package/dist/elements/agent-surface.js +68 -0
  42. package/dist/elements/animated-number.d.ts +86 -0
  43. package/dist/elements/animated-number.js +118 -0
  44. package/dist/elements/approval-card.d.ts +40 -0
  45. package/dist/elements/approval-card.js +78 -0
  46. package/dist/elements/artifact-card.d.ts +30 -0
  47. package/dist/elements/artifact-card.js +58 -0
  48. package/dist/elements/background-inbox.d.ts +39 -0
  49. package/dist/elements/background-inbox.js +60 -0
  50. package/dist/elements/canvas-split.d.ts +77 -0
  51. package/dist/elements/canvas-split.js +138 -0
  52. package/dist/elements/chart.d.ts +41 -0
  53. package/dist/elements/chart.js +117 -0
  54. package/dist/elements/chat-panel.d.ts +46 -0
  55. package/dist/elements/chat-panel.js +104 -0
  56. package/dist/elements/checkpoint-history.d.ts +31 -0
  57. package/dist/elements/checkpoint-history.js +65 -0
  58. package/dist/elements/clamp.d.ts +90 -0
  59. package/dist/elements/clamp.js +109 -0
  60. package/dist/elements/code-diff.d.ts +42 -0
  61. package/dist/elements/code-diff.js +69 -0
  62. package/dist/elements/code-runner.d.ts +38 -0
  63. package/dist/elements/code-runner.js +84 -0
  64. package/dist/elements/command-palette.d.ts +48 -0
  65. package/dist/elements/command-palette.js +129 -0
  66. package/dist/elements/compaction-row.d.ts +63 -0
  67. package/dist/elements/compaction-row.js +110 -0
  68. package/dist/elements/comparison-card.d.ts +47 -0
  69. package/dist/elements/comparison-card.js +69 -0
  70. package/dist/elements/composer.d.ts +274 -0
  71. package/dist/elements/composer.js +505 -0
  72. package/dist/elements/computer-use.d.ts +40 -0
  73. package/dist/elements/computer-use.js +92 -0
  74. package/dist/elements/confidence-marker.d.ts +39 -0
  75. package/dist/elements/confidence-marker.js +64 -0
  76. package/dist/elements/connection-state.d.ts +29 -0
  77. package/dist/elements/connection-state.js +66 -0
  78. package/dist/elements/context-breakdown.d.ts +30 -0
  79. package/dist/elements/context-breakdown.js +86 -0
  80. package/dist/elements/context-usage.d.ts +99 -0
  81. package/dist/elements/context-usage.js +225 -0
  82. package/dist/elements/conversation-search.d.ts +48 -0
  83. package/dist/elements/conversation-search.js +88 -0
  84. package/dist/elements/cost-meter.d.ts +33 -0
  85. package/dist/elements/cost-meter.js +75 -0
  86. package/dist/elements/data-table.d.ts +31 -0
  87. package/dist/elements/data-table.js +67 -0
  88. package/dist/elements/day-separator.d.ts +34 -0
  89. package/dist/elements/day-separator.js +50 -0
  90. package/dist/elements/diagram.d.ts +34 -0
  91. package/dist/elements/diagram.js +75 -0
  92. package/dist/elements/document-reference.d.ts +37 -0
  93. package/dist/elements/document-reference.js +66 -0
  94. package/dist/elements/draft-restore.d.ts +27 -0
  95. package/dist/elements/draft-restore.js +54 -0
  96. package/dist/elements/edit-message.d.ts +36 -0
  97. package/dist/elements/edit-message.js +77 -0
  98. package/dist/elements/elements.css +459 -0
  99. package/dist/elements/elicitation-form.d.ts +48 -0
  100. package/dist/elements/elicitation-form.js +106 -0
  101. package/dist/elements/empty-state.d.ts +52 -0
  102. package/dist/elements/empty-state.js +98 -0
  103. package/dist/elements/end-of-turn-summary.d.ts +60 -0
  104. package/dist/elements/end-of-turn-summary.js +75 -0
  105. package/dist/elements/error-state.d.ts +29 -0
  106. package/dist/elements/error-state.js +55 -0
  107. package/dist/elements/feedback-dialog.d.ts +36 -0
  108. package/dist/elements/feedback-dialog.js +81 -0
  109. package/dist/elements/file-tree.d.ts +45 -0
  110. package/dist/elements/file-tree.js +84 -0
  111. package/dist/elements/flow-graph.d.ts +45 -0
  112. package/dist/elements/flow-graph.js +78 -0
  113. package/dist/elements/generative/chart.js +200 -0
  114. package/dist/elements/generative/faults.js +111 -0
  115. package/dist/elements/generative/icons.d.ts +41 -0
  116. package/dist/elements/generative/icons.js +190 -0
  117. package/dist/elements/generative/intrinsics.js +483 -0
  118. package/dist/elements/generative/spec.d.ts +110 -0
  119. package/dist/elements/generative/spec.js +366 -0
  120. package/dist/elements/generative.css +1145 -0
  121. package/dist/elements/generative.d.ts +144 -0
  122. package/dist/elements/generative.js +126 -0
  123. package/dist/elements/guardrail-notice.d.ts +29 -0
  124. package/dist/elements/guardrail-notice.js +63 -0
  125. package/dist/elements/image-generation.d.ts +18 -0
  126. package/dist/elements/image-generation.js +64 -0
  127. package/dist/elements/index.d.ts +116 -0
  128. package/dist/elements/index.js +115 -0
  129. package/dist/elements/inline-citation.d.ts +43 -0
  130. package/dist/elements/inline-citation.js +93 -0
  131. package/dist/elements/job-progress.d.ts +49 -0
  132. package/dist/elements/job-progress.js +74 -0
  133. package/dist/elements/launcher-bubble.d.ts +34 -0
  134. package/dist/elements/launcher-bubble.js +72 -0
  135. package/dist/elements/live-region-announcer.d.ts +130 -0
  136. package/dist/elements/live-region-announcer.js +230 -0
  137. package/dist/elements/loading-state.d.ts +27 -0
  138. package/dist/elements/loading-state.js +36 -0
  139. package/dist/elements/map-answer.d.ts +38 -0
  140. package/dist/elements/map-answer.js +93 -0
  141. package/dist/elements/markdown.d.ts +131 -0
  142. package/dist/elements/markdown.js +528 -0
  143. package/dist/elements/math-block.d.ts +51 -0
  144. package/dist/elements/math-block.js +70 -0
  145. package/dist/elements/mcp-server-panel.d.ts +41 -0
  146. package/dist/elements/mcp-server-panel.js +115 -0
  147. package/dist/elements/memory-chips.d.ts +30 -0
  148. package/dist/elements/memory-chips.js +43 -0
  149. package/dist/elements/message-actions.d.ts +38 -0
  150. package/dist/elements/message-actions.js +71 -0
  151. package/dist/elements/message-attachment.d.ts +48 -0
  152. package/dist/elements/message-attachment.js +63 -0
  153. package/dist/elements/message-branches.d.ts +25 -0
  154. package/dist/elements/message-branches.js +65 -0
  155. package/dist/elements/message-pair.d.ts +33 -0
  156. package/dist/elements/message-pair.js +65 -0
  157. package/dist/elements/message-queue.d.ts +31 -0
  158. package/dist/elements/message-queue.js +80 -0
  159. package/dist/elements/message-timing.d.ts +33 -0
  160. package/dist/elements/message-timing.js +37 -0
  161. package/dist/elements/mobile-composer.d.ts +44 -0
  162. package/dist/elements/mobile-composer.js +88 -0
  163. package/dist/elements/model-picker.d.ts +38 -0
  164. package/dist/elements/model-picker.js +69 -0
  165. package/dist/elements/number-ticker.d.ts +18 -0
  166. package/dist/elements/number-ticker.js +47 -0
  167. package/dist/elements/onboarding.d.ts +30 -0
  168. package/dist/elements/onboarding.js +75 -0
  169. package/dist/elements/permission-grant.d.ts +35 -0
  170. package/dist/elements/permission-grant.js +86 -0
  171. package/dist/elements/permission-scopes.d.ts +215 -0
  172. package/dist/elements/permission-scopes.js +249 -0
  173. package/dist/elements/prompt-library.d.ts +43 -0
  174. package/dist/elements/prompt-library.js +117 -0
  175. package/dist/elements/queue-dock.d.ts +101 -0
  176. package/dist/elements/queue-dock.js +132 -0
  177. package/dist/elements/quota-banner.d.ts +26 -0
  178. package/dist/elements/quota-banner.js +66 -0
  179. package/dist/elements/quote-reply.d.ts +44 -0
  180. package/dist/elements/quote-reply.js +79 -0
  181. package/dist/elements/range.d.ts +29 -0
  182. package/dist/elements/range.js +45 -0
  183. package/dist/elements/read-aloud.d.ts +45 -0
  184. package/dist/elements/read-aloud.js +75 -0
  185. package/dist/elements/reasoning-effort.d.ts +36 -0
  186. package/dist/elements/reasoning-effort.js +67 -0
  187. package/dist/elements/reasoning-panel.d.ts +46 -0
  188. package/dist/elements/reasoning-panel.js +75 -0
  189. package/dist/elements/recommendation-card.d.ts +45 -0
  190. package/dist/elements/recommendation-card.js +83 -0
  191. package/dist/elements/regenerate-menu.d.ts +45 -0
  192. package/dist/elements/regenerate-menu.js +51 -0
  193. package/dist/elements/replay.d.ts +217 -0
  194. package/dist/elements/replay.js +498 -0
  195. package/dist/elements/research-report.d.ts +38 -0
  196. package/dist/elements/research-report.js +69 -0
  197. package/dist/elements/retrieval-chunks.d.ts +43 -0
  198. package/dist/elements/retrieval-chunks.js +81 -0
  199. package/dist/elements/revert-dock.d.ts +159 -0
  200. package/dist/elements/revert-dock.js +327 -0
  201. package/dist/elements/reviewable-diff.d.ts +45 -0
  202. package/dist/elements/reviewable-diff.js +110 -0
  203. package/dist/elements/risk-badge.d.ts +52 -0
  204. package/dist/elements/risk-badge.js +91 -0
  205. package/dist/elements/schedule-card.d.ts +42 -0
  206. package/dist/elements/schedule-card.js +90 -0
  207. package/dist/elements/score-breakdown.d.ts +47 -0
  208. package/dist/elements/score-breakdown.js +82 -0
  209. package/dist/elements/scroll-anchor.d.ts +32 -0
  210. package/dist/elements/scroll-anchor.js +121 -0
  211. package/dist/elements/settings-panel.d.ts +52 -0
  212. package/dist/elements/settings-panel.js +107 -0
  213. package/dist/elements/shared-conversation.d.ts +39 -0
  214. package/dist/elements/shared-conversation.js +68 -0
  215. package/dist/elements/sources.d.ts +33 -0
  216. package/dist/elements/sources.js +61 -0
  217. package/dist/elements/speaker-identity.d.ts +32 -0
  218. package/dist/elements/speaker-identity.js +51 -0
  219. package/dist/elements/spec-sheet.d.ts +31 -0
  220. package/dist/elements/spec-sheet.js +45 -0
  221. package/dist/elements/stopped-run.d.ts +22 -0
  222. package/dist/elements/stopped-run.js +50 -0
  223. package/dist/elements/streaming-text.d.ts +31 -0
  224. package/dist/elements/streaming-text.js +45 -0
  225. package/dist/elements/subagent-list.d.ts +37 -0
  226. package/dist/elements/subagent-list.js +79 -0
  227. package/dist/elements/suggestions.d.ts +30 -0
  228. package/dist/elements/suggestions.js +36 -0
  229. package/dist/elements/surfaces.d.ts +85 -0
  230. package/dist/elements/surfaces.js +107 -0
  231. package/dist/elements/tail-status.d.ts +131 -0
  232. package/dist/elements/tail-status.js +94 -0
  233. package/dist/elements/terminal-block.d.ts +29 -0
  234. package/dist/elements/terminal-block.js +54 -0
  235. package/dist/elements/thinking-indicator.d.ts +18 -0
  236. package/dist/elements/thinking-indicator.js +36 -0
  237. package/dist/elements/thread-list.d.ts +35 -0
  238. package/dist/elements/thread-list.js +68 -0
  239. package/dist/elements/thread-search.d.ts +42 -0
  240. package/dist/elements/thread-search.js +99 -0
  241. package/dist/elements/timeline.d.ts +37 -0
  242. package/dist/elements/timeline.js +46 -0
  243. package/dist/elements/todo-list.d.ts +42 -0
  244. package/dist/elements/todo-list.js +59 -0
  245. package/dist/elements/tool-call.d.ts +41 -0
  246. package/dist/elements/tool-call.js +85 -0
  247. package/dist/elements/tool-error.d.ts +39 -0
  248. package/dist/elements/tool-error.js +76 -0
  249. package/dist/elements/tool-group.d.ts +45 -0
  250. package/dist/elements/tool-group.js +71 -0
  251. package/dist/elements/tool-timeline.d.ts +65 -0
  252. package/dist/elements/tool-timeline.js +88 -0
  253. package/dist/elements/trace-waterfall.d.ts +37 -0
  254. package/dist/elements/trace-waterfall.js +69 -0
  255. package/dist/elements/transcript-rules.d.ts +67 -0
  256. package/dist/elements/transcript-rules.js +95 -0
  257. package/dist/elements/turn-footer.d.ts +74 -0
  258. package/dist/elements/turn-footer.js +101 -0
  259. package/dist/elements/typing-indicator.d.ts +16 -0
  260. package/dist/elements/typing-indicator.js +51 -0
  261. package/dist/elements/verdict-row.d.ts +89 -0
  262. package/dist/elements/verdict-row.js +150 -0
  263. package/dist/elements/vocabulary.d.ts +612 -0
  264. package/dist/elements/vocabulary.js +611 -0
  265. package/dist/elements/voice-conversation.d.ts +49 -0
  266. package/dist/elements/voice-conversation.js +123 -0
  267. package/dist/elements/web-preview.d.ts +32 -0
  268. package/dist/elements/web-preview.js +66 -0
  269. package/dist/elements/web-search.d.ts +37 -0
  270. package/dist/elements/web-search.js +66 -0
  271. package/dist/elements/work-collapse.d.ts +103 -0
  272. package/dist/elements/work-collapse.js +131 -0
  273. package/dist/icons/containers.d.ts +89 -0
  274. package/dist/icons/containers.js +295 -0
  275. package/dist/icons/index.d.ts +2 -0
  276. package/dist/index.d.ts +9 -7
  277. package/dist/index.js +3 -2
  278. package/dist/instruments/index.d.ts +2 -2
  279. package/dist/instruments/index.js +2 -2
  280. package/dist/instruments/table.d.ts +14 -1
  281. package/dist/instruments/table.js +20 -1
  282. package/dist/instruments/two-step-button.js +25 -6
  283. package/dist/layout/sidebar.d.ts +19 -1
  284. package/dist/layout/sidebar.js +19 -1
  285. package/dist/primitives/button.js +11 -1
  286. package/dist/primitives/chip.d.ts +34 -8
  287. package/dist/primitives/chip.js +97 -11
  288. package/dist/styles.css +11 -1
  289. package/dist/system/agent-skin.d.ts +27 -0
  290. package/dist/system/agent-skin.js +20 -0
  291. package/dist/system/index.d.ts +3 -3
  292. package/dist/system/portal.d.ts +5 -3
  293. package/dist/system/portal.js +36 -8
  294. package/dist/system/prepaint.d.ts +20 -2
  295. package/dist/system/prepaint.js +39 -33
  296. package/dist/system/theme-provider.d.ts +13 -2
  297. package/dist/system/theme-provider.js +107 -26
  298. package/dist/system/use-density.d.ts +9 -0
  299. package/dist/system/use-density.js +9 -0
  300. package/dist/system/use-isomorphic-layout-effect.js +19 -1
  301. package/dist/theming/_presets.d.ts +1 -1
  302. package/dist/theming/_presets.js +124 -8
  303. package/dist/theming/contrast.d.ts +16 -4
  304. package/dist/theming/contrast.js +33 -6
  305. package/dist/theming/create-theme.d.ts +8 -4
  306. package/dist/theming/create-theme.js +56 -20
  307. package/dist/theming/serialize.d.ts +11 -2
  308. package/dist/theming/serialize.js +87 -9
  309. package/manifest/components/accordion.json +154 -0
  310. package/manifest/components/activity-graph.json +88 -0
  311. package/manifest/components/agent-card.json +120 -0
  312. package/manifest/components/agent-handoff.json +87 -0
  313. package/manifest/components/agent-mode-badge.json +84 -0
  314. package/manifest/components/agent-pile.json +116 -0
  315. package/manifest/components/agent-plan.json +67 -0
  316. package/manifest/components/agent-status.json +73 -0
  317. package/manifest/components/agent-surface.json +78 -0
  318. package/manifest/components/alert-dialog.json +190 -0
  319. package/manifest/components/animated-number.json +67 -0
  320. package/manifest/components/app-bar.json +244 -0
  321. package/manifest/components/app-shell.json +383 -0
  322. package/manifest/components/app-window-frame.json +102 -0
  323. package/manifest/components/approval-card.json +106 -0
  324. package/manifest/components/artifact-card.json +81 -0
  325. package/manifest/components/ask-box.json +209 -0
  326. package/manifest/components/audience-icon.json +52 -0
  327. package/manifest/components/autocomplete.json +197 -0
  328. package/manifest/components/avatar-group.json +72 -0
  329. package/manifest/components/avatar.json +95 -0
  330. package/manifest/components/background-inbox.json +71 -0
  331. package/manifest/components/branch-picker.json +124 -0
  332. package/manifest/components/breadcrumb.json +74 -0
  333. package/manifest/components/button-group.json +74 -0
  334. package/manifest/components/button.json +126 -0
  335. package/manifest/components/calendar.json +65 -0
  336. package/manifest/components/canvas-split-body.json +62 -0
  337. package/manifest/components/canvas-split-document.json +54 -0
  338. package/manifest/components/canvas-split-header.json +83 -0
  339. package/manifest/components/canvas-split-line.json +62 -0
  340. package/manifest/components/canvas-split-message.json +62 -0
  341. package/manifest/components/canvas-split-thread.json +54 -0
  342. package/manifest/components/canvas-split.json +60 -0
  343. package/manifest/components/card.json +140 -0
  344. package/manifest/components/carousel.json +200 -0
  345. package/manifest/components/catalogue-icon.json +52 -0
  346. package/manifest/components/channel-beta-icon.json +52 -0
  347. package/manifest/components/channel-matrix.json +173 -0
  348. package/manifest/components/channel-released-icon.json +52 -0
  349. package/manifest/components/chart-container.json +111 -0
  350. package/manifest/components/chart-ramp.json +72 -0
  351. package/manifest/components/chart-swatch.json +65 -0
  352. package/manifest/components/chart-tooltip-content.json +114 -0
  353. package/manifest/components/chart.json +93 -0
  354. package/manifest/components/chat-empty-state.json +55 -0
  355. package/manifest/components/chat-panel-assistant-message.json +51 -0
  356. package/manifest/components/chat-panel-composer.json +66 -0
  357. package/manifest/components/chat-panel-messages.json +51 -0
  358. package/manifest/components/chat-panel-typing.json +51 -0
  359. package/manifest/components/chat-panel-user-message.json +51 -0
  360. package/manifest/components/chat-panel.json +57 -0
  361. package/manifest/components/checkbox-group.json +68 -0
  362. package/manifest/components/checkbox.json +93 -0
  363. package/manifest/components/checkpoint-history.json +80 -0
  364. package/manifest/components/chip.json +144 -0
  365. package/manifest/components/clamp.json +102 -0
  366. package/manifest/components/cli-tool-icon.json +52 -0
  367. package/manifest/components/code-diff.json +87 -0
  368. package/manifest/components/code-runner.json +97 -0
  369. package/manifest/components/collapsible.json +120 -0
  370. package/manifest/components/color-area.json +59 -0
  371. package/manifest/components/color-field.json +79 -0
  372. package/manifest/components/color-picker.json +175 -0
  373. package/manifest/components/color-slider.json +75 -0
  374. package/manifest/components/color-swatch.json +68 -0
  375. package/manifest/components/colors-section.json +66 -0
  376. package/manifest/components/combobox.json +198 -0
  377. package/manifest/components/command-palette.json +177 -0
  378. package/manifest/components/compaction-row.json +100 -0
  379. package/manifest/components/comparison-card.json +83 -0
  380. package/manifest/components/composer-actions.json +65 -0
  381. package/manifest/components/composer-attach-button.json +65 -0
  382. package/manifest/components/composer-attachment-chip.json +75 -0
  383. package/manifest/components/composer-attachments.json +60 -0
  384. package/manifest/components/composer-bar.json +73 -0
  385. package/manifest/components/composer-command-item.json +79 -0
  386. package/manifest/components/composer-context.json +67 -0
  387. package/manifest/components/composer-input.json +73 -0
  388. package/manifest/components/composer-menu-item.json +72 -0
  389. package/manifest/components/composer-menu.json +79 -0
  390. package/manifest/components/composer-model-item.json +75 -0
  391. package/manifest/components/composer-model-trigger.json +75 -0
  392. package/manifest/components/composer-person-item.json +79 -0
  393. package/manifest/components/composer-send.json +80 -0
  394. package/manifest/components/composer-toolbar.json +65 -0
  395. package/manifest/components/composer-voice-button.json +68 -0
  396. package/manifest/components/composer-voice.json +75 -0
  397. package/manifest/components/composer.json +176 -0
  398. package/manifest/components/computer-use.json +84 -0
  399. package/manifest/components/confidence-marker.json +74 -0
  400. package/manifest/components/connection-state.json +84 -0
  401. package/manifest/components/container.json +60 -0
  402. package/manifest/components/context-breakdown.json +65 -0
  403. package/manifest/components/context-menu.json +121 -0
  404. package/manifest/components/context-usage.json +85 -0
  405. package/manifest/components/conversation-search.json +92 -0
  406. package/manifest/components/copy-button.json +93 -0
  407. package/manifest/components/cost-meter.json +74 -0
  408. package/manifest/components/cue-logotype.json +96 -0
  409. package/manifest/components/cue-mark.json +97 -0
  410. package/manifest/components/cue-portal-frame.json +55 -0
  411. package/manifest/components/data-table-pagination.json +83 -0
  412. package/manifest/components/data-table-toolbar.json +104 -0
  413. package/manifest/components/date-field.json +80 -0
  414. package/manifest/components/date-picker.json +191 -0
  415. package/manifest/components/date-range-picker.json +191 -0
  416. package/manifest/components/day-separator.json +58 -0
  417. package/manifest/components/delegation-card.json +144 -0
  418. package/manifest/components/density.json +58 -0
  419. package/manifest/components/description-list.json +84 -0
  420. package/manifest/components/diagram.json +100 -0
  421. package/manifest/components/dialog.json +198 -0
  422. package/manifest/components/disclosure.json +109 -0
  423. package/manifest/components/dmx-bar.json +94 -0
  424. package/manifest/components/dmx-strip.json +101 -0
  425. package/manifest/components/document-reference.json +90 -0
  426. package/manifest/components/draft-restore.json +82 -0
  427. package/manifest/components/drawer.json +179 -0
  428. package/manifest/components/dropdown-menu.json +229 -0
  429. package/manifest/components/edit-message.json +105 -0
  430. package/manifest/components/elements-command-palette.json +100 -0
  431. package/manifest/components/elements-composer.json +71 -0
  432. package/manifest/components/elements-data-table.json +68 -0
  433. package/manifest/components/elements-timeline.json +69 -0
  434. package/manifest/components/elicitation-form.json +103 -0
  435. package/manifest/components/empty-state-composer.json +64 -0
  436. package/manifest/components/empty-state-greeting.json +49 -0
  437. package/manifest/components/empty-state-suggestion.json +57 -0
  438. package/manifest/components/empty-state-suggestions.json +49 -0
  439. package/manifest/components/empty-state.json +90 -0
  440. package/manifest/components/end-of-turn-summary.json +77 -0
  441. package/manifest/components/env-var-input.json +150 -0
  442. package/manifest/components/error-state.json +80 -0
  443. package/manifest/components/export-dialog.json +84 -0
  444. package/manifest/components/eyebrow.json +56 -0
  445. package/manifest/components/feedback-dialog.json +107 -0
  446. package/manifest/components/field-description.json +63 -0
  447. package/manifest/components/field-error.json +77 -0
  448. package/manifest/components/field-label.json +63 -0
  449. package/manifest/components/field.json +79 -0
  450. package/manifest/components/file-tree.json +83 -0
  451. package/manifest/components/file-upload.json +159 -0
  452. package/manifest/components/flow-background.json +50 -0
  453. package/manifest/components/flow-controls.json +50 -0
  454. package/manifest/components/flow-graph.json +75 -0
  455. package/manifest/components/folder-icon.json +52 -0
  456. package/manifest/components/footer.json +112 -0
  457. package/manifest/components/frac.json +59 -0
  458. package/manifest/components/generation-loader.json +64 -0
  459. package/manifest/components/generative-ui.json +93 -0
  460. package/manifest/components/grid.json +81 -0
  461. package/manifest/components/group-bar.json +102 -0
  462. package/manifest/components/guardrail-notice.json +91 -0
  463. package/manifest/components/hover-card.json +151 -0
  464. package/manifest/components/icon-button.json +88 -0
  465. package/manifest/components/image-generation.json +67 -0
  466. package/manifest/components/info-tip.json +98 -0
  467. package/manifest/components/inline-citation.json +77 -0
  468. package/manifest/components/input-group.json +91 -0
  469. package/manifest/components/input.json +89 -0
  470. package/manifest/components/item.json +129 -0
  471. package/manifest/components/job-progress.json +96 -0
  472. package/manifest/components/kbd.json +52 -0
  473. package/manifest/components/launcher-bubble.json +105 -0
  474. package/manifest/components/link.json +81 -0
  475. package/manifest/components/live-region-announcer.json +79 -0
  476. package/manifest/components/log-viewer.json +139 -0
  477. package/manifest/components/map-answer.json +83 -0
  478. package/manifest/components/markdown-text.json +94 -0
  479. package/manifest/components/math-block.json +74 -0
  480. package/manifest/components/mcp-server-icon.json +52 -0
  481. package/manifest/components/mcp-server-panel.json +87 -0
  482. package/manifest/components/memory-chips.json +65 -0
  483. package/manifest/components/menubar.json +157 -0
  484. package/manifest/components/message-actions.json +99 -0
  485. package/manifest/components/message-attachments.json +63 -0
  486. package/manifest/components/message-branches.json +71 -0
  487. package/manifest/components/message-list.json +100 -0
  488. package/manifest/components/message-pair.json +86 -0
  489. package/manifest/components/message-queue.json +74 -0
  490. package/manifest/components/message-timing.json +62 -0
  491. package/manifest/components/message.json +116 -0
  492. package/manifest/components/meter.json +114 -0
  493. package/manifest/components/mobile-composer.json +126 -0
  494. package/manifest/components/model-picker.json +76 -0
  495. package/manifest/components/multi-select.json +190 -0
  496. package/manifest/components/musical-time-input.json +113 -0
  497. package/manifest/components/navigation-menu.json +226 -0
  498. package/manifest/components/node-card.json +109 -0
  499. package/manifest/components/node-handle.json +69 -0
  500. package/manifest/components/number-field.json +107 -0
  501. package/manifest/components/number-ticker.json +61 -0
  502. package/manifest/components/onboarding.json +84 -0
  503. package/manifest/components/otp-field.json +128 -0
  504. package/manifest/components/page-shell.json +96 -0
  505. package/manifest/components/pagination.json +92 -0
  506. package/manifest/components/panel-header.json +77 -0
  507. package/manifest/components/panel.json +71 -0
  508. package/manifest/components/password-input.json +119 -0
  509. package/manifest/components/permission-grant.json +92 -0
  510. package/manifest/components/permission-scopes.json +139 -0
  511. package/manifest/components/piano-keyboard.json +120 -0
  512. package/manifest/components/plussie.json +111 -0
  513. package/manifest/components/popover.json +193 -0
  514. package/manifest/components/preset-section.json +73 -0
  515. package/manifest/components/progress.json +95 -0
  516. package/manifest/components/prompt-library.json +99 -0
  517. package/manifest/components/queue-dock.json +110 -0
  518. package/manifest/components/quota-banner.json +94 -0
  519. package/manifest/components/quote-reply.json +105 -0
  520. package/manifest/components/radio-group.json +73 -0
  521. package/manifest/components/radio.json +80 -0
  522. package/manifest/components/rating.json +141 -0
  523. package/manifest/components/read-aloud.json +111 -0
  524. package/manifest/components/reasoning-effort.json +81 -0
  525. package/manifest/components/reasoning-panel.json +108 -0
  526. package/manifest/components/recommendation-card.json +107 -0
  527. package/manifest/components/regenerate-menu.json +89 -0
  528. package/manifest/components/replay-player.json +102 -0
  529. package/manifest/components/research-report.json +76 -0
  530. package/manifest/components/resizable.json +88 -0
  531. package/manifest/components/retrieval-chunks.json +84 -0
  532. package/manifest/components/revert-dock.json +150 -0
  533. package/manifest/components/reviewable-diff.json +93 -0
  534. package/manifest/components/risk-badge.json +74 -0
  535. package/manifest/components/row.json +109 -0
  536. package/manifest/components/schedule-card.json +101 -0
  537. package/manifest/components/score-breakdown.json +91 -0
  538. package/manifest/components/scroll-anchor.json +72 -0
  539. package/manifest/components/scroll-area.json +91 -0
  540. package/manifest/components/scrollable-tabs-list.json +83 -0
  541. package/manifest/components/scrub-input.json +200 -0
  542. package/manifest/components/seam-cell.json +75 -0
  543. package/manifest/components/seam-grid.json +75 -0
  544. package/manifest/components/seam-list.json +56 -0
  545. package/manifest/components/search-input.json +134 -0
  546. package/manifest/components/section-header.json +112 -0
  547. package/manifest/components/segmented-control.json +138 -0
  548. package/manifest/components/select.json +194 -0
  549. package/manifest/components/separator.json +53 -0
  550. package/manifest/components/settings-panel.json +118 -0
  551. package/manifest/components/shape-section.json +66 -0
  552. package/manifest/components/shared-conversation.json +89 -0
  553. package/manifest/components/sheet.json +186 -0
  554. package/manifest/components/shimmer-label.json +59 -0
  555. package/manifest/components/sidebar.json +198 -0
  556. package/manifest/components/signal-edge.json +56 -0
  557. package/manifest/components/skeleton.json +46 -0
  558. package/manifest/components/skill-icon.json +52 -0
  559. package/manifest/components/slider.json +89 -0
  560. package/manifest/components/sources.json +83 -0
  561. package/manifest/components/sparkline.json +76 -0
  562. package/manifest/components/speaker-identity.json +61 -0
  563. package/manifest/components/spec-sheet.json +80 -0
  564. package/manifest/components/spectrum-visualizer.json +115 -0
  565. package/manifest/components/spinner.json +61 -0
  566. package/manifest/components/stack-icon.json +52 -0
  567. package/manifest/components/stack.json +96 -0
  568. package/manifest/components/stacks-matrix-icon.json +52 -0
  569. package/manifest/components/stat.json +87 -0
  570. package/manifest/components/status-bar.json +58 -0
  571. package/manifest/components/status-dot.json +78 -0
  572. package/manifest/components/stepper.json +89 -0
  573. package/manifest/components/stopped-run.json +81 -0
  574. package/manifest/components/streaming-text.json +71 -0
  575. package/manifest/components/sub.json +44 -0
  576. package/manifest/components/subagent-list.json +88 -0
  577. package/manifest/components/suggestions.json +84 -0
  578. package/manifest/components/sup.json +44 -0
  579. package/manifest/components/swap-label.json +71 -0
  580. package/manifest/components/switch.json +87 -0
  581. package/manifest/components/table-scroll-region.json +69 -0
  582. package/manifest/components/table.json +155 -0
  583. package/manifest/components/tabs.json +145 -0
  584. package/manifest/components/tags-input.json +190 -0
  585. package/manifest/components/tail-status.json +109 -0
  586. package/manifest/components/terminal-block.json +91 -0
  587. package/manifest/components/terminal-frame.json +119 -0
  588. package/manifest/components/textarea.json +76 -0
  589. package/manifest/components/theme-configurator.json +124 -0
  590. package/manifest/components/theme-provider.json +134 -0
  591. package/manifest/components/thinking-indicator.json +63 -0
  592. package/manifest/components/thread-list.json +76 -0
  593. package/manifest/components/thread-search.json +90 -0
  594. package/manifest/components/threshold-rail.json +160 -0
  595. package/manifest/components/time-boundary.json +62 -0
  596. package/manifest/components/time-field.json +80 -0
  597. package/manifest/components/timeline-ruler.json +139 -0
  598. package/manifest/components/timeline.json +115 -0
  599. package/manifest/components/title-bar.json +82 -0
  600. package/manifest/components/toast.json +130 -0
  601. package/manifest/components/todo-list.json +69 -0
  602. package/manifest/components/toggle-group.json +106 -0
  603. package/manifest/components/toggle.json +109 -0
  604. package/manifest/components/token-editor.json +90 -0
  605. package/manifest/components/tool-call-card.json +200 -0
  606. package/manifest/components/tool-call.json +119 -0
  607. package/manifest/components/tool-error.json +114 -0
  608. package/manifest/components/tool-group.json +83 -0
  609. package/manifest/components/tool-timeline.json +119 -0
  610. package/manifest/components/toolbar.json +163 -0
  611. package/manifest/components/tooltip.json +164 -0
  612. package/manifest/components/trace-waterfall.json +74 -0
  613. package/manifest/components/tree-visibility-toggle.json +84 -0
  614. package/manifest/components/tree.json +140 -0
  615. package/manifest/components/turn-footer.json +105 -0
  616. package/manifest/components/two-step-button.json +113 -0
  617. package/manifest/components/typing-indicator.json +53 -0
  618. package/manifest/components/universe-grid.json +127 -0
  619. package/manifest/components/unread-divider.json +55 -0
  620. package/manifest/components/usage-chart.json +124 -0
  621. package/manifest/components/verdict-row.json +91 -0
  622. package/manifest/components/voice-conversation.json +109 -0
  623. package/manifest/components/web-preview.json +87 -0
  624. package/manifest/components/web-search.json +92 -0
  625. package/manifest/components/work-collapse.json +102 -0
  626. package/manifest/manifest.json +4779 -0
  627. package/manifest/tokens.json +159 -0
  628. package/package.json +54 -5
@@ -0,0 +1,52 @@
1
+ {
2
+ "name": "CliToolIcon",
3
+ "slug": "cli-tool-icon",
4
+ "group": "icons",
5
+ "importPath": "@cueplusplus/ui",
6
+ "peerDependencies": [],
7
+ "clientOnly": false,
8
+ "description": "A CLI tool in the registry: a thing that runs in a terminal.\n\nA window with a prompt in it, rather than a bare chevron. A chevron on its\nown is a disclosure everywhere else in this library, and a navigation row\nthat appeared to expand and then navigated instead is a worse failure than a\nslightly busier glyph at 10px.",
9
+ "props": [],
10
+ "typeReferences": [
11
+ "React.SVGProps<SVGSVGElement>"
12
+ ],
13
+ "subcomponents": [],
14
+ "parts": [],
15
+ "variants": {},
16
+ "defaultVariants": {},
17
+ "tokensUsed": [
18
+ "--cue-danger",
19
+ "--cue-fg",
20
+ "--cue-icon-",
21
+ "--cue-icon-md",
22
+ "--cue-icon-sm"
23
+ ],
24
+ "summary": "A CLI tool in the registry: a thing that runs in a terminal.",
25
+ "examples": [],
26
+ "status": "todo-docs",
27
+ "url": "/docs/components/cli-tool-icon",
28
+ "mdUrl": "/docs/components/cli-tool-icon.md",
29
+ "jsonUrl": "/r/components/cli-tool-icon.json",
30
+ "specimens": [
31
+ {
32
+ "title": "The container icon set",
33
+ "group": "icons",
34
+ "components": [
35
+ "CatalogueIcon",
36
+ "StackIcon",
37
+ "StacksMatrixIcon",
38
+ "AudienceIcon",
39
+ "ChannelReleasedIcon",
40
+ "ChannelBetaIcon",
41
+ "FolderIcon",
42
+ "McpServerIcon",
43
+ "CliToolIcon",
44
+ "SkillIcon"
45
+ ],
46
+ "code": "<Specimens>\n {CONTAINERS.map(([label, name, Icon]) => (\n <Specimen key={name} label={label}>\n <Icon className=\"size-icon-md text-fg\" />\n </Specimen>\n ))}\n</Specimens>\n<Specimens>\n <Specimen label=\"icon-sm\">\n <SkillIcon className=\"size-icon-sm text-fg\" />\n </Specimen>\n <Specimen label=\"icon-md\">\n <SkillIcon className=\"size-icon-md text-fg\" />\n </Specimen>\n <Specimen label=\"inherited\">\n <SkillIcon className=\"size-icon-md\" />\n </Specimen>\n <Specimen label=\"muted\">\n <SkillIcon className=\"size-icon-md text-fg-muted\" />\n </Specimen>\n <Specimen label=\"accent\">\n <SkillIcon className=\"size-icon-md text-accent\" />\n </Specimen>\n <Specimen label=\"danger\">\n <SkillIcon className=\"size-icon-md text-danger\" />\n </Specimen>\n</Specimens>\n<Specimens>\n <Specimen label=\"in a row\" wide>\n <span className=\"inline-flex items-center gap-(--cue-space-2) font-mono text-(length:--cue-text-ui) text-fg-muted\">\n <ChannelReleasedIcon className=\"size-icon-md shrink-0\" />\n Our skills · released\n </span>\n </Specimen>\n <Specimen label=\"current row\" wide>\n <span className=\"inline-flex items-center gap-(--cue-space-2) font-mono text-(length:--cue-text-ui) text-fg\">\n <ChannelBetaIcon className=\"size-icon-md shrink-0\" />\n Our skills · beta\n </span>\n </Specimen>\n</Specimens>",
47
+ "note": "One grid and one weight across all ten, at size-icon-md — the size a navigation row draws them at. Each is a plain <svg> that takes every SVG prop.",
48
+ "interaction": "none. They are decorative by default: aria-hidden, announced by nothing, because the row they mark already carries its name."
49
+ }
50
+ ],
51
+ "todo": true
52
+ }
@@ -0,0 +1,87 @@
1
+ {
2
+ "name": "CodeDiff",
3
+ "slug": "code-diff",
4
+ "group": "elements",
5
+ "importPath": "@cueplusplus/ui/elements",
6
+ "peerDependencies": [],
7
+ "clientOnly": true,
8
+ "description": "A unified diff with tinted additions and removals, sized for chat.",
9
+ "props": [
10
+ {
11
+ "name": "filename",
12
+ "type": "string",
13
+ "required": true,
14
+ "defaultValue": null,
15
+ "description": "File path shown in the diff header."
16
+ },
17
+ {
18
+ "name": "additions",
19
+ "type": "number",
20
+ "required": true,
21
+ "defaultValue": null,
22
+ "description": "Addition count rendered in green next to the filename."
23
+ },
24
+ {
25
+ "name": "deletions",
26
+ "type": "number",
27
+ "required": true,
28
+ "defaultValue": null,
29
+ "description": "Deletion count rendered in red next to the filename."
30
+ },
31
+ {
32
+ "name": "lines",
33
+ "type": "readonly DiffLine[]",
34
+ "required": true,
35
+ "defaultValue": null,
36
+ "description": "Unified diff lines with context, added, or removed kind."
37
+ },
38
+ {
39
+ "name": "cycle",
40
+ "type": "number",
41
+ "required": true,
42
+ "defaultValue": null,
43
+ "description": "Identity key that remounts the body so entrance animation can replay."
44
+ }
45
+ ],
46
+ "typeReferences": [
47
+ "Omit<\n ComponentProps<\"div\">,\n \"children\" | \"filename\" | \"additions\" | \"deletions\" | \"lines\" | \"cycle\"\n> & {\n /** File path shown in the diff header. */\n filename: string;\n /** Addition count rendered in green next to the filename. */\n additions: number;\n /** Deletion count rendered in red next to the filename. */\n deletions: number;\n /** Unified diff lines with context, added, or removed kind. */\n lines: readonly DiffLine[];\n /** Identity key that remounts the body so entrance animation can replay. */\n cycle: number;\n}"
48
+ ],
49
+ "subcomponents": [],
50
+ "parts": [],
51
+ "variants": {},
52
+ "defaultVariants": {},
53
+ "tokensUsed": [
54
+ "--cue-danger",
55
+ "--cue-fg",
56
+ "--cue-fg-muted",
57
+ "--cue-font-mono",
58
+ "--cue-ok",
59
+ "--cue-radius-overlay",
60
+ "--cue-text-ui"
61
+ ],
62
+ "summary": "A unified diff with tinted additions and removals, sized for chat.",
63
+ "examples": [
64
+ {
65
+ "title": "Usage",
66
+ "code": "import { CodeDiff } from \"@cueplusplus/ui/elements\";\n\n<CodeDiff\n filename=\"thread.tsx\"\n additions={2}\n deletions={1}\n lines={[\n { kind: \"removed\", text: \"const x = 1\" },\n { kind: \"added\", text: \"const x = 2\" },\n ]}\n cycle={0}\n/>",
67
+ "language": "tsx"
68
+ }
69
+ ],
70
+ "status": "todo-docs",
71
+ "url": "/docs/components/code-diff",
72
+ "mdUrl": "/docs/components/code-diff.md",
73
+ "jsonUrl": "/r/components/code-diff.json",
74
+ "specimens": [
75
+ {
76
+ "title": "CodeDiff",
77
+ "group": "elements",
78
+ "components": [
79
+ "CodeDiff"
80
+ ],
81
+ "code": "<Specimens>\n <Specimen label=\"+3 −1\" wide>\n <CodeDiff\n filename=\"show/main-stage.cue\"\n additions={3}\n deletions={1}\n lines={CUE_DIFF}\n cycle={0}\n />\n </Specimen>\n</Specimens>",
82
+ "note": "A unified diff sized for a chat column: added and removed rows carry both a gutter mark and a tint, so the diff survives being read in greyscale. Rows animate in on `cycle`, which is an identity rather than a trigger.",
83
+ "interaction": "none. Scrolls sideways rather than wrapping, because a wrapped diff line is a lie about the file."
84
+ }
85
+ ],
86
+ "todo": true
87
+ }
@@ -0,0 +1,97 @@
1
+ {
2
+ "name": "CodeRunner",
3
+ "slug": "code-runner",
4
+ "group": "elements",
5
+ "importPath": "@cueplusplus/ui/elements",
6
+ "peerDependencies": [
7
+ "lucide-react"
8
+ ],
9
+ "clientOnly": true,
10
+ "description": "A snippet with a run button, and the output it produced attached below it.",
11
+ "props": [
12
+ {
13
+ "name": "language",
14
+ "type": "string",
15
+ "required": true,
16
+ "defaultValue": null,
17
+ "description": "Language label above the snippet."
18
+ },
19
+ {
20
+ "name": "code",
21
+ "type": "string",
22
+ "required": true,
23
+ "defaultValue": null,
24
+ "description": "The snippet. Rendered as plain mono; wrap it yourself for highlighting."
25
+ },
26
+ {
27
+ "name": "state",
28
+ "type": "\"idle\" | \"ok\" | \"running\" | \"error\"",
29
+ "required": true,
30
+ "defaultValue": null,
31
+ "description": "idle hides the output pane entirely; error tints the output red."
32
+ },
33
+ {
34
+ "name": "output",
35
+ "type": "readonly string[]",
36
+ "required": true,
37
+ "defaultValue": null,
38
+ "description": "Output lines, revealed in sequence."
39
+ },
40
+ {
41
+ "name": "durationMs",
42
+ "type": "number",
43
+ "required": false,
44
+ "defaultValue": null,
45
+ "description": "How long the run took, printed once it settles."
46
+ },
47
+ {
48
+ "name": "onRun",
49
+ "type": "(() => void)",
50
+ "required": false,
51
+ "defaultValue": null,
52
+ "description": "Called when the run control is pressed."
53
+ }
54
+ ],
55
+ "typeReferences": [
56
+ "Omit<\n ComponentProps<\"div\">,\n \"children\" | \"language\" | \"code\" | \"state\" | \"output\" | \"durationMs\" | \"onRun\"\n> & {\n /** Language label above the snippet. */\n language: string;\n /** The snippet. Rendered as plain mono; wrap it yourself for highlighting. */\n code: string;\n /** idle hides the output pane entirely; error tints the output red. */\n state: RunState;\n /** Output lines, revealed in sequence. */\n output: readonly string[];\n /** How long the run took, printed once it settles. */\n durationMs?: number;\n /** Called when the run control is pressed. */\n onRun?: () => void;\n}"
57
+ ],
58
+ "subcomponents": [],
59
+ "parts": [],
60
+ "variants": {},
61
+ "defaultVariants": {},
62
+ "tokensUsed": [
63
+ "--cue-border",
64
+ "--cue-danger",
65
+ "--cue-fg-muted",
66
+ "--cue-fg-subtle",
67
+ "--cue-font-mono",
68
+ "--cue-radius-overlay",
69
+ "--cue-surface-3",
70
+ "--cue-text-ui"
71
+ ],
72
+ "summary": "A snippet with a run button, and the output it produced attached below it.",
73
+ "examples": [
74
+ {
75
+ "title": "Usage",
76
+ "code": "import { CodeRunner } from \"@cueplusplus/ui/elements\";\n\n<CodeRunner\n language=\"typescript\"\n code={code}\n state=\"ok\"\n output={[\"1\"]}\n durationMs={38}\n onRun={run}\n/>",
77
+ "language": "tsx"
78
+ }
79
+ ],
80
+ "status": "todo-docs",
81
+ "url": "/docs/components/code-runner",
82
+ "mdUrl": "/docs/components/code-runner.md",
83
+ "jsonUrl": "/r/components/code-runner.json",
84
+ "specimens": [
85
+ {
86
+ "title": "CodeRunner",
87
+ "group": "elements-agents",
88
+ "components": [
89
+ "CodeRunner"
90
+ ],
91
+ "code": "<Specimens>\n <Specimen label=\"idle\" wide>\n <CodeRunner\n language=\"bash\"\n code={\"cue patch --universe 3 --fixture esprite --count 6\"}\n state={run}\n output={OUTPUT}\n onRun={() => setRun(\"ok\")}\n />\n </Specimen>\n <Specimen label=\"running\" wide>\n <CodeRunner\n language=\"bash\"\n code={\"cue patch --universe 3 --fixture esprite --count 6\"}\n state=\"running\"\n output={OUTPUT.slice(0, 2)}\n />\n </Specimen>\n <Specimen label=\"finished\" wide>\n <CodeRunner\n language=\"bash\"\n code={\"cue patch --universe 3 --fixture esprite --count 6\"}\n state=\"ok\"\n output={OUTPUT}\n durationMs={412}\n />\n </Specimen>\n <Specimen label=\"failed\" wide>\n <CodeRunner\n language=\"bash\"\n code={\"cue patch --universe 4 --fixture esprite --count 6\"}\n state=\"error\"\n output={[\"universe 4 is not enabled on this show file\", \"exit 1\"]}\n durationMs={88}\n />\n </Specimen>\n</Specimens>",
92
+ "note": "A snippet with a run button and the output it produced attached underneath, rather than in a console somewhere else. `idle` hides the output pane entirely — an empty black box is not a result — `error` tints what came back in the danger hue, and the duration prints once it settles.",
93
+ "interaction": "the run control is a labelled icon button (`Run this snippet`); while running it spins and the output arrives a line at a time."
94
+ }
95
+ ],
96
+ "todo": true
97
+ }
@@ -0,0 +1,120 @@
1
+ {
2
+ "name": "Collapsible",
3
+ "slug": "collapsible",
4
+ "group": "layout",
5
+ "importPath": "@cueplusplus/ui",
6
+ "peerDependencies": [],
7
+ "clientOnly": true,
8
+ "description": "One section that opens and closes — an accordion of exactly one.\n\nWraps Base UI's `Collapsible` and wears the same summary-row skin as\n`Accordion`, so a lone section and a stack of them are visibly the same\ncomponent.",
9
+ "props": [],
10
+ "typeReferences": [],
11
+ "subcomponents": [
12
+ "Root",
13
+ "Trigger",
14
+ "Panel"
15
+ ],
16
+ "parts": [
17
+ {
18
+ "name": "Root",
19
+ "usage": "Collapsible.Root",
20
+ "description": "Groups a trigger with its panel and owns the open state.",
21
+ "props": [
22
+ {
23
+ "name": "className",
24
+ "type": "string",
25
+ "required": false,
26
+ "defaultValue": null,
27
+ "description": "Extra classes for the frame."
28
+ }
29
+ ],
30
+ "typeReferences": [
31
+ "Omit<BaseCollapsible.Root.Props, \"className\">"
32
+ ]
33
+ },
34
+ {
35
+ "name": "Trigger",
36
+ "usage": "Collapsible.Trigger",
37
+ "description": "The summary row that opens the panel — the same recipe as `Accordion.Trigger`.",
38
+ "props": [
39
+ {
40
+ "name": "className",
41
+ "type": "string",
42
+ "required": false,
43
+ "defaultValue": null,
44
+ "description": "Extra classes for the summary row."
45
+ }
46
+ ],
47
+ "typeReferences": [
48
+ "Omit<BaseCollapsible.Trigger.Props, \"className\">"
49
+ ]
50
+ },
51
+ {
52
+ "name": "Panel",
53
+ "usage": "Collapsible.Panel",
54
+ "description": "The body. Height animates from `--collapsible-panel-height`; see `Accordion.Panel`.",
55
+ "props": [
56
+ {
57
+ "name": "className",
58
+ "type": "string",
59
+ "required": false,
60
+ "defaultValue": null,
61
+ "description": "Extra classes for the animating box. Padding belongs on `bodyClassName`."
62
+ },
63
+ {
64
+ "name": "bodyClassName",
65
+ "type": "string",
66
+ "required": false,
67
+ "defaultValue": null,
68
+ "description": "Extra classes for the padded body inside it."
69
+ }
70
+ ],
71
+ "typeReferences": [
72
+ "Omit<BaseCollapsible.Panel.Props, \"className\">"
73
+ ]
74
+ }
75
+ ],
76
+ "variants": {},
77
+ "defaultVariants": {},
78
+ "tokensUsed": [
79
+ "--cue-accent",
80
+ "--cue-control-md",
81
+ "--cue-fg",
82
+ "--cue-fg-muted",
83
+ "--cue-fg-subtle",
84
+ "--cue-font-mono",
85
+ "--cue-icon-sm",
86
+ "--cue-pad-row-x",
87
+ "--cue-space-1",
88
+ "--cue-space-2",
89
+ "--cue-space-3",
90
+ "--cue-space-4",
91
+ "--cue-text-label",
92
+ "--cue-text-micro",
93
+ "--cue-text-ui"
94
+ ],
95
+ "summary": "One section that opens and closes — an accordion of exactly one.",
96
+ "examples": [
97
+ {
98
+ "title": "Usage",
99
+ "code": "<Collapsible.Root defaultOpen>\n <Collapsible.Trigger>failover</Collapsible.Trigger>\n <Collapsible.Panel>…</Collapsible.Panel>\n</Collapsible.Root>",
100
+ "language": "tsx"
101
+ }
102
+ ],
103
+ "status": "todo-docs",
104
+ "url": "/docs/components/collapsible",
105
+ "mdUrl": "/docs/components/collapsible.md",
106
+ "jsonUrl": "/r/components/collapsible.json",
107
+ "specimens": [
108
+ {
109
+ "title": "Collapsible",
110
+ "group": "layout",
111
+ "components": [
112
+ "Collapsible"
113
+ ],
114
+ "code": "<Collapsible.Root className=\"w-full max-w-[36rem]\">\n <Collapsible.Trigger>Show output routing</Collapsible.Trigger>\n <Collapsible.Panel>\n Art-Net to 10.0.0.42, universes 1 to 4, 44 Hz.\n </Collapsible.Panel>\n</Collapsible.Root>",
115
+ "note": "One panel, one trigger, no grouping rules.",
116
+ "interaction": "same height animation as the accordion panel."
117
+ }
118
+ ],
119
+ "todo": true
120
+ }
@@ -0,0 +1,59 @@
1
+ {
2
+ "name": "ColorArea",
3
+ "slug": "color-area",
4
+ "group": "color",
5
+ "importPath": "@cueplusplus/ui/color",
6
+ "peerDependencies": [
7
+ "react-aria-components"
8
+ ],
9
+ "clientOnly": true,
10
+ "description": "The two-axis colour field — saturation against brightness, by default.\n\nWraps React Aria's `ColorArea`, so the pointer maths, the two hidden range\ninputs that make it keyboard- and screen-reader-operable, and the gradient\nbackground are the library's. This layer adds the rim, the radius and the\nshared thumb.\n\nString values may be written in any notation this suite reads, `oklch()`\nincluded — React Aria only parses sRGB, so they are converted on the way in.\n\n`react-aria-components` is an **optional peer**: import this from\n`@cueplusplus/ui/color`.",
11
+ "props": [
12
+ {
13
+ "name": "thumbClassName",
14
+ "type": "string",
15
+ "required": false,
16
+ "defaultValue": null,
17
+ "description": "Extra classes for the thumb."
18
+ }
19
+ ],
20
+ "typeReferences": [
21
+ "Omit<AriaColorAreaProps, \"children\">"
22
+ ],
23
+ "subcomponents": [],
24
+ "parts": [],
25
+ "variants": {},
26
+ "defaultVariants": {},
27
+ "tokensUsed": [
28
+ "--cue-accent",
29
+ "--cue-bg",
30
+ "--cue-border",
31
+ "--cue-fg",
32
+ "--cue-radius-control"
33
+ ],
34
+ "summary": "The two-axis colour field — saturation against brightness, by default.",
35
+ "examples": [
36
+ {
37
+ "title": "Usage",
38
+ "code": "<ColorArea aria-label=\"Saturation and brightness\" value={color} onChange={setColor} />",
39
+ "language": "tsx"
40
+ }
41
+ ],
42
+ "status": "todo-docs",
43
+ "url": "/docs/components/color-area",
44
+ "mdUrl": "/docs/components/color-area.md",
45
+ "jsonUrl": "/r/components/color-area.json",
46
+ "specimens": [
47
+ {
48
+ "title": "ColorArea",
49
+ "group": "color",
50
+ "components": [
51
+ "ColorArea"
52
+ ],
53
+ "code": "<Specimens>\n <Specimen label=\"default\">\n <ColorArea defaultValue=\"#ff6a2e\" aria-label=\"Accent saturation and brightness\" />\n </Specimen>\n <Specimen label=\"disabled\">\n <ColorArea defaultValue=\"#3ecf8e\" isDisabled aria-label=\"Locked colour\" />\n </Specimen>\n</Specimens>",
54
+ "note": "The two-axis plane. Saturation across, brightness down, with a thumb that reports both.",
55
+ "interaction": "arrow keys move one axis at a time; the thumb keeps a ring in the background colour so it stays visible on any hue."
56
+ }
57
+ ],
58
+ "todo": true
59
+ }
@@ -0,0 +1,79 @@
1
+ {
2
+ "name": "ColorField",
3
+ "slug": "color-field",
4
+ "group": "color",
5
+ "importPath": "@cueplusplus/ui/color",
6
+ "peerDependencies": [
7
+ "react-aria-components"
8
+ ],
9
+ "clientOnly": true,
10
+ "description": "A typed colour value — the whole colour as hex, or one channel as a number.\n\nWraps React Aria's `ColorField`, so parsing, arrow-key stepping and the\ncommit-on-blur behaviour are the library's; the input rides the same recessed\nchassis as every other text control.\n\nReact Aria only parses sRGB notations, so it edits **hex**. For a field that\nalso accepts `oklch()` — the notation this system's tokens are authored in —\nuse `ColorPicker`, which owns the conversion.\n\n`react-aria-components` is an **optional peer**: import this from\n`@cueplusplus/ui/color`.",
11
+ "props": [
12
+ {
13
+ "name": "size",
14
+ "type": "\"sm\" | \"md\" | \"lg\"",
15
+ "required": false,
16
+ "defaultValue": null,
17
+ "description": "Rung of the control ladder. Defaults to `\"md\"`."
18
+ },
19
+ {
20
+ "name": "inputClassName",
21
+ "type": "ClassNameOrFunction<InputRenderProps>",
22
+ "required": false,
23
+ "defaultValue": null,
24
+ "description": "Extra classes for the input itself."
25
+ }
26
+ ],
27
+ "typeReferences": [
28
+ "Omit<AriaColorFieldProps, \"children\">"
29
+ ],
30
+ "subcomponents": [],
31
+ "parts": [],
32
+ "variants": {},
33
+ "defaultVariants": {},
34
+ "tokensUsed": [
35
+ "--cue-accent",
36
+ "--cue-border",
37
+ "--cue-control-lg",
38
+ "--cue-control-md",
39
+ "--cue-control-sm",
40
+ "--cue-danger",
41
+ "--cue-fg",
42
+ "--cue-fg-subtle",
43
+ "--cue-font-mono",
44
+ "--cue-radius-control",
45
+ "--cue-space-1",
46
+ "--cue-space-3",
47
+ "--cue-space-4",
48
+ "--cue-space-5",
49
+ "--cue-sunken",
50
+ "--cue-text-body",
51
+ "--cue-text-label",
52
+ "--cue-text-ui"
53
+ ],
54
+ "summary": "A typed colour value — the whole colour as hex, or one channel as a number.",
55
+ "examples": [
56
+ {
57
+ "title": "Usage",
58
+ "code": "<ColorField aria-label=\"Accent\" value={color} onChange={setColor} />\n<ColorField aria-label=\"Red\" channel=\"red\" colorSpace=\"rgb\" size=\"sm\" />",
59
+ "language": "tsx"
60
+ }
61
+ ],
62
+ "status": "todo-docs",
63
+ "url": "/docs/components/color-field",
64
+ "mdUrl": "/docs/components/color-field.md",
65
+ "jsonUrl": "/r/components/color-field.json",
66
+ "specimens": [
67
+ {
68
+ "title": "ColorField",
69
+ "group": "color",
70
+ "components": [
71
+ "ColorField"
72
+ ],
73
+ "code": "<div className=\"grid w-full gap-(--cue-space-5) lg:grid-cols-3\">\n <Field name=\"accent\">\n <FieldLabel>Accent</FieldLabel>\n <ColorField aria-label=\"Accent hex\" defaultValue=\"#ff6a2e\" />\n <FieldDescription>Hex, with or without the hash.</FieldDescription>\n </Field>\n <ColorField aria-label=\"Accent, small\" size=\"sm\" defaultValue=\"#3ecf8e\" />\n <ColorField aria-label=\"Accent, disabled\" isDisabled defaultValue=\"#5b8def\" />\n</div>",
74
+ "note": "The text half of the suite, on the form chassis. Invalid input is rejected rather than silently coerced.",
75
+ "interaction": "same rim and ring as Input; arrow keys step the channel under the caret."
76
+ }
77
+ ],
78
+ "todo": true
79
+ }