@tamagui/animations-moti 2.0.0-rc.9 → 2.0.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.cjs +224 -172
- package/dist/cjs/createAnimations.native.js +227 -189
- 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/cjs/polyfill.cjs +6 -2
- package/dist/cjs/polyfill.native.js +6 -2
- package/dist/cjs/polyfill.native.js.map +1 -1
- package/dist/esm/createAnimations.mjs +194 -144
- package/dist/esm/createAnimations.mjs.map +1 -1
- package/dist/esm/createAnimations.native.js +197 -161
- package/dist/esm/createAnimations.native.js.map +1 -1
- package/dist/esm/index.js +1 -2
- package/dist/esm/index.js.map +1 -6
- package/dist/esm/index.mjs +0 -1
- package/dist/esm/index.mjs.map +1 -1
- package/dist/esm/index.native.js +0 -1
- package/dist/esm/index.native.js.map +1 -1
- package/dist/esm/polyfill.mjs +6 -2
- package/dist/esm/polyfill.mjs.map +1 -1
- package/dist/esm/polyfill.native.js +6 -2
- package/dist/esm/polyfill.native.js.map +1 -1
- package/package.json +9 -9
- package/src/createAnimations.tsx +2 -2
- package/types/createAnimations.d.ts.map +3 -3
- package/types/index.d.ts.map +2 -2
- package/types/polyfill.d.ts.map +2 -2
- package/dist/cjs/createAnimations.js +0 -220
- package/dist/cjs/createAnimations.js.map +0 -6
- package/dist/cjs/index.js +0 -16
- package/dist/cjs/index.js.map +0 -6
- package/dist/cjs/polyfill.js +0 -3
- package/dist/cjs/polyfill.js.map +0 -6
- package/dist/esm/createAnimations.js +0 -218
- package/dist/esm/createAnimations.js.map +0 -6
- package/dist/esm/polyfill.js +0 -3
- package/dist/esm/polyfill.js.map +0 -6
package/dist/cjs/polyfill.cjs
CHANGED
|
@@ -1,2 +1,6 @@
|
|
|
1
|
-
typeof requestAnimationFrame
|
|
2
|
-
|
|
1
|
+
if (typeof requestAnimationFrame === "undefined") {
|
|
2
|
+
globalThis["requestAnimationFrame"] = setTimeout;
|
|
3
|
+
}
|
|
4
|
+
if (typeof global === "undefined") {
|
|
5
|
+
globalThis["global"] = globalThis;
|
|
6
|
+
}
|
|
@@ -1,5 +1,9 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
typeof requestAnimationFrame
|
|
4
|
-
|
|
3
|
+
if (typeof requestAnimationFrame === "undefined") {
|
|
4
|
+
globalThis["requestAnimationFrame"] = setTimeout;
|
|
5
|
+
}
|
|
6
|
+
if (typeof global === "undefined") {
|
|
7
|
+
globalThis["global"] = globalThis;
|
|
8
|
+
}
|
|
5
9
|
//# sourceMappingURL=polyfill.native.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["requestAnimationFrame","globalThis","setTimeout"],"sources":["../../src/polyfill.ts"],"sourcesContent":[null],"mappings":"
|
|
1
|
+
{"version":3,"names":["requestAnimationFrame","globalThis","setTimeout","global"],"sources":["../../src/polyfill.ts"],"sourcesContent":[null],"mappings":"AACA,YAAW;;AACT,WAAAA,qBAAW,KAAuB,WAAI;EACxCC,UAAA,4BAAAC,UAAA;AAGA;AACE,WAAAC,MAAW,KAAQ,WAAI;EACzBF,UAAA,aAAAA,UAAA","ignoreList":[]}
|
|
@@ -4,85 +4,96 @@ import { useMotify } from "moti/author";
|
|
|
4
4
|
import React, { forwardRef, useMemo, useRef } from "react";
|
|
5
5
|
import Animated_, { cancelAnimation, runOnJS, useAnimatedReaction, useAnimatedStyle, useDerivedValue, useSharedValue, withSpring, withTiming } from "react-native-reanimated";
|
|
6
6
|
import { jsx } from "react/jsx-runtime";
|
|
7
|
-
const resolveDynamicValue = (value, isDark) =>
|
|
8
|
-
|
|
9
|
-
const
|
|
10
|
-
return
|
|
11
|
-
}
|
|
12
|
-
|
|
7
|
+
const resolveDynamicValue = (value, isDark) => {
|
|
8
|
+
if (value && typeof value === "object" && "dynamic" in value) {
|
|
9
|
+
const dynamicValue = isDark ? value.dynamic.dark : value.dynamic.light;
|
|
10
|
+
return dynamicValue;
|
|
11
|
+
}
|
|
12
|
+
return value;
|
|
13
|
+
};
|
|
14
|
+
const safeESModule = a => {
|
|
15
|
+
const b = a;
|
|
16
|
+
const out = b.__esModule || b[Symbol.toStringTag] === "Module" ? b.default : b;
|
|
17
|
+
return out || a;
|
|
18
|
+
};
|
|
19
|
+
const Animated = safeESModule(Animated_);
|
|
13
20
|
function createTamaguiAnimatedComponent(defaultTag = "div") {
|
|
14
|
-
const isText = defaultTag === "span"
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
21
|
+
const isText = defaultTag === "span";
|
|
22
|
+
const Component = Animated.createAnimatedComponent(forwardRef((propsIn, ref) => {
|
|
23
|
+
const {
|
|
24
|
+
forwardedRef,
|
|
25
|
+
animation,
|
|
26
|
+
render = defaultTag,
|
|
27
|
+
...propsRest
|
|
28
|
+
} = propsIn;
|
|
29
|
+
const hostRef = useRef(null);
|
|
30
|
+
const composedRefs = useComposedRefs(forwardedRef, ref, hostRef);
|
|
31
|
+
const stateRef = useRef(null);
|
|
32
|
+
if (!stateRef.current) {
|
|
33
|
+
stateRef.current = {
|
|
26
34
|
get host() {
|
|
27
35
|
return hostRef.current;
|
|
28
36
|
}
|
|
29
|
-
}
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
37
|
+
};
|
|
38
|
+
}
|
|
39
|
+
const [_, state] = useThemeWithState({});
|
|
40
|
+
const result = getSplitStyles(propsRest, isText ? Text.staticConfig : View.staticConfig, state?.theme, state?.name, {
|
|
41
|
+
unmounted: false
|
|
42
|
+
}, {
|
|
43
|
+
isAnimated: false,
|
|
44
|
+
noClass: true
|
|
45
|
+
});
|
|
46
|
+
const props = result?.viewProps || {};
|
|
47
|
+
const Element = render;
|
|
48
|
+
const transformedProps = hooks.usePropsTransform?.(render, props, stateRef, false);
|
|
49
|
+
return /* @__PURE__ */jsx(Element, {
|
|
50
|
+
...transformedProps,
|
|
51
|
+
ref: composedRefs
|
|
52
|
+
});
|
|
53
|
+
}));
|
|
54
|
+
Component["acceptRenderProp"] = true;
|
|
55
|
+
return Component;
|
|
45
56
|
}
|
|
46
|
-
const AnimatedView = createTamaguiAnimatedComponent("div")
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
57
|
+
const AnimatedView = createTamaguiAnimatedComponent("div");
|
|
58
|
+
const AnimatedText = createTamaguiAnimatedComponent("span");
|
|
59
|
+
const onlyAnimateKeys = {
|
|
60
|
+
transform: true,
|
|
61
|
+
opacity: true,
|
|
62
|
+
height: true,
|
|
63
|
+
width: true,
|
|
64
|
+
backgroundColor: true,
|
|
65
|
+
borderColor: true,
|
|
66
|
+
borderLeftColor: true,
|
|
67
|
+
borderRightColor: true,
|
|
68
|
+
borderTopColor: true,
|
|
69
|
+
borderBottomColor: true,
|
|
70
|
+
borderRadius: true,
|
|
71
|
+
borderTopLeftRadius: true,
|
|
72
|
+
borderTopRightRadius: true,
|
|
73
|
+
borderBottomLeftRadius: true,
|
|
74
|
+
borderBottomRightRadius: true,
|
|
75
|
+
borderLeftWidth: true,
|
|
76
|
+
borderRightWidth: true,
|
|
77
|
+
borderTopWidth: true,
|
|
78
|
+
borderBottomWidth: true,
|
|
79
|
+
color: true,
|
|
80
|
+
left: true,
|
|
81
|
+
right: true,
|
|
82
|
+
top: true,
|
|
83
|
+
bottom: true,
|
|
84
|
+
fontSize: true,
|
|
85
|
+
fontWeight: true,
|
|
86
|
+
lineHeight: true,
|
|
87
|
+
letterSpacing: true
|
|
88
|
+
};
|
|
78
89
|
function createAnimations(animations) {
|
|
79
90
|
return {
|
|
91
|
+
needsCustomComponent: true,
|
|
80
92
|
View: isWeb ? AnimatedView : Animated.View,
|
|
81
93
|
Text: isWeb ? AnimatedText : Animated.Text,
|
|
82
94
|
// View: Animated.View,
|
|
83
95
|
// Text: Animated.Text,
|
|
84
|
-
isReactNative:
|
|
85
|
-
supportsCSS: !1,
|
|
96
|
+
isReactNative: true,
|
|
86
97
|
inputStyle: "value",
|
|
87
98
|
outputStyle: "inline",
|
|
88
99
|
animations,
|
|
@@ -106,15 +117,22 @@ function createAnimations(animations) {
|
|
|
106
117
|
}, onFinish) {
|
|
107
118
|
"worklet";
|
|
108
119
|
|
|
109
|
-
|
|
110
|
-
|
|
120
|
+
if (config.type === "direct") {
|
|
121
|
+
sharedValue.value = next;
|
|
122
|
+
onFinish?.();
|
|
123
|
+
} else if (config.type === "spring") {
|
|
124
|
+
sharedValue.value = withSpring(next, config, onFinish ? () => {
|
|
125
|
+
"worklet";
|
|
111
126
|
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
127
|
+
runOnJS(onFinish)();
|
|
128
|
+
} : void 0);
|
|
129
|
+
} else {
|
|
130
|
+
sharedValue.value = withTiming(next, config, onFinish ? () => {
|
|
131
|
+
"worklet";
|
|
115
132
|
|
|
116
|
-
|
|
117
|
-
|
|
133
|
+
runOnJS(onFinish)();
|
|
134
|
+
} : void 0);
|
|
135
|
+
}
|
|
118
136
|
},
|
|
119
137
|
stop() {
|
|
120
138
|
"worklet";
|
|
@@ -127,8 +145,12 @@ function createAnimations(animations) {
|
|
|
127
145
|
value
|
|
128
146
|
}, onValue) {
|
|
129
147
|
const instance = value.getInstance();
|
|
130
|
-
return useAnimatedReaction(() =>
|
|
131
|
-
|
|
148
|
+
return useAnimatedReaction(() => {
|
|
149
|
+
return instance.value;
|
|
150
|
+
}, (next, prev) => {
|
|
151
|
+
if (prev !== next) {
|
|
152
|
+
runOnJS(onValue)(next);
|
|
153
|
+
}
|
|
132
154
|
},
|
|
133
155
|
// dependency array is very important here
|
|
134
156
|
[onValue, instance]);
|
|
@@ -137,82 +159,110 @@ function createAnimations(animations) {
|
|
|
137
159
|
* `getStyle` must be a worklet
|
|
138
160
|
*/
|
|
139
161
|
useAnimatedNumberStyle(val, getStyle) {
|
|
140
|
-
const instance = val.getInstance()
|
|
141
|
-
|
|
142
|
-
|
|
162
|
+
const instance = val.getInstance();
|
|
163
|
+
const derivedValue = useDerivedValue(() => {
|
|
164
|
+
return instance.value;
|
|
165
|
+
}, [instance, getStyle]);
|
|
166
|
+
return useAnimatedStyle(() => {
|
|
167
|
+
return getStyle(derivedValue.value);
|
|
168
|
+
}, [val, getStyle, derivedValue, instance]);
|
|
143
169
|
},
|
|
144
170
|
useAnimations: animationProps => {
|
|
145
171
|
const {
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
value
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
172
|
+
props,
|
|
173
|
+
presence,
|
|
174
|
+
style,
|
|
175
|
+
componentState
|
|
176
|
+
} = animationProps;
|
|
177
|
+
const animationKey = Array.isArray(props.transition) ? props.transition[0] : props.transition;
|
|
178
|
+
const isHydrating = componentState.unmounted === true;
|
|
179
|
+
const disableAnimation = isHydrating || !animationKey;
|
|
180
|
+
const presenceContext = React.useContext(PresenceContext);
|
|
181
|
+
const [, themeState] = useThemeWithState({});
|
|
182
|
+
const isDark = themeState?.scheme === "dark" || themeState?.name?.startsWith("dark");
|
|
183
|
+
const {
|
|
184
|
+
dontAnimate,
|
|
185
|
+
motiProps
|
|
186
|
+
} = useMemo(() => {
|
|
187
|
+
let animate = {};
|
|
188
|
+
let dontAnimate2 = {};
|
|
189
|
+
if (disableAnimation) {
|
|
190
|
+
for (const key in style) {
|
|
191
|
+
const rawValue = style[key];
|
|
192
|
+
const value = resolveDynamicValue(rawValue, isDark);
|
|
193
|
+
if (value === void 0) continue;
|
|
194
|
+
dontAnimate2[key] = value;
|
|
195
|
+
}
|
|
196
|
+
} else {
|
|
197
|
+
const animateOnly = props.animateOnly;
|
|
198
|
+
for (const key in style) {
|
|
199
|
+
const rawValue = style[key];
|
|
200
|
+
const value = resolveDynamicValue(rawValue, isDark);
|
|
201
|
+
if (value === void 0) continue;
|
|
202
|
+
if (!onlyAnimateKeys[key] || value === "auto" || typeof value === "string" && value.startsWith("calc") || animateOnly && !animateOnly.includes(key)) {
|
|
203
|
+
dontAnimate2[key] = value;
|
|
204
|
+
} else {
|
|
205
|
+
animate[key] = value;
|
|
173
206
|
}
|
|
174
207
|
}
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
208
|
+
}
|
|
209
|
+
if (componentState.unmounted === "should-enter") {
|
|
210
|
+
for (const key in style) {
|
|
211
|
+
const rawValue = style[key];
|
|
212
|
+
const value = resolveDynamicValue(rawValue, isDark);
|
|
213
|
+
if (value === void 0) continue;
|
|
214
|
+
dontAnimate2[key] = value;
|
|
179
215
|
}
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
216
|
+
}
|
|
217
|
+
const styles = animate;
|
|
218
|
+
const isExiting = Boolean(presence?.[1]);
|
|
219
|
+
const usePresenceValue = presence || void 0;
|
|
220
|
+
let transition = isHydrating ? {
|
|
221
|
+
type: "transition",
|
|
222
|
+
duration: 0
|
|
223
|
+
} : animations[animationKey];
|
|
224
|
+
let hasClonedTransition = false;
|
|
225
|
+
if (Array.isArray(props.transition)) {
|
|
226
|
+
const config = props.transition[1];
|
|
227
|
+
if (config && typeof config === "object") {
|
|
228
|
+
for (const key in config) {
|
|
191
229
|
const val = config[key];
|
|
192
|
-
|
|
230
|
+
if (!hasClonedTransition) {
|
|
231
|
+
transition = Object.assign({}, transition);
|
|
232
|
+
hasClonedTransition = true;
|
|
233
|
+
}
|
|
234
|
+
if (typeof val === "string") {
|
|
235
|
+
transition[key] = animations[val];
|
|
236
|
+
} else {
|
|
237
|
+
transition[key] = val;
|
|
238
|
+
}
|
|
193
239
|
}
|
|
194
240
|
}
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
}
|
|
207
|
-
}
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
241
|
+
}
|
|
242
|
+
return {
|
|
243
|
+
dontAnimate: dontAnimate2,
|
|
244
|
+
motiProps: {
|
|
245
|
+
animate: isExiting || componentState.unmounted === true ? {} : styles,
|
|
246
|
+
transition: componentState.unmounted ? {
|
|
247
|
+
duration: 0
|
|
248
|
+
} : transition,
|
|
249
|
+
usePresenceValue,
|
|
250
|
+
presenceContext,
|
|
251
|
+
exit: isExiting ? styles : void 0
|
|
252
|
+
}
|
|
253
|
+
};
|
|
254
|
+
}, [presenceContext, presence, animationKey, componentState.unmounted, JSON.stringify(style), presenceContext, isDark]);
|
|
255
|
+
const moti = useMotify(motiProps);
|
|
256
|
+
if (process.env.NODE_ENV === "development" && props["debug"] && props["debug"] !== "profile") {
|
|
257
|
+
console.info(`useMotify(`, JSON.stringify(motiProps, null, 2) + ")", {
|
|
258
|
+
"componentState.unmounted": componentState.unmounted,
|
|
259
|
+
animationProps,
|
|
260
|
+
motiProps,
|
|
261
|
+
moti,
|
|
262
|
+
style: [dontAnimate, moti.style]
|
|
263
|
+
});
|
|
264
|
+
}
|
|
265
|
+
return {
|
|
216
266
|
style: [dontAnimate, moti.style]
|
|
217
267
|
};
|
|
218
268
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["PresenceContext","ResetPresence","usePresence","getSplitStyles","hooks","isWeb","Text","useComposedRefs","useThemeWithState","View","useMotify","React","forwardRef","useMemo","useRef","Animated_","cancelAnimation","runOnJS","useAnimatedReaction","useAnimatedStyle","useDerivedValue","useSharedValue","withSpring","withTiming","jsx","resolveDynamicValue","value","isDark","dynamic","dark","light","safeESModule","a","b","__esModule","Symbol","toStringTag","default","Animated","createTamaguiAnimatedComponent","defaultTag","isText","Component","createAnimatedComponent","propsIn","ref","forwardedRef","animation","render","propsRest","hostRef","composedRefs","stateRef","current","host","_","state","
|
|
1
|
+
{"version":3,"names":["PresenceContext","ResetPresence","usePresence","getSplitStyles","hooks","isWeb","Text","useComposedRefs","useThemeWithState","View","useMotify","React","forwardRef","useMemo","useRef","Animated_","cancelAnimation","runOnJS","useAnimatedReaction","useAnimatedStyle","useDerivedValue","useSharedValue","withSpring","withTiming","jsx","resolveDynamicValue","value","isDark","dynamicValue","dynamic","dark","light","safeESModule","a","b","out","__esModule","Symbol","toStringTag","default","Animated","createTamaguiAnimatedComponent","defaultTag","isText","Component","createAnimatedComponent","propsIn","ref","forwardedRef","animation","render","propsRest","hostRef","composedRefs","stateRef","current","host","_","state","result","staticConfig","theme","name","unmounted","isAnimated","noClass","props","viewProps","Element","transformedProps","usePropsTransform","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","needsCustomComponent","isReactNative","inputStyle","outputStyle","useAnimatedNumber","initial","sharedValue","getInstance","getValue","setValue","next","config","type","onFinish","stop","useAnimatedNumberReaction","onValue","instance","prev","useAnimatedNumberStyle","val","getStyle","derivedValue","useAnimations","animationProps","presence","style","componentState","animationKey","Array","isArray","transition","isHydrating","disableAnimation","presenceContext","useContext","themeState","scheme","startsWith","dontAnimate","motiProps","animate","dontAnimate2","key","rawValue","animateOnly","includes","styles","isExiting","Boolean","usePresenceValue","duration","hasClonedTransition","Object","assign","exit","JSON","stringify","moti","process","env","NODE_ENV","console","info"],"sources":["../../src/createAnimations.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|