@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
|
@@ -3,11 +3,11 @@ import { mergePartBind as t, useBridgeUIComponent as n, useBridgeUIMergedRegistr
|
|
|
3
3
|
import { baseFieldBridgeKeys as i, useBaseField as a } from "../../BaseField/composables/useBaseField.js";
|
|
4
4
|
import { computed as o, ref as s, toValue as ee, useAttrs as te, watch as ne } from "vue";
|
|
5
5
|
import { get as c, omit as l, pick as u } from "es-toolkit/compat";
|
|
6
|
-
import { getSliderBarGeometry as re, getSliderPointerClientX as d, isSliderStopCovered as ie, normalizeSliderStops as ae, percentFromSliderPointer as f, percentToValue as p, pickClosestSliderThumb as oe, resolveSliderBounds as
|
|
7
|
-
import { sliderColorProps as
|
|
8
|
-
import { cn as
|
|
6
|
+
import { getSliderBarGeometry as re, getSliderPointerClientX as d, isSliderStopCovered as ie, normalizeSliderStops as ae, percentFromSliderPointer as f, percentToValue as p, pickClosestSliderThumb as oe, resolveSliderBounds as m, snapSliderValue as h, sortSliderRangeValue as se, stepSliderValue as g, valueToPercent as _, writeSliderRangeThumb as v } from "@bridge-ui/core/Domain";
|
|
7
|
+
import { sliderColorProps as ce, sliderRoundedProps as le, sliderSizeProps as ue } from "@bridge-ui/core/Tokens";
|
|
8
|
+
import { cn as y, getColorToken as de, mergeBridgeUILayeredClasses as b, splitComponentProps as fe } from "@bridge-ui/core/Utils";
|
|
9
9
|
//#region src/Components/Slider/composables/useSlider.ts
|
|
10
|
-
var
|
|
10
|
+
var x = [
|
|
11
11
|
"max",
|
|
12
12
|
"min",
|
|
13
13
|
"step",
|
|
@@ -18,113 +18,117 @@ var b = [
|
|
|
18
18
|
"showStops",
|
|
19
19
|
"showTooltip",
|
|
20
20
|
"defaultValue"
|
|
21
|
-
],
|
|
22
|
-
function
|
|
21
|
+
], S = [...i, ...x];
|
|
22
|
+
function C(e, t, n) {
|
|
23
23
|
return n && Array.isArray(e) ? e[t] : Array.isArray(e) ? e[0] : e;
|
|
24
24
|
}
|
|
25
|
-
function
|
|
25
|
+
function w(e, t, n, r) {
|
|
26
26
|
return !r || !Array.isArray(e) ? {
|
|
27
27
|
thumbIndex: t,
|
|
28
28
|
value: n
|
|
29
|
-
} :
|
|
29
|
+
} : v(e, t, n);
|
|
30
30
|
}
|
|
31
|
-
function
|
|
32
|
-
let
|
|
33
|
-
bridgeKeys:
|
|
31
|
+
function T(v, T, E, pe = {}) {
|
|
32
|
+
let me = te(), he = e(), D = s(null), O = s(null), k = s(null), A = s(null), j = o(() => fe({
|
|
33
|
+
bridgeKeys: S,
|
|
34
34
|
props: {
|
|
35
|
-
...
|
|
36
|
-
...ee(
|
|
35
|
+
...me,
|
|
36
|
+
...ee(v)
|
|
37
37
|
}
|
|
38
|
-
})),
|
|
38
|
+
})), ge = o(() => u(j.value.componentProps, i)), M = a(ge, {
|
|
39
39
|
error: !1,
|
|
40
40
|
hideErrorMessage: !1,
|
|
41
|
-
size:
|
|
41
|
+
size: T.size ?? "md"
|
|
42
42
|
}, {
|
|
43
43
|
componentName: "Slider",
|
|
44
44
|
labelHtmlFor: (e) => `${e}-thumb-0`
|
|
45
|
-
}), { merged:
|
|
46
|
-
libDefaults:
|
|
45
|
+
}), { merged: N, entry: P } = n({
|
|
46
|
+
libDefaults: T,
|
|
47
47
|
componentName: "Slider",
|
|
48
48
|
props: () => ({
|
|
49
|
-
...u(
|
|
50
|
-
size:
|
|
51
|
-
classes:
|
|
52
|
-
customProps:
|
|
49
|
+
...u(j.value.componentProps, x),
|
|
50
|
+
size: M.merged.value.size,
|
|
51
|
+
classes: j.value.componentProps.classes,
|
|
52
|
+
customProps: j.value.componentProps.customProps
|
|
53
53
|
})
|
|
54
|
-
}),
|
|
55
|
-
entry:
|
|
56
|
-
props: () =>
|
|
57
|
-
}),
|
|
58
|
-
min:
|
|
59
|
-
max:
|
|
60
|
-
step:
|
|
61
|
-
})),
|
|
62
|
-
let e =
|
|
63
|
-
if (
|
|
64
|
-
if (Array.isArray(e)) return
|
|
65
|
-
let n =
|
|
54
|
+
}), F = o(() => N.value.customProps), I = r({
|
|
55
|
+
entry: P,
|
|
56
|
+
props: () => j.value.componentProps
|
|
57
|
+
}), L = o(() => m({
|
|
58
|
+
min: N.value.min,
|
|
59
|
+
max: N.value.max,
|
|
60
|
+
step: N.value.step
|
|
61
|
+
})), R = o(() => !!N.value.range), z = o(() => N.value.showTooltip !== !1), B = o(() => he?.global.value.direction === "rtl"), { controlId: V, isDisabled: H, isReadonly: U, invalidated: W, ariaDescribedBy: _e } = M, G = o(() => {
|
|
62
|
+
let e = E.value, t = L.value;
|
|
63
|
+
if (R.value) {
|
|
64
|
+
if (Array.isArray(e)) return se(h(e[0], t.min, t.max, t.step), h(e[1], t.min, t.max, t.step));
|
|
65
|
+
let n = h(typeof e == "number" ? e : t.min, t.min, t.max, t.step);
|
|
66
66
|
return [n, n];
|
|
67
67
|
}
|
|
68
|
-
return
|
|
69
|
-
}),
|
|
70
|
-
min:
|
|
71
|
-
max:
|
|
72
|
-
step:
|
|
73
|
-
stops:
|
|
74
|
-
showStops:
|
|
75
|
-
})),
|
|
76
|
-
range:
|
|
77
|
-
min:
|
|
78
|
-
max:
|
|
79
|
-
value:
|
|
80
|
-
})),
|
|
81
|
-
let e =
|
|
82
|
-
return
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
68
|
+
return h(Array.isArray(e) ? e[0] : typeof e == "number" ? e : t.min, t.min, t.max, t.step);
|
|
69
|
+
}), K = o(() => ae({
|
|
70
|
+
min: L.value.min,
|
|
71
|
+
max: L.value.max,
|
|
72
|
+
step: L.value.step,
|
|
73
|
+
stops: N.value.stops,
|
|
74
|
+
showStops: N.value.showStops
|
|
75
|
+
})), q = o(() => re({
|
|
76
|
+
range: R.value,
|
|
77
|
+
min: L.value.min,
|
|
78
|
+
max: L.value.max,
|
|
79
|
+
value: G.value
|
|
80
|
+
})), J = o(() => {
|
|
81
|
+
let e = b(ce, P.value?.tokens?.color);
|
|
82
|
+
return de({
|
|
83
|
+
tokens: e,
|
|
84
|
+
color: N.value.color,
|
|
85
|
+
invalid: W.value
|
|
86
|
+
});
|
|
87
|
+
}), Y = o(() => {
|
|
88
|
+
let e = b(ue, P.value?.tokens?.size);
|
|
89
|
+
return c(e, N.value.size ?? "md");
|
|
86
90
|
}), X = o(() => {
|
|
87
|
-
let e =
|
|
88
|
-
return c(e,
|
|
89
|
-
}),
|
|
90
|
-
|
|
91
|
-
},
|
|
92
|
-
|
|
93
|
-
},
|
|
94
|
-
if (
|
|
95
|
-
let n =
|
|
96
|
-
i.thumbIndex !== e &&
|
|
91
|
+
let e = b(le, P.value?.tokens?.rounded);
|
|
92
|
+
return c(e, N.value.rounded ?? "full");
|
|
93
|
+
}), ve = o(() => K.value.some((e) => !!e.label)), Z = (e) => {
|
|
94
|
+
E.value = e, pe.onChange?.(e);
|
|
95
|
+
}, ye = (e) => {
|
|
96
|
+
D.value &&= { thumbIndex: e }, O.value !== null && (O.value = e);
|
|
97
|
+
}, be = (e, t) => {
|
|
98
|
+
if (H.value || U.value) return;
|
|
99
|
+
let n = L.value, r = p(t, n.min, n.max, n.step), i = w(G.value, e, r, R.value);
|
|
100
|
+
i.thumbIndex !== e && ye(i.thumbIndex), Z(i.value);
|
|
97
101
|
}, Q = (e, t) => {
|
|
98
|
-
|
|
99
|
-
},
|
|
100
|
-
if (
|
|
101
|
-
let t =
|
|
102
|
+
H.value || U.value || (e.preventDefault(), D.value = { thumbIndex: t }, O.value = t);
|
|
103
|
+
}, xe = (e) => {
|
|
104
|
+
if (H.value || U.value || e.target.closest("[data-bridge-slider-thumb]")) return;
|
|
105
|
+
let t = A.value?.getBoundingClientRect();
|
|
102
106
|
if (!t) return;
|
|
103
107
|
let n = f({
|
|
104
108
|
rect: t,
|
|
105
|
-
isRtl:
|
|
109
|
+
isRtl: B.value,
|
|
106
110
|
clientX: d(e)
|
|
107
|
-
}), r =
|
|
108
|
-
|
|
109
|
-
let s =
|
|
111
|
+
}), r = L.value, i = p(n, r.min, r.max, r.step), a = 0, o = G.value;
|
|
112
|
+
R.value && Array.isArray(o) && (a = oe(i, o[0], o[1]));
|
|
113
|
+
let s = w(o, a, i, R.value);
|
|
110
114
|
Z(s.value), Q(e, s.thumbIndex);
|
|
111
|
-
},
|
|
115
|
+
}, Se = (e) => (t) => {
|
|
112
116
|
Q(t, e);
|
|
113
|
-
},
|
|
114
|
-
if (
|
|
115
|
-
let n =
|
|
117
|
+
}, Ce = (e) => (t) => {
|
|
118
|
+
if (H.value || U.value) return;
|
|
119
|
+
let n = L.value, r = C(G.value, e, R.value), i = null, a = B.value;
|
|
116
120
|
switch (t.key) {
|
|
117
121
|
case "ArrowRight":
|
|
118
|
-
i =
|
|
122
|
+
i = g(r, a ? -1 : 1, n.min, n.max, n.step);
|
|
119
123
|
break;
|
|
120
124
|
case "ArrowLeft":
|
|
121
|
-
i =
|
|
125
|
+
i = g(r, a ? 1 : -1, n.min, n.max, n.step);
|
|
122
126
|
break;
|
|
123
127
|
case "ArrowUp":
|
|
124
|
-
i =
|
|
128
|
+
i = g(r, 1, n.min, n.max, n.step);
|
|
125
129
|
break;
|
|
126
130
|
case "ArrowDown":
|
|
127
|
-
i =
|
|
131
|
+
i = g(r, -1, n.min, n.max, n.step);
|
|
128
132
|
break;
|
|
129
133
|
case "Home":
|
|
130
134
|
i = n.min;
|
|
@@ -133,161 +137,161 @@ function w(_, w, T, me = {}) {
|
|
|
133
137
|
i = n.max;
|
|
134
138
|
break;
|
|
135
139
|
case "PageUp":
|
|
136
|
-
i =
|
|
140
|
+
i = g(r, 1, n.min, n.max, n.step * 10);
|
|
137
141
|
break;
|
|
138
|
-
case "PageDown": i =
|
|
142
|
+
case "PageDown": i = g(r, -1, n.min, n.max, n.step * 10);
|
|
139
143
|
}
|
|
140
144
|
if (i === null) return;
|
|
141
145
|
t.preventDefault();
|
|
142
|
-
let o =
|
|
143
|
-
Z(o.value), o.thumbIndex !== e && document.getElementById(`${
|
|
146
|
+
let o = w(G.value, e, i, R.value);
|
|
147
|
+
Z(o.value), o.thumbIndex !== e && document.getElementById(`${V.value}-thumb-${o.thumbIndex}`)?.focus();
|
|
144
148
|
};
|
|
145
|
-
ne(
|
|
149
|
+
ne(O, (e, t, n) => {
|
|
146
150
|
if (e === null) return;
|
|
147
151
|
let r = (e) => {
|
|
148
|
-
let t =
|
|
149
|
-
if (!t ||
|
|
152
|
+
let t = A.value?.getBoundingClientRect();
|
|
153
|
+
if (!t || D.value === null) return;
|
|
150
154
|
let n = f({
|
|
151
155
|
rect: t,
|
|
152
|
-
isRtl:
|
|
156
|
+
isRtl: B.value,
|
|
153
157
|
clientX: d(e)
|
|
154
158
|
});
|
|
155
|
-
|
|
159
|
+
be(D.value.thumbIndex, n);
|
|
156
160
|
}, i = () => {
|
|
157
|
-
|
|
161
|
+
D.value = null, O.value = null;
|
|
158
162
|
};
|
|
159
163
|
window.addEventListener("pointermove", r), window.addEventListener("pointerup", i), window.addEventListener("pointercancel", i), n(() => {
|
|
160
164
|
window.removeEventListener("pointermove", r), window.removeEventListener("pointerup", i), window.removeEventListener("pointercancel", i);
|
|
161
165
|
});
|
|
162
166
|
});
|
|
163
|
-
let
|
|
164
|
-
...l(
|
|
165
|
-
onPointerdown:
|
|
166
|
-
}, {},
|
|
167
|
+
let we = o(() => t({}, {}, y("relative w-full min-w-0 flex-1"))), Te = o(() => t({
|
|
168
|
+
...l(F.value?.track ?? {}, ["style"]),
|
|
169
|
+
onPointerdown: xe
|
|
170
|
+
}, {}, y({
|
|
167
171
|
"relative w-full select-none touch-none": !0,
|
|
168
|
-
"cursor-pointer": !
|
|
169
|
-
"cursor-not-allowed":
|
|
172
|
+
"cursor-pointer": !H.value && !U.value,
|
|
173
|
+
"cursor-not-allowed": H.value,
|
|
170
174
|
[Y.value?.track ?? ""]: !0,
|
|
171
175
|
[X.value ?? ""]: !0,
|
|
172
176
|
[J.value?.track ?? ""]: !0,
|
|
173
|
-
[
|
|
174
|
-
}))),
|
|
177
|
+
[I.value.track ?? ""]: !0
|
|
178
|
+
}))), Ee = o(() => t(l(F.value?.bar ?? {}, ["style"]), {
|
|
175
179
|
"aria-hidden": !0,
|
|
176
180
|
style: {
|
|
177
|
-
width:
|
|
178
|
-
insetInlineStart:
|
|
181
|
+
width: q.value.width,
|
|
182
|
+
insetInlineStart: q.value.start
|
|
179
183
|
}
|
|
180
|
-
},
|
|
184
|
+
}, y({
|
|
181
185
|
"absolute top-0 h-full": !0,
|
|
182
186
|
[X.value ?? ""]: !0,
|
|
183
187
|
[J.value?.bar ?? ""]: !0,
|
|
184
|
-
[
|
|
185
|
-
}))),
|
|
186
|
-
let n =
|
|
188
|
+
[I.value.bar ?? ""]: !0
|
|
189
|
+
}))), $ = (e) => {
|
|
190
|
+
let n = C(G.value, e, R.value), r = _(n, L.value.min, L.value.max), i = O.value === e;
|
|
187
191
|
return t({
|
|
188
|
-
...l(
|
|
192
|
+
...l(F.value?.thumb ?? {}, ["style"]),
|
|
189
193
|
role: "slider",
|
|
190
194
|
type: "button",
|
|
191
195
|
"aria-valuenow": n,
|
|
192
|
-
"aria-valuemin":
|
|
193
|
-
"aria-valuemax":
|
|
194
|
-
tabIndex:
|
|
196
|
+
"aria-valuemin": L.value.min,
|
|
197
|
+
"aria-valuemax": L.value.max,
|
|
198
|
+
tabIndex: H.value ? -1 : 0,
|
|
195
199
|
"data-bridge-slider-thumb": e,
|
|
196
|
-
disabled:
|
|
200
|
+
disabled: H.value || void 0,
|
|
197
201
|
"aria-orientation": "horizontal",
|
|
198
|
-
"aria-describedby":
|
|
199
|
-
onKeydown:
|
|
200
|
-
id: `${
|
|
201
|
-
"aria-disabled":
|
|
202
|
-
"aria-readonly":
|
|
203
|
-
"aria-invalid":
|
|
204
|
-
onPointerdown:
|
|
202
|
+
"aria-describedby": _e.value,
|
|
203
|
+
onKeydown: Ce(e),
|
|
204
|
+
id: `${V.value}-thumb-${e}`,
|
|
205
|
+
"aria-disabled": H.value || void 0,
|
|
206
|
+
"aria-readonly": U.value || void 0,
|
|
207
|
+
"aria-invalid": W.value || void 0,
|
|
208
|
+
onPointerdown: Se(e),
|
|
205
209
|
style: { insetInlineStart: `${r}%` },
|
|
206
210
|
onFocus: () => {
|
|
207
|
-
|
|
211
|
+
k.value = e;
|
|
208
212
|
},
|
|
209
213
|
onPointerenter: () => {
|
|
210
|
-
|
|
214
|
+
k.value = e;
|
|
211
215
|
},
|
|
212
216
|
onBlur: () => {
|
|
213
|
-
|
|
217
|
+
O.value !== e && (k.value = k.value === e ? null : k.value);
|
|
214
218
|
},
|
|
215
219
|
onPointerleave: () => {
|
|
216
|
-
|
|
220
|
+
O.value !== e && (k.value = k.value === e ? null : k.value);
|
|
217
221
|
},
|
|
218
|
-
"aria-label":
|
|
219
|
-
}, {},
|
|
222
|
+
"aria-label": F.value?.thumb?.["aria-label"] ?? (R.value ? e === 0 ? "Minimum" : "Maximum" : M.merged.value.label || "Slider")
|
|
223
|
+
}, {}, y({
|
|
220
224
|
"group/thumb absolute z-10 flex -translate-x-1/2 items-center justify-center bg-transparent leading-none outline-none": !0,
|
|
221
|
-
"cursor-grab": !
|
|
225
|
+
"cursor-grab": !H.value && !U.value,
|
|
222
226
|
"cursor-grabbing": i,
|
|
223
|
-
"cursor-not-allowed":
|
|
227
|
+
"cursor-not-allowed": H.value,
|
|
224
228
|
[Y.value?.thumb ?? ""]: !0,
|
|
225
|
-
[
|
|
229
|
+
[I.value.thumb ?? ""]: !0
|
|
226
230
|
}));
|
|
227
|
-
},
|
|
228
|
-
let n =
|
|
229
|
-
return t(
|
|
231
|
+
}, De = (e) => {
|
|
232
|
+
let n = O.value === e;
|
|
233
|
+
return t(F.value?.thumbKnob, { "aria-hidden": !0 }, y({
|
|
230
234
|
"block rounded-full border-2 shadow-sm transition-transform duration-100": !0,
|
|
231
235
|
"group-focus-visible/thumb:ring-2 group-focus-visible/thumb:ring-offset-2": !0,
|
|
232
236
|
"scale-120": n,
|
|
233
237
|
[J.value?.focus ?? ""]: !0,
|
|
234
238
|
[Y.value?.thumbKnob ?? ""]: !0,
|
|
235
239
|
[J.value?.thumb ?? ""]: !0,
|
|
236
|
-
[
|
|
240
|
+
[I.value.thumbKnob ?? ""]: !0
|
|
237
241
|
}));
|
|
238
|
-
},
|
|
239
|
-
let n =
|
|
240
|
-
range:
|
|
241
|
-
min:
|
|
242
|
-
max:
|
|
242
|
+
}, Oe = (e) => {
|
|
243
|
+
let n = _(e.value, L.value.min, L.value.max), r = ie({
|
|
244
|
+
range: R.value,
|
|
245
|
+
min: L.value.min,
|
|
246
|
+
max: L.value.max,
|
|
243
247
|
stopValue: e.value,
|
|
244
|
-
value:
|
|
248
|
+
value: G.value
|
|
245
249
|
});
|
|
246
|
-
return t(l(
|
|
250
|
+
return t(l(F.value?.stop ?? {}, ["style"]), {
|
|
247
251
|
"aria-hidden": !0,
|
|
248
252
|
style: {
|
|
249
253
|
insetInlineStart: `${n}%`,
|
|
250
254
|
display: r ? "none" : void 0
|
|
251
255
|
}
|
|
252
|
-
},
|
|
256
|
+
}, y({
|
|
253
257
|
"absolute top-1/2 h-2 w-2 -translate-x-1/2 -translate-y-1/2 rounded-full bg-white dark:bg-dark-400": !0,
|
|
254
|
-
[
|
|
258
|
+
[I.value.stop ?? ""]: !0
|
|
255
259
|
}));
|
|
256
|
-
},
|
|
260
|
+
}, ke = o(() => t(F.value?.stopLabels, { "aria-hidden": !0 }, y({
|
|
257
261
|
"relative h-[1lh] w-full text-xs": !0,
|
|
258
|
-
[
|
|
262
|
+
[I.value.stopLabels ?? ""]: !0
|
|
259
263
|
})));
|
|
260
264
|
return {
|
|
261
|
-
bounds:
|
|
262
|
-
merged:
|
|
263
|
-
barBind:
|
|
264
|
-
isRange:
|
|
265
|
-
trackRef:
|
|
266
|
-
baseField:
|
|
267
|
-
trackBind:
|
|
268
|
-
controlBind:
|
|
269
|
-
showTooltip:
|
|
270
|
-
getStopBind:
|
|
271
|
-
thumbIndexes: o(() =>
|
|
272
|
-
getThumbBind:
|
|
273
|
-
resolvedStops:
|
|
274
|
-
resolvedValue:
|
|
275
|
-
isTooltipOpen: (e) =>
|
|
276
|
-
hasStopLabels:
|
|
277
|
-
stopLabelsBind:
|
|
265
|
+
bounds: L,
|
|
266
|
+
merged: N,
|
|
267
|
+
barBind: Ee,
|
|
268
|
+
isRange: R,
|
|
269
|
+
trackRef: A,
|
|
270
|
+
baseField: M,
|
|
271
|
+
trackBind: Te,
|
|
272
|
+
controlBind: we,
|
|
273
|
+
showTooltip: z,
|
|
274
|
+
getStopBind: Oe,
|
|
275
|
+
thumbIndexes: o(() => R.value ? [0, 1] : [0]),
|
|
276
|
+
getThumbBind: $,
|
|
277
|
+
resolvedStops: K,
|
|
278
|
+
resolvedValue: G,
|
|
279
|
+
isTooltipOpen: (e) => z.value && (O.value === e || k.value === e),
|
|
280
|
+
hasStopLabels: ve,
|
|
281
|
+
stopLabelsBind: ke,
|
|
278
282
|
getStopLabelBind: (e) => {
|
|
279
|
-
let n =
|
|
280
|
-
return t(l(
|
|
283
|
+
let n = _(e.value, L.value.min, L.value.max);
|
|
284
|
+
return t(l(F.value?.stopLabel ?? {}, ["style"]), { style: { insetInlineStart: `${n}%` } }, y({
|
|
281
285
|
"absolute top-0 -translate-x-1/2 whitespace-nowrap": !0,
|
|
282
|
-
"text-dark-700 dark:text-dark-400": !
|
|
283
|
-
|
|
284
|
-
[
|
|
286
|
+
"text-dark-700 dark:text-dark-400": !W.value,
|
|
287
|
+
"text-error-600 dark:text-error-400": W.value,
|
|
288
|
+
[I.value.stopLabel ?? ""]: !0
|
|
285
289
|
}));
|
|
286
290
|
},
|
|
287
|
-
getThumbKnobBind:
|
|
288
|
-
tooltipProps: o(() =>
|
|
289
|
-
readThumbValue: (e) =>
|
|
291
|
+
getThumbKnobBind: De,
|
|
292
|
+
tooltipProps: o(() => F.value?.tooltip),
|
|
293
|
+
readThumbValue: (e) => C(G.value, e, R.value)
|
|
290
294
|
};
|
|
291
295
|
}
|
|
292
296
|
//#endregion
|
|
293
|
-
export {
|
|
297
|
+
export { S as sliderBridgeKeys, T as useSlider };
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { ButtonHTMLAttributes, HTMLAttributes, Slot } from 'vue';
|
|
2
2
|
import { SliderRangeValue, SliderStopInput } from '@bridge-ui/core/Domain';
|
|
3
|
-
import {
|
|
3
|
+
import { SliderColor, SliderRounded } 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
|
import { TooltipOwnProps } from '../Tooltip/tooltip.types';
|
|
@@ -38,18 +38,11 @@ export interface SliderClasses extends BaseFieldClasses {
|
|
|
38
38
|
*/
|
|
39
39
|
track?: string;
|
|
40
40
|
}
|
|
41
|
-
export interface SliderCustomProps extends
|
|
41
|
+
export interface SliderCustomProps extends BaseFieldCustomProps {
|
|
42
42
|
/**
|
|
43
43
|
* Props forwarded to the filled bar.
|
|
44
44
|
*/
|
|
45
45
|
bar?: HTMLAttributes;
|
|
46
|
-
/**
|
|
47
|
-
* Control error chrome (`bar`, `thumb`, `track`, …). Error message color comes
|
|
48
|
-
* from {@link BaseField}; pass `errorMessage` here to override.
|
|
49
|
-
*
|
|
50
|
-
* @default undefined
|
|
51
|
-
*/
|
|
52
|
-
invalidated?: Partial<SliderInvalidated & BaseFieldInvalidated>;
|
|
53
46
|
/**
|
|
54
47
|
* Props forwarded to stop markers.
|
|
55
48
|
*/
|
|
@@ -66,7 +66,8 @@ var w = { class: "w-full max-w-sm pointer-events-auto" }, T = ["src"], E = { cla
|
|
|
66
66
|
onLeaveComplete: () => M("leave-complete"),
|
|
67
67
|
onShowChange: (e) => M("show-change", e)
|
|
68
68
|
}), Y = i(() => !!(j.icon || K.value || I.value.img)), X = i(() => !!(j.title || I.value.title)), Z = i(() => !!(j.description || I.value.description)), Q = i(() => !!j.right), $ = i(() => I.value.teleportTo === !1), ee = i(() => I.value.teleportTo === !1 ? "body" : I.value.teleportTo);
|
|
69
|
-
return (e, n) => (_(), a(r, {
|
|
69
|
+
return (e, n) => b(L) ? (_(), a(r, {
|
|
70
|
+
key: 0,
|
|
70
71
|
to: ee.value,
|
|
71
72
|
disabled: $.value
|
|
72
73
|
}, [b(L) && b(V) ? (_(), s("div", g(m({ key: 0 }, b(H))), [c("div", w, [c("div", m(b(z), { class: b(C)(b(z).class, { flex: Q.value }) }), [
|
|
@@ -155,7 +156,7 @@ var w = { class: "w-full max-w-sm pointer-events-auto" }, T = ["src"], E = { cla
|
|
|
155
156
|
], 2)], 16),
|
|
156
157
|
v(e.$slots, "right"),
|
|
157
158
|
b(W) ? (_(), s("div", g(m({ key: 0 }, b(G))), null, 16)) : o("", !0)
|
|
158
|
-
], 16)) : o("", !0)], 8, ["to", "disabled"]));
|
|
159
|
+
], 16)) : o("", !0)], 8, ["to", "disabled"])) : o("", !0);
|
|
159
160
|
}
|
|
160
161
|
});
|
|
161
162
|
//#endregion
|
|
@@ -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 { switchColorProps as l,
|
|
6
|
-
import { cn as p, mergeBridgeUILayeredClasses as m, splitComponentProps as h } from "@bridge-ui/core/Utils";
|
|
5
|
+
import { switchColorProps as l, switchRoundedProps as u, switchSizeProps 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/Switch/composables/useSwitch.ts
|
|
8
8
|
var g = [
|
|
9
9
|
"size",
|
|
@@ -36,46 +36,50 @@ function _(_, v, y) {
|
|
|
36
36
|
props: () => S.value.componentProps
|
|
37
37
|
}), D = i(() => !!a(y)), O = i(() => {
|
|
38
38
|
let e = m(l, w.value?.tokens?.color);
|
|
39
|
-
return
|
|
40
|
-
|
|
41
|
-
|
|
39
|
+
return p({
|
|
40
|
+
tokens: e,
|
|
41
|
+
color: C.value.color,
|
|
42
|
+
invalid: x.invalidated.value
|
|
43
|
+
});
|
|
44
|
+
}), k = i(() => {
|
|
45
|
+
let e = m(d, w.value?.tokens?.size);
|
|
42
46
|
return s(e, C.value.size ?? "sm");
|
|
43
|
-
}),
|
|
44
|
-
let e = m(
|
|
47
|
+
}), A = i(() => {
|
|
48
|
+
let e = m(u, w.value?.tokens?.rounded);
|
|
45
49
|
return s(e, C.value.rounded ?? "full");
|
|
46
|
-
}),
|
|
50
|
+
}), j = i(() => e({
|
|
47
51
|
...T.value?.input,
|
|
48
52
|
...x.controlBind.value,
|
|
49
53
|
role: "switch",
|
|
50
54
|
type: "checkbox"
|
|
51
|
-
}, c(S.value.inheritedAttrs, ["class"]),
|
|
55
|
+
}, c(S.value.inheritedAttrs, ["class"]), f({
|
|
52
56
|
"sr-only": !0,
|
|
53
57
|
[E.value.input ?? ""]: !0
|
|
54
|
-
}))),
|
|
58
|
+
}))), M = i(() => e(T.value?.track, { "aria-hidden": !0 }, f({
|
|
55
59
|
"block cursor-pointer transition ease-in-out duration-100": !0,
|
|
56
|
-
[
|
|
57
|
-
[
|
|
58
|
-
[
|
|
59
|
-
[
|
|
60
|
+
[k.value?.track ?? ""]: !0,
|
|
61
|
+
[A.value ?? ""]: !0,
|
|
62
|
+
[O.value?.track ?? ""]: !D.value,
|
|
63
|
+
[O.value?.trackChecked ?? ""]: D.value,
|
|
60
64
|
[E.value.track ?? ""]: !0
|
|
61
|
-
}))),
|
|
65
|
+
}))), N = i(() => e(T.value?.thumb, { "aria-hidden": !0 }, f({
|
|
62
66
|
"pointer-events-none absolute start-0.5 top-1/2 -translate-y-1/2 rounded-full shadow-sm transition ease-in-out duration-200": !0,
|
|
63
|
-
[
|
|
64
|
-
[
|
|
65
|
-
[
|
|
67
|
+
[k.value?.thumb ?? ""]: !0,
|
|
68
|
+
[k.value?.thumbCheckedTranslate ?? ""]: D.value,
|
|
69
|
+
[O.value?.thumb ?? ""]: !0,
|
|
66
70
|
[E.value.thumb ?? ""]: !0
|
|
67
71
|
})));
|
|
68
72
|
return {
|
|
69
|
-
fieldBind: i(() => e({}, {},
|
|
73
|
+
fieldBind: i(() => e({}, {}, f({
|
|
70
74
|
"relative inline-flex shrink-0 select-none": !0,
|
|
71
75
|
"has-[:focus-visible]:ring-2 has-[:focus-visible]:ring-offset-2": !0,
|
|
72
|
-
[
|
|
73
|
-
[
|
|
76
|
+
[A.value ?? ""]: !0,
|
|
77
|
+
[O.value?.focus ?? ""]: !0
|
|
74
78
|
}))),
|
|
75
|
-
inputBind:
|
|
79
|
+
inputBind: j,
|
|
76
80
|
isChecked: D,
|
|
77
|
-
thumbBind:
|
|
78
|
-
trackBind:
|
|
81
|
+
thumbBind: N,
|
|
82
|
+
trackBind: M,
|
|
79
83
|
formControl: x
|
|
80
84
|
};
|
|
81
85
|
}
|
|
@@ -23,6 +23,7 @@ declare const __VLS_base: import('vue').DefineComponent<__VLS_PublicProps, {}, {
|
|
|
23
23
|
onOpen?: (() => any) | undefined;
|
|
24
24
|
"onUpdate:modelValue"?: ((value: Date | null | undefined) => any) | undefined;
|
|
25
25
|
}>, {
|
|
26
|
+
fill: boolean;
|
|
26
27
|
showFooter: boolean;
|
|
27
28
|
showErrorIcon: boolean;
|
|
28
29
|
clearable: boolean;
|