@tamagui/slider 1.61.3 → 1.62.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.js +72 -191
- package/dist/cjs/Slider.js.map +2 -2
- package/dist/cjs/Slider.native.js +438 -0
- package/dist/cjs/Slider.native.js.map +6 -0
- package/dist/cjs/SliderImpl.js +28 -65
- package/dist/cjs/SliderImpl.js.map +1 -1
- package/dist/cjs/SliderImpl.native.js +107 -0
- package/dist/cjs/SliderImpl.native.js.map +6 -0
- package/dist/cjs/constants.js +7 -17
- package/dist/cjs/constants.js.map +1 -1
- package/dist/cjs/constants.native.js +54 -0
- package/dist/cjs/constants.native.js.map +6 -0
- package/dist/cjs/helpers.js +12 -29
- package/dist/cjs/helpers.js.map +1 -1
- package/dist/cjs/helpers.native.js +86 -0
- package/dist/cjs/helpers.native.js.map +6 -0
- package/dist/cjs/index.js +6 -11
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/index.native.js +30 -0
- package/dist/cjs/index.native.js.map +6 -0
- package/dist/cjs/types.js +3 -6
- package/dist/cjs/types.js.map +1 -1
- package/dist/cjs/types.native.js +15 -0
- package/dist/cjs/types.native.js.map +6 -0
- package/dist/esm/Slider.js +65 -167
- package/dist/esm/Slider.js.map +2 -2
- package/dist/esm/SliderImpl.js +21 -47
- package/dist/esm/SliderImpl.js.map +1 -1
- package/dist/esm/constants.js +2 -8
- package/dist/esm/constants.js.map +1 -1
- package/dist/esm/helpers.js +7 -20
- package/dist/esm/helpers.js.map +1 -1
- package/dist/jsx/Slider.js +59 -158
- package/dist/jsx/Slider.js.map +2 -2
- package/dist/jsx/Slider.native.js +419 -0
- package/dist/jsx/Slider.native.js.map +6 -0
- package/dist/jsx/SliderImpl.js +20 -46
- package/dist/jsx/SliderImpl.js.map +1 -1
- package/dist/jsx/SliderImpl.native.js +77 -0
- package/dist/jsx/SliderImpl.native.js.map +6 -0
- package/dist/jsx/constants.js +2 -8
- package/dist/jsx/constants.js.map +1 -1
- package/dist/jsx/constants.native.js +24 -0
- package/dist/jsx/constants.native.js.map +6 -0
- package/dist/jsx/helpers.js +7 -20
- package/dist/jsx/helpers.js.map +1 -1
- package/dist/jsx/helpers.native.js +57 -0
- package/dist/jsx/helpers.native.js.map +6 -0
- package/dist/jsx/index.native.js +7 -0
- package/dist/jsx/index.native.js.map +6 -0
- package/dist/jsx/types.native.js +1 -0
- package/dist/jsx/types.native.js.map +6 -0
- package/package.json +10 -10
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { createContextScope } from "@tamagui/create-context";
|
|
2
|
+
const SLIDER_NAME = "Slider", [createSliderContext, createSliderScope] = createContextScope(SLIDER_NAME), [SliderProvider, useSliderContext] = createSliderContext(SLIDER_NAME), [SliderOrientationProvider, useSliderOrientationContext] = createSliderContext(SLIDER_NAME, {
|
|
3
|
+
startEdge: "left",
|
|
4
|
+
endEdge: "right",
|
|
5
|
+
sizeProp: "width",
|
|
6
|
+
size: 0,
|
|
7
|
+
direction: 1
|
|
8
|
+
}), PAGE_KEYS = ["PageUp", "PageDown"], ARROW_KEYS = ["ArrowUp", "ArrowDown", "ArrowLeft", "ArrowRight"], BACK_KEYS = {
|
|
9
|
+
ltr: ["ArrowDown", "Home", "ArrowLeft", "PageDown"],
|
|
10
|
+
rtl: ["ArrowDown", "Home", "ArrowRight", "PageDown"]
|
|
11
|
+
};
|
|
12
|
+
export {
|
|
13
|
+
ARROW_KEYS,
|
|
14
|
+
BACK_KEYS,
|
|
15
|
+
PAGE_KEYS,
|
|
16
|
+
SLIDER_NAME,
|
|
17
|
+
SliderOrientationProvider,
|
|
18
|
+
SliderProvider,
|
|
19
|
+
createSliderContext,
|
|
20
|
+
createSliderScope,
|
|
21
|
+
useSliderContext,
|
|
22
|
+
useSliderOrientationContext
|
|
23
|
+
};
|
|
24
|
+
//# sourceMappingURL=constants.js.map
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../src/constants.tsx"],
|
|
4
|
+
"mappings": "AACA,SAAS,0BAA0B;AAI5B,MAAM,cAAc,UAEd,CAAC,qBAAqB,iBAAiB,IAAI,mBAAmB,WAAW,GAEzE,CAAC,gBAAgB,gBAAgB,IAC5C,oBAAwC,WAAW,GAExC,CAAC,2BAA2B,2BAA2B,IAClE,oBAMG,aAAa;AAAA,EACd,WAAW;AAAA,EACX,SAAS;AAAA,EACT,UAAU;AAAA,EACV,MAAM;AAAA,EACN,WAAW;AACb,CAAC,GAEU,YAAY,CAAC,UAAU,UAAU,GACjC,aAAa,CAAC,WAAW,aAAa,aAAa,YAAY,GAC/D,YAAyC;AAAA,EACpD,KAAK,CAAC,aAAa,QAAQ,aAAa,UAAU;AAAA,EAClD,KAAK,CAAC,aAAa,QAAQ,cAAc,UAAU;AACrD;",
|
|
5
|
+
"names": []
|
|
6
|
+
}
|
package/dist/jsx/helpers.js
CHANGED
|
@@ -1,33 +1,21 @@
|
|
|
1
1
|
function getNextSortedValues(prevValues = [], nextValue, atIndex) {
|
|
2
2
|
const nextValues = [...prevValues];
|
|
3
|
-
nextValues[atIndex] = nextValue;
|
|
4
|
-
return nextValues.sort((a, b) => a - b);
|
|
3
|
+
return nextValues[atIndex] = nextValue, nextValues.sort((a, b) => a - b);
|
|
5
4
|
}
|
|
6
5
|
function convertValueToPercentage(value, min, max) {
|
|
7
|
-
|
|
8
|
-
const percentPerStep = 100 / maxSteps;
|
|
9
|
-
return percentPerStep * (value - min);
|
|
6
|
+
return 100 / (max - min) * (value - min);
|
|
10
7
|
}
|
|
11
8
|
function getLabel(index, totalValues) {
|
|
12
|
-
|
|
13
|
-
return `Value ${index + 1} of ${totalValues}`;
|
|
14
|
-
} else if (totalValues === 2) {
|
|
15
|
-
return ["Minimum", "Maximum"][index];
|
|
16
|
-
} else {
|
|
17
|
-
return void 0;
|
|
18
|
-
}
|
|
9
|
+
return totalValues > 2 ? `Value ${index + 1} of ${totalValues}` : totalValues === 2 ? ["Minimum", "Maximum"][index] : void 0;
|
|
19
10
|
}
|
|
20
11
|
function getClosestValueIndex(values, nextValue) {
|
|
21
12
|
if (values.length === 1)
|
|
22
13
|
return 0;
|
|
23
|
-
const distances = values.map((value) => Math.abs(value - nextValue));
|
|
24
|
-
const closestDistance = Math.min(...distances);
|
|
14
|
+
const distances = values.map((value) => Math.abs(value - nextValue)), closestDistance = Math.min(...distances);
|
|
25
15
|
return distances.indexOf(closestDistance);
|
|
26
16
|
}
|
|
27
17
|
function getThumbInBoundsOffset(width, left, direction) {
|
|
28
|
-
const halfWidth = width / 2;
|
|
29
|
-
const halfPercent = 50;
|
|
30
|
-
const offset = linearScale([0, halfPercent], [0, halfWidth]);
|
|
18
|
+
const halfWidth = width / 2, offset = linearScale([0, 50], [0, halfWidth]);
|
|
31
19
|
return (halfWidth - offset(left) * direction) * direction;
|
|
32
20
|
}
|
|
33
21
|
function getStepsBetweenValues(values) {
|
|
@@ -36,10 +24,9 @@ function getStepsBetweenValues(values) {
|
|
|
36
24
|
function hasMinStepsBetweenValues(values, minStepsBetweenValues) {
|
|
37
25
|
if (minStepsBetweenValues > 0) {
|
|
38
26
|
const stepsBetweenValues = getStepsBetweenValues(values);
|
|
39
|
-
|
|
40
|
-
return actualMinStepsBetweenValues >= minStepsBetweenValues;
|
|
27
|
+
return Math.min(...stepsBetweenValues) >= minStepsBetweenValues;
|
|
41
28
|
}
|
|
42
|
-
return
|
|
29
|
+
return !0;
|
|
43
30
|
}
|
|
44
31
|
function linearScale(input, output) {
|
|
45
32
|
return (value) => {
|
package/dist/jsx/helpers.js.map
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/helpers.tsx"],
|
|
4
|
-
"mappings": "AAAO,SAAS,oBACd,aAAuB,CAAC,GACxB,WACA,SACA;AACA,QAAM,aAAa,CAAC,GAAG,UAAU;AACjC,
|
|
4
|
+
"mappings": "AAAO,SAAS,oBACd,aAAuB,CAAC,GACxB,WACA,SACA;AACA,QAAM,aAAa,CAAC,GAAG,UAAU;AACjC,oBAAW,OAAO,IAAI,WACf,WAAW,KAAK,CAAC,GAAG,MAAM,IAAI,CAAC;AACxC;AAEO,SAAS,yBAAyB,OAAe,KAAa,KAAa;AAGhF,SADuB,OADN,MAAM,QAEE,QAAQ;AACnC;AAKO,SAAS,SAAS,OAAe,aAAqB;AAC3D,SAAI,cAAc,IACT,SAAS,QAAQ,CAAC,OAAO,WAAW,KAClC,gBAAgB,IAClB,CAAC,WAAW,SAAS,EAAE,KAAK,IAEnC;AAEJ;AAUO,SAAS,qBAAqB,QAAkB,WAAmB;AACxE,MAAI,OAAO,WAAW;AAAG,WAAO;AAChC,QAAM,YAAY,OAAO,IAAI,CAAC,UAAU,KAAK,IAAI,QAAQ,SAAS,CAAC,GAC7D,kBAAkB,KAAK,IAAI,GAAG,SAAS;AAC7C,SAAO,UAAU,QAAQ,eAAe;AAC1C;AAMO,SAAS,uBAAuB,OAAe,MAAc,WAAmB;AACrF,QAAM,YAAY,QAAQ,GAEpB,SAAS,YAAY,CAAC,GADR,EACsB,GAAG,CAAC,GAAG,SAAS,CAAC;AAC3D,UAAQ,YAAY,OAAO,IAAI,IAAI,aAAa;AAClD;AASA,SAAS,sBAAsB,QAAkB;AAC/C,SAAO,OAAO,MAAM,GAAG,EAAE,EAAE,IAAI,CAAC,OAAO,UAAU,OAAO,QAAQ,CAAC,IAAI,KAAK;AAC5E;AAcO,SAAS,yBACd,QACA,uBACA;AACA,MAAI,wBAAwB,GAAG;AAC7B,UAAM,qBAAqB,sBAAsB,MAAM;AAEvD,WADoC,KAAK,IAAI,GAAG,kBAAkB,KAC5B;AAAA,EACxC;AACA,SAAO;AACT;AAGO,SAAS,YACd,OACA,QACA;AACA,SAAO,CAAC,UAAkB;AACxB,QAAI,MAAM,CAAC,MAAM,MAAM,CAAC,KAAK,OAAO,CAAC,MAAM,OAAO,CAAC;AAAG,aAAO,OAAO,CAAC;AACrE,UAAM,SAAS,OAAO,CAAC,IAAI,OAAO,CAAC,MAAM,MAAM,CAAC,IAAI,MAAM,CAAC;AAC3D,WAAO,OAAO,CAAC,IAAI,SAAS,QAAQ,MAAM,CAAC;AAAA,EAC7C;AACF;AAEO,SAAS,gBAAgB,OAAe;AAC7C,UAAQ,OAAO,KAAK,EAAE,MAAM,GAAG,EAAE,CAAC,KAAK,IAAI;AAC7C;AAEO,SAAS,WAAW,OAAe,cAAsB;AAC9D,QAAM,UAAU,MAAM;AACtB,SAAO,KAAK,MAAM,QAAQ,OAAO,IAAI;AACvC;",
|
|
5
5
|
"names": []
|
|
6
6
|
}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
function getNextSortedValues(prevValues = [], nextValue, atIndex) {
|
|
2
|
+
const nextValues = [...prevValues];
|
|
3
|
+
return nextValues[atIndex] = nextValue, nextValues.sort((a, b) => a - b);
|
|
4
|
+
}
|
|
5
|
+
function convertValueToPercentage(value, min, max) {
|
|
6
|
+
return 100 / (max - min) * (value - min);
|
|
7
|
+
}
|
|
8
|
+
function getLabel(index, totalValues) {
|
|
9
|
+
return totalValues > 2 ? `Value ${index + 1} of ${totalValues}` : totalValues === 2 ? ["Minimum", "Maximum"][index] : void 0;
|
|
10
|
+
}
|
|
11
|
+
function getClosestValueIndex(values, nextValue) {
|
|
12
|
+
if (values.length === 1)
|
|
13
|
+
return 0;
|
|
14
|
+
const distances = values.map((value) => Math.abs(value - nextValue)), closestDistance = Math.min(...distances);
|
|
15
|
+
return distances.indexOf(closestDistance);
|
|
16
|
+
}
|
|
17
|
+
function getThumbInBoundsOffset(width, left, direction) {
|
|
18
|
+
const halfWidth = width / 2, offset = linearScale([0, 50], [0, halfWidth]);
|
|
19
|
+
return (halfWidth - offset(left) * direction) * direction;
|
|
20
|
+
}
|
|
21
|
+
function getStepsBetweenValues(values) {
|
|
22
|
+
return values.slice(0, -1).map((value, index) => values[index + 1] - value);
|
|
23
|
+
}
|
|
24
|
+
function hasMinStepsBetweenValues(values, minStepsBetweenValues) {
|
|
25
|
+
if (minStepsBetweenValues > 0) {
|
|
26
|
+
const stepsBetweenValues = getStepsBetweenValues(values);
|
|
27
|
+
return Math.min(...stepsBetweenValues) >= minStepsBetweenValues;
|
|
28
|
+
}
|
|
29
|
+
return !0;
|
|
30
|
+
}
|
|
31
|
+
function linearScale(input, output) {
|
|
32
|
+
return (value) => {
|
|
33
|
+
if (input[0] === input[1] || output[0] === output[1])
|
|
34
|
+
return output[0];
|
|
35
|
+
const ratio = (output[1] - output[0]) / (input[1] - input[0]);
|
|
36
|
+
return output[0] + ratio * (value - input[0]);
|
|
37
|
+
};
|
|
38
|
+
}
|
|
39
|
+
function getDecimalCount(value) {
|
|
40
|
+
return (String(value).split(".")[1] || "").length;
|
|
41
|
+
}
|
|
42
|
+
function roundValue(value, decimalCount) {
|
|
43
|
+
const rounder = 10 ** decimalCount;
|
|
44
|
+
return Math.round(value * rounder) / rounder;
|
|
45
|
+
}
|
|
46
|
+
export {
|
|
47
|
+
convertValueToPercentage,
|
|
48
|
+
getClosestValueIndex,
|
|
49
|
+
getDecimalCount,
|
|
50
|
+
getLabel,
|
|
51
|
+
getNextSortedValues,
|
|
52
|
+
getThumbInBoundsOffset,
|
|
53
|
+
hasMinStepsBetweenValues,
|
|
54
|
+
linearScale,
|
|
55
|
+
roundValue
|
|
56
|
+
};
|
|
57
|
+
//# sourceMappingURL=helpers.js.map
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../src/helpers.tsx"],
|
|
4
|
+
"mappings": "AAAO,SAAS,oBACd,aAAuB,CAAC,GACxB,WACA,SACA;AACA,QAAM,aAAa,CAAC,GAAG,UAAU;AACjC,oBAAW,OAAO,IAAI,WACf,WAAW,KAAK,CAAC,GAAG,MAAM,IAAI,CAAC;AACxC;AAEO,SAAS,yBAAyB,OAAe,KAAa,KAAa;AAGhF,SADuB,OADN,MAAM,QAEE,QAAQ;AACnC;AAKO,SAAS,SAAS,OAAe,aAAqB;AAC3D,SAAI,cAAc,IACT,SAAS,QAAQ,CAAC,OAAO,WAAW,KAClC,gBAAgB,IAClB,CAAC,WAAW,SAAS,EAAE,KAAK,IAEnC;AAEJ;AAUO,SAAS,qBAAqB,QAAkB,WAAmB;AACxE,MAAI,OAAO,WAAW;AAAG,WAAO;AAChC,QAAM,YAAY,OAAO,IAAI,CAAC,UAAU,KAAK,IAAI,QAAQ,SAAS,CAAC,GAC7D,kBAAkB,KAAK,IAAI,GAAG,SAAS;AAC7C,SAAO,UAAU,QAAQ,eAAe;AAC1C;AAMO,SAAS,uBAAuB,OAAe,MAAc,WAAmB;AACrF,QAAM,YAAY,QAAQ,GAEpB,SAAS,YAAY,CAAC,GADR,EACsB,GAAG,CAAC,GAAG,SAAS,CAAC;AAC3D,UAAQ,YAAY,OAAO,IAAI,IAAI,aAAa;AAClD;AASA,SAAS,sBAAsB,QAAkB;AAC/C,SAAO,OAAO,MAAM,GAAG,EAAE,EAAE,IAAI,CAAC,OAAO,UAAU,OAAO,QAAQ,CAAC,IAAI,KAAK;AAC5E;AAcO,SAAS,yBACd,QACA,uBACA;AACA,MAAI,wBAAwB,GAAG;AAC7B,UAAM,qBAAqB,sBAAsB,MAAM;AAEvD,WADoC,KAAK,IAAI,GAAG,kBAAkB,KAC5B;AAAA,EACxC;AACA,SAAO;AACT;AAGO,SAAS,YACd,OACA,QACA;AACA,SAAO,CAAC,UAAkB;AACxB,QAAI,MAAM,CAAC,MAAM,MAAM,CAAC,KAAK,OAAO,CAAC,MAAM,OAAO,CAAC;AAAG,aAAO,OAAO,CAAC;AACrE,UAAM,SAAS,OAAO,CAAC,IAAI,OAAO,CAAC,MAAM,MAAM,CAAC,IAAI,MAAM,CAAC;AAC3D,WAAO,OAAO,CAAC,IAAI,SAAS,QAAQ,MAAM,CAAC;AAAA,EAC7C;AACF;AAEO,SAAS,gBAAgB,OAAe;AAC7C,UAAQ,OAAO,KAAK,EAAE,MAAM,GAAG,EAAE,CAAC,KAAK,IAAI;AAC7C;AAEO,SAAS,WAAW,OAAe,cAAsB;AAC9D,QAAM,UAAU,MAAM;AACtB,SAAO,KAAK,MAAM,QAAQ,OAAO,IAAI;AACvC;",
|
|
5
|
+
"names": []
|
|
6
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
//# sourceMappingURL=types.js.map
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@tamagui/slider",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.62.1",
|
|
4
4
|
"sideEffects": [
|
|
5
5
|
"*.css"
|
|
6
6
|
],
|
|
@@ -31,21 +31,21 @@
|
|
|
31
31
|
}
|
|
32
32
|
},
|
|
33
33
|
"dependencies": {
|
|
34
|
-
"@tamagui/compose-refs": "1.
|
|
35
|
-
"@tamagui/core": "1.
|
|
36
|
-
"@tamagui/create-context": "1.
|
|
37
|
-
"@tamagui/get-token": "1.
|
|
38
|
-
"@tamagui/helpers": "1.
|
|
39
|
-
"@tamagui/stacks": "1.
|
|
40
|
-
"@tamagui/use-controllable-state": "1.
|
|
41
|
-
"@tamagui/use-direction": "1.
|
|
34
|
+
"@tamagui/compose-refs": "1.62.1",
|
|
35
|
+
"@tamagui/core": "1.62.1",
|
|
36
|
+
"@tamagui/create-context": "1.62.1",
|
|
37
|
+
"@tamagui/get-token": "1.62.1",
|
|
38
|
+
"@tamagui/helpers": "1.62.1",
|
|
39
|
+
"@tamagui/stacks": "1.62.1",
|
|
40
|
+
"@tamagui/use-controllable-state": "1.62.1",
|
|
41
|
+
"@tamagui/use-direction": "1.62.1"
|
|
42
42
|
},
|
|
43
43
|
"peerDependencies": {
|
|
44
44
|
"react": "*",
|
|
45
45
|
"react-native": "*"
|
|
46
46
|
},
|
|
47
47
|
"devDependencies": {
|
|
48
|
-
"@tamagui/build": "1.
|
|
48
|
+
"@tamagui/build": "1.62.1",
|
|
49
49
|
"react": "^18.2.0",
|
|
50
50
|
"react-native": "^0.72.1"
|
|
51
51
|
},
|