@tamagui/animations-moti 1.46.0 → 1.46.2
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.
|
@@ -121,11 +121,15 @@ function createAnimations(animations) {
|
|
|
121
121
|
const animateStr = JSON.stringify(animate);
|
|
122
122
|
const styles = (0, import_react.useMemo)(() => JSON.parse(animateStr), [animateStr]);
|
|
123
123
|
const isExiting = Boolean(presence == null ? void 0 : presence[1]);
|
|
124
|
+
const sendExitComplete = presence == null ? void 0 : presence[1];
|
|
124
125
|
const transition = animations[animationKey];
|
|
125
126
|
const motiProps = {
|
|
126
127
|
animate: isExiting ? void 0 : styles,
|
|
127
128
|
transition,
|
|
128
|
-
onDidAnimate
|
|
129
|
+
onDidAnimate() {
|
|
130
|
+
onDidAnimate == null ? void 0 : onDidAnimate();
|
|
131
|
+
sendExitComplete == null ? void 0 : sendExitComplete();
|
|
132
|
+
},
|
|
129
133
|
usePresenceValue: presence,
|
|
130
134
|
presenceContext: (0, import_react.useContext)(import_use_presence.PresenceContext),
|
|
131
135
|
exit: isExiting ? styles : void 0
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/createAnimations.tsx"],
|
|
4
|
-
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,0BAA6C;AAE7C,kBAA0C;AAC1C,
|
|
4
|
+
"mappings": "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",
|
|
5
5
|
"names": ["Animated"]
|
|
6
6
|
}
|
|
@@ -97,11 +97,15 @@ function createAnimations(animations) {
|
|
|
97
97
|
const animateStr = JSON.stringify(animate);
|
|
98
98
|
const styles = useMemo(() => JSON.parse(animateStr), [animateStr]);
|
|
99
99
|
const isExiting = Boolean(presence == null ? void 0 : presence[1]);
|
|
100
|
+
const sendExitComplete = presence == null ? void 0 : presence[1];
|
|
100
101
|
const transition = animations[animationKey];
|
|
101
102
|
const motiProps = {
|
|
102
103
|
animate: isExiting ? void 0 : styles,
|
|
103
104
|
transition,
|
|
104
|
-
onDidAnimate
|
|
105
|
+
onDidAnimate() {
|
|
106
|
+
onDidAnimate == null ? void 0 : onDidAnimate();
|
|
107
|
+
sendExitComplete == null ? void 0 : sendExitComplete();
|
|
108
|
+
},
|
|
105
109
|
usePresenceValue: presence,
|
|
106
110
|
presenceContext: useContext(PresenceContext),
|
|
107
111
|
exit: isExiting ? styles : void 0
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/createAnimations.tsx"],
|
|
4
|
-
"mappings": "AAAA,SAAS,iBAAiB,mBAAmB;AAE7C,SAAyB,iBAAiB;AAC1C,SAAS,YAAY,
|
|
4
|
+
"mappings": "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",
|
|
5
5
|
"names": []
|
|
6
6
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@tamagui/animations-moti",
|
|
3
|
-
"version": "1.46.
|
|
3
|
+
"version": "1.46.2",
|
|
4
4
|
"source": "src/index.ts",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"types": "./types/index.d.ts",
|
|
@@ -12,12 +12,12 @@
|
|
|
12
12
|
"dist"
|
|
13
13
|
],
|
|
14
14
|
"dependencies": {
|
|
15
|
-
"@tamagui/use-presence": "1.46.
|
|
16
|
-
"@tamagui/web": "1.46.
|
|
15
|
+
"@tamagui/use-presence": "1.46.2",
|
|
16
|
+
"@tamagui/web": "1.46.2",
|
|
17
17
|
"moti": "^0.25.3"
|
|
18
18
|
},
|
|
19
19
|
"devDependencies": {
|
|
20
|
-
"@tamagui/build": "1.46.
|
|
20
|
+
"@tamagui/build": "1.46.2",
|
|
21
21
|
"react-native-reanimated": "^3.3.0"
|
|
22
22
|
},
|
|
23
23
|
"scripts": {
|
package/src/createAnimations.tsx
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { PresenceContext, usePresence } from '@tamagui/use-presence'
|
|
2
|
-
import { AnimationDriver, UniversalAnimatedNumber } from '@tamagui/web'
|
|
2
|
+
import { AnimationDriver, UniversalAnimatedNumber, useSafeRef } from '@tamagui/web'
|
|
3
3
|
import { MotiTransition, useMotify } from 'moti'
|
|
4
|
-
import { useContext, useMemo } from 'react'
|
|
4
|
+
import { useContext, useMemo, useRef } from 'react'
|
|
5
5
|
import Animated, {
|
|
6
6
|
SharedValue,
|
|
7
7
|
cancelAnimation,
|
|
@@ -123,12 +123,16 @@ export function createAnimations<A extends Record<string, MotiTransition>>(
|
|
|
123
123
|
const animateStr = JSON.stringify(animate)
|
|
124
124
|
const styles = useMemo(() => JSON.parse(animateStr), [animateStr])
|
|
125
125
|
const isExiting = Boolean(presence?.[1])
|
|
126
|
+
const sendExitComplete = presence?.[1]
|
|
126
127
|
const transition = animations[animationKey as keyof typeof animations]
|
|
127
128
|
|
|
128
129
|
const motiProps = {
|
|
129
130
|
animate: isExiting ? undefined : styles,
|
|
130
131
|
transition,
|
|
131
|
-
onDidAnimate
|
|
132
|
+
onDidAnimate() {
|
|
133
|
+
onDidAnimate?.()
|
|
134
|
+
sendExitComplete?.()
|
|
135
|
+
},
|
|
132
136
|
usePresenceValue: presence as any,
|
|
133
137
|
presenceContext: useContext(PresenceContext),
|
|
134
138
|
exit: isExiting ? styles : undefined,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createAnimations.d.ts","sourceRoot":"","sources":["../src/createAnimations.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,
|
|
1
|
+
{"version":3,"file":"createAnimations.d.ts","sourceRoot":"","sources":["../src/createAnimations.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAuC,MAAM,cAAc,CAAA;AACnF,OAAO,EAAE,cAAc,EAAa,MAAM,MAAM,CAAA;AAgBhD,wBAAgB,gBAAgB,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,EACvE,UAAU,EAAE,CAAC,GACZ,eAAe,CAAC,CAAC,CAAC,CA2IpB"}
|