@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,70 @@
1
+ //#region src/overlays/_surface.ts
2
+ /**
3
+ * The conventions every floating surface in this system shares.
4
+ *
5
+ * Overlays are the one place the portfolio allows a shadow: a dialog, a menu or
6
+ * a toast genuinely floats above the page, so it gets `surface-2` fill, the
7
+ * `border-overlay` rim (which some themes — venu — deliberately match to the
8
+ * surface so the rim vanishes) and one soft drop shadow. Everything flat stays
9
+ * flat and separates with hairlines instead.
10
+ *
11
+ * Encoded here once rather than repeated per component so a change to the
12
+ * overlay language is a one-line change, and so the tests can assert the same
13
+ * recipe on every overlay in the group.
14
+ */
15
+ /**
16
+ * Fill, rim, radius and shadow for any floating content surface.
17
+ *
18
+ * @example
19
+ * <Popover.Popup className={cn(overlaySurfaceClasses, className)} />
20
+ */
21
+ const overlaySurfaceClasses = "border border-border-overlay bg-surface-2 rounded-(--radius-overlay) shadow-[0_8px_24px_rgba(0,0,0,0.4)]";
22
+ /**
23
+ * The full-viewport dim behind a modal surface. `--cue-scrim` is theme-owned —
24
+ * dusk and hivehub tune their own — so the value is never hard-coded here.
25
+ */
26
+ const scrimClasses = "fixed inset-0 z-50 bg-(--cue-scrim) transition-opacity duration-150 ease-out motion-reduce:transition-none data-[starting-style]:opacity-0 data-[ending-style]:opacity-0";
27
+ /**
28
+ * What a Base UI `Positioner` needs and nothing more: it is a layout box, not a
29
+ * painted one. The stacking context lives here so the popup itself can stay
30
+ * `position: static` inside it.
31
+ */
32
+ const overlayPositionerClasses = "z-50 outline-none";
33
+ /**
34
+ * Enter/exit for an anchored popup, driven entirely by Base UI's
35
+ * `data-starting-style` / `data-ending-style` attributes and plain CSS
36
+ * transitions — no animation library, and nothing to run on the main thread
37
+ * when the user has asked for reduced motion.
38
+ */
39
+ const overlayPopupTransitionClasses = "origin-(--transform-origin) transition-[opacity,scale] duration-100 ease-out motion-reduce:transition-none data-[starting-style]:scale-[0.98] data-[starting-style]:opacity-0 data-[ending-style]:scale-[0.98] data-[ending-style]:opacity-0";
40
+ /**
41
+ * Enter/exit for a centred modal surface. Split from
42
+ * {@link overlayPopupTransitionClasses} because a dialog is centred with a
43
+ * translate, and animating `scale` alongside a static `translate` needs the
44
+ * transition property list to name both.
45
+ */
46
+ const overlayModalTransitionClasses = "transition-[opacity,scale] duration-150 ease-out motion-reduce:transition-none data-[starting-style]:scale-[0.98] data-[starting-style]:opacity-0 data-[ending-style]:scale-[0.98] data-[ending-style]:opacity-0";
47
+ /** Body copy inside an overlay: mono, one rung under the panel's own text. */
48
+ const overlayTextClasses = "font-mono text-(length:--cue-text-ui) text-fg";
49
+ /** The heading line of a dialog, an alert dialog or a popover. */
50
+ const overlayTitleClasses = "font-mono text-(length:--cue-text-emphasis) font-medium text-fg";
51
+ /** The supporting line under an overlay title. */
52
+ const overlayDescriptionClasses = "font-mono text-(length:--cue-text-ui) leading-(--cue-leading-ui) text-fg-muted";
53
+ /** The action strip at the foot of a modal surface. */
54
+ const overlayFooterClasses = "flex items-center justify-end gap-(--cue-space-3) pt-(--cue-space-2)";
55
+ /**
56
+ * One row of a menu: the short rung of the density control ladder, highlighted
57
+ * with `accent-soft` rather than a solid fill (the luma defect ruling — a solid
58
+ * accent bar on a hovered row is too loud at console density).
59
+ */
60
+ const menuItemClasses = "flex h-control-sm cursor-default items-center gap-(--cue-space-2) rounded-(--radius-control) px-(--cue-space-3) font-mono text-(length:--cue-text-ui) text-fg-muted outline-none select-none data-[highlighted]:bg-accent-soft data-[highlighted]:text-fg data-[disabled]:pointer-events-none data-[disabled]:opacity-40";
61
+ /** The uppercase mono caption over a group of menu rows. */
62
+ const menuLabelClasses = "flex h-control-sm items-center px-(--cue-space-3) font-mono text-(length:--cue-text-label) tracking-[0.15em] text-fg-subtle uppercase select-none";
63
+ /** The hairline between menu groups. */
64
+ const menuSeparatorClasses = "my-(--cue-space-1) h-px bg-border";
65
+ /** Padding of a menu popup — a single space unit so rows reach the rim. */
66
+ const menuPopupClasses = "min-w-[10rem] p-(--cue-space-1)";
67
+ /** Default gap in px between an anchored popup and its trigger. */
68
+ const OVERLAY_SIDE_OFFSET = 4;
69
+ //#endregion
70
+ export { OVERLAY_SIDE_OFFSET, menuItemClasses, menuLabelClasses, menuPopupClasses, menuSeparatorClasses, overlayDescriptionClasses, overlayFooterClasses, overlayModalTransitionClasses, overlayPopupTransitionClasses, overlayPositionerClasses, overlaySurfaceClasses, overlayTextClasses, overlayTitleClasses, scrimClasses };
@@ -0,0 +1,42 @@
1
+ "use client";
2
+ import * as React from "react";
3
+ //#region src/overlays/_wheel.ts
4
+ /**
5
+ * Close an anchored overlay when the viewport moves under it.
6
+ *
7
+ * A popup is positioned from its trigger's screen rect. A canvas that pans by
8
+ * mutating a CSS `transform` — React Flow in dmxhub, the patch grid here — fires
9
+ * no `scroll` event, so a menu opened over it silently detaches from the thing
10
+ * it belongs to. Listening for `wheel` in the **capture** phase catches the pan
11
+ * before the canvas has consumed it; `resize` catches the other way a fixed
12
+ * popup can end up pointing at nothing.
13
+ *
14
+ * Wheels that land inside the popup are ignored: that is the user scrolling a
15
+ * long menu, not the world moving.
16
+ *
17
+ * @param enabled Whether to watch at all — the `closeOnWheel` prop.
18
+ * @param close Called once per qualifying event; safe to call when already closed.
19
+ * @param popupRef The popup element, so its own scrolling does not dismiss it.
20
+ * @internal Not part of the public API; used by `Popover` and `DropdownMenu`.
21
+ */
22
+ function useCloseOnWheel(enabled, close, popupRef) {
23
+ const closeRef = React.useRef(close);
24
+ closeRef.current = close;
25
+ React.useEffect(() => {
26
+ if (!enabled || typeof window === "undefined") return;
27
+ const onWheel = (event) => {
28
+ const popup = popupRef.current;
29
+ if (popup !== null && event.target instanceof Node && popup.contains(event.target)) return;
30
+ closeRef.current();
31
+ };
32
+ const onResize = () => closeRef.current();
33
+ window.addEventListener("wheel", onWheel, true);
34
+ window.addEventListener("resize", onResize);
35
+ return () => {
36
+ window.removeEventListener("wheel", onWheel, true);
37
+ window.removeEventListener("resize", onResize);
38
+ };
39
+ }, [enabled, popupRef]);
40
+ }
41
+ //#endregion
42
+ export { useCloseOnWheel };
@@ -0,0 +1,67 @@
1
+ import { ClassProp, VariantProps } from "../lib/cva.js";
2
+ import * as React from "react";
3
+ import { AlertDialog } from "@base-ui/react/alert-dialog";
4
+ //#region src/overlays/alert-dialog.d.ts
5
+ /** Same geometry as a dialog; an alert is simply a narrower default. */
6
+ declare const alertDialogPopupVariants: (props?: ({
7
+ width?: "sm" | "md" | "lg" | null | undefined;
8
+ } & ClassProp) | undefined) => string;
9
+ interface AlertDialogRootProps extends AlertDialog.Root.Props {}
10
+ /**
11
+ * Groups the parts of an alert dialog and owns its open state. Renders no
12
+ * element.
13
+ */
14
+ declare function AlertDialogRoot(props: AlertDialogRootProps): React.JSX.Element;
15
+ interface AlertDialogTriggerProps extends AlertDialog.Trigger.Props {}
16
+ interface AlertDialogContentProps extends Omit<AlertDialog.Popup.Props, "className">, VariantProps<typeof alertDialogPopupVariants> {
17
+ /** Extra classes for the popup surface. */
18
+ className?: string;
19
+ /** Extra classes for the scrim behind it. */
20
+ backdropClassName?: string;
21
+ /** Keep the popup mounted while closed. */
22
+ keepMounted?: boolean;
23
+ }
24
+ interface AlertDialogTitleProps extends AlertDialog.Title.Props {}
25
+ interface AlertDialogDescriptionProps extends AlertDialog.Description.Props {}
26
+ interface AlertDialogFooterProps extends React.ComponentPropsWithoutRef<"div"> {}
27
+ interface AlertDialogCancelProps extends AlertDialog.Close.Props {}
28
+ interface AlertDialogActionProps extends AlertDialog.Close.Props {
29
+ /**
30
+ * Which answer this is. `"danger"` for anything destructive, `"accent"` for a
31
+ * confirmation that merely proceeds. Defaults to `"accent"`.
32
+ */
33
+ tone?: "accent" | "danger";
34
+ }
35
+ /**
36
+ * A modal that asks one question with two answers, for anything irreversible.
37
+ *
38
+ * Wraps Base UI's `AlertDialog`: the popup takes `role="alertdialog"`, focus is
39
+ * trapped and restored, and — unlike {@link Dialog} — an outside press does not
40
+ * dismiss it. Everything else (scrim, surface, portal theme stamping) is shared
41
+ * with the rest of the overlay family.
42
+ *
43
+ * @example
44
+ * <AlertDialog.Root>
45
+ * <AlertDialog.Trigger render={<Button variant="danger-outline">Delete</Button>} />
46
+ * <AlertDialog.Content>
47
+ * <AlertDialog.Title>Delete universe 3?</AlertDialog.Title>
48
+ * <AlertDialog.Description>Every patched fixture goes with it.</AlertDialog.Description>
49
+ * <AlertDialog.Footer>
50
+ * <AlertDialog.Cancel>Keep</AlertDialog.Cancel>
51
+ * <AlertDialog.Action tone="danger" onClick={remove}>Delete</AlertDialog.Action>
52
+ * </AlertDialog.Footer>
53
+ * </AlertDialog.Content>
54
+ * </AlertDialog.Root>
55
+ */
56
+ declare const AlertDialog$1: {
57
+ Root: typeof AlertDialogRoot;
58
+ Trigger: React.ForwardRefExoticComponent<Omit<AlertDialogTriggerProps, "ref"> & React.RefAttributes<HTMLButtonElement>>;
59
+ Content: React.ForwardRefExoticComponent<Omit<AlertDialogContentProps, "ref"> & React.RefAttributes<HTMLDivElement>>;
60
+ Title: React.ForwardRefExoticComponent<Omit<AlertDialogTitleProps, "ref"> & React.RefAttributes<HTMLHeadingElement>>;
61
+ Description: React.ForwardRefExoticComponent<Omit<AlertDialogDescriptionProps, "ref"> & React.RefAttributes<HTMLParagraphElement>>;
62
+ Footer: React.ForwardRefExoticComponent<AlertDialogFooterProps & React.RefAttributes<HTMLDivElement>>;
63
+ Cancel: React.ForwardRefExoticComponent<Omit<AlertDialogCancelProps, "ref"> & React.RefAttributes<HTMLButtonElement>>;
64
+ Action: React.ForwardRefExoticComponent<Omit<AlertDialogActionProps, "ref"> & React.RefAttributes<HTMLButtonElement>>;
65
+ };
66
+ //#endregion
67
+ export { AlertDialog$1 as AlertDialog, AlertDialogActionProps, AlertDialogCancelProps, AlertDialogContentProps, AlertDialogDescriptionProps, AlertDialogFooterProps, AlertDialogRootProps, AlertDialogTitleProps, AlertDialogTriggerProps };
@@ -0,0 +1,117 @@
1
+ "use client";
2
+ import { cn } from "../lib/cn.js";
3
+ import { cva } from "../lib/cva.js";
4
+ import { buttonVariants } from "../primitives/button.js";
5
+ import { useCuePortalProps } from "../system/portal.js";
6
+ import { overlayDescriptionClasses, overlayFooterClasses, overlayModalTransitionClasses, overlaySurfaceClasses, overlayTitleClasses, scrimClasses } from "./_surface.js";
7
+ import * as React from "react";
8
+ import { jsx, jsxs } from "react/jsx-runtime";
9
+ import { AlertDialog } from "@base-ui/react/alert-dialog";
10
+ //#region src/overlays/alert-dialog.tsx
11
+ /** Same geometry as a dialog; an alert is simply a narrower default. */
12
+ const alertDialogPopupVariants = cva(`${overlaySurfaceClasses} ${overlayModalTransitionClasses} fixed top-1/2 left-1/2 z-50 flex max-h-[85vh] w-[calc(100vw-2rem)] -translate-x-1/2 -translate-y-1/2 flex-col gap-(--cue-space-4) overflow-y-auto p-(--cue-space-6) outline-none`, {
13
+ variants: { width: {
14
+ sm: "max-w-[20rem]",
15
+ md: "max-w-[26rem]",
16
+ lg: "max-w-[32rem]"
17
+ } },
18
+ defaultVariants: { width: "sm" }
19
+ });
20
+ /**
21
+ * Groups the parts of an alert dialog and owns its open state. Renders no
22
+ * element.
23
+ */
24
+ function AlertDialogRoot(props) {
25
+ return /* @__PURE__ */ jsx(AlertDialog.Root, { ...props });
26
+ }
27
+ /**
28
+ * A modal that asks one question with two answers, for anything irreversible.
29
+ *
30
+ * Wraps Base UI's `AlertDialog`: the popup takes `role="alertdialog"`, focus is
31
+ * trapped and restored, and — unlike {@link Dialog} — an outside press does not
32
+ * dismiss it. Everything else (scrim, surface, portal theme stamping) is shared
33
+ * with the rest of the overlay family.
34
+ *
35
+ * @example
36
+ * <AlertDialog.Root>
37
+ * <AlertDialog.Trigger render={<Button variant="danger-outline">Delete</Button>} />
38
+ * <AlertDialog.Content>
39
+ * <AlertDialog.Title>Delete universe 3?</AlertDialog.Title>
40
+ * <AlertDialog.Description>Every patched fixture goes with it.</AlertDialog.Description>
41
+ * <AlertDialog.Footer>
42
+ * <AlertDialog.Cancel>Keep</AlertDialog.Cancel>
43
+ * <AlertDialog.Action tone="danger" onClick={remove}>Delete</AlertDialog.Action>
44
+ * </AlertDialog.Footer>
45
+ * </AlertDialog.Content>
46
+ * </AlertDialog.Root>
47
+ */
48
+ const AlertDialog$1 = {
49
+ Root: AlertDialogRoot,
50
+ Trigger: React.forwardRef(function AlertDialogTrigger({ className, ...elementProps }, ref) {
51
+ return /* @__PURE__ */ jsx(AlertDialog.Trigger, {
52
+ ref,
53
+ "data-slot": "alert-dialog-trigger",
54
+ className: cn(className),
55
+ ...elementProps
56
+ });
57
+ }),
58
+ Content: React.forwardRef(function AlertDialogContent({ className, backdropClassName, keepMounted, width, children, ...popupProps }, ref) {
59
+ const portalProps = useCuePortalProps();
60
+ return /* @__PURE__ */ jsxs(AlertDialog.Portal, {
61
+ keepMounted,
62
+ ...portalProps,
63
+ children: [/* @__PURE__ */ jsx(AlertDialog.Backdrop, {
64
+ "data-slot": "alert-dialog-backdrop",
65
+ className: cn(scrimClasses, backdropClassName)
66
+ }), /* @__PURE__ */ jsx(AlertDialog.Popup, {
67
+ ref,
68
+ "data-slot": "alert-dialog-popup",
69
+ className: cn(alertDialogPopupVariants({ width }), className),
70
+ ...popupProps,
71
+ children
72
+ })]
73
+ });
74
+ }),
75
+ Title: React.forwardRef(function AlertDialogTitle({ className, ...elementProps }, ref) {
76
+ return /* @__PURE__ */ jsx(AlertDialog.Title, {
77
+ ref,
78
+ "data-slot": "alert-dialog-title",
79
+ className: cn(overlayTitleClasses, className),
80
+ ...elementProps
81
+ });
82
+ }),
83
+ Description: React.forwardRef(function AlertDialogDescription({ className, ...elementProps }, ref) {
84
+ return /* @__PURE__ */ jsx(AlertDialog.Description, {
85
+ ref,
86
+ "data-slot": "alert-dialog-description",
87
+ className: cn(overlayDescriptionClasses, className),
88
+ ...elementProps
89
+ });
90
+ }),
91
+ Footer: React.forwardRef(function AlertDialogFooter({ className, ...elementProps }, ref) {
92
+ return /* @__PURE__ */ jsx("div", {
93
+ ref,
94
+ "data-slot": "alert-dialog-footer",
95
+ className: cn(overlayFooterClasses, className),
96
+ ...elementProps
97
+ });
98
+ }),
99
+ Cancel: React.forwardRef(function AlertDialogCancel({ className, ...elementProps }, ref) {
100
+ return /* @__PURE__ */ jsx(AlertDialog.Close, {
101
+ ref,
102
+ "data-slot": "alert-dialog-cancel",
103
+ className: cn(buttonVariants({ variant: "secondary" }), className),
104
+ ...elementProps
105
+ });
106
+ }),
107
+ Action: React.forwardRef(function AlertDialogAction({ className, tone = "accent", ...elementProps }, ref) {
108
+ return /* @__PURE__ */ jsx(AlertDialog.Close, {
109
+ ref,
110
+ "data-slot": "alert-dialog-action",
111
+ className: cn(buttonVariants({ variant: tone === "danger" ? "danger" : "primary" }), className),
112
+ ...elementProps
113
+ });
114
+ })
115
+ };
116
+ //#endregion
117
+ export { AlertDialog$1 as AlertDialog };
@@ -0,0 +1,93 @@
1
+ import * as React from "react";
2
+ //#region src/overlays/command-palette.d.ts
3
+ /** One runnable command. */
4
+ interface CommandPaletteItem {
5
+ /** Stable identity, and what `onSelect` is keyed on. */
6
+ id: string;
7
+ /** What the user reads and what the query is matched against. */
8
+ label: string;
9
+ /**
10
+ * Caption this command is filed under. Commands keep their given order inside
11
+ * a group, and groups keep the order they first appear in `items`.
12
+ */
13
+ group?: string;
14
+ /**
15
+ * Extra words that should match this command without being shown — `"dmx"`
16
+ * finding "Patch fixture", `"theme"` finding "Switch appearance".
17
+ */
18
+ keywords?: readonly string[];
19
+ /** Trailing slot: a `Kbd` shortcut, a count, a destination breadcrumb. */
20
+ hint?: React.ReactNode;
21
+ /** Optional leading icon component, drawn `aria-hidden`. */
22
+ icon?: React.ElementType;
23
+ /** Grey the row out and skip it during keyboard navigation. */
24
+ disabled?: boolean;
25
+ }
26
+ interface CommandPaletteProps {
27
+ /** Every command the palette can run, in the order they should appear. */
28
+ items: readonly CommandPaletteItem[];
29
+ /** Called with the command the user ran. The palette closes itself afterwards. */
30
+ onSelect: (item: CommandPaletteItem) => void;
31
+ /** Open state when controlled. Pass with `onOpenChange`. */
32
+ open?: boolean;
33
+ /** Initial open state when uncontrolled. Defaults to `false`. */
34
+ defaultOpen?: boolean;
35
+ /** Called whenever the palette wants to open or close. */
36
+ onOpenChange?: (open: boolean) => void;
37
+ /** Shown while the query is empty. Defaults to `"Type a command"`. */
38
+ placeholder?: string;
39
+ /** Shown in place of the list when nothing matches. Defaults to `"No commands match"`. */
40
+ emptyMessage?: React.ReactNode;
41
+ /** Accessible name for the dialog and the input. Defaults to `"Command palette"`. */
42
+ label?: string;
43
+ /** The hint strip along the foot. Pass `null` to drop it. */
44
+ footer?: React.ReactNode;
45
+ /**
46
+ * Quiet period in ms before the query is re-matched. Defaults to `200`.
47
+ *
48
+ * The field itself never waits — only the matching does — so typing stays at
49
+ * one frame per keystroke however long the command list is.
50
+ */
51
+ debounceMs?: number;
52
+ /**
53
+ * Replace the matcher. Defaults to a case-insensitive substring match over
54
+ * `label` and `keywords`. Return the surviving commands in display order.
55
+ */
56
+ filter?: (items: readonly CommandPaletteItem[], query: string) => CommandPaletteItem[];
57
+ /** Extra classes for the palette surface. */
58
+ className?: string;
59
+ /** Extra classes for the scrim behind it. */
60
+ backdropClassName?: string;
61
+ }
62
+ /**
63
+ * The ⌘K surface: type a few letters, run a command.
64
+ *
65
+ * A Base UI `Combobox` living inside a Base UI `Dialog`, which is what buys the
66
+ * two halves nobody hand-rolls correctly. The dialog gives a real focus trap,
67
+ * focus restoration and outside-press dismissal; the combobox gives
68
+ * `role="listbox"`, `aria-activedescendant` tracking the highlighted row, and
69
+ * arrow/Home/End/Enter navigation that a screen reader announces — the gap in
70
+ * every home-grown palette, snuffle's included, where the list is a `div` of
71
+ * buttons and the input never says which one Enter would run.
72
+ *
73
+ * Matching is debounced (see {@link CommandPaletteProps.debounceMs}) while the
74
+ * field is not, and the first surviving command is highlighted automatically, so
75
+ * "type three letters, press Enter" always does the obvious thing.
76
+ *
77
+ * The whole thing is portalled through the system's portal contract, so a
78
+ * palette opened from an ultra-compact island renders at that density.
79
+ *
80
+ * @example
81
+ * <CommandPalette
82
+ * open={open}
83
+ * onOpenChange={setOpen}
84
+ * items={[
85
+ * { id: "go", label: "Go", group: "Playback", hint: <Kbd>⏎</Kbd> },
86
+ * { id: "patch", label: "Patch fixture", group: "Patch", keywords: ["dmx", "address"] },
87
+ * ]}
88
+ * onSelect={(command) => run(command.id)}
89
+ * />
90
+ */
91
+ declare function CommandPalette({ items, onSelect, open: openProp, defaultOpen, onOpenChange, placeholder, emptyMessage, label, footer, debounceMs, filter, className, backdropClassName }: CommandPaletteProps): React.JSX.Element;
92
+ //#endregion
93
+ export { CommandPalette, CommandPaletteItem, CommandPaletteProps };
@@ -0,0 +1,193 @@
1
+ "use client";
2
+ import { cn } from "../lib/cn.js";
3
+ import { SearchGlyph } from "./_glyphs.js";
4
+ import { useCuePortalProps } from "../system/portal.js";
5
+ import { overlayModalTransitionClasses, overlaySurfaceClasses, scrimClasses } from "./_surface.js";
6
+ import { useDebouncedValue } from "./_debounce.js";
7
+ import * as React from "react";
8
+ import { Fragment, jsx, jsxs } from "react/jsx-runtime";
9
+ import { Combobox } from "@base-ui/react/combobox";
10
+ import { Dialog } from "@base-ui/react/dialog";
11
+ //#region src/overlays/command-palette.tsx
12
+ /** The default hint strip: what the three keys that matter do. */
13
+ const DEFAULT_FOOTER = /* @__PURE__ */ jsxs(Fragment, { children: [
14
+ /* @__PURE__ */ jsx("span", { children: "↑↓ navigate" }),
15
+ /* @__PURE__ */ jsx("span", { children: "⏎ run" }),
16
+ /* @__PURE__ */ jsx("span", { children: "esc close" })
17
+ ] });
18
+ const DEFAULT_DEBOUNCE_MS = 200;
19
+ /** Case-insensitive substring match over the label and the hidden keywords. */
20
+ function defaultFilter(items, query) {
21
+ const needle = query.trim().toLowerCase();
22
+ if (needle === "") return [...items];
23
+ return items.filter((item) => item.label.toLowerCase().includes(needle) || (item.keywords ?? []).some((keyword) => keyword.toLowerCase().includes(needle)));
24
+ }
25
+ /**
26
+ * Bucket commands by `group`, preserving first-appearance order.
27
+ *
28
+ * Ungrouped commands collect under the empty key, which renders without a
29
+ * caption — so a palette that has not been organised yet still looks deliberate
30
+ * rather than sprouting an "Other" heading nobody asked for.
31
+ */
32
+ function groupCommands(items) {
33
+ const groups = [];
34
+ const byName = /* @__PURE__ */ new Map();
35
+ for (const item of items) {
36
+ const name = item.group ?? "";
37
+ let group = byName.get(name);
38
+ if (group === void 0) {
39
+ group = {
40
+ value: name,
41
+ items: []
42
+ };
43
+ byName.set(name, group);
44
+ groups.push(group);
45
+ }
46
+ group.items.push(item);
47
+ }
48
+ return groups;
49
+ }
50
+ /** The row: same rhythm as a menu row, with a reserved gutter for the icon. */
51
+ const commandItemClasses = "flex h-control-md cursor-default items-center gap-(--cue-space-3) rounded-(--radius-control) px-(--cue-space-3) font-mono text-(length:--cue-text-ui) text-fg-muted outline-none select-none data-[highlighted]:bg-accent-soft data-[highlighted]:text-fg data-[disabled]:pointer-events-none data-[disabled]:opacity-40";
52
+ /**
53
+ * The ⌘K surface: type a few letters, run a command.
54
+ *
55
+ * A Base UI `Combobox` living inside a Base UI `Dialog`, which is what buys the
56
+ * two halves nobody hand-rolls correctly. The dialog gives a real focus trap,
57
+ * focus restoration and outside-press dismissal; the combobox gives
58
+ * `role="listbox"`, `aria-activedescendant` tracking the highlighted row, and
59
+ * arrow/Home/End/Enter navigation that a screen reader announces — the gap in
60
+ * every home-grown palette, snuffle's included, where the list is a `div` of
61
+ * buttons and the input never says which one Enter would run.
62
+ *
63
+ * Matching is debounced (see {@link CommandPaletteProps.debounceMs}) while the
64
+ * field is not, and the first surviving command is highlighted automatically, so
65
+ * "type three letters, press Enter" always does the obvious thing.
66
+ *
67
+ * The whole thing is portalled through the system's portal contract, so a
68
+ * palette opened from an ultra-compact island renders at that density.
69
+ *
70
+ * @example
71
+ * <CommandPalette
72
+ * open={open}
73
+ * onOpenChange={setOpen}
74
+ * items={[
75
+ * { id: "go", label: "Go", group: "Playback", hint: <Kbd>⏎</Kbd> },
76
+ * { id: "patch", label: "Patch fixture", group: "Patch", keywords: ["dmx", "address"] },
77
+ * ]}
78
+ * onSelect={(command) => run(command.id)}
79
+ * />
80
+ */
81
+ function CommandPalette({ items, onSelect, open: openProp, defaultOpen = false, onOpenChange, placeholder = "Type a command", emptyMessage = "No commands match", label = "Command palette", footer = DEFAULT_FOOTER, debounceMs = DEFAULT_DEBOUNCE_MS, filter = defaultFilter, className, backdropClassName }) {
82
+ const portalProps = useCuePortalProps();
83
+ const [uncontrolledOpen, setUncontrolledOpen] = React.useState(defaultOpen);
84
+ const open = openProp ?? uncontrolledOpen;
85
+ const setOpen = React.useCallback((next) => {
86
+ if (openProp === void 0) setUncontrolledOpen(next);
87
+ onOpenChange?.(next);
88
+ }, [onOpenChange, openProp]);
89
+ const [query, setQuery] = React.useState("");
90
+ const settledQuery = useDebouncedValue(query, query === "" ? 0 : debounceMs);
91
+ React.useEffect(() => {
92
+ if (!open) setQuery("");
93
+ }, [open]);
94
+ const groups = React.useMemo(() => groupCommands(items), [items]);
95
+ const filteredGroups = React.useMemo(() => groupCommands(filter(items, settledQuery)), [
96
+ filter,
97
+ items,
98
+ settledQuery
99
+ ]);
100
+ const handleValueChange = React.useCallback((next) => {
101
+ const item = next;
102
+ if (item === null || item === void 0) return;
103
+ onSelect(item);
104
+ setOpen(false);
105
+ }, [onSelect, setOpen]);
106
+ return /* @__PURE__ */ jsx(Dialog.Root, {
107
+ open,
108
+ onOpenChange: setOpen,
109
+ children: /* @__PURE__ */ jsxs(Dialog.Portal, {
110
+ ...portalProps,
111
+ children: [/* @__PURE__ */ jsx(Dialog.Backdrop, {
112
+ "data-slot": "command-palette-backdrop",
113
+ className: cn(scrimClasses, backdropClassName)
114
+ }), /* @__PURE__ */ jsxs(Dialog.Popup, {
115
+ "aria-label": label,
116
+ "data-slot": "command-palette-popup",
117
+ className: cn(overlaySurfaceClasses, overlayModalTransitionClasses, "fixed top-[14vh] left-1/2 z-50 flex max-h-[72vh] w-[min(35rem,92vw)] -translate-x-1/2 flex-col overflow-hidden outline-none", className),
118
+ children: [/* @__PURE__ */ jsxs(Combobox.Root, {
119
+ items: groups,
120
+ filteredItems: filteredGroups,
121
+ value: null,
122
+ onValueChange: handleValueChange,
123
+ inputValue: query,
124
+ onInputValueChange: setQuery,
125
+ open: true,
126
+ onOpenChange: (next) => {
127
+ if (!next) setOpen(false);
128
+ },
129
+ autoHighlight: true,
130
+ itemToStringLabel: (item) => item.label,
131
+ itemToStringValue: (item) => item.id,
132
+ children: [
133
+ /* @__PURE__ */ jsxs("div", {
134
+ "data-slot": "command-palette-field",
135
+ className: "flex h-control-lg shrink-0 items-center gap-(--cue-space-3) border-b border-border bg-sunken px-(--cue-space-4)",
136
+ children: [/* @__PURE__ */ jsx(SearchGlyph, {
137
+ "aria-hidden": "true",
138
+ className: "size-icon-md shrink-0 text-fg-subtle"
139
+ }), /* @__PURE__ */ jsx(Combobox.Input, {
140
+ "aria-label": label,
141
+ placeholder,
142
+ "data-slot": "command-palette-input",
143
+ className: "h-full w-full min-w-0 border-0 bg-transparent p-0 font-mono text-(length:--cue-text-body) text-fg outline-none placeholder:text-fg-subtle"
144
+ })]
145
+ }),
146
+ /* @__PURE__ */ jsx(Combobox.Empty, {
147
+ "data-slot": "command-palette-empty",
148
+ className: "flex h-control-lg items-center px-(--cue-space-4) font-mono text-(length:--cue-text-ui) text-fg-subtle select-none",
149
+ children: emptyMessage
150
+ }),
151
+ /* @__PURE__ */ jsx(Combobox.List, {
152
+ "data-slot": "command-palette-list",
153
+ className: "min-h-0 flex-1 overflow-y-auto overscroll-contain p-(--cue-space-1) outline-none",
154
+ children: (group) => /* @__PURE__ */ jsxs(Combobox.Group, {
155
+ items: group.items,
156
+ className: "block",
157
+ children: [group.value === "" ? null : /* @__PURE__ */ jsx(Combobox.GroupLabel, {
158
+ className: "flex h-control-sm items-center px-(--cue-space-3) font-mono text-(length:--cue-text-micro) tracking-[0.15em] text-fg-subtle uppercase select-none",
159
+ children: group.value
160
+ }), /* @__PURE__ */ jsx(Combobox.Collection, { children: (item) => /* @__PURE__ */ jsxs(Combobox.Item, {
161
+ value: item,
162
+ disabled: item.disabled,
163
+ "data-slot": "command-palette-item",
164
+ className: commandItemClasses,
165
+ children: [
166
+ item.icon === void 0 ? null : /* @__PURE__ */ jsx(item.icon, {
167
+ "aria-hidden": "true",
168
+ className: "size-icon-sm shrink-0"
169
+ }),
170
+ /* @__PURE__ */ jsx("span", {
171
+ className: "min-w-0 flex-1 truncate",
172
+ children: item.label
173
+ }),
174
+ item.hint === void 0 ? null : /* @__PURE__ */ jsx("span", {
175
+ className: "shrink-0 text-fg-subtle",
176
+ children: item.hint
177
+ })
178
+ ]
179
+ }, item.id) })]
180
+ }, group.value)
181
+ })
182
+ ]
183
+ }), footer === null ? null : /* @__PURE__ */ jsx("div", {
184
+ "data-slot": "command-palette-footer",
185
+ className: "flex shrink-0 items-center gap-(--cue-space-4) border-t border-border bg-surface-1 px-(--cue-space-4) py-(--cue-space-2) font-mono text-(length:--cue-text-micro) text-fg-subtle select-none",
186
+ children: footer
187
+ })]
188
+ })]
189
+ })
190
+ });
191
+ }
192
+ //#endregion
193
+ export { CommandPalette };
@@ -0,0 +1,64 @@
1
+ import { DropdownMenuCheckboxItemProps, DropdownMenuGroupProps, DropdownMenuItemProps, DropdownMenuLabelProps, DropdownMenuSeparatorProps } from "./dropdown-menu.js";
2
+ import * as React from "react";
3
+ import { ContextMenu } from "@base-ui/react/context-menu";
4
+ //#region src/overlays/context-menu.d.ts
5
+ interface ContextMenuRootProps extends ContextMenu.Root.Props {}
6
+ /** Groups the parts of a context menu and owns its open state. Renders no element. */
7
+ declare function ContextMenuRoot(props: ContextMenuRootProps): React.JSX.Element;
8
+ interface ContextMenuTriggerProps extends ContextMenu.Trigger.Props {}
9
+ interface ContextMenuContentProps extends Omit<ContextMenu.Popup.Props, "className"> {
10
+ /** Extra classes for the popup surface. */
11
+ className?: string;
12
+ /** Extra classes for the positioner that places the popup. */
13
+ positionerClassName?: string;
14
+ /**
15
+ * Gap in px between the pointer and the popup. Defaults to `0`.
16
+ *
17
+ * Unlike an anchored menu, this one is placed at the cursor, and a cursor is
18
+ * already its own offset — the pointer tip should land on the first row.
19
+ */
20
+ sideOffset?: ContextMenu.Positioner.Props["sideOffset"];
21
+ /** Keep the popup mounted while closed. */
22
+ keepMounted?: boolean;
23
+ }
24
+ /**
25
+ * The menu a right click raises: row actions on a cue list, fixture actions on
26
+ * the patch grid, node actions on a canvas.
27
+ *
28
+ * Wraps Base UI's `ContextMenu`, whose row parts are literally the same
29
+ * components as the dropdown's — so the rows here *are*
30
+ * {@link DropdownMenu}'s rows, re-exported rather than restyled. That is the
31
+ * point: a user should never be able to tell from a row whether they got to it
32
+ * by clicking a button or by right-clicking a thing.
33
+ *
34
+ * A context menu is always a *shortcut*. Every command on it must also be
35
+ * reachable some other way — a toolbar, a dropdown, a keyboard shortcut —
36
+ * because right-click has no keyboard or touch equivalent worth relying on.
37
+ *
38
+ * @example
39
+ * <ContextMenu.Root>
40
+ * <ContextMenu.Trigger render={<PatchCell />} />
41
+ * <ContextMenu.Content>
42
+ * <ContextMenu.Group>
43
+ * <ContextMenu.Label>Fixture</ContextMenu.Label>
44
+ * <ContextMenu.Item onClick={repatch}>Repatch</ContextMenu.Item>
45
+ * </ContextMenu.Group>
46
+ * <ContextMenu.Separator />
47
+ * <ContextMenu.CheckboxItem checked={highlight} onCheckedChange={setHighlight}>
48
+ * Highlight
49
+ * </ContextMenu.CheckboxItem>
50
+ * </ContextMenu.Content>
51
+ * </ContextMenu.Root>
52
+ */
53
+ declare const ContextMenu$1: {
54
+ Root: typeof ContextMenuRoot;
55
+ Trigger: React.ForwardRefExoticComponent<Omit<ContextMenuTriggerProps, "ref"> & React.RefAttributes<HTMLDivElement>>;
56
+ Content: React.ForwardRefExoticComponent<Omit<ContextMenuContentProps, "ref"> & React.RefAttributes<HTMLDivElement>>;
57
+ Group: React.ForwardRefExoticComponent<Omit<DropdownMenuGroupProps, "ref"> & React.RefAttributes<HTMLDivElement>>;
58
+ Label: React.ForwardRefExoticComponent<Omit<DropdownMenuLabelProps, "ref"> & React.RefAttributes<HTMLDivElement>>;
59
+ Item: React.ForwardRefExoticComponent<Omit<DropdownMenuItemProps, "ref"> & React.RefAttributes<HTMLDivElement>>;
60
+ CheckboxItem: React.ForwardRefExoticComponent<Omit<DropdownMenuCheckboxItemProps, "ref"> & React.RefAttributes<HTMLDivElement>>;
61
+ Separator: React.ForwardRefExoticComponent<Omit<DropdownMenuSeparatorProps, "ref"> & React.RefAttributes<HTMLDivElement>>;
62
+ };
63
+ //#endregion
64
+ export { ContextMenu$1 as ContextMenu, ContextMenuContentProps, ContextMenuRootProps, ContextMenuTriggerProps };