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