@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,88 @@
1
+ import { ContainerWidth } from "../layout/container.js";
2
+ import * as React from "react";
3
+ //#region src/chrome/footer.d.ts
4
+ interface FooterProps extends React.ComponentPropsWithoutRef<"footer"> {
5
+ /**
6
+ * Which measure the footer's column takes. Defaults to `"broad"`.
7
+ *
8
+ * The same four rungs `Container` and `PageShell` offer, so a footer lines up
9
+ * with the page above it by naming the same width — `broad` rather than
10
+ * `narrow` by default because a footer is usually the widest thing on a page,
11
+ * and a row of columns inside a 42rem reading measure is four squeezed lists.
12
+ */
13
+ width?: ContainerWidth;
14
+ /**
15
+ * The fine print, under a hairline of its own: copyright, a licence, a build
16
+ * number.
17
+ *
18
+ * A slot rather than a component, because that row is a sentence and a couple
19
+ * of links — but it is a *separated* sentence, and hand-rolling the rule and
20
+ * the space above it in every app is exactly the kind of repetition this
21
+ * component exists to end.
22
+ */
23
+ meta?: React.ReactNode;
24
+ /** Extra classes for the centred column inside the landmark. */
25
+ columnClassName?: string;
26
+ /** The footer's body — normally a `Grid` of `Stack`s of `Link`s. */
27
+ children?: React.ReactNode;
28
+ }
29
+ /**
30
+ * The `contentinfo` landmark at the bottom of a document: a hairline, a
31
+ * measure, and room for whatever a page ends with.
32
+ *
33
+ * Deliberately **not** a link-list component. A "complex footer" in this system
34
+ * is `Grid` + `Stack` + `Link` inside this one — components that already exist
35
+ * and already carry the density ladder — and a `Grid` with `minItemWidth` fills
36
+ * the row with as many columns as fit, so the footer is responsive without a
37
+ * breakpoint and without a prop for how many columns to draw. What is left over
38
+ * is what a footer actually needs and nothing else has: the landmark, the rule
39
+ * that separates it from the page, the measure that lines it up with the page,
40
+ * and the second rule above the fine print.
41
+ *
42
+ * The band is full-bleed and the column inside it is centred, which is why the
43
+ * hairline runs edge to edge while the links stop at the measure. The column is
44
+ * set in the bar's register — mono, at the UI size — because a footer is
45
+ * furniture. It paints no ground of its own: a footer is the end of the page,
46
+ * not a bar, and the seam is the hairline. Give it `className="bg-surface-1"`
47
+ * where a distinct band is wanted.
48
+ *
49
+ * Inside `AppShell` this is a child of `AppShell.Scroller`, at the end of the
50
+ * content column — so it scrolls with the page and its full bleed is the
51
+ * content column's width, not the window's. A footer placed *beside* the
52
+ * navigation column instead (after `AppShell.Body`) runs under the navigation
53
+ * and reads as chrome it is not. It coexists with `StatusBar`, which is the
54
+ * opposite object: a strip of the frame, always on screen, never scrolled.
55
+ *
56
+ * Under the skin this **is** `Band`'s recipe — `separation="rule"`, spent
57
+ * through `bandClasses` rather than through `<Band>` itself, because `Band`
58
+ * renders a `<section>` and this has to render the `<footer>` that makes it the
59
+ * `contentinfo` landmark. The two dimensions that recipe carries are the
60
+ * rhythm and the rule, and both are the style axis's now, the same as any other
61
+ * band: see `separation`'s table on `Band` for what each `[data-style]` set
62
+ * makes them paint. With no set active nothing changes from what this component
63
+ * always rendered. It does **not** reach `Band`'s other two style-owned
64
+ * spends — the ground and the reading measure — because `separation` is the
65
+ * literal `"rule"` here and `width` is a `ContainerWidth`; `_band.ts`'s
66
+ * docblock says why that is a fact about the published manifest and not only
67
+ * about the markup.
68
+ *
69
+ * Static markup — no `"use client"`.
70
+ *
71
+ * @example
72
+ * <Footer meta={<><span>© 2026 CUE++</span><Link href="/legal">Legal</Link></>}>
73
+ * <Grid minItemWidth="12rem" gap={5}>
74
+ * <Stack gap={2}>
75
+ * <Eyebrow>Docs</Eyebrow>
76
+ * <Link href="/docs">Getting started</Link>
77
+ * <Link href="/docs/theming">Theming</Link>
78
+ * </Stack>
79
+ * <Stack gap={2}>
80
+ * <Eyebrow>Surfaces</Eyebrow>
81
+ * <Link href="/kitchen-sink">Kitchen sink</Link>
82
+ * </Stack>
83
+ * </Grid>
84
+ * </Footer>
85
+ */
86
+ declare const Footer: React.ForwardRefExoticComponent<FooterProps & React.RefAttributes<HTMLElement>>;
87
+ //#endregion
88
+ export { Footer, FooterProps };
@@ -0,0 +1,83 @@
1
+ import { cn } from "../lib/cn.js";
2
+ import { Container } from "../layout/container.js";
3
+ import { bandClasses } from "./_band.js";
4
+ import * as React from "react";
5
+ import { jsx, jsxs } from "react/jsx-runtime";
6
+ //#region src/chrome/footer.tsx
7
+ /**
8
+ * The `contentinfo` landmark at the bottom of a document: a hairline, a
9
+ * measure, and room for whatever a page ends with.
10
+ *
11
+ * Deliberately **not** a link-list component. A "complex footer" in this system
12
+ * is `Grid` + `Stack` + `Link` inside this one — components that already exist
13
+ * and already carry the density ladder — and a `Grid` with `minItemWidth` fills
14
+ * the row with as many columns as fit, so the footer is responsive without a
15
+ * breakpoint and without a prop for how many columns to draw. What is left over
16
+ * is what a footer actually needs and nothing else has: the landmark, the rule
17
+ * that separates it from the page, the measure that lines it up with the page,
18
+ * and the second rule above the fine print.
19
+ *
20
+ * The band is full-bleed and the column inside it is centred, which is why the
21
+ * hairline runs edge to edge while the links stop at the measure. The column is
22
+ * set in the bar's register — mono, at the UI size — because a footer is
23
+ * furniture. It paints no ground of its own: a footer is the end of the page,
24
+ * not a bar, and the seam is the hairline. Give it `className="bg-surface-1"`
25
+ * where a distinct band is wanted.
26
+ *
27
+ * Inside `AppShell` this is a child of `AppShell.Scroller`, at the end of the
28
+ * content column — so it scrolls with the page and its full bleed is the
29
+ * content column's width, not the window's. A footer placed *beside* the
30
+ * navigation column instead (after `AppShell.Body`) runs under the navigation
31
+ * and reads as chrome it is not. It coexists with `StatusBar`, which is the
32
+ * opposite object: a strip of the frame, always on screen, never scrolled.
33
+ *
34
+ * Under the skin this **is** `Band`'s recipe — `separation="rule"`, spent
35
+ * through `bandClasses` rather than through `<Band>` itself, because `Band`
36
+ * renders a `<section>` and this has to render the `<footer>` that makes it the
37
+ * `contentinfo` landmark. The two dimensions that recipe carries are the
38
+ * rhythm and the rule, and both are the style axis's now, the same as any other
39
+ * band: see `separation`'s table on `Band` for what each `[data-style]` set
40
+ * makes them paint. With no set active nothing changes from what this component
41
+ * always rendered. It does **not** reach `Band`'s other two style-owned
42
+ * spends — the ground and the reading measure — because `separation` is the
43
+ * literal `"rule"` here and `width` is a `ContainerWidth`; `_band.ts`'s
44
+ * docblock says why that is a fact about the published manifest and not only
45
+ * about the markup.
46
+ *
47
+ * Static markup — no `"use client"`.
48
+ *
49
+ * @example
50
+ * <Footer meta={<><span>© 2026 CUE++</span><Link href="/legal">Legal</Link></>}>
51
+ * <Grid minItemWidth="12rem" gap={5}>
52
+ * <Stack gap={2}>
53
+ * <Eyebrow>Docs</Eyebrow>
54
+ * <Link href="/docs">Getting started</Link>
55
+ * <Link href="/docs/theming">Theming</Link>
56
+ * </Stack>
57
+ * <Stack gap={2}>
58
+ * <Eyebrow>Surfaces</Eyebrow>
59
+ * <Link href="/kitchen-sink">Kitchen sink</Link>
60
+ * </Stack>
61
+ * </Grid>
62
+ * </Footer>
63
+ */
64
+ const Footer = React.forwardRef(function Footer({ className, columnClassName, width = "broad", meta, children, ...elementProps }, ref) {
65
+ return /* @__PURE__ */ jsx("footer", {
66
+ ref,
67
+ "data-slot": "footer",
68
+ "data-separation": "rule",
69
+ className: cn(bandClasses("rule"), "border-border", className),
70
+ ...elementProps,
71
+ children: /* @__PURE__ */ jsxs(Container, {
72
+ width,
73
+ className: cn("flex flex-col gap-(--cue-space-6) font-mono text-(length:--cue-text-ui)", columnClassName),
74
+ children: [children, meta === void 0 ? null : /* @__PURE__ */ jsx("div", {
75
+ "data-slot": "footer-meta",
76
+ className: "flex flex-wrap items-center justify-between gap-(--cue-space-3) border-t border-border pt-(--cue-space-5) font-mono text-(length:--cue-text-label) text-fg-subtle",
77
+ children: meta
78
+ })]
79
+ })
80
+ });
81
+ });
82
+ //#endregion
83
+ export { Footer };
@@ -0,0 +1,24 @@
1
+ import { ScrollEdges, TAB_FADE_PX, computeScrollEdges, edgeFadeMask } from "./_tabs-scroll.js";
2
+ import { BarOverflow } from "./_edge-scroller.js";
3
+ import { TREE_GUIDE_GLYPHS, TreeGuide, TreeItem, TreeRow, flattenTree } from "./_tree.js";
4
+ import { AppBar, AppBarActionsProps, AppBarBrandProps, AppBarLinkProps, AppBarNavProps, AppBarRegister, AppBarRootProps, AppBarSeparatorProps } from "./app-bar.js";
5
+ import { AppShell, AppShellAsideProps, AppShellBarProps, AppShellBodyProps, AppShellContentProps, AppShellNavTriggerProps, AppShellRootProps, AppShellScrollerProps, AppShellSidebarProps } from "./app-shell.js";
6
+ import { Band, BandProps, BandSeparation, BandWidth } from "./band.js";
7
+ import { EmptyState, EmptyStateProps } from "./empty-state.js";
8
+ import { Eyebrow, EyebrowProps } from "./eyebrow.js";
9
+ import { Footer, FooterProps } from "./footer.js";
10
+ import { Inspector, InspectorFooterProps, InspectorRootProps, InspectorRowProps, InspectorSectionProps } from "./inspector.js";
11
+ import { NavigationMenu, NavigationMenuContentProps, NavigationMenuItemProps, NavigationMenuLinkProps, NavigationMenuListProps, NavigationMenuRootProps, NavigationMenuTriggerProps, NavigationMenuViewportProps } from "./navigation-menu.js";
12
+ import { PageShell, PageShellProps, PageWidth } from "./page-shell.js";
13
+ import { Panel, PanelHeader, PanelHeaderProps, PanelProps } from "./panel.js";
14
+ import { Row, RowProps, SeamList, SeamListProps, rowVariants } from "./row.js";
15
+ import { ScrollArea, ScrollAreaOrientation, ScrollAreaProps } from "./scroll-area.js";
16
+ import { SectionHeader, SectionHeaderProps } from "./section-header.js";
17
+ import { SegmentedControl, SegmentedControlItem, SegmentedControlProps, SegmentedControlSize } from "./segmented-control.js";
18
+ import { StatusBarProminence } from "./_status-bar.js";
19
+ import { StatusBar, StatusBarGroupProps, StatusBarItemProps, StatusBarProps, StatusBarTone } from "./status-bar.js";
20
+ import { ScrollableTabsList, ScrollableTabsListProps, Tabs, TabsListProps, TabsPanelProps, TabsRootProps, TabsTabProps } from "./tabs.js";
21
+ import { TitleBar, TitleBarProps } from "./title-bar.js";
22
+ import { Tree, TreeProps, TreeVisibility, TreeVisibilityToggle, TreeVisibilityToggleProps } from "./tree.js";
23
+ import { Toolbar, ToolbarButtonProps, ToolbarGroupProps, ToolbarRootProps, ToolbarSeparatorProps } from "./toolbar.js";
24
+ export { AppBar, type AppBarActionsProps, type AppBarBrandProps, type AppBarLinkProps, type AppBarNavProps, type AppBarRegister, type AppBarRootProps, type AppBarSeparatorProps, AppShell, type AppShellAsideProps, type AppShellBarProps, type AppShellBodyProps, type AppShellContentProps, type AppShellNavTriggerProps, type AppShellRootProps, type AppShellScrollerProps, type AppShellSidebarProps, Band, type BandProps, type BandSeparation, type BandWidth, type BarOverflow, EmptyState, type EmptyStateProps, Eyebrow, type EyebrowProps, Footer, type FooterProps, Inspector, type InspectorFooterProps, type InspectorRootProps, type InspectorRowProps, type InspectorSectionProps, NavigationMenu, type NavigationMenuContentProps, type NavigationMenuItemProps, type NavigationMenuLinkProps, type NavigationMenuListProps, type NavigationMenuRootProps, type NavigationMenuTriggerProps, type NavigationMenuViewportProps, PageShell, type PageShellProps, type PageWidth, Panel, PanelHeader, type PanelHeaderProps, type PanelProps, Row, type RowProps, ScrollArea, type ScrollAreaOrientation, type ScrollAreaProps, type ScrollEdges, ScrollableTabsList, type ScrollableTabsListProps, SeamList, type SeamListProps, SectionHeader, type SectionHeaderProps, SegmentedControl, type SegmentedControlItem, type SegmentedControlProps, type SegmentedControlSize, StatusBar, type StatusBarGroupProps, type StatusBarItemProps, type StatusBarProminence, type StatusBarProps, type StatusBarTone, TAB_FADE_PX, TREE_GUIDE_GLYPHS, Tabs, type TabsListProps, type TabsPanelProps, type TabsRootProps, type TabsTabProps, TitleBar, type TitleBarProps, Toolbar, type ToolbarButtonProps, type ToolbarGroupProps, type ToolbarRootProps, type ToolbarSeparatorProps, Tree, type TreeGuide, type TreeItem, type TreeProps, type TreeRow, type TreeVisibility, TreeVisibilityToggle, type TreeVisibilityToggleProps, computeScrollEdges, edgeFadeMask, flattenTree, rowVariants };
@@ -0,0 +1,22 @@
1
+ import { TAB_FADE_PX, computeScrollEdges, edgeFadeMask } from "./_tabs-scroll.js";
2
+ import { TREE_GUIDE_GLYPHS, flattenTree } from "./_tree.js";
3
+ import { AppBar } from "./app-bar.js";
4
+ import { AppShell } from "./app-shell.js";
5
+ import { Band } from "./band.js";
6
+ import { EmptyState } from "./empty-state.js";
7
+ import { Eyebrow } from "./eyebrow.js";
8
+ import { Footer } from "./footer.js";
9
+ import { SectionHeader } from "./section-header.js";
10
+ import { Inspector } from "./inspector.js";
11
+ import { NavigationMenu } from "./navigation-menu.js";
12
+ import { PageShell } from "./page-shell.js";
13
+ import { Panel, PanelHeader } from "./panel.js";
14
+ import { Row, SeamList, rowVariants } from "./row.js";
15
+ import { ScrollArea } from "./scroll-area.js";
16
+ import { SegmentedControl } from "./segmented-control.js";
17
+ import { StatusBar } from "./status-bar.js";
18
+ import { ScrollableTabsList, Tabs } from "./tabs.js";
19
+ import { TitleBar } from "./title-bar.js";
20
+ import { Tree, TreeVisibilityToggle } from "./tree.js";
21
+ import { Toolbar } from "./toolbar.js";
22
+ export { AppBar, AppShell, Band, EmptyState, Eyebrow, Footer, Inspector, NavigationMenu, PageShell, Panel, PanelHeader, Row, ScrollArea, ScrollableTabsList, SeamList, SectionHeader, SegmentedControl, StatusBar, TAB_FADE_PX, TREE_GUIDE_GLYPHS, Tabs, TitleBar, Toolbar, Tree, TreeVisibilityToggle, computeScrollEdges, edgeFadeMask, flattenTree, rowVariants };
@@ -0,0 +1,61 @@
1
+ import * as React from "react";
2
+ //#region src/chrome/inspector.d.ts
3
+ interface InspectorRootProps extends React.ComponentPropsWithoutRef<"div"> {
4
+ /** The sections, then the footer. */
5
+ children?: React.ReactNode;
6
+ }
7
+ interface InspectorSectionProps extends React.ComponentPropsWithoutRef<"div"> {
8
+ /** The section's title — "Variants", "Stage". Drawn by a `SectionHeader` and read as the group's name. */
9
+ label: string;
10
+ /** The section's rows. */
11
+ children?: React.ReactNode;
12
+ }
13
+ interface InspectorRowProps extends React.ComponentPropsWithoutRef<"div"> {
14
+ /**
15
+ * What the control sets — "Size", "Theme". Drawn before it, and read as its
16
+ * name: a `<label>` for it when `htmlFor` is given, and otherwise laid on
17
+ * the control as `aria-label`, unless the control already names itself.
18
+ */
19
+ label: string;
20
+ /** The control's `id`, when it takes one: the label then becomes a `<label>` for it. */
21
+ htmlFor?: string;
22
+ /** The control — one element, any of the library's own. A row names a single control. */
23
+ children?: React.ReactNode;
24
+ }
25
+ interface InspectorFooterProps extends React.ComponentPropsWithoutRef<"div"> {
26
+ /** A quiet line on the left: which preset this is, or that none matches. */
27
+ note?: React.ReactNode;
28
+ /** The footer's one action, on the right — by convention a small `Button`. */
29
+ action?: React.ReactNode;
30
+ }
31
+ /**
32
+ * The shape a settings panel, a properties sidebar and a wrench menu share:
33
+ * titled sections of label-and-control rows, with a footer.
34
+ *
35
+ * Layout and nothing else — the controls are the library's own. A section is
36
+ * a group headed by a `SectionHeader`; a row is a label then its control, one
37
+ * column in a narrow container and two from 18rem; the footer holds a quiet
38
+ * note and one action.
39
+ *
40
+ * **Static markup — no hooks, no `"use client"`**, so a server page can draw
41
+ * one. Labels are strings for the same reason: a row with no `htmlFor` lays its
42
+ * label on its control as `aria-label`, rather than pointing at an id nobody
43
+ * has generated. The row itself carries no role.
44
+ *
45
+ * @example
46
+ * <Inspector.Root>
47
+ * <Inspector.Section label="Variants">
48
+ * <Inspector.Row label="Size"><SegmentedControl items={sizes} /></Inspector.Row>
49
+ * <Inspector.Row label="Label" htmlFor="label"><Input id="label" /></Inspector.Row>
50
+ * </Inspector.Section>
51
+ * <Inspector.Footer note="preset · button-hero" action={<Button size="sm">Reset</Button>} />
52
+ * </Inspector.Root>
53
+ */
54
+ declare const Inspector: {
55
+ Root: React.ForwardRefExoticComponent<InspectorRootProps & React.RefAttributes<HTMLDivElement>>;
56
+ Section: React.ForwardRefExoticComponent<InspectorSectionProps & React.RefAttributes<HTMLDivElement>>;
57
+ Row: React.ForwardRefExoticComponent<InspectorRowProps & React.RefAttributes<HTMLDivElement>>;
58
+ Footer: React.ForwardRefExoticComponent<InspectorFooterProps & React.RefAttributes<HTMLDivElement>>;
59
+ };
60
+ //#endregion
61
+ export { Inspector, InspectorFooterProps, InspectorRootProps, InspectorRowProps, InspectorSectionProps };
@@ -0,0 +1,121 @@
1
+ import { cn } from "../lib/cn.js";
2
+ import { SectionHeader } from "./section-header.js";
3
+ import * as React from "react";
4
+ import { jsx, jsxs } from "react/jsx-runtime";
5
+ //#region src/chrome/inspector.tsx
6
+ /** A size container, so a row's two columns depend on the inspector's width and not the page's. */
7
+ const ROOT_CLASS = "@container flex min-w-0 flex-col";
8
+ const SECTION_CLASS = "flex flex-col gap-(--cue-space-3) border-t border-border px-(--cue-space-4) py-(--cue-space-3) first:border-t-0";
9
+ /** Static literals: Tailwind scans source text, not computed strings. */
10
+ const ROW_CLASS = "grid grid-cols-1 gap-(--cue-space-2) @min-[18rem]:grid-cols-[6rem_minmax(0,1fr)] @min-[18rem]:items-center";
11
+ const LABEL_CLASS = "text-(length:--cue-text-ui) text-fg-muted";
12
+ const FOOTER_CLASS = "flex items-center justify-between gap-(--cue-space-3) border-t border-border px-(--cue-space-4) py-(--cue-space-3)";
13
+ const NOTE_CLASS = "min-w-0 truncate font-mono text-(length:--cue-text-label) text-fg-subtle";
14
+ /** `ms-auto` so a lone action still sits at the end edge: `space-between` alone puts a single flex child at the start. */
15
+ const FOOTER_ACTION_CLASS = "ms-auto";
16
+ /**
17
+ * A row's words, laid on its control as the control's own name.
18
+ *
19
+ * A row with no `htmlFor` has no id to point a `<label>` at, and generating one
20
+ * would take `useId` — a hook, and with it this module's place in a server
21
+ * component. So the control is cloned with `aria-label={label}`: cloning is not
22
+ * a hook, which is why `Bento.Tile` clones its `render` link the same way. A
23
+ * control that already names itself keeps its name. Anything that is not one
24
+ * element — text, a list, a fragment — is left as it is, because an
25
+ * `aria-label` on a fragment is an attribute on nothing.
26
+ *
27
+ * The row itself carries no role. A `SegmentedControl` is already a group, and
28
+ * a row that named itself a group with the same words would be two groups with
29
+ * one name, announced twice.
30
+ */
31
+ function nameControl(control, label) {
32
+ if (!React.isValidElement(control) || control.type === React.Fragment) return control;
33
+ if (control.props["aria-label"] !== void 0 || control.props["aria-labelledby"] !== void 0) return control;
34
+ return React.cloneElement(control, { "aria-label": label });
35
+ }
36
+ /**
37
+ * The shape a settings panel, a properties sidebar and a wrench menu share:
38
+ * titled sections of label-and-control rows, with a footer.
39
+ *
40
+ * Layout and nothing else — the controls are the library's own. A section is
41
+ * a group headed by a `SectionHeader`; a row is a label then its control, one
42
+ * column in a narrow container and two from 18rem; the footer holds a quiet
43
+ * note and one action.
44
+ *
45
+ * **Static markup — no hooks, no `"use client"`**, so a server page can draw
46
+ * one. Labels are strings for the same reason: a row with no `htmlFor` lays its
47
+ * label on its control as `aria-label`, rather than pointing at an id nobody
48
+ * has generated. The row itself carries no role.
49
+ *
50
+ * @example
51
+ * <Inspector.Root>
52
+ * <Inspector.Section label="Variants">
53
+ * <Inspector.Row label="Size"><SegmentedControl items={sizes} /></Inspector.Row>
54
+ * <Inspector.Row label="Label" htmlFor="label"><Input id="label" /></Inspector.Row>
55
+ * </Inspector.Section>
56
+ * <Inspector.Footer note="preset · button-hero" action={<Button size="sm">Reset</Button>} />
57
+ * </Inspector.Root>
58
+ */
59
+ const Inspector = {
60
+ Root: React.forwardRef(function InspectorRoot({ className, children, ...elementProps }, ref) {
61
+ return /* @__PURE__ */ jsx("div", {
62
+ ...elementProps,
63
+ ref,
64
+ "data-slot": "inspector",
65
+ className: cn(ROOT_CLASS, className),
66
+ children
67
+ });
68
+ }),
69
+ Section: React.forwardRef(function InspectorSection({ label, className, children, ...elementProps }, ref) {
70
+ return /* @__PURE__ */ jsxs("div", {
71
+ ...elementProps,
72
+ ref,
73
+ role: "group",
74
+ "aria-label": label,
75
+ "data-slot": "inspector-section",
76
+ className: cn(SECTION_CLASS, className),
77
+ children: [/* @__PURE__ */ jsx(SectionHeader, { label }), children]
78
+ });
79
+ }),
80
+ Row: React.forwardRef(function InspectorRow({ label, htmlFor, className, children, ...elementProps }, ref) {
81
+ return /* @__PURE__ */ jsxs("div", {
82
+ ...elementProps,
83
+ ref,
84
+ "data-slot": "inspector-row",
85
+ className: cn(ROW_CLASS, className),
86
+ children: [htmlFor === void 0 ? /* @__PURE__ */ jsx("span", {
87
+ "data-slot": "inspector-row-label",
88
+ className: LABEL_CLASS,
89
+ children: label
90
+ }) : /* @__PURE__ */ jsx("label", {
91
+ "data-slot": "inspector-row-label",
92
+ htmlFor,
93
+ className: LABEL_CLASS,
94
+ children: label
95
+ }), /* @__PURE__ */ jsx("div", {
96
+ "data-slot": "inspector-row-control",
97
+ className: "min-w-0",
98
+ children: htmlFor === void 0 ? nameControl(children, label) : children
99
+ })]
100
+ });
101
+ }),
102
+ Footer: React.forwardRef(function InspectorFooter({ note, action, className, ...elementProps }, ref) {
103
+ return /* @__PURE__ */ jsxs("div", {
104
+ ...elementProps,
105
+ ref,
106
+ "data-slot": "inspector-footer",
107
+ className: cn(FOOTER_CLASS, className),
108
+ children: [note === void 0 ? null : /* @__PURE__ */ jsx("span", {
109
+ "data-slot": "inspector-footer-note",
110
+ className: NOTE_CLASS,
111
+ children: note
112
+ }), action === void 0 ? null : /* @__PURE__ */ jsx("span", {
113
+ "data-slot": "inspector-footer-action",
114
+ className: FOOTER_ACTION_CLASS,
115
+ children: action
116
+ })]
117
+ });
118
+ })
119
+ };
120
+ //#endregion
121
+ export { Inspector };
@@ -0,0 +1,80 @@
1
+ import * as React from "react";
2
+ import { NavigationMenu } from "@base-ui/react/navigation-menu";
3
+ //#region src/chrome/navigation-menu.d.ts
4
+ interface NavigationMenuRootProps extends Omit<NavigationMenu.Root.Props, "className"> {
5
+ /** Extra classes for the `<nav>`. */
6
+ className?: string;
7
+ }
8
+ interface NavigationMenuListProps extends Omit<NavigationMenu.List.Props, "className"> {
9
+ /** Extra classes for the strip of items. */
10
+ className?: string;
11
+ }
12
+ interface NavigationMenuItemProps extends NavigationMenu.Item.Props {}
13
+ interface NavigationMenuTriggerProps extends Omit<NavigationMenu.Trigger.Props, "className"> {
14
+ /** Extra classes for the trigger. */
15
+ className?: string;
16
+ /** Draw the caret that says a panel opens below. Defaults to `true`. */
17
+ caret?: boolean;
18
+ }
19
+ interface NavigationMenuContentProps extends Omit<NavigationMenu.Content.Props, "className"> {
20
+ /** Extra classes for the panel body. */
21
+ className?: string;
22
+ }
23
+ interface NavigationMenuLinkProps extends Omit<NavigationMenu.Link.Props, "className"> {
24
+ /** Extra classes for the link row. */
25
+ className?: string;
26
+ /** Supporting line under the label. */
27
+ description?: React.ReactNode;
28
+ /** Mark this link as the current destination. */
29
+ active?: boolean;
30
+ }
31
+ interface NavigationMenuViewportProps extends Omit<NavigationMenu.Popup.Props, "className"> {
32
+ /** Extra classes for the popup surface. */
33
+ className?: string;
34
+ /** Extra classes for the positioner that places the popup. */
35
+ positionerClassName?: string;
36
+ /** Gap in px between the strip and the popup. Defaults to `4`. */
37
+ sideOffset?: NavigationMenu.Positioner.Props["sideOffset"];
38
+ /** Alignment along the bottom of the active trigger. Defaults to `"start"`. */
39
+ align?: NavigationMenu.Positioner.Props["align"];
40
+ }
41
+ /**
42
+ * The marketing-shaped navigation header: a strip of words, each opening a panel
43
+ * of destinations.
44
+ *
45
+ * Wraps Base UI's `NavigationMenu`, which is the right primitive because a
46
+ * navigation menu is *not* a menu: its rows are links, not commands, so it must
47
+ * not take `role="menu"` (which tells a screen reader to expect commands and
48
+ * swallows the browser's own link affordances). Hover intent, the shared
49
+ * resizing popup, focus handling and the landmark are all the primitive's.
50
+ *
51
+ * Reach for {@link Menubar} when the entries run commands, `Tabs` when they
52
+ * switch a panel in place, and `Sidebar` when the console has more than about
53
+ * six destinations.
54
+ *
55
+ * @example
56
+ * <NavigationMenu.Root aria-label="Console">
57
+ * <NavigationMenu.List>
58
+ * <NavigationMenu.Item>
59
+ * <NavigationMenu.Trigger>Patch</NavigationMenu.Trigger>
60
+ * <NavigationMenu.Content>
61
+ * <NavigationMenu.Link href="/patch/fixtures" description="Everything addressed">
62
+ * Fixtures
63
+ * </NavigationMenu.Link>
64
+ * </NavigationMenu.Content>
65
+ * </NavigationMenu.Item>
66
+ * </NavigationMenu.List>
67
+ * <NavigationMenu.Viewport />
68
+ * </NavigationMenu.Root>
69
+ */
70
+ declare const NavigationMenu$1: {
71
+ Root: React.ForwardRefExoticComponent<Omit<NavigationMenuRootProps, "ref"> & React.RefAttributes<HTMLElement>>;
72
+ List: React.ForwardRefExoticComponent<Omit<NavigationMenuListProps, "ref"> & React.RefAttributes<HTMLUListElement>>;
73
+ Item: React.ForwardRefExoticComponent<Omit<NavigationMenuItemProps, "ref"> & React.RefAttributes<HTMLLIElement>>;
74
+ Trigger: React.ForwardRefExoticComponent<Omit<NavigationMenuTriggerProps, "ref"> & React.RefAttributes<HTMLButtonElement>>;
75
+ Content: React.ForwardRefExoticComponent<Omit<NavigationMenuContentProps, "ref"> & React.RefAttributes<HTMLDivElement>>;
76
+ Link: React.ForwardRefExoticComponent<Omit<NavigationMenuLinkProps, "ref"> & React.RefAttributes<HTMLAnchorElement>>;
77
+ Viewport: React.ForwardRefExoticComponent<Omit<NavigationMenuViewportProps, "ref"> & React.RefAttributes<HTMLDivElement>>;
78
+ };
79
+ //#endregion
80
+ export { NavigationMenu$1 as NavigationMenu, NavigationMenuContentProps, NavigationMenuItemProps, NavigationMenuLinkProps, NavigationMenuListProps, NavigationMenuRootProps, NavigationMenuTriggerProps, NavigationMenuViewportProps };
@@ -0,0 +1,121 @@
1
+ "use client";
2
+ import { cn } from "../lib/cn.js";
3
+ import { CaretDownGlyph } from "./_glyphs.js";
4
+ import { useCuePortalProps } from "../system/portal.js";
5
+ import { overlayPopupTransitionClasses, overlayPositionerClasses, overlaySurfaceClasses } from "../overlays/_surface.js";
6
+ import * as React from "react";
7
+ import { jsx, jsxs } from "react/jsx-runtime";
8
+ import { NavigationMenu } from "@base-ui/react/navigation-menu";
9
+ /**
10
+ * The marketing-shaped navigation header: a strip of words, each opening a panel
11
+ * of destinations.
12
+ *
13
+ * Wraps Base UI's `NavigationMenu`, which is the right primitive because a
14
+ * navigation menu is *not* a menu: its rows are links, not commands, so it must
15
+ * not take `role="menu"` (which tells a screen reader to expect commands and
16
+ * swallows the browser's own link affordances). Hover intent, the shared
17
+ * resizing popup, focus handling and the landmark are all the primitive's.
18
+ *
19
+ * Reach for {@link Menubar} when the entries run commands, `Tabs` when they
20
+ * switch a panel in place, and `Sidebar` when the console has more than about
21
+ * six destinations.
22
+ *
23
+ * @example
24
+ * <NavigationMenu.Root aria-label="Console">
25
+ * <NavigationMenu.List>
26
+ * <NavigationMenu.Item>
27
+ * <NavigationMenu.Trigger>Patch</NavigationMenu.Trigger>
28
+ * <NavigationMenu.Content>
29
+ * <NavigationMenu.Link href="/patch/fixtures" description="Everything addressed">
30
+ * Fixtures
31
+ * </NavigationMenu.Link>
32
+ * </NavigationMenu.Content>
33
+ * </NavigationMenu.Item>
34
+ * </NavigationMenu.List>
35
+ * <NavigationMenu.Viewport />
36
+ * </NavigationMenu.Root>
37
+ */
38
+ const NavigationMenu$1 = {
39
+ Root: React.forwardRef(function NavigationMenuRoot({ className, ...elementProps }, ref) {
40
+ return /* @__PURE__ */ jsx(NavigationMenu.Root, {
41
+ ref,
42
+ "data-slot": "navigation-menu",
43
+ className: cn("relative", className),
44
+ ...elementProps
45
+ });
46
+ }),
47
+ List: React.forwardRef(function NavigationMenuList({ className, ...elementProps }, ref) {
48
+ return /* @__PURE__ */ jsx(NavigationMenu.List, {
49
+ ref,
50
+ "data-slot": "navigation-menu-list",
51
+ className: cn("flex items-center gap-(--cue-space-1)", className),
52
+ ...elementProps
53
+ });
54
+ }),
55
+ Item: React.forwardRef(function NavigationMenuItem({ className, ...elementProps }, ref) {
56
+ return /* @__PURE__ */ jsx(NavigationMenu.Item, {
57
+ ref,
58
+ "data-slot": "navigation-menu-item",
59
+ className: cn(className),
60
+ ...elementProps
61
+ });
62
+ }),
63
+ Trigger: React.forwardRef(function NavigationMenuTrigger({ className, caret = true, children, ...elementProps }, ref) {
64
+ return /* @__PURE__ */ jsxs(NavigationMenu.Trigger, {
65
+ ref,
66
+ "data-slot": "navigation-menu-trigger",
67
+ className: cn("inline-flex h-control-md cursor-default items-center gap-(--cue-space-2) rounded-(--radius-control) px-(--cue-space-3) font-mono text-(length:--cue-text-ui) whitespace-nowrap text-fg-muted no-underline transition-colors duration-150 outline-none select-none hover:text-fg focus-visible:outline-2 focus-visible:outline-solid focus-visible:-outline-offset-1 focus-visible:outline-accent data-[popup-open]:bg-accent-soft data-[popup-open]:text-fg", className),
68
+ ...elementProps,
69
+ children: [children, caret ? /* @__PURE__ */ jsx(NavigationMenu.Icon, {
70
+ className: "flex items-center transition-transform duration-150 data-[popup-open]:rotate-180 motion-reduce:transition-none",
71
+ children: /* @__PURE__ */ jsx(CaretDownGlyph, { className: "size-icon-sm text-fg-subtle" })
72
+ }) : null]
73
+ });
74
+ }),
75
+ Content: React.forwardRef(function NavigationMenuContent({ className, ...elementProps }, ref) {
76
+ return /* @__PURE__ */ jsx(NavigationMenu.Content, {
77
+ ref,
78
+ "data-slot": "navigation-menu-content",
79
+ className: cn("flex w-[min(20rem,calc(100vw-2rem))] flex-col gap-(--cue-space-1) p-(--cue-space-2)", className),
80
+ ...elementProps
81
+ });
82
+ }),
83
+ Link: React.forwardRef(function NavigationMenuLink({ className, description, active, children, ...elementProps }, ref) {
84
+ return /* @__PURE__ */ jsxs(NavigationMenu.Link, {
85
+ ref,
86
+ "data-slot": "navigation-menu-link",
87
+ "data-active": active === true ? "" : void 0,
88
+ "aria-current": active === true ? "page" : void 0,
89
+ className: cn("flex cursor-pointer flex-col gap-(--cue-space-1) rounded-(--radius-control) px-(--cue-space-3) py-(--cue-space-2) font-mono text-(length:--cue-text-ui) text-fg-muted no-underline transition-colors duration-150 outline-none select-none hover:bg-surface-3 hover:text-fg focus-visible:outline-2 focus-visible:outline-solid focus-visible:-outline-offset-1 focus-visible:outline-accent data-[active]:text-accent", className),
90
+ ...elementProps,
91
+ children: [/* @__PURE__ */ jsx("span", { children }), description === void 0 ? null : /* @__PURE__ */ jsx("span", {
92
+ className: "text-(length:--cue-text-label) leading-(--cue-leading-ui) text-fg-subtle",
93
+ children: description
94
+ })]
95
+ });
96
+ }),
97
+ Viewport: React.forwardRef(function NavigationMenuViewport({ className, positionerClassName, sideOffset = 4, align = "start", ...popupProps }, ref) {
98
+ const portalProps = useCuePortalProps();
99
+ return /* @__PURE__ */ jsx(NavigationMenu.Portal, {
100
+ ...portalProps,
101
+ children: /* @__PURE__ */ jsx(NavigationMenu.Positioner, {
102
+ className: cn(overlayPositionerClasses, "h-(--positioner-height) w-(--positioner-width) max-w-(--available-width)", positionerClassName),
103
+ side: "bottom",
104
+ align,
105
+ sideOffset,
106
+ children: /* @__PURE__ */ jsx(NavigationMenu.Popup, {
107
+ ref,
108
+ "data-slot": "navigation-menu-popup",
109
+ className: cn(overlaySurfaceClasses, overlayPopupTransitionClasses, "relative h-(--popup-height) w-(--popup-width) overflow-hidden outline-none", className),
110
+ ...popupProps,
111
+ children: /* @__PURE__ */ jsx(NavigationMenu.Viewport, {
112
+ "data-slot": "navigation-menu-viewport",
113
+ className: "relative h-full w-full overflow-hidden"
114
+ })
115
+ })
116
+ })
117
+ });
118
+ })
119
+ };
120
+ //#endregion
121
+ export { NavigationMenu$1 as NavigationMenu };
@@ -0,0 +1,38 @@
1
+ import * as React from "react";
2
+ //#region src/chrome/page-shell.d.ts
3
+ /** How wide the content column is allowed to get. */
4
+ type PageWidth = "narrow" | "wide" | "broad" | "full";
5
+ interface PageShellProps extends Omit<React.ComponentPropsWithoutRef<"div">, "title"> {
6
+ /** Which measure the content column takes. Defaults to `"narrow"`. */
7
+ width?: PageWidth;
8
+ /** The page heading. Rendered as the `<h1>`. */
9
+ title?: React.ReactNode;
10
+ /** One supporting line under the title. */
11
+ subtitle?: React.ReactNode;
12
+ /** Accent kicker above the title — normally an `<Eyebrow>`. */
13
+ eyebrow?: React.ReactNode;
14
+ /** Page-level actions, aligned with the title. */
15
+ actions?: React.ReactNode;
16
+ /** The page body. */
17
+ children?: React.ReactNode;
18
+ }
19
+ /**
20
+ * A centred content column with a standard page header.
21
+ *
22
+ * The header is emitted only when something fills it, so a shell used purely
23
+ * for its measure adds no empty box and no stray vertical rhythm.
24
+ *
25
+ * Renders a plain `<div>` rather than a `<main>`: a page can hold more than one
26
+ * shell (a split view), and only one element per document may be `<main>`. Wrap
27
+ * it yourself where the semantics apply.
28
+ *
29
+ * Static markup — no `"use client"`.
30
+ *
31
+ * @example
32
+ * <PageShell title="Patch" subtitle="512 channels" eyebrow={<Eyebrow>Console</Eyebrow>}>
33
+ * <Panel>…</Panel>
34
+ * </PageShell>
35
+ */
36
+ declare const PageShell: React.ForwardRefExoticComponent<PageShellProps & React.RefAttributes<HTMLDivElement>>;
37
+ //#endregion
38
+ export { PageShell, PageShellProps, PageWidth };