@cueplusplus/ui 0.18.2 → 0.20.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 (189) hide show
  1. package/CHANGELOG.md +100 -0
  2. package/dist/brand/_motif-seed.js +20 -0
  3. package/dist/brand/gloss-object.d.ts +23 -0
  4. package/dist/brand/gloss-object.js +108 -0
  5. package/dist/brand/halftone.d.ts +23 -0
  6. package/dist/brand/halftone.js +54 -0
  7. package/dist/brand/index.d.ts +8 -1
  8. package/dist/brand/motif.d.ts +32 -0
  9. package/dist/brand/motif.js +71 -0
  10. package/dist/brand/particle-logo.d.ts +50 -0
  11. package/dist/brand/particle-logo.js +437 -0
  12. package/dist/brand/particle-mark.d.ts +29 -0
  13. package/dist/brand/particle-mark.js +137 -0
  14. package/dist/brand/ribbon.d.ts +20 -0
  15. package/dist/brand/ribbon.js +54 -0
  16. package/dist/brand/text-scramble.d.ts +42 -0
  17. package/dist/brand/text-scramble.js +160 -0
  18. package/dist/chat/delegation-card.js +2 -1
  19. package/dist/chat/message.js +12 -13
  20. package/dist/chrome/announcement-bar.d.ts +30 -0
  21. package/dist/chrome/announcement-bar.js +38 -0
  22. package/dist/chrome/app-bar.d.ts +4 -1
  23. package/dist/chrome/app-bar.js +7 -2
  24. package/dist/chrome/app-shell.js +8 -1
  25. package/dist/chrome/band.d.ts +3 -1
  26. package/dist/chrome/band.js +4 -3
  27. package/dist/chrome/hero.d.ts +61 -0
  28. package/dist/chrome/hero.js +108 -0
  29. package/dist/chrome/index.d.ts +6 -1
  30. package/dist/chrome/index.js +6 -1
  31. package/dist/chrome/keyword.d.ts +22 -0
  32. package/dist/chrome/keyword.js +28 -0
  33. package/dist/chrome/logo-strip.d.ts +23 -0
  34. package/dist/chrome/logo-strip.js +43 -0
  35. package/dist/chrome/page-shell.js +13 -1
  36. package/dist/chrome/stat-band.d.ts +32 -0
  37. package/dist/chrome/stat-band.js +39 -0
  38. package/dist/color/color-area.js +2 -1
  39. package/dist/dmx/channel-matrix.js +5 -3
  40. package/dist/dmx/dmx-strip.js +5 -3
  41. package/dist/elements/animated-number.js +4 -1
  42. package/dist/elements/replay.d.ts +1 -1
  43. package/dist/elements/replay.js +5 -2
  44. package/dist/elements/scroll-anchor.js +4 -1
  45. package/dist/forms/_chassis.d.ts +1 -1
  46. package/dist/forms/_chassis.js +2 -2
  47. package/dist/forms/env-var-input.js +2 -1
  48. package/dist/forms/file-upload.js +2 -1
  49. package/dist/index.d.ts +17 -1
  50. package/dist/index.js +18 -2
  51. package/dist/instruments/data-table.js +3 -2
  52. package/dist/instruments/index.js +1 -1
  53. package/dist/instruments/stat.js +1 -1
  54. package/dist/instruments/table.js +1 -1
  55. package/dist/instruments/terminal-frame.js +5 -2
  56. package/dist/layout/grid.js +4 -2
  57. package/dist/layout/index.d.ts +2 -1
  58. package/dist/layout/index.js +2 -1
  59. package/dist/layout/preview.js +4 -188
  60. package/dist/layout/reveal.d.ts +44 -0
  61. package/dist/layout/reveal.js +106 -0
  62. package/dist/layout/sidebar.js +88 -52
  63. package/dist/lib/cn.js +23 -5
  64. package/dist/lib/particle-field-shaders.js +236 -0
  65. package/dist/lib/particle-field.js +210 -0
  66. package/dist/midi/spectrum-visualizer.js +2 -1
  67. package/dist/overlays/_surface.d.ts +2 -2
  68. package/dist/primitives/button.js +22 -3
  69. package/dist/primitives/chip.d.ts +1 -1
  70. package/dist/primitives/chip.js +63 -6
  71. package/dist/styles.css +26 -0
  72. package/dist/system/_scoped-pairing.js +18 -0
  73. package/dist/system/_stage-scope.js +199 -0
  74. package/dist/system/_style-check.js +1 -1
  75. package/dist/system/_style-chip.js +1 -1
  76. package/dist/system/_style-field-chassis.js +14 -1
  77. package/dist/system/_style-group-label.js +7 -3
  78. package/dist/system/_style-hero-title.js +41 -0
  79. package/dist/system/_style-kbd.js +1 -1
  80. package/dist/system/_style-label-ink.js +12 -5
  81. package/dist/system/_style-menu.js +1 -1
  82. package/dist/system/_style-page-title.js +1 -1
  83. package/dist/system/_style-segmented-control.js +1 -1
  84. package/dist/system/_style-skeleton.js +1 -1
  85. package/dist/system/_style-tab.js +1 -1
  86. package/dist/system/font-scope.d.ts +38 -0
  87. package/dist/system/font-scope.js +69 -0
  88. package/dist/system/frame-clock.d.ts +33 -0
  89. package/dist/system/frame-clock.js +55 -0
  90. package/dist/system/index.d.ts +4 -1
  91. package/dist/system/index.js +4 -1
  92. package/dist/system/portal.js +7 -1
  93. package/dist/system/still.d.ts +32 -0
  94. package/dist/system/still.js +60 -0
  95. package/manifest/components/alert-dialog.json +1 -1
  96. package/manifest/components/announcement-bar.json +82 -0
  97. package/manifest/components/app-bar.json +3 -2
  98. package/manifest/components/app-shell.json +3 -0
  99. package/manifest/components/autocomplete.json +2 -0
  100. package/manifest/components/band.json +2 -1
  101. package/manifest/components/bento.json +13 -13
  102. package/manifest/components/button.json +1 -0
  103. package/manifest/components/channel-matrix.json +1 -0
  104. package/manifest/components/chart-tooltip-content.json +1 -0
  105. package/manifest/components/checkbox-group.json +1 -1
  106. package/manifest/components/checkbox.json +1 -1
  107. package/manifest/components/chip.json +1 -0
  108. package/manifest/components/color-area.json +10 -0
  109. package/manifest/components/color-field.json +3 -0
  110. package/manifest/components/color-picker.json +3 -0
  111. package/manifest/components/combobox.json +2 -0
  112. package/manifest/components/command-palette.json +1 -0
  113. package/manifest/components/composer.json +3 -0
  114. package/manifest/components/context-menu.json +1 -1
  115. package/manifest/components/data-table-pagination.json +3 -0
  116. package/manifest/components/data-table-toolbar.json +3 -0
  117. package/manifest/components/date-field.json +3 -0
  118. package/manifest/components/date-picker.json +3 -0
  119. package/manifest/components/date-range-picker.json +3 -0
  120. package/manifest/components/delegation-card.json +6 -0
  121. package/manifest/components/density.json +6 -2
  122. package/manifest/components/dialog.json +1 -1
  123. package/manifest/components/dmx-bar.json +1 -1
  124. package/manifest/components/dmx-strip.json +1 -1
  125. package/manifest/components/drawer.json +1 -1
  126. package/manifest/components/dropdown-menu.json +1 -0
  127. package/manifest/components/env-var-input.json +3 -0
  128. package/manifest/components/file-upload.json +5 -0
  129. package/manifest/components/font-scope.json +82 -0
  130. package/manifest/components/footer.json +0 -1
  131. package/manifest/components/gloss-object.json +81 -0
  132. package/manifest/components/grid.json +6 -6
  133. package/manifest/components/halftone.json +79 -0
  134. package/manifest/components/hero.json +204 -0
  135. package/manifest/components/hover-card.json +1 -1
  136. package/manifest/components/input-group.json +3 -0
  137. package/manifest/components/input.json +3 -0
  138. package/manifest/components/kbd.json +1 -0
  139. package/manifest/components/keyword.json +67 -0
  140. package/manifest/components/ledger.json +5 -5
  141. package/manifest/components/logo-strip.json +93 -0
  142. package/manifest/components/markdown-text.json +3 -3
  143. package/manifest/components/menubar.json +1 -1
  144. package/manifest/components/message.json +8 -0
  145. package/manifest/components/motif.json +90 -0
  146. package/manifest/components/multi-select.json +2 -0
  147. package/manifest/components/musical-time-input.json +3 -0
  148. package/manifest/components/navigation-menu.json +1 -0
  149. package/manifest/components/number-field.json +3 -0
  150. package/manifest/components/otp-field.json +3 -0
  151. package/manifest/components/page-shell.json +5 -0
  152. package/manifest/components/particle-logo.json +140 -0
  153. package/manifest/components/particle-mark.json +75 -0
  154. package/manifest/components/password-input.json +3 -0
  155. package/manifest/components/popover.json +1 -1
  156. package/manifest/components/preview.json +10 -4
  157. package/manifest/components/radio-group.json +0 -1
  158. package/manifest/components/radio.json +0 -1
  159. package/manifest/components/reveal.json +106 -0
  160. package/manifest/components/ribbon.json +65 -0
  161. package/manifest/components/scrollable-tabs-list.json +1 -0
  162. package/manifest/components/scrub-input.json +3 -0
  163. package/manifest/components/search-input.json +3 -0
  164. package/manifest/components/segmented-control.json +1 -0
  165. package/manifest/components/select.json +3 -0
  166. package/manifest/components/sheet.json +1 -1
  167. package/manifest/components/sidebar.json +1 -0
  168. package/manifest/components/skeleton.json +1 -0
  169. package/manifest/components/spectrum-visualizer.json +10 -0
  170. package/manifest/components/stack.json +4 -4
  171. package/manifest/components/stat-band.json +68 -0
  172. package/manifest/components/stat.json +1 -1
  173. package/manifest/components/still-provider.json +60 -0
  174. package/manifest/components/switch.json +0 -1
  175. package/manifest/components/table.json +2 -2
  176. package/manifest/components/tabs.json +1 -0
  177. package/manifest/components/tags-input.json +2 -0
  178. package/manifest/components/text-scramble.json +90 -0
  179. package/manifest/components/textarea.json +3 -0
  180. package/manifest/components/theme-configurator.json +1 -0
  181. package/manifest/components/theme-provider.json +10 -4
  182. package/manifest/components/time-field.json +3 -0
  183. package/manifest/components/toast.json +1 -0
  184. package/manifest/components/tooltip.json +1 -1
  185. package/manifest/fixtures.json +18 -0
  186. package/manifest/manifest.json +368 -80
  187. package/manifest/tokens.json +93 -3
  188. package/package.json +6 -6
  189. package/dist/system/_paint-ground-pattern.js +0 -30
@@ -0,0 +1,22 @@
1
+ import * as React from "react";
2
+ //#region src/chrome/keyword.d.ts
3
+ interface KeywordProps extends React.ComponentPropsWithoutRef<"span"> {
4
+ /** The words to mark: one word or a short phrase in a title. */
5
+ children: React.ReactNode;
6
+ }
7
+ /**
8
+ * A word in a title filled with the Look's keyword gradient.
9
+ *
10
+ * Reads `style-keyword-fill`, a gradient of the theme's own inks, through
11
+ * `background-clip: text`. Where the browser cannot clip a background to text, or
12
+ * in forced colours, it is the accent instead, so the word is never transparent.
13
+ * Unset, the fill is the accent itself.
14
+ *
15
+ * Static markup — no `"use client"`.
16
+ *
17
+ * @example
18
+ * <h1>The world's first <Keyword>predictive</Keyword> retail system.</h1>
19
+ */
20
+ declare const Keyword: React.ForwardRefExoticComponent<KeywordProps & React.RefAttributes<HTMLSpanElement>>;
21
+ //#endregion
22
+ export { Keyword, KeywordProps };
@@ -0,0 +1,28 @@
1
+ import { cn } from "../lib/cn.js";
2
+ import * as React from "react";
3
+ import { jsx } from "react/jsx-runtime";
4
+ //#region src/chrome/keyword.tsx
5
+ /**
6
+ * A word in a title filled with the Look's keyword gradient.
7
+ *
8
+ * Reads `style-keyword-fill`, a gradient of the theme's own inks, through
9
+ * `background-clip: text`. Where the browser cannot clip a background to text, or
10
+ * in forced colours, it is the accent instead, so the word is never transparent.
11
+ * Unset, the fill is the accent itself.
12
+ *
13
+ * Static markup — no `"use client"`.
14
+ *
15
+ * @example
16
+ * <h1>The world's first <Keyword>predictive</Keyword> retail system.</h1>
17
+ */
18
+ const Keyword = React.forwardRef(function Keyword({ className, children, ...elementProps }, ref) {
19
+ return /* @__PURE__ */ jsx("span", {
20
+ ref,
21
+ "data-slot": "keyword",
22
+ className: cn("text-accent", "supports-[background-clip:text]:bg-[image:var(--cue-style-keyword-fill,linear-gradient(var(--cue-accent),var(--cue-accent)))] supports-[background-clip:text]:bg-clip-text supports-[background-clip:text]:text-transparent", "forced-colors:bg-none forced-colors:text-[CanvasText]", className),
23
+ ...elementProps,
24
+ children
25
+ });
26
+ });
27
+ //#endregion
28
+ export { Keyword };
@@ -0,0 +1,23 @@
1
+ import * as React from "react";
2
+ //#region src/chrome/logo-strip.d.ts
3
+ interface LogoStripProps extends React.ComponentPropsWithoutRef<"div"> {
4
+ /** The names, as text. A real company's logo is never drawn here. */
5
+ names: readonly string[];
6
+ /** The line above the row, e.g. "Trusted by teams at". */
7
+ caption?: React.ReactNode;
8
+ }
9
+ /**
10
+ * A row of names under a caption: the "trusted by" strip of a product page.
11
+ *
12
+ * Text wordmarks only, set in the display face at a muted ink, never an image: a
13
+ * real company's mark is a trademark that is not this library's to draw, and a
14
+ * gallery page's names are fictional. The row wraps, and centres when it does.
15
+ *
16
+ * Static markup — no `"use client"`.
17
+ *
18
+ * @example
19
+ * <LogoStrip caption="Trusted by teams at" names={["Northwind", "Halcyon", "Kestrel"]} />
20
+ */
21
+ declare const LogoStrip: React.ForwardRefExoticComponent<LogoStripProps & React.RefAttributes<HTMLDivElement>>;
22
+ //#endregion
23
+ export { LogoStrip, LogoStripProps };
@@ -0,0 +1,43 @@
1
+ import { cn } from "../lib/cn.js";
2
+ import { LABEL_INK, LABEL_INK_SUBTLE } from "../system/_style-label-ink.js";
3
+ import { LABEL_FACE } from "../system/_style-label-face.js";
4
+ import { LABEL_CASE } from "../system/_style-label-case.js";
5
+ import { LABEL_TRACKING } from "../system/_style-label-tracking.js";
6
+ import { LABEL_SIZE } from "../system/_style-label-size.js";
7
+ import * as React from "react";
8
+ import { jsx, jsxs } from "react/jsx-runtime";
9
+ //#region src/chrome/logo-strip.tsx
10
+ /**
11
+ * A row of names under a caption: the "trusted by" strip of a product page.
12
+ *
13
+ * Text wordmarks only, set in the display face at a muted ink, never an image: a
14
+ * real company's mark is a trademark that is not this library's to draw, and a
15
+ * gallery page's names are fictional. The row wraps, and centres when it does.
16
+ *
17
+ * Static markup — no `"use client"`.
18
+ *
19
+ * @example
20
+ * <LogoStrip caption="Trusted by teams at" names={["Northwind", "Halcyon", "Kestrel"]} />
21
+ */
22
+ const LogoStrip = React.forwardRef(function LogoStrip({ className, names, caption, ...elementProps }, ref) {
23
+ return /* @__PURE__ */ jsxs("div", {
24
+ ref,
25
+ "data-slot": "logo-strip",
26
+ className: cn("flex flex-col items-center gap-(--cue-space-4)", className),
27
+ ...elementProps,
28
+ children: [caption === void 0 ? null : /* @__PURE__ */ jsx("p", {
29
+ "data-slot": "logo-strip-caption",
30
+ className: cn(LABEL_FACE, LABEL_SIZE, LABEL_CASE, LABEL_TRACKING, LABEL_INK_SUBTLE, "m-0"),
31
+ children: caption
32
+ }), /* @__PURE__ */ jsx("ul", {
33
+ role: "list",
34
+ className: "m-0 flex list-none flex-wrap items-center justify-center gap-x-(--cue-space-7) gap-y-(--cue-space-4) p-0",
35
+ children: names.map((name) => /* @__PURE__ */ jsx("li", {
36
+ className: cn("font-sans text-(length:--cue-text-title) font-semibold", LABEL_INK),
37
+ children: name
38
+ }, name))
39
+ })]
40
+ });
41
+ });
42
+ //#endregion
43
+ export { LogoStrip };
@@ -26,6 +26,18 @@ const WIDTHS = {
26
26
  full: ""
27
27
  };
28
28
  /**
29
+ * A style set's frame and grid lines (structural Looks, spec 2026-10-02 §3.1): a
30
+ * dashed hairline round the content column, and two hairlines at its edges. Each is
31
+ * a pseudo-element whose `content` is a token the build derives — `none` unless the
32
+ * set asks, which generates no box at all — and the shell is their containing block
33
+ * only while one is drawn, so a set without lines lays out and paints as before.
34
+ */
35
+ const FRAME_LINES_CLASSES = [
36
+ "[position:var(--cue-style-page-frame-position,static)]",
37
+ "before:content-[var(--cue-style-frame-lines-content,none)] before:pointer-events-none before:absolute before:inset-0 before:border before:border-dashed before:border-(--cue-border)",
38
+ "after:content-[var(--cue-style-grid-lines-content,none)] after:pointer-events-none after:absolute after:inset-y-0 after:inset-x-(--cue-space-6) after:border-x after:border-(--cue-border)"
39
+ ].join(" ");
40
+ /**
29
41
  * A centred content column with a standard page header.
30
42
  *
31
43
  * The header is emitted only when something fills it, so a shell used purely
@@ -47,7 +59,7 @@ const PageShell = React.forwardRef(function PageShell({ className, width = "narr
47
59
  return /* @__PURE__ */ jsxs("div", {
48
60
  ref,
49
61
  "data-slot": "page-shell",
50
- className: cn("mx-auto flex w-full flex-col gap-(--cue-space-6) px-(--cue-space-6) py-(--cue-space-7)", WIDTHS[width], className),
62
+ className: cn("mx-auto flex w-full flex-col gap-(--cue-space-6) px-(--cue-space-6) py-(--cue-space-7)", FRAME_LINES_CLASSES, WIDTHS[width], className),
51
63
  ...elementProps,
52
64
  children: [hasHeader ? /* @__PURE__ */ jsxs("header", {
53
65
  "data-slot": "page-shell-header",
@@ -0,0 +1,32 @@
1
+ import * as React from "react";
2
+ //#region src/chrome/stat-band.d.ts
3
+ interface StatBandStat {
4
+ /** What is measured. */
5
+ label: React.ReactNode;
6
+ /** The reading. */
7
+ value: React.ReactNode;
8
+ /** An optional second line: a delta, a window, a unit. */
9
+ note?: React.ReactNode;
10
+ }
11
+ interface StatBandProps extends React.ComponentPropsWithoutRef<"div"> {
12
+ /** The figures, in reading order. One to six sit in one row; more wrap. */
13
+ stats: readonly StatBandStat[];
14
+ }
15
+ /**
16
+ * A row of named figures: the KPI band under a report's title.
17
+ *
18
+ * Built from `Stat`, so each figure keeps its caption-over-reading voice and its
19
+ * tabular numerals. The style set decides the band's look: `style-stat-divider`
20
+ * draws a rule between figures, and `Stat` reads `style-stat-numeral-ink` for the
21
+ * reading's colour. Unset, there is no rule and the reading keeps its ink. A
22
+ * wrapped row's first figure draws no rule, so a narrow screen never shows a
23
+ * divider hanging off the left edge.
24
+ *
25
+ * Static markup — no `"use client"`.
26
+ *
27
+ * @example
28
+ * <StatBand stats={[{ label: "SKUs", value: "1,091" }, { label: "Brands", value: "148" }]} />
29
+ */
30
+ declare const StatBand: React.ForwardRefExoticComponent<StatBandProps & React.RefAttributes<HTMLDivElement>>;
31
+ //#endregion
32
+ export { StatBand, StatBandProps, StatBandStat };
@@ -0,0 +1,39 @@
1
+ import { cn } from "../lib/cn.js";
2
+ import { Stat } from "../instruments/stat.js";
3
+ import * as React from "react";
4
+ import { jsx } from "react/jsx-runtime";
5
+ //#region src/chrome/stat-band.tsx
6
+ /**
7
+ * A row of named figures: the KPI band under a report's title.
8
+ *
9
+ * Built from `Stat`, so each figure keeps its caption-over-reading voice and its
10
+ * tabular numerals. The style set decides the band's look: `style-stat-divider`
11
+ * draws a rule between figures, and `Stat` reads `style-stat-numeral-ink` for the
12
+ * reading's colour. Unset, there is no rule and the reading keeps its ink. A
13
+ * wrapped row's first figure draws no rule, so a narrow screen never shows a
14
+ * divider hanging off the left edge.
15
+ *
16
+ * Static markup — no `"use client"`.
17
+ *
18
+ * @example
19
+ * <StatBand stats={[{ label: "SKUs", value: "1,091" }, { label: "Brands", value: "148" }]} />
20
+ */
21
+ const StatBand = React.forwardRef(function StatBand({ className, stats, ...elementProps }, ref) {
22
+ return /* @__PURE__ */ jsx("div", {
23
+ ref,
24
+ "data-slot": "stat-band",
25
+ className: cn("overflow-hidden", className),
26
+ ...elementProps,
27
+ children: /* @__PURE__ */ jsx("div", {
28
+ className: "-ms-(--cue-space-5) flex flex-wrap gap-y-(--cue-space-5)",
29
+ children: stats.map((stat, index) => /* @__PURE__ */ jsx(Stat, {
30
+ label: stat.label,
31
+ value: stat.value,
32
+ detail: stat.note,
33
+ className: "relative min-w-[10rem] flex-1 ps-(--cue-space-5) before:pointer-events-none before:absolute before:inset-y-0 before:start-0 before:[border-inline-start:var(--cue-style-stat-divider,none)] before:content-['']"
34
+ }, index))
35
+ })
36
+ });
37
+ });
38
+ //#endregion
39
+ export { StatBand };
@@ -1,4 +1,5 @@
1
1
  "use client";
2
+ import { FIELD_RADIUS } from "../system/_style-field-chassis.js";
2
3
  import { ariaClassName } from "../lib/aria-class.js";
3
4
  import { colorThumbClasses } from "./_thumb.js";
4
5
  import { toAriaColor } from "./_value.js";
@@ -26,7 +27,7 @@ import { ColorArea, ColorThumb } from "react-aria-components";
26
27
  function ColorArea$1({ className, thumbClassName, value, defaultValue, ...areaProps }) {
27
28
  return /* @__PURE__ */ jsx(ColorArea, {
28
29
  "data-slot": "color-area",
29
- className: ariaClassName("relative h-[9rem] w-full touch-none rounded-control border border-border outline-none data-[disabled]:opacity-40", className),
30
+ className: ariaClassName(`relative h-[9rem] w-full touch-none ${FIELD_RADIUS} border border-border outline-none data-[disabled]:opacity-40`, className),
30
31
  value: toAriaColor(value),
31
32
  defaultValue: toAriaColor(defaultValue),
32
33
  ...areaProps,
@@ -1,10 +1,11 @@
1
1
  "use client";
2
2
  import { cn } from "../lib/cn.js";
3
+ import { usePrefersReducedMotion } from "../instruments/_motion.js";
4
+ import { useStill } from "../system/still.js";
3
5
  import { FOCUS_RING } from "../system/_focus-ring.js";
4
6
  import { useIsomorphicLayoutEffect } from "../system/use-isomorphic-layout-effect.js";
5
7
  import { useComposedRefs } from "../lib/compose.js";
6
8
  import { useCuePortalProps } from "../system/portal.js";
7
- import { usePrefersReducedMotion } from "../instruments/_motion.js";
8
9
  import { DMX_RAMP_NAMES, activeChannels, dmxPalette, dmxPaletteColor, dmxPaletteInk } from "./_ramp.js";
9
10
  import { DmxReadout } from "./_readout.js";
10
11
  import * as React from "react";
@@ -77,8 +78,9 @@ const ChannelMatrix = React.forwardRef(function ChannelMatrix({ className, data,
77
78
  universesRef.current = universes;
78
79
  const [hover, setHover] = React.useState(null);
79
80
  const portal = useCuePortalProps();
80
- const reduced = usePrefersReducedMotion();
81
- const streaming = live && !reduced;
81
+ const prefersReduced = usePrefersReducedMotion();
82
+ const held = useStill();
83
+ const streaming = live && !(prefersReduced || held);
82
84
  const paint = React.useCallback(() => {
83
85
  const bytes = dataRef.current;
84
86
  const palette = paletteRef.current;
@@ -1,9 +1,10 @@
1
1
  "use client";
2
2
  import { cn } from "../lib/cn.js";
3
+ import { mulberry32, usePrefersReducedMotion } from "../instruments/_motion.js";
4
+ import { useStill } from "../system/still.js";
3
5
  import { useIsomorphicLayoutEffect } from "../system/use-isomorphic-layout-effect.js";
4
6
  import { useCuePortalProps } from "../system/portal.js";
5
7
  import { toRem } from "../instruments/_rem.js";
6
- import { mulberry32, usePrefersReducedMotion } from "../instruments/_motion.js";
7
8
  import { dmxPalette, dmxPaletteColor } from "./_ramp.js";
8
9
  import { DmxReadout } from "./_readout.js";
9
10
  import * as React from "react";
@@ -54,8 +55,9 @@ const DmxStrip = React.forwardRef(function DmxStrip({ className, cells = DEFAULT
54
55
  const valueElementRef = React.useRef(null);
55
56
  const [hover, setHover] = React.useState(null);
56
57
  const portal = useCuePortalProps();
57
- const reduced = usePrefersReducedMotion();
58
- const animating = simulate && !reduced;
58
+ const prefersReduced = usePrefersReducedMotion();
59
+ const held = useStill();
60
+ const animating = simulate && !(prefersReduced || held);
59
61
  useIsomorphicLayoutEffect(() => {
60
62
  const context = canvasRef.current?.getContext("2d");
61
63
  if (!context) return;
@@ -1,6 +1,7 @@
1
1
  "use client";
2
2
  import { cn } from "../lib/cn.js";
3
3
  import { usePrefersReducedMotion } from "../instruments/_motion.js";
4
+ import { useStill } from "../system/still.js";
4
5
  import * as React from "react";
5
6
  import { jsx, jsxs } from "react/jsx-runtime";
6
7
  //#region src/elements/animated-number.tsx
@@ -71,7 +72,9 @@ const GROUPED = (value) => value.toLocaleString("en-US");
71
72
  */
72
73
  const AnimatedNumber = React.forwardRef(function AnimatedNumber({ value, duration = 400, format = GROUPED, className, ...elementProps }, ref) {
73
74
  const target = Number.isFinite(value) ? value : 0;
74
- const reduced = usePrefersReducedMotion();
75
+ const prefersReduced = usePrefersReducedMotion();
76
+ const held = useStill();
77
+ const reduced = prefersReduced || held;
75
78
  const [shown, setShown] = React.useState(target);
76
79
  const painted = React.useRef(target);
77
80
  React.useEffect(() => {
@@ -84,7 +84,7 @@ interface ReplayTransport {
84
84
  state: ReplayState;
85
85
  /** Whether the clock is running. Always `false` under reduced motion. */
86
86
  playing: boolean;
87
- /** Whether the reader asked for reduced motion, in which case nothing is ever scheduled. */
87
+ /** Whether the reader asked for reduced motion, or the subtree is held still (`StillProvider`): either way nothing is ever scheduled. */
88
88
  reduced: boolean;
89
89
  /** The current rate multiplier. */
90
90
  rate: number;
@@ -1,9 +1,10 @@
1
1
  "use client";
2
2
  import { cn } from "../lib/cn.js";
3
+ import { usePrefersReducedMotion } from "../instruments/_motion.js";
4
+ import { useStill } from "../system/still.js";
3
5
  import { Chip } from "../primitives/chip.js";
4
6
  import { IconButton } from "../primitives/icon-button.js";
5
7
  import { Slider } from "../forms/slider.js";
6
- import { usePrefersReducedMotion } from "../instruments/_motion.js";
7
8
  import * as React from "react";
8
9
  import { jsx, jsxs } from "react/jsx-runtime";
9
10
  //#region src/elements/replay.tsx
@@ -119,7 +120,9 @@ function useReplay(script, options = {}) {
119
120
  const last = count - 1;
120
121
  const starts = React.useMemo(() => startsOf(frames), [frames]);
121
122
  const duration = starts[Math.max(0, last)] ?? 0;
122
- const reduced = usePrefersReducedMotion();
123
+ const prefersReduced = usePrefersReducedMotion();
124
+ const held = useStill();
125
+ const reduced = prefersReduced || held;
123
126
  const seat = clamp(startAt ?? 0, last);
124
127
  const playable = count > 1 && duration > 0;
125
128
  const [index, setIndex] = React.useState(() => seat);
@@ -1,6 +1,7 @@
1
1
  "use client";
2
2
  import { cn } from "../lib/cn.js";
3
3
  import { usePrefersReducedMotion } from "../instruments/_motion.js";
4
+ import { useStill } from "../system/still.js";
4
5
  import { field, paper } from "./surfaces.js";
5
6
  import { useCallback, useEffect, useRef, useState } from "react";
6
7
  import { jsx, jsxs } from "react/jsx-runtime";
@@ -22,7 +23,9 @@ const APPEND_MS = 1300;
22
23
  * />
23
24
  */
24
25
  function ScrollAnchor({ messages, paused = false, onSettled, className, ...props }) {
25
- const reduced = usePrefersReducedMotion();
26
+ const prefersReduced = usePrefersReducedMotion();
27
+ const held = useStill();
28
+ const reduced = prefersReduced || held;
26
29
  const viewportRef = useRef(null);
27
30
  const [count, setCount] = useState(INITIAL_COUNT);
28
31
  const [pinned, setPinned] = useState(true);
@@ -110,7 +110,7 @@ import { FormControlSize } from "./_chassis-size.js";
110
110
  * own `shadow-` utility replaces it through `twMerge`, as it would have
111
111
  * replaced nothing before.
112
112
  */
113
- declare const controlSurface = "w-full rounded-control border-transparent border-(length:--cue-paint-stroke-width) bg-[linear-gradient(var(--cue-sunken),var(--cue-sunken)),linear-gradient(var(--cue-paint-stroke-angle),var(--cue-paint-stroke-from,var(--cue-border)),var(--cue-paint-stroke-to,var(--cue-border)))] bg-origin-border [background-clip:padding-box,border-box] shadow-[shadow:0_calc(2px*var(--cue-paint-shadow-scale))_calc(4px*var(--cue-paint-shadow-scale))_var(--cue-paint-rest-shade,transparent)] font-[family-name:var(--cue-style-input-face,var(--cue-font-mono))] font-[number:var(--cue-style-body-weight,inherit)] text-fg placeholder:text-fg-subtle outline-none hover:border-[color:var(--cue-style-field-hover-edge,transparent)] focus:border-[color:var(--cue-style-focus-edge,var(--cue-border-strong))] focus-visible:outline-solid focus-visible:outline-[length:var(--cue-style-focus-width,var(--cue-focus-ring))] focus-visible:outline-(--cue-focus) focus-visible:outline-offset-[var(--cue-style-field-focus-offset,-1px)] disabled:opacity-[var(--cue-style-disabled-opacity,0.4)] data-[disabled]:opacity-[var(--cue-style-disabled-opacity,0.4)] disabled:bg-[linear-gradient(var(--cue-style-disabled-fill,var(--cue-sunken)),var(--cue-style-disabled-fill,var(--cue-sunken))),linear-gradient(var(--cue-paint-stroke-angle),var(--cue-paint-stroke-from,var(--cue-border)),var(--cue-paint-stroke-to,var(--cue-border)))] data-[disabled]:bg-[linear-gradient(var(--cue-style-disabled-fill,var(--cue-sunken)),var(--cue-style-disabled-fill,var(--cue-sunken))),linear-gradient(var(--cue-paint-stroke-angle),var(--cue-paint-stroke-from,var(--cue-border)),var(--cue-paint-stroke-to,var(--cue-border)))] data-[invalid]:border-danger data-[invalid]:focus-visible:outline-danger";
113
+ declare const controlSurface = "w-full rounded-[var(--cue-style-field-radius,calc(var(--cue-style-control-radius,var(--cue-radius-control))*var(--cue-radius-scale)))] border-transparent border-(length:--cue-paint-stroke-width) bg-[linear-gradient(var(--cue-sunken),var(--cue-sunken)),linear-gradient(var(--cue-paint-stroke-angle),var(--cue-paint-stroke-from,var(--cue-border)),var(--cue-paint-stroke-to,var(--cue-border)))] bg-origin-border [background-clip:padding-box,border-box] shadow-[shadow:0_calc(2px*var(--cue-paint-shadow-scale))_calc(4px*var(--cue-paint-shadow-scale))_var(--cue-paint-rest-shade,transparent)] font-[family-name:var(--cue-style-input-face,var(--cue-font-mono))] font-[number:var(--cue-style-body-weight,inherit)] text-fg placeholder:text-fg-subtle outline-none hover:border-[color:var(--cue-style-field-hover-edge,transparent)] focus:border-[color:var(--cue-style-focus-edge,var(--cue-border-strong))] focus-visible:outline-solid focus-visible:outline-[length:var(--cue-style-focus-width,var(--cue-focus-ring))] focus-visible:outline-(--cue-focus) focus-visible:outline-offset-[var(--cue-style-field-focus-offset,-1px)] disabled:opacity-[var(--cue-style-disabled-opacity,0.4)] data-[disabled]:opacity-[var(--cue-style-disabled-opacity,0.4)] disabled:bg-[linear-gradient(var(--cue-style-disabled-fill,var(--cue-sunken)),var(--cue-style-disabled-fill,var(--cue-sunken))),linear-gradient(var(--cue-paint-stroke-angle),var(--cue-paint-stroke-from,var(--cue-border)),var(--cue-paint-stroke-to,var(--cue-border)))] data-[disabled]:bg-[linear-gradient(var(--cue-style-disabled-fill,var(--cue-sunken)),var(--cue-style-disabled-fill,var(--cue-sunken))),linear-gradient(var(--cue-paint-stroke-angle),var(--cue-paint-stroke-from,var(--cue-border)),var(--cue-paint-stroke-to,var(--cue-border)))] data-[invalid]:border-danger data-[invalid]:focus-visible:outline-danger";
114
114
  /**
115
115
  * The full recessed-control recipe, one variant per rung of the control ladder.
116
116
  *
@@ -5,7 +5,7 @@ import { FOCUS_RING_FIELD, FOCUS_RING_GROUP_FIELD } from "../system/_focus-ring-
5
5
  import { CONTROL_STEP_SIZE_BODY, CONTROL_STEP_SIZE_SM } from "../system/_style-control-step.js";
6
6
  import { STROKE_SUNKEN } from "../system/_paint-stroke-sunken.js";
7
7
  import { BODY_WEIGHT } from "../system/_style-body-weight.js";
8
- import { FIELD_HOVER_EDGE, FIELD_PAD_LG, FIELD_PAD_MD, FIELD_PAD_SM, INVALID_EDGE } from "../system/_style-field-chassis.js";
8
+ import { FIELD_HOVER_EDGE, FIELD_PAD_LG, FIELD_PAD_MD, FIELD_PAD_SM, FIELD_RADIUS, INVALID_EDGE } from "../system/_style-field-chassis.js";
9
9
  import { INPUT_FACE } from "../system/_style-input-face.js";
10
10
  //#region src/forms/_chassis.ts
11
11
  /**
@@ -117,7 +117,7 @@ import { INPUT_FACE } from "../system/_style-input-face.js";
117
117
  * own `shadow-` utility replaces it through `twMerge`, as it would have
118
118
  * replaced nothing before.
119
119
  */
120
- const controlSurface = `w-full rounded-control ${STROKE_SUNKEN} ${REST_SHADE_CLASS} ${INPUT_FACE} ${BODY_WEIGHT} text-fg placeholder:text-fg-subtle outline-none ${FIELD_HOVER_EDGE} focus:border-[color:var(--cue-style-focus-edge,var(--cue-border-strong))] ${FOCUS_RING_FIELD} ${DISABLED_OPACITY} ${DATA_DISABLED_OPACITY} ${FIELD_DISABLED_FILL} ${INVALID_EDGE} data-[invalid]:focus-visible:outline-danger`;
120
+ const controlSurface = `w-full ${FIELD_RADIUS} ${STROKE_SUNKEN} ${REST_SHADE_CLASS} ${INPUT_FACE} ${BODY_WEIGHT} text-fg placeholder:text-fg-subtle outline-none ${FIELD_HOVER_EDGE} focus:border-[color:var(--cue-style-focus-edge,var(--cue-border-strong))] ${FOCUS_RING_FIELD} ${DISABLED_OPACITY} ${DATA_DISABLED_OPACITY} ${FIELD_DISABLED_FILL} ${INVALID_EDGE} data-[invalid]:focus-visible:outline-danger`;
121
121
  /**
122
122
  * The full recessed-control recipe, one variant per rung of the control ladder.
123
123
  *
@@ -1,6 +1,7 @@
1
1
  "use client";
2
2
  import { cn } from "../lib/cn.js";
3
3
  import { FOCUS_RING } from "../system/_focus-ring.js";
4
+ import { FIELD_RADIUS } from "../system/_style-field-chassis.js";
4
5
  import { Input } from "./input.js";
5
6
  import { CrossGlyph, VariableGlyph } from "./_glyphs.js";
6
7
  import { PasswordInput } from "./password-input.js";
@@ -90,7 +91,7 @@ const EnvVarInput = React.forwardRef(function EnvVarInput({ className, value: va
90
91
  ...elementProps,
91
92
  children: variable === null ? secret ? /* @__PURE__ */ jsx(PasswordInput, { ...controlProps }) : /* @__PURE__ */ jsx(Input, { ...controlProps }) : /* @__PURE__ */ jsxs("div", {
92
93
  "data-slot": "env-var-pill",
93
- className: cn("flex w-full items-center gap-(--cue-space-2) rounded-control border border-warn/35 bg-warn/10 font-mono text-warn", PILL_SIZES[size], disabled === true && "opacity-40"),
94
+ className: cn(`flex w-full items-center gap-(--cue-space-2) ${FIELD_RADIUS} border border-warn/35 bg-warn/10 font-mono text-warn`, PILL_SIZES[size], disabled === true && "opacity-40"),
94
95
  children: [
95
96
  /* @__PURE__ */ jsx(VariableGlyph, {
96
97
  "aria-hidden": "true",
@@ -1,6 +1,7 @@
1
1
  "use client";
2
2
  import { cn } from "../lib/cn.js";
3
3
  import { FOCUS_RING } from "../system/_focus-ring.js";
4
+ import { FIELD_RADIUS } from "../system/_style-field-chassis.js";
4
5
  import { CrossGlyph } from "./_glyphs.js";
5
6
  import * as React from "react";
6
7
  import { jsx, jsxs } from "react/jsx-runtime";
@@ -144,7 +145,7 @@ const FileUpload = React.forwardRef(function FileUpload({ className, zoneClassNa
144
145
  setDragging(false);
145
146
  intake(event.dataTransfer?.files ?? null);
146
147
  },
147
- className: cn(`flex w-full cursor-pointer flex-col items-center justify-center gap-(--cue-space-1) rounded-control border border-dashed border-border bg-sunken px-(--cue-space-4) py-(--cue-space-5) font-mono text-(length:--cue-text-ui) text-fg-muted outline-none transition-colors duration-150 hover:border-border-strong hover:text-fg ${FOCUS_RING} disabled:pointer-events-none disabled:opacity-40 data-[dragging=true]:border-accent data-[dragging=true]:bg-accent-soft data-[dragging=true]:text-fg motion-reduce:transition-none`, zoneClassName),
148
+ className: cn(`flex w-full cursor-pointer flex-col items-center justify-center gap-(--cue-space-1) ${FIELD_RADIUS} border border-dashed border-border bg-sunken px-(--cue-space-4) py-(--cue-space-5) font-mono text-(length:--cue-text-ui) text-fg-muted outline-none transition-colors duration-150 hover:border-border-strong hover:text-fg ${FOCUS_RING} disabled:pointer-events-none disabled:opacity-40 data-[dragging=true]:border-accent data-[dragging=true]:bg-accent-soft data-[dragging=true]:text-fg motion-reduce:transition-none`, zoneClassName),
148
149
  children: [/* @__PURE__ */ jsx("span", { children: label }), hint === void 0 ? null : /* @__PURE__ */ jsx("span", {
149
150
  className: "text-(length:--cue-text-label) text-fg-subtle",
150
151
  children: hint
package/dist/index.d.ts CHANGED
@@ -33,6 +33,11 @@ import { ScrollableTabsList, ScrollableTabsListProps, Tabs, TabsListProps, TabsP
33
33
  import { TitleBar, TitleBarProps } from "./chrome/title-bar.js";
34
34
  import { Tree, TreeProps, TreeVisibility, TreeVisibilityToggle, TreeVisibilityToggleProps } from "./chrome/tree.js";
35
35
  import { Toolbar, ToolbarButtonProps, ToolbarGroupProps, ToolbarRootProps, ToolbarSeparatorProps } from "./chrome/toolbar.js";
36
+ import { AnnouncementBar, AnnouncementBarAction, AnnouncementBarProps } from "./chrome/announcement-bar.js";
37
+ import { Hero, HeroProps } from "./chrome/hero.js";
38
+ import { Keyword, KeywordProps } from "./chrome/keyword.js";
39
+ import { LogoStrip, LogoStripProps } from "./chrome/logo-strip.js";
40
+ import { StatBand, StatBandProps, StatBandStat } from "./chrome/stat-band.js";
36
41
  import "./chrome/index.js";
37
42
  import { FormControlSize } from "./forms/_chassis-size.js";
38
43
  import { ControlVariantProps, bareControlClasses, controlClasses, controlGroupFocusClasses, controlSurface, controlVariants } from "./forms/_chassis.js";
@@ -67,6 +72,13 @@ import { BrandAssetProps, BrandSize, BrandTone } from "./brand/_chassis.js";
67
72
  import { CueLogotype, CueLogotypeProps } from "./brand/cue-logotype.js";
68
73
  import { CueMark, CueMarkProps } from "./brand/cue-mark.js";
69
74
  import { Plussie, PlussieExpression, PlussieProps } from "./brand/plussie.js";
75
+ import { GlossObject, GlossObjectProps } from "./brand/gloss-object.js";
76
+ import { Halftone, HalftoneProps } from "./brand/halftone.js";
77
+ import { Motif, MotifProps, MotifVariant } from "./brand/motif.js";
78
+ import { ParticleLogo, ParticleLogoProps } from "./brand/particle-logo.js";
79
+ import { ParticleMark, ParticleMarkProps } from "./brand/particle-mark.js";
80
+ import { Ribbon, RibbonProps } from "./brand/ribbon.js";
81
+ import { TextScramble, TextScrambleProps } from "./brand/text-scramble.js";
70
82
  import "./brand/index.js";
71
83
  import { AudienceIcon, CatalogueIcon, ChannelBetaIcon, ChannelReleasedIcon, CliToolIcon, FolderIcon, McpServerIcon, SkillIcon, StackIcon, StacksMatrixIcon } from "./icons/containers.js";
72
84
  import "./icons/index.js";
@@ -93,6 +105,7 @@ import { Accordion, AccordionHeaderProps, AccordionItemProps, AccordionPanelProp
93
105
  import { SpaceStep, Stack, StackAlign, StackJustify, StackProps } from "./layout/stack.js";
94
106
  import { Bento, BentoColumns, BentoMinHeight, BentoRootProps, BentoRowSpan, BentoRows, BentoSpan, BentoTileProps } from "./layout/bento.js";
95
107
  import { Breadcrumb, BreadcrumbItem, BreadcrumbProps } from "./layout/breadcrumb.js";
108
+ import { Reveal, RevealProps } from "./layout/reveal.js";
96
109
  import { Card, CardContentProps, CardDescriptionProps, CardFooterProps, CardHeaderProps, CardRootProps, CardTitleProps } from "./layout/card.js";
97
110
  import { Collapsible, CollapsiblePanelProps, CollapsibleRootProps, CollapsibleTriggerProps, Disclosure, DisclosureProps } from "./layout/collapsible.js";
98
111
  import { DescriptionList, DescriptionListDetailProps, DescriptionListLayout, DescriptionListRootProps, DescriptionListTermProps } from "./layout/description-list.js";
@@ -135,5 +148,8 @@ import { ThemeRegistry } from "./system/vocabulary.js";
135
148
  import { useDensities, useFonts, useThemes } from "./system/theme-registry.js";
136
149
  import { ControlSize, useControlHeight, useDensity } from "./system/use-density.js";
137
150
  import { useTheme } from "./system/use-theme.js";
151
+ import { StillProvider, StillProviderProps, useStill } from "./system/still.js";
152
+ import { FrameClockOptions, useFrameClock } from "./system/frame-clock.js";
153
+ import { FontScope, FontScopeProps } from "./system/font-scope.js";
138
154
  import { DEFAULT_PAINT, DEFAULT_STYLE_SET, DensityEntry, DensityLevel, FontEntry, FontName, Mode, PAINTS, Paint, STYLE_SETS, StyleSet, ThemeManifest, ThemeName } from "./system/index.js";
139
- 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_PAINT, 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, PAINTS, PageShell, type PageShellProps, type PageWidth, Pagination, type PaginationEntry, type PaginationProps, type Paint, 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 };
155
+ 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, AnnouncementBar, type AnnouncementBarAction, type AnnouncementBarProps, 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_PAINT, 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, FontScope, type FontScopeProps, Footer, type FooterProps, type FormControlSize, type FrameClockOptions, Frames, type FramesHeight, type FramesItemProps, type FramesLayout, type FramesRootProps, GlossObject, type GlossObjectProps, Grid, type GridColumns, type GridProps, GroupBar, type GroupBarItem, type GroupBarProps, type GroupBarTone, Halftone, type HalftoneProps, Hero, type HeroProps, 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, Keyword, type KeywordProps, Ledger, type LedgerEmptyProps, type LedgerGroupProps, type LedgerRootProps, type LedgerTierProps, Link, type LinkProps, LogoStrip, type LogoStripProps, 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, Motif, type MotifProps, type MotifVariant, 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, PAINTS, PageShell, type PageShellProps, type PageWidth, Pagination, type PaginationEntry, type PaginationProps, type Paint, Panel, PanelHeader, type PanelHeaderProps, type PanelProps, ParticleLogo, type ParticleLogoProps, ParticleMark, type ParticleMarkProps, 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, Reveal, type RevealProps, Ribbon, type RibbonProps, 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, StatBand, type StatBandProps, type StatBandStat, 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, StillProvider, type StillProviderProps, 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, TextScramble, type TextScrambleProps, 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, useFrameClock, useSidebar, useStill, useTheme, useThemes, useToast };
package/dist/index.js CHANGED
@@ -1,6 +1,14 @@
1
1
  import { CueLogotype } from "./brand/cue-logotype.js";
2
2
  import { CueMark } from "./brand/cue-mark.js";
3
3
  import { Plussie } from "./brand/plussie.js";
4
+ import { GlossObject } from "./brand/gloss-object.js";
5
+ import { Halftone } from "./brand/halftone.js";
6
+ import { StillProvider, useStill } from "./system/still.js";
7
+ import { ParticleMark } from "./brand/particle-mark.js";
8
+ import { Ribbon } from "./brand/ribbon.js";
9
+ import { Motif } from "./brand/motif.js";
10
+ import { ParticleLogo } from "./brand/particle-logo.js";
11
+ import { TextScramble } from "./brand/text-scramble.js";
4
12
  import { AGENT_COLOR_PROPERTY, AGENT_HUES, AGENT_ROOT_COLOR, agentColor, agentColorStyle } from "./chat/agent-color.js";
5
13
  import { AgentPile } from "./chat/agent-pile.js";
6
14
  import { Checkbox, CheckboxGroup } from "./forms/checkbox.js";
@@ -51,6 +59,12 @@ import { ScrollableTabsList, Tabs } from "./chrome/tabs.js";
51
59
  import { TitleBar } from "./chrome/title-bar.js";
52
60
  import { Tree, TreeVisibilityToggle } from "./chrome/tree.js";
53
61
  import { Toolbar } from "./chrome/toolbar.js";
62
+ import { AnnouncementBar } from "./chrome/announcement-bar.js";
63
+ import { Hero } from "./chrome/hero.js";
64
+ import { Keyword } from "./chrome/keyword.js";
65
+ import { LogoStrip } from "./chrome/logo-strip.js";
66
+ import { Stat } from "./instruments/stat.js";
67
+ import { StatBand } from "./chrome/stat-band.js";
54
68
  import { Autocomplete } from "./forms/autocomplete.js";
55
69
  import { ButtonGroup } from "./forms/button-group.js";
56
70
  import { Combobox } from "./forms/combobox.js";
@@ -83,7 +97,6 @@ import { Meter } from "./instruments/meter.js";
83
97
  import { Progress } from "./instruments/progress.js";
84
98
  import { SeamCell, SeamGrid } from "./instruments/seam-grid.js";
85
99
  import { Sparkline } from "./instruments/sparkline.js";
86
- import { Stat } from "./instruments/stat.js";
87
100
  import { Table, TableScrollRegion } from "./instruments/table.js";
88
101
  import { TerminalFrame } from "./instruments/terminal-frame.js";
89
102
  import { TwoStepButton } from "./instruments/two-step-button.js";
@@ -92,6 +105,7 @@ import { Accordion } from "./layout/accordion.js";
92
105
  import { Stack } from "./layout/stack.js";
93
106
  import { Bento } from "./layout/bento.js";
94
107
  import { Breadcrumb } from "./layout/breadcrumb.js";
108
+ import { Reveal } from "./layout/reveal.js";
95
109
  import { Card } from "./layout/card.js";
96
110
  import { Collapsible, Disclosure } from "./layout/collapsible.js";
97
111
  import { DescriptionList } from "./layout/description-list.js";
@@ -120,5 +134,7 @@ import { Kbd } from "./primitives/kbd.js";
120
134
  import { Skeleton } from "./primitives/skeleton.js";
121
135
  import { useControlHeight, useDensity } from "./system/use-density.js";
122
136
  import { useTheme } from "./system/use-theme.js";
137
+ import { useFrameClock } from "./system/frame-clock.js";
138
+ import { FontScope } from "./system/font-scope.js";
123
139
  import { DEFAULT_PAINT, DEFAULT_STYLE_SET, PAINTS, 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_PAINT, 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, PAINTS, 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 };
140
+ export { AGENT_COLOR_PROPERTY, AGENT_HUES, AGENT_ROOT_COLOR, Accordion, AgentPile, AlertDialog, AnnouncementBar, 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_PAINT, DEFAULT_STORAGE_KEY, DEFAULT_STYLE_SET, DataRow, DataTree, DelegationCard, Density, DescriptionList, Dialog, Disclosure, Drawer, DropdownMenu, EmptyState, EnvVarInput, Eyebrow, Field, FieldDescription, FieldError, FieldLabel, FileUpload, FolderIcon, FontScope, Footer, Frames, GlossObject, Grid, GroupBar, Halftone, Hero, HoverCard, IconButton, InfoTip, Input, InputGroup, Inspector, Item, Kbd, Keyword, Ledger, Link, LogoStrip, McpServerIcon, Menubar, Message, MessageList, Meter, Motif, MultiSelect, NavigationMenu, NumberField, OTPField, OVERLAY_SIDE_OFFSET, PAINTS, PageShell, Pagination, Panel, PanelHeader, ParticleLogo, ParticleMark, PasswordInput, Plussie, Popover, Preview, Progress, Radio, RadioGroup, Rating, Reveal, Ribbon, 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, StatBand, StatusBar, StatusDot, Stepper, StillProvider, Switch, TAB_FADE_PX, TREE_GUIDE_GLYPHS, Table, TableScrollRegion, Tabs, TagsInput, TerminalFrame, TextScramble, 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, useFrameClock, useSidebar, useStill, useTheme, useThemes, useToast };
@@ -3,6 +3,7 @@ import { cn } from "../lib/cn.js";
3
3
  import { IconButton } from "../primitives/icon-button.js";
4
4
  import { SearchInput } from "../forms/search-input.js";
5
5
  import { ChevronLeftGlyph, ChevronRightGlyph, ChevronsLeftGlyph, ChevronsRightGlyph } from "./_glyphs.js";
6
+ import { CELL_PAD } from "../system/_style-cell.js";
6
7
  import * as React from "react";
7
8
  import { jsx, jsxs } from "react/jsx-runtime";
8
9
  import { columnFilteringFeature, createColumnHelper, createFilteredRowModel, createPaginatedRowModel, createSortedRowModel, filterFn_inNumberRange, filterFn_includesString, flexRender, globalFilteringFeature, rowPaginationFeature, rowSortingFeature, sortFn_alphanumeric, sortFn_basic, sortFn_datetime, sortFn_text, tableFeatures, useTable } from "@tanstack/react-table";
@@ -106,7 +107,7 @@ const DataTableToolbar = React.forwardRef(function DataTableToolbar({ className,
106
107
  return /* @__PURE__ */ jsxs("div", {
107
108
  ref,
108
109
  "data-slot": "data-table-toolbar",
109
- className: cn("flex min-w-0 items-center gap-(--cue-space-3) py-(--cue-space-3)", className),
110
+ className: cn(`flex min-w-0 items-center gap-(--cue-space-3) py-(--cue-space-3) ${CELL_PAD}`, className),
110
111
  ...elementProps,
111
112
  children: [
112
113
  /* @__PURE__ */ jsx(SearchInput, {
@@ -158,7 +159,7 @@ const DataTablePagination = React.forwardRef(function DataTablePagination({ clas
158
159
  return /* @__PURE__ */ jsxs("div", {
159
160
  ref,
160
161
  "data-slot": "data-table-pagination",
161
- className: cn("flex min-w-0 items-center gap-(--cue-space-3) py-(--cue-space-3) font-mono text-(length:--cue-text-label) text-fg-subtle", className),
162
+ className: cn(`flex min-w-0 items-center gap-(--cue-space-3) py-(--cue-space-3) ${CELL_PAD} font-mono text-(length:--cue-text-label) text-fg-subtle`, className),
162
163
  ...elementProps,
163
164
  children: [/* @__PURE__ */ jsx("span", {
164
165
  "data-slot": "data-table-rows",