@tamagui/animations-css 1.110.4 → 1.111.0
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/createAnimations.native.js +12 -53
- package/dist/cjs/createAnimations.native.js.map +2 -2
- package/dist/esm/createAnimations.native.js +16 -57
- package/dist/esm/createAnimations.native.js.map +2 -2
- package/dist/esm/createAnimations.native.mjs +96 -0
- package/dist/esm/createAnimations.native.mjs.map +1 -0
- package/dist/esm/index.native.mjs +2 -0
- package/dist/esm/index.native.mjs.map +1 -0
- package/package.json +6 -6
|
@@ -27,47 +27,6 @@ __export(createAnimations_exports, {
|
|
|
27
27
|
});
|
|
28
28
|
module.exports = __toCommonJS(createAnimations_exports);
|
|
29
29
|
var import_react = __toESM(require("react")), import_constants = require("@tamagui/constants"), import_web = require("@tamagui/web"), import_use_presence = require("@tamagui/use-presence");
|
|
30
|
-
function _array_like_to_array(arr, len) {
|
|
31
|
-
(len == null || len > arr.length) && (len = arr.length);
|
|
32
|
-
for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];
|
|
33
|
-
return arr2;
|
|
34
|
-
}
|
|
35
|
-
function _array_with_holes(arr) {
|
|
36
|
-
if (Array.isArray(arr)) return arr;
|
|
37
|
-
}
|
|
38
|
-
function _iterable_to_array_limit(arr, i) {
|
|
39
|
-
var _i = arr == null ? null : typeof Symbol < "u" && arr[Symbol.iterator] || arr["@@iterator"];
|
|
40
|
-
if (_i != null) {
|
|
41
|
-
var _arr = [], _n = !0, _d = !1, _s, _e;
|
|
42
|
-
try {
|
|
43
|
-
for (_i = _i.call(arr); !(_n = (_s = _i.next()).done) && (_arr.push(_s.value), !(i && _arr.length === i)); _n = !0)
|
|
44
|
-
;
|
|
45
|
-
} catch (err) {
|
|
46
|
-
_d = !0, _e = err;
|
|
47
|
-
} finally {
|
|
48
|
-
try {
|
|
49
|
-
!_n && _i.return != null && _i.return();
|
|
50
|
-
} finally {
|
|
51
|
-
if (_d) throw _e;
|
|
52
|
-
}
|
|
53
|
-
}
|
|
54
|
-
return _arr;
|
|
55
|
-
}
|
|
56
|
-
}
|
|
57
|
-
function _non_iterable_rest() {
|
|
58
|
-
throw new TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
|
|
59
|
-
}
|
|
60
|
-
function _sliced_to_array(arr, i) {
|
|
61
|
-
return _array_with_holes(arr) || _iterable_to_array_limit(arr, i) || _unsupported_iterable_to_array(arr, i) || _non_iterable_rest();
|
|
62
|
-
}
|
|
63
|
-
function _unsupported_iterable_to_array(o, minLen) {
|
|
64
|
-
if (o) {
|
|
65
|
-
if (typeof o == "string") return _array_like_to_array(o, minLen);
|
|
66
|
-
var n = Object.prototype.toString.call(o).slice(8, -1);
|
|
67
|
-
if (n === "Object" && o.constructor && (n = o.constructor.name), n === "Map" || n === "Set") return Array.from(n);
|
|
68
|
-
if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array(o, minLen);
|
|
69
|
-
}
|
|
70
|
-
}
|
|
71
30
|
function createAnimations(animations) {
|
|
72
31
|
var reactionListeners = /* @__PURE__ */ new WeakMap();
|
|
73
32
|
return {
|
|
@@ -75,28 +34,28 @@ function createAnimations(animations) {
|
|
|
75
34
|
usePresence: import_use_presence.usePresence,
|
|
76
35
|
ResetPresence: import_use_presence.ResetPresence,
|
|
77
36
|
supportsCSSVars: !0,
|
|
78
|
-
useAnimatedNumber
|
|
79
|
-
var
|
|
37
|
+
useAnimatedNumber(initial) {
|
|
38
|
+
var [val, setVal] = import_react.default.useState(initial);
|
|
80
39
|
return {
|
|
81
|
-
getInstance
|
|
40
|
+
getInstance() {
|
|
82
41
|
return setVal;
|
|
83
42
|
},
|
|
84
|
-
getValue
|
|
43
|
+
getValue() {
|
|
85
44
|
return val;
|
|
86
45
|
},
|
|
87
|
-
setValue
|
|
46
|
+
setValue(next, config, onFinish) {
|
|
88
47
|
setVal(next);
|
|
89
48
|
var listeners = reactionListeners.get(setVal);
|
|
90
49
|
listeners && listeners.forEach(function(cb) {
|
|
91
50
|
return cb(next);
|
|
92
51
|
}), onFinish == null || onFinish();
|
|
93
52
|
},
|
|
94
|
-
stop
|
|
53
|
+
stop() {
|
|
95
54
|
}
|
|
96
55
|
};
|
|
97
56
|
},
|
|
98
|
-
useAnimatedNumberReaction
|
|
99
|
-
var value = param
|
|
57
|
+
useAnimatedNumberReaction(param, onValue) {
|
|
58
|
+
var { value } = param;
|
|
100
59
|
import_react.default.useEffect(function() {
|
|
101
60
|
var instance = value.getInstance(), queue = reactionListeners.get(instance);
|
|
102
61
|
if (!queue) {
|
|
@@ -108,13 +67,13 @@ function createAnimations(animations) {
|
|
|
108
67
|
};
|
|
109
68
|
}, []);
|
|
110
69
|
},
|
|
111
|
-
useAnimatedNumberStyle
|
|
70
|
+
useAnimatedNumberStyle(val, getStyle) {
|
|
112
71
|
return getStyle(val.getValue());
|
|
113
72
|
},
|
|
114
73
|
useAnimations: function(param) {
|
|
115
|
-
var
|
|
74
|
+
var { props, presence, style, componentState, stateRef } = param, isEntering = !!componentState.unmounted, isExiting = (presence == null ? void 0 : presence[0]) === !1, sendExitComplete = presence == null ? void 0 : presence[1], [animationKey, animationConfig] = Array.isArray(props.animation) ? props.animation : [
|
|
116
75
|
props.animation
|
|
117
|
-
],
|
|
76
|
+
], animation = animations[animationKey], _props_animateOnly, keys = (_props_animateOnly = props.animateOnly) !== null && _props_animateOnly !== void 0 ? _props_animateOnly : [
|
|
118
77
|
"all"
|
|
119
78
|
];
|
|
120
79
|
return (0, import_constants.useIsomorphicLayoutEffect)(function() {
|
|
@@ -132,7 +91,7 @@ function createAnimations(animations) {
|
|
|
132
91
|
isExiting
|
|
133
92
|
]), animation && (Array.isArray(style.transform) && (style.transform = (0, import_web.transformsToString)(style.transform)), style.transition = keys.map(function(key) {
|
|
134
93
|
var _animations_animationConfig_key, override = (_animations_animationConfig_key = animations[animationConfig == null ? void 0 : animationConfig[key]]) !== null && _animations_animationConfig_key !== void 0 ? _animations_animationConfig_key : animation;
|
|
135
|
-
return
|
|
94
|
+
return `${key} ${override}`;
|
|
136
95
|
}).join(", ")), process.env.NODE_ENV === "development" && props.debug && console.info("CSS animation", {
|
|
137
96
|
props,
|
|
138
97
|
animations,
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/Users/n8/tamagui/code/core/animations-css/src/createAnimations.tsx"],
|
|
4
|
-
"mappings": "
|
|
5
|
-
"names": ["createAnimations", "animations", "reactionListeners", "WeakMap", "usePresence", "ResetPresence", "supportsCSSVars", "useAnimatedNumber", "initial", "
|
|
4
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;AAAA;;;;;mBAAkB,2BAClB,mBAA0C,+BAE1C,aAAmC,yBACnC,sBAA2C;AAEpC,SAASA,iBAAmCC,YAAa;AAC9D,MAAMC,oBAAoB,oBAAIC,QAAAA;AAE9B,SAAO;IACLF;IACAG;IACAC;IACAC,iBAAiB;IAEjBC,kBAAkBC,SAAO;AACvB,UAAM,CAACC,KAAKC,MAAAA,IAAUC,aAAAA,QAAMC,SAASJ,OAAAA;AAErC,aAAO;QACLK,cAAAA;AACE,iBAAOH;QACT;QACAI,WAAAA;AACE,iBAAOL;QACT;QACAM,SAASC,MAAMC,QAAQC,UAAQ;AAC7BR,iBAAOM,IAAAA;AACP,cAAMG,YAAYjB,kBAAkBkB,IAAIV,MAAAA;AACxC,UAAIS,aACFA,UAAUE,QAAQ,SAACC,IAAAA;mBAAOA,GAAGN,IAAAA;cAG/BE,YAAAA,QAAAA,SAAAA;QACF;QACAK,OAAAA;QAAQ;MACV;IACF;IAEAC,0BAA0B,OAAWC,SAAO;UAAlB,EAAEC,MAAK,IAAP;AACxBf,mBAAAA,QAAMgB,UAAU,WAAA;AACd,YAAMC,WAAWF,MAAMb,YAAW,GAC9BgB,QAAQ3B,kBAAkBkB,IAAIQ,QAAAA;AAClC,YAAI,CAACC,OAAO;AACV,cAAMb,OAAO,oBAAIc,IAAAA;AACjB5B,4BAAkB6B,IAAIH,UAAUZ,IAAAA,GAChCa,QAAQb;QACV;AACAa,qBAAMG,IAAIP,OAAAA,GACH,WAAA;AACLI,mBAAAA,QAAAA,MAAOI,OAAOR,OAAAA;QAChB;MACF,GAAG,CAAA,CAAE;IACP;IAEAS,uBAAuBzB,KAAK0B,UAAQ;AAClC,aAAOA,SAAS1B,IAAIK,SAAQ,CAAA;IAC9B;IAEAsB,eAAe,SAAA,OAAA;UAAC,EAAEC,OAAOC,UAAUC,OAAOC,gBAAgBC,SAAQ,IAAE,OAC5DC,aAAa,CAAC,CAACF,eAAeG,WAC9BC,aAAYN,YAAAA,OAAAA,SAAAA,SAAW,CAAA,OAAO,IAC9BO,mBAAmBP,YAAAA,OAAAA,SAAAA,SAAW,CAAA,GAE9B,CAACQ,cAAcC,eAAAA,IAAmBC,MAAMC,QAAQZ,MAAMa,SAAS,IACjEb,MAAMa,YACN;QAACb,MAAMa;SACLA,YAAYjD,WAAW6C,YAAAA,GAChBT,oBAAPc,QAAOd,qBAAAA,MAAMe,iBAAW,QAAjBf,uBAAAA,SAAAA,qBAAqB;QAAC;;AA6CnC,iBA3CAgB,4CAA0B,WAAA;AACxB,YAAMC,OAAOb,SAASc,QAAQD;AAC9B,YAAI,GAACT,oBAAoB,CAACD,aAAa,CAACU,OACxC;cAAME,OAAOF,MACPG,oBAAoB,WAAA;AACxBZ,gCAAAA,QAAAA,iBAAAA;UACF;AACAW,sBAAKE,iBAAiB,iBAAiBD,iBAAAA,GACvCD,KAAKE,iBAAiB,oBAAoBD,iBAAAA,GACnC,WAAA;AACLD,iBAAKG,oBAAoB,iBAAiBF,iBAAAA,GAC1CD,KAAKG,oBAAoB,oBAAoBF,iBAAAA;UAC/C;;MACF,GAAG;QAACZ;QAAkBD;OAAU,GAE5BM,cACEF,MAAMC,QAAQV,MAAMqB,SAAS,MAC/BrB,MAAMqB,gBAAYC,+BAAmBtB,MAAMqB,SAAS,IAMtDrB,MAAMuB,aAAaX,KAChBY,IAAI,SAACC,KAAAA;YACa/D,iCAAXgE,YAAWhE,kCAAAA,WAAW8C,mBAAAA,OAAAA,SAAAA,gBAAkBiB,GAAAA,CAAI,OAAC,QAAlC/D,oCAAAA,SAAAA,kCAAsCiD;AACvD,eAAO,GAAGc,GAAAA,IAAOC,QAAAA;MACnB,CAAA,EACCC,KAAK,IAAA,IAGNC,QAAQC,IAAIC,aAAa,iBAAiBhC,MAAM,SAClDiC,QAAQC,KAAK,iBAAiB;QAC5BlC;QACApC;QACAiD;QACAJ;QACAP;QACAG;QACAE;MACF,CAAA,GAGGM,YAIE;QAAEX;QAAOiC,WAAW9B,aAAa,gBAAgB;MAAG,IAHlD;IAIX;EACF;AACF;",
|
|
5
|
+
"names": ["createAnimations", "animations", "reactionListeners", "WeakMap", "usePresence", "ResetPresence", "supportsCSSVars", "useAnimatedNumber", "initial", "val", "setVal", "React", "useState", "getInstance", "getValue", "setValue", "next", "config", "onFinish", "listeners", "get", "forEach", "cb", "stop", "useAnimatedNumberReaction", "onValue", "value", "useEffect", "instance", "queue", "Set", "set", "add", "delete", "useAnimatedNumberStyle", "getStyle", "useAnimations", "props", "presence", "style", "componentState", "stateRef", "isEntering", "unmounted", "isExiting", "sendExitComplete", "animationKey", "animationConfig", "Array", "isArray", "animation", "keys", "animateOnly", "useIsomorphicLayoutEffect", "host", "current", "node", "onFinishAnimation", "addEventListener", "removeEventListener", "transform", "transformsToString", "transition", "map", "key", "override", "join", "process", "env", "NODE_ENV", "console", "info", "className"]
|
|
6
6
|
}
|
|
@@ -2,47 +2,6 @@ import React from "react";
|
|
|
2
2
|
import { useIsomorphicLayoutEffect } from "@tamagui/constants";
|
|
3
3
|
import { transformsToString } from "@tamagui/web";
|
|
4
4
|
import { ResetPresence, usePresence } from "@tamagui/use-presence";
|
|
5
|
-
function _array_like_to_array(arr, len) {
|
|
6
|
-
(len == null || len > arr.length) && (len = arr.length);
|
|
7
|
-
for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];
|
|
8
|
-
return arr2;
|
|
9
|
-
}
|
|
10
|
-
function _array_with_holes(arr) {
|
|
11
|
-
if (Array.isArray(arr)) return arr;
|
|
12
|
-
}
|
|
13
|
-
function _iterable_to_array_limit(arr, i) {
|
|
14
|
-
var _i = arr == null ? null : typeof Symbol < "u" && arr[Symbol.iterator] || arr["@@iterator"];
|
|
15
|
-
if (_i != null) {
|
|
16
|
-
var _arr = [], _n = !0, _d = !1, _s, _e;
|
|
17
|
-
try {
|
|
18
|
-
for (_i = _i.call(arr); !(_n = (_s = _i.next()).done) && (_arr.push(_s.value), !(i && _arr.length === i)); _n = !0)
|
|
19
|
-
;
|
|
20
|
-
} catch (err) {
|
|
21
|
-
_d = !0, _e = err;
|
|
22
|
-
} finally {
|
|
23
|
-
try {
|
|
24
|
-
!_n && _i.return != null && _i.return();
|
|
25
|
-
} finally {
|
|
26
|
-
if (_d) throw _e;
|
|
27
|
-
}
|
|
28
|
-
}
|
|
29
|
-
return _arr;
|
|
30
|
-
}
|
|
31
|
-
}
|
|
32
|
-
function _non_iterable_rest() {
|
|
33
|
-
throw new TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
|
|
34
|
-
}
|
|
35
|
-
function _sliced_to_array(arr, i) {
|
|
36
|
-
return _array_with_holes(arr) || _iterable_to_array_limit(arr, i) || _unsupported_iterable_to_array(arr, i) || _non_iterable_rest();
|
|
37
|
-
}
|
|
38
|
-
function _unsupported_iterable_to_array(o, minLen) {
|
|
39
|
-
if (o) {
|
|
40
|
-
if (typeof o == "string") return _array_like_to_array(o, minLen);
|
|
41
|
-
var n = Object.prototype.toString.call(o).slice(8, -1);
|
|
42
|
-
if (n === "Object" && o.constructor && (n = o.constructor.name), n === "Map" || n === "Set") return Array.from(n);
|
|
43
|
-
if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array(o, minLen);
|
|
44
|
-
}
|
|
45
|
-
}
|
|
46
5
|
function createAnimations(animations) {
|
|
47
6
|
var reactionListeners = /* @__PURE__ */ new WeakMap();
|
|
48
7
|
return {
|
|
@@ -50,28 +9,28 @@ function createAnimations(animations) {
|
|
|
50
9
|
usePresence,
|
|
51
10
|
ResetPresence,
|
|
52
11
|
supportsCSSVars: !0,
|
|
53
|
-
useAnimatedNumber
|
|
54
|
-
var
|
|
12
|
+
useAnimatedNumber(initial) {
|
|
13
|
+
var [val, setVal] = React.useState(initial);
|
|
55
14
|
return {
|
|
56
|
-
getInstance
|
|
15
|
+
getInstance() {
|
|
57
16
|
return setVal;
|
|
58
17
|
},
|
|
59
|
-
getValue
|
|
18
|
+
getValue() {
|
|
60
19
|
return val;
|
|
61
20
|
},
|
|
62
|
-
setValue
|
|
21
|
+
setValue(next, config, onFinish) {
|
|
63
22
|
setVal(next);
|
|
64
23
|
var listeners = reactionListeners.get(setVal);
|
|
65
24
|
listeners && listeners.forEach(function(cb) {
|
|
66
25
|
return cb(next);
|
|
67
|
-
}), onFinish
|
|
26
|
+
}), onFinish?.();
|
|
68
27
|
},
|
|
69
|
-
stop
|
|
28
|
+
stop() {
|
|
70
29
|
}
|
|
71
30
|
};
|
|
72
31
|
},
|
|
73
|
-
useAnimatedNumberReaction
|
|
74
|
-
var value = param
|
|
32
|
+
useAnimatedNumberReaction(param, onValue) {
|
|
33
|
+
var { value } = param;
|
|
75
34
|
React.useEffect(function() {
|
|
76
35
|
var instance = value.getInstance(), queue = reactionListeners.get(instance);
|
|
77
36
|
if (!queue) {
|
|
@@ -79,24 +38,24 @@ function createAnimations(animations) {
|
|
|
79
38
|
reactionListeners.set(instance, next), queue = next;
|
|
80
39
|
}
|
|
81
40
|
return queue.add(onValue), function() {
|
|
82
|
-
queue
|
|
41
|
+
queue?.delete(onValue);
|
|
83
42
|
};
|
|
84
43
|
}, []);
|
|
85
44
|
},
|
|
86
|
-
useAnimatedNumberStyle
|
|
45
|
+
useAnimatedNumberStyle(val, getStyle) {
|
|
87
46
|
return getStyle(val.getValue());
|
|
88
47
|
},
|
|
89
48
|
useAnimations: function(param) {
|
|
90
|
-
var
|
|
49
|
+
var { props, presence, style, componentState, stateRef } = param, isEntering = !!componentState.unmounted, isExiting = presence?.[0] === !1, sendExitComplete = presence?.[1], [animationKey, animationConfig] = Array.isArray(props.animation) ? props.animation : [
|
|
91
50
|
props.animation
|
|
92
|
-
],
|
|
51
|
+
], animation = animations[animationKey], _props_animateOnly, keys = (_props_animateOnly = props.animateOnly) !== null && _props_animateOnly !== void 0 ? _props_animateOnly : [
|
|
93
52
|
"all"
|
|
94
53
|
];
|
|
95
54
|
return useIsomorphicLayoutEffect(function() {
|
|
96
55
|
var host = stateRef.current.host;
|
|
97
56
|
if (!(!sendExitComplete || !isExiting || !host)) {
|
|
98
57
|
var node = host, onFinishAnimation = function() {
|
|
99
|
-
sendExitComplete
|
|
58
|
+
sendExitComplete?.();
|
|
100
59
|
};
|
|
101
60
|
return node.addEventListener("transitionend", onFinishAnimation), node.addEventListener("transitioncancel", onFinishAnimation), function() {
|
|
102
61
|
node.removeEventListener("transitionend", onFinishAnimation), node.removeEventListener("transitioncancel", onFinishAnimation);
|
|
@@ -106,8 +65,8 @@ function createAnimations(animations) {
|
|
|
106
65
|
sendExitComplete,
|
|
107
66
|
isExiting
|
|
108
67
|
]), animation && (Array.isArray(style.transform) && (style.transform = transformsToString(style.transform)), style.transition = keys.map(function(key) {
|
|
109
|
-
var _animations_animationConfig_key, override = (_animations_animationConfig_key = animations[animationConfig
|
|
110
|
-
return
|
|
68
|
+
var _animations_animationConfig_key, override = (_animations_animationConfig_key = animations[animationConfig?.[key]]) !== null && _animations_animationConfig_key !== void 0 ? _animations_animationConfig_key : animation;
|
|
69
|
+
return `${key} ${override}`;
|
|
111
70
|
}).join(", ")), process.env.NODE_ENV === "development" && props.debug && console.info("CSS animation", {
|
|
112
71
|
props,
|
|
113
72
|
animations,
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/Users/n8/tamagui/code/core/animations-css/src/createAnimations.tsx"],
|
|
4
|
-
"mappings": "AAAA,OAAOA,WAAW;AAClB,SAASC,iCAAiC;AAE1C,SAASC,0BAA0B;AACnC,SAASC,eAAeC,mBAAmB
|
|
5
|
-
"names": ["React", "useIsomorphicLayoutEffect", "transformsToString", "ResetPresence", "usePresence", "createAnimations", "animations", "reactionListeners", "WeakMap", "supportsCSSVars", "useAnimatedNumber", "initial", "
|
|
4
|
+
"mappings": "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",
|
|
5
|
+
"names": ["React", "useIsomorphicLayoutEffect", "transformsToString", "ResetPresence", "usePresence", "createAnimations", "animations", "reactionListeners", "WeakMap", "supportsCSSVars", "useAnimatedNumber", "initial", "val", "setVal", "useState", "getInstance", "getValue", "setValue", "next", "config", "onFinish", "listeners", "get", "forEach", "cb", "stop", "useAnimatedNumberReaction", "onValue", "value", "useEffect", "instance", "queue", "Set", "set", "add", "delete", "useAnimatedNumberStyle", "getStyle", "useAnimations", "props", "presence", "style", "componentState", "stateRef", "isEntering", "unmounted", "isExiting", "sendExitComplete", "animationKey", "animationConfig", "Array", "isArray", "animation", "keys", "animateOnly", "host", "current", "node", "onFinishAnimation", "addEventListener", "removeEventListener", "transform", "transition", "map", "key", "override", "join", "process", "env", "NODE_ENV", "console", "info", "className"]
|
|
6
6
|
}
|
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import { useIsomorphicLayoutEffect } from "@tamagui/constants";
|
|
3
|
+
import { transformsToString } from "@tamagui/web";
|
|
4
|
+
import { ResetPresence, usePresence } from "@tamagui/use-presence";
|
|
5
|
+
function createAnimations(animations) {
|
|
6
|
+
var reactionListeners = /* @__PURE__ */new WeakMap();
|
|
7
|
+
return {
|
|
8
|
+
animations,
|
|
9
|
+
usePresence,
|
|
10
|
+
ResetPresence,
|
|
11
|
+
supportsCSSVars: !0,
|
|
12
|
+
useAnimatedNumber(initial) {
|
|
13
|
+
var [val, setVal] = React.useState(initial);
|
|
14
|
+
return {
|
|
15
|
+
getInstance() {
|
|
16
|
+
return setVal;
|
|
17
|
+
},
|
|
18
|
+
getValue() {
|
|
19
|
+
return val;
|
|
20
|
+
},
|
|
21
|
+
setValue(next, config, onFinish) {
|
|
22
|
+
setVal(next);
|
|
23
|
+
var listeners = reactionListeners.get(setVal);
|
|
24
|
+
listeners && listeners.forEach(function (cb) {
|
|
25
|
+
return cb(next);
|
|
26
|
+
}), onFinish?.();
|
|
27
|
+
},
|
|
28
|
+
stop() {}
|
|
29
|
+
};
|
|
30
|
+
},
|
|
31
|
+
useAnimatedNumberReaction(param, onValue) {
|
|
32
|
+
var {
|
|
33
|
+
value
|
|
34
|
+
} = param;
|
|
35
|
+
React.useEffect(function () {
|
|
36
|
+
var instance = value.getInstance(),
|
|
37
|
+
queue = reactionListeners.get(instance);
|
|
38
|
+
if (!queue) {
|
|
39
|
+
var next = /* @__PURE__ */new Set();
|
|
40
|
+
reactionListeners.set(instance, next), queue = next;
|
|
41
|
+
}
|
|
42
|
+
return queue.add(onValue), function () {
|
|
43
|
+
queue?.delete(onValue);
|
|
44
|
+
};
|
|
45
|
+
}, []);
|
|
46
|
+
},
|
|
47
|
+
useAnimatedNumberStyle(val, getStyle) {
|
|
48
|
+
return getStyle(val.getValue());
|
|
49
|
+
},
|
|
50
|
+
useAnimations: function (param) {
|
|
51
|
+
var {
|
|
52
|
+
props,
|
|
53
|
+
presence,
|
|
54
|
+
style,
|
|
55
|
+
componentState,
|
|
56
|
+
stateRef
|
|
57
|
+
} = param,
|
|
58
|
+
isEntering = !!componentState.unmounted,
|
|
59
|
+
isExiting = presence?.[0] === !1,
|
|
60
|
+
sendExitComplete = presence?.[1],
|
|
61
|
+
[animationKey, animationConfig] = Array.isArray(props.animation) ? props.animation : [props.animation],
|
|
62
|
+
animation = animations[animationKey],
|
|
63
|
+
_props_animateOnly,
|
|
64
|
+
keys = (_props_animateOnly = props.animateOnly) !== null && _props_animateOnly !== void 0 ? _props_animateOnly : ["all"];
|
|
65
|
+
return useIsomorphicLayoutEffect(function () {
|
|
66
|
+
var host = stateRef.current.host;
|
|
67
|
+
if (!(!sendExitComplete || !isExiting || !host)) {
|
|
68
|
+
var node = host,
|
|
69
|
+
onFinishAnimation = function () {
|
|
70
|
+
sendExitComplete?.();
|
|
71
|
+
};
|
|
72
|
+
return node.addEventListener("transitionend", onFinishAnimation), node.addEventListener("transitioncancel", onFinishAnimation), function () {
|
|
73
|
+
node.removeEventListener("transitionend", onFinishAnimation), node.removeEventListener("transitioncancel", onFinishAnimation);
|
|
74
|
+
};
|
|
75
|
+
}
|
|
76
|
+
}, [sendExitComplete, isExiting]), animation && (Array.isArray(style.transform) && (style.transform = transformsToString(style.transform)), style.transition = keys.map(function (key) {
|
|
77
|
+
var _animations_animationConfig_key,
|
|
78
|
+
override = (_animations_animationConfig_key = animations[animationConfig?.[key]]) !== null && _animations_animationConfig_key !== void 0 ? _animations_animationConfig_key : animation;
|
|
79
|
+
return `${key} ${override}`;
|
|
80
|
+
}).join(", ")), process.env.NODE_ENV === "development" && props.debug && console.info("CSS animation", {
|
|
81
|
+
props,
|
|
82
|
+
animations,
|
|
83
|
+
animation,
|
|
84
|
+
animationKey,
|
|
85
|
+
style,
|
|
86
|
+
isEntering,
|
|
87
|
+
isExiting
|
|
88
|
+
}), animation ? {
|
|
89
|
+
style,
|
|
90
|
+
className: isEntering ? "t_unmounted" : ""
|
|
91
|
+
} : null;
|
|
92
|
+
}
|
|
93
|
+
};
|
|
94
|
+
}
|
|
95
|
+
export { createAnimations };
|
|
96
|
+
//# sourceMappingURL=createAnimations.native.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["React","useIsomorphicLayoutEffect","transformsToString","ResetPresence","usePresence","createAnimations","animations","reactionListeners","WeakMap","supportsCSSVars","useAnimatedNumber","initial","val","setVal","useState","getInstance","getValue","setValue","next","config","onFinish","listeners","get","forEach","cb","stop","useAnimatedNumberReaction","param","onValue","value","useEffect","instance","queue","Set","set","add","delete","useAnimatedNumberStyle","getStyle","useAnimations","props","presence","style","componentState","stateRef","isEntering","unmounted","isExiting","sendExitComplete","animationKey","animationConfig","Array","isArray","animation","_props_animateOnly","keys","animateOnly","host","current","node","onFinishAnimation","addEventListener","removeEventListener","transform","transition","map","key","_animations_animationConfig_key","override","join","process","env","NODE_ENV","debug","console","info"],"sources":["../../src/createAnimations.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":[],"sources":["../../src/index.ts"],"sourcesContent":[null],"mappings":"AAAA,cAAc","ignoreList":[]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@tamagui/animations-css",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.111.0",
|
|
4
4
|
"source": "src/index.ts",
|
|
5
5
|
"sideEffects": false,
|
|
6
6
|
"license": "MIT",
|
|
@@ -23,13 +23,13 @@
|
|
|
23
23
|
}
|
|
24
24
|
},
|
|
25
25
|
"dependencies": {
|
|
26
|
-
"@tamagui/constants": "1.
|
|
27
|
-
"@tamagui/cubic-bezier-animator": "1.
|
|
28
|
-
"@tamagui/use-presence": "1.
|
|
29
|
-
"@tamagui/web": "1.
|
|
26
|
+
"@tamagui/constants": "1.111.0",
|
|
27
|
+
"@tamagui/cubic-bezier-animator": "1.111.0",
|
|
28
|
+
"@tamagui/use-presence": "1.111.0",
|
|
29
|
+
"@tamagui/web": "1.111.0"
|
|
30
30
|
},
|
|
31
31
|
"devDependencies": {
|
|
32
|
-
"@tamagui/build": "1.
|
|
32
|
+
"@tamagui/build": "1.111.0",
|
|
33
33
|
"react": "^18.2.0 || ^19.0.0"
|
|
34
34
|
},
|
|
35
35
|
"scripts": {
|