@tamagui/animations-css 1.103.0 → 1.103.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/createAnimations.js +11 -3
- package/dist/cjs/createAnimations.js.map +1 -1
- package/dist/cjs/createAnimations.native.js +14 -6
- package/dist/cjs/createAnimations.native.js.map +2 -2
- package/dist/esm/createAnimations.js +11 -3
- package/dist/esm/createAnimations.js.map +1 -1
- package/dist/esm/createAnimations.mjs +12 -6
- package/dist/esm/createAnimations.native.js +14 -6
- package/dist/esm/createAnimations.native.js.map +2 -2
- package/package.json +6 -6
- package/src/createAnimations.tsx +66 -54
- package/types/createAnimations.d.ts.map +1 -1
|
@@ -60,7 +60,7 @@ function createAnimations(animations) {
|
|
|
60
60
|
return getStyle(val.getValue());
|
|
61
61
|
},
|
|
62
62
|
useAnimations: ({ props, presence, style, componentState, stateRef }) => {
|
|
63
|
-
const isEntering = !!componentState.unmounted, isExiting = presence?.[0] === !1, sendExitComplete = presence?.[1], [animationKey, animationConfig] =
|
|
63
|
+
const isEntering = !!componentState.unmounted, isExiting = presence?.[0] === !1, sendExitComplete = presence?.[1], [animationKey, animationConfig] = Array.isArray(props.animation) ? props.animation : [props.animation], animation = animations[animationKey], keys = props.animateOnly ?? ["all"];
|
|
64
64
|
return (0, import_constants.useIsomorphicLayoutEffect)(() => {
|
|
65
65
|
const host = stateRef.current.host;
|
|
66
66
|
if (!sendExitComplete || !isExiting || !host) return;
|
|
@@ -70,10 +70,18 @@ function createAnimations(animations) {
|
|
|
70
70
|
return node.addEventListener("transitionend", onFinishAnimation), node.addEventListener("transitioncancel", onFinishAnimation), () => {
|
|
71
71
|
node.removeEventListener("transitionend", onFinishAnimation), node.removeEventListener("transitioncancel", onFinishAnimation);
|
|
72
72
|
};
|
|
73
|
-
}, [sendExitComplete, isExiting]), animation
|
|
73
|
+
}, [sendExitComplete, isExiting]), animation && (Array.isArray(style.transform) && (style.transform = (0, import_web.transformsToString)(style.transform)), style.transition = keys.map((key) => {
|
|
74
74
|
const override = animations[animationConfig?.[key]] ?? animation;
|
|
75
75
|
return `${key} ${override}`;
|
|
76
|
-
}).join(", "), process.env.NODE_ENV === "development" && props.debug && console.info("CSS animation",
|
|
76
|
+
}).join(", ")), process.env.NODE_ENV === "development" && props.debug && console.info("CSS animation", {
|
|
77
|
+
props,
|
|
78
|
+
animations,
|
|
79
|
+
animation,
|
|
80
|
+
animationKey,
|
|
81
|
+
style,
|
|
82
|
+
isEntering,
|
|
83
|
+
isExiting
|
|
84
|
+
}), animation ? { style, className: isEntering ? "t_unmounted" : "" } : null;
|
|
77
85
|
}
|
|
78
86
|
};
|
|
79
87
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/createAnimations.tsx"],
|
|
4
|
-
"mappings": ";;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AACA,uBAA0C,+BAE1C,aAAmC,yBACnC,sBAA2C,kCAC3C,eAAoC;AAE7B,SAAS,iBAAmC,YAAmC;AACpF,QAAM,oBAAoB,oBAAI,QAA4B;AAE1D,SAAO;AAAA,IACL;AAAA,IACA;AAAA,IACA;AAAA,IACA,iBAAiB;AAAA,IAEjB,kBAAkB,SAA4C;AAC5D,YAAM,CAAC,KAAK,MAAM,QAAI,uBAAS,OAAO;AAEtC,aAAO;AAAA,QACL,cAAc;AACZ,iBAAO;AAAA,QACT;AAAA,QACA,WAAW;AACT,iBAAO;AAAA,QACT;AAAA,QACA,SAAS,MAAM,QAAQ,UAAU;AAC/B,iBAAO,IAAI;AACX,gBAAM,YAAY,kBAAkB,IAAI,MAAM;AAC9C,UAAI,aACF,UAAU,QAAQ,CAAC,OAAO,GAAG,IAAI,CAAC,GAGpC,WAAW;AAAA,QACb;AAAA,QACA,OAAO;AAAA,QAAC;AAAA,MACV;AAAA,IACF;AAAA,IAEA,0BAA0B,EAAE,MAAM,GAAG,SAAS;AAC5C,kCAAU,MAAM;AACd,cAAM,WAAW,MAAM,YAAY;AACnC,YAAI,QAAQ,kBAAkB,IAAI,QAAQ;AAC1C,YAAI,CAAC,OAAO;AACV,gBAAM,OAAO,oBAAI,IAAc;AAC/B,4BAAkB,IAAI,UAAU,IAAI,GACpC,QAAQ;AAAA,QACV;AACA,qBAAM,IAAI,OAAO,GACV,MAAM;AACX,iBAAO,OAAO,OAAO;AAAA,QACvB;AAAA,MACF,GAAG,CAAC,CAAC;AAAA,IACP;AAAA,IAEA,uBAAuB,KAAK,UAAU;AACpC,aAAO,SAAS,IAAI,SAAS,CAAC;AAAA,IAChC;AAAA,IAEA,eAAe,CAAC,EAAE,OAAO,UAAU,OAAO,gBAAgB,SAAS,MAAM;AACvE,YAAM,aAAa,CAAC,CAAC,eAAe,WAC9B,YAAY,WAAW,CAAC,MAAM,IAC9B,mBAAmB,WAAW,CAAC,GAE/B,CAAC,cAAc,eAAe,IAAI,
|
|
4
|
+
"mappings": ";;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AACA,uBAA0C,+BAE1C,aAAmC,yBACnC,sBAA2C,kCAC3C,eAAoC;AAE7B,SAAS,iBAAmC,YAAmC;AACpF,QAAM,oBAAoB,oBAAI,QAA4B;AAE1D,SAAO;AAAA,IACL;AAAA,IACA;AAAA,IACA;AAAA,IACA,iBAAiB;AAAA,IAEjB,kBAAkB,SAA4C;AAC5D,YAAM,CAAC,KAAK,MAAM,QAAI,uBAAS,OAAO;AAEtC,aAAO;AAAA,QACL,cAAc;AACZ,iBAAO;AAAA,QACT;AAAA,QACA,WAAW;AACT,iBAAO;AAAA,QACT;AAAA,QACA,SAAS,MAAM,QAAQ,UAAU;AAC/B,iBAAO,IAAI;AACX,gBAAM,YAAY,kBAAkB,IAAI,MAAM;AAC9C,UAAI,aACF,UAAU,QAAQ,CAAC,OAAO,GAAG,IAAI,CAAC,GAGpC,WAAW;AAAA,QACb;AAAA,QACA,OAAO;AAAA,QAAC;AAAA,MACV;AAAA,IACF;AAAA,IAEA,0BAA0B,EAAE,MAAM,GAAG,SAAS;AAC5C,kCAAU,MAAM;AACd,cAAM,WAAW,MAAM,YAAY;AACnC,YAAI,QAAQ,kBAAkB,IAAI,QAAQ;AAC1C,YAAI,CAAC,OAAO;AACV,gBAAM,OAAO,oBAAI,IAAc;AAC/B,4BAAkB,IAAI,UAAU,IAAI,GACpC,QAAQ;AAAA,QACV;AACA,qBAAM,IAAI,OAAO,GACV,MAAM;AACX,iBAAO,OAAO,OAAO;AAAA,QACvB;AAAA,MACF,GAAG,CAAC,CAAC;AAAA,IACP;AAAA,IAEA,uBAAuB,KAAK,UAAU;AACpC,aAAO,SAAS,IAAI,SAAS,CAAC;AAAA,IAChC;AAAA,IAEA,eAAe,CAAC,EAAE,OAAO,UAAU,OAAO,gBAAgB,SAAS,MAAM;AACvE,YAAM,aAAa,CAAC,CAAC,eAAe,WAC9B,YAAY,WAAW,CAAC,MAAM,IAC9B,mBAAmB,WAAW,CAAC,GAE/B,CAAC,cAAc,eAAe,IAAI,MAAM,QAAQ,MAAM,SAAS,IACjE,MAAM,YACN,CAAC,MAAM,SAAS,GACd,YAAY,WAAW,YAAY,GACnC,OAAO,MAAM,eAAe,CAAC,KAAK;AA6CxC,iBA3CA,4CAA0B,MAAM;AAC9B,cAAM,OAAO,SAAS,QAAQ;AAC9B,YAAI,CAAC,oBAAoB,CAAC,aAAa,CAAC,KAAM;AAC9C,cAAM,OAAO,MACP,oBAAoB,MAAM;AAC9B,6BAAmB;AAAA,QACrB;AACA,oBAAK,iBAAiB,iBAAiB,iBAAiB,GACxD,KAAK,iBAAiB,oBAAoB,iBAAiB,GACpD,MAAM;AACX,eAAK,oBAAoB,iBAAiB,iBAAiB,GAC3D,KAAK,oBAAoB,oBAAoB,iBAAiB;AAAA,QAChE;AAAA,MACF,GAAG,CAAC,kBAAkB,SAAS,CAAC,GAE5B,cACE,MAAM,QAAQ,MAAM,SAAS,MAC/B,MAAM,gBAAY,+BAAmB,MAAM,SAAS,IAMtD,MAAM,aAAa,KAChB,IAAI,CAAC,QAAQ;AACZ,cAAM,WAAW,WAAW,kBAAkB,GAAG,CAAC,KAAK;AACvD,eAAO,GAAG,GAAG,IAAI,QAAQ;AAAA,MAC3B,CAAC,EACA,KAAK,IAAI,IAGV,QAAQ,IAAI,aAAa,iBAAiB,MAAM,SAClD,QAAQ,KAAK,iBAAiB;AAAA,QAC5B;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,MACF,CAAC,GAGE,YAIE,EAAE,OAAO,WAAW,aAAa,gBAAgB,GAAG,IAHlD;AAAA,IAIX;AAAA,EACF;AACF;",
|
|
5
5
|
"names": []
|
|
6
6
|
}
|
|
@@ -104,7 +104,9 @@ function createAnimations(animations) {
|
|
|
104
104
|
return getStyle(val.getValue());
|
|
105
105
|
},
|
|
106
106
|
useAnimations: function(param) {
|
|
107
|
-
var props = param.props, presence = param.presence, style = param.style, componentState = param.componentState, stateRef = param.stateRef, isEntering = !!componentState.unmounted, isExiting = (presence == null ? void 0 : presence[0]) === !1, sendExitComplete = presence == null ? void 0 : presence[1],
|
|
107
|
+
var props = param.props, presence = param.presence, style = param.style, componentState = param.componentState, stateRef = param.stateRef, isEntering = !!componentState.unmounted, isExiting = (presence == null ? void 0 : presence[0]) === !1, sendExitComplete = presence == null ? void 0 : presence[1], _ref = _sliced_to_array(Array.isArray(props.animation) ? props.animation : [
|
|
108
|
+
props.animation
|
|
109
|
+
], 2), animationKey = _ref[0], animationConfig = _ref[1], animation = animations[animationKey], _props_animateOnly, keys = (_props_animateOnly = props.animateOnly) !== null && _props_animateOnly !== void 0 ? _props_animateOnly : [
|
|
108
110
|
"all"
|
|
109
111
|
];
|
|
110
112
|
return (0, import_constants.useIsomorphicLayoutEffect)(function() {
|
|
@@ -120,15 +122,21 @@ function createAnimations(animations) {
|
|
|
120
122
|
}, [
|
|
121
123
|
sendExitComplete,
|
|
122
124
|
isExiting
|
|
123
|
-
]), animation
|
|
125
|
+
]), animation && (Array.isArray(style.transform) && (style.transform = (0, import_web.transformsToString)(style.transform)), style.transition = keys.map(function(key) {
|
|
124
126
|
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;
|
|
125
127
|
return "".concat(key, " ").concat(override);
|
|
126
|
-
}).join(", "), process.env.NODE_ENV === "development" && props.debug && console.info("CSS animation",
|
|
128
|
+
}).join(", ")), process.env.NODE_ENV === "development" && props.debug && console.info("CSS animation", {
|
|
129
|
+
props,
|
|
130
|
+
animations,
|
|
131
|
+
animation,
|
|
132
|
+
animationKey,
|
|
133
|
+
style,
|
|
127
134
|
isEntering,
|
|
128
135
|
isExiting
|
|
129
|
-
}), {
|
|
130
|
-
style
|
|
131
|
-
|
|
136
|
+
}), animation ? {
|
|
137
|
+
style,
|
|
138
|
+
className: isEntering ? "t_unmounted" : ""
|
|
139
|
+
} : null;
|
|
132
140
|
}
|
|
133
141
|
};
|
|
134
142
|
}
|
|
@@ -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;;;;;AACA,uBAA0C,+BAE1C,aAAmC,yBACnC,sBAA2C,kCAC3C,eAAoC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAE7B,SAASA,iBAAmCC,YAAa;AAC9D,MAAMC,oBAAoB,oBAAIC,QAAAA;AAE9B,SAAO;IACLF;IACAG,aAAAA;IACAC,eAAAA;IACAC,iBAAiB;IAEjBC,mBAAAA,SAAkBC,SAAO;AACvB,UAAsBC,YAAAA,qBAAAA,uBAASD,OAAAA,GAAAA,CAAAA,GAAxBE,MAAeD,UAAAA,CAAAA,GAAVE,SAAUF,UAAAA,CAAAA;AAEtB,aAAO;QACLG,aAAAA,WAAAA;AACE,iBAAOD;QACT;QACAE,UAAAA,WAAAA;AACE,iBAAOH;QACT;QACAI,UAAAA,SAASC,MAAMC,QAAQC,UAAQ;AAC7BN,iBAAOI,IAAAA;AACP,cAAMG,YAAYhB,kBAAkBiB,IAAIR,MAAAA;AACxC,UAAIO,aACFA,UAAUE,QAAQ,SAACC,IAAAA;mBAAOA,GAAGN,IAAAA;cAG/BE,YAAAA,QAAAA,SAAAA;QACF;QACAK,MAAAA,WAAAA;QAAQ;MACV;IACF;IAEAC,2BAAAA,SAA0B,OAAWC,SAAO;UAAhBC,QAAF,MAAEA;AAC1BC,kCAAU,WAAA;AACR,YAAMC,WAAWF,MAAMb,YAAW,GAC9BgB,QAAQ1B,kBAAkBiB,IAAIQ,QAAAA;AAClC,YAAI,CAACC,OAAO;AACV,cAAMb,OAAO,oBAAIc,IAAAA;AACjB3B,4BAAkB4B,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,wBAAAA,SAAuBvB,KAAKwB,UAAQ;AAClC,aAAOA,SAASxB,IAAIG,SAAQ,CAAA;IAC9B;IAEAsB,eAAe,SAAA,OAAA;UAAGC,QAAAA,MAAAA,OAAOC,WAAAA,MAAAA,UAAUC,QAAAA,MAAAA,OAAOC,iBAAAA,MAAAA,gBAAgBC,WAAAA,MAAAA,UAClDC,aAAa,CAAC,CAACF,eAAeG,WAC9BC,aAAYN,YAAAA,OAAAA,SAAAA,SAAW,CAAA,OAAO,IAC9BO,mBAAmBP,YAAAA,OAAAA,SAAAA,SAAW,CAAA,
|
|
5
|
-
"names": ["createAnimations", "animations", "reactionListeners", "WeakMap", "usePresence", "ResetPresence", "supportsCSSVars", "useAnimatedNumber", "initial", "useState", "val", "setVal", "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", "
|
|
4
|
+
"mappings": "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",
|
|
5
|
+
"names": ["createAnimations", "animations", "reactionListeners", "WeakMap", "usePresence", "ResetPresence", "supportsCSSVars", "useAnimatedNumber", "initial", "useState", "val", "setVal", "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", "Array", "isArray", "animation", "animationKey", "animationConfig", "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
|
}
|
|
@@ -44,7 +44,7 @@ function createAnimations(animations) {
|
|
|
44
44
|
return getStyle(val.getValue());
|
|
45
45
|
},
|
|
46
46
|
useAnimations: ({ props, presence, style, componentState, stateRef }) => {
|
|
47
|
-
const isEntering = !!componentState.unmounted, isExiting = presence?.[0] === !1, sendExitComplete = presence?.[1], [animationKey, animationConfig] =
|
|
47
|
+
const isEntering = !!componentState.unmounted, isExiting = presence?.[0] === !1, sendExitComplete = presence?.[1], [animationKey, animationConfig] = Array.isArray(props.animation) ? props.animation : [props.animation], animation = animations[animationKey], keys = props.animateOnly ?? ["all"];
|
|
48
48
|
return useIsomorphicLayoutEffect(() => {
|
|
49
49
|
const host = stateRef.current.host;
|
|
50
50
|
if (!sendExitComplete || !isExiting || !host) return;
|
|
@@ -54,10 +54,18 @@ function createAnimations(animations) {
|
|
|
54
54
|
return node.addEventListener("transitionend", onFinishAnimation), node.addEventListener("transitioncancel", onFinishAnimation), () => {
|
|
55
55
|
node.removeEventListener("transitionend", onFinishAnimation), node.removeEventListener("transitioncancel", onFinishAnimation);
|
|
56
56
|
};
|
|
57
|
-
}, [sendExitComplete, isExiting]), animation
|
|
57
|
+
}, [sendExitComplete, isExiting]), animation && (Array.isArray(style.transform) && (style.transform = transformsToString(style.transform)), style.transition = keys.map((key) => {
|
|
58
58
|
const override = animations[animationConfig?.[key]] ?? animation;
|
|
59
59
|
return `${key} ${override}`;
|
|
60
|
-
}).join(", "), process.env.NODE_ENV === "development" && props.debug && console.info("CSS animation",
|
|
60
|
+
}).join(", ")), process.env.NODE_ENV === "development" && props.debug && console.info("CSS animation", {
|
|
61
|
+
props,
|
|
62
|
+
animations,
|
|
63
|
+
animation,
|
|
64
|
+
animationKey,
|
|
65
|
+
style,
|
|
66
|
+
isEntering,
|
|
67
|
+
isExiting
|
|
68
|
+
}), animation ? { style, className: isEntering ? "t_unmounted" : "" } : null;
|
|
61
69
|
}
|
|
62
70
|
};
|
|
63
71
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/createAnimations.tsx"],
|
|
4
|
-
"mappings": "AACA,SAAS,iCAAiC;AAE1C,SAAS,0BAA0B;AACnC,SAAS,eAAe,mBAAmB;AAC3C,SAAS,WAAW,gBAAgB;AAE7B,SAAS,iBAAmC,YAAmC;AACpF,QAAM,oBAAoB,oBAAI,QAA4B;AAE1D,SAAO;AAAA,IACL;AAAA,IACA;AAAA,IACA;AAAA,IACA,iBAAiB;AAAA,IAEjB,kBAAkB,SAA4C;AAC5D,YAAM,CAAC,KAAK,MAAM,IAAI,SAAS,OAAO;AAEtC,aAAO;AAAA,QACL,cAAc;AACZ,iBAAO;AAAA,QACT;AAAA,QACA,WAAW;AACT,iBAAO;AAAA,QACT;AAAA,QACA,SAAS,MAAM,QAAQ,UAAU;AAC/B,iBAAO,IAAI;AACX,gBAAM,YAAY,kBAAkB,IAAI,MAAM;AAC9C,UAAI,aACF,UAAU,QAAQ,CAAC,OAAO,GAAG,IAAI,CAAC,GAGpC,WAAW;AAAA,QACb;AAAA,QACA,OAAO;AAAA,QAAC;AAAA,MACV;AAAA,IACF;AAAA,IAEA,0BAA0B,EAAE,MAAM,GAAG,SAAS;AAC5C,gBAAU,MAAM;AACd,cAAM,WAAW,MAAM,YAAY;AACnC,YAAI,QAAQ,kBAAkB,IAAI,QAAQ;AAC1C,YAAI,CAAC,OAAO;AACV,gBAAM,OAAO,oBAAI,IAAc;AAC/B,4BAAkB,IAAI,UAAU,IAAI,GACpC,QAAQ;AAAA,QACV;AACA,qBAAM,IAAI,OAAO,GACV,MAAM;AACX,iBAAO,OAAO,OAAO;AAAA,QACvB;AAAA,MACF,GAAG,CAAC,CAAC;AAAA,IACP;AAAA,IAEA,uBAAuB,KAAK,UAAU;AACpC,aAAO,SAAS,IAAI,SAAS,CAAC;AAAA,IAChC;AAAA,IAEA,eAAe,CAAC,EAAE,OAAO,UAAU,OAAO,gBAAgB,SAAS,MAAM;AACvE,YAAM,aAAa,CAAC,CAAC,eAAe,WAC9B,YAAY,WAAW,CAAC,MAAM,IAC9B,mBAAmB,WAAW,CAAC,GAE/B,CAAC,cAAc,eAAe,IAAI,
|
|
4
|
+
"mappings": "AACA,SAAS,iCAAiC;AAE1C,SAAS,0BAA0B;AACnC,SAAS,eAAe,mBAAmB;AAC3C,SAAS,WAAW,gBAAgB;AAE7B,SAAS,iBAAmC,YAAmC;AACpF,QAAM,oBAAoB,oBAAI,QAA4B;AAE1D,SAAO;AAAA,IACL;AAAA,IACA;AAAA,IACA;AAAA,IACA,iBAAiB;AAAA,IAEjB,kBAAkB,SAA4C;AAC5D,YAAM,CAAC,KAAK,MAAM,IAAI,SAAS,OAAO;AAEtC,aAAO;AAAA,QACL,cAAc;AACZ,iBAAO;AAAA,QACT;AAAA,QACA,WAAW;AACT,iBAAO;AAAA,QACT;AAAA,QACA,SAAS,MAAM,QAAQ,UAAU;AAC/B,iBAAO,IAAI;AACX,gBAAM,YAAY,kBAAkB,IAAI,MAAM;AAC9C,UAAI,aACF,UAAU,QAAQ,CAAC,OAAO,GAAG,IAAI,CAAC,GAGpC,WAAW;AAAA,QACb;AAAA,QACA,OAAO;AAAA,QAAC;AAAA,MACV;AAAA,IACF;AAAA,IAEA,0BAA0B,EAAE,MAAM,GAAG,SAAS;AAC5C,gBAAU,MAAM;AACd,cAAM,WAAW,MAAM,YAAY;AACnC,YAAI,QAAQ,kBAAkB,IAAI,QAAQ;AAC1C,YAAI,CAAC,OAAO;AACV,gBAAM,OAAO,oBAAI,IAAc;AAC/B,4BAAkB,IAAI,UAAU,IAAI,GACpC,QAAQ;AAAA,QACV;AACA,qBAAM,IAAI,OAAO,GACV,MAAM;AACX,iBAAO,OAAO,OAAO;AAAA,QACvB;AAAA,MACF,GAAG,CAAC,CAAC;AAAA,IACP;AAAA,IAEA,uBAAuB,KAAK,UAAU;AACpC,aAAO,SAAS,IAAI,SAAS,CAAC;AAAA,IAChC;AAAA,IAEA,eAAe,CAAC,EAAE,OAAO,UAAU,OAAO,gBAAgB,SAAS,MAAM;AACvE,YAAM,aAAa,CAAC,CAAC,eAAe,WAC9B,YAAY,WAAW,CAAC,MAAM,IAC9B,mBAAmB,WAAW,CAAC,GAE/B,CAAC,cAAc,eAAe,IAAI,MAAM,QAAQ,MAAM,SAAS,IACjE,MAAM,YACN,CAAC,MAAM,SAAS,GACd,YAAY,WAAW,YAAY,GACnC,OAAO,MAAM,eAAe,CAAC,KAAK;AA6CxC,aA3CA,0BAA0B,MAAM;AAC9B,cAAM,OAAO,SAAS,QAAQ;AAC9B,YAAI,CAAC,oBAAoB,CAAC,aAAa,CAAC,KAAM;AAC9C,cAAM,OAAO,MACP,oBAAoB,MAAM;AAC9B,6BAAmB;AAAA,QACrB;AACA,oBAAK,iBAAiB,iBAAiB,iBAAiB,GACxD,KAAK,iBAAiB,oBAAoB,iBAAiB,GACpD,MAAM;AACX,eAAK,oBAAoB,iBAAiB,iBAAiB,GAC3D,KAAK,oBAAoB,oBAAoB,iBAAiB;AAAA,QAChE;AAAA,MACF,GAAG,CAAC,kBAAkB,SAAS,CAAC,GAE5B,cACE,MAAM,QAAQ,MAAM,SAAS,MAC/B,MAAM,YAAY,mBAAmB,MAAM,SAAS,IAMtD,MAAM,aAAa,KAChB,IAAI,CAAC,QAAQ;AACZ,cAAM,WAAW,WAAW,kBAAkB,GAAG,CAAC,KAAK;AACvD,eAAO,GAAG,GAAG,IAAI,QAAQ;AAAA,MAC3B,CAAC,EACA,KAAK,IAAI,IAGV,QAAQ,IAAI,aAAa,iBAAiB,MAAM,SAClD,QAAQ,KAAK,iBAAiB;AAAA,QAC5B;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,MACF,CAAC,GAGE,YAIE,EAAE,OAAO,WAAW,aAAa,gBAAgB,GAAG,IAHlD;AAAA,IAIX;AAAA,EACF;AACF;",
|
|
5
5
|
"names": []
|
|
6
6
|
}
|
|
@@ -54,7 +54,7 @@ function createAnimations(animations) {
|
|
|
54
54
|
const isEntering = !!componentState.unmounted,
|
|
55
55
|
isExiting = presence?.[0] === !1,
|
|
56
56
|
sendExitComplete = presence?.[1],
|
|
57
|
-
[animationKey, animationConfig] =
|
|
57
|
+
[animationKey, animationConfig] = Array.isArray(props.animation) ? props.animation : [props.animation],
|
|
58
58
|
animation = animations[animationKey],
|
|
59
59
|
keys = props.animateOnly ?? ["all"];
|
|
60
60
|
return useIsomorphicLayoutEffect(() => {
|
|
@@ -67,15 +67,21 @@ function createAnimations(animations) {
|
|
|
67
67
|
return node.addEventListener("transitionend", onFinishAnimation), node.addEventListener("transitioncancel", onFinishAnimation), () => {
|
|
68
68
|
node.removeEventListener("transitionend", onFinishAnimation), node.removeEventListener("transitioncancel", onFinishAnimation);
|
|
69
69
|
};
|
|
70
|
-
}, [sendExitComplete, isExiting]), animation
|
|
70
|
+
}, [sendExitComplete, isExiting]), animation && (Array.isArray(style.transform) && (style.transform = transformsToString(style.transform)), style.transition = keys.map(key => {
|
|
71
71
|
const override = animations[animationConfig?.[key]] ?? animation;
|
|
72
72
|
return `${key} ${override}`;
|
|
73
|
-
}).join(", "), process.env.NODE_ENV === "development" && props.debug && console.info("CSS animation",
|
|
73
|
+
}).join(", ")), process.env.NODE_ENV === "development" && props.debug && console.info("CSS animation", {
|
|
74
|
+
props,
|
|
75
|
+
animations,
|
|
76
|
+
animation,
|
|
77
|
+
animationKey,
|
|
78
|
+
style,
|
|
74
79
|
isEntering,
|
|
75
80
|
isExiting
|
|
76
|
-
}), {
|
|
77
|
-
style
|
|
78
|
-
|
|
81
|
+
}), animation ? {
|
|
82
|
+
style,
|
|
83
|
+
className: isEntering ? "t_unmounted" : ""
|
|
84
|
+
} : null;
|
|
79
85
|
}
|
|
80
86
|
};
|
|
81
87
|
}
|
|
@@ -87,7 +87,9 @@ function createAnimations(animations) {
|
|
|
87
87
|
return getStyle(val.getValue());
|
|
88
88
|
},
|
|
89
89
|
useAnimations: function(param) {
|
|
90
|
-
var props = param.props, presence = param.presence, style = param.style, componentState = param.componentState, stateRef = param.stateRef, isEntering = !!componentState.unmounted, isExiting = (presence == null ? void 0 : presence[0]) === !1, sendExitComplete = presence == null ? void 0 : presence[1],
|
|
90
|
+
var props = param.props, presence = param.presence, style = param.style, componentState = param.componentState, stateRef = param.stateRef, isEntering = !!componentState.unmounted, isExiting = (presence == null ? void 0 : presence[0]) === !1, sendExitComplete = presence == null ? void 0 : presence[1], _ref = _sliced_to_array(Array.isArray(props.animation) ? props.animation : [
|
|
91
|
+
props.animation
|
|
92
|
+
], 2), animationKey = _ref[0], animationConfig = _ref[1], animation = animations[animationKey], _props_animateOnly, keys = (_props_animateOnly = props.animateOnly) !== null && _props_animateOnly !== void 0 ? _props_animateOnly : [
|
|
91
93
|
"all"
|
|
92
94
|
];
|
|
93
95
|
return useIsomorphicLayoutEffect(function() {
|
|
@@ -103,15 +105,21 @@ function createAnimations(animations) {
|
|
|
103
105
|
}, [
|
|
104
106
|
sendExitComplete,
|
|
105
107
|
isExiting
|
|
106
|
-
]), animation
|
|
108
|
+
]), animation && (Array.isArray(style.transform) && (style.transform = transformsToString(style.transform)), style.transition = keys.map(function(key) {
|
|
107
109
|
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;
|
|
108
110
|
return "".concat(key, " ").concat(override);
|
|
109
|
-
}).join(", "), process.env.NODE_ENV === "development" && props.debug && console.info("CSS animation",
|
|
111
|
+
}).join(", ")), process.env.NODE_ENV === "development" && props.debug && console.info("CSS animation", {
|
|
112
|
+
props,
|
|
113
|
+
animations,
|
|
114
|
+
animation,
|
|
115
|
+
animationKey,
|
|
116
|
+
style,
|
|
110
117
|
isEntering,
|
|
111
118
|
isExiting
|
|
112
|
-
}), {
|
|
113
|
-
style
|
|
114
|
-
|
|
119
|
+
}), animation ? {
|
|
120
|
+
style,
|
|
121
|
+
className: isEntering ? "t_unmounted" : ""
|
|
122
|
+
} : null;
|
|
115
123
|
}
|
|
116
124
|
};
|
|
117
125
|
}
|
|
@@ -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": "AACA,SAASA,iCAAiC;AAE1C,SAASC,0BAA0B;AACnC,SAASC,eAAeC,mBAAmB;AAC3C,SAASC,WAAWC,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAE7B,SAASC,iBAAmCC,YAAa;AAC9D,MAAMC,oBAAoB,oBAAIC,QAAAA;AAE9B,SAAO;IACLF;IACAJ;IACAD;IACAQ,iBAAiB;IAEjBC,mBAAAA,SAAkBC,SAAO;AACvB,UAAsBP,YAAAA,iBAAAA,SAASO,OAAAA,GAAAA,CAAAA,GAAxBC,MAAeR,UAAAA,CAAAA,GAAVS,SAAUT,UAAAA,CAAAA;AAEtB,aAAO;QACLU,aAAAA,WAAAA;AACE,iBAAOD;QACT;QACAE,UAAAA,WAAAA;AACE,iBAAOH;QACT;QACAI,UAAAA,SAASC,MAAMC,QAAQC,UAAQ;AAC7BN,iBAAOI,IAAAA;AACP,cAAMG,YAAYb,kBAAkBc,IAAIR,MAAAA;AACxC,UAAIO,aACFA,UAAUE,QAAQ,SAACC,IAAAA;mBAAOA,GAAGN,IAAAA;cAG/BE,YAAAA,QAAAA,SAAAA;QACF;QACAK,MAAAA,WAAAA;QAAQ;MACV;IACF;IAEAC,2BAAAA,SAA0B,OAAWC,SAAO;UAAhBC,QAAF,MAAEA;AAC1BxB,gBAAU,WAAA;AACR,YAAMyB,WAAWD,MAAMb,YAAW,GAC9Be,QAAQtB,kBAAkBc,IAAIO,QAAAA;AAClC,YAAI,CAACC,OAAO;AACV,cAAMZ,OAAO,oBAAIa,IAAAA;AACjBvB,4BAAkBwB,IAAIH,UAAUX,IAAAA,GAChCY,QAAQZ;QACV;AACAY,qBAAMG,IAAIN,OAAAA,GACH,WAAA;AACLG,mBAAAA,QAAAA,MAAOI,OAAOP,OAAAA;QAChB;MACF,GAAG,CAAA,CAAE;IACP;IAEAQ,wBAAAA,SAAuBtB,KAAKuB,UAAQ;AAClC,aAAOA,SAASvB,IAAIG,SAAQ,CAAA;IAC9B;IAEAqB,eAAe,SAAA,OAAA;UAAGC,QAAAA,MAAAA,OAAOC,WAAAA,MAAAA,UAAUC,QAAAA,MAAAA,OAAOC,iBAAAA,MAAAA,gBAAgBC,WAAAA,MAAAA,UAClDC,aAAa,CAAC,CAACF,eAAeG,WAC9BC,aAAYN,YAAAA,OAAAA,SAAAA,SAAW,CAAA,OAAO,IAC9BO,mBAAmBP,YAAAA,OAAAA,SAAAA,SAAW,CAAA,
|
|
5
|
-
"names": ["useIsomorphicLayoutEffect", "transformsToString", "ResetPresence", "usePresence", "useEffect", "useState", "createAnimations", "animations", "reactionListeners", "WeakMap", "supportsCSSVars", "useAnimatedNumber", "initial", "val", "setVal", "getInstance", "getValue", "setValue", "next", "config", "onFinish", "listeners", "get", "forEach", "cb", "stop", "useAnimatedNumberReaction", "onValue", "value", "instance", "queue", "Set", "set", "add", "delete", "useAnimatedNumberStyle", "getStyle", "useAnimations", "props", "presence", "style", "componentState", "stateRef", "isEntering", "unmounted", "isExiting", "sendExitComplete", "
|
|
4
|
+
"mappings": "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",
|
|
5
|
+
"names": ["useIsomorphicLayoutEffect", "transformsToString", "ResetPresence", "usePresence", "useEffect", "useState", "createAnimations", "animations", "reactionListeners", "WeakMap", "supportsCSSVars", "useAnimatedNumber", "initial", "val", "setVal", "getInstance", "getValue", "setValue", "next", "config", "onFinish", "listeners", "get", "forEach", "cb", "stop", "useAnimatedNumberReaction", "onValue", "value", "instance", "queue", "Set", "set", "add", "delete", "useAnimatedNumberStyle", "getStyle", "useAnimations", "props", "presence", "style", "componentState", "stateRef", "isEntering", "unmounted", "isExiting", "sendExitComplete", "Array", "isArray", "animation", "animationKey", "animationConfig", "keys", "animateOnly", "host", "current", "node", "onFinishAnimation", "addEventListener", "removeEventListener", "transform", "transition", "map", "key", "override", "join", "process", "env", "NODE_ENV", "console", "info", "className"]
|
|
6
6
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@tamagui/animations-css",
|
|
3
|
-
"version": "1.103.
|
|
3
|
+
"version": "1.103.1",
|
|
4
4
|
"source": "src/index.ts",
|
|
5
5
|
"sideEffects": false,
|
|
6
6
|
"license": "MIT",
|
|
@@ -22,13 +22,13 @@
|
|
|
22
22
|
}
|
|
23
23
|
},
|
|
24
24
|
"dependencies": {
|
|
25
|
-
"@tamagui/constants": "1.103.
|
|
26
|
-
"@tamagui/cubic-bezier-animator": "1.103.
|
|
27
|
-
"@tamagui/use-presence": "1.103.
|
|
28
|
-
"@tamagui/web": "1.103.
|
|
25
|
+
"@tamagui/constants": "1.103.1",
|
|
26
|
+
"@tamagui/cubic-bezier-animator": "1.103.1",
|
|
27
|
+
"@tamagui/use-presence": "1.103.1",
|
|
28
|
+
"@tamagui/web": "1.103.1"
|
|
29
29
|
},
|
|
30
30
|
"devDependencies": {
|
|
31
|
-
"@tamagui/build": "1.103.
|
|
31
|
+
"@tamagui/build": "1.103.1",
|
|
32
32
|
"react": "^18.2.0"
|
|
33
33
|
},
|
|
34
34
|
"scripts": {
|
package/src/createAnimations.tsx
CHANGED
|
@@ -62,7 +62,9 @@ export function createAnimations<A extends Object>(animations: A): AnimationDriv
|
|
|
62
62
|
const isExiting = presence?.[0] === false
|
|
63
63
|
const sendExitComplete = presence?.[1]
|
|
64
64
|
// const initialPositionRef = useRef<any>(null)
|
|
65
|
-
const [animationKey, animationConfig] =
|
|
65
|
+
const [animationKey, animationConfig] = Array.isArray(props.animation)
|
|
66
|
+
? props.animation
|
|
67
|
+
: [props.animation]
|
|
66
68
|
const animation = animations[animationKey]
|
|
67
69
|
const keys = props.animateOnly ?? ['all']
|
|
68
70
|
|
|
@@ -81,70 +83,80 @@ export function createAnimations<A extends Object>(animations: A): AnimationDriv
|
|
|
81
83
|
}
|
|
82
84
|
}, [sendExitComplete, isExiting])
|
|
83
85
|
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
// }
|
|
89
|
-
// // @ts-ignore
|
|
90
|
-
// const boundingBox = host?.getBoundingClientRect()
|
|
91
|
-
// if (isChanged(initialPositionRef.current, boundingBox)) {
|
|
92
|
-
// const transform = invert(
|
|
93
|
-
// host,
|
|
94
|
-
// boundingBox,
|
|
95
|
-
// initialPositionRef.current
|
|
96
|
-
// )
|
|
97
|
-
|
|
98
|
-
// animate({
|
|
99
|
-
// from: transform,
|
|
100
|
-
// to: { x: 0, y: 0, scaleX: 1, scaleY: 1 },
|
|
101
|
-
// duration: 1000,
|
|
102
|
-
// onUpdate: ({ x, y, scaleX, scaleY }) => {
|
|
103
|
-
// // @ts-ignore
|
|
104
|
-
// host.style.transform = `translate(${x}px, ${y}px) scaleX(${scaleX}) scaleY(${scaleY})`
|
|
105
|
-
// // TODO: handle childRef inverse scale
|
|
106
|
-
// // childRef.current.style.transform = `scaleX(${1 / scaleX}) scaleY(${
|
|
107
|
-
// // 1 / scaleY
|
|
108
|
-
// // })`
|
|
109
|
-
// },
|
|
110
|
-
// // TODO: extract ease-in from string and convert/map it to a cubicBezier array
|
|
111
|
-
// cubicBezier: [0, 1.38, 1, -0.41],
|
|
112
|
-
// })
|
|
113
|
-
// }
|
|
114
|
-
// initialPositionRef.current = boundingBox
|
|
115
|
-
// })
|
|
116
|
-
|
|
117
|
-
if (!animation) {
|
|
118
|
-
return null
|
|
119
|
-
}
|
|
86
|
+
if (animation) {
|
|
87
|
+
if (Array.isArray(style.transform)) {
|
|
88
|
+
style.transform = transformsToString(style.transform)
|
|
89
|
+
}
|
|
120
90
|
|
|
121
|
-
|
|
122
|
-
|
|
91
|
+
// add css transition
|
|
92
|
+
// TODO: we disabled the transform transition, because it will create issue for inverse function and animate function
|
|
93
|
+
// for non layout transform properties either use animate function or find a workaround to do it with css
|
|
94
|
+
style.transition = keys
|
|
95
|
+
.map((key) => {
|
|
96
|
+
const override = animations[animationConfig?.[key]] ?? animation
|
|
97
|
+
return `${key} ${override}`
|
|
98
|
+
})
|
|
99
|
+
.join(', ')
|
|
123
100
|
}
|
|
124
101
|
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
102
|
+
if (process.env.NODE_ENV === 'development' && props['debug']) {
|
|
103
|
+
console.info('CSS animation', {
|
|
104
|
+
props,
|
|
105
|
+
animations,
|
|
106
|
+
animation,
|
|
107
|
+
animationKey,
|
|
108
|
+
style,
|
|
109
|
+
isEntering,
|
|
110
|
+
isExiting,
|
|
132
111
|
})
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
// style.transition = `${keys} ${animation}${
|
|
136
|
-
// props.layout ? ',width 0s, height 0s, margin 0s, padding 0s, transform' : ''
|
|
137
|
-
// }`
|
|
112
|
+
}
|
|
138
113
|
|
|
139
|
-
if (
|
|
140
|
-
|
|
114
|
+
if (!animation) {
|
|
115
|
+
return null
|
|
141
116
|
}
|
|
142
117
|
|
|
143
|
-
return { style }
|
|
118
|
+
return { style, className: isEntering ? 't_unmounted' : '' }
|
|
144
119
|
},
|
|
145
120
|
}
|
|
146
121
|
}
|
|
147
122
|
|
|
123
|
+
// layout animations
|
|
124
|
+
// useIsomorphicLayoutEffect(() => {
|
|
125
|
+
// if (!host || !props.layout) {
|
|
126
|
+
// return
|
|
127
|
+
// }
|
|
128
|
+
// // @ts-ignore
|
|
129
|
+
// const boundingBox = host?.getBoundingClientRect()
|
|
130
|
+
// if (isChanged(initialPositionRef.current, boundingBox)) {
|
|
131
|
+
// const transform = invert(
|
|
132
|
+
// host,
|
|
133
|
+
// boundingBox,
|
|
134
|
+
// initialPositionRef.current
|
|
135
|
+
// )
|
|
136
|
+
|
|
137
|
+
// animate({
|
|
138
|
+
// from: transform,
|
|
139
|
+
// to: { x: 0, y: 0, scaleX: 1, scaleY: 1 },
|
|
140
|
+
// duration: 1000,
|
|
141
|
+
// onUpdate: ({ x, y, scaleX, scaleY }) => {
|
|
142
|
+
// // @ts-ignore
|
|
143
|
+
// host.style.transform = `translate(${x}px, ${y}px) scaleX(${scaleX}) scaleY(${scaleY})`
|
|
144
|
+
// // TODO: handle childRef inverse scale
|
|
145
|
+
// // childRef.current.style.transform = `scaleX(${1 / scaleX}) scaleY(${
|
|
146
|
+
// // 1 / scaleY
|
|
147
|
+
// // })`
|
|
148
|
+
// },
|
|
149
|
+
// // TODO: extract ease-in from string and convert/map it to a cubicBezier array
|
|
150
|
+
// cubicBezier: [0, 1.38, 1, -0.41],
|
|
151
|
+
// })
|
|
152
|
+
// }
|
|
153
|
+
// initialPositionRef.current = boundingBox
|
|
154
|
+
// })
|
|
155
|
+
|
|
156
|
+
// style.transition = `${keys} ${animation}${
|
|
157
|
+
// props.layout ? ',width 0s, height 0s, margin 0s, padding 0s, transform' : ''
|
|
158
|
+
// }`
|
|
159
|
+
|
|
148
160
|
// const isChanged = (initialBox: any, finalBox: any) => {
|
|
149
161
|
// // we just mounted, so we don't have complete data yet
|
|
150
162
|
// if (!initialBox || !finalBox) return false
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createAnimations.d.ts","sourceRoot":"","sources":["../src/createAnimations.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,eAAe,EAA2B,MAAM,cAAc,CAAA;AAK5E,wBAAgB,gBAAgB,CAAC,CAAC,SAAS,MAAM,EAAE,UAAU,EAAE,CAAC,GAAG,eAAe,CAAC,CAAC,CAAC,
|
|
1
|
+
{"version":3,"file":"createAnimations.d.ts","sourceRoot":"","sources":["../src/createAnimations.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,eAAe,EAA2B,MAAM,cAAc,CAAA;AAK5E,wBAAgB,gBAAgB,CAAC,CAAC,SAAS,MAAM,EAAE,UAAU,EAAE,CAAC,GAAG,eAAe,CAAC,CAAC,CAAC,CAiHpF"}
|