@react-native-aria/slider 0.2.10 → 0.2.12

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 (66) hide show
  1. package/lib/commonjs/index.js +0 -2
  2. package/lib/commonjs/index.js.map +1 -1
  3. package/lib/commonjs/textSelection.js +13 -8
  4. package/lib/commonjs/textSelection.js.map +1 -1
  5. package/lib/commonjs/useMove.js +4 -13
  6. package/lib/commonjs/useMove.js.map +1 -1
  7. package/lib/commonjs/useMove.web.js +5 -27
  8. package/lib/commonjs/useMove.web.js.map +1 -1
  9. package/lib/commonjs/usePanResponder.js +0 -9
  10. package/lib/commonjs/usePanResponder.js.map +1 -1
  11. package/lib/commonjs/useSlider.js +9 -25
  12. package/lib/commonjs/useSlider.js.map +1 -1
  13. package/lib/commonjs/useSlider.web.js +20 -52
  14. package/lib/commonjs/useSlider.web.js.map +1 -1
  15. package/lib/commonjs/useSliderThumb.js +7 -30
  16. package/lib/commonjs/useSliderThumb.js.map +1 -1
  17. package/lib/commonjs/useSliderThumb.web.js +10 -33
  18. package/lib/commonjs/useSliderThumb.web.js.map +1 -1
  19. package/lib/commonjs/utils.js +1 -5
  20. package/lib/commonjs/utils.js.map +1 -1
  21. package/lib/module/index.js.map +1 -1
  22. package/lib/module/textSelection.js +7 -5
  23. package/lib/module/textSelection.js.map +1 -1
  24. package/lib/module/useMove.js +3 -5
  25. package/lib/module/useMove.js.map +1 -1
  26. package/lib/module/useMove.web.js +6 -24
  27. package/lib/module/useMove.web.js.map +1 -1
  28. package/lib/module/usePanResponder.js +0 -5
  29. package/lib/module/usePanResponder.js.map +1 -1
  30. package/lib/module/useSlider.js +9 -19
  31. package/lib/module/useSlider.js.map +1 -1
  32. package/lib/module/useSlider.web.js +20 -43
  33. package/lib/module/useSlider.web.js.map +1 -1
  34. package/lib/module/useSliderThumb.js +7 -22
  35. package/lib/module/useSliderThumb.js.map +1 -1
  36. package/lib/module/useSliderThumb.web.js +10 -24
  37. package/lib/module/useSliderThumb.web.js.map +1 -1
  38. package/lib/module/utils.js +0 -2
  39. package/lib/module/utils.js.map +1 -1
  40. package/lib/typescript/index.d.ts +1 -0
  41. package/lib/typescript/index.d.ts.map +1 -0
  42. package/lib/typescript/textSelection.d.ts +1 -0
  43. package/lib/typescript/textSelection.d.ts.map +1 -0
  44. package/lib/typescript/useMove.d.ts +1 -0
  45. package/lib/typescript/useMove.d.ts.map +1 -0
  46. package/lib/typescript/useMove.web.d.ts +1 -0
  47. package/lib/typescript/useMove.web.d.ts.map +1 -0
  48. package/lib/typescript/usePanResponder.d.ts +2 -1
  49. package/lib/typescript/usePanResponder.d.ts.map +1 -0
  50. package/lib/typescript/useSlider.d.ts +1 -0
  51. package/lib/typescript/useSlider.d.ts.map +1 -0
  52. package/lib/typescript/useSlider.web.d.ts +1 -0
  53. package/lib/typescript/useSlider.web.d.ts.map +1 -0
  54. package/lib/typescript/useSliderThumb.d.ts +1 -0
  55. package/lib/typescript/useSliderThumb.d.ts.map +1 -0
  56. package/lib/typescript/useSliderThumb.web.d.ts +1 -0
  57. package/lib/typescript/useSliderThumb.web.d.ts.map +1 -0
  58. package/lib/typescript/utils.d.ts +1 -0
  59. package/lib/typescript/utils.d.ts.map +1 -0
  60. package/package.json +8 -4
  61. package/src/useMove.ts +0 -1
  62. package/src/useMove.web.ts +3 -0
  63. package/src/useSlider.web.ts +3 -1
  64. package/babel.config.js +0 -3
  65. package/scripts/bootstrap.js +0 -24
  66. package/tsconfig.build.json +0 -5
@@ -5,26 +5,25 @@ import { setInteractionModality } from '@react-aria/interactions';
5
5
  import { useLabel } from '@react-aria/label';
6
6
  import { mapDomPropsToRN, isRTL } from '@react-native-aria/utils';
7
7
  import { useMove } from './useMove';
8
-
9
8
  function useSliderWeb(props, state, trackLayout, isReversed) {
10
- var _labelProps$id;
11
-
12
9
  let {
13
10
  labelProps,
14
11
  fieldProps
15
12
  } = useLabel(props);
16
- let isVertical = props.orientation === 'vertical'; // Attach id of the label to the state so it can be accessed by useSliderThumb.
13
+ let isVertical = props.orientation === 'vertical';
17
14
 
18
- sliderIds.set(state, (_labelProps$id = labelProps.id) !== null && _labelProps$id !== void 0 ? _labelProps$id : fieldProps.id);
15
+ // Attach id of the label to the state so it can be accessed by useSliderThumb.
16
+ sliderIds.set(state, labelProps.id ?? fieldProps.id);
19
17
  const direction = isRTL() ? 'rtl' : undefined;
20
18
  let {
21
19
  addGlobalListener,
22
20
  removeGlobalListener
23
- } = useGlobalListeners(); // When the user clicks or drags the track, we want the motion to set and drag the
21
+ } = useGlobalListeners();
22
+
23
+ // When the user clicks or drags the track, we want the motion to set and drag the
24
24
  // closest thumb. Hence we also need to install useMove() on the track element.
25
25
  // Here, we keep track of which index is the "closest" to the drag start point.
26
26
  // It is set onMouseDown/onTouchDown; see trackProps below.
27
-
28
27
  const realTimeTrackDraggingIndex = useRef(null);
29
28
  const stateRef = useRef(null);
30
29
  stateRef.current = state;
@@ -36,19 +35,15 @@ function useSliderWeb(props, state, trackLayout, isReversed) {
36
35
  onMoveStart() {
37
36
  currentPosition.current = null;
38
37
  },
39
-
40
38
  onMove({
41
39
  deltaX,
42
40
  deltaY
43
41
  }) {
44
42
  let size = isVertical ? trackLayout.height : trackLayout.width;
45
-
46
43
  if (currentPosition.current == null) {
47
44
  currentPosition.current = stateRef.current.getThumbPercent(realTimeTrackDraggingIndex.current) * size;
48
45
  }
49
-
50
46
  let delta = isVertical ? deltaY : deltaX;
51
-
52
47
  if (reverseX) {
53
48
  if (!isVertical) {
54
49
  delta = -delta;
@@ -58,35 +53,29 @@ function useSliderWeb(props, state, trackLayout, isReversed) {
58
53
  delta = -delta;
59
54
  }
60
55
  }
61
-
62
56
  currentPosition.current += delta;
63
-
64
57
  if (realTimeTrackDraggingIndex.current != null) {
65
58
  const percent = clamp(currentPosition.current / size, 0, 1);
66
59
  stateRef.current.setThumbPercent(realTimeTrackDraggingIndex.current, percent);
67
60
  }
68
61
  },
69
-
70
62
  onMoveEnd() {
71
63
  if (realTimeTrackDraggingIndex.current != null) {
72
64
  stateRef.current.setThumbDragging(realTimeTrackDraggingIndex.current, false);
73
65
  realTimeTrackDraggingIndex.current = null;
74
66
  }
75
67
  }
76
-
77
68
  });
78
69
  let currentPointer = useRef(undefined);
79
-
80
70
  let onDownTrack = (e, id, clientX, clientY) => {
81
71
  // We only trigger track-dragging if the user clicks on the track itself and nothing is currently being dragged.
82
72
  if (!props.isDisabled && state.values.every((_, i) => !state.isThumbDragging(i))) {
83
- let size = isVertical ? trackLayout.height : trackLayout.width; // Find the closest thumb
84
-
73
+ let size = isVertical ? trackLayout.height : trackLayout.width;
74
+ // Find the closest thumb
85
75
  const trackPosition = trackLayout[isVertical ? 'top' : 'left'];
86
76
  const clickPosition = isVertical ? clientY : clientX;
87
77
  const offset = clickPosition - trackPosition;
88
78
  let percent = offset / size;
89
-
90
79
  if (reverseX) {
91
80
  if (!isVertical) {
92
81
  percent = 1 - percent;
@@ -96,12 +85,11 @@ function useSliderWeb(props, state, trackLayout, isReversed) {
96
85
  percent = 1 - percent;
97
86
  }
98
87
  }
88
+ let value = state.getPercentValue(percent);
99
89
 
100
- let value = state.getPercentValue(percent); // to find the closet thumb we split the array based on the first thumb position to the "right/end" of the click.
101
-
90
+ // to find the closet thumb we split the array based on the first thumb position to the "right/end" of the click.
102
91
  let closestThumb;
103
92
  let split = state.values.findIndex(v => value - v < 0);
104
-
105
93
  if (split === 0) {
106
94
  // If the index is zero then the closetThumb is the first one
107
95
  closestThumb = split;
@@ -110,16 +98,16 @@ function useSliderWeb(props, state, trackLayout, isReversed) {
110
98
  closestThumb = state.values.length - 1;
111
99
  } else {
112
100
  let lastLeft = state.values[split - 1];
113
- let firstRight = state.values[split]; // Pick the last left/start thumb, unless they are stacked on top of each other, then pick the right/end one
114
-
101
+ let firstRight = state.values[split];
102
+ // Pick the last left/start thumb, unless they are stacked on top of each other, then pick the right/end one
115
103
  if (Math.abs(lastLeft - value) < Math.abs(firstRight - value)) {
116
104
  closestThumb = split - 1;
117
105
  } else {
118
106
  closestThumb = split;
119
107
  }
120
- } // Confirm that the found closest thumb is editable, not disabled, and move it
121
-
108
+ }
122
109
 
110
+ // Confirm that the found closest thumb is editable, not disabled, and move it
123
111
  if (closestThumb >= 0 && state.isThumbEditable(closestThumb)) {
124
112
  // Don't unfocus anything
125
113
  e.preventDefault();
@@ -136,41 +124,36 @@ function useSliderWeb(props, state, trackLayout, isReversed) {
136
124
  }
137
125
  }
138
126
  };
139
-
140
127
  let onUpTrack = e => {
141
- var _e$pointerId, _e$changedTouches;
142
-
143
- let id = (_e$pointerId = e.pointerId) !== null && _e$pointerId !== void 0 ? _e$pointerId : (_e$changedTouches = e.changedTouches) === null || _e$changedTouches === void 0 ? void 0 : _e$changedTouches[0].identifier;
144
-
128
+ var _e$changedTouches;
129
+ let id = e.pointerId ?? ((_e$changedTouches = e.changedTouches) === null || _e$changedTouches === void 0 ? void 0 : _e$changedTouches[0].identifier);
145
130
  if (id === currentPointer.current) {
146
131
  if (realTimeTrackDraggingIndex.current != null) {
147
132
  state.setThumbDragging(realTimeTrackDraggingIndex.current, false);
148
133
  realTimeTrackDraggingIndex.current = null;
149
134
  }
150
-
151
135
  removeGlobalListener(window, 'mouseup', onUpTrack, false);
152
136
  removeGlobalListener(window, 'touchend', onUpTrack, false);
153
137
  removeGlobalListener(window, 'pointerup', onUpTrack, false);
154
138
  }
155
139
  };
156
140
 
157
- if (labelProps.htmlFor) {
141
+ //@ts-ignore
142
+ if (labelProps.htmlFor !== undefined) {
158
143
  // Ideally the `for` attribute should point to the first thumb, but VoiceOver on iOS
159
144
  // causes this to override the `aria-labelledby` on the thumb. This causes the first
160
145
  // thumb to only be announced as the slider label rather than its individual name as well.
161
146
  // See https://bugs.webkit.org/show_bug.cgi?id=172464.
147
+ //@ts-ignore
162
148
  delete labelProps.htmlFor;
163
-
164
149
  labelProps.onClick = () => {
165
150
  var _document$getElementB;
166
-
167
151
  // Safari does not focus <input type="range"> elements when clicking on an associated <label>,
168
152
  // so do it manually. In addition, make sure we show the focus ring.
169
- (_document$getElementB = document.getElementById(getSliderThumbId(state, 0))) === null || _document$getElementB === void 0 ? void 0 : _document$getElementB.focus();
153
+ (_document$getElementB = document.getElementById(getSliderThumbId(state, 0))) === null || _document$getElementB === void 0 || _document$getElementB.focus();
170
154
  setInteractionModality('keyboard');
171
155
  };
172
156
  }
173
-
174
157
  return {
175
158
  labelProps,
176
159
  // The root element of the Slider will have role="group" to group together
@@ -185,22 +168,17 @@ function useSliderWeb(props, state, trackLayout, isReversed) {
185
168
  if (e.button !== 0 || e.altKey || e.ctrlKey || e.metaKey) {
186
169
  return;
187
170
  }
188
-
189
171
  onDownTrack(e, undefined, e.clientX, e.clientY);
190
172
  },
191
-
192
173
  onPointerDown(e) {
193
174
  if (e.pointerType === 'mouse' && (e.button !== 0 || e.altKey || e.ctrlKey || e.metaKey)) {
194
175
  return;
195
176
  }
196
-
197
177
  onDownTrack(e, e.pointerId, e.clientX, e.clientY);
198
178
  },
199
-
200
179
  onTouchStart(e) {
201
180
  onDownTrack(e, e.changedTouches[0].identifier, e.changedTouches[0].clientX, e.changedTouches[0].clientY);
202
181
  }
203
-
204
182
  }, moveProps),
205
183
  outputProps: {
206
184
  'htmlFor': state.values.map((_, index) => getSliderThumbId(state, index)).join(' '),
@@ -208,7 +186,6 @@ function useSliderWeb(props, state, trackLayout, isReversed) {
208
186
  }
209
187
  };
210
188
  }
211
-
212
189
  export const useSlider = (props, state, ref, isReversed) => {
213
190
  let {
214
191
  groupProps: webGroupProps,
@@ -1 +1 @@
1
- {"version":3,"sources":["useSlider.web.ts"],"names":["clamp","mergeProps","useGlobalListeners","getSliderThumbId","sliderIds","useRef","setInteractionModality","useLabel","mapDomPropsToRN","isRTL","useMove","useSliderWeb","props","state","trackLayout","isReversed","labelProps","fieldProps","isVertical","orientation","set","id","direction","undefined","addGlobalListener","removeGlobalListener","realTimeTrackDraggingIndex","stateRef","current","reverseX","currentPosition","moveProps","onMoveStart","onMove","deltaX","deltaY","size","height","width","getThumbPercent","delta","percent","setThumbPercent","onMoveEnd","setThumbDragging","currentPointer","onDownTrack","e","clientX","clientY","isDisabled","values","every","_","i","isThumbDragging","trackPosition","clickPosition","offset","value","getPercentValue","closestThumb","split","findIndex","v","length","lastLeft","firstRight","Math","abs","isThumbEditable","preventDefault","setFocusedThumb","setThumbValue","window","onUpTrack","pointerId","changedTouches","identifier","htmlFor","onClick","document","getElementById","focus","groupProps","role","trackProps","onMouseDown","button","altKey","ctrlKey","metaKey","onPointerDown","pointerType","onTouchStart","outputProps","map","index","join","useSlider","ref","webGroupProps","rest"],"mappings":"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","sourcesContent":["import { AriaSliderProps } from '@react-types/slider';\nimport { clamp, mergeProps, useGlobalListeners } from '@react-aria/utils';\nimport { getSliderThumbId, sliderIds } from './utils';\nimport React, { useRef } from 'react';\nimport { setInteractionModality } from '@react-aria/interactions';\nimport { SliderState } from '@react-stately/slider';\nimport { useLabel } from '@react-aria/label';\nimport { mapDomPropsToRN, isRTL } from '@react-native-aria/utils';\nimport { useMove } from './useMove';\n\ninterface SliderAria {\n /** Props for the label element. */\n labelProps: any;\n\n /** Props for the root element of the slider component; groups slider inputs. */\n groupProps: any;\n\n /** Props for the track element. */\n trackProps: any;\n\n /** Props for the output element, displaying the value of the slider thumbs. */\n outputProps: any;\n}\n\nfunction useSliderWeb(\n props: AriaSliderProps,\n state: SliderState,\n trackLayout: {\n height: number;\n width: number;\n top: number;\n left: number;\n x: number;\n y: number;\n },\n isReversed?: boolean\n): SliderAria {\n let { labelProps, fieldProps } = useLabel(props);\n\n let isVertical = props.orientation === 'vertical';\n\n // Attach id of the label to the state so it can be accessed by useSliderThumb.\n sliderIds.set(state, labelProps.id ?? fieldProps.id);\n\n const direction = isRTL() ? 'rtl' : undefined;\n\n let { addGlobalListener, removeGlobalListener } = useGlobalListeners();\n\n // When the user clicks or drags the track, we want the motion to set and drag the\n // closest thumb. Hence we also need to install useMove() on the track element.\n // Here, we keep track of which index is the \"closest\" to the drag start point.\n // It is set onMouseDown/onTouchDown; see trackProps below.\n const realTimeTrackDraggingIndex = useRef<number | null>(null);\n\n const stateRef = useRef<SliderState>(null);\n stateRef.current = state;\n const reverseX = isReversed || direction === 'rtl';\n\n const currentPosition = useRef<number>(null);\n const { moveProps } = useMove({\n onMoveStart() {\n currentPosition.current = null;\n },\n onMove({ deltaX, deltaY }) {\n let size = isVertical ? trackLayout.height : trackLayout.width;\n\n if (currentPosition.current == null) {\n currentPosition.current =\n stateRef.current.getThumbPercent(realTimeTrackDraggingIndex.current) *\n size;\n }\n\n let delta = isVertical ? deltaY : deltaX;\n if (reverseX) {\n if (!isVertical) {\n delta = -delta;\n }\n } else {\n if (isVertical) {\n delta = -delta;\n }\n }\n\n currentPosition.current += delta;\n\n if (realTimeTrackDraggingIndex.current != null) {\n const percent = clamp(currentPosition.current / size, 0, 1);\n stateRef.current.setThumbPercent(\n realTimeTrackDraggingIndex.current,\n percent\n );\n }\n },\n onMoveEnd() {\n if (realTimeTrackDraggingIndex.current != null) {\n stateRef.current.setThumbDragging(\n realTimeTrackDraggingIndex.current,\n false\n );\n realTimeTrackDraggingIndex.current = null;\n }\n },\n });\n\n let currentPointer = useRef<number | null | undefined>(undefined);\n let onDownTrack = (\n e: React.UIEvent,\n id: number,\n clientX: number,\n clientY: number\n ) => {\n // We only trigger track-dragging if the user clicks on the track itself and nothing is currently being dragged.\n if (\n !props.isDisabled &&\n state.values.every((_, i) => !state.isThumbDragging(i))\n ) {\n let size = isVertical ? trackLayout.height : trackLayout.width;\n // Find the closest thumb\n const trackPosition = trackLayout[isVertical ? 'top' : 'left'];\n const clickPosition = isVertical ? clientY : clientX;\n const offset = clickPosition - trackPosition;\n let percent = offset / size;\n if (reverseX) {\n if (!isVertical) {\n percent = 1 - percent;\n }\n } else {\n if (isVertical) {\n percent = 1 - percent;\n }\n }\n let value = state.getPercentValue(percent);\n\n // to find the closet thumb we split the array based on the first thumb position to the \"right/end\" of the click.\n let closestThumb;\n let split = state.values.findIndex((v) => value - v < 0);\n if (split === 0) {\n // If the index is zero then the closetThumb is the first one\n closestThumb = split;\n } else if (split === -1) {\n // If no index is found they've clicked past all the thumbs\n closestThumb = state.values.length - 1;\n } else {\n let lastLeft = state.values[split - 1];\n let firstRight = state.values[split];\n // Pick the last left/start thumb, unless they are stacked on top of each other, then pick the right/end one\n if (Math.abs(lastLeft - value) < Math.abs(firstRight - value)) {\n closestThumb = split - 1;\n } else {\n closestThumb = split;\n }\n }\n\n // Confirm that the found closest thumb is editable, not disabled, and move it\n if (closestThumb >= 0 && state.isThumbEditable(closestThumb)) {\n // Don't unfocus anything\n e.preventDefault();\n\n realTimeTrackDraggingIndex.current = closestThumb;\n state.setFocusedThumb(closestThumb);\n currentPointer.current = id;\n\n state.setThumbDragging(realTimeTrackDraggingIndex.current, true);\n state.setThumbValue(closestThumb, value);\n\n addGlobalListener(window, 'mouseup', onUpTrack, false);\n addGlobalListener(window, 'touchend', onUpTrack, false);\n addGlobalListener(window, 'pointerup', onUpTrack, false);\n } else {\n realTimeTrackDraggingIndex.current = null;\n }\n }\n };\n\n let onUpTrack = (e) => {\n let id = e.pointerId ?? e.changedTouches?.[0].identifier;\n if (id === currentPointer.current) {\n if (realTimeTrackDraggingIndex.current != null) {\n state.setThumbDragging(realTimeTrackDraggingIndex.current, false);\n realTimeTrackDraggingIndex.current = null;\n }\n\n removeGlobalListener(window, 'mouseup', onUpTrack, false);\n removeGlobalListener(window, 'touchend', onUpTrack, false);\n removeGlobalListener(window, 'pointerup', onUpTrack, false);\n }\n };\n\n if (labelProps.htmlFor) {\n // Ideally the `for` attribute should point to the first thumb, but VoiceOver on iOS\n // causes this to override the `aria-labelledby` on the thumb. This causes the first\n // thumb to only be announced as the slider label rather than its individual name as well.\n // See https://bugs.webkit.org/show_bug.cgi?id=172464.\n delete labelProps.htmlFor;\n labelProps.onClick = () => {\n // Safari does not focus <input type=\"range\"> elements when clicking on an associated <label>,\n // so do it manually. In addition, make sure we show the focus ring.\n document.getElementById(getSliderThumbId(state, 0))?.focus();\n setInteractionModality('keyboard');\n };\n }\n\n return {\n labelProps,\n // The root element of the Slider will have role=\"group\" to group together\n // all the thumb inputs in the Slider. The label of the Slider will\n // be used to label the group.\n groupProps: {\n role: 'group',\n ...fieldProps,\n },\n trackProps: mergeProps(\n {\n onMouseDown(e: React.MouseEvent<HTMLElement>) {\n if (e.button !== 0 || e.altKey || e.ctrlKey || e.metaKey) {\n return;\n }\n onDownTrack(e, undefined, e.clientX, e.clientY);\n },\n onPointerDown(e: React.PointerEvent<HTMLElement>) {\n if (\n e.pointerType === 'mouse' &&\n (e.button !== 0 || e.altKey || e.ctrlKey || e.metaKey)\n ) {\n return;\n }\n onDownTrack(e, e.pointerId, e.clientX, e.clientY);\n },\n onTouchStart(e: React.TouchEvent<HTMLElement>) {\n onDownTrack(\n e,\n e.changedTouches[0].identifier,\n e.changedTouches[0].clientX,\n e.changedTouches[0].clientY\n );\n },\n },\n moveProps\n ),\n outputProps: {\n 'htmlFor': state.values\n .map((_, index) => getSliderThumbId(state, index))\n .join(' '),\n 'aria-live': 'off',\n },\n };\n}\n\nexport const useSlider = (\n props: any,\n state: any,\n ref: any,\n isReversed?: boolean\n) => {\n let { groupProps: webGroupProps, ...rest } = useSliderWeb(\n props,\n state,\n ref,\n isReversed\n );\n let groupProps = mapDomPropsToRN(webGroupProps);\n let labelProps = mapDomPropsToRN(rest.labelProps);\n return { groupProps, ...rest, labelProps };\n};\n"]}
1
+ {"version":3,"names":["clamp","mergeProps","useGlobalListeners","getSliderThumbId","sliderIds","useRef","setInteractionModality","useLabel","mapDomPropsToRN","isRTL","useMove","useSliderWeb","props","state","trackLayout","isReversed","labelProps","fieldProps","isVertical","orientation","set","id","direction","undefined","addGlobalListener","removeGlobalListener","realTimeTrackDraggingIndex","stateRef","current","reverseX","currentPosition","moveProps","onMoveStart","onMove","deltaX","deltaY","size","height","width","getThumbPercent","delta","percent","setThumbPercent","onMoveEnd","setThumbDragging","currentPointer","onDownTrack","e","clientX","clientY","isDisabled","values","every","_","i","isThumbDragging","trackPosition","clickPosition","offset","value","getPercentValue","closestThumb","split","findIndex","v","length","lastLeft","firstRight","Math","abs","isThumbEditable","preventDefault","setFocusedThumb","setThumbValue","window","onUpTrack","_e$changedTouches","pointerId","changedTouches","identifier","htmlFor","onClick","_document$getElementB","document","getElementById","focus","groupProps","role","trackProps","onMouseDown","button","altKey","ctrlKey","metaKey","onPointerDown","pointerType","onTouchStart","outputProps","map","index","join","useSlider","ref","webGroupProps","rest"],"sourceRoot":"../../src","sources":["useSlider.web.ts"],"mappings":"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","ignoreList":[]}
@@ -4,7 +4,6 @@ import { useRef, useState } from 'react';
4
4
  import { useLabel } from '@react-aria/label';
5
5
  import { useMove } from './useMove';
6
6
  import { isRTL } from '@react-native-aria/utils';
7
-
8
7
  /**
9
8
  * Provides behavior and accessibility for a thumb of a slider component.
10
9
  *
@@ -12,8 +11,6 @@ import { isRTL } from '@react-native-aria/utils';
12
11
  * @param state Slider state, created via `useSliderState`.
13
12
  */
14
13
  export function useSliderThumb(opts, state, isReversed) {
15
- var _opts$ariaLabelledby;
16
-
17
14
  let {
18
15
  index,
19
16
  isDisabled,
@@ -25,9 +22,10 @@ export function useSliderThumb(opts, state, isReversed) {
25
22
  const {
26
23
  labelProps,
27
24
  fieldProps
28
- } = useLabel({ ...opts,
25
+ } = useLabel({
26
+ ...opts,
29
27
  'id': getSliderThumbId(state, index),
30
- 'aria-labelledby': `${labelId} ${(_opts$ariaLabelledby = opts['aria-labelledby']) !== null && _opts$ariaLabelledby !== void 0 ? _opts$ariaLabelledby : ''}`.trim()
28
+ 'aria-labelledby': `${labelId} ${opts['aria-labelledby'] ?? ''}`.trim()
31
29
  });
32
30
  const stateRef = useRef(null);
33
31
  stateRef.current = state;
@@ -42,19 +40,15 @@ export function useSliderThumb(opts, state, isReversed) {
42
40
  let size = isVertical ? trackLayout.height : trackLayout.width;
43
41
  setStartPosition(stateRef.current.getThumbPercent(index) * size);
44
42
  },
45
-
46
43
  onMove({
47
44
  deltaX,
48
45
  deltaY
49
46
  }) {
50
47
  let size = isVertical ? trackLayout.height : trackLayout.width;
51
-
52
48
  if (currentPosition.current == null) {
53
49
  currentPosition.current = stateRef.current.getThumbPercent(index) * size;
54
50
  }
55
-
56
51
  let delta = isVertical ? deltaY : deltaX;
57
-
58
52
  if (reverseX) {
59
53
  if (!isVertical) {
60
54
  delta = -delta;
@@ -64,43 +58,34 @@ export function useSliderThumb(opts, state, isReversed) {
64
58
  delta = -delta;
65
59
  }
66
60
  }
67
-
68
61
  const position = startPosition + delta;
69
62
  stateRef.current.setThumbPercent(index, clamp(position / size, 0, 1));
70
63
  },
71
-
72
64
  onMoveEnd() {
73
65
  state.setThumbDragging(index, false);
74
66
  }
75
-
76
67
  });
77
68
  state.setThumbEditable(index, !isDisabled);
78
-
79
69
  const onAccessibilityAction = event => {
80
- var _ref, _ref2;
81
-
82
70
  const max = state.getThumbMinValue(index);
83
71
  const min = state.getThumbMaxValue(index);
84
72
  const value = state.getThumbValue(index);
85
- const incrementValue = Math.min((_ref = value + state.step) !== null && _ref !== void 0 ? _ref : 1, max);
86
- const decrementValue = Math.max((_ref2 = value - state.step) !== null && _ref2 !== void 0 ? _ref2 : 1, min);
87
-
73
+ const incrementValue = Math.min(value + state.step ?? 1, max);
74
+ const decrementValue = Math.max(value - state.step ?? 1, min);
88
75
  switch (event.nativeEvent.actionName) {
89
76
  case 'increment':
90
77
  state.setThumbValue(index, incrementValue);
91
78
  break;
92
-
93
79
  case 'decrement':
94
80
  state.setThumbValue(index, decrementValue);
95
81
  break;
96
-
97
82
  default:
98
83
  break;
99
84
  }
100
85
  };
101
-
102
86
  return {
103
- inputProps: { ...fieldProps,
87
+ inputProps: {
88
+ ...fieldProps,
104
89
  'disabled': isDisabled,
105
90
  'role': 'adjustable',
106
91
  'aria-value': {
@@ -1 +1 @@
1
- {"version":3,"sources":["useSliderThumb.ts"],"names":["clamp","getSliderThumbId","sliderIds","useRef","useState","useLabel","useMove","isRTL","useSliderThumb","opts","state","isReversed","index","isDisabled","trackLayout","isVertical","orientation","direction","undefined","labelId","get","labelProps","fieldProps","trim","stateRef","current","reverseX","currentPosition","startPosition","setStartPosition","moveProps","onMoveStart","setThumbDragging","size","height","width","getThumbPercent","onMove","deltaX","deltaY","delta","position","setThumbPercent","onMoveEnd","setThumbEditable","onAccessibilityAction","event","max","getThumbMinValue","min","getThumbMaxValue","value","getThumbValue","incrementValue","Math","step","decrementValue","nativeEvent","actionName","setThumbValue","inputProps","now","name","label","thumbProps"],"mappings":"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","sourcesContent":["import { AriaSliderThumbProps } from '@react-types/slider';\nimport { clamp } from '@react-aria/utils';\nimport { getSliderThumbId, sliderIds } from './utils';\nimport { useRef, useState } from 'react';\nimport { SliderState } from '@react-stately/slider';\nimport { useLabel } from '@react-aria/label';\nimport { useMove } from './useMove';\nimport { isRTL } from '@react-native-aria/utils';\n\ninterface SliderThumbAria {\n /** Props for the root thumb element; handles the dragging motion. */\n thumbProps: any;\n\n /** Props for the visually hidden range input element. */\n inputProps: any;\n\n /** Props for the label element for this thumb (optional). */\n labelProps: any;\n}\n\ninterface SliderThumbOptions extends AriaSliderThumbProps {\n /** A ref to the track element. */\n trackLayout: any;\n /** A ref to the thumb input element. */\n inputRef: any;\n}\n\n/**\n * Provides behavior and accessibility for a thumb of a slider component.\n *\n * @param opts Options for this Slider thumb.\n * @param state Slider state, created via `useSliderState`.\n */\nexport function useSliderThumb(\n opts: SliderThumbOptions,\n state: SliderState,\n isReversed?: boolean\n): SliderThumbAria {\n let { index, isDisabled, trackLayout } = opts;\n\n let isVertical = opts.orientation === 'vertical';\n const direction = isRTL() ? 'rtl' : undefined;\n\n let labelId = sliderIds.get(state);\n const { labelProps, fieldProps } = useLabel({\n ...opts,\n 'id': getSliderThumbId(state, index),\n 'aria-labelledby': `${labelId} ${opts['aria-labelledby'] ?? ''}`.trim(),\n });\n\n const stateRef = useRef<SliderState>(null);\n stateRef.current = state;\n let reverseX = isReversed || direction === 'rtl';\n let currentPosition = useRef<number>(null);\n\n const [startPosition, setStartPosition] = useState(0);\n\n let { moveProps } = useMove({\n onMoveStart() {\n state.setThumbDragging(index, true);\n let size = isVertical ? trackLayout.height : trackLayout.width;\n setStartPosition(stateRef.current.getThumbPercent(index) * size);\n },\n onMove({ deltaX, deltaY }) {\n let size = isVertical ? trackLayout.height : trackLayout.width;\n\n if (currentPosition.current == null) {\n currentPosition.current =\n stateRef.current.getThumbPercent(index) * size;\n }\n\n let delta = isVertical ? deltaY : deltaX;\n if (reverseX) {\n if (!isVertical) {\n delta = -delta;\n }\n } else {\n if (isVertical) {\n delta = -delta;\n }\n }\n\n const position = startPosition + delta;\n\n stateRef.current.setThumbPercent(index, clamp(position / size, 0, 1));\n },\n onMoveEnd() {\n state.setThumbDragging(index, false);\n },\n });\n\n state.setThumbEditable(index, !isDisabled);\n\n const onAccessibilityAction = (event: any) => {\n const max = state.getThumbMinValue(index);\n const min = state.getThumbMaxValue(index);\n const value = state.getThumbValue(index);\n\n const incrementValue = Math.min(value + state.step ?? 1, max);\n const decrementValue = Math.max(value - state.step ?? 1, min);\n\n switch (event.nativeEvent.actionName) {\n case 'increment':\n state.setThumbValue(index, incrementValue);\n break;\n case 'decrement':\n state.setThumbValue(index, decrementValue);\n break;\n default:\n break;\n }\n };\n\n return {\n inputProps: {\n ...fieldProps,\n 'disabled': isDisabled,\n 'role': 'adjustable',\n 'aria-value': {\n min: state.getThumbMinValue(index),\n max: state.getThumbMaxValue(index),\n now: state.getThumbValue(index),\n },\n 'accessibilityActions': [\n {\n name: 'increment',\n label: 'Increment',\n },\n {\n name: 'decrement',\n label: 'Decrement',\n },\n ],\n onAccessibilityAction,\n },\n thumbProps: !isDisabled ? moveProps : {},\n labelProps,\n };\n}\n"]}
1
+ {"version":3,"names":["clamp","getSliderThumbId","sliderIds","useRef","useState","useLabel","useMove","isRTL","useSliderThumb","opts","state","isReversed","index","isDisabled","trackLayout","isVertical","orientation","direction","undefined","labelId","get","labelProps","fieldProps","trim","stateRef","current","reverseX","currentPosition","startPosition","setStartPosition","moveProps","onMoveStart","setThumbDragging","size","height","width","getThumbPercent","onMove","deltaX","deltaY","delta","position","setThumbPercent","onMoveEnd","setThumbEditable","onAccessibilityAction","event","max","getThumbMinValue","min","getThumbMaxValue","value","getThumbValue","incrementValue","Math","step","decrementValue","nativeEvent","actionName","setThumbValue","inputProps","now","name","label","thumbProps"],"sourceRoot":"../../src","sources":["useSliderThumb.ts"],"mappings":"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","ignoreList":[]}
@@ -5,7 +5,6 @@ import { useFocusable } from '@react-aria/focus';
5
5
  import { useLabel } from '@react-aria/label';
6
6
  import { useMove } from './useMove';
7
7
  import { isRTL } from '@react-native-aria/utils';
8
-
9
8
  /**
10
9
  * Provides behavior and accessibility for a thumb of a slider component.
11
10
  *
@@ -13,8 +12,6 @@ import { isRTL } from '@react-native-aria/utils';
13
12
  * @param state Slider state, created via `useSliderState`.
14
13
  */
15
14
  export function useSliderThumb(opts, state, isReversed) {
16
- var _opts$ariaLabelledby;
17
-
18
15
  let {
19
16
  index,
20
17
  isRequired,
@@ -33,9 +30,10 @@ export function useSliderThumb(opts, state, isReversed) {
33
30
  const {
34
31
  labelProps,
35
32
  fieldProps
36
- } = useLabel({ ...opts,
33
+ } = useLabel({
34
+ ...opts,
37
35
  'id': getSliderThumbId(state, index),
38
- 'aria-labelledby': `${labelId} ${(_opts$ariaLabelledby = opts['aria-labelledby']) !== null && _opts$ariaLabelledby !== void 0 ? _opts$ariaLabelledby : ''}`.trim()
36
+ 'aria-labelledby': `${labelId} ${opts['aria-labelledby'] ?? ''}`.trim()
39
37
  });
40
38
  const value = state.values[index];
41
39
  const focusInput = useCallback(() => {
@@ -60,18 +58,15 @@ export function useSliderThumb(opts, state, isReversed) {
60
58
  currentPosition.current = null;
61
59
  state.setThumbDragging(index, true);
62
60
  },
63
-
64
61
  onMove({
65
62
  deltaX,
66
63
  deltaY,
67
64
  pointerType
68
65
  }) {
69
66
  let size = isVertical ? trackLayout.height : trackLayout.width;
70
-
71
67
  if (currentPosition.current == null) {
72
68
  currentPosition.current = stateRef.current.getThumbPercent(index) * size;
73
69
  }
74
-
75
70
  if (pointerType === 'keyboard') {
76
71
  // (invert left/right according to language direction) + (according to vertical)
77
72
  let delta = ((reverseX ? -deltaX : deltaX) + (reverseX ? deltaY : -deltaY)) * stateRef.current.step;
@@ -79,7 +74,6 @@ export function useSliderThumb(opts, state, isReversed) {
79
74
  stateRef.current.setThumbValue(index, stateRef.current.getThumbValue(index) + delta);
80
75
  } else {
81
76
  let delta = isVertical ? deltaY : deltaX;
82
-
83
77
  if (reverseX) {
84
78
  if (!isVertical) {
85
79
  delta = -delta;
@@ -89,18 +83,16 @@ export function useSliderThumb(opts, state, isReversed) {
89
83
  delta = -delta;
90
84
  }
91
85
  }
92
-
93
86
  currentPosition.current += delta;
94
87
  stateRef.current.setThumbPercent(index, clamp(currentPosition.current / size, 0, 1));
95
88
  }
96
89
  },
97
-
98
90
  onMoveEnd() {
99
91
  state.setThumbDragging(index, false);
100
92
  }
93
+ });
101
94
 
102
- }); // Immediately register editability with the state
103
-
95
+ // Immediately register editability with the state
104
96
  state.setThumbEditable(index, !isDisabled);
105
97
  const {
106
98
  focusableProps
@@ -109,7 +101,6 @@ export function useSliderThumb(opts, state, isReversed) {
109
101
  onBlur: () => state.setFocusedThumb(undefined)
110
102
  }), inputRef);
111
103
  let currentPointer = useRef(undefined);
112
-
113
104
  let onDown = id => {
114
105
  focusInput();
115
106
  currentPointer.current = id;
@@ -118,12 +109,9 @@ export function useSliderThumb(opts, state, isReversed) {
118
109
  addGlobalListener(window, 'touchend', onUp, false);
119
110
  addGlobalListener(window, 'pointerup', onUp, false);
120
111
  };
121
-
122
112
  let onUp = e => {
123
- var _e$pointerId, _e$changedTouches;
124
-
125
- let id = (_e$pointerId = e.pointerId) !== null && _e$pointerId !== void 0 ? _e$pointerId : (_e$changedTouches = e.changedTouches) === null || _e$changedTouches === void 0 ? void 0 : _e$changedTouches[0].identifier;
126
-
113
+ var _e$changedTouches;
114
+ let id = e.pointerId ?? ((_e$changedTouches = e.changedTouches) === null || _e$changedTouches === void 0 ? void 0 : _e$changedTouches[0].identifier);
127
115
  if (id === currentPointer.current) {
128
116
  focusInput();
129
117
  state.setThumbDragging(index, false);
@@ -131,12 +119,12 @@ export function useSliderThumb(opts, state, isReversed) {
131
119
  removeGlobalListener(window, 'touchend', onUp, false);
132
120
  removeGlobalListener(window, 'pointerup', onUp, false);
133
121
  }
134
- }; // We install mouse handlers for the drag motion on the thumb div, but
122
+ };
123
+
124
+ // We install mouse handlers for the drag motion on the thumb div, but
135
125
  // not the key handler for moving the thumb with the slider. Instead,
136
126
  // we focus the range input, and let the browser handle the keyboard
137
127
  // interactions; we then listen to input's onChange to update state.
138
-
139
-
140
128
  return {
141
129
  inputProps: mergeProps(focusableProps, fieldProps, {
142
130
  'type': 'range',
@@ -160,14 +148,12 @@ export function useSliderThumb(opts, state, isReversed) {
160
148
  if (e.button !== 0 || e.altKey || e.ctrlKey || e.metaKey) {
161
149
  return;
162
150
  }
163
-
164
151
  onDown();
165
152
  },
166
153
  onPointerDown: e => {
167
154
  if (e.button !== 0 || e.altKey || e.ctrlKey || e.metaKey) {
168
155
  return;
169
156
  }
170
-
171
157
  onDown(e.pointerId);
172
158
  },
173
159
  onTouchStart: e => {
@@ -1 +1 @@
1
- {"version":3,"sources":["useSliderThumb.web.ts"],"names":["clamp","focusWithoutScrolling","mergeProps","useGlobalListeners","getSliderThumbId","sliderIds","useCallback","useEffect","useRef","useFocusable","useLabel","useMove","isRTL","useSliderThumb","opts","state","isReversed","index","isRequired","isDisabled","validationState","trackLayout","inputRef","isVertical","orientation","direction","undefined","addGlobalListener","removeGlobalListener","labelId","get","labelProps","fieldProps","trim","value","values","focusInput","current","isFocused","focusedThumb","stateRef","reverseX","currentPosition","moveProps","onMoveStart","setThumbDragging","onMove","deltaX","deltaY","pointerType","size","height","width","getThumbPercent","delta","step","setThumbValue","getThumbValue","setThumbPercent","onMoveEnd","setThumbEditable","focusableProps","onFocus","setFocusedThumb","onBlur","currentPointer","onDown","id","window","onUp","e","pointerId","changedTouches","identifier","inputProps","getThumbMinValue","getThumbMaxValue","getThumbValueLabel","parseFloat","target","thumbProps","onMouseDown","button","altKey","ctrlKey","metaKey","onPointerDown","onTouchStart"],"mappings":"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","sourcesContent":["import { AriaSliderThumbProps } from '@react-types/slider';\nimport {\n clamp,\n focusWithoutScrolling,\n mergeProps,\n useGlobalListeners,\n} from '@react-aria/utils';\nimport { getSliderThumbId, sliderIds } from './utils';\nimport React, {\n ChangeEvent,\n HTMLAttributes,\n InputHTMLAttributes,\n LabelHTMLAttributes,\n RefObject,\n useCallback,\n useEffect,\n useRef,\n} from 'react';\nimport { SliderState } from '@react-stately/slider';\nimport { useFocusable } from '@react-aria/focus';\nimport { useLabel } from '@react-aria/label';\nimport { useMove } from './useMove';\nimport { isRTL } from '@react-native-aria/utils';\n\ninterface SliderThumbAria {\n /** Props for the root thumb element; handles the dragging motion. */\n thumbProps: HTMLAttributes<HTMLElement>;\n\n /** Props for the visually hidden range input element. */\n inputProps: InputHTMLAttributes<HTMLInputElement>;\n\n /** Props for the label element for this thumb (optional). */\n labelProps: LabelHTMLAttributes<HTMLLabelElement>;\n}\n\ninterface SliderThumbOptions extends AriaSliderThumbProps {\n /** A ref to the track element. */\n trackLayout: any;\n /** A ref to the thumb input element. */\n inputRef: RefObject<HTMLInputElement>;\n}\n\n/**\n * Provides behavior and accessibility for a thumb of a slider component.\n *\n * @param opts Options for this Slider thumb.\n * @param state Slider state, created via `useSliderState`.\n */\nexport function useSliderThumb(\n opts: SliderThumbOptions,\n state: SliderState,\n isReversed?: boolean\n): SliderThumbAria {\n let {\n index,\n isRequired,\n isDisabled,\n validationState,\n trackLayout,\n inputRef,\n } = opts;\n\n let isVertical = opts.orientation === 'vertical';\n\n let direction = isRTL() ? 'rtl' : undefined;\n let { addGlobalListener, removeGlobalListener } = useGlobalListeners();\n\n let labelId = sliderIds.get(state);\n const { labelProps, fieldProps } = useLabel({\n ...opts,\n 'id': getSliderThumbId(state, index),\n 'aria-labelledby': `${labelId} ${opts['aria-labelledby'] ?? ''}`.trim(),\n });\n\n const value = state.values[index];\n\n const focusInput = useCallback(() => {\n if (inputRef.current) {\n focusWithoutScrolling(inputRef.current);\n }\n }, [inputRef]);\n\n const isFocused = state.focusedThumb === index;\n\n useEffect(() => {\n if (isFocused) {\n focusInput();\n }\n }, [isFocused, focusInput]);\n\n const stateRef = useRef<SliderState>(null);\n stateRef.current = state;\n let reverseX = isReversed || direction === 'rtl';\n let currentPosition = useRef<number>(null);\n let { moveProps } = useMove({\n onMoveStart() {\n currentPosition.current = null;\n state.setThumbDragging(index, true);\n },\n onMove({ deltaX, deltaY, pointerType }) {\n let size = isVertical ? trackLayout.height : trackLayout.width;\n\n if (currentPosition.current == null) {\n currentPosition.current =\n stateRef.current.getThumbPercent(index) * size;\n }\n if (pointerType === 'keyboard') {\n // (invert left/right according to language direction) + (according to vertical)\n let delta =\n ((reverseX ? -deltaX : deltaX) + (reverseX ? deltaY : -deltaY)) *\n stateRef.current.step;\n currentPosition.current += delta * size;\n stateRef.current.setThumbValue(\n index,\n stateRef.current.getThumbValue(index) + delta\n );\n } else {\n let delta = isVertical ? deltaY : deltaX;\n if (reverseX) {\n if (!isVertical) {\n delta = -delta;\n }\n } else {\n if (isVertical) {\n delta = -delta;\n }\n }\n currentPosition.current += delta;\n stateRef.current.setThumbPercent(\n index,\n clamp(currentPosition.current / size, 0, 1)\n );\n }\n },\n onMoveEnd() {\n state.setThumbDragging(index, false);\n },\n });\n\n // Immediately register editability with the state\n state.setThumbEditable(index, !isDisabled);\n\n const { focusableProps } = useFocusable(\n mergeProps(opts, {\n onFocus: () => state.setFocusedThumb(index),\n onBlur: () => state.setFocusedThumb(undefined),\n }),\n inputRef\n );\n\n let currentPointer = useRef<number | undefined>(undefined);\n let onDown = (id?: number) => {\n focusInput();\n currentPointer.current = id;\n state.setThumbDragging(index, true);\n\n addGlobalListener(window, 'mouseup', onUp, false);\n addGlobalListener(window, 'touchend', onUp, false);\n addGlobalListener(window, 'pointerup', onUp, false);\n };\n\n let onUp = (e) => {\n let id = e.pointerId ?? e.changedTouches?.[0].identifier;\n if (id === currentPointer.current) {\n focusInput();\n state.setThumbDragging(index, false);\n removeGlobalListener(window, 'mouseup', onUp, false);\n removeGlobalListener(window, 'touchend', onUp, false);\n removeGlobalListener(window, 'pointerup', onUp, false);\n }\n };\n\n // We install mouse handlers for the drag motion on the thumb div, but\n // not the key handler for moving the thumb with the slider. Instead,\n // we focus the range input, and let the browser handle the keyboard\n // interactions; we then listen to input's onChange to update state.\n return {\n inputProps: mergeProps(focusableProps, fieldProps, {\n 'type': 'range',\n 'tabIndex': !isDisabled ? 0 : undefined,\n 'min': state.getThumbMinValue(index),\n 'max': state.getThumbMaxValue(index),\n 'step': state.step,\n 'value': value,\n 'disabled': isDisabled,\n 'aria-orientation': opts.orientation,\n 'aria-valuetext': state.getThumbValueLabel(index),\n 'aria-required': isRequired || undefined,\n 'aria-invalid': validationState === 'invalid' || undefined,\n 'aria-errormessage': opts['aria-errormessage'],\n 'onChange': (e: ChangeEvent<HTMLInputElement>) => {\n state.setThumbValue(index, parseFloat(e.target.value));\n },\n }),\n thumbProps: !isDisabled\n ? mergeProps(moveProps, {\n onMouseDown: (e: React.MouseEvent<HTMLElement>) => {\n if (e.button !== 0 || e.altKey || e.ctrlKey || e.metaKey) {\n return;\n }\n onDown();\n },\n onPointerDown: (e: React.PointerEvent<HTMLElement>) => {\n if (e.button !== 0 || e.altKey || e.ctrlKey || e.metaKey) {\n return;\n }\n onDown(e.pointerId);\n },\n onTouchStart: (e: React.TouchEvent<HTMLElement>) => {\n onDown(e.changedTouches[0].identifier);\n },\n })\n : {},\n labelProps,\n };\n}\n"]}
1
+ {"version":3,"names":["clamp","focusWithoutScrolling","mergeProps","useGlobalListeners","getSliderThumbId","sliderIds","useCallback","useEffect","useRef","useFocusable","useLabel","useMove","isRTL","useSliderThumb","opts","state","isReversed","index","isRequired","isDisabled","validationState","trackLayout","inputRef","isVertical","orientation","direction","undefined","addGlobalListener","removeGlobalListener","labelId","get","labelProps","fieldProps","trim","value","values","focusInput","current","isFocused","focusedThumb","stateRef","reverseX","currentPosition","moveProps","onMoveStart","setThumbDragging","onMove","deltaX","deltaY","pointerType","size","height","width","getThumbPercent","delta","step","setThumbValue","getThumbValue","setThumbPercent","onMoveEnd","setThumbEditable","focusableProps","onFocus","setFocusedThumb","onBlur","currentPointer","onDown","id","window","onUp","e","_e$changedTouches","pointerId","changedTouches","identifier","inputProps","getThumbMinValue","getThumbMaxValue","getThumbValueLabel","parseFloat","target","thumbProps","onMouseDown","button","altKey","ctrlKey","metaKey","onPointerDown","onTouchStart"],"sourceRoot":"../../src","sources":["useSliderThumb.web.ts"],"mappings":"AACA,SACEA,KAAK,EACLC,qBAAqB,EACrBC,UAAU,EACVC,kBAAkB,QACb,mBAAmB;AAC1B,SAASC,gBAAgB,EAAEC,SAAS,QAAQ,SAAS;AACrD,SAMEC,WAAW,EACXC,SAAS,EACTC,MAAM,QACD,OAAO;AAEd,SAASC,YAAY,QAAQ,mBAAmB;AAChD,SAASC,QAAQ,QAAQ,mBAAmB;AAC5C,SAASC,OAAO,QAAQ,WAAW;AACnC,SAASC,KAAK,QAAQ,0BAA0B;AAoBhD;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,cAAcA,CAC5BC,IAAwB,EACxBC,KAAkB,EAClBC,UAAoB,EACH;EACjB,IAAI;IACFC,KAAK;IACLC,UAAU;IACVC,UAAU;IACVC,eAAe;IACfC,WAAW;IACXC;EACF,CAAC,GAAGR,IAAI;EAER,IAAIS,UAAU,GAAGT,IAAI,CAACU,WAAW,KAAK,UAAU;EAEhD,IAAIC,SAAS,GAAGb,KAAK,CAAC,CAAC,GAAG,KAAK,GAAGc,SAAS;EAC3C,IAAI;IAAEC,iBAAiB;IAAEC;EAAqB,CAAC,GAAGzB,kBAAkB,CAAC,CAAC;EAEtE,IAAI0B,OAAO,GAAGxB,SAAS,CAACyB,GAAG,CAACf,KAAK,CAAC;EAClC,MAAM;IAAEgB,UAAU;IAAEC;EAAW,CAAC,GAAGtB,QAAQ,CAAC;IAC1C,GAAGI,IAAI;IACP,IAAI,EAAEV,gBAAgB,CAACW,KAAK,EAAEE,KAAK,CAAC;IACpC,iBAAiB,EAAE,GAAGY,OAAO,IAAIf,IAAI,CAAC,iBAAiB,CAAC,IAAI,EAAE,EAAE,CAACmB,IAAI,CAAC;EACxE,CAAC,CAAC;EAEF,MAAMC,KAAK,GAAGnB,KAAK,CAACoB,MAAM,CAAClB,KAAK,CAAC;EAEjC,MAAMmB,UAAU,GAAG9B,WAAW,CAAC,MAAM;IACnC,IAAIgB,QAAQ,CAACe,OAAO,EAAE;MACpBpC,qBAAqB,CAACqB,QAAQ,CAACe,OAAO,CAAC;IACzC;EACF,CAAC,EAAE,CAACf,QAAQ,CAAC,CAAC;EAEd,MAAMgB,SAAS,GAAGvB,KAAK,CAACwB,YAAY,KAAKtB,KAAK;EAE9CV,SAAS,CAAC,MAAM;IACd,IAAI+B,SAAS,EAAE;MACbF,UAAU,CAAC,CAAC;IACd;EACF,CAAC,EAAE,CAACE,SAAS,EAAEF,UAAU,CAAC,CAAC;EAE3B,MAAMI,QAAQ,GAAGhC,MAAM,CAAc,IAAI,CAAC;EAC1CgC,QAAQ,CAACH,OAAO,GAAGtB,KAAK;EACxB,IAAI0B,QAAQ,GAAGzB,UAAU,IAAIS,SAAS,KAAK,KAAK;EAChD,IAAIiB,eAAe,GAAGlC,MAAM,CAAS,IAAI,CAAC;EAC1C,IAAI;IAAEmC;EAAU,CAAC,GAAGhC,OAAO,CAAC;IAC1BiC,WAAWA,CAAA,EAAG;MACZF,eAAe,CAACL,OAAO,GAAG,IAAI;MAC9BtB,KAAK,CAAC8B,gBAAgB,CAAC5B,KAAK,EAAE,IAAI,CAAC;IACrC,CAAC;IACD6B,MAAMA,CAAC;MAAEC,MAAM;MAAEC,MAAM;MAAEC;IAAY,CAAC,EAAE;MACtC,IAAIC,IAAI,GAAG3B,UAAU,GAAGF,WAAW,CAAC8B,MAAM,GAAG9B,WAAW,CAAC+B,KAAK;MAE9D,IAAIV,eAAe,CAACL,OAAO,IAAI,IAAI,EAAE;QACnCK,eAAe,CAACL,OAAO,GACrBG,QAAQ,CAACH,OAAO,CAACgB,eAAe,CAACpC,KAAK,CAAC,GAAGiC,IAAI;MAClD;MACA,IAAID,WAAW,KAAK,UAAU,EAAE;QAC9B;QACA,IAAIK,KAAK,GACP,CAAC,CAACb,QAAQ,GAAG,CAACM,MAAM,GAAGA,MAAM,KAAKN,QAAQ,GAAGO,MAAM,GAAG,CAACA,MAAM,CAAC,IAC9DR,QAAQ,CAACH,OAAO,CAACkB,IAAI;QACvBb,eAAe,CAACL,OAAO,IAAIiB,KAAK,GAAGJ,IAAI;QACvCV,QAAQ,CAACH,OAAO,CAACmB,aAAa,CAC5BvC,KAAK,EACLuB,QAAQ,CAACH,OAAO,CAACoB,aAAa,CAACxC,KAAK,CAAC,GAAGqC,KAC1C,CAAC;MACH,CAAC,MAAM;QACL,IAAIA,KAAK,GAAG/B,UAAU,GAAGyB,MAAM,GAAGD,MAAM;QACxC,IAAIN,QAAQ,EAAE;UACZ,IAAI,CAAClB,UAAU,EAAE;YACf+B,KAAK,GAAG,CAACA,KAAK;UAChB;QACF,CAAC,MAAM;UACL,IAAI/B,UAAU,EAAE;YACd+B,KAAK,GAAG,CAACA,KAAK;UAChB;QACF;QACAZ,eAAe,CAACL,OAAO,IAAIiB,KAAK;QAChCd,QAAQ,CAACH,OAAO,CAACqB,eAAe,CAC9BzC,KAAK,EACLjB,KAAK,CAAC0C,eAAe,CAACL,OAAO,GAAGa,IAAI,EAAE,CAAC,EAAE,CAAC,CAC5C,CAAC;MACH;IACF,CAAC;IACDS,SAASA,CAAA,EAAG;MACV5C,KAAK,CAAC8B,gBAAgB,CAAC5B,KAAK,EAAE,KAAK,CAAC;IACtC;EACF,CAAC,CAAC;;EAEF;EACAF,KAAK,CAAC6C,gBAAgB,CAAC3C,KAAK,EAAE,CAACE,UAAU,CAAC;EAE1C,MAAM;IAAE0C;EAAe,CAAC,GAAGpD,YAAY,CACrCP,UAAU,CAACY,IAAI,EAAE;IACfgD,OAAO,EAAEA,CAAA,KAAM/C,KAAK,CAACgD,eAAe,CAAC9C,KAAK,CAAC;IAC3C+C,MAAM,EAAEA,CAAA,KAAMjD,KAAK,CAACgD,eAAe,CAACrC,SAAS;EAC/C,CAAC,CAAC,EACFJ,QACF,CAAC;EAED,IAAI2C,cAAc,GAAGzD,MAAM,CAAqBkB,SAAS,CAAC;EAC1D,IAAIwC,MAAM,GAAIC,EAAW,IAAK;IAC5B/B,UAAU,CAAC,CAAC;IACZ6B,cAAc,CAAC5B,OAAO,GAAG8B,EAAE;IAC3BpD,KAAK,CAAC8B,gBAAgB,CAAC5B,KAAK,EAAE,IAAI,CAAC;IAEnCU,iBAAiB,CAACyC,MAAM,EAAE,SAAS,EAAEC,IAAI,EAAE,KAAK,CAAC;IACjD1C,iBAAiB,CAACyC,MAAM,EAAE,UAAU,EAAEC,IAAI,EAAE,KAAK,CAAC;IAClD1C,iBAAiB,CAACyC,MAAM,EAAE,WAAW,EAAEC,IAAI,EAAE,KAAK,CAAC;EACrD,CAAC;EAED,IAAIA,IAAI,GAAIC,CAAC,IAAK;IAAA,IAAAC,iBAAA;IAChB,IAAIJ,EAAE,GAAGG,CAAC,CAACE,SAAS,MAAAD,iBAAA,GAAID,CAAC,CAACG,cAAc,cAAAF,iBAAA,uBAAhBA,iBAAA,CAAmB,CAAC,CAAC,CAACG,UAAU;IACxD,IAAIP,EAAE,KAAKF,cAAc,CAAC5B,OAAO,EAAE;MACjCD,UAAU,CAAC,CAAC;MACZrB,KAAK,CAAC8B,gBAAgB,CAAC5B,KAAK,EAAE,KAAK,CAAC;MACpCW,oBAAoB,CAACwC,MAAM,EAAE,SAAS,EAAEC,IAAI,EAAE,KAAK,CAAC;MACpDzC,oBAAoB,CAACwC,MAAM,EAAE,UAAU,EAAEC,IAAI,EAAE,KAAK,CAAC;MACrDzC,oBAAoB,CAACwC,MAAM,EAAE,WAAW,EAAEC,IAAI,EAAE,KAAK,CAAC;IACxD;EACF,CAAC;;EAED;EACA;EACA;EACA;EACA,OAAO;IACLM,UAAU,EAAEzE,UAAU,CAAC2D,cAAc,EAAE7B,UAAU,EAAE;MACjD,MAAM,EAAE,OAAO;MACf,UAAU,EAAE,CAACb,UAAU,GAAG,CAAC,GAAGO,SAAS;MACvC,KAAK,EAAEX,KAAK,CAAC6D,gBAAgB,CAAC3D,KAAK,CAAC;MACpC,KAAK,EAAEF,KAAK,CAAC8D,gBAAgB,CAAC5D,KAAK,CAAC;MACpC,MAAM,EAAEF,KAAK,CAACwC,IAAI;MAClB,OAAO,EAAErB,KAAK;MACd,UAAU,EAAEf,UAAU;MACtB,kBAAkB,EAAEL,IAAI,CAACU,WAAW;MACpC,gBAAgB,EAAET,KAAK,CAAC+D,kBAAkB,CAAC7D,KAAK,CAAC;MACjD,eAAe,EAAEC,UAAU,IAAIQ,SAAS;MACxC,cAAc,EAAEN,eAAe,KAAK,SAAS,IAAIM,SAAS;MAC1D,mBAAmB,EAAEZ,IAAI,CAAC,mBAAmB,CAAC;MAC9C,UAAU,EAAGwD,CAAgC,IAAK;QAChDvD,KAAK,CAACyC,aAAa,CAACvC,KAAK,EAAE8D,UAAU,CAACT,CAAC,CAACU,MAAM,CAAC9C,KAAK,CAAC,CAAC;MACxD;IACF,CAAC,CAAC;IACF+C,UAAU,EAAE,CAAC9D,UAAU,GACnBjB,UAAU,CAACyC,SAAS,EAAE;MACpBuC,WAAW,EAAGZ,CAAgC,IAAK;QACjD,IAAIA,CAAC,CAACa,MAAM,KAAK,CAAC,IAAIb,CAAC,CAACc,MAAM,IAAId,CAAC,CAACe,OAAO,IAAIf,CAAC,CAACgB,OAAO,EAAE;UACxD;QACF;QACApB,MAAM,CAAC,CAAC;MACV,CAAC;MACDqB,aAAa,EAAGjB,CAAkC,IAAK;QACrD,IAAIA,CAAC,CAACa,MAAM,KAAK,CAAC,IAAIb,CAAC,CAACc,MAAM,IAAId,CAAC,CAACe,OAAO,IAAIf,CAAC,CAACgB,OAAO,EAAE;UACxD;QACF;QACApB,MAAM,CAACI,CAAC,CAACE,SAAS,CAAC;MACrB,CAAC;MACDgB,YAAY,EAAGlB,CAAgC,IAAK;QAClDJ,MAAM,CAACI,CAAC,CAACG,cAAc,CAAC,CAAC,CAAC,CAACC,UAAU,CAAC;MACxC;IACF,CAAC,CAAC,GACF,CAAC,CAAC;IACN3C;EACF,CAAC;AACH","ignoreList":[]}
@@ -1,11 +1,9 @@
1
1
  export const sliderIds = new WeakMap();
2
2
  export function getSliderThumbId(state, index) {
3
3
  let id = sliderIds.get(state);
4
-
5
4
  if (!id) {
6
5
  throw new Error('Unknown slider state');
7
6
  }
8
-
9
7
  return `${id}-${index}`;
10
8
  }
11
9
  //# sourceMappingURL=utils.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["utils.ts"],"names":["sliderIds","WeakMap","getSliderThumbId","state","index","id","get","Error"],"mappings":"AAEA,OAAO,MAAMA,SAAS,GAAG,IAAIC,OAAJ,EAAlB;AAEP,OAAO,SAASC,gBAAT,CAA0BC,KAA1B,EAA8CC,KAA9C,EAA6D;AAClE,MAAIC,EAAE,GAAGL,SAAS,CAACM,GAAV,CAAcH,KAAd,CAAT;;AACA,MAAI,CAACE,EAAL,EAAS;AACP,UAAM,IAAIE,KAAJ,CAAU,sBAAV,CAAN;AACD;;AAED,SAAQ,GAAEF,EAAG,IAAGD,KAAM,EAAtB;AACD","sourcesContent":["import { SliderState } from '@react-stately/slider';\n\nexport const sliderIds = new WeakMap<SliderState, string>();\n\nexport function getSliderThumbId(state: SliderState, index: number) {\n let id = sliderIds.get(state);\n if (!id) {\n throw new Error('Unknown slider state');\n }\n\n return `${id}-${index}`;\n}\n"]}
1
+ {"version":3,"names":["sliderIds","WeakMap","getSliderThumbId","state","index","id","get","Error"],"sourceRoot":"../../src","sources":["utils.ts"],"mappings":"AAEA,OAAO,MAAMA,SAAS,GAAG,IAAIC,OAAO,CAAsB,CAAC;AAE3D,OAAO,SAASC,gBAAgBA,CAACC,KAAkB,EAAEC,KAAa,EAAE;EAClE,IAAIC,EAAE,GAAGL,SAAS,CAACM,GAAG,CAACH,KAAK,CAAC;EAC7B,IAAI,CAACE,EAAE,EAAE;IACP,MAAM,IAAIE,KAAK,CAAC,sBAAsB,CAAC;EACzC;EAEA,OAAO,GAAGF,EAAE,IAAID,KAAK,EAAE;AACzB","ignoreList":[]}
@@ -1,2 +1,3 @@
1
1
  export { useSlider } from './useSlider';
2
2
  export { useSliderThumb } from './useSliderThumb';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC"}
@@ -1,2 +1,3 @@
1
1
  export declare function disableTextSelection(): void;
2
2
  export declare function restoreTextSelection(): void;
3
+ //# sourceMappingURL=textSelection.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"textSelection.d.ts","sourceRoot":"","sources":["../../src/textSelection.ts"],"names":[],"mappings":"AA4BA,wBAAgB,oBAAoB,SAOnC;AAED,wBAAgB,oBAAoB,SA2BnC"}
@@ -9,3 +9,4 @@ interface MoveResult {
9
9
  */
10
10
  export declare function useMove(props: any): MoveResult;
11
11
  export {};
12
+ //# sourceMappingURL=useMove.d.ts.map