@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,41 @@
1
+ import * as React from "react";
2
+ import { Background, Controls } from "@xyflow/react";
3
+ //#region src/flow/controls.d.ts
4
+ /**
5
+ * The two library panels, wearing the token map.
6
+ *
7
+ * Both do the same small thing: publish {@link FLOW_THEME_VARIABLES} on their own
8
+ * root so the library's `var(--xy-*)` chains resolve to tokens, whether or not
9
+ * the app imported `flow.css` and whether or not it spread `theme.style` on the
10
+ * canvas. Custom properties are inherited and cost nothing to declare twice, and
11
+ * the alternative — Tailwind utilities — cannot win here: the library's
12
+ * stylesheet is unlayered, and every layered utility loses to an unlayered rule
13
+ * of equal specificity no matter which file loads last.
14
+ */
15
+ interface FlowControlsProps extends React.ComponentProps<typeof Controls> {}
16
+ /**
17
+ * The zoom / fit / lock capsule, restyled as an overlay surface.
18
+ *
19
+ * Shape is inline for the same reason the colours are: `border-radius` and
20
+ * `overflow` have no `--xy-*` hook, and the library's own rule would otherwise
21
+ * win. `overflow: hidden` is what makes the first and last buttons take the
22
+ * capsule's corners instead of squaring them off.
23
+ *
24
+ * @example
25
+ * <ReactFlow …><FlowControls /></ReactFlow>
26
+ */
27
+ declare function FlowControls({ style, ...controlsProps }: FlowControlsProps): React.JSX.Element;
28
+ interface FlowBackgroundProps extends React.ComponentProps<typeof Background> {}
29
+ /**
30
+ * The canvas grid: dots one rung off the ground, at the system's own spacing.
31
+ *
32
+ * Leave `color` unset. It writes `--xy-background-pattern-color-props`, which
33
+ * outranks the theme map — passing a colour is how you opt *out* of theming, not
34
+ * how you theme it.
35
+ *
36
+ * @example
37
+ * <ReactFlow …><FlowBackground /></ReactFlow>
38
+ */
39
+ declare function FlowBackground({ gap, style, ...backgroundProps }: FlowBackgroundProps): React.JSX.Element;
40
+ //#endregion
41
+ export { FlowBackground, FlowBackgroundProps, FlowControls, FlowControlsProps };
@@ -0,0 +1,53 @@
1
+ "use client";
2
+ import { FLOW_THEME_VARIABLES } from "./use-flow-theme.js";
3
+ import "react";
4
+ import { jsx } from "react/jsx-runtime";
5
+ import { Background, Controls } from "@xyflow/react";
6
+ //#region src/flow/controls.tsx
7
+ /** Dots every 16 flow units — the same 1rem rhythm the rest of the system is on. */
8
+ const DOT_GAP = 16;
9
+ /**
10
+ * The zoom / fit / lock capsule, restyled as an overlay surface.
11
+ *
12
+ * Shape is inline for the same reason the colours are: `border-radius` and
13
+ * `overflow` have no `--xy-*` hook, and the library's own rule would otherwise
14
+ * win. `overflow: hidden` is what makes the first and last buttons take the
15
+ * capsule's corners instead of squaring them off.
16
+ *
17
+ * @example
18
+ * <ReactFlow …><FlowControls /></ReactFlow>
19
+ */
20
+ function FlowControls({ style, ...controlsProps }) {
21
+ return /* @__PURE__ */ jsx(Controls, {
22
+ style: {
23
+ ...FLOW_THEME_VARIABLES,
24
+ border: "1px solid var(--cue-border-overlay)",
25
+ borderRadius: "var(--cue-radius-overlay)",
26
+ overflow: "hidden",
27
+ ...style
28
+ },
29
+ ...controlsProps
30
+ });
31
+ }
32
+ /**
33
+ * The canvas grid: dots one rung off the ground, at the system's own spacing.
34
+ *
35
+ * Leave `color` unset. It writes `--xy-background-pattern-color-props`, which
36
+ * outranks the theme map — passing a colour is how you opt *out* of theming, not
37
+ * how you theme it.
38
+ *
39
+ * @example
40
+ * <ReactFlow …><FlowBackground /></ReactFlow>
41
+ */
42
+ function FlowBackground({ gap = DOT_GAP, style, ...backgroundProps }) {
43
+ return /* @__PURE__ */ jsx(Background, {
44
+ gap,
45
+ style: {
46
+ ...FLOW_THEME_VARIABLES,
47
+ ...style
48
+ },
49
+ ...backgroundProps
50
+ });
51
+ }
52
+ //#endregion
53
+ export { FlowBackground, FlowControls };
@@ -0,0 +1,121 @@
1
+ /*! @cueplusplus/ui — React Flow theme layer.
2
+ *
3
+ * Consumer app CSS, in this order:
4
+ * @import "@xyflow/react/dist/style.css";
5
+ * @import "@cueplusplus/ui/flow.css";
6
+ *
7
+ * Plain CSS, no Tailwind: this file only re-inks chrome the *library* paints,
8
+ * so it has to work in a lane-B app that never installed Tailwind at all.
9
+ *
10
+ * Two mechanisms, deliberately:
11
+ *
12
+ * 1. Custom properties. React Flow consults `--xy-<thing>` before its own
13
+ * `--xy-<thing>-default` for every colour it paints, so declaring them on
14
+ * `.react-flow` re-themes edges, handles, controls, the minimap and the
15
+ * selection box without touching specificity at all — this block wins over
16
+ * the library's defaults whichever stylesheet loads last. It is the same map
17
+ * `useFlowTheme().style` publishes, and a test asserts the two agree.
18
+ * 2. Two extra rules for the things with no property hook — the controls
19
+ * capsule's shape and the pulse's keyframes. Those are scoped
20
+ * `.react-flow .react-flow__…`, one class more specific than the library's
21
+ * own rule, so they also win regardless of import order.
22
+ *
23
+ * Nothing here is required: every component in `@cueplusplus/ui/flow` publishes
24
+ * the same map on its own root. Import this to theme a canvas built from raw
25
+ * `@xyflow/react` parts, or to keep the token map out of your React tree.
26
+ */
27
+
28
+ .react-flow {
29
+ /* The pane itself. Left to the library this is a hard-coded #141414 in dark
30
+ mode, which is nobody's ground. */
31
+ --xy-background-color: var(--cue-bg);
32
+ --xy-background-pattern-color: var(--cue-surface-2);
33
+
34
+ /* Wires. `border-strong` rather than a fg rung: an edge nobody has said
35
+ anything about is structure, not content. */
36
+ --xy-edge-stroke: var(--cue-border-strong);
37
+ --xy-edge-stroke-width: 1.5;
38
+ --xy-edge-stroke-selected: var(--cue-fg);
39
+ --xy-connectionline-stroke: var(--cue-accent);
40
+ --xy-connectionline-stroke-width: 1.5;
41
+ --xy-edge-label-background-color: var(--cue-surface-2);
42
+ --xy-edge-label-color: var(--cue-fg);
43
+
44
+ /* Connection points, for a plain `Handle`. `NodeHandle` paints itself. */
45
+ --xy-handle-background-color: var(--cue-accent);
46
+ --xy-handle-border-color: var(--cue-bg);
47
+
48
+ /* The library's built-in node types. A `NodeCard` uses none of this. */
49
+ --xy-node-background-color: var(--cue-surface-1);
50
+ --xy-node-border: 1px solid var(--cue-border);
51
+ --xy-node-border-radius: var(--cue-radius-surface);
52
+ --xy-node-color: var(--cue-fg);
53
+ --xy-node-group-background-color: var(--cue-surface-2);
54
+ /* Rings rather than drops: this portfolio spends its one shadow on overlays. */
55
+ --xy-node-boxshadow-hover: 0 0 0 1px var(--cue-border-strong);
56
+ --xy-node-boxshadow-selected: 0 0 0 1px var(--cue-fg);
57
+
58
+ /* The zoom capsule, which is an overlay surface like any other. */
59
+ --xy-controls-button-background-color: var(--cue-surface-2);
60
+ --xy-controls-button-background-color-hover: var(--cue-surface-3);
61
+ --xy-controls-button-color: var(--cue-fg-muted);
62
+ --xy-controls-button-color-hover: var(--cue-accent);
63
+ --xy-controls-button-border-color: var(--cue-border);
64
+ --xy-controls-box-shadow: 0 8px 24px rgba(0, 0, 0, 0.4);
65
+
66
+ --xy-minimap-background-color: var(--cue-surface-1);
67
+ --xy-minimap-mask-background-color: color-mix(in oklch, var(--cue-bg) 70%, transparent);
68
+ --xy-minimap-mask-stroke-color: var(--cue-border);
69
+ --xy-minimap-node-background-color: var(--cue-surface-3);
70
+ --xy-minimap-node-stroke-color: var(--cue-border);
71
+
72
+ /* Lasso select and the node-resize grips. */
73
+ --xy-selection-background-color: var(--cue-accent-soft);
74
+ --xy-selection-border: 1px dashed var(--cue-accent);
75
+ --xy-resize-background-color: var(--cue-accent);
76
+
77
+ --xy-attribution-background-color: color-mix(in oklch, var(--cue-bg) 70%, transparent);
78
+ }
79
+
80
+ /* The capsule's shape: no `--xy-*` hook exists for it, so it is a rule.
81
+ `overflow: hidden` is what makes the first and last buttons take the
82
+ capsule's corners instead of squaring them off. */
83
+ .react-flow .react-flow__controls {
84
+ border: 1px solid var(--cue-border-overlay);
85
+ border-radius: var(--cue-radius-overlay);
86
+ overflow: hidden;
87
+ }
88
+
89
+ /* The buttons are operable, so they keep a real focus ring. Inset, because the
90
+ capsule clips anything drawn outside it. */
91
+ .react-flow .react-flow__controls-button:focus-visible {
92
+ outline: 2px solid var(--cue-focus);
93
+ outline-offset: -2px;
94
+ }
95
+
96
+ /* The attribution's own link colour is a hard-coded #999 in the library. */
97
+ .react-flow .react-flow__attribution a {
98
+ color: var(--cue-fg-subtle);
99
+ }
100
+
101
+ /* The pulse on a live wire (`SignalEdge`). The dash pattern is inline on the
102
+ path; only the march lives here, because keyframes cannot be. The offset is a
103
+ whole number of dash periods (2 x (3 + 8)) — anything else visibly jumps as
104
+ the animation loops. */
105
+ @keyframes cue-signal-dash {
106
+ to {
107
+ stroke-dashoffset: -22;
108
+ }
109
+ }
110
+
111
+ .cue-signal-flow {
112
+ animation: cue-signal-dash 700ms linear infinite;
113
+ }
114
+
115
+ /* Reduced motion keeps the highlight and stops the march: the pulse carries no
116
+ information the wire's own opacity does not. */
117
+ @media (prefers-reduced-motion: reduce) {
118
+ .cue-signal-flow {
119
+ animation: none;
120
+ }
121
+ }
@@ -0,0 +1,40 @@
1
+ import * as React from "react";
2
+ import { HandleProps } from "@xyflow/react";
3
+ //#region src/flow/handles.d.ts
4
+ /** What a connection point is carrying, or refusing to. */
5
+ type FlowHandleTone = "accent" | "muted" | "ok" | "busy" | "warn" | "danger" | "info";
6
+ /**
7
+ * Pin diameter in px at the 16px root.
8
+ *
9
+ * The library's own 6px is a hard target with a mouse and an impossible one with
10
+ * a trackpad; 9px is what dmxhub's bridge settled on after the same complaint.
11
+ */
12
+ declare const FLOW_HANDLE_SIZE = 9;
13
+ interface NodeHandleProps extends HandleProps {
14
+ /** What the connection carries. Defaults to `"accent"`. */
15
+ tone?: FlowHandleTone;
16
+ /** Diameter in px at the 16px root, emitted as `rem`. Defaults to `9`. */
17
+ size?: number;
18
+ }
19
+ /**
20
+ * A connection point on a node, drawn as a pin rather than a dot.
21
+ *
22
+ * Everything visual is **inline style, not a class**, and that is deliberate:
23
+ * `.react-flow__handle` sets `background-color`, `border` and `width`/`height`
24
+ * from the library's own unlayered stylesheet, while Tailwind's utilities live in
25
+ * a cascade layer — and any layered rule loses to an unlayered one of the same
26
+ * specificity, whatever order the files load in. An inline declaration is the
27
+ * only paint that reliably wins, which is also how the port did it.
28
+ *
29
+ * The pin is ringed in `--cue-bg` rather than in the card's own surface, so it
30
+ * reads as lifted off the edge it straddles no matter which surface rung the
31
+ * node is on.
32
+ *
33
+ * @example
34
+ * <NodeHandle type="source" position={Position.Right} id="u1" />
35
+ * @example
36
+ * <NodeHandle type="target" position={Position.Left} id="in" tone="muted" />
37
+ */
38
+ declare const NodeHandle: React.ForwardRefExoticComponent<NodeHandleProps & React.RefAttributes<HTMLDivElement>>;
39
+ //#endregion
40
+ export { FLOW_HANDLE_SIZE, FlowHandleTone, NodeHandle, NodeHandleProps };
@@ -0,0 +1,61 @@
1
+ "use client";
2
+ import { toRem } from "../instruments/_rem.js";
3
+ import * as React from "react";
4
+ import { jsx } from "react/jsx-runtime";
5
+ import { Handle } from "@xyflow/react";
6
+ //#region src/flow/handles.tsx
7
+ /**
8
+ * Pin diameter in px at the 16px root.
9
+ *
10
+ * The library's own 6px is a hard target with a mouse and an impossible one with
11
+ * a trackpad; 9px is what dmxhub's bridge settled on after the same complaint.
12
+ */
13
+ const FLOW_HANDLE_SIZE = 9;
14
+ const TONE_COLORS = {
15
+ accent: "var(--cue-accent)",
16
+ muted: "var(--cue-border-strong)",
17
+ ok: "var(--cue-ok)",
18
+ busy: "var(--cue-busy)",
19
+ warn: "var(--cue-warn)",
20
+ danger: "var(--cue-danger)",
21
+ info: "var(--cue-info)"
22
+ };
23
+ /**
24
+ * A connection point on a node, drawn as a pin rather than a dot.
25
+ *
26
+ * Everything visual is **inline style, not a class**, and that is deliberate:
27
+ * `.react-flow__handle` sets `background-color`, `border` and `width`/`height`
28
+ * from the library's own unlayered stylesheet, while Tailwind's utilities live in
29
+ * a cascade layer — and any layered rule loses to an unlayered one of the same
30
+ * specificity, whatever order the files load in. An inline declaration is the
31
+ * only paint that reliably wins, which is also how the port did it.
32
+ *
33
+ * The pin is ringed in `--cue-bg` rather than in the card's own surface, so it
34
+ * reads as lifted off the edge it straddles no matter which surface rung the
35
+ * node is on.
36
+ *
37
+ * @example
38
+ * <NodeHandle type="source" position={Position.Right} id="u1" />
39
+ * @example
40
+ * <NodeHandle type="target" position={Position.Left} id="in" tone="muted" />
41
+ */
42
+ const NodeHandle = React.forwardRef(function NodeHandle({ className, style, tone = "accent", size = 9, ...handleProps }, ref) {
43
+ return /* @__PURE__ */ jsx(Handle, {
44
+ ref,
45
+ "data-slot": "node-handle",
46
+ "data-tone": tone,
47
+ className,
48
+ style: {
49
+ width: toRem(size),
50
+ height: toRem(size),
51
+ minWidth: toRem(size),
52
+ minHeight: toRem(size),
53
+ backgroundColor: TONE_COLORS[tone],
54
+ borderColor: "var(--cue-bg)",
55
+ ...style
56
+ },
57
+ ...handleProps
58
+ });
59
+ });
60
+ //#endregion
61
+ export { FLOW_HANDLE_SIZE, NodeHandle };
@@ -0,0 +1,7 @@
1
+ import { FLOW_NODE_FRAME_COLOR, FLOW_NODE_FRAME_FALLBACK, FLOW_NODE_FRAME_PROPERTY, FlowNodeState, FlowNodeTone, flowFrameColor } from "./_frame.js";
2
+ import { FlowBackground, FlowBackgroundProps, FlowControls, FlowControlsProps } from "./controls.js";
3
+ import { FLOW_HANDLE_SIZE, FlowHandleTone, NodeHandle, NodeHandleProps } from "./handles.js";
4
+ import { NodeCard, NodeCardProps } from "./node-card.js";
5
+ import { SIGNAL_EDGE_FLOW_CLASS, SIGNAL_EDGE_INTERACTION_WIDTH, SignalEdge, SignalEdgeData, SignalEdgeProps, SignalEdgeType, SignalTone } from "./signal-edge.js";
6
+ import { FLOW_THEME_VARIABLES, FlowTheme, useFlowTheme } from "./use-flow-theme.js";
7
+ export { FLOW_HANDLE_SIZE, FLOW_NODE_FRAME_COLOR, FLOW_NODE_FRAME_FALLBACK, FLOW_NODE_FRAME_PROPERTY, FLOW_THEME_VARIABLES, FlowBackground, type FlowBackgroundProps, FlowControls, type FlowControlsProps, type FlowHandleTone, type FlowNodeState, type FlowNodeTone, type FlowTheme, NodeCard, type NodeCardProps, NodeHandle, type NodeHandleProps, SIGNAL_EDGE_FLOW_CLASS, SIGNAL_EDGE_INTERACTION_WIDTH, SignalEdge, type SignalEdgeData, type SignalEdgeProps, type SignalEdgeType, type SignalTone, flowFrameColor, useFlowTheme };
@@ -0,0 +1,7 @@
1
+ import { FLOW_NODE_FRAME_COLOR, FLOW_NODE_FRAME_FALLBACK, FLOW_NODE_FRAME_PROPERTY, flowFrameColor } from "./_frame.js";
2
+ import { SIGNAL_EDGE_FLOW_CLASS, SIGNAL_EDGE_INTERACTION_WIDTH, SignalEdge } from "./signal-edge.js";
3
+ import { FLOW_THEME_VARIABLES, useFlowTheme } from "./use-flow-theme.js";
4
+ import { FlowBackground, FlowControls } from "./controls.js";
5
+ import { FLOW_HANDLE_SIZE, NodeHandle } from "./handles.js";
6
+ import { NodeCard } from "./node-card.js";
7
+ export { FLOW_HANDLE_SIZE, FLOW_NODE_FRAME_COLOR, FLOW_NODE_FRAME_FALLBACK, FLOW_NODE_FRAME_PROPERTY, FLOW_THEME_VARIABLES, FlowBackground, FlowControls, NodeCard, NodeHandle, SIGNAL_EDGE_FLOW_CLASS, SIGNAL_EDGE_INTERACTION_WIDTH, SignalEdge, flowFrameColor, useFlowTheme };
@@ -0,0 +1,71 @@
1
+ import { FlowNodeState, FlowNodeTone } from "./_frame.js";
2
+ import * as React from "react";
3
+ //#region src/flow/node-card.d.ts
4
+ interface NodeCardProps extends React.ComponentPropsWithoutRef<"div"> {
5
+ /** Where the node sits in the signal path. Inks the frame at rest. */
6
+ tone?: FlowNodeTone;
7
+ /**
8
+ * What the node is doing right now. Outranks `tone`.
9
+ *
10
+ * Pass React Flow's own `selected` through:
11
+ * `state={selected ? "selected" : "idle"}`.
12
+ */
13
+ state?: FlowNodeState;
14
+ /** The summary band: a label, a toggle, a badge. Also the drag handle. */
15
+ header?: React.ReactNode;
16
+ /** Whether the body is shown. Defaults to `true`; `false` renders the band alone. */
17
+ expanded?: boolean;
18
+ /**
19
+ * Called with the requested state when the caret is clicked. Supplying it is
20
+ * what makes the caret appear — a card nobody can collapse should not offer to.
21
+ */
22
+ onExpandedChange?: (expanded: boolean) => void;
23
+ /** Accessible name for the caret. Defaults to `"Collapse"` / `"Expand"`. */
24
+ toggleLabel?: string;
25
+ /** The body: rows, bars, fields. Full-bleed — rows own their own padding. */
26
+ children?: React.ReactNode;
27
+ }
28
+ /**
29
+ * A node on a graph canvas, drawn in this system's language.
30
+ *
31
+ * Framed with an **outline, never a border**. React Flow is told a node's height
32
+ * up front — every layout that stacks nodes computes it — and a 1px border on
33
+ * each side makes the rendered box 2px taller than the number the layout used,
34
+ * which is how node stacks end up overlapping by a hairline that grows with the
35
+ * node count. An outline is painted outside the box model entirely and costs
36
+ * nothing, so the formula and the DOM agree. `-outline-offset-1` then pulls it
37
+ * back inside the corner radius.
38
+ *
39
+ * The frame's colour is the node's state (see `_frame.ts`): selected beats live
40
+ * beats identity. When neither `tone` nor `state` is given the card paints no
41
+ * colour of its own and inherits `--cue-node-frame` from the node wrapper, which
42
+ * is how `useFlowTheme().nodeStyles` colours a whole class of nodes at once.
43
+ *
44
+ * The header band is the drag handle — pass
45
+ * `dragHandle: '[data-slot="node-card-header"]'` on the node so a pointer inside
46
+ * the body edits instead of dragging.
47
+ *
48
+ * Nothing here imports `@xyflow/react`: a node card is a div, and the same card
49
+ * draws a static diagram on a marketing page with no graph engine shipped. It
50
+ * also never clips — handles straddle the rim, so an `overflow-hidden` in
51
+ * `className` would slice every connection point in half.
52
+ *
53
+ * @example
54
+ * function MergeNode({ selected }: NodeProps) {
55
+ * const [open, setOpen] = React.useState(true);
56
+ * return (
57
+ * <NodeCard
58
+ * tone="processing"
59
+ * state={selected ? "selected" : "live"}
60
+ * header={<span className="truncate">merge · universe 3</span>}
61
+ * expanded={open}
62
+ * onExpandedChange={setOpen}
63
+ * >
64
+ * <DmxBar data={frame} />
65
+ * </NodeCard>
66
+ * );
67
+ * }
68
+ */
69
+ declare const NodeCard: React.ForwardRefExoticComponent<NodeCardProps & React.RefAttributes<HTMLDivElement>>;
70
+ //#endregion
71
+ export { NodeCard, NodeCardProps };
@@ -0,0 +1,102 @@
1
+ "use client";
2
+ import { cn } from "../lib/cn.js";
3
+ import { FLOW_NODE_FRAME_COLOR, FLOW_NODE_FRAME_PROPERTY, flowFrameColor } from "./_frame.js";
4
+ import * as React from "react";
5
+ import { jsx, jsxs } from "react/jsx-runtime";
6
+ //#region src/flow/node-card.tsx
7
+ /**
8
+ * React Flow's two opt-outs, on every control a card owns.
9
+ *
10
+ * Without `nodrag` a click on the chevron drags the node out from under the
11
+ * pointer; without `nopan` a drag that starts inside the card pans the whole
12
+ * viewport. They are class names because that is the only interface the library
13
+ * offers for it.
14
+ */
15
+ const NO_CANVAS_GESTURE = "nodrag nopan";
16
+ /**
17
+ * A node on a graph canvas, drawn in this system's language.
18
+ *
19
+ * Framed with an **outline, never a border**. React Flow is told a node's height
20
+ * up front — every layout that stacks nodes computes it — and a 1px border on
21
+ * each side makes the rendered box 2px taller than the number the layout used,
22
+ * which is how node stacks end up overlapping by a hairline that grows with the
23
+ * node count. An outline is painted outside the box model entirely and costs
24
+ * nothing, so the formula and the DOM agree. `-outline-offset-1` then pulls it
25
+ * back inside the corner radius.
26
+ *
27
+ * The frame's colour is the node's state (see `_frame.ts`): selected beats live
28
+ * beats identity. When neither `tone` nor `state` is given the card paints no
29
+ * colour of its own and inherits `--cue-node-frame` from the node wrapper, which
30
+ * is how `useFlowTheme().nodeStyles` colours a whole class of nodes at once.
31
+ *
32
+ * The header band is the drag handle — pass
33
+ * `dragHandle: '[data-slot="node-card-header"]'` on the node so a pointer inside
34
+ * the body edits instead of dragging.
35
+ *
36
+ * Nothing here imports `@xyflow/react`: a node card is a div, and the same card
37
+ * draws a static diagram on a marketing page with no graph engine shipped. It
38
+ * also never clips — handles straddle the rim, so an `overflow-hidden` in
39
+ * `className` would slice every connection point in half.
40
+ *
41
+ * @example
42
+ * function MergeNode({ selected }: NodeProps) {
43
+ * const [open, setOpen] = React.useState(true);
44
+ * return (
45
+ * <NodeCard
46
+ * tone="processing"
47
+ * state={selected ? "selected" : "live"}
48
+ * header={<span className="truncate">merge · universe 3</span>}
49
+ * expanded={open}
50
+ * onExpandedChange={setOpen}
51
+ * >
52
+ * <DmxBar data={frame} />
53
+ * </NodeCard>
54
+ * );
55
+ * }
56
+ */
57
+ const NodeCard = React.forwardRef(function NodeCard({ className, style, tone, state, header, expanded = true, onExpandedChange, toggleLabel, children, ...elementProps }, ref) {
58
+ const bodyId = React.useId();
59
+ const frame = flowFrameColor(tone, state);
60
+ const hasBody = expanded && children !== void 0 && children !== null;
61
+ return /* @__PURE__ */ jsxs("div", {
62
+ ref,
63
+ "data-slot": "node-card",
64
+ "data-tone": tone,
65
+ "data-state": state,
66
+ className: cn("relative flex min-w-0 flex-col rounded-(--radius-surface) bg-surface-1 font-mono text-(length:--cue-text-label) text-fg outline-1 outline-solid -outline-offset-1", state === "disabled" && "opacity-50", className),
67
+ style: {
68
+ outlineColor: FLOW_NODE_FRAME_COLOR,
69
+ ...frame === void 0 ? null : { [FLOW_NODE_FRAME_PROPERTY]: frame },
70
+ ...style
71
+ },
72
+ ...elementProps,
73
+ children: [header === void 0 ? null : /* @__PURE__ */ jsxs("div", {
74
+ "data-slot": "node-card-header",
75
+ className: cn("flex h-control-sm min-w-0 shrink-0 items-center gap-(--cue-space-2) px-(--cue-space-3) font-medium", hasBody && "shadow-[inset_0_-1px_0_var(--cue-border)]"),
76
+ children: [/* @__PURE__ */ jsx("span", {
77
+ "data-slot": "node-card-title",
78
+ className: "min-w-0 flex-1 truncate",
79
+ children: header
80
+ }), onExpandedChange === void 0 ? null : /* @__PURE__ */ jsx("button", {
81
+ type: "button",
82
+ "data-slot": "node-card-toggle",
83
+ "aria-expanded": expanded,
84
+ "aria-controls": hasBody ? bodyId : void 0,
85
+ "aria-label": toggleLabel ?? (expanded ? "Collapse" : "Expand"),
86
+ className: cn(NO_CANVAS_GESTURE, "shrink-0 cursor-pointer border-0 bg-transparent p-0 text-(length:--cue-text-micro) leading-none text-fg-subtle outline-none select-none hover:text-fg-muted focus-visible:outline-2 focus-visible:outline-solid focus-visible:outline-offset-2 focus-visible:outline-accent"),
87
+ onClick: () => onExpandedChange(!expanded),
88
+ children: /* @__PURE__ */ jsx("span", {
89
+ "aria-hidden": "true",
90
+ children: expanded ? "▾" : "▸"
91
+ })
92
+ })]
93
+ }), hasBody ? /* @__PURE__ */ jsx("div", {
94
+ id: bodyId,
95
+ "data-slot": "node-card-body",
96
+ className: "flex min-w-0 flex-col",
97
+ children
98
+ }) : null]
99
+ });
100
+ });
101
+ //#endregion
102
+ export { NodeCard };
@@ -0,0 +1,60 @@
1
+ import * as React from "react";
2
+ import { Edge, EdgeProps } from "@xyflow/react";
3
+ //#region src/flow/signal-edge.d.ts
4
+ /** What a wire is carrying. `muted` is a link that exists but is switched off. */
5
+ type SignalTone = "accent" | "ok" | "busy" | "warn" | "danger" | "info";
6
+ /**
7
+ * The class the animated overlay carries.
8
+ *
9
+ * `flow.css` owns its `@keyframes` and its reduced-motion switch; the dash
10
+ * pattern itself is inline, so an app that never imported the stylesheet still
11
+ * gets a legible dashed highlight instead of a mystery second line.
12
+ */
13
+ declare const SIGNAL_EDGE_FLOW_CLASS = "cue-signal-flow";
14
+ /**
15
+ * Width of the invisible path the pointer actually hits, in px.
16
+ *
17
+ * A 1.6px wire is a nearly impossible click target and an outright impossible
18
+ * touch target. The library's own default is 20; 16 is the port's, and it is
19
+ * wide enough without swallowing the gap between two parallel wires.
20
+ */
21
+ declare const SIGNAL_EDGE_INTERACTION_WIDTH = 16;
22
+ interface SignalEdgeData extends Record<string, unknown> {
23
+ /** Signal is actually moving right now: full opacity plus the animated dash. */
24
+ live?: boolean;
25
+ /** The link exists but is switched off: grey, thin and dim. */
26
+ muted?: boolean;
27
+ /** What the wire carries. Defaults to `"accent"`. */
28
+ tone?: SignalTone;
29
+ }
30
+ /** The edge shape this component reads. Use it to type your `edges` array. */
31
+ type SignalEdgeType = Edge<SignalEdgeData, "signal">;
32
+ /** Props React Flow hands the edge — both endpoints already in viewport space. */
33
+ type SignalEdgeProps = EdgeProps<SignalEdgeType>;
34
+ /**
35
+ * A wire between two nodes, drawn as three paths.
36
+ *
37
+ * 1. **The wire.** A bezier in the tone's colour, thin and half-lit at rest.
38
+ * 2. **The hit path.** Sixteen invisible pixels of it, because nobody can click
39
+ * 1.6px. `BaseEdge` draws this one, and the edge label, for free.
40
+ * 3. **The pulse.** Only while `data.live` — a pale dashed overlay of the same
41
+ * colour, marching along the wire. This is the only animation in the group,
42
+ * it carries no information the opacity does not, and `flow.css` stops it
43
+ * dead under `prefers-reduced-motion`.
44
+ *
45
+ * State is read from props rather than from a store on purpose: an edge that
46
+ * subscribed to "is this route live" would re-render on every frame of a 40Hz
47
+ * telemetry feed, times the number of edges. The host decides when the answer
48
+ * changed; this component only draws it. It also means the component is a pure
49
+ * function of its props — no hooks, no context, no canvas needed to test it.
50
+ *
51
+ * Selection outranks everything, including the pulse: two loud treatments on one
52
+ * wire read as neither.
53
+ *
54
+ * @example
55
+ * const edges = [{ id: "r1", source: "s1", target: "m1", type: "signal", data: { live: true } }];
56
+ * <ReactFlow edges={edges} edgeTypes={theme.edgeTypes} />
57
+ */
58
+ declare function SignalEdge({ id, sourceX, sourceY, sourcePosition, targetX, targetY, targetPosition, selected, data, style, markerStart, markerEnd, interactionWidth, label, labelStyle, labelShowBg, labelBgStyle, labelBgPadding, labelBgBorderRadius }: SignalEdgeProps): React.JSX.Element;
59
+ //#endregion
60
+ export { SIGNAL_EDGE_FLOW_CLASS, SIGNAL_EDGE_INTERACTION_WIDTH, SignalEdge, SignalEdgeData, SignalEdgeProps, SignalEdgeType, SignalTone };