react-native-reanimated 2.8.0 → 3.0.0-rc.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/Fabric/FabricUtils.cpp +128 -0
- package/Common/cpp/Fabric/ReanimatedUIManagerBinding.cpp +197 -0
- package/Common/cpp/NativeModules/NativeReanimatedModule.cpp +311 -6
- package/Common/cpp/Registries/EventHandlerRegistry.cpp +14 -1
- package/Common/cpp/Registries/NewestShadowNodesRegistry.cpp +68 -0
- package/Common/cpp/SharedItems/ShareableValue.cpp +18 -0
- package/Common/cpp/Tools/Mapper.cpp +23 -4
- package/Common/cpp/Tools/RuntimeDecorator.cpp +92 -32
- package/Common/cpp/Tools/Scheduler.cpp +4 -0
- package/Common/cpp/headers/Fabric/FabricUtils.h +78 -0
- package/Common/cpp/headers/Fabric/ReanimatedUIManagerBinding.h +46 -0
- package/Common/cpp/headers/NativeModules/NativeReanimatedModule.h +72 -2
- package/Common/cpp/headers/Registries/EventHandlerRegistry.h +8 -0
- package/Common/cpp/headers/Registries/NewestShadowNodesRegistry.h +41 -0
- package/Common/cpp/headers/SharedItems/SharedParent.h +3 -0
- package/Common/cpp/headers/SharedItems/ValueWrapper.h +25 -0
- package/Common/cpp/headers/SpecTools/ErrorHandler.h +5 -0
- package/Common/cpp/headers/Tools/Mapper.h +1 -1
- package/Common/cpp/headers/Tools/PlatformDepMethodsHolder.h +43 -8
- package/Common/cpp/headers/Tools/RuntimeDecorator.h +8 -3
- package/README.md +4 -0
- package/RNReanimated.podspec +22 -11
- package/android/CMakeLists.txt +139 -27
- package/android/build.gradle +86 -209
- package/android/local.properties +1 -0
- package/android/src/fabric/java/com/swmansion/reanimated/NativeProxy.java +310 -0
- package/android/src/fabric/java/com/swmansion/reanimated/ReaCompatibility.java +25 -0
- package/android/src/main/cpp/NativeProxy.cpp +178 -33
- package/android/src/main/cpp/headers/NativeProxy.h +43 -7
- package/android/src/main/java/com/swmansion/reanimated/NodesManager.java +13 -245
- package/android/src/main/java/com/swmansion/reanimated/ReanimatedModule.java +0 -125
- package/android/src/main/java/com/swmansion/reanimated/layoutReanimation/LayoutAnimations.java +2 -1
- package/android/src/{main → paper}/java/com/swmansion/reanimated/NativeProxy.java +15 -2
- package/android/src/paper/java/com/swmansion/reanimated/ReaCompatibility.java +17 -0
- package/ios/Fabric/REAInitializerRCTFabricSurface.h +12 -0
- package/ios/Fabric/REAInitializerRCTFabricSurface.mm +73 -0
- package/ios/REAEventDispatcher.m +0 -1
- package/ios/REAModule.h +10 -1
- package/ios/REAModule.mm +284 -0
- package/ios/REANodesManager.h +27 -51
- package/ios/{REANodesManager.m → REANodesManager.mm} +91 -223
- package/ios/native/NativeProxy.mm +144 -17
- package/ios/native/REAInitializer.mm +12 -4
- package/ios/native/UIResponder+Reanimated.h +3 -1
- package/ios/native/UIResponder+Reanimated.mm +3 -1
- package/lib/Animated.js +0 -4
- package/lib/createAnimatedComponent.js +30 -169
- package/lib/index.js +0 -4
- package/lib/reanimated2/Easing.js +0 -42
- package/lib/reanimated2/NativeMethods.js +20 -3
- package/lib/reanimated2/UpdateProps.js +25 -10
- package/lib/reanimated2/core.js +4 -1
- package/lib/reanimated2/fabricUtils.js +18 -0
- package/lib/reanimated2/globals.d.ts +17 -1
- package/lib/reanimated2/hook/useAnimatedRef.js +6 -2
- package/lib/reanimated2/hook/utils.js +0 -5
- package/lib/reanimated2/interpolateColor.js +5 -2
- package/lib/reanimated2/interpolation.js +0 -15
- package/lib/reanimated2/js-reanimated/index.js +3 -0
- package/lib/types/{lib/ConfigHelper.d.ts → ConfigHelper.d.ts} +0 -0
- package/lib/types/{lib/ReanimatedEventEmitter.d.ts → ReanimatedEventEmitter.d.ts} +0 -0
- package/lib/types/{lib/ReanimatedModule.d.ts → ReanimatedModule.d.ts} +0 -0
- package/lib/types/{lib/ReanimatedModule.macos.d.ts → ReanimatedModule.macos.d.ts} +0 -0
- package/lib/types/{lib/ReanimatedModule.native.d.ts → ReanimatedModule.native.d.ts} +0 -0
- package/lib/types/{lib/ReanimatedModule.windows.d.ts → ReanimatedModule.windows.d.ts} +0 -0
- package/lib/types/{lib/ReanimatedModuleCompat.d.ts → ReanimatedModuleCompat.d.ts} +0 -0
- package/lib/types/{lib/createAnimatedComponent.d.ts → createAnimatedComponent.d.ts} +0 -0
- package/lib/types/{lib/reanimated2 → reanimated2}/Bezier.d.ts +0 -0
- package/lib/types/{lib/reanimated2 → reanimated2}/Colors.d.ts +0 -0
- package/lib/types/{lib/reanimated2 → reanimated2}/Easing.d.ts +0 -0
- package/lib/types/{lib/reanimated2 → reanimated2}/NativeMethods.d.ts +2 -1
- package/lib/types/{lib/reanimated2 → reanimated2}/NativeReanimated/NativeReanimated.d.ts +0 -0
- package/lib/types/{lib/reanimated2 → reanimated2}/NativeReanimated/index.d.ts +0 -0
- package/lib/types/{lib/reanimated2 → reanimated2}/PlatformChecker.d.ts +0 -0
- package/lib/types/{lib/reanimated2 → reanimated2}/PropAdapters.d.ts +0 -0
- package/lib/types/{lib/reanimated2 → reanimated2}/UpdateProps.d.ts +0 -0
- package/lib/types/{lib/reanimated2 → reanimated2}/ViewDescriptorsSet.d.ts +0 -0
- package/lib/types/{lib/reanimated2 → reanimated2}/WorkletEventHandler.d.ts +0 -0
- package/lib/types/{lib/reanimated2 → reanimated2}/__mocks__/MutableValue.d.ts +0 -0
- package/lib/types/{lib/reanimated2 → reanimated2}/__mocks__/NativeReanimated.d.ts +0 -0
- package/lib/types/{lib/reanimated2 → reanimated2}/__mocks__/NativeReanimated.native.d.ts +0 -0
- package/lib/types/{lib/reanimated2 → reanimated2}/animation/commonTypes.d.ts +0 -0
- package/lib/types/{lib/reanimated2 → reanimated2}/animation/decay.d.ts +0 -0
- package/lib/types/{lib/reanimated2 → reanimated2}/animation/delay.d.ts +0 -0
- package/lib/types/{lib/reanimated2 → reanimated2}/animation/index.d.ts +0 -0
- package/lib/types/{lib/reanimated2 → reanimated2}/animation/repeat.d.ts +0 -0
- package/lib/types/{lib/reanimated2 → reanimated2}/animation/sequence.d.ts +0 -0
- package/lib/types/{lib/reanimated2 → reanimated2}/animation/spring.d.ts +0 -0
- package/lib/types/{lib/reanimated2 → reanimated2}/animation/styleAnimation.d.ts +0 -0
- package/lib/types/{lib/reanimated2 → reanimated2}/animation/timing.d.ts +0 -0
- package/lib/types/{lib/reanimated2 → reanimated2}/animation/util.d.ts +0 -0
- package/lib/types/{lib/reanimated2 → reanimated2}/commonTypes.d.ts +2 -1
- package/lib/types/{lib/reanimated2 → reanimated2}/component/FlatList.d.ts +0 -0
- package/lib/types/{lib/reanimated2 → reanimated2}/component/WrappedComponents.d.ts +0 -0
- package/lib/types/{lib/reanimated2 → reanimated2}/component/index.d.ts +0 -0
- package/lib/types/{lib/reanimated2 → reanimated2}/core.d.ts +0 -0
- package/lib/types/reanimated2/fabricUtils.d.ts +4 -0
- package/lib/types/{lib/reanimated2 → reanimated2}/hook/Hooks.d.ts +0 -0
- package/lib/types/{lib/reanimated2 → reanimated2}/hook/commonTypes.d.ts +2 -1
- package/lib/types/{lib/reanimated2 → reanimated2}/hook/index.d.ts +1 -1
- package/lib/types/{lib/reanimated2 → reanimated2}/hook/useAnimatedGestureHandler.d.ts +2 -2
- package/lib/types/{lib/reanimated2 → reanimated2}/hook/useAnimatedReaction.d.ts +0 -0
- package/lib/types/{lib/reanimated2 → reanimated2}/hook/useAnimatedRef.d.ts +0 -0
- package/lib/types/{lib/reanimated2 → reanimated2}/hook/useAnimatedScrollHandler.d.ts +2 -2
- package/lib/types/{lib/reanimated2 → reanimated2}/hook/useAnimatedSensor.d.ts +0 -0
- package/lib/types/{lib/reanimated2 → reanimated2}/hook/useAnimatedStyle.d.ts +0 -0
- package/lib/types/{lib/reanimated2 → reanimated2}/hook/useDerivedValue.d.ts +0 -0
- package/lib/types/{lib/reanimated2 → reanimated2}/hook/useSharedValue.d.ts +0 -0
- package/lib/types/{lib/reanimated2 → reanimated2}/hook/utils.d.ts +2 -2
- package/lib/types/{lib/reanimated2 → reanimated2}/index.d.ts +0 -0
- package/lib/types/{lib/reanimated2 → reanimated2}/interpolateColor.d.ts +5 -0
- package/lib/types/{lib/reanimated2 → reanimated2}/interpolation.d.ts +1 -4
- package/lib/types/{lib/reanimated2 → reanimated2}/jestUtils.d.ts +0 -0
- package/lib/types/{lib/reanimated2 → reanimated2}/js-reanimated/JSReanimated.d.ts +0 -0
- package/lib/types/{lib/reanimated2 → reanimated2}/js-reanimated/Mapper.d.ts +0 -0
- package/lib/types/{lib/reanimated2 → reanimated2}/js-reanimated/MapperRegistry.d.ts +0 -0
- package/lib/types/{lib/reanimated2 → reanimated2}/js-reanimated/MutableValue.d.ts +0 -0
- package/lib/types/{lib/reanimated2 → reanimated2}/js-reanimated/commonTypes.d.ts +0 -0
- package/lib/types/{lib/reanimated2 → reanimated2}/js-reanimated/index.d.ts +0 -0
- package/lib/types/{lib/reanimated2 → reanimated2}/layoutReanimation/LayoutAnimationRepository.d.ts +0 -0
- package/lib/types/{lib/reanimated2 → reanimated2}/layoutReanimation/animationBuilder/BaseAnimationBuilder.d.ts +0 -0
- package/lib/types/{lib/reanimated2 → reanimated2}/layoutReanimation/animationBuilder/ComplexAnimationBuilder.d.ts +0 -0
- package/lib/types/{lib/reanimated2 → reanimated2}/layoutReanimation/animationBuilder/Keyframe.d.ts +0 -0
- package/lib/types/{lib/reanimated2 → reanimated2}/layoutReanimation/animationBuilder/commonTypes.d.ts +0 -0
- package/lib/types/{lib/reanimated2 → reanimated2}/layoutReanimation/animationBuilder/index.d.ts +0 -0
- package/lib/types/{lib/reanimated2 → reanimated2}/layoutReanimation/defaultAnimations/Bounce.d.ts +0 -0
- package/lib/types/{lib/reanimated2 → reanimated2}/layoutReanimation/defaultAnimations/Default.d.ts +0 -0
- package/lib/types/{lib/reanimated2 → reanimated2}/layoutReanimation/defaultAnimations/Fade.d.ts +0 -0
- package/lib/types/{lib/reanimated2 → reanimated2}/layoutReanimation/defaultAnimations/Flip.d.ts +0 -0
- package/lib/types/{lib/reanimated2 → reanimated2}/layoutReanimation/defaultAnimations/Lightspeed.d.ts +0 -0
- package/lib/types/{lib/reanimated2 → reanimated2}/layoutReanimation/defaultAnimations/Pinwheel.d.ts +0 -0
- package/lib/types/{lib/reanimated2 → reanimated2}/layoutReanimation/defaultAnimations/Roll.d.ts +0 -0
- package/lib/types/{lib/reanimated2 → reanimated2}/layoutReanimation/defaultAnimations/Rotate.d.ts +0 -0
- package/lib/types/{lib/reanimated2 → reanimated2}/layoutReanimation/defaultAnimations/Slide.d.ts +0 -0
- package/lib/types/{lib/reanimated2 → reanimated2}/layoutReanimation/defaultAnimations/Stretch.d.ts +0 -0
- package/lib/types/{lib/reanimated2 → reanimated2}/layoutReanimation/defaultAnimations/Zoom.d.ts +0 -0
- package/lib/types/{lib/reanimated2 → reanimated2}/layoutReanimation/defaultAnimations/index.d.ts +0 -0
- package/lib/types/{lib/reanimated2 → reanimated2}/layoutReanimation/defaultTransitions/CurvedTransition.d.ts +0 -0
- package/lib/types/{lib/reanimated2 → reanimated2}/layoutReanimation/defaultTransitions/EntryExitTransition.d.ts +0 -0
- package/lib/types/{lib/reanimated2 → reanimated2}/layoutReanimation/defaultTransitions/FadingTransition.d.ts +0 -0
- package/lib/types/{lib/reanimated2 → reanimated2}/layoutReanimation/defaultTransitions/JumpingTransition.d.ts +0 -0
- package/lib/types/{lib/reanimated2 → reanimated2}/layoutReanimation/defaultTransitions/LinearTransition.d.ts +0 -0
- package/lib/types/{lib/reanimated2 → reanimated2}/layoutReanimation/defaultTransitions/SequencedTransition.d.ts +0 -0
- package/lib/types/{lib/reanimated2 → reanimated2}/layoutReanimation/defaultTransitions/index.d.ts +0 -0
- package/lib/types/{lib/reanimated2 → reanimated2}/layoutReanimation/index.d.ts +0 -0
- package/lib/types/{lib/reanimated2 → reanimated2}/mock.d.ts +0 -0
- package/lib/types/{lib/reanimated2 → reanimated2}/platform-specific/RNRenderer.d.ts +0 -0
- package/lib/types/{lib/reanimated2 → reanimated2}/platform-specific/RNRenderer.web.d.ts +0 -0
- package/lib/types/{lib/reanimated2 → reanimated2}/utils.d.ts +0 -0
- package/lib/types/{lib/setAndForwardRef.d.ts → setAndForwardRef.d.ts} +0 -0
- package/package.json +7 -5
- package/plugin.js +4 -1
- package/src/Animated.js +0 -4
- package/src/createAnimatedComponent.tsx +37 -197
- package/src/reanimated2/Easing.ts +0 -53
- package/src/reanimated2/NativeMethods.ts +39 -7
- package/src/reanimated2/UpdateProps.ts +38 -19
- package/src/reanimated2/commonTypes.ts +4 -1
- package/src/reanimated2/component/FlatList.tsx +8 -5
- package/src/reanimated2/core.ts +7 -1
- package/src/reanimated2/fabricUtils.ts +27 -0
- package/src/reanimated2/globals.d.ts +17 -1
- package/src/reanimated2/hook/commonTypes.ts +4 -2
- package/src/reanimated2/hook/index.ts +1 -1
- package/src/reanimated2/hook/useAnimatedGestureHandler.ts +2 -2
- package/src/reanimated2/hook/useAnimatedRef.ts +8 -3
- package/src/reanimated2/hook/useAnimatedScrollHandler.ts +2 -2
- package/src/reanimated2/hook/utils.ts +2 -11
- package/src/reanimated2/interpolateColor.ts +6 -2
- package/src/reanimated2/interpolation.ts +1 -26
- package/src/reanimated2/js-reanimated/index.ts +5 -0
- package/android/.gradle/7.2/dependencies-accessors/dependencies-accessors.lock +0 -0
- package/android/.gradle/7.2/dependencies-accessors/gc.properties +0 -0
- package/android/.gradle/7.2/executionHistory/executionHistory.bin +0 -0
- package/android/.gradle/7.2/executionHistory/executionHistory.lock +0 -0
- package/android/.gradle/7.2/fileChanges/last-build.bin +0 -0
- package/android/.gradle/7.2/fileHashes/fileHashes.bin +0 -0
- package/android/.gradle/7.2/fileHashes/fileHashes.lock +0 -0
- package/android/.gradle/7.2/fileHashes/resourceHashesCache.bin +0 -0
- package/android/.gradle/7.2/gc.properties +0 -0
- package/android/.gradle/buildOutputCleanup/buildOutputCleanup.lock +0 -0
- package/android/.gradle/buildOutputCleanup/cache.properties +0 -2
- package/android/.gradle/buildOutputCleanup/outputFiles.bin +0 -0
- package/android/.gradle/checksums/checksums.lock +0 -0
- package/android/.gradle/checksums/md5-checksums.bin +0 -0
- package/android/.gradle/checksums/sha1-checksums.bin +0 -0
- package/android/.gradle/vcs-1/gc.properties +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/android/react-native-reanimated-68-hermes.aar +0 -0
- package/android/react-native-reanimated-68-jsc.aar +0 -0
- package/android/src/main/java/com/swmansion/reanimated/UpdateContext.java +0 -11
- package/android/src/main/java/com/swmansion/reanimated/nodes/AlwaysNode.java +0 -29
- package/android/src/main/java/com/swmansion/reanimated/nodes/BezierNode.java +0 -87
- package/android/src/main/java/com/swmansion/reanimated/nodes/BlockNode.java +0 -24
- package/android/src/main/java/com/swmansion/reanimated/nodes/CallFuncNode.java +0 -49
- package/android/src/main/java/com/swmansion/reanimated/nodes/ClockNode.java +0 -38
- package/android/src/main/java/com/swmansion/reanimated/nodes/ClockOpNode.java +0 -73
- package/android/src/main/java/com/swmansion/reanimated/nodes/ConcatNode.java +0 -36
- package/android/src/main/java/com/swmansion/reanimated/nodes/CondNode.java +0 -41
- package/android/src/main/java/com/swmansion/reanimated/nodes/DebugNode.java +0 -33
- package/android/src/main/java/com/swmansion/reanimated/nodes/EventNode.java +0 -83
- package/android/src/main/java/com/swmansion/reanimated/nodes/FinalNode.java +0 -5
- package/android/src/main/java/com/swmansion/reanimated/nodes/FunctionNode.java +0 -20
- package/android/src/main/java/com/swmansion/reanimated/nodes/JSCallNode.java +0 -41
- package/android/src/main/java/com/swmansion/reanimated/nodes/Node.java +0 -139
- package/android/src/main/java/com/swmansion/reanimated/nodes/NoopNode.java +0 -37
- package/android/src/main/java/com/swmansion/reanimated/nodes/OperatorNode.java +0 -377
- package/android/src/main/java/com/swmansion/reanimated/nodes/ParamNode.java +0 -71
- package/android/src/main/java/com/swmansion/reanimated/nodes/PropsNode.java +0 -153
- package/android/src/main/java/com/swmansion/reanimated/nodes/SetNode.java +0 -32
- package/android/src/main/java/com/swmansion/reanimated/nodes/StyleNode.java +0 -40
- package/android/src/main/java/com/swmansion/reanimated/nodes/TransformNode.java +0 -84
- package/android/src/main/java/com/swmansion/reanimated/nodes/ValueNode.java +0 -40
- package/android/src/main/java/com/swmansion/reanimated/transitions/ChangeTransition.java +0 -84
- package/android/src/main/java/com/swmansion/reanimated/transitions/SaneSidePropagation.java +0 -25
- package/android/src/main/java/com/swmansion/reanimated/transitions/Scale.java +0 -86
- package/android/src/main/java/com/swmansion/reanimated/transitions/TransitionModule.java +0 -41
- package/android/src/main/java/com/swmansion/reanimated/transitions/TransitionUtils.java +0 -161
- package/ios/Nodes/REAAlwaysNode.h +0 -4
- package/ios/Nodes/REAAlwaysNode.m +0 -35
- package/ios/Nodes/REABezierNode.h +0 -5
- package/ios/Nodes/REABezierNode.m +0 -103
- package/ios/Nodes/REABlockNode.h +0 -5
- package/ios/Nodes/REABlockNode.m +0 -25
- package/ios/Nodes/REACallFuncNode.h +0 -6
- package/ios/Nodes/REACallFuncNode.m +0 -69
- package/ios/Nodes/REAClockNodes.h +0 -19
- package/ios/Nodes/REAClockNodes.m +0 -118
- package/ios/Nodes/REAConcatNode.h +0 -5
- package/ios/Nodes/REAConcatNode.m +0 -32
- package/ios/Nodes/REACondNode.h +0 -5
- package/ios/Nodes/REACondNode.m +0 -36
- package/ios/Nodes/READebugNode.h +0 -5
- package/ios/Nodes/READebugNode.m +0 -30
- package/ios/Nodes/REAEventNode.h +0 -8
- package/ios/Nodes/REAEventNode.m +0 -35
- package/ios/Nodes/REAFunctionNode.h +0 -6
- package/ios/Nodes/REAFunctionNode.m +0 -24
- package/ios/Nodes/REAJSCallNode.h +0 -5
- package/ios/Nodes/REAJSCallNode.m +0 -30
- package/ios/Nodes/REANode.h +0 -40
- package/ios/Nodes/REANode.m +0 -155
- package/ios/Nodes/REAOperatorNode.h +0 -5
- package/ios/Nodes/REAOperatorNode.m +0 -114
- package/ios/Nodes/REAParamNode.h +0 -10
- package/ios/Nodes/REAParamNode.m +0 -79
- package/ios/Nodes/REAPropsNode.h +0 -9
- package/ios/Nodes/REAPropsNode.m +0 -96
- package/ios/Nodes/REASetNode.h +0 -5
- package/ios/Nodes/REASetNode.m +0 -34
- package/ios/Nodes/REAStyleNode.h +0 -5
- package/ios/Nodes/REAStyleNode.m +0 -27
- package/ios/Nodes/REATransformNode.h +0 -5
- package/ios/Nodes/REATransformNode.m +0 -36
- package/ios/Nodes/REAValueNode.h +0 -9
- package/ios/Nodes/REAValueNode.m +0 -26
- package/ios/REAModule.m +0 -184
- package/ios/Transitioning/RCTConvert+REATransition.h +0 -11
- package/ios/Transitioning/RCTConvert+REATransition.m +0 -53
- package/ios/Transitioning/REAAllTransitions.h +0 -26
- package/ios/Transitioning/REAAllTransitions.m +0 -296
- package/ios/Transitioning/REATransition.h +0 -64
- package/ios/Transitioning/REATransition.m +0 -210
- package/ios/Transitioning/REATransitionAnimation.h +0 -17
- package/ios/Transitioning/REATransitionAnimation.m +0 -79
- package/ios/Transitioning/REATransitionManager.h +0 -9
- package/ios/Transitioning/REATransitionManager.m +0 -60
- package/ios/Transitioning/REATransitionValues.h +0 -15
- package/ios/Transitioning/REATransitionValues.m +0 -25
- package/lib/reanimated1/Easing.js +0 -231
- package/lib/reanimated1/SpringConfig.js +0 -79
- package/lib/reanimated1/Transitioning.js +0 -158
- package/lib/reanimated1/animations/Animation.js +0 -32
- package/lib/reanimated1/animations/SpringUtils.js +0 -199
- package/lib/reanimated1/animations/backwardCompatibleAnimWrapper.js +0 -117
- package/lib/reanimated1/animations/decay.js +0 -54
- package/lib/reanimated1/animations/spring.js +0 -198
- package/lib/reanimated1/animations/timing.js +0 -74
- package/lib/reanimated1/base.js +0 -13
- package/lib/reanimated1/core/AnimatedAlways.js +0 -33
- package/lib/reanimated1/core/AnimatedBezier.js +0 -150
- package/lib/reanimated1/core/AnimatedBlock.js +0 -52
- package/lib/reanimated1/core/AnimatedCall.js +0 -55
- package/lib/reanimated1/core/AnimatedCallFunc.js +0 -72
- package/lib/reanimated1/core/AnimatedClock.js +0 -90
- package/lib/reanimated1/core/AnimatedClockTest.js +0 -22
- package/lib/reanimated1/core/AnimatedCode.js +0 -32
- package/lib/reanimated1/core/AnimatedConcat.js +0 -32
- package/lib/reanimated1/core/AnimatedCond.js +0 -57
- package/lib/reanimated1/core/AnimatedDebug.js +0 -62
- package/lib/reanimated1/core/AnimatedEvent.js +0 -126
- package/lib/reanimated1/core/AnimatedFunction.js +0 -55
- package/lib/reanimated1/core/AnimatedNode.js +0 -223
- package/lib/reanimated1/core/AnimatedOperator.js +0 -103
- package/lib/reanimated1/core/AnimatedParam.js +0 -88
- package/lib/reanimated1/core/AnimatedProps.js +0 -108
- package/lib/reanimated1/core/AnimatedSet.js +0 -38
- package/lib/reanimated1/core/AnimatedStartClock.js +0 -30
- package/lib/reanimated1/core/AnimatedStopClock.js +0 -30
- package/lib/reanimated1/core/AnimatedStyle.js +0 -78
- package/lib/reanimated1/core/AnimatedTransform.js +0 -78
- package/lib/reanimated1/core/AnimatedValue.js +0 -38
- package/lib/reanimated1/core/Core.test.js +0 -30
- package/lib/reanimated1/core/InternalAnimatedValue.js +0 -87
- package/lib/reanimated1/core/__mocks__/AnimatedProps.js +0 -86
- package/lib/reanimated1/core/createEventObjectProxyPolyfill.js +0 -44
- package/lib/reanimated1/derived/__mocks__/evaluateOnce.js +0 -14
- package/lib/reanimated1/derived/acc.js +0 -11
- package/lib/reanimated1/derived/color.js +0 -47
- package/lib/reanimated1/derived/diff.js +0 -16
- package/lib/reanimated1/derived/diffClamp.js +0 -11
- package/lib/reanimated1/derived/evaluateOnce.js +0 -35
- package/lib/reanimated1/derived/index.js +0 -8
- package/lib/reanimated1/derived/interpolate.js +0 -152
- package/lib/reanimated1/derived/interpolateColors.js +0 -62
- package/lib/reanimated1/derived/onChange.js +0 -14
- package/lib/reanimated1/derived/useCode.js +0 -41
- package/lib/reanimated1/index.js +0 -53
- package/lib/reanimated1/operators.js +0 -35
- package/lib/reanimated1/useValue.js +0 -10
- package/lib/reanimated1/val.js +0 -3
- package/lib/types/react-native-reanimated-tests.d.ts +0 -1
- package/src/reanimated1/Easing.js +0 -231
- package/src/reanimated1/SpringConfig.js +0 -79
- package/src/reanimated1/Transitioning.js +0 -158
- package/src/reanimated1/animations/Animation.js +0 -32
- package/src/reanimated1/animations/SpringUtils.js +0 -199
- package/src/reanimated1/animations/backwardCompatibleAnimWrapper.js +0 -117
- package/src/reanimated1/animations/decay.js +0 -54
- package/src/reanimated1/animations/spring.js +0 -198
- package/src/reanimated1/animations/timing.js +0 -74
- package/src/reanimated1/base.js +0 -13
- package/src/reanimated1/core/AnimatedAlways.js +0 -33
- package/src/reanimated1/core/AnimatedBezier.js +0 -150
- package/src/reanimated1/core/AnimatedBlock.js +0 -52
- package/src/reanimated1/core/AnimatedCall.js +0 -55
- package/src/reanimated1/core/AnimatedCallFunc.js +0 -72
- package/src/reanimated1/core/AnimatedClock.js +0 -90
- package/src/reanimated1/core/AnimatedClockTest.js +0 -22
- package/src/reanimated1/core/AnimatedCode.js +0 -32
- package/src/reanimated1/core/AnimatedConcat.js +0 -32
- package/src/reanimated1/core/AnimatedCond.js +0 -57
- package/src/reanimated1/core/AnimatedDebug.js +0 -62
- package/src/reanimated1/core/AnimatedEvent.js +0 -126
- package/src/reanimated1/core/AnimatedFunction.js +0 -55
- package/src/reanimated1/core/AnimatedNode.js +0 -223
- package/src/reanimated1/core/AnimatedOperator.js +0 -103
- package/src/reanimated1/core/AnimatedParam.js +0 -88
- package/src/reanimated1/core/AnimatedProps.js +0 -108
- package/src/reanimated1/core/AnimatedSet.js +0 -38
- package/src/reanimated1/core/AnimatedStartClock.js +0 -30
- package/src/reanimated1/core/AnimatedStopClock.js +0 -30
- package/src/reanimated1/core/AnimatedStyle.js +0 -78
- package/src/reanimated1/core/AnimatedTransform.js +0 -78
- package/src/reanimated1/core/AnimatedValue.js +0 -38
- package/src/reanimated1/core/Core.test.js +0 -30
- package/src/reanimated1/core/InternalAnimatedValue.js +0 -87
- package/src/reanimated1/core/__mocks__/AnimatedProps.js +0 -86
- package/src/reanimated1/core/createEventObjectProxyPolyfill.js +0 -44
- package/src/reanimated1/derived/__mocks__/evaluateOnce.js +0 -14
- package/src/reanimated1/derived/acc.js +0 -11
- package/src/reanimated1/derived/color.js +0 -47
- package/src/reanimated1/derived/diff.js +0 -16
- package/src/reanimated1/derived/diffClamp.js +0 -11
- package/src/reanimated1/derived/evaluateOnce.js +0 -35
- package/src/reanimated1/derived/index.js +0 -8
- package/src/reanimated1/derived/interpolate.js +0 -152
- package/src/reanimated1/derived/interpolateColors.js +0 -62
- package/src/reanimated1/derived/onChange.js +0 -14
- package/src/reanimated1/derived/useCode.js +0 -41
- package/src/reanimated1/index.js +0 -53
- package/src/reanimated1/operators.js +0 -35
- package/src/reanimated1/useValue.js +0 -10
- package/src/reanimated1/val.js +0 -3
|
@@ -1,79 +0,0 @@
|
|
|
1
|
-
#import <RNReanimated/REATransitionAnimation.h>
|
|
2
|
-
#import <UIKit/UIKit.h>
|
|
3
|
-
|
|
4
|
-
#define DEFAULT_DURATION 0.25
|
|
5
|
-
|
|
6
|
-
#if TARGET_IPHONE_SIMULATOR
|
|
7
|
-
// Based on https://stackoverflow.com/a/13307674
|
|
8
|
-
float UIAnimationDragCoefficient(void);
|
|
9
|
-
#endif
|
|
10
|
-
|
|
11
|
-
CGFloat SimAnimationDragCoefficient()
|
|
12
|
-
{
|
|
13
|
-
#if TARGET_IPHONE_SIMULATOR
|
|
14
|
-
if (NSClassFromString(@"XCTest") != nil) {
|
|
15
|
-
// UIAnimationDragCoefficient is 10.0 in tests for some reason, but
|
|
16
|
-
// we need it to be 1.0.
|
|
17
|
-
return 1.0;
|
|
18
|
-
} else {
|
|
19
|
-
return (CGFloat)UIAnimationDragCoefficient();
|
|
20
|
-
}
|
|
21
|
-
#else
|
|
22
|
-
return 1.0;
|
|
23
|
-
#endif
|
|
24
|
-
}
|
|
25
|
-
|
|
26
|
-
@implementation REATransitionAnimation {
|
|
27
|
-
NSTimeInterval _delay;
|
|
28
|
-
}
|
|
29
|
-
|
|
30
|
-
+ (REATransitionAnimation *)transitionWithAnimation:(CAAnimation *)animation
|
|
31
|
-
layer:(CALayer *)layer
|
|
32
|
-
andKeyPath:(NSString *)keyPath;
|
|
33
|
-
{
|
|
34
|
-
REATransitionAnimation *anim = [REATransitionAnimation new];
|
|
35
|
-
anim.animation = animation;
|
|
36
|
-
anim.layer = layer;
|
|
37
|
-
anim.keyPath = keyPath;
|
|
38
|
-
return anim;
|
|
39
|
-
}
|
|
40
|
-
|
|
41
|
-
- (void)play
|
|
42
|
-
{
|
|
43
|
-
/*
|
|
44
|
-
CACurrentMediaTime introduces some kind of delay even if _delay is set to 0
|
|
45
|
-
it calls mach_absolute_time() which is based on the last time the device booted
|
|
46
|
-
which might cause the delay
|
|
47
|
-
*/
|
|
48
|
-
if (_delay > 0) {
|
|
49
|
-
_animation.beginTime = CACurrentMediaTime() + _delay * SimAnimationDragCoefficient();
|
|
50
|
-
}
|
|
51
|
-
_animation.duration = self.duration * SimAnimationDragCoefficient();
|
|
52
|
-
[_layer addAnimation:_animation forKey:_keyPath];
|
|
53
|
-
}
|
|
54
|
-
|
|
55
|
-
- (void)delayBy:(CFTimeInterval)delay
|
|
56
|
-
{
|
|
57
|
-
if (delay <= 0) {
|
|
58
|
-
return;
|
|
59
|
-
}
|
|
60
|
-
_delay += delay;
|
|
61
|
-
}
|
|
62
|
-
|
|
63
|
-
- (CFTimeInterval)duration
|
|
64
|
-
{
|
|
65
|
-
if (_animation.duration == 0) {
|
|
66
|
-
return DEFAULT_DURATION;
|
|
67
|
-
}
|
|
68
|
-
return _animation.duration;
|
|
69
|
-
}
|
|
70
|
-
|
|
71
|
-
- (CFTimeInterval)finishTime
|
|
72
|
-
{
|
|
73
|
-
if (_animation.beginTime == 0) {
|
|
74
|
-
return CACurrentMediaTime() + self.duration + _delay;
|
|
75
|
-
}
|
|
76
|
-
return _animation.beginTime + self.duration + _delay;
|
|
77
|
-
}
|
|
78
|
-
|
|
79
|
-
@end
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
#import <Foundation/Foundation.h>
|
|
2
|
-
#import <React/RCTUIManager.h>
|
|
3
|
-
|
|
4
|
-
@interface REATransitionManager : NSObject
|
|
5
|
-
|
|
6
|
-
- (instancetype)initWithUIManager:(RCTUIManager *)uiManager;
|
|
7
|
-
- (void)animateNextTransitionInRoot:(nonnull NSNumber *)reactTag withConfig:(NSDictionary *)config;
|
|
8
|
-
|
|
9
|
-
@end
|
|
@@ -1,60 +0,0 @@
|
|
|
1
|
-
#import <RNReanimated/REATransition.h>
|
|
2
|
-
#import <RNReanimated/REATransitionManager.h>
|
|
3
|
-
#import <React/RCTUIManager.h>
|
|
4
|
-
#import <React/RCTUIManagerObserverCoordinator.h>
|
|
5
|
-
|
|
6
|
-
@interface REATransitionManager () <RCTUIManagerObserver>
|
|
7
|
-
@end
|
|
8
|
-
|
|
9
|
-
@implementation REATransitionManager {
|
|
10
|
-
REATransition *_pendingTransition;
|
|
11
|
-
UIView *_pendingTransitionRoot;
|
|
12
|
-
RCTUIManager *_uiManager;
|
|
13
|
-
}
|
|
14
|
-
|
|
15
|
-
- (instancetype)initWithUIManager:(id)uiManager
|
|
16
|
-
{
|
|
17
|
-
if (self = [super init]) {
|
|
18
|
-
_uiManager = uiManager;
|
|
19
|
-
}
|
|
20
|
-
return self;
|
|
21
|
-
}
|
|
22
|
-
|
|
23
|
-
- (void)beginTransition:(REATransition *)transition forView:(UIView *)view
|
|
24
|
-
{
|
|
25
|
-
RCTAssertMainQueue();
|
|
26
|
-
if (_pendingTransition != nil) {
|
|
27
|
-
return;
|
|
28
|
-
}
|
|
29
|
-
_pendingTransition = transition;
|
|
30
|
-
_pendingTransitionRoot = view;
|
|
31
|
-
[transition startCaptureInRoot:view];
|
|
32
|
-
}
|
|
33
|
-
|
|
34
|
-
- (void)uiManagerWillPerformMounting:(RCTUIManager *)manager
|
|
35
|
-
{
|
|
36
|
-
[manager addUIBlock:^(RCTUIManager *uiManager, NSDictionary<NSNumber *, UIView *> *viewRegistry) {
|
|
37
|
-
[_pendingTransition playInRoot:_pendingTransitionRoot];
|
|
38
|
-
_pendingTransitionRoot = nil;
|
|
39
|
-
_pendingTransition = nil;
|
|
40
|
-
}];
|
|
41
|
-
}
|
|
42
|
-
|
|
43
|
-
- (void)animateNextTransitionInRoot:(NSNumber *)reactTag withConfig:(NSDictionary *)config
|
|
44
|
-
{
|
|
45
|
-
[_uiManager.observerCoordinator addObserver:self];
|
|
46
|
-
[_uiManager prependUIBlock:^(RCTUIManager *uiManager, NSDictionary<NSNumber *, UIView *> *viewRegistry) {
|
|
47
|
-
UIView *view = viewRegistry[reactTag];
|
|
48
|
-
NSArray *transitionConfigs = [RCTConvert NSArray:config[@"transitions"]];
|
|
49
|
-
for (id transitionConfig in transitionConfigs) {
|
|
50
|
-
REATransition *transition = [REATransition inflate:transitionConfig];
|
|
51
|
-
[self beginTransition:transition forView:view];
|
|
52
|
-
}
|
|
53
|
-
}];
|
|
54
|
-
__weak id weakSelf = self;
|
|
55
|
-
[_uiManager addUIBlock:^(RCTUIManager *uiManager, NSDictionary<NSNumber *, UIView *> *viewRegistry) {
|
|
56
|
-
[uiManager.observerCoordinator removeObserver:weakSelf];
|
|
57
|
-
}];
|
|
58
|
-
}
|
|
59
|
-
|
|
60
|
-
@end
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
#import <UIKit/UIKit.h>
|
|
2
|
-
|
|
3
|
-
@interface REATransitionValues : NSObject
|
|
4
|
-
|
|
5
|
-
@property (nonatomic) CGPoint center;
|
|
6
|
-
@property (nonatomic) CGRect bounds;
|
|
7
|
-
@property (nonatomic) CGPoint centerRelativeToRoot;
|
|
8
|
-
@property (nonatomic, retain) UIView *view;
|
|
9
|
-
@property (nonatomic, retain) UIView *parent;
|
|
10
|
-
@property (nonatomic, retain) UIView *reactParent;
|
|
11
|
-
@property (nonatomic) CGPoint centerInReactParent;
|
|
12
|
-
|
|
13
|
-
- (instancetype)initWithView:(UIView *)view forRoot:(UIView *)root;
|
|
14
|
-
|
|
15
|
-
@end
|
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
#import <RNReanimated/REATransition.h>
|
|
2
|
-
#import <RNReanimated/REATransitionValues.h>
|
|
3
|
-
#import <React/RCTView.h>
|
|
4
|
-
#import <React/RCTViewManager.h>
|
|
5
|
-
|
|
6
|
-
@implementation REATransitionValues
|
|
7
|
-
|
|
8
|
-
- (instancetype)initWithView:(UIView *)view forRoot:(UIView *)root
|
|
9
|
-
{
|
|
10
|
-
if (self = [super init]) {
|
|
11
|
-
_view = view;
|
|
12
|
-
_parent = view.superview;
|
|
13
|
-
_reactParent = view.reactSuperview;
|
|
14
|
-
while (_reactParent != nil && _reactParent != root && IS_LAYOUT_ONLY(_reactParent)) {
|
|
15
|
-
_reactParent = _reactParent.reactSuperview;
|
|
16
|
-
}
|
|
17
|
-
_center = view.center;
|
|
18
|
-
_bounds = view.bounds;
|
|
19
|
-
_centerRelativeToRoot = [_parent convertPoint:_center toView:root];
|
|
20
|
-
_centerInReactParent = [_parent convertPoint:_center toView:_reactParent];
|
|
21
|
-
}
|
|
22
|
-
return self;
|
|
23
|
-
}
|
|
24
|
-
|
|
25
|
-
@end
|
|
@@ -1,231 +0,0 @@
|
|
|
1
|
-
import {
|
|
2
|
-
cond,
|
|
3
|
-
lessThan,
|
|
4
|
-
multiply,
|
|
5
|
-
pow,
|
|
6
|
-
cos,
|
|
7
|
-
sqrt,
|
|
8
|
-
sub,
|
|
9
|
-
add,
|
|
10
|
-
divide,
|
|
11
|
-
} from './base';
|
|
12
|
-
import AnimatedBezier from './core/AnimatedBezier';
|
|
13
|
-
|
|
14
|
-
/**
|
|
15
|
-
* The `Easing` module implements common easing functions. This module is used
|
|
16
|
-
* by [Animate.timing()](docs/animate.html#timing) to convey physically
|
|
17
|
-
* believable motion in animations.
|
|
18
|
-
*
|
|
19
|
-
* You can find a visualization of some common easing functions at
|
|
20
|
-
* http://easings.net/
|
|
21
|
-
*
|
|
22
|
-
* ### Predefined animations
|
|
23
|
-
*
|
|
24
|
-
* The `Easing` module provides several predefined animations through the
|
|
25
|
-
* following methods:
|
|
26
|
-
*
|
|
27
|
-
* - [`back`](docs/easing.html#back) provides a simple animation where the
|
|
28
|
-
* object goes slightly back before moving forward
|
|
29
|
-
* - [`bounce`](docs/easing.html#bounce) provides a bouncing animation
|
|
30
|
-
* - [`ease`](docs/easing.html#ease) provides a simple inertial animation
|
|
31
|
-
* - [`elastic`](docs/easing.html#elastic) provides a simple spring interaction
|
|
32
|
-
*
|
|
33
|
-
* ### Standard functions
|
|
34
|
-
*
|
|
35
|
-
* Three standard easing functions are provided:
|
|
36
|
-
*
|
|
37
|
-
* - [`linear`](docs/easing.html#linear)
|
|
38
|
-
* - [`quad`](docs/easing.html#quad)
|
|
39
|
-
* - [`cubic`](docs/easing.html#cubic)
|
|
40
|
-
*
|
|
41
|
-
* The [`poly`](docs/easing.html#poly) function can be used to implement
|
|
42
|
-
* quartic, quintic, and other higher power functions.
|
|
43
|
-
*
|
|
44
|
-
* ### Additional functions
|
|
45
|
-
*
|
|
46
|
-
* Additional mathematical functions are provided by the following methods:
|
|
47
|
-
*
|
|
48
|
-
* - [`bezier`](docs/easing.html#bezier) provides a cubic bezier curve
|
|
49
|
-
* - [`circle`](docs/easing.html#circle) provides a circular function
|
|
50
|
-
* - [`sin`](docs/easing.html#sin) provides a sinusoidal function
|
|
51
|
-
* - [`exp`](docs/easing.html#exp) provides an exponential function
|
|
52
|
-
*
|
|
53
|
-
* The following helpers are used to modify other easing functions.
|
|
54
|
-
*
|
|
55
|
-
* - [`in`](docs/easing.html#in) runs an easing function forwards
|
|
56
|
-
* - [`inOut`](docs/easing.html#inout) makes any easing function symmetrical
|
|
57
|
-
* - [`out`](docs/easing.html#out) runs an easing function backwards
|
|
58
|
-
*/
|
|
59
|
-
export default class Easing {
|
|
60
|
-
/**
|
|
61
|
-
* A linear function, `f(t) = t`. Position correlates to elapsed time one to
|
|
62
|
-
* one.
|
|
63
|
-
*
|
|
64
|
-
* http://cubic-bezier.com/#0,0,1,1
|
|
65
|
-
*/
|
|
66
|
-
static linear(t) {
|
|
67
|
-
return t;
|
|
68
|
-
}
|
|
69
|
-
|
|
70
|
-
/**
|
|
71
|
-
* A simple inertial interaction, similar to an object slowly accelerating to
|
|
72
|
-
* speed.
|
|
73
|
-
*
|
|
74
|
-
* http://cubic-bezier.com/#.42,0,1,1
|
|
75
|
-
*/
|
|
76
|
-
static ease(t) {
|
|
77
|
-
return new AnimatedBezier(t, 0.42, 0, 1, 1);
|
|
78
|
-
}
|
|
79
|
-
|
|
80
|
-
/**
|
|
81
|
-
* A quadratic function, `f(t) = t * t`. Position equals the square of elapsed
|
|
82
|
-
* time.
|
|
83
|
-
*
|
|
84
|
-
* http://easings.net/#easeInQuad
|
|
85
|
-
*/
|
|
86
|
-
static quad(t) {
|
|
87
|
-
return multiply(t, t);
|
|
88
|
-
}
|
|
89
|
-
|
|
90
|
-
/**
|
|
91
|
-
* A cubic function, `f(t) = t * t * t`. Position equals the cube of elapsed
|
|
92
|
-
* time.
|
|
93
|
-
*
|
|
94
|
-
* http://easings.net/#easeInCubic
|
|
95
|
-
*/
|
|
96
|
-
static cubic(t) {
|
|
97
|
-
return multiply(t, t, t);
|
|
98
|
-
}
|
|
99
|
-
|
|
100
|
-
/**
|
|
101
|
-
* A power function. Position is equal to the Nth power of elapsed time.
|
|
102
|
-
*
|
|
103
|
-
* n = 4: http://easings.net/#easeInQuart
|
|
104
|
-
* n = 5: http://easings.net/#easeInQuint
|
|
105
|
-
*/
|
|
106
|
-
static poly(n) {
|
|
107
|
-
return (t) => pow(t, n);
|
|
108
|
-
}
|
|
109
|
-
|
|
110
|
-
/**
|
|
111
|
-
* A sinusoidal function.
|
|
112
|
-
*
|
|
113
|
-
* http://easings.net/#easeInSine
|
|
114
|
-
*/
|
|
115
|
-
static sin(t) {
|
|
116
|
-
return sub(1, cos(multiply(t, Math.PI, 0.5)));
|
|
117
|
-
}
|
|
118
|
-
|
|
119
|
-
/**
|
|
120
|
-
* A circular function.
|
|
121
|
-
*
|
|
122
|
-
* http://easings.net/#easeInCirc
|
|
123
|
-
*/
|
|
124
|
-
static circle(t) {
|
|
125
|
-
return sub(1, sqrt(sub(1, multiply(t, t))));
|
|
126
|
-
}
|
|
127
|
-
|
|
128
|
-
/**
|
|
129
|
-
* An exponential function.
|
|
130
|
-
*
|
|
131
|
-
* http://easings.net/#easeInExpo
|
|
132
|
-
*/
|
|
133
|
-
static exp(t) {
|
|
134
|
-
return pow(2, multiply(10, sub(t, 1)));
|
|
135
|
-
}
|
|
136
|
-
|
|
137
|
-
/**
|
|
138
|
-
* A simple elastic interaction, similar to a spring oscillating back and
|
|
139
|
-
* forth.
|
|
140
|
-
*
|
|
141
|
-
* Default bounciness is 1, which overshoots a little bit once. 0 bounciness
|
|
142
|
-
* doesn't overshoot at all, and bounciness of N > 1 will overshoot about N
|
|
143
|
-
* times.
|
|
144
|
-
*
|
|
145
|
-
* http://easings.net/#easeInElastic
|
|
146
|
-
*/
|
|
147
|
-
static elastic(bounciness = 1) {
|
|
148
|
-
const p = bounciness * Math.PI;
|
|
149
|
-
return (t) =>
|
|
150
|
-
sub(
|
|
151
|
-
1,
|
|
152
|
-
multiply(pow(cos(multiply(t, Math.PI, 0.5)), 3), cos(multiply(t, p)))
|
|
153
|
-
);
|
|
154
|
-
}
|
|
155
|
-
|
|
156
|
-
/**
|
|
157
|
-
* Use with `Animated.parallel()` to create a simple effect where the object
|
|
158
|
-
* animates back slightly as the animation starts.
|
|
159
|
-
*
|
|
160
|
-
* Wolfram Plot:
|
|
161
|
-
*
|
|
162
|
-
* - http://tiny.cc/back_default (s = 1.70158, default)
|
|
163
|
-
*/
|
|
164
|
-
static back(s) {
|
|
165
|
-
if (s === undefined) {
|
|
166
|
-
s = 1.70158;
|
|
167
|
-
}
|
|
168
|
-
return (t) => multiply(t, t, sub(multiply(add(s, 1), t), s));
|
|
169
|
-
}
|
|
170
|
-
|
|
171
|
-
/**
|
|
172
|
-
* Provides a simple bouncing effect.
|
|
173
|
-
*
|
|
174
|
-
* http://easings.net/#easeInBounce
|
|
175
|
-
*/
|
|
176
|
-
static bounce(t) {
|
|
177
|
-
const sq = (v) => multiply(7.5625, v, v);
|
|
178
|
-
return cond(
|
|
179
|
-
lessThan(t, 1 / 2.75),
|
|
180
|
-
sq(t),
|
|
181
|
-
cond(
|
|
182
|
-
lessThan(t, 2 / 2.75),
|
|
183
|
-
add(0.75, sq(sub(t, 1.5 / 2.75))),
|
|
184
|
-
cond(
|
|
185
|
-
lessThan(t, 2.5 / 2.76),
|
|
186
|
-
add(0.9375, sq(sub(t, 2.25 / 2.75))),
|
|
187
|
-
add(0.984375, sq(sub(t, 2.625 / 2.75)))
|
|
188
|
-
)
|
|
189
|
-
)
|
|
190
|
-
);
|
|
191
|
-
}
|
|
192
|
-
|
|
193
|
-
/**
|
|
194
|
-
* Provides a cubic bezier curve, equivalent to CSS Transitions'
|
|
195
|
-
* `transition-timing-function`.
|
|
196
|
-
*
|
|
197
|
-
* A useful tool to visualize cubic bezier curves can be found at
|
|
198
|
-
* http://cubic-bezier.com/
|
|
199
|
-
*/
|
|
200
|
-
static bezier(x1, y1, x2, y2) {
|
|
201
|
-
return (t) => new AnimatedBezier(t, x1, y1, x2, y2);
|
|
202
|
-
}
|
|
203
|
-
|
|
204
|
-
/**
|
|
205
|
-
* Runs an easing function forwards.
|
|
206
|
-
*/
|
|
207
|
-
static in(easing) {
|
|
208
|
-
return easing;
|
|
209
|
-
}
|
|
210
|
-
|
|
211
|
-
/**
|
|
212
|
-
* Runs an easing function backwards.
|
|
213
|
-
*/
|
|
214
|
-
static out(easing) {
|
|
215
|
-
return (t) => sub(1, easing(sub(1, t)));
|
|
216
|
-
}
|
|
217
|
-
|
|
218
|
-
/**
|
|
219
|
-
* Makes any easing function symmetrical. The easing function will run
|
|
220
|
-
* forwards for half of the duration, then backwards for the rest of the
|
|
221
|
-
* duration.
|
|
222
|
-
*/
|
|
223
|
-
static inOut(easing) {
|
|
224
|
-
return (t) =>
|
|
225
|
-
cond(
|
|
226
|
-
lessThan(t, 0.5),
|
|
227
|
-
divide(easing(multiply(t, 2)), 2),
|
|
228
|
-
sub(1, divide(easing(multiply(sub(1, t), 2)), 2))
|
|
229
|
-
);
|
|
230
|
-
}
|
|
231
|
-
}
|
|
@@ -1,79 +0,0 @@
|
|
|
1
|
-
function stiffnessFromOrigamiValue(oValue) {
|
|
2
|
-
return (oValue - 30) * 3.62 + 194;
|
|
3
|
-
}
|
|
4
|
-
|
|
5
|
-
function dampingFromOrigamiValue(oValue) {
|
|
6
|
-
return (oValue - 8) * 3 + 25;
|
|
7
|
-
}
|
|
8
|
-
|
|
9
|
-
function fromOrigamiTensionAndFriction(tension, friction) {
|
|
10
|
-
return {
|
|
11
|
-
stiffness: stiffnessFromOrigamiValue(tension),
|
|
12
|
-
damping: dampingFromOrigamiValue(friction),
|
|
13
|
-
};
|
|
14
|
-
}
|
|
15
|
-
|
|
16
|
-
function fromBouncinessAndSpeed(bounciness, speed) {
|
|
17
|
-
function normalize(value, startValue, endValue) {
|
|
18
|
-
return (value - startValue) / (endValue - startValue);
|
|
19
|
-
}
|
|
20
|
-
|
|
21
|
-
function projectNormal(n, start, end) {
|
|
22
|
-
return start + n * (end - start);
|
|
23
|
-
}
|
|
24
|
-
|
|
25
|
-
function linearInterpolation(t, start, end) {
|
|
26
|
-
return t * end + (1 - t) * start;
|
|
27
|
-
}
|
|
28
|
-
|
|
29
|
-
function quadraticOutInterpolation(t, start, end) {
|
|
30
|
-
return linearInterpolation(2 * t - t * t, start, end);
|
|
31
|
-
}
|
|
32
|
-
|
|
33
|
-
function b3Friction1(x) {
|
|
34
|
-
return 0.0007 * Math.pow(x, 3) - 0.031 * Math.pow(x, 2) + 0.64 * x + 1.28;
|
|
35
|
-
}
|
|
36
|
-
|
|
37
|
-
function b3Friction2(x) {
|
|
38
|
-
return 0.000044 * Math.pow(x, 3) - 0.006 * Math.pow(x, 2) + 0.36 * x + 2;
|
|
39
|
-
}
|
|
40
|
-
|
|
41
|
-
function b3Friction3(x) {
|
|
42
|
-
return (
|
|
43
|
-
0.00000045 * Math.pow(x, 3) -
|
|
44
|
-
0.000332 * Math.pow(x, 2) +
|
|
45
|
-
0.1078 * x +
|
|
46
|
-
5.84
|
|
47
|
-
);
|
|
48
|
-
}
|
|
49
|
-
|
|
50
|
-
function b3Nobounce(tension) {
|
|
51
|
-
if (tension <= 18) {
|
|
52
|
-
return b3Friction1(tension);
|
|
53
|
-
} else if (tension > 18 && tension <= 44) {
|
|
54
|
-
return b3Friction2(tension);
|
|
55
|
-
} else {
|
|
56
|
-
return b3Friction3(tension);
|
|
57
|
-
}
|
|
58
|
-
}
|
|
59
|
-
|
|
60
|
-
var b = normalize(bounciness / 1.7, 0, 20);
|
|
61
|
-
b = projectNormal(b, 0, 0.8);
|
|
62
|
-
var s = normalize(speed / 1.7, 0, 20);
|
|
63
|
-
var bouncyTension = projectNormal(s, 0.5, 200);
|
|
64
|
-
var bouncyFriction = quadraticOutInterpolation(
|
|
65
|
-
b,
|
|
66
|
-
b3Nobounce(bouncyTension),
|
|
67
|
-
0.01
|
|
68
|
-
);
|
|
69
|
-
|
|
70
|
-
return {
|
|
71
|
-
stiffness: stiffnessFromOrigamiValue(bouncyTension),
|
|
72
|
-
damping: dampingFromOrigamiValue(bouncyFriction),
|
|
73
|
-
};
|
|
74
|
-
}
|
|
75
|
-
|
|
76
|
-
module.exports = {
|
|
77
|
-
fromOrigamiTensionAndFriction,
|
|
78
|
-
fromBouncinessAndSpeed,
|
|
79
|
-
};
|
|
@@ -1,158 +0,0 @@
|
|
|
1
|
-
import React from 'react';
|
|
2
|
-
import { View, findNodeHandle } from 'react-native';
|
|
3
|
-
import ReanimatedModule from '../ReanimatedModule';
|
|
4
|
-
|
|
5
|
-
const TransitioningContext = React.createContext();
|
|
6
|
-
|
|
7
|
-
function configFromProps(type, props) {
|
|
8
|
-
const config = { type };
|
|
9
|
-
if ('durationMs' in props) {
|
|
10
|
-
config.durationMs = props.durationMs;
|
|
11
|
-
}
|
|
12
|
-
if ('interpolation' in props) {
|
|
13
|
-
config.interpolation = props.interpolation;
|
|
14
|
-
}
|
|
15
|
-
if ('type' in props) {
|
|
16
|
-
config.animation = props.type;
|
|
17
|
-
}
|
|
18
|
-
if ('delayMs' in props) {
|
|
19
|
-
config.delayMs = props.delayMs;
|
|
20
|
-
}
|
|
21
|
-
if ('propagation' in props) {
|
|
22
|
-
config.propagation = props.propagation;
|
|
23
|
-
}
|
|
24
|
-
return config;
|
|
25
|
-
}
|
|
26
|
-
|
|
27
|
-
/**
|
|
28
|
-
* The below wrapper is used to support legacy context API with Context.Consumer
|
|
29
|
-
* render prop. We need it as we want to access `context` from within
|
|
30
|
-
* `componentDidMount` callback. If we decided to drop support for older
|
|
31
|
-
* react native we could rewrite it using hooks or `static contextType` API.
|
|
32
|
-
*/
|
|
33
|
-
function wrapTransitioningContext(Comp) {
|
|
34
|
-
return (props) => {
|
|
35
|
-
return (
|
|
36
|
-
<TransitioningContext.Consumer>
|
|
37
|
-
{(context) => <Comp context={context} {...props} />}
|
|
38
|
-
</TransitioningContext.Consumer>
|
|
39
|
-
);
|
|
40
|
-
};
|
|
41
|
-
}
|
|
42
|
-
|
|
43
|
-
class In extends React.Component {
|
|
44
|
-
componentDidMount() {
|
|
45
|
-
this.props.context.push(configFromProps('in', this.props));
|
|
46
|
-
}
|
|
47
|
-
|
|
48
|
-
render() {
|
|
49
|
-
return this.props.children || null;
|
|
50
|
-
}
|
|
51
|
-
}
|
|
52
|
-
|
|
53
|
-
class Change extends React.Component {
|
|
54
|
-
componentDidMount() {
|
|
55
|
-
this.props.context.push(configFromProps('change', this.props));
|
|
56
|
-
}
|
|
57
|
-
|
|
58
|
-
render() {
|
|
59
|
-
return this.props.children || null;
|
|
60
|
-
}
|
|
61
|
-
}
|
|
62
|
-
|
|
63
|
-
class Out extends React.Component {
|
|
64
|
-
componentDidMount() {
|
|
65
|
-
this.props.context.push(configFromProps('out', this.props));
|
|
66
|
-
}
|
|
67
|
-
|
|
68
|
-
render() {
|
|
69
|
-
return this.props.children || null;
|
|
70
|
-
}
|
|
71
|
-
}
|
|
72
|
-
|
|
73
|
-
class Together extends React.Component {
|
|
74
|
-
transitions = [];
|
|
75
|
-
componentDidMount() {
|
|
76
|
-
const config = configFromProps('group', this.props);
|
|
77
|
-
config.transitions = this.transitions;
|
|
78
|
-
this.props.context.push(config);
|
|
79
|
-
}
|
|
80
|
-
|
|
81
|
-
render() {
|
|
82
|
-
return (
|
|
83
|
-
<TransitioningContext.Provider value={this.transitions}>
|
|
84
|
-
{this.props.children}
|
|
85
|
-
</TransitioningContext.Provider>
|
|
86
|
-
);
|
|
87
|
-
}
|
|
88
|
-
}
|
|
89
|
-
|
|
90
|
-
class Sequence extends React.Component {
|
|
91
|
-
transitions = [];
|
|
92
|
-
componentDidMount() {
|
|
93
|
-
const config = configFromProps('group', this.props);
|
|
94
|
-
config.sequence = true;
|
|
95
|
-
config.transitions = this.transitions;
|
|
96
|
-
this.props.context.push(config);
|
|
97
|
-
}
|
|
98
|
-
|
|
99
|
-
render() {
|
|
100
|
-
return (
|
|
101
|
-
<TransitioningContext.Provider value={this.transitions}>
|
|
102
|
-
{this.props.children}
|
|
103
|
-
</TransitioningContext.Provider>
|
|
104
|
-
);
|
|
105
|
-
}
|
|
106
|
-
}
|
|
107
|
-
|
|
108
|
-
function createTransitioningComponent(Component) {
|
|
109
|
-
class Wrapped extends React.Component {
|
|
110
|
-
propTypes = Component.propTypes;
|
|
111
|
-
transitions = [];
|
|
112
|
-
viewRef = React.createRef();
|
|
113
|
-
|
|
114
|
-
componentDidMount() {
|
|
115
|
-
if (this.props.animateMount) {
|
|
116
|
-
this.animateNextTransition();
|
|
117
|
-
}
|
|
118
|
-
}
|
|
119
|
-
|
|
120
|
-
setNativeProps(props) {
|
|
121
|
-
this.viewRef.current.setNativeProps(props);
|
|
122
|
-
}
|
|
123
|
-
|
|
124
|
-
animateNextTransition() {
|
|
125
|
-
const viewTag = findNodeHandle(this.viewRef.current);
|
|
126
|
-
ReanimatedModule.animateNextTransition(viewTag, {
|
|
127
|
-
transitions: this.transitions,
|
|
128
|
-
});
|
|
129
|
-
}
|
|
130
|
-
|
|
131
|
-
render() {
|
|
132
|
-
const { transition, ...rest } = this.props;
|
|
133
|
-
return (
|
|
134
|
-
<React.Fragment>
|
|
135
|
-
<TransitioningContext.Provider value={this.transitions}>
|
|
136
|
-
{transition}
|
|
137
|
-
</TransitioningContext.Provider>
|
|
138
|
-
<Component {...rest} ref={this.viewRef} collapsable={false} />
|
|
139
|
-
</React.Fragment>
|
|
140
|
-
);
|
|
141
|
-
}
|
|
142
|
-
}
|
|
143
|
-
return Wrapped;
|
|
144
|
-
}
|
|
145
|
-
|
|
146
|
-
const Transitioning = {
|
|
147
|
-
View: createTransitioningComponent(View),
|
|
148
|
-
};
|
|
149
|
-
|
|
150
|
-
const Transition = {
|
|
151
|
-
Sequence: wrapTransitioningContext(Sequence),
|
|
152
|
-
Together: wrapTransitioningContext(Together),
|
|
153
|
-
In: wrapTransitioningContext(In),
|
|
154
|
-
Out: wrapTransitioningContext(Out),
|
|
155
|
-
Change: wrapTransitioningContext(Change),
|
|
156
|
-
};
|
|
157
|
-
|
|
158
|
-
export { Transitioning, Transition, createTransitioningComponent };
|
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
import AnimatedValue from '../core/InternalAnimatedValue';
|
|
2
|
-
|
|
3
|
-
class Animation {
|
|
4
|
-
static springDefaultState() {
|
|
5
|
-
return {
|
|
6
|
-
position: new AnimatedValue(0),
|
|
7
|
-
finished: new AnimatedValue(0),
|
|
8
|
-
velocity: new AnimatedValue(0),
|
|
9
|
-
time: new AnimatedValue(0),
|
|
10
|
-
};
|
|
11
|
-
}
|
|
12
|
-
|
|
13
|
-
static decayDefaultState() {
|
|
14
|
-
return {
|
|
15
|
-
position: new AnimatedValue(0),
|
|
16
|
-
finished: new AnimatedValue(0),
|
|
17
|
-
velocity: new AnimatedValue(0),
|
|
18
|
-
time: new AnimatedValue(0),
|
|
19
|
-
};
|
|
20
|
-
}
|
|
21
|
-
|
|
22
|
-
static timingDefaultState() {
|
|
23
|
-
return {
|
|
24
|
-
position: new AnimatedValue(0),
|
|
25
|
-
finished: new AnimatedValue(0),
|
|
26
|
-
time: new AnimatedValue(0),
|
|
27
|
-
frameTime: new AnimatedValue(0),
|
|
28
|
-
};
|
|
29
|
-
}
|
|
30
|
-
}
|
|
31
|
-
|
|
32
|
-
export default Animation;
|