@bridge-ui/vue 0.0.11 → 0.1.1
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/ai/skills/bridge-ui-components/SKILL.md +5 -3
- package/ai/skills/bridge-ui-forms/SKILL.md +4 -2
- package/dist/Components/Autocomplete/composables/useAutocomplete.d.ts +1 -2
- package/dist/Components/Autocomplete/composables/useAutocomplete.js +112 -114
- package/dist/Components/BaseField/baseField.types.d.ts +1 -8
- package/dist/Components/BaseField/composables/useBaseField.js +79 -83
- package/dist/Components/Calendar/Calendar.vue_vue_type_script_setup_true_lang.js +2 -1
- package/dist/Components/Calendar/calendar.types.d.ts +14 -21
- package/dist/Components/Calendar/composables/useCalendar.d.ts +2 -2
- package/dist/Components/Calendar/composables/useCalendar.js +101 -98
- package/dist/Components/Calendar/index.d.ts +1 -1
- package/dist/Components/CalendarDate/CalendarDate.vue_vue_type_script_setup_true_lang.js +1 -1
- package/dist/Components/CalendarDate/calendarDate.types.d.ts +7 -21
- package/dist/Components/CalendarDate/composables/useCalendarDate.d.ts +1 -1
- package/dist/Components/CalendarDate/composables/useCalendarDate.js +81 -73
- package/dist/Components/CalendarDate/index.d.ts +1 -1
- package/dist/Components/CalendarMonth/CalendarMonth.vue_vue_type_script_setup_true_lang.js +1 -1
- package/dist/Components/CalendarMonth/calendarMonth.types.d.ts +7 -17
- package/dist/Components/CalendarMonth/composables/useCalendarMonth.d.ts +1 -1
- package/dist/Components/CalendarMonth/composables/useCalendarMonth.js +58 -50
- package/dist/Components/CalendarMonth/index.d.ts +1 -1
- package/dist/Components/CalendarRange/CalendarRange.vue_vue_type_script_setup_true_lang.js +4 -3
- package/dist/Components/CalendarRange/calendarRange.types.d.ts +14 -21
- package/dist/Components/CalendarRange/composables/useCalendarRange.d.ts +3 -3
- package/dist/Components/CalendarRange/composables/useCalendarRange.js +121 -120
- package/dist/Components/CalendarRange/index.d.ts +1 -1
- package/dist/Components/CalendarYear/CalendarYear.vue_vue_type_script_setup_true_lang.js +1 -1
- package/dist/Components/CalendarYear/calendarYear.types.d.ts +7 -17
- package/dist/Components/CalendarYear/composables/useCalendarYear.d.ts +1 -1
- package/dist/Components/CalendarYear/composables/useCalendarYear.js +60 -52
- package/dist/Components/CalendarYear/index.d.ts +1 -1
- package/dist/Components/Checkbox/composables/useCheckbox.js +23 -19
- package/dist/Components/ColorField/ColorField.js +5 -0
- package/dist/Components/ColorField/ColorField.vue.d.ts +38 -0
- package/dist/Components/ColorField/ColorField.vue_vue_type_script_setup_true_lang.js +149 -0
- package/dist/Components/ColorField/colorField.types.d.ts +179 -0
- package/dist/Components/ColorField/composables/useColorField.d.ts +748 -0
- package/dist/Components/ColorField/composables/useColorField.js +182 -0
- package/dist/Components/ColorField/index.d.ts +3 -0
- package/dist/Components/ColorField/index.js +3 -0
- package/dist/Components/ColorPicker/ColorPicker.js +5 -0
- package/dist/Components/ColorPicker/ColorPicker.vue.d.ts +21 -0
- package/dist/Components/ColorPicker/ColorPicker.vue_vue_type_script_setup_true_lang.js +91 -0
- package/dist/Components/ColorPicker/colorPicker.types.d.ts +200 -0
- package/dist/Components/ColorPicker/composables/useColorPicker.d.ts +111 -0
- package/dist/Components/ColorPicker/composables/useColorPicker.js +253 -0
- package/dist/Components/ColorPicker/index.d.ts +3 -0
- package/dist/Components/ColorPicker/index.js +3 -0
- package/dist/Components/DateField/DateField.vue.d.ts +1 -0
- package/dist/Components/DateField/DateField.vue_vue_type_script_setup_true_lang.js +13 -31
- package/dist/Components/DateField/composables/useDateField.d.ts +3 -4
- package/dist/Components/DateField/composables/useDateField.js +95 -107
- package/dist/Components/DateField/dateField.types.d.ts +16 -0
- package/dist/Components/DatePicker/DatePicker.vue_vue_type_script_setup_true_lang.js +10 -7
- package/dist/Components/DatePicker/composables/useDatePicker.d.ts +1 -6
- package/dist/Components/DatePicker/composables/useDatePicker.js +8 -10
- package/dist/Components/DatePicker/datePicker.types.d.ts +14 -29
- package/dist/Components/DatePicker/index.d.ts +1 -1
- package/dist/Components/DateRangeField/DateRangeField.vue.d.ts +1 -0
- package/dist/Components/DateRangeField/DateRangeField.vue_vue_type_script_setup_true_lang.js +39 -30
- package/dist/Components/DateRangeField/composables/useDateRangeField.d.ts +4 -3
- package/dist/Components/DateRangeField/composables/useDateRangeField.js +55 -48
- package/dist/Components/DateRangeField/dateRangeField.types.d.ts +16 -0
- package/dist/Components/DateRangePicker/DateRangePicker.vue_vue_type_script_setup_true_lang.js +10 -7
- package/dist/Components/DateRangePicker/composables/useDateRangePicker.d.ts +1 -6
- package/dist/Components/DateRangePicker/composables/useDateRangePicker.js +8 -10
- package/dist/Components/DateRangePicker/dateRangePicker.types.d.ts +14 -29
- package/dist/Components/DateRangePicker/index.d.ts +1 -1
- package/dist/Components/DateTimeField/DateTimeField.vue.d.ts +1 -0
- package/dist/Components/DateTimeField/DateTimeField.vue_vue_type_script_setup_true_lang.js +13 -6
- package/dist/Components/DateTimeField/composables/useDateTimeField.d.ts +4 -3
- package/dist/Components/DateTimeField/composables/useDateTimeField.js +64 -84
- package/dist/Components/DateTimeField/dateTimeField.types.d.ts +16 -0
- package/dist/Components/DateTimePicker/DateTimePicker.vue_vue_type_script_setup_true_lang.js +26 -21
- package/dist/Components/DateTimePicker/composables/useDateTimePicker.d.ts +1 -10
- package/dist/Components/DateTimePicker/composables/useDateTimePicker.js +33 -40
- package/dist/Components/DateTimePicker/dateTimePicker.types.d.ts +14 -36
- package/dist/Components/DateTimePicker/index.d.ts +1 -1
- package/dist/Components/DateTimeRangeField/DateTimeRangeField.vue.d.ts +1 -0
- package/dist/Components/DateTimeRangeField/DateTimeRangeField.vue_vue_type_script_setup_true_lang.js +44 -37
- package/dist/Components/DateTimeRangeField/composables/useDateTimeRangeField.d.ts +4 -3
- package/dist/Components/DateTimeRangeField/composables/useDateTimeRangeField.js +46 -66
- package/dist/Components/DateTimeRangeField/dateTimeRangeField.types.d.ts +16 -0
- package/dist/Components/DateTimeRangePicker/DateTimeRangePicker.vue_vue_type_script_setup_true_lang.js +34 -27
- package/dist/Components/DateTimeRangePicker/composables/useDateTimeRangePicker.d.ts +1 -10
- package/dist/Components/DateTimeRangePicker/composables/useDateTimeRangePicker.js +39 -45
- package/dist/Components/DateTimeRangePicker/dateTimeRangePicker.types.d.ts +14 -36
- package/dist/Components/DateTimeRangePicker/index.d.ts +1 -1
- package/dist/Components/Drawer/Drawer.vue_vue_type_script_setup_true_lang.js +4 -3
- package/dist/Components/FieldOverlay/composables/useFieldOverlay.js +20 -12
- package/dist/Components/FieldOverlay/fieldOverlay.types.d.ts +3 -0
- package/dist/Components/FormControl/composables/useFormControl.js +61 -65
- package/dist/Components/FormControl/formControl.types.d.ts +1 -7
- package/dist/Components/FormField/composables/useFormField.d.ts +1 -1
- package/dist/Components/FormField/composables/useFormField.js +115 -116
- package/dist/Components/FormField/formField.types.d.ts +1 -7
- package/dist/Components/Label/composables/useLabel.js +28 -28
- package/dist/Components/Listbox/Listbox.vue_vue_type_script_setup_true_lang.js +2 -3
- package/dist/Components/Listbox/composables/useListbox.d.ts +5 -14
- package/dist/Components/Listbox/composables/useListbox.js +57 -54
- package/dist/Components/Listbox/index.d.ts +0 -1
- package/dist/Components/Listbox/listbox.types.d.ts +6 -12
- package/dist/Components/Menu/Menu.vue_vue_type_script_setup_true_lang.js +3 -5
- package/dist/Components/Modal/Modal.vue_vue_type_script_setup_true_lang.js +4 -3
- package/dist/Components/OtpField/composables/useOtpField.js +95 -94
- package/dist/Components/OtpField/otpField.types.d.ts +2 -9
- package/dist/Components/Radio/composables/useRadio.js +24 -20
- package/dist/Components/Select/composables/useSelect.d.ts +1 -2
- package/dist/Components/Select/composables/useSelect.js +21 -23
- package/dist/Components/Slider/composables/useSlider.js +167 -163
- package/dist/Components/Slider/slider.types.d.ts +2 -9
- package/dist/Components/Snackbar/Snackbar.vue_vue_type_script_setup_true_lang.js +3 -2
- package/dist/Components/Step/Step.js +5 -0
- package/dist/Components/Step/Step.vue.d.ts +11 -0
- package/dist/Components/Step/Step.vue_vue_type_script_setup_true_lang.js +32 -0
- package/dist/Components/Step/composables/useStep.d.ts +56 -0
- package/dist/Components/Step/composables/useStep.js +162 -0
- package/dist/Components/Step/index.d.ts +3 -0
- package/dist/Components/Step/index.js +3 -0
- package/dist/Components/Step/step.types.d.ts +160 -0
- package/dist/Components/Stepper/Stepper.js +5 -0
- package/dist/Components/Stepper/Stepper.vue.d.ts +24 -0
- package/dist/Components/Stepper/Stepper.vue_vue_type_script_setup_true_lang.js +33 -0
- package/dist/Components/Stepper/composables/useStepper.d.ts +18 -0
- package/dist/Components/Stepper/composables/useStepper.js +91 -0
- package/dist/Components/Stepper/index.d.ts +4 -0
- package/dist/Components/Stepper/index.js +4 -0
- package/dist/Components/Stepper/stepper.types.d.ts +93 -0
- package/dist/Components/Stepper/stepperInjectionKey.d.ts +77 -0
- package/dist/Components/Stepper/stepperInjectionKey.js +4 -0
- package/dist/Components/Switch/composables/useSwitch.js +28 -24
- package/dist/Components/TimeField/TimeField.vue.d.ts +1 -0
- package/dist/Components/TimeField/TimeField.vue_vue_type_script_setup_true_lang.js +34 -25
- package/dist/Components/TimeField/composables/useTimeField.d.ts +4 -3
- package/dist/Components/TimeField/composables/useTimeField.js +67 -60
- package/dist/Components/TimeField/timeField.types.d.ts +16 -0
- package/dist/Components/TimePanel/TimePanel.vue_vue_type_script_setup_true_lang.js +2 -1
- package/dist/Components/TimePanel/composables/useTimePanel.d.ts +1 -1
- package/dist/Components/TimePanel/composables/useTimePanel.js +65 -54
- package/dist/Components/TimePanel/index.d.ts +1 -1
- package/dist/Components/TimePanel/timePanel.types.d.ts +14 -17
- package/dist/Components/TimePicker/TimePicker.vue_vue_type_script_setup_true_lang.js +16 -13
- package/dist/Components/TimePicker/composables/useTimePicker.d.ts +1 -5
- package/dist/Components/TimePicker/composables/useTimePicker.js +17 -18
- package/dist/Components/TimePicker/index.d.ts +1 -1
- package/dist/Components/TimePicker/timePicker.types.d.ts +14 -24
- package/dist/Components/TimeRangeField/TimeRangeField.vue.d.ts +1 -0
- package/dist/Components/TimeRangeField/TimeRangeField.vue_vue_type_script_setup_true_lang.js +34 -25
- package/dist/Components/TimeRangeField/composables/useTimeRangeField.d.ts +4 -3
- package/dist/Components/TimeRangeField/composables/useTimeRangeField.js +88 -81
- package/dist/Components/TimeRangeField/timeRangeField.types.d.ts +16 -0
- package/dist/Components/TimeRangePicker/TimeRangePicker.vue_vue_type_script_setup_true_lang.js +23 -18
- package/dist/Components/TimeRangePicker/composables/useTimeRangePicker.d.ts +1 -5
- package/dist/Components/TimeRangePicker/composables/useTimeRangePicker.js +32 -33
- package/dist/Components/TimeRangePicker/index.d.ts +1 -1
- package/dist/Components/TimeRangePicker/timeRangePicker.types.d.ts +14 -24
- package/dist/Components/Tooltip/Tooltip.vue_vue_type_script_setup_true_lang.js +4 -6
- package/dist/Utils/index.d.ts +9 -0
- package/dist/Utils/index.js +23 -12
- package/dist/index.d.ts +20 -12
- package/dist/index.js +88 -80
- package/docs/README.md +3 -0
- package/docs/components/Autocomplete.md +1 -1
- package/docs/components/BaseField.md +1 -1
- package/docs/components/BridgeUIProvider.md +12 -14
- package/docs/components/Calendar.md +4 -1
- package/docs/components/CalendarDate.md +3 -1
- package/docs/components/CalendarMonth.md +3 -1
- package/docs/components/CalendarRange.md +4 -1
- package/docs/components/CalendarYear.md +18 -16
- package/docs/components/ColorField.md +93 -0
- package/docs/components/ColorPicker.md +78 -0
- package/docs/components/DateField.md +9 -0
- package/docs/components/DatePicker.md +4 -1
- package/docs/components/DateRangeField.md +30 -22
- package/docs/components/DateRangePicker.md +4 -1
- package/docs/components/DateTimeField.md +35 -28
- package/docs/components/DateTimePicker.md +4 -1
- package/docs/components/DateTimeRangeField.md +36 -28
- package/docs/components/DateTimeRangePicker.md +4 -1
- package/docs/components/FieldOverlay.md +5 -4
- package/docs/components/FormControl.md +1 -1
- package/docs/components/Select.md +1 -1
- package/docs/components/Stepper.md +60 -0
- package/docs/components/TimeField.md +24 -17
- package/docs/components/TimePanel.md +4 -1
- package/docs/components/TimePicker.md +4 -1
- package/docs/components/TimeRangeField.md +25 -17
- package/docs/components/TimeRangePicker.md +4 -1
- package/docs/examples/icon-fontawesome.ts +2 -0
- package/docs/examples/icon-heroicons.ts +2 -0
- package/docs/examples/icon-lucide.ts +2 -0
- package/docs/examples/icon-phosphor.ts +2 -0
- package/docs/examples/icon-tabler.ts +2 -0
- package/package.json +2 -2
|
@@ -11,30 +11,38 @@ function a(e, t) {
|
|
|
11
11
|
class: r(t, n?.class)
|
|
12
12
|
} } });
|
|
13
13
|
}
|
|
14
|
-
function o(
|
|
15
|
-
let
|
|
14
|
+
function o(i) {
|
|
15
|
+
let o = e(), s = t(() => n(i.overlay, o.mobile));
|
|
16
16
|
return {
|
|
17
|
-
menuBind: t(() =>
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
17
|
+
menuBind: t(() => {
|
|
18
|
+
let e = i.customProps?.menu;
|
|
19
|
+
return {
|
|
20
|
+
closeOnClickAway: !0,
|
|
21
|
+
placement: "bottom-start",
|
|
22
|
+
...e,
|
|
23
|
+
classes: {
|
|
24
|
+
...e?.classes,
|
|
25
|
+
content: r(e?.classes?.content, "overflow-visible rounded-none bg-transparent shadow-none ring-0 dark:bg-transparent")
|
|
26
|
+
}
|
|
27
|
+
};
|
|
28
|
+
}),
|
|
22
29
|
modalBind: t(() => a({
|
|
23
30
|
size: "md",
|
|
24
31
|
scroll: "paper",
|
|
25
32
|
closeOnOverlay: !0,
|
|
26
33
|
align: "middle-center",
|
|
27
34
|
disableRestoreFocus: !0,
|
|
28
|
-
...
|
|
29
|
-
}, "flex w-fit max-w-full flex-col items-stretch p-0")),
|
|
35
|
+
...i.customProps?.modal
|
|
36
|
+
}, "flex w-fit max-w-full sm:max-w-full flex-col items-stretch p-0")),
|
|
30
37
|
drawerBind: t(() => a({
|
|
31
38
|
size: "md",
|
|
39
|
+
scroll: "paper",
|
|
32
40
|
placement: "bottom",
|
|
33
41
|
closeOnOverlay: !0,
|
|
34
42
|
disableRestoreFocus: !0,
|
|
35
|
-
...
|
|
36
|
-
}, "flex h-auto max-h-[90dvh] flex-col items-stretch p-0")),
|
|
37
|
-
resolvedOverlay:
|
|
43
|
+
...i.customProps?.drawer
|
|
44
|
+
}, "flex h-auto max-h-[90dvh] w-full flex-col items-stretch overflow-x-auto p-0")),
|
|
45
|
+
resolvedOverlay: s
|
|
38
46
|
};
|
|
39
47
|
}
|
|
40
48
|
//#endregion
|
|
@@ -38,6 +38,9 @@ export interface FieldOverlayEmits {
|
|
|
38
38
|
* Renders field picker / listbox content in a `Menu`, `Modal`, or `Drawer`.
|
|
39
39
|
* Visibility is controlled with `v-model`. Shell-specific options go through
|
|
40
40
|
* `customProps.menu` / `.modal` / `.drawer`.
|
|
41
|
+
*
|
|
42
|
+
* Menu chrome (fill, radius, shadow, ring) is stripped so the nested picker
|
|
43
|
+
* or listbox paints the visible surface, matching modal / drawer panels.
|
|
41
44
|
*/
|
|
42
45
|
export interface FieldOverlayOwnProps {
|
|
43
46
|
/**
|
|
@@ -2,10 +2,10 @@ import { hasSlotOrProp as e } from "../../../Utils/slotOrProp.js";
|
|
|
2
2
|
import { mergeNestedComponentProps as t, mergePartBind as n, useBridgeUIComponent as r, useBridgeUIMergedRegistryClasses as i } from "../../../Utils/index.js";
|
|
3
3
|
import { computed as a, toValue as o, useAttrs as s, useId as c, useSlots as l } from "vue";
|
|
4
4
|
import { get as u, omit as d } from "es-toolkit/compat";
|
|
5
|
-
import {
|
|
6
|
-
import { cn as
|
|
5
|
+
import { labelSizeProps as f } from "@bridge-ui/core/Tokens";
|
|
6
|
+
import { cn as p, splitComponentProps as m } from "@bridge-ui/core/Utils";
|
|
7
7
|
//#region src/Components/FormControl/composables/useFormControl.ts
|
|
8
|
-
var
|
|
8
|
+
var h = [
|
|
9
9
|
"size",
|
|
10
10
|
"error",
|
|
11
11
|
"classes",
|
|
@@ -20,88 +20,84 @@ var _ = [
|
|
|
20
20
|
"errorMessage",
|
|
21
21
|
"hideErrorMessage"
|
|
22
22
|
];
|
|
23
|
-
function
|
|
24
|
-
let
|
|
25
|
-
bridgeKeys:
|
|
23
|
+
function g(g, _, v = {}) {
|
|
24
|
+
let y = c(), b = l(), x = s(), S = a(() => m({
|
|
25
|
+
bridgeKeys: h,
|
|
26
26
|
props: {
|
|
27
|
-
...
|
|
28
|
-
...o(
|
|
27
|
+
...x,
|
|
28
|
+
...o(g)
|
|
29
29
|
}
|
|
30
|
-
})), { merged:
|
|
31
|
-
libDefaults:
|
|
32
|
-
componentName:
|
|
33
|
-
props: () =>
|
|
34
|
-
}),
|
|
35
|
-
entry:
|
|
36
|
-
props: () =>
|
|
37
|
-
}),
|
|
38
|
-
let e =
|
|
39
|
-
return
|
|
40
|
-
}),
|
|
30
|
+
})), { merged: C, entry: w } = r({
|
|
31
|
+
libDefaults: _,
|
|
32
|
+
componentName: v.componentName,
|
|
33
|
+
props: () => S.value.componentProps
|
|
34
|
+
}), T = a(() => C.value.customProps), E = i({
|
|
35
|
+
entry: w,
|
|
36
|
+
props: () => S.value.componentProps
|
|
37
|
+
}), D = a(() => C.value.error === !0), O = a(() => !!C.value.disabled), k = a(() => !!C.value.readonly), A = a(() => {
|
|
38
|
+
let e = S.value.inheritedAttrs.id;
|
|
39
|
+
return C.value.controlId ?? e ?? y;
|
|
40
|
+
}), j = a(() => !C.value.hideErrorMessage), M = a(() => D.value && e(b, "errorMessage", C.value.errorMessage)), N = a(() => {
|
|
41
41
|
let t = [];
|
|
42
|
-
return !
|
|
43
|
-
}),
|
|
44
|
-
"tokens",
|
|
45
|
-
"formControl",
|
|
46
|
-
"invalidated"
|
|
47
|
-
]), T.value.customProps?.invalidated)), R = a(() => n(D.value?.root, d(w.value.inheritedAttrs, ["class"]), m({
|
|
42
|
+
return !D.value && e(b, "description", C.value.description) && t.push(`${A.value}-description`), D.value && j.value && e(b, "errorMessage", C.value.errorMessage) && t.push(`${A.value}-error`), t.length > 0 ? t.join(" ") : void 0;
|
|
43
|
+
}), P = a(() => u(f, C.value.size ?? "md")), F = a(() => n(T.value?.root, d(S.value.inheritedAttrs, ["class"]), p({
|
|
48
44
|
"group/form-control relative w-full": !0,
|
|
49
45
|
"aria-disabled:pointer-events-none aria-disabled:select-none aria-disabled:opacity-60 aria-disabled:cursor-not-allowed": !0,
|
|
50
46
|
"aria-readonly:pointer-events-none aria-readonly:select-none": !0,
|
|
51
|
-
[
|
|
52
|
-
[
|
|
53
|
-
}))),
|
|
47
|
+
[E.value.root ?? ""]: !0,
|
|
48
|
+
[x.class]: !!x.class
|
|
49
|
+
}))), I = a(() => n(T.value?.row, {}, p({
|
|
54
50
|
"flex flex-row items-center gap-x-2": !0,
|
|
55
|
-
[
|
|
56
|
-
}))),
|
|
57
|
-
let e = (e) => t(
|
|
58
|
-
for:
|
|
59
|
-
size:
|
|
60
|
-
error:
|
|
61
|
-
required:
|
|
62
|
-
classes: { root:
|
|
51
|
+
[E.value.row ?? ""]: !0
|
|
52
|
+
}))), L = a(() => {
|
|
53
|
+
let e = (e) => t(T.value?.[e], {
|
|
54
|
+
for: A.value,
|
|
55
|
+
size: C.value.size,
|
|
56
|
+
error: D.value,
|
|
57
|
+
required: C.value.required,
|
|
58
|
+
classes: { root: p({
|
|
63
59
|
"cursor-pointer": !0,
|
|
64
|
-
[
|
|
60
|
+
[E.value[e] ?? ""]: !0
|
|
65
61
|
}) }
|
|
66
62
|
});
|
|
67
63
|
return {
|
|
68
64
|
endLabel: e("endLabel"),
|
|
69
65
|
startLabel: e("startLabel")
|
|
70
66
|
};
|
|
71
|
-
}),
|
|
67
|
+
}), R = a(() => n(T.value?.description, { id: `${A.value}-description` }, p({
|
|
72
68
|
"mt-2 text-dark-500 dark:text-dark-400": !0,
|
|
73
|
-
[
|
|
74
|
-
[
|
|
75
|
-
}))),
|
|
69
|
+
[P.value ?? ""]: !0,
|
|
70
|
+
[E.value.description ?? ""]: !0
|
|
71
|
+
}))), z = a(() => n(T.value?.errorMessage, { id: `${A.value}-error` }, p({
|
|
76
72
|
"mt-2": !0,
|
|
77
|
-
"min-h-[1lh]":
|
|
78
|
-
|
|
79
|
-
[
|
|
80
|
-
[
|
|
73
|
+
"min-h-[1lh]": j.value,
|
|
74
|
+
"text-error-600 dark:text-error-400": !0,
|
|
75
|
+
[P.value ?? ""]: !0,
|
|
76
|
+
[E.value.errorMessage ?? ""]: !0
|
|
81
77
|
})));
|
|
82
78
|
return {
|
|
83
|
-
slots:
|
|
84
|
-
merged:
|
|
85
|
-
rowBind:
|
|
86
|
-
rootBind:
|
|
87
|
-
controlId:
|
|
88
|
-
isDisabled:
|
|
89
|
-
isReadonly:
|
|
79
|
+
slots: b,
|
|
80
|
+
merged: C,
|
|
81
|
+
rowBind: I,
|
|
82
|
+
rootBind: F,
|
|
83
|
+
controlId: A,
|
|
84
|
+
isDisabled: O,
|
|
85
|
+
isReadonly: k,
|
|
90
86
|
controlBind: a(() => ({
|
|
91
|
-
id:
|
|
92
|
-
disabled:
|
|
93
|
-
readonly:
|
|
94
|
-
"aria-describedby":
|
|
95
|
-
required:
|
|
96
|
-
"aria-invalid":
|
|
87
|
+
id: A.value,
|
|
88
|
+
disabled: O.value,
|
|
89
|
+
readonly: k.value,
|
|
90
|
+
"aria-describedby": N.value,
|
|
91
|
+
required: C.value.required || void 0,
|
|
92
|
+
"aria-invalid": D.value || void 0
|
|
97
93
|
})),
|
|
98
|
-
invalidated:
|
|
99
|
-
fieldLabelProps:
|
|
100
|
-
descriptionBind:
|
|
101
|
-
errorMessageBind:
|
|
102
|
-
showErrorMessageContent:
|
|
103
|
-
reservesErrorMessageSpace:
|
|
94
|
+
invalidated: D,
|
|
95
|
+
fieldLabelProps: L,
|
|
96
|
+
descriptionBind: R,
|
|
97
|
+
errorMessageBind: z,
|
|
98
|
+
showErrorMessageContent: M,
|
|
99
|
+
reservesErrorMessageSpace: j
|
|
104
100
|
};
|
|
105
101
|
}
|
|
106
102
|
//#endregion
|
|
107
|
-
export {
|
|
103
|
+
export { h as formControlBridgeKeys, g as useFormControl };
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { HTMLAttributes, Slot } from 'vue';
|
|
2
|
-
import {
|
|
2
|
+
import { LabelSize } from '@bridge-ui/core/Tokens';
|
|
3
3
|
import { MergeHtmlProps, MergeProps } from '@bridge-ui/core/Utils';
|
|
4
4
|
import { UseFormControlReturn } from './composables/useFormControl';
|
|
5
5
|
import { LabelProps } from '../Label/label.types';
|
|
@@ -45,12 +45,6 @@ export interface FormControlCustomProps {
|
|
|
45
45
|
* Props forwarded to the error message element.
|
|
46
46
|
*/
|
|
47
47
|
errorMessage?: HTMLAttributes;
|
|
48
|
-
/**
|
|
49
|
-
* Error-state message colors (`errorMessage`). Label colors come from `Label` when `error` is set.
|
|
50
|
-
*
|
|
51
|
-
* @default undefined
|
|
52
|
-
*/
|
|
53
|
-
invalidated?: Partial<FormControlInvalidated>;
|
|
54
48
|
/**
|
|
55
49
|
* Props forwarded to the root wrapper.
|
|
56
50
|
*/
|
|
@@ -7,7 +7,7 @@ export type FormFieldOptions = {
|
|
|
7
7
|
/**
|
|
8
8
|
* Public registry key that owns FormField chrome defaults/tokens.
|
|
9
9
|
*/
|
|
10
|
-
componentName?: "Select" | "Textarea" | "DateField" | "TextField" | "TimeField" | "NumberField" | "Autocomplete" | "DateTimeField" | "PasswordField" | "DateRangeField" | "TimeRangeField" | "DateTimeRangeField";
|
|
10
|
+
componentName?: "Select" | "Textarea" | "DateField" | "TextField" | "TimeField" | "ColorField" | "NumberField" | "Autocomplete" | "DateTimeField" | "PasswordField" | "DateRangeField" | "TimeRangeField" | "DateTimeRangeField";
|
|
11
11
|
/**
|
|
12
12
|
* Native control rendered by the field composable (`<input>` vs `<textarea>`).
|
|
13
13
|
*
|
|
@@ -2,8 +2,8 @@ import { hasNamedSlot as e, hasSlotOrProp as t } from "../../../Utils/slotOrProp
|
|
|
2
2
|
import { mergeNestedComponentProps as n, mergePartBind as r, useBridgeUIComponent as i, useBridgeUIMergedRegistryClasses as a } from "../../../Utils/index.js";
|
|
3
3
|
import { computed as o, toValue as s, useId as c, useSlots as l } from "vue";
|
|
4
4
|
import { get as u, omit as d } from "es-toolkit/compat";
|
|
5
|
-
import { formFieldColorProps as f,
|
|
6
|
-
import { cn as _, mergeBridgeUILayeredClasses as v, splitComponentProps as y } from "@bridge-ui/core/Utils";
|
|
5
|
+
import { formFieldColorProps as f, formFieldRoundedProps as p, formFieldSizeProps as m, formFieldVariantProps as h } from "@bridge-ui/core/Tokens";
|
|
6
|
+
import { cn as g, getColorToken as _, mergeBridgeUILayeredClasses as v, splitComponentProps as y } from "@bridge-ui/core/Utils";
|
|
7
7
|
//#region src/Components/FormField/composables/useFormField.ts
|
|
8
8
|
var b = [
|
|
9
9
|
"end",
|
|
@@ -29,81 +29,81 @@ var b = [
|
|
|
29
29
|
"hideErrorMessage"
|
|
30
30
|
];
|
|
31
31
|
function x(x, S, C = {}) {
|
|
32
|
-
let
|
|
32
|
+
let w = c(), T = l(), E = o(() => y({
|
|
33
33
|
props: s(x),
|
|
34
34
|
bridgeKeys: b
|
|
35
|
-
})), { merged:
|
|
35
|
+
})), { merged: D, entry: O } = i({
|
|
36
36
|
libDefaults: S,
|
|
37
37
|
componentName: C.componentName,
|
|
38
|
-
props: () =>
|
|
39
|
-
}),
|
|
40
|
-
entry:
|
|
41
|
-
props: () =>
|
|
42
|
-
}),
|
|
43
|
-
let e =
|
|
44
|
-
return
|
|
45
|
-
}), U = o(() =>
|
|
38
|
+
props: () => E.value.componentProps
|
|
39
|
+
}), k = o(() => D.value.customProps), A = o(() => C.control?.() ?? "input"), j = a({
|
|
40
|
+
entry: O,
|
|
41
|
+
props: () => E.value.componentProps
|
|
42
|
+
}), M = o(() => D.value.error === !0), N = o(() => !!D.value.disabled), P = o(() => !!D.value.readonly), F = o(() => D.value.variant ?? "outline"), ee = o(() => D.value.errorIcon ?? "alert"), I = o(() => F.value === "notched"), L = o(() => F.value === "stacked"), R = o(() => F.value === "underlined"), z = o(() => A.value === "textarea"), B = o(() => z.value && !!C.likeInput?.()), V = o(() => !D.value.hideErrorMessage), H = o(() => {
|
|
43
|
+
let e = E.value.inheritedAttrs.id;
|
|
44
|
+
return D.value.controlId ?? e ?? w;
|
|
45
|
+
}), U = o(() => M.value && t(T, "errorMessage", D.value.errorMessage)), W = o(() => (I.value || L.value) && (t(T, "label", D.value.label) || t(T, "corner", D.value.corner))), G = o(() => t(T, "label", D.value.label) ? "justify-between items-end" : "justify-end"), K = o(() => {
|
|
46
46
|
let e = [];
|
|
47
|
-
return !
|
|
47
|
+
return !M.value && t(T, "description", D.value.description) && e.push(`${H.value}-description`), M.value && !D.value.hideErrorMessage && t(T, "errorMessage", D.value.errorMessage) && e.push(`${H.value}-error`), e.length > 0 ? e.join(" ") : void 0;
|
|
48
48
|
}), q = o(() => {
|
|
49
|
-
let e = v(
|
|
50
|
-
return u(e, [
|
|
49
|
+
let e = v(m, O.value?.tokens?.size);
|
|
50
|
+
return u(e, [D.value.size, F.value]);
|
|
51
51
|
}), J = o(() => {
|
|
52
|
-
let e = v(f,
|
|
53
|
-
return
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
52
|
+
let e = v(f, O.value?.tokens?.color);
|
|
53
|
+
return _({
|
|
54
|
+
tokens: e,
|
|
55
|
+
color: D.value.color,
|
|
56
|
+
invalid: M.value
|
|
57
|
+
});
|
|
58
|
+
}), Y = o(() => {
|
|
59
|
+
let e = v(p, O.value?.tokens?.rounded);
|
|
60
|
+
return u(e, D.value.rounded);
|
|
61
|
+
}), X = o(() => {
|
|
62
|
+
let e = v(h, O.value?.tokens?.variant);
|
|
63
|
+
return u(e, F.value);
|
|
64
|
+
}), Z = o(() => R.value ? J.value?.underlined : J.value?.input), Q = o(() => {
|
|
65
|
+
if (L.value) return g({
|
|
65
66
|
[q.value?.insetTop ?? ""]: !0,
|
|
66
67
|
[q.value?.insetStart ?? ""]: !0,
|
|
67
68
|
[q.value?.insetEnd ?? ""]: !0
|
|
68
69
|
});
|
|
69
|
-
}),
|
|
70
|
-
let t = C.reservedSlots?.() ?? [], n = e(
|
|
71
|
-
if (!L.value) return !r && !n ? q.value?.padding :
|
|
70
|
+
}), te = o(() => {
|
|
71
|
+
let t = C.reservedSlots?.() ?? [], n = e(T, "end") || t.includes("end"), r = e(T, "start") || t.includes("start");
|
|
72
|
+
if (!L.value) return !r && !n ? q.value?.padding : g({
|
|
72
73
|
[q.value?.insetStart ?? ""]: !r,
|
|
73
74
|
[q.value?.insetEnd ?? ""]: !n
|
|
74
75
|
});
|
|
75
|
-
}),
|
|
76
|
+
}), ne = o(() => r(k.value?.end, {}, g({
|
|
76
77
|
"shrink-0 self-center flex items-center whitespace-nowrap select-none pointer-events-none": !0,
|
|
77
|
-
"text-dark-500": !
|
|
78
|
-
[
|
|
79
|
-
[J.value?.end ?? ""]: !
|
|
80
|
-
[
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
class: _(e.class),
|
|
78
|
+
"text-dark-500": !0,
|
|
79
|
+
[Y.value?.end ?? ""]: !R.value && !L.value,
|
|
80
|
+
[J.value?.end ?? ""]: !0,
|
|
81
|
+
[j.value.end ?? ""]: !0
|
|
82
|
+
}))), re = o(() => {
|
|
83
|
+
let e = E.value.inheritedAttrs;
|
|
84
|
+
return r(k.value?.root, {
|
|
85
|
+
class: g(e.class),
|
|
86
86
|
...d(e, ["class"])
|
|
87
|
-
},
|
|
87
|
+
}, g({
|
|
88
88
|
"group w-full relative": !0,
|
|
89
89
|
"aria-disabled:pointer-events-none aria-disabled:select-none aria-disabled:opacity-60": !0,
|
|
90
90
|
"aria-readonly:pointer-events-none aria-readonly:select-none": !0,
|
|
91
|
-
[
|
|
91
|
+
[j.value.root ?? ""]: !0
|
|
92
92
|
}));
|
|
93
|
-
}),
|
|
93
|
+
}), ie = o(() => r(k.value?.errorMessage, {}, g({
|
|
94
94
|
"mt-2": !0,
|
|
95
95
|
"min-h-[1lh]": V.value,
|
|
96
|
-
|
|
96
|
+
"text-error-600 dark:text-error-400": !0,
|
|
97
97
|
[q.value?.text ?? ""]: !0,
|
|
98
|
-
[
|
|
99
|
-
}))),
|
|
100
|
-
...
|
|
98
|
+
[j.value.errorMessage ?? ""]: !0
|
|
99
|
+
}))), ae = o(() => r({
|
|
100
|
+
...k.value?.input,
|
|
101
101
|
id: H.value,
|
|
102
|
-
disabled:
|
|
103
|
-
readonly:
|
|
102
|
+
disabled: N.value,
|
|
103
|
+
readonly: P.value,
|
|
104
104
|
"aria-describedby": K.value,
|
|
105
|
-
"aria-invalid":
|
|
106
|
-
}, d(
|
|
105
|
+
"aria-invalid": M.value || void 0
|
|
106
|
+
}, d(E.value.inheritedAttrs, ["class"]), g({
|
|
107
107
|
"flex-1 min-w-0 min-h-0 bg-transparent border-0 shadow-none": !0,
|
|
108
108
|
"h-full": !z.value && !L.value,
|
|
109
109
|
"max-h-none": z.value,
|
|
@@ -113,116 +113,115 @@ function x(x, S, C = {}) {
|
|
|
113
113
|
[q.value?.input ?? ""]: !z.value,
|
|
114
114
|
[q.value?.textarea ?? ""]: z.value,
|
|
115
115
|
[q.value?.textareaLikeInput ?? ""]: B.value,
|
|
116
|
-
[
|
|
117
|
-
}))),
|
|
116
|
+
[j.value.input ?? ""]: !0
|
|
117
|
+
}))), oe = o(() => n(k.value?.label, {
|
|
118
118
|
for: H.value,
|
|
119
|
-
size:
|
|
120
|
-
error:
|
|
121
|
-
required:
|
|
119
|
+
size: D.value.size,
|
|
120
|
+
error: M.value,
|
|
121
|
+
required: D.value.required,
|
|
122
122
|
classes: {
|
|
123
|
-
required:
|
|
124
|
-
root:
|
|
125
|
-
[
|
|
126
|
-
[
|
|
123
|
+
required: j.value.required,
|
|
124
|
+
root: g({
|
|
125
|
+
[X.value?.label ?? ""]: I.value,
|
|
126
|
+
[j.value.label ?? ""]: !0
|
|
127
127
|
})
|
|
128
128
|
}
|
|
129
|
-
})),
|
|
129
|
+
})), $ = o(() => r(k.value?.start, {}, g({
|
|
130
130
|
"shrink-0 self-center flex items-center whitespace-nowrap select-none pointer-events-none": !0,
|
|
131
|
-
"text-dark-400": !
|
|
132
|
-
[
|
|
133
|
-
[J.value?.start ?? ""]: !
|
|
134
|
-
[
|
|
135
|
-
|
|
136
|
-
}))), le = o(() => r(O.value?.corner, {}, _({
|
|
131
|
+
"text-dark-400": !0,
|
|
132
|
+
[Y.value?.start ?? ""]: !R.value && !L.value,
|
|
133
|
+
[J.value?.start ?? ""]: !0,
|
|
134
|
+
[j.value.start ?? ""]: !0
|
|
135
|
+
}))), se = o(() => r(k.value?.corner, {}, g({
|
|
137
136
|
"text-dark-500 dark:text-dark-400": !I.value,
|
|
138
137
|
[q.value?.text ?? ""]: !0,
|
|
139
|
-
[
|
|
140
|
-
[
|
|
141
|
-
}))),
|
|
142
|
-
let e = t(
|
|
143
|
-
return r(
|
|
138
|
+
[X.value?.corner ?? ""]: I.value,
|
|
139
|
+
[j.value.corner ?? ""]: !0
|
|
140
|
+
}))), ce = o(() => {
|
|
141
|
+
let e = t(T, "label", D.value.label);
|
|
142
|
+
return r(k.value?.header, {}, g({
|
|
144
143
|
flex: !0,
|
|
145
144
|
"w-full shrink-0": !0,
|
|
146
145
|
"justify-between": e,
|
|
147
146
|
"justify-end": !e,
|
|
148
147
|
"items-center": I.value,
|
|
149
148
|
"items-end": L.value,
|
|
150
|
-
[
|
|
151
|
-
[
|
|
149
|
+
[X.value?.labelRow ?? ""]: W.value,
|
|
150
|
+
[j.value.header ?? ""]: !0
|
|
152
151
|
}));
|
|
153
|
-
}),
|
|
152
|
+
}), le = o(() => r(k.value?.header, {}, g({
|
|
154
153
|
flex: !0,
|
|
155
154
|
"mb-1": !0,
|
|
156
155
|
[G.value]: !0,
|
|
157
|
-
[
|
|
158
|
-
}))),
|
|
156
|
+
[j.value.header ?? ""]: !0
|
|
157
|
+
}))), ue = o(() => r(k.value?.endIcon, {}, g({ "inline-flex shrink-0 items-center justify-center self-center": L.value }))), de = o(() => r(k.value?.end, {}, g({
|
|
159
158
|
"group/end wrapper-end-slot shrink-0 flex w-auto items-stretch self-stretch [&>*]:min-h-0": !0,
|
|
160
159
|
"self-stretch min-h-0 overflow-hidden py-0.5 pe-0.5": L.value,
|
|
161
160
|
"h-full min-h-0 overflow-hidden py-0.5 pe-0.5": !L.value,
|
|
162
|
-
[
|
|
163
|
-
}))),
|
|
161
|
+
[j.value.end ?? ""]: !0
|
|
162
|
+
}))), fe = o(() => r({}, {}, g({
|
|
164
163
|
"flex min-h-0 min-w-0 flex-1 flex-col": !0,
|
|
165
|
-
[
|
|
166
|
-
}))),
|
|
164
|
+
[Q.value ?? ""]: !0
|
|
165
|
+
}))), pe = o(() => r({}, {}, g({
|
|
167
166
|
"flex w-full min-w-0 flex-1 items-stretch gap-x-2": !0,
|
|
168
167
|
[q.value?.controlRow ?? ""]: !0
|
|
169
168
|
})));
|
|
170
169
|
return {
|
|
171
|
-
slots:
|
|
172
|
-
merged:
|
|
173
|
-
control:
|
|
174
|
-
endBind:
|
|
175
|
-
rootBind:
|
|
170
|
+
slots: T,
|
|
171
|
+
merged: D,
|
|
172
|
+
control: A,
|
|
173
|
+
endBind: ne,
|
|
174
|
+
rootBind: re,
|
|
176
175
|
controlId: H,
|
|
177
|
-
errorBind:
|
|
178
|
-
errorIcon:
|
|
179
|
-
inputBind:
|
|
176
|
+
errorBind: ie,
|
|
177
|
+
errorIcon: ee,
|
|
178
|
+
inputBind: ae,
|
|
180
179
|
isNotched: I,
|
|
181
180
|
isStacked: L,
|
|
182
|
-
startBind:
|
|
183
|
-
cornerBind:
|
|
184
|
-
headerBind:
|
|
185
|
-
isDisabled:
|
|
186
|
-
isReadonly:
|
|
187
|
-
variantKey:
|
|
188
|
-
endIconBind:
|
|
189
|
-
endSlotBind:
|
|
190
|
-
invalidated:
|
|
191
|
-
containerBind: o(() => r(
|
|
181
|
+
startBind: $,
|
|
182
|
+
cornerBind: se,
|
|
183
|
+
headerBind: le,
|
|
184
|
+
isDisabled: N,
|
|
185
|
+
isReadonly: P,
|
|
186
|
+
variantKey: F,
|
|
187
|
+
endIconBind: ue,
|
|
188
|
+
endSlotBind: de,
|
|
189
|
+
invalidated: M,
|
|
190
|
+
containerBind: o(() => r(k.value?.container, { "data-bridge-rounded": D.value.rounded ?? "md" }, g({
|
|
192
191
|
"group/field relative flex flex-row items-stretch overflow-hidden": L.value,
|
|
193
192
|
"group/field relative flex justify-start gap-x-2 items-stretch": !L.value,
|
|
194
193
|
"transition-all ease-in-out duration-150 outline-none": !0,
|
|
195
|
-
"bg-dark-100 dark:bg-dark-800":
|
|
194
|
+
"bg-dark-100 dark:bg-dark-800": N.value && !M.value,
|
|
196
195
|
[q.value?.container ?? ""]: !z.value,
|
|
197
196
|
[q.value?.containerTextareaLikeInput ?? ""]: B.value,
|
|
198
197
|
[q.value?.containerTextarea ?? ""]: z.value && !B.value,
|
|
199
|
-
[
|
|
200
|
-
[
|
|
201
|
-
[re.value ?? ""]: !0,
|
|
198
|
+
[X.value?.container ?? ""]: !0,
|
|
199
|
+
[Y.value?.input ?? ""]: !R.value,
|
|
202
200
|
[te.value ?? ""]: !0,
|
|
201
|
+
[Z.value ?? ""]: !0,
|
|
203
202
|
"rounded-none": R.value,
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
[
|
|
203
|
+
"bg-error-50 ring-error-500 dark:bg-error-700/10 dark:ring-error-600": M.value && !R.value,
|
|
204
|
+
"border-error-500 dark:border-error-600": M.value && R.value,
|
|
205
|
+
[j.value.container ?? ""]: !0
|
|
207
206
|
}))),
|
|
208
|
-
startIconBind: o(() => r(
|
|
209
|
-
startSlotBind: o(() => r(
|
|
207
|
+
startIconBind: o(() => r(k.value?.startIcon, {}, g({ "inline-flex shrink-0 items-center justify-center self-center": L.value }))),
|
|
208
|
+
startSlotBind: o(() => r(k.value?.start, {}, g({
|
|
210
209
|
"group/start wrapper-start-slot shrink-0 flex w-auto items-stretch self-stretch [&>*]:min-h-0": !0,
|
|
211
210
|
"self-stretch min-h-0 overflow-hidden py-0.5 ps-0.5": L.value,
|
|
212
211
|
"h-full min-h-0 overflow-hidden py-0.5 ps-0.5": !L.value,
|
|
213
|
-
[
|
|
212
|
+
[j.value.start ?? ""]: !0
|
|
214
213
|
}))),
|
|
215
|
-
fieldLabelProps:
|
|
214
|
+
fieldLabelProps: oe,
|
|
216
215
|
ariaDescribedBy: K,
|
|
217
|
-
descriptionBind: o(() => r(
|
|
216
|
+
descriptionBind: o(() => r(k.value?.description, {}, g({
|
|
218
217
|
"mt-2 text-dark-500 dark:text-dark-400": !0,
|
|
219
218
|
[q.value?.text ?? ""]: !0,
|
|
220
|
-
[
|
|
219
|
+
[j.value.description ?? ""]: !0
|
|
221
220
|
}))),
|
|
222
|
-
stackedBodyBind:
|
|
221
|
+
stackedBodyBind: fe,
|
|
223
222
|
hasInsetLabelRow: W,
|
|
224
|
-
insetLabelRowBind:
|
|
225
|
-
stackedInputRowBind:
|
|
223
|
+
insetLabelRowBind: ce,
|
|
224
|
+
stackedInputRowBind: pe,
|
|
226
225
|
showErrorMessageContent: U,
|
|
227
226
|
reservesErrorMessageSpace: V
|
|
228
227
|
};
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { HTMLAttributes, InputHTMLAttributes, Slot } from 'vue';
|
|
2
|
-
import { FormFieldColor,
|
|
2
|
+
import { FormFieldColor, FormFieldRounded, FormFieldSize, FormFieldVariant } from '@bridge-ui/core/Tokens';
|
|
3
3
|
import { MergeHtmlProps, MergeProps } from '@bridge-ui/core/Utils';
|
|
4
4
|
import { IconSource } from '../../Adapters/Icon';
|
|
5
5
|
import { UseFormFieldReturn } from './composables/useFormField';
|
|
@@ -88,12 +88,6 @@ export interface FormFieldCustomProps {
|
|
|
88
88
|
* Props forwarded to the `<input>`.
|
|
89
89
|
*/
|
|
90
90
|
input?: Partial<InputHTMLAttributes>;
|
|
91
|
-
/**
|
|
92
|
-
* Error-state field chrome colors (container, adornments, input, …). Label colors come from `Label` when `error` is set.
|
|
93
|
-
*
|
|
94
|
-
* @default undefined
|
|
95
|
-
*/
|
|
96
|
-
invalidated?: Partial<FormFieldInvalidated>;
|
|
97
91
|
/**
|
|
98
92
|
* Props forwarded to the primary `Label` (content stays owned by `FormField`).
|
|
99
93
|
*
|