@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,37 @@
1
+ import { cn } from "../lib/cn.js";
2
+ import * as React from "react";
3
+ import { jsx } from "react/jsx-runtime";
4
+ //#region src/layout/description-list.tsx
5
+ const LAYOUTS = {
6
+ inline: "grid grid-cols-[max-content_minmax(0,1fr)] gap-x-(--cue-space-5) gap-y-(--cue-space-2)",
7
+ stacked: "flex flex-col gap-(--cue-space-3)"
8
+ };
9
+ /** The `<dl>` family: {@link DescriptionListRoot}, `Term` and `Detail`. */
10
+ const DescriptionList = {
11
+ Root: React.forwardRef(function DescriptionListRoot({ className, layout = "inline", ...elementProps }, ref) {
12
+ return /* @__PURE__ */ jsx("dl", {
13
+ ref,
14
+ "data-slot": "description-list",
15
+ className: cn(LAYOUTS[layout], className),
16
+ ...elementProps
17
+ });
18
+ }),
19
+ Term: React.forwardRef(function DescriptionListTerm({ className, ...elementProps }, ref) {
20
+ return /* @__PURE__ */ jsx("dt", {
21
+ ref,
22
+ "data-slot": "description-list-term",
23
+ className: cn("font-mono text-(length:--cue-text-label) tracking-[0.15em] text-fg-subtle uppercase", className),
24
+ ...elementProps
25
+ });
26
+ }),
27
+ Detail: React.forwardRef(function DescriptionListDetail({ className, ...elementProps }, ref) {
28
+ return /* @__PURE__ */ jsx("dd", {
29
+ ref,
30
+ "data-slot": "description-list-detail",
31
+ className: cn("m-0 font-mono text-(length:--cue-text-ui) text-fg", className),
32
+ ...elementProps
33
+ });
34
+ })
35
+ };
36
+ //#endregion
37
+ export { DescriptionList };
@@ -0,0 +1,70 @@
1
+ import { PreviewGround } from "./_ground.js";
2
+ import * as React from "react";
3
+ //#region src/layout/frames.d.ts
4
+ /** How tall the canvas stands. A design board is short and wide on purpose. */
5
+ type FramesHeight = "short" | "tall";
6
+ interface FramesRootProps extends Omit<React.ComponentPropsWithoutRef<"div">, "children"> {
7
+ /** The frames. Anything — this never inspects them. */
8
+ children: React.ReactNode;
9
+ /**
10
+ * The canvas's accessible name — "Button frames". Required: the canvas is a
11
+ * focusable scroll region, and a scroll region with no name is one a screen
12
+ * reader announces as nothing.
13
+ */
14
+ label: string;
15
+ /** `"short"` is 18.5rem, `"tall"` 27rem. A CSS length in `style` overrides both. */
16
+ height?: FramesHeight;
17
+ /** The canvas ground. Defaults to `"dots"`. */
18
+ ground?: PreviewGround;
19
+ /** The line in the bottom-right corner — "drag to pan · 8 frames". Unset, none is drawn. */
20
+ hint?: React.ReactNode;
21
+ /**
22
+ * Drag-to-pan with the pointer. Defaults to `true`. A drag that starts on a
23
+ * control is never a pan, so a frame's own controls stay usable — and "on a
24
+ * control" counts the control's own contents: the words inside a
25
+ * `role="menuitem"` row, the icon inside a `button`. A drag inside a
26
+ * role-bearing box that is not itself a control — a `role="group"` frame, a
27
+ * `role="region"` — still pans, because a frame is such a box and a board is
28
+ * mostly frames. Only the primary button drags; `false` binds no pointer
29
+ * listener at all; and the keyboard scrolls the canvas either way.
30
+ */
31
+ pan?: boolean;
32
+ }
33
+ interface FramesItemProps extends React.ComponentPropsWithoutRef<"div"> {
34
+ /** The specimen. */
35
+ children: React.ReactNode;
36
+ /** The line under it. Hidden — not removed — when the frame sets `captions={false}`. */
37
+ caption?: React.ReactNode;
38
+ /** Draws the selection outline the frame gives the item a reader is inspecting. */
39
+ selected?: boolean;
40
+ }
41
+ /**
42
+ * A design canvas: frames side by side, each holding one axis of one component.
43
+ *
44
+ * `Frames.Root` is the canvas — short, wide, scrollable sideways, focusable,
45
+ * and pannable with the pointer. `Frames.Item` is one captioned cell, and it is
46
+ * used **inside a `Preview`** rather than inside the Root. The two are apart
47
+ * because that is how they are used, and a props-only API cannot say it.
48
+ *
49
+ * **The canvas knows nothing about its children.** It does not count them, does
50
+ * not index them and does not select one; `hint` is where a caller puts what it
51
+ * knows. A canvas that knew its frames would be a manifest API, and this is a
52
+ * slot API.
53
+ *
54
+ * @example
55
+ * <Frames.Root label="Button frames" hint="drag to pan · 3 frames">
56
+ * <Preview presentation="frame" label="Tone" count={3} name={<ToneMenu />}>
57
+ * <div className="flex flex-wrap items-end gap-(--cue-space-6)">
58
+ * <Frames.Item caption="accent"><Button tone="accent">Take cue</Button></Frames.Item>
59
+ * <Frames.Item caption="ok"><Button tone="ok">Take cue</Button></Frames.Item>
60
+ * <Frames.Item caption="warn"><Button tone="warn">Take cue</Button></Frames.Item>
61
+ * </div>
62
+ * </Preview>
63
+ * </Frames.Root>
64
+ */
65
+ declare const Frames: {
66
+ Root: React.ForwardRefExoticComponent<FramesRootProps & React.RefAttributes<HTMLDivElement>>;
67
+ Item: React.ForwardRefExoticComponent<FramesItemProps & React.RefAttributes<HTMLDivElement>>;
68
+ };
69
+ //#endregion
70
+ export { Frames, FramesHeight, FramesItemProps, FramesRootProps };
@@ -0,0 +1,298 @@
1
+ "use client";
2
+ import { cn } from "../lib/cn.js";
3
+ import { GROUND_CLASSES } from "./_ground.js";
4
+ import * as React from "react";
5
+ import { jsx, jsxs } from "react/jsx-runtime";
6
+ //#region src/layout/frames.tsx
7
+ /** One arrow press where nothing on the page has declared the space ladder's top rung. */
8
+ const STEP_FALLBACK = 32;
9
+ /** What a rem is worth where no document can be asked — `use-density.ts`'s own assumption. */
10
+ const ASSUMED_ROOT_FONT_SIZE = 16;
11
+ /** The root's font size, for a rung declared in rem. */
12
+ function rootFontSize() {
13
+ if (typeof document === "undefined") return ASSUMED_ROOT_FONT_SIZE;
14
+ const size = Number.parseFloat(getComputedStyle(document.documentElement).fontSize);
15
+ return Number.isFinite(size) && size > 0 ? size : ASSUMED_ROOT_FONT_SIZE;
16
+ }
17
+ /**
18
+ * One rung of `--cue-space-8` in CSS pixels, read off the canvas itself.
19
+ *
20
+ * Off the canvas and not off the root, because the rung is a density token and
21
+ * a canvas may sit inside a `<Density>` island — a compact board steps by a
22
+ * compact rung, which is the whole point of spending a token instead of a
23
+ * number. Read at the keypress rather than cached: the density under it can
24
+ * change between two presses and nothing re-renders when it does.
25
+ *
26
+ * `null` is not a return value here. A page that declared nothing — a consumer
27
+ * who imported no stylesheet, a server's first paint, jsdom — still has to move
28
+ * when a reader presses an arrow, so there is a fallback and it is a number
29
+ * this file owns.
30
+ */
31
+ function rungOf(canvas) {
32
+ if (typeof window === "undefined") return STEP_FALLBACK;
33
+ const declared = window.getComputedStyle(canvas).getPropertyValue("--cue-space-8").trim();
34
+ const length = Number.parseFloat(declared);
35
+ if (!Number.isFinite(length) || length <= 0) return STEP_FALLBACK;
36
+ return declared.endsWith("rem") ? length * rootFontSize() : length;
37
+ }
38
+ /**
39
+ * Where a drag may not start: the elements whose whole job is to be pressed.
40
+ *
41
+ * Matched with `closest` and not on the target alone, because a control in this
42
+ * house is usually a box drawn round something else — an icon, a span, a label.
43
+ * A drag that starts on the icon started on the button, and a pan that began
44
+ * there would take the pointer capture with it and the press would never land.
45
+ *
46
+ * **The `[role=…]` half is the same sentence about controls this library draws
47
+ * out of a `div`.** A `DropdownMenu.Item` is a `<div role="menuitem">` whose
48
+ * label is a `<span>` inside it; an `option`, a `tab`, a `treeitem` are all that
49
+ * shape. Without them here a reader who clicked a menu row *on its words* had
50
+ * the canvas take the pointer capture and the `click` retargeted away — the row
51
+ * worked from the keyboard and worked on its padding, and did nothing where the
52
+ * text was. That was reported against the frame name menu and is a defect of
53
+ * this predicate rather than of that menu.
54
+ *
55
+ * The list is ARIA's **standalone widget roles** — the ones that *are* a control
56
+ * rather than a box holding controls, so a composite (`menu`, `listbox`,
57
+ * `tablist`, `tree`, `radiogroup`, `toolbar`, `grid`) is deliberately absent:
58
+ * those are chrome, and a drag on a menu's own padding is a pan. Three
59
+ * standalone ones are absent too, each for its own reason — `progressbar` is
60
+ * read and never operated, `tabpanel` is the content a `tab` switches to rather
61
+ * than the thing pressed, and `gridcell` is a box holding content, so a drag
62
+ * across a table inside a frame stays a pan.
63
+ *
64
+ * An allowlist and not a denylist of container roles, because the two fail in
65
+ * opposite directions: a role missing from this list leaves the old behaviour
66
+ * (the element itself is still matched by {@link ROLE_BEARING}), while a
67
+ * container role missing from a denylist would silently stop the board panning.
68
+ */
69
+ const CONTROLS = "button, a, input, select, textarea, [role=button], [role=checkbox], [role=link], [role=menuitem], [role=menuitemcheckbox], [role=menuitemradio], [role=option], [role=radio], [role=scrollbar], [role=searchbox], [role=separator], [role=slider], [role=spinbutton], [role=switch], [role=tab], [role=textbox], [role=treeitem]";
70
+ /**
71
+ * And the element directly under the pointer, if it bears a role of its own.
72
+ *
73
+ * On the target alone — `matches` and never `closest` — and that is the whole
74
+ * difference between a canvas that pans and one that only offers to. A
75
+ * `Preview` in its frame presentation is a `role="group"` and this canvas is a
76
+ * `role="region"`, so nearly every point on a board has a role-bearing
77
+ * ancestor. A board is mostly frames, and "drag to pan" that worked only in the
78
+ * gaps between them would be a hint that lies. So a role-bearing *ancestor* is
79
+ * a frame's chrome and a drag there is a pan; only a role-bearing element under
80
+ * the pointer itself is something to press rather than something to grab.
81
+ *
82
+ * That is still true, and it is not the whole rule: the ancestors that are
83
+ * *controls* rather than chrome are named in {@link CONTROLS} and matched with
84
+ * `closest` there. This line stays `matches` for everything else, which is what
85
+ * keeps a `role="group"` frame a thing to grab.
86
+ */
87
+ const ROLE_BEARING = "[role]";
88
+ /** Whether a pointer that went down here is pressing something rather than grabbing the board. */
89
+ function isControl(target, canvas) {
90
+ if (target === canvas) return false;
91
+ return target.closest(CONTROLS) !== null || target.matches(ROLE_BEARING);
92
+ }
93
+ /** Static class per height, off the two the spec measured. Tailwind scans text. */
94
+ const HEIGHT_CLASSES = {
95
+ short: "h-[18.5rem]",
96
+ tall: "h-[27rem]"
97
+ };
98
+ /**
99
+ * The box: the height, the ground, the border, and the positioning context the
100
+ * hint needs.
101
+ *
102
+ * Two elements and not one, because the hint has to stay in the corner while
103
+ * the frames move under it. A hint absolutely positioned inside the scroller
104
+ * would slide away with the first pan; one positioned against a box the
105
+ * scroller fills stays where a reader left it. The ground is on the box for the
106
+ * same reason — a board's grid does not move with its art.
107
+ */
108
+ const ROOT_CLASS = "relative min-w-0 overflow-hidden rounded-(--radius-surface) border border-border";
109
+ /**
110
+ * The scroller: a row of frames, sideways only, with a rung of the space
111
+ * ladder's top between them.
112
+ *
113
+ * `overflow-y: hidden` is the design and not an oversight — the board is "not
114
+ * very high, not full screen", and a canvas that scrolled both ways would be a
115
+ * viewport a reader can get lost in. `scroll-smooth` pairs with
116
+ * `motion-reduce:scroll-auto` so the preference is honoured declaratively;
117
+ * there is no frame loop here for `reduced-motion.test.ts` to find, and there
118
+ * must not be.
119
+ */
120
+ const CANVAS_CLASS = "flex h-full min-w-0 items-start gap-(--cue-space-8) overflow-x-auto overflow-y-hidden scroll-smooth p-(--cue-space-6) outline-none motion-reduce:scroll-auto focus-visible:outline-2 focus-visible:outline-solid focus-visible:-outline-offset-2 focus-visible:outline-accent";
121
+ /** The affordance, and only where there is something to afford. */
122
+ const PANNABLE_CLASS = "cursor-grab";
123
+ /**
124
+ * While panning: the grabbing cursor, no text selection, and **no smooth
125
+ * scrolling**. `scroll-behavior: smooth` animates every `scrollLeft` write, and
126
+ * a drag writes one per pointer move — the canvas would lag the pointer by a
127
+ * whole animation. `twMerge` resolves this against `scroll-smooth` above,
128
+ * last one wins.
129
+ */
130
+ const PANNING_CLASS = "cursor-grabbing scroll-auto select-none";
131
+ /** The line in the corner. `pointer-events-none`, or it would swallow the drag it describes. */
132
+ const HINT_CLASS = "pointer-events-none absolute right-(--cue-space-4) bottom-(--cue-space-3) z-10 font-mono text-(length:--cue-text-micro) text-fg-subtle";
133
+ /**
134
+ * The canvas: a short, wide, focusable scroll region that holds frames.
135
+ *
136
+ * **It knows nothing about its children.** It does not count them, index them
137
+ * or select one — a canvas that knew its frames would be a manifest API, and
138
+ * this is a slot API. `hint` is where a caller puts the count it knows and this
139
+ * does not.
140
+ *
141
+ * @example
142
+ * <Frames.Root label="Button frames" hint="drag to pan · 8 frames">
143
+ * <Preview presentation="frame" label="Tone" count={4}>…</Preview>
144
+ * </Frames.Root>
145
+ */
146
+ const FramesRoot = React.forwardRef(function FramesRoot({ children, label, height = "short", ground = "dots", hint, pan = true, className, ...elementProps }, ref) {
147
+ const drag = React.useRef(null);
148
+ const canvasRef = React.useRef(null);
149
+ const [panning, setPanning] = React.useState(false);
150
+ React.useEffect(() => {
151
+ if (pan) return;
152
+ const started = drag.current;
153
+ if (started === null) return;
154
+ canvasRef.current?.releasePointerCapture?.(started.id);
155
+ drag.current = null;
156
+ setPanning(false);
157
+ }, [pan]);
158
+ const scroll = (event) => {
159
+ if (event.defaultPrevented || event.target !== event.currentTarget) return;
160
+ const canvas = event.currentTarget;
161
+ let next = null;
162
+ if (event.key === "ArrowRight") next = canvas.scrollLeft + rungOf(canvas);
163
+ else if (event.key === "ArrowLeft") next = canvas.scrollLeft - rungOf(canvas);
164
+ else if (event.key === "PageDown") next = canvas.scrollLeft + canvas.clientWidth;
165
+ else if (event.key === "PageUp") next = canvas.scrollLeft - canvas.clientWidth;
166
+ else if (event.key === "Home") next = 0;
167
+ else if (event.key === "End") next = canvas.scrollWidth;
168
+ if (next === null) return;
169
+ event.preventDefault();
170
+ canvas.scrollLeft = Math.max(0, next);
171
+ };
172
+ const pointer = {
173
+ onPointerDown: (event) => {
174
+ if (event.button !== 0) return;
175
+ const canvas = event.currentTarget;
176
+ const target = event.target;
177
+ if (target !== null && isControl(target, canvas)) return;
178
+ canvas.setPointerCapture?.(event.pointerId);
179
+ drag.current = {
180
+ x: event.clientX,
181
+ left: canvas.scrollLeft,
182
+ id: event.pointerId
183
+ };
184
+ setPanning(true);
185
+ },
186
+ onPointerMove: (event) => {
187
+ const started = drag.current;
188
+ if (started === null) return;
189
+ event.currentTarget.scrollLeft = Math.max(0, started.left - (event.clientX - started.x));
190
+ },
191
+ onPointerUp: (event) => {
192
+ if (drag.current === null) return;
193
+ event.currentTarget.releasePointerCapture?.(event.pointerId);
194
+ drag.current = null;
195
+ setPanning(false);
196
+ },
197
+ onPointerCancel: () => {
198
+ drag.current = null;
199
+ setPanning(false);
200
+ }
201
+ };
202
+ return /* @__PURE__ */ jsxs("div", {
203
+ ...elementProps,
204
+ ref,
205
+ "data-slot": "frames",
206
+ className: cn(ROOT_CLASS, HEIGHT_CLASSES[height], GROUND_CLASSES[ground], className),
207
+ children: [/* @__PURE__ */ jsx("div", {
208
+ ref: canvasRef,
209
+ role: "region",
210
+ tabIndex: 0,
211
+ "aria-label": label,
212
+ "data-slot": "frames-canvas",
213
+ "data-panning": panning ? "true" : void 0,
214
+ className: cn(CANVAS_CLASS, pan && PANNABLE_CLASS, panning && PANNING_CLASS),
215
+ onKeyDown: scroll,
216
+ ...pan ? pointer : {},
217
+ children
218
+ }), hint === void 0 ? null : /* @__PURE__ */ jsx("span", {
219
+ "data-slot": "frames-hint",
220
+ className: HINT_CLASS,
221
+ children: hint
222
+ })]
223
+ });
224
+ });
225
+ /** One cell: the specimen, and the line under it. */
226
+ const ITEM_CLASS = "flex min-w-0 shrink-0 flex-col items-center gap-(--cue-space-2) rounded-(--radius-control) p-(--cue-space-2)";
227
+ /** The one a reader is inspecting. An outline and not a border: a border would move the cell. */
228
+ const ITEM_SELECTED_CLASS = "outline-2 outline-solid -outline-offset-1 outline-accent";
229
+ const ITEM_BODY_CLASS = "flex min-w-0 items-center justify-center";
230
+ /**
231
+ * The caption, and the two properties that decide whether it is painted.
232
+ *
233
+ * Properties and not props threaded down from the frame: the switch belongs to
234
+ * the frame — a reader turns captions off for a whole frame from its settings
235
+ * popover, never for one item — and a property is how a switch reaches every
236
+ * descendant without every descendant declaring it.
237
+ *
238
+ * **`opacity`, never `visibility`.** Zero opacity keeps the box *and* keeps the
239
+ * node in the accessibility tree, which is exactly what §4.1 Decision 4
240
+ * refuses to give up; `visibility: hidden` would keep the box and drop the
241
+ * node. `pointer-events` rides with it so an unpainted caption cannot be
242
+ * clicked or dragged over — two properties because `opacity` wants a number
243
+ * and `pointer-events` wants a keyword, and a custom property is untyped text
244
+ * that cannot be both.
245
+ *
246
+ * The **fallbacks** are what make an item legal outside a Preview: nothing
247
+ * declares either property there, so the caption resolves to `1` and `auto` and
248
+ * behaves like any other line, rather than inheriting the empty string and
249
+ * vanishing.
250
+ */
251
+ const ITEM_CAPTION_CLASS = "min-w-0 truncate text-center font-mono text-(length:--cue-text-micro) text-fg-subtle [opacity:var(--preview-captions,1)] [pointer-events:var(--preview-captions-pe,auto)]";
252
+ /**
253
+ * A design canvas: frames side by side, each holding one axis of one component.
254
+ *
255
+ * `Frames.Root` is the canvas — short, wide, scrollable sideways, focusable,
256
+ * and pannable with the pointer. `Frames.Item` is one captioned cell, and it is
257
+ * used **inside a `Preview`** rather than inside the Root. The two are apart
258
+ * because that is how they are used, and a props-only API cannot say it.
259
+ *
260
+ * **The canvas knows nothing about its children.** It does not count them, does
261
+ * not index them and does not select one; `hint` is where a caller puts what it
262
+ * knows. A canvas that knew its frames would be a manifest API, and this is a
263
+ * slot API.
264
+ *
265
+ * @example
266
+ * <Frames.Root label="Button frames" hint="drag to pan · 3 frames">
267
+ * <Preview presentation="frame" label="Tone" count={3} name={<ToneMenu />}>
268
+ * <div className="flex flex-wrap items-end gap-(--cue-space-6)">
269
+ * <Frames.Item caption="accent"><Button tone="accent">Take cue</Button></Frames.Item>
270
+ * <Frames.Item caption="ok"><Button tone="ok">Take cue</Button></Frames.Item>
271
+ * <Frames.Item caption="warn"><Button tone="warn">Take cue</Button></Frames.Item>
272
+ * </div>
273
+ * </Preview>
274
+ * </Frames.Root>
275
+ */
276
+ const Frames = {
277
+ Root: FramesRoot,
278
+ Item: React.forwardRef(function FramesItem({ children, caption, selected = false, className, ...elementProps }, ref) {
279
+ return /* @__PURE__ */ jsxs("div", {
280
+ ...elementProps,
281
+ ref,
282
+ "data-slot": "frames-item",
283
+ "data-selected": selected ? "true" : void 0,
284
+ className: cn(ITEM_CLASS, selected && ITEM_SELECTED_CLASS, className),
285
+ children: [/* @__PURE__ */ jsx("div", {
286
+ "data-slot": "frames-item-body",
287
+ className: ITEM_BODY_CLASS,
288
+ children
289
+ }), caption === void 0 ? null : /* @__PURE__ */ jsx("span", {
290
+ "data-slot": "frames-item-caption",
291
+ className: ITEM_CAPTION_CLASS,
292
+ children: caption
293
+ })]
294
+ });
295
+ })
296
+ };
297
+ //#endregion
298
+ export { Frames };
@@ -0,0 +1,40 @@
1
+ import { SpaceStep, StackAlign, StackJustify } from "./stack.js";
2
+ import * as React from "react";
3
+ //#region src/layout/grid.d.ts
4
+ /** How many equal columns to lay out. */
5
+ type GridColumns = 1 | 2 | 3 | 4 | 5 | 6;
6
+ interface GridProps extends React.ComponentPropsWithoutRef<"div"> {
7
+ /** How many equal columns. Defaults to `1`. Ignored when `minItemWidth` is set. */
8
+ cols?: GridColumns;
9
+ /** Which rung of the density space ladder to spend between cells. Defaults to `4`. */
10
+ gap?: SpaceStep;
11
+ /**
12
+ * Fill the row with as many columns of at least this width as fit, instead of
13
+ * a fixed count. Any CSS length (`"12rem"`, `"200px"`).
14
+ *
15
+ * Prefer this over a column count wherever the content has a natural minimum
16
+ * measure — it is responsive without a single breakpoint.
17
+ */
18
+ minItemWidth?: string;
19
+ /** Cross-axis alignment of the cells. */
20
+ align?: StackAlign;
21
+ /** Main-axis distribution of the tracks. */
22
+ justify?: StackJustify;
23
+ }
24
+ /**
25
+ * Two-dimensional layout: equal columns, or as many as fit.
26
+ *
27
+ * Same bargain as `Stack` — the gap is a rung of the density ladder rather than
28
+ * a hand-picked pixel value, so a card grid tightens with the rest of the
29
+ * console when the user asks for ultra-compact.
30
+ *
31
+ * Static markup — no `"use client"`.
32
+ *
33
+ * @example
34
+ * <Grid cols={3} gap={5}>{cards}</Grid>
35
+ * @example
36
+ * <Grid minItemWidth="14rem" gap={4}>{cards}</Grid>
37
+ */
38
+ declare const Grid: React.ForwardRefExoticComponent<GridProps & React.RefAttributes<HTMLDivElement>>;
39
+ //#endregion
40
+ export { Grid, GridColumns, GridProps };
@@ -0,0 +1,48 @@
1
+ import { cn } from "../lib/cn.js";
2
+ import { ALIGN_CLASSES, GAP_CLASSES, JUSTIFY_CLASSES } from "./stack.js";
3
+ import * as React from "react";
4
+ import { jsx } from "react/jsx-runtime";
5
+ //#region src/layout/grid.tsx
6
+ /** Static class per count — Tailwind scans source text, not computed strings. */
7
+ const COLUMN_CLASSES = {
8
+ 1: "grid-cols-1",
9
+ 2: "grid-cols-2",
10
+ 3: "grid-cols-3",
11
+ 4: "grid-cols-4",
12
+ 5: "grid-cols-5",
13
+ 6: "grid-cols-6"
14
+ };
15
+ /**
16
+ * The auto-filling track. The measure travels as a custom property rather than
17
+ * as an arbitrary value, so the track definition is one static class the
18
+ * scanner always sees instead of a fresh one per call site.
19
+ */
20
+ const AUTO_FILL_CLASS = "grid-cols-[repeat(auto-fill,minmax(var(--cue-grid-min),1fr))]";
21
+ /**
22
+ * Two-dimensional layout: equal columns, or as many as fit.
23
+ *
24
+ * Same bargain as `Stack` — the gap is a rung of the density ladder rather than
25
+ * a hand-picked pixel value, so a card grid tightens with the rest of the
26
+ * console when the user asks for ultra-compact.
27
+ *
28
+ * Static markup — no `"use client"`.
29
+ *
30
+ * @example
31
+ * <Grid cols={3} gap={5}>{cards}</Grid>
32
+ * @example
33
+ * <Grid minItemWidth="14rem" gap={4}>{cards}</Grid>
34
+ */
35
+ const Grid = React.forwardRef(function Grid({ className, cols = 1, gap = 4, minItemWidth, align, justify, style, ...elementProps }, ref) {
36
+ return /* @__PURE__ */ jsx("div", {
37
+ ref,
38
+ "data-slot": "grid",
39
+ className: cn("grid", minItemWidth === void 0 ? COLUMN_CLASSES[cols] : AUTO_FILL_CLASS, GAP_CLASSES[gap], align === void 0 ? null : ALIGN_CLASSES[align], justify === void 0 ? null : JUSTIFY_CLASSES[justify], className),
40
+ style: minItemWidth === void 0 ? style : {
41
+ "--cue-grid-min": minItemWidth,
42
+ ...style
43
+ },
44
+ ...elementProps
45
+ });
46
+ });
47
+ //#endregion
48
+ export { Grid };
@@ -0,0 +1,19 @@
1
+ import { Link, LinkProps, linkVariants } from "./link.js";
2
+ import { Sidebar, SidebarItemProps, SidebarRailProps, SidebarRootProps, SidebarSectionProps, useSidebar } from "./sidebar.js";
3
+ import { Container, ContainerProps, ContainerWidth } from "./container.js";
4
+ import { Accordion, AccordionHeaderProps, AccordionItemProps, AccordionPanelProps, AccordionRootProps, AccordionTriggerProps } from "./accordion.js";
5
+ import { SpaceStep, Stack, StackAlign, StackJustify, StackProps } from "./stack.js";
6
+ import { Bento, BentoColumns, BentoMinHeight, BentoRootProps, BentoRowSpan, BentoRows, BentoSpan, BentoTileProps } from "./bento.js";
7
+ import { Breadcrumb, BreadcrumbItem, BreadcrumbProps } from "./breadcrumb.js";
8
+ import { Card, CardContentProps, CardDescriptionProps, CardFooterProps, CardHeaderProps, CardRootProps, CardTitleProps } from "./card.js";
9
+ import { Collapsible, CollapsiblePanelProps, CollapsibleRootProps, CollapsibleTriggerProps, Disclosure, DisclosureProps } from "./collapsible.js";
10
+ import { DescriptionList, DescriptionListDetailProps, DescriptionListLayout, DescriptionListRootProps, DescriptionListTermProps } from "./description-list.js";
11
+ import { PreviewGround } from "./_ground.js";
12
+ import { Frames, FramesHeight, FramesItemProps, FramesRootProps } from "./frames.js";
13
+ import { Grid, GridColumns, GridProps } from "./grid.js";
14
+ import { Item, ItemProps, itemVariants } from "./item.js";
15
+ import { Pagination, PaginationEntry, PaginationProps, paginationRange } from "./pagination.js";
16
+ import { Preview, PreviewAxis, PreviewPresentation, PreviewProps, PreviewResizeOptions } from "./preview.js";
17
+ import { Stepper, StepperProps, StepperState, StepperStep } from "./stepper.js";
18
+ import { Timeline, TimelineContentProps, TimelineItemProps, TimelineMarkerProps, TimelineRootProps } from "./timeline.js";
19
+ export { Accordion, type AccordionHeaderProps, type AccordionItemProps, type AccordionPanelProps, type AccordionRootProps, type AccordionTriggerProps, Bento, type BentoColumns, type BentoMinHeight, type BentoRootProps, type BentoRowSpan, type BentoRows, type BentoSpan, type BentoTileProps, Breadcrumb, type BreadcrumbItem, type BreadcrumbProps, Card, type CardContentProps, type CardDescriptionProps, type CardFooterProps, type CardHeaderProps, type CardRootProps, type CardTitleProps, Collapsible, type CollapsiblePanelProps, type CollapsibleRootProps, type CollapsibleTriggerProps, Container, type ContainerProps, type ContainerWidth, DescriptionList, type DescriptionListDetailProps, type DescriptionListLayout, type DescriptionListRootProps, type DescriptionListTermProps, Disclosure, type DisclosureProps, Frames, type FramesHeight, type FramesItemProps, type FramesRootProps, Grid, type GridColumns, type GridProps, Item, type ItemProps, Link, type LinkProps, Pagination, type PaginationEntry, type PaginationProps, Preview, type PreviewAxis, type PreviewGround, type PreviewPresentation, type PreviewProps, type PreviewResizeOptions, Sidebar, type SidebarItemProps, type SidebarRailProps, type SidebarRootProps, type SidebarSectionProps, type SpaceStep, Stack, type StackAlign, type StackJustify, type StackProps, Stepper, type StepperProps, type StepperState, type StepperStep, Timeline, type TimelineContentProps, type TimelineItemProps, type TimelineMarkerProps, type TimelineRootProps, itemVariants, linkVariants, paginationRange, useSidebar };
@@ -0,0 +1,18 @@
1
+ import { Link, linkVariants } from "./link.js";
2
+ import { Sidebar, useSidebar } from "./sidebar.js";
3
+ import { Container } from "./container.js";
4
+ import { Accordion } from "./accordion.js";
5
+ import { Stack } from "./stack.js";
6
+ import { Bento } from "./bento.js";
7
+ import { Breadcrumb } from "./breadcrumb.js";
8
+ import { Card } from "./card.js";
9
+ import { Collapsible, Disclosure } from "./collapsible.js";
10
+ import { DescriptionList } from "./description-list.js";
11
+ import { Frames } from "./frames.js";
12
+ import { Grid } from "./grid.js";
13
+ import { Item, itemVariants } from "./item.js";
14
+ import { Pagination, paginationRange } from "./pagination.js";
15
+ import { Preview } from "./preview.js";
16
+ import { Stepper } from "./stepper.js";
17
+ import { Timeline } from "./timeline.js";
18
+ export { Accordion, Bento, Breadcrumb, Card, Collapsible, Container, DescriptionList, Disclosure, Frames, Grid, Item, Link, Pagination, Preview, Sidebar, Stack, Stepper, Timeline, itemVariants, linkVariants, paginationRange, useSidebar };
@@ -0,0 +1,65 @@
1
+ import { ClassProp, VariantProps } from "../lib/cva.js";
2
+ import * as React from "react";
3
+ //#region src/layout/item.d.ts
4
+ /**
5
+ * The media-object recipe: an optional leading glyph, two lines of text and a
6
+ * trailing slot, on the row padding rung.
7
+ *
8
+ * Framing and hover feedback are split across `variants` for the same reason as
9
+ * `chipVariants`: emitting a fill from one variant and cancelling it from
10
+ * another would leave two competing background utilities in the class string
11
+ * and lean on `tailwind-merge` to pick a winner.
12
+ *
13
+ * @example
14
+ * <div className={itemVariants({ variant: "outline" })} />
15
+ */
16
+ declare const itemVariants: (props?: ({
17
+ variant?: "outline" | "plain" | "soft" | null | undefined;
18
+ interactive?: boolean | null | undefined;
19
+ } & ClassProp) | undefined) => string;
20
+ interface ItemProps extends Omit<React.HTMLAttributes<HTMLElement>, "title">, VariantProps<typeof itemVariants> {
21
+ /** Leading slot: an icon, an avatar, a status dot. */
22
+ media?: React.ReactNode;
23
+ /** The item's name — one line, truncated rather than wrapped. */
24
+ title?: React.ReactNode;
25
+ /** One supporting line under the title, a rung smaller and muted. */
26
+ description?: React.ReactNode;
27
+ /**
28
+ * Trailing slot: a value, a chip, a control.
29
+ *
30
+ * Do not combine with `interactive` — the whole item is then a `<button>`,
31
+ * and a button may not contain another one. Put the controls beside the item
32
+ * instead, or drop `interactive` and make the title itself the link.
33
+ */
34
+ actions?: React.ReactNode;
35
+ /** Which framing to paint. Defaults to `"plain"`. */
36
+ variant?: "plain" | "outline" | "soft";
37
+ /**
38
+ * Render as a `<button>` with hover feedback and a focus ring instead of a
39
+ * static `<div>`. Use for items that select, open or toggle something.
40
+ */
41
+ interactive?: boolean;
42
+ /** Disable the interactive form. Ignored when `interactive` is not set. */
43
+ disabled?: boolean;
44
+ /** Extra content between the text column and the action slot. */
45
+ children?: React.ReactNode;
46
+ }
47
+ /**
48
+ * One thing in a list, with room for a glyph, a name, a line of detail and a
49
+ * control — the shape a settings entry, a search hit and a device row all want.
50
+ *
51
+ * Where `Row` is a line of a hairline table, `Item` is a self-contained object
52
+ * that can stand alone, sit in a `Stack` or fill a `Grid` cell. It is a real
53
+ * `<button>` when interactive rather than a `<div>` with an `onClick`, so
54
+ * keyboard users get it for free.
55
+ *
56
+ * Static markup — no `"use client"`.
57
+ *
58
+ * @example
59
+ * <Item media={<StatusDot tone="ok" />} title="Node 12" description="10.0.0.12" />
60
+ * @example
61
+ * <Item interactive variant="outline" title="Front truss" onClick={open} />
62
+ */
63
+ declare const Item: React.ForwardRefExoticComponent<ItemProps & React.RefAttributes<HTMLElement>>;
64
+ //#endregion
65
+ export { Item, ItemProps, itemVariants };