@cdx-ui/primitives 0.0.1-beta.170 → 0.0.1-beta.171
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/lib/commonjs/slider/SliderRail.js +35 -9
- package/lib/commonjs/slider/SliderRail.js.map +1 -1
- package/lib/commonjs/slider/SliderRoot.js +155 -97
- package/lib/commonjs/slider/SliderRoot.js.map +1 -1
- package/lib/commonjs/slider/SliderThumb.js +182 -68
- package/lib/commonjs/slider/SliderThumb.js.map +1 -1
- package/lib/commonjs/slider/context.js +4 -1
- package/lib/commonjs/slider/context.js.map +1 -1
- package/lib/commonjs/slider/index.js +36 -0
- package/lib/commonjs/slider/index.js.map +1 -1
- package/lib/commonjs/slider/useSliderPointer.js +1 -1
- package/lib/commonjs/slider/useSliderPointer.js.map +1 -1
- package/lib/commonjs/slider/utils.js +68 -0
- package/lib/commonjs/slider/utils.js.map +1 -1
- package/lib/module/slider/SliderRail.js +35 -9
- package/lib/module/slider/SliderRail.js.map +1 -1
- package/lib/module/slider/SliderRoot.js +157 -99
- package/lib/module/slider/SliderRoot.js.map +1 -1
- package/lib/module/slider/SliderThumb.js +185 -71
- package/lib/module/slider/SliderThumb.js.map +1 -1
- package/lib/module/slider/context.js +1 -0
- package/lib/module/slider/context.js.map +1 -1
- package/lib/module/slider/index.js +2 -2
- package/lib/module/slider/index.js.map +1 -1
- package/lib/module/slider/useSliderPointer.js +1 -1
- package/lib/module/slider/useSliderPointer.js.map +1 -1
- package/lib/module/slider/utils.js +63 -0
- package/lib/module/slider/utils.js.map +1 -1
- package/lib/typescript/slider/SliderRail.d.ts.map +1 -1
- package/lib/typescript/slider/SliderRoot.d.ts +2 -2
- package/lib/typescript/slider/SliderRoot.d.ts.map +1 -1
- package/lib/typescript/slider/SliderThumb.d.ts.map +1 -1
- package/lib/typescript/slider/context.d.ts +53 -9
- package/lib/typescript/slider/context.d.ts.map +1 -1
- package/lib/typescript/slider/index.d.ts +4 -4
- package/lib/typescript/slider/index.d.ts.map +1 -1
- package/lib/typescript/slider/types.d.ts +44 -8
- package/lib/typescript/slider/types.d.ts.map +1 -1
- package/lib/typescript/slider/utils.d.ts +8 -0
- package/lib/typescript/slider/utils.d.ts.map +1 -1
- package/package.json +3 -3
- package/src/slider/SliderRail.tsx +56 -8
- package/src/slider/SliderRoot.tsx +255 -136
- package/src/slider/SliderThumb.tsx +240 -88
- package/src/slider/context.tsx +53 -9
- package/src/slider/index.ts +9 -2
- package/src/slider/types.ts +49 -8
- package/src/slider/useSliderPointer.ts +1 -1
- package/src/slider/utils.ts +76 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["toPercentDimension","percent","String","SLIDER_MARKER_SIZE","exports","clamp","value","min","max","Math","getThumbTravel","trackSize","_thumbSize","percentToThumbOffset","thumbSize","percentToFillExtent","pointerCoordToRatio","pointerCoord","trackStart","pointerCoordToVerticalRatio","snapToStep","step","stepped","round","valueToPercent","percentToValue","ratio","formatSliderValue","Number","isInteger","toFixed","
|
|
1
|
+
{"version":3,"names":["toPercentDimension","percent","String","SLIDER_MARKER_SIZE","exports","clamp","value","min","max","Math","getThumbTravel","trackSize","_thumbSize","percentToThumbOffset","thumbSize","percentToFillExtent","pointerCoordToRatio","pointerCoord","trackStart","pointerCoordToVerticalRatio","snapToStep","step","stepped","round","valueToPercent","percentToValue","ratio","formatSliderValue","Number","isInteger","toFixed","arraysEqual","a","b","length","every","index","normalizeSliderValue","input","defaultScalar","Array","isArray","denormalizeSliderValue","values","asArray","getClosestValueIndex","target","closestIndex","closestDistance","abs","distance","getFillExtent","startPercent","endPercent","offset","start","end","span","halfThumb","endUnderThumb","getMarkerStepValues","decimals","getDecimalPlaces","stepCount","floor","from","_","roundTo","push","n","str","dotIndex","indexOf","factor","percentToMarkerCenterOffset","markerSize","getMarkerPositionStyle","orientation","trackLayout","width","height","position","left","bottom","marginLeft","top","marginTop","transform","translateY","translateX"],"sourceRoot":"../../../src","sources":["slider/utils.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -7,6 +7,7 @@ import { assignRef } from '../utils/assignRef';
|
|
|
7
7
|
import { dataAttributes } from '../utils/dataAttributes';
|
|
8
8
|
import { useSliderContext } from './context';
|
|
9
9
|
import { getPointerCoords, getRatioFromPagePoint, useWebSliderDrag } from './useSliderPointer';
|
|
10
|
+
import { clamp, getClosestValueIndex } from './utils';
|
|
10
11
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
11
12
|
export const SliderRail = /*#__PURE__*/forwardRef(({
|
|
12
13
|
asChild,
|
|
@@ -16,16 +17,22 @@ export const SliderRail = /*#__PURE__*/forwardRef(({
|
|
|
16
17
|
...props
|
|
17
18
|
}, ref) => {
|
|
18
19
|
const {
|
|
20
|
+
values,
|
|
21
|
+
min,
|
|
22
|
+
max,
|
|
23
|
+
step,
|
|
19
24
|
orientation,
|
|
20
25
|
isDisabled,
|
|
21
26
|
isDragging,
|
|
22
27
|
trackLayout,
|
|
23
28
|
thumbSize,
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
29
|
+
setNearestThumbValueFromRatio,
|
|
30
|
+
setThumbValueFromRatio,
|
|
31
|
+
setDraggingIndex,
|
|
32
|
+
setTrackLayout
|
|
27
33
|
} = useSliderContext();
|
|
28
34
|
const railRef = useRef(null);
|
|
35
|
+
const draggingThumbIndexRef = useRef(null);
|
|
29
36
|
const measureRail = useCallback(() => {
|
|
30
37
|
const node = railRef.current;
|
|
31
38
|
if (!node?.measureInWindow) {
|
|
@@ -44,12 +51,26 @@ export const SliderRail = /*#__PURE__*/forwardRef(({
|
|
|
44
51
|
measureRail();
|
|
45
52
|
onLayout?.(event);
|
|
46
53
|
}, [measureRail, onLayout]);
|
|
54
|
+
const setRatioForRailDrag = useCallback((ratio, complete) => {
|
|
55
|
+
const thumbIndex = draggingThumbIndexRef.current;
|
|
56
|
+
if (thumbIndex == null) {
|
|
57
|
+
setNearestThumbValueFromRatio(ratio, complete);
|
|
58
|
+
return;
|
|
59
|
+
}
|
|
60
|
+
setThumbValueFromRatio(thumbIndex, ratio, complete);
|
|
61
|
+
if (complete) {
|
|
62
|
+
draggingThumbIndexRef.current = null;
|
|
63
|
+
}
|
|
64
|
+
}, [setNearestThumbValueFromRatio, setThumbValueFromRatio]);
|
|
65
|
+
const setDraggingForRail = useCallback(dragging => {
|
|
66
|
+
setDraggingIndex(dragging ? draggingThumbIndexRef.current : null);
|
|
67
|
+
}, [setDraggingIndex]);
|
|
47
68
|
const {
|
|
48
69
|
startDrag
|
|
49
70
|
} = useWebSliderDrag({
|
|
50
71
|
isDisabled,
|
|
51
|
-
setIsDragging,
|
|
52
|
-
setValueFromRatio,
|
|
72
|
+
setIsDragging: setDraggingForRail,
|
|
73
|
+
setValueFromRatio: setRatioForRailDrag,
|
|
53
74
|
trackLayout,
|
|
54
75
|
orientation,
|
|
55
76
|
thumbSize
|
|
@@ -62,8 +83,8 @@ export const SliderRail = /*#__PURE__*/forwardRef(({
|
|
|
62
83
|
x,
|
|
63
84
|
y
|
|
64
85
|
} = getPointerCoords(event.nativeEvent);
|
|
65
|
-
|
|
66
|
-
}, [isDisabled, orientation,
|
|
86
|
+
setNearestThumbValueFromRatio(getRatioFromPagePoint(x, y, trackLayout, orientation, thumbSize), true);
|
|
87
|
+
}, [isDisabled, orientation, setNearestThumbValueFromRatio, thumbSize, trackLayout]);
|
|
67
88
|
const handlePress = useCallback(event => {
|
|
68
89
|
updateFromEvent(event);
|
|
69
90
|
}, [updateFromEvent]);
|
|
@@ -86,8 +107,13 @@ export const SliderRail = /*#__PURE__*/forwardRef(({
|
|
|
86
107
|
x,
|
|
87
108
|
y
|
|
88
109
|
} = getPointerCoords(event.nativeEvent);
|
|
89
|
-
|
|
90
|
-
|
|
110
|
+
const ratio = getRatioFromPagePoint(x, y, freshLayout, orientation, thumbSize);
|
|
111
|
+
const target = min + clamp(ratio, 0, 1) * (max - min);
|
|
112
|
+
const nearestIndex = getClosestValueIndex(values, target);
|
|
113
|
+
draggingThumbIndexRef.current = nearestIndex;
|
|
114
|
+
setDraggingIndex(nearestIndex);
|
|
115
|
+
startDrag(x, y, ratio, freshLayout);
|
|
116
|
+
}, [isDisabled, max, min, orientation, setDraggingIndex, setTrackLayout, startDrag, step, thumbSize, values]);
|
|
91
117
|
const Comp = asChild ? Slot : View;
|
|
92
118
|
return /*#__PURE__*/_jsx(Pressable, {
|
|
93
119
|
accessibilityRole: "none",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["forwardRef","useCallback","useRef","Platform","Pressable","StyleSheet","View","Slot","assignRef","dataAttributes","useSliderContext","getPointerCoords","getRatioFromPagePoint","useWebSliderDrag","jsx","_jsx","SliderRail","asChild","style","onLayout","children","props","ref","orientation","isDisabled","isDragging","trackLayout","thumbSize","
|
|
1
|
+
{"version":3,"names":["forwardRef","useCallback","useRef","Platform","Pressable","StyleSheet","View","Slot","assignRef","dataAttributes","useSliderContext","getPointerCoords","getRatioFromPagePoint","useWebSliderDrag","clamp","getClosestValueIndex","jsx","_jsx","SliderRail","asChild","style","onLayout","children","props","ref","values","min","max","step","orientation","isDisabled","isDragging","trackLayout","thumbSize","setNearestThumbValueFromRatio","setThumbValueFromRatio","setDraggingIndex","setTrackLayout","railRef","draggingThumbIndexRef","measureRail","node","current","measureInWindow","x","y","width","height","handleLayout","event","setRatioForRailDrag","ratio","complete","thumbIndex","setDraggingForRail","dragging","startDrag","setIsDragging","setValueFromRatio","updateFromEvent","nativeEvent","handlePress","handlePointerDown","OS","preventDefault","rect","getBoundingClientRect","freshLayout","left","top","target","nearestIndex","Comp","accessibilityRole","accessible","disabled","onPress","undefined","onPointerDown","accessibilityElementsHidden","importantForAccessibility","tabIndex","styles","railHitArea","slot","displayName","create","absoluteFillObject","justifyContent","alignItems"],"sourceRoot":"../../../src","sources":["slider/SliderRail.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,15 +1,16 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
import { forwardRef, useCallback, useMemo, useRef, useState } from 'react';
|
|
3
|
+
import { forwardRef, useCallback, useEffect, useMemo, useRef, useState } from 'react';
|
|
4
4
|
import { Platform, View } from 'react-native';
|
|
5
5
|
import { composeEventHandlers, useControllableState } from '@cdx-ui/utils';
|
|
6
|
-
import { useFocus } from '@react-native-aria/focus';
|
|
7
6
|
import { Slot } from '../slot';
|
|
8
7
|
import { dataAttributes } from '../utils/dataAttributes';
|
|
9
8
|
import { SliderProvider } from './context';
|
|
10
|
-
import { clamp, formatSliderValue, snapToStep, valueToPercent } from './utils';
|
|
9
|
+
import { arraysEqual, clamp, denormalizeSliderValue, formatSliderValue, getClosestValueIndex, normalizeSliderValue, snapToStep, valueToPercent } from './utils';
|
|
11
10
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
12
|
-
|
|
11
|
+
function isArrayShape(value, defaultValue) {
|
|
12
|
+
return Array.isArray(value) || Array.isArray(defaultValue);
|
|
13
|
+
}
|
|
13
14
|
export const SliderRoot = /*#__PURE__*/forwardRef(({
|
|
14
15
|
asChild,
|
|
15
16
|
value: valueProp,
|
|
@@ -23,44 +24,122 @@ export const SliderRoot = /*#__PURE__*/forwardRef(({
|
|
|
23
24
|
orientation = 'horizontal',
|
|
24
25
|
accessibilityLabel,
|
|
25
26
|
accessibilityValue: accessibilityValueProp,
|
|
26
|
-
accessibilityRole = 'adjustable',
|
|
27
|
-
role = 'slider',
|
|
28
27
|
children,
|
|
29
28
|
onLayout,
|
|
30
29
|
...props
|
|
31
30
|
}, ref) => {
|
|
32
31
|
const [trackLayout, setTrackLayoutState] = useState(null);
|
|
33
32
|
const [thumbSize, setThumbSizeState] = useState(20);
|
|
34
|
-
const [
|
|
35
|
-
const [
|
|
36
|
-
const [
|
|
37
|
-
const
|
|
38
|
-
const
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
const
|
|
43
|
-
const [
|
|
44
|
-
prop: valueProp,
|
|
45
|
-
defaultProp:
|
|
46
|
-
onChange
|
|
33
|
+
const [draggingIndex, setDraggingIndex] = useState(null);
|
|
34
|
+
const [hoveredIndex, setHoveredIndex] = useState(null);
|
|
35
|
+
const [focusedIndex, setFocusedIndex] = useState(null);
|
|
36
|
+
const [registeredThumbCounts, setRegisteredThumbCounts] = useState(() => new Map());
|
|
37
|
+
const deprecatedThumbRef = useRef(null);
|
|
38
|
+
const isRangeShapeRef = useRef(isArrayShape(valueProp, defaultValue));
|
|
39
|
+
isRangeShapeRef.current = isArrayShape(valueProp, defaultValue);
|
|
40
|
+
const resolvedDefaultScalar = typeof defaultValue === 'number' ? defaultValue : min;
|
|
41
|
+
const resolvedDefaultArray = Array.isArray(defaultValue) ? [...defaultValue] : [resolvedDefaultScalar];
|
|
42
|
+
const [values, setValuesState] = useControllableState({
|
|
43
|
+
prop: valueProp == null ? undefined : normalizeSliderValue(valueProp, min, resolvedDefaultScalar),
|
|
44
|
+
defaultProp: resolvedDefaultArray,
|
|
45
|
+
onChange: onChange ? next => {
|
|
46
|
+
const denormalized = denormalizeSliderValue(next, isRangeShapeRef.current);
|
|
47
|
+
if (isRangeShapeRef.current) {
|
|
48
|
+
onChange(denormalized);
|
|
49
|
+
} else {
|
|
50
|
+
onChange(denormalized);
|
|
51
|
+
}
|
|
52
|
+
} : undefined
|
|
47
53
|
});
|
|
48
|
-
const
|
|
49
|
-
|
|
50
|
-
|
|
54
|
+
const currentValues = useMemo(() => {
|
|
55
|
+
const source = values ?? resolvedDefaultArray;
|
|
56
|
+
return source.map(value => snapToStep(value, min, max, step));
|
|
57
|
+
}, [max, min, resolvedDefaultArray, step, values]);
|
|
58
|
+
const registeredThumbCount = [...registeredThumbCounts.values()].reduce((total, count) => total + count, 0);
|
|
59
|
+
const hasDuplicateThumbIndices = [...registeredThumbCounts.values()].some(count => count > 1);
|
|
60
|
+
const thumbCount = Math.max(currentValues.length, registeredThumbCount);
|
|
61
|
+
const registerThumb = useCallback(index => {
|
|
62
|
+
setRegisteredThumbCounts(prev => {
|
|
63
|
+
const next = new Map(prev);
|
|
64
|
+
next.set(index, (next.get(index) ?? 0) + 1);
|
|
65
|
+
return next;
|
|
66
|
+
});
|
|
67
|
+
return () => {
|
|
68
|
+
setRegisteredThumbCounts(prev => {
|
|
69
|
+
const count = prev.get(index);
|
|
70
|
+
if (count == null) {
|
|
71
|
+
return prev;
|
|
72
|
+
}
|
|
73
|
+
const next = new Map(prev);
|
|
74
|
+
if (count === 1) {
|
|
75
|
+
next.delete(index);
|
|
76
|
+
} else {
|
|
77
|
+
next.set(index, count - 1);
|
|
78
|
+
}
|
|
79
|
+
return next;
|
|
80
|
+
});
|
|
81
|
+
};
|
|
82
|
+
}, []);
|
|
83
|
+
useEffect(() => {
|
|
84
|
+
if (!__DEV__) {
|
|
85
|
+
return;
|
|
86
|
+
}
|
|
87
|
+
const renderedCount = registeredThumbCount;
|
|
88
|
+
if (renderedCount > 0 && renderedCount !== currentValues.length) {
|
|
89
|
+
console.warn(`[Slider] Thumb count (${String(renderedCount)}) does not match value count (${String(currentValues.length)}).`);
|
|
90
|
+
}
|
|
91
|
+
if (hasDuplicateThumbIndices) {
|
|
92
|
+
console.warn('[Slider] Multiple thumbs share the same `index` prop.');
|
|
93
|
+
}
|
|
94
|
+
}, [currentValues.length, hasDuplicateThumbIndices, registeredThumbCount]);
|
|
95
|
+
const getThumbMinValue = useCallback(index => {
|
|
96
|
+
if (index <= 0) {
|
|
97
|
+
return min;
|
|
98
|
+
}
|
|
99
|
+
return currentValues[index - 1] ?? min;
|
|
100
|
+
}, [currentValues, min]);
|
|
101
|
+
const getThumbMaxValue = useCallback(index => {
|
|
102
|
+
if (index >= currentValues.length - 1) {
|
|
103
|
+
return max;
|
|
104
|
+
}
|
|
105
|
+
return currentValues[index + 1] ?? max;
|
|
106
|
+
}, [currentValues, max]);
|
|
107
|
+
const getThumbPercent = useCallback(index => valueToPercent(currentValues[index] ?? min, min, max), [currentValues, max, min]);
|
|
108
|
+
const commitValues = useCallback((nextValues, complete = false) => {
|
|
51
109
|
if (isDisabled) {
|
|
52
110
|
return;
|
|
53
111
|
}
|
|
54
|
-
const
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
112
|
+
const unchanged = arraysEqual(nextValues, currentValues);
|
|
113
|
+
if (!unchanged) {
|
|
114
|
+
setValuesState(nextValues);
|
|
115
|
+
}
|
|
116
|
+
if (complete && onChangeComplete) {
|
|
117
|
+
const denormalized = denormalizeSliderValue(unchanged ? currentValues : nextValues, isRangeShapeRef.current);
|
|
118
|
+
if (isRangeShapeRef.current) {
|
|
119
|
+
onChangeComplete(denormalized);
|
|
120
|
+
} else {
|
|
121
|
+
onChangeComplete(denormalized);
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
}, [currentValues, isDisabled, onChangeComplete, setValuesState]);
|
|
125
|
+
const setThumbValue = useCallback((index, next, complete = false) => {
|
|
126
|
+
if (isDisabled || index < 0 || index >= currentValues.length) {
|
|
127
|
+
return;
|
|
58
128
|
}
|
|
59
|
-
|
|
60
|
-
|
|
129
|
+
const snapped = snapToStep(next, getThumbMinValue(index), getThumbMaxValue(index), step);
|
|
130
|
+
const nextValues = [...currentValues];
|
|
131
|
+
nextValues[index] = snapped;
|
|
132
|
+
commitValues(nextValues, complete);
|
|
133
|
+
}, [commitValues, currentValues, getThumbMaxValue, getThumbMinValue, isDisabled, step]);
|
|
134
|
+
const setThumbValueFromRatio = useCallback((index, ratio, complete = false) => {
|
|
61
135
|
const next = min + clamp(ratio, 0, 1) * (max - min);
|
|
62
|
-
|
|
63
|
-
}, [max, min,
|
|
136
|
+
setThumbValue(index, next, complete);
|
|
137
|
+
}, [max, min, setThumbValue]);
|
|
138
|
+
const setNearestThumbValueFromRatio = useCallback((ratio, complete = false) => {
|
|
139
|
+
const target = min + clamp(ratio, 0, 1) * (max - min);
|
|
140
|
+
const index = getClosestValueIndex(currentValues, target);
|
|
141
|
+
setThumbValue(index, target, complete);
|
|
142
|
+
}, [currentValues, max, min, setThumbValue]);
|
|
64
143
|
const setTrackLayout = useCallback(layout => {
|
|
65
144
|
setTrackLayoutState(prev => {
|
|
66
145
|
if (prev !== null && prev.width === layout.width && prev.height === layout.height && prev.x === layout.x && prev.y === layout.y) {
|
|
@@ -72,107 +151,86 @@ export const SliderRoot = /*#__PURE__*/forwardRef(({
|
|
|
72
151
|
const setThumbSize = useCallback(size => {
|
|
73
152
|
setThumbSizeState(prev => prev === size ? prev : size);
|
|
74
153
|
}, []);
|
|
75
|
-
const
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
};
|
|
89
|
-
}, [accessibilityValueProp, currentValue, max, min]);
|
|
90
|
-
const getValueLabel = useCallback(() => accessibilityValue.text, [accessibilityValue.text]);
|
|
91
|
-
const handleKeyDown = useCallback(event => {
|
|
92
|
-
if (isDisabled) {
|
|
93
|
-
return;
|
|
94
|
-
}
|
|
95
|
-
const key = event.nativeEvent.key;
|
|
96
|
-
if (!key || !STEP_KEYS.has(key)) {
|
|
97
|
-
return;
|
|
98
|
-
}
|
|
99
|
-
if (Platform.OS === 'web') {
|
|
100
|
-
event.preventDefault();
|
|
101
|
-
}
|
|
102
|
-
let next = currentValue;
|
|
103
|
-
if (key === 'ArrowUp' || key === 'ArrowRight') {
|
|
104
|
-
next = currentValue + step;
|
|
105
|
-
} else if (key === 'ArrowDown' || key === 'ArrowLeft') {
|
|
106
|
-
next = currentValue - step;
|
|
107
|
-
} else if (key === 'Home') {
|
|
108
|
-
next = min;
|
|
109
|
-
} else if (key === 'End') {
|
|
110
|
-
next = max;
|
|
111
|
-
}
|
|
112
|
-
setValue(next, true);
|
|
113
|
-
}, [currentValue, isDisabled, max, min, setValue, step]);
|
|
154
|
+
const getThumbValueLabel = useCallback(index => formatSliderValue(currentValues[index] ?? min), [currentValues, min]);
|
|
155
|
+
const isThumbDragging = useCallback(index => draggingIndex === index, [draggingIndex]);
|
|
156
|
+
const setValue = useCallback((next, complete = false) => setThumbValue(0, next, complete), [setThumbValue]);
|
|
157
|
+
const setValueFromRatio = useCallback((ratio, complete = false) => setNearestThumbValueFromRatio(ratio, complete), [setNearestThumbValueFromRatio]);
|
|
158
|
+
const setIsDragging = useCallback(dragging => {
|
|
159
|
+
setDraggingIndex(dragging ? 0 : null);
|
|
160
|
+
}, []);
|
|
161
|
+
const setIsHovered = useCallback(hovered => {
|
|
162
|
+
setHoveredIndex(hovered ? 0 : null);
|
|
163
|
+
}, []);
|
|
164
|
+
const setIsFocused = useCallback(focused => {
|
|
165
|
+
setFocusedIndex(focused ? 0 : null);
|
|
166
|
+
}, []);
|
|
114
167
|
const contextValue = useMemo(() => ({
|
|
115
|
-
|
|
168
|
+
values: currentValues,
|
|
116
169
|
min,
|
|
117
170
|
max,
|
|
118
171
|
step,
|
|
119
|
-
percent,
|
|
120
172
|
orientation,
|
|
121
173
|
isDisabled,
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
174
|
+
draggingIndex,
|
|
175
|
+
hoveredIndex,
|
|
176
|
+
focusedIndex,
|
|
125
177
|
trackLayout,
|
|
126
178
|
thumbSize,
|
|
127
|
-
|
|
128
|
-
|
|
179
|
+
thumbCount,
|
|
180
|
+
groupAccessibilityLabel: accessibilityLabel,
|
|
181
|
+
accessibilityValueProp,
|
|
182
|
+
getThumbPercent,
|
|
183
|
+
getThumbMinValue,
|
|
184
|
+
getThumbMaxValue,
|
|
185
|
+
setThumbValue,
|
|
186
|
+
setThumbValueFromRatio,
|
|
187
|
+
setNearestThumbValueFromRatio,
|
|
129
188
|
setTrackLayout,
|
|
130
189
|
setThumbSize,
|
|
190
|
+
setDraggingIndex,
|
|
191
|
+
setHoveredIndex,
|
|
192
|
+
setFocusedIndex,
|
|
193
|
+
getThumbValueLabel,
|
|
194
|
+
registerThumb,
|
|
195
|
+
isThumbDragging,
|
|
196
|
+
value: currentValues[0] ?? min,
|
|
197
|
+
percent: getThumbPercent(0),
|
|
198
|
+
isDragging: draggingIndex !== null,
|
|
199
|
+
isHovered: hoveredIndex !== null,
|
|
200
|
+
isFocused: focusedIndex !== null,
|
|
201
|
+
getValueLabel: () => getThumbValueLabel(0),
|
|
202
|
+
setValue,
|
|
203
|
+
setValueFromRatio,
|
|
204
|
+
thumbRef: deprecatedThumbRef,
|
|
131
205
|
setIsDragging,
|
|
132
206
|
setIsHovered,
|
|
133
|
-
setIsFocused
|
|
134
|
-
|
|
135
|
-
thumbRef
|
|
136
|
-
}), [currentValue, getValueLabel, isDisabled, isDragging, isFocused, isFocusedState, isHovered, max, min, orientation, percent, setTrackLayout, setThumbSize, setValue, setValueFromRatio, step, thumbSize, trackLayout, thumbRef]);
|
|
207
|
+
setIsFocused
|
|
208
|
+
}), [accessibilityLabel, accessibilityValueProp, currentValues, draggingIndex, focusedIndex, getThumbMaxValue, getThumbMinValue, getThumbPercent, getThumbValueLabel, hoveredIndex, isDisabled, isThumbDragging, max, min, orientation, registerThumb, setIsDragging, setIsFocused, setIsHovered, setNearestThumbValueFromRatio, setThumbSize, setThumbValue, setThumbValueFromRatio, setTrackLayout, setValue, setValueFromRatio, step, thumbCount, thumbSize, trackLayout]);
|
|
137
209
|
const dataAttrs = dataAttributes({
|
|
138
210
|
slot: 'slider',
|
|
139
211
|
orientation,
|
|
140
212
|
disabled: isDisabled,
|
|
141
|
-
dragging:
|
|
142
|
-
hover:
|
|
143
|
-
focus:
|
|
144
|
-
|
|
213
|
+
dragging: draggingIndex !== null,
|
|
214
|
+
hover: hoveredIndex !== null,
|
|
215
|
+
focus: focusedIndex !== null,
|
|
216
|
+
values: currentValues.join(','),
|
|
145
217
|
min: String(min),
|
|
146
218
|
max: String(max)
|
|
147
219
|
});
|
|
148
220
|
const Comp = asChild ? Slot : View;
|
|
149
221
|
const handleLayout = composeEventHandlers(onLayout, () => undefined);
|
|
150
|
-
const webKeyProps = Platform.OS === 'web' ? {
|
|
151
|
-
tabIndex: isDisabled ? -1 : 0,
|
|
152
|
-
onKeyDown: composeEventHandlers(props.onKeyDown, handleKeyDown)
|
|
153
|
-
} : {};
|
|
154
222
|
return /*#__PURE__*/_jsx(SliderProvider, {
|
|
155
223
|
value: contextValue,
|
|
156
224
|
children: /*#__PURE__*/_jsx(Comp, {
|
|
157
225
|
ref: ref,
|
|
158
226
|
...props,
|
|
159
|
-
...focusProps,
|
|
160
|
-
...webKeyProps,
|
|
161
227
|
onLayout: handleLayout,
|
|
162
|
-
onFocus: composeEventHandlers(composeEventHandlers(props.onFocus, focusProps.onFocus), () => setIsFocusedState(true)),
|
|
163
|
-
onBlur: composeEventHandlers(composeEventHandlers(props.onBlur, focusProps.onBlur), () => setIsFocusedState(false)),
|
|
164
|
-
accessibilityRole: accessibilityRole,
|
|
165
228
|
accessibilityLabel: accessibilityLabel,
|
|
166
|
-
accessibilityValue: accessibilityValue,
|
|
167
229
|
accessibilityState: {
|
|
168
230
|
disabled: isDisabled
|
|
169
231
|
},
|
|
170
|
-
"aria-valuemin": min,
|
|
171
|
-
"aria-valuemax": max,
|
|
172
|
-
"aria-valuenow": currentValue,
|
|
173
|
-
"aria-orientation": orientation,
|
|
174
232
|
"aria-disabled": isDisabled,
|
|
175
|
-
role:
|
|
233
|
+
role: Platform.OS === 'web' ? 'group' : undefined,
|
|
176
234
|
...dataAttrs,
|
|
177
235
|
children: children
|
|
178
236
|
})
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["forwardRef","useCallback","useMemo","useRef","useState","Platform","View","composeEventHandlers","useControllableState","useFocus","Slot","dataAttributes","SliderProvider","clamp","formatSliderValue","snapToStep","valueToPercent","jsx","_jsx","STEP_KEYS","Set","SliderRoot","asChild","value","valueProp","defaultValue","onChange","onChangeComplete","min","max","step","isDisabled","orientation","accessibilityLabel","accessibilityValue","accessibilityValueProp","accessibilityRole","role","children","onLayout","props","ref","trackLayout","setTrackLayoutState","thumbSize","setThumbSizeState","isDragging","setIsDragging","isHovered","setIsHovered","isFocusedState","setIsFocusedState","thumbRef","focusProps","isFocused","resolvedDefault","setValueState","prop","defaultProp","currentValue","percent","setValue","next","complete","snapped","setValueFromRatio","ratio","setTrackLayout","layout","prev","width","height","x","y","setThumbSize","size","defaults","now","text","undefined","getValueLabel","handleKeyDown","event","key","nativeEvent","has","OS","preventDefault","contextValue","setIsFocused","dataAttrs","slot","disabled","dragging","hover","focus","String","Comp","handleLayout","webKeyProps","tabIndex","onKeyDown","onFocus","onBlur","accessibilityState","displayName"],"sourceRoot":"../../../src","sources":["slider/SliderRoot.tsx"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["forwardRef","useCallback","useEffect","useMemo","useRef","useState","Platform","View","composeEventHandlers","useControllableState","Slot","dataAttributes","SliderProvider","arraysEqual","clamp","denormalizeSliderValue","formatSliderValue","getClosestValueIndex","normalizeSliderValue","snapToStep","valueToPercent","jsx","_jsx","isArrayShape","value","defaultValue","Array","isArray","SliderRoot","asChild","valueProp","onChange","onChangeComplete","min","max","step","isDisabled","orientation","accessibilityLabel","accessibilityValue","accessibilityValueProp","children","onLayout","props","ref","trackLayout","setTrackLayoutState","thumbSize","setThumbSizeState","draggingIndex","setDraggingIndex","hoveredIndex","setHoveredIndex","focusedIndex","setFocusedIndex","registeredThumbCounts","setRegisteredThumbCounts","Map","deprecatedThumbRef","isRangeShapeRef","current","resolvedDefaultScalar","resolvedDefaultArray","values","setValuesState","prop","undefined","defaultProp","next","denormalized","currentValues","source","map","registeredThumbCount","reduce","total","count","hasDuplicateThumbIndices","some","thumbCount","Math","length","registerThumb","index","prev","set","get","delete","__DEV__","renderedCount","console","warn","String","getThumbMinValue","getThumbMaxValue","getThumbPercent","commitValues","nextValues","complete","unchanged","setThumbValue","snapped","setThumbValueFromRatio","ratio","setNearestThumbValueFromRatio","target","setTrackLayout","layout","width","height","x","y","setThumbSize","size","getThumbValueLabel","isThumbDragging","setValue","setValueFromRatio","setIsDragging","dragging","setIsHovered","hovered","setIsFocused","focused","contextValue","groupAccessibilityLabel","percent","isDragging","isHovered","isFocused","getValueLabel","thumbRef","dataAttrs","slot","disabled","hover","focus","join","Comp","handleLayout","accessibilityState","role","OS","displayName"],"sourceRoot":"../../../src","sources":["slider/SliderRoot.tsx"],"mappings":"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","ignoreList":[]}
|