@cueplusplus/ui 0.19.0 → 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 (77) hide show
  1. package/CHANGELOG.md +39 -0
  2. package/dist/brand/index.d.ts +3 -1
  3. package/dist/brand/particle-logo.d.ts +50 -0
  4. package/dist/brand/particle-logo.js +437 -0
  5. package/dist/brand/text-scramble.d.ts +42 -0
  6. package/dist/brand/text-scramble.js +160 -0
  7. package/dist/chat/delegation-card.js +2 -1
  8. package/dist/chat/message.js +12 -13
  9. package/dist/color/color-area.js +2 -1
  10. package/dist/forms/_chassis.d.ts +1 -1
  11. package/dist/forms/_chassis.js +2 -2
  12. package/dist/forms/env-var-input.js +2 -1
  13. package/dist/forms/file-upload.js +2 -1
  14. package/dist/index.d.ts +5 -1
  15. package/dist/index.js +5 -1
  16. package/dist/instruments/data-table.js +3 -2
  17. package/dist/instruments/table.js +1 -1
  18. package/dist/layout/index.d.ts +2 -1
  19. package/dist/layout/index.js +2 -1
  20. package/dist/layout/reveal.d.ts +44 -0
  21. package/dist/layout/reveal.js +106 -0
  22. package/dist/lib/cn.js +23 -5
  23. package/dist/lib/particle-field-shaders.js +236 -0
  24. package/dist/lib/particle-field.js +210 -0
  25. package/dist/midi/spectrum-visualizer.js +2 -1
  26. package/dist/primitives/chip.d.ts +1 -1
  27. package/dist/primitives/chip.js +4 -3
  28. package/dist/system/_style-field-chassis.js +14 -1
  29. package/dist/system/frame-clock.d.ts +33 -0
  30. package/dist/system/frame-clock.js +55 -0
  31. package/dist/system/index.d.ts +2 -1
  32. package/dist/system/index.js +2 -1
  33. package/dist/system/still.js +14 -1
  34. package/manifest/components/autocomplete.json +1 -0
  35. package/manifest/components/bento.json +4 -4
  36. package/manifest/components/color-area.json +10 -0
  37. package/manifest/components/color-field.json +3 -0
  38. package/manifest/components/color-picker.json +3 -0
  39. package/manifest/components/combobox.json +1 -0
  40. package/manifest/components/composer.json +3 -0
  41. package/manifest/components/data-table-pagination.json +3 -0
  42. package/manifest/components/data-table-toolbar.json +3 -0
  43. package/manifest/components/date-field.json +3 -0
  44. package/manifest/components/date-picker.json +3 -0
  45. package/manifest/components/date-range-picker.json +3 -0
  46. package/manifest/components/delegation-card.json +6 -0
  47. package/manifest/components/env-var-input.json +3 -0
  48. package/manifest/components/file-upload.json +5 -0
  49. package/manifest/components/font-scope.json +3 -2
  50. package/manifest/components/grid.json +2 -2
  51. package/manifest/components/input-group.json +3 -0
  52. package/manifest/components/input.json +3 -0
  53. package/manifest/components/ledger.json +1 -1
  54. package/manifest/components/markdown-text.json +1 -1
  55. package/manifest/components/message.json +8 -0
  56. package/manifest/components/multi-select.json +1 -0
  57. package/manifest/components/musical-time-input.json +3 -0
  58. package/manifest/components/number-field.json +3 -0
  59. package/manifest/components/otp-field.json +3 -0
  60. package/manifest/components/particle-logo.json +140 -0
  61. package/manifest/components/password-input.json +3 -0
  62. package/manifest/components/preview.json +3 -2
  63. package/manifest/components/reveal.json +106 -0
  64. package/manifest/components/scrub-input.json +3 -0
  65. package/manifest/components/search-input.json +3 -0
  66. package/manifest/components/select.json +3 -0
  67. package/manifest/components/spectrum-visualizer.json +10 -0
  68. package/manifest/components/stack.json +1 -1
  69. package/manifest/components/table.json +1 -1
  70. package/manifest/components/tags-input.json +1 -0
  71. package/manifest/components/text-scramble.json +90 -0
  72. package/manifest/components/textarea.json +3 -0
  73. package/manifest/components/theme-provider.json +3 -2
  74. package/manifest/components/time-field.json +3 -0
  75. package/manifest/manifest.json +116 -40
  76. package/manifest/tokens.json +4 -2
  77. package/package.json +6 -6
@@ -0,0 +1,55 @@
1
+ "use client";
2
+ import { usePrefersReducedMotion } from "../instruments/_motion.js";
3
+ import { useStill } from "./still.js";
4
+ import * as React from "react";
5
+ //#region src/system/frame-clock.ts
6
+ /**
7
+ * A frame counter for a loop illustration: what Remotion's `useCurrentFrame`
8
+ * gave cueplusplus.com's service animations, without Remotion (spec
9
+ * 2026-10-04-cue-site-verbatim §4.4). Frame maths written against
10
+ * `useCurrentFrame` ports unchanged.
11
+ *
12
+ * Driven by `requestAnimationFrame` against elapsed time, so a slow frame never
13
+ * slows the animation down. It never advances while paused or still, and held
14
+ * still it returns `stillFrame` and schedules nothing.
15
+ *
16
+ * @example
17
+ * const frame = useFrameClock({ durationInFrames: 300, playing: onScreen });
18
+ */
19
+ function useFrameClock({ fps = 30, durationInFrames, loop = true, playing = true, stillFrame }) {
20
+ const held = useStill();
21
+ const reduced = usePrefersReducedMotion();
22
+ const still = held || reduced;
23
+ const seat = stillFrame ?? Math.floor(durationInFrames / 2);
24
+ const [frame, setFrame] = React.useState(0);
25
+ const elapsed = React.useRef(0);
26
+ React.useEffect(() => {
27
+ if (still || !playing || durationInFrames <= 0) return;
28
+ let last = performance.now();
29
+ let handle = requestAnimationFrame(function step() {
30
+ const now = performance.now();
31
+ elapsed.current += now - last;
32
+ last = now;
33
+ const total = Math.floor(elapsed.current * fps / 1e3);
34
+ setFrame(loop ? total % durationInFrames : Math.min(total, durationInFrames - 1));
35
+ handle = requestAnimationFrame(step);
36
+ });
37
+ const onVisibility = () => {
38
+ if (!document.hidden) last = performance.now();
39
+ };
40
+ document.addEventListener("visibilitychange", onVisibility);
41
+ return () => {
42
+ cancelAnimationFrame(handle);
43
+ document.removeEventListener("visibilitychange", onVisibility);
44
+ };
45
+ }, [
46
+ still,
47
+ playing,
48
+ fps,
49
+ durationInFrames,
50
+ loop
51
+ ]);
52
+ return still ? seat : frame;
53
+ }
54
+ //#endregion
55
+ export { useFrameClock };
@@ -8,7 +8,8 @@ import { useDensities, useFonts, useThemes } from "./theme-registry.js";
8
8
  import { ControlSize, useControlHeight, useDensity } from "./use-density.js";
9
9
  import { useTheme } from "./use-theme.js";
10
10
  import { StillProvider, StillProviderProps, useStill } from "./still.js";
11
+ import { FrameClockOptions, useFrameClock } from "./frame-clock.js";
11
12
  import { FontScope, FontScopeProps } from "./font-scope.js";
12
13
  import { DEFAULT_PAINT, DEFAULT_STYLE_SET, PAINTS, Paint, STYLE_SETS, StyleSet } from "@cueplusplus/tokens";
13
14
  import { Density as DensityLevel, DensityEntry, FontEntry, FontName, Mode, ThemeManifest, ThemeName } from "@cueplusplus/theme-base";
14
- export { type ControlSize, CuePortalFrame, type CuePortalFrameProps, DEFAULT_PAINT, DEFAULT_STORAGE_KEY, DEFAULT_STYLE_SET, Density, type DensityEntry, type DensityLevel, type DensityProps, type FontEntry, type FontFamilies, type FontName, FontScope, type FontScopeProps, type Mode, PAINTS, type Paint, type PersistedPreferences, type PrepaintDefaults, type PrepaintOptions, type ResolvedMode, STYLE_SETS, StillProvider, type StillProviderProps, type StyleSet, type ThemeContextValue, type ThemeManifest, type ThemeName, ThemeProvider, type ThemeProviderProps, type ThemeRegistry, type TokenOverrides, isSafeTokenValue, prepaintScript, useControlHeight, useCuePortalProps, useDensities, useDensity, useFonts, useStill, useTheme, useThemes };
15
+ export { type ControlSize, CuePortalFrame, type CuePortalFrameProps, DEFAULT_PAINT, DEFAULT_STORAGE_KEY, DEFAULT_STYLE_SET, Density, type DensityEntry, type DensityLevel, type DensityProps, type FontEntry, type FontFamilies, type FontName, FontScope, type FontScopeProps, type FrameClockOptions, type Mode, PAINTS, type Paint, type PersistedPreferences, type PrepaintDefaults, type PrepaintOptions, type ResolvedMode, STYLE_SETS, StillProvider, type StillProviderProps, type StyleSet, type ThemeContextValue, type ThemeManifest, type ThemeName, ThemeProvider, type ThemeProviderProps, type ThemeRegistry, type TokenOverrides, isSafeTokenValue, prepaintScript, useControlHeight, useCuePortalProps, useDensities, useDensity, useFonts, useFrameClock, useStill, useTheme, useThemes };
@@ -7,6 +7,7 @@ import { ThemeProvider } from "./theme-provider.js";
7
7
  import { CuePortalFrame, useCuePortalProps } from "./portal.js";
8
8
  import { useControlHeight, useDensity } from "./use-density.js";
9
9
  import { useTheme } from "./use-theme.js";
10
+ import { useFrameClock } from "./frame-clock.js";
10
11
  import { FontScope } from "./font-scope.js";
11
12
  import { DEFAULT_PAINT, DEFAULT_STYLE_SET, PAINTS, STYLE_SETS } from "@cueplusplus/tokens";
12
- export { CuePortalFrame, DEFAULT_PAINT, DEFAULT_STORAGE_KEY, DEFAULT_STYLE_SET, Density, FontScope, PAINTS, STYLE_SETS, StillProvider, ThemeProvider, isSafeTokenValue, prepaintScript, useControlHeight, useCuePortalProps, useDensities, useDensity, useFonts, useStill, useTheme, useThemes };
13
+ export { CuePortalFrame, DEFAULT_PAINT, DEFAULT_STORAGE_KEY, DEFAULT_STYLE_SET, Density, FontScope, PAINTS, STYLE_SETS, StillProvider, ThemeProvider, isSafeTokenValue, prepaintScript, useControlHeight, useCuePortalProps, useDensities, useDensity, useFonts, useFrameClock, useStill, useTheme, useThemes };
@@ -43,5 +43,18 @@ function useStill() {
43
43
  const reduced = usePrefersReducedMotion();
44
44
  return still || reduced;
45
45
  }
46
+ /**
47
+ * Whether a {@link StillProvider} above holds this subtree still — the
48
+ * provider's half of {@link useStill}, without the reader's motion preference.
49
+ * For the one component that must tell a held thumbnail from a reader who
50
+ * prefers reduced motion, because the two mean different things to it
51
+ * (`TextScramble`: a thumbnail holds the first phrase, reduced motion still
52
+ * cycles phrases without scrambling them, as cueplusplus.com does).
53
+ *
54
+ * @internal Not part of the public API.
55
+ */
56
+ function useStillHeld() {
57
+ return React.useContext(StillContext);
58
+ }
46
59
  //#endregion
47
- export { StillProvider, useStill };
60
+ export { StillProvider, useStill, useStillHeld };
@@ -278,6 +278,7 @@
278
278
  "--cue-style-field-focus-offset",
279
279
  "--cue-style-field-hover-edge",
280
280
  "--cue-style-field-pad",
281
+ "--cue-style-field-radius",
281
282
  "--cue-style-focus-edge",
282
283
  "--cue-style-focus-width",
283
284
  "--cue-style-glyph-ink",
@@ -20,7 +20,7 @@
20
20
  "props": [
21
21
  {
22
22
  "name": "cols",
23
- "type": "4 | 2 | 3",
23
+ "type": "2 | 4 | 3",
24
24
  "required": false,
25
25
  "defaultValue": "3",
26
26
  "description": "How many columns at `lg`. Defaults to `3`. Two from `sm`, one below it.",
@@ -37,7 +37,7 @@
37
37
  },
38
38
  {
39
39
  "name": "rows",
40
- "type": "1 | 4 | 2 | 3",
40
+ "type": "1 | 2 | 4 | 3",
41
41
  "required": false,
42
42
  "defaultValue": null,
43
43
  "description": "How many rows to declare from `sm` up.\n\nOnly worth setting where a tile spans rows: a `rowSpan` over implicit\ntracks sizes itself to the tile's own content, which is not a span.",
@@ -65,7 +65,7 @@
65
65
  },
66
66
  {
67
67
  "name": "gap",
68
- "type": "0 | 1 | 4 | 8 | 2 | 3 | 5 | 6 | 7",
68
+ "type": "0 | 1 | 2 | 4 | 8 | 3 | 5 | 6 | 7",
69
69
  "required": false,
70
70
  "defaultValue": "4",
71
71
  "description": "Which rung of the density space ladder to spend between tiles. Defaults to `4`.",
@@ -109,7 +109,7 @@
109
109
  "props": [
110
110
  {
111
111
  "name": "span",
112
- "type": "1 | 4 | 2 | 3",
112
+ "type": "1 | 2 | 4 | 3",
113
113
  "required": false,
114
114
  "defaultValue": null,
115
115
  "description": "How many columns to cover. Clamped by the container to its own `cols`.",
@@ -30,10 +30,20 @@
30
30
  "tokensUsed": [
31
31
  "--cue-bg",
32
32
  "--cue-border",
33
+ "--cue-border-strong",
34
+ "--cue-danger",
33
35
  "--cue-fg",
34
36
  "--cue-focus",
35
37
  "--cue-focus-ring",
36
38
  "--cue-radius-control",
39
+ "--cue-radius-scale",
40
+ "--cue-space-3",
41
+ "--cue-space-4",
42
+ "--cue-space-5",
43
+ "--cue-style-control-radius",
44
+ "--cue-style-field-hover-edge",
45
+ "--cue-style-field-pad",
46
+ "--cue-style-field-radius",
37
47
  "--cue-style-focus-width"
38
48
  ],
39
49
  "summary": "The two-axis colour field — saturation against brightness by default.",
@@ -76,12 +76,14 @@
76
76
  "--cue-paint-stroke-to",
77
77
  "--cue-paint-stroke-width",
78
78
  "--cue-radius-control",
79
+ "--cue-radius-scale",
79
80
  "--cue-space-1",
80
81
  "--cue-space-3",
81
82
  "--cue-space-4",
82
83
  "--cue-space-5",
83
84
  "--cue-style-body-weight",
84
85
  "--cue-style-check-edge",
86
+ "--cue-style-control-radius",
85
87
  "--cue-style-control-step-size",
86
88
  "--cue-style-disabled-edge",
87
89
  "--cue-style-disabled-fill",
@@ -90,6 +92,7 @@
90
92
  "--cue-style-field-focus-offset",
91
93
  "--cue-style-field-hover-edge",
92
94
  "--cue-style-field-pad",
95
+ "--cue-style-field-radius",
93
96
  "--cue-style-focus-edge",
94
97
  "--cue-style-focus-width",
95
98
  "--cue-style-input-face",
@@ -210,12 +210,14 @@
210
210
  "--cue-paint-stroke-to",
211
211
  "--cue-paint-stroke-width",
212
212
  "--cue-radius-control",
213
+ "--cue-radius-scale",
213
214
  "--cue-space-2",
214
215
  "--cue-space-3",
215
216
  "--cue-space-4",
216
217
  "--cue-space-5",
217
218
  "--cue-style-body-weight",
218
219
  "--cue-style-check-edge",
220
+ "--cue-style-control-radius",
219
221
  "--cue-style-control-step-size",
220
222
  "--cue-style-disabled-edge",
221
223
  "--cue-style-disabled-fill",
@@ -224,6 +226,7 @@
224
226
  "--cue-style-field-focus-offset",
225
227
  "--cue-style-field-hover-edge",
226
228
  "--cue-style-field-pad",
229
+ "--cue-style-field-radius",
227
230
  "--cue-style-focus-edge",
228
231
  "--cue-style-focus-width",
229
232
  "--cue-style-input-face",
@@ -281,6 +281,7 @@
281
281
  "--cue-style-field-focus-offset",
282
282
  "--cue-style-field-hover-edge",
283
283
  "--cue-style-field-pad",
284
+ "--cue-style-field-radius",
284
285
  "--cue-style-focus-edge",
285
286
  "--cue-style-focus-width",
286
287
  "--cue-style-glyph-ink",
@@ -212,12 +212,14 @@
212
212
  "--cue-paint-stroke-to",
213
213
  "--cue-paint-stroke-width",
214
214
  "--cue-radius-control",
215
+ "--cue-radius-scale",
215
216
  "--cue-space-2",
216
217
  "--cue-space-3",
217
218
  "--cue-space-4",
218
219
  "--cue-space-5",
219
220
  "--cue-style-body-weight",
220
221
  "--cue-style-check-edge",
222
+ "--cue-style-control-radius",
221
223
  "--cue-style-control-step-size",
222
224
  "--cue-style-disabled-edge",
223
225
  "--cue-style-disabled-fill",
@@ -226,6 +228,7 @@
226
228
  "--cue-style-field-focus-offset",
227
229
  "--cue-style-field-hover-edge",
228
230
  "--cue-style-field-pad",
231
+ "--cue-style-field-radius",
229
232
  "--cue-style-focus-edge",
230
233
  "--cue-style-focus-width",
231
234
  "--cue-style-input-face",
@@ -63,9 +63,12 @@
63
63
  "--cue-fg",
64
64
  "--cue-fg-subtle",
65
65
  "--cue-font-mono",
66
+ "--cue-pad-row-x",
66
67
  "--cue-space-1",
67
68
  "--cue-space-2",
68
69
  "--cue-space-3",
70
+ "--cue-style-cell-leading",
71
+ "--cue-style-cell-pad",
69
72
  "--cue-text-label"
70
73
  ],
71
74
  "summary": "The pager: four buttons, the position, and the row count.",
@@ -93,9 +93,12 @@
93
93
  "--cue-fg",
94
94
  "--cue-fg-subtle",
95
95
  "--cue-font-mono",
96
+ "--cue-pad-row-x",
96
97
  "--cue-space-1",
97
98
  "--cue-space-2",
98
99
  "--cue-space-3",
100
+ "--cue-style-cell-leading",
101
+ "--cue-style-cell-pad",
99
102
  "--cue-text-label"
100
103
  ],
101
104
  "summary": "The strip above a table: one search box, a match count, your controls.",
@@ -67,12 +67,14 @@
67
67
  "--cue-paint-stroke-to",
68
68
  "--cue-paint-stroke-width",
69
69
  "--cue-radius-control",
70
+ "--cue-radius-scale",
70
71
  "--cue-space-1",
71
72
  "--cue-space-3",
72
73
  "--cue-space-4",
73
74
  "--cue-space-5",
74
75
  "--cue-style-body-weight",
75
76
  "--cue-style-check-edge",
77
+ "--cue-style-control-radius",
76
78
  "--cue-style-control-step-size",
77
79
  "--cue-style-disabled-edge",
78
80
  "--cue-style-disabled-fill",
@@ -81,6 +83,7 @@
81
83
  "--cue-style-field-focus-offset",
82
84
  "--cue-style-field-hover-edge",
83
85
  "--cue-style-field-pad",
86
+ "--cue-style-field-radius",
84
87
  "--cue-style-focus-edge",
85
88
  "--cue-style-focus-width",
86
89
  "--cue-style-input-face",
@@ -230,12 +230,14 @@
230
230
  "--cue-paint-stroke-to",
231
231
  "--cue-paint-stroke-width",
232
232
  "--cue-radius-control",
233
+ "--cue-radius-scale",
233
234
  "--cue-space-2",
234
235
  "--cue-space-3",
235
236
  "--cue-space-4",
236
237
  "--cue-space-5",
237
238
  "--cue-style-body-weight",
238
239
  "--cue-style-check-edge",
240
+ "--cue-style-control-radius",
239
241
  "--cue-style-control-step-size",
240
242
  "--cue-style-disabled-edge",
241
243
  "--cue-style-disabled-fill",
@@ -244,6 +246,7 @@
244
246
  "--cue-style-field-focus-offset",
245
247
  "--cue-style-field-hover-edge",
246
248
  "--cue-style-field-pad",
249
+ "--cue-style-field-radius",
247
250
  "--cue-style-focus-edge",
248
251
  "--cue-style-focus-width",
249
252
  "--cue-style-glyph-ink",
@@ -230,12 +230,14 @@
230
230
  "--cue-paint-stroke-to",
231
231
  "--cue-paint-stroke-width",
232
232
  "--cue-radius-control",
233
+ "--cue-radius-scale",
233
234
  "--cue-space-2",
234
235
  "--cue-space-3",
235
236
  "--cue-space-4",
236
237
  "--cue-space-5",
237
238
  "--cue-style-body-weight",
238
239
  "--cue-style-check-edge",
240
+ "--cue-style-control-radius",
239
241
  "--cue-style-control-step-size",
240
242
  "--cue-style-disabled-edge",
241
243
  "--cue-style-disabled-fill",
@@ -244,6 +246,7 @@
244
246
  "--cue-style-field-focus-offset",
245
247
  "--cue-style-field-hover-edge",
246
248
  "--cue-style-field-pad",
249
+ "--cue-style-field-radius",
247
250
  "--cue-style-focus-edge",
248
251
  "--cue-style-focus-width",
249
252
  "--cue-style-glyph-ink",
@@ -153,6 +153,7 @@
153
153
  "defaultVariants": {},
154
154
  "tokensUsed": [
155
155
  "--cue-border",
156
+ "--cue-border-strong",
156
157
  "--cue-danger",
157
158
  "--cue-fg-muted",
158
159
  "--cue-fg-subtle",
@@ -162,10 +163,15 @@
162
163
  "--cue-icon-sm",
163
164
  "--cue-ok",
164
165
  "--cue-radius-control",
166
+ "--cue-radius-scale",
165
167
  "--cue-space-2",
166
168
  "--cue-space-3",
167
169
  "--cue-space-4",
168
170
  "--cue-space-5",
171
+ "--cue-style-control-radius",
172
+ "--cue-style-field-hover-edge",
173
+ "--cue-style-field-pad",
174
+ "--cue-style-field-radius",
169
175
  "--cue-style-focus-width",
170
176
  "--cue-text-micro",
171
177
  "--cue-text-ui"
@@ -167,12 +167,14 @@
167
167
  "--cue-paint-stroke-to",
168
168
  "--cue-paint-stroke-width",
169
169
  "--cue-radius-control",
170
+ "--cue-radius-scale",
170
171
  "--cue-space-2",
171
172
  "--cue-space-3",
172
173
  "--cue-space-4",
173
174
  "--cue-space-5",
174
175
  "--cue-style-body-weight",
175
176
  "--cue-style-check-edge",
177
+ "--cue-style-control-radius",
176
178
  "--cue-style-control-step-size",
177
179
  "--cue-style-disabled-edge",
178
180
  "--cue-style-disabled-fill",
@@ -181,6 +183,7 @@
181
183
  "--cue-style-field-focus-offset",
182
184
  "--cue-style-field-hover-edge",
183
185
  "--cue-style-field-pad",
186
+ "--cue-style-field-radius",
184
187
  "--cue-style-focus-edge",
185
188
  "--cue-style-focus-width",
186
189
  "--cue-style-input-face",
@@ -167,11 +167,16 @@
167
167
  "--cue-icon-sm",
168
168
  "--cue-ok",
169
169
  "--cue-radius-control",
170
+ "--cue-radius-scale",
170
171
  "--cue-space-1",
171
172
  "--cue-space-2",
172
173
  "--cue-space-3",
173
174
  "--cue-space-4",
174
175
  "--cue-space-5",
176
+ "--cue-style-control-radius",
177
+ "--cue-style-field-hover-edge",
178
+ "--cue-style-field-pad",
179
+ "--cue-style-field-radius",
175
180
  "--cue-style-focus-width",
176
181
  "--cue-sunken",
177
182
  "--cue-surface-2",
@@ -9,7 +9,7 @@
9
9
  "props": [
10
10
  {
11
11
  "name": "font",
12
- "type": "\"source\" | \"system\" | \"geist\" | \"geist-mono\" | \"inter\" | \"plex\" | \"roboto\" | \"apple\" | \"office\" | \"inter-source\" | \"dm\" | \"calsans\" | \"fraunces-mono\"",
12
+ "type": "\"source\" | \"system\" | \"geist\" | \"geist-mono\" | \"inter\" | \"plex\" | \"roboto\" | \"apple\" | \"office\" | \"inter-source\" | \"dm\" | \"calsans\" | \"fraunces-mono\" | \"jetbrains-mono\"",
13
13
  "required": true,
14
14
  "defaultValue": null,
15
15
  "description": "The pairing this subtree is set in.",
@@ -28,7 +28,8 @@
28
28
  "inter-source",
29
29
  "dm",
30
30
  "calsans",
31
- "fraunces-mono"
31
+ "fraunces-mono",
32
+ "jetbrains-mono"
32
33
  ]
33
34
  }
34
35
  },
@@ -9,7 +9,7 @@
9
9
  "props": [
10
10
  {
11
11
  "name": "cols",
12
- "type": "1 | 4 | 2 | 3 | 5 | 6",
12
+ "type": "1 | 2 | 4 | 3 | 5 | 6",
13
13
  "required": false,
14
14
  "defaultValue": "1",
15
15
  "description": "How many equal columns. Defaults to `1`. Ignored when `minItemWidth` is set.",
@@ -29,7 +29,7 @@
29
29
  },
30
30
  {
31
31
  "name": "gap",
32
- "type": "0 | 1 | 4 | 8 | 2 | 3 | 5 | 6 | 7",
32
+ "type": "0 | 1 | 2 | 4 | 8 | 3 | 5 | 6 | 7",
33
33
  "required": false,
34
34
  "defaultValue": "4",
35
35
  "description": "Which rung of the density space ladder to spend between cells. Defaults to `4`.",
@@ -87,12 +87,14 @@
87
87
  "--cue-paint-stroke-to",
88
88
  "--cue-paint-stroke-width",
89
89
  "--cue-radius-control",
90
+ "--cue-radius-scale",
90
91
  "--cue-space-2",
91
92
  "--cue-space-3",
92
93
  "--cue-space-4",
93
94
  "--cue-space-5",
94
95
  "--cue-style-body-weight",
95
96
  "--cue-style-check-edge",
97
+ "--cue-style-control-radius",
96
98
  "--cue-style-control-step-size",
97
99
  "--cue-style-disabled-edge",
98
100
  "--cue-style-disabled-fill",
@@ -101,6 +103,7 @@
101
103
  "--cue-style-field-focus-offset",
102
104
  "--cue-style-field-hover-edge",
103
105
  "--cue-style-field-pad",
106
+ "--cue-style-field-radius",
104
107
  "--cue-style-focus-edge",
105
108
  "--cue-style-focus-width",
106
109
  "--cue-style-glyph-ink",
@@ -84,11 +84,13 @@
84
84
  "--cue-paint-stroke-to",
85
85
  "--cue-paint-stroke-width",
86
86
  "--cue-radius-control",
87
+ "--cue-radius-scale",
87
88
  "--cue-space-3",
88
89
  "--cue-space-4",
89
90
  "--cue-space-5",
90
91
  "--cue-style-body-weight",
91
92
  "--cue-style-check-edge",
93
+ "--cue-style-control-radius",
92
94
  "--cue-style-control-step-size",
93
95
  "--cue-style-disabled-edge",
94
96
  "--cue-style-disabled-fill",
@@ -97,6 +99,7 @@
97
99
  "--cue-style-field-focus-offset",
98
100
  "--cue-style-field-hover-edge",
99
101
  "--cue-style-field-pad",
102
+ "--cue-style-field-radius",
100
103
  "--cue-style-focus-edge",
101
104
  "--cue-style-focus-width",
102
105
  "--cue-style-input-face",
@@ -73,7 +73,7 @@
73
73
  },
74
74
  {
75
75
  "name": "headingLevel",
76
- "type": "4 | 2 | 3",
76
+ "type": "2 | 4 | 3",
77
77
  "required": false,
78
78
  "defaultValue": "2",
79
79
  "description": "Which heading element the tier's name is. Defaults to `2`.\n\nThe outline is the navigation: a screen-reader user moves through a long\nledger by heading, so the levels have to describe the real nesting of the\npage the ledger sits in, not the ledger's own idea of itself.",
@@ -46,7 +46,7 @@
46
46
  },
47
47
  {
48
48
  "name": "headingLevel",
49
- "type": "4 | 2 | 3",
49
+ "type": "2 | 4 | 3",
50
50
  "required": false,
51
51
  "defaultValue": "2",
52
52
  "description": "The heading level `#` renders at; `##` and below follow it, clamped at\n`h6`. Defaults to `2`, because model output is a passage inside a page\nthat already owns its `h1`.",
@@ -108,15 +108,23 @@
108
108
  "--cue-accent",
109
109
  "--cue-accent-fg",
110
110
  "--cue-border",
111
+ "--cue-border-strong",
112
+ "--cue-danger",
111
113
  "--cue-fg",
112
114
  "--cue-fg-subtle",
113
115
  "--cue-font-mono",
114
116
  "--cue-leading-ui",
115
117
  "--cue-radius-control",
116
118
  "--cue-radius-overlay",
119
+ "--cue-radius-scale",
117
120
  "--cue-space-2",
118
121
  "--cue-space-3",
119
122
  "--cue-space-4",
123
+ "--cue-space-5",
124
+ "--cue-style-control-radius",
125
+ "--cue-style-field-hover-edge",
126
+ "--cue-style-field-pad",
127
+ "--cue-style-field-radius",
120
128
  "--cue-style-label-case",
121
129
  "--cue-style-label-face",
122
130
  "--cue-style-label-tracking",
@@ -271,6 +271,7 @@
271
271
  "--cue-style-field-focus-offset",
272
272
  "--cue-style-field-hover-edge",
273
273
  "--cue-style-field-pad",
274
+ "--cue-style-field-radius",
274
275
  "--cue-style-focus-edge",
275
276
  "--cue-style-focus-width",
276
277
  "--cue-style-glyph-ink",
@@ -115,12 +115,14 @@
115
115
  "--cue-paint-stroke-to",
116
116
  "--cue-paint-stroke-width",
117
117
  "--cue-radius-control",
118
+ "--cue-radius-scale",
118
119
  "--cue-space-2",
119
120
  "--cue-space-3",
120
121
  "--cue-space-4",
121
122
  "--cue-space-5",
122
123
  "--cue-style-body-weight",
123
124
  "--cue-style-check-edge",
125
+ "--cue-style-control-radius",
124
126
  "--cue-style-control-step-size",
125
127
  "--cue-style-disabled-edge",
126
128
  "--cue-style-disabled-fill",
@@ -129,6 +131,7 @@
129
131
  "--cue-style-field-focus-offset",
130
132
  "--cue-style-field-hover-edge",
131
133
  "--cue-style-field-pad",
134
+ "--cue-style-field-radius",
132
135
  "--cue-style-focus-edge",
133
136
  "--cue-style-focus-width",
134
137
  "--cue-style-input-face",
@@ -104,12 +104,14 @@
104
104
  "--cue-paint-stroke-to",
105
105
  "--cue-paint-stroke-width",
106
106
  "--cue-radius-control",
107
+ "--cue-radius-scale",
107
108
  "--cue-space-2",
108
109
  "--cue-space-3",
109
110
  "--cue-space-4",
110
111
  "--cue-space-5",
111
112
  "--cue-style-body-weight",
112
113
  "--cue-style-check-edge",
114
+ "--cue-style-control-radius",
113
115
  "--cue-style-control-step-size",
114
116
  "--cue-style-disabled-edge",
115
117
  "--cue-style-disabled-fill",
@@ -118,6 +120,7 @@
118
120
  "--cue-style-field-focus-offset",
119
121
  "--cue-style-field-hover-edge",
120
122
  "--cue-style-field-pad",
123
+ "--cue-style-field-radius",
121
124
  "--cue-style-focus-edge",
122
125
  "--cue-style-focus-width",
123
126
  "--cue-style-glyph-ink",
@@ -136,6 +136,7 @@
136
136
  "--cue-paint-stroke-to",
137
137
  "--cue-paint-stroke-width",
138
138
  "--cue-radius-control",
139
+ "--cue-radius-scale",
139
140
  "--cue-space-1",
140
141
  "--cue-space-2",
141
142
  "--cue-space-3",
@@ -143,6 +144,7 @@
143
144
  "--cue-space-5",
144
145
  "--cue-style-body-weight",
145
146
  "--cue-style-check-edge",
147
+ "--cue-style-control-radius",
146
148
  "--cue-style-control-step-size",
147
149
  "--cue-style-disabled-edge",
148
150
  "--cue-style-disabled-fill",
@@ -151,6 +153,7 @@
151
153
  "--cue-style-field-focus-offset",
152
154
  "--cue-style-field-hover-edge",
153
155
  "--cue-style-field-pad",
156
+ "--cue-style-field-radius",
154
157
  "--cue-style-focus-edge",
155
158
  "--cue-style-focus-width",
156
159
  "--cue-style-input-face",