@onereach/ui-components 8.19.5 → 8.20.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/bundled/v2/components/OrRangeSliderV3/OrRangeSlider.js +146 -25
- package/dist/bundled/v2/components/OrRangeSliderV3/OrRangeSlider.vue.d.ts +43 -25
- package/dist/bundled/v2/components/OrRangeSliderV3/styles.js +40 -0
- package/dist/bundled/v2/components/OrSliderV3/OrSlider.js +68 -13
- package/dist/bundled/v2/components/OrSliderV3/OrSlider.vue.d.ts +31 -21
- package/dist/bundled/v2/components/OrSliderV3/props.d.ts +3 -1
- package/dist/bundled/v2/components/OrSliderV3/props.js +2 -0
- package/dist/bundled/v2/components/OrSliderV3/styles.js +34 -0
- package/dist/bundled/v3/components/OrRangeSliderV3/OrRangeSlider.js +1 -1
- package/dist/bundled/v3/components/OrRangeSliderV3/OrRangeSlider.vue.d.ts +27 -18
- package/dist/bundled/v3/components/OrRangeSliderV3/index.js +2 -2
- package/dist/bundled/v3/components/OrRangeSliderV3/props.js +1 -1
- package/dist/bundled/v3/components/OrRangeSliderV3/styles.js +2 -2
- package/dist/bundled/v3/components/{OrRangeSliderV3-f8024c15.js → OrRangeSliderV3-fac9697f.js} +187 -27
- package/dist/bundled/v3/components/OrSliderV3/OrSlider.js +1 -1
- package/dist/bundled/v3/components/OrSliderV3/OrSlider.vue.d.ts +21 -16
- package/dist/bundled/v3/components/OrSliderV3/index.js +1 -1
- package/dist/bundled/v3/components/OrSliderV3/props.d.ts +3 -1
- package/dist/bundled/v3/components/OrSliderV3/props.js +1 -1
- package/dist/bundled/v3/components/OrSliderV3/styles.js +1 -1
- package/dist/bundled/v3/components/{OrSliderV3-b69331d1.js → OrSliderV3-6d75304d.js} +104 -14
- package/dist/bundled/v3/components/index.js +2 -2
- package/dist/bundled/v3/index.js +2 -2
- package/dist/esm/v2/{OrRangeSlider-2fba4c60.js → OrRangeSlider-7a377862.js} +187 -26
- package/dist/esm/v2/{OrSlider-dd60a4a1.js → OrSlider-dd967591.js} +3 -4
- package/dist/esm/v2/{OrSlider.vue_rollup-plugin-vue_script-eadc5fc6.js → OrSlider.vue_rollup-plugin-vue_script-79f356ca.js} +102 -10
- package/dist/esm/v2/components/index.js +3 -3
- package/dist/esm/v2/components/or-range-slider-v3/OrRangeSlider.vue.d.ts +43 -25
- package/dist/esm/v2/components/or-range-slider-v3/index.js +2 -2
- package/dist/esm/v2/components/or-slider-v3/OrSlider.vue.d.ts +31 -21
- package/dist/esm/v2/components/or-slider-v3/index.js +2 -2
- package/dist/esm/v2/components/or-slider-v3/props.d.ts +3 -1
- package/dist/esm/v2/index.js +3 -3
- package/dist/esm/v3/{OrRangeSlider-1c6ff524.js → OrRangeSlider-cd72332c.js} +187 -27
- package/dist/esm/v3/{OrSlider-654bd19f.js → OrSlider-ba7aff7c.js} +104 -14
- package/dist/esm/v3/components/index.js +2 -2
- package/dist/esm/v3/components/or-range-slider-v3/OrRangeSlider.vue.d.ts +27 -18
- package/dist/esm/v3/components/or-range-slider-v3/index.js +2 -2
- package/dist/esm/v3/components/or-slider-v3/OrSlider.vue.d.ts +21 -16
- package/dist/esm/v3/components/or-slider-v3/index.js +1 -1
- package/dist/esm/v3/components/or-slider-v3/props.d.ts +3 -1
- package/dist/esm/v3/index.js +2 -2
- package/package.json +2 -2
- package/src/components/or-range-slider-v3/OrRangeSlider.vue +154 -28
- package/src/components/or-range-slider-v3/styles.ts +68 -0
- package/src/components/or-slider-v3/OrSlider.vue +66 -14
- package/src/components/or-slider-v3/props.ts +2 -0
- package/src/components/or-slider-v3/styles.ts +58 -0
|
@@ -3,19 +3,19 @@ import { RangeSliderColor, RangeSliderOrientation } from './props';
|
|
|
3
3
|
declare const _default: import("vue-demi").DefineComponent<{
|
|
4
4
|
modelValue: {
|
|
5
5
|
type: PropType<[number, number]>;
|
|
6
|
-
default: undefined;
|
|
6
|
+
default: () => undefined;
|
|
7
7
|
};
|
|
8
8
|
minValue: {
|
|
9
9
|
type: NumberConstructor;
|
|
10
|
-
default: number;
|
|
10
|
+
default: () => number;
|
|
11
11
|
};
|
|
12
12
|
maxValue: {
|
|
13
13
|
type: NumberConstructor;
|
|
14
|
-
default: number;
|
|
14
|
+
default: () => number;
|
|
15
15
|
};
|
|
16
16
|
step: {
|
|
17
17
|
type: NumberConstructor;
|
|
18
|
-
default: number;
|
|
18
|
+
default: () => number;
|
|
19
19
|
};
|
|
20
20
|
breakpoints: {
|
|
21
21
|
type: PropType<number[]>;
|
|
@@ -26,12 +26,12 @@ declare const _default: import("vue-demi").DefineComponent<{
|
|
|
26
26
|
default: () => RangeSliderColor;
|
|
27
27
|
};
|
|
28
28
|
orientation: {
|
|
29
|
-
type: PropType<"horizontal" | "vertical">;
|
|
29
|
+
type: PropType<"horizontal" | "horizontal-reversed" | "vertical" | "vertical-reversed">;
|
|
30
30
|
default: () => RangeSliderOrientation;
|
|
31
31
|
};
|
|
32
32
|
disabled: {
|
|
33
33
|
type: BooleanConstructor;
|
|
34
|
-
default: boolean;
|
|
34
|
+
default: () => boolean;
|
|
35
35
|
};
|
|
36
36
|
}, {
|
|
37
37
|
root: import("vue-demi").Ref<HTMLElement | undefined>;
|
|
@@ -45,19 +45,28 @@ declare const _default: import("vue-demi").DefineComponent<{
|
|
|
45
45
|
railStyles: import("vue-demi").ComputedRef<string[]>;
|
|
46
46
|
offsetStyles: import("vue-demi").ComputedRef<string[]>;
|
|
47
47
|
offsetComputedStyles: import("vue-demi").ComputedRef<{
|
|
48
|
-
|
|
49
|
-
|
|
48
|
+
width: string;
|
|
49
|
+
height?: undefined;
|
|
50
|
+
} | {
|
|
51
|
+
height: string;
|
|
52
|
+
width?: undefined;
|
|
53
|
+
} | undefined>;
|
|
50
54
|
trackStyles: import("vue-demi").ComputedRef<string[]>;
|
|
51
55
|
trackComputedStyles: import("vue-demi").ComputedRef<{
|
|
52
|
-
|
|
53
|
-
|
|
56
|
+
width: string;
|
|
57
|
+
height?: undefined;
|
|
58
|
+
} | {
|
|
59
|
+
height: string;
|
|
60
|
+
width?: undefined;
|
|
61
|
+
} | undefined>;
|
|
54
62
|
thumbStyles: import("vue-demi").ComputedRef<string[]>;
|
|
55
63
|
breakpointMarkStyles: import("vue-demi").ComputedRef<string[]>;
|
|
56
64
|
labelStyles: import("vue-demi").ComputedRef<string[]>;
|
|
57
65
|
labelMarkStyles: import("vue-demi").ComputedRef<string[]>;
|
|
58
66
|
proxyModelValue: import("../../hooks").UseProxyModelValueReturn<[number, number]>;
|
|
67
|
+
tooltipPlacement: import("vue-demi").ComputedRef<"top" | "right" | undefined>;
|
|
59
68
|
selectedControl: import("vue-demi").Ref<"from" | "to" | undefined>;
|
|
60
|
-
|
|
69
|
+
getBreakpointMarkComputedStyles: (breakpoint: number) => Partial<CSSStyleDeclaration> | undefined;
|
|
61
70
|
isHoveringOffset: import("vue-demi").Ref<boolean>;
|
|
62
71
|
isHoveringTrack: import("vue-demi").Ref<boolean>;
|
|
63
72
|
isHoveringFiller: import("vue-demi").Ref<boolean>;
|
|
@@ -68,19 +77,19 @@ declare const _default: import("vue-demi").DefineComponent<{
|
|
|
68
77
|
}, unknown, {}, {}, import("vue-demi").ComponentOptionsMixin, import("vue-demi").ComponentOptionsMixin, "update:modelValue"[], "update:modelValue", import("vue-demi").VNodeProps & import("vue-demi").AllowedComponentProps & import("vue-demi").ComponentCustomProps, Readonly<import("vue-demi").ExtractPropTypes<{
|
|
69
78
|
modelValue: {
|
|
70
79
|
type: PropType<[number, number]>;
|
|
71
|
-
default: undefined;
|
|
80
|
+
default: () => undefined;
|
|
72
81
|
};
|
|
73
82
|
minValue: {
|
|
74
83
|
type: NumberConstructor;
|
|
75
|
-
default: number;
|
|
84
|
+
default: () => number;
|
|
76
85
|
};
|
|
77
86
|
maxValue: {
|
|
78
87
|
type: NumberConstructor;
|
|
79
|
-
default: number;
|
|
88
|
+
default: () => number;
|
|
80
89
|
};
|
|
81
90
|
step: {
|
|
82
91
|
type: NumberConstructor;
|
|
83
|
-
default: number;
|
|
92
|
+
default: () => number;
|
|
84
93
|
};
|
|
85
94
|
breakpoints: {
|
|
86
95
|
type: PropType<number[]>;
|
|
@@ -91,12 +100,12 @@ declare const _default: import("vue-demi").DefineComponent<{
|
|
|
91
100
|
default: () => RangeSliderColor;
|
|
92
101
|
};
|
|
93
102
|
orientation: {
|
|
94
|
-
type: PropType<"horizontal" | "vertical">;
|
|
103
|
+
type: PropType<"horizontal" | "horizontal-reversed" | "vertical" | "vertical-reversed">;
|
|
95
104
|
default: () => RangeSliderOrientation;
|
|
96
105
|
};
|
|
97
106
|
disabled: {
|
|
98
107
|
type: BooleanConstructor;
|
|
99
|
-
default: boolean;
|
|
108
|
+
default: () => boolean;
|
|
100
109
|
};
|
|
101
110
|
}>> & {
|
|
102
111
|
"onUpdate:modelValue"?: ((...args: any[]) => any) | undefined;
|
|
@@ -107,7 +116,7 @@ declare const _default: import("vue-demi").DefineComponent<{
|
|
|
107
116
|
step: number;
|
|
108
117
|
breakpoints: number[];
|
|
109
118
|
color: "primary" | "secondary";
|
|
110
|
-
orientation: "horizontal" | "vertical";
|
|
119
|
+
orientation: "horizontal" | "horizontal-reversed" | "vertical" | "vertical-reversed";
|
|
111
120
|
disabled: boolean;
|
|
112
121
|
}>;
|
|
113
122
|
export default _default;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
export { s as OrRangeSliderV3 } from '../../OrRangeSlider-
|
|
2
|
-
export { S as RangeSliderColor, a as RangeSliderOrientation } from '../../OrSlider-
|
|
1
|
+
export { s as OrRangeSliderV3 } from '../../OrRangeSlider-cd72332c.js';
|
|
2
|
+
export { S as RangeSliderColor, a as RangeSliderOrientation } from '../../OrSlider-ba7aff7c.js';
|
|
3
3
|
import '@vueuse/core';
|
|
4
4
|
import 'vue-demi';
|
|
5
5
|
import '../../dom-aecadd9a.js';
|
|
@@ -3,19 +3,19 @@ import { SliderColor, SliderOrientation } from './props';
|
|
|
3
3
|
declare const _default: import("vue-demi").DefineComponent<{
|
|
4
4
|
modelValue: {
|
|
5
5
|
type: NumberConstructor;
|
|
6
|
-
default: undefined;
|
|
6
|
+
default: () => undefined;
|
|
7
7
|
};
|
|
8
8
|
minValue: {
|
|
9
9
|
type: NumberConstructor;
|
|
10
|
-
default: number;
|
|
10
|
+
default: () => number;
|
|
11
11
|
};
|
|
12
12
|
maxValue: {
|
|
13
13
|
type: NumberConstructor;
|
|
14
|
-
default: number;
|
|
14
|
+
default: () => number;
|
|
15
15
|
};
|
|
16
16
|
step: {
|
|
17
17
|
type: NumberConstructor;
|
|
18
|
-
default: number;
|
|
18
|
+
default: () => number;
|
|
19
19
|
};
|
|
20
20
|
breakpoints: {
|
|
21
21
|
type: PropType<number[]>;
|
|
@@ -26,12 +26,12 @@ declare const _default: import("vue-demi").DefineComponent<{
|
|
|
26
26
|
default: () => SliderColor;
|
|
27
27
|
};
|
|
28
28
|
orientation: {
|
|
29
|
-
type: PropType<"horizontal" | "vertical">;
|
|
29
|
+
type: PropType<"horizontal" | "horizontal-reversed" | "vertical" | "vertical-reversed">;
|
|
30
30
|
default: () => SliderOrientation;
|
|
31
31
|
};
|
|
32
32
|
disabled: {
|
|
33
33
|
type: BooleanConstructor;
|
|
34
|
-
default: boolean;
|
|
34
|
+
default: () => boolean;
|
|
35
35
|
};
|
|
36
36
|
}, {
|
|
37
37
|
root: import("vue-demi").Ref<HTMLElement | undefined>;
|
|
@@ -41,32 +41,37 @@ declare const _default: import("vue-demi").DefineComponent<{
|
|
|
41
41
|
railStyles: import("vue-demi").ComputedRef<string[]>;
|
|
42
42
|
trackStyles: import("vue-demi").ComputedRef<string[]>;
|
|
43
43
|
trackComputedStyles: import("vue-demi").ComputedRef<{
|
|
44
|
-
|
|
45
|
-
|
|
44
|
+
width: string;
|
|
45
|
+
height?: undefined;
|
|
46
|
+
} | {
|
|
47
|
+
height: string;
|
|
48
|
+
width?: undefined;
|
|
49
|
+
} | undefined>;
|
|
46
50
|
thumbStyles: import("vue-demi").ComputedRef<string[]>;
|
|
47
51
|
breakpointMarkStyles: import("vue-demi").ComputedRef<string[]>;
|
|
48
52
|
labelStyles: import("vue-demi").ComputedRef<string[]>;
|
|
49
53
|
labelMarkStyles: import("vue-demi").ComputedRef<string[]>;
|
|
50
54
|
proxyModelValue: import("../../hooks").UseProxyModelValueReturn<number>;
|
|
51
|
-
|
|
55
|
+
tooltipPlacement: import("vue-demi").ComputedRef<"top" | "right" | undefined>;
|
|
56
|
+
getBreakpointMarkComputedStyles: (breakpoint: number) => Partial<CSSStyleDeclaration> | undefined;
|
|
52
57
|
isHovering: import("vue-demi").Ref<boolean>;
|
|
53
58
|
isDragging: import("vue-demi").ComputedRef<boolean>;
|
|
54
59
|
}, unknown, {}, {}, import("vue-demi").ComponentOptionsMixin, import("vue-demi").ComponentOptionsMixin, "update:modelValue"[], "update:modelValue", import("vue-demi").VNodeProps & import("vue-demi").AllowedComponentProps & import("vue-demi").ComponentCustomProps, Readonly<import("vue-demi").ExtractPropTypes<{
|
|
55
60
|
modelValue: {
|
|
56
61
|
type: NumberConstructor;
|
|
57
|
-
default: undefined;
|
|
62
|
+
default: () => undefined;
|
|
58
63
|
};
|
|
59
64
|
minValue: {
|
|
60
65
|
type: NumberConstructor;
|
|
61
|
-
default: number;
|
|
66
|
+
default: () => number;
|
|
62
67
|
};
|
|
63
68
|
maxValue: {
|
|
64
69
|
type: NumberConstructor;
|
|
65
|
-
default: number;
|
|
70
|
+
default: () => number;
|
|
66
71
|
};
|
|
67
72
|
step: {
|
|
68
73
|
type: NumberConstructor;
|
|
69
|
-
default: number;
|
|
74
|
+
default: () => number;
|
|
70
75
|
};
|
|
71
76
|
breakpoints: {
|
|
72
77
|
type: PropType<number[]>;
|
|
@@ -77,12 +82,12 @@ declare const _default: import("vue-demi").DefineComponent<{
|
|
|
77
82
|
default: () => SliderColor;
|
|
78
83
|
};
|
|
79
84
|
orientation: {
|
|
80
|
-
type: PropType<"horizontal" | "vertical">;
|
|
85
|
+
type: PropType<"horizontal" | "horizontal-reversed" | "vertical" | "vertical-reversed">;
|
|
81
86
|
default: () => SliderOrientation;
|
|
82
87
|
};
|
|
83
88
|
disabled: {
|
|
84
89
|
type: BooleanConstructor;
|
|
85
|
-
default: boolean;
|
|
90
|
+
default: () => boolean;
|
|
86
91
|
};
|
|
87
92
|
}>> & {
|
|
88
93
|
"onUpdate:modelValue"?: ((...args: any[]) => any) | undefined;
|
|
@@ -93,7 +98,7 @@ declare const _default: import("vue-demi").DefineComponent<{
|
|
|
93
98
|
step: number;
|
|
94
99
|
breakpoints: number[];
|
|
95
100
|
color: "primary" | "secondary";
|
|
96
|
-
orientation: "horizontal" | "vertical";
|
|
101
|
+
orientation: "horizontal" | "horizontal-reversed" | "vertical" | "vertical-reversed";
|
|
97
102
|
disabled: boolean;
|
|
98
103
|
}>;
|
|
99
104
|
export default _default;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export { s as OrSliderV3, S as SliderColor, a as SliderOrientation } from '../../OrSlider-
|
|
1
|
+
export { s as OrSliderV3, S as SliderColor, a as SliderOrientation } from '../../OrSlider-ba7aff7c.js';
|
|
2
2
|
import '@vueuse/core';
|
|
3
3
|
import 'vue-demi';
|
|
4
4
|
import '../../dom-aecadd9a.js';
|
package/dist/esm/v3/index.js
CHANGED
|
@@ -89,8 +89,8 @@ export { s as OrRadio } from './OrRadio-40bf2c87.js';
|
|
|
89
89
|
export { s as OrRadioGroup } from './OrRadioGroup-00785e41.js';
|
|
90
90
|
export { s as OrRadioGroupV3 } from './OrRadioGroup-2aa70aba.js';
|
|
91
91
|
export { s as OrRadioV3 } from './OrRadio-c6f7ba23.js';
|
|
92
|
-
export { s as OrRangeSliderV3 } from './OrRangeSlider-
|
|
93
|
-
export { s as OrSliderV3, S as RangeSliderColor, a as RangeSliderOrientation, S as SliderColor, a as SliderOrientation } from './OrSlider-
|
|
92
|
+
export { s as OrRangeSliderV3 } from './OrRangeSlider-cd72332c.js';
|
|
93
|
+
export { s as OrSliderV3, S as RangeSliderColor, a as RangeSliderOrientation, S as SliderColor, a as SliderOrientation } from './OrSlider-ba7aff7c.js';
|
|
94
94
|
export { s as OrRatingV3 } from './OrRating-ec9462c5.js';
|
|
95
95
|
export { s as OrResizeablePanelV3, R as ResizeablePanelPadding, a as ResizeablePanelPlacement, R as SidebarPadding } from './OrResizeablePanel-ae6a014f.js';
|
|
96
96
|
export { F as Formats, s as OrRichTextEditorV3 } from './OrRichTextEditor-06c85acf.js';
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@onereach/ui-components",
|
|
3
|
-
"version": "8.
|
|
3
|
+
"version": "8.20.0",
|
|
4
4
|
"npmUnpacked": "4.15.2",
|
|
5
5
|
"description": "Vue components library for v2/3",
|
|
6
6
|
"sideEffects": false,
|
|
@@ -178,5 +178,5 @@
|
|
|
178
178
|
},
|
|
179
179
|
"./package.json": "./package.json"
|
|
180
180
|
},
|
|
181
|
-
"gitHead": "
|
|
181
|
+
"gitHead": "24dbc34bb789a688730618bdea9715eafcc70310"
|
|
182
182
|
}
|
|
@@ -19,8 +19,8 @@
|
|
|
19
19
|
<OrTooltip
|
|
20
20
|
:class="['relative', 'z-10']"
|
|
21
21
|
:is-open="(!isDragging && (isHoveringRail || isHoveringThumbFrom)) || (isDragging && selectedControl === 'from')"
|
|
22
|
-
:content="String(proxyModelValue[0])"
|
|
23
|
-
:placement="
|
|
22
|
+
:content="String(proxyModelValue[orientation.endsWith('-reversed') ? 1 : 0])"
|
|
23
|
+
:placement="tooltipPlacement"
|
|
24
24
|
:offset="24"
|
|
25
25
|
:external-control="true"
|
|
26
26
|
>
|
|
@@ -41,8 +41,8 @@
|
|
|
41
41
|
<OrTooltip
|
|
42
42
|
:class="['relative', 'z-10']"
|
|
43
43
|
:is-open="(!isDragging && (isHoveringRail || isHoveringThumbTo)) || (isDragging && selectedControl === 'to')"
|
|
44
|
-
:content="String(proxyModelValue[1])"
|
|
45
|
-
:placement="
|
|
44
|
+
:content="String(proxyModelValue[orientation.endsWith('-reversed') ? 0 : 1])"
|
|
45
|
+
:placement="tooltipPlacement"
|
|
46
46
|
:offset="24"
|
|
47
47
|
:external-control="true"
|
|
48
48
|
>
|
|
@@ -63,8 +63,8 @@
|
|
|
63
63
|
v-for="breakpoint of breakpoints"
|
|
64
64
|
:key="breakpoint"
|
|
65
65
|
:class="breakpointMarkStyles"
|
|
66
|
-
:style="
|
|
67
|
-
:activated="breakpoint >= proxyModelValue[0] && breakpoint <= proxyModelValue[1]"
|
|
66
|
+
:style="getBreakpointMarkComputedStyles(breakpoint)"
|
|
67
|
+
:activated="breakpoint >= proxyModelValue[orientation.endsWith('-reversed') ? 1 : 0] && breakpoint <= proxyModelValue[orientation.endsWith('-reversed') ? 0 : 1]"
|
|
68
68
|
:disabled="disabled"
|
|
69
69
|
/>
|
|
70
70
|
</div>
|
|
@@ -104,22 +104,22 @@ export default defineComponent({
|
|
|
104
104
|
props: {
|
|
105
105
|
modelValue: {
|
|
106
106
|
type: Object as PropType<[number, number]>,
|
|
107
|
-
default: undefined,
|
|
107
|
+
default: () => undefined,
|
|
108
108
|
},
|
|
109
109
|
|
|
110
110
|
minValue: {
|
|
111
111
|
type: Number,
|
|
112
|
-
default: 0,
|
|
112
|
+
default: () => 0,
|
|
113
113
|
},
|
|
114
114
|
|
|
115
115
|
maxValue: {
|
|
116
116
|
type: Number,
|
|
117
|
-
default: 100,
|
|
117
|
+
default: () => 100,
|
|
118
118
|
},
|
|
119
119
|
|
|
120
120
|
step: {
|
|
121
121
|
type: Number,
|
|
122
|
-
default: 1,
|
|
122
|
+
default: () => 1,
|
|
123
123
|
},
|
|
124
124
|
|
|
125
125
|
breakpoints: {
|
|
@@ -139,7 +139,7 @@ export default defineComponent({
|
|
|
139
139
|
|
|
140
140
|
disabled: {
|
|
141
141
|
type: Boolean,
|
|
142
|
-
default: false,
|
|
142
|
+
default: () => false,
|
|
143
143
|
},
|
|
144
144
|
},
|
|
145
145
|
|
|
@@ -179,18 +179,34 @@ export default defineComponent({
|
|
|
179
179
|
...RangeSliderOffsetOrientations[props.orientation],
|
|
180
180
|
]);
|
|
181
181
|
|
|
182
|
-
const offsetComputedStyles = computed(() =>
|
|
183
|
-
|
|
184
|
-
|
|
182
|
+
const offsetComputedStyles = computed(() => {
|
|
183
|
+
switch (props.orientation) {
|
|
184
|
+
case RangeSliderOrientation.Horizontal:
|
|
185
|
+
case RangeSliderOrientation.HorizontalReversed:
|
|
186
|
+
return { width: `${internalModelValueFrom.value * 100}%` };
|
|
187
|
+
|
|
188
|
+
case RangeSliderOrientation.Vertical:
|
|
189
|
+
case RangeSliderOrientation.VerticalReversed:
|
|
190
|
+
return { height: `${internalModelValueFrom.value * 100}%` };
|
|
191
|
+
}
|
|
192
|
+
});
|
|
185
193
|
|
|
186
194
|
const trackStyles = computed(() => [
|
|
187
195
|
...RangeSliderTrack,
|
|
188
196
|
...RangeSliderTrackColors[props.color],
|
|
189
197
|
]);
|
|
190
198
|
|
|
191
|
-
const trackComputedStyles = computed(() =>
|
|
192
|
-
|
|
193
|
-
|
|
199
|
+
const trackComputedStyles = computed(() => {
|
|
200
|
+
switch (props.orientation) {
|
|
201
|
+
case RangeSliderOrientation.Horizontal:
|
|
202
|
+
case RangeSliderOrientation.HorizontalReversed:
|
|
203
|
+
return { width: `${(internalModelValueTo.value - internalModelValueFrom.value) * 100}%` };
|
|
204
|
+
|
|
205
|
+
case RangeSliderOrientation.Vertical:
|
|
206
|
+
case RangeSliderOrientation.VerticalReversed:
|
|
207
|
+
return { height: `${(internalModelValueTo.value - internalModelValueFrom.value) * 100}%` };
|
|
208
|
+
}
|
|
209
|
+
});
|
|
194
210
|
|
|
195
211
|
const thumbStyles = computed(() => [
|
|
196
212
|
'or-range-slider-thumb-v3',
|
|
@@ -219,37 +235,89 @@ export default defineComponent({
|
|
|
219
235
|
|
|
220
236
|
const internalModelValueFrom = computed({
|
|
221
237
|
get: () => {
|
|
222
|
-
|
|
238
|
+
let modelValue = 0;
|
|
239
|
+
|
|
240
|
+
switch (props.orientation) {
|
|
241
|
+
case RangeSliderOrientation.Horizontal:
|
|
242
|
+
case RangeSliderOrientation.Vertical:
|
|
243
|
+
modelValue = proxyModelValue.value[0];
|
|
244
|
+
break;
|
|
245
|
+
|
|
246
|
+
case RangeSliderOrientation.HorizontalReversed:
|
|
247
|
+
case RangeSliderOrientation.VerticalReversed:
|
|
248
|
+
modelValue = proxyModelValue.value[1];
|
|
249
|
+
break;
|
|
250
|
+
}
|
|
251
|
+
|
|
252
|
+
return (modelValue - props.minValue) / (props.maxValue - props.minValue);
|
|
223
253
|
},
|
|
224
254
|
|
|
225
255
|
set: (value) => {
|
|
226
256
|
const modelValue = value * (props.maxValue - props.minValue) + props.minValue;
|
|
227
257
|
|
|
228
|
-
|
|
258
|
+
const draftProxyModelValue = [
|
|
229
259
|
internalBreakpoints.value.reduce((a, b) => {
|
|
230
260
|
return Math.abs(a - modelValue) < Math.abs(b - modelValue) ? a : b;
|
|
231
261
|
}),
|
|
232
262
|
|
|
233
263
|
internalModelValueTo.value * (props.maxValue - props.minValue) + props.minValue,
|
|
234
264
|
];
|
|
265
|
+
|
|
266
|
+
switch (props.orientation) {
|
|
267
|
+
case RangeSliderOrientation.Horizontal:
|
|
268
|
+
case RangeSliderOrientation.Vertical:
|
|
269
|
+
proxyModelValue.value = draftProxyModelValue as [number, number];
|
|
270
|
+
break;
|
|
271
|
+
|
|
272
|
+
case RangeSliderOrientation.HorizontalReversed:
|
|
273
|
+
case RangeSliderOrientation.VerticalReversed:
|
|
274
|
+
proxyModelValue.value = draftProxyModelValue.reverse() as [number, number];
|
|
275
|
+
break;
|
|
276
|
+
}
|
|
235
277
|
},
|
|
236
278
|
});
|
|
237
279
|
|
|
238
280
|
const internalModelValueTo = computed({
|
|
239
281
|
get: () => {
|
|
240
|
-
|
|
282
|
+
let modelValue = 0;
|
|
283
|
+
|
|
284
|
+
switch (props.orientation) {
|
|
285
|
+
case RangeSliderOrientation.Horizontal:
|
|
286
|
+
case RangeSliderOrientation.Vertical:
|
|
287
|
+
modelValue = proxyModelValue.value[1];
|
|
288
|
+
break;
|
|
289
|
+
|
|
290
|
+
case RangeSliderOrientation.HorizontalReversed:
|
|
291
|
+
case RangeSliderOrientation.VerticalReversed:
|
|
292
|
+
modelValue = proxyModelValue.value[0];
|
|
293
|
+
break;
|
|
294
|
+
}
|
|
295
|
+
|
|
296
|
+
return (modelValue - props.minValue) / (props.maxValue - props.minValue);
|
|
241
297
|
},
|
|
242
298
|
|
|
243
299
|
set: (value) => {
|
|
244
300
|
const modelValue = value * (props.maxValue - props.minValue) + props.minValue;
|
|
245
301
|
|
|
246
|
-
|
|
302
|
+
const draftProxyModelValue = [
|
|
247
303
|
internalModelValueFrom.value * (props.maxValue - props.minValue) + props.minValue,
|
|
248
304
|
|
|
249
305
|
internalBreakpoints.value.reduce((a, b) => {
|
|
250
306
|
return Math.abs(a - modelValue) < Math.abs(b - modelValue) ? a : b;
|
|
251
307
|
}),
|
|
252
308
|
];
|
|
309
|
+
|
|
310
|
+
switch (props.orientation) {
|
|
311
|
+
case RangeSliderOrientation.Horizontal:
|
|
312
|
+
case RangeSliderOrientation.Vertical:
|
|
313
|
+
proxyModelValue.value = draftProxyModelValue as [number, number];
|
|
314
|
+
break;
|
|
315
|
+
|
|
316
|
+
case RangeSliderOrientation.HorizontalReversed:
|
|
317
|
+
case RangeSliderOrientation.VerticalReversed:
|
|
318
|
+
proxyModelValue.value = draftProxyModelValue.reverse() as [number, number];
|
|
319
|
+
break;
|
|
320
|
+
}
|
|
253
321
|
},
|
|
254
322
|
});
|
|
255
323
|
|
|
@@ -267,6 +335,18 @@ export default defineComponent({
|
|
|
267
335
|
|
|
268
336
|
const railBoundingBox = useElementBounding(rail);
|
|
269
337
|
|
|
338
|
+
const tooltipPlacement = computed(() => {
|
|
339
|
+
switch (props.orientation) {
|
|
340
|
+
case RangeSliderOrientation.Horizontal:
|
|
341
|
+
case RangeSliderOrientation.HorizontalReversed:
|
|
342
|
+
return 'top';
|
|
343
|
+
|
|
344
|
+
case RangeSliderOrientation.Vertical:
|
|
345
|
+
case RangeSliderOrientation.VerticalReversed:
|
|
346
|
+
return 'right';
|
|
347
|
+
}
|
|
348
|
+
});
|
|
349
|
+
|
|
270
350
|
const selectedControl = ref<'from' | 'to'>();
|
|
271
351
|
|
|
272
352
|
// Handlers
|
|
@@ -279,17 +359,62 @@ export default defineComponent({
|
|
|
279
359
|
const totalHeight = railBoundingBox.height.value;
|
|
280
360
|
|
|
281
361
|
if (selectedControl.value === 'from') {
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
362
|
+
switch (props.orientation) {
|
|
363
|
+
case RangeSliderOrientation.Horizontal:
|
|
364
|
+
internalModelValueFrom.value = clamp(event.clientX - railBoundingBox.left.value, 0, internalModelValueTo.value * totalWidth) / totalWidth;
|
|
365
|
+
break;
|
|
366
|
+
|
|
367
|
+
case RangeSliderOrientation.HorizontalReversed:
|
|
368
|
+
internalModelValueFrom.value = clamp(railBoundingBox.right.value - event.clientX, 0, internalModelValueTo.value * totalWidth) / totalWidth;
|
|
369
|
+
break;
|
|
370
|
+
|
|
371
|
+
case RangeSliderOrientation.Vertical:
|
|
372
|
+
internalModelValueFrom.value = clamp(totalHeight - (event.clientY - railBoundingBox.top.value), 0, internalModelValueTo.value * totalHeight) / totalHeight;
|
|
373
|
+
break;
|
|
374
|
+
|
|
375
|
+
case RangeSliderOrientation.VerticalReversed:
|
|
376
|
+
internalModelValueFrom.value = clamp(totalHeight - (railBoundingBox.bottom.value - event.clientY), 0, internalModelValueTo.value * totalHeight) / totalHeight;
|
|
377
|
+
break;
|
|
378
|
+
}
|
|
285
379
|
} else {
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
380
|
+
switch (props.orientation) {
|
|
381
|
+
case RangeSliderOrientation.Horizontal:
|
|
382
|
+
internalModelValueTo.value = clamp(event.clientX - railBoundingBox.left.value, internalModelValueFrom.value * totalWidth, totalWidth) / totalWidth;
|
|
383
|
+
break;
|
|
384
|
+
|
|
385
|
+
case RangeSliderOrientation.HorizontalReversed:
|
|
386
|
+
internalModelValueTo.value = clamp(railBoundingBox.right.value - event.clientX, internalModelValueFrom.value * totalWidth, totalWidth) / totalWidth;
|
|
387
|
+
break;
|
|
388
|
+
|
|
389
|
+
case RangeSliderOrientation.Vertical:
|
|
390
|
+
internalModelValueTo.value = clamp(totalHeight - (event.clientY - railBoundingBox.top.value), internalModelValueFrom.value * totalHeight, totalHeight) / totalHeight;
|
|
391
|
+
break;
|
|
392
|
+
|
|
393
|
+
case RangeSliderOrientation.VerticalReversed:
|
|
394
|
+
internalModelValueTo.value = clamp(totalHeight - (railBoundingBox.bottom.value - event.clientY), internalModelValueFrom.value * totalHeight, totalHeight) / totalHeight;
|
|
395
|
+
break;
|
|
396
|
+
}
|
|
289
397
|
}
|
|
290
398
|
}
|
|
291
399
|
|
|
292
400
|
// Methods
|
|
401
|
+
function getBreakpointMarkComputedStyles(breakpoint: number): Partial<CSSStyleDeclaration> | undefined {
|
|
402
|
+
switch (props.orientation) {
|
|
403
|
+
case RangeSliderOrientation.Horizontal:
|
|
404
|
+
return { left: `${getBreakpointOffset(breakpoint) * 100}%` };
|
|
405
|
+
|
|
406
|
+
case RangeSliderOrientation.HorizontalReversed:
|
|
407
|
+
return { right: `${getBreakpointOffset(breakpoint) * 100}%` };
|
|
408
|
+
|
|
409
|
+
case RangeSliderOrientation.Vertical:
|
|
410
|
+
return { bottom: `${getBreakpointOffset(breakpoint) * 100}%` };
|
|
411
|
+
|
|
412
|
+
case RangeSliderOrientation.VerticalReversed:
|
|
413
|
+
return { top: `${getBreakpointOffset(breakpoint) * 100}%` };
|
|
414
|
+
}
|
|
415
|
+
}
|
|
416
|
+
|
|
417
|
+
// Helpers
|
|
293
418
|
function getBreakpointOffset(breakpoint: number): number {
|
|
294
419
|
return (breakpoint - props.minValue) / (props.maxValue - props.minValue);
|
|
295
420
|
}
|
|
@@ -361,9 +486,10 @@ export default defineComponent({
|
|
|
361
486
|
labelMarkStyles,
|
|
362
487
|
|
|
363
488
|
proxyModelValue,
|
|
489
|
+
tooltipPlacement,
|
|
364
490
|
selectedControl,
|
|
365
491
|
|
|
366
|
-
|
|
492
|
+
getBreakpointMarkComputedStyles,
|
|
367
493
|
|
|
368
494
|
isHoveringOffset,
|
|
369
495
|
isHoveringTrack,
|