@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,81 @@
1
+ "use client";
2
+ import { cn } from "../lib/cn.js";
3
+ import { accordionPanelClasses, collapseCaretClasses, collapseLabelClasses, collapsePanelBodyClasses, collapseTriggerClasses } from "./_collapse.js";
4
+ import { ChevronRightGlyph } from "./_glyphs.js";
5
+ import * as React from "react";
6
+ import { jsx, jsxs } from "react/jsx-runtime";
7
+ import { Accordion } from "@base-ui/react/accordion";
8
+ /**
9
+ * A stack of sections, one (or several) open at a time.
10
+ *
11
+ * Wraps Base UI's `Accordion`, so the disclosure ARIA, keyboard handling and
12
+ * open-state bookkeeping are the primitive's. This layer adds the console skin:
13
+ * hairline separation, mono summary rows on the control ladder, and a height
14
+ * transition that respects `prefers-reduced-motion`.
15
+ *
16
+ * @example
17
+ * <Accordion.Root>
18
+ * <Accordion.Item value="routing">
19
+ * <Accordion.Header><Accordion.Trigger>routing</Accordion.Trigger></Accordion.Header>
20
+ * <Accordion.Panel>…</Accordion.Panel>
21
+ * </Accordion.Item>
22
+ * </Accordion.Root>
23
+ * @example
24
+ * <Accordion.Root multiple defaultValue={["routing"]}>…</Accordion.Root>
25
+ */
26
+ const Accordion$1 = {
27
+ Root: React.forwardRef(function AccordionRoot({ className, ...elementProps }, ref) {
28
+ return /* @__PURE__ */ jsx(Accordion.Root, {
29
+ ref,
30
+ "data-slot": "accordion",
31
+ className: cn("flex min-w-0 flex-col", className),
32
+ ...elementProps
33
+ });
34
+ }),
35
+ Item: React.forwardRef(function AccordionItem({ className, ...elementProps }, ref) {
36
+ return /* @__PURE__ */ jsx(Accordion.Item, {
37
+ ref,
38
+ "data-slot": "accordion-item",
39
+ className: cn("border-t border-border first:border-t-0", className),
40
+ ...elementProps
41
+ });
42
+ }),
43
+ Header: React.forwardRef(function AccordionHeader({ className, ...elementProps }, ref) {
44
+ return /* @__PURE__ */ jsx(Accordion.Header, {
45
+ ref,
46
+ "data-slot": "accordion-header",
47
+ className: cn("m-0 flex", className),
48
+ ...elementProps
49
+ });
50
+ }),
51
+ Trigger: React.forwardRef(function AccordionTrigger({ className, children, ...elementProps }, ref) {
52
+ return /* @__PURE__ */ jsxs(Accordion.Trigger, {
53
+ ref,
54
+ "data-slot": "accordion-trigger",
55
+ className: cn(collapseTriggerClasses, className),
56
+ ...elementProps,
57
+ children: [/* @__PURE__ */ jsx("span", {
58
+ className: collapseLabelClasses,
59
+ children
60
+ }), /* @__PURE__ */ jsx(ChevronRightGlyph, {
61
+ "data-slot": "accordion-caret",
62
+ className: collapseCaretClasses
63
+ })]
64
+ });
65
+ }),
66
+ Panel: React.forwardRef(function AccordionPanel({ className, bodyClassName, children, ...elementProps }, ref) {
67
+ return /* @__PURE__ */ jsx(Accordion.Panel, {
68
+ ref,
69
+ "data-slot": "accordion-panel",
70
+ className: cn(accordionPanelClasses, className),
71
+ ...elementProps,
72
+ children: /* @__PURE__ */ jsx("div", {
73
+ "data-slot": "accordion-panel-body",
74
+ className: cn(collapsePanelBodyClasses, bodyClassName),
75
+ children
76
+ })
77
+ });
78
+ })
79
+ };
80
+ //#endregion
81
+ export { Accordion$1 as Accordion };
@@ -0,0 +1,144 @@
1
+ import { SpaceStep } from "./stack.js";
2
+ import * as React from "react";
3
+ //#region src/layout/bento.d.ts
4
+ /** How many columns the bento resolves to at `lg`. */
5
+ type BentoColumns = 2 | 3 | 4;
6
+ /** How many rows to declare, so a tall tile spans a track that exists. */
7
+ type BentoRows = 1 | 2 | 3 | 4;
8
+ /** How many columns one tile covers, before the container clamps it. */
9
+ type BentoSpan = 1 | 2 | 3 | 4;
10
+ /** How many rows one tile covers. */
11
+ type BentoRowSpan = 1 | 2;
12
+ /** How much height a tile reserves before its content arrives. */
13
+ type BentoMinHeight = "none" | "half" | "hero";
14
+ interface BentoRootProps extends React.ComponentPropsWithoutRef<"div"> {
15
+ /** How many columns at `lg`. Defaults to `3`. Two from `sm`, one below it. */
16
+ cols?: BentoColumns;
17
+ /**
18
+ * How many rows to declare from `sm` up.
19
+ *
20
+ * Only worth setting where a tile spans rows: a `rowSpan` over implicit
21
+ * tracks sizes itself to the tile's own content, which is not a span.
22
+ */
23
+ rows?: BentoRows;
24
+ /** Pack later tiles into earlier holes instead of leaving them empty. */
25
+ dense?: boolean;
26
+ /** Which rung of the density space ladder to spend between tiles. Defaults to `4`. */
27
+ gap?: SpaceStep;
28
+ /** The tiles. Declared, so the manifest files it as a documented prop. */
29
+ children?: React.ReactNode;
30
+ }
31
+ /**
32
+ * What both tile variants share: the geometry, the four slots and the body.
33
+ *
34
+ * An `interface … extends Omit<…>` rather than a type alias over an
35
+ * intersection, for the same reason `PanelHeaderProps` and `ItemProps` are:
36
+ * `children` is a documented prop only where a component *declares* it, and a
37
+ * member of an intersection's object half is attributed to React's own
38
+ * declaration rather than to this file — so the alias form files every other
39
+ * slot and silently drops the body.
40
+ */
41
+ interface BentoTileBase extends Omit<React.ComponentPropsWithoutRef<"div">, "title"> {
42
+ /** How many columns to cover. Clamped by the container to its own `cols`. */
43
+ span?: BentoSpan;
44
+ /** How many rows to cover. Needs a container that declares them. */
45
+ rowSpan?: BentoRowSpan;
46
+ /** How much height to hold before the content arrives. Defaults to `"none"`. */
47
+ minHeight?: BentoMinHeight;
48
+ /** The qualifier above the name: an import specifier, a family, a device. */
49
+ eyebrow?: React.ReactNode;
50
+ /** The tile's name. Rendered as a `<span>`, never as a heading. */
51
+ title?: React.ReactNode;
52
+ /** The count beside the name — by convention a `<Chip variant="outline">`. */
53
+ meta?: React.ReactNode;
54
+ /** The summary and anything below it. */
55
+ children?: React.ReactNode;
56
+ }
57
+ /**
58
+ * A tile whose whole surface is one `<a>`.
59
+ *
60
+ * Its content is static: no control, no second link. HTML's content model for
61
+ * `<a>` is transparent *but* admits no interactive descendant and no `<a>`
62
+ * descendant, and `inert` changes focus, hit-testing and the accessibility tree
63
+ * while changing that content model not at all.
64
+ */
65
+ type BentoLinkTileProps = BentoTileBase & {
66
+ /** Where the tile goes. Its presence is what makes the tile a link. */
67
+ href: string;
68
+ /**
69
+ * A router's own link element, cloned to carry the tile's classes and slots.
70
+ *
71
+ * The **element** form only, and never a render function: a function would
72
+ * buy a second calling convention at the price of this component's
73
+ * server-safety, because the hook that reads one is a hook. The element keeps
74
+ * its own `href` — `next/link` declares that prop required, so passing the
75
+ * tile's would make the tile the silent owner of a value the element has to
76
+ * declare anyway. Its own `className` is **merged** with the tile's rather
77
+ * than replaced by it, which is the other half of the same bargain: `href` is
78
+ * a value the element owns outright, and a class is one it adds to.
79
+ */
80
+ render?: React.ReactElement;
81
+ /** Never on a link tile: an `<a>` may not contain a control. */
82
+ action?: never;
83
+ };
84
+ /** A surface that may hold live children; its link or control is a visible sibling. */
85
+ type BentoPanelTileProps = BentoTileBase & {
86
+ /** Never on a panel tile: `href` is what selects the link variant. */
87
+ href?: never;
88
+ /** Never on a panel tile: `render` belongs to the link variant. */
89
+ render?: never;
90
+ /** The tile's own link or control, rendered beside the count rather than around it. */
91
+ action?: React.ReactNode;
92
+ };
93
+ /** Props for {@link Bento.Tile}: a link tile, or a panel tile with an `action`. */
94
+ type BentoTileProps = BentoLinkTileProps | BentoPanelTileProps;
95
+ /**
96
+ * A grid of unequal tiles: per-item spans, clamped to the container's columns.
97
+ *
98
+ * Where `Grid` lays out cells it never touches, a bento's whole content is
99
+ * per-item — so the span is a prop on the tile, from a closed set, and the
100
+ * container clamps it on the way past. One column below `sm`, two from `sm`,
101
+ * the asked-for count from `lg`; the clamp is per breakpoint and not per
102
+ * `cols`, because every container is two tracks wide in between whatever it
103
+ * was asked for.
104
+ *
105
+ * **Static markup — no hooks, no `"use client"`, and it must stay that way.**
106
+ * A directive is per *module*, so a `Bento` built on `useRender` would open a
107
+ * client boundary in every server page that draws one. That is why the router
108
+ * escape hatch is `render`, an *element* that is cloned, rather than a render
109
+ * function; and why {@link Bento.Tile} is a discriminated union rather than a
110
+ * tile that decides at runtime what it is.
111
+ *
112
+ * `BentoTileProps` omits the native `title` from its `<div>` props, the same
113
+ * omission `PanelHeader` and `Item` make: `React.ComponentPropsWithoutRef<"div">`
114
+ * already declares `title?: string`, and narrowing it to a `ReactNode` without
115
+ * the `Omit` is TS2430.
116
+ *
117
+ * @example
118
+ * <Bento.Root cols={3} rows={2} gap={5}>
119
+ * <Bento.Tile span={2} rowSpan={2} minHeight="hero" title="Kitchen sink">
120
+ * Every component, on one page.
121
+ * </Bento.Tile>
122
+ * <Bento.Tile title="Themes" meta={<Chip variant="outline">10</Chip>} />
123
+ * <Bento.Tile title="Density" meta={<Chip variant="outline">5</Chip>} />
124
+ * </Bento.Root>
125
+ * @example
126
+ * <Bento.Tile
127
+ * href="/docs/components/grid"
128
+ * render={<NextLink href="/docs/components/grid" />}
129
+ * eyebrow="@cueplusplus/ui"
130
+ * title="Grid"
131
+ * >
132
+ * Equal columns, or as many as fit.
133
+ * </Bento.Tile>
134
+ * @example
135
+ * <Bento.Tile title="Signal" action={<Button onClick={apply}>Apply</Button>}>
136
+ * <ThemeSwatches theme="signal" />
137
+ * </Bento.Tile>
138
+ */
139
+ declare const Bento: {
140
+ Root: React.ForwardRefExoticComponent<BentoRootProps & React.RefAttributes<HTMLDivElement>>;
141
+ Tile: React.ForwardRefExoticComponent<BentoTileProps & React.RefAttributes<HTMLElement>>;
142
+ };
143
+ //#endregion
144
+ export { Bento, BentoColumns, BentoMinHeight, BentoRootProps, BentoRowSpan, BentoRows, BentoSpan, BentoTileProps };
@@ -0,0 +1,266 @@
1
+ import { cn } from "../lib/cn.js";
2
+ import { GAP_CLASSES } from "./stack.js";
3
+ import * as React from "react";
4
+ import { Fragment, jsx, jsxs } from "react/jsx-runtime";
5
+ //#region src/layout/bento.tsx
6
+ /**
7
+ * Static class per count — Tailwind scans source text, not computed strings.
8
+ *
9
+ * One column below `sm`, two from `sm`, the asked-for count only from `lg`:
10
+ * three fixed columns at 640 px would be ~200 px per tile, narrower than the
11
+ * `18rem` minimum measure every grid this replaces already declares.
12
+ */
13
+ const COLUMN_CLASSES = {
14
+ 2: "grid-cols-1 sm:grid-cols-2",
15
+ 3: "grid-cols-1 sm:grid-cols-2 lg:grid-cols-3",
16
+ 4: "grid-cols-1 sm:grid-cols-2 lg:grid-cols-4"
17
+ };
18
+ /** Static class per row count, from `sm` up — below it the bento is one column. */
19
+ const ROW_CLASSES = {
20
+ 1: "sm:grid-rows-1",
21
+ 2: "sm:grid-rows-2",
22
+ 3: "sm:grid-rows-3",
23
+ 4: "sm:grid-rows-4"
24
+ };
25
+ /**
26
+ * Static class per span, clamped at `sm` because every container is two tracks
27
+ * wide between 640 px and 1024 px whatever its `cols`.
28
+ *
29
+ * So there is no `sm:col-span-3` and no `sm:col-span-4` in this table at all,
30
+ * and no unprefixed `col-span-*` either: an unprefixed span in the one-track
31
+ * base grid grows an implicit second column, which is the same defect one
32
+ * breakpoint down. A span of 1 or 2 carries through from `sm` and needs no
33
+ * `lg:` rung.
34
+ */
35
+ const SPAN_CLASSES = {
36
+ 1: "sm:col-span-1",
37
+ 2: "sm:col-span-2",
38
+ 3: "sm:col-span-2 lg:col-span-3",
39
+ 4: "sm:col-span-2 lg:col-span-4"
40
+ };
41
+ /** Static class per row span, from `sm` up for the same reason as the columns. */
42
+ const ROW_SPAN_CLASSES = {
43
+ 1: "sm:row-span-1",
44
+ 2: "sm:row-span-2"
45
+ };
46
+ /**
47
+ * Static class per reserved height, spent off the space ladder's top rung so a
48
+ * hero tile shrinks with the rest of the console at ultra-compact.
49
+ */
50
+ const MIN_HEIGHT_CLASSES = {
51
+ none: "",
52
+ half: "min-h-[calc(var(--cue-space-8)*4)]",
53
+ hero: "min-h-[calc(var(--cue-space-8)*8)]"
54
+ };
55
+ /** The tile surface, shared by both variants so a link tile is not a second look. */
56
+ const TILE_CLASS = "flex flex-col gap-(--cue-space-3) overflow-hidden rounded-(--radius-surface) border border-border bg-surface-1 p-(--cue-space-5)";
57
+ /** What a link tile adds: the hover tint and the focus ring the whole surface takes. */
58
+ const LINK_TILE_CLASS = "no-underline transition-colors duration-150 outline-none hover:bg-surface-2 focus-visible:outline-2 focus-visible:outline-solid focus-visible:outline-offset-2 focus-visible:outline-accent";
59
+ /** The host elements a link tile may not contain, plus anything carrying `tabIndex`. */
60
+ const INTERACTIVE_TAGS = /* @__PURE__ */ new Set([
61
+ "a",
62
+ "button",
63
+ "input",
64
+ "select",
65
+ "textarea"
66
+ ]);
67
+ /**
68
+ * The first interactive child a link tile was given, named, or `undefined`.
69
+ *
70
+ * Shallow by design — it walks `React.Children` and not the rendered tree,
71
+ * because it must run in a server render as well as a client one and a hook is
72
+ * not available in either. What it cannot see (a control behind a component
73
+ * boundary) is what each converted grid's own DOM assertion catches.
74
+ */
75
+ function interactiveChild(children) {
76
+ let found;
77
+ React.Children.forEach(children, (child) => {
78
+ if (found !== void 0 || !React.isValidElement(child)) return;
79
+ const { tabIndex } = child.props;
80
+ if (typeof child.type === "string" && INTERACTIVE_TAGS.has(child.type)) found = child.type;
81
+ else if (tabIndex !== void 0) found = typeof child.type === "string" ? child.type : "child";
82
+ });
83
+ return found;
84
+ }
85
+ /** The tile's name as a log line can carry it, for a `title` that is not a string. */
86
+ function tileLabel(title) {
87
+ return typeof title === "string" || typeof title === "number" ? String(title) : "an untitled tile";
88
+ }
89
+ /**
90
+ * The bento container: a responsive grid that clamps the spans of its tiles.
91
+ *
92
+ * It maps `React.Children` and clones every child whose type is the tile,
93
+ * narrowing that tile's `span` to its own `cols`; anything else passes through
94
+ * with its props untouched, so a `<section>` or a bare `<div>` may sit in a
95
+ * band beside the tiles.
96
+ *
97
+ * **The clamp reaches direct children only, and that is a contract rather than
98
+ * an oversight.** `React.Children` does not descend into a component element,
99
+ * so a tile rendered by a child — `<Bento.Root><MyTiles /></Bento.Root>` — is
100
+ * whatever `span` it declared, and an over-wide one grows an implicit column
101
+ * exactly as an unclamped tile would. Reading through a component would mean
102
+ * rendering it, which a container may not do. So: **keep a tile a child
103
+ * component renders at `span={1}`, or clamp it in that component.** The same
104
+ * hazard in fragment form is why an authored `node` fixture of tiles is an
105
+ * array and not a `<>…</>`.
106
+ *
107
+ * Static markup — no `"use client"`.
108
+ */
109
+ const BentoRoot = React.forwardRef(function BentoRoot({ className, cols = 3, rows, dense = false, gap = 4, children, ...elementProps }, ref) {
110
+ return /* @__PURE__ */ jsx("div", {
111
+ ref,
112
+ "data-slot": "bento",
113
+ className: cn("grid", COLUMN_CLASSES[cols], rows === void 0 ? null : ROW_CLASSES[rows], dense ? "grid-flow-row-dense" : null, GAP_CLASSES[gap], className),
114
+ ...elementProps,
115
+ children: React.Children.map(children, (child) => clampTile(child, cols, rows))
116
+ });
117
+ });
118
+ /**
119
+ * Clamp one child's spans to the container's tracks, and leave everything else
120
+ * exactly as it was written.
121
+ *
122
+ * CSS Grid does not clamp: auto-placement grows the implicit grid to fit the
123
+ * largest definite span, so one `span={4}` in a `cols={3}` bento silently adds
124
+ * a fourth column and shifts every row. The tile cannot do this for itself —
125
+ * reading its container would need a hook, and this component is static markup
126
+ * on purpose — so the container does it, on the way past.
127
+ *
128
+ * **Both axes, and the row axis only where there is something to clamp to.**
129
+ * The column clamp always applies because `cols` always has a value; `rows` is
130
+ * optional, and a container that declares none is one whose rows are all
131
+ * implicit — there is no track count for `rowSpan` to be too large for, and the
132
+ * tile's own docblock already says that spanning rows there sizes the span to
133
+ * the tile's own content. So an undeclared `rows` leaves `rowSpan` alone, and a
134
+ * declared one is a promise the tile is held to.
135
+ */
136
+ function clampTile(child, cols, rows) {
137
+ if (!React.isValidElement(child) || child.type !== BentoTile) return child;
138
+ const tile = child;
139
+ const span = tile.props.span ?? 1;
140
+ const rowSpan = tile.props.rowSpan ?? 1;
141
+ return React.cloneElement(tile, {
142
+ span: Math.min(span, cols),
143
+ ...rows === void 0 ? {} : { rowSpan: Math.min(rowSpan, rows) }
144
+ });
145
+ }
146
+ /**
147
+ * One cell of a bento: a link, or a surface with an `action`.
148
+ *
149
+ * The two are a discriminated union rather than one shape with a runtime
150
+ * branch, because half of the rule is something a compiler can hold: `href`
151
+ * and `action` are mutually exclusive in the type. The other half — that a
152
+ * link tile's content is static — is held by a dev-time check here and by a
153
+ * DOM assertion in each grid that draws one.
154
+ *
155
+ * Static markup — no `"use client"`.
156
+ */
157
+ const BentoTile = React.forwardRef(function BentoTile(props, ref) {
158
+ const { className, span = 1, rowSpan = 1, minHeight = "none", eyebrow, title, meta, action, href, render, children, ...elementProps } = props;
159
+ if (process.env.NODE_ENV !== "production" && href !== void 0) {
160
+ if (render !== void 0 && render.props.href === void 0) console.error(`Bento.Tile (${tileLabel(title)}): \`render\` was given an element with no \`href\` of its own. The clone does not pass the tile's, so the link would go nowhere — put the href on the element, as \`next/link\` requires anyway.`);
161
+ const offender = interactiveChild(children) ?? interactiveChild(action);
162
+ if (offender !== void 0) console.error(`Bento.Tile (${tileLabel(title)}): a link tile contains an interactive <${offender}>. An <a> admits no interactive descendant, so use a panel tile and put the control in \`action\` instead of nesting it here.`);
163
+ }
164
+ const head = eyebrow !== void 0 || title !== void 0;
165
+ const tail = meta !== void 0 || action !== void 0;
166
+ const content = /* @__PURE__ */ jsxs(Fragment, { children: [head || tail ? /* @__PURE__ */ jsxs("div", {
167
+ className: "flex items-start justify-between gap-(--cue-space-3)",
168
+ children: [head ? /* @__PURE__ */ jsxs("div", {
169
+ className: "flex min-w-0 flex-col gap-(--cue-space-1)",
170
+ children: [eyebrow === void 0 ? null : /* @__PURE__ */ jsx("span", {
171
+ "data-slot": "bento-tile-eyebrow",
172
+ className: "min-w-0 truncate font-mono text-(length:--cue-text-micro) text-fg-muted",
173
+ children: eyebrow
174
+ }), title === void 0 ? null : /* @__PURE__ */ jsx("span", {
175
+ "data-slot": "bento-tile-title",
176
+ className: "font-mono text-(length:--cue-text-emphasis) font-medium text-fg",
177
+ children: title
178
+ })]
179
+ }) : null, tail ? /* @__PURE__ */ jsxs("div", {
180
+ className: "flex shrink-0 items-center gap-(--cue-space-2)",
181
+ children: [meta === void 0 ? null : /* @__PURE__ */ jsx("span", {
182
+ "data-slot": "bento-tile-meta",
183
+ children: meta
184
+ }), action === void 0 ? null : /* @__PURE__ */ jsx("span", {
185
+ "data-slot": "bento-tile-action",
186
+ children: action
187
+ })]
188
+ }) : null]
189
+ }) : null, children] });
190
+ const surface = {
191
+ "data-slot": "bento-tile",
192
+ "data-span": String(span),
193
+ className: cn(TILE_CLASS, href === void 0 ? null : LINK_TILE_CLASS, SPAN_CLASSES[span], ROW_SPAN_CLASSES[rowSpan], MIN_HEIGHT_CLASSES[minHeight], className),
194
+ ...elementProps
195
+ };
196
+ if (href === void 0) return /* @__PURE__ */ jsx("div", {
197
+ ...surface,
198
+ ref,
199
+ children: content
200
+ });
201
+ const anchorSurface = surface;
202
+ if (render !== void 0) {
203
+ const routerLink = render;
204
+ return React.cloneElement(routerLink, {
205
+ ...anchorSurface,
206
+ className: cn(routerLink.props.className, anchorSurface.className),
207
+ ref
208
+ }, content);
209
+ }
210
+ return /* @__PURE__ */ jsx("a", {
211
+ ...anchorSurface,
212
+ href,
213
+ ref,
214
+ children: content
215
+ });
216
+ });
217
+ /**
218
+ * A grid of unequal tiles: per-item spans, clamped to the container's columns.
219
+ *
220
+ * Where `Grid` lays out cells it never touches, a bento's whole content is
221
+ * per-item — so the span is a prop on the tile, from a closed set, and the
222
+ * container clamps it on the way past. One column below `sm`, two from `sm`,
223
+ * the asked-for count from `lg`; the clamp is per breakpoint and not per
224
+ * `cols`, because every container is two tracks wide in between whatever it
225
+ * was asked for.
226
+ *
227
+ * **Static markup — no hooks, no `"use client"`, and it must stay that way.**
228
+ * A directive is per *module*, so a `Bento` built on `useRender` would open a
229
+ * client boundary in every server page that draws one. That is why the router
230
+ * escape hatch is `render`, an *element* that is cloned, rather than a render
231
+ * function; and why {@link Bento.Tile} is a discriminated union rather than a
232
+ * tile that decides at runtime what it is.
233
+ *
234
+ * `BentoTileProps` omits the native `title` from its `<div>` props, the same
235
+ * omission `PanelHeader` and `Item` make: `React.ComponentPropsWithoutRef<"div">`
236
+ * already declares `title?: string`, and narrowing it to a `ReactNode` without
237
+ * the `Omit` is TS2430.
238
+ *
239
+ * @example
240
+ * <Bento.Root cols={3} rows={2} gap={5}>
241
+ * <Bento.Tile span={2} rowSpan={2} minHeight="hero" title="Kitchen sink">
242
+ * Every component, on one page.
243
+ * </Bento.Tile>
244
+ * <Bento.Tile title="Themes" meta={<Chip variant="outline">10</Chip>} />
245
+ * <Bento.Tile title="Density" meta={<Chip variant="outline">5</Chip>} />
246
+ * </Bento.Root>
247
+ * @example
248
+ * <Bento.Tile
249
+ * href="/docs/components/grid"
250
+ * render={<NextLink href="/docs/components/grid" />}
251
+ * eyebrow="@cueplusplus/ui"
252
+ * title="Grid"
253
+ * >
254
+ * Equal columns, or as many as fit.
255
+ * </Bento.Tile>
256
+ * @example
257
+ * <Bento.Tile title="Signal" action={<Button onClick={apply}>Apply</Button>}>
258
+ * <ThemeSwatches theme="signal" />
259
+ * </Bento.Tile>
260
+ */
261
+ const Bento = {
262
+ Root: BentoRoot,
263
+ Tile: BentoTile
264
+ };
265
+ //#endregion
266
+ export { Bento };
@@ -0,0 +1,35 @@
1
+ import * as React from "react";
2
+ //#region src/layout/breadcrumb.d.ts
3
+ /** One crumb in the trail. */
4
+ interface BreadcrumbItem {
5
+ /** What the crumb says. */
6
+ label: React.ReactNode;
7
+ /** Where it goes. Renders an `<a>`. */
8
+ href?: string;
9
+ /** What it does. Renders a `<button>` when there is no `href`. */
10
+ onClick?: React.MouseEventHandler<HTMLElement>;
11
+ }
12
+ interface BreadcrumbProps extends Omit<React.ComponentPropsWithoutRef<"nav">, "children"> {
13
+ /** The trail, root first. The last entry is the current page. */
14
+ items: readonly BreadcrumbItem[];
15
+ /** What sits between crumbs. Defaults to `"/"`. */
16
+ separator?: React.ReactNode;
17
+ /** The nav's accessible name. Defaults to `"Breadcrumb"`. */
18
+ label?: string;
19
+ }
20
+ /**
21
+ * Where you are, and how to get back.
22
+ *
23
+ * The last crumb is never a link: it is the page you are on, marked
24
+ * `aria-current="page"` and set in full-strength ink so the trail has one
25
+ * visible end. Separators are `aria-hidden` — a screen reader announcing
26
+ * "console slash patch slash universe 1" is reading punctuation, not structure.
27
+ *
28
+ * Static markup — no `"use client"`.
29
+ *
30
+ * @example
31
+ * <Breadcrumb items={[{ label: "Console", href: "/" }, { label: "Patch" }]} />
32
+ */
33
+ declare const Breadcrumb: React.ForwardRefExoticComponent<BreadcrumbProps & React.RefAttributes<HTMLElement>>;
34
+ //#endregion
35
+ export { Breadcrumb, BreadcrumbItem, BreadcrumbProps };
@@ -0,0 +1,67 @@
1
+ import { cn } from "../lib/cn.js";
2
+ import * as React from "react";
3
+ import { jsx, jsxs } from "react/jsx-runtime";
4
+ //#region src/layout/breadcrumb.tsx
5
+ /**
6
+ * A crumb that goes somewhere. Muted until hovered, never underlined — the
7
+ * trail is navigation furniture and should not read as body-copy links.
8
+ */
9
+ const CRUMB_LINK_CLASSES = "cursor-pointer rounded-(--radius-control) border-0 bg-transparent p-0 font-mono text-(length:--cue-text-label) text-fg-muted no-underline transition-colors duration-150 outline-none hover:text-accent focus-visible:outline-2 focus-visible:outline-solid focus-visible:outline-offset-2 focus-visible:outline-accent";
10
+ /**
11
+ * Where you are, and how to get back.
12
+ *
13
+ * The last crumb is never a link: it is the page you are on, marked
14
+ * `aria-current="page"` and set in full-strength ink so the trail has one
15
+ * visible end. Separators are `aria-hidden` — a screen reader announcing
16
+ * "console slash patch slash universe 1" is reading punctuation, not structure.
17
+ *
18
+ * Static markup — no `"use client"`.
19
+ *
20
+ * @example
21
+ * <Breadcrumb items={[{ label: "Console", href: "/" }, { label: "Patch" }]} />
22
+ */
23
+ const Breadcrumb = React.forwardRef(function Breadcrumb({ className, items, separator = "/", label = "Breadcrumb", ...elementProps }, ref) {
24
+ return /* @__PURE__ */ jsx("nav", {
25
+ ref,
26
+ "data-slot": "breadcrumb",
27
+ "aria-label": label,
28
+ className: cn("min-w-0", className),
29
+ ...elementProps,
30
+ children: /* @__PURE__ */ jsx("ol", {
31
+ className: "m-0 flex list-none flex-wrap items-center gap-(--cue-space-2) p-0 font-mono text-(length:--cue-text-label) text-fg-muted",
32
+ children: items.map((item, index) => {
33
+ const last = index === items.length - 1;
34
+ return /* @__PURE__ */ jsxs(React.Fragment, { children: [index === 0 ? null : /* @__PURE__ */ jsx("li", {
35
+ "data-slot": "breadcrumb-separator",
36
+ "aria-hidden": "true",
37
+ className: "text-fg-subtle select-none",
38
+ children: separator
39
+ }), /* @__PURE__ */ jsx("li", {
40
+ "data-slot": "breadcrumb-item",
41
+ className: "min-w-0",
42
+ children: last ? /* @__PURE__ */ jsx("span", {
43
+ "data-slot": "breadcrumb-current",
44
+ "aria-current": "page",
45
+ className: "truncate text-fg",
46
+ children: item.label
47
+ }) : item.href !== void 0 ? /* @__PURE__ */ jsx("a", {
48
+ href: item.href,
49
+ onClick: item.onClick,
50
+ className: CRUMB_LINK_CLASSES,
51
+ children: item.label
52
+ }) : item.onClick !== void 0 ? /* @__PURE__ */ jsx("button", {
53
+ type: "button",
54
+ onClick: item.onClick,
55
+ className: CRUMB_LINK_CLASSES,
56
+ children: item.label
57
+ }) : /* @__PURE__ */ jsx("span", {
58
+ className: "truncate",
59
+ children: item.label
60
+ })
61
+ })] }, index);
62
+ })
63
+ })
64
+ });
65
+ });
66
+ //#endregion
67
+ export { Breadcrumb };
@@ -0,0 +1,51 @@
1
+ import * as React from "react";
2
+ //#region src/layout/card.d.ts
3
+ interface CardRootProps extends React.ComponentPropsWithoutRef<"div"> {
4
+ /**
5
+ * Separate the card's sections with hairline seams instead of whitespace.
6
+ *
7
+ * The card is then filled with the border colour and its sections sit `1px`
8
+ * apart, each painting its own opaque ground — the same idiom as `SeamList`,
9
+ * where the gap *is* the rule and can never double up with a border.
10
+ */
11
+ seam?: boolean;
12
+ }
13
+ interface CardHeaderProps extends React.ComponentPropsWithoutRef<"div"> {
14
+ /**
15
+ * Right-hand slot: the controls that act on the whole card (a menu, a status
16
+ * chip, a count).
17
+ */
18
+ actions?: React.ReactNode;
19
+ /** The leading cluster — normally a {@link CardTitle} and a description. */
20
+ children?: React.ReactNode;
21
+ }
22
+ /** Props for {@link CardTitle}: the native `<h3>` surface plus `className`. */
23
+ type CardTitleProps = React.ComponentPropsWithoutRef<"h3">;
24
+ /** Props for {@link CardDescription}: the native `<p>` surface plus `className`. */
25
+ type CardDescriptionProps = React.ComponentPropsWithoutRef<"p">;
26
+ /** Props for {@link CardContent}: the native `<div>` surface plus `className`. */
27
+ type CardContentProps = React.ComponentPropsWithoutRef<"div">;
28
+ /** Props for {@link CardFooter}: the native `<div>` surface plus `className`. */
29
+ type CardFooterProps = React.ComponentPropsWithoutRef<"div">;
30
+ /**
31
+ * A padded container for one thing: a summary, a setting group, a preview.
32
+ *
33
+ * Every section paints its own `surface-1` ground, which is what lets the root
34
+ * switch to the seam idiom without any of the parts knowing.
35
+ *
36
+ * @example
37
+ * <Card.Root seam>
38
+ * <Card.Header><Card.Title>Failover</Card.Title></Card.Header>
39
+ * <Card.Content>…</Card.Content>
40
+ * </Card.Root>
41
+ */
42
+ declare const Card: {
43
+ Root: React.ForwardRefExoticComponent<CardRootProps & React.RefAttributes<HTMLDivElement>>;
44
+ Header: React.ForwardRefExoticComponent<CardHeaderProps & React.RefAttributes<HTMLDivElement>>;
45
+ Title: React.ForwardRefExoticComponent<Omit<React.DetailedHTMLProps<React.HTMLAttributes<HTMLHeadingElement>, HTMLHeadingElement>, "ref"> & React.RefAttributes<HTMLHeadingElement>>;
46
+ Description: React.ForwardRefExoticComponent<Omit<React.DetailedHTMLProps<React.HTMLAttributes<HTMLParagraphElement>, HTMLParagraphElement>, "ref"> & React.RefAttributes<HTMLParagraphElement>>;
47
+ Content: React.ForwardRefExoticComponent<Omit<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
48
+ Footer: React.ForwardRefExoticComponent<Omit<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
49
+ };
50
+ //#endregion
51
+ export { Card, CardContentProps, CardDescriptionProps, CardFooterProps, CardHeaderProps, CardRootProps, CardTitleProps };