@tamagui/animations-moti 1.115.5 → 1.116.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.cjs +75 -39
- package/dist/cjs/createAnimations.cjs.map +1 -1
- package/dist/cjs/createAnimations.native.js +39 -10
- package/dist/cjs/createAnimations.native.js.map +2 -2
- package/dist/esm/createAnimations.js +41 -7
- package/dist/esm/createAnimations.js.map +1 -1
- package/dist/esm/createAnimations.mjs +73 -37
- package/dist/esm/createAnimations.mjs.map +1 -1
- package/dist/esm/createAnimations.native.js +41 -11
- package/dist/esm/createAnimations.native.js.map +2 -2
- package/package.json +4 -4
- package/src/createAnimations.tsx +87 -33
- package/types/createAnimations.d.ts +1 -1
- package/types/createAnimations.d.ts.map +1 -1
|
@@ -34,46 +34,82 @@ __export(createAnimations_exports, {
|
|
|
34
34
|
createAnimations: () => createAnimations
|
|
35
35
|
});
|
|
36
36
|
module.exports = __toCommonJS(createAnimations_exports);
|
|
37
|
-
var
|
|
38
|
-
|
|
37
|
+
var import_use_presence = require("@tamagui/use-presence"),
|
|
38
|
+
import_web = require("@tamagui/web"),
|
|
39
39
|
import_author = require("moti/author"),
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
40
|
+
import_react = __toESM(require("react")),
|
|
41
|
+
import_react_native_reanimated = __toESM(require("react-native-reanimated")),
|
|
42
|
+
import_jsx_runtime = require("react/jsx-runtime");
|
|
43
|
+
function createTamaguiAnimatedComponent(defaultTag = "div") {
|
|
44
|
+
const Component = import_react_native_reanimated.default.createAnimatedComponent((0, import_react.forwardRef)((propsIn, ref) => {
|
|
45
|
+
const {
|
|
46
|
+
forwardedRef,
|
|
47
|
+
style,
|
|
48
|
+
disableClassName,
|
|
49
|
+
animation,
|
|
50
|
+
tag = defaultTag,
|
|
51
|
+
...props
|
|
52
|
+
} = propsIn,
|
|
53
|
+
hostRef = (0, import_react.useRef)(),
|
|
54
|
+
composedRefs = (0, import_web.useComposedRefs)(forwardedRef, ref, hostRef),
|
|
55
|
+
stateRef = (0, import_react.useRef)();
|
|
56
|
+
stateRef.current || (stateRef.current = {
|
|
57
|
+
get host() {
|
|
58
|
+
return hostRef.current;
|
|
59
|
+
}
|
|
60
|
+
});
|
|
61
|
+
const styleFlat = [].concat(style).flat(100).reduce((acc, cur) => (cur && Object.assign(acc, cur), acc), {}),
|
|
62
|
+
styleOut = (0, import_web.getStylesAtomic)(styleFlat).reduce((acc, [key, value]) => (acc[key] = value, acc), {}),
|
|
63
|
+
Element = tag,
|
|
64
|
+
finalProps = {
|
|
65
|
+
...import_web.hooks.usePropsTransform?.(tag, props, stateRef, !1),
|
|
66
|
+
style: styleOut,
|
|
67
|
+
ref: composedRefs
|
|
68
|
+
};
|
|
69
|
+
return /* @__PURE__ */(0, import_jsx_runtime.jsx)(Element, {
|
|
70
|
+
...finalProps
|
|
71
|
+
});
|
|
72
|
+
}));
|
|
73
|
+
return Component.acceptTagProp = !0, Component;
|
|
74
|
+
}
|
|
75
|
+
const AnimatedView = createTamaguiAnimatedComponent("div"),
|
|
76
|
+
AnimatedText = createTamaguiAnimatedComponent("span"),
|
|
77
|
+
onlyAnimateKeys = {
|
|
78
|
+
transform: !0,
|
|
79
|
+
opacity: !0,
|
|
80
|
+
height: !0,
|
|
81
|
+
width: !0,
|
|
82
|
+
backgroundColor: !0,
|
|
83
|
+
borderColor: !0,
|
|
84
|
+
borderLeftColor: !0,
|
|
85
|
+
borderRightColor: !0,
|
|
86
|
+
borderTopColor: !0,
|
|
87
|
+
borderBottomColor: !0,
|
|
88
|
+
borderRadius: !0,
|
|
89
|
+
borderTopLeftRadius: !0,
|
|
90
|
+
borderTopRightRadius: !0,
|
|
91
|
+
borderBottomLeftRadius: !0,
|
|
92
|
+
borderBottomRightRadius: !0,
|
|
93
|
+
borderLeftWidth: !0,
|
|
94
|
+
borderRightWidth: !0,
|
|
95
|
+
borderTopWidth: !0,
|
|
96
|
+
borderBottomWidth: !0,
|
|
97
|
+
color: !0,
|
|
98
|
+
left: !0,
|
|
99
|
+
right: !0,
|
|
100
|
+
top: !0,
|
|
101
|
+
bottom: !0,
|
|
102
|
+
fontSize: !0,
|
|
103
|
+
fontWeight: !0,
|
|
104
|
+
lineHeight: !0,
|
|
105
|
+
letterSpacing: !0
|
|
106
|
+
};
|
|
71
107
|
function createAnimations(animations) {
|
|
72
108
|
return {
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
View:
|
|
76
|
-
Text:
|
|
109
|
+
View: import_web.isWeb ? AnimatedView : import_react_native_reanimated.default.View,
|
|
110
|
+
Text: import_web.isWeb ? AnimatedText : import_react_native_reanimated.default.Text,
|
|
111
|
+
// View: Animated.View,
|
|
112
|
+
// Text: Animated.Text,
|
|
77
113
|
isReactNative: !0,
|
|
78
114
|
animations,
|
|
79
115
|
usePresence: import_use_presence.usePresence,
|
|
@@ -151,8 +187,7 @@ function createAnimations(animations) {
|
|
|
151
187
|
}
|
|
152
188
|
}
|
|
153
189
|
componentState.unmounted === "should-enter" && (dontAnimate = style);
|
|
154
|
-
const
|
|
155
|
-
styles = import_react.default.useMemo(() => JSON.parse(animateStr), [animateStr]),
|
|
190
|
+
const styles = animate,
|
|
156
191
|
isExiting = !!presence?.[1],
|
|
157
192
|
presenceContext = import_react.default.useContext(import_use_presence.PresenceContext),
|
|
158
193
|
usePresenceValue = presence || void 0;
|
|
@@ -179,6 +214,7 @@ function createAnimations(animations) {
|
|
|
179
214
|
},
|
|
180
215
|
moti = (0, import_author.useMotify)(motiProps);
|
|
181
216
|
return process.env.NODE_ENV === "development" && props.debug && console.info("useMotify(", JSON.stringify(motiProps, null, 2) + ")", {
|
|
217
|
+
"componentState.unmounted": componentState.unmounted,
|
|
182
218
|
animationProps,
|
|
183
219
|
motiProps,
|
|
184
220
|
moti,
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/createAnimations.tsx"],
|
|
4
|
-
"mappings": ";;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,
|
|
4
|
+
"mappings": "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",
|
|
5
5
|
"names": ["Animated", "React"]
|
|
6
6
|
}
|
|
@@ -26,7 +26,32 @@ __export(createAnimations_exports, {
|
|
|
26
26
|
createAnimations: () => createAnimations
|
|
27
27
|
});
|
|
28
28
|
module.exports = __toCommonJS(createAnimations_exports);
|
|
29
|
-
var
|
|
29
|
+
var import_jsx_runtime = require("react/jsx-runtime"), import_use_presence = require("@tamagui/use-presence"), import_web = require("@tamagui/web"), import_author = require("moti/author"), import_react = __toESM(require("react")), import_react_native_reanimated = __toESM(require("react-native-reanimated"));
|
|
30
|
+
function createTamaguiAnimatedComponent() {
|
|
31
|
+
var defaultTag = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : "div", Component = import_react_native_reanimated.default.createAnimatedComponent(/* @__PURE__ */ (0, import_react.forwardRef)(function(propsIn, ref) {
|
|
32
|
+
var _hooks_usePropsTransform, { forwardedRef, style, disableClassName, animation, tag = defaultTag, ...props } = propsIn, hostRef = (0, import_react.useRef)(), composedRefs = (0, import_web.useComposedRefs)(forwardedRef, ref, hostRef), stateRef = (0, import_react.useRef)();
|
|
33
|
+
stateRef.current || (stateRef.current = {
|
|
34
|
+
get host() {
|
|
35
|
+
return hostRef.current;
|
|
36
|
+
}
|
|
37
|
+
});
|
|
38
|
+
var styleFlat = [].concat(style).flat(100).reduce(function(acc, cur) {
|
|
39
|
+
return cur && Object.assign(acc, cur), acc;
|
|
40
|
+
}, {}), styleOut = (0, import_web.getStylesAtomic)(styleFlat).reduce(function(acc, param) {
|
|
41
|
+
var [key, value] = param;
|
|
42
|
+
return acc[key] = value, acc;
|
|
43
|
+
}, {}), Element = tag, transformedProps = (_hooks_usePropsTransform = import_web.hooks.usePropsTransform) === null || _hooks_usePropsTransform === void 0 ? void 0 : _hooks_usePropsTransform.call(import_web.hooks, tag, props, stateRef, !1), finalProps = {
|
|
44
|
+
...transformedProps,
|
|
45
|
+
style: styleOut,
|
|
46
|
+
ref: composedRefs
|
|
47
|
+
};
|
|
48
|
+
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Element, {
|
|
49
|
+
...finalProps
|
|
50
|
+
});
|
|
51
|
+
}));
|
|
52
|
+
return Component.acceptTagProp = !0, Component;
|
|
53
|
+
}
|
|
54
|
+
var AnimatedView = createTamaguiAnimatedComponent("div"), AnimatedText = createTamaguiAnimatedComponent("span"), onlyAnimateKeys = {
|
|
30
55
|
transform: !0,
|
|
31
56
|
opacity: !0,
|
|
32
57
|
height: !0,
|
|
@@ -58,10 +83,10 @@ var import_react = __toESM(require("react")), import_use_presence = require("@ta
|
|
|
58
83
|
};
|
|
59
84
|
function createAnimations(animations) {
|
|
60
85
|
return {
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
View:
|
|
64
|
-
Text:
|
|
86
|
+
View: import_web.isWeb ? AnimatedView : import_react_native_reanimated.default.View,
|
|
87
|
+
Text: import_web.isWeb ? AnimatedText : import_react_native_reanimated.default.Text,
|
|
88
|
+
// View: Animated.View,
|
|
89
|
+
// Text: Animated.Text,
|
|
65
90
|
isReactNative: !0,
|
|
66
91
|
animations,
|
|
67
92
|
usePresence: import_use_presence.usePresence,
|
|
@@ -155,11 +180,14 @@ function createAnimations(animations) {
|
|
|
155
180
|
}
|
|
156
181
|
}
|
|
157
182
|
componentState.unmounted === "should-enter" && (dontAnimate = style);
|
|
158
|
-
var
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
183
|
+
var styles = function() {
|
|
184
|
+
var animateStr = JSON.stringify(animate);
|
|
185
|
+
return import_react.default.useMemo(function() {
|
|
186
|
+
return JSON.parse(animateStr);
|
|
187
|
+
}, [
|
|
188
|
+
animateStr
|
|
189
|
+
]);
|
|
190
|
+
}(), isExiting = !!(presence != null && presence[1]), presenceContext = import_react.default.useContext(import_use_presence.PresenceContext), usePresenceValue = presence || void 0, transition = isHydrating ? {
|
|
163
191
|
type: "transition",
|
|
164
192
|
duration: 0
|
|
165
193
|
} : animations[animationKey], hasClonedTransition = !1;
|
|
@@ -181,6 +209,7 @@ function createAnimations(animations) {
|
|
|
181
209
|
exit: isExiting ? styles : void 0
|
|
182
210
|
}, moti = (0, import_author.useMotify)(motiProps);
|
|
183
211
|
return process.env.NODE_ENV === "development" && props.debug && console.info("useMotify(", JSON.stringify(motiProps, null, 2) + ")", {
|
|
212
|
+
"componentState.unmounted": componentState.unmounted,
|
|
184
213
|
animationProps,
|
|
185
214
|
motiProps,
|
|
186
215
|
moti,
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/Users/n8/tamagui/code/core/animations-moti/src/createAnimations.tsx"],
|
|
4
|
-
"mappings": "
|
|
5
|
-
"names": ["onlyAnimateKeys", "transform", "opacity", "height", "width", "backgroundColor", "borderColor", "borderLeftColor", "borderRightColor", "borderTopColor", "borderBottomColor", "borderRadius", "borderTopLeftRadius", "borderTopRightRadius", "borderBottomLeftRadius", "borderBottomRightRadius", "borderLeftWidth", "borderRightWidth", "borderTopWidth", "borderBottomWidth", "color", "left", "right", "top", "bottom", "fontSize", "fontWeight", "lineHeight", "letterSpacing", "createAnimations", "animations", "View", "
|
|
4
|
+
"mappings": "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",
|
|
5
|
+
"names": ["createTamaguiAnimatedComponent", "defaultTag", "Component", "Animated", "createAnimatedComponent", "forwardRef", "propsIn", "ref", "hooks", "forwardedRef", "style", "disableClassName", "animation", "tag", "props", "hostRef", "useRef", "composedRefs", "useComposedRefs", "stateRef", "current", "host", "styleFlat", "concat", "flat", "reduce", "acc", "cur", "Object", "assign", "styleOut", "getStylesAtomic", "key", "value", "Element", "transformedProps", "usePropsTransform", "finalProps", "_jsx", "AnimatedView", "AnimatedText", "onlyAnimateKeys", "transform", "opacity", "height", "width", "backgroundColor", "borderColor", "borderLeftColor", "borderRightColor", "borderTopColor", "borderBottomColor", "borderRadius", "borderTopLeftRadius", "borderTopRightRadius", "borderBottomLeftRadius", "borderBottomRightRadius", "borderLeftWidth", "borderRightWidth", "borderTopWidth", "borderBottomWidth", "color", "left", "right", "top", "bottom", "fontSize", "fontWeight", "lineHeight", "letterSpacing", "createAnimations", "animations", "View", "isWeb", "Text", "isReactNative", "usePresence", "ResetPresence", "useAnimatedNumber", "initial", "sharedValue", "useSharedValue", "React", "useMemo", "getInstance", "getValue", "setValue", "next", "config", "type", "onFinish", "withSpring", "runOnJS", "undefined", "withTiming", "stop", "cancelAnimation", "useAnimatedNumberReaction", "onValue", "instance", "useAnimatedReaction", "prev", "useAnimatedNumberStyle", "val", "getStyle", "derivedValue", "useDerivedValue", "useAnimatedStyle", "useAnimations", "animationProps", "presence", "componentState", "animationKey", "Array", "isArray", "isHydrating", "unmounted", "disableAnimation", "animate", "dontAnimate", "animateOnly", "startsWith", "includes", "styles", "animateStr", "JSON", "stringify", "parse", "isExiting", "Boolean", "presenceContext", "useContext", "PresenceContext", "usePresenceValue", "transition", "duration", "hasClonedTransition", "motiProps", "exit", "moti", "useMotify", "process", "env", "NODE_ENV", "console", "info"]
|
|
6
6
|
}
|
|
@@ -1,6 +1,12 @@
|
|
|
1
|
-
import React from "react";
|
|
2
1
|
import { PresenceContext, ResetPresence, usePresence } from "@tamagui/use-presence";
|
|
2
|
+
import {
|
|
3
|
+
getStylesAtomic,
|
|
4
|
+
hooks,
|
|
5
|
+
isWeb,
|
|
6
|
+
useComposedRefs
|
|
7
|
+
} from "@tamagui/web";
|
|
3
8
|
import { useMotify } from "moti/author";
|
|
9
|
+
import React, { forwardRef, useRef } from "react";
|
|
4
10
|
import Animated, {
|
|
5
11
|
cancelAnimation,
|
|
6
12
|
runOnJS,
|
|
@@ -11,7 +17,34 @@ import Animated, {
|
|
|
11
17
|
withSpring,
|
|
12
18
|
withTiming
|
|
13
19
|
} from "react-native-reanimated";
|
|
14
|
-
|
|
20
|
+
import { jsx } from "react/jsx-runtime";
|
|
21
|
+
function createTamaguiAnimatedComponent(defaultTag = "div") {
|
|
22
|
+
const Component = Animated.createAnimatedComponent(
|
|
23
|
+
forwardRef((propsIn, ref) => {
|
|
24
|
+
const {
|
|
25
|
+
forwardedRef,
|
|
26
|
+
style,
|
|
27
|
+
disableClassName,
|
|
28
|
+
animation,
|
|
29
|
+
tag = defaultTag,
|
|
30
|
+
...props
|
|
31
|
+
} = propsIn, hostRef = useRef(), composedRefs = useComposedRefs(forwardedRef, ref, hostRef), stateRef = useRef();
|
|
32
|
+
stateRef.current || (stateRef.current = {
|
|
33
|
+
get host() {
|
|
34
|
+
return hostRef.current;
|
|
35
|
+
}
|
|
36
|
+
});
|
|
37
|
+
const styleFlat = [].concat(style).flat(100).reduce((acc, cur) => (cur && Object.assign(acc, cur), acc), {}), styleOut = getStylesAtomic(styleFlat).reduce((acc, [key, value]) => (acc[key] = value, acc), {}), Element = tag, finalProps = {
|
|
38
|
+
...hooks.usePropsTransform?.(tag, props, stateRef, !1),
|
|
39
|
+
style: styleOut,
|
|
40
|
+
ref: composedRefs
|
|
41
|
+
};
|
|
42
|
+
return /* @__PURE__ */ jsx(Element, { ...finalProps });
|
|
43
|
+
})
|
|
44
|
+
);
|
|
45
|
+
return Component.acceptTagProp = !0, Component;
|
|
46
|
+
}
|
|
47
|
+
const AnimatedView = createTamaguiAnimatedComponent("div"), AnimatedText = createTamaguiAnimatedComponent("span"), onlyAnimateKeys = {
|
|
15
48
|
transform: !0,
|
|
16
49
|
opacity: !0,
|
|
17
50
|
height: !0,
|
|
@@ -43,10 +76,10 @@ const onlyAnimateKeys = {
|
|
|
43
76
|
};
|
|
44
77
|
function createAnimations(animations) {
|
|
45
78
|
return {
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
View: Animated.View,
|
|
49
|
-
Text: Animated.Text,
|
|
79
|
+
View: isWeb ? AnimatedView : Animated.View,
|
|
80
|
+
Text: isWeb ? AnimatedText : Animated.Text,
|
|
81
|
+
// View: Animated.View,
|
|
82
|
+
// Text: Animated.Text,
|
|
50
83
|
isReactNative: !0,
|
|
51
84
|
animations,
|
|
52
85
|
usePresence,
|
|
@@ -120,7 +153,7 @@ function createAnimations(animations) {
|
|
|
120
153
|
}
|
|
121
154
|
}
|
|
122
155
|
componentState.unmounted === "should-enter" && (dontAnimate = style);
|
|
123
|
-
const
|
|
156
|
+
const styles = animate, isExiting = !!presence?.[1], presenceContext = React.useContext(PresenceContext), usePresenceValue = presence || void 0;
|
|
124
157
|
let transition = isHydrating ? { type: "transition", duration: 0 } : animations[animationKey], hasClonedTransition = !1;
|
|
125
158
|
if (Array.isArray(props.animation)) {
|
|
126
159
|
const config = props.animation[1];
|
|
@@ -138,6 +171,7 @@ function createAnimations(animations) {
|
|
|
138
171
|
exit: isExiting ? styles : void 0
|
|
139
172
|
}, moti = useMotify(motiProps);
|
|
140
173
|
return process.env.NODE_ENV === "development" && props.debug && console.info("useMotify(", JSON.stringify(motiProps, null, 2) + ")", {
|
|
174
|
+
"componentState.unmounted": componentState.unmounted,
|
|
141
175
|
animationProps,
|
|
142
176
|
motiProps,
|
|
143
177
|
moti,
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/createAnimations.tsx"],
|
|
4
|
-
"mappings": "AAAA,
|
|
4
|
+
"mappings": "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",
|
|
5
5
|
"names": []
|
|
6
6
|
}
|
|
@@ -1,43 +1,79 @@
|
|
|
1
|
-
import React from "react";
|
|
2
1
|
import { PresenceContext, ResetPresence, usePresence } from "@tamagui/use-presence";
|
|
2
|
+
import { getStylesAtomic, hooks, isWeb, useComposedRefs } from "@tamagui/web";
|
|
3
3
|
import { useMotify } from "moti/author";
|
|
4
|
+
import React, { forwardRef, useRef } from "react";
|
|
4
5
|
import Animated, { cancelAnimation, runOnJS, useAnimatedReaction, useAnimatedStyle, useDerivedValue, useSharedValue, withSpring, withTiming } from "react-native-reanimated";
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
};
|
|
6
|
+
import { jsx } from "react/jsx-runtime";
|
|
7
|
+
function createTamaguiAnimatedComponent(defaultTag = "div") {
|
|
8
|
+
const Component = Animated.createAnimatedComponent(forwardRef((propsIn, ref) => {
|
|
9
|
+
const {
|
|
10
|
+
forwardedRef,
|
|
11
|
+
style,
|
|
12
|
+
disableClassName,
|
|
13
|
+
animation,
|
|
14
|
+
tag = defaultTag,
|
|
15
|
+
...props
|
|
16
|
+
} = propsIn,
|
|
17
|
+
hostRef = useRef(),
|
|
18
|
+
composedRefs = useComposedRefs(forwardedRef, ref, hostRef),
|
|
19
|
+
stateRef = useRef();
|
|
20
|
+
stateRef.current || (stateRef.current = {
|
|
21
|
+
get host() {
|
|
22
|
+
return hostRef.current;
|
|
23
|
+
}
|
|
24
|
+
});
|
|
25
|
+
const styleFlat = [].concat(style).flat(100).reduce((acc, cur) => (cur && Object.assign(acc, cur), acc), {}),
|
|
26
|
+
styleOut = getStylesAtomic(styleFlat).reduce((acc, [key, value]) => (acc[key] = value, acc), {}),
|
|
27
|
+
Element = tag,
|
|
28
|
+
finalProps = {
|
|
29
|
+
...hooks.usePropsTransform?.(tag, props, stateRef, !1),
|
|
30
|
+
style: styleOut,
|
|
31
|
+
ref: composedRefs
|
|
32
|
+
};
|
|
33
|
+
return /* @__PURE__ */jsx(Element, {
|
|
34
|
+
...finalProps
|
|
35
|
+
});
|
|
36
|
+
}));
|
|
37
|
+
return Component.acceptTagProp = !0, Component;
|
|
38
|
+
}
|
|
39
|
+
const AnimatedView = createTamaguiAnimatedComponent("div"),
|
|
40
|
+
AnimatedText = createTamaguiAnimatedComponent("span"),
|
|
41
|
+
onlyAnimateKeys = {
|
|
42
|
+
transform: !0,
|
|
43
|
+
opacity: !0,
|
|
44
|
+
height: !0,
|
|
45
|
+
width: !0,
|
|
46
|
+
backgroundColor: !0,
|
|
47
|
+
borderColor: !0,
|
|
48
|
+
borderLeftColor: !0,
|
|
49
|
+
borderRightColor: !0,
|
|
50
|
+
borderTopColor: !0,
|
|
51
|
+
borderBottomColor: !0,
|
|
52
|
+
borderRadius: !0,
|
|
53
|
+
borderTopLeftRadius: !0,
|
|
54
|
+
borderTopRightRadius: !0,
|
|
55
|
+
borderBottomLeftRadius: !0,
|
|
56
|
+
borderBottomRightRadius: !0,
|
|
57
|
+
borderLeftWidth: !0,
|
|
58
|
+
borderRightWidth: !0,
|
|
59
|
+
borderTopWidth: !0,
|
|
60
|
+
borderBottomWidth: !0,
|
|
61
|
+
color: !0,
|
|
62
|
+
left: !0,
|
|
63
|
+
right: !0,
|
|
64
|
+
top: !0,
|
|
65
|
+
bottom: !0,
|
|
66
|
+
fontSize: !0,
|
|
67
|
+
fontWeight: !0,
|
|
68
|
+
lineHeight: !0,
|
|
69
|
+
letterSpacing: !0
|
|
70
|
+
};
|
|
35
71
|
function createAnimations(animations) {
|
|
36
72
|
return {
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
View: Animated.View,
|
|
40
|
-
Text: Animated.Text,
|
|
73
|
+
View: isWeb ? AnimatedView : Animated.View,
|
|
74
|
+
Text: isWeb ? AnimatedText : Animated.Text,
|
|
75
|
+
// View: Animated.View,
|
|
76
|
+
// Text: Animated.Text,
|
|
41
77
|
isReactNative: !0,
|
|
42
78
|
animations,
|
|
43
79
|
usePresence,
|
|
@@ -115,8 +151,7 @@ function createAnimations(animations) {
|
|
|
115
151
|
}
|
|
116
152
|
}
|
|
117
153
|
componentState.unmounted === "should-enter" && (dontAnimate = style);
|
|
118
|
-
const
|
|
119
|
-
styles = React.useMemo(() => JSON.parse(animateStr), [animateStr]),
|
|
154
|
+
const styles = animate,
|
|
120
155
|
isExiting = !!presence?.[1],
|
|
121
156
|
presenceContext = React.useContext(PresenceContext),
|
|
122
157
|
usePresenceValue = presence || void 0;
|
|
@@ -143,6 +178,7 @@ function createAnimations(animations) {
|
|
|
143
178
|
},
|
|
144
179
|
moti = useMotify(motiProps);
|
|
145
180
|
return process.env.NODE_ENV === "development" && props.debug && console.info("useMotify(", JSON.stringify(motiProps, null, 2) + ")", {
|
|
181
|
+
"componentState.unmounted": componentState.unmounted,
|
|
146
182
|
animationProps,
|
|
147
183
|
motiProps,
|
|
148
184
|
moti,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["
|
|
1
|
+
{"version":3,"names":["PresenceContext","ResetPresence","usePresence","getStylesAtomic","hooks","isWeb","useComposedRefs","useMotify","React","forwardRef","useRef","Animated","cancelAnimation","runOnJS","useAnimatedReaction","useAnimatedStyle","useDerivedValue","useSharedValue","withSpring","withTiming","jsx","createTamaguiAnimatedComponent","defaultTag","Component","createAnimatedComponent","propsIn","ref","forwardedRef","style","disableClassName","animation","tag","props","hostRef","composedRefs","stateRef","current","host","styleFlat","concat","flat","reduce","acc","cur","Object","assign","styleOut","key","value","Element","finalProps","usePropsTransform","acceptTagProp","AnimatedView","AnimatedText","onlyAnimateKeys","transform","opacity","height","width","backgroundColor","borderColor","borderLeftColor","borderRightColor","borderTopColor","borderBottomColor","borderRadius","borderTopLeftRadius","borderTopRightRadius","borderBottomLeftRadius","borderBottomRightRadius","borderLeftWidth","borderRightWidth","borderTopWidth","borderBottomWidth","color","left","right","top","bottom","fontSize","fontWeight","lineHeight","letterSpacing","createAnimations","animations","View","Text","isReactNative","useAnimatedNumber","initial","sharedValue","useMemo","getInstance","getValue","setValue","next","config","type","onFinish","stop","useAnimatedNumberReaction","onValue","instance","prev","useAnimatedNumberStyle","val","getStyle","derivedValue","useAnimations","animationProps","presence","componentState","animationKey","Array","isArray","isHydrating","unmounted","disableAnimation","animate","dontAnimate","animateOnly","startsWith","includes","styles","isExiting","presenceContext","useContext","usePresenceValue","transition","duration","hasClonedTransition","motiProps","exit","moti","process","env","NODE_ENV","debug","console","info","JSON","stringify"],"sources":["../../src/createAnimations.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
@@ -1,8 +1,34 @@
|
|
|
1
|
-
import
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
2
|
import { PresenceContext, ResetPresence, usePresence } from "@tamagui/use-presence";
|
|
3
|
+
import { getStylesAtomic, hooks, isWeb, useComposedRefs } from "@tamagui/web";
|
|
3
4
|
import { useMotify } from "moti/author";
|
|
5
|
+
import React, { forwardRef, useRef } from "react";
|
|
4
6
|
import Animated, { cancelAnimation, runOnJS, useAnimatedReaction, useAnimatedStyle, useDerivedValue, useSharedValue, withSpring, withTiming } from "react-native-reanimated";
|
|
5
|
-
|
|
7
|
+
function createTamaguiAnimatedComponent() {
|
|
8
|
+
var defaultTag = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : "div", Component = Animated.createAnimatedComponent(/* @__PURE__ */ forwardRef(function(propsIn, ref) {
|
|
9
|
+
var _hooks_usePropsTransform, { forwardedRef, style, disableClassName, animation, tag = defaultTag, ...props } = propsIn, hostRef = useRef(), composedRefs = useComposedRefs(forwardedRef, ref, hostRef), stateRef = useRef();
|
|
10
|
+
stateRef.current || (stateRef.current = {
|
|
11
|
+
get host() {
|
|
12
|
+
return hostRef.current;
|
|
13
|
+
}
|
|
14
|
+
});
|
|
15
|
+
var styleFlat = [].concat(style).flat(100).reduce(function(acc, cur) {
|
|
16
|
+
return cur && Object.assign(acc, cur), acc;
|
|
17
|
+
}, {}), styleOut = getStylesAtomic(styleFlat).reduce(function(acc, param) {
|
|
18
|
+
var [key, value] = param;
|
|
19
|
+
return acc[key] = value, acc;
|
|
20
|
+
}, {}), Element = tag, transformedProps = (_hooks_usePropsTransform = hooks.usePropsTransform) === null || _hooks_usePropsTransform === void 0 ? void 0 : _hooks_usePropsTransform.call(hooks, tag, props, stateRef, !1), finalProps = {
|
|
21
|
+
...transformedProps,
|
|
22
|
+
style: styleOut,
|
|
23
|
+
ref: composedRefs
|
|
24
|
+
};
|
|
25
|
+
return /* @__PURE__ */ _jsx(Element, {
|
|
26
|
+
...finalProps
|
|
27
|
+
});
|
|
28
|
+
}));
|
|
29
|
+
return Component.acceptTagProp = !0, Component;
|
|
30
|
+
}
|
|
31
|
+
var AnimatedView = createTamaguiAnimatedComponent("div"), AnimatedText = createTamaguiAnimatedComponent("span"), onlyAnimateKeys = {
|
|
6
32
|
transform: !0,
|
|
7
33
|
opacity: !0,
|
|
8
34
|
height: !0,
|
|
@@ -34,10 +60,10 @@ var onlyAnimateKeys = {
|
|
|
34
60
|
};
|
|
35
61
|
function createAnimations(animations) {
|
|
36
62
|
return {
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
View: Animated.View,
|
|
40
|
-
Text: Animated.Text,
|
|
63
|
+
View: isWeb ? AnimatedView : Animated.View,
|
|
64
|
+
Text: isWeb ? AnimatedText : Animated.Text,
|
|
65
|
+
// View: Animated.View,
|
|
66
|
+
// Text: Animated.Text,
|
|
41
67
|
isReactNative: !0,
|
|
42
68
|
animations,
|
|
43
69
|
usePresence,
|
|
@@ -131,11 +157,14 @@ function createAnimations(animations) {
|
|
|
131
157
|
}
|
|
132
158
|
}
|
|
133
159
|
componentState.unmounted === "should-enter" && (dontAnimate = style);
|
|
134
|
-
var
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
160
|
+
var styles = function() {
|
|
161
|
+
var animateStr = JSON.stringify(animate);
|
|
162
|
+
return React.useMemo(function() {
|
|
163
|
+
return JSON.parse(animateStr);
|
|
164
|
+
}, [
|
|
165
|
+
animateStr
|
|
166
|
+
]);
|
|
167
|
+
}(), isExiting = !!presence?.[1], presenceContext = React.useContext(PresenceContext), usePresenceValue = presence || void 0, transition = isHydrating ? {
|
|
139
168
|
type: "transition",
|
|
140
169
|
duration: 0
|
|
141
170
|
} : animations[animationKey], hasClonedTransition = !1;
|
|
@@ -157,6 +186,7 @@ function createAnimations(animations) {
|
|
|
157
186
|
exit: isExiting ? styles : void 0
|
|
158
187
|
}, moti = useMotify(motiProps);
|
|
159
188
|
return process.env.NODE_ENV === "development" && props.debug && console.info("useMotify(", JSON.stringify(motiProps, null, 2) + ")", {
|
|
189
|
+
"componentState.unmounted": componentState.unmounted,
|
|
160
190
|
animationProps,
|
|
161
191
|
motiProps,
|
|
162
192
|
moti,
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/Users/n8/tamagui/code/core/animations-moti/src/createAnimations.tsx"],
|
|
4
|
-
"mappings": "AAAA,
|
|
5
|
-
"names": ["
|
|
4
|
+
"mappings": "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",
|
|
5
|
+
"names": ["PresenceContext", "ResetPresence", "usePresence", "getStylesAtomic", "hooks", "isWeb", "useComposedRefs", "useMotify", "React", "forwardRef", "useRef", "Animated", "cancelAnimation", "runOnJS", "useAnimatedReaction", "useAnimatedStyle", "useDerivedValue", "useSharedValue", "withSpring", "withTiming", "createTamaguiAnimatedComponent", "defaultTag", "Component", "createAnimatedComponent", "propsIn", "ref", "forwardedRef", "style", "disableClassName", "animation", "tag", "props", "hostRef", "composedRefs", "stateRef", "current", "host", "styleFlat", "concat", "flat", "reduce", "acc", "cur", "Object", "assign", "styleOut", "key", "value", "Element", "transformedProps", "usePropsTransform", "finalProps", "AnimatedView", "AnimatedText", "onlyAnimateKeys", "transform", "opacity", "height", "width", "backgroundColor", "borderColor", "borderLeftColor", "borderRightColor", "borderTopColor", "borderBottomColor", "borderRadius", "borderTopLeftRadius", "borderTopRightRadius", "borderBottomLeftRadius", "borderBottomRightRadius", "borderLeftWidth", "borderRightWidth", "borderTopWidth", "borderBottomWidth", "color", "left", "right", "top", "bottom", "fontSize", "fontWeight", "lineHeight", "letterSpacing", "createAnimations", "animations", "View", "Text", "isReactNative", "useAnimatedNumber", "initial", "sharedValue", "useMemo", "getInstance", "getValue", "setValue", "next", "config", "type", "onFinish", "undefined", "stop", "useAnimatedNumberReaction", "onValue", "instance", "prev", "useAnimatedNumberStyle", "val", "getStyle", "derivedValue", "useAnimations", "animationProps", "presence", "componentState", "animationKey", "Array", "isArray", "isHydrating", "unmounted", "disableAnimation", "animate", "dontAnimate", "animateOnly", "startsWith", "includes", "styles", "animateStr", "JSON", "stringify", "parse", "isExiting", "Boolean", "presenceContext", "useContext", "usePresenceValue", "transition", "duration", "hasClonedTransition", "motiProps", "exit", "moti", "process", "env", "NODE_ENV", "console", "info"]
|
|
6
6
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@tamagui/animations-moti",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.116.1",
|
|
4
4
|
"source": "src/index.ts",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"types": "./types/index.d.ts",
|
|
@@ -15,12 +15,12 @@
|
|
|
15
15
|
"dist"
|
|
16
16
|
],
|
|
17
17
|
"dependencies": {
|
|
18
|
-
"@tamagui/use-presence": "1.
|
|
19
|
-
"@tamagui/web": "1.
|
|
18
|
+
"@tamagui/use-presence": "1.116.1",
|
|
19
|
+
"@tamagui/web": "1.116.1",
|
|
20
20
|
"moti": "^0.29.0"
|
|
21
21
|
},
|
|
22
22
|
"devDependencies": {
|
|
23
|
-
"@tamagui/build": "1.
|
|
23
|
+
"@tamagui/build": "1.116.1",
|
|
24
24
|
"react": "^18.2.0 || ^19.0.0",
|
|
25
25
|
"react-native-reanimated": "~3.11.0"
|
|
26
26
|
},
|
package/src/createAnimations.tsx
CHANGED
|
@@ -1,9 +1,16 @@
|
|
|
1
|
-
import React from 'react'
|
|
2
1
|
import { PresenceContext, ResetPresence, usePresence } from '@tamagui/use-presence'
|
|
3
|
-
import
|
|
2
|
+
import {
|
|
3
|
+
getStylesAtomic,
|
|
4
|
+
hooks,
|
|
5
|
+
isWeb,
|
|
6
|
+
useComposedRefs,
|
|
7
|
+
type AnimationDriver,
|
|
8
|
+
type UniversalAnimatedNumber,
|
|
9
|
+
} from '@tamagui/web'
|
|
4
10
|
import type { TransitionConfig } from 'moti'
|
|
5
11
|
import { useMotify } from 'moti/author'
|
|
6
12
|
import type { CSSProperties } from 'react'
|
|
13
|
+
import React, { forwardRef, useRef } from 'react'
|
|
7
14
|
import type { TextStyle } from 'react-native'
|
|
8
15
|
import type { SharedValue } from 'react-native-reanimated'
|
|
9
16
|
import Animated, {
|
|
@@ -19,31 +26,71 @@ import Animated, {
|
|
|
19
26
|
|
|
20
27
|
type ReanimatedAnimatedNumber = SharedValue<number>
|
|
21
28
|
|
|
22
|
-
//
|
|
23
|
-
//
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
29
|
+
// this is our own custom reanimated animated component so we can allow data- attributes, className etc
|
|
30
|
+
// this should ultimately be merged with react-native-web-lite
|
|
31
|
+
|
|
32
|
+
function createTamaguiAnimatedComponent(defaultTag = 'div') {
|
|
33
|
+
const Component = Animated.createAnimatedComponent(
|
|
34
|
+
forwardRef((propsIn: any, ref) => {
|
|
35
|
+
const {
|
|
36
|
+
forwardedRef,
|
|
37
|
+
style,
|
|
38
|
+
disableClassName,
|
|
39
|
+
animation,
|
|
40
|
+
tag = defaultTag,
|
|
41
|
+
...props
|
|
42
|
+
} = propsIn
|
|
43
|
+
const hostRef = useRef()
|
|
44
|
+
const composedRefs = useComposedRefs(forwardedRef, ref, hostRef)
|
|
45
|
+
const stateRef = useRef<any>()
|
|
46
|
+
if (!stateRef.current) {
|
|
47
|
+
stateRef.current = {
|
|
48
|
+
get host() {
|
|
49
|
+
return hostRef.current
|
|
50
|
+
},
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
const styleFlat = []
|
|
55
|
+
.concat(style)
|
|
56
|
+
.flat(100)
|
|
57
|
+
.reduce((acc, cur) => {
|
|
58
|
+
if (cur) {
|
|
59
|
+
Object.assign(acc, cur)
|
|
60
|
+
}
|
|
61
|
+
return acc
|
|
62
|
+
}, {})
|
|
63
|
+
|
|
64
|
+
const styleOut = getStylesAtomic(styleFlat).reduce((acc, [key, value]) => {
|
|
65
|
+
acc[key] = value
|
|
66
|
+
return acc
|
|
67
|
+
}, {})
|
|
68
|
+
|
|
69
|
+
const Element = tag
|
|
70
|
+
const transformedProps = hooks.usePropsTransform?.(tag, props, stateRef, false)
|
|
71
|
+
const finalProps = {
|
|
72
|
+
...transformedProps,
|
|
73
|
+
style: styleOut,
|
|
74
|
+
ref: composedRefs,
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
return <Element {...finalProps} />
|
|
78
|
+
})
|
|
79
|
+
)
|
|
80
|
+
Component['acceptTagProp'] = true
|
|
81
|
+
return Component
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
const AnimatedView = createTamaguiAnimatedComponent('div')
|
|
85
|
+
const AnimatedText = createTamaguiAnimatedComponent('span')
|
|
86
|
+
|
|
87
|
+
// const AnimatedView = styled(View, {
|
|
88
|
+
// disableClassName: true,
|
|
89
|
+
// })
|
|
90
|
+
|
|
91
|
+
// const AnimatedText = styled(Text, {
|
|
92
|
+
// disableClassName: true,
|
|
93
|
+
// })
|
|
47
94
|
|
|
48
95
|
const onlyAnimateKeys: { [key in keyof TextStyle | keyof CSSProperties]?: boolean } = {
|
|
49
96
|
transform: true,
|
|
@@ -80,10 +127,10 @@ export function createAnimations<A extends Record<string, TransitionConfig>>(
|
|
|
80
127
|
animations: A
|
|
81
128
|
): AnimationDriver<A> {
|
|
82
129
|
return {
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
View: Animated.View,
|
|
86
|
-
Text: Animated.Text,
|
|
130
|
+
View: isWeb ? AnimatedView : Animated.View,
|
|
131
|
+
Text: isWeb ? AnimatedText : Animated.Text,
|
|
132
|
+
// View: Animated.View,
|
|
133
|
+
// Text: Animated.Text,
|
|
87
134
|
isReactNative: true,
|
|
88
135
|
animations,
|
|
89
136
|
usePresence,
|
|
@@ -214,8 +261,14 @@ export function createAnimations<A extends Record<string, TransitionConfig>>(
|
|
|
214
261
|
|
|
215
262
|
// without this, the driver breaks on native
|
|
216
263
|
// stringifying -> parsing fixes that
|
|
217
|
-
const
|
|
218
|
-
|
|
264
|
+
const styles = (() => {
|
|
265
|
+
if (process.env.TAMAGUI_TARGET === 'native') {
|
|
266
|
+
const animateStr = JSON.stringify(animate)
|
|
267
|
+
return React.useMemo(() => JSON.parse(animateStr), [animateStr])
|
|
268
|
+
} else {
|
|
269
|
+
return animate
|
|
270
|
+
}
|
|
271
|
+
})()
|
|
219
272
|
|
|
220
273
|
const isExiting = Boolean(presence?.[1])
|
|
221
274
|
const presenceContext = React.useContext(PresenceContext)
|
|
@@ -265,6 +318,7 @@ export function createAnimations<A extends Record<string, TransitionConfig>>(
|
|
|
265
318
|
|
|
266
319
|
if (process.env.NODE_ENV === 'development' && props['debug']) {
|
|
267
320
|
console.info(`useMotify(`, JSON.stringify(motiProps, null, 2) + ')', {
|
|
321
|
+
'componentState.unmounted': componentState.unmounted,
|
|
268
322
|
animationProps,
|
|
269
323
|
motiProps,
|
|
270
324
|
moti,
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type
|
|
1
|
+
import { type AnimationDriver } from '@tamagui/web';
|
|
2
2
|
import type { TransitionConfig } from 'moti';
|
|
3
3
|
export declare function createAnimations<A extends Record<string, TransitionConfig>>(animations: A): AnimationDriver<A>;
|
|
4
4
|
//# sourceMappingURL=createAnimations.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createAnimations.d.ts","sourceRoot":"","sources":["../src/createAnimations.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"createAnimations.d.ts","sourceRoot":"","sources":["../src/createAnimations.tsx"],"names":[],"mappings":"AACA,OAAO,EAKL,KAAK,eAAe,EAErB,MAAM,cAAc,CAAA;AACrB,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,MAAM,CAAA;AAoH5C,wBAAgB,gBAAgB,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,EACzE,UAAU,EAAE,CAAC,GACZ,eAAe,CAAC,CAAC,CAAC,CA8MpB"}
|