@tamagui/slider 1.1.8 → 1.1.9

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.
@@ -18,6 +18,10 @@ var __copyProps = (to, from, except, desc) => {
18
18
  return to;
19
19
  };
20
20
  var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
21
+ // If the importer is in node compatibility mode or this is not an ESM
22
+ // file that has been converted to a CommonJS file using a Babel-
23
+ // compatible transform (i.e. "__esModule" has not been set), then set
24
+ // "default" to the CommonJS "module.exports" for node compatibility.
21
25
  isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
22
26
  mod
23
27
  ));
@@ -61,47 +65,53 @@ const SliderHorizontal = React.forwardRef(
61
65
  const value = (0, import_helpers2.linearScale)(input, output);
62
66
  return value(pointerPosition);
63
67
  }
64
- return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_constants.SliderOrientationProvider, {
65
- scope: props.__scopeSlider,
66
- startEdge: isDirectionLTR ? "left" : "right",
67
- endEdge: isDirectionLTR ? "right" : "left",
68
- direction: isDirectionLTR ? 1 : -1,
69
- sizeProp: "width",
70
- size: state.size,
71
- children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_SliderImpl.SliderImpl, {
72
- ref: (0, import_compose_refs.composeRefs)(forwardedRef, sliderRef),
73
- dir: direction,
74
- ...sliderProps,
75
- orientation: "horizontal",
76
- onLayout: () => {
77
- var _a;
78
- (_a = sliderRef.current) == null ? void 0 : _a.measure((_x, _y, width, _height, pageX, _pageY) => {
79
- setState({
80
- size: width,
81
- offset: pageX
82
- });
83
- });
84
- },
85
- onSlideStart: (event, target) => {
86
- const value = getValueFromPointer(event.nativeEvent.locationX);
87
- if (value) {
88
- onSlideStart == null ? void 0 : onSlideStart(value, target);
89
- }
90
- },
91
- onSlideMove: (event) => {
92
- const value = getValueFromPointer(event.nativeEvent.pageX - state.offset);
93
- if (value) {
94
- onSlideMove == null ? void 0 : onSlideMove(value);
68
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
69
+ import_constants.SliderOrientationProvider,
70
+ {
71
+ scope: props.__scopeSlider,
72
+ startEdge: isDirectionLTR ? "left" : "right",
73
+ endEdge: isDirectionLTR ? "right" : "left",
74
+ direction: isDirectionLTR ? 1 : -1,
75
+ sizeProp: "width",
76
+ size: state.size,
77
+ children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
78
+ import_SliderImpl.SliderImpl,
79
+ {
80
+ ref: (0, import_compose_refs.composeRefs)(forwardedRef, sliderRef),
81
+ dir: direction,
82
+ ...sliderProps,
83
+ orientation: "horizontal",
84
+ onLayout: () => {
85
+ var _a;
86
+ (_a = sliderRef.current) == null ? void 0 : _a.measure((_x, _y, width, _height, pageX, _pageY) => {
87
+ setState({
88
+ size: width,
89
+ offset: pageX
90
+ });
91
+ });
92
+ },
93
+ onSlideStart: (event, target) => {
94
+ const value = getValueFromPointer(event.nativeEvent.locationX);
95
+ if (value) {
96
+ onSlideStart == null ? void 0 : onSlideStart(value, target);
97
+ }
98
+ },
99
+ onSlideMove: (event) => {
100
+ const value = getValueFromPointer(event.nativeEvent.pageX - state.offset);
101
+ if (value) {
102
+ onSlideMove == null ? void 0 : onSlideMove(value);
103
+ }
104
+ },
105
+ onSlideEnd: () => {
106
+ },
107
+ onStepKeyDown: (event) => {
108
+ const isBackKey = import_constants.BACK_KEYS[direction].includes(event.key);
109
+ onStepKeyDown == null ? void 0 : onStepKeyDown({ event, direction: isBackKey ? -1 : 1 });
110
+ }
95
111
  }
96
- },
97
- onSlideEnd: () => {
98
- },
99
- onStepKeyDown: (event) => {
100
- const isBackKey = import_constants.BACK_KEYS[direction].includes(event.key);
101
- onStepKeyDown == null ? void 0 : onStepKeyDown({ event, direction: isBackKey ? -1 : 1 });
102
- }
103
- })
104
- });
112
+ )
113
+ }
114
+ );
105
115
  }
106
116
  );
107
117
  const SliderVertical = React.forwardRef(
@@ -115,46 +125,52 @@ const SliderVertical = React.forwardRef(
115
125
  const value = (0, import_helpers2.linearScale)(input, output);
116
126
  return value(pointerPosition);
117
127
  }
118
- return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_constants.SliderOrientationProvider, {
119
- scope: props.__scopeSlider,
120
- startEdge: "bottom",
121
- endEdge: "top",
122
- sizeProp: "height",
123
- size: state.size,
124
- direction: 1,
125
- children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_SliderImpl.SliderImpl, {
126
- ref: (0, import_compose_refs.composeRefs)(forwardedRef, sliderRef),
127
- ...sliderProps,
128
- orientation: "vertical",
129
- onLayout: ({ nativeEvent: { layout } }) => {
130
- var _a;
131
- (_a = sliderRef.current) == null ? void 0 : _a.measure((_x, _y, _width, height, _pageX, pageY) => {
132
- setState({
133
- size: height,
134
- offset: pageY
135
- });
136
- });
137
- },
138
- onSlideStart: (event, target) => {
139
- const value = getValueFromPointer(event.nativeEvent.locationY);
140
- if (value) {
141
- onSlideStart == null ? void 0 : onSlideStart(value, target);
128
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
129
+ import_constants.SliderOrientationProvider,
130
+ {
131
+ scope: props.__scopeSlider,
132
+ startEdge: "bottom",
133
+ endEdge: "top",
134
+ sizeProp: "height",
135
+ size: state.size,
136
+ direction: 1,
137
+ children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
138
+ import_SliderImpl.SliderImpl,
139
+ {
140
+ ref: (0, import_compose_refs.composeRefs)(forwardedRef, sliderRef),
141
+ ...sliderProps,
142
+ orientation: "vertical",
143
+ onLayout: ({ nativeEvent: { layout } }) => {
144
+ var _a;
145
+ (_a = sliderRef.current) == null ? void 0 : _a.measure((_x, _y, _width, height, _pageX, pageY) => {
146
+ setState({
147
+ size: height,
148
+ offset: pageY
149
+ });
150
+ });
151
+ },
152
+ onSlideStart: (event, target) => {
153
+ const value = getValueFromPointer(event.nativeEvent.locationY);
154
+ if (value) {
155
+ onSlideStart == null ? void 0 : onSlideStart(value, target);
156
+ }
157
+ },
158
+ onSlideMove: (event) => {
159
+ const value = getValueFromPointer(event.nativeEvent.pageY - state.offset);
160
+ if (value) {
161
+ onSlideMove == null ? void 0 : onSlideMove(value);
162
+ }
163
+ },
164
+ onSlideEnd: () => {
165
+ },
166
+ onStepKeyDown: (event) => {
167
+ const isBackKey = import_constants.BACK_KEYS.ltr.includes(event.key);
168
+ onStepKeyDown == null ? void 0 : onStepKeyDown({ event, direction: isBackKey ? -1 : 1 });
169
+ }
142
170
  }
143
- },
144
- onSlideMove: (event) => {
145
- const value = getValueFromPointer(event.nativeEvent.pageY - state.offset);
146
- if (value) {
147
- onSlideMove == null ? void 0 : onSlideMove(value);
148
- }
149
- },
150
- onSlideEnd: () => {
151
- },
152
- onStepKeyDown: (event) => {
153
- const isBackKey = import_constants.BACK_KEYS.ltr.includes(event.key);
154
- onStepKeyDown == null ? void 0 : onStepKeyDown({ event, direction: isBackKey ? -1 : 1 });
155
- }
156
- })
157
- });
171
+ )
172
+ }
173
+ );
158
174
  }
159
175
  );
160
176
  const TRACK_NAME = "SliderTrack";
@@ -171,14 +187,17 @@ const SliderTrack = React.forwardRef(
171
187
  (props, forwardedRef) => {
172
188
  const { __scopeSlider, ...trackProps } = props;
173
189
  const context = (0, import_constants.useSliderContext)(TRACK_NAME, __scopeSlider);
174
- return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(SliderTrackFrame, {
175
- "data-disabled": context.disabled ? "" : void 0,
176
- "data-orientation": context.orientation,
177
- orientation: context.orientation,
178
- size: context.size,
179
- ...trackProps,
180
- ref: forwardedRef
181
- });
190
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
191
+ SliderTrackFrame,
192
+ {
193
+ "data-disabled": context.disabled ? "" : void 0,
194
+ "data-orientation": context.orientation,
195
+ orientation: context.orientation,
196
+ size: context.size,
197
+ ...trackProps,
198
+ ref: forwardedRef
199
+ }
200
+ );
182
201
  }
183
202
  );
184
203
  SliderTrack.displayName = TRACK_NAME;
@@ -201,24 +220,27 @@ const SliderTrackActive = React.forwardRef(
201
220
  );
202
221
  const offsetStart = valuesCount > 1 ? Math.min(...percentages) : 0;
203
222
  const offsetEnd = 100 - Math.max(...percentages);
204
- return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(SliderTrackActiveFrame, {
205
- orientation: context.orientation,
206
- "data-orientation": context.orientation,
207
- "data-disabled": context.disabled ? "" : void 0,
208
- size: context.size,
209
- ...rangeProps,
210
- ref: composedRefs,
211
- ...{
212
- [orientation.startEdge]: `${offsetStart}%`,
213
- [orientation.endEdge]: `${offsetEnd}%`
214
- },
215
- ...orientation.sizeProp === "width" ? {
216
- height: "100%"
217
- } : {
218
- left: 0,
219
- right: 0
223
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
224
+ SliderTrackActiveFrame,
225
+ {
226
+ orientation: context.orientation,
227
+ "data-orientation": context.orientation,
228
+ "data-disabled": context.disabled ? "" : void 0,
229
+ size: context.size,
230
+ ...rangeProps,
231
+ ref: composedRefs,
232
+ ...{
233
+ [orientation.startEdge]: `${offsetStart}%`,
234
+ [orientation.endEdge]: `${offsetEnd}%`
235
+ },
236
+ ...orientation.sizeProp === "width" ? {
237
+ height: "100%"
238
+ } : {
239
+ left: 0,
240
+ right: 0
241
+ }
220
242
  }
221
- });
243
+ );
222
244
  }
223
245
  );
224
246
  SliderTrackActive.displayName = RANGE_NAME;
@@ -235,7 +257,9 @@ const getThumbSize = (val) => {
235
257
  const SliderThumbFrame = (0, import_core.styled)(import_stacks.ThemeableStack, {
236
258
  name: "SliderThumb",
237
259
  position: "absolute",
260
+ // TODO not taking up 2
238
261
  bordered: 2,
262
+ // OR THIS
239
263
  borderWidth: 2,
240
264
  backgrounded: true,
241
265
  pressTheme: import_core.isWeb,
@@ -271,47 +295,50 @@ const SliderThumb = React.forwardRef(
271
295
  };
272
296
  }
273
297
  }, [thumb, context.thumbs]);
274
- return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(SliderThumbFrame, {
275
- ref: composedRefs,
276
- role: "slider",
277
- "aria-label": props["aria-label"] || label,
278
- "aria-valuemin": context.min,
279
- "aria-valuenow": value,
280
- "aria-valuemax": context.max,
281
- "aria-orientation": context.orientation,
282
- "data-orientation": context.orientation,
283
- "data-disabled": context.disabled ? "" : void 0,
284
- tabIndex: context.disabled ? void 0 : 0,
285
- animateOnly: ["transform", "left", "right", "top", "bottom"],
286
- ...thumbProps,
287
- ...context.orientation === "horizontal" ? {
288
- x: thumbInBoundsOffset - size / 2,
289
- y: -size / 2,
290
- top: "50%",
291
- ...size === 0 && {
292
- top: "auto",
293
- bottom: "auto"
294
- }
295
- } : {
296
- x: -size / 2,
297
- y: size / 2,
298
- left: "50%",
299
- ...size === 0 && {
300
- left: "auto",
301
- right: "auto"
302
- }
303
- },
304
- ...{
305
- [orientation.startEdge]: `${percent}%`
306
- },
307
- size: sizeIn,
308
- onLayout: (e) => {
309
- setSize(e.nativeEvent.layout[orientation.sizeProp]);
310
- },
311
- onFocus: (0, import_helpers.composeEventHandlers)(props.onFocus, () => {
312
- context.valueIndexToChangeRef.current = index;
313
- })
314
- });
298
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
299
+ SliderThumbFrame,
300
+ {
301
+ ref: composedRefs,
302
+ role: "slider",
303
+ "aria-label": props["aria-label"] || label,
304
+ "aria-valuemin": context.min,
305
+ "aria-valuenow": value,
306
+ "aria-valuemax": context.max,
307
+ "aria-orientation": context.orientation,
308
+ "data-orientation": context.orientation,
309
+ "data-disabled": context.disabled ? "" : void 0,
310
+ tabIndex: context.disabled ? void 0 : 0,
311
+ animateOnly: ["transform", "left", "right", "top", "bottom"],
312
+ ...thumbProps,
313
+ ...context.orientation === "horizontal" ? {
314
+ x: thumbInBoundsOffset - size / 2,
315
+ y: -size / 2,
316
+ top: "50%",
317
+ ...size === 0 && {
318
+ top: "auto",
319
+ bottom: "auto"
320
+ }
321
+ } : {
322
+ x: -size / 2,
323
+ y: size / 2,
324
+ left: "50%",
325
+ ...size === 0 && {
326
+ left: "auto",
327
+ right: "auto"
328
+ }
329
+ },
330
+ ...{
331
+ [orientation.startEdge]: `${percent}%`
332
+ },
333
+ size: sizeIn,
334
+ onLayout: (e) => {
335
+ setSize(e.nativeEvent.layout[orientation.sizeProp]);
336
+ },
337
+ onFocus: (0, import_helpers.composeEventHandlers)(props.onFocus, () => {
338
+ context.valueIndexToChangeRef.current = index;
339
+ })
340
+ }
341
+ );
315
342
  }
316
343
  );
317
344
  SliderThumb.displayName = THUMB_NAME;
@@ -385,45 +412,51 @@ const Slider = (0, import_core.withStaticProperties)(
385
412
  });
386
413
  }
387
414
  const SliderOriented = isHorizontal ? SliderHorizontal : SliderVertical;
388
- return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_constants.SliderProvider, {
389
- scope: props.__scopeSlider,
390
- disabled,
391
- min,
392
- max,
393
- valueIndexToChangeRef,
394
- thumbs: thumbRefs.current,
395
- values,
396
- orientation,
397
- size: sizeProp,
398
- children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(SliderOriented, {
399
- "aria-disabled": disabled,
400
- "data-disabled": disabled ? "" : void 0,
401
- ...sliderProps,
402
- ref: composedRefs,
415
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
416
+ import_constants.SliderProvider,
417
+ {
418
+ scope: props.__scopeSlider,
419
+ disabled,
403
420
  min,
404
421
  max,
405
- onSlideStart: disabled ? void 0 : (value2, target) => {
406
- if (target !== "thumb") {
407
- const closestIndex = (0, import_helpers2.getClosestValueIndex)(values, value2);
408
- updateValues(value2, closestIndex);
422
+ valueIndexToChangeRef,
423
+ thumbs: thumbRefs.current,
424
+ values,
425
+ orientation,
426
+ size: sizeProp,
427
+ children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
428
+ SliderOriented,
429
+ {
430
+ "aria-disabled": disabled,
431
+ "data-disabled": disabled ? "" : void 0,
432
+ ...sliderProps,
433
+ ref: composedRefs,
434
+ min,
435
+ max,
436
+ onSlideStart: disabled ? void 0 : (value2, target) => {
437
+ if (target !== "thumb") {
438
+ const closestIndex = (0, import_helpers2.getClosestValueIndex)(values, value2);
439
+ updateValues(value2, closestIndex);
440
+ }
441
+ },
442
+ onSlideMove: disabled ? void 0 : handleSlideMove,
443
+ onHomeKeyDown: () => !disabled && updateValues(min, 0),
444
+ onEndKeyDown: () => !disabled && updateValues(max, values.length - 1),
445
+ onStepKeyDown: ({ event, direction: stepDirection }) => {
446
+ if (!disabled) {
447
+ const isPageKey = import_constants.PAGE_KEYS.includes(event.key);
448
+ const isSkipKey = isPageKey || event.shiftKey && import_constants.ARROW_KEYS.includes(event.key);
449
+ const multiplier = isSkipKey ? 10 : 1;
450
+ const atIndex = valueIndexToChangeRef.current;
451
+ const value2 = values[atIndex];
452
+ const stepInDirection = step * multiplier * stepDirection;
453
+ updateValues(value2 + stepInDirection, atIndex);
454
+ }
455
+ }
409
456
  }
410
- },
411
- onSlideMove: disabled ? void 0 : handleSlideMove,
412
- onHomeKeyDown: () => !disabled && updateValues(min, 0),
413
- onEndKeyDown: () => !disabled && updateValues(max, values.length - 1),
414
- onStepKeyDown: ({ event, direction: stepDirection }) => {
415
- if (!disabled) {
416
- const isPageKey = import_constants.PAGE_KEYS.includes(event.key);
417
- const isSkipKey = isPageKey || event.shiftKey && import_constants.ARROW_KEYS.includes(event.key);
418
- const multiplier = isSkipKey ? 10 : 1;
419
- const atIndex = valueIndexToChangeRef.current;
420
- const value2 = values[atIndex];
421
- const stepInDirection = step * multiplier * stepDirection;
422
- updateValues(value2 + stepInDirection, atIndex);
423
- }
424
- }
425
- })
426
- });
457
+ )
458
+ }
459
+ );
427
460
  }),
428
461
  {
429
462
  Track: SliderTrack,
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../../src/Slider.tsx"],
4
4
  "sourcesContent": ["// forked from radix-ui\n\nimport { composeRefs, useComposedRefs } from '@tamagui/compose-refs'\nimport {\n GetProps,\n SizeTokens,\n getVariableValue,\n isWeb,\n styled,\n withStaticProperties,\n} from '@tamagui/core'\nimport { getSize } from '@tamagui/get-size'\nimport { clamp, composeEventHandlers } from '@tamagui/helpers'\nimport { SizableStackProps, ThemeableStack } from '@tamagui/stacks'\nimport { useControllableState } from '@tamagui/use-controllable-state'\nimport { useDirection } from '@tamagui/use-direction'\nimport * as React from 'react'\nimport { View } from 'react-native'\n\nimport {\n ARROW_KEYS,\n BACK_KEYS,\n PAGE_KEYS,\n SLIDER_NAME,\n SliderOrientationProvider,\n SliderProvider,\n useSliderContext,\n useSliderOrientationContext,\n} from './constants'\nimport {\n convertValueToPercentage,\n getClosestValueIndex,\n getDecimalCount,\n getLabel,\n getNextSortedValues,\n getThumbInBoundsOffset,\n hasMinStepsBetweenValues,\n linearScale,\n roundValue,\n} from './helpers'\nimport { SliderFrame, SliderImpl } from './SliderImpl'\nimport {\n ScopedProps,\n SliderContextValue,\n SliderHorizontalProps,\n SliderProps,\n SliderTrackProps,\n SliderVerticalProps,\n} from './types'\n\n/* -------------------------------------------------------------------------------------------------\n * SliderHorizontal\n * -----------------------------------------------------------------------------------------------*/\n\nconst SliderHorizontal = React.forwardRef<View, SliderHorizontalProps>(\n (props: ScopedProps<SliderHorizontalProps>, forwardedRef) => {\n const { min, max, dir, onSlideStart, onSlideMove, onStepKeyDown, ...sliderProps } =\n props\n const direction = useDirection(dir)\n const isDirectionLTR = direction === 'ltr'\n const sliderRef = React.useRef<View>(null)\n const [state, setState] = React.useState(() => ({ size: 0, offset: 0 }))\n\n function getValueFromPointer(pointerPosition: number) {\n const input: [number, number] = [0, state.size]\n const output: [number, number] = isDirectionLTR ? [min, max] : [max, min]\n const value = linearScale(input, output)\n return value(pointerPosition)\n }\n\n return (\n <SliderOrientationProvider\n scope={props.__scopeSlider}\n startEdge={isDirectionLTR ? 'left' : 'right'}\n endEdge={isDirectionLTR ? 'right' : 'left'}\n direction={isDirectionLTR ? 1 : -1}\n sizeProp=\"width\"\n size={state.size}\n >\n <SliderImpl\n ref={composeRefs(forwardedRef, sliderRef)}\n dir={direction}\n {...sliderProps}\n orientation=\"horizontal\"\n onLayout={() => {\n sliderRef.current?.measure((_x, _y, width, _height, pageX, _pageY) => {\n setState({\n size: width,\n offset: pageX,\n })\n })\n }}\n onSlideStart={(event, target) => {\n const value = getValueFromPointer(event.nativeEvent.locationX)\n if (value) {\n onSlideStart?.(value, target)\n }\n }}\n onSlideMove={(event) => {\n const value = getValueFromPointer(event.nativeEvent.pageX - state.offset)\n if (value) {\n onSlideMove?.(value)\n }\n }}\n onSlideEnd={() => {}}\n onStepKeyDown={(event) => {\n const isBackKey = BACK_KEYS[direction].includes(event.key)\n onStepKeyDown?.({ event, direction: isBackKey ? -1 : 1 })\n }}\n />\n </SliderOrientationProvider>\n )\n }\n)\n\n/* -------------------------------------------------------------------------------------------------\n * SliderVertical\n * -----------------------------------------------------------------------------------------------*/\n\nconst SliderVertical = React.forwardRef<View, SliderVerticalProps>(\n (props: ScopedProps<SliderVerticalProps>, forwardedRef) => {\n const { min, max, onSlideStart, onSlideMove, onStepKeyDown, ...sliderProps } = props\n const [state, setState] = React.useState(() => ({ size: 0, offset: 0 }))\n const sliderRef = React.useRef<View>(null)\n\n function getValueFromPointer(pointerPosition: number) {\n const input: [number, number] = [0, state.size]\n const output: [number, number] = [max, min]\n const value = linearScale(input, output)\n return value(pointerPosition)\n }\n\n return (\n <SliderOrientationProvider\n scope={props.__scopeSlider}\n startEdge=\"bottom\"\n endEdge=\"top\"\n sizeProp=\"height\"\n size={state.size}\n direction={1}\n >\n <SliderImpl\n ref={composeRefs(forwardedRef, sliderRef)}\n {...sliderProps}\n orientation=\"vertical\"\n onLayout={({ nativeEvent: { layout } }) => {\n sliderRef.current?.measure((_x, _y, _width, height, _pageX, pageY) => {\n setState({\n size: height,\n offset: pageY,\n })\n })\n }}\n onSlideStart={(event, target) => {\n const value = getValueFromPointer(event.nativeEvent.locationY)\n if (value) {\n onSlideStart?.(value, target)\n }\n }}\n onSlideMove={(event) => {\n const value = getValueFromPointer(event.nativeEvent.pageY - state.offset)\n if (value) {\n onSlideMove?.(value)\n }\n }}\n onSlideEnd={() => {}}\n onStepKeyDown={(event) => {\n const isBackKey = BACK_KEYS.ltr.includes(event.key)\n onStepKeyDown?.({ event, direction: isBackKey ? -1 : 1 })\n }}\n />\n </SliderOrientationProvider>\n )\n }\n)\n\n/* -------------------------------------------------------------------------------------------------\n * SliderTrack\n * -----------------------------------------------------------------------------------------------*/\n\nconst TRACK_NAME = 'SliderTrack'\n\ntype SliderTrackElement = HTMLElement | View\n\nexport const SliderTrackFrame = styled(SliderFrame, {\n name: 'SliderTrack',\n height: '100%',\n width: '100%',\n backgroundColor: '$background',\n position: 'relative',\n borderRadius: 100_000,\n overflow: 'hidden',\n})\n\nconst SliderTrack = React.forwardRef<SliderTrackElement, SliderTrackProps>(\n (props: ScopedProps<SliderTrackProps>, forwardedRef) => {\n const { __scopeSlider, ...trackProps } = props\n const context = useSliderContext(TRACK_NAME, __scopeSlider)\n return (\n <SliderTrackFrame\n data-disabled={context.disabled ? '' : undefined}\n data-orientation={context.orientation}\n orientation={context.orientation}\n size={context.size}\n {...trackProps}\n ref={forwardedRef}\n />\n )\n }\n)\n\nSliderTrack.displayName = TRACK_NAME\n\n/* -------------------------------------------------------------------------------------------------\n * SliderTrackActive\n * -----------------------------------------------------------------------------------------------*/\n\nconst RANGE_NAME = 'SliderTrackActive'\n\nexport const SliderTrackActiveFrame = styled(SliderFrame, {\n name: 'SliderTrackActive',\n backgroundColor: '$background',\n position: 'absolute',\n})\n\ntype SliderTrackActiveProps = GetProps<typeof SliderTrackActiveFrame>\n\nconst SliderTrackActive = React.forwardRef<View, SliderTrackActiveProps>(\n (props: ScopedProps<SliderTrackActiveProps>, forwardedRef) => {\n const { __scopeSlider, ...rangeProps } = props\n const context = useSliderContext(RANGE_NAME, __scopeSlider)\n const orientation = useSliderOrientationContext(RANGE_NAME, __scopeSlider)\n const ref = React.useRef<View>(null)\n const composedRefs = useComposedRefs(forwardedRef, ref)\n const valuesCount = context.values.length\n const percentages = context.values.map((value) =>\n convertValueToPercentage(value, context.min, context.max)\n )\n const offsetStart = valuesCount > 1 ? Math.min(...percentages) : 0\n const offsetEnd = 100 - Math.max(...percentages)\n\n return (\n <SliderTrackActiveFrame\n orientation={context.orientation}\n data-orientation={context.orientation}\n data-disabled={context.disabled ? '' : undefined}\n size={context.size}\n {...rangeProps}\n ref={composedRefs}\n {...{\n [orientation.startEdge]: `${offsetStart}%`,\n [orientation.endEdge]: `${offsetEnd}%`,\n }}\n {...(orientation.sizeProp === 'width'\n ? {\n height: '100%',\n }\n : {\n left: 0,\n right: 0,\n })}\n />\n )\n }\n)\n\nSliderTrackActive.displayName = RANGE_NAME\n\n/* -------------------------------------------------------------------------------------------------\n * SliderThumb\n * -----------------------------------------------------------------------------------------------*/\n\nconst THUMB_NAME = 'SliderThumb'\n\n// TODO make this customizable through tamagui\n// so we can accurately use it for estimatedSize below\nconst getThumbSize = (val?: SizeTokens | number) => {\n const size = typeof val === 'number' ? val : getSize(val, -1)\n return {\n width: size,\n height: size,\n minWidth: size,\n minHeight: size,\n }\n}\n\nexport const SliderThumbFrame = styled(ThemeableStack, {\n name: 'SliderThumb',\n position: 'absolute',\n // TODO not taking up 2\n bordered: 2,\n // OR THIS\n borderWidth: 2,\n backgrounded: true,\n pressTheme: isWeb,\n focusTheme: isWeb,\n hoverTheme: isWeb,\n\n variants: {\n size: {\n '...size': getThumbSize,\n },\n } as const,\n})\n\ninterface SliderThumbProps extends SizableStackProps {\n index: number\n}\n\nconst SliderThumb = React.forwardRef<View, SliderThumbProps>(\n (props: ScopedProps<SliderThumbProps>, forwardedRef) => {\n const { __scopeSlider, index, size: sizeProp, ...thumbProps } = props\n const context = useSliderContext(THUMB_NAME, __scopeSlider)\n const orientation = useSliderOrientationContext(THUMB_NAME, __scopeSlider)\n const [thumb, setThumb] = React.useState<View | HTMLElement | null>(null)\n const composedRefs = useComposedRefs(forwardedRef, (node) => setThumb(node))\n\n // We cast because index could be `-1` which would return undefined\n const value = context.values[index] as number | undefined\n const percent =\n value === undefined ? 0 : convertValueToPercentage(value, context.min, context.max)\n const label = getLabel(index, context.values.length)\n const sizeIn = sizeProp ?? context.size ?? '$true'\n const [size, setSize] = React.useState(() => {\n // for SSR\n const estimatedSize = getVariableValue(getThumbSize(sizeIn).width)\n return estimatedSize\n })\n\n const thumbInBoundsOffset = size\n ? getThumbInBoundsOffset(size, percent, orientation.direction)\n : 0\n\n React.useEffect(() => {\n if (thumb) {\n context.thumbs.add(thumb)\n return () => {\n context.thumbs.delete(thumb)\n }\n }\n }, [thumb, context.thumbs])\n\n return (\n <SliderThumbFrame\n ref={composedRefs}\n // TODO\n // @ts-ignore\n role=\"slider\"\n aria-label={props['aria-label'] || label}\n aria-valuemin={context.min}\n aria-valuenow={value}\n aria-valuemax={context.max}\n aria-orientation={context.orientation}\n data-orientation={context.orientation}\n data-disabled={context.disabled ? '' : undefined}\n tabIndex={context.disabled ? undefined : 0}\n animateOnly={['transform', 'left', 'right', 'top', 'bottom']}\n {...thumbProps}\n {...(context.orientation === 'horizontal'\n ? {\n x: thumbInBoundsOffset - size / 2,\n y: -size / 2,\n top: '50%',\n ...(size === 0 && {\n top: 'auto',\n bottom: 'auto',\n }),\n }\n : {\n x: -size / 2,\n y: size / 2,\n left: '50%',\n ...(size === 0 && {\n left: 'auto',\n right: 'auto',\n }),\n })}\n {...{\n [orientation.startEdge]: `${percent}%`,\n }}\n size={sizeIn}\n onLayout={(e) => {\n setSize(e.nativeEvent.layout[orientation.sizeProp])\n }}\n /**\n * There will be no value on initial render while we work out the index so we hide thumbs\n * without a value, otherwise SSR will render them in the wrong position before they\n * snap into the correct position during hydration which would be visually jarring for\n * slower connections.\n */\n // style={value === undefined ? { display: 'none' } : props.style}\n onFocus={composeEventHandlers(props.onFocus, () => {\n context.valueIndexToChangeRef.current = index\n })}\n />\n )\n }\n)\n\nSliderThumb.displayName = THUMB_NAME\n\n/* -------------------------------------------------------------------------------------------------\n * Slider\n * -----------------------------------------------------------------------------------------------*/\n\nconst Slider = withStaticProperties(\n React.forwardRef<View, SliderProps>((props: ScopedProps<SliderProps>, forwardedRef) => {\n const {\n name,\n min = 0,\n max = 100,\n step = 1,\n orientation = 'horizontal',\n disabled = false,\n minStepsBetweenThumbs = 0,\n defaultValue = [min],\n value,\n onValueChange = () => {},\n size: sizeProp,\n ...sliderProps\n } = props\n const sliderRef = React.useRef<View>(null)\n const composedRefs = useComposedRefs(sliderRef, forwardedRef)\n const thumbRefs = React.useRef<SliderContextValue['thumbs']>(new Set())\n const valueIndexToChangeRef = React.useRef<number>(0)\n const isHorizontal = orientation === 'horizontal'\n // We set this to true by default so that events bubble to forms without JS (SSR)\n // const isFormControl =\n // sliderRef.current instanceof HTMLElement ? Boolean(sliderRef.current.closest('form')) : true\n\n const [values = [], setValues] = useControllableState({\n prop: value,\n defaultProp: defaultValue,\n transition: true,\n onChange: (value) => {\n if (isWeb) {\n const thumbs = [...thumbRefs.current]\n thumbs[valueIndexToChangeRef.current]?.focus()\n }\n onValueChange(value)\n },\n })\n\n if (isWeb) {\n React.useEffect(() => {\n // @ts-ignore\n const node = sliderRef.current as HTMLElement\n if (!node) return\n const preventDefault = (e) => {\n e.preventDefault()\n }\n node.addEventListener('touchstart', preventDefault)\n return () => {\n node.removeEventListener('touchstart', preventDefault)\n }\n }, [])\n }\n\n function handleSlideMove(value: number) {\n updateValues(value, valueIndexToChangeRef.current)\n }\n\n function updateValues(value: number, atIndex: number) {\n const decimalCount = getDecimalCount(step)\n const snapToStep = roundValue(\n Math.round((value - min) / step) * step + min,\n decimalCount\n )\n const nextValue = clamp(snapToStep, [min, max])\n setValues((prevValues = []) => {\n const nextValues = getNextSortedValues(prevValues, nextValue, atIndex)\n if (hasMinStepsBetweenValues(nextValues, minStepsBetweenThumbs * step)) {\n valueIndexToChangeRef.current = nextValues.indexOf(nextValue)\n return String(nextValues) === String(prevValues) ? prevValues : nextValues\n } else {\n return prevValues\n }\n })\n }\n\n const SliderOriented = isHorizontal ? SliderHorizontal : SliderVertical\n\n return (\n <SliderProvider\n scope={props.__scopeSlider}\n disabled={disabled}\n min={min}\n max={max}\n valueIndexToChangeRef={valueIndexToChangeRef}\n thumbs={thumbRefs.current}\n values={values}\n orientation={orientation}\n size={sizeProp}\n >\n <SliderOriented\n aria-disabled={disabled}\n data-disabled={disabled ? '' : undefined}\n {...sliderProps}\n ref={composedRefs}\n min={min}\n max={max}\n onSlideStart={\n disabled\n ? undefined\n : (value: number, target) => {\n // when starting on the track, move it right away\n // when starting on thumb, dont jump until movemenet as it feels weird\n if (target !== 'thumb') {\n const closestIndex = getClosestValueIndex(values, value)\n updateValues(value, closestIndex)\n }\n }\n }\n onSlideMove={disabled ? undefined : handleSlideMove}\n onHomeKeyDown={() => !disabled && updateValues(min, 0)}\n onEndKeyDown={() => !disabled && updateValues(max, values.length - 1)}\n onStepKeyDown={({ event, direction: stepDirection }) => {\n if (!disabled) {\n const isPageKey = PAGE_KEYS.includes(event.key)\n const isSkipKey =\n isPageKey || (event.shiftKey && ARROW_KEYS.includes(event.key))\n const multiplier = isSkipKey ? 10 : 1\n const atIndex = valueIndexToChangeRef.current\n const value = values[atIndex]\n const stepInDirection = step * multiplier * stepDirection\n updateValues(value + stepInDirection, atIndex)\n }\n }}\n />\n {/* {isFormControl &&\n values.map((value, index) => (\n <BubbleInput\n key={index}\n name={name ? name + (values.length > 1 ? '[]' : '') : undefined}\n value={value}\n />\n ))} */}\n </SliderProvider>\n )\n }),\n {\n Track: SliderTrack,\n TrackActive: SliderTrackActive,\n Thumb: SliderThumb,\n }\n)\n\nSlider.displayName = SLIDER_NAME\n\n/* -----------------------------------------------------------------------------------------------*/\n\n// // TODO\n// const BubbleInput = (props: any) => {\n// const { value, ...inputProps } = props\n// const ref = React.useRef<HTMLInputElement>(null)\n// const prevValue = usePrevious(value)\n\n// // Bubble value change to parents (e.g form change event)\n// React.useEffect(() => {\n// const input = ref.current!\n// const inputProto = window.HTMLInputElement.prototype\n// const descriptor = Object.getOwnPropertyDescriptor(inputProto, 'value') as PropertyDescriptor\n// const setValue = descriptor.set\n// if (prevValue !== value && setValue) {\n// const event = new Event('input', { bubbles: true })\n// setValue.call(input, value)\n// input.dispatchEvent(event)\n// }\n// }, [prevValue, value])\n\n// /**\n// * We purposefully do not use `type=\"hidden\"` here otherwise forms that\n// * wrap it will not be able to access its value via the FormData API.\n// *\n// * We purposefully do not add the `value` attribute here to allow the value\n// * to be set programatically and bubble to any parent form `onChange` event.\n// * Adding the `value` will cause React to consider the programatic\n// * dispatch a duplicate and it will get swallowed.\n// */\n// return <input style={{ display: 'none' }} {...inputProps} ref={ref} defaultValue={value} />\n// }\n\n/* -----------------------------------------------------------------------------------------------*/\n\nconst Track = SliderTrack\nconst Range = SliderTrackActive\nconst Thumb = SliderThumb\n\nexport {\n Slider,\n SliderTrack,\n SliderTrackActive,\n SliderThumb,\n //\n Track,\n Range,\n Thumb,\n}\n\nexport type { SliderProps, SliderTrackProps, SliderTrackActiveProps, SliderThumbProps }\n"],
5
- "mappings": "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",
5
+ "mappings": "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",
6
6
  "names": ["import_helpers", "value"]
7
7
  }