@tamagui/slider 2.7.7 → 3.0.0-beta.643.1

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 (96) hide show
  1. package/dist/cjs/Slider.cjs +455 -512
  2. package/dist/cjs/Slider.native.cjs +469 -0
  3. package/dist/cjs/Slider.native.js +424 -498
  4. package/dist/cjs/Slider.native.js.map +1 -1
  5. package/dist/cjs/SliderImpl.cjs +111 -128
  6. package/dist/cjs/SliderImpl.native.cjs +154 -0
  7. package/dist/cjs/SliderImpl.native.js +127 -143
  8. package/dist/cjs/SliderImpl.native.js.map +1 -1
  9. package/dist/cjs/constants.cjs +59 -45
  10. package/dist/cjs/constants.native.cjs +79 -0
  11. package/dist/cjs/constants.native.js +59 -44
  12. package/dist/cjs/constants.native.js.map +1 -1
  13. package/dist/cjs/helpers.cjs +59 -60
  14. package/dist/cjs/helpers.native.cjs +99 -0
  15. package/dist/cjs/helpers.native.js +66 -68
  16. package/dist/cjs/helpers.native.js.map +1 -1
  17. package/dist/cjs/index.cjs +16 -17
  18. package/dist/cjs/index.native.cjs +33 -0
  19. package/dist/cjs/index.native.js +16 -16
  20. package/dist/cjs/index.native.js.map +1 -1
  21. package/dist/cjs/types.cjs +10 -11
  22. package/dist/cjs/types.native.cjs +19 -0
  23. package/dist/cjs/types.native.js +10 -10
  24. package/dist/cjs/types.native.js.map +1 -1
  25. package/dist/esm/Slider.mjs +427 -474
  26. package/dist/esm/Slider.mjs.map +1 -1
  27. package/dist/esm/Slider.native.js +396 -463
  28. package/dist/esm/Slider.native.js.map +1 -1
  29. package/dist/esm/SliderImpl.mjs +92 -102
  30. package/dist/esm/SliderImpl.mjs.map +1 -1
  31. package/dist/esm/SliderImpl.native.js +109 -119
  32. package/dist/esm/SliderImpl.native.js.map +1 -1
  33. package/dist/esm/constants.mjs +38 -21
  34. package/dist/esm/constants.mjs.map +1 -1
  35. package/dist/esm/constants.native.js +38 -21
  36. package/dist/esm/constants.native.js.map +1 -1
  37. package/dist/esm/helpers.mjs +37 -36
  38. package/dist/esm/helpers.mjs.map +1 -1
  39. package/dist/esm/helpers.native.js +44 -45
  40. package/dist/esm/helpers.native.js.map +1 -1
  41. package/dist/esm/index.js +4 -3
  42. package/dist/esm/index.mjs +4 -3
  43. package/dist/esm/index.native.js +4 -3
  44. package/dist/esm/types.mjs +0 -2
  45. package/dist/esm/types.native.js +0 -2
  46. package/dist/jsx/Slider.mjs +427 -474
  47. package/dist/jsx/Slider.mjs.map +1 -1
  48. package/dist/jsx/Slider.native.cjs +469 -0
  49. package/dist/jsx/Slider.native.js +424 -498
  50. package/dist/jsx/Slider.native.js.map +1 -1
  51. package/dist/jsx/SliderImpl.mjs +92 -102
  52. package/dist/jsx/SliderImpl.mjs.map +1 -1
  53. package/dist/jsx/SliderImpl.native.cjs +154 -0
  54. package/dist/jsx/SliderImpl.native.js +127 -143
  55. package/dist/jsx/SliderImpl.native.js.map +1 -1
  56. package/dist/jsx/constants.mjs +38 -21
  57. package/dist/jsx/constants.mjs.map +1 -1
  58. package/dist/jsx/constants.native.cjs +79 -0
  59. package/dist/jsx/constants.native.js +59 -44
  60. package/dist/jsx/constants.native.js.map +1 -1
  61. package/dist/jsx/helpers.mjs +37 -36
  62. package/dist/jsx/helpers.mjs.map +1 -1
  63. package/dist/jsx/helpers.native.cjs +99 -0
  64. package/dist/jsx/helpers.native.js +66 -68
  65. package/dist/jsx/helpers.native.js.map +1 -1
  66. package/dist/jsx/index.js +4 -3
  67. package/dist/jsx/index.mjs +4 -3
  68. package/dist/jsx/index.native.cjs +33 -0
  69. package/dist/jsx/index.native.js +16 -16
  70. package/dist/jsx/index.native.js.map +1 -1
  71. package/dist/jsx/types.mjs +0 -2
  72. package/dist/jsx/types.native.cjs +19 -0
  73. package/dist/jsx/types.native.js +10 -10
  74. package/dist/jsx/types.native.js.map +1 -1
  75. package/package.json +15 -14
  76. package/src/Slider.tsx +126 -171
  77. package/src/SliderImpl.tsx +3 -2
  78. package/src/constants.tsx +16 -6
  79. package/src/types.ts +6 -4
  80. package/types/Slider.d.ts +218 -200
  81. package/types/Slider.d.ts.map +1 -1
  82. package/types/SliderImpl.d.ts +16 -5
  83. package/types/SliderImpl.d.ts.map +1 -1
  84. package/types/constants.d.ts +10 -10
  85. package/types/constants.d.ts.map +1 -1
  86. package/types/helpers.d.ts.map +1 -1
  87. package/types/types.d.ts +6 -4
  88. package/types/types.d.ts.map +1 -1
  89. package/dist/esm/index.js.map +0 -1
  90. package/dist/esm/index.mjs.map +0 -1
  91. package/dist/esm/index.native.js.map +0 -1
  92. package/dist/esm/types.mjs.map +0 -1
  93. package/dist/esm/types.native.js.map +0 -1
  94. package/dist/jsx/index.js.map +0 -1
  95. package/dist/jsx/index.mjs.map +0 -1
  96. package/dist/jsx/types.mjs.map +0 -1
@@ -1,132 +1,122 @@
1
- import { jsx as _jsx } from "react/jsx-runtime";
1
+ import { jsx } from "react/jsx-runtime";
2
+ import { createRefComponent, getVariableValue, styled } from "@tamagui/core";
2
3
  import { isWeb } from "@tamagui/constants";
3
- import { getVariableValue, styled } from "@tamagui/core";
4
4
  import { getSize } from "@tamagui/get-token";
5
5
  import { YStack } from "@tamagui/stacks";
6
6
  import * as React from "react";
7
7
  import { View } from "react-native";
8
8
  import { ARROW_KEYS, PAGE_KEYS, useSliderContext } from "./constants.native.js";
9
+
9
10
  function _instanceof(left, right) {
10
- if (right != null && typeof Symbol !== "undefined" && right[Symbol.hasInstance]) {
11
- return !!right[Symbol.hasInstance](left);
12
- } else {
13
- return left instanceof right;
14
- }
11
+ if (right != null && typeof Symbol !== "undefined" && right[Symbol.hasInstance]) {
12
+ return !!right[Symbol.hasInstance](left);
13
+ } else {
14
+ return left instanceof right;
15
+ }
15
16
  }
16
17
  var SliderFrame = styled(YStack, {
17
- position: "relative",
18
- variants: {
19
- orientation: {
20
- horizontal: {},
21
- vertical: {}
22
- },
23
- size: function (val, extras) {
24
- if (!val) {
25
- return;
26
- }
27
- var orientation = extras.props["orientation"];
28
- var size = Math.round(getVariableValue(getSize(val)) / 6);
29
- if (orientation === "horizontal") {
30
- return {
31
- height: size,
32
- borderRadius: size,
33
- justifyContent: "center"
34
- };
35
- }
36
- return {
37
- width: size,
38
- borderRadius: size,
39
- alignItems: "center"
40
- };
41
- }
42
- }
18
+ position: "relative",
19
+ variants: {
20
+ orientation: {
21
+ horizontal: {},
22
+ vertical: {}
23
+ },
24
+ size: function(val, extras) {
25
+ if (!val) {
26
+ return;
27
+ }
28
+ var orientation = extras.props["orientation"];
29
+ var size = Math.round(getVariableValue(getSize(val)) / 6);
30
+ if (orientation === "horizontal") {
31
+ return {
32
+ height: size,
33
+ borderRadius: size,
34
+ justifyContent: "center"
35
+ };
36
+ }
37
+ return {
38
+ width: size,
39
+ borderRadius: size,
40
+ alignItems: "center"
41
+ };
42
+ }
43
+ }
43
44
  });
44
- var SliderImpl = /* @__PURE__ */React.forwardRef(function (props, forwardedRef) {
45
- var {
46
- __scopeSlider,
47
- onSlideStart,
48
- onSlideMove,
49
- onSlideEnd,
50
- onHomeKeyDown,
51
- onEndKeyDown,
52
- onStepKeyDown,
53
- children,
54
- ...sliderProps
55
- } = props;
56
- var context = useSliderContext(__scopeSlider);
57
- var handleResponderGrant = React.useCallback(function (event) {
58
- var _props_onResponderGrant;
59
- (_props_onResponderGrant = props.onResponderGrant) === null || _props_onResponderGrant === void 0 ? void 0 : _props_onResponderGrant.call(props, event);
60
- var target = event.target;
61
- var thumbIndex = context.thumbs.get(target);
62
- var isStartingOnThumb = thumbIndex !== void 0;
63
- if (isWeb && _instanceof(target, HTMLElement)) {
64
- if (context.thumbs.has(target)) {
65
- target.focus();
66
- }
67
- }
68
- if (!isWeb && isStartingOnThumb) {
69
- context.valueIndexToChangeRef.current = thumbIndex;
70
- }
71
- onSlideStart(event, isStartingOnThumb ? "thumb" : "track");
72
- }, [context, onSlideStart, props.onResponderGrant]);
73
- var handleResponderMove = React.useCallback(function (event) {
74
- var _props_onResponderMove;
75
- (_props_onResponderMove = props.onResponderMove) === null || _props_onResponderMove === void 0 ? void 0 : _props_onResponderMove.call(props, event);
76
- event.stopPropagation();
77
- onSlideMove(event);
78
- }, [onSlideMove, props.onResponderMove]);
79
- var handleResponderRelease = React.useCallback(function (event) {
80
- var _props_onResponderRelease;
81
- (_props_onResponderRelease = props.onResponderRelease) === null || _props_onResponderRelease === void 0 ? void 0 : _props_onResponderRelease.call(props, event);
82
- onSlideEnd(event);
83
- }, [onSlideEnd, props.onResponderRelease]);
84
- return (
85
- // wrap with plain RN View for responder events - tamagui views no longer handle responder events on web
86
- /* @__PURE__ */
87
- _jsx(SliderFrame, {
88
- size: "$4",
89
- ref: forwardedRef,
90
- ...sliderProps,
91
- "data-orientation": sliderProps.orientation,
92
- ...(isWeb && {
93
- onKeyDown: function (event) {
94
- if (event.key === "Home") {
95
- onHomeKeyDown(event);
96
- event.preventDefault();
97
- } else if (event.key === "End") {
98
- onEndKeyDown(event);
99
- event.preventDefault();
100
- } else if (PAGE_KEYS.concat(ARROW_KEYS).includes(event.key)) {
101
- onStepKeyDown(event);
102
- event.preventDefault();
103
- }
104
- }
105
- }),
106
- children: /* @__PURE__ */_jsx(View, {
107
- onMoveShouldSetResponderCapture: function () {
108
- return true;
109
- },
110
- onMoveShouldSetResponder: function () {
111
- return true;
112
- },
113
- onStartShouldSetResponder: function () {
114
- return true;
115
- },
116
- onResponderTerminationRequest: function () {
117
- return false;
118
- },
119
- onResponderGrant: handleResponderGrant,
120
- onResponderMove: handleResponderMove,
121
- onResponderRelease: handleResponderRelease,
122
- style: {
123
- inset: 0,
124
- position: "absolute"
125
- },
126
- children
127
- })
128
- })
129
- );
45
+ var SliderImpl = createRefComponent(function(props, forwardedRef) {
46
+ var { __scopeSlider, onSlideStart, onSlideMove, onSlideEnd, onHomeKeyDown, onEndKeyDown, onStepKeyDown, children, ...sliderProps } = props;
47
+ var context = useSliderContext(__scopeSlider);
48
+ var handleResponderGrant = React.useCallback(function(event) {
49
+ var _props_onResponderGrant;
50
+ (_props_onResponderGrant = props.onResponderGrant) === null || _props_onResponderGrant === void 0 ? void 0 : _props_onResponderGrant.call(props, event);
51
+ var target = event.target;
52
+ var thumbIndex = context.thumbs.get(target);
53
+ var isStartingOnThumb = thumbIndex !== void 0;
54
+ if (isWeb && _instanceof(target, HTMLElement)) {
55
+ if (context.thumbs.has(target)) {
56
+ target.focus();
57
+ }
58
+ }
59
+ if (!isWeb && isStartingOnThumb) {
60
+ context.valueIndexToChangeRef.current = thumbIndex;
61
+ }
62
+ onSlideStart(event, isStartingOnThumb ? "thumb" : "track");
63
+ }, [
64
+ context,
65
+ onSlideStart,
66
+ props.onResponderGrant
67
+ ]);
68
+ var handleResponderMove = React.useCallback(function(event) {
69
+ var _props_onResponderMove;
70
+ (_props_onResponderMove = props.onResponderMove) === null || _props_onResponderMove === void 0 ? void 0 : _props_onResponderMove.call(props, event);
71
+ event.stopPropagation();
72
+ onSlideMove(event);
73
+ }, [onSlideMove, props.onResponderMove]);
74
+ var handleResponderRelease = React.useCallback(function(event) {
75
+ var _props_onResponderRelease;
76
+ (_props_onResponderRelease = props.onResponderRelease) === null || _props_onResponderRelease === void 0 ? void 0 : _props_onResponderRelease.call(props, event);
77
+ onSlideEnd(event);
78
+ }, [onSlideEnd, props.onResponderRelease]);
79
+ return /* @__PURE__ */ jsx(SliderFrame, {
80
+ size: "4",
81
+ ref: forwardedRef,
82
+ ...sliderProps,
83
+ "data-orientation": sliderProps.orientation,
84
+ ...isWeb && { onKeyDown: function(event) {
85
+ if (event.key === "Home") {
86
+ onHomeKeyDown(event);
87
+ event.preventDefault();
88
+ } else if (event.key === "End") {
89
+ onEndKeyDown(event);
90
+ event.preventDefault();
91
+ } else if (PAGE_KEYS.concat(ARROW_KEYS).includes(event.key)) {
92
+ onStepKeyDown(event);
93
+ event.preventDefault();
94
+ }
95
+ } },
96
+ children: /* @__PURE__ */ jsx(View, {
97
+ onMoveShouldSetResponderCapture: function() {
98
+ return true;
99
+ },
100
+ onMoveShouldSetResponder: function() {
101
+ return true;
102
+ },
103
+ onStartShouldSetResponder: function() {
104
+ return true;
105
+ },
106
+ onResponderTerminationRequest: function() {
107
+ return false;
108
+ },
109
+ onResponderGrant: handleResponderGrant,
110
+ onResponderMove: handleResponderMove,
111
+ onResponderRelease: handleResponderRelease,
112
+ style: {
113
+ inset: 0,
114
+ position: "absolute"
115
+ },
116
+ children
117
+ })
118
+ });
130
119
  });
120
+
131
121
  export { SliderFrame, SliderImpl };
132
122
  //# sourceMappingURL=SliderImpl.native.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["jsx","_jsx","isWeb","getVariableValue","styled","getSize","YStack","React","View","ARROW_KEYS","PAGE_KEYS","useSliderContext","_instanceof","left","right","Symbol","hasInstance","SliderFrame","position","variants","orientation","horizontal","vertical","size","val","extras","props","Math","round","height","borderRadius","justifyContent","width","alignItems","SliderImpl","forwardRef","forwardedRef","__scopeSlider","onSlideStart","onSlideMove","onSlideEnd","onHomeKeyDown","onEndKeyDown","onStepKeyDown","children","sliderProps","context","handleResponderGrant","useCallback","event","_props_onResponderGrant","onResponderGrant","call","target","thumbIndex","thumbs","get","isStartingOnThumb","HTMLElement","has","focus","valueIndexToChangeRef","current","handleResponderMove","_props_onResponderMove","onResponderMove","stopPropagation","handleResponderRelease","_props_onResponderRelease","onResponderRelease","ref","onKeyDown","key","preventDefault","concat","includes","onMoveShouldSetResponderCapture","onMoveShouldSetResponder","onStartShouldSetResponder","onResponderTerminationRequest","style","inset"],"sources":["../../src/SliderImpl.tsx"],"sourcesContent":[null],"mappings":"AAIA,SAASA,GAAA,IAAAC,IAAA,QAAa;AAEtB,SAASC,KAAA,4BAAgC;AACzC,SAASC,gBAAe,EAAAC,MAAA;AACxB,SAASC,OAAA,QAAc;AACvB,SAAAC,MAAY,QAAW;AACvB,YAASC,KAAA,MAAY;AAErB,SAASC,IAAA,QAAY,cAAwB;AAuHrC,SAAAC,UAAA,EAAAC,SAAA,EAAAC,gBAAA;AApHD,SAAMC,WAAcA,CAAAC,IAAA,EAAOC,KAAA;EAChC,IAAAA,KAAA,IAAU,eAAAC,MAAA,oBAAAD,KAAA,CAAAC,MAAA,CAAAC,WAAA;IAEV,QAAU,CAAAF,KAAA,CAAAC,MAAA,CAAAC,WAAA,EAAAH,IAAA;EAAA,OACR;IAAa,OACXA,IAAA,YAAaC,KAAA;EAAA;AACF;AACb,IAEAG,WAAO,GAAKb,MAAA,CAAAE,MAAW;EACrBY,QAAI,EAAC,UAAK;EACRC,QAAA;IAAAC,WACF;MACAC,UAAM;MACNC,QAAM;IACN;IACEC,IAAA,WAAAA,CAAOC,GAAA,EAAAC,MAAA;MAAA,IACL,CAAAD,GAAA;QAAQ;MACM;MACE,IAClBJ,WAAA,GAAAK,MAAA,CAAAC,KAAA;MACF,IAAAH,IAAA,GAAAI,IAAA,CAAAC,KAAA,CAAAzB,gBAAA,CAAAE,OAAA,CAAAmB,GAAA;MACA,IAAAJ,WAAO;QACL,OAAO;UACPS,MAAA,EAAAN,IAAc;UACdO,YAAY,EAAAP,IAAA;UACdQ,cAAA;QACF;MACF;MACD;QAEYC,KAAA,EAAAT,IAAa;QACvBO,YAAqC,EAAAP,IAAA;QACpCU,UAAM;MACJ;IAAA;EACA;AACA;AACA,IAAAC,UACA,kBAAA3B,KAAA,CAAA4B,UAAA,WAAAT,KAAA,EAAAU,YAAA;EAAA,IACA;IAAAC,aAAA;IAAAC,YAAA;IAAAC,WAAA;IAAAC,UAAA;IAAAC,aAAA;IAAAC,YAAA;IAAAC,aAAA;IAAAC,QAAA;IAAA,GAAAC;EAAA,IAAAnB,KAAA;EAAA,IACAoB,OAAA,GAAAnC,gBAAA,CAAA0B,aAAA;EAAA,IACAU,oBAAA,GAAAxC,KAAA,CAAAyC,WAAA,WAAAC,KAAA;IAAA,IACAC,uBAAG;IACL,CAAAA,uBAAI,GAAAxB,KAAA,CAAAyB,gBAAA,cAAAD,uBAAA,uBAAAA,uBAAA,CAAAE,IAAA,CAAA1B,KAAA,EAAAuB,KAAA;IACJ,IAAAI,MAAM,GAAAJ,KAAU,CAAAI,MAAA;IAEhB,IAAAC,UAAM,GAAAR,OAAA,CAAAS,MAAuB,CAAAC,GAAM,CAAAH,MAAA;IAAA,IAChCI,iBAAe,GAAAH,UAAA;IACd,IAAApD,KAAA,IAAMU,WAAA,CAAAyC,MAAmB,EAAAK,WAAK;MAC9B,IAAAZ,OAAM,CAAAS,MAAS,CAAAI,GAAA,CAAMN,MAAA;QACrBA,MAAM,CAAAO,KAAA;MACN;IAKA;IACE,KAAA1D,KAAI,IAAAuD,iBAAmB;MACrBX,OAAA,CAAAe,qBAAa,CAAAC,OAAA,GAAAR,UAAA;IAAA;IACfhB,YACF,CAAAW,KAAA,EAAAQ,iBAAA;EAIA,IACEX,OAAA,EAAwCR,YAC1C,EAEAZ,KAAA,CAAAyB,gBAAa,CAA4C;EAC3D,IACAY,mBAAU,GAAAxD,KAAc,CAAAyC,WAAM,WAAgBC,KAAA;IAChD,IAAAe,sBAAA;IAEA,CAAAA,sBAAM,GAAAtC,KAAsB,CAAAuC,eAAM,cAAAD,sBAAA,uBAAAA,sBAAA,CAAAZ,IAAA,CAAA1B,KAAA,EAAAuB,KAAA;IAAAA,KAC/B,CAAAiB,eAAe;IACd3B,WAAM,CAAAU,KAAA;EACN,IACAV,WAAA,EAAiBb,KACnB,CAAAuC,eAAA;EACmC,IACrCE,sBAAA,GAAA5D,KAAA,CAAAyC,WAAA,WAAAC,KAAA;IAEA,IAAAmB,yBAAM;IAA+B,CAAAA,yBACnB,GAAA1C,KAAA,CAAA2C,kBAAA,cAAAD,yBAAA,uBAAAA,yBAAA,CAAAhB,IAAA,CAAA1B,KAAA,EAAAuB,KAAA;IACdT,UAAM,CAAAS,KAAA;EACN,IAAgBT,UAClB,EAAAd,KACC,CAAA2C,kBAAkB,CAAkB,CACvC;EAEA;IAAA;IAAA;IAGEpE,IAAA,CAAAgB,WAAA;MAAAM,IAAC;MAAA+C,GAAA,EAAAlC,YAAA;MAAA,GAAAS,WACM;MAAA,kBACA,EAAAA,WAAA,CAAAzB,WAAA;MAAA,IAAAlB,KACD;QAAAqE,SACJ,WAAAA,CAAAtB,KAAkB;UACjB,IAAIA,KAAA,CAAAuB,GAAS;YACZ/B,aAAY,CAAAQ,KAAA;YACVA,KAAA,CAAIwB,cAAc;UAChB,WAAAxB,KAAA,CAAAuB,GAAc,KAAK;YAEnB9B,YAAM,CAAAO,KAAA;YAAeA,KACvB,CAAAwB,cAAiB;UACf,WAAA/D,SAAa,CAAAgE,MAAK,CAAAjE,UAAA,EAAAkE,QAAA,CAAA1B,KAAA,CAAAuB,GAAA;YAElB7B,aAAM,CAAAM,KAAA;YAAeA,KACvB,CAAAwB,cAAW;UACT;QAEA;MAAqB;MACvB7B,QACF,iBAAA3C,IAAA,CAAAO,IAAA;QAAAoE,+BACF,WAAAA,CAAA;UAEA;QAAA;QAACC,wBAAA,WAAAA,CAAA;UAAA,OACC;QAAuC;QACPC,yBAChC,WAAAA,CAAA,EAA2B;UAAM,OACjC;QAAqC;QACnBC,6BACD,WAAAA,CAAA;UAAA,OACjB;QAAoB;QACoB5B,gBAEvC,EAAAJ,oBAAA;QAAAkB,eAAA,EAAAF,mBAAA;QAAAM,kBACH,EAAAF,sBAAA;QAAAa,KAAA;UACFC,KAAA;UAAA/D,QAAA;QAEJ;QACF0B","ignoreList":[]}
1
+ {"version":3,"file":"SliderImpl.native.js","names":[],"sources":["esm/SliderImpl.native.js"],"sourcesContent":["import { jsx as _jsx } from \"react/jsx-runtime\";\nimport { createRefComponent } from \"@tamagui/core\";\nimport { isWeb } from \"@tamagui/constants\";\nimport { getVariableValue, styled } from \"@tamagui/core\";\nimport { getSize } from \"@tamagui/get-token\";\nimport { YStack } from \"@tamagui/stacks\";\nimport * as React from \"react\";\nimport { View } from \"react-native\";\nimport { ARROW_KEYS, PAGE_KEYS, useSliderContext } from \"./constants\";\nfunction _instanceof(left, right) {\n if (right != null && typeof Symbol !== \"undefined\" && right[Symbol.hasInstance]) {\n return !!right[Symbol.hasInstance](left);\n } else {\n return left instanceof right;\n }\n}\nvar SliderFrame = styled(YStack, {\n position: \"relative\",\n variants: {\n orientation: {\n horizontal: {},\n vertical: {}\n },\n size: function(val, extras) {\n if (!val) {\n return;\n }\n var orientation = extras.props[\"orientation\"];\n var size = Math.round(getVariableValue(getSize(val)) / 6);\n if (orientation === \"horizontal\") {\n return {\n height: size,\n borderRadius: size,\n justifyContent: \"center\"\n };\n }\n return {\n width: size,\n borderRadius: size,\n alignItems: \"center\"\n };\n }\n }\n});\nvar SliderImpl = createRefComponent(function(props, forwardedRef) {\n var { __scopeSlider, onSlideStart, onSlideMove, onSlideEnd, onHomeKeyDown, onEndKeyDown, onStepKeyDown, children, ...sliderProps } = props;\n var context = useSliderContext(__scopeSlider);\n var handleResponderGrant = React.useCallback(function(event) {\n var _props_onResponderGrant;\n (_props_onResponderGrant = props.onResponderGrant) === null || _props_onResponderGrant === void 0 ? void 0 : _props_onResponderGrant.call(props, event);\n var target = event.target;\n var thumbIndex = context.thumbs.get(target);\n var isStartingOnThumb = thumbIndex !== void 0;\n if (isWeb && _instanceof(target, HTMLElement)) {\n if (context.thumbs.has(target)) {\n target.focus();\n }\n }\n if (!isWeb && isStartingOnThumb) {\n context.valueIndexToChangeRef.current = thumbIndex;\n }\n onSlideStart(event, isStartingOnThumb ? \"thumb\" : \"track\");\n }, [\n context,\n onSlideStart,\n props.onResponderGrant\n ]);\n var handleResponderMove = React.useCallback(function(event) {\n var _props_onResponderMove;\n (_props_onResponderMove = props.onResponderMove) === null || _props_onResponderMove === void 0 ? void 0 : _props_onResponderMove.call(props, event);\n event.stopPropagation();\n onSlideMove(event);\n }, [\n onSlideMove,\n props.onResponderMove\n ]);\n var handleResponderRelease = React.useCallback(function(event) {\n var _props_onResponderRelease;\n (_props_onResponderRelease = props.onResponderRelease) === null || _props_onResponderRelease === void 0 ? void 0 : _props_onResponderRelease.call(props, event);\n onSlideEnd(event);\n }, [\n onSlideEnd,\n props.onResponderRelease\n ]);\n return (\n // wrap with plain RN View for responder events - tamagui views no longer handle responder events on web\n /* @__PURE__ */ _jsx(SliderFrame, {\n size: \"4\",\n ref: forwardedRef,\n ...sliderProps,\n \"data-orientation\": sliderProps.orientation,\n ...isWeb && {\n onKeyDown: function(event) {\n if (event.key === \"Home\") {\n onHomeKeyDown(event);\n event.preventDefault();\n } else if (event.key === \"End\") {\n onEndKeyDown(event);\n event.preventDefault();\n } else if (PAGE_KEYS.concat(ARROW_KEYS).includes(event.key)) {\n onStepKeyDown(event);\n event.preventDefault();\n }\n }\n },\n children: /* @__PURE__ */ _jsx(View, {\n onMoveShouldSetResponderCapture: function() {\n return true;\n },\n onMoveShouldSetResponder: function() {\n return true;\n },\n onStartShouldSetResponder: function() {\n return true;\n },\n onResponderTerminationRequest: function() {\n return false;\n },\n onResponderGrant: handleResponderGrant,\n onResponderMove: handleResponderMove,\n onResponderRelease: handleResponderRelease,\n style: {\n inset: 0,\n position: \"absolute\"\n },\n children\n })\n })\n );\n});\nexport {\n SliderFrame,\n SliderImpl\n};\n//# sourceMappingURL=SliderImpl.js.map\n"],"mappings":"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"}
@@ -1,30 +1,47 @@
1
1
  import { createStyledContext } from "@tamagui/core";
2
+
2
3
  const SLIDER_NAME = "Slider";
4
+ const sliderContextKeys = [
5
+ "size",
6
+ "min",
7
+ "max",
8
+ "orientation"
9
+ ];
3
10
  const SliderContext = createStyledContext({
4
- size: "$true",
5
- min: 0,
6
- max: 100,
7
- orientation: "horizontal"
8
- });
9
- const {
10
- Provider: SliderProvider,
11
- useStyledContext: useSliderContext
12
- } = SliderContext;
13
- const {
14
- Provider: SliderOrientationProvider,
15
- useStyledContext: useSliderOrientationContext
16
- } = createStyledContext({
17
- startEdge: "left",
18
- endEdge: "right",
19
- sizeProp: "width",
20
- size: 0,
21
- direction: 1
11
+ size: true,
12
+ min: 0,
13
+ max: 100,
14
+ orientation: "horizontal"
15
+ }, { keys: sliderContextKeys });
16
+ const { Provider: SliderProvider, useStyledContext: useSliderContext } = SliderContext;
17
+ const { Provider: SliderOrientationProvider, useStyledContext: useSliderOrientationContext } = createStyledContext({
18
+ startEdge: "left",
19
+ endEdge: "right",
20
+ sizeProp: "width",
21
+ size: 0,
22
+ direction: 1
22
23
  });
23
24
  const PAGE_KEYS = ["PageUp", "PageDown"];
24
- const ARROW_KEYS = ["ArrowUp", "ArrowDown", "ArrowLeft", "ArrowRight"];
25
+ const ARROW_KEYS = [
26
+ "ArrowUp",
27
+ "ArrowDown",
28
+ "ArrowLeft",
29
+ "ArrowRight"
30
+ ];
25
31
  const BACK_KEYS = {
26
- ltr: ["ArrowDown", "Home", "ArrowLeft", "PageDown"],
27
- rtl: ["ArrowDown", "Home", "ArrowRight", "PageDown"]
32
+ ltr: [
33
+ "ArrowDown",
34
+ "Home",
35
+ "ArrowLeft",
36
+ "PageDown"
37
+ ],
38
+ rtl: [
39
+ "ArrowDown",
40
+ "Home",
41
+ "ArrowRight",
42
+ "PageDown"
43
+ ]
28
44
  };
45
+
29
46
  export { ARROW_KEYS, BACK_KEYS, PAGE_KEYS, SLIDER_NAME, SliderContext, SliderOrientationProvider, SliderProvider, useSliderContext, useSliderOrientationContext };
30
47
  //# sourceMappingURL=constants.mjs.map
@@ -1 +1 @@
1
- {"version":3,"names":["createStyledContext","SLIDER_NAME","SliderContext","size","min","max","orientation","Provider","SliderProvider","useStyledContext","useSliderContext","SliderOrientationProvider","useSliderOrientationContext","startEdge","endEdge","sizeProp","direction","PAGE_KEYS","ARROW_KEYS","BACK_KEYS","ltr","rtl"],"sources":["../../src/constants.tsx"],"sourcesContent":[null],"mappings":"AAAA,SAASA,mBAAA,QAA4C;AAI9C,MAAMC,WAAA,GAAc;AAEpB,MAAMC,aAAA,GAAgBF,mBAAA,CAAwC;EACnEG,IAAA,EAAM;EACNC,GAAA,EAAK;EACLC,GAAA,EAAK;EACLC,WAAA,EAAa;AACf,CAAuB;AAEhB,MAAM;EAAEC,QAAA,EAAUC,cAAA;EAAgBC,gBAAA,EAAkBC;AAAiB,IAC1ER,aAAA;AAEK,MAAM;EACXK,QAAA,EAAUI,yBAAA;EACVF,gBAAA,EAAkBG;AACpB,IAAIZ,mBAAA,CAMD;EACDa,SAAA,EAAW;EACXC,OAAA,EAAS;EACTC,QAAA,EAAU;EACVZ,IAAA,EAAM;EACNa,SAAA,EAAW;AACb,CAAC;AAEM,MAAMC,SAAA,GAAY,CAAC,UAAU,UAAU;AACvC,MAAMC,UAAA,GAAa,CAAC,WAAW,aAAa,aAAa,YAAY;AACrE,MAAMC,SAAA,GAAyC;EACpDC,GAAA,EAAK,CAAC,aAAa,QAAQ,aAAa,UAAU;EAClDC,GAAA,EAAK,CAAC,aAAa,QAAQ,cAAc,UAAU;AACrD","ignoreList":[]}
1
+ {"version":3,"file":"constants.js","names":[],"sources":["esm/constants.js"],"sourcesContent":["import { createStyledContext } from \"@tamagui/core\";\nconst SLIDER_NAME = \"Slider\";\nconst sliderContextKeys = [\"size\", \"min\", \"max\", \"orientation\"];\nconst SliderContext = createStyledContext(\n {\n size: true,\n min: 0,\n max: 100,\n orientation: \"horizontal\"\n },\n {\n keys: sliderContextKeys\n }\n);\nconst { Provider: SliderProvider, useStyledContext: useSliderContext } = SliderContext;\nconst {\n Provider: SliderOrientationProvider,\n useStyledContext: useSliderOrientationContext\n} = createStyledContext({\n startEdge: \"left\",\n endEdge: \"right\",\n sizeProp: \"width\",\n size: 0,\n direction: 1\n});\nconst PAGE_KEYS = [\"PageUp\", \"PageDown\"];\nconst ARROW_KEYS = [\"ArrowUp\", \"ArrowDown\", \"ArrowLeft\", \"ArrowRight\"];\nconst BACK_KEYS = {\n ltr: [\"ArrowDown\", \"Home\", \"ArrowLeft\", \"PageDown\"],\n rtl: [\"ArrowDown\", \"Home\", \"ArrowRight\", \"PageDown\"]\n};\nexport {\n ARROW_KEYS,\n BACK_KEYS,\n PAGE_KEYS,\n SLIDER_NAME,\n SliderContext,\n SliderOrientationProvider,\n SliderProvider,\n useSliderContext,\n useSliderOrientationContext\n};\n//# sourceMappingURL=constants.js.map\n"],"mappings":";;;AACA,MAAM,cAAc;AACpB,MAAM,oBAAoB;CAAC;CAAQ;CAAO;CAAO;AAAa;AAC9D,MAAM,gBAAgB,oBACpB;CACE,MAAM;CACN,KAAK;CACL,KAAK;CACL,aAAa;AACf,GACA,EACE,MAAM,kBACR,CACF;AACA,MAAM,EAAE,UAAU,gBAAgB,kBAAkB,qBAAqB;AACzE,MAAM,EACJ,UAAU,2BACV,kBAAkB,gCAChB,oBAAoB;CACtB,WAAW;CACX,SAAS;CACT,UAAU;CACV,MAAM;CACN,WAAW;AACb,CAAC;AACD,MAAM,YAAY,CAAC,UAAU,UAAU;AACvC,MAAM,aAAa;CAAC;CAAW;CAAa;CAAa;AAAY;AACrE,MAAM,YAAY;CAChB,KAAK;EAAC;EAAa;EAAQ;EAAa;CAAU;CAClD,KAAK;EAAC;EAAa;EAAQ;EAAc;CAAU;AACrD"}
@@ -1,30 +1,47 @@
1
1
  import { createStyledContext } from "@tamagui/core";
2
+
2
3
  var SLIDER_NAME = "Slider";
4
+ var sliderContextKeys = [
5
+ "size",
6
+ "min",
7
+ "max",
8
+ "orientation"
9
+ ];
3
10
  var SliderContext = createStyledContext({
4
- size: "$true",
5
- min: 0,
6
- max: 100,
7
- orientation: "horizontal"
8
- });
9
- var {
10
- Provider: SliderProvider,
11
- useStyledContext: useSliderContext
12
- } = SliderContext;
13
- var {
14
- Provider: SliderOrientationProvider,
15
- useStyledContext: useSliderOrientationContext
16
- } = createStyledContext({
17
- startEdge: "left",
18
- endEdge: "right",
19
- sizeProp: "width",
20
- size: 0,
21
- direction: 1
11
+ size: true,
12
+ min: 0,
13
+ max: 100,
14
+ orientation: "horizontal"
15
+ }, { keys: sliderContextKeys });
16
+ var { Provider: SliderProvider, useStyledContext: useSliderContext } = SliderContext;
17
+ var { Provider: SliderOrientationProvider, useStyledContext: useSliderOrientationContext } = createStyledContext({
18
+ startEdge: "left",
19
+ endEdge: "right",
20
+ sizeProp: "width",
21
+ size: 0,
22
+ direction: 1
22
23
  });
23
24
  var PAGE_KEYS = ["PageUp", "PageDown"];
24
- var ARROW_KEYS = ["ArrowUp", "ArrowDown", "ArrowLeft", "ArrowRight"];
25
+ var ARROW_KEYS = [
26
+ "ArrowUp",
27
+ "ArrowDown",
28
+ "ArrowLeft",
29
+ "ArrowRight"
30
+ ];
25
31
  var BACK_KEYS = {
26
- ltr: ["ArrowDown", "Home", "ArrowLeft", "PageDown"],
27
- rtl: ["ArrowDown", "Home", "ArrowRight", "PageDown"]
32
+ ltr: [
33
+ "ArrowDown",
34
+ "Home",
35
+ "ArrowLeft",
36
+ "PageDown"
37
+ ],
38
+ rtl: [
39
+ "ArrowDown",
40
+ "Home",
41
+ "ArrowRight",
42
+ "PageDown"
43
+ ]
28
44
  };
45
+
29
46
  export { ARROW_KEYS, BACK_KEYS, PAGE_KEYS, SLIDER_NAME, SliderContext, SliderOrientationProvider, SliderProvider, useSliderContext, useSliderOrientationContext };
30
47
  //# sourceMappingURL=constants.native.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["createStyledContext","SLIDER_NAME","SliderContext","size","min","max","orientation","Provider","SliderProvider","useStyledContext","useSliderContext","SliderOrientationProvider","useSliderOrientationContext","startEdge","endEdge","sizeProp","direction","PAGE_KEYS","ARROW_KEYS"],"sources":["../../src/constants.tsx"],"sourcesContent":[null],"mappings":"AAAA,SAASA,mBAAA,QAA4C;AAI9C,IAAAC,WAAM,WAAc;AAEpB,IAAAC,aAAM,GAAAF,mBAAgB;EAC3BG,IAAA,EAAM;EACNC,GAAA,EAAK;EACLC,GAAA,EAAK;EACLC,WAAA,EAAa;AACf,CAAuB;AAEhB;EAAMC,QAAE,EAAAC,cAAU;EAAAC,gBAAgB,EAAAC;AAAkB,IAAiBR,aAC1E;AAEK;EAAMK,QAAA,EAAAI,yBAAA;EAAAF,gBAAA,EAAAG;AAAA,IAAAZ,mBAAA;EACXa,SAAA,EAAU;EACVC,OAAA;EACFC,QAAI;EAOFZ,IAAA;EACAa,SAAS;AAAA,EACT;AAAU,IACVC,SAAM,IACN,UACD,WAEM;AACA,IAAAC,UAAM,IACN,SAAM,EACX,WAAM,EACN,WAAM,EACR,a","ignoreList":[]}
1
+ {"version":3,"file":"constants.native.js","names":[],"sources":["esm/constants.native.js"],"sourcesContent":["import { createStyledContext } from \"@tamagui/core\";\nvar SLIDER_NAME = \"Slider\";\nvar sliderContextKeys = [\n \"size\",\n \"min\",\n \"max\",\n \"orientation\"\n];\nvar SliderContext = createStyledContext({\n size: true,\n min: 0,\n max: 100,\n orientation: \"horizontal\"\n}, {\n keys: sliderContextKeys\n});\nvar { Provider: SliderProvider, useStyledContext: useSliderContext } = SliderContext;\nvar { Provider: SliderOrientationProvider, useStyledContext: useSliderOrientationContext } = createStyledContext({\n startEdge: \"left\",\n endEdge: \"right\",\n sizeProp: \"width\",\n size: 0,\n direction: 1\n});\nvar PAGE_KEYS = [\n \"PageUp\",\n \"PageDown\"\n];\nvar ARROW_KEYS = [\n \"ArrowUp\",\n \"ArrowDown\",\n \"ArrowLeft\",\n \"ArrowRight\"\n];\nvar BACK_KEYS = {\n ltr: [\n \"ArrowDown\",\n \"Home\",\n \"ArrowLeft\",\n \"PageDown\"\n ],\n rtl: [\n \"ArrowDown\",\n \"Home\",\n \"ArrowRight\",\n \"PageDown\"\n ]\n};\nexport {\n ARROW_KEYS,\n BACK_KEYS,\n PAGE_KEYS,\n SLIDER_NAME,\n SliderContext,\n SliderOrientationProvider,\n SliderProvider,\n useSliderContext,\n useSliderOrientationContext\n};\n//# sourceMappingURL=constants.js.map\n"],"mappings":";;;AACA,IAAI,cAAc;AAClB,IAAI,oBAAoB;CACtB;CACA;CACA;CACA;AACF;AACA,IAAI,gBAAgB,oBAAoB;CACtC,MAAM;CACN,KAAK;CACL,KAAK;CACL,aAAa;AACf,GAAG,EACD,MAAM,kBACR,CAAC;AACD,IAAI,EAAE,UAAU,gBAAgB,kBAAkB,qBAAqB;AACvE,IAAI,EAAE,UAAU,2BAA2B,kBAAkB,gCAAgC,oBAAoB;CAC/G,WAAW;CACX,SAAS;CACT,UAAU;CACV,MAAM;CACN,WAAW;AACb,CAAC;AACD,IAAI,YAAY,CACd,UACA,UACF;AACA,IAAI,aAAa;CACf;CACA;CACA;CACA;AACF;AACA,IAAI,YAAY;CACd,KAAK;EACH;EACA;EACA;EACA;CACF;CACA,KAAK;EACH;EACA;EACA;EACA;CACF;AACF"}
@@ -1,58 +1,59 @@
1
1
  function getNextSortedValues(prevValues = [], nextValue, atIndex) {
2
- const nextValues = [...prevValues];
3
- nextValues[atIndex] = nextValue;
4
- return nextValues.sort((a, b) => a - b);
2
+ const nextValues = [...prevValues];
3
+ nextValues[atIndex] = nextValue;
4
+ return nextValues.sort((a, b) => a - b);
5
5
  }
6
6
  function convertValueToPercentage(value, min, max) {
7
- const maxSteps = max - min;
8
- const percentPerStep = 100 / maxSteps;
9
- return percentPerStep * (value - min);
7
+ const maxSteps = max - min;
8
+ const percentPerStep = 100 / maxSteps;
9
+ return percentPerStep * (value - min);
10
10
  }
11
11
  function getLabel(index, totalValues) {
12
- if (totalValues > 2) {
13
- return `Value ${index + 1} of ${totalValues}`;
14
- }
15
- if (totalValues === 2) {
16
- return ["Minimum", "Maximum"][index];
17
- }
18
- return void 0;
12
+ if (totalValues > 2) {
13
+ return `Value ${index + 1} of ${totalValues}`;
14
+ }
15
+ if (totalValues === 2) {
16
+ return ["Minimum", "Maximum"][index];
17
+ }
18
+ return void 0;
19
19
  }
20
20
  function getClosestValueIndex(values, nextValue) {
21
- if (values.length === 1) return 0;
22
- const distances = values.map(value => Math.abs(value - nextValue));
23
- const closestDistance = Math.min(...distances);
24
- return distances.indexOf(closestDistance);
21
+ if (values.length === 1) return 0;
22
+ const distances = values.map((value) => Math.abs(value - nextValue));
23
+ const closestDistance = Math.min(...distances);
24
+ return distances.indexOf(closestDistance);
25
25
  }
26
26
  function getThumbInBoundsOffset(width, left, direction) {
27
- const quarterWidth = width / 4;
28
- const halfPercent = 50;
29
- const offset = linearScale([0, halfPercent], [0, quarterWidth]);
30
- return (quarterWidth - offset(left)) * direction;
27
+ const quarterWidth = width / 4;
28
+ const halfPercent = 50;
29
+ const offset = linearScale([0, halfPercent], [0, quarterWidth]);
30
+ return (quarterWidth - offset(left)) * direction;
31
31
  }
32
32
  function getStepsBetweenValues(values) {
33
- return values.slice(0, -1).map((value, index) => values[index + 1] - value);
33
+ return values.slice(0, -1).map((value, index) => values[index + 1] - value);
34
34
  }
35
35
  function hasMinStepsBetweenValues(values, minStepsBetweenValues) {
36
- if (minStepsBetweenValues > 0) {
37
- const stepsBetweenValues = getStepsBetweenValues(values);
38
- const actualMinStepsBetweenValues = Math.min(...stepsBetweenValues);
39
- return actualMinStepsBetweenValues >= minStepsBetweenValues;
40
- }
41
- return true;
36
+ if (minStepsBetweenValues > 0) {
37
+ const stepsBetweenValues = getStepsBetweenValues(values);
38
+ const actualMinStepsBetweenValues = Math.min(...stepsBetweenValues);
39
+ return actualMinStepsBetweenValues >= minStepsBetweenValues;
40
+ }
41
+ return true;
42
42
  }
43
43
  function linearScale(input, output) {
44
- return value => {
45
- if (input[0] === input[1] || output[0] === output[1]) return output[0];
46
- const ratio = (output[1] - output[0]) / (input[1] - input[0]);
47
- return output[0] + ratio * (value - input[0]);
48
- };
44
+ return (value) => {
45
+ if (input[0] === input[1] || output[0] === output[1]) return output[0];
46
+ const ratio = (output[1] - output[0]) / (input[1] - input[0]);
47
+ return output[0] + ratio * (value - input[0]);
48
+ };
49
49
  }
50
50
  function getDecimalCount(value) {
51
- return (String(value).split(".")[1] || "").length;
51
+ return (String(value).split(".")[1] || "").length;
52
52
  }
53
53
  function roundValue(value, decimalCount) {
54
- const rounder = 10 ** decimalCount;
55
- return Math.round(value * rounder) / rounder;
54
+ const rounder = 10 ** decimalCount;
55
+ return Math.round(value * rounder) / rounder;
56
56
  }
57
+
57
58
  export { convertValueToPercentage, getClosestValueIndex, getDecimalCount, getLabel, getNextSortedValues, getThumbInBoundsOffset, hasMinStepsBetweenValues, linearScale, roundValue };
58
59
  //# sourceMappingURL=helpers.mjs.map
@@ -1 +1 @@
1
- {"version":3,"names":["getNextSortedValues","prevValues","nextValue","atIndex","nextValues","sort","a","b","convertValueToPercentage","value","min","max","maxSteps","percentPerStep","getLabel","index","totalValues","getClosestValueIndex","values","length","distances","map","Math","abs","closestDistance","indexOf","getThumbInBoundsOffset","width","left","direction","quarterWidth","halfPercent","offset","linearScale","getStepsBetweenValues","slice","hasMinStepsBetweenValues","minStepsBetweenValues","stepsBetweenValues","actualMinStepsBetweenValues","input","output","ratio","getDecimalCount","String","split","roundValue","decimalCount","rounder","round"],"sources":["../../src/helpers.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"helpers.js","names":[],"sources":["esm/helpers.js"],"sourcesContent":["function getNextSortedValues(prevValues = [], nextValue, atIndex) {\n const nextValues = [...prevValues];\n nextValues[atIndex] = nextValue;\n return nextValues.sort((a, b) => a - b);\n}\nfunction convertValueToPercentage(value, min, max) {\n const maxSteps = max - min;\n const percentPerStep = 100 / maxSteps;\n return percentPerStep * (value - min);\n}\nfunction getLabel(index, totalValues) {\n if (totalValues > 2) {\n return `Value ${index + 1} of ${totalValues}`;\n }\n if (totalValues === 2) {\n return [\"Minimum\", \"Maximum\"][index];\n }\n return void 0;\n}\nfunction getClosestValueIndex(values, nextValue) {\n if (values.length === 1) return 0;\n const distances = values.map((value) => Math.abs(value - nextValue));\n const closestDistance = Math.min(...distances);\n return distances.indexOf(closestDistance);\n}\nfunction getThumbInBoundsOffset(width, left, direction) {\n const quarterWidth = width / 4;\n const halfPercent = 50;\n const offset = linearScale([0, halfPercent], [0, quarterWidth]);\n return (quarterWidth - offset(left)) * direction;\n}\nfunction getStepsBetweenValues(values) {\n return values.slice(0, -1).map((value, index) => values[index + 1] - value);\n}\nfunction hasMinStepsBetweenValues(values, minStepsBetweenValues) {\n if (minStepsBetweenValues > 0) {\n const stepsBetweenValues = getStepsBetweenValues(values);\n const actualMinStepsBetweenValues = Math.min(...stepsBetweenValues);\n return actualMinStepsBetweenValues >= minStepsBetweenValues;\n }\n return true;\n}\nfunction linearScale(input, output) {\n return (value) => {\n if (input[0] === input[1] || output[0] === output[1]) return output[0];\n const ratio = (output[1] - output[0]) / (input[1] - input[0]);\n return output[0] + ratio * (value - input[0]);\n };\n}\nfunction getDecimalCount(value) {\n return (String(value).split(\".\")[1] || \"\").length;\n}\nfunction roundValue(value, decimalCount) {\n const rounder = 10 ** decimalCount;\n return Math.round(value * rounder) / rounder;\n}\nexport {\n convertValueToPercentage,\n getClosestValueIndex,\n getDecimalCount,\n getLabel,\n getNextSortedValues,\n getThumbInBoundsOffset,\n hasMinStepsBetweenValues,\n linearScale,\n roundValue\n};\n//# sourceMappingURL=helpers.js.map\n"],"mappings":";AAAA,SAAS,oBAAoB,aAAa,CAAC,GAAG,WAAW,SAAS;CAChE,MAAM,aAAa,CAAC,GAAG,UAAU;CACjC,WAAW,WAAW;CACtB,OAAO,WAAW,MAAM,GAAG,MAAM,IAAI,CAAC;AACxC;AACA,SAAS,yBAAyB,OAAO,KAAK,KAAK;CACjD,MAAM,WAAW,MAAM;CACvB,MAAM,iBAAiB,MAAM;CAC7B,OAAO,kBAAkB,QAAQ;AACnC;AACA,SAAS,SAAS,OAAO,aAAa;CACpC,IAAI,cAAc,GAAG;EACnB,OAAO,SAAS,QAAQ,EAAE,MAAM;CAClC;CACA,IAAI,gBAAgB,GAAG;EACrB,OAAO,CAAC,WAAW,SAAS,EAAE;CAChC;CACA,OAAO,KAAK;AACd;AACA,SAAS,qBAAqB,QAAQ,WAAW;CAC/C,IAAI,OAAO,WAAW,GAAG,OAAO;CAChC,MAAM,YAAY,OAAO,KAAK,UAAU,KAAK,IAAI,QAAQ,SAAS,CAAC;CACnE,MAAM,kBAAkB,KAAK,IAAI,GAAG,SAAS;CAC7C,OAAO,UAAU,QAAQ,eAAe;AAC1C;AACA,SAAS,uBAAuB,OAAO,MAAM,WAAW;CACtD,MAAM,eAAe,QAAQ;CAC7B,MAAM,cAAc;CACpB,MAAM,SAAS,YAAY,CAAC,GAAG,WAAW,GAAG,CAAC,GAAG,YAAY,CAAC;CAC9D,QAAQ,eAAe,OAAO,IAAI,KAAK;AACzC;AACA,SAAS,sBAAsB,QAAQ;CACrC,OAAO,OAAO,MAAM,GAAG,CAAC,CAAC,EAAE,KAAK,OAAO,UAAU,OAAO,QAAQ,KAAK,KAAK;AAC5E;AACA,SAAS,yBAAyB,QAAQ,uBAAuB;CAC/D,IAAI,wBAAwB,GAAG;EAC7B,MAAM,qBAAqB,sBAAsB,MAAM;EACvD,MAAM,8BAA8B,KAAK,IAAI,GAAG,kBAAkB;EAClE,OAAO,+BAA+B;CACxC;CACA,OAAO;AACT;AACA,SAAS,YAAY,OAAO,QAAQ;CAClC,QAAQ,UAAU;EAChB,IAAI,MAAM,OAAO,MAAM,MAAM,OAAO,OAAO,OAAO,IAAI,OAAO,OAAO;EACpE,MAAM,SAAS,OAAO,KAAK,OAAO,OAAO,MAAM,KAAK,MAAM;EAC1D,OAAO,OAAO,KAAK,SAAS,QAAQ,MAAM;CAC5C;AACF;AACA,SAAS,gBAAgB,OAAO;CAC9B,QAAQ,OAAO,KAAK,EAAE,MAAM,GAAG,EAAE,MAAM,IAAI;AAC7C;AACA,SAAS,WAAW,OAAO,cAAc;CACvC,MAAM,UAAU,MAAM;CACtB,OAAO,KAAK,MAAM,QAAQ,OAAO,IAAI;AACvC"}