@bridge-ui/vue 0.0.11 → 0.1.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/dist/Components/Autocomplete/composables/useAutocomplete.d.ts +1 -1
- package/dist/Components/Autocomplete/composables/useAutocomplete.js +112 -113
- 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 -0
- package/dist/Components/Calendar/calendar.types.d.ts +13 -0
- package/dist/Components/Calendar/composables/useCalendar.d.ts +2 -1
- package/dist/Components/Calendar/composables/useCalendar.js +5 -2
- package/dist/Components/CalendarDate/CalendarDate.vue_vue_type_script_setup_true_lang.js +1 -0
- package/dist/Components/CalendarDate/calendarDate.types.d.ts +6 -0
- package/dist/Components/CalendarDate/composables/useCalendarDate.d.ts +1 -1
- package/dist/Components/CalendarDate/composables/useCalendarDate.js +95 -87
- package/dist/Components/CalendarMonth/CalendarMonth.vue_vue_type_script_setup_true_lang.js +1 -0
- package/dist/Components/CalendarMonth/calendarMonth.types.d.ts +6 -0
- package/dist/Components/CalendarMonth/composables/useCalendarMonth.d.ts +1 -1
- package/dist/Components/CalendarMonth/composables/useCalendarMonth.js +51 -43
- package/dist/Components/CalendarRange/CalendarRange.vue_vue_type_script_setup_true_lang.js +4 -2
- package/dist/Components/CalendarRange/calendarRange.types.d.ts +13 -0
- package/dist/Components/CalendarRange/composables/useCalendarRange.d.ts +3 -2
- package/dist/Components/CalendarRange/composables/useCalendarRange.js +14 -12
- package/dist/Components/CalendarYear/CalendarYear.vue_vue_type_script_setup_true_lang.js +1 -0
- package/dist/Components/CalendarYear/calendarYear.types.d.ts +6 -0
- package/dist/Components/CalendarYear/composables/useCalendarYear.d.ts +1 -1
- package/dist/Components/CalendarYear/composables/useCalendarYear.js +53 -45
- package/dist/Components/Checkbox/composables/useCheckbox.js +23 -19
- 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 +6 -0
- package/dist/Components/DatePicker/composables/useDatePicker.d.ts +1 -1
- package/dist/Components/DatePicker/composables/useDatePicker.js +4 -27
- package/dist/Components/DatePicker/datePicker.types.d.ts +13 -0
- 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 +6 -0
- package/dist/Components/DateRangePicker/composables/useDateRangePicker.d.ts +1 -1
- package/dist/Components/DateRangePicker/composables/useDateRangePicker.js +5 -1
- package/dist/Components/DateRangePicker/dateRangePicker.types.d.ts +13 -0
- 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 +10 -0
- package/dist/Components/DateTimePicker/composables/useDateTimePicker.d.ts +1 -1
- package/dist/Components/DateTimePicker/composables/useDateTimePicker.js +4 -2
- package/dist/Components/DateTimePicker/dateTimePicker.types.d.ts +13 -0
- 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 +14 -0
- package/dist/Components/DateTimeRangePicker/composables/useDateTimeRangePicker.d.ts +1 -1
- package/dist/Components/DateTimeRangePicker/composables/useDateTimeRangePicker.js +7 -4
- package/dist/Components/DateTimeRangePicker/dateTimeRangePicker.types.d.ts +13 -0
- package/dist/Components/Drawer/Drawer.vue_vue_type_script_setup_true_lang.js +4 -3
- package/dist/Components/FieldOverlay/composables/useFieldOverlay.js +3 -2
- 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.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 +1 -1
- package/dist/Components/Listbox/composables/useListbox.d.ts +4 -4
- package/dist/Components/Listbox/composables/useListbox.js +28 -24
- package/dist/Components/Listbox/listbox.types.d.ts +6 -6
- 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 -1
- package/dist/Components/Select/composables/useSelect.js +21 -22
- 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/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 -0
- package/dist/Components/TimePanel/composables/useTimePanel.d.ts +1 -1
- package/dist/Components/TimePanel/composables/useTimePanel.js +71 -60
- package/dist/Components/TimePanel/timePanel.types.d.ts +13 -0
- package/dist/Components/TimePicker/TimePicker.vue_vue_type_script_setup_true_lang.js +6 -0
- package/dist/Components/TimePicker/composables/useTimePicker.d.ts +1 -1
- package/dist/Components/TimePicker/composables/useTimePicker.js +5 -1
- package/dist/Components/TimePicker/timePicker.types.d.ts +13 -0
- 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 +10 -0
- package/dist/Components/TimeRangePicker/composables/useTimeRangePicker.d.ts +1 -1
- package/dist/Components/TimeRangePicker/composables/useTimeRangePicker.js +5 -1
- package/dist/Components/TimeRangePicker/timeRangePicker.types.d.ts +13 -0
- 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/docs/components/BaseField.md +1 -1
- package/docs/components/BridgeUIProvider.md +3 -3
- package/docs/components/Calendar.md +2 -0
- package/docs/components/CalendarDate.md +1 -0
- package/docs/components/CalendarMonth.md +1 -0
- package/docs/components/CalendarRange.md +2 -0
- package/docs/components/CalendarYear.md +17 -16
- package/docs/components/DateField.md +9 -0
- package/docs/components/DatePicker.md +2 -0
- package/docs/components/DateRangeField.md +30 -22
- package/docs/components/DateRangePicker.md +2 -0
- package/docs/components/DateTimeField.md +35 -28
- package/docs/components/DateTimePicker.md +2 -0
- package/docs/components/DateTimeRangeField.md +36 -28
- package/docs/components/DateTimeRangePicker.md +2 -0
- package/docs/components/FieldOverlay.md +4 -3
- package/docs/components/FormControl.md +1 -1
- package/docs/components/TimeField.md +24 -17
- package/docs/components/TimePanel.md +2 -0
- package/docs/components/TimePicker.md +2 -0
- package/docs/components/TimeRangeField.md +25 -17
- package/docs/components/TimeRangePicker.md +2 -0
- package/package.json +2 -2
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import { mergePartBind as e, useBridgeUIComponent as t, useBridgeUIMergedRegistryClasses as n } from "../../../Utils/index.js";
|
|
2
2
|
import { baseFieldBridgeKeys as r, useBaseField as i } from "../../BaseField/composables/useBaseField.js";
|
|
3
|
-
import { computed as a, nextTick as o, onMounted as
|
|
4
|
-
import { get as
|
|
5
|
-
import { applyOtpInput as
|
|
6
|
-
import { otpFieldColorProps as
|
|
7
|
-
import { cn as S, mergeBridgeUILayeredClasses as C, splitComponentProps as
|
|
3
|
+
import { computed as a, nextTick as o, onMounted as ee, ref as s, toValue as c, useAttrs as te } from "vue";
|
|
4
|
+
import { get as l, isUndefined as ne, omit as re, pick as ie } from "es-toolkit/compat";
|
|
5
|
+
import { applyOtpInput as u, applyOtpKeyNavigation as d, applyOtpPaste as f, isOtpComplete as p, joinOtpDigits as m, normalizeOtpValue as h, resolveOtpLength as g, splitOtpValue as _ } from "@bridge-ui/core/Domain";
|
|
6
|
+
import { otpFieldColorProps as v, otpFieldRoundedProps as y, otpFieldSizeProps as b, otpFieldVariantProps as x } from "@bridge-ui/core/Tokens";
|
|
7
|
+
import { cn as S, getColorToken as ae, mergeBridgeUILayeredClasses as C, splitComponentProps as oe } from "@bridge-ui/core/Utils";
|
|
8
8
|
//#region src/Components/OtpField/composables/useOtpField.ts
|
|
9
|
-
var
|
|
9
|
+
var w = [
|
|
10
10
|
"mask",
|
|
11
11
|
"type",
|
|
12
12
|
"color",
|
|
@@ -18,15 +18,12 @@ var T = [
|
|
|
18
18
|
"defaultValue",
|
|
19
19
|
...r
|
|
20
20
|
];
|
|
21
|
-
function
|
|
21
|
+
function se(e) {
|
|
22
22
|
if (!e) return;
|
|
23
|
-
let { pin: t,
|
|
24
|
-
return
|
|
25
|
-
...i,
|
|
26
|
-
...n?.errorMessage ? { invalidated: { errorMessage: n.errorMessage } } : {}
|
|
27
|
-
};
|
|
23
|
+
let { pin: t, input: n, ...r } = e;
|
|
24
|
+
return r;
|
|
28
25
|
}
|
|
29
|
-
function
|
|
26
|
+
function T(T, E, D = {}, O = {
|
|
30
27
|
length: 6,
|
|
31
28
|
size: "md",
|
|
32
29
|
rounded: "md",
|
|
@@ -34,134 +31,138 @@ function E(E, D, O = {}, se = {
|
|
|
34
31
|
color: "primary",
|
|
35
32
|
variant: "outline"
|
|
36
33
|
}) {
|
|
37
|
-
let
|
|
38
|
-
bridgeKeys:
|
|
34
|
+
let k = te(), A = s([]), j = a(() => oe({
|
|
35
|
+
bridgeKeys: w,
|
|
39
36
|
props: {
|
|
40
|
-
...
|
|
41
|
-
...
|
|
37
|
+
...k,
|
|
38
|
+
...c(T)
|
|
42
39
|
}
|
|
43
|
-
})), { merged:
|
|
44
|
-
libDefaults:
|
|
40
|
+
})), { merged: M, entry: N } = t({
|
|
41
|
+
libDefaults: O,
|
|
45
42
|
componentName: "OtpField",
|
|
46
|
-
props: () =>
|
|
47
|
-
}),
|
|
48
|
-
entry:
|
|
49
|
-
props: () =>
|
|
50
|
-
}),
|
|
51
|
-
...
|
|
52
|
-
customProps:
|
|
53
|
-
id:
|
|
54
|
-
class:
|
|
55
|
-
...
|
|
56
|
-
})),
|
|
43
|
+
props: () => j.value.componentProps
|
|
44
|
+
}), P = n({
|
|
45
|
+
entry: N,
|
|
46
|
+
props: () => j.value.componentProps
|
|
47
|
+
}), F = a(() => M.value.customProps), I = a(() => se(M.value.customProps)), L = a(() => ({
|
|
48
|
+
...ie(j.value.componentProps, r),
|
|
49
|
+
customProps: I.value,
|
|
50
|
+
id: j.value.inheritedAttrs.id,
|
|
51
|
+
class: j.value.inheritedAttrs.class,
|
|
52
|
+
...re(j.value.inheritedAttrs, ["class", "id"])
|
|
53
|
+
})), R = i(() => L.value, {
|
|
57
54
|
size: "md",
|
|
58
55
|
hideErrorMessage: !1
|
|
59
56
|
}, {
|
|
60
57
|
componentName: "OtpField",
|
|
61
58
|
labelHtmlFor: (e) => `${e}-0`
|
|
62
|
-
}), { controlId:
|
|
63
|
-
|
|
64
|
-
if (!
|
|
65
|
-
let e =
|
|
66
|
-
|
|
59
|
+
}), { controlId: z, isDisabled: B, isReadonly: V, invalidated: H, ariaDescribedBy: U } = R, W = a(() => g(M.value.length)), G = a(() => M.value.type ?? "numeric"), K = a(() => M.value.variant ?? "outline"), q = a(() => K.value === "underlined"), J = a(() => !ne(E.value)), Y = s(h(c(T).defaultValue, W.value, G.value)), ce = a(() => J.value ? h(E.value, W.value, G.value) : Y.value), X = a(() => _(ce.value, W.value));
|
|
60
|
+
ee(() => {
|
|
61
|
+
if (!M.value.autoFocus || B.value || V.value) return;
|
|
62
|
+
let e = X.value.findIndex((e) => e === ""), t = e === -1 ? 0 : e;
|
|
63
|
+
A.value[t]?.focus();
|
|
67
64
|
});
|
|
68
|
-
let
|
|
69
|
-
let n =
|
|
70
|
-
|
|
71
|
-
|
|
65
|
+
let Z = (e, t) => {
|
|
66
|
+
let n = m(e);
|
|
67
|
+
J.value || (Y.value = n), E.value = n, D.onChange?.(n), p(n, W.value) && D.onComplete?.(n), t != null && o(() => {
|
|
68
|
+
A.value[t]?.focus(), A.value[t]?.select();
|
|
69
|
+
});
|
|
70
|
+
}, Q = a(() => {
|
|
71
|
+
let e = C(b, N.value?.tokens?.size);
|
|
72
|
+
return l(e, M.value.size ?? "md");
|
|
73
|
+
}), $ = a(() => {
|
|
74
|
+
let e = C(v, N.value?.tokens?.color);
|
|
75
|
+
return ae({
|
|
76
|
+
tokens: e,
|
|
77
|
+
color: M.value.color,
|
|
78
|
+
invalid: H.value
|
|
72
79
|
});
|
|
73
|
-
},
|
|
74
|
-
let e = C(
|
|
75
|
-
return
|
|
76
|
-
}),
|
|
77
|
-
let e = C(
|
|
78
|
-
return
|
|
79
|
-
}), ue = a(() => C(x, M.value?.tokens?.invalidated, j.value.customProps?.invalidated)), $ = a(() => V.value ? ue.value : void 0), de = a(() => {
|
|
80
|
-
let e = C(re, M.value?.tokens?.rounded);
|
|
81
|
-
return u(e, j.value.rounded ?? "md");
|
|
82
|
-
}), fe = a(() => {
|
|
83
|
-
let e = C(ae, M.value?.tokens?.variant);
|
|
84
|
-
return u(e, G.value);
|
|
80
|
+
}), le = a(() => {
|
|
81
|
+
let e = C(y, N.value?.tokens?.rounded);
|
|
82
|
+
return l(e, M.value.rounded ?? "md");
|
|
83
|
+
}), ue = a(() => {
|
|
84
|
+
let e = C(x, N.value?.tokens?.variant);
|
|
85
|
+
return l(e, K.value);
|
|
85
86
|
});
|
|
86
87
|
return {
|
|
87
|
-
merged:
|
|
88
|
-
digits:
|
|
89
|
-
length:
|
|
90
|
-
pinBind: (t) => e(
|
|
88
|
+
merged: M,
|
|
89
|
+
digits: X,
|
|
90
|
+
length: W,
|
|
91
|
+
pinBind: (t) => e(F.value?.pin, {}, S({
|
|
91
92
|
"relative flex shrink-0 items-center justify-center overflow-hidden": !0,
|
|
92
|
-
[
|
|
93
|
-
[
|
|
94
|
-
[
|
|
95
|
-
[
|
|
96
|
-
[
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
[
|
|
93
|
+
[Q.value?.pin ?? ""]: !0,
|
|
94
|
+
[ue.value?.pin ?? ""]: !0,
|
|
95
|
+
[le.value?.pin ?? ""]: !q.value,
|
|
96
|
+
[$.value?.pin ?? ""]: !q.value,
|
|
97
|
+
[$.value?.underlined ?? ""]: q.value,
|
|
98
|
+
"bg-error-50 ring-error-500 dark:bg-error-700/10 dark:ring-error-600": H.value && !q.value,
|
|
99
|
+
"border-error-500 dark:border-error-600": H.value && q.value,
|
|
100
|
+
[P.value.pin ?? ""]: !0
|
|
100
101
|
})),
|
|
101
102
|
pinsBind: a(() => e({}, {}, S({
|
|
102
103
|
"flex flex-wrap items-center": !0,
|
|
103
|
-
[
|
|
104
|
+
[R.sizeClasses.value?.group ?? ""]: !0
|
|
104
105
|
}))),
|
|
105
|
-
baseField:
|
|
106
|
+
baseField: R,
|
|
106
107
|
inputBind: (t) => {
|
|
107
|
-
let n =
|
|
108
|
+
let n = G.value === "numeric" ? "numeric" : "text";
|
|
108
109
|
return e({
|
|
109
|
-
...
|
|
110
|
+
...F.value?.input,
|
|
110
111
|
inputmode: n,
|
|
111
|
-
maxlength:
|
|
112
|
-
disabled:
|
|
113
|
-
readOnly:
|
|
114
|
-
value:
|
|
115
|
-
id: `${
|
|
116
|
-
placeholder:
|
|
117
|
-
"aria-describedby":
|
|
118
|
-
type:
|
|
119
|
-
"aria-invalid":
|
|
112
|
+
maxlength: W.value,
|
|
113
|
+
disabled: B.value,
|
|
114
|
+
readOnly: V.value,
|
|
115
|
+
value: X.value[t] ?? "",
|
|
116
|
+
id: `${z.value}-${t}`,
|
|
117
|
+
placeholder: M.value.placeholder,
|
|
118
|
+
"aria-describedby": U.value,
|
|
119
|
+
type: M.value.mask ? "password" : "text",
|
|
120
|
+
"aria-invalid": H.value || void 0,
|
|
120
121
|
autocomplete: t === 0 ? "one-time-code" : "off",
|
|
121
|
-
"aria-label": `Digit ${t + 1} of ${
|
|
122
|
+
"aria-label": `Digit ${t + 1} of ${W.value}`
|
|
122
123
|
}, {}, S({
|
|
123
124
|
"h-full w-full min-w-0 bg-transparent border-0 shadow-none text-center": !0,
|
|
124
125
|
"text-dark-900 dark:text-dark-100 placeholder:text-dark-400": !0,
|
|
125
126
|
"outline-none ring-0 focus:outline-none focus:ring-0": !0,
|
|
126
127
|
"disabled:cursor-not-allowed": !0,
|
|
127
|
-
[
|
|
128
|
-
[
|
|
128
|
+
[Q.value?.input ?? ""]: !0,
|
|
129
|
+
[P.value.input ?? ""]: !0
|
|
129
130
|
}));
|
|
130
131
|
},
|
|
131
132
|
setPinRef: (e, t) => {
|
|
132
|
-
|
|
133
|
+
A.value[e] = t;
|
|
133
134
|
},
|
|
134
|
-
inputType:
|
|
135
|
+
inputType: G,
|
|
135
136
|
handlePinInput: (e, t) => {
|
|
136
|
-
let n = t.target.value, r =
|
|
137
|
+
let n = t.target.value, r = u({
|
|
137
138
|
index: e,
|
|
138
139
|
input: n,
|
|
139
|
-
digits:
|
|
140
|
-
type:
|
|
140
|
+
digits: X.value,
|
|
141
|
+
type: G.value
|
|
141
142
|
});
|
|
142
|
-
|
|
143
|
+
Z(r.digits, r.focusIndex);
|
|
143
144
|
},
|
|
144
145
|
handlePinFocus: (e) => {
|
|
145
|
-
|
|
146
|
+
A.value[e]?.select();
|
|
146
147
|
},
|
|
147
148
|
handlePinPaste: (e, t) => {
|
|
148
|
-
let n = t.clipboardData?.getData("text") ?? "", r =
|
|
149
|
+
let n = t.clipboardData?.getData("text") ?? "", r = f({
|
|
149
150
|
index: e,
|
|
150
151
|
pasted: n,
|
|
151
|
-
digits:
|
|
152
|
-
type:
|
|
152
|
+
digits: X.value,
|
|
153
|
+
type: G.value
|
|
153
154
|
});
|
|
154
|
-
r.focusIndex == null && r.digits.every((e, t) => e ===
|
|
155
|
+
r.focusIndex == null && r.digits.every((e, t) => e === X.value[t]) || (t.preventDefault(), Z(r.digits, r.focusIndex));
|
|
155
156
|
},
|
|
156
157
|
handlePinKeyDown: (e, t) => {
|
|
157
|
-
let n =
|
|
158
|
+
let n = d({
|
|
158
159
|
index: e,
|
|
159
160
|
key: t.key,
|
|
160
|
-
digits:
|
|
161
|
+
digits: X.value
|
|
161
162
|
});
|
|
162
|
-
n && (t.preventDefault(),
|
|
163
|
+
n && (t.preventDefault(), Z(n.digits, n.focusIndex));
|
|
163
164
|
}
|
|
164
165
|
};
|
|
165
166
|
}
|
|
166
167
|
//#endregion
|
|
167
|
-
export {
|
|
168
|
+
export { w as otpFieldBridgeKeys, T as useOtpField };
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { HTMLAttributes, InputHTMLAttributes } from 'vue';
|
|
2
2
|
import { OtpInputType } from '@bridge-ui/core/Domain';
|
|
3
|
-
import {
|
|
3
|
+
import { OtpFieldColor, OtpFieldRounded, OtpFieldVariant } from '@bridge-ui/core/Tokens';
|
|
4
4
|
import { MergeHtmlProps, MergeProps } from '@bridge-ui/core/Utils';
|
|
5
5
|
import { BaseFieldClasses, BaseFieldCustomProps, BaseFieldOwnProps, BaseFieldSlots } from '../BaseField/baseField.types';
|
|
6
6
|
export interface OtpFieldColorOverrides {}
|
|
@@ -17,18 +17,11 @@ export interface OtpFieldClasses extends BaseFieldClasses {
|
|
|
17
17
|
*/
|
|
18
18
|
pin?: string;
|
|
19
19
|
}
|
|
20
|
-
export interface OtpFieldCustomProps extends
|
|
20
|
+
export interface OtpFieldCustomProps extends BaseFieldCustomProps {
|
|
21
21
|
/**
|
|
22
22
|
* Props forwarded to each pin `<input>`.
|
|
23
23
|
*/
|
|
24
24
|
input?: Partial<InputHTMLAttributes>;
|
|
25
|
-
/**
|
|
26
|
-
* Pin error chrome (`pin` / `pinUnderlined`). Error message color comes from
|
|
27
|
-
* {@link BaseField} (`Tokens/BaseField`); pass `errorMessage` here to override.
|
|
28
|
-
*
|
|
29
|
-
* @default undefined
|
|
30
|
-
*/
|
|
31
|
-
invalidated?: Partial<OtpFieldInvalidated & BaseFieldInvalidated>;
|
|
32
25
|
/**
|
|
33
26
|
* Props forwarded to each pin cell wrapper.
|
|
34
27
|
*/
|
|
@@ -2,8 +2,8 @@ import { mergePartBind as e, useBridgeUIComponent as t, useBridgeUIMergedRegistr
|
|
|
2
2
|
import { useFormControl as r } from "../../FormControl/composables/useFormControl.js";
|
|
3
3
|
import { computed as i, toValue as a, useAttrs as o } from "vue";
|
|
4
4
|
import { get as s, omit as c } from "es-toolkit/compat";
|
|
5
|
-
import { radioColorProps as l,
|
|
6
|
-
import { cn as p, mergeBridgeUILayeredClasses as m, splitComponentProps as h } from "@bridge-ui/core/Utils";
|
|
5
|
+
import { radioColorProps as l, radioRoundedProps as u, radioSizeProps as d } from "@bridge-ui/core/Tokens";
|
|
6
|
+
import { cn as f, getColorToken as p, mergeBridgeUILayeredClasses as m, splitComponentProps as h } from "@bridge-ui/core/Utils";
|
|
7
7
|
//#region src/Components/Radio/composables/useRadio.ts
|
|
8
8
|
var g = [
|
|
9
9
|
"name",
|
|
@@ -38,50 +38,54 @@ function _(_, v, y) {
|
|
|
38
38
|
props: () => S.value.componentProps
|
|
39
39
|
}), D = i(() => a(y) === C.value.value), O = i(() => {
|
|
40
40
|
let e = m(l, w.value?.tokens?.color);
|
|
41
|
-
return
|
|
42
|
-
|
|
43
|
-
|
|
41
|
+
return p({
|
|
42
|
+
tokens: e,
|
|
43
|
+
color: C.value.color,
|
|
44
|
+
invalid: x.invalidated.value
|
|
45
|
+
});
|
|
46
|
+
}), k = i(() => {
|
|
47
|
+
let e = m(d, w.value?.tokens?.size);
|
|
44
48
|
return s(e, C.value.size ?? "sm");
|
|
45
|
-
}),
|
|
46
|
-
let e = m(
|
|
49
|
+
}), A = i(() => {
|
|
50
|
+
let e = m(u, w.value?.tokens?.rounded);
|
|
47
51
|
return s(e, C.value.rounded ?? "full");
|
|
48
|
-
}),
|
|
52
|
+
}), j = i(() => e({
|
|
49
53
|
...T.value?.input,
|
|
50
54
|
...x.controlBind.value,
|
|
51
55
|
type: "radio",
|
|
52
56
|
name: C.value.name,
|
|
53
57
|
value: C.value.value
|
|
54
|
-
}, c(S.value.inheritedAttrs, ["class"]),
|
|
58
|
+
}, c(S.value.inheritedAttrs, ["class"]), f({
|
|
55
59
|
"sr-only": !0,
|
|
56
60
|
[E.value.input ?? ""]: !0
|
|
57
|
-
}))),
|
|
61
|
+
}))), M = i(() => e(T.value?.control, { "aria-hidden": !0 }, f({
|
|
58
62
|
"inline-flex shrink-0 items-center justify-center border shadow-sm transition ease-in-out duration-100": !0,
|
|
59
63
|
"pointer-events-none": !0,
|
|
60
|
-
[
|
|
61
|
-
[
|
|
62
|
-
[
|
|
63
|
-
[
|
|
64
|
+
[k.value ?? ""]: !0,
|
|
65
|
+
[A.value ?? ""]: !0,
|
|
66
|
+
[O.value?.base ?? ""]: !D.value,
|
|
67
|
+
[O.value?.checked ?? ""]: D.value,
|
|
64
68
|
[E.value.control ?? ""]: !0
|
|
65
69
|
})));
|
|
66
70
|
return {
|
|
67
71
|
merged: C,
|
|
68
|
-
dotBind: i(() => e(T.value?.dot, {},
|
|
72
|
+
dotBind: i(() => e(T.value?.dot, {}, f({
|
|
69
73
|
"rounded-full bg-white transition-transform duration-100": !0,
|
|
70
74
|
"scale-0": !D.value,
|
|
71
75
|
"scale-100": D.value,
|
|
72
76
|
"h-[42%] w-[42%]": !0,
|
|
73
77
|
[E.value.dot ?? ""]: !0
|
|
74
78
|
}))),
|
|
75
|
-
fieldBind: i(() => e({}, {},
|
|
79
|
+
fieldBind: i(() => e({}, {}, f({
|
|
76
80
|
"relative inline-flex shrink-0 cursor-pointer items-center": !0,
|
|
77
81
|
"has-[:focus-visible]:ring-2 has-[:focus-visible]:ring-offset-2": !0,
|
|
78
|
-
[
|
|
79
|
-
[
|
|
82
|
+
[A.value ?? ""]: !0,
|
|
83
|
+
[O.value?.focus ?? ""]: !0
|
|
80
84
|
}))),
|
|
81
|
-
inputBind:
|
|
85
|
+
inputBind: j,
|
|
82
86
|
isChecked: D,
|
|
83
87
|
formControl: x,
|
|
84
|
-
controlBind:
|
|
88
|
+
controlBind: M
|
|
85
89
|
};
|
|
86
90
|
}
|
|
87
91
|
//#endregion
|
|
@@ -735,9 +735,9 @@ export declare function useSelect(props: SelectOwnProps, model: Ref<null | undef
|
|
|
735
735
|
disableMaxHeight: boolean;
|
|
736
736
|
emptyMessage: string;
|
|
737
737
|
entries: ListboxEntry[];
|
|
738
|
+
error: boolean;
|
|
738
739
|
hideEmptyMessage: boolean;
|
|
739
740
|
highlightedIndex: number;
|
|
740
|
-
invalidated: boolean;
|
|
741
741
|
isSelected: (value: import('@bridge-ui/core/Domain').ListboxValue) => boolean;
|
|
742
742
|
labelledBy: string;
|
|
743
743
|
listboxId: string;
|
|
@@ -5,10 +5,10 @@ import { mergePartBind as r, resolveFieldAdornmentIconSize as ee, useBridgeUICom
|
|
|
5
5
|
import { formFieldBridgeKeys as re, useFormField as ie } from "../../FormField/composables/useFormField.js";
|
|
6
6
|
import { useListboxNavigation as ae } from "../../Listbox/composables/useListboxNavigation.js";
|
|
7
7
|
import { Comment as oe, Text as se, computed as a, nextTick as o, onBeforeUnmount as ce, onMounted as le, ref as s, useAttrs as ue, useId as de, useSlots as fe, watch as c } from "vue";
|
|
8
|
-
import { get as
|
|
9
|
-
import { createSelectAsyncSearch as
|
|
10
|
-
import { listboxColorProps as Se
|
|
11
|
-
import { adjustAutosizeTextareaHeight as
|
|
8
|
+
import { get as pe, isNil as me, omit as he } from "es-toolkit/compat";
|
|
9
|
+
import { createSelectAsyncSearch as ge, filterListboxEntries as _e, flattenListboxOptions as l, normalizeListboxEntries as u, normalizeSelectOptions as ve, resolveFieldOverlay as ye, resolveSelectAsyncDebounce as be, resolveSelectAsyncOptions as xe, selectValuesEqual as d } from "@bridge-ui/core/Domain";
|
|
10
|
+
import { listboxColorProps as Se } from "@bridge-ui/core/Tokens";
|
|
11
|
+
import { adjustAutosizeTextareaHeight as Ce, cn as f, getColorToken as we, mergeBridgeUILayeredClasses as Te, splitComponentProps as Ee } from "@bridge-ui/core/Utils";
|
|
12
12
|
//#region src/Components/Select/composables/useSelect.ts
|
|
13
13
|
var De = [
|
|
14
14
|
"classes",
|
|
@@ -53,7 +53,7 @@ function p(p, m, h, g, Oe) {
|
|
|
53
53
|
})), P = a(() => Oe.value.length > 0 ? Oe.value.map((e) => ({
|
|
54
54
|
option: e,
|
|
55
55
|
type: "option"
|
|
56
|
-
})) :
|
|
56
|
+
})) : u(A.value.options, N.value)), Pe = a(() => l(P.value)), F = s([]);
|
|
57
57
|
function Fe(e) {
|
|
58
58
|
if (!e || typeof e != "object") return !1;
|
|
59
59
|
let t = e.type;
|
|
@@ -71,16 +71,16 @@ function p(p, m, h, g, Oe) {
|
|
|
71
71
|
let I = a(() => Ie() && !A.value.options?.length), L = a(() => {
|
|
72
72
|
if (I.value) return [];
|
|
73
73
|
if (T.value.length > 0) {
|
|
74
|
-
let e =
|
|
74
|
+
let e = u(T.value, N.value);
|
|
75
75
|
return A.value.flipOptions ? [...e].reverse() : e;
|
|
76
76
|
}
|
|
77
77
|
return A.value.flipOptions ? [...P.value].reverse().map((e) => e.type === "section" ? {
|
|
78
78
|
...e,
|
|
79
79
|
options: [...e.options].reverse()
|
|
80
80
|
} : e) : P.value;
|
|
81
|
-
}), Le = a(() => I.value ? F.value :
|
|
81
|
+
}), Le = a(() => I.value ? F.value : l(L.value)), R = a(() => {
|
|
82
82
|
let e = m.value;
|
|
83
|
-
return M.value ? Array.isArray(e) ? e : [] : !
|
|
83
|
+
return M.value ? Array.isArray(e) ? e : [] : !me(e) && e !== "" ? [e] : [];
|
|
84
84
|
}), Re = a(() => ye(A.value.overlay, Ae.mobile)), z = ne({
|
|
85
85
|
componentName: "Select",
|
|
86
86
|
overlay: Re,
|
|
@@ -100,8 +100,8 @@ function p(p, m, h, g, Oe) {
|
|
|
100
100
|
if (I.value) return [];
|
|
101
101
|
if (!W.value || !x.value.trim()) return L.value;
|
|
102
102
|
let e = x.value.trim().toLowerCase();
|
|
103
|
-
return
|
|
104
|
-
}), G = a(() => I.value ? F.value :
|
|
103
|
+
return _e(L.value, (t) => t.label.toLowerCase().includes(e));
|
|
104
|
+
}), G = a(() => I.value ? F.value : l(He.value)), K = ae(() => G.value, C, v), Ue = a(() => p.readonly || p.disabled ? !0 : !W.value), We = a(() => W.value || M.value ? x.value : B.value[0]?.label ?? ""), Ge = (e) => {
|
|
105
105
|
D.value = e instanceof HTMLElement ? e : null;
|
|
106
106
|
};
|
|
107
107
|
function Ke(e) {
|
|
@@ -119,7 +119,7 @@ function p(p, m, h, g, Oe) {
|
|
|
119
119
|
}
|
|
120
120
|
}
|
|
121
121
|
let Je = a(() => {
|
|
122
|
-
let e =
|
|
122
|
+
let e = he(k.value.inheritedAttrs, ["class"]), n = Ee({
|
|
123
123
|
bridgeKeys: re,
|
|
124
124
|
props: e
|
|
125
125
|
}).componentProps, ee = n.endIcon ?? (t(_, "end") ? void 0 : "chevronUpDown"), { listbox: te, ...i } = n.customProps ?? {};
|
|
@@ -147,7 +147,7 @@ function p(p, m, h, g, Oe) {
|
|
|
147
147
|
likeInput: () => M.value,
|
|
148
148
|
control: () => M.value ? "textarea" : "input"
|
|
149
149
|
}), Xe = a(() => V.value && Be.value && !p.readonly && !q.isDisabled.value), J = (e) => {
|
|
150
|
-
!e || !M.value ||
|
|
150
|
+
!e || !M.value || Ce(e);
|
|
151
151
|
};
|
|
152
152
|
function Ze(e) {
|
|
153
153
|
return ze.value.some((t) => d(t, e));
|
|
@@ -267,18 +267,17 @@ function p(p, m, h, g, Oe) {
|
|
|
267
267
|
!e?.resolve || R.value.length === 0 || (E.value = ve(await e.resolve(R.value), N.value));
|
|
268
268
|
}
|
|
269
269
|
let $ = a(() => {
|
|
270
|
-
let e = Te(Se,
|
|
270
|
+
let e = Te(Se, pe(Me.value, [
|
|
271
271
|
"Select",
|
|
272
272
|
"tokens",
|
|
273
273
|
"listbox",
|
|
274
274
|
"color"
|
|
275
|
-
]))
|
|
276
|
-
return
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
])) : t;
|
|
275
|
+
]));
|
|
276
|
+
return we({
|
|
277
|
+
tokens: e,
|
|
278
|
+
color: q.merged.value.color,
|
|
279
|
+
invalid: q.invalidated.value
|
|
280
|
+
});
|
|
282
281
|
}), ct = a(() => $.value?.value), lt = a(() => {
|
|
283
282
|
let e = !p.disabled && !p.readonly && !W.value, t = !p.disabled && !p.readonly && W.value && U.value, n = V.value && !M.value && !W.value;
|
|
284
283
|
return r({
|
|
@@ -317,7 +316,7 @@ function p(p, m, h, g, Oe) {
|
|
|
317
316
|
O = null;
|
|
318
317
|
return;
|
|
319
318
|
}
|
|
320
|
-
O =
|
|
319
|
+
O = ge((e) => void ot(e), be(e));
|
|
321
320
|
}, { immediate: !0 }), ce(() => {
|
|
322
321
|
O?.cancel();
|
|
323
322
|
}), le(() => {
|
|
@@ -346,10 +345,10 @@ function p(p, m, h, g, Oe) {
|
|
|
346
345
|
options: G.value,
|
|
347
346
|
componentName: "Select",
|
|
348
347
|
size: q.merged.value.size,
|
|
348
|
+
error: q.invalidated.value,
|
|
349
349
|
color: q.merged.value.color,
|
|
350
350
|
labelledBy: q.controlId.value,
|
|
351
351
|
rounded: q.merged.value.rounded,
|
|
352
|
-
invalidated: q.invalidated.value,
|
|
353
352
|
highlightedIndex: C.value,
|
|
354
353
|
disableMaxHeight: p.disableMaxHeight === !0,
|
|
355
354
|
hideEmptyMessage: A.value.hideEmptyMessage === !0,
|