@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.
- package/dist/cjs/Slider.cjs +455 -512
- package/dist/cjs/Slider.native.cjs +469 -0
- package/dist/cjs/Slider.native.js +424 -498
- package/dist/cjs/Slider.native.js.map +1 -1
- package/dist/cjs/SliderImpl.cjs +111 -128
- package/dist/cjs/SliderImpl.native.cjs +154 -0
- package/dist/cjs/SliderImpl.native.js +127 -143
- package/dist/cjs/SliderImpl.native.js.map +1 -1
- package/dist/cjs/constants.cjs +59 -45
- package/dist/cjs/constants.native.cjs +79 -0
- package/dist/cjs/constants.native.js +59 -44
- package/dist/cjs/constants.native.js.map +1 -1
- package/dist/cjs/helpers.cjs +59 -60
- package/dist/cjs/helpers.native.cjs +99 -0
- package/dist/cjs/helpers.native.js +66 -68
- package/dist/cjs/helpers.native.js.map +1 -1
- package/dist/cjs/index.cjs +16 -17
- package/dist/cjs/index.native.cjs +33 -0
- package/dist/cjs/index.native.js +16 -16
- package/dist/cjs/index.native.js.map +1 -1
- package/dist/cjs/types.cjs +10 -11
- package/dist/cjs/types.native.cjs +19 -0
- package/dist/cjs/types.native.js +10 -10
- package/dist/cjs/types.native.js.map +1 -1
- package/dist/esm/Slider.mjs +427 -474
- package/dist/esm/Slider.mjs.map +1 -1
- package/dist/esm/Slider.native.js +396 -463
- package/dist/esm/Slider.native.js.map +1 -1
- package/dist/esm/SliderImpl.mjs +92 -102
- package/dist/esm/SliderImpl.mjs.map +1 -1
- package/dist/esm/SliderImpl.native.js +109 -119
- package/dist/esm/SliderImpl.native.js.map +1 -1
- package/dist/esm/constants.mjs +38 -21
- package/dist/esm/constants.mjs.map +1 -1
- package/dist/esm/constants.native.js +38 -21
- package/dist/esm/constants.native.js.map +1 -1
- package/dist/esm/helpers.mjs +37 -36
- package/dist/esm/helpers.mjs.map +1 -1
- package/dist/esm/helpers.native.js +44 -45
- package/dist/esm/helpers.native.js.map +1 -1
- package/dist/esm/index.js +4 -3
- package/dist/esm/index.mjs +4 -3
- package/dist/esm/index.native.js +4 -3
- package/dist/esm/types.mjs +0 -2
- package/dist/esm/types.native.js +0 -2
- package/dist/jsx/Slider.mjs +427 -474
- package/dist/jsx/Slider.mjs.map +1 -1
- package/dist/jsx/Slider.native.cjs +469 -0
- package/dist/jsx/Slider.native.js +424 -498
- package/dist/jsx/Slider.native.js.map +1 -1
- package/dist/jsx/SliderImpl.mjs +92 -102
- package/dist/jsx/SliderImpl.mjs.map +1 -1
- package/dist/jsx/SliderImpl.native.cjs +154 -0
- package/dist/jsx/SliderImpl.native.js +127 -143
- package/dist/jsx/SliderImpl.native.js.map +1 -1
- package/dist/jsx/constants.mjs +38 -21
- package/dist/jsx/constants.mjs.map +1 -1
- package/dist/jsx/constants.native.cjs +79 -0
- package/dist/jsx/constants.native.js +59 -44
- package/dist/jsx/constants.native.js.map +1 -1
- package/dist/jsx/helpers.mjs +37 -36
- package/dist/jsx/helpers.mjs.map +1 -1
- package/dist/jsx/helpers.native.cjs +99 -0
- package/dist/jsx/helpers.native.js +66 -68
- package/dist/jsx/helpers.native.js.map +1 -1
- package/dist/jsx/index.js +4 -3
- package/dist/jsx/index.mjs +4 -3
- package/dist/jsx/index.native.cjs +33 -0
- package/dist/jsx/index.native.js +16 -16
- package/dist/jsx/index.native.js.map +1 -1
- package/dist/jsx/types.mjs +0 -2
- package/dist/jsx/types.native.cjs +19 -0
- package/dist/jsx/types.native.js +10 -10
- package/dist/jsx/types.native.js.map +1 -1
- package/package.json +15 -14
- package/src/Slider.tsx +126 -171
- package/src/SliderImpl.tsx +3 -2
- package/src/constants.tsx +16 -6
- package/src/types.ts +6 -4
- package/types/Slider.d.ts +218 -200
- package/types/Slider.d.ts.map +1 -1
- package/types/SliderImpl.d.ts +16 -5
- package/types/SliderImpl.d.ts.map +1 -1
- package/types/constants.d.ts +10 -10
- package/types/constants.d.ts.map +1 -1
- package/types/helpers.d.ts.map +1 -1
- package/types/types.d.ts +6 -4
- package/types/types.d.ts.map +1 -1
- package/dist/esm/index.js.map +0 -1
- package/dist/esm/index.mjs.map +0 -1
- package/dist/esm/index.native.js.map +0 -1
- package/dist/esm/types.mjs.map +0 -1
- package/dist/esm/types.native.js.map +0 -1
- package/dist/jsx/index.js.map +0 -1
- package/dist/jsx/index.mjs.map +0 -1
- package/dist/jsx/types.mjs.map +0 -1
|
@@ -1,132 +1,122 @@
|
|
|
1
|
-
import { jsx
|
|
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
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
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
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
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 =
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
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":["
|
|
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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"}
|
package/dist/esm/constants.mjs
CHANGED
|
@@ -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
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
});
|
|
9
|
-
const {
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
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 = [
|
|
25
|
+
const ARROW_KEYS = [
|
|
26
|
+
"ArrowUp",
|
|
27
|
+
"ArrowDown",
|
|
28
|
+
"ArrowLeft",
|
|
29
|
+
"ArrowRight"
|
|
30
|
+
];
|
|
25
31
|
const BACK_KEYS = {
|
|
26
|
-
|
|
27
|
-
|
|
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":["
|
|
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
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
});
|
|
9
|
-
var {
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
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 = [
|
|
25
|
+
var ARROW_KEYS = [
|
|
26
|
+
"ArrowUp",
|
|
27
|
+
"ArrowDown",
|
|
28
|
+
"ArrowLeft",
|
|
29
|
+
"ArrowRight"
|
|
30
|
+
];
|
|
25
31
|
var BACK_KEYS = {
|
|
26
|
-
|
|
27
|
-
|
|
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":["
|
|
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"}
|
package/dist/esm/helpers.mjs
CHANGED
|
@@ -1,58 +1,59 @@
|
|
|
1
1
|
function getNextSortedValues(prevValues = [], nextValue, atIndex) {
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
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
|
-
|
|
8
|
-
|
|
9
|
-
|
|
7
|
+
const maxSteps = max - min;
|
|
8
|
+
const percentPerStep = 100 / maxSteps;
|
|
9
|
+
return percentPerStep * (value - min);
|
|
10
10
|
}
|
|
11
11
|
function getLabel(index, totalValues) {
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
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
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
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
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
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
|
-
|
|
33
|
+
return values.slice(0, -1).map((value, index) => values[index + 1] - value);
|
|
34
34
|
}
|
|
35
35
|
function hasMinStepsBetweenValues(values, minStepsBetweenValues) {
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
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
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
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
|
-
|
|
51
|
+
return (String(value).split(".")[1] || "").length;
|
|
52
52
|
}
|
|
53
53
|
function roundValue(value, decimalCount) {
|
|
54
|
-
|
|
55
|
-
|
|
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
|
package/dist/esm/helpers.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
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"}
|