react-native-reanimated 2.3.0-beta.3 → 2.4.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/Common/cpp/NativeModules/NativeReanimatedModule.cpp +9 -0
- package/Common/cpp/NativeModules/NativeReanimatedModuleSpec.cpp +13 -0
- package/Common/cpp/Tools/FeaturesConfig.cpp +5 -0
- package/Common/cpp/Tools/RuntimeDecorator.cpp +38 -2
- package/Common/cpp/headers/NativeModules/NativeReanimatedModule.h +3 -0
- package/Common/cpp/headers/NativeModules/NativeReanimatedModuleSpec.h +5 -0
- package/Common/cpp/headers/Tools/FeaturesConfig.h +19 -0
- package/Common/cpp/headers/Tools/PlatformDepMethodsHolder.h +2 -0
- package/Common/cpp/headers/Tools/RuntimeDecorator.h +8 -7
- package/README.md +1 -1
- package/RNReanimated.podspec +20 -3
- package/android/build.gradle +31 -5
- package/android/expo/linking.gradle +46 -0
- package/android/expo/src/main/java/com/swmansion/reanimated/EXReanimatedAdapter.java +12 -0
- package/android/expo/src/main/java/expo/modules/adapters/reanimated/EXReanimatedPackage.java +26 -0
- package/android/react-native-reanimated-63-hermes.aar +0 -0
- package/android/react-native-reanimated-63-jsc.aar +0 -0
- package/android/react-native-reanimated-64-hermes.aar +0 -0
- package/android/react-native-reanimated-64-jsc.aar +0 -0
- package/android/react-native-reanimated-65-hermes.aar +0 -0
- package/android/react-native-reanimated-65-jsc.aar +0 -0
- package/android/react-native-reanimated-66-hermes.aar +0 -0
- package/android/react-native-reanimated-66-jsc.aar +0 -0
- package/android/react-native-reanimated-67-hermes.aar +0 -0
- package/android/react-native-reanimated-67-jsc.aar +0 -0
- package/expo-module.config.json +3 -0
- package/ios/LayoutReanimation/REAAnimationsManager.h +1 -1
- package/ios/LayoutReanimation/REAAnimationsManager.m +68 -19
- package/ios/LayoutReanimation/REAUIManager.mm +63 -18
- package/ios/Nodes/REAPropsNode.m +1 -1
- package/ios/REAEventDispatcher.m +1 -1
- package/ios/REAModule.h +0 -2
- package/ios/REAModule.m +0 -3
- package/ios/REANodesManager.m +1 -0
- package/ios/RNGestureHandlerStateManager.h +5 -0
- package/ios/native/NativeMethods.h +5 -0
- package/ios/native/NativeMethods.mm +8 -1
- package/ios/native/NativeProxy.h +1 -0
- package/ios/native/NativeProxy.mm +19 -3
- package/ios/native/REAInitializer.mm +7 -3
- package/lib/src/Animated.js +31 -0
- package/lib/{ConfigHelper.js → src/ConfigHelper.js} +0 -0
- package/lib/{ReanimatedEventEmitter.js → src/ReanimatedEventEmitter.js} +0 -0
- package/lib/{ReanimatedModule.js → src/ReanimatedModule.js} +0 -0
- package/lib/{ReanimatedModule.macos.js → src/ReanimatedModule.macos.js} +0 -0
- package/lib/{ReanimatedModule.native.js → src/ReanimatedModule.native.js} +0 -0
- package/lib/{ReanimatedModule.windows.js → src/ReanimatedModule.windows.js} +0 -0
- package/lib/{ReanimatedModuleCompat.js → src/ReanimatedModuleCompat.js} +0 -0
- package/lib/{__mocks__ → src/__mocks__}/ReanimatedEventEmitter.js +0 -0
- package/lib/{__mocks__ → src/__mocks__}/ReanimatedModule.native.js +0 -0
- package/lib/{createAnimatedComponent.js → src/createAnimatedComponent.js} +55 -37
- package/lib/src/index.js +31 -0
- package/lib/{reanimated1 → src/reanimated1}/Easing.js +0 -0
- package/lib/{reanimated1 → src/reanimated1}/SpringConfig.js +0 -0
- package/lib/{reanimated1 → src/reanimated1}/Transitioning.js +0 -0
- package/lib/{reanimated1 → src/reanimated1}/animations/Animation.js +0 -0
- package/lib/{reanimated1 → src/reanimated1}/animations/SpringUtils.js +0 -0
- package/lib/{reanimated1 → src/reanimated1}/animations/backwardCompatibleAnimWrapper.js +0 -0
- package/lib/{reanimated1 → src/reanimated1}/animations/decay.js +0 -0
- package/lib/{reanimated1 → src/reanimated1}/animations/spring.js +0 -0
- package/lib/{reanimated1 → src/reanimated1}/animations/timing.js +0 -0
- package/lib/{reanimated1 → src/reanimated1}/base.js +0 -0
- package/lib/{reanimated1 → src/reanimated1}/core/AnimatedAlways.js +0 -0
- package/lib/{reanimated1 → src/reanimated1}/core/AnimatedBezier.js +0 -0
- package/lib/{reanimated1 → src/reanimated1}/core/AnimatedBlock.js +0 -0
- package/lib/{reanimated1 → src/reanimated1}/core/AnimatedCall.js +0 -0
- package/lib/{reanimated1 → src/reanimated1}/core/AnimatedCallFunc.js +0 -0
- package/lib/{reanimated1 → src/reanimated1}/core/AnimatedClock.js +0 -0
- package/lib/{reanimated1 → src/reanimated1}/core/AnimatedClockTest.js +0 -0
- package/lib/{reanimated1 → src/reanimated1}/core/AnimatedCode.js +0 -0
- package/lib/{reanimated1 → src/reanimated1}/core/AnimatedConcat.js +0 -0
- package/lib/{reanimated1 → src/reanimated1}/core/AnimatedCond.js +0 -0
- package/lib/{reanimated1 → src/reanimated1}/core/AnimatedDebug.js +0 -0
- package/lib/{reanimated1 → src/reanimated1}/core/AnimatedEvent.js +0 -0
- package/lib/{reanimated1 → src/reanimated1}/core/AnimatedFunction.js +0 -0
- package/lib/{reanimated1 → src/reanimated1}/core/AnimatedNode.js +0 -0
- package/lib/{reanimated1 → src/reanimated1}/core/AnimatedOperator.js +0 -0
- package/lib/{reanimated1 → src/reanimated1}/core/AnimatedParam.js +0 -0
- package/lib/{reanimated1 → src/reanimated1}/core/AnimatedProps.js +0 -0
- package/lib/{reanimated1 → src/reanimated1}/core/AnimatedSet.js +0 -0
- package/lib/{reanimated1 → src/reanimated1}/core/AnimatedStartClock.js +0 -0
- package/lib/{reanimated1 → src/reanimated1}/core/AnimatedStopClock.js +0 -0
- package/lib/{reanimated1 → src/reanimated1}/core/AnimatedStyle.js +0 -0
- package/lib/{reanimated1 → src/reanimated1}/core/AnimatedTransform.js +0 -0
- package/lib/{reanimated1 → src/reanimated1}/core/AnimatedValue.js +0 -0
- package/lib/{reanimated1 → src/reanimated1}/core/Core.test.js +1 -1
- package/lib/{reanimated1 → src/reanimated1}/core/InternalAnimatedValue.js +0 -0
- package/lib/{reanimated1 → src/reanimated1}/core/__mocks__/AnimatedProps.js +0 -0
- package/lib/{reanimated1 → src/reanimated1}/core/createEventObjectProxyPolyfill.js +0 -0
- package/lib/{reanimated1 → src/reanimated1}/derived/__mocks__/evaluateOnce.js +0 -0
- package/lib/{reanimated1 → src/reanimated1}/derived/acc.js +0 -0
- package/lib/{reanimated1 → src/reanimated1}/derived/color.js +0 -0
- package/lib/{reanimated1 → src/reanimated1}/derived/diff.js +0 -0
- package/lib/{reanimated1 → src/reanimated1}/derived/diffClamp.js +0 -0
- package/lib/{reanimated1 → src/reanimated1}/derived/evaluateOnce.js +0 -0
- package/lib/{reanimated1 → src/reanimated1}/derived/index.js +0 -0
- package/lib/{reanimated1 → src/reanimated1}/derived/interpolate.js +0 -0
- package/lib/{reanimated1 → src/reanimated1}/derived/interpolateColors.js +0 -0
- package/lib/{reanimated1 → src/reanimated1}/derived/onChange.js +0 -0
- package/lib/{reanimated1 → src/reanimated1}/derived/useCode.js +0 -0
- package/lib/{reanimated1 → src/reanimated1}/index.js +0 -0
- package/lib/{reanimated1 → src/reanimated1}/operators.js +0 -0
- package/lib/{reanimated1 → src/reanimated1}/useValue.js +0 -0
- package/lib/{reanimated1 → src/reanimated1}/val.js +0 -0
- package/lib/{reanimated2 → src/reanimated2}/Bezier.js +0 -0
- package/lib/{reanimated2 → src/reanimated2}/Colors.js +1 -97
- package/lib/{reanimated2 → src/reanimated2}/Easing.js +5 -0
- package/lib/src/reanimated2/NativeMethods.js +42 -0
- package/lib/{reanimated2 → src/reanimated2}/NativeReanimated/NativeReanimated.js +3 -0
- package/lib/{reanimated2 → src/reanimated2}/NativeReanimated/index.js +2 -2
- package/lib/{reanimated2 → src/reanimated2}/PlatformChecker.js +0 -0
- package/lib/{reanimated2 → src/reanimated2}/PropAdapters.js +0 -0
- package/lib/{reanimated2 → src/reanimated2}/UpdateProps.js +1 -1
- package/lib/{reanimated2 → src/reanimated2}/ViewDescriptorsSet.js +4 -2
- package/lib/{reanimated2 → src/reanimated2}/WorkletEventHandler.js +0 -0
- package/lib/{reanimated2 → src/reanimated2}/__mocks__/MutableValue.js +0 -0
- package/lib/{reanimated2 → src/reanimated2}/__mocks__/NativeReanimated.js +0 -0
- package/lib/{reanimated2 → src/reanimated2}/__mocks__/NativeReanimated.native.js +0 -0
- package/lib/{reanimated2 → src/reanimated2}/animation/commonTypes.js +0 -0
- package/lib/{reanimated2 → src/reanimated2}/animation/decay.js +0 -0
- package/lib/{reanimated2 → src/reanimated2}/animation/delay.js +0 -0
- package/lib/{reanimated2 → src/reanimated2}/animation/index.js +0 -0
- package/lib/{reanimated2 → src/reanimated2}/animation/repeat.js +0 -0
- package/lib/{reanimated2 → src/reanimated2}/animation/sequence.js +0 -0
- package/lib/{reanimated2 → src/reanimated2}/animation/spring.js +0 -0
- package/lib/{reanimated2 → src/reanimated2}/animation/styleAnimation.js +5 -0
- package/lib/{reanimated2 → src/reanimated2}/animation/timing.js +0 -0
- package/lib/{reanimated2 → src/reanimated2}/animation/util.js +0 -0
- package/lib/{reanimated2 → src/reanimated2}/commonTypes.js +0 -0
- package/lib/src/reanimated2/component/FlatList.js +30 -0
- package/lib/src/reanimated2/component/WrappedComponents.js +9 -0
- package/lib/src/reanimated2/component/index.js +4 -0
- package/lib/{reanimated2 → src/reanimated2}/core.js +27 -3
- package/lib/{reanimated2 → src/reanimated2}/globals.d.ts +5 -0
- package/lib/{reanimated2 → src/reanimated2}/hook/Hooks.js +0 -0
- package/lib/{reanimated2 → src/reanimated2}/hook/commonTypes.js +0 -0
- package/lib/{reanimated2 → src/reanimated2}/hook/index.js +0 -0
- package/lib/{reanimated2 → src/reanimated2}/hook/useAnimatedGestureHandler.js +1 -2
- package/lib/{reanimated2 → src/reanimated2}/hook/useAnimatedReaction.js +0 -0
- package/lib/{reanimated2 → src/reanimated2}/hook/useAnimatedRef.js +0 -0
- package/lib/{reanimated2 → src/reanimated2}/hook/useAnimatedScrollHandler.js +0 -0
- package/lib/{reanimated2 → src/reanimated2}/hook/useAnimatedStyle.js +31 -14
- package/lib/{reanimated2 → src/reanimated2}/hook/useDerivedValue.js +0 -0
- package/lib/{reanimated2 → src/reanimated2}/hook/useSharedValue.js +0 -0
- package/lib/{reanimated2 → src/reanimated2}/hook/utils.js +14 -11
- package/lib/{reanimated2 → src/reanimated2}/index.js +2 -0
- package/lib/src/reanimated2/interpolateColor.js +98 -0
- package/lib/{reanimated2 → src/reanimated2}/interpolation.js +0 -0
- package/lib/{reanimated2 → src/reanimated2}/jestUtils.js +0 -0
- package/lib/{reanimated2 → src/reanimated2}/js-reanimated/JSReanimated.js +4 -1
- package/lib/{reanimated2 → src/reanimated2}/js-reanimated/Mapper.js +4 -1
- package/lib/{reanimated2 → src/reanimated2}/js-reanimated/MapperRegistry.js +0 -0
- package/lib/{reanimated2 → src/reanimated2}/js-reanimated/MutableValue.js +0 -0
- package/lib/{reanimated2/layoutReanimation/animationBuilder → src/reanimated2/js-reanimated}/commonTypes.js +0 -0
- package/lib/{reanimated2 → src/reanimated2}/js-reanimated/index.js +3 -0
- package/lib/{reanimated2 → src/reanimated2}/layoutReanimation/LayoutAnimationRepository.js +14 -5
- package/lib/{reanimated2 → src/reanimated2}/layoutReanimation/animationBuilder/BaseAnimationBuilder.js +0 -0
- package/lib/{reanimated2 → src/reanimated2}/layoutReanimation/animationBuilder/ComplexAnimationBuilder.js +0 -0
- package/lib/{reanimated2 → src/reanimated2}/layoutReanimation/animationBuilder/Keyframe.js +0 -0
- package/lib/src/reanimated2/layoutReanimation/animationBuilder/commonTypes.js +1 -0
- package/lib/{reanimated2 → src/reanimated2}/layoutReanimation/animationBuilder/index.js +0 -0
- package/lib/{reanimated2 → src/reanimated2}/layoutReanimation/defaultAnimations/Bounce.js +0 -0
- package/lib/src/reanimated2/layoutReanimation/defaultAnimations/Default.js +36 -0
- package/lib/{reanimated2 → src/reanimated2}/layoutReanimation/defaultAnimations/Fade.js +0 -0
- package/lib/{reanimated2 → src/reanimated2}/layoutReanimation/defaultAnimations/Flip.js +8 -8
- package/lib/{reanimated2 → src/reanimated2}/layoutReanimation/defaultAnimations/Lightspeed.js +0 -0
- package/lib/{reanimated2 → src/reanimated2}/layoutReanimation/defaultAnimations/Pinwheel.js +0 -0
- package/lib/{reanimated2 → src/reanimated2}/layoutReanimation/defaultAnimations/Roll.js +0 -0
- package/lib/{reanimated2 → src/reanimated2}/layoutReanimation/defaultAnimations/Rotate.js +16 -16
- package/lib/{reanimated2 → src/reanimated2}/layoutReanimation/defaultAnimations/Slide.js +16 -16
- package/lib/{reanimated2 → src/reanimated2}/layoutReanimation/defaultAnimations/Stretch.js +0 -0
- package/lib/{reanimated2 → src/reanimated2}/layoutReanimation/defaultAnimations/Zoom.js +4 -4
- package/lib/{reanimated2 → src/reanimated2}/layoutReanimation/defaultAnimations/index.js +0 -0
- package/lib/{reanimated2 → src/reanimated2}/layoutReanimation/defaultTransitions/CurvedTransition.js +20 -8
- package/lib/{reanimated2 → src/reanimated2}/layoutReanimation/defaultTransitions/EntryExitTransition.js +3 -3
- package/lib/{reanimated2 → src/reanimated2}/layoutReanimation/defaultTransitions/FadingTransition.js +8 -8
- package/lib/{reanimated2 → src/reanimated2}/layoutReanimation/defaultTransitions/JumpingTransition.js +10 -10
- package/lib/{reanimated2 → src/reanimated2}/layoutReanimation/defaultTransitions/LinearTransition.js +8 -8
- package/lib/{reanimated2 → src/reanimated2}/layoutReanimation/defaultTransitions/SequencedTransition.js +8 -8
- package/lib/{reanimated2 → src/reanimated2}/layoutReanimation/defaultTransitions/index.js +0 -0
- package/lib/{reanimated2 → src/reanimated2}/layoutReanimation/index.js +0 -0
- package/lib/{reanimated2 → src/reanimated2}/mock.js +0 -0
- package/lib/{reanimated2 → src/reanimated2}/platform-specific/RNRenderer.js +0 -0
- package/lib/{reanimated2 → src/reanimated2}/platform-specific/RNRenderer.web.js +0 -0
- package/lib/{reanimated2 → src/reanimated2}/utils.js +0 -0
- package/lib/{setAndForwardRef.js → src/setAndForwardRef.js} +0 -0
- package/mock.js +2 -1
- package/package.json +7 -4
- package/plugin.js +11 -3
- package/react-native-reanimated.d.ts +94 -23
- package/src/Animated.js +11 -5
- package/src/createAnimatedComponent.tsx +86 -43
- package/src/reanimated1/core/Core.test.js +1 -1
- package/src/reanimated2/Colors.ts +6 -150
- package/src/reanimated2/Easing.ts +11 -0
- package/src/reanimated2/NativeMethods.ts +31 -6
- package/src/reanimated2/NativeReanimated/NativeReanimated.ts +5 -0
- package/src/reanimated2/NativeReanimated/index.ts +2 -2
- package/src/reanimated2/UpdateProps.ts +1 -1
- package/src/reanimated2/ViewDescriptorsSet.ts +6 -2
- package/src/reanimated2/animation/commonTypes.ts +44 -40
- package/src/reanimated2/animation/decay.ts +1 -1
- package/src/reanimated2/animation/delay.ts +2 -16
- package/src/reanimated2/animation/index.ts +7 -8
- package/src/reanimated2/animation/repeat.ts +2 -12
- package/src/reanimated2/animation/sequence.ts +3 -10
- package/src/reanimated2/animation/spring.ts +1 -1
- package/src/reanimated2/animation/styleAnimation.ts +10 -18
- package/src/reanimated2/animation/timing.ts +1 -1
- package/src/reanimated2/animation/util.ts +12 -9
- package/src/reanimated2/commonTypes.ts +48 -1
- package/src/reanimated2/component/FlatList.tsx +44 -0
- package/src/reanimated2/component/WrappedComponents.ts +11 -0
- package/src/reanimated2/component/index.ts +9 -0
- package/src/reanimated2/core.ts +39 -6
- package/src/reanimated2/globals.d.ts +5 -0
- package/src/reanimated2/hook/commonTypes.ts +5 -0
- package/src/reanimated2/hook/useAnimatedGestureHandler.ts +1 -2
- package/src/reanimated2/hook/useAnimatedRef.ts +1 -5
- package/src/reanimated2/hook/useAnimatedStyle.ts +35 -16
- package/src/reanimated2/hook/utils.ts +18 -17
- package/src/reanimated2/index.ts +2 -0
- package/src/reanimated2/interpolateColor.ts +178 -0
- package/src/reanimated2/js-reanimated/JSReanimated.ts +9 -4
- package/src/reanimated2/js-reanimated/Mapper.ts +4 -2
- package/src/reanimated2/js-reanimated/MapperRegistry.ts +1 -1
- package/src/reanimated2/js-reanimated/commonTypes.ts +51 -0
- package/src/reanimated2/js-reanimated/index.ts +5 -0
- package/src/reanimated2/layoutReanimation/LayoutAnimationRepository.ts +18 -5
- package/src/reanimated2/layoutReanimation/animationBuilder/commonTypes.ts +39 -20
- package/src/reanimated2/layoutReanimation/animationBuilder/index.ts +5 -1
- package/src/reanimated2/layoutReanimation/defaultAnimations/Default.ts +21 -15
- package/src/reanimated2/layoutReanimation/defaultAnimations/Flip.ts +29 -24
- package/src/reanimated2/layoutReanimation/defaultAnimations/Rotate.ts +61 -34
- package/src/reanimated2/layoutReanimation/defaultAnimations/Slide.ts +49 -34
- package/src/reanimated2/layoutReanimation/defaultAnimations/Zoom.ts +17 -12
- package/src/reanimated2/layoutReanimation/defaultTransitions/CurvedTransition.ts +20 -8
- package/src/reanimated2/layoutReanimation/defaultTransitions/EntryExitTransition.ts +15 -11
- package/src/reanimated2/layoutReanimation/defaultTransitions/FadingTransition.ts +8 -8
- package/src/reanimated2/layoutReanimation/defaultTransitions/JumpingTransition.ts +20 -14
- package/src/reanimated2/layoutReanimation/defaultTransitions/LinearTransition.ts +14 -8
- package/src/reanimated2/layoutReanimation/defaultTransitions/SequencedTransition.ts +24 -12
- package/src/reanimated2/utils.ts +1 -1
- package/lib/Animated.js +0 -25
- package/lib/index.js +0 -25
- package/lib/reanimated2/NativeMethods.js +0 -25
- package/lib/reanimated2/layoutReanimation/defaultAnimations/Default.js +0 -36
package/lib/{reanimated2 → src/reanimated2}/layoutReanimation/defaultTransitions/CurvedTransition.js
RENAMED
|
@@ -24,16 +24,28 @@ export class CurvedTransition extends BaseAnimationBuilder {
|
|
|
24
24
|
'worklet';
|
|
25
25
|
return {
|
|
26
26
|
initialValues: {
|
|
27
|
-
originX: values.
|
|
28
|
-
originY: values.
|
|
29
|
-
width: values.
|
|
30
|
-
height: values.
|
|
27
|
+
originX: values.currentOriginX,
|
|
28
|
+
originY: values.currentOriginY,
|
|
29
|
+
width: values.currentWidth,
|
|
30
|
+
height: values.currentHeight,
|
|
31
31
|
},
|
|
32
32
|
animations: {
|
|
33
|
-
originX: delayFunction(delay, withTiming(values.
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
33
|
+
originX: delayFunction(delay, withTiming(values.targetOriginX, {
|
|
34
|
+
duration,
|
|
35
|
+
easing: easing.easingX,
|
|
36
|
+
})),
|
|
37
|
+
originY: delayFunction(delay, withTiming(values.targetOriginY, {
|
|
38
|
+
duration,
|
|
39
|
+
easing: easing.easingY,
|
|
40
|
+
})),
|
|
41
|
+
width: delayFunction(delay, withTiming(values.targetWidth, {
|
|
42
|
+
duration,
|
|
43
|
+
easing: easing.easingWidth,
|
|
44
|
+
})),
|
|
45
|
+
height: delayFunction(delay, withTiming(values.targetHeight, {
|
|
46
|
+
duration,
|
|
47
|
+
easing: easing.easingHeight,
|
|
48
|
+
})),
|
|
37
49
|
},
|
|
38
50
|
callback: callback,
|
|
39
51
|
};
|
|
@@ -60,7 +60,7 @@ export class EntryExitTransition extends BaseAnimationBuilder {
|
|
|
60
60
|
(_a = animations.transform) === null || _a === void 0 ? void 0 : _a.push({
|
|
61
61
|
[transformProp]: delayFunction(delay + exitingDuration, withSequence(withTiming(enteringValues.initialValues.transform
|
|
62
62
|
? enteringValues.initialValues.transform[index][transformProp]
|
|
63
|
-
: 0, { duration:
|
|
63
|
+
: 0, { duration: exitingDuration }), value[transformProp])),
|
|
64
64
|
});
|
|
65
65
|
}
|
|
66
66
|
});
|
|
@@ -96,8 +96,8 @@ export class EntryExitTransition extends BaseAnimationBuilder {
|
|
|
96
96
|
return value;
|
|
97
97
|
}));
|
|
98
98
|
return {
|
|
99
|
-
initialValues: Object.assign(Object.assign({}, exitingValues.initialValues), { originX: values.
|
|
100
|
-
animations: Object.assign({ originX: delayFunction(delay + exitingDuration, withTiming(values.
|
|
99
|
+
initialValues: Object.assign(Object.assign({}, exitingValues.initialValues), { originX: values.currentOriginX, originY: values.currentOriginY, width: values.currentWidth, height: values.currentHeight, transform: mergedTransform }),
|
|
100
|
+
animations: Object.assign({ originX: delayFunction(delay + exitingDuration, withTiming(values.targetOriginX, { duration: exitingDuration })), originY: delayFunction(delay + exitingDuration, withTiming(values.targetOriginY, { duration: exitingDuration })), width: delayFunction(delay + exitingDuration, withTiming(values.targetWidth, { duration: exitingDuration })), height: delayFunction(delay + exitingDuration, withTiming(values.targetHeight, { duration: exitingDuration })) }, animations),
|
|
101
101
|
callback: callback,
|
|
102
102
|
};
|
|
103
103
|
};
|
package/lib/{reanimated2 → src/reanimated2}/layoutReanimation/defaultTransitions/FadingTransition.js
RENAMED
|
@@ -14,17 +14,17 @@ export class FadingTransition extends BaseAnimationBuilder {
|
|
|
14
14
|
return {
|
|
15
15
|
initialValues: {
|
|
16
16
|
opacity: 1,
|
|
17
|
-
originX: values.
|
|
18
|
-
originY: values.
|
|
19
|
-
width: values.
|
|
20
|
-
height: values.
|
|
17
|
+
originX: values.currentOriginX,
|
|
18
|
+
originY: values.currentOriginY,
|
|
19
|
+
width: values.currentWidth,
|
|
20
|
+
height: values.currentHeight,
|
|
21
21
|
},
|
|
22
22
|
animations: {
|
|
23
23
|
opacity: delayFunction(delay, withSequence(withTiming(0, { duration: duration }), withTiming(1, { duration: duration }))),
|
|
24
|
-
originX: delayFunction(delay + duration, withTiming(values.
|
|
25
|
-
originY: delayFunction(delay + duration, withTiming(values.
|
|
26
|
-
width: delayFunction(delay + duration, withTiming(values.
|
|
27
|
-
height: delayFunction(delay + duration, withTiming(values.
|
|
24
|
+
originX: delayFunction(delay + duration, withTiming(values.targetOriginX, { duration: 50 })),
|
|
25
|
+
originY: delayFunction(delay + duration, withTiming(values.targetOriginY, { duration: 50 })),
|
|
26
|
+
width: delayFunction(delay + duration, withTiming(values.targetWidth, { duration: 50 })),
|
|
27
|
+
height: delayFunction(delay + duration, withTiming(values.targetHeight, { duration: 50 })),
|
|
28
28
|
},
|
|
29
29
|
callback: callback,
|
|
30
30
|
};
|
|
@@ -13,22 +13,22 @@ export class JumpingTransition extends BaseAnimationBuilder {
|
|
|
13
13
|
const config = { duration: duration * 2 };
|
|
14
14
|
return (values) => {
|
|
15
15
|
'worklet';
|
|
16
|
-
const d = Math.max(Math.abs(values.
|
|
16
|
+
const d = Math.max(Math.abs(values.targetOriginX - values.currentOriginX), Math.abs(values.targetOriginY - values.currentOriginY));
|
|
17
17
|
return {
|
|
18
18
|
initialValues: {
|
|
19
|
-
originX: values.
|
|
20
|
-
originY: values.
|
|
21
|
-
width: values.
|
|
22
|
-
height: values.
|
|
19
|
+
originX: values.currentOriginX,
|
|
20
|
+
originY: values.currentOriginY,
|
|
21
|
+
width: values.currentWidth,
|
|
22
|
+
height: values.currentHeight,
|
|
23
23
|
},
|
|
24
24
|
animations: {
|
|
25
|
-
originX: delayFunction(delay, withTiming(values.
|
|
26
|
-
originY: delayFunction(delay, withSequence(withTiming(Math.min(values.
|
|
25
|
+
originX: delayFunction(delay, withTiming(values.targetOriginX, config)),
|
|
26
|
+
originY: delayFunction(delay, withSequence(withTiming(Math.min(values.targetOriginY, values.currentOriginY) - d, {
|
|
27
27
|
duration,
|
|
28
28
|
easing: Easing.out(Easing.exp),
|
|
29
|
-
}), withTiming(values.
|
|
30
|
-
width: delayFunction(delay, withTiming(values.
|
|
31
|
-
height: delayFunction(delay, withTiming(values.
|
|
29
|
+
}), withTiming(values.targetOriginY, Object.assign(Object.assign({}, config), { duration, easing: Easing.bounce })))),
|
|
30
|
+
width: delayFunction(delay, withTiming(values.targetWidth, config)),
|
|
31
|
+
height: delayFunction(delay, withTiming(values.targetHeight, config)),
|
|
32
32
|
},
|
|
33
33
|
callback: callback,
|
|
34
34
|
};
|
package/lib/{reanimated2 → src/reanimated2}/layoutReanimation/defaultTransitions/LinearTransition.js
RENAMED
|
@@ -11,16 +11,16 @@ export class LinearTransition extends ComplexAnimationBuilder {
|
|
|
11
11
|
'worklet';
|
|
12
12
|
return {
|
|
13
13
|
initialValues: {
|
|
14
|
-
originX: values.
|
|
15
|
-
originY: values.
|
|
16
|
-
width: values.
|
|
17
|
-
height: values.
|
|
14
|
+
originX: values.currentOriginX,
|
|
15
|
+
originY: values.currentOriginY,
|
|
16
|
+
width: values.currentWidth,
|
|
17
|
+
height: values.currentHeight,
|
|
18
18
|
},
|
|
19
19
|
animations: {
|
|
20
|
-
originX: delayFunction(delay, animation(values.
|
|
21
|
-
originY: delayFunction(delay, animation(values.
|
|
22
|
-
width: delayFunction(delay, animation(values.
|
|
23
|
-
height: delayFunction(delay, animation(values.
|
|
20
|
+
originX: delayFunction(delay, animation(values.targetOriginX, config)),
|
|
21
|
+
originY: delayFunction(delay, animation(values.targetOriginY, config)),
|
|
22
|
+
width: delayFunction(delay, animation(values.targetWidth, config)),
|
|
23
|
+
height: delayFunction(delay, animation(values.targetHeight, config)),
|
|
24
24
|
},
|
|
25
25
|
callback: callback,
|
|
26
26
|
};
|
|
@@ -16,16 +16,16 @@ export class SequencedTransition extends BaseAnimationBuilder {
|
|
|
16
16
|
'worklet';
|
|
17
17
|
return {
|
|
18
18
|
initialValues: {
|
|
19
|
-
originX: values.
|
|
20
|
-
originY: values.
|
|
21
|
-
width: values.
|
|
22
|
-
height: values.
|
|
19
|
+
originX: values.currentOriginX,
|
|
20
|
+
originY: values.currentOriginY,
|
|
21
|
+
width: values.currentWidth,
|
|
22
|
+
height: values.currentHeight,
|
|
23
23
|
},
|
|
24
24
|
animations: {
|
|
25
|
-
originX: delayFunction(delay, withSequence(withTiming(reverse ? values.
|
|
26
|
-
originY: delayFunction(delay, withSequence(withTiming(reverse ? values.
|
|
27
|
-
width: delayFunction(delay, withSequence(withTiming(reverse ? values.
|
|
28
|
-
height: delayFunction(delay, withSequence(withTiming(reverse ? values.
|
|
25
|
+
originX: delayFunction(delay, withSequence(withTiming(reverse ? values.currentOriginX : values.targetOriginX, config), withTiming(values.targetOriginX, config))),
|
|
26
|
+
originY: delayFunction(delay, withSequence(withTiming(reverse ? values.targetOriginY : values.currentOriginY, config), withTiming(values.targetOriginY, config))),
|
|
27
|
+
width: delayFunction(delay, withSequence(withTiming(reverse ? values.currentWidth : values.targetWidth, config), withTiming(values.targetWidth, config))),
|
|
28
|
+
height: delayFunction(delay, withSequence(withTiming(reverse ? values.targetHeight : values.currentHeight, config), withTiming(values.targetHeight, config))),
|
|
29
29
|
},
|
|
30
30
|
callback: callback,
|
|
31
31
|
};
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
package/mock.js
CHANGED
|
@@ -86,7 +86,7 @@ function createTransitioningComponent(Component) {
|
|
|
86
86
|
}
|
|
87
87
|
|
|
88
88
|
render() {
|
|
89
|
-
return
|
|
89
|
+
return React.createElement(Component, this.props);
|
|
90
90
|
}
|
|
91
91
|
};
|
|
92
92
|
}
|
|
@@ -209,6 +209,7 @@ const Reanimated = {
|
|
|
209
209
|
},
|
|
210
210
|
diff: NOOP,
|
|
211
211
|
diffClamp: NOOP,
|
|
212
|
+
interpolate: NOOP,
|
|
212
213
|
interpolateNode: NOOP,
|
|
213
214
|
interpolateColors: NOOP,
|
|
214
215
|
max: (a, b) => Math.max(getValue(a), getValue(b)),
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "react-native-reanimated",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.4.0",
|
|
4
4
|
"description": "More powerful alternative to Animated library for React Native.",
|
|
5
5
|
"scripts": {
|
|
6
6
|
"start": "node node_modules/react-native/local-cli/cli.js start",
|
|
@@ -24,7 +24,8 @@
|
|
|
24
24
|
"type:generate:tsc": "yarn tsc",
|
|
25
25
|
"type:generate:remove.ts": "find ./lib -type f -name \"*.ts\" -and -not -name \"*.d.ts\" -delete",
|
|
26
26
|
"type:generate:remove.tsx": "find ./lib -type f -name \"*.tsx\" -and -not -name \"*.d.ts\" -delete",
|
|
27
|
-
"prepare": "husky install"
|
|
27
|
+
"prepare": "husky install",
|
|
28
|
+
"circular_dependency_check": "yarn madge --extensions js,ts,tsx --circular ./src"
|
|
28
29
|
},
|
|
29
30
|
"main": "lib/Animated.js",
|
|
30
31
|
"module": "lib/Animated",
|
|
@@ -48,6 +49,7 @@
|
|
|
48
49
|
"react-native-reanimated.d.ts",
|
|
49
50
|
"mock.js",
|
|
50
51
|
"plugin.js",
|
|
52
|
+
"expo-module.config.json",
|
|
51
53
|
"!__snapshots__",
|
|
52
54
|
"!*.test.js",
|
|
53
55
|
"!*.test.js.map"
|
|
@@ -113,9 +115,10 @@
|
|
|
113
115
|
"husky": "^7.0.0",
|
|
114
116
|
"jest": "^26.6.3",
|
|
115
117
|
"lint-staged": "^11.2.0",
|
|
118
|
+
"madge": "^5.0.1",
|
|
116
119
|
"prettier": "^2.2.1",
|
|
117
120
|
"react": "17.0.2",
|
|
118
|
-
"react-native": "0.
|
|
121
|
+
"react-native": "0.67.2",
|
|
119
122
|
"react-native-codegen": "^0.0.7",
|
|
120
123
|
"react-native-gesture-handler": "^1.6.1",
|
|
121
124
|
"react-test-renderer": "17.0.2",
|
|
@@ -124,7 +127,7 @@
|
|
|
124
127
|
},
|
|
125
128
|
"lint-staged": {
|
|
126
129
|
"*.(js|ts|tsx)": [
|
|
127
|
-
"eslint --ext '.js,.ts,.tsx' src/ --ignore-pattern src/reanimated1 --ignore-pattern react-native-reanimated.d.ts",
|
|
130
|
+
"eslint --ext '.js,.ts,.tsx' src/ --ignore-pattern src/reanimated1 --ignore-pattern react-native-reanimated.d.ts --ignore-pattern docs",
|
|
128
131
|
"prettier --write"
|
|
129
132
|
],
|
|
130
133
|
"**/*.{h,cpp}": "yarn lint:cpp",
|
package/plugin.js
CHANGED
|
@@ -69,6 +69,7 @@ const globals = new Set([
|
|
|
69
69
|
'global',
|
|
70
70
|
'_measure',
|
|
71
71
|
'_scrollTo',
|
|
72
|
+
'_setGestureState',
|
|
72
73
|
'_getCurrentTime',
|
|
73
74
|
'_eventTimestamp',
|
|
74
75
|
'_frameTimestamp',
|
|
@@ -145,16 +146,23 @@ const gestureHandlerGestureObjects = new Set([
|
|
|
145
146
|
'LongPress',
|
|
146
147
|
'ForceTouch',
|
|
147
148
|
'Native',
|
|
149
|
+
'Manual',
|
|
148
150
|
'Race',
|
|
149
151
|
'Simultaneous',
|
|
150
152
|
'Exclusive',
|
|
151
153
|
]);
|
|
152
154
|
|
|
153
|
-
const
|
|
154
|
-
'
|
|
155
|
+
const gestureHandlerBuilderMethods = new Set([
|
|
156
|
+
'onBegin',
|
|
155
157
|
'onStart',
|
|
156
158
|
'onEnd',
|
|
159
|
+
'onFinalize',
|
|
157
160
|
'onUpdate',
|
|
161
|
+
'onChange',
|
|
162
|
+
'onTouchesDown',
|
|
163
|
+
'onTouchesMove',
|
|
164
|
+
'onTouchesUp',
|
|
165
|
+
'onTouchesCancelled',
|
|
158
166
|
]);
|
|
159
167
|
|
|
160
168
|
class ClosureGenerator {
|
|
@@ -652,7 +660,7 @@ function isGestureObjectEventCallbackMethod(t, node) {
|
|
|
652
660
|
return (
|
|
653
661
|
t.isMemberExpression(node) &&
|
|
654
662
|
t.isIdentifier(node.property) &&
|
|
655
|
-
|
|
663
|
+
gestureHandlerBuilderMethods.has(node.property.name) &&
|
|
656
664
|
containsGestureObject(t, node.object)
|
|
657
665
|
);
|
|
658
666
|
}
|
|
@@ -16,6 +16,7 @@ declare module 'react-native-reanimated' {
|
|
|
16
16
|
TextProps,
|
|
17
17
|
ImageProps,
|
|
18
18
|
ScrollViewProps,
|
|
19
|
+
FlatListProps,
|
|
19
20
|
StyleProp,
|
|
20
21
|
RegisteredStyle,
|
|
21
22
|
ViewStyle,
|
|
@@ -26,6 +27,7 @@ declare module 'react-native-reanimated' {
|
|
|
26
27
|
Text as ReactNativeText,
|
|
27
28
|
Image as ReactNativeImage,
|
|
28
29
|
ScrollView as ReactNativeScrollView,
|
|
30
|
+
FlatList as ReactNativeFlatList,
|
|
29
31
|
NativeScrollEvent,
|
|
30
32
|
NativeSyntheticEvent,
|
|
31
33
|
ColorValue,
|
|
@@ -246,16 +248,31 @@ declare module 'react-native-reanimated' {
|
|
|
246
248
|
export class View extends Component<AnimateProps<ViewProps>> {
|
|
247
249
|
getNode(): ReactNativeView;
|
|
248
250
|
}
|
|
251
|
+
// eslint-disable-next-line @typescript-eslint/no-empty-interface
|
|
252
|
+
export interface View extends ReactNativeView {}
|
|
249
253
|
export class Text extends Component<AnimateProps<TextProps>> {
|
|
250
254
|
getNode(): ReactNativeText;
|
|
251
255
|
}
|
|
256
|
+
// eslint-disable-next-line @typescript-eslint/no-empty-interface
|
|
257
|
+
export interface Text extends ReactNativeText {}
|
|
252
258
|
export class Image extends Component<AnimateProps<ImageProps>> {
|
|
253
259
|
getNode(): ReactNativeImage;
|
|
254
260
|
}
|
|
261
|
+
// eslint-disable-next-line @typescript-eslint/no-empty-interface
|
|
262
|
+
export interface Image extends ReactNativeImage {}
|
|
255
263
|
export class ScrollView extends Component<AnimateProps<ScrollViewProps>> {
|
|
256
264
|
getNode(): ReactNativeScrollView;
|
|
257
265
|
}
|
|
266
|
+
// eslint-disable-next-line @typescript-eslint/no-empty-interface
|
|
267
|
+
export interface ScrollView extends ReactNativeScrollView {}
|
|
268
|
+
|
|
258
269
|
export class Code extends Component<CodeProps> {}
|
|
270
|
+
export class FlatList<T> extends Component<AnimateProps<FlatListProps<T>>> {
|
|
271
|
+
itemLayoutAnimation: ILayoutAnimationBuilder;
|
|
272
|
+
getNode(): ReactNativeFlatList;
|
|
273
|
+
}
|
|
274
|
+
// eslint-disable-next-line @typescript-eslint/no-empty-interface
|
|
275
|
+
export interface FlatList<T> extends ReactNativeView<T> {}
|
|
259
276
|
|
|
260
277
|
type Options<P> = {
|
|
261
278
|
setNativeProps: (ref: any, props: P) => void;
|
|
@@ -451,34 +468,45 @@ declare module 'react-native-reanimated' {
|
|
|
451
468
|
animations: AnimateStyle;
|
|
452
469
|
};
|
|
453
470
|
|
|
454
|
-
export
|
|
455
|
-
|
|
456
|
-
|
|
457
|
-
|
|
458
|
-
|
|
459
|
-
|
|
460
|
-
|
|
461
|
-
}
|
|
462
|
-
|
|
463
|
-
|
|
464
|
-
|
|
471
|
+
export interface EntryAnimationsValues {
|
|
472
|
+
targetOriginX: number;
|
|
473
|
+
targetOriginY: number;
|
|
474
|
+
targetWidth: number;
|
|
475
|
+
targetHeight: number;
|
|
476
|
+
targetGlobalOriginX: number;
|
|
477
|
+
targetGlobalOriginY: number;
|
|
478
|
+
}
|
|
479
|
+
|
|
480
|
+
export interface ExitAnimationsValues {
|
|
481
|
+
currentOriginX: number;
|
|
482
|
+
currentOriginY: number;
|
|
483
|
+
currentWidth: number;
|
|
484
|
+
currentHeight: number;
|
|
485
|
+
currentGlobalOriginX: number;
|
|
486
|
+
currentGlobalOriginY: number;
|
|
487
|
+
}
|
|
488
|
+
|
|
489
|
+
export type EntryExitAnimationFunction =
|
|
490
|
+
| ((targetValues: EntryAnimationsValues) => LayoutAnimation)
|
|
491
|
+
| ((targetValues: ExitAnimationsValues) => LayoutAnimation);
|
|
465
492
|
|
|
466
493
|
export type LayoutAnimationsValues = {
|
|
467
|
-
|
|
468
|
-
|
|
469
|
-
|
|
470
|
-
|
|
471
|
-
|
|
472
|
-
|
|
473
|
-
|
|
474
|
-
|
|
475
|
-
|
|
476
|
-
|
|
477
|
-
|
|
478
|
-
|
|
494
|
+
currentOriginX: number;
|
|
495
|
+
currentOriginY: number;
|
|
496
|
+
currentWidth: number;
|
|
497
|
+
currentHeight: number;
|
|
498
|
+
currentGlobalOriginX: number;
|
|
499
|
+
currentGlobalOriginY: number;
|
|
500
|
+
targetOriginX: number;
|
|
501
|
+
targetOriginY: number;
|
|
502
|
+
targetWidth: number;
|
|
503
|
+
targetHeight: number;
|
|
504
|
+
targetGlobalOriginX: number;
|
|
505
|
+
targetGlobalOriginY: number;
|
|
479
506
|
windowWidth: number;
|
|
480
507
|
windowHeight: number;
|
|
481
508
|
};
|
|
509
|
+
|
|
482
510
|
export type LayoutAnimationFunction = (
|
|
483
511
|
targetValues: LayoutAnimationsValues
|
|
484
512
|
) => LayoutAnimation;
|
|
@@ -594,6 +622,42 @@ declare module 'react-native-reanimated' {
|
|
|
594
622
|
colorSpace?: 'RGB' | 'HSV'
|
|
595
623
|
): string | number;
|
|
596
624
|
|
|
625
|
+
export enum ColorSpace {
|
|
626
|
+
RGB = 0,
|
|
627
|
+
HSV = 1,
|
|
628
|
+
}
|
|
629
|
+
|
|
630
|
+
export interface InterpolateRGB {
|
|
631
|
+
r: number[];
|
|
632
|
+
g: number[];
|
|
633
|
+
b: number[];
|
|
634
|
+
a: number[];
|
|
635
|
+
}
|
|
636
|
+
|
|
637
|
+
export interface InterpolateHSV {
|
|
638
|
+
h: number[];
|
|
639
|
+
s: number[];
|
|
640
|
+
v: number[];
|
|
641
|
+
}
|
|
642
|
+
|
|
643
|
+
export interface InterpolateConfig {
|
|
644
|
+
inputRange: readonly number[];
|
|
645
|
+
outputRange: readonly (string | number)[];
|
|
646
|
+
colorSpace: ColorSpace;
|
|
647
|
+
cache: SharedValue<InterpolateRGB | InterpolateHSV | null>;
|
|
648
|
+
}
|
|
649
|
+
|
|
650
|
+
export function useInterpolateConfig(
|
|
651
|
+
inputRange: readonly number[],
|
|
652
|
+
outputRange: readonly (string | number)[],
|
|
653
|
+
colorSpace?: ColorSpace
|
|
654
|
+
): SharedValue<InterpolateConfig>;
|
|
655
|
+
|
|
656
|
+
export function interpolateSharableColor(
|
|
657
|
+
value: number,
|
|
658
|
+
interpolateConfig: SharedValue<InterpolateConfig>
|
|
659
|
+
): string | number;
|
|
660
|
+
|
|
597
661
|
export function makeMutable<T>(initialValue: T): SharedValue<T>;
|
|
598
662
|
|
|
599
663
|
type DependencyList = ReadonlyArray<any>;
|
|
@@ -965,6 +1029,12 @@ declare module 'react-native-reanimated' {
|
|
|
965
1029
|
y1: number,
|
|
966
1030
|
x2: number,
|
|
967
1031
|
y2: number
|
|
1032
|
+
): { factory: () => Animated.EasingFunction };
|
|
1033
|
+
bezierFn(
|
|
1034
|
+
x1: number,
|
|
1035
|
+
y1: number,
|
|
1036
|
+
x2: number,
|
|
1037
|
+
y2: number
|
|
968
1038
|
): Animated.EasingFunction;
|
|
969
1039
|
in(easing: Animated.EasingFunction): Animated.EasingFunction;
|
|
970
1040
|
out(easing: Animated.EasingFunction): Animated.EasingFunction;
|
|
@@ -1071,4 +1141,5 @@ declare module 'react-native-reanimated' {
|
|
|
1071
1141
|
export const SpringUtils: typeof Animated.SpringUtils;
|
|
1072
1142
|
export const useValue: typeof Animated.useValue;
|
|
1073
1143
|
export const ReverseAnimation: typeof Animated.ReverseAnimation;
|
|
1144
|
+
export function enableLayoutAnimations(flag: boolean): void;
|
|
1074
1145
|
}
|
package/src/Animated.js
CHANGED
|
@@ -1,17 +1,15 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { LogBox } from 'react-native';
|
|
2
2
|
import createAnimatedComponent from './createAnimatedComponent';
|
|
3
3
|
import {
|
|
4
4
|
addWhitelistedNativeProps,
|
|
5
5
|
addWhitelistedUIProps,
|
|
6
6
|
} from './ConfigHelper';
|
|
7
7
|
import * as reanimated1 from './reanimated1';
|
|
8
|
+
import ReanimatedComponents from './reanimated2/component';
|
|
8
9
|
|
|
9
10
|
const Animated = {
|
|
10
11
|
// components
|
|
11
|
-
|
|
12
|
-
Text: createAnimatedComponent(Text),
|
|
13
|
-
Image: createAnimatedComponent(Image),
|
|
14
|
-
ScrollView: createAnimatedComponent(ScrollView),
|
|
12
|
+
...ReanimatedComponents,
|
|
15
13
|
createAnimatedComponent,
|
|
16
14
|
// configuration
|
|
17
15
|
addWhitelistedNativeProps,
|
|
@@ -23,3 +21,11 @@ const Animated = {
|
|
|
23
21
|
export * from './reanimated2';
|
|
24
22
|
export * from './reanimated1';
|
|
25
23
|
export default Animated;
|
|
24
|
+
|
|
25
|
+
// I think we can ignore this message as long as Gesture Handler doesn't
|
|
26
|
+
// try to load the Reanimated module. I figured it should be here instead of
|
|
27
|
+
// RNGH because this prevents the message from being displayed for all
|
|
28
|
+
// versions of RNGH.
|
|
29
|
+
LogBox.ignoreLogs([
|
|
30
|
+
'RCTBridge required dispatch_sync to load RNGestureHandlerModule. This may lead to deadlocks',
|
|
31
|
+
]);
|