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,27 +1,20 @@
|
|
|
1
|
-
#import <RNReanimated/REAAlwaysNode.h>
|
|
2
|
-
#import <RNReanimated/REABezierNode.h>
|
|
3
|
-
#import <RNReanimated/REABlockNode.h>
|
|
4
|
-
#import <RNReanimated/REACallFuncNode.h>
|
|
5
|
-
#import <RNReanimated/REAClockNodes.h>
|
|
6
|
-
#import <RNReanimated/REAConcatNode.h>
|
|
7
|
-
#import <RNReanimated/REACondNode.h>
|
|
8
|
-
#import <RNReanimated/READebugNode.h>
|
|
9
|
-
#import <RNReanimated/REAEventNode.h>
|
|
10
|
-
#import <RNReanimated/REAFunctionNode.h>
|
|
11
|
-
#import <RNReanimated/REAJSCallNode.h>
|
|
12
1
|
#import <RNReanimated/REAModule.h>
|
|
13
|
-
#import <RNReanimated/REANode.h>
|
|
14
2
|
#import <RNReanimated/REANodesManager.h>
|
|
15
|
-
#import <RNReanimated/REAOperatorNode.h>
|
|
16
|
-
#import <RNReanimated/REAParamNode.h>
|
|
17
|
-
#import <RNReanimated/REAPropsNode.h>
|
|
18
|
-
#import <RNReanimated/REASetNode.h>
|
|
19
|
-
#import <RNReanimated/REAStyleNode.h>
|
|
20
|
-
#import <RNReanimated/REATransformNode.h>
|
|
21
|
-
#import <RNReanimated/REAValueNode.h>
|
|
22
3
|
#import <React/RCTConvert.h>
|
|
23
|
-
|
|
4
|
+
|
|
5
|
+
#ifdef RCT_NEW_ARCH_ENABLED
|
|
6
|
+
#import <React/RCTComponentViewRegistry.h>
|
|
7
|
+
#import <React/RCTMountingManager.h>
|
|
8
|
+
#import <React/RCTSurfacePresenter.h>
|
|
9
|
+
#import <react/renderer/core/ShadowNode.h>
|
|
10
|
+
#import <react/renderer/uimanager/UIManager.h>
|
|
11
|
+
#else
|
|
24
12
|
#import <stdatomic.h>
|
|
13
|
+
#endif
|
|
14
|
+
|
|
15
|
+
#ifdef RCT_NEW_ARCH_ENABLED
|
|
16
|
+
using namespace facebook::react;
|
|
17
|
+
#endif
|
|
25
18
|
|
|
26
19
|
// Interface below has been added in order to use private methods of RCTUIManager,
|
|
27
20
|
// RCTUIManager#UpdateView is a React Method which is exported to JS but in
|
|
@@ -97,32 +90,53 @@
|
|
|
97
90
|
@end
|
|
98
91
|
|
|
99
92
|
@implementation REANodesManager {
|
|
100
|
-
NSMutableDictionary<REANodeID, REANode *> *_nodes;
|
|
101
|
-
NSMapTable<NSString *, REANode *> *_eventMapping;
|
|
102
|
-
NSMutableArray<id<RCTEvent>> *_eventQueue;
|
|
103
93
|
CADisplayLink *_displayLink;
|
|
104
|
-
REAUpdateContext *_updateContext;
|
|
105
94
|
BOOL _wantRunUpdates;
|
|
106
|
-
BOOL _processingDirectEvent;
|
|
107
95
|
NSMutableArray<REAOnAnimationCallback> *_onAnimationCallbacks;
|
|
108
|
-
NSMutableArray<REANativeAnimationOp> *_operationsInBatch;
|
|
109
96
|
BOOL _tryRunBatchUpdatesSynchronously;
|
|
110
97
|
REAEventHandler _eventHandler;
|
|
111
98
|
volatile void (^_mounting)(void);
|
|
112
99
|
NSMutableDictionary<NSNumber *, ComponentUpdate *> *_componentUpdateBuffer;
|
|
113
|
-
volatile atomic_bool _shouldFlushUpdateBuffer;
|
|
114
100
|
NSMutableDictionary<NSNumber *, UIView *> *_viewRegistry;
|
|
101
|
+
#ifdef RCT_NEW_ARCH_ENABLED
|
|
102
|
+
__weak RCTBridge *_bridge;
|
|
103
|
+
REAPerformOperations _performOperations;
|
|
104
|
+
__weak id<RCTSurfacePresenterStub> _surfacePresenter;
|
|
105
|
+
NSMutableDictionary<NSNumber *, NSMutableDictionary *> *_operationsInBatch;
|
|
106
|
+
#else
|
|
107
|
+
NSMutableArray<REANativeAnimationOp> *_operationsInBatch;
|
|
108
|
+
volatile atomic_bool _shouldFlushUpdateBuffer;
|
|
109
|
+
#endif
|
|
115
110
|
}
|
|
116
111
|
|
|
112
|
+
#ifdef RCT_NEW_ARCH_ENABLED
|
|
113
|
+
- (nonnull instancetype)initWithModule:(REAModule *)reanimatedModule
|
|
114
|
+
bridge:(RCTBridge *)bridge
|
|
115
|
+
surfacePresenter:(id<RCTSurfacePresenterStub>)surfacePresenter
|
|
116
|
+
{
|
|
117
|
+
if ((self = [super init])) {
|
|
118
|
+
_bridge = bridge;
|
|
119
|
+
_surfacePresenter = surfacePresenter;
|
|
120
|
+
_reanimatedModule = reanimatedModule;
|
|
121
|
+
_wantRunUpdates = NO;
|
|
122
|
+
_onAnimationCallbacks = [NSMutableArray new];
|
|
123
|
+
_operationsInBatch = [NSMutableDictionary new];
|
|
124
|
+
_componentUpdateBuffer = [NSMutableDictionary new];
|
|
125
|
+
_viewRegistry = [_uiManager valueForKey:@"_viewRegistry"];
|
|
126
|
+
}
|
|
127
|
+
|
|
128
|
+
_displayLink = [CADisplayLink displayLinkWithTarget:self selector:@selector(onAnimationFrame:)];
|
|
129
|
+
_displayLink.preferredFramesPerSecond = 120; // will fallback to 60 fps for devices without Pro Motion display
|
|
130
|
+
[_displayLink addToRunLoop:[NSRunLoop mainRunLoop] forMode:NSRunLoopCommonModes];
|
|
131
|
+
[_displayLink setPaused:true];
|
|
132
|
+
return self;
|
|
133
|
+
}
|
|
134
|
+
#else
|
|
117
135
|
- (instancetype)initWithModule:(REAModule *)reanimatedModule uiManager:(RCTUIManager *)uiManager
|
|
118
136
|
{
|
|
119
137
|
if ((self = [super init])) {
|
|
120
138
|
_reanimatedModule = reanimatedModule;
|
|
121
139
|
_uiManager = uiManager;
|
|
122
|
-
_nodes = [NSMutableDictionary new];
|
|
123
|
-
_eventMapping = [NSMapTable strongToWeakObjectsMapTable];
|
|
124
|
-
_eventQueue = [NSMutableArray new];
|
|
125
|
-
_updateContext = [REAUpdateContext new];
|
|
126
140
|
_wantRunUpdates = NO;
|
|
127
141
|
_onAnimationCallbacks = [NSMutableArray new];
|
|
128
142
|
_operationsInBatch = [NSMutableArray new];
|
|
@@ -137,6 +151,7 @@
|
|
|
137
151
|
[_displayLink setPaused:true];
|
|
138
152
|
return self;
|
|
139
153
|
}
|
|
154
|
+
#endif
|
|
140
155
|
|
|
141
156
|
- (void)invalidate
|
|
142
157
|
{
|
|
@@ -144,6 +159,13 @@
|
|
|
144
159
|
[_displayLink invalidate];
|
|
145
160
|
}
|
|
146
161
|
|
|
162
|
+
#ifdef RCT_NEW_ARCH_ENABLED
|
|
163
|
+
- (void)setSurfacePresenter:(id<RCTSurfacePresenterStub>)surfacePresenter
|
|
164
|
+
{
|
|
165
|
+
_surfacePresenter = surfacePresenter;
|
|
166
|
+
}
|
|
167
|
+
#endif
|
|
168
|
+
|
|
147
169
|
- (void)operationsBatchDidComplete
|
|
148
170
|
{
|
|
149
171
|
if (![_displayLink isPaused]) {
|
|
@@ -158,29 +180,23 @@
|
|
|
158
180
|
}
|
|
159
181
|
}
|
|
160
182
|
|
|
161
|
-
- (REANode *)findNodeByID:(REANodeID)nodeID
|
|
162
|
-
{
|
|
163
|
-
return _nodes[nodeID];
|
|
164
|
-
}
|
|
165
|
-
|
|
166
183
|
- (void)postOnAnimation:(REAOnAnimationCallback)clb
|
|
167
184
|
{
|
|
168
185
|
[_onAnimationCallbacks addObject:clb];
|
|
169
186
|
[self startUpdatingOnAnimationFrame];
|
|
170
187
|
}
|
|
171
188
|
|
|
172
|
-
- (void)
|
|
189
|
+
- (void)registerEventHandler:(REAEventHandler)eventHandler
|
|
173
190
|
{
|
|
174
|
-
|
|
175
|
-
if (!_processingDirectEvent) {
|
|
176
|
-
[self startUpdatingOnAnimationFrame];
|
|
177
|
-
}
|
|
191
|
+
_eventHandler = eventHandler;
|
|
178
192
|
}
|
|
179
193
|
|
|
180
|
-
|
|
194
|
+
#ifdef RCT_NEW_ARCH_ENABLED
|
|
195
|
+
- (void)registerPerformOperations:(REAPerformOperations)performOperations
|
|
181
196
|
{
|
|
182
|
-
|
|
197
|
+
_performOperations = performOperations;
|
|
183
198
|
}
|
|
199
|
+
#endif
|
|
184
200
|
|
|
185
201
|
- (void)startUpdatingOnAnimationFrame
|
|
186
202
|
{
|
|
@@ -205,13 +221,6 @@
|
|
|
205
221
|
{
|
|
206
222
|
_currentAnimationTimestamp = _displayLink.timestamp;
|
|
207
223
|
|
|
208
|
-
// We process all enqueued events first
|
|
209
|
-
for (NSUInteger i = 0; i < _eventQueue.count; i++) {
|
|
210
|
-
id<RCTEvent> event = _eventQueue[i];
|
|
211
|
-
[self processEvent:event];
|
|
212
|
-
}
|
|
213
|
-
[_eventQueue removeAllObjects];
|
|
214
|
-
|
|
215
224
|
NSArray<REAOnAnimationCallback> *callbacks = _onAnimationCallbacks;
|
|
216
225
|
_onAnimationCallbacks = [NSMutableArray new];
|
|
217
226
|
|
|
@@ -238,9 +247,10 @@
|
|
|
238
247
|
|
|
239
248
|
- (void)performOperations
|
|
240
249
|
{
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
250
|
+
#ifdef RCT_NEW_ARCH_ENABLED
|
|
251
|
+
_performOperations(); // calls NativeReanimatedModule::performOperations
|
|
252
|
+
_wantRunUpdates = NO;
|
|
253
|
+
#else
|
|
244
254
|
if (_operationsInBatch.count != 0) {
|
|
245
255
|
NSMutableArray<REANativeAnimationOp> *copiedOperationsQueue = _operationsInBatch;
|
|
246
256
|
_operationsInBatch = [NSMutableArray new];
|
|
@@ -248,7 +258,7 @@
|
|
|
248
258
|
BOOL trySynchronously = _tryRunBatchUpdatesSynchronously;
|
|
249
259
|
_tryRunBatchUpdatesSynchronously = NO;
|
|
250
260
|
|
|
251
|
-
__weak
|
|
261
|
+
__weak __typeof__(self) weakSelf = self;
|
|
252
262
|
dispatch_semaphore_t semaphore = dispatch_semaphore_create(0);
|
|
253
263
|
RCTExecuteOnUIManagerQueue(^{
|
|
254
264
|
__typeof__(self) strongSelf = weakSelf;
|
|
@@ -283,8 +293,12 @@
|
|
|
283
293
|
}
|
|
284
294
|
}
|
|
285
295
|
_wantRunUpdates = NO;
|
|
296
|
+
#endif
|
|
286
297
|
}
|
|
287
298
|
|
|
299
|
+
#ifdef RCT_NEW_ARCH_ENABLED
|
|
300
|
+
// nothing
|
|
301
|
+
#else
|
|
288
302
|
- (void)enqueueUpdateViewOnNativeThread:(nonnull NSNumber *)reactTag
|
|
289
303
|
viewName:(NSString *)viewName
|
|
290
304
|
nativeProps:(NSMutableDictionary *)nativeProps
|
|
@@ -297,153 +311,7 @@
|
|
|
297
311
|
[uiManager updateView:reactTag viewName:viewName props:nativeProps];
|
|
298
312
|
}];
|
|
299
313
|
}
|
|
300
|
-
|
|
301
|
-
- (void)getValue:(REANodeID)nodeID callback:(RCTResponseSenderBlock)callback
|
|
302
|
-
{
|
|
303
|
-
id val = _nodes[nodeID].value;
|
|
304
|
-
if (val) {
|
|
305
|
-
callback(@[ val ]);
|
|
306
|
-
} else {
|
|
307
|
-
// NULL is not an object and it's not possible to pass it as callback's argument
|
|
308
|
-
callback(@[ [NSNull null] ]);
|
|
309
|
-
}
|
|
310
|
-
}
|
|
311
|
-
|
|
312
|
-
#pragma mark-- Graph
|
|
313
|
-
|
|
314
|
-
- (void)createNode:(REANodeID)nodeID config:(NSDictionary<NSString *, id> *)config
|
|
315
|
-
{
|
|
316
|
-
static NSDictionary *map;
|
|
317
|
-
static dispatch_once_t mapToken;
|
|
318
|
-
dispatch_once(&mapToken, ^{
|
|
319
|
-
map = @{
|
|
320
|
-
@"props" : [REAPropsNode class],
|
|
321
|
-
@"style" : [REAStyleNode class],
|
|
322
|
-
@"transform" : [REATransformNode class],
|
|
323
|
-
@"value" : [REAValueNode class],
|
|
324
|
-
@"block" : [REABlockNode class],
|
|
325
|
-
@"cond" : [REACondNode class],
|
|
326
|
-
@"op" : [REAOperatorNode class],
|
|
327
|
-
@"set" : [REASetNode class],
|
|
328
|
-
@"debug" : [READebugNode class],
|
|
329
|
-
@"clock" : [REAClockNode class],
|
|
330
|
-
@"clockStart" : [REAClockStartNode class],
|
|
331
|
-
@"clockStop" : [REAClockStopNode class],
|
|
332
|
-
@"clockTest" : [REAClockTestNode class],
|
|
333
|
-
@"call" : [REAJSCallNode class],
|
|
334
|
-
@"bezier" : [REABezierNode class],
|
|
335
|
-
@"event" : [REAEventNode class],
|
|
336
|
-
@"always" : [REAAlwaysNode class],
|
|
337
|
-
@"concat" : [REAConcatNode class],
|
|
338
|
-
@"param" : [REAParamNode class],
|
|
339
|
-
@"func" : [REAFunctionNode class],
|
|
340
|
-
@"callfunc" : [REACallFuncNode class]
|
|
341
|
-
// @"listener": nil,
|
|
342
|
-
};
|
|
343
|
-
});
|
|
344
|
-
|
|
345
|
-
NSString *nodeType = [RCTConvert NSString:config[@"type"]];
|
|
346
|
-
|
|
347
|
-
Class nodeClass = map[nodeType];
|
|
348
|
-
if (!nodeClass) {
|
|
349
|
-
RCTLogError(@"Animated node type %@ not supported natively", nodeType);
|
|
350
|
-
return;
|
|
351
|
-
}
|
|
352
|
-
|
|
353
|
-
REANode *node = [[nodeClass alloc] initWithID:nodeID config:config];
|
|
354
|
-
node.nodesManager = self;
|
|
355
|
-
node.updateContext = _updateContext;
|
|
356
|
-
_nodes[nodeID] = node;
|
|
357
|
-
}
|
|
358
|
-
|
|
359
|
-
- (void)dropNode:(REANodeID)nodeID
|
|
360
|
-
{
|
|
361
|
-
REANode *node = _nodes[nodeID];
|
|
362
|
-
if (node) {
|
|
363
|
-
[node onDrop];
|
|
364
|
-
[_nodes removeObjectForKey:nodeID];
|
|
365
|
-
}
|
|
366
|
-
}
|
|
367
|
-
|
|
368
|
-
- (void)connectNodes:(nonnull NSNumber *)parentID childID:(nonnull REANodeID)childID
|
|
369
|
-
{
|
|
370
|
-
RCTAssertParam(parentID);
|
|
371
|
-
RCTAssertParam(childID);
|
|
372
|
-
|
|
373
|
-
REANode *parentNode = _nodes[parentID];
|
|
374
|
-
REANode *childNode = _nodes[childID];
|
|
375
|
-
|
|
376
|
-
RCTAssertParam(childNode);
|
|
377
|
-
|
|
378
|
-
[parentNode addChild:childNode];
|
|
379
|
-
}
|
|
380
|
-
|
|
381
|
-
- (void)disconnectNodes:(REANodeID)parentID childID:(REANodeID)childID
|
|
382
|
-
{
|
|
383
|
-
RCTAssertParam(parentID);
|
|
384
|
-
RCTAssertParam(childID);
|
|
385
|
-
|
|
386
|
-
REANode *parentNode = _nodes[parentID];
|
|
387
|
-
REANode *childNode = _nodes[childID];
|
|
388
|
-
|
|
389
|
-
RCTAssertParam(childNode);
|
|
390
|
-
|
|
391
|
-
[parentNode removeChild:childNode];
|
|
392
|
-
}
|
|
393
|
-
|
|
394
|
-
- (void)connectNodeToView:(REANodeID)nodeID viewTag:(NSNumber *)viewTag viewName:(NSString *)viewName
|
|
395
|
-
{
|
|
396
|
-
RCTAssertParam(nodeID);
|
|
397
|
-
REANode *node = _nodes[nodeID];
|
|
398
|
-
RCTAssertParam(node);
|
|
399
|
-
|
|
400
|
-
if ([node isKindOfClass:[REAPropsNode class]]) {
|
|
401
|
-
[(REAPropsNode *)node connectToView:viewTag viewName:viewName];
|
|
402
|
-
}
|
|
403
|
-
}
|
|
404
|
-
|
|
405
|
-
- (void)disconnectNodeFromView:(REANodeID)nodeID viewTag:(NSNumber *)viewTag
|
|
406
|
-
{
|
|
407
|
-
RCTAssertParam(nodeID);
|
|
408
|
-
REANode *node = _nodes[nodeID];
|
|
409
|
-
RCTAssertParam(node);
|
|
410
|
-
|
|
411
|
-
if ([node isKindOfClass:[REAPropsNode class]]) {
|
|
412
|
-
[(REAPropsNode *)node disconnectFromView:viewTag];
|
|
413
|
-
}
|
|
414
|
-
}
|
|
415
|
-
|
|
416
|
-
- (void)attachEvent:(NSNumber *)viewTag eventName:(NSString *)eventName eventNodeID:(REANodeID)eventNodeID
|
|
417
|
-
{
|
|
418
|
-
RCTAssertParam(eventNodeID);
|
|
419
|
-
REANode *eventNode = _nodes[eventNodeID];
|
|
420
|
-
RCTAssert([eventNode isKindOfClass:[REAEventNode class]], @"Event node is of an invalid type");
|
|
421
|
-
|
|
422
|
-
NSString *key = [NSString stringWithFormat:@"%@%@", viewTag, RCTNormalizeInputEventName(eventName)];
|
|
423
|
-
RCTAssert([_eventMapping objectForKey:key] == nil, @"Event handler already set for the given view and event type");
|
|
424
|
-
[_eventMapping setObject:eventNode forKey:key];
|
|
425
|
-
}
|
|
426
|
-
|
|
427
|
-
- (void)detachEvent:(NSNumber *)viewTag eventName:(NSString *)eventName eventNodeID:(REANodeID)eventNodeID
|
|
428
|
-
{
|
|
429
|
-
NSString *key = [NSString stringWithFormat:@"%@%@", viewTag, RCTNormalizeInputEventName(eventName)];
|
|
430
|
-
[_eventMapping removeObjectForKey:key];
|
|
431
|
-
}
|
|
432
|
-
|
|
433
|
-
- (void)processEvent:(id<RCTEvent>)event
|
|
434
|
-
{
|
|
435
|
-
NSString *key = [NSString stringWithFormat:@"%@%@", event.viewTag, RCTNormalizeInputEventName(event.eventName)];
|
|
436
|
-
REAEventNode *eventNode = [_eventMapping objectForKey:key];
|
|
437
|
-
[eventNode processEvent:event];
|
|
438
|
-
}
|
|
439
|
-
|
|
440
|
-
- (void)processDirectEvent:(id<RCTEvent>)event
|
|
441
|
-
{
|
|
442
|
-
_processingDirectEvent = YES;
|
|
443
|
-
[self processEvent:event];
|
|
444
|
-
[self performOperations];
|
|
445
|
-
_processingDirectEvent = NO;
|
|
446
|
-
}
|
|
314
|
+
#endif
|
|
447
315
|
|
|
448
316
|
- (BOOL)isDirectEvent:(id<RCTEvent>)event
|
|
449
317
|
{
|
|
@@ -471,7 +339,7 @@
|
|
|
471
339
|
|
|
472
340
|
if (_eventHandler != nil) {
|
|
473
341
|
__weak REAEventHandler eventHandler = _eventHandler;
|
|
474
|
-
__weak
|
|
342
|
+
__weak __typeof__(self) weakSelf = self;
|
|
475
343
|
RCTExecuteOnMainQueue(^void() {
|
|
476
344
|
__typeof__(self) strongSelf = weakSelf;
|
|
477
345
|
if (strongSelf == nil) {
|
|
@@ -486,44 +354,42 @@
|
|
|
486
354
|
}
|
|
487
355
|
});
|
|
488
356
|
}
|
|
489
|
-
|
|
490
|
-
REANode *eventNode = [_eventMapping objectForKey:key];
|
|
491
|
-
|
|
492
|
-
if (eventNode != nil) {
|
|
493
|
-
if ([self isDirectEvent:event]) {
|
|
494
|
-
// Bypass the event queue/animation frames and process scroll events
|
|
495
|
-
// immediately to avoid getting out of sync with the scroll position
|
|
496
|
-
[self processDirectEvent:event];
|
|
497
|
-
} else {
|
|
498
|
-
// enqueue node to be processed
|
|
499
|
-
[_eventQueue addObject:event];
|
|
500
|
-
[self startUpdatingOnAnimationFrame];
|
|
501
|
-
}
|
|
502
|
-
}
|
|
503
357
|
}
|
|
504
358
|
|
|
359
|
+
#ifdef RCT_NEW_ARCH_ENABLED
|
|
360
|
+
// nothing
|
|
361
|
+
#else
|
|
505
362
|
- (void)configureUiProps:(nonnull NSSet<NSString *> *)uiPropsSet
|
|
506
363
|
andNativeProps:(nonnull NSSet<NSString *> *)nativePropsSet
|
|
507
364
|
{
|
|
508
365
|
_uiProps = uiPropsSet;
|
|
509
366
|
_nativeProps = nativePropsSet;
|
|
510
367
|
}
|
|
368
|
+
#endif
|
|
511
369
|
|
|
512
370
|
- (BOOL)isNotNativeViewFullyMounted:(NSNumber *)viewTag
|
|
513
371
|
{
|
|
514
372
|
return _viewRegistry[viewTag].superview == nil;
|
|
515
373
|
}
|
|
516
374
|
|
|
517
|
-
|
|
518
|
-
{
|
|
519
|
-
RCTAssertParam(nodeID);
|
|
375
|
+
#ifdef RCT_NEW_ARCH_ENABLED
|
|
520
376
|
|
|
521
|
-
|
|
377
|
+
- (void)synchronouslyUpdateViewOnUIThread:(nonnull NSNumber *)viewTag props:(nonnull NSDictionary *)uiProps
|
|
378
|
+
{
|
|
379
|
+
// adapted from RCTPropsAnimatedNode.m
|
|
380
|
+
RCTSurfacePresenter *surfacePresenter = _bridge.surfacePresenter ?: _surfacePresenter;
|
|
381
|
+
[surfacePresenter synchronouslyUpdateViewOnUIThread:viewTag props:uiProps];
|
|
522
382
|
|
|
523
|
-
|
|
524
|
-
|
|
383
|
+
// `synchronouslyUpdateViewOnUIThread` does not flush props like `backgroundColor` etc.
|
|
384
|
+
// so that's why we need to call `finalizeUpdates` here.
|
|
385
|
+
RCTComponentViewRegistry *componentViewRegistry = surfacePresenter.mountingManager.componentViewRegistry;
|
|
386
|
+
UIView<RCTComponentViewProtocol> *componentView =
|
|
387
|
+
[componentViewRegistry findComponentViewWithTag:[viewTag integerValue]];
|
|
388
|
+
[componentView finalizeUpdates:RNComponentViewUpdateMask{}];
|
|
525
389
|
}
|
|
526
390
|
|
|
391
|
+
#else
|
|
392
|
+
|
|
527
393
|
- (void)updateProps:(nonnull NSDictionary *)props
|
|
528
394
|
ofViewWithTag:(nonnull NSNumber *)viewTag
|
|
529
395
|
withName:(nonnull NSString *)viewName
|
|
@@ -601,7 +467,7 @@
|
|
|
601
467
|
return;
|
|
602
468
|
}
|
|
603
469
|
|
|
604
|
-
__weak
|
|
470
|
+
__weak __typeof__(self) weakSelf = self;
|
|
605
471
|
[_uiManager addUIBlock:^(__unused RCTUIManager *manager, __unused NSDictionary<NSNumber *, UIView *> *viewRegistry) {
|
|
606
472
|
__typeof__(self) strongSelf = weakSelf;
|
|
607
473
|
if (strongSelf == nil) {
|
|
@@ -623,4 +489,6 @@
|
|
|
623
489
|
}];
|
|
624
490
|
}
|
|
625
491
|
|
|
492
|
+
#endif // RCT_NEW_ARCH_ENABLED
|
|
493
|
+
|
|
626
494
|
@end
|