@cueplusplus/ui 0.12.0 → 0.14.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 (196) hide show
  1. package/CHANGELOG.md +305 -0
  2. package/LICENSE +21 -0
  3. package/NOTICE.md +34 -0
  4. package/README.md +2 -19
  5. package/dist/agent-runtime/tool-call-card.js +2 -2
  6. package/dist/chat/ask-box.js +2 -2
  7. package/dist/chat/composer.js +1 -1
  8. package/dist/chat/message.js +1 -1
  9. package/dist/chrome/_band.js +54 -0
  10. package/dist/chrome/band.d.ts +106 -0
  11. package/dist/chrome/band.js +97 -0
  12. package/dist/chrome/empty-state.js +1 -1
  13. package/dist/chrome/footer.d.ts +13 -0
  14. package/dist/chrome/footer.js +17 -2
  15. package/dist/chrome/index.d.ts +2 -1
  16. package/dist/chrome/index.js +2 -1
  17. package/dist/chrome/navigation-menu.js +1 -1
  18. package/dist/chrome/page-shell.js +4 -4
  19. package/dist/configurator/export-dialog.js +1 -1
  20. package/dist/configurator/panel-sections.js +1 -1
  21. package/dist/elements/agent-card.js +1 -1
  22. package/dist/elements/agent-handoff.js +2 -2
  23. package/dist/elements/canvas-split.js +2 -2
  24. package/dist/elements/chat-panel.js +1 -1
  25. package/dist/elements/code-diff.js +1 -1
  26. package/dist/elements/code-runner.js +2 -2
  27. package/dist/elements/comparison-card.js +1 -1
  28. package/dist/elements/confidence-marker.js +1 -1
  29. package/dist/elements/conversation-search.js +1 -1
  30. package/dist/elements/day-separator.js +1 -1
  31. package/dist/elements/document-reference.js +1 -1
  32. package/dist/elements/edit-message.js +1 -1
  33. package/dist/elements/elicitation-form.js +1 -1
  34. package/dist/elements/guardrail-notice.js +1 -1
  35. package/dist/elements/image-generation.js +1 -1
  36. package/dist/elements/inline-citation.js +2 -2
  37. package/dist/elements/markdown.js +1 -1
  38. package/dist/elements/math-block.js +1 -1
  39. package/dist/elements/message-branches.js +1 -1
  40. package/dist/elements/message-pair.js +1 -1
  41. package/dist/elements/onboarding.js +2 -2
  42. package/dist/elements/prompt-library.js +1 -1
  43. package/dist/elements/quote-reply.js +2 -2
  44. package/dist/elements/read-aloud.js +1 -1
  45. package/dist/elements/reasoning-panel.js +1 -1
  46. package/dist/elements/recommendation-card.js +1 -1
  47. package/dist/elements/research-report.js +1 -1
  48. package/dist/elements/retrieval-chunks.js +1 -1
  49. package/dist/elements/reviewable-diff.js +1 -1
  50. package/dist/elements/score-breakdown.js +1 -1
  51. package/dist/elements/scroll-anchor.js +1 -1
  52. package/dist/elements/settings-panel.js +1 -1
  53. package/dist/elements/shared-conversation.js +1 -1
  54. package/dist/elements/speaker-identity.js +1 -1
  55. package/dist/elements/stopped-run.js +1 -1
  56. package/dist/elements/streaming-text.js +1 -1
  57. package/dist/elements/timeline.js +1 -1
  58. package/dist/elements/tool-error.js +1 -1
  59. package/dist/elements/voice-conversation.js +1 -1
  60. package/dist/forms/textarea.js +1 -1
  61. package/dist/index.d.ts +5 -4
  62. package/dist/index.js +4 -2
  63. package/dist/instruments/code-block.js +1 -1
  64. package/dist/instruments/progress.d.ts +19 -3
  65. package/dist/instruments/progress.js +19 -1
  66. package/dist/instruments/terminal-frame.js +1 -1
  67. package/dist/layout/_collapse.js +1 -1
  68. package/dist/layout/card.js +1 -1
  69. package/dist/layout/container.js +3 -3
  70. package/dist/layout/frames.d.ts +19 -1
  71. package/dist/layout/frames.js +21 -7
  72. package/dist/layout/index.d.ts +2 -2
  73. package/dist/layout/preview.d.ts +29 -9
  74. package/dist/layout/preview.js +38 -17
  75. package/dist/overlays/_surface.d.ts +1 -1
  76. package/dist/overlays/_surface.js +1 -1
  77. package/dist/overlays/toast.js +1 -1
  78. package/dist/overlays/tooltip.js +1 -1
  79. package/dist/primitives/chip.d.ts +1 -1
  80. package/dist/system/density.d.ts +34 -6
  81. package/dist/system/density.js +41 -10
  82. package/dist/system/index.d.ts +2 -1
  83. package/dist/system/index.js +2 -1
  84. package/dist/system/portal.d.ts +8 -7
  85. package/dist/system/portal.js +16 -9
  86. package/dist/system/prepaint.d.ts +25 -5
  87. package/dist/system/prepaint.js +10 -2
  88. package/dist/system/theme-provider.d.ts +86 -7
  89. package/dist/system/theme-provider.js +62 -20
  90. package/dist/system/use-theme.d.ts +9 -2
  91. package/dist/system/use-theme.js +9 -2
  92. package/dist/system/vocabulary.d.ts +2 -1
  93. package/dist/system/vocabulary.js +16 -2
  94. package/manifest/components/accordion.json +1 -0
  95. package/manifest/components/agent-card.json +1 -0
  96. package/manifest/components/agent-handoff.json +1 -0
  97. package/manifest/components/alert-dialog.json +1 -0
  98. package/manifest/components/ask-box.json +1 -0
  99. package/manifest/components/autocomplete.json +1 -0
  100. package/manifest/components/band.json +104 -0
  101. package/manifest/components/canvas-split-body.json +1 -0
  102. package/manifest/components/canvas-split-document.json +1 -0
  103. package/manifest/components/canvas-split-header.json +1 -0
  104. package/manifest/components/canvas-split-line.json +1 -0
  105. package/manifest/components/canvas-split-message.json +1 -0
  106. package/manifest/components/canvas-split-thread.json +1 -0
  107. package/manifest/components/canvas-split.json +1 -0
  108. package/manifest/components/card.json +1 -0
  109. package/manifest/components/channel-matrix.json +1 -0
  110. package/manifest/components/chart-tooltip-content.json +1 -0
  111. package/manifest/components/chat-panel-assistant-message.json +1 -0
  112. package/manifest/components/chat-panel-composer.json +1 -0
  113. package/manifest/components/chat-panel-messages.json +1 -0
  114. package/manifest/components/chat-panel-typing.json +1 -0
  115. package/manifest/components/chat-panel-user-message.json +1 -0
  116. package/manifest/components/chat-panel.json +1 -0
  117. package/manifest/components/code-block.json +1 -0
  118. package/manifest/components/code-diff.json +1 -0
  119. package/manifest/components/code-runner.json +1 -0
  120. package/manifest/components/collapsible.json +1 -0
  121. package/manifest/components/colors-section.json +1 -0
  122. package/manifest/components/combobox.json +1 -0
  123. package/manifest/components/command-palette.json +1 -0
  124. package/manifest/components/comparison-card.json +1 -0
  125. package/manifest/components/composer.json +1 -0
  126. package/manifest/components/confidence-marker.json +1 -0
  127. package/manifest/components/container.json +3 -0
  128. package/manifest/components/context-menu.json +1 -0
  129. package/manifest/components/conversation-search.json +1 -0
  130. package/manifest/components/cue-portal-frame.json +1 -1
  131. package/manifest/components/day-separator.json +1 -0
  132. package/manifest/components/density.json +16 -1
  133. package/manifest/components/dialog.json +1 -0
  134. package/manifest/components/disclosure.json +1 -0
  135. package/manifest/components/dmx-bar.json +1 -0
  136. package/manifest/components/dmx-strip.json +1 -0
  137. package/manifest/components/document-reference.json +1 -0
  138. package/manifest/components/drawer.json +1 -0
  139. package/manifest/components/dropdown-menu.json +1 -0
  140. package/manifest/components/edit-message.json +1 -0
  141. package/manifest/components/elements-timeline.json +1 -0
  142. package/manifest/components/elicitation-form.json +1 -0
  143. package/manifest/components/empty-state.json +1 -0
  144. package/manifest/components/export-dialog.json +1 -0
  145. package/manifest/components/footer.json +3 -2
  146. package/manifest/components/frac.json +1 -0
  147. package/manifest/components/frames.json +14 -0
  148. package/manifest/components/guardrail-notice.json +1 -0
  149. package/manifest/components/hover-card.json +1 -0
  150. package/manifest/components/inline-citation.json +1 -0
  151. package/manifest/components/markdown-text.json +1 -0
  152. package/manifest/components/math-block.json +1 -0
  153. package/manifest/components/menubar.json +1 -0
  154. package/manifest/components/message-branches.json +1 -0
  155. package/manifest/components/message-pair.json +1 -0
  156. package/manifest/components/message.json +1 -0
  157. package/manifest/components/multi-select.json +1 -0
  158. package/manifest/components/navigation-menu.json +1 -0
  159. package/manifest/components/onboarding.json +1 -0
  160. package/manifest/components/page-shell.json +4 -0
  161. package/manifest/components/popover.json +1 -0
  162. package/manifest/components/preset-section.json +1 -0
  163. package/manifest/components/preview.json +17 -2
  164. package/manifest/components/progress.json +2 -2
  165. package/manifest/components/prompt-library.json +1 -0
  166. package/manifest/components/quote-reply.json +1 -0
  167. package/manifest/components/read-aloud.json +1 -0
  168. package/manifest/components/reasoning-panel.json +1 -0
  169. package/manifest/components/recommendation-card.json +1 -0
  170. package/manifest/components/research-report.json +1 -0
  171. package/manifest/components/retrieval-chunks.json +1 -0
  172. package/manifest/components/reviewable-diff.json +1 -0
  173. package/manifest/components/score-breakdown.json +1 -0
  174. package/manifest/components/scroll-anchor.json +1 -0
  175. package/manifest/components/settings-panel.json +1 -0
  176. package/manifest/components/shape-section.json +1 -0
  177. package/manifest/components/shared-conversation.json +1 -0
  178. package/manifest/components/sheet.json +1 -0
  179. package/manifest/components/speaker-identity.json +1 -0
  180. package/manifest/components/stopped-run.json +1 -0
  181. package/manifest/components/streaming-text.json +1 -0
  182. package/manifest/components/sub.json +1 -0
  183. package/manifest/components/sup.json +1 -0
  184. package/manifest/components/tags-input.json +1 -0
  185. package/manifest/components/terminal-frame.json +1 -0
  186. package/manifest/components/textarea.json +1 -0
  187. package/manifest/components/theme-configurator.json +1 -0
  188. package/manifest/components/theme-provider.json +26 -1
  189. package/manifest/components/toast.json +1 -0
  190. package/manifest/components/tool-call-card.json +1 -0
  191. package/manifest/components/tool-error.json +1 -0
  192. package/manifest/components/tooltip.json +1 -0
  193. package/manifest/components/voice-conversation.json +1 -0
  194. package/manifest/manifest.json +133 -105
  195. package/manifest/tokens.json +20 -1
  196. package/package.json +11 -9
@@ -70,7 +70,7 @@ function ScoreBreakdown({ verdict, total, outOf, criteria, visibleCount, classNa
70
70
  })
71
71
  }),
72
72
  criterion.note && /* @__PURE__ */ jsx("span", {
73
- className: "text-fg-subtle text-(length:--cue-text-ui) leading-relaxed break-words",
73
+ className: "text-fg-subtle text-(length:--cue-text-ui) leading-(--cue-leading-ui) break-words",
74
74
  children: criterion.note
75
75
  })
76
76
  ]
@@ -97,7 +97,7 @@ function ScrollAnchor({ messages, paused = false, onSettled, className, ...props
97
97
  ref: viewportRef,
98
98
  className: "flex h-full flex-col gap-2.5 overflow-y-hidden scroll-smooth motion-reduce:scroll-auto p-4",
99
99
  children: messages.slice(0, count).map((message, i) => /* @__PURE__ */ jsx("div", {
100
- className: cn("cue-elements-fade-in cue-elements-slide-in-from-bottom-1 cue-elements-animate-in max-w-[85%] text-(length:--cue-text-ui) leading-relaxed duration-300 motion-reduce:animate-none", message.role === "user" ? cn(field, "self-end rounded-(--radius-overlay) px-3 py-1.5") : "text-fg-muted self-start"),
100
+ className: cn("cue-elements-fade-in cue-elements-slide-in-from-bottom-1 cue-elements-animate-in max-w-[85%] text-(length:--cue-text-ui) leading-(--cue-leading-ui) duration-300 motion-reduce:animate-none", message.role === "user" ? cn(field, "self-end rounded-(--radius-overlay) px-3 py-1.5") : "text-fg-muted self-start"),
101
101
  children: message.text
102
102
  }, i))
103
103
  }),
@@ -51,7 +51,7 @@ function SettingsPanel({ model, models, systemPrompt, temperature, toggles, onMo
51
51
  onChange: (event) => onSystemPromptChange?.(event.target.value),
52
52
  rows: 3,
53
53
  "aria-label": "System prompt",
54
- className: cn(field, "text-fg-muted focus-visible:outline-2 focus-visible:outline-solid focus-visible:outline-offset-1 focus-visible:outline-accent resize-none rounded-(--radius-surface) px-3 py-2 text-(length:--cue-text-ui) leading-relaxed outline-none")
54
+ className: cn(field, "text-fg-muted focus-visible:outline-2 focus-visible:outline-solid focus-visible:outline-offset-1 focus-visible:outline-accent resize-none rounded-(--radius-surface) px-3 py-2 text-(length:--cue-text-ui) leading-(--cue-leading-ui) outline-none")
55
55
  })]
56
56
  }),
57
57
  /* @__PURE__ */ jsxs("div", {
@@ -45,7 +45,7 @@ function SharedConversation({ title, sharedBy, sharedAt, turns, onContinue, clas
45
45
  /* @__PURE__ */ jsx("div", {
46
46
  className: "border-border flex flex-col gap-2.5 border-t px-4 py-3.5",
47
47
  children: turns.map((turn) => /* @__PURE__ */ jsx("div", {
48
- className: cn("text-(length:--cue-text-body) leading-relaxed", turn.role === "user" ? "bg-surface-1 ms-auto max-w-[85%] rounded-(--radius-overlay) px-3 py-2" : "text-fg-muted"),
48
+ className: cn("text-(length:--cue-text-body) leading-(--cue-leading-ui)", turn.role === "user" ? "bg-surface-1 ms-auto max-w-[85%] rounded-(--radius-overlay) px-3 py-2" : "text-fg-muted"),
49
49
  children: turn.text
50
50
  }, turn.id))
51
51
  }),
@@ -40,7 +40,7 @@ function SpeakerIdentity({ turns, className, ...props }) {
40
40
  children: turn.detail
41
41
  })]
42
42
  }), /* @__PURE__ */ jsx("span", {
43
- className: "text-fg-muted text-(length:--cue-text-body) leading-relaxed break-words",
43
+ className: "text-fg-muted text-(length:--cue-text-body) leading-(--cue-leading-ui) break-words",
44
44
  children: turn.text
45
45
  })]
46
46
  })]
@@ -18,7 +18,7 @@ function StoppedRun({ words, reason, onContinue, onDiscard, className, ...props
18
18
  className: cn("flex w-full max-w-sm flex-col gap-3", className),
19
19
  ...props,
20
20
  children: [/* @__PURE__ */ jsxs("p", {
21
- className: "text-fg-muted text-(length:--cue-text-body) leading-relaxed",
21
+ className: "text-fg-muted text-(length:--cue-text-body) leading-(--cue-leading-ui)",
22
22
  children: [words.join(" "), /* @__PURE__ */ jsx("span", {
23
23
  "aria-hidden": true,
24
24
  className: "bg-surface-3 ms-1 inline-block h-[1em] w-[2px] translate-y-[0.15em] rounded-full"
@@ -24,7 +24,7 @@ function StreamingText({ segments, count, streaming, className, ...props }) {
24
24
  const shown = take(words, count);
25
25
  return /* @__PURE__ */ jsxs("p", {
26
26
  "data-slot": "streaming-text",
27
- className: cn("min-h-[8.5rem] max-w-sm text-(length:--cue-text-body) leading-relaxed text-pretty", className),
27
+ className: cn("min-h-[8.5rem] max-w-sm text-(length:--cue-text-body) leading-(--cue-leading-ui) text-pretty", className),
28
28
  ...props,
29
29
  children: [shown.map(({ word, mono: isMono }, i) => {
30
30
  const fresh = streaming && shown.length - 1 - i < 2;
@@ -34,7 +34,7 @@ function ElementsTimeline({ events, visibleCount, className, ...props }) {
34
34
  className: cn("text-(length:--cue-text-body) break-words", event.when === "future" ? "text-fg-subtle" : "text-fg", event.when === "now" && "font-medium"),
35
35
  children: event.title
36
36
  }), event.detail && /* @__PURE__ */ jsx("span", {
37
- className: "text-fg-muted text-(length:--cue-text-ui) leading-relaxed break-words",
37
+ className: "text-fg-muted text-(length:--cue-text-ui) leading-(--cue-leading-ui) break-words",
38
38
  children: event.detail
39
39
  })]
40
40
  })
@@ -50,7 +50,7 @@ function ToolError({ name, target, message, attempt, maxAttempts, retrying, onRe
50
50
  ]
51
51
  }),
52
52
  /* @__PURE__ */ jsx("div", {
53
- className: cn(field, "rounded-(--radius-surface) px-3 py-2 font-mono text-(length:--cue-text-label) leading-relaxed text-danger"),
53
+ className: cn(field, "rounded-(--radius-surface) px-3 py-2 font-mono text-(length:--cue-text-label) leading-(--cue-leading-ui) text-danger"),
54
54
  children: message
55
55
  }),
56
56
  /* @__PURE__ */ jsxs("div", {
@@ -87,7 +87,7 @@ function VoiceConversation({ mode, amplitude, transcript, muted, onToggleMute, o
87
87
  /* @__PURE__ */ jsx("div", {
88
88
  className: "flex min-h-[4.5rem] w-full flex-col gap-1.5",
89
89
  children: transcript.map((turn) => /* @__PURE__ */ jsxs("div", {
90
- className: "cue-elements-fade-in cue-elements-slide-in-from-bottom-1 cue-elements-animate-in cue-elements-fill-mode-both flex gap-2 text-(length:--cue-text-ui) leading-relaxed duration-300",
90
+ className: "cue-elements-fade-in cue-elements-slide-in-from-bottom-1 cue-elements-animate-in cue-elements-fill-mode-both flex gap-2 text-(length:--cue-text-ui) leading-(--cue-leading-ui) duration-300",
91
91
  children: [/* @__PURE__ */ jsx("span", {
92
92
  className: cn(mono, "w-8 shrink-0", turn.role === "user" ? "text-fg-subtle" : "text-stream/70"),
93
93
  children: turn.role === "user" ? "you" : "ai"
@@ -29,7 +29,7 @@ const Textarea = React.forwardRef(function Textarea({ className, rows = 3, ...el
29
29
  rows
30
30
  }),
31
31
  "data-slot": "textarea",
32
- className: cn(controlSurface, "resize-y px-(--cue-space-4) py-(--cue-space-3) text-(length:--cue-text-ui) leading-relaxed", className),
32
+ className: cn(controlSurface, "resize-y px-(--cue-space-4) py-(--cue-space-3) text-(length:--cue-text-ui) leading-(--cue-leading-ui)", className),
33
33
  ...controlProps
34
34
  });
35
35
  });
package/dist/index.d.ts CHANGED
@@ -14,9 +14,10 @@ import { Separator, SeparatorProps } from "./primitives/separator.js";
14
14
  import { AppBar, AppBarActionsProps, AppBarBrandProps, AppBarLinkProps, AppBarNavProps, AppBarRegister, AppBarRootProps, AppBarSeparatorProps } from "./chrome/app-bar.js";
15
15
  import { Sidebar, SidebarItemProps, SidebarRailProps, SidebarRootProps, SidebarSectionProps, useSidebar } from "./layout/sidebar.js";
16
16
  import { AppShell, AppShellAsideProps, AppShellBarProps, AppShellBodyProps, AppShellContentProps, AppShellNavTriggerProps, AppShellRootProps, AppShellScrollerProps, AppShellSidebarProps } from "./chrome/app-shell.js";
17
+ import { Container, ContainerProps, ContainerWidth } from "./layout/container.js";
18
+ import { Band, BandProps, BandSeparation, BandWidth } from "./chrome/band.js";
17
19
  import { EmptyState, EmptyStateProps } from "./chrome/empty-state.js";
18
20
  import { Eyebrow, EyebrowProps } from "./chrome/eyebrow.js";
19
- import { Container, ContainerProps, ContainerWidth } from "./layout/container.js";
20
21
  import { Footer, FooterProps } from "./chrome/footer.js";
21
22
  import { Inspector, InspectorFooterProps, InspectorRootProps, InspectorRowProps, InspectorSectionProps } from "./chrome/inspector.js";
22
23
  import { NavigationMenu, NavigationMenuContentProps, NavigationMenuItemProps, NavigationMenuLinkProps, NavigationMenuListProps, NavigationMenuRootProps, NavigationMenuTriggerProps, NavigationMenuViewportProps } from "./chrome/navigation-menu.js";
@@ -95,7 +96,7 @@ import { Card, CardContentProps, CardDescriptionProps, CardFooterProps, CardHead
95
96
  import { Collapsible, CollapsiblePanelProps, CollapsibleRootProps, CollapsibleTriggerProps, Disclosure, DisclosureProps } from "./layout/collapsible.js";
96
97
  import { DescriptionList, DescriptionListDetailProps, DescriptionListLayout, DescriptionListRootProps, DescriptionListTermProps } from "./layout/description-list.js";
97
98
  import { PreviewGround } from "./layout/_ground.js";
98
- import { Frames, FramesHeight, FramesItemProps, FramesRootProps } from "./layout/frames.js";
99
+ import { Frames, FramesHeight, FramesItemProps, FramesLayout, FramesRootProps } from "./layout/frames.js";
99
100
  import { Grid, GridColumns, GridProps } from "./layout/grid.js";
100
101
  import { Item, ItemProps, itemVariants } from "./layout/item.js";
101
102
  import { Pagination, PaginationEntry, PaginationProps, paginationRange } from "./layout/pagination.js";
@@ -133,5 +134,5 @@ import { ThemeRegistry } from "./system/vocabulary.js";
133
134
  import { useDensities, useFonts, useThemes } from "./system/theme-registry.js";
134
135
  import { ControlSize, useControlHeight, useDensity } from "./system/use-density.js";
135
136
  import { useTheme } from "./system/use-theme.js";
136
- import { DensityEntry, DensityLevel, FontEntry, FontName, Mode, ThemeManifest, ThemeName } from "./system/index.js";
137
- export { AGENT_COLOR_PROPERTY, AGENT_HUES, AGENT_ROOT_COLOR, Accordion, type AccordionHeaderProps, type AccordionItemProps, type AccordionPanelProps, type AccordionRootProps, type AccordionTriggerProps, type AgentColorOptions, AgentPile, type AgentPileEntry, type AgentPileProps, type AgentPileSize, AlertDialog, type AlertDialogActionProps, type AlertDialogCancelProps, type AlertDialogContentProps, type AlertDialogDescriptionProps, type AlertDialogFooterProps, type AlertDialogRootProps, type AlertDialogTitleProps, type AlertDialogTriggerProps, 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, AppWindowFrame, type AppWindowFrameProps, type AskAnswer, AskBox, type AskBoxProps, type AskDanger, type AskKind, type AskOption, AudienceIcon, Autocomplete, type AutocompleteProps, Avatar, AvatarGroup, type AvatarGroupProps, type AvatarProps, type AvatarSize, type BarOverflow, Bento, type BentoColumns, type BentoMinHeight, type BentoRootProps, type BentoRowSpan, type BentoRows, type BentoSpan, type BentoTileProps, type BrandAssetProps, type BrandSize, type BrandTone, Breadcrumb, type BreadcrumbItem, type BreadcrumbProps, Button, ButtonGroup, type ButtonGroupOrientation, type ButtonGroupProps, type ButtonProps, Card, type CardContentProps, type CardDescriptionProps, type CardFooterProps, type CardHeaderProps, type CardRootProps, type CardTitleProps, CatalogueIcon, ChannelBetaIcon, ChannelReleasedIcon, Checkbox, CheckboxGroup, type CheckboxGroupProps, type CheckboxProps, Chip, type ChipProps, CliToolIcon, CodeBlock, type CodeBlockProps, Collapsible, type CollapsiblePanelProps, type CollapsibleRootProps, type CollapsibleTriggerProps, Combobox, type ComboboxOption, type ComboboxProps, CommandPalette, type CommandPaletteItem, type CommandPaletteProps, Composer, type ComposerProps, type ComposerSubmitKey, Container, type ContainerProps, type ContainerWidth, ContextMenu, type ContextMenuContentProps, type ContextMenuRootProps, type ContextMenuTriggerProps, type ControlSize, type ControlVariantProps, CopyButton, type CopyButtonProps, CueLogotype, type CueLogotypeProps, CueMark, type CueMarkProps, CuePortalFrame, type CuePortalFrameProps, DEFAULT_STORAGE_KEY, DataRow, type DataRowDisclosure, type DataRowRootProps, type DataRowSlotProps, DataTree, type DataTreeItem, type DataTreeProps, type DataTreeRowState, DelegationCard, type DelegationCardProps, type DelegationDirection, type DelegationStatus, Density, type DensityEntry, type DensityLevel, type DensityProps, DescriptionList, type DescriptionListDetailProps, type DescriptionListLayout, type DescriptionListRootProps, type DescriptionListTermProps, Dialog, type DialogCloseProps, type DialogContentProps, type DialogDescriptionProps, type DialogFooterProps, type DialogRootProps, type DialogTitleProps, type DialogTriggerProps, Disclosure, type DisclosureProps, Drawer, type DrawerCloseProps, type DrawerContentProps, type DrawerDescriptionProps, type DrawerFooterProps, type DrawerRootProps, type DrawerSwipeDirection, type DrawerTitleProps, type DrawerTriggerProps, DropdownMenu, type DropdownMenuCheckboxItemProps, type DropdownMenuContentProps, type DropdownMenuGroupProps, type DropdownMenuItemProps, type DropdownMenuLabelProps, type DropdownMenuRootProps, type DropdownMenuSeparatorProps, type DropdownMenuTriggerProps, EmptyState, type EmptyStateProps, EnvVarInput, type EnvVarInputProps, Eyebrow, type EyebrowProps, Field, FieldDescription, type FieldDescriptionProps, FieldError, type FieldErrorProps, type FieldIssue, FieldLabel, type FieldLabelProps, type FieldProps, type FilePartition, type FilePartitionOptions, type FileRejectReason, type FileRejection, FileUpload, type FileUploadProps, FolderIcon, type FontEntry, type FontFamilies, type FontName, Footer, type FooterProps, type FormControlSize, Frames, type FramesHeight, type FramesItemProps, type FramesRootProps, Grid, type GridColumns, type GridProps, GroupBar, type GroupBarItem, type GroupBarProps, type GroupBarTone, HoverCard, type HoverCardContentProps, type HoverCardRootProps, type HoverCardTriggerProps, IconButton, type IconButtonProps, InfoTip, type InfoTipProps, Input, InputGroup, type InputGroupProps, type InputProps, Inspector, type InspectorFooterProps, type InspectorRootProps, type InspectorRowProps, type InspectorSectionProps, Item, type ItemProps, Kbd, type KbdProps, Ledger, type LedgerEmptyProps, type LedgerGroupProps, type LedgerRootProps, type LedgerTierProps, Link, type LinkProps, McpServerIcon, Menubar, type MenubarContentProps, type MenubarMenuProps, type MenubarRootProps, type MenubarTriggerProps, Message, MessageList, type MessageListProps, type MessageProps, type MessageRole, Meter, type MeterProps, type MeterProvenance, type MeterTone, type Mode, MultiSelect, type MultiSelectProps, NavigationMenu, type NavigationMenuContentProps, type NavigationMenuItemProps, type NavigationMenuLinkProps, type NavigationMenuListProps, type NavigationMenuRootProps, type NavigationMenuTriggerProps, type NavigationMenuViewportProps, NumberField, type NumberFieldProps, OTPField, type OTPFieldProps, OVERLAY_SIDE_OFFSET, PageShell, type PageShellProps, type PageWidth, Pagination, type PaginationEntry, type PaginationProps, Panel, PanelHeader, type PanelHeaderProps, type PanelProps, PasswordInput, type PasswordInputProps, type PersistedPreferences, Plussie, type PlussieExpression, type PlussieProps, Popover, type PopoverCloseProps, type PopoverContentProps, type PopoverDescriptionProps, type PopoverRootProps, type PopoverTitleProps, type PopoverTriggerProps, type PrepaintDefaults, type PrepaintOptions, Preview, type PreviewAxis, type PreviewGround, type PreviewPresentation, type PreviewProps, type PreviewResizeOptions, Progress, type ProgressProps, Radio, RadioGroup, type RadioGroupProps, type RadioProps, Rating, type RatingProps, type RatingSize, type ResolvedMode, Row, type RowProps, ScrollArea, type ScrollAreaOrientation, type ScrollAreaProps, type ScrollEdges, ScrollableTabsList, type ScrollableTabsListProps, ScrubInput, type ScrubInputProps, SeamCell, type SeamCellProps, SeamGrid, type SeamGridProps, type SeamGround, SeamList, type SeamListProps, SearchInput, type SearchInputProps, SectionHeader, type SectionHeaderProps, SegmentedControl, type SegmentedControlItem, type SegmentedControlProps, type SegmentedControlSize, Select, type SelectOption, type SelectProps, Separator, type SeparatorProps, Sheet, type SheetCloseProps, type SheetContentProps, type SheetDescriptionProps, type SheetFooterProps, type SheetRootProps, type SheetTitleProps, type SheetTriggerProps, Sidebar, type SidebarItemProps, type SidebarRailProps, type SidebarRootProps, type SidebarSectionProps, Skeleton, type SkeletonProps, SkillIcon, Slider, type SliderProps, type SpaceStep, Sparkline, type SparklineProps, Spinner, type SpinnerProps, Stack, type StackAlign, StackIcon, type StackJustify, type StackProps, StacksMatrixIcon, Stat, type StatProps, type StatTone, StatusBar, type StatusBarGroupProps, type StatusBarItemProps, type StatusBarProminence, type StatusBarProps, type StatusBarTone, StatusDot, type StatusDotProps, type StatusTone, Stepper, type StepperProps, type StepperState, type StepperStep, Switch, type SwitchProps, TAB_FADE_PX, TREE_GUIDE_GLYPHS, Table, type TableCaptionProps, type TableCellProps, type TableGroupRowProps, type TableHeadProps, type TableRootProps, type TableRowProps, TableScrollRegion, type TableScrollRegionProps, type TableSectionProps, Tabs, type TabsListProps, type TabsPanelProps, type TabsRootProps, type TabsTabProps, TagsInput, type TagsInputProps, TerminalFrame, type TerminalFrameLine, type TerminalFrameProps, type TerminalLine, type TerminalLineTone, type TerminalScript, type TerminalStep, Textarea, type TextareaProps, type ThemeContextValue, type ThemeManifest, type ThemeName, ThemeProvider, type ThemeProviderProps, type ThemeRegistry, Timeline, type TimelineContentProps, type TimelineItemProps, type TimelineMarkerProps, type TimelineRootProps, TitleBar, type TitleBarProps, Toast, type ToastManager, type ToastOptions, type ToastProviderProps, type ToastTone, type ToastViewportProps, Toggle, ToggleGroup, type ToggleGroupProps, type ToggleProps, type TokenOverrides, Toolbar, type ToolbarButtonProps, type ToolbarGroupProps, type ToolbarRootProps, type ToolbarSeparatorProps, Tooltip, type TooltipContentProps, type TooltipProviderProps, type TooltipRootProps, type TooltipTriggerProps, Tree, type TreeGuide, type TreeItem, type TreeProps, type TreeRow, type TreeVisibility, TreeVisibilityToggle, type TreeVisibilityToggleProps, TwoStepButton, type TwoStepButtonProps, type TwoStepTone, type UploadFile, type UploadStatus, UsageChart, type UsageChartPoint, type UsageChartProps, type UsageChartTone, activateRowFromClick, activateRowFromKeyDown, agentColor, agentColorStyle, bareControlClasses, buttonVariants, chipVariants, computeScrollEdges, controlClasses, controlGroupFocusClasses, controlSurface, controlVariants, edgeFadeMask, envReference, flattenTree, isSafeTokenValue, itemVariants, linkVariants, menuItemClasses, menuLabelClasses, menuPopupClasses, menuSeparatorClasses, overlayDescriptionClasses, overlayFooterClasses, overlayModalTransitionClasses, overlayPopupTransitionClasses, overlayPositionerClasses, overlaySurfaceClasses, overlayTextClasses, overlayTitleClasses, paginationRange, parseEnvReference, partitionFiles, prepaintScript, rowVariants, scrimClasses, useControlHeight, useCuePortalProps, useDensities, useDensity, useFonts, useSidebar, useTheme, useThemes, useToast };
137
+ import { DEFAULT_STYLE_SET, DensityEntry, DensityLevel, FontEntry, FontName, Mode, STYLE_SETS, StyleSet, ThemeManifest, ThemeName } from "./system/index.js";
138
+ export { AGENT_COLOR_PROPERTY, AGENT_HUES, AGENT_ROOT_COLOR, Accordion, type AccordionHeaderProps, type AccordionItemProps, type AccordionPanelProps, type AccordionRootProps, type AccordionTriggerProps, type AgentColorOptions, AgentPile, type AgentPileEntry, type AgentPileProps, type AgentPileSize, AlertDialog, type AlertDialogActionProps, type AlertDialogCancelProps, type AlertDialogContentProps, type AlertDialogDescriptionProps, type AlertDialogFooterProps, type AlertDialogRootProps, type AlertDialogTitleProps, type AlertDialogTriggerProps, 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, AppWindowFrame, type AppWindowFrameProps, type AskAnswer, AskBox, type AskBoxProps, type AskDanger, type AskKind, type AskOption, AudienceIcon, Autocomplete, type AutocompleteProps, Avatar, AvatarGroup, type AvatarGroupProps, type AvatarProps, type AvatarSize, Band, type BandProps, type BandSeparation, type BandWidth, type BarOverflow, Bento, type BentoColumns, type BentoMinHeight, type BentoRootProps, type BentoRowSpan, type BentoRows, type BentoSpan, type BentoTileProps, type BrandAssetProps, type BrandSize, type BrandTone, Breadcrumb, type BreadcrumbItem, type BreadcrumbProps, Button, ButtonGroup, type ButtonGroupOrientation, type ButtonGroupProps, type ButtonProps, Card, type CardContentProps, type CardDescriptionProps, type CardFooterProps, type CardHeaderProps, type CardRootProps, type CardTitleProps, CatalogueIcon, ChannelBetaIcon, ChannelReleasedIcon, Checkbox, CheckboxGroup, type CheckboxGroupProps, type CheckboxProps, Chip, type ChipProps, CliToolIcon, CodeBlock, type CodeBlockProps, Collapsible, type CollapsiblePanelProps, type CollapsibleRootProps, type CollapsibleTriggerProps, Combobox, type ComboboxOption, type ComboboxProps, CommandPalette, type CommandPaletteItem, type CommandPaletteProps, Composer, type ComposerProps, type ComposerSubmitKey, Container, type ContainerProps, type ContainerWidth, ContextMenu, type ContextMenuContentProps, type ContextMenuRootProps, type ContextMenuTriggerProps, type ControlSize, type ControlVariantProps, CopyButton, type CopyButtonProps, CueLogotype, type CueLogotypeProps, CueMark, type CueMarkProps, CuePortalFrame, type CuePortalFrameProps, DEFAULT_STORAGE_KEY, DEFAULT_STYLE_SET, DataRow, type DataRowDisclosure, type DataRowRootProps, type DataRowSlotProps, DataTree, type DataTreeItem, type DataTreeProps, type DataTreeRowState, DelegationCard, type DelegationCardProps, type DelegationDirection, type DelegationStatus, Density, type DensityEntry, type DensityLevel, type DensityProps, DescriptionList, type DescriptionListDetailProps, type DescriptionListLayout, type DescriptionListRootProps, type DescriptionListTermProps, Dialog, type DialogCloseProps, type DialogContentProps, type DialogDescriptionProps, type DialogFooterProps, type DialogRootProps, type DialogTitleProps, type DialogTriggerProps, Disclosure, type DisclosureProps, Drawer, type DrawerCloseProps, type DrawerContentProps, type DrawerDescriptionProps, type DrawerFooterProps, type DrawerRootProps, type DrawerSwipeDirection, type DrawerTitleProps, type DrawerTriggerProps, DropdownMenu, type DropdownMenuCheckboxItemProps, type DropdownMenuContentProps, type DropdownMenuGroupProps, type DropdownMenuItemProps, type DropdownMenuLabelProps, type DropdownMenuRootProps, type DropdownMenuSeparatorProps, type DropdownMenuTriggerProps, EmptyState, type EmptyStateProps, EnvVarInput, type EnvVarInputProps, Eyebrow, type EyebrowProps, Field, FieldDescription, type FieldDescriptionProps, FieldError, type FieldErrorProps, type FieldIssue, FieldLabel, type FieldLabelProps, type FieldProps, type FilePartition, type FilePartitionOptions, type FileRejectReason, type FileRejection, FileUpload, type FileUploadProps, FolderIcon, type FontEntry, type FontFamilies, type FontName, Footer, type FooterProps, type FormControlSize, Frames, type FramesHeight, type FramesItemProps, type FramesLayout, type FramesRootProps, Grid, type GridColumns, type GridProps, GroupBar, type GroupBarItem, type GroupBarProps, type GroupBarTone, HoverCard, type HoverCardContentProps, type HoverCardRootProps, type HoverCardTriggerProps, IconButton, type IconButtonProps, InfoTip, type InfoTipProps, Input, InputGroup, type InputGroupProps, type InputProps, Inspector, type InspectorFooterProps, type InspectorRootProps, type InspectorRowProps, type InspectorSectionProps, Item, type ItemProps, Kbd, type KbdProps, Ledger, type LedgerEmptyProps, type LedgerGroupProps, type LedgerRootProps, type LedgerTierProps, Link, type LinkProps, McpServerIcon, Menubar, type MenubarContentProps, type MenubarMenuProps, type MenubarRootProps, type MenubarTriggerProps, Message, MessageList, type MessageListProps, type MessageProps, type MessageRole, Meter, type MeterProps, type MeterProvenance, type MeterTone, type Mode, MultiSelect, type MultiSelectProps, NavigationMenu, type NavigationMenuContentProps, type NavigationMenuItemProps, type NavigationMenuLinkProps, type NavigationMenuListProps, type NavigationMenuRootProps, type NavigationMenuTriggerProps, type NavigationMenuViewportProps, NumberField, type NumberFieldProps, OTPField, type OTPFieldProps, OVERLAY_SIDE_OFFSET, PageShell, type PageShellProps, type PageWidth, Pagination, type PaginationEntry, type PaginationProps, Panel, PanelHeader, type PanelHeaderProps, type PanelProps, PasswordInput, type PasswordInputProps, type PersistedPreferences, Plussie, type PlussieExpression, type PlussieProps, Popover, type PopoverCloseProps, type PopoverContentProps, type PopoverDescriptionProps, type PopoverRootProps, type PopoverTitleProps, type PopoverTriggerProps, type PrepaintDefaults, type PrepaintOptions, Preview, type PreviewAxis, type PreviewGround, type PreviewPresentation, type PreviewProps, type PreviewResizeOptions, Progress, type ProgressProps, Radio, RadioGroup, type RadioGroupProps, type RadioProps, Rating, type RatingProps, type RatingSize, type ResolvedMode, Row, type RowProps, STYLE_SETS, ScrollArea, type ScrollAreaOrientation, type ScrollAreaProps, type ScrollEdges, ScrollableTabsList, type ScrollableTabsListProps, ScrubInput, type ScrubInputProps, SeamCell, type SeamCellProps, SeamGrid, type SeamGridProps, type SeamGround, SeamList, type SeamListProps, SearchInput, type SearchInputProps, SectionHeader, type SectionHeaderProps, SegmentedControl, type SegmentedControlItem, type SegmentedControlProps, type SegmentedControlSize, Select, type SelectOption, type SelectProps, Separator, type SeparatorProps, Sheet, type SheetCloseProps, type SheetContentProps, type SheetDescriptionProps, type SheetFooterProps, type SheetRootProps, type SheetTitleProps, type SheetTriggerProps, Sidebar, type SidebarItemProps, type SidebarRailProps, type SidebarRootProps, type SidebarSectionProps, Skeleton, type SkeletonProps, SkillIcon, Slider, type SliderProps, type SpaceStep, Sparkline, type SparklineProps, Spinner, type SpinnerProps, Stack, type StackAlign, StackIcon, type StackJustify, type StackProps, StacksMatrixIcon, Stat, type StatProps, type StatTone, StatusBar, type StatusBarGroupProps, type StatusBarItemProps, type StatusBarProminence, type StatusBarProps, type StatusBarTone, StatusDot, type StatusDotProps, type StatusTone, Stepper, type StepperProps, type StepperState, type StepperStep, type StyleSet, Switch, type SwitchProps, TAB_FADE_PX, TREE_GUIDE_GLYPHS, Table, type TableCaptionProps, type TableCellProps, type TableGroupRowProps, type TableHeadProps, type TableRootProps, type TableRowProps, TableScrollRegion, type TableScrollRegionProps, type TableSectionProps, Tabs, type TabsListProps, type TabsPanelProps, type TabsRootProps, type TabsTabProps, TagsInput, type TagsInputProps, TerminalFrame, type TerminalFrameLine, type TerminalFrameProps, type TerminalLine, type TerminalLineTone, type TerminalScript, type TerminalStep, Textarea, type TextareaProps, type ThemeContextValue, type ThemeManifest, type ThemeName, ThemeProvider, type ThemeProviderProps, type ThemeRegistry, Timeline, type TimelineContentProps, type TimelineItemProps, type TimelineMarkerProps, type TimelineRootProps, TitleBar, type TitleBarProps, Toast, type ToastManager, type ToastOptions, type ToastProviderProps, type ToastTone, type ToastViewportProps, Toggle, ToggleGroup, type ToggleGroupProps, type ToggleProps, type TokenOverrides, Toolbar, type ToolbarButtonProps, type ToolbarGroupProps, type ToolbarRootProps, type ToolbarSeparatorProps, Tooltip, type TooltipContentProps, type TooltipProviderProps, type TooltipRootProps, type TooltipTriggerProps, Tree, type TreeGuide, type TreeItem, type TreeProps, type TreeRow, type TreeVisibility, TreeVisibilityToggle, type TreeVisibilityToggleProps, TwoStepButton, type TwoStepButtonProps, type TwoStepTone, type UploadFile, type UploadStatus, UsageChart, type UsageChartPoint, type UsageChartProps, type UsageChartTone, activateRowFromClick, activateRowFromKeyDown, agentColor, agentColorStyle, bareControlClasses, buttonVariants, chipVariants, computeScrollEdges, controlClasses, controlGroupFocusClasses, controlSurface, controlVariants, edgeFadeMask, envReference, flattenTree, isSafeTokenValue, itemVariants, linkVariants, menuItemClasses, menuLabelClasses, menuPopupClasses, menuSeparatorClasses, overlayDescriptionClasses, overlayFooterClasses, overlayModalTransitionClasses, overlayPopupTransitionClasses, overlayPositionerClasses, overlaySurfaceClasses, overlayTextClasses, overlayTitleClasses, paginationRange, parseEnvReference, partitionFiles, prepaintScript, rowVariants, scrimClasses, useControlHeight, useCuePortalProps, useDensities, useDensity, useFonts, useSidebar, useTheme, useThemes, useToast };
package/dist/index.js CHANGED
@@ -33,9 +33,10 @@ import { OVERLAY_SIDE_OFFSET, menuItemClasses, menuLabelClasses, menuPopupClasse
33
33
  import { Drawer } from "./overlays/drawer.js";
34
34
  import { IconButton } from "./primitives/icon-button.js";
35
35
  import { AppShell } from "./chrome/app-shell.js";
36
+ import { Container } from "./layout/container.js";
37
+ import { Band } from "./chrome/band.js";
36
38
  import { EmptyState } from "./chrome/empty-state.js";
37
39
  import { Eyebrow } from "./chrome/eyebrow.js";
38
- import { Container } from "./layout/container.js";
39
40
  import { Footer } from "./chrome/footer.js";
40
41
  import { SectionHeader } from "./chrome/section-header.js";
41
42
  import { Inspector } from "./chrome/inspector.js";
@@ -119,4 +120,5 @@ import { Kbd } from "./primitives/kbd.js";
119
120
  import { Skeleton } from "./primitives/skeleton.js";
120
121
  import { useControlHeight, useDensity } from "./system/use-density.js";
121
122
  import { useTheme } from "./system/use-theme.js";
122
- export { AGENT_COLOR_PROPERTY, AGENT_HUES, AGENT_ROOT_COLOR, Accordion, AgentPile, AlertDialog, AppBar, AppShell, AppWindowFrame, AskBox, AudienceIcon, Autocomplete, Avatar, AvatarGroup, Bento, Breadcrumb, Button, ButtonGroup, Card, CatalogueIcon, ChannelBetaIcon, ChannelReleasedIcon, Checkbox, CheckboxGroup, Chip, CliToolIcon, CodeBlock, Collapsible, Combobox, CommandPalette, Composer, Container, ContextMenu, CopyButton, CueLogotype, CueMark, CuePortalFrame, DEFAULT_STORAGE_KEY, DataRow, DataTree, DelegationCard, Density, DescriptionList, Dialog, Disclosure, Drawer, DropdownMenu, EmptyState, EnvVarInput, Eyebrow, Field, FieldDescription, FieldError, FieldLabel, FileUpload, FolderIcon, Footer, Frames, Grid, GroupBar, HoverCard, IconButton, InfoTip, Input, InputGroup, Inspector, Item, Kbd, Ledger, Link, McpServerIcon, Menubar, Message, MessageList, Meter, MultiSelect, NavigationMenu, NumberField, OTPField, OVERLAY_SIDE_OFFSET, PageShell, Pagination, Panel, PanelHeader, PasswordInput, Plussie, Popover, Preview, Progress, Radio, RadioGroup, Rating, Row, ScrollArea, ScrollableTabsList, ScrubInput, SeamCell, SeamGrid, SeamList, SearchInput, SectionHeader, SegmentedControl, Select, Separator, Sheet, Sidebar, Skeleton, SkillIcon, Slider, Sparkline, Spinner, Stack, StackIcon, StacksMatrixIcon, Stat, StatusBar, StatusDot, Stepper, Switch, TAB_FADE_PX, TREE_GUIDE_GLYPHS, Table, TableScrollRegion, Tabs, TagsInput, TerminalFrame, Textarea, ThemeProvider, Timeline, TitleBar, Toast, Toggle, ToggleGroup, Toolbar, Tooltip, Tree, TreeVisibilityToggle, TwoStepButton, UsageChart, activateRowFromClick, activateRowFromKeyDown, agentColor, agentColorStyle, bareControlClasses, buttonVariants, chipVariants, computeScrollEdges, controlClasses, controlGroupFocusClasses, controlSurface, controlVariants, edgeFadeMask, envReference, flattenTree, isSafeTokenValue, itemVariants, linkVariants, menuItemClasses, menuLabelClasses, menuPopupClasses, menuSeparatorClasses, overlayDescriptionClasses, overlayFooterClasses, overlayModalTransitionClasses, overlayPopupTransitionClasses, overlayPositionerClasses, overlaySurfaceClasses, overlayTextClasses, overlayTitleClasses, paginationRange, parseEnvReference, partitionFiles, prepaintScript, rowVariants, scrimClasses, useControlHeight, useCuePortalProps, useDensities, useDensity, useFonts, useSidebar, useTheme, useThemes, useToast };
123
+ import { DEFAULT_STYLE_SET, STYLE_SETS } from "./system/index.js";
124
+ export { AGENT_COLOR_PROPERTY, AGENT_HUES, AGENT_ROOT_COLOR, Accordion, AgentPile, AlertDialog, AppBar, AppShell, AppWindowFrame, AskBox, AudienceIcon, Autocomplete, Avatar, AvatarGroup, Band, Bento, Breadcrumb, Button, ButtonGroup, Card, CatalogueIcon, ChannelBetaIcon, ChannelReleasedIcon, Checkbox, CheckboxGroup, Chip, CliToolIcon, CodeBlock, Collapsible, Combobox, CommandPalette, Composer, Container, ContextMenu, CopyButton, CueLogotype, CueMark, CuePortalFrame, DEFAULT_STORAGE_KEY, DEFAULT_STYLE_SET, DataRow, DataTree, DelegationCard, Density, DescriptionList, Dialog, Disclosure, Drawer, DropdownMenu, EmptyState, EnvVarInput, Eyebrow, Field, FieldDescription, FieldError, FieldLabel, FileUpload, FolderIcon, Footer, Frames, Grid, GroupBar, HoverCard, IconButton, InfoTip, Input, InputGroup, Inspector, Item, Kbd, Ledger, Link, McpServerIcon, Menubar, Message, MessageList, Meter, MultiSelect, NavigationMenu, NumberField, OTPField, OVERLAY_SIDE_OFFSET, PageShell, Pagination, Panel, PanelHeader, PasswordInput, Plussie, Popover, Preview, Progress, Radio, RadioGroup, Rating, Row, STYLE_SETS, ScrollArea, ScrollableTabsList, ScrubInput, SeamCell, SeamGrid, SeamList, SearchInput, SectionHeader, SegmentedControl, Select, Separator, Sheet, Sidebar, Skeleton, SkillIcon, Slider, Sparkline, Spinner, Stack, StackIcon, StacksMatrixIcon, Stat, StatusBar, StatusDot, Stepper, Switch, TAB_FADE_PX, TREE_GUIDE_GLYPHS, Table, TableScrollRegion, Tabs, TagsInput, TerminalFrame, Textarea, ThemeProvider, Timeline, TitleBar, Toast, Toggle, ToggleGroup, Toolbar, Tooltip, Tree, TreeVisibilityToggle, TwoStepButton, UsageChart, activateRowFromClick, activateRowFromKeyDown, agentColor, agentColorStyle, bareControlClasses, buttonVariants, chipVariants, computeScrollEdges, controlClasses, controlGroupFocusClasses, controlSurface, controlVariants, edgeFadeMask, envReference, flattenTree, isSafeTokenValue, itemVariants, linkVariants, menuItemClasses, menuLabelClasses, menuPopupClasses, menuSeparatorClasses, overlayDescriptionClasses, overlayFooterClasses, overlayModalTransitionClasses, overlayPopupTransitionClasses, overlayPositionerClasses, overlaySurfaceClasses, overlayTextClasses, overlayTitleClasses, paginationRange, parseEnvReference, partitionFiles, prepaintScript, rowVariants, scrimClasses, useControlHeight, useCuePortalProps, useDensities, useDensity, useFonts, useSidebar, useTheme, useThemes, useToast };
@@ -164,7 +164,7 @@ const CodeBlock = React.forwardRef(function CodeBlock({ code, label, language =
164
164
  }), /* @__PURE__ */ jsx(CopyButton, { value: code })]
165
165
  }), /* @__PURE__ */ jsx("pre", {
166
166
  "data-language": language,
167
- className: "overflow-x-auto p-(--cue-space-4) font-mono text-(length:--cue-text-ui) leading-relaxed text-fg",
167
+ className: "overflow-x-auto p-(--cue-space-4) font-mono text-(length:--cue-text-ui) leading-(--cue-leading-ui) text-fg",
168
168
  children: /* @__PURE__ */ jsx("code", { children: body })
169
169
  })]
170
170
  });
@@ -9,8 +9,11 @@ interface ProgressProps extends Omit<Progress.Root.Props, "className"> {
9
9
  /** Extra classes for the fill. */
10
10
  indicatorClassName?: string;
11
11
  /**
12
- * Caption above the bar. Rendered as Base UI's `Progress.Label`, so it also
13
- * becomes the bar's accessible name — pass one, or an `aria-label`.
12
+ * Caption above the bar, and the bar's accessible name: this layer points the
13
+ * `role="progressbar"` at it with `aria-labelledby` **at render**, so the name
14
+ * is in the markup a server sends. Pass one, or an `aria-label` — a root that
15
+ * already carries `aria-label` or `aria-labelledby` keeps the name it was
16
+ * given.
14
17
  */
15
18
  label?: React.ReactNode;
16
19
  /** Show the formatted value opposite the label. Defaults to `false`. */
@@ -33,7 +36,20 @@ interface ProgressProps extends Omit<Progress.Root.Props, "className"> {
33
36
  * Use `Meter` instead for a *level* (how full something is); a progress bar is
34
37
  * for a *task* (how far along something is).
35
38
  *
36
- * Static markup — no `"use client"`.
39
+ * **Named in the markup, not on hydration.** Base UI names the bar from the
40
+ * caption by having `Progress.Label` report its id to the root, and it reports
41
+ * it from a `useIsoLayoutEffect` (`@base-ui/react/utils/useRegisteredLabelId`),
42
+ * which the root keeps in `useState`. A render that runs no effects — SSR
43
+ * before hydration, `renderToStaticMarkup`, a page that never hydrates — emitted
44
+ * the caption with its id and a `role="progressbar"` that pointed at nothing, so
45
+ * the delivered HTML had a progressbar with no accessible name. Both ends are
46
+ * given the same `useId` here instead, so the first render is already correct
47
+ * and Base UI's effect later resolves the label to the id it was handed.
48
+ *
49
+ * Static markup — no `"use client"`. `useId` is the one hook it calls, and it
50
+ * is one a Server Component may call: React's Flight server implements `useId`
51
+ * in its hooks dispatcher, where the hooks a Server Component may not call are
52
+ * `unsupportedHook`.
37
53
  *
38
54
  * @example
39
55
  * <Progress value={40} label="Rendering" showValue />
@@ -21,7 +21,20 @@ const DEFAULT_HEIGHT_PX = 5;
21
21
  * Use `Meter` instead for a *level* (how full something is); a progress bar is
22
22
  * for a *task* (how far along something is).
23
23
  *
24
- * Static markup — no `"use client"`.
24
+ * **Named in the markup, not on hydration.** Base UI names the bar from the
25
+ * caption by having `Progress.Label` report its id to the root, and it reports
26
+ * it from a `useIsoLayoutEffect` (`@base-ui/react/utils/useRegisteredLabelId`),
27
+ * which the root keeps in `useState`. A render that runs no effects — SSR
28
+ * before hydration, `renderToStaticMarkup`, a page that never hydrates — emitted
29
+ * the caption with its id and a `role="progressbar"` that pointed at nothing, so
30
+ * the delivered HTML had a progressbar with no accessible name. Both ends are
31
+ * given the same `useId` here instead, so the first render is already correct
32
+ * and Base UI's effect later resolves the label to the id it was handed.
33
+ *
34
+ * Static markup — no `"use client"`. `useId` is the one hook it calls, and it
35
+ * is one a Server Component may call: React's Flight server implements `useId`
36
+ * in its hooks dispatcher, where the hooks a Server Component may not call are
37
+ * `unsupportedHook`.
25
38
  *
26
39
  * @example
27
40
  * <Progress value={40} label="Rendering" showValue />
@@ -30,15 +43,20 @@ const DEFAULT_HEIGHT_PX = 5;
30
43
  */
31
44
  const Progress$1 = React.forwardRef(function Progress$2({ className, trackClassName, indicatorClassName, label, showValue = false, height = DEFAULT_HEIGHT_PX, ...rootProps }, ref) {
32
45
  const hasHeader = label !== void 0 || showValue;
46
+ const captionId = React.useId();
47
+ const namedByCaller = rootProps["aria-label"] !== void 0 || rootProps["aria-labelledby"] !== void 0;
48
+ const namedByCaption = label !== void 0 && !namedByCaller;
33
49
  return /* @__PURE__ */ jsxs(Progress.Root, {
34
50
  ref,
35
51
  "data-slot": "progress",
52
+ "aria-labelledby": namedByCaption ? captionId : void 0,
36
53
  className: cn("flex w-full flex-col gap-(--cue-space-2)", className),
37
54
  ...rootProps,
38
55
  children: [hasHeader ? /* @__PURE__ */ jsxs("div", {
39
56
  "data-slot": "progress-header",
40
57
  className: "flex items-baseline gap-(--cue-space-3) font-mono text-(length:--cue-text-label)",
41
58
  children: [label === void 0 ? null : /* @__PURE__ */ jsx(Progress.Label, {
59
+ id: namedByCaption ? captionId : void 0,
42
60
  "data-slot": "progress-label",
43
61
  className: "truncate tracking-[0.15em] text-fg-subtle uppercase",
44
62
  children: label
@@ -205,7 +205,7 @@ const TerminalFrame = React.forwardRef(function TerminalFrame({ className, title
205
205
  }) : null]
206
206
  }), /* @__PURE__ */ jsxs("div", {
207
207
  "data-slot": "terminal-frame-body",
208
- className: "min-w-0 flex-1 overflow-auto p-(--cue-space-5) leading-relaxed whitespace-pre-wrap",
208
+ className: "min-w-0 flex-1 overflow-auto p-(--cue-space-5) leading-(--cue-leading-ui) whitespace-pre-wrap",
209
209
  style: height === void 0 ? void 0 : { height: toRem(height) },
210
210
  children: [
211
211
  rendered.map((line, index) => /* @__PURE__ */ jsxs("div", {
@@ -41,6 +41,6 @@ const accordionPanelClasses = `${PANEL_MOTION} h-(--accordion-panel-height)`;
41
41
  /** {@link PANEL_MOTION} against the collapsible's measured height. */
42
42
  const collapsiblePanelClasses = `${PANEL_MOTION} h-(--collapsible-panel-height)`;
43
43
  /** The padded body inside a panel: aligned to the summary row's gutters. */
44
- const collapsePanelBodyClasses = "px-(--cue-pad-row-x) pt-(--cue-space-1) pb-(--cue-space-4) font-mono text-(length:--cue-text-ui) leading-relaxed text-fg-muted";
44
+ const collapsePanelBodyClasses = "px-(--cue-pad-row-x) pt-(--cue-space-1) pb-(--cue-space-4) font-mono text-(length:--cue-text-ui) leading-(--cue-leading-ui) text-fg-muted";
45
45
  //#endregion
46
46
  export { accordionPanelClasses, collapseCaretClasses, collapseLabelClasses, collapsePanelBodyClasses, collapseTriggerClasses, collapsiblePanelClasses };
@@ -51,7 +51,7 @@ const Card = {
51
51
  return /* @__PURE__ */ jsx("p", {
52
52
  ref,
53
53
  "data-slot": "card-description",
54
- className: cn("font-mono text-(length:--cue-text-ui) leading-relaxed text-fg-muted", className),
54
+ className: cn("font-mono text-(length:--cue-text-ui) leading-(--cue-leading-ui) text-fg-muted", className),
55
55
  ...elementProps
56
56
  });
57
57
  }),
@@ -12,9 +12,9 @@ import { jsx } from "react/jsx-runtime";
12
12
  * only wants the gutters.
13
13
  */
14
14
  const WIDTHS = {
15
- narrow: "max-w-[42rem]",
16
- wide: "max-w-[54rem]",
17
- broad: "max-w-[84rem]",
15
+ narrow: "max-w-(--cue-measure-narrow)",
16
+ wide: "max-w-(--cue-measure-wide)",
17
+ broad: "max-w-(--cue-measure-broad)",
18
18
  full: ""
19
19
  };
20
20
  /**
@@ -29,7 +29,25 @@ interface FramesRootProps extends Omit<React.ComponentPropsWithoutRef<"div">, "c
29
29
  * listener at all; and the keyboard scrolls the canvas either way.
30
30
  */
31
31
  pan?: boolean;
32
+ /**
33
+ * How the frames are arranged. Defaults to `"board"`.
34
+ *
35
+ * `"board"` is the original: a short, wide, sideways scroller a reader drags
36
+ * through — right where the frames are a set you *browse*, on a homepage wall
37
+ * or a design surface.
38
+ *
39
+ * `"column"` stacks them one under the next, each at the full width it is
40
+ * given, and the canvas grows to whatever it holds. It exists for the page
41
+ * that *reads*: a documentation page scrolls vertically already, and asking a
42
+ * reader to pan a second axis to reach the fifth variant of a component —
43
+ * with that fifth variant clipped at the board's edge until they do — hides
44
+ * the examples behind an interaction. A column has no fixed height, so
45
+ * `height` is ignored, and nothing pans, so `pan` and `hint` are moot.
46
+ */
47
+ layout?: FramesLayout;
32
48
  }
49
+ /** Whether a canvas browses sideways or reads downwards. */
50
+ type FramesLayout = "board" | "column";
33
51
  interface FramesItemProps extends React.ComponentPropsWithoutRef<"div"> {
34
52
  /** The specimen. */
35
53
  children: React.ReactNode;
@@ -67,4 +85,4 @@ declare const Frames: {
67
85
  Item: React.ForwardRefExoticComponent<FramesItemProps & React.RefAttributes<HTMLDivElement>>;
68
86
  };
69
87
  //#endregion
70
- export { Frames, FramesHeight, FramesItemProps, FramesRootProps };
88
+ export { Frames, FramesHeight, FramesItemProps, FramesLayout, FramesRootProps };
@@ -118,6 +118,18 @@ const ROOT_CLASS = "relative min-w-0 overflow-hidden rounded-(--radius-surface)
118
118
  * must not be.
119
119
  */
120
120
  const CANVAS_CLASS = "flex h-full min-w-0 items-start gap-(--cue-space-8) overflow-x-auto overflow-y-hidden scroll-smooth p-(--cue-space-6) outline-none motion-reduce:scroll-auto focus-visible:outline-2 focus-visible:outline-solid focus-visible:-outline-offset-2 focus-visible:outline-accent";
121
+ /**
122
+ * The column: the same frames, stacked, sized by what they hold.
123
+ *
124
+ * `overflow-visible` on both axes is the point — the box grows instead of
125
+ * clipping, which is the one thing the board deliberately does not do. No
126
+ * scroller of its own, so the page's scroller is the only one a reader meets.
127
+ * It keeps the focus ring and the keyboard handler: the region is still
128
+ * focusable, and arrow keys still scroll it, they just scroll the page.
129
+ */
130
+ const COLUMN_CLASS = "flex min-w-0 flex-col gap-(--cue-space-6) p-(--cue-space-6) outline-none focus-visible:outline-2 focus-visible:outline-solid focus-visible:-outline-offset-2 focus-visible:outline-accent";
131
+ /** A column is sized by its contents, so the box must not hold a height. */
132
+ const COLUMN_ROOT_CLASS = "h-auto";
121
133
  /** The affordance, and only where there is something to afford. */
122
134
  const PANNABLE_CLASS = "cursor-grab";
123
135
  /**
@@ -143,18 +155,20 @@ const HINT_CLASS = "pointer-events-none absolute right-(--cue-space-4) bottom-(-
143
155
  * <Preview presentation="frame" label="Tone" count={4}>…</Preview>
144
156
  * </Frames.Root>
145
157
  */
146
- const FramesRoot = React.forwardRef(function FramesRoot({ children, label, height = "short", ground = "dots", hint, pan = true, className, ...elementProps }, ref) {
158
+ const FramesRoot = React.forwardRef(function FramesRoot({ children, label, height = "short", ground = "dots", hint, pan = true, layout = "board", className, ...elementProps }, ref) {
147
159
  const drag = React.useRef(null);
148
160
  const canvasRef = React.useRef(null);
149
161
  const [panning, setPanning] = React.useState(false);
162
+ const column = layout === "column";
163
+ const pans = pan && !column;
150
164
  React.useEffect(() => {
151
- if (pan) return;
165
+ if (pans) return;
152
166
  const started = drag.current;
153
167
  if (started === null) return;
154
168
  canvasRef.current?.releasePointerCapture?.(started.id);
155
169
  drag.current = null;
156
170
  setPanning(false);
157
- }, [pan]);
171
+ }, [pans]);
158
172
  const scroll = (event) => {
159
173
  if (event.defaultPrevented || event.target !== event.currentTarget) return;
160
174
  const canvas = event.currentTarget;
@@ -203,7 +217,7 @@ const FramesRoot = React.forwardRef(function FramesRoot({ children, label, heigh
203
217
  ...elementProps,
204
218
  ref,
205
219
  "data-slot": "frames",
206
- className: cn(ROOT_CLASS, HEIGHT_CLASSES[height], GROUND_CLASSES[ground], className),
220
+ className: cn(ROOT_CLASS, column ? COLUMN_ROOT_CLASS : HEIGHT_CLASSES[height], GROUND_CLASSES[ground], className),
207
221
  children: [/* @__PURE__ */ jsx("div", {
208
222
  ref: canvasRef,
209
223
  role: "region",
@@ -211,11 +225,11 @@ const FramesRoot = React.forwardRef(function FramesRoot({ children, label, heigh
211
225
  "aria-label": label,
212
226
  "data-slot": "frames-canvas",
213
227
  "data-panning": panning ? "true" : void 0,
214
- className: cn(CANVAS_CLASS, pan && PANNABLE_CLASS, panning && PANNING_CLASS),
228
+ className: column ? COLUMN_CLASS : cn(CANVAS_CLASS, pans && PANNABLE_CLASS, panning && PANNING_CLASS),
215
229
  onKeyDown: scroll,
216
- ...pan ? pointer : {},
230
+ ...pans ? pointer : {},
217
231
  children
218
- }), hint === void 0 ? null : /* @__PURE__ */ jsx("span", {
232
+ }), hint === void 0 || column ? null : /* @__PURE__ */ jsx("span", {
219
233
  "data-slot": "frames-hint",
220
234
  className: HINT_CLASS,
221
235
  children: hint
@@ -9,11 +9,11 @@ import { Card, CardContentProps, CardDescriptionProps, CardFooterProps, CardHead
9
9
  import { Collapsible, CollapsiblePanelProps, CollapsibleRootProps, CollapsibleTriggerProps, Disclosure, DisclosureProps } from "./collapsible.js";
10
10
  import { DescriptionList, DescriptionListDetailProps, DescriptionListLayout, DescriptionListRootProps, DescriptionListTermProps } from "./description-list.js";
11
11
  import { PreviewGround } from "./_ground.js";
12
- import { Frames, FramesHeight, FramesItemProps, FramesRootProps } from "./frames.js";
12
+ import { Frames, FramesHeight, FramesItemProps, FramesLayout, FramesRootProps } from "./frames.js";
13
13
  import { Grid, GridColumns, GridProps } from "./grid.js";
14
14
  import { Item, ItemProps, itemVariants } from "./item.js";
15
15
  import { Pagination, PaginationEntry, PaginationProps, paginationRange } from "./pagination.js";
16
16
  import { Preview, PreviewAxis, PreviewPresentation, PreviewProps, PreviewResizeOptions } from "./preview.js";
17
17
  import { Stepper, StepperProps, StepperState, StepperStep } from "./stepper.js";
18
18
  import { Timeline, TimelineContentProps, TimelineItemProps, TimelineMarkerProps, TimelineRootProps } from "./timeline.js";
19
- export { Accordion, type AccordionHeaderProps, type AccordionItemProps, type AccordionPanelProps, type AccordionRootProps, type AccordionTriggerProps, Bento, type BentoColumns, type BentoMinHeight, type BentoRootProps, type BentoRowSpan, type BentoRows, type BentoSpan, type BentoTileProps, Breadcrumb, type BreadcrumbItem, type BreadcrumbProps, Card, type CardContentProps, type CardDescriptionProps, type CardFooterProps, type CardHeaderProps, type CardRootProps, type CardTitleProps, Collapsible, type CollapsiblePanelProps, type CollapsibleRootProps, type CollapsibleTriggerProps, Container, type ContainerProps, type ContainerWidth, DescriptionList, type DescriptionListDetailProps, type DescriptionListLayout, type DescriptionListRootProps, type DescriptionListTermProps, Disclosure, type DisclosureProps, Frames, type FramesHeight, type FramesItemProps, type FramesRootProps, Grid, type GridColumns, type GridProps, Item, type ItemProps, Link, type LinkProps, Pagination, type PaginationEntry, type PaginationProps, Preview, type PreviewAxis, type PreviewGround, type PreviewPresentation, type PreviewProps, type PreviewResizeOptions, Sidebar, type SidebarItemProps, type SidebarRailProps, type SidebarRootProps, type SidebarSectionProps, type SpaceStep, Stack, type StackAlign, type StackJustify, type StackProps, Stepper, type StepperProps, type StepperState, type StepperStep, Timeline, type TimelineContentProps, type TimelineItemProps, type TimelineMarkerProps, type TimelineRootProps, itemVariants, linkVariants, paginationRange, useSidebar };
19
+ export { Accordion, type AccordionHeaderProps, type AccordionItemProps, type AccordionPanelProps, type AccordionRootProps, type AccordionTriggerProps, Bento, type BentoColumns, type BentoMinHeight, type BentoRootProps, type BentoRowSpan, type BentoRows, type BentoSpan, type BentoTileProps, Breadcrumb, type BreadcrumbItem, type BreadcrumbProps, Card, type CardContentProps, type CardDescriptionProps, type CardFooterProps, type CardHeaderProps, type CardRootProps, type CardTitleProps, Collapsible, type CollapsiblePanelProps, type CollapsibleRootProps, type CollapsibleTriggerProps, Container, type ContainerProps, type ContainerWidth, DescriptionList, type DescriptionListDetailProps, type DescriptionListLayout, type DescriptionListRootProps, type DescriptionListTermProps, Disclosure, type DisclosureProps, Frames, type FramesHeight, type FramesItemProps, type FramesLayout, type FramesRootProps, Grid, type GridColumns, type GridProps, Item, type ItemProps, Link, type LinkProps, Pagination, type PaginationEntry, type PaginationProps, Preview, type PreviewAxis, type PreviewGround, type PreviewPresentation, type PreviewProps, type PreviewResizeOptions, Sidebar, type SidebarItemProps, type SidebarRailProps, type SidebarRootProps, type SidebarSectionProps, type SpaceStep, Stack, type StackAlign, type StackJustify, type StackProps, Stepper, type StepperProps, type StepperState, type StepperStep, Timeline, type TimelineContentProps, type TimelineItemProps, type TimelineMarkerProps, type TimelineRootProps, itemVariants, linkVariants, paginationRange, useSidebar };
@@ -1,6 +1,7 @@
1
1
  import { PreviewGround } from "./_ground.js";
2
2
  import * as React from "react";
3
- import { Density, FontName, Mode, ThemeName } from "@cueplusplus/theme-base";
3
+ import { StyleSet } from "@cueplusplus/tokens";
4
+ import { Density as Density$1, FontName, Mode, ThemeName } from "@cueplusplus/theme-base";
4
5
  //#region src/layout/preview.d.ts
5
6
  /** Where the chrome sits and what the stage's ground is. */
6
7
  type PreviewPresentation = "panel" | "frame";
@@ -53,9 +54,23 @@ interface PreviewProps extends Omit<React.ComponentPropsWithoutRef<"div">, "chil
53
54
  */
54
55
  mode?: Mode;
55
56
  /** A rung of the density ladder for the stage only, as a `<Density>` island would set it. */
56
- density?: Density;
57
+ density?: Density$1;
57
58
  /** A font pairing for the stage only, as `data-font`. Portals still follow the root's pairing. */
58
59
  font?: FontName;
60
+ /**
61
+ * A style set for the stage only: `console`, `editorial` or `marketing`.
62
+ *
63
+ * Unset, the stage inherits and **no attribute is emitted at all** — the same
64
+ * rule the other four follow here. Unlike `theme`, naming one loads nothing
65
+ * and needs nothing: the three sets are emitted by `@cueplusplus/tokens` into
66
+ * the stylesheet every consumer already imports, so a stage is scoped to
67
+ * `[data-style="<name>"]` and the block is on the page by construction.
68
+ *
69
+ * The set is republished to React as well as stamped, so a popover opened on
70
+ * the stage follows the stage rather than the page — a portal mounts on
71
+ * `<body>` and inherits nothing from the stage's DOM.
72
+ */
73
+ styleSet?: StyleSet;
59
74
  /**
60
75
  * Resize the stage by dragging or with the keyboard. `true` gives both axes
61
76
  * inside the default bounds (160–1280 px wide, 96–960 px tall); an object
@@ -122,13 +137,14 @@ interface PreviewProps extends Omit<React.ComponentPropsWithoutRef<"div">, "chil
122
137
  * whatever canvas the frame sits on shows through. Everything below holds in
123
138
  * both.
124
139
  *
125
- * **The stage is the island; the chrome is not.** `theme`, `mode`, `density`
126
- * and `font` land on the stage element only, and the stage republishes the
127
- * theme and density contexts so an overlay opened on it follows it. The tools,
128
- * the footer, the grips and anything they open stay in the scope around the
129
- * Preview — a `terminal` preview's own controls do not turn cyan. With none of
130
- * the four set, the stage carries no attribute and costs what a `<div>` costs.
131
- * A stage `theme` with no `mode` repeats the page's mode beside it.
140
+ * **The stage is the island; the chrome is not.** `theme`, `mode`, `density`,
141
+ * `font` and `styleSet` land on the stage element only, and the stage
142
+ * republishes the theme, density and style-set contexts so an overlay opened on
143
+ * it follows it. The tools, the footer, the grips and anything they open stay
144
+ * in the scope around the Preview — a `terminal` preview's own controls do not
145
+ * turn cyan. With none of the five set, the stage carries no attribute and
146
+ * costs what a `<div>` costs. A stage `theme` with no `mode` repeats the page's
147
+ * mode beside it.
132
148
  *
133
149
  * **`resizable` is handles of its own**, both axes by default: an edge grip per
134
150
  * axis that is a keyboard-operable `separator` valued in pixels, and a corner
@@ -151,6 +167,10 @@ interface PreviewProps extends Omit<React.ComponentPropsWithoutRef<"div">, "chil
151
167
  * <Preview label="Button" presentation="frame" count={3}>
152
168
  * <Button variant="primary">Take cue</Button>
153
169
  * </Preview>
170
+ * @example
171
+ * <Preview label="Editorial band" styleSet="editorial" presentation="frame">
172
+ * <Container className="max-w-(--cue-measure-prose)">…</Container>
173
+ * </Preview>
154
174
  */
155
175
  declare const Preview: React.ForwardRefExoticComponent<PreviewProps & React.RefAttributes<HTMLDivElement>>;
156
176
  //#endregion