@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
package/dist/index.js ADDED
@@ -0,0 +1,124 @@
1
+ import { CueLogotype } from "./brand/cue-logotype.js";
2
+ import { CueMark } from "./brand/cue-mark.js";
3
+ import { Plussie } from "./brand/plussie.js";
4
+ import { AGENT_COLOR_PROPERTY, AGENT_HUES, AGENT_ROOT_COLOR, agentColor, agentColorStyle } from "./chat/agent-color.js";
5
+ import { AgentPile } from "./chat/agent-pile.js";
6
+ import { Checkbox, CheckboxGroup } from "./forms/checkbox.js";
7
+ import { bareControlClasses, controlClasses, controlGroupFocusClasses, controlSurface, controlVariants } from "./forms/_chassis.js";
8
+ import { InputGroup } from "./forms/input-group.js";
9
+ import { Input } from "./forms/input.js";
10
+ import { NumberField } from "./forms/number-field.js";
11
+ import { Radio, RadioGroup } from "./forms/radio-group.js";
12
+ import { Button, buttonVariants } from "./primitives/button.js";
13
+ import { Chip, chipVariants } from "./primitives/chip.js";
14
+ import { AskBox } from "./chat/ask-box.js";
15
+ import { Composer } from "./chat/composer.js";
16
+ import { Spinner } from "./primitives/spinner.js";
17
+ import { DelegationCard } from "./chat/delegation-card.js";
18
+ import { Message } from "./chat/message.js";
19
+ import { MessageList } from "./chat/message-list.js";
20
+ import { TAB_FADE_PX, computeScrollEdges, edgeFadeMask } from "./chrome/_tabs-scroll.js";
21
+ import { TREE_GUIDE_GLYPHS, flattenTree } from "./chrome/_tree.js";
22
+ import { Link, linkVariants } from "./layout/link.js";
23
+ import { Separator } from "./primitives/separator.js";
24
+ import { AppBar } from "./chrome/app-bar.js";
25
+ import { Sidebar, useSidebar } from "./layout/sidebar.js";
26
+ import { Density } from "./system/density.js";
27
+ import { isSafeTokenValue } from "./system/overrides.js";
28
+ import { DEFAULT_STORAGE_KEY, prepaintScript } from "./system/prepaint.js";
29
+ import { useDensities, useFonts, useThemes } from "./system/theme-registry.js";
30
+ import { ThemeProvider } from "./system/theme-provider.js";
31
+ import { CuePortalFrame, useCuePortalProps } from "./system/portal.js";
32
+ import { OVERLAY_SIDE_OFFSET, menuItemClasses, menuLabelClasses, menuPopupClasses, menuSeparatorClasses, overlayDescriptionClasses, overlayFooterClasses, overlayModalTransitionClasses, overlayPopupTransitionClasses, overlayPositionerClasses, overlaySurfaceClasses, overlayTextClasses, overlayTitleClasses, scrimClasses } from "./overlays/_surface.js";
33
+ import { Drawer } from "./overlays/drawer.js";
34
+ import { IconButton } from "./primitives/icon-button.js";
35
+ import { AppShell } from "./chrome/app-shell.js";
36
+ import { Container } from "./layout/container.js";
37
+ import { Band } from "./chrome/band.js";
38
+ import { EmptyState } from "./chrome/empty-state.js";
39
+ import { Eyebrow } from "./chrome/eyebrow.js";
40
+ import { Footer } from "./chrome/footer.js";
41
+ import { SectionHeader } from "./chrome/section-header.js";
42
+ import { Inspector } from "./chrome/inspector.js";
43
+ import { NavigationMenu } from "./chrome/navigation-menu.js";
44
+ import { PageShell } from "./chrome/page-shell.js";
45
+ import { Panel, PanelHeader } from "./chrome/panel.js";
46
+ import { Row, SeamList, rowVariants } from "./chrome/row.js";
47
+ import { ScrollArea } from "./chrome/scroll-area.js";
48
+ import { SegmentedControl } from "./chrome/segmented-control.js";
49
+ import { StatusBar } from "./chrome/status-bar.js";
50
+ import { ScrollableTabsList, Tabs } from "./chrome/tabs.js";
51
+ import { TitleBar } from "./chrome/title-bar.js";
52
+ import { Tree, TreeVisibilityToggle } from "./chrome/tree.js";
53
+ import { Toolbar } from "./chrome/toolbar.js";
54
+ import { Autocomplete } from "./forms/autocomplete.js";
55
+ import { ButtonGroup } from "./forms/button-group.js";
56
+ import { Combobox } from "./forms/combobox.js";
57
+ import { PasswordInput } from "./forms/password-input.js";
58
+ import { EnvVarInput, envReference, parseEnvReference } from "./forms/env-var-input.js";
59
+ import { Field, FieldDescription, FieldError, FieldLabel } from "./forms/field.js";
60
+ import { FileUpload, partitionFiles } from "./forms/file-upload.js";
61
+ import { MultiSelect } from "./forms/multi-select.js";
62
+ import { OTPField } from "./forms/otp-field.js";
63
+ import { Rating } from "./forms/rating.js";
64
+ import { ScrubInput } from "./forms/scrub-input.js";
65
+ import { SearchInput } from "./forms/search-input.js";
66
+ import { Select } from "./forms/select.js";
67
+ import { Slider } from "./forms/slider.js";
68
+ import { Switch } from "./forms/switch.js";
69
+ import { TagsInput } from "./forms/tags-input.js";
70
+ import { Textarea } from "./forms/textarea.js";
71
+ import { ToggleGroup } from "./forms/toggle-group.js";
72
+ import { Toggle } from "./forms/toggle.js";
73
+ import { AudienceIcon, CatalogueIcon, ChannelBetaIcon, ChannelReleasedIcon, CliToolIcon, FolderIcon, McpServerIcon, SkillIcon, StackIcon, StacksMatrixIcon } from "./icons/containers.js";
74
+ import { activateRowFromClick, activateRowFromKeyDown } from "./instruments/_data-row.js";
75
+ import { AppWindowFrame } from "./instruments/app-window-frame.js";
76
+ import { CopyButton } from "./instruments/copy-button.js";
77
+ import { CodeBlock } from "./instruments/code-block.js";
78
+ import { DataRow } from "./instruments/data-row.js";
79
+ import { DataTree } from "./instruments/data-tree.js";
80
+ import { GroupBar } from "./instruments/group-bar.js";
81
+ import { Ledger } from "./instruments/ledger.js";
82
+ import { Meter } from "./instruments/meter.js";
83
+ import { Progress } from "./instruments/progress.js";
84
+ import { SeamCell, SeamGrid } from "./instruments/seam-grid.js";
85
+ import { Sparkline } from "./instruments/sparkline.js";
86
+ import { Stat } from "./instruments/stat.js";
87
+ import { Table, TableScrollRegion } from "./instruments/table.js";
88
+ import { TerminalFrame } from "./instruments/terminal-frame.js";
89
+ import { TwoStepButton } from "./instruments/two-step-button.js";
90
+ import { UsageChart } from "./instruments/usage-chart.js";
91
+ import { Accordion } from "./layout/accordion.js";
92
+ import { Stack } from "./layout/stack.js";
93
+ import { Bento } from "./layout/bento.js";
94
+ import { Breadcrumb } from "./layout/breadcrumb.js";
95
+ import { Card } from "./layout/card.js";
96
+ import { Collapsible, Disclosure } from "./layout/collapsible.js";
97
+ import { DescriptionList } from "./layout/description-list.js";
98
+ import { Frames } from "./layout/frames.js";
99
+ import { Grid } from "./layout/grid.js";
100
+ import { Item, itemVariants } from "./layout/item.js";
101
+ import { Pagination, paginationRange } from "./layout/pagination.js";
102
+ import { Preview } from "./layout/preview.js";
103
+ import { Stepper } from "./layout/stepper.js";
104
+ import { StatusDot } from "./primitives/status-dot.js";
105
+ import { Timeline } from "./layout/timeline.js";
106
+ import { AlertDialog } from "./overlays/alert-dialog.js";
107
+ import { CommandPalette } from "./overlays/command-palette.js";
108
+ import { DropdownMenu } from "./overlays/dropdown-menu.js";
109
+ import { ContextMenu } from "./overlays/context-menu.js";
110
+ import { Dialog } from "./overlays/dialog.js";
111
+ import { HoverCard } from "./overlays/hover-card.js";
112
+ import { Tooltip } from "./overlays/tooltip.js";
113
+ import { InfoTip } from "./overlays/info-tip.js";
114
+ import { Menubar } from "./overlays/menubar.js";
115
+ import { Popover } from "./overlays/popover.js";
116
+ import { Sheet } from "./overlays/sheet.js";
117
+ import { Toast, useToast } from "./overlays/toast.js";
118
+ import { Avatar, AvatarGroup } from "./primitives/avatar.js";
119
+ import { Kbd } from "./primitives/kbd.js";
120
+ import { Skeleton } from "./primitives/skeleton.js";
121
+ import { useControlHeight, useDensity } from "./system/use-density.js";
122
+ import { useTheme } from "./system/use-theme.js";
123
+ import { DEFAULT_STYLE_SET, STYLE_SETS } from "./system/index.js";
124
+ export { AGENT_COLOR_PROPERTY, AGENT_HUES, AGENT_ROOT_COLOR, Accordion, AgentPile, AlertDialog, AppBar, AppShell, AppWindowFrame, AskBox, AudienceIcon, Autocomplete, Avatar, AvatarGroup, Band, Bento, Breadcrumb, Button, ButtonGroup, Card, CatalogueIcon, ChannelBetaIcon, ChannelReleasedIcon, Checkbox, CheckboxGroup, Chip, CliToolIcon, CodeBlock, Collapsible, Combobox, CommandPalette, Composer, Container, ContextMenu, CopyButton, CueLogotype, CueMark, CuePortalFrame, DEFAULT_STORAGE_KEY, DEFAULT_STYLE_SET, DataRow, DataTree, DelegationCard, Density, DescriptionList, Dialog, Disclosure, Drawer, DropdownMenu, EmptyState, EnvVarInput, Eyebrow, Field, FieldDescription, FieldError, FieldLabel, FileUpload, FolderIcon, Footer, Frames, Grid, GroupBar, HoverCard, IconButton, InfoTip, Input, InputGroup, Inspector, Item, Kbd, Ledger, Link, McpServerIcon, Menubar, Message, MessageList, Meter, MultiSelect, NavigationMenu, NumberField, OTPField, OVERLAY_SIDE_OFFSET, PageShell, Pagination, Panel, PanelHeader, PasswordInput, Plussie, Popover, Preview, Progress, Radio, RadioGroup, Rating, Row, STYLE_SETS, ScrollArea, ScrollableTabsList, ScrubInput, SeamCell, SeamGrid, SeamList, SearchInput, SectionHeader, SegmentedControl, Select, Separator, Sheet, Sidebar, Skeleton, SkillIcon, Slider, Sparkline, Spinner, Stack, StackIcon, StacksMatrixIcon, Stat, StatusBar, StatusDot, Stepper, Switch, TAB_FADE_PX, TREE_GUIDE_GLYPHS, Table, TableScrollRegion, Tabs, TagsInput, TerminalFrame, Textarea, ThemeProvider, Timeline, TitleBar, Toast, Toggle, ToggleGroup, Toolbar, Tooltip, Tree, TreeVisibilityToggle, TwoStepButton, UsageChart, activateRowFromClick, activateRowFromKeyDown, agentColor, agentColorStyle, bareControlClasses, buttonVariants, chipVariants, computeScrollEdges, controlClasses, controlGroupFocusClasses, controlSurface, controlVariants, edgeFadeMask, envReference, flattenTree, isSafeTokenValue, itemVariants, linkVariants, menuItemClasses, menuLabelClasses, menuPopupClasses, menuSeparatorClasses, overlayDescriptionClasses, overlayFooterClasses, overlayModalTransitionClasses, overlayPopupTransitionClasses, overlayPositionerClasses, overlaySurfaceClasses, overlayTextClasses, overlayTitleClasses, paginationRange, parseEnvReference, partitionFiles, prepaintScript, rowVariants, scrimClasses, useControlHeight, useCuePortalProps, useDensities, useDensity, useFonts, useSidebar, useTheme, useThemes, useToast };
@@ -0,0 +1,116 @@
1
+ import Anser from "anser";
2
+ //#region src/instruments/_ansi.ts
3
+ /**
4
+ * The eight ANSI hues on the system's tokens.
5
+ *
6
+ * `blue` and `cyan` share `info`, and `magenta` borrows `accent`: the palette
7
+ * has one cool status colour and no sixth hue, and inventing two more would put
8
+ * colours on screen that no theme controls. Bright variants resolve to the same
9
+ * token — brightness in a terminal is an intensity, and intensity here is the
10
+ * `bold` flag.
11
+ */
12
+ const NAMED_COLORS = {
13
+ black: "var(--cue-fg-subtle)",
14
+ red: "var(--cue-danger)",
15
+ green: "var(--cue-ok)",
16
+ yellow: "var(--cue-warn)",
17
+ blue: "var(--cue-info)",
18
+ magenta: "var(--cue-accent)",
19
+ cyan: "var(--cue-info)",
20
+ white: "var(--cue-fg)",
21
+ "bright-black": "var(--cue-fg-muted)",
22
+ "bright-red": "var(--cue-danger)",
23
+ "bright-green": "var(--cue-ok)",
24
+ "bright-yellow": "var(--cue-warn)",
25
+ "bright-blue": "var(--cue-info)",
26
+ "bright-magenta": "var(--cue-accent)",
27
+ "bright-cyan": "var(--cue-info)",
28
+ "bright-white": "var(--cue-fg)"
29
+ };
30
+ /** The 256-colour palette's first sixteen slots, in index order. */
31
+ const PALETTE_NAMES = [
32
+ "black",
33
+ "red",
34
+ "green",
35
+ "yellow",
36
+ "blue",
37
+ "magenta",
38
+ "cyan",
39
+ "white",
40
+ "bright-black",
41
+ "bright-red",
42
+ "bright-green",
43
+ "bright-yellow",
44
+ "bright-blue",
45
+ "bright-magenta",
46
+ "bright-cyan",
47
+ "bright-white"
48
+ ];
49
+ /** The six levels each channel of the 6×6×6 cube can take. */
50
+ const CUBE_LEVELS = [
51
+ 0,
52
+ 95,
53
+ 135,
54
+ 175,
55
+ 215,
56
+ 255
57
+ ];
58
+ /** Resolve one of anser's class names into a CSS colour. */
59
+ function resolveColor(name, truecolor) {
60
+ if (name === null) return void 0;
61
+ if (name === "ansi-truecolor") return truecolor === null ? void 0 : `rgb(${truecolor})`;
62
+ const palette = /^ansi-palette-(\d+)$/.exec(name);
63
+ if (palette !== null) {
64
+ const index = Number(palette[1]);
65
+ if (index < 16) return NAMED_COLORS[PALETTE_NAMES[index]];
66
+ if (index > 255) return void 0;
67
+ if (index >= 232) {
68
+ const level = 8 + (index - 232) * 10;
69
+ return `rgb(${level}, ${level}, ${level})`;
70
+ }
71
+ const offset = index - 16;
72
+ return `rgb(${CUBE_LEVELS[Math.floor(offset / 36)]}, ${CUBE_LEVELS[Math.floor(offset / 6) % 6]}, ${CUBE_LEVELS[offset % 6]})`;
73
+ }
74
+ return NAMED_COLORS[name.replace(/^ansi-/, "")];
75
+ }
76
+ /**
77
+ * Parse one line of terminal output into styled spans.
78
+ *
79
+ * Always returns at least one span — an empty line still needs a row of the
80
+ * right height — and never returns markup.
81
+ *
82
+ * @param text - One line, escape sequences and all.
83
+ * @returns The runs, in order.
84
+ * @example
85
+ * ansiSpans("failed").map((span) => span.color); // ["var(--cue-danger)"]
86
+ */
87
+ function ansiSpans(text) {
88
+ const spans = Anser.ansiToJson(text, {
89
+ use_classes: true,
90
+ remove_empty: true
91
+ }).map((entry) => {
92
+ const decorations = new Set(entry.decorations);
93
+ return {
94
+ text: entry.content,
95
+ color: resolveColor(entry.fg, entry.fg_truecolor),
96
+ background: resolveColor(entry.bg, entry.bg_truecolor),
97
+ bold: decorations.has("bold"),
98
+ dim: decorations.has("dim"),
99
+ italic: decorations.has("italic"),
100
+ underline: decorations.has("underline"),
101
+ strikethrough: decorations.has("strikethrough")
102
+ };
103
+ });
104
+ return spans.length > 0 ? spans : [{
105
+ text: "",
106
+ color: void 0,
107
+ background: void 0,
108
+ bold: false,
109
+ dim: false,
110
+ italic: false,
111
+ underline: false,
112
+ strikethrough: false
113
+ }];
114
+ }
115
+ //#endregion
116
+ export { ansiSpans };
@@ -0,0 +1,68 @@
1
+ import "../lib/cva.js";
2
+ import * as React from "react";
3
+ //#region src/instruments/_data-row.d.ts
4
+ /**
5
+ * Whether a click on a row means "open this row", and act on it if it does.
6
+ *
7
+ * Exported because more surfaces need this reading than ship a `DataRow.Root`:
8
+ * `Table.Row` documents activation as the caller's job, and a console that draws
9
+ * its list as a `<tr>` in one view and a `DataRow.Root` in another would
10
+ * otherwise run two implementations of one decision — which is how the table
11
+ * view quietly loses modifier-click on the row's link while the ledger view
12
+ * keeps it. `DataRow.Root` calls this exact function; so should you.
13
+ *
14
+ * Four cases a naive `onClick={open}` gets wrong, and this is the whole reason
15
+ * the row is not simply a `<button>`:
16
+ *
17
+ * - **A control inside the row.** The action cluster, a menu trigger, a
18
+ * checkbox — pressing one is not the same gesture as picking the row. Anything
19
+ * under a `[data-stop]` ancestor is left entirely alone, which is why
20
+ * `DataRow.Actions` stamps that attribute on itself.
21
+ * - **A link inside the row.** A plain click on it should open the row's own
22
+ * surface (the drawer, the detail pane), so the anchor's navigation is
23
+ * suppressed — but ⌘/Ctrl/Shift/Alt-click must still open a tab, which is the
24
+ * whole value of having shipped a real `<a href>` in the first place.
25
+ * - **A secondary button.** Only the primary button activates; the middle
26
+ * button belongs to the browser.
27
+ * - **An already-handled event.** A caller's own `onClick` that called
28
+ * `preventDefault()` has said no.
29
+ *
30
+ * @param event The row's own click event.
31
+ * @param activate What "open this row" means to the surface.
32
+ * @example
33
+ * onClick={(event) => activateRowFromClick(event, () => open(row))}
34
+ * @example
35
+ * // The same decision on a table row, which owns its activation itself.
36
+ * <Table.Row
37
+ * interactive
38
+ * tabIndex={0}
39
+ * onClick={(event) => activateRowFromClick(event, () => open(device))}
40
+ * onKeyDown={(event) => activateRowFromKeyDown(event, () => open(device))}
41
+ * >
42
+ */
43
+ declare function activateRowFromClick(event: React.MouseEvent<HTMLElement>, activate: () => void): void;
44
+ /**
45
+ * Whether a key press on a row means "open this row", and act on it if it does.
46
+ *
47
+ * The other half of {@link activateRowFromClick}, and not optional: a row that
48
+ * opens on click and not on Enter is reachable by pointer only. It fires only
49
+ * when the row itself has focus, so the element it is attached to needs a
50
+ * `tabIndex` — a `<div>` and a `<tr>` are both unfocusable by default, and this
51
+ * handler on an unfocusable row is dead code.
52
+ *
53
+ * Guarded on `event.target === event.currentTarget` so a control inside the row
54
+ * keeps its own keys: without it a rename field on a row could never contain a
55
+ * space, and every action button's Enter would also open the row behind it.
56
+ *
57
+ * Space is prevented rather than merely handled, because the browser's default
58
+ * for Space on a focused non-control is to scroll the page — a row that opened
59
+ * a drawer *and* jumped the list a screenful would read as a bug.
60
+ *
61
+ * @param event The row's own keydown event.
62
+ * @param activate What "open this row" means to the surface.
63
+ * @example
64
+ * onKeyDown={(event) => activateRowFromKeyDown(event, () => open(row))}
65
+ */
66
+ declare function activateRowFromKeyDown(event: React.KeyboardEvent<HTMLElement>, activate: () => void): void;
67
+ //#endregion
68
+ export { activateRowFromClick, activateRowFromKeyDown };
@@ -0,0 +1,139 @@
1
+ import { cva } from "../lib/cva.js";
2
+ //#region src/instruments/_data-row.ts
3
+ /**
4
+ * The row recipe, in the three shapes the surfaces need.
5
+ *
6
+ * `layout` — `grid` is the row proper, whose children are its columns; `flex`
7
+ * is the tree row, which puts a disclosure chevron outside the grid so the
8
+ * chevron is not a column the caller has to count (see the column-count rule in
9
+ * {@link DATA_ROW_COLUMNS}).
10
+ *
11
+ * `indent` — the tree's depth step, folded into the row's own left padding
12
+ * rather than applied to an inner wrapper, because the guides
13
+ * ({@link DataTreeProps.guides}) are painted on the row's background box and
14
+ * have to start where the padding does.
15
+ *
16
+ * `interactive` — the row responds to a pointer and to the keyboard. The focus
17
+ * ring is *inset* (`-outline-offset-2`), the same ruling as `Row`: these rows
18
+ * live in clipped panes, where an outset ring on the first or last row is cut
19
+ * off by the pane's own rim. `outline-solid` rides along with every
20
+ * `outline-<n>` in this file because Tailwind v4 leaves `--tw-outline-style`
21
+ * unset otherwise and the ring never paints — `test/focus-ring.test.ts` is what
22
+ * keeps the pair together.
23
+ *
24
+ * The selected tint is in the base rather than in `interactive`: a static row in
25
+ * a selected group still reads as selected, and the attribute is the contract
26
+ * either way. It is declared after the hover wash on purpose — Tailwind emits
27
+ * `data-*` variants after `hover:`, so a selected row keeps its accent tint
28
+ * while the pointer is over it instead of flickering back to the hover grey.
29
+ *
30
+ * @example
31
+ * cn(dataRowVariants({ interactive: true }), className)
32
+ */
33
+ const dataRowVariants = cva([
34
+ "group/data-row w-full items-center gap-(--cue-space-3) py-(--cue-pad-row-y)",
35
+ "font-mono text-(length:--cue-text-ui) text-fg",
36
+ "border-t border-t-(--cue-hair) first:border-t-0",
37
+ "data-[selected]:bg-accent-soft data-[disabled]:pointer-events-none data-[disabled]:opacity-40"
38
+ ].join(" "), {
39
+ variants: {
40
+ layout: {
41
+ grid: "grid [grid-template-columns:var(--cue-data-row-cols,1fr_auto)]",
42
+ flex: "flex"
43
+ },
44
+ indent: {
45
+ true: "pr-(--cue-pad-row-x) pl-[calc(var(--cue-pad-row-x)_+_var(--depth)_*_var(--cue-data-tree-indent,1.25rem))]",
46
+ false: "px-(--cue-pad-row-x)"
47
+ },
48
+ interactive: {
49
+ true: "cursor-pointer outline-none hover:bg-(--cue-row-hover) focus-visible:outline-2 focus-visible:outline-solid focus-visible:-outline-offset-2 focus-visible:outline-accent",
50
+ false: ""
51
+ }
52
+ },
53
+ defaultVariants: {
54
+ layout: "grid",
55
+ indent: false,
56
+ interactive: false
57
+ }
58
+ });
59
+ /**
60
+ * Whether a click on a row means "open this row", and act on it if it does.
61
+ *
62
+ * Exported because more surfaces need this reading than ship a `DataRow.Root`:
63
+ * `Table.Row` documents activation as the caller's job, and a console that draws
64
+ * its list as a `<tr>` in one view and a `DataRow.Root` in another would
65
+ * otherwise run two implementations of one decision — which is how the table
66
+ * view quietly loses modifier-click on the row's link while the ledger view
67
+ * keeps it. `DataRow.Root` calls this exact function; so should you.
68
+ *
69
+ * Four cases a naive `onClick={open}` gets wrong, and this is the whole reason
70
+ * the row is not simply a `<button>`:
71
+ *
72
+ * - **A control inside the row.** The action cluster, a menu trigger, a
73
+ * checkbox — pressing one is not the same gesture as picking the row. Anything
74
+ * under a `[data-stop]` ancestor is left entirely alone, which is why
75
+ * `DataRow.Actions` stamps that attribute on itself.
76
+ * - **A link inside the row.** A plain click on it should open the row's own
77
+ * surface (the drawer, the detail pane), so the anchor's navigation is
78
+ * suppressed — but ⌘/Ctrl/Shift/Alt-click must still open a tab, which is the
79
+ * whole value of having shipped a real `<a href>` in the first place.
80
+ * - **A secondary button.** Only the primary button activates; the middle
81
+ * button belongs to the browser.
82
+ * - **An already-handled event.** A caller's own `onClick` that called
83
+ * `preventDefault()` has said no.
84
+ *
85
+ * @param event The row's own click event.
86
+ * @param activate What "open this row" means to the surface.
87
+ * @example
88
+ * onClick={(event) => activateRowFromClick(event, () => open(row))}
89
+ * @example
90
+ * // The same decision on a table row, which owns its activation itself.
91
+ * <Table.Row
92
+ * interactive
93
+ * tabIndex={0}
94
+ * onClick={(event) => activateRowFromClick(event, () => open(device))}
95
+ * onKeyDown={(event) => activateRowFromKeyDown(event, () => open(device))}
96
+ * >
97
+ */
98
+ function activateRowFromClick(event, activate) {
99
+ if (event.defaultPrevented || event.button !== 0) return;
100
+ const target = event.target;
101
+ if (target === null) return;
102
+ if (target.closest("[data-stop]") !== null) return;
103
+ if (target.closest("a[href]") !== null) {
104
+ if (event.metaKey || event.ctrlKey || event.shiftKey || event.altKey) return;
105
+ event.preventDefault();
106
+ }
107
+ activate();
108
+ }
109
+ /**
110
+ * Whether a key press on a row means "open this row", and act on it if it does.
111
+ *
112
+ * The other half of {@link activateRowFromClick}, and not optional: a row that
113
+ * opens on click and not on Enter is reachable by pointer only. It fires only
114
+ * when the row itself has focus, so the element it is attached to needs a
115
+ * `tabIndex` — a `<div>` and a `<tr>` are both unfocusable by default, and this
116
+ * handler on an unfocusable row is dead code.
117
+ *
118
+ * Guarded on `event.target === event.currentTarget` so a control inside the row
119
+ * keeps its own keys: without it a rename field on a row could never contain a
120
+ * space, and every action button's Enter would also open the row behind it.
121
+ *
122
+ * Space is prevented rather than merely handled, because the browser's default
123
+ * for Space on a focused non-control is to scroll the page — a row that opened
124
+ * a drawer *and* jumped the list a screenful would read as a bug.
125
+ *
126
+ * @param event The row's own keydown event.
127
+ * @param activate What "open this row" means to the surface.
128
+ * @example
129
+ * onKeyDown={(event) => activateRowFromKeyDown(event, () => open(row))}
130
+ */
131
+ function activateRowFromKeyDown(event, activate) {
132
+ if (event.defaultPrevented) return;
133
+ if (event.target !== event.currentTarget) return;
134
+ if (event.key !== "Enter" && event.key !== " ") return;
135
+ event.preventDefault();
136
+ activate();
137
+ }
138
+ //#endregion
139
+ export { activateRowFromClick, activateRowFromKeyDown, dataRowVariants };
@@ -0,0 +1,90 @@
1
+ import "react";
2
+ import { jsx, jsxs } from "react/jsx-runtime";
3
+ //#region src/instruments/_glyphs.tsx
4
+ /**
5
+ * Shared instrument glyphs.
6
+ *
7
+ * Drawn inline for the same reason as `overlays/_glyphs.tsx`: a copy
8
+ * affordance should not put an icon dependency on the render path, and
9
+ * hand-set strokes stay hairline-thin at the 10–12px sizes console density
10
+ * asks for. `currentColor` everywhere — the tone comes from the button.
11
+ *
12
+ * @internal Not part of the public API.
13
+ */
14
+ /** Two offset sheets: the universal "copy to clipboard" mark. */
15
+ function CopyGlyph(props) {
16
+ return /* @__PURE__ */ jsxs("svg", {
17
+ viewBox: "0 0 16 16",
18
+ fill: "none",
19
+ stroke: "currentColor",
20
+ strokeWidth: "1.5",
21
+ strokeLinejoin: "round",
22
+ "aria-hidden": "true",
23
+ ...props,
24
+ children: [/* @__PURE__ */ jsx("rect", {
25
+ x: "5.5",
26
+ y: "5.5",
27
+ width: "8",
28
+ height: "8",
29
+ rx: "1.5"
30
+ }), /* @__PURE__ */ jsx("path", { d: "M10.5 3.5a1.5 1.5 0 0 0-1.5-1.5H4a1.5 1.5 0 0 0-1.5 1.5V9A1.5 1.5 0 0 0 4 10.5" })]
31
+ });
32
+ }
33
+ /** The tick that confirms the copy landed. */
34
+ function CheckGlyph(props) {
35
+ return /* @__PURE__ */ jsx("svg", {
36
+ viewBox: "0 0 16 16",
37
+ fill: "none",
38
+ stroke: "currentColor",
39
+ strokeWidth: "2",
40
+ strokeLinecap: "round",
41
+ strokeLinejoin: "round",
42
+ "aria-hidden": "true",
43
+ ...props,
44
+ children: /* @__PURE__ */ jsx("path", { d: "m3 8.5 3.5 3.5L13 4.5" })
45
+ });
46
+ }
47
+ /** Shared stroke settings for the four pager chevrons. */
48
+ const CHEVRON = {
49
+ viewBox: "0 0 16 16",
50
+ fill: "none",
51
+ stroke: "currentColor",
52
+ strokeWidth: "2",
53
+ strokeLinecap: "round",
54
+ strokeLinejoin: "round",
55
+ "aria-hidden": "true"
56
+ };
57
+ /** Previous page. */
58
+ function ChevronLeftGlyph(props) {
59
+ return /* @__PURE__ */ jsx("svg", {
60
+ ...CHEVRON,
61
+ ...props,
62
+ children: /* @__PURE__ */ jsx("path", { d: "m10 3-5 5 5 5" })
63
+ });
64
+ }
65
+ /** Next page. */
66
+ function ChevronRightGlyph(props) {
67
+ return /* @__PURE__ */ jsx("svg", {
68
+ ...CHEVRON,
69
+ ...props,
70
+ children: /* @__PURE__ */ jsx("path", { d: "m6 3 5 5-5 5" })
71
+ });
72
+ }
73
+ /** First page. */
74
+ function ChevronsLeftGlyph(props) {
75
+ return /* @__PURE__ */ jsxs("svg", {
76
+ ...CHEVRON,
77
+ ...props,
78
+ children: [/* @__PURE__ */ jsx("path", { d: "m8 3-5 5 5 5" }), /* @__PURE__ */ jsx("path", { d: "m13 3-5 5 5 5" })]
79
+ });
80
+ }
81
+ /** Last page. */
82
+ function ChevronsRightGlyph(props) {
83
+ return /* @__PURE__ */ jsxs("svg", {
84
+ ...CHEVRON,
85
+ ...props,
86
+ children: [/* @__PURE__ */ jsx("path", { d: "m3 3 5 5-5 5" }), /* @__PURE__ */ jsx("path", { d: "m8 3 5 5-5 5" })]
87
+ });
88
+ }
89
+ //#endregion
90
+ export { CheckGlyph, ChevronLeftGlyph, ChevronRightGlyph, ChevronsLeftGlyph, ChevronsRightGlyph, CopyGlyph };
@@ -0,0 +1,103 @@
1
+ "use client";
2
+ import { cn } from "../lib/cn.js";
3
+ import { ChevronRightGlyph } from "../chrome/_glyphs.js";
4
+ import { headingTag } from "./_ledger.js";
5
+ import * as React from "react";
6
+ import { Fragment, jsx, jsxs } from "react/jsx-runtime";
7
+ //#region src/instruments/_ledger-disclosure.tsx
8
+ /**
9
+ * A heading that folds the rows beneath it: the accordion pattern, once, for
10
+ * both of the ledger's headings.
11
+ *
12
+ * ## Why the button is inside the heading rather than instead of it
13
+ *
14
+ * This is the disclosure shape the APG calls an accordion, and the one
15
+ * `Table.GroupRow`'s own note already points at — *"a real
16
+ * `<button aria-expanded aria-controls>` inside this cell, never the row
17
+ * itself"*. The heading element survives, so the page's `h2`/`h3` outline is
18
+ * unchanged whether a tier folds or not, and a screen-reader user who navigates
19
+ * a two-hundred-row ledger by heading — which is what the outline is *for* —
20
+ * finds the same places in the same order either way. Making the heading the
21
+ * button, or replacing it with one, would trade that outline for a control, and
22
+ * the outline is the more valuable of the two.
23
+ *
24
+ * The glyph is `aria-hidden`, so the button's accessible name is the heading's
25
+ * own words. A reader hears "Ours, 13, collapsed button", not "button".
26
+ *
27
+ * ## Why the folded rows are hidden rather than unmounted
28
+ *
29
+ * A folded run of rows stays mounted inside a panel that carries `hidden`. The
30
+ * obvious alternative — dropping the children while the run is shut, so that
31
+ * folding something away costs nothing to have folded — is wrong here, and the
32
+ * reason is that **the rows are not always inert**. A `Ledger.Group` inside a
33
+ * tier is itself a disclosure holding its own uncontrolled state: unmount it
34
+ * and that state goes with it, so a reader who folds three groups, folds the
35
+ * tier over them and opens it again finds all three sprung back open. A control
36
+ * that says nothing about touching them had quietly undone their work. React
37
+ * state below a fold is the caller's too, and this component is not entitled to
38
+ * throw it away.
39
+ *
40
+ * Nothing is given up in exchange. A `hidden` subtree is out of the
41
+ * accessibility tree exactly as an absent one is — no heading in it reaches the
42
+ * outline, no row in it answers `getByRole`, and a screen reader walks past all
43
+ * of it — so the two forms are indistinguishable to the reader this component
44
+ * is built for. What differs is only that the caller's state survives.
45
+ *
46
+ * The panel element itself would have to stay in any case: `aria-controls` must
47
+ * name an element that exists, and pointed at a node that leaves with its
48
+ * contents it becomes a dangling reference and an `aria-valid-attr-value`
49
+ * failure — the very trap `DataRowDisclosure.controls` documents.
50
+ *
51
+ * ## Why the folded panel wears no classes at all
52
+ *
53
+ * `hidden` is a UA rule, `[hidden] { display: none }`, and **any author
54
+ * `display` beats it**: a panel that keeps `flex` while it is `hidden` is a
55
+ * panel that is not hidden. Rather than fight that with a `display` utility
56
+ * whose win depends on Tailwind's emission order, the folded panel is given no
57
+ * class list at all, and the layout classes come back when it opens.
58
+ *
59
+ * Keeping the rows mounted is what makes this load-bearing rather than tidy.
60
+ * When the panel was emptied on folding there was nothing inside to leak; now
61
+ * the panel's own `display: none` is the only thing standing between a folded
62
+ * run of rows and a visible one. It is enough — a `display: none` element
63
+ * generates no boxes for any of its descendants, whatever `display` each of
64
+ * them asks for — but it has to actually apply, and jsdom cannot see whether it
65
+ * does, which is why `tests/browser/data-surfaces.spec.ts` reads the computed
66
+ * `display` on both real engines.
67
+ */
68
+ function LedgerDisclosure({ headingLevel, headingSlot, headingClassName, toggleSlot, toggleClassName, panelSlot, panelClassName, label, expanded: expandedProp, defaultExpanded = true, onExpandedChange, children }) {
69
+ const [selfExpanded, setSelfExpanded] = React.useState(defaultExpanded);
70
+ const expanded = expandedProp ?? selfExpanded;
71
+ const panelId = React.useId();
72
+ const Heading = headingTag(headingLevel);
73
+ const toggle = () => {
74
+ const next = !expanded;
75
+ if (expandedProp === void 0) setSelfExpanded(next);
76
+ onExpandedChange?.(next);
77
+ };
78
+ return /* @__PURE__ */ jsxs(Fragment, { children: [/* @__PURE__ */ jsx(Heading, {
79
+ "data-slot": headingSlot,
80
+ className: headingClassName,
81
+ children: /* @__PURE__ */ jsxs("button", {
82
+ type: "button",
83
+ "data-slot": toggleSlot,
84
+ "aria-expanded": expanded,
85
+ "aria-controls": panelId,
86
+ onClick: toggle,
87
+ className: toggleClassName,
88
+ children: [/* @__PURE__ */ jsx(ChevronRightGlyph, {
89
+ "aria-hidden": "true",
90
+ "data-slot": `${toggleSlot}-glyph`,
91
+ className: cn("size-icon-sm shrink-0 self-center transition-transform duration-150 motion-reduce:transition-none", expanded ? "rotate-90" : null)
92
+ }), label]
93
+ })
94
+ }), /* @__PURE__ */ jsx("div", {
95
+ id: panelId,
96
+ "data-slot": panelSlot,
97
+ hidden: !expanded,
98
+ className: expanded ? panelClassName : void 0,
99
+ children
100
+ })] });
101
+ }
102
+ //#endregion
103
+ export { LedgerDisclosure };
@@ -0,0 +1,21 @@
1
+ //#region src/instruments/_ledger.d.ts
2
+ /**
3
+ * The outline half of the ledger, in a module carrying no runtime directive.
4
+ *
5
+ * `ledger.tsx` renders on the server and has to keep doing so — a document of
6
+ * two hundred rows that ships its own JavaScript in order to be *read* is
7
+ * exactly what the static form exists to avoid — while the disclosure in
8
+ * `_ledger-disclosure.tsx` holds React state and is therefore `"use client"`.
9
+ *
10
+ * A server module may **render** a client one, but it may not **call into** it:
11
+ * every value imported from a `"use client"` file is a client reference, and
12
+ * invoking one during a server render throws rather than returning a tag name.
13
+ * So the two symbols both halves need — what a heading level is, and which
14
+ * element it names — live here, in a plain module either graph can compile,
15
+ * instead of being copied into both and drifting the day one of them learns
16
+ * about `h5`.
17
+ */
18
+ /** The heading elements a tier or a group may be given. */
19
+ type LedgerHeadingLevel = 2 | 3 | 4;
20
+ //#endregion
21
+ export { LedgerHeadingLevel };