@tamagui/animations-css 2.0.0-rc.4 → 2.0.0-rc.40
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.cjs +353 -82
- package/dist/cjs/createAnimations.native.js +452 -100
- package/dist/cjs/createAnimations.native.js.map +1 -1
- package/dist/cjs/index.cjs +7 -5
- package/dist/cjs/index.native.js +7 -5
- package/dist/cjs/index.native.js.map +1 -1
- package/dist/esm/createAnimations.mjs +326 -57
- package/dist/esm/createAnimations.mjs.map +1 -1
- package/dist/esm/createAnimations.native.js +425 -75
- package/dist/esm/createAnimations.native.js.map +1 -1
- package/dist/esm/index.js +1 -1
- package/dist/esm/index.js.map +1 -6
- package/package.json +10 -13
- package/src/createAnimations.tsx +427 -28
- package/types/createAnimations.d.ts.map +4 -4
- package/types/index.d.ts.map +2 -2
- package/dist/cjs/createAnimations.js +0 -120
- package/dist/cjs/createAnimations.js.map +0 -6
- package/dist/cjs/index.js +0 -15
- package/dist/cjs/index.js.map +0 -6
- package/dist/esm/createAnimations.js +0 -105
- package/dist/esm/createAnimations.js.map +0 -6
package/types/index.d.ts.map
CHANGED
|
@@ -1,120 +0,0 @@
|
|
|
1
|
-
var __create = Object.create;
|
|
2
|
-
var __defProp = Object.defineProperty;
|
|
3
|
-
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
-
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
-
var __getProtoOf = Object.getPrototypeOf, __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
-
var __export = (target, all) => {
|
|
7
|
-
for (var name in all)
|
|
8
|
-
__defProp(target, name, { get: all[name], enumerable: !0 });
|
|
9
|
-
}, __copyProps = (to, from, except, desc) => {
|
|
10
|
-
if (from && typeof from == "object" || typeof from == "function")
|
|
11
|
-
for (let key of __getOwnPropNames(from))
|
|
12
|
-
!__hasOwnProp.call(to, key) && key !== except && __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
13
|
-
return to;
|
|
14
|
-
};
|
|
15
|
-
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
|
16
|
-
// If the importer is in node compatibility mode or this is not an ESM
|
|
17
|
-
// file that has been converted to a CommonJS file using a Babel-
|
|
18
|
-
// compatible transform (i.e. "__esModule" has not been set), then set
|
|
19
|
-
// "default" to the CommonJS "module.exports" for node compatibility.
|
|
20
|
-
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: !0 }) : target,
|
|
21
|
-
mod
|
|
22
|
-
)), __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: !0 }), mod);
|
|
23
|
-
var createAnimations_exports = {};
|
|
24
|
-
__export(createAnimations_exports, {
|
|
25
|
-
createAnimations: () => createAnimations
|
|
26
|
-
});
|
|
27
|
-
module.exports = __toCommonJS(createAnimations_exports);
|
|
28
|
-
var import_animation_helpers = require("@tamagui/animation-helpers"), import_constants = require("@tamagui/constants"), import_use_presence = require("@tamagui/use-presence"), import_web = require("@tamagui/web"), import_react = __toESM(require("react"), 1);
|
|
29
|
-
function extractDuration(animation) {
|
|
30
|
-
const msMatch = animation.match(/(\d+(?:\.\d+)?)\s*ms/);
|
|
31
|
-
if (msMatch)
|
|
32
|
-
return Number.parseInt(msMatch[1], 10);
|
|
33
|
-
const sMatch = animation.match(/(\d+(?:\.\d+)?)\s*s/);
|
|
34
|
-
return sMatch ? Math.round(Number.parseFloat(sMatch[1]) * 1e3) : 300;
|
|
35
|
-
}
|
|
36
|
-
function createAnimations(animations) {
|
|
37
|
-
const reactionListeners = /* @__PURE__ */ new WeakMap();
|
|
38
|
-
return {
|
|
39
|
-
animations,
|
|
40
|
-
usePresence: import_use_presence.usePresence,
|
|
41
|
-
ResetPresence: import_use_presence.ResetPresence,
|
|
42
|
-
supportsCSS: !0,
|
|
43
|
-
inputStyle: "css",
|
|
44
|
-
outputStyle: "css",
|
|
45
|
-
classNameAnimation: !0,
|
|
46
|
-
useAnimatedNumber(initial) {
|
|
47
|
-
const [val, setVal] = import_react.default.useState(initial), [onFinish, setOnFinish] = (0, import_react.useState)();
|
|
48
|
-
return (0, import_constants.useIsomorphicLayoutEffect)(() => {
|
|
49
|
-
onFinish && (onFinish?.(), setOnFinish(void 0));
|
|
50
|
-
}, [onFinish]), {
|
|
51
|
-
getInstance() {
|
|
52
|
-
return setVal;
|
|
53
|
-
},
|
|
54
|
-
getValue() {
|
|
55
|
-
return val;
|
|
56
|
-
},
|
|
57
|
-
setValue(next, config, onFinish2) {
|
|
58
|
-
setVal(next), setOnFinish(onFinish2);
|
|
59
|
-
const listeners = reactionListeners.get(setVal);
|
|
60
|
-
listeners && listeners.forEach((listener) => listener(next));
|
|
61
|
-
},
|
|
62
|
-
stop() {
|
|
63
|
-
}
|
|
64
|
-
};
|
|
65
|
-
},
|
|
66
|
-
useAnimatedNumberReaction({ value }, onValue) {
|
|
67
|
-
import_react.default.useEffect(() => {
|
|
68
|
-
const instance = value.getInstance();
|
|
69
|
-
let queue = reactionListeners.get(instance);
|
|
70
|
-
if (!queue) {
|
|
71
|
-
const next = /* @__PURE__ */ new Set();
|
|
72
|
-
reactionListeners.set(instance, next), queue = next;
|
|
73
|
-
}
|
|
74
|
-
return queue.add(onValue), () => {
|
|
75
|
-
queue?.delete(onValue);
|
|
76
|
-
};
|
|
77
|
-
}, []);
|
|
78
|
-
},
|
|
79
|
-
useAnimatedNumberStyle(val, getStyle) {
|
|
80
|
-
return getStyle(val.getValue());
|
|
81
|
-
},
|
|
82
|
-
useAnimations: ({ props, presence, style, componentState, stateRef }) => {
|
|
83
|
-
const isEntering = !!componentState.unmounted, isExiting = presence?.[0] === !1, sendExitComplete = presence?.[1], wasEnteringRef = import_react.default.useRef(isEntering), justFinishedEntering = wasEnteringRef.current && !isEntering;
|
|
84
|
-
import_react.default.useEffect(() => {
|
|
85
|
-
wasEnteringRef.current = isEntering;
|
|
86
|
-
});
|
|
87
|
-
const normalized = (0, import_animation_helpers.normalizeTransition)(props.transition), effectiveAnimationKey = (0, import_animation_helpers.getEffectiveAnimation)(normalized, isExiting ? "exit" : isEntering || justFinishedEntering ? "enter" : "default"), defaultAnimation = effectiveAnimationKey ? animations[effectiveAnimationKey] : null, animatedProperties = (0, import_animation_helpers.getAnimatedProperties)(normalized), hasDefault = normalized.default !== null || normalized.enter !== null || normalized.exit !== null, hasPerPropertyConfigs = animatedProperties.length > 0;
|
|
88
|
-
let keys;
|
|
89
|
-
if (props.animateOnly ? keys = props.animateOnly : hasPerPropertyConfigs && !hasDefault ? keys = animatedProperties : hasPerPropertyConfigs && hasDefault ? keys = ["all", ...animatedProperties] : keys = ["all"], (0, import_constants.useIsomorphicLayoutEffect)(() => {
|
|
90
|
-
const host = stateRef.current.host;
|
|
91
|
-
if (!sendExitComplete || !isExiting || !host) return;
|
|
92
|
-
const node = host, animationDuration = defaultAnimation ? extractDuration(defaultAnimation) : 200, delay = normalized.delay ?? 0, fallbackTimeout = animationDuration + delay, timeoutId = setTimeout(() => {
|
|
93
|
-
sendExitComplete?.();
|
|
94
|
-
}, fallbackTimeout), onFinishAnimation = () => {
|
|
95
|
-
clearTimeout(timeoutId), sendExitComplete?.();
|
|
96
|
-
};
|
|
97
|
-
return node.addEventListener("transitionend", onFinishAnimation), node.addEventListener("transitioncancel", onFinishAnimation), () => {
|
|
98
|
-
clearTimeout(timeoutId), node.removeEventListener("transitionend", onFinishAnimation), node.removeEventListener("transitioncancel", onFinishAnimation);
|
|
99
|
-
};
|
|
100
|
-
}, [sendExitComplete, isExiting]), !(0, import_animation_helpers.hasAnimation)(normalized))
|
|
101
|
-
return null;
|
|
102
|
-
Array.isArray(style.transform) && (style.transform = (0, import_web.transformsToString)(style.transform));
|
|
103
|
-
const delayStr = normalized.delay ? ` ${normalized.delay}ms` : "";
|
|
104
|
-
return style.transition = keys.map((key) => {
|
|
105
|
-
const propAnimation = normalized.properties[key];
|
|
106
|
-
let animationValue = null;
|
|
107
|
-
return typeof propAnimation == "string" ? animationValue = animations[propAnimation] : propAnimation && typeof propAnimation == "object" && propAnimation.type ? animationValue = animations[propAnimation.type] : defaultAnimation && (animationValue = defaultAnimation), animationValue ? `${key} ${animationValue}${delayStr}` : null;
|
|
108
|
-
}).filter(Boolean).join(", "), process.env.NODE_ENV === "development" && props.debug === "verbose" && console.info("CSS animation", {
|
|
109
|
-
props,
|
|
110
|
-
animations,
|
|
111
|
-
normalized,
|
|
112
|
-
defaultAnimation,
|
|
113
|
-
style,
|
|
114
|
-
isEntering,
|
|
115
|
-
isExiting
|
|
116
|
-
}), { style, className: isEntering ? "t_unmounted" : "" };
|
|
117
|
-
}
|
|
118
|
-
};
|
|
119
|
-
}
|
|
120
|
-
//# sourceMappingURL=createAnimations.js.map
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../src/createAnimations.tsx"],
|
|
4
|
-
"mappings": "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",
|
|
5
|
-
"names": ["React", "onFinish", "hasNormalizedAnimation"]
|
|
6
|
-
}
|
package/dist/cjs/index.js
DELETED
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
var __defProp = Object.defineProperty;
|
|
2
|
-
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
3
|
-
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
4
|
-
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
5
|
-
var __copyProps = (to, from, except, desc) => {
|
|
6
|
-
if (from && typeof from == "object" || typeof from == "function")
|
|
7
|
-
for (let key of __getOwnPropNames(from))
|
|
8
|
-
!__hasOwnProp.call(to, key) && key !== except && __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
9
|
-
return to;
|
|
10
|
-
}, __reExport = (target, mod, secondTarget) => (__copyProps(target, mod, "default"), secondTarget && __copyProps(secondTarget, mod, "default"));
|
|
11
|
-
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: !0 }), mod);
|
|
12
|
-
var index_exports = {};
|
|
13
|
-
module.exports = __toCommonJS(index_exports);
|
|
14
|
-
__reExport(index_exports, require("./createAnimations"), module.exports);
|
|
15
|
-
//# sourceMappingURL=index.js.map
|
package/dist/cjs/index.js.map
DELETED
|
@@ -1,105 +0,0 @@
|
|
|
1
|
-
import {
|
|
2
|
-
normalizeTransition,
|
|
3
|
-
getAnimatedProperties,
|
|
4
|
-
hasAnimation as hasNormalizedAnimation,
|
|
5
|
-
getEffectiveAnimation
|
|
6
|
-
} from "@tamagui/animation-helpers";
|
|
7
|
-
import { useIsomorphicLayoutEffect } from "@tamagui/constants";
|
|
8
|
-
import { ResetPresence, usePresence } from "@tamagui/use-presence";
|
|
9
|
-
import { transformsToString } from "@tamagui/web";
|
|
10
|
-
import React, { useState } from "react";
|
|
11
|
-
function extractDuration(animation) {
|
|
12
|
-
const msMatch = animation.match(/(\d+(?:\.\d+)?)\s*ms/);
|
|
13
|
-
if (msMatch)
|
|
14
|
-
return Number.parseInt(msMatch[1], 10);
|
|
15
|
-
const sMatch = animation.match(/(\d+(?:\.\d+)?)\s*s/);
|
|
16
|
-
return sMatch ? Math.round(Number.parseFloat(sMatch[1]) * 1e3) : 300;
|
|
17
|
-
}
|
|
18
|
-
function createAnimations(animations) {
|
|
19
|
-
const reactionListeners = /* @__PURE__ */ new WeakMap();
|
|
20
|
-
return {
|
|
21
|
-
animations,
|
|
22
|
-
usePresence,
|
|
23
|
-
ResetPresence,
|
|
24
|
-
supportsCSS: !0,
|
|
25
|
-
inputStyle: "css",
|
|
26
|
-
outputStyle: "css",
|
|
27
|
-
classNameAnimation: !0,
|
|
28
|
-
useAnimatedNumber(initial) {
|
|
29
|
-
const [val, setVal] = React.useState(initial), [onFinish, setOnFinish] = useState();
|
|
30
|
-
return useIsomorphicLayoutEffect(() => {
|
|
31
|
-
onFinish && (onFinish?.(), setOnFinish(void 0));
|
|
32
|
-
}, [onFinish]), {
|
|
33
|
-
getInstance() {
|
|
34
|
-
return setVal;
|
|
35
|
-
},
|
|
36
|
-
getValue() {
|
|
37
|
-
return val;
|
|
38
|
-
},
|
|
39
|
-
setValue(next, config, onFinish2) {
|
|
40
|
-
setVal(next), setOnFinish(onFinish2);
|
|
41
|
-
const listeners = reactionListeners.get(setVal);
|
|
42
|
-
listeners && listeners.forEach((listener) => listener(next));
|
|
43
|
-
},
|
|
44
|
-
stop() {
|
|
45
|
-
}
|
|
46
|
-
};
|
|
47
|
-
},
|
|
48
|
-
useAnimatedNumberReaction({ value }, onValue) {
|
|
49
|
-
React.useEffect(() => {
|
|
50
|
-
const instance = value.getInstance();
|
|
51
|
-
let queue = reactionListeners.get(instance);
|
|
52
|
-
if (!queue) {
|
|
53
|
-
const next = /* @__PURE__ */ new Set();
|
|
54
|
-
reactionListeners.set(instance, next), queue = next;
|
|
55
|
-
}
|
|
56
|
-
return queue.add(onValue), () => {
|
|
57
|
-
queue?.delete(onValue);
|
|
58
|
-
};
|
|
59
|
-
}, []);
|
|
60
|
-
},
|
|
61
|
-
useAnimatedNumberStyle(val, getStyle) {
|
|
62
|
-
return getStyle(val.getValue());
|
|
63
|
-
},
|
|
64
|
-
useAnimations: ({ props, presence, style, componentState, stateRef }) => {
|
|
65
|
-
const isEntering = !!componentState.unmounted, isExiting = presence?.[0] === !1, sendExitComplete = presence?.[1], wasEnteringRef = React.useRef(isEntering), justFinishedEntering = wasEnteringRef.current && !isEntering;
|
|
66
|
-
React.useEffect(() => {
|
|
67
|
-
wasEnteringRef.current = isEntering;
|
|
68
|
-
});
|
|
69
|
-
const normalized = normalizeTransition(props.transition), effectiveAnimationKey = getEffectiveAnimation(normalized, isExiting ? "exit" : isEntering || justFinishedEntering ? "enter" : "default"), defaultAnimation = effectiveAnimationKey ? animations[effectiveAnimationKey] : null, animatedProperties = getAnimatedProperties(normalized), hasDefault = normalized.default !== null || normalized.enter !== null || normalized.exit !== null, hasPerPropertyConfigs = animatedProperties.length > 0;
|
|
70
|
-
let keys;
|
|
71
|
-
if (props.animateOnly ? keys = props.animateOnly : hasPerPropertyConfigs && !hasDefault ? keys = animatedProperties : hasPerPropertyConfigs && hasDefault ? keys = ["all", ...animatedProperties] : keys = ["all"], useIsomorphicLayoutEffect(() => {
|
|
72
|
-
const host = stateRef.current.host;
|
|
73
|
-
if (!sendExitComplete || !isExiting || !host) return;
|
|
74
|
-
const node = host, animationDuration = defaultAnimation ? extractDuration(defaultAnimation) : 200, delay = normalized.delay ?? 0, fallbackTimeout = animationDuration + delay, timeoutId = setTimeout(() => {
|
|
75
|
-
sendExitComplete?.();
|
|
76
|
-
}, fallbackTimeout), onFinishAnimation = () => {
|
|
77
|
-
clearTimeout(timeoutId), sendExitComplete?.();
|
|
78
|
-
};
|
|
79
|
-
return node.addEventListener("transitionend", onFinishAnimation), node.addEventListener("transitioncancel", onFinishAnimation), () => {
|
|
80
|
-
clearTimeout(timeoutId), node.removeEventListener("transitionend", onFinishAnimation), node.removeEventListener("transitioncancel", onFinishAnimation);
|
|
81
|
-
};
|
|
82
|
-
}, [sendExitComplete, isExiting]), !hasNormalizedAnimation(normalized))
|
|
83
|
-
return null;
|
|
84
|
-
Array.isArray(style.transform) && (style.transform = transformsToString(style.transform));
|
|
85
|
-
const delayStr = normalized.delay ? ` ${normalized.delay}ms` : "";
|
|
86
|
-
return style.transition = keys.map((key) => {
|
|
87
|
-
const propAnimation = normalized.properties[key];
|
|
88
|
-
let animationValue = null;
|
|
89
|
-
return typeof propAnimation == "string" ? animationValue = animations[propAnimation] : propAnimation && typeof propAnimation == "object" && propAnimation.type ? animationValue = animations[propAnimation.type] : defaultAnimation && (animationValue = defaultAnimation), animationValue ? `${key} ${animationValue}${delayStr}` : null;
|
|
90
|
-
}).filter(Boolean).join(", "), process.env.NODE_ENV === "development" && props.debug === "verbose" && console.info("CSS animation", {
|
|
91
|
-
props,
|
|
92
|
-
animations,
|
|
93
|
-
normalized,
|
|
94
|
-
defaultAnimation,
|
|
95
|
-
style,
|
|
96
|
-
isEntering,
|
|
97
|
-
isExiting
|
|
98
|
-
}), { style, className: isEntering ? "t_unmounted" : "" };
|
|
99
|
-
}
|
|
100
|
-
};
|
|
101
|
-
}
|
|
102
|
-
export {
|
|
103
|
-
createAnimations
|
|
104
|
-
};
|
|
105
|
-
//# sourceMappingURL=createAnimations.js.map
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../src/createAnimations.tsx"],
|
|
4
|
-
"mappings": "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",
|
|
5
|
-
"names": ["onFinish"]
|
|
6
|
-
}
|