@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
@@ -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","getMarkerStepValues","decimals","getDecimalPlaces","stepCount","floor","values","Array","from","length","_","index","roundTo","push","n","str","dotIndex","indexOf","factor","percentToMarkerCenterOffset","markerSize","getMarkerPositionStyle","orientation","trackLayout","width","height","offset","position","left","bottom","marginLeft","top","marginTop","transform","translateY","translateX"],"sourceRoot":"../../../src","sources":["slider/utils.ts"],"mappings":"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","ignoreList":[]}
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
- setValueFromRatio,
25
- setTrackLayout,
26
- setIsDragging
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
- setValueFromRatio(getRatioFromPagePoint(x, y, trackLayout, orientation, thumbSize), true);
66
- }, [isDisabled, orientation, setValueFromRatio, thumbSize, trackLayout]);
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
- startDrag(x, y, undefined, freshLayout);
90
- }, [isDisabled, setTrackLayout, startDrag]);
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","setValueFromRatio","setTrackLayout","setIsDragging","railRef","measureRail","node","current","measureInWindow","x","y","width","height","handleLayout","event","startDrag","updateFromEvent","nativeEvent","handlePress","handlePointerDown","OS","preventDefault","rect","getBoundingClientRect","freshLayout","left","top","undefined","Comp","accessibilityRole","accessible","disabled","onPress","onPointerDown","accessibilityElementsHidden","importantForAccessibility","tabIndex","styles","railHitArea","slot","dragging","displayName","create","absoluteFillObject","justifyContent","alignItems"],"sourceRoot":"../../../src","sources":["slider/SliderRail.tsx"],"mappings":"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","ignoreList":[]}
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":";;AAAA,SAASA,UAAU,EAAEC,WAAW,EAAEC,MAAM,QAAQ,OAAO;AACvD,SACEC,QAAQ,EACRC,SAAS,EACTC,UAAU,EACVC,IAAI,QAIC,cAAc;AACrB,SAASC,IAAI,QAAQ,SAAS;AAC9B,SAASC,SAAS,QAAQ,oBAAoB;AAC9C,SAASC,cAAc,QAAQ,yBAAyB;AACxD,SAASC,gBAAgB,QAAQ,WAAW;AAE5C,SAASC,gBAAgB,EAAEC,qBAAqB,EAAEC,gBAAgB,QAAQ,oBAAoB;AAC9F,SAASC,KAAK,EAAEC,oBAAoB,QAAQ,SAAS;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAItD,OAAO,MAAMC,UAAU,gBAAGlB,UAAU,CAClC,CAAC;EAAEmB,OAAO;EAAEC,KAAK;EAAEC,QAAQ;EAAEC,QAAQ;EAAE,GAAGC;AAAM,CAAC,EAAEC,GAAG,KAAK;EACzD,MAAM;IACJC,MAAM;IACNC,GAAG;IACHC,GAAG;IACHC,IAAI;IACJC,WAAW;IACXC,UAAU;IACVC,UAAU;IACVC,WAAW;IACXC,SAAS;IACTC,6BAA6B;IAC7BC,sBAAsB;IACtBC,gBAAgB;IAChBC;EACF,CAAC,GAAG3B,gBAAgB,CAAC,CAAC;EAEtB,MAAM4B,OAAO,GAAGpC,MAAM,CAAO,IAAI,CAAC;EAClC,MAAMqC,qBAAqB,GAAGrC,MAAM,CAAgB,IAAI,CAAC;EAEzD,MAAMsC,WAAW,GAAGvC,WAAW,CAAC,MAAM;IACpC,MAAMwC,IAAI,GAAGH,OAAO,CAACI,OAAO;IAC5B,IAAI,CAACD,IAAI,EAAEE,eAAe,EAAE;MAC1B;IACF;IACAF,IAAI,CAACE,eAAe,CAAC,CAACC,CAAC,EAAEC,CAAC,EAAEC,KAAK,EAAEC,MAAM,KAAK;MAC5CV,cAAc,CAAC;QAAEO,CAAC;QAAEC,CAAC;QAAEC,KAAK;QAAEC;MAAO,CAAC,CAAC;IACzC,CAAC,CAAC;EACJ,CAAC,EAAE,CAACV,cAAc,CAAC,CAAC;EAEpB,MAAMW,YAAY,GAAG/C,WAAW,CAC7BgD,KAAwB,IAAK;IAC5BT,WAAW,CAAC,CAAC;IACbnB,QAAQ,GAAG4B,KAAK,CAAC;EACnB,CAAC,EACD,CAACT,WAAW,EAAEnB,QAAQ,CACxB,CAAC;EAED,MAAM6B,mBAAmB,GAAGjD,WAAW,CACrC,CAACkD,KAAa,EAAEC,QAAkB,KAAK;IACrC,MAAMC,UAAU,GAAGd,qBAAqB,CAACG,OAAO;IAChD,IAAIW,UAAU,IAAI,IAAI,EAAE;MACtBnB,6BAA6B,CAACiB,KAAK,EAAEC,QAAQ,CAAC;MAC9C;IACF;IACAjB,sBAAsB,CAACkB,UAAU,EAAEF,KAAK,EAAEC,QAAQ,CAAC;IACnD,IAAIA,QAAQ,EAAE;MACZb,qBAAqB,CAACG,OAAO,GAAG,IAAI;IACtC;EACF,CAAC,EACD,CAACR,6BAA6B,EAAEC,sBAAsB,CACxD,CAAC;EAED,MAAMmB,kBAAkB,GAAGrD,WAAW,CACnCsD,QAAiB,IAAK;IACrBnB,gBAAgB,CAACmB,QAAQ,GAAGhB,qBAAqB,CAACG,OAAO,GAAG,IAAI,CAAC;EACnE,CAAC,EACD,CAACN,gBAAgB,CACnB,CAAC;EAED,MAAM;IAAEoB;EAAU,CAAC,GAAG3C,gBAAgB,CAAC;IACrCiB,UAAU;IACV2B,aAAa,EAAEH,kBAAkB;IACjCI,iBAAiB,EAAER,mBAAmB;IACtClB,WAAW;IACXH,WAAW;IACXI;EACF,CAAC,CAAC;EAEF,MAAM0B,eAAe,GAAG1D,WAAW,CAChCgD,KAA4B,IAAK;IAChC,IAAInB,UAAU,EAAE;MACd;IACF;IACA,MAAM;MAAEc,CAAC;MAAEC;IAAE,CAAC,GAAGlC,gBAAgB,CAACsC,KAAK,CAACW,WAAW,CAAC;IACpD1B,6BAA6B,CAC3BtB,qBAAqB,CAACgC,CAAC,EAAEC,CAAC,EAAEb,WAAW,EAAEH,WAAW,EAAEI,SAAS,CAAC,EAChE,IACF,CAAC;EACH,CAAC,EACD,CAACH,UAAU,EAAED,WAAW,EAAEK,6BAA6B,EAAED,SAAS,EAAED,WAAW,CACjF,CAAC;EAED,MAAM6B,WAAW,GAAG5D,WAAW,CAC5BgD,KAA4B,IAAK;IAChCU,eAAe,CAACV,KAAK,CAAC;EACxB,CAAC,EACD,CAACU,eAAe,CAClB,CAAC;EAED,MAAMG,iBAAiB,GAAG7D,WAAW,CAClCgD,KAA4B,IAAK;IAChC,IAAI9C,QAAQ,CAAC4D,EAAE,KAAK,KAAK,IAAIjC,UAAU,EAAE;MACvC;IACF;IACAmB,KAAK,CAACe,cAAc,CAAC,CAAC;IAEtB,MAAMvB,IAAI,GAAGH,OAAO,CAACI,OAAwC;IAC7D,IAAI,CAACD,IAAI,EAAE;IACX,MAAMwB,IAAI,GAAGxB,IAAI,CAACyB,qBAAqB,CAAC,CAAC;IACzC,MAAMC,WAAW,GAAG;MAAEvB,CAAC,EAAEqB,IAAI,CAACG,IAAI;MAAEvB,CAAC,EAAEoB,IAAI,CAACI,GAAG;MAAEvB,KAAK,EAAEmB,IAAI,CAACnB,KAAK;MAAEC,MAAM,EAAEkB,IAAI,CAAClB;IAAO,CAAC;IACzFV,cAAc,CAAC8B,WAAW,CAAC;IAE3B,MAAM;MAAEvB,CAAC;MAAEC;IAAE,CAAC,GAAGlC,gBAAgB,CAACsC,KAAK,CAACW,WAAW,CAAC;IACpD,MAAMT,KAAK,GAAGvC,qBAAqB,CAACgC,CAAC,EAAEC,CAAC,EAAEsB,WAAW,EAAEtC,WAAW,EAAEI,SAAS,CAAC;IAC9E,MAAMqC,MAAM,GAAG5C,GAAG,GAAGZ,KAAK,CAACqC,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,IAAIxB,GAAG,GAAGD,GAAG,CAAC;IACrD,MAAM6C,YAAY,GAAGxD,oBAAoB,CAACU,MAAM,EAAE6C,MAAM,CAAC;IACzD/B,qBAAqB,CAACG,OAAO,GAAG6B,YAAY;IAC5CnC,gBAAgB,CAACmC,YAAY,CAAC;IAC9Bf,SAAS,CAACZ,CAAC,EAAEC,CAAC,EAAEM,KAAK,EAAEgB,WAAW,CAAC;EACrC,CAAC,EACD,CACErC,UAAU,EACVH,GAAG,EACHD,GAAG,EACHG,WAAW,EACXO,gBAAgB,EAChBC,cAAc,EACdmB,SAAS,EACT5B,IAAI,EACJK,SAAS,EACTR,MAAM,CAEV,CAAC;EAED,MAAM+C,IAAI,GAAGrD,OAAO,GAAGZ,IAAI,GAAGD,IAAI;EAElC,oBACEW,IAAA,CAACb,SAAS;IACRqE,iBAAiB,EAAC,MAAM;IACxBC,UAAU,EAAE,KAAM;IAClBC,QAAQ,EAAE7C,UAAW;IACrB8C,OAAO,EAAEzE,QAAQ,CAAC4D,EAAE,KAAK,KAAK,GAAGc,SAAS,GAAGhB,WAAY;IACzDiB,aAAa,EACX3E,QAAQ,CAAC4D,EAAE,KAAK,KAAK,GAChBD,iBAAiB,GAClBe,SACL;IACDE,2BAA2B;IAC3BC,yBAAyB,EAAC,qBAAqB;IAC/C,mBAAW;IACXC,QAAQ,EAAE,CAAC,CAAE;IACb7D,KAAK,EAAE8D,MAAM,CAACC,WAAY;IAAA7D,QAAA,eAE1BL,IAAA,CAACuD,IAAI;MACHhD,GAAG,EAAGiB,IAAiB,IAAK;QAC1BH,OAAO,CAACI,OAAO,GAAGD,IAAI;QACtBjC,SAAS,CAACgB,GAAG,EAAEiB,IAAI,CAAC;MACtB,CAAE;MAAA,GACElB,KAAK;MACTF,QAAQ,EAAE2B,YAAa;MACvB5B,KAAK,EAAEA,KAAM;MAAA,GACTX,cAAc,CAAC;QAAE2E,IAAI,EAAE,aAAa;QAAE7B,QAAQ,EAAExB;MAAW,CAAC,CAAC;MAAAT,QAAA,EAEhEA;IAAQ,CACL;EAAC,CACE,CAAC;AAEhB,CACF,CAAC;AAEDJ,UAAU,CAACmE,WAAW,GAAG,YAAY;AAErC,MAAMH,MAAM,GAAG7E,UAAU,CAACiF,MAAM,CAAC;EAC/BH,WAAW,EAAE;IACX,GAAG9E,UAAU,CAACkF,kBAAkB;IAChCC,cAAc,EAAE,QAAQ;IACxBC,UAAU,EAAE;EACd;AACF,CAAC,CAAC","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
- const STEP_KEYS = new Set(['ArrowUp', 'ArrowRight', 'ArrowDown', 'ArrowLeft', 'Home', 'End']);
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 [isDragging, setIsDragging] = useState(false);
35
- const [isHovered, setIsHovered] = useState(false);
36
- const [isFocusedState, setIsFocusedState] = useState(false);
37
- const thumbRef = useRef(null);
38
- const {
39
- focusProps,
40
- isFocused
41
- } = useFocus();
42
- const resolvedDefault = defaultValue ?? min;
43
- const [value, setValueState] = useControllableState({
44
- prop: valueProp,
45
- defaultProp: resolvedDefault,
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 currentValue = snapToStep(value ?? resolvedDefault, min, max, step);
49
- const percent = valueToPercent(currentValue, min, max);
50
- const setValue = useCallback((next, complete = false) => {
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 snapped = snapToStep(next, min, max, step);
55
- setValueState(snapped);
56
- if (complete) {
57
- onChangeComplete?.(snapped);
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
- }, [isDisabled, max, min, onChangeComplete, setValueState, step]);
60
- const setValueFromRatio = useCallback((ratio, complete = false) => {
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
- setValue(next, complete);
63
- }, [max, min, setValue]);
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 accessibilityValue = useMemo(() => {
76
- const defaults = {
77
- min,
78
- max,
79
- now: currentValue,
80
- text: formatSliderValue(currentValue)
81
- };
82
- if (accessibilityValueProp === undefined) {
83
- return defaults;
84
- }
85
- return {
86
- ...defaults,
87
- ...accessibilityValueProp
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
- value: currentValue,
168
+ values: currentValues,
116
169
  min,
117
170
  max,
118
171
  step,
119
- percent,
120
172
  orientation,
121
173
  isDisabled,
122
- isDragging,
123
- isHovered,
124
- isFocused: isFocused || isFocusedState,
174
+ draggingIndex,
175
+ hoveredIndex,
176
+ focusedIndex,
125
177
  trackLayout,
126
178
  thumbSize,
127
- setValue,
128
- setValueFromRatio,
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: setIsFocusedState,
134
- getValueLabel,
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: isDragging,
142
- hover: isHovered,
143
- focus: isFocused,
144
- value: String(currentValue),
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: 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":[]}