@tamagui/cubic-bezier-animator 1.89.26 → 1.89.27-1708112217600
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/cubicBezier.native.js +12 -15
- package/dist/cjs/cubicBezier.native.js.map +3 -3
- package/dist/cjs/index.native.js +41 -4
- package/dist/cjs/index.native.js.map +3 -3
- package/dist/esm/cubicBezier.native.js +12 -15
- package/dist/esm/cubicBezier.native.js.map +3 -3
- package/dist/esm/index.native.js +41 -4
- package/dist/esm/index.native.js.map +3 -3
- package/dist/jsx/cubicBezier.native.js +12 -15
- package/dist/jsx/cubicBezier.native.js.map +3 -3
- package/dist/jsx/index.native.js +41 -4
- package/dist/jsx/index.native.js.map +3 -3
- package/package.json +2 -2
|
@@ -18,7 +18,7 @@ __export(cubicBezier_exports, {
|
|
|
18
18
|
bezier: () => bezier
|
|
19
19
|
});
|
|
20
20
|
module.exports = __toCommonJS(cubicBezier_exports);
|
|
21
|
-
|
|
21
|
+
var NEWTON_ITERATIONS = 4, NEWTON_MIN_SLOPE = 1e-3, SUBDIVISION_PRECISION = 1e-7, SUBDIVISION_MAX_ITERATIONS = 10, kSplineTableSize = 11, kSampleStepSize = 1 / (kSplineTableSize - 1), float32ArraySupported = typeof Float32Array == "function";
|
|
22
22
|
function A(aA1, aA2) {
|
|
23
23
|
return 1 - 3 * aA2 + 3 * aA1;
|
|
24
24
|
}
|
|
@@ -35,18 +35,18 @@ function getSlope(aT, aA1, aA2) {
|
|
|
35
35
|
return 3 * A(aA1, aA2) * aT * aT + 2 * B(aA1, aA2) * aT + C(aA1);
|
|
36
36
|
}
|
|
37
37
|
function binarySubdivide(aX, aA, aB, mX1, mX2) {
|
|
38
|
-
|
|
38
|
+
var currentX, currentT, i = 0;
|
|
39
39
|
do
|
|
40
40
|
currentT = aA + (aB - aA) / 2, currentX = calcBezier(currentT, mX1, mX2) - aX, currentX > 0 ? aB = currentT : aA = currentT;
|
|
41
|
-
while (Math.abs(currentX) >
|
|
41
|
+
while (Math.abs(currentX) > SUBDIVISION_PRECISION && ++i < SUBDIVISION_MAX_ITERATIONS);
|
|
42
42
|
return currentT;
|
|
43
43
|
}
|
|
44
44
|
function newtonRaphsonIterate(aX, aGuessT, mX1, mX2) {
|
|
45
|
-
for (
|
|
46
|
-
|
|
45
|
+
for (var i = 0; i < NEWTON_ITERATIONS; ++i) {
|
|
46
|
+
var currentSlope = getSlope(aGuessT, mX1, mX2);
|
|
47
47
|
if (currentSlope === 0)
|
|
48
48
|
return aGuessT;
|
|
49
|
-
|
|
49
|
+
var currentX = calcBezier(aGuessT, mX1, mX2) - aX;
|
|
50
50
|
aGuessT -= currentX / currentSlope;
|
|
51
51
|
}
|
|
52
52
|
return aGuessT;
|
|
@@ -59,17 +59,14 @@ function bezier(mX1, mY1, mX2, mY2) {
|
|
|
59
59
|
throw new Error("bezier x values must be in [0, 1] range");
|
|
60
60
|
if (mX1 === mY1 && mX2 === mY2)
|
|
61
61
|
return LinearEasing;
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
sampleValues[i] = calcBezier(i * 0.1, mX1, mX2);
|
|
62
|
+
for (var sampleValues = float32ArraySupported ? new Float32Array(kSplineTableSize) : new Array(kSplineTableSize), i = 0; i < kSplineTableSize; ++i)
|
|
63
|
+
sampleValues[i] = calcBezier(i * kSampleStepSize, mX1, mX2);
|
|
65
64
|
function getTForX(aX) {
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
for (; currentSample !== lastSample && sampleValues[currentSample] <= aX; ++currentSample)
|
|
69
|
-
intervalStart += 0.1;
|
|
65
|
+
for (var intervalStart = 0, currentSample = 1, lastSample = kSplineTableSize - 1; currentSample !== lastSample && sampleValues[currentSample] <= aX; ++currentSample)
|
|
66
|
+
intervalStart += kSampleStepSize;
|
|
70
67
|
--currentSample;
|
|
71
|
-
|
|
72
|
-
return initialSlope >=
|
|
68
|
+
var dist = (aX - sampleValues[currentSample]) / (sampleValues[currentSample + 1] - sampleValues[currentSample]), guessForT = intervalStart + dist * kSampleStepSize, initialSlope = getSlope(guessForT, mX1, mX2);
|
|
69
|
+
return initialSlope >= NEWTON_MIN_SLOPE ? newtonRaphsonIterate(aX, guessForT, mX1, mX2) : initialSlope === 0 ? guessForT : binarySubdivide(aX, intervalStart, intervalStart + kSampleStepSize, mX1, mX2);
|
|
73
70
|
}
|
|
74
71
|
return function(x) {
|
|
75
72
|
return x === 0 || x === 1 ? x : calcBezier(getTForX(x), mY1, mY2);
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
|
-
"sources": ["../../src/cubicBezier.tsx"],
|
|
4
|
-
"mappings": ";;;;;;;;;;;;;;;AAAA
|
|
5
|
-
"names": []
|
|
3
|
+
"sources": ["../../src/Users/n8/tamagui/packages/cubic-bezier-animator/src/cubicBezier.tsx"],
|
|
4
|
+
"mappings": "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",
|
|
5
|
+
"names": ["NEWTON_ITERATIONS", "NEWTON_MIN_SLOPE", "SUBDIVISION_PRECISION", "SUBDIVISION_MAX_ITERATIONS", "kSplineTableSize", "kSampleStepSize", "float32ArraySupported", "Float32Array", "A", "aA1", "aA2", "B", "C", "calcBezier", "aT", "getSlope", "binarySubdivide", "aX", "aA", "aB", "mX1", "mX2", "currentX", "currentT", "i", "Math", "abs", "newtonRaphsonIterate", "aGuessT", "currentSlope", "LinearEasing", "x", "bezier", "mY1", "mY2", "Error", "sampleValues", "Array", "getTForX", "intervalStart", "currentSample", "lastSample", "dist", "guessForT", "initialSlope"]
|
|
6
6
|
}
|
package/dist/cjs/index.native.js
CHANGED
|
@@ -19,13 +19,50 @@ __export(src_exports, {
|
|
|
19
19
|
});
|
|
20
20
|
module.exports = __toCommonJS(src_exports);
|
|
21
21
|
var import_cubicBezier = require("./cubicBezier");
|
|
22
|
+
function _array_like_to_array(arr, len) {
|
|
23
|
+
(len == null || len > arr.length) && (len = arr.length);
|
|
24
|
+
for (var i = 0, arr2 = new Array(len); i < len; i++)
|
|
25
|
+
arr2[i] = arr[i];
|
|
26
|
+
return arr2;
|
|
27
|
+
}
|
|
28
|
+
function _array_without_holes(arr) {
|
|
29
|
+
if (Array.isArray(arr))
|
|
30
|
+
return _array_like_to_array(arr);
|
|
31
|
+
}
|
|
32
|
+
function _iterable_to_array(iter) {
|
|
33
|
+
if (typeof Symbol < "u" && iter[Symbol.iterator] != null || iter["@@iterator"] != null)
|
|
34
|
+
return Array.from(iter);
|
|
35
|
+
}
|
|
36
|
+
function _non_iterable_spread() {
|
|
37
|
+
throw new TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
|
|
38
|
+
}
|
|
39
|
+
function _to_consumable_array(arr) {
|
|
40
|
+
return _array_without_holes(arr) || _iterable_to_array(arr) || _unsupported_iterable_to_array(arr) || _non_iterable_spread();
|
|
41
|
+
}
|
|
42
|
+
function _unsupported_iterable_to_array(o, minLen) {
|
|
43
|
+
if (o) {
|
|
44
|
+
if (typeof o == "string")
|
|
45
|
+
return _array_like_to_array(o, minLen);
|
|
46
|
+
var n = Object.prototype.toString.call(o).slice(8, -1);
|
|
47
|
+
if (n === "Object" && o.constructor && (n = o.constructor.name), n === "Map" || n === "Set")
|
|
48
|
+
return Array.from(n);
|
|
49
|
+
if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))
|
|
50
|
+
return _array_like_to_array(o, minLen);
|
|
51
|
+
}
|
|
52
|
+
}
|
|
22
53
|
function animate(param) {
|
|
23
|
-
|
|
24
|
-
|
|
54
|
+
var start = null, easing = param.cubicBezier ? import_cubicBezier.bezier.apply(void 0, _to_consumable_array(param.cubicBezier)) : function(v) {
|
|
55
|
+
return v;
|
|
56
|
+
}, _param_from = param.from, fromX = _param_from.x, fromY = _param_from.y, fromScaleX = _param_from.scaleX, fromScaleY = _param_from.scaleY, _param_to = param.to, toX = _param_to.x, toY = _param_to.y, toScaleX = _param_to.scaleX, toScaleY = _param_to.scaleY;
|
|
25
57
|
function frame(timestamp) {
|
|
26
58
|
start || (start = timestamp);
|
|
27
|
-
|
|
28
|
-
param.onUpdate({
|
|
59
|
+
var progress = timestamp - start, x = toX !== void 0 ? fromX + (toX - fromX) * easing(progress / param.duration) : void 0, y = toY !== void 0 ? fromY + (toY - fromY) * easing(progress / param.duration) : void 0, scaleX = toScaleX !== void 0 ? fromScaleX + (toScaleX - fromScaleX) * easing(progress / param.duration) : void 0, scaleY = toScaleY !== void 0 ? fromScaleY + (toScaleY - fromScaleY) * easing(progress / param.duration) : void 0;
|
|
60
|
+
param.onUpdate({
|
|
61
|
+
x,
|
|
62
|
+
y,
|
|
63
|
+
scaleX,
|
|
64
|
+
scaleY
|
|
65
|
+
}), progress < param.duration && requestAnimationFrame(frame);
|
|
29
66
|
}
|
|
30
67
|
requestAnimationFrame(frame);
|
|
31
68
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
|
-
"sources": ["../../src/index.tsx"],
|
|
4
|
-
"mappings": "
|
|
5
|
-
"names": []
|
|
3
|
+
"sources": ["../../src/Users/n8/tamagui/packages/cubic-bezier-animator/src/index.tsx"],
|
|
4
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;AAAA,yBAAuB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAiBhB,SAASA,QAAQC,OAAmB;AACzC,MAAIC,QAAQ,MACNC,SAASF,MAAMG,cAAcC,0BAAAA,MAAAA,QAAO,qBAAGJ,MAAMG,WAAW,CAAA,IAAI,SAACE,GAAAA;WAAcA;KAEVL,cAAAA,MAAMM,MAAlEC,QAA4DP,YAA/DQ,GAAaC,QAAkDT,YAArDU,GAAkBC,aAAmCX,YAA3CY,QAA4BC,aAAeb,YAAvBc,QACed,YAAAA,MAAMe,IAA1DC,MAAoDhB,UAAvDQ,GAAWS,MAA4CjB,UAA/CU,GAAgBQ,WAA+BlB,UAAvCY,QAA0BO,WAAanB,UAArBc;AAE1C,WAASM,MAAMC,WAAS;AACtB,IAAKpB,UAAOA,QAAQoB;AACpB,QAAMC,WAAWD,YAAYpB,OACvBO,IACJQ,QAAQO,SACJhB,SAAUS,MAAMT,SAAUL,OAAOoB,WAAWtB,MAAMwB,QAAQ,IAC1DD,QACAb,IACJO,QAAQM,SACJd,SAAUQ,MAAMR,SAAUP,OAAOoB,WAAWtB,MAAMwB,QAAQ,IAC1DD,QACAX,SACJM,aAAaK,SACTZ,cAAeO,WAAWP,cAAeT,OAAOoB,WAAWtB,MAAMwB,QAAQ,IACzED,QACAT,SACJK,aAAaI,SACTV,cAAeM,WAAWN,cAAeX,OAAOoB,WAAWtB,MAAMwB,QAAQ,IACzED;AACNvB,UAAMyB,SAAS;MAAEjB;MAAGE;MAAGE;MAAQE;IAAO,CAAA,GAElCQ,WAAWtB,MAAMwB,YACnBE,sBAAsBN,KAAAA;EAE1B;AACAM,wBAAsBN,KAAAA;AACxB;",
|
|
5
|
+
"names": ["animate", "param", "start", "easing", "cubicBezier", "bezier", "v", "from", "fromX", "x", "fromY", "y", "fromScaleX", "scaleX", "fromScaleY", "scaleY", "to", "toX", "toY", "toScaleX", "toScaleY", "frame", "timestamp", "progress", "undefined", "duration", "onUpdate", "requestAnimationFrame"]
|
|
6
6
|
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
|
|
1
|
+
var NEWTON_ITERATIONS = 4, NEWTON_MIN_SLOPE = 1e-3, SUBDIVISION_PRECISION = 1e-7, SUBDIVISION_MAX_ITERATIONS = 10, kSplineTableSize = 11, kSampleStepSize = 1 / (kSplineTableSize - 1), float32ArraySupported = typeof Float32Array == "function";
|
|
2
2
|
function A(aA1, aA2) {
|
|
3
3
|
return 1 - 3 * aA2 + 3 * aA1;
|
|
4
4
|
}
|
|
@@ -15,18 +15,18 @@ function getSlope(aT, aA1, aA2) {
|
|
|
15
15
|
return 3 * A(aA1, aA2) * aT * aT + 2 * B(aA1, aA2) * aT + C(aA1);
|
|
16
16
|
}
|
|
17
17
|
function binarySubdivide(aX, aA, aB, mX1, mX2) {
|
|
18
|
-
|
|
18
|
+
var currentX, currentT, i = 0;
|
|
19
19
|
do
|
|
20
20
|
currentT = aA + (aB - aA) / 2, currentX = calcBezier(currentT, mX1, mX2) - aX, currentX > 0 ? aB = currentT : aA = currentT;
|
|
21
|
-
while (Math.abs(currentX) >
|
|
21
|
+
while (Math.abs(currentX) > SUBDIVISION_PRECISION && ++i < SUBDIVISION_MAX_ITERATIONS);
|
|
22
22
|
return currentT;
|
|
23
23
|
}
|
|
24
24
|
function newtonRaphsonIterate(aX, aGuessT, mX1, mX2) {
|
|
25
|
-
for (
|
|
26
|
-
|
|
25
|
+
for (var i = 0; i < NEWTON_ITERATIONS; ++i) {
|
|
26
|
+
var currentSlope = getSlope(aGuessT, mX1, mX2);
|
|
27
27
|
if (currentSlope === 0)
|
|
28
28
|
return aGuessT;
|
|
29
|
-
|
|
29
|
+
var currentX = calcBezier(aGuessT, mX1, mX2) - aX;
|
|
30
30
|
aGuessT -= currentX / currentSlope;
|
|
31
31
|
}
|
|
32
32
|
return aGuessT;
|
|
@@ -39,17 +39,14 @@ function bezier(mX1, mY1, mX2, mY2) {
|
|
|
39
39
|
throw new Error("bezier x values must be in [0, 1] range");
|
|
40
40
|
if (mX1 === mY1 && mX2 === mY2)
|
|
41
41
|
return LinearEasing;
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
sampleValues[i] = calcBezier(i * 0.1, mX1, mX2);
|
|
42
|
+
for (var sampleValues = float32ArraySupported ? new Float32Array(kSplineTableSize) : new Array(kSplineTableSize), i = 0; i < kSplineTableSize; ++i)
|
|
43
|
+
sampleValues[i] = calcBezier(i * kSampleStepSize, mX1, mX2);
|
|
45
44
|
function getTForX(aX) {
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
for (; currentSample !== lastSample && sampleValues[currentSample] <= aX; ++currentSample)
|
|
49
|
-
intervalStart += 0.1;
|
|
45
|
+
for (var intervalStart = 0, currentSample = 1, lastSample = kSplineTableSize - 1; currentSample !== lastSample && sampleValues[currentSample] <= aX; ++currentSample)
|
|
46
|
+
intervalStart += kSampleStepSize;
|
|
50
47
|
--currentSample;
|
|
51
|
-
|
|
52
|
-
return initialSlope >=
|
|
48
|
+
var dist = (aX - sampleValues[currentSample]) / (sampleValues[currentSample + 1] - sampleValues[currentSample]), guessForT = intervalStart + dist * kSampleStepSize, initialSlope = getSlope(guessForT, mX1, mX2);
|
|
49
|
+
return initialSlope >= NEWTON_MIN_SLOPE ? newtonRaphsonIterate(aX, guessForT, mX1, mX2) : initialSlope === 0 ? guessForT : binarySubdivide(aX, intervalStart, intervalStart + kSampleStepSize, mX1, mX2);
|
|
53
50
|
}
|
|
54
51
|
return function(x) {
|
|
55
52
|
return x === 0 || x === 1 ? x : calcBezier(getTForX(x), mY1, mY2);
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
|
-
"sources": ["../../src/cubicBezier.tsx"],
|
|
4
|
-
"mappings": "
|
|
5
|
-
"names": []
|
|
3
|
+
"sources": ["../../src/Users/n8/tamagui/packages/cubic-bezier-animator/src/cubicBezier.tsx"],
|
|
4
|
+
"mappings": "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",
|
|
5
|
+
"names": ["NEWTON_ITERATIONS", "NEWTON_MIN_SLOPE", "SUBDIVISION_PRECISION", "SUBDIVISION_MAX_ITERATIONS", "kSplineTableSize", "kSampleStepSize", "float32ArraySupported", "Float32Array", "A", "aA1", "aA2", "B", "C", "calcBezier", "aT", "getSlope", "binarySubdivide", "aX", "aA", "aB", "mX1", "mX2", "currentX", "currentT", "i", "Math", "abs", "newtonRaphsonIterate", "aGuessT", "currentSlope", "LinearEasing", "x", "bezier", "mY1", "mY2", "Error", "sampleValues", "Array", "getTForX", "intervalStart", "currentSample", "lastSample", "dist", "guessForT", "initialSlope"]
|
|
6
6
|
}
|
package/dist/esm/index.native.js
CHANGED
|
@@ -1,11 +1,48 @@
|
|
|
1
1
|
import { bezier } from "./cubicBezier";
|
|
2
|
+
function _array_like_to_array(arr, len) {
|
|
3
|
+
(len == null || len > arr.length) && (len = arr.length);
|
|
4
|
+
for (var i = 0, arr2 = new Array(len); i < len; i++)
|
|
5
|
+
arr2[i] = arr[i];
|
|
6
|
+
return arr2;
|
|
7
|
+
}
|
|
8
|
+
function _array_without_holes(arr) {
|
|
9
|
+
if (Array.isArray(arr))
|
|
10
|
+
return _array_like_to_array(arr);
|
|
11
|
+
}
|
|
12
|
+
function _iterable_to_array(iter) {
|
|
13
|
+
if (typeof Symbol < "u" && iter[Symbol.iterator] != null || iter["@@iterator"] != null)
|
|
14
|
+
return Array.from(iter);
|
|
15
|
+
}
|
|
16
|
+
function _non_iterable_spread() {
|
|
17
|
+
throw new TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
|
|
18
|
+
}
|
|
19
|
+
function _to_consumable_array(arr) {
|
|
20
|
+
return _array_without_holes(arr) || _iterable_to_array(arr) || _unsupported_iterable_to_array(arr) || _non_iterable_spread();
|
|
21
|
+
}
|
|
22
|
+
function _unsupported_iterable_to_array(o, minLen) {
|
|
23
|
+
if (o) {
|
|
24
|
+
if (typeof o == "string")
|
|
25
|
+
return _array_like_to_array(o, minLen);
|
|
26
|
+
var n = Object.prototype.toString.call(o).slice(8, -1);
|
|
27
|
+
if (n === "Object" && o.constructor && (n = o.constructor.name), n === "Map" || n === "Set")
|
|
28
|
+
return Array.from(n);
|
|
29
|
+
if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))
|
|
30
|
+
return _array_like_to_array(o, minLen);
|
|
31
|
+
}
|
|
32
|
+
}
|
|
2
33
|
function animate(param) {
|
|
3
|
-
|
|
4
|
-
|
|
34
|
+
var start = null, easing = param.cubicBezier ? bezier.apply(void 0, _to_consumable_array(param.cubicBezier)) : function(v) {
|
|
35
|
+
return v;
|
|
36
|
+
}, _param_from = param.from, fromX = _param_from.x, fromY = _param_from.y, fromScaleX = _param_from.scaleX, fromScaleY = _param_from.scaleY, _param_to = param.to, toX = _param_to.x, toY = _param_to.y, toScaleX = _param_to.scaleX, toScaleY = _param_to.scaleY;
|
|
5
37
|
function frame(timestamp) {
|
|
6
38
|
start || (start = timestamp);
|
|
7
|
-
|
|
8
|
-
param.onUpdate({
|
|
39
|
+
var progress = timestamp - start, x = toX !== void 0 ? fromX + (toX - fromX) * easing(progress / param.duration) : void 0, y = toY !== void 0 ? fromY + (toY - fromY) * easing(progress / param.duration) : void 0, scaleX = toScaleX !== void 0 ? fromScaleX + (toScaleX - fromScaleX) * easing(progress / param.duration) : void 0, scaleY = toScaleY !== void 0 ? fromScaleY + (toScaleY - fromScaleY) * easing(progress / param.duration) : void 0;
|
|
40
|
+
param.onUpdate({
|
|
41
|
+
x,
|
|
42
|
+
y,
|
|
43
|
+
scaleX,
|
|
44
|
+
scaleY
|
|
45
|
+
}), progress < param.duration && requestAnimationFrame(frame);
|
|
9
46
|
}
|
|
10
47
|
requestAnimationFrame(frame);
|
|
11
48
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
|
-
"sources": ["../../src/index.tsx"],
|
|
4
|
-
"mappings": "AAAA,
|
|
5
|
-
"names": []
|
|
3
|
+
"sources": ["../../src/Users/n8/tamagui/packages/cubic-bezier-animator/src/index.tsx"],
|
|
4
|
+
"mappings": "AAAA,SAASA,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAiBhB,SAASC,QAAQC,OAAmB;AACzC,MAAIC,QAAQ,MACNC,SAASF,MAAMG,cAAcL,OAAAA,MAAAA,QAAO,qBAAGE,MAAMG,WAAW,CAAA,IAAI,SAACC,GAAAA;WAAcA;KAEVJ,cAAAA,MAAMK,MAAlEC,QAA4DN,YAA/DO,GAAaC,QAAkDR,YAArDS,GAAkBC,aAAmCV,YAA3CW,QAA4BC,aAAeZ,YAAvBa,QACeb,YAAAA,MAAMc,IAA1DC,MAAoDf,UAAvDO,GAAWS,MAA4ChB,UAA/CS,GAAgBQ,WAA+BjB,UAAvCW,QAA0BO,WAAalB,UAArBa;AAE1C,WAASM,MAAMC,WAAS;AACtB,IAAKnB,UAAOA,QAAQmB;AACpB,QAAMC,WAAWD,YAAYnB,OACvBM,IACJQ,QAAQO,SACJhB,SAAUS,MAAMT,SAAUJ,OAAOmB,WAAWrB,MAAMuB,QAAQ,IAC1DD,QACAb,IACJO,QAAQM,SACJd,SAAUQ,MAAMR,SAAUN,OAAOmB,WAAWrB,MAAMuB,QAAQ,IAC1DD,QACAX,SACJM,aAAaK,SACTZ,cAAeO,WAAWP,cAAeR,OAAOmB,WAAWrB,MAAMuB,QAAQ,IACzED,QACAT,SACJK,aAAaI,SACTV,cAAeM,WAAWN,cAAeV,OAAOmB,WAAWrB,MAAMuB,QAAQ,IACzED;AACNtB,UAAMwB,SAAS;MAAEjB;MAAGE;MAAGE;MAAQE;IAAO,CAAA,GAElCQ,WAAWrB,MAAMuB,YACnBE,sBAAsBN,KAAAA;EAE1B;AACAM,wBAAsBN,KAAAA;AACxB;",
|
|
5
|
+
"names": ["bezier", "animate", "param", "start", "easing", "cubicBezier", "v", "from", "fromX", "x", "fromY", "y", "fromScaleX", "scaleX", "fromScaleY", "scaleY", "to", "toX", "toY", "toScaleX", "toScaleY", "frame", "timestamp", "progress", "undefined", "duration", "onUpdate", "requestAnimationFrame"]
|
|
6
6
|
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
|
|
1
|
+
var NEWTON_ITERATIONS = 4, NEWTON_MIN_SLOPE = 1e-3, SUBDIVISION_PRECISION = 1e-7, SUBDIVISION_MAX_ITERATIONS = 10, kSplineTableSize = 11, kSampleStepSize = 1 / (kSplineTableSize - 1), float32ArraySupported = typeof Float32Array == "function";
|
|
2
2
|
function A(aA1, aA2) {
|
|
3
3
|
return 1 - 3 * aA2 + 3 * aA1;
|
|
4
4
|
}
|
|
@@ -15,18 +15,18 @@ function getSlope(aT, aA1, aA2) {
|
|
|
15
15
|
return 3 * A(aA1, aA2) * aT * aT + 2 * B(aA1, aA2) * aT + C(aA1);
|
|
16
16
|
}
|
|
17
17
|
function binarySubdivide(aX, aA, aB, mX1, mX2) {
|
|
18
|
-
|
|
18
|
+
var currentX, currentT, i = 0;
|
|
19
19
|
do
|
|
20
20
|
currentT = aA + (aB - aA) / 2, currentX = calcBezier(currentT, mX1, mX2) - aX, currentX > 0 ? aB = currentT : aA = currentT;
|
|
21
|
-
while (Math.abs(currentX) >
|
|
21
|
+
while (Math.abs(currentX) > SUBDIVISION_PRECISION && ++i < SUBDIVISION_MAX_ITERATIONS);
|
|
22
22
|
return currentT;
|
|
23
23
|
}
|
|
24
24
|
function newtonRaphsonIterate(aX, aGuessT, mX1, mX2) {
|
|
25
|
-
for (
|
|
26
|
-
|
|
25
|
+
for (var i = 0; i < NEWTON_ITERATIONS; ++i) {
|
|
26
|
+
var currentSlope = getSlope(aGuessT, mX1, mX2);
|
|
27
27
|
if (currentSlope === 0)
|
|
28
28
|
return aGuessT;
|
|
29
|
-
|
|
29
|
+
var currentX = calcBezier(aGuessT, mX1, mX2) - aX;
|
|
30
30
|
aGuessT -= currentX / currentSlope;
|
|
31
31
|
}
|
|
32
32
|
return aGuessT;
|
|
@@ -39,17 +39,14 @@ function bezier(mX1, mY1, mX2, mY2) {
|
|
|
39
39
|
throw new Error("bezier x values must be in [0, 1] range");
|
|
40
40
|
if (mX1 === mY1 && mX2 === mY2)
|
|
41
41
|
return LinearEasing;
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
sampleValues[i] = calcBezier(i * 0.1, mX1, mX2);
|
|
42
|
+
for (var sampleValues = float32ArraySupported ? new Float32Array(kSplineTableSize) : new Array(kSplineTableSize), i = 0; i < kSplineTableSize; ++i)
|
|
43
|
+
sampleValues[i] = calcBezier(i * kSampleStepSize, mX1, mX2);
|
|
45
44
|
function getTForX(aX) {
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
for (; currentSample !== lastSample && sampleValues[currentSample] <= aX; ++currentSample)
|
|
49
|
-
intervalStart += 0.1;
|
|
45
|
+
for (var intervalStart = 0, currentSample = 1, lastSample = kSplineTableSize - 1; currentSample !== lastSample && sampleValues[currentSample] <= aX; ++currentSample)
|
|
46
|
+
intervalStart += kSampleStepSize;
|
|
50
47
|
--currentSample;
|
|
51
|
-
|
|
52
|
-
return initialSlope >=
|
|
48
|
+
var dist = (aX - sampleValues[currentSample]) / (sampleValues[currentSample + 1] - sampleValues[currentSample]), guessForT = intervalStart + dist * kSampleStepSize, initialSlope = getSlope(guessForT, mX1, mX2);
|
|
49
|
+
return initialSlope >= NEWTON_MIN_SLOPE ? newtonRaphsonIterate(aX, guessForT, mX1, mX2) : initialSlope === 0 ? guessForT : binarySubdivide(aX, intervalStart, intervalStart + kSampleStepSize, mX1, mX2);
|
|
53
50
|
}
|
|
54
51
|
return function(x) {
|
|
55
52
|
return x === 0 || x === 1 ? x : calcBezier(getTForX(x), mY1, mY2);
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
|
-
"sources": ["../../src/cubicBezier.tsx"],
|
|
4
|
-
"mappings": "
|
|
5
|
-
"names": []
|
|
3
|
+
"sources": ["../../src/Users/n8/tamagui/packages/cubic-bezier-animator/src/cubicBezier.tsx"],
|
|
4
|
+
"mappings": "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",
|
|
5
|
+
"names": ["NEWTON_ITERATIONS", "NEWTON_MIN_SLOPE", "SUBDIVISION_PRECISION", "SUBDIVISION_MAX_ITERATIONS", "kSplineTableSize", "kSampleStepSize", "float32ArraySupported", "Float32Array", "A", "aA1", "aA2", "B", "C", "calcBezier", "aT", "getSlope", "binarySubdivide", "aX", "aA", "aB", "mX1", "mX2", "currentX", "currentT", "i", "Math", "abs", "newtonRaphsonIterate", "aGuessT", "currentSlope", "LinearEasing", "x", "bezier", "mY1", "mY2", "Error", "sampleValues", "Array", "getTForX", "intervalStart", "currentSample", "lastSample", "dist", "guessForT", "initialSlope"]
|
|
6
6
|
}
|
package/dist/jsx/index.native.js
CHANGED
|
@@ -1,11 +1,48 @@
|
|
|
1
1
|
import { bezier } from "./cubicBezier";
|
|
2
|
+
function _array_like_to_array(arr, len) {
|
|
3
|
+
(len == null || len > arr.length) && (len = arr.length);
|
|
4
|
+
for (var i = 0, arr2 = new Array(len); i < len; i++)
|
|
5
|
+
arr2[i] = arr[i];
|
|
6
|
+
return arr2;
|
|
7
|
+
}
|
|
8
|
+
function _array_without_holes(arr) {
|
|
9
|
+
if (Array.isArray(arr))
|
|
10
|
+
return _array_like_to_array(arr);
|
|
11
|
+
}
|
|
12
|
+
function _iterable_to_array(iter) {
|
|
13
|
+
if (typeof Symbol < "u" && iter[Symbol.iterator] != null || iter["@@iterator"] != null)
|
|
14
|
+
return Array.from(iter);
|
|
15
|
+
}
|
|
16
|
+
function _non_iterable_spread() {
|
|
17
|
+
throw new TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
|
|
18
|
+
}
|
|
19
|
+
function _to_consumable_array(arr) {
|
|
20
|
+
return _array_without_holes(arr) || _iterable_to_array(arr) || _unsupported_iterable_to_array(arr) || _non_iterable_spread();
|
|
21
|
+
}
|
|
22
|
+
function _unsupported_iterable_to_array(o, minLen) {
|
|
23
|
+
if (o) {
|
|
24
|
+
if (typeof o == "string")
|
|
25
|
+
return _array_like_to_array(o, minLen);
|
|
26
|
+
var n = Object.prototype.toString.call(o).slice(8, -1);
|
|
27
|
+
if (n === "Object" && o.constructor && (n = o.constructor.name), n === "Map" || n === "Set")
|
|
28
|
+
return Array.from(n);
|
|
29
|
+
if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))
|
|
30
|
+
return _array_like_to_array(o, minLen);
|
|
31
|
+
}
|
|
32
|
+
}
|
|
2
33
|
function animate(param) {
|
|
3
|
-
|
|
4
|
-
|
|
34
|
+
var start = null, easing = param.cubicBezier ? bezier.apply(void 0, _to_consumable_array(param.cubicBezier)) : function(v) {
|
|
35
|
+
return v;
|
|
36
|
+
}, _param_from = param.from, fromX = _param_from.x, fromY = _param_from.y, fromScaleX = _param_from.scaleX, fromScaleY = _param_from.scaleY, _param_to = param.to, toX = _param_to.x, toY = _param_to.y, toScaleX = _param_to.scaleX, toScaleY = _param_to.scaleY;
|
|
5
37
|
function frame(timestamp) {
|
|
6
38
|
start || (start = timestamp);
|
|
7
|
-
|
|
8
|
-
param.onUpdate({
|
|
39
|
+
var progress = timestamp - start, x = toX !== void 0 ? fromX + (toX - fromX) * easing(progress / param.duration) : void 0, y = toY !== void 0 ? fromY + (toY - fromY) * easing(progress / param.duration) : void 0, scaleX = toScaleX !== void 0 ? fromScaleX + (toScaleX - fromScaleX) * easing(progress / param.duration) : void 0, scaleY = toScaleY !== void 0 ? fromScaleY + (toScaleY - fromScaleY) * easing(progress / param.duration) : void 0;
|
|
40
|
+
param.onUpdate({
|
|
41
|
+
x,
|
|
42
|
+
y,
|
|
43
|
+
scaleX,
|
|
44
|
+
scaleY
|
|
45
|
+
}), progress < param.duration && requestAnimationFrame(frame);
|
|
9
46
|
}
|
|
10
47
|
requestAnimationFrame(frame);
|
|
11
48
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
|
-
"sources": ["../../src/index.tsx"],
|
|
4
|
-
"mappings": "AAAA,
|
|
5
|
-
"names": []
|
|
3
|
+
"sources": ["../../src/Users/n8/tamagui/packages/cubic-bezier-animator/src/index.tsx"],
|
|
4
|
+
"mappings": "AAAA,SAASA,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAiBhB,SAASC,QAAQC,OAAmB;AACzC,MAAIC,QAAQ,MACNC,SAASF,MAAMG,cAAcL,OAAAA,MAAAA,QAAO,qBAAGE,MAAMG,WAAW,CAAA,IAAI,SAACC,GAAAA;WAAcA;KAEVJ,cAAAA,MAAMK,MAAlEC,QAA4DN,YAA/DO,GAAaC,QAAkDR,YAArDS,GAAkBC,aAAmCV,YAA3CW,QAA4BC,aAAeZ,YAAvBa,QACeb,YAAAA,MAAMc,IAA1DC,MAAoDf,UAAvDO,GAAWS,MAA4ChB,UAA/CS,GAAgBQ,WAA+BjB,UAAvCW,QAA0BO,WAAalB,UAArBa;AAE1C,WAASM,MAAMC,WAAS;AACtB,IAAKnB,UAAOA,QAAQmB;AACpB,QAAMC,WAAWD,YAAYnB,OACvBM,IACJQ,QAAQO,SACJhB,SAAUS,MAAMT,SAAUJ,OAAOmB,WAAWrB,MAAMuB,QAAQ,IAC1DD,QACAb,IACJO,QAAQM,SACJd,SAAUQ,MAAMR,SAAUN,OAAOmB,WAAWrB,MAAMuB,QAAQ,IAC1DD,QACAX,SACJM,aAAaK,SACTZ,cAAeO,WAAWP,cAAeR,OAAOmB,WAAWrB,MAAMuB,QAAQ,IACzED,QACAT,SACJK,aAAaI,SACTV,cAAeM,WAAWN,cAAeV,OAAOmB,WAAWrB,MAAMuB,QAAQ,IACzED;AACNtB,UAAMwB,SAAS;MAAEjB;MAAGE;MAAGE;MAAQE;IAAO,CAAA,GAElCQ,WAAWrB,MAAMuB,YACnBE,sBAAsBN,KAAAA;EAE1B;AACAM,wBAAsBN,KAAAA;AACxB;",
|
|
5
|
+
"names": ["bezier", "animate", "param", "start", "easing", "cubicBezier", "v", "from", "fromX", "x", "fromY", "y", "fromScaleX", "scaleX", "fromScaleY", "scaleY", "to", "toX", "toY", "toScaleX", "toScaleY", "frame", "timestamp", "progress", "undefined", "duration", "onUpdate", "requestAnimationFrame"]
|
|
6
6
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@tamagui/cubic-bezier-animator",
|
|
3
|
-
"version": "1.89.
|
|
3
|
+
"version": "1.89.27-1708112217600",
|
|
4
4
|
"sideEffects": false,
|
|
5
5
|
"source": "src/index.tsx",
|
|
6
6
|
"types": "./types/index.d.ts",
|
|
@@ -21,7 +21,7 @@
|
|
|
21
21
|
"clean:build": "tamagui-build clean:build"
|
|
22
22
|
},
|
|
23
23
|
"devDependencies": {
|
|
24
|
-
"@tamagui/build": "1.89.
|
|
24
|
+
"@tamagui/build": "1.89.27-1708112217600"
|
|
25
25
|
},
|
|
26
26
|
"exports": {
|
|
27
27
|
"./package.json": "./package.json",
|