@vireo-ai/trellis-ui 0.1.42 → 0.1.43
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/package.json +1 -1
- package/packages/client/src/components/field/styles.css +7 -4
- package/packages/client/types/components/common.d.ts +1 -1
- package/packages/client/types/components/input/contract.d.ts +3 -3
- package/packages/client/types/components/select/contract.d.ts +2 -2
- package/packages/client/types/components/select/machine.d.ts +2 -2
- package/packages/client/types/components/textarea/contract.d.ts +1 -1
- package/packages/server/trellis_ui/static/trellis_ui/assets/css/trellis.css +5 -3
- package/packages/server/trellis_ui/static/trellis_ui/assets/css/trellis.min.css +1 -1
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/build-metadata.json +241 -241
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/capabilities/sortable.js +1 -1
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/{capability-sortable-Ds2wQEQq.js → capability-sortable-aY5GWxrK.js} +2 -2
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/{capability-sortable-Ds2wQEQq.js.map → capability-sortable-aY5GWxrK.js.map} +1 -1
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/common-fH2NGblC.js +2 -0
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/common-fH2NGblC.js.map +1 -0
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/{entry.generated-MnVr6QxG.js → entry.generated-B74OtpL2.js} +2 -2
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/{entry.generated-MnVr6QxG.js.map → entry.generated-B74OtpL2.js.map} +1 -1
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-BZXp8Edl.js +2 -0
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-BZXp8Edl.js.map +1 -0
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/{entry.generated-BPZeXRC3.js → entry.generated-BbQ_TNRI.js} +2 -2
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/{entry.generated-BPZeXRC3.js.map → entry.generated-BbQ_TNRI.js.map} +1 -1
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/{entry.generated-BC8JUf6f.js → entry.generated-BwAge51I.js} +2 -2
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/{entry.generated-BC8JUf6f.js.map → entry.generated-BwAge51I.js.map} +1 -1
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/{entry.generated-DYBALnuF.js → entry.generated-CEGLKsEl.js} +2 -2
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/{entry.generated-DYBALnuF.js.map → entry.generated-CEGLKsEl.js.map} +1 -1
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/{entry.generated-BO0EDjBb.js → entry.generated-CYHiRVjx.js} +2 -2
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/{entry.generated-BO0EDjBb.js.map → entry.generated-CYHiRVjx.js.map} +1 -1
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/{entry.generated-B7ROYMLZ.js → entry.generated-Ck7bhyzz.js} +2 -2
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/{entry.generated-B7ROYMLZ.js.map → entry.generated-Ck7bhyzz.js.map} +1 -1
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/{entry.generated-C8pt5QeK.js → entry.generated-CtoSPDoI.js} +2 -2
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/{entry.generated-C8pt5QeK.js.map → entry.generated-CtoSPDoI.js.map} +1 -1
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/{entry.generated-DfuZKFMG.js → entry.generated-D0Av2Aiw.js} +2 -2
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/{entry.generated-DfuZKFMG.js.map → entry.generated-D0Av2Aiw.js.map} +1 -1
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/{entry.generated-BoOsILKj.js → entry.generated-DSyiRko7.js} +2 -2
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/{entry.generated-BoOsILKj.js.map → entry.generated-DSyiRko7.js.map} +1 -1
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/{entry.generated-DjMJNzy1.js → entry.generated-Dd04OzRH.js} +2 -2
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/{entry.generated-DjMJNzy1.js.map → entry.generated-Dd04OzRH.js.map} +1 -1
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/{entry.generated-DIPrCNjK.js → entry.generated-Gl6wz0Oh.js} +2 -2
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/{entry.generated-DIPrCNjK.js.map → entry.generated-Gl6wz0Oh.js.map} +1 -1
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-vM-5KVaL.js +2 -0
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-vM-5KVaL.js.map +1 -0
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/{entry.generated-D5gXHQl_.js → entry.generated-xjDWyE7q.js} +2 -2
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/{entry.generated-D5gXHQl_.js.map → entry.generated-xjDWyE7q.js.map} +1 -1
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/{entry2.generated-Dgrr543E.js → entry2.generated-e3bTOzUi.js} +2 -2
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/{entry2.generated-Dgrr543E.js.map → entry2.generated-e3bTOzUi.js.map} +1 -1
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/accordion.js +1 -1
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/checkbox.js +1 -1
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/data-grid.js +1 -1
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/date-picker.js +1 -1
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/dropdown.js +1 -1
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/field.js +1 -1
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/index.js +1 -1
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/input.js +1 -1
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/modal.js +1 -1
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/radio.js +1 -1
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/select.js +1 -1
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/sidebar.js +1 -1
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/slider.js +1 -1
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/switch.js +1 -1
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/tabs.js +1 -1
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/tooltip.js +1 -1
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/index.js +1 -1
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/logical-entry-manifest.json +67 -67
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/trellis.js +1 -1
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/trellis.min.js +1 -1
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/common-BOd_thC-.js +0 -2
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/common-BOd_thC-.js.map +0 -1
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-51hjJ_lu.js +0 -2
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-51hjJ_lu.js.map +0 -1
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-BLloDlP5.js +0 -2
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-BLloDlP5.js.map +0 -1
package/package.json
CHANGED
|
@@ -22,9 +22,12 @@
|
|
|
22
22
|
}
|
|
23
23
|
@layer components {
|
|
24
24
|
/* Field control treatment. */
|
|
25
|
-
[data-ui-control][data-ui-control-recipe="field"] {
|
|
25
|
+
[data-ui-control][data-ui-control-recipe="field"] {
|
|
26
26
|
color: inherit;
|
|
27
27
|
background-color: transparent;
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
[data-ui-control][data-ui-control-recipe="field"][data-variant="outline"] {
|
|
28
31
|
box-shadow: 0 0 0 var(--border-width-edge-control) var(--ui-surface-edge);
|
|
29
32
|
}
|
|
30
33
|
|
|
@@ -33,15 +36,15 @@
|
|
|
33
36
|
box-shadow: none;
|
|
34
37
|
}
|
|
35
38
|
|
|
36
|
-
[data-ui-control][data-ui-control-recipe="field"][data-variant="filled"]:is(:hover, :active
|
|
39
|
+
[data-ui-control][data-ui-control-recipe="field"][data-variant="filled"]:is(:hover, :active, :focus-within, [data-state="open"]):not([data-disabled]):not(:disabled):not([data-invalid]):not([aria-invalid="true"]) {
|
|
37
40
|
background-color: var(--color-interaction-pressed);
|
|
38
41
|
}
|
|
39
42
|
|
|
40
|
-
[data-ui-control][data-ui-control-recipe="field"]:is(:hover, :active):not(:focus-within):not([data-state="open"]):not([data-disabled]):not(:disabled):not([data-invalid]):not([aria-invalid="true"]) {
|
|
43
|
+
[data-ui-control][data-ui-control-recipe="field"][data-variant="outline"]:is(:hover, :active):not(:focus-within):not([data-state="open"]):not([data-disabled]):not(:disabled):not([data-invalid]):not([aria-invalid="true"]) {
|
|
41
44
|
box-shadow: 0 0 0 var(--border-width-edge-control) var(--ui-surface-edge-hover);
|
|
42
45
|
}
|
|
43
46
|
|
|
44
|
-
[data-ui-control][data-ui-control-recipe="field"]:is(:focus-within, [data-state="open"]):not([data-disabled]):not(:disabled):not([data-invalid]):not([aria-invalid="true"]) {
|
|
47
|
+
[data-ui-control][data-ui-control-recipe="field"][data-variant="outline"]:is(:focus-within, [data-state="open"]):not([data-disabled]):not(:disabled):not([data-invalid]):not([aria-invalid="true"]) {
|
|
45
48
|
box-shadow:
|
|
46
49
|
0 0 0 var(--border-width-edge-control) var(--color-intent-accent-edge-strong),
|
|
47
50
|
0 0 0 var(--color-intent-accent-focus-width) var(--color-intent-accent-focus);
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
declare const CONTROL_SIZES: readonly ["xs", "sm", "md", "lg", "xlg"];
|
|
2
|
-
declare const CONTROL_VARIANTS: readonly ["outline", "filled"];
|
|
2
|
+
declare const CONTROL_VARIANTS: readonly ["outline", "filled", "plain"];
|
|
3
3
|
declare const ICON_VARIANTS: readonly ["outline", "solid", "mini", "micro"];
|
|
4
4
|
declare const BUTTON_TYPES: readonly ["button", "submit", "reset"];
|
|
5
5
|
declare const ALIGNMENTS: readonly ["start", "center", "end"];
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { type SchemaToProps } from '../../runtime';
|
|
2
2
|
import { type ComponentRadius, type ControlSize, type ControlVariant, type IconVariant } from '../common';
|
|
3
3
|
declare const INPUT_SIZES: readonly ["xs", "sm", "md", "lg", "xlg"];
|
|
4
|
-
declare const INPUT_VARIANTS: readonly ["outline", "filled"];
|
|
4
|
+
declare const INPUT_VARIANTS: readonly ["outline", "filled", "plain"];
|
|
5
5
|
declare const INPUT_RADII: readonly ["none", "xs", "sm", "md", "lg", "full"];
|
|
6
6
|
declare const INPUT_ICON_VARIANTS: readonly ["outline", "solid", "mini", "micro"];
|
|
7
7
|
type InputSize = ControlSize;
|
|
@@ -14,7 +14,7 @@ declare const inputSchema: {
|
|
|
14
14
|
value: import("../../runtime/codecs").StringCodec;
|
|
15
15
|
placeholder: import("../../runtime/codecs").StringCodec;
|
|
16
16
|
size: import("../../runtime/codecs").OneOfCodec<"xs" | "sm" | "md" | "lg" | "xlg">;
|
|
17
|
-
variant: import("../../runtime/codecs").OneOfCodec<"outline" | "filled">;
|
|
17
|
+
variant: import("../../runtime/codecs").OneOfCodec<"outline" | "filled" | "plain">;
|
|
18
18
|
radius: import("../../runtime/codecs").OneOfCodec<"none" | "xs" | "sm" | "md" | "lg" | "full">;
|
|
19
19
|
disabled: import("../../runtime/codecs").BoolCodec;
|
|
20
20
|
readonly: import("../../runtime/codecs").BoolCodec;
|
|
@@ -34,7 +34,7 @@ declare const inputSchema: {
|
|
|
34
34
|
};
|
|
35
35
|
declare const inputGroupSchema: {
|
|
36
36
|
size: import("../../runtime/codecs").OneOfCodec<"xs" | "sm" | "md" | "lg" | "xlg">;
|
|
37
|
-
variant: import("../../runtime/codecs").OneOfCodec<"outline" | "filled">;
|
|
37
|
+
variant: import("../../runtime/codecs").OneOfCodec<"outline" | "filled" | "plain">;
|
|
38
38
|
radius: import("../../runtime/codecs").OneOfCodec<"none" | "xs" | "sm" | "md" | "lg" | "full">;
|
|
39
39
|
label: import("../../runtime/codecs").StringCodec;
|
|
40
40
|
description: import("../../runtime/codecs").StringCodec;
|
|
@@ -2,7 +2,7 @@ import { type SchemaToProps } from '../../runtime';
|
|
|
2
2
|
import { type Alignment, type ComponentRadius, type ControlSize, type ControlVariant, type ElevationReference, type IconVariant, type Position, type SurfaceReference } from '../common';
|
|
3
3
|
import { BADGE_COLORS, BADGE_VARIANTS, type BadgeColor, type BadgeVariant } from '../badge/contract';
|
|
4
4
|
declare const SELECT_MODES: readonly ["listbox", "combobox", "pillbox", "native"];
|
|
5
|
-
declare const SELECT_VARIANTS: readonly ["outline", "filled"];
|
|
5
|
+
declare const SELECT_VARIANTS: readonly ["outline", "filled", "plain"];
|
|
6
6
|
declare const SELECT_SIZES: readonly ["xs", "sm", "md", "lg", "xlg"];
|
|
7
7
|
declare const SELECT_RADII: readonly ["none", "xs", "sm", "md", "lg", "full"];
|
|
8
8
|
declare const SELECT_SIDES: readonly ["bottom", "top", "left", "right"];
|
|
@@ -58,7 +58,7 @@ declare const selectSchema: {
|
|
|
58
58
|
loop: import("../../runtime/codecs").BoolCodec;
|
|
59
59
|
path: import("../../runtime/codecs").StringCodec;
|
|
60
60
|
size: import("../../runtime/codecs").OneOfCodec<"xs" | "sm" | "md" | "lg" | "xlg">;
|
|
61
|
-
variant: import("../../runtime/codecs").OneOfCodec<"outline" | "filled">;
|
|
61
|
+
variant: import("../../runtime/codecs").OneOfCodec<"outline" | "filled" | "plain">;
|
|
62
62
|
radius: import("../../runtime/codecs").OneOfCodec<"none" | "xs" | "sm" | "md" | "lg" | "full">;
|
|
63
63
|
surface: import("../../runtime/codecs").OneOfCodec<"inherit" | "0" | "1" | "2" | "3" | "4" | "5" | "6" | "7" | "8" | "+1" | "+2" | "+3" | "+4" | "+5" | "+6" | "+7" | "+8">;
|
|
64
64
|
elevation: import("../../runtime/codecs").OneOfCodec<"match" | "1" | "2" | "3" | "4" | "5" | "6" | "7" | "8" | "none">;
|
|
@@ -95,7 +95,7 @@ declare const selectHooks: readonly [{
|
|
|
95
95
|
loop: import("../../runtime/codecs").BoolCodec;
|
|
96
96
|
path: import("../../runtime/codecs").StringCodec;
|
|
97
97
|
size: import("../../runtime/codecs").OneOfCodec<"xs" | "sm" | "md" | "lg" | "xlg">;
|
|
98
|
-
variant: import("../../runtime/codecs").OneOfCodec<"outline" | "filled">;
|
|
98
|
+
variant: import("../../runtime/codecs").OneOfCodec<"outline" | "filled" | "plain">;
|
|
99
99
|
radius: import("../../runtime/codecs").OneOfCodec<"none" | "xs" | "sm" | "md" | "lg" | "full">;
|
|
100
100
|
surface: import("../../runtime/codecs").OneOfCodec<"inherit" | "0" | "1" | "2" | "3" | "4" | "5" | "6" | "7" | "8" | "+1" | "+2" | "+3" | "+4" | "+5" | "+6" | "+7" | "+8">;
|
|
101
101
|
elevation: import("../../runtime/codecs").OneOfCodec<"match" | "1" | "2" | "3" | "4" | "5" | "6" | "7" | "8" | "none">;
|
|
@@ -172,7 +172,7 @@ declare const selectHooks: readonly [{
|
|
|
172
172
|
loop: import("../../runtime/codecs").BoolCodec;
|
|
173
173
|
path: import("../../runtime/codecs").StringCodec;
|
|
174
174
|
size: import("../../runtime/codecs").OneOfCodec<"xs" | "sm" | "md" | "lg" | "xlg">;
|
|
175
|
-
variant: import("../../runtime/codecs").OneOfCodec<"outline" | "filled">;
|
|
175
|
+
variant: import("../../runtime/codecs").OneOfCodec<"outline" | "filled" | "plain">;
|
|
176
176
|
radius: import("../../runtime/codecs").OneOfCodec<"none" | "xs" | "sm" | "md" | "lg" | "full">;
|
|
177
177
|
surface: import("../../runtime/codecs").OneOfCodec<"inherit" | "0" | "1" | "2" | "3" | "4" | "5" | "6" | "7" | "8" | "+1" | "+2" | "+3" | "+4" | "+5" | "+6" | "+7" | "+8">;
|
|
178
178
|
elevation: import("../../runtime/codecs").OneOfCodec<"match" | "1" | "2" | "3" | "4" | "5" | "6" | "7" | "8" | "none">;
|
|
@@ -6,7 +6,7 @@ declare const textareaSchema: {
|
|
|
6
6
|
value: import("../../runtime/codecs").StringCodec;
|
|
7
7
|
placeholder: import("../../runtime/codecs").StringCodec;
|
|
8
8
|
size: import("../../runtime/codecs").OneOfCodec<"xs" | "sm" | "md" | "lg" | "xlg">;
|
|
9
|
-
variant: import("../../runtime/codecs").OneOfCodec<"outline" | "filled">;
|
|
9
|
+
variant: import("../../runtime/codecs").OneOfCodec<"outline" | "filled" | "plain">;
|
|
10
10
|
radius: import("../../runtime/codecs").OneOfCodec<"none" | "xs" | "sm" | "md" | "lg" | "full">;
|
|
11
11
|
rows: import("../../runtime/codecs").NumberCodec;
|
|
12
12
|
resize: import("../../runtime/codecs").OneOfCodec<"none" | "vertical" | "horizontal" | "both">;
|
|
@@ -10566,19 +10566,21 @@
|
|
|
10566
10566
|
[data-ui-control][data-ui-control-recipe="field"] {
|
|
10567
10567
|
color: inherit;
|
|
10568
10568
|
background-color: transparent;
|
|
10569
|
+
}
|
|
10570
|
+
[data-ui-control][data-ui-control-recipe="field"][data-variant="outline"] {
|
|
10569
10571
|
box-shadow: 0 0 0 var(--border-width-edge-control) var(--ui-surface-edge);
|
|
10570
10572
|
}
|
|
10571
10573
|
[data-ui-control][data-ui-control-recipe="field"][data-variant="filled"] {
|
|
10572
10574
|
background-color: var(--color-interaction-hover);
|
|
10573
10575
|
box-shadow: none;
|
|
10574
10576
|
}
|
|
10575
|
-
[data-ui-control][data-ui-control-recipe="field"][data-variant="filled"]:is(:hover, :active
|
|
10577
|
+
[data-ui-control][data-ui-control-recipe="field"][data-variant="filled"]:is(:hover, :active, :focus-within, [data-state="open"]):not([data-disabled]):not(:disabled):not([data-invalid]):not([aria-invalid="true"]) {
|
|
10576
10578
|
background-color: var(--color-interaction-pressed);
|
|
10577
10579
|
}
|
|
10578
|
-
[data-ui-control][data-ui-control-recipe="field"]:is(:hover, :active):not(:focus-within):not([data-state="open"]):not([data-disabled]):not(:disabled):not([data-invalid]):not([aria-invalid="true"]) {
|
|
10580
|
+
[data-ui-control][data-ui-control-recipe="field"][data-variant="outline"]:is(:hover, :active):not(:focus-within):not([data-state="open"]):not([data-disabled]):not(:disabled):not([data-invalid]):not([aria-invalid="true"]) {
|
|
10579
10581
|
box-shadow: 0 0 0 var(--border-width-edge-control) var(--ui-surface-edge-hover);
|
|
10580
10582
|
}
|
|
10581
|
-
[data-ui-control][data-ui-control-recipe="field"]:is(:focus-within, [data-state="open"]):not([data-disabled]):not(:disabled):not([data-invalid]):not([aria-invalid="true"]) {
|
|
10583
|
+
[data-ui-control][data-ui-control-recipe="field"][data-variant="outline"]:is(:focus-within, [data-state="open"]):not([data-disabled]):not(:disabled):not([data-invalid]):not([aria-invalid="true"]) {
|
|
10582
10584
|
box-shadow: 0 0 0 var(--border-width-edge-control) var(--color-intent-accent-edge-strong), 0 0 0 var(--color-intent-accent-focus-width) var(--color-intent-accent-focus);
|
|
10583
10585
|
}
|
|
10584
10586
|
[data-ui-control][data-ui-control-recipe="field"]:is([data-invalid], [aria-invalid="true"]) {
|