@cueplusplus/ui 0.21.0 → 0.22.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.
- package/CHANGELOG.md +18 -0
- package/dist/forms/_chassis.d.ts +6 -1
- package/dist/forms/_chassis.js +8 -3
- package/dist/overlays/_surface.d.ts +1 -1
- package/dist/styles.css +52 -0
- package/dist/system/_paint-stroke-sunken.js +22 -2
- package/dist/system/_paint-stroke-surface-1.js +5 -1
- package/dist/system/_paint-stroke-surface-2.js +5 -1
- package/dist/system/_style-disabled.js +1 -7
- package/manifest/components/alert-dialog.json +1 -0
- package/manifest/components/autocomplete.json +2 -0
- package/manifest/components/button.json +0 -3
- package/manifest/components/card.json +1 -0
- package/manifest/components/channel-matrix.json +1 -0
- package/manifest/components/chart-tooltip-content.json +1 -0
- package/manifest/components/checkbox-group.json +0 -3
- package/manifest/components/checkbox.json +0 -3
- package/manifest/components/color-field.json +1 -0
- package/manifest/components/color-picker.json +1 -0
- package/manifest/components/combobox.json +2 -0
- package/manifest/components/command-palette.json +1 -0
- package/manifest/components/composer.json +1 -0
- package/manifest/components/context-menu.json +1 -0
- package/manifest/components/date-field.json +1 -0
- package/manifest/components/date-picker.json +1 -0
- package/manifest/components/date-range-picker.json +1 -0
- package/manifest/components/dialog.json +1 -0
- package/manifest/components/dmx-bar.json +1 -0
- package/manifest/components/dmx-strip.json +1 -0
- package/manifest/components/drawer.json +1 -0
- package/manifest/components/dropdown-menu.json +1 -0
- package/manifest/components/env-var-input.json +1 -0
- package/manifest/components/hover-card.json +1 -0
- package/manifest/components/input-group.json +1 -0
- package/manifest/components/input.json +1 -0
- package/manifest/components/menubar.json +1 -0
- package/manifest/components/multi-select.json +2 -0
- package/manifest/components/musical-time-input.json +1 -0
- package/manifest/components/navigation-menu.json +1 -0
- package/manifest/components/number-field.json +1 -0
- package/manifest/components/otp-field.json +1 -0
- package/manifest/components/password-input.json +1 -0
- package/manifest/components/popover.json +1 -0
- package/manifest/components/scrub-input.json +1 -0
- package/manifest/components/search-input.json +1 -0
- package/manifest/components/select.json +2 -0
- package/manifest/components/sheet.json +1 -0
- package/manifest/components/switch.json +0 -3
- package/manifest/components/tags-input.json +2 -0
- package/manifest/components/textarea.json +1 -0
- package/manifest/components/theme-configurator.json +1 -0
- package/manifest/components/time-field.json +1 -0
- package/manifest/components/toast.json +1 -0
- package/manifest/components/toggle.json +0 -3
- package/manifest/components/tooltip.json +1 -0
- package/manifest/manifest.json +48 -48
- package/manifest/tokens.json +4 -1
- package/package.json +3 -3
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,23 @@
|
|
|
1
1
|
# @cueplusplus/ui
|
|
2
2
|
|
|
3
|
+
## 0.22.0
|
|
4
|
+
|
|
5
|
+
### Minor Changes
|
|
6
|
+
|
|
7
|
+
- bdc8a32: A field's fill is a name now: `--cue-style-field-fill`. Every recessed control — Input, NumberField, SearchInput, Select, Combobox, Autocomplete, MultiSelect, TagsInput, Textarea, OtpField, ScrubInput, InputGroup, ColorField, ColorPicker, the date fields and MusicalTimeInput — fills with it before `--cue-sunken`, and a disabled one follows it unless `--cue-style-disabled-fill` is set. Nothing sets it by default, so nothing changes until a style set or a subtree does: `style={{ "--cue-style-field-fill": "var(--cue-surface-2)" }}` on any wrapper fills every field inside it. In the manifest, Button, Checkbox, CheckboxGroup, Switch and Toggle no longer list three stroke tokens they never painted.
|
|
8
|
+
|
|
9
|
+
The studio's generated tables carry the new catalogue identity, so a scene validates against the vocabulary that now includes a field's fill.
|
|
10
|
+
|
|
11
|
+
- 1962b97: Fields can take their fill from the ground they stand on. Put `data-field-ground="relative"` on any element — `<html>` included — and every recessed control inside it fills one step off its nearest container, toward its text colour: lighter on a dark card, deeper on a light one. `--cue-style-field-step` sets the distance (6% by default) and `--cue-style-field-toward` the direction (`black` inline is always deeper). Containers painted with `bg-bg`, `bg-sunken`, `bg-surface-1/2/3`, a Card or an overlay say what they painted as `--cue-ground` (an overlay's is its `--cue-style-overlay-ground` when a Look sets one, so its fields follow the overlay the Look drew); anything painted another way sets `--cue-ground` itself. `--cue-style-field-fill` still wins, a disabled field follows, and nothing changes outside the attribute. The derivation is a `field-ground` utility in `@cueplusplus/ui/styles.css`, so a field of your own can wear it too.
|
|
12
|
+
|
|
13
|
+
The studio's generated tables carry the new catalogue identity, so a scene validates against the vocabulary that now includes the relative fill's two names.
|
|
14
|
+
|
|
15
|
+
### Patch Changes
|
|
16
|
+
|
|
17
|
+
- Updated dependencies [bdc8a32]
|
|
18
|
+
- Updated dependencies [1962b97]
|
|
19
|
+
- @cueplusplus/tokens@0.22.0
|
|
20
|
+
|
|
3
21
|
## 0.21.0
|
|
4
22
|
|
|
5
23
|
### Minor Changes
|
package/dist/forms/_chassis.d.ts
CHANGED
|
@@ -102,6 +102,11 @@ import { FormControlSize } from "./_chassis-size.js";
|
|
|
102
102
|
* set (a hex colour code, a DMX value) restates `font-mono` on top, as
|
|
103
103
|
* `color-picker.tsx`'s hex field does.
|
|
104
104
|
*
|
|
105
|
+
* **`field-ground`** is `styles.css`'s opt-in relative fill (spec
|
|
106
|
+
* 2026-10-08-field-ground R3): inside `[data-field-ground="relative"]` it
|
|
107
|
+
* re-declares this field's own `--cue-sunken` one step off the ground it stands
|
|
108
|
+
* on; anywhere else it compiles to nothing that applies.
|
|
109
|
+
*
|
|
105
110
|
* **The resting shade** ({@link REST_SHADE_CLASS}, spec §3.10) is the one
|
|
106
111
|
* shadow this recipe draws: the stroke paints a border and a ground and no
|
|
107
112
|
* shadow, so the shade is added as a utility of its own rather than composed
|
|
@@ -110,7 +115,7 @@ import { FormControlSize } from "./_chassis-size.js";
|
|
|
110
115
|
* own `shadow-` utility replaces it through `twMerge`, as it would have
|
|
111
116
|
* replaced nothing before.
|
|
112
117
|
*/
|
|
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";
|
|
118
|
+
declare const controlSurface = "w-full field-ground 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-style-field-fill,var(--cue-sunken)),var(--cue-style-field-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)))] 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-style-field-fill,var(--cue-sunken))),var(--cue-style-disabled-fill,var(--cue-style-field-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-style-field-fill,var(--cue-sunken))),var(--cue-style-disabled-fill,var(--cue-style-field-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
119
|
/**
|
|
115
120
|
* The full recessed-control recipe, one variant per rung of the control ladder.
|
|
116
121
|
*
|
package/dist/forms/_chassis.js
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { REST_SHADE_CLASS } from "../system/_paint-rest-shade.js";
|
|
2
|
-
import { DATA_DISABLED_OPACITY, DISABLED_OPACITY
|
|
2
|
+
import { DATA_DISABLED_OPACITY, DISABLED_OPACITY } from "../system/_style-disabled.js";
|
|
3
3
|
import { cva } from "../lib/cva.js";
|
|
4
4
|
import { FOCUS_RING_FIELD, FOCUS_RING_GROUP_FIELD } from "../system/_focus-ring-field.js";
|
|
5
5
|
import { CONTROL_STEP_SIZE_BODY, CONTROL_STEP_SIZE_SM } from "../system/_style-control-step.js";
|
|
6
|
-
import { STROKE_SUNKEN } from "../system/_paint-stroke-sunken.js";
|
|
6
|
+
import { FIELD_DISABLED_FILL, STROKE_SUNKEN } from "../system/_paint-stroke-sunken.js";
|
|
7
7
|
import { BODY_WEIGHT } from "../system/_style-body-weight.js";
|
|
8
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";
|
|
@@ -109,6 +109,11 @@ import { INPUT_FACE } from "../system/_style-input-face.js";
|
|
|
109
109
|
* set (a hex colour code, a DMX value) restates `font-mono` on top, as
|
|
110
110
|
* `color-picker.tsx`'s hex field does.
|
|
111
111
|
*
|
|
112
|
+
* **`field-ground`** is `styles.css`'s opt-in relative fill (spec
|
|
113
|
+
* 2026-10-08-field-ground R3): inside `[data-field-ground="relative"]` it
|
|
114
|
+
* re-declares this field's own `--cue-sunken` one step off the ground it stands
|
|
115
|
+
* on; anywhere else it compiles to nothing that applies.
|
|
116
|
+
*
|
|
112
117
|
* **The resting shade** ({@link REST_SHADE_CLASS}, spec §3.10) is the one
|
|
113
118
|
* shadow this recipe draws: the stroke paints a border and a ground and no
|
|
114
119
|
* shadow, so the shade is added as a utility of its own rather than composed
|
|
@@ -117,7 +122,7 @@ import { INPUT_FACE } from "../system/_style-input-face.js";
|
|
|
117
122
|
* own `shadow-` utility replaces it through `twMerge`, as it would have
|
|
118
123
|
* replaced nothing before.
|
|
119
124
|
*/
|
|
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`;
|
|
125
|
+
const controlSurface = `w-full field-ground ${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
126
|
/**
|
|
122
127
|
* The full recessed-control recipe, one variant per rung of the control ladder.
|
|
123
128
|
*
|
|
@@ -18,7 +18,7 @@
|
|
|
18
18
|
* @example
|
|
19
19
|
* <Popover.Popup className={cn(overlaySurfaceClasses, className)} />
|
|
20
20
|
*/
|
|
21
|
-
declare const overlaySurfaceClasses = "rounded-overlay border-transparent border-(length:--cue-paint-stroke-width) bg-[linear-gradient(var(--cue-style-overlay-ground,var(--cue-surface-2)),var(--cue-style-overlay-ground,var(--cue-surface-2))),linear-gradient(var(--cue-paint-stroke-angle),var(--cue-paint-stroke-overlay-from,var(--cue-border-overlay)),var(--cue-paint-stroke-overlay-to,var(--cue-border-overlay)))] bg-origin-border [background-clip:padding-box,border-box] shadow-[0_0_0_var(--cue-paint-rim-width)_var(--cue-paint-shade-hairline,transparent),0_calc(2px*var(--cue-paint-shadow-scale))_calc(6px*var(--cue-paint-shadow-scale))_var(--cue-paint-shadow-spread)_var(--cue-paint-shade-near,transparent),0_calc(8px*var(--cue-paint-shadow-scale))_calc(24px*var(--cue-paint-shadow-scale))_var(--cue-paint-shadow-spread)_var(--cue-paint-shade-far,rgba(0,0,0,0.4)),inset_0_1px_0_0_var(--cue-paint-sheen-ink,transparent)]";
|
|
21
|
+
declare const overlaySurfaceClasses = "rounded-overlay border-transparent border-(length:--cue-paint-stroke-width) bg-[linear-gradient(var(--cue-style-overlay-ground,var(--cue-surface-2)),var(--cue-style-overlay-ground,var(--cue-surface-2))),linear-gradient(var(--cue-paint-stroke-angle),var(--cue-paint-stroke-overlay-from,var(--cue-border-overlay)),var(--cue-paint-stroke-overlay-to,var(--cue-border-overlay)))] bg-origin-border [background-clip:padding-box,border-box] [--cue-ground:var(--cue-style-overlay-ground,var(--cue-surface-2))] shadow-[0_0_0_var(--cue-paint-rim-width)_var(--cue-paint-shade-hairline,transparent),0_calc(2px*var(--cue-paint-shadow-scale))_calc(6px*var(--cue-paint-shadow-scale))_var(--cue-paint-shadow-spread)_var(--cue-paint-shade-near,transparent),0_calc(8px*var(--cue-paint-shadow-scale))_calc(24px*var(--cue-paint-shadow-scale))_var(--cue-paint-shadow-spread)_var(--cue-paint-shade-far,rgba(0,0,0,0.4)),inset_0_1px_0_0_var(--cue-paint-sheen-ink,transparent)]";
|
|
22
22
|
/**
|
|
23
23
|
* The full-viewport dim behind a modal surface. `--cue-scrim` is theme-owned —
|
|
24
24
|
* dusk and hivehub tune their own — so the value is never hard-coded here.
|
package/dist/styles.css
CHANGED
|
@@ -133,3 +133,55 @@
|
|
|
133
133
|
clip-path: none;
|
|
134
134
|
}
|
|
135
135
|
}
|
|
136
|
+
|
|
137
|
+
/* A container's ground, for the relative field fill (spec 2026-10-08-field-ground R3).
|
|
138
|
+
*
|
|
139
|
+
* Every fill utility a container can paint with says what it painted, as
|
|
140
|
+
* `--cue-ground`, and a control inside `[data-field-ground="relative"]` mixes
|
|
141
|
+
* its fill from the nearest one (`system/_field-ground.ts`). Declaring it is
|
|
142
|
+
* free: nothing outside the opt-in reads it. In `base` so a consumer's own
|
|
143
|
+
* utility or inline `--cue-ground` wins; a container painted any other way — a
|
|
144
|
+
* gradient, an image, a translucent fill — sets `--cue-ground` itself. */
|
|
145
|
+
@layer base {
|
|
146
|
+
.bg-bg {
|
|
147
|
+
--cue-ground: var(--cue-bg);
|
|
148
|
+
}
|
|
149
|
+
.bg-sunken {
|
|
150
|
+
--cue-ground: var(--cue-sunken);
|
|
151
|
+
}
|
|
152
|
+
.bg-surface-1 {
|
|
153
|
+
--cue-ground: var(--cue-surface-1);
|
|
154
|
+
}
|
|
155
|
+
.bg-surface-2 {
|
|
156
|
+
--cue-ground: var(--cue-surface-2);
|
|
157
|
+
}
|
|
158
|
+
.bg-surface-3 {
|
|
159
|
+
--cue-ground: var(--cue-surface-3);
|
|
160
|
+
}
|
|
161
|
+
}
|
|
162
|
+
|
|
163
|
+
/* The relative field fill (spec 2026-10-08-field-ground R3), and opt-in.
|
|
164
|
+
*
|
|
165
|
+
* Nothing happens until an ancestor carries `data-field-ground="relative"`.
|
|
166
|
+
* Inside one, a field that wears `field-ground` — every control the recessed
|
|
167
|
+
* chassis draws does — re-declares its OWN `--cue-sunken` one step off the
|
|
168
|
+
* nearest container's `--cue-ground` (declared above, and by the raised and
|
|
169
|
+
* overlay strokes), toward its text colour: lighter on a dark ground, deeper on
|
|
170
|
+
* a light one, 6% unless `--cue-style-field-step` says otherwise.
|
|
171
|
+
* `--cue-style-field-toward` changes the direction.
|
|
172
|
+
*
|
|
173
|
+
* On the field, never on the ancestor: a custom property resolves its `var()`s
|
|
174
|
+
* where it is declared, so declared on the opt-in element it would freeze at
|
|
175
|
+
* that element's ground and every field below — in a card, in a popover —
|
|
176
|
+
* would fill as if it stood on the page.
|
|
177
|
+
*
|
|
178
|
+
* Re-declaring `sunken` rather than adding a term to the field's fill keeps
|
|
179
|
+
* the chain the stroke already reads, `var(--cue-style-field-fill,
|
|
180
|
+
* var(--cue-sunken))`: a named fill still wins, a disabled field follows, and
|
|
181
|
+
* no field's class grows by more than this utility's name. A consumer's own
|
|
182
|
+
* field can wear `field-ground` too. */
|
|
183
|
+
@utility field-ground {
|
|
184
|
+
:where([data-field-ground="relative"]) & {
|
|
185
|
+
--cue-sunken: color-mix(in oklab, var(--cue-ground, var(--cue-bg)), var(--cue-style-field-toward, var(--cue-fg)) var(--cue-style-field-step, 6%));
|
|
186
|
+
}
|
|
187
|
+
}
|
|
@@ -12,8 +12,28 @@
|
|
|
12
12
|
* The recipe itself, and why its off state is a flat gradient rather than
|
|
13
13
|
* `none`, is documented once in `./_paint`.
|
|
14
14
|
*
|
|
15
|
+
* **The fill is a name first** (spec 2026-10-08-field-ground R2):
|
|
16
|
+
* `--cue-style-field-fill`, declared on no `:root` for the reason
|
|
17
|
+
* `_style-input-face.ts` gives, so with nothing set this resolves to exactly
|
|
18
|
+
* the `--cue-sunken` it always painted. A style set, or any subtree, names it.
|
|
19
|
+
*
|
|
15
20
|
* @internal Not part of the public API.
|
|
16
21
|
*/
|
|
17
|
-
const STROKE_SUNKEN = "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]";
|
|
22
|
+
const STROKE_SUNKEN = "border-transparent border-(length:--cue-paint-stroke-width) bg-[linear-gradient(var(--cue-style-field-fill,var(--cue-sunken)),var(--cue-style-field-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)))] bg-origin-border [background-clip:padding-box,border-box]";
|
|
23
|
+
/**
|
|
24
|
+
* The same two layers when the field is disabled: the fill read through
|
|
25
|
+
* `style-disabled-fill`, then the field's own fill, then `sunken`, on
|
|
26
|
+
* `:disabled` and on `[data-disabled]`.
|
|
27
|
+
*
|
|
28
|
+
* **Here, beside the resting recipe, and not in `_style-disabled.ts`** with the
|
|
29
|
+
* other disabled recipes (spec 2026-10-08-field-ground R2). Docgen credits every
|
|
30
|
+
* `--cue-*` in a module to each component that imports it, and the button, the
|
|
31
|
+
* checkbox and the switch import that module for their own disabled recipes:
|
|
32
|
+
* left there, all of them would claim a field's fill they never paint. This
|
|
33
|
+
* module is imported by the field chassis alone, so the credit is exact, and
|
|
34
|
+
* the library ships one file per module, so a module of its own would have
|
|
35
|
+
* cost every page that draws a field one more request.
|
|
36
|
+
*/
|
|
37
|
+
const FIELD_DISABLED_FILL = "disabled:bg-[linear-gradient(var(--cue-style-disabled-fill,var(--cue-style-field-fill,var(--cue-sunken))),var(--cue-style-disabled-fill,var(--cue-style-field-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-style-field-fill,var(--cue-sunken))),var(--cue-style-disabled-fill,var(--cue-style-field-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)))]";
|
|
18
38
|
//#endregion
|
|
19
|
-
export { STROKE_SUNKEN };
|
|
39
|
+
export { FIELD_DISABLED_FILL, STROKE_SUNKEN };
|
|
@@ -12,8 +12,12 @@
|
|
|
12
12
|
* The recipe itself, and why its off state is a flat gradient rather than
|
|
13
13
|
* `none`, is documented once in `./_paint`.
|
|
14
14
|
*
|
|
15
|
+
* It also says what it painted, as `--cue-ground`, for the relative field fill
|
|
16
|
+
* (spec 2026-10-08-field-ground R3): a field inside `[data-field-ground="relative"]`
|
|
17
|
+
* takes its fill one step off the nearest container's ground.
|
|
18
|
+
*
|
|
15
19
|
* @internal Not part of the public API.
|
|
16
20
|
*/
|
|
17
|
-
const STROKE_SURFACE_1 = "border-transparent border-(length:--cue-paint-stroke-width) bg-[linear-gradient(var(--cue-surface-1),var(--cue-surface-1)),linear-gradient(var(--cue-paint-stroke-angle),var(--cue-paint-stroke-raised-from,var(--cue-paint-stroke-from,var(--cue-border))),var(--cue-paint-stroke-raised-to,var(--cue-paint-stroke-to,var(--cue-border))))] bg-origin-border [background-clip:padding-box,border-box]";
|
|
21
|
+
const STROKE_SURFACE_1 = "border-transparent border-(length:--cue-paint-stroke-width) bg-[linear-gradient(var(--cue-surface-1),var(--cue-surface-1)),linear-gradient(var(--cue-paint-stroke-angle),var(--cue-paint-stroke-raised-from,var(--cue-paint-stroke-from,var(--cue-border))),var(--cue-paint-stroke-raised-to,var(--cue-paint-stroke-to,var(--cue-border))))] bg-origin-border [background-clip:padding-box,border-box] [--cue-ground:var(--cue-surface-1)]";
|
|
18
22
|
//#endregion
|
|
19
23
|
export { STROKE_SURFACE_1 };
|
|
@@ -33,8 +33,12 @@
|
|
|
33
33
|
* The recipe itself, and why its off state is a flat gradient rather than
|
|
34
34
|
* `none`, is documented once in `./_paint`.
|
|
35
35
|
*
|
|
36
|
+
* It also says what it painted, as `--cue-ground`, for the relative field fill
|
|
37
|
+
* (spec 2026-10-08-field-ground R3): a field inside `[data-field-ground="relative"]`
|
|
38
|
+
* takes its fill one step off the nearest container's ground.
|
|
39
|
+
*
|
|
36
40
|
* @internal Not part of the public API.
|
|
37
41
|
*/
|
|
38
|
-
const STROKE_SURFACE_2 = "border-transparent border-(length:--cue-paint-stroke-width) bg-[linear-gradient(var(--cue-style-overlay-ground,var(--cue-surface-2)),var(--cue-style-overlay-ground,var(--cue-surface-2))),linear-gradient(var(--cue-paint-stroke-angle),var(--cue-paint-stroke-overlay-from,var(--cue-border-overlay)),var(--cue-paint-stroke-overlay-to,var(--cue-border-overlay)))] bg-origin-border [background-clip:padding-box,border-box]";
|
|
42
|
+
const STROKE_SURFACE_2 = "border-transparent border-(length:--cue-paint-stroke-width) bg-[linear-gradient(var(--cue-style-overlay-ground,var(--cue-surface-2)),var(--cue-style-overlay-ground,var(--cue-surface-2))),linear-gradient(var(--cue-paint-stroke-angle),var(--cue-paint-stroke-overlay-from,var(--cue-border-overlay)),var(--cue-paint-stroke-overlay-to,var(--cue-border-overlay)))] bg-origin-border [background-clip:padding-box,border-box] [--cue-ground:var(--cue-style-overlay-ground,var(--cue-surface-2))]";
|
|
39
43
|
//#endregion
|
|
40
44
|
export { STROKE_SURFACE_2 };
|
|
@@ -33,12 +33,6 @@ const LABEL_DISABLED_OPACITY = "has-[[data-disabled]]:opacity-[var(--cue-style-d
|
|
|
33
33
|
/** A disabled control label's ink, falling back to the label ink it drew (`LABEL_INK`). */
|
|
34
34
|
const LABEL_DISABLED_INK = "has-[[data-disabled]]:text-[color:var(--cue-style-disabled-ink,var(--cue-style-label-ink,var(--cue-fg-muted)))]";
|
|
35
35
|
/**
|
|
36
|
-
* The field chassis's fill when disabled: its own two layers (`STROKE_SUNKEN`),
|
|
37
|
-
* with the fill layer's `sunken` read through `style-disabled-fill`, on
|
|
38
|
-
* `:disabled` and on `[data-disabled]`.
|
|
39
|
-
*/
|
|
40
|
-
const FIELD_DISABLED_FILL = "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)))]";
|
|
41
|
-
/**
|
|
42
36
|
* The button tones' fill and ink when disabled, each falling back to the tone's own resting fill and ink.
|
|
43
37
|
* The two transparent tones keep their ground and take an edge instead (`style-disabled-edge`, falling
|
|
44
38
|
* back to the edge each drew): stripe.com's disabled icon button stays on its ground and draws a 1px rim
|
|
@@ -67,4 +61,4 @@ const CHECK_DISABLED = "data-[disabled]:bg-[color:var(--cue-style-disabled-fill,
|
|
|
67
61
|
/** The switch's track when disabled, unchecked and checked, each state keeping its own fallback. */
|
|
68
62
|
const SWITCH_DISABLED_TRACK = "data-[disabled]:bg-[color:var(--cue-style-disabled-fill,var(--cue-surface-3))] data-[disabled]:data-[checked]:bg-[color:var(--cue-style-disabled-fill,var(--cue-accent))]";
|
|
69
63
|
//#endregion
|
|
70
|
-
export { CHECK_DISABLED, DATA_DISABLED_OPACITY, DISABLED_OPACITY, DISABLED_TONES,
|
|
64
|
+
export { CHECK_DISABLED, DATA_DISABLED_OPACITY, DISABLED_OPACITY, DISABLED_TONES, LABEL_DISABLED_INK, LABEL_DISABLED_OPACITY, SWITCH_DISABLED_TRACK };
|
|
@@ -222,6 +222,7 @@
|
|
|
222
222
|
"--cue-focus",
|
|
223
223
|
"--cue-focus-ring",
|
|
224
224
|
"--cue-font-mono",
|
|
225
|
+
"--cue-ground",
|
|
225
226
|
"--cue-hair-strong",
|
|
226
227
|
"--cue-icon-sm",
|
|
227
228
|
"--cue-info",
|
|
@@ -275,6 +276,7 @@
|
|
|
275
276
|
"--cue-style-disabled-ink",
|
|
276
277
|
"--cue-style-disabled-opacity",
|
|
277
278
|
"--cue-style-display-variation",
|
|
279
|
+
"--cue-style-field-fill",
|
|
278
280
|
"--cue-style-field-focus-offset",
|
|
279
281
|
"--cue-style-field-hover-edge",
|
|
280
282
|
"--cue-style-field-pad",
|
|
@@ -124,9 +124,6 @@
|
|
|
124
124
|
"--cue-paint-glow-ink-hover",
|
|
125
125
|
"--cue-paint-rest-shade",
|
|
126
126
|
"--cue-paint-shadow-scale",
|
|
127
|
-
"--cue-paint-stroke-angle",
|
|
128
|
-
"--cue-paint-stroke-from",
|
|
129
|
-
"--cue-paint-stroke-to",
|
|
130
127
|
"--cue-radius-control",
|
|
131
128
|
"--cue-space-4",
|
|
132
129
|
"--cue-space-5",
|
|
@@ -224,6 +224,7 @@
|
|
|
224
224
|
"--cue-focus",
|
|
225
225
|
"--cue-focus-ring",
|
|
226
226
|
"--cue-font-mono",
|
|
227
|
+
"--cue-ground",
|
|
227
228
|
"--cue-hair-strong",
|
|
228
229
|
"--cue-icon-md",
|
|
229
230
|
"--cue-icon-sm",
|
|
@@ -278,6 +279,7 @@
|
|
|
278
279
|
"--cue-style-disabled-ink",
|
|
279
280
|
"--cue-style-disabled-opacity",
|
|
280
281
|
"--cue-style-display-variation",
|
|
282
|
+
"--cue-style-field-fill",
|
|
281
283
|
"--cue-style-field-focus-offset",
|
|
282
284
|
"--cue-style-field-hover-edge",
|
|
283
285
|
"--cue-style-field-pad",
|
|
@@ -215,6 +215,7 @@
|
|
|
215
215
|
"--cue-focus",
|
|
216
216
|
"--cue-focus-ring",
|
|
217
217
|
"--cue-font-mono",
|
|
218
|
+
"--cue-ground",
|
|
218
219
|
"--cue-hair-strong",
|
|
219
220
|
"--cue-icon-sm",
|
|
220
221
|
"--cue-info",
|
|
@@ -268,6 +269,7 @@
|
|
|
268
269
|
"--cue-style-disabled-ink",
|
|
269
270
|
"--cue-style-disabled-opacity",
|
|
270
271
|
"--cue-style-display-variation",
|
|
272
|
+
"--cue-style-field-fill",
|
|
271
273
|
"--cue-style-field-focus-offset",
|
|
272
274
|
"--cue-style-field-hover-edge",
|
|
273
275
|
"--cue-style-field-pad",
|
|
@@ -202,6 +202,7 @@
|
|
|
202
202
|
"--cue-focus",
|
|
203
203
|
"--cue-focus-ring",
|
|
204
204
|
"--cue-font-mono",
|
|
205
|
+
"--cue-ground",
|
|
205
206
|
"--cue-icon-md",
|
|
206
207
|
"--cue-icon-sm",
|
|
207
208
|
"--cue-paint-rest-shade",
|
|
@@ -235,6 +236,7 @@
|
|
|
235
236
|
"--cue-style-disabled-fill",
|
|
236
237
|
"--cue-style-disabled-ink",
|
|
237
238
|
"--cue-style-disabled-opacity",
|
|
239
|
+
"--cue-style-field-fill",
|
|
238
240
|
"--cue-style-field-focus-offset",
|
|
239
241
|
"--cue-style-field-hover-edge",
|
|
240
242
|
"--cue-style-field-pad",
|
|
@@ -215,6 +215,7 @@
|
|
|
215
215
|
"--cue-focus",
|
|
216
216
|
"--cue-focus-ring",
|
|
217
217
|
"--cue-font-mono",
|
|
218
|
+
"--cue-ground",
|
|
218
219
|
"--cue-hair-strong",
|
|
219
220
|
"--cue-icon-sm",
|
|
220
221
|
"--cue-info",
|
|
@@ -268,6 +269,7 @@
|
|
|
268
269
|
"--cue-style-disabled-ink",
|
|
269
270
|
"--cue-style-disabled-opacity",
|
|
270
271
|
"--cue-style-display-variation",
|
|
272
|
+
"--cue-style-field-fill",
|
|
271
273
|
"--cue-style-field-focus-offset",
|
|
272
274
|
"--cue-style-field-hover-edge",
|
|
273
275
|
"--cue-style-field-pad",
|
package/manifest/manifest.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"schemaVersion": 2,
|
|
3
3
|
"library": "@cueplusplus/ui",
|
|
4
|
-
"version": "0.
|
|
4
|
+
"version": "0.22.0",
|
|
5
5
|
"generatedAt": "1970-01-01T00:00:00.000Z",
|
|
6
6
|
"themes": [
|
|
7
7
|
"command",
|
|
@@ -38,7 +38,7 @@
|
|
|
38
38
|
],
|
|
39
39
|
"tokens": {
|
|
40
40
|
"path": "./tokens.json",
|
|
41
|
-
"sha256": "
|
|
41
|
+
"sha256": "38d9502fd7813d7d3d0c9eaa02ae5850b4f9855c6954c8671569cf08e97ea73d"
|
|
42
42
|
},
|
|
43
43
|
"systemApis": [
|
|
44
44
|
{
|
|
@@ -474,7 +474,7 @@
|
|
|
474
474
|
"mdUrl": "/docs/components/chart-tooltip-content.md",
|
|
475
475
|
"jsonUrl": "/r/components/chart-tooltip-content.json",
|
|
476
476
|
"path": "./components/chart-tooltip-content.json",
|
|
477
|
-
"sha256": "
|
|
477
|
+
"sha256": "4e94e7d8b694aa50526a77c9f12837ad03eb6389286a94f99a37647adb071532"
|
|
478
478
|
},
|
|
479
479
|
{
|
|
480
480
|
"name": "AgentPile",
|
|
@@ -513,7 +513,7 @@
|
|
|
513
513
|
"mdUrl": "/docs/components/composer.md",
|
|
514
514
|
"jsonUrl": "/r/components/composer.json",
|
|
515
515
|
"path": "./components/composer.json",
|
|
516
|
-
"sha256": "
|
|
516
|
+
"sha256": "1a3ba8b3a3fed698a6e1f5b2cb40f7a2d5f26005e112d13c359741ca5c1e6a48"
|
|
517
517
|
},
|
|
518
518
|
{
|
|
519
519
|
"name": "DelegationCard",
|
|
@@ -708,7 +708,7 @@
|
|
|
708
708
|
"mdUrl": "/docs/components/navigation-menu.md",
|
|
709
709
|
"jsonUrl": "/r/components/navigation-menu.json",
|
|
710
710
|
"path": "./components/navigation-menu.json",
|
|
711
|
-
"sha256": "
|
|
711
|
+
"sha256": "e049d58fd4cefdde2f823588d0544d79a9d222c44864eeaf2b5bacb780d07121"
|
|
712
712
|
},
|
|
713
713
|
{
|
|
714
714
|
"name": "PageShell",
|
|
@@ -942,7 +942,7 @@
|
|
|
942
942
|
"mdUrl": "/docs/components/color-field.md",
|
|
943
943
|
"jsonUrl": "/r/components/color-field.json",
|
|
944
944
|
"path": "./components/color-field.json",
|
|
945
|
-
"sha256": "
|
|
945
|
+
"sha256": "8f0197d4e6beda16194a055c1bc3762a133182c78d9fe676945163935ccdf649"
|
|
946
946
|
},
|
|
947
947
|
{
|
|
948
948
|
"name": "ColorPicker",
|
|
@@ -955,7 +955,7 @@
|
|
|
955
955
|
"mdUrl": "/docs/components/color-picker.md",
|
|
956
956
|
"jsonUrl": "/r/components/color-picker.json",
|
|
957
957
|
"path": "./components/color-picker.json",
|
|
958
|
-
"sha256": "
|
|
958
|
+
"sha256": "689bc048df5076650787539798e2cc9e14242943e167f2bbfe162c7fad5e4ce0"
|
|
959
959
|
},
|
|
960
960
|
{
|
|
961
961
|
"name": "ColorSlider",
|
|
@@ -1046,7 +1046,7 @@
|
|
|
1046
1046
|
"mdUrl": "/docs/components/theme-configurator.md",
|
|
1047
1047
|
"jsonUrl": "/r/components/theme-configurator.json",
|
|
1048
1048
|
"path": "./components/theme-configurator.json",
|
|
1049
|
-
"sha256": "
|
|
1049
|
+
"sha256": "9204578d89900e16cc7ba01961bac737addb92ebf00208d31b426cde4b138bbc"
|
|
1050
1050
|
},
|
|
1051
1051
|
{
|
|
1052
1052
|
"name": "TokenEditor",
|
|
@@ -1085,7 +1085,7 @@
|
|
|
1085
1085
|
"mdUrl": "/docs/components/date-field.md",
|
|
1086
1086
|
"jsonUrl": "/r/components/date-field.json",
|
|
1087
1087
|
"path": "./components/date-field.json",
|
|
1088
|
-
"sha256": "
|
|
1088
|
+
"sha256": "7dbd02a73256b5fa17f8297d2fa812cce04a68f7534d281d56c6d9d956e1d846"
|
|
1089
1089
|
},
|
|
1090
1090
|
{
|
|
1091
1091
|
"name": "DatePicker",
|
|
@@ -1098,7 +1098,7 @@
|
|
|
1098
1098
|
"mdUrl": "/docs/components/date-picker.md",
|
|
1099
1099
|
"jsonUrl": "/r/components/date-picker.json",
|
|
1100
1100
|
"path": "./components/date-picker.json",
|
|
1101
|
-
"sha256": "
|
|
1101
|
+
"sha256": "3e1b03e3f9297c2e2e9464f3e104b4f0dd54f8f9ebbcde85a8f62f3bada647cb"
|
|
1102
1102
|
},
|
|
1103
1103
|
{
|
|
1104
1104
|
"name": "DateRangePicker",
|
|
@@ -1111,7 +1111,7 @@
|
|
|
1111
1111
|
"mdUrl": "/docs/components/date-range-picker.md",
|
|
1112
1112
|
"jsonUrl": "/r/components/date-range-picker.json",
|
|
1113
1113
|
"path": "./components/date-range-picker.json",
|
|
1114
|
-
"sha256": "
|
|
1114
|
+
"sha256": "2f56557fd70d5b4ebca6a93831e038c7d67b64f58c140902549b0a3e242bc031"
|
|
1115
1115
|
},
|
|
1116
1116
|
{
|
|
1117
1117
|
"name": "TimeField",
|
|
@@ -1124,7 +1124,7 @@
|
|
|
1124
1124
|
"mdUrl": "/docs/components/time-field.md",
|
|
1125
1125
|
"jsonUrl": "/r/components/time-field.json",
|
|
1126
1126
|
"path": "./components/time-field.json",
|
|
1127
|
-
"sha256": "
|
|
1127
|
+
"sha256": "be505c5b95bf73bf252534ed7f19adc9f36471c55c7497f84b5e87c0f0689ac0"
|
|
1128
1128
|
},
|
|
1129
1129
|
{
|
|
1130
1130
|
"name": "ChannelMatrix",
|
|
@@ -1137,7 +1137,7 @@
|
|
|
1137
1137
|
"mdUrl": "/docs/components/channel-matrix.md",
|
|
1138
1138
|
"jsonUrl": "/r/components/channel-matrix.json",
|
|
1139
1139
|
"path": "./components/channel-matrix.json",
|
|
1140
|
-
"sha256": "
|
|
1140
|
+
"sha256": "2c5e499a97a49923b834253497ece55390367224d6af8e30af1b1b959c1a53a3"
|
|
1141
1141
|
},
|
|
1142
1142
|
{
|
|
1143
1143
|
"name": "DmxBar",
|
|
@@ -1150,7 +1150,7 @@
|
|
|
1150
1150
|
"mdUrl": "/docs/components/dmx-bar.md",
|
|
1151
1151
|
"jsonUrl": "/r/components/dmx-bar.json",
|
|
1152
1152
|
"path": "./components/dmx-bar.json",
|
|
1153
|
-
"sha256": "
|
|
1153
|
+
"sha256": "3047e46160e35417ac46bc16a28c4a5887b7b98d9a193cc7b75cc3b4a82b5ffb"
|
|
1154
1154
|
},
|
|
1155
1155
|
{
|
|
1156
1156
|
"name": "DmxStrip",
|
|
@@ -1163,7 +1163,7 @@
|
|
|
1163
1163
|
"mdUrl": "/docs/components/dmx-strip.md",
|
|
1164
1164
|
"jsonUrl": "/r/components/dmx-strip.json",
|
|
1165
1165
|
"path": "./components/dmx-strip.json",
|
|
1166
|
-
"sha256": "
|
|
1166
|
+
"sha256": "1dc0669d2c4553feebe06672a7f9689d772a45d31e269d3c13033badf57d66dd"
|
|
1167
1167
|
},
|
|
1168
1168
|
{
|
|
1169
1169
|
"name": "UniverseGrid",
|
|
@@ -3282,7 +3282,7 @@
|
|
|
3282
3282
|
"mdUrl": "/docs/components/autocomplete.md",
|
|
3283
3283
|
"jsonUrl": "/r/components/autocomplete.json",
|
|
3284
3284
|
"path": "./components/autocomplete.json",
|
|
3285
|
-
"sha256": "
|
|
3285
|
+
"sha256": "49bbdf5a1c223ca65b2458ac6b87d9a2d0c8054653eb668eb707dc4be0500278"
|
|
3286
3286
|
},
|
|
3287
3287
|
{
|
|
3288
3288
|
"name": "ButtonGroup",
|
|
@@ -3308,7 +3308,7 @@
|
|
|
3308
3308
|
"mdUrl": "/docs/components/checkbox.md",
|
|
3309
3309
|
"jsonUrl": "/r/components/checkbox.json",
|
|
3310
3310
|
"path": "./components/checkbox.json",
|
|
3311
|
-
"sha256": "
|
|
3311
|
+
"sha256": "c7e27604f966cda47b68f6a074fd31048d83bd89955e1c9c7dcbd6454928348e"
|
|
3312
3312
|
},
|
|
3313
3313
|
{
|
|
3314
3314
|
"name": "CheckboxGroup",
|
|
@@ -3321,7 +3321,7 @@
|
|
|
3321
3321
|
"mdUrl": "/docs/components/checkbox-group.md",
|
|
3322
3322
|
"jsonUrl": "/r/components/checkbox-group.json",
|
|
3323
3323
|
"path": "./components/checkbox-group.json",
|
|
3324
|
-
"sha256": "
|
|
3324
|
+
"sha256": "bc79a77047d11137b74b78a25baf59b1f3bdd826e8ef3fe33ccfb2c4940ed8d1"
|
|
3325
3325
|
},
|
|
3326
3326
|
{
|
|
3327
3327
|
"name": "Combobox",
|
|
@@ -3334,7 +3334,7 @@
|
|
|
3334
3334
|
"mdUrl": "/docs/components/combobox.md",
|
|
3335
3335
|
"jsonUrl": "/r/components/combobox.json",
|
|
3336
3336
|
"path": "./components/combobox.json",
|
|
3337
|
-
"sha256": "
|
|
3337
|
+
"sha256": "0f66194a077d0dd5db155596a88c76760a858ff95d485e43b75415f626ef53b6"
|
|
3338
3338
|
},
|
|
3339
3339
|
{
|
|
3340
3340
|
"name": "EnvVarInput",
|
|
@@ -3347,7 +3347,7 @@
|
|
|
3347
3347
|
"mdUrl": "/docs/components/env-var-input.md",
|
|
3348
3348
|
"jsonUrl": "/r/components/env-var-input.json",
|
|
3349
3349
|
"path": "./components/env-var-input.json",
|
|
3350
|
-
"sha256": "
|
|
3350
|
+
"sha256": "6840d523ae8695033a80b61fa3d1cd94e277061a880cf1b70dfee836f81b2cb8"
|
|
3351
3351
|
},
|
|
3352
3352
|
{
|
|
3353
3353
|
"name": "Field",
|
|
@@ -3425,7 +3425,7 @@
|
|
|
3425
3425
|
"mdUrl": "/docs/components/input.md",
|
|
3426
3426
|
"jsonUrl": "/r/components/input.json",
|
|
3427
3427
|
"path": "./components/input.json",
|
|
3428
|
-
"sha256": "
|
|
3428
|
+
"sha256": "b24851abe536d705b8affcbfb51c105603afa0b893f0f2a76f96f0376f38f02d"
|
|
3429
3429
|
},
|
|
3430
3430
|
{
|
|
3431
3431
|
"name": "InputGroup",
|
|
@@ -3438,7 +3438,7 @@
|
|
|
3438
3438
|
"mdUrl": "/docs/components/input-group.md",
|
|
3439
3439
|
"jsonUrl": "/r/components/input-group.json",
|
|
3440
3440
|
"path": "./components/input-group.json",
|
|
3441
|
-
"sha256": "
|
|
3441
|
+
"sha256": "563eff7f480d07795d1e1cd72c8dfd657740398b984a7882685a2eed5ca62f54"
|
|
3442
3442
|
},
|
|
3443
3443
|
{
|
|
3444
3444
|
"name": "MultiSelect",
|
|
@@ -3451,7 +3451,7 @@
|
|
|
3451
3451
|
"mdUrl": "/docs/components/multi-select.md",
|
|
3452
3452
|
"jsonUrl": "/r/components/multi-select.json",
|
|
3453
3453
|
"path": "./components/multi-select.json",
|
|
3454
|
-
"sha256": "
|
|
3454
|
+
"sha256": "e7efabaa74b06f848cae209f842598ce949bf44a1ecc3be029f5649fc6584da3"
|
|
3455
3455
|
},
|
|
3456
3456
|
{
|
|
3457
3457
|
"name": "NumberField",
|
|
@@ -3464,7 +3464,7 @@
|
|
|
3464
3464
|
"mdUrl": "/docs/components/number-field.md",
|
|
3465
3465
|
"jsonUrl": "/r/components/number-field.json",
|
|
3466
3466
|
"path": "./components/number-field.json",
|
|
3467
|
-
"sha256": "
|
|
3467
|
+
"sha256": "5793c625ef9a4847d662bac1bb8fd43dff8f1f3d95132ee65282778cd0b682f7"
|
|
3468
3468
|
},
|
|
3469
3469
|
{
|
|
3470
3470
|
"name": "OTPField",
|
|
@@ -3477,7 +3477,7 @@
|
|
|
3477
3477
|
"mdUrl": "/docs/components/otp-field.md",
|
|
3478
3478
|
"jsonUrl": "/r/components/otp-field.json",
|
|
3479
3479
|
"path": "./components/otp-field.json",
|
|
3480
|
-
"sha256": "
|
|
3480
|
+
"sha256": "6d24f09139d73a6af651664ff7958f5f727c3908235102b4172ae85b4ddb8e7c"
|
|
3481
3481
|
},
|
|
3482
3482
|
{
|
|
3483
3483
|
"name": "PasswordInput",
|
|
@@ -3490,7 +3490,7 @@
|
|
|
3490
3490
|
"mdUrl": "/docs/components/password-input.md",
|
|
3491
3491
|
"jsonUrl": "/r/components/password-input.json",
|
|
3492
3492
|
"path": "./components/password-input.json",
|
|
3493
|
-
"sha256": "
|
|
3493
|
+
"sha256": "addb0ef6ac0bbf8472c401b9f99da078e8195d3faef43b92ed8843baec6d4867"
|
|
3494
3494
|
},
|
|
3495
3495
|
{
|
|
3496
3496
|
"name": "Radio",
|
|
@@ -3542,7 +3542,7 @@
|
|
|
3542
3542
|
"mdUrl": "/docs/components/scrub-input.md",
|
|
3543
3543
|
"jsonUrl": "/r/components/scrub-input.json",
|
|
3544
3544
|
"path": "./components/scrub-input.json",
|
|
3545
|
-
"sha256": "
|
|
3545
|
+
"sha256": "07a25f241dc890c1fbd34641cf5bb90921317b6298d5f578aabb0f64eac6f83a"
|
|
3546
3546
|
},
|
|
3547
3547
|
{
|
|
3548
3548
|
"name": "SearchInput",
|
|
@@ -3555,7 +3555,7 @@
|
|
|
3555
3555
|
"mdUrl": "/docs/components/search-input.md",
|
|
3556
3556
|
"jsonUrl": "/r/components/search-input.json",
|
|
3557
3557
|
"path": "./components/search-input.json",
|
|
3558
|
-
"sha256": "
|
|
3558
|
+
"sha256": "c3f572e9b0e3e960a1975998a8e6681a59c71d58f9bb98922902ac26085fea06"
|
|
3559
3559
|
},
|
|
3560
3560
|
{
|
|
3561
3561
|
"name": "Select",
|
|
@@ -3568,7 +3568,7 @@
|
|
|
3568
3568
|
"mdUrl": "/docs/components/select.md",
|
|
3569
3569
|
"jsonUrl": "/r/components/select.json",
|
|
3570
3570
|
"path": "./components/select.json",
|
|
3571
|
-
"sha256": "
|
|
3571
|
+
"sha256": "d5e09c0c7fc5285b2d2d1ef92a93f6f6042ffc49f5495e730a70fc4d6448782a"
|
|
3572
3572
|
},
|
|
3573
3573
|
{
|
|
3574
3574
|
"name": "Slider",
|
|
@@ -3594,7 +3594,7 @@
|
|
|
3594
3594
|
"mdUrl": "/docs/components/switch.md",
|
|
3595
3595
|
"jsonUrl": "/r/components/switch.json",
|
|
3596
3596
|
"path": "./components/switch.json",
|
|
3597
|
-
"sha256": "
|
|
3597
|
+
"sha256": "2839e4ebe97c653be0c1102ed27c12d2f9163abf0316bcade408b6e9c0f6b7ed"
|
|
3598
3598
|
},
|
|
3599
3599
|
{
|
|
3600
3600
|
"name": "TagsInput",
|
|
@@ -3607,7 +3607,7 @@
|
|
|
3607
3607
|
"mdUrl": "/docs/components/tags-input.md",
|
|
3608
3608
|
"jsonUrl": "/r/components/tags-input.json",
|
|
3609
3609
|
"path": "./components/tags-input.json",
|
|
3610
|
-
"sha256": "
|
|
3610
|
+
"sha256": "f174dcc58a3c3b7b3675998f5958ec0da824580055e327d0a0fffbc61d4c2830"
|
|
3611
3611
|
},
|
|
3612
3612
|
{
|
|
3613
3613
|
"name": "Textarea",
|
|
@@ -3620,7 +3620,7 @@
|
|
|
3620
3620
|
"mdUrl": "/docs/components/textarea.md",
|
|
3621
3621
|
"jsonUrl": "/r/components/textarea.json",
|
|
3622
3622
|
"path": "./components/textarea.json",
|
|
3623
|
-
"sha256": "
|
|
3623
|
+
"sha256": "69874c062a176945b901989f1f970554432c37223b221fcf4406fed7984c57bd"
|
|
3624
3624
|
},
|
|
3625
3625
|
{
|
|
3626
3626
|
"name": "Toggle",
|
|
@@ -3633,7 +3633,7 @@
|
|
|
3633
3633
|
"mdUrl": "/docs/components/toggle.md",
|
|
3634
3634
|
"jsonUrl": "/r/components/toggle.json",
|
|
3635
3635
|
"path": "./components/toggle.json",
|
|
3636
|
-
"sha256": "
|
|
3636
|
+
"sha256": "0cf81fca925d331377caef0188842f4915dc7e21817012e0db3f5bb841955ad4"
|
|
3637
3637
|
},
|
|
3638
3638
|
{
|
|
3639
3639
|
"name": "ToggleGroup",
|
|
@@ -4101,7 +4101,7 @@
|
|
|
4101
4101
|
"mdUrl": "/docs/components/card.md",
|
|
4102
4102
|
"jsonUrl": "/r/components/card.json",
|
|
4103
4103
|
"path": "./components/card.json",
|
|
4104
|
-
"sha256": "
|
|
4104
|
+
"sha256": "2b714c0f4a1d7799deb51c3d497bf2f39dbe7fcc7597eaf9d1aca4d0cb078ba4"
|
|
4105
4105
|
},
|
|
4106
4106
|
{
|
|
4107
4107
|
"name": "Carousel",
|
|
@@ -4361,7 +4361,7 @@
|
|
|
4361
4361
|
"mdUrl": "/docs/components/musical-time-input.md",
|
|
4362
4362
|
"jsonUrl": "/r/components/musical-time-input.json",
|
|
4363
4363
|
"path": "./components/musical-time-input.json",
|
|
4364
|
-
"sha256": "
|
|
4364
|
+
"sha256": "9e9b582026b92fcbf069c481c9a3fbbc8f5dd7f70d6ac2f61614a3d290ea8b6e"
|
|
4365
4365
|
},
|
|
4366
4366
|
{
|
|
4367
4367
|
"name": "PianoKeyboard",
|
|
@@ -4426,7 +4426,7 @@
|
|
|
4426
4426
|
"mdUrl": "/docs/components/alert-dialog.md",
|
|
4427
4427
|
"jsonUrl": "/r/components/alert-dialog.json",
|
|
4428
4428
|
"path": "./components/alert-dialog.json",
|
|
4429
|
-
"sha256": "
|
|
4429
|
+
"sha256": "bbe880bd665f5d0c6540d7d7b4b1f61bafd2dec83830115f5bce231e85a574b3"
|
|
4430
4430
|
},
|
|
4431
4431
|
{
|
|
4432
4432
|
"name": "CommandPalette",
|
|
@@ -4439,7 +4439,7 @@
|
|
|
4439
4439
|
"mdUrl": "/docs/components/command-palette.md",
|
|
4440
4440
|
"jsonUrl": "/r/components/command-palette.json",
|
|
4441
4441
|
"path": "./components/command-palette.json",
|
|
4442
|
-
"sha256": "
|
|
4442
|
+
"sha256": "457ca29347604cb3565e6696051e47209b2b64776ed9b442ca456dce0cbc2277"
|
|
4443
4443
|
},
|
|
4444
4444
|
{
|
|
4445
4445
|
"name": "ContextMenu",
|
|
@@ -4452,7 +4452,7 @@
|
|
|
4452
4452
|
"mdUrl": "/docs/components/context-menu.md",
|
|
4453
4453
|
"jsonUrl": "/r/components/context-menu.json",
|
|
4454
4454
|
"path": "./components/context-menu.json",
|
|
4455
|
-
"sha256": "
|
|
4455
|
+
"sha256": "ccc4b13aa426171d1644dc54356846b91287816f25e1432d03d4f7732eac27b3"
|
|
4456
4456
|
},
|
|
4457
4457
|
{
|
|
4458
4458
|
"name": "Dialog",
|
|
@@ -4465,7 +4465,7 @@
|
|
|
4465
4465
|
"mdUrl": "/docs/components/dialog.md",
|
|
4466
4466
|
"jsonUrl": "/r/components/dialog.json",
|
|
4467
4467
|
"path": "./components/dialog.json",
|
|
4468
|
-
"sha256": "
|
|
4468
|
+
"sha256": "5585a2b3e4aa7b8a32c90179241ccccda3293f096e091e6436d5eafa6ebf67e6"
|
|
4469
4469
|
},
|
|
4470
4470
|
{
|
|
4471
4471
|
"name": "Drawer",
|
|
@@ -4478,7 +4478,7 @@
|
|
|
4478
4478
|
"mdUrl": "/docs/components/drawer.md",
|
|
4479
4479
|
"jsonUrl": "/r/components/drawer.json",
|
|
4480
4480
|
"path": "./components/drawer.json",
|
|
4481
|
-
"sha256": "
|
|
4481
|
+
"sha256": "894aa786117f1d94846cef24ce1206b9aa12fb24e88762037051a0e194db71e5"
|
|
4482
4482
|
},
|
|
4483
4483
|
{
|
|
4484
4484
|
"name": "DropdownMenu",
|
|
@@ -4491,7 +4491,7 @@
|
|
|
4491
4491
|
"mdUrl": "/docs/components/dropdown-menu.md",
|
|
4492
4492
|
"jsonUrl": "/r/components/dropdown-menu.json",
|
|
4493
4493
|
"path": "./components/dropdown-menu.json",
|
|
4494
|
-
"sha256": "
|
|
4494
|
+
"sha256": "9beeba18ad8c9e459795ef851b2b4e51f0a804793c6ceb2b41922c907e9136a4"
|
|
4495
4495
|
},
|
|
4496
4496
|
{
|
|
4497
4497
|
"name": "HoverCard",
|
|
@@ -4504,7 +4504,7 @@
|
|
|
4504
4504
|
"mdUrl": "/docs/components/hover-card.md",
|
|
4505
4505
|
"jsonUrl": "/r/components/hover-card.json",
|
|
4506
4506
|
"path": "./components/hover-card.json",
|
|
4507
|
-
"sha256": "
|
|
4507
|
+
"sha256": "143c3dbcab3db8d3ef3832aaca1f9b6df0b8ce64abeced5b587750c1fa4485aa"
|
|
4508
4508
|
},
|
|
4509
4509
|
{
|
|
4510
4510
|
"name": "InfoTip",
|
|
@@ -4530,7 +4530,7 @@
|
|
|
4530
4530
|
"mdUrl": "/docs/components/menubar.md",
|
|
4531
4531
|
"jsonUrl": "/r/components/menubar.json",
|
|
4532
4532
|
"path": "./components/menubar.json",
|
|
4533
|
-
"sha256": "
|
|
4533
|
+
"sha256": "85ec43499c896678fe2f83fd1620514c6273ff8b742d2bc516c9dc2a58ca47e2"
|
|
4534
4534
|
},
|
|
4535
4535
|
{
|
|
4536
4536
|
"name": "Popover",
|
|
@@ -4543,7 +4543,7 @@
|
|
|
4543
4543
|
"mdUrl": "/docs/components/popover.md",
|
|
4544
4544
|
"jsonUrl": "/r/components/popover.json",
|
|
4545
4545
|
"path": "./components/popover.json",
|
|
4546
|
-
"sha256": "
|
|
4546
|
+
"sha256": "a761579ab93f6dbb93e48fce79156b7961293e3d93473a56bd1a333338f4f3f5"
|
|
4547
4547
|
},
|
|
4548
4548
|
{
|
|
4549
4549
|
"name": "Sheet",
|
|
@@ -4556,7 +4556,7 @@
|
|
|
4556
4556
|
"mdUrl": "/docs/components/sheet.md",
|
|
4557
4557
|
"jsonUrl": "/r/components/sheet.json",
|
|
4558
4558
|
"path": "./components/sheet.json",
|
|
4559
|
-
"sha256": "
|
|
4559
|
+
"sha256": "ad931081ae1ea42aeaeaa7fd98b4eb67f7de7923858df86b8bc345525ebb059c"
|
|
4560
4560
|
},
|
|
4561
4561
|
{
|
|
4562
4562
|
"name": "Toast",
|
|
@@ -4569,7 +4569,7 @@
|
|
|
4569
4569
|
"mdUrl": "/docs/components/toast.md",
|
|
4570
4570
|
"jsonUrl": "/r/components/toast.json",
|
|
4571
4571
|
"path": "./components/toast.json",
|
|
4572
|
-
"sha256": "
|
|
4572
|
+
"sha256": "3a1969006bbe9ca88de344a511ef99355e107fdd774e71487ca19f73b62b0b03"
|
|
4573
4573
|
},
|
|
4574
4574
|
{
|
|
4575
4575
|
"name": "Tooltip",
|
|
@@ -4582,7 +4582,7 @@
|
|
|
4582
4582
|
"mdUrl": "/docs/components/tooltip.md",
|
|
4583
4583
|
"jsonUrl": "/r/components/tooltip.json",
|
|
4584
4584
|
"path": "./components/tooltip.json",
|
|
4585
|
-
"sha256": "
|
|
4585
|
+
"sha256": "8593afb1884f56e9c8d3705331089c4ad1254ce73305a415755a85903f0cb65c"
|
|
4586
4586
|
},
|
|
4587
4587
|
{
|
|
4588
4588
|
"name": "Avatar",
|
|
@@ -4621,7 +4621,7 @@
|
|
|
4621
4621
|
"mdUrl": "/docs/components/button.md",
|
|
4622
4622
|
"jsonUrl": "/r/components/button.json",
|
|
4623
4623
|
"path": "./components/button.json",
|
|
4624
|
-
"sha256": "
|
|
4624
|
+
"sha256": "a7f2336ca85339a9a8edc1038412b688a45d1d81ef1c6a2c0ec41fc49baf2f8d"
|
|
4625
4625
|
},
|
|
4626
4626
|
{
|
|
4627
4627
|
"name": "Chip",
|
package/manifest/tokens.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"schemaVersion": 2,
|
|
3
3
|
"library": "@cueplusplus/tokens",
|
|
4
|
-
"version": "0.
|
|
4
|
+
"version": "0.22.0",
|
|
5
5
|
"themes": [
|
|
6
6
|
{
|
|
7
7
|
"name": "command",
|
|
@@ -461,11 +461,14 @@
|
|
|
461
461
|
"--cue-style-eyebrow-ink",
|
|
462
462
|
"--cue-style-eyebrow-size",
|
|
463
463
|
"--cue-style-eyebrow-weight",
|
|
464
|
+
"--cue-style-field-fill",
|
|
464
465
|
"--cue-style-field-focus-offset",
|
|
465
466
|
"--cue-style-field-gap",
|
|
466
467
|
"--cue-style-field-hover-edge",
|
|
467
468
|
"--cue-style-field-pad",
|
|
468
469
|
"--cue-style-field-radius",
|
|
470
|
+
"--cue-style-field-step",
|
|
471
|
+
"--cue-style-field-toward",
|
|
469
472
|
"--cue-style-focus-edge",
|
|
470
473
|
"--cue-style-focus-offset",
|
|
471
474
|
"--cue-style-focus-width",
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@cueplusplus/ui",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.22.0",
|
|
4
4
|
"description": "CUE++ design system components: Tailwind v4 styled wrappers over Base UI, driven by @cueplusplus/tokens.",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"type": "module",
|
|
@@ -146,7 +146,7 @@
|
|
|
146
146
|
"culori": "^4.0.2",
|
|
147
147
|
"tailwind-merge": "^3.6.0",
|
|
148
148
|
"@cueplusplus/theme-base": "^1.3.0",
|
|
149
|
-
"@cueplusplus/tokens": "0.
|
|
149
|
+
"@cueplusplus/tokens": "0.22.0"
|
|
150
150
|
},
|
|
151
151
|
"peerDependencies": {
|
|
152
152
|
"@assistant-ui/react": "^0.15.16",
|
|
@@ -262,9 +262,9 @@
|
|
|
262
262
|
"tsdown": "0.22.14",
|
|
263
263
|
"typescript": "^5.7.0",
|
|
264
264
|
"vitest": "^4.1.10",
|
|
265
|
-
"@repo/eslint-config": "0.0.0",
|
|
266
265
|
"@cueplusplus/theme-tools": "1.2.0",
|
|
267
266
|
"@repo/docgen": "0.0.0",
|
|
267
|
+
"@repo/eslint-config": "0.0.0",
|
|
268
268
|
"@repo/typescript-config": "0.0.0"
|
|
269
269
|
},
|
|
270
270
|
"scripts": {
|