react-native-reanimated 3.8.0 → 3.9.0-layout-animation-experimental
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/ShadowTreeCloner.cpp +5 -2
- package/Common/cpp/LayoutAnimations/LayoutAnimationsManager.cpp +42 -32
- package/Common/cpp/LayoutAnimations/LayoutAnimationsManager.h +5 -7
- package/Common/cpp/LayoutAnimations/LayoutAnimationsProxy.cpp +565 -0
- package/Common/cpp/LayoutAnimations/LayoutAnimationsProxy.h +74 -0
- package/Common/cpp/LayoutAnimations/LayoutAnimationsUtils.h +140 -0
- package/Common/cpp/NativeModules/NativeReanimatedModule.cpp +216 -58
- package/Common/cpp/NativeModules/NativeReanimatedModule.h +32 -11
- package/Common/cpp/NativeModules/NativeReanimatedModuleSpec.cpp +2 -17
- package/Common/cpp/NativeModules/NativeReanimatedModuleSpec.h +6 -8
- package/Common/cpp/ReanimatedRuntime/RNRuntimeDecorator.cpp +3 -0
- package/Common/cpp/ReanimatedRuntime/WorkletRuntime.cpp +3 -4
- package/Common/cpp/ReanimatedRuntime/WorkletRuntimeDecorator.cpp +8 -3
- package/Common/cpp/SharedItems/Shareables.cpp +31 -5
- package/Common/cpp/SharedItems/Shareables.h +18 -2
- package/Common/cpp/Tools/JSScheduler.cpp +29 -5
- package/Common/cpp/Tools/JSScheduler.h +21 -4
- package/Common/cpp/Tools/PlatformDepMethodsHolder.h +6 -2
- package/Common/cpp/Tools/UIRuntimeDecorator.cpp +6 -0
- package/Common/cpp/Tools/UIRuntimeDecorator.h +1 -0
- package/android/CMakeLists.txt +3 -0
- package/android/build.gradle +17 -5
- package/android/src/main/cpp/NativeProxy.cpp +77 -12
- package/android/src/main/cpp/NativeProxy.h +35 -1
- package/android/src/main/java/com/swmansion/reanimated/NodesManager.java +58 -19
- package/android/src/main/java/com/swmansion/reanimated/ReanimatedPackage.java +7 -2
- package/android/src/{reactNativeVersionPatch/ReanimatedUIManager/latest → main/java}/com/swmansion/reanimated/ReanimatedUIManagerFactory.java +5 -5
- package/android/src/main/java/com/swmansion/reanimated/layoutReanimation/AnimationsManager.java +10 -6
- package/android/src/main/java/com/swmansion/reanimated/layoutReanimation/ReanimatedNativeHierarchyManager.java +18 -1
- package/android/src/main/java/com/swmansion/reanimated/layoutReanimation/SharedTransitionManager.java +105 -17
- package/android/src/main/java/com/swmansion/reanimated/sensor/ReanimatedSensor.java +2 -1
- package/android/src/paper/java/com/swmansion/reanimated/NativeReanimatedModuleSpec.java +37 -0
- package/android/src/{main/java/com/swmansion/reanimated → reactNativeVersionPatch/ReanimatedUIManager/73/com/swmansion}/ReanimatedModule.java +4 -3
- package/android/src/reactNativeVersionPatch/ReanimatedUIManager/{70 → 73}/com/swmansion/reanimated/layoutReanimation/ReanimatedUIManager.java +1 -22
- package/android/src/reactNativeVersionPatch/ReanimatedUIManager/latest/com/swmansion/reanimated/ReanimatedModule.java +176 -0
- package/android/src/reactNativeVersionPatch/ReanimatedUIManager/latest/com/swmansion/reanimated/layoutReanimation/ReanimatedUIManager.java +0 -26
- package/android/src/{fabric/java → reactNativeVersionPatch/RuntimeExecutor/73}/com/swmansion/reanimated/NativeProxy.java +16 -4
- package/android/src/reactNativeVersionPatch/RuntimeExecutor/latest/com/swmansion/reanimated/NativeProxy.java +143 -0
- package/apple/LayoutReanimation/REAAnimationsManager.h +3 -0
- package/apple/LayoutReanimation/REAAnimationsManager.m +11 -0
- package/apple/LayoutReanimation/REASharedTransitionManager.m +99 -23
- package/apple/LayoutReanimation/REASnapshot.h +1 -0
- package/apple/LayoutReanimation/REASnapshot.m +78 -37
- package/apple/REAModule.h +22 -2
- package/apple/REAModule.mm +97 -46
- package/apple/REANodesManager.h +3 -3
- package/apple/REANodesManager.mm +46 -22
- package/apple/native/NativeProxy.h +28 -2
- package/apple/native/NativeProxy.mm +65 -195
- package/apple/native/PlatformDepMethodsHolderImpl.h +59 -0
- package/apple/native/PlatformDepMethodsHolderImpl.mm +429 -0
- package/apple/sensor/ReanimatedSensor.m +5 -5
- package/lib/module/Animated.js.map +1 -1
- package/lib/module/ConfigHelper.js +1 -1
- package/lib/module/ConfigHelper.js.map +1 -1
- package/lib/module/animationBuilder.js +1 -0
- package/lib/module/animationBuilder.js.map +1 -1
- package/lib/module/createAnimatedComponent/InlinePropManager.js +4 -4
- package/lib/module/createAnimatedComponent/InlinePropManager.js.map +1 -1
- package/lib/module/createAnimatedComponent/JSPropsUpdater.js +9 -6
- package/lib/module/createAnimatedComponent/JSPropsUpdater.js.map +1 -1
- package/lib/module/createAnimatedComponent/JSPropsUpdater.web.js +11 -0
- package/lib/module/createAnimatedComponent/JSPropsUpdater.web.js.map +1 -0
- package/lib/module/createAnimatedComponent/PropsFilter.js +25 -9
- package/lib/module/createAnimatedComponent/PropsFilter.js.map +1 -1
- package/lib/module/createAnimatedComponent/commonTypes.js.map +1 -1
- package/lib/module/createAnimatedComponent/createAnimatedComponent.js +83 -52
- package/lib/module/createAnimatedComponent/createAnimatedComponent.js.map +1 -1
- package/lib/module/createAnimatedComponent/getViewInfo.js +37 -0
- package/lib/module/createAnimatedComponent/getViewInfo.js.map +1 -0
- package/lib/module/createAnimatedComponent/index.js.map +1 -1
- package/lib/module/createAnimatedComponent/setAndForwardRef.js +4 -5
- package/lib/module/createAnimatedComponent/setAndForwardRef.js.map +1 -1
- package/lib/module/createAnimatedComponent/utils.js.map +1 -1
- package/lib/module/index.js.map +1 -1
- package/lib/module/index.web.js +1 -2
- package/lib/module/index.web.js.map +1 -1
- package/lib/module/mock.js +12 -12
- package/lib/module/mock.js.map +1 -1
- package/lib/module/propsAllowlists.js.map +1 -1
- package/lib/module/reanimated2/Bezier.js.map +1 -1
- package/lib/module/reanimated2/Colors.js +4 -11
- package/lib/module/reanimated2/Colors.js.map +1 -1
- package/lib/module/reanimated2/Easing.js +3 -7
- package/lib/module/reanimated2/Easing.js.map +1 -1
- package/lib/module/reanimated2/NativeReanimated/NativeReanimated.js +16 -13
- package/lib/module/reanimated2/NativeReanimated/NativeReanimated.js.map +1 -1
- package/lib/module/reanimated2/NativeReanimated/index.js.map +1 -1
- package/lib/module/reanimated2/NativeReanimated/index.web.js.map +1 -1
- package/lib/module/reanimated2/PlatformChecker.js +2 -1
- package/lib/module/reanimated2/PlatformChecker.js.map +1 -1
- package/lib/module/reanimated2/PropAdapters.js +1 -1
- package/lib/module/reanimated2/PropAdapters.js.map +1 -1
- package/lib/module/reanimated2/PropsRegistry.js +1 -2
- package/lib/module/reanimated2/PropsRegistry.js.map +1 -1
- package/lib/module/reanimated2/Sensor.js +2 -2
- package/lib/module/reanimated2/Sensor.js.map +1 -1
- package/lib/module/reanimated2/SensorContainer.js +2 -2
- package/lib/module/reanimated2/SensorContainer.js.map +1 -1
- package/lib/module/reanimated2/UpdateLayoutAnimations.js +30 -8
- package/lib/module/reanimated2/UpdateLayoutAnimations.js.map +1 -1
- package/lib/module/reanimated2/UpdateProps.js.map +1 -1
- package/lib/module/reanimated2/ViewDescriptorsSet.js.map +1 -1
- package/lib/module/reanimated2/WorkletEventHandler.js +74 -31
- package/lib/module/reanimated2/WorkletEventHandler.js.map +1 -1
- package/lib/module/reanimated2/animation/clamp.js.map +1 -1
- package/lib/module/reanimated2/animation/commonTypes.js.map +1 -1
- package/lib/module/reanimated2/animation/decay/decay.js.map +1 -1
- package/lib/module/reanimated2/animation/decay/index.js.map +1 -1
- package/lib/module/reanimated2/animation/decay/rigidDecay.js.map +1 -1
- package/lib/module/reanimated2/animation/decay/rubberBandDecay.js.map +1 -1
- package/lib/module/reanimated2/animation/decay/utils.js.map +1 -1
- package/lib/module/reanimated2/animation/delay.js.map +1 -1
- package/lib/module/reanimated2/animation/index.js.map +1 -1
- package/lib/module/reanimated2/animation/repeat.js +1 -6
- package/lib/module/reanimated2/animation/repeat.js.map +1 -1
- package/lib/module/reanimated2/animation/sequence.js +1 -5
- package/lib/module/reanimated2/animation/sequence.js.map +1 -1
- package/lib/module/reanimated2/animation/spring.js.map +1 -1
- package/lib/module/reanimated2/animation/springUtils.js +8 -10
- package/lib/module/reanimated2/animation/springUtils.js.map +1 -1
- package/lib/module/reanimated2/animation/styleAnimation.js +5 -4
- package/lib/module/reanimated2/animation/styleAnimation.js.map +1 -1
- package/lib/module/reanimated2/animation/timing.js +4 -1
- package/lib/module/reanimated2/animation/timing.js.map +1 -1
- package/lib/module/reanimated2/animation/transformationMatrix/matrixUtils.js +1 -2
- package/lib/module/reanimated2/animation/transformationMatrix/matrixUtils.js.map +1 -1
- package/lib/module/reanimated2/animation/util.js +22 -2
- package/lib/module/reanimated2/animation/util.js.map +1 -1
- package/lib/module/reanimated2/commonTypes.js +3 -1
- package/lib/module/reanimated2/commonTypes.js.map +1 -1
- package/lib/module/reanimated2/component/FlatList.js +1 -0
- package/lib/module/reanimated2/component/FlatList.js.map +1 -1
- package/lib/module/reanimated2/component/Image.js +1 -0
- package/lib/module/reanimated2/component/Image.js.map +1 -1
- package/lib/module/reanimated2/component/LayoutAnimationConfig.js +1 -0
- package/lib/module/reanimated2/component/LayoutAnimationConfig.js.map +1 -1
- package/lib/module/reanimated2/component/PerformanceMonitor.js +169 -0
- package/lib/module/reanimated2/component/PerformanceMonitor.js.map +1 -0
- package/lib/module/reanimated2/component/ScrollView.js +1 -0
- package/lib/module/reanimated2/component/ScrollView.js.map +1 -1
- package/lib/module/reanimated2/component/Text.js +1 -0
- package/lib/module/reanimated2/component/Text.js.map +1 -1
- package/lib/module/reanimated2/component/View.js +1 -0
- package/lib/module/reanimated2/component/View.js.map +1 -1
- package/lib/module/reanimated2/core.js +6 -15
- package/lib/module/reanimated2/core.js.map +1 -1
- package/lib/module/reanimated2/errors.js +8 -8
- package/lib/module/reanimated2/errors.js.map +1 -1
- package/lib/module/reanimated2/fabricUtils.js +33 -8
- package/lib/module/reanimated2/fabricUtils.js.map +1 -1
- package/lib/module/reanimated2/fabricUtils.web.js.map +1 -1
- package/lib/module/reanimated2/frameCallback/FrameCallbackRegistryJS.js +2 -2
- package/lib/module/reanimated2/frameCallback/FrameCallbackRegistryJS.js.map +1 -1
- package/lib/module/reanimated2/frameCallback/FrameCallbackRegistryUI.js.map +1 -1
- package/lib/module/reanimated2/frameCallback/index.js.map +1 -1
- package/lib/module/reanimated2/globals.d.js.map +1 -1
- package/lib/module/reanimated2/helperTypes.js.map +1 -1
- package/lib/module/reanimated2/hook/commonTypes.js.map +1 -1
- package/lib/module/reanimated2/hook/index.js.map +1 -1
- package/lib/module/reanimated2/hook/useAnimatedGestureHandler.js +1 -0
- package/lib/module/reanimated2/hook/useAnimatedGestureHandler.js.map +1 -1
- package/lib/module/reanimated2/hook/useAnimatedKeyboard.js +3 -4
- package/lib/module/reanimated2/hook/useAnimatedKeyboard.js.map +1 -1
- package/lib/module/reanimated2/hook/useAnimatedProps.js.map +1 -1
- package/lib/module/reanimated2/hook/useAnimatedReaction.js +1 -0
- package/lib/module/reanimated2/hook/useAnimatedReaction.js.map +1 -1
- package/lib/module/reanimated2/hook/useAnimatedRef.js +12 -7
- package/lib/module/reanimated2/hook/useAnimatedRef.js.map +1 -1
- package/lib/module/reanimated2/hook/useAnimatedScrollHandler.js +3 -1
- package/lib/module/reanimated2/hook/useAnimatedScrollHandler.js.map +1 -1
- package/lib/module/reanimated2/hook/useAnimatedSensor.js.map +1 -1
- package/lib/module/reanimated2/hook/useAnimatedStyle.js +3 -6
- package/lib/module/reanimated2/hook/useAnimatedStyle.js.map +1 -1
- package/lib/module/reanimated2/hook/useDerivedValue.js +3 -1
- package/lib/module/reanimated2/hook/useDerivedValue.js.map +1 -1
- package/lib/module/reanimated2/hook/useEvent.js +4 -5
- package/lib/module/reanimated2/hook/useEvent.js.map +1 -1
- package/lib/module/reanimated2/hook/useFrameCallback.js +1 -2
- package/lib/module/reanimated2/hook/useFrameCallback.js.map +1 -1
- package/lib/module/reanimated2/hook/useHandler.js +3 -1
- package/lib/module/reanimated2/hook/useHandler.js.map +1 -1
- package/lib/module/reanimated2/hook/useReducedMotion.js.map +1 -1
- package/lib/module/reanimated2/hook/useScrollViewOffset.js +60 -16
- package/lib/module/reanimated2/hook/useScrollViewOffset.js.map +1 -1
- package/lib/module/reanimated2/hook/useSharedValue.js.map +1 -1
- package/lib/module/reanimated2/hook/useWorkletCallback.js.map +1 -1
- package/lib/module/reanimated2/hook/utils.js.map +1 -1
- package/lib/module/reanimated2/index.js +2 -0
- package/lib/module/reanimated2/index.js.map +1 -1
- package/lib/module/reanimated2/initializers.js +1 -5
- package/lib/module/reanimated2/initializers.js.map +1 -1
- package/lib/module/reanimated2/interpolateColor.js +2 -6
- package/lib/module/reanimated2/interpolateColor.js.map +1 -1
- package/lib/module/reanimated2/interpolation.js +1 -1
- package/lib/module/reanimated2/interpolation.js.map +1 -1
- package/lib/module/reanimated2/isSharedValue.js.map +1 -1
- package/lib/module/reanimated2/jestUtils.js +3 -6
- package/lib/module/reanimated2/jestUtils.js.map +1 -1
- package/lib/module/reanimated2/jestUtils.web.js.map +1 -1
- package/lib/module/reanimated2/js-reanimated/JSReanimated.js +5 -9
- package/lib/module/reanimated2/js-reanimated/JSReanimated.js.map +1 -1
- package/lib/module/reanimated2/js-reanimated/WebSensor.js.map +1 -1
- package/lib/module/reanimated2/js-reanimated/index.js +2 -2
- package/lib/module/reanimated2/js-reanimated/index.js.map +1 -1
- package/lib/module/reanimated2/js-reanimated/react-native-web.d.js.map +1 -1
- package/lib/module/reanimated2/layoutReanimation/animationBuilder/BaseAnimationBuilder.js +4 -2
- package/lib/module/reanimated2/layoutReanimation/animationBuilder/BaseAnimationBuilder.js.map +1 -1
- package/lib/module/reanimated2/layoutReanimation/animationBuilder/ComplexAnimationBuilder.js +12 -11
- package/lib/module/reanimated2/layoutReanimation/animationBuilder/ComplexAnimationBuilder.js.map +1 -1
- package/lib/module/reanimated2/layoutReanimation/animationBuilder/Keyframe.js +12 -10
- package/lib/module/reanimated2/layoutReanimation/animationBuilder/Keyframe.js.map +1 -1
- package/lib/module/reanimated2/layoutReanimation/animationBuilder/commonTypes.js.map +1 -1
- package/lib/module/reanimated2/layoutReanimation/animationBuilder/index.js.map +1 -1
- package/lib/module/reanimated2/layoutReanimation/animationsManager.js +11 -4
- package/lib/module/reanimated2/layoutReanimation/animationsManager.js.map +1 -1
- package/lib/module/reanimated2/layoutReanimation/defaultAnimations/Bounce.js +22 -22
- package/lib/module/reanimated2/layoutReanimation/defaultAnimations/Bounce.js.map +1 -1
- package/lib/module/reanimated2/layoutReanimation/defaultAnimations/Fade.js +22 -22
- package/lib/module/reanimated2/layoutReanimation/defaultAnimations/Fade.js.map +1 -1
- package/lib/module/reanimated2/layoutReanimation/defaultAnimations/Flip.js +26 -26
- package/lib/module/reanimated2/layoutReanimation/defaultAnimations/Flip.js.map +1 -1
- package/lib/module/reanimated2/layoutReanimation/defaultAnimations/Lightspeed.js +10 -10
- package/lib/module/reanimated2/layoutReanimation/defaultAnimations/Lightspeed.js.map +1 -1
- package/lib/module/reanimated2/layoutReanimation/defaultAnimations/Pinwheel.js +6 -6
- package/lib/module/reanimated2/layoutReanimation/defaultAnimations/Pinwheel.js.map +1 -1
- package/lib/module/reanimated2/layoutReanimation/defaultAnimations/Roll.js +10 -10
- package/lib/module/reanimated2/layoutReanimation/defaultAnimations/Roll.js.map +1 -1
- package/lib/module/reanimated2/layoutReanimation/defaultAnimations/Rotate.js +18 -18
- package/lib/module/reanimated2/layoutReanimation/defaultAnimations/Rotate.js.map +1 -1
- package/lib/module/reanimated2/layoutReanimation/defaultAnimations/Slide.js +18 -18
- package/lib/module/reanimated2/layoutReanimation/defaultAnimations/Slide.js.map +1 -1
- package/lib/module/reanimated2/layoutReanimation/defaultAnimations/Stretch.js +10 -10
- package/lib/module/reanimated2/layoutReanimation/defaultAnimations/Stretch.js.map +1 -1
- package/lib/module/reanimated2/layoutReanimation/defaultAnimations/Zoom.js +34 -34
- package/lib/module/reanimated2/layoutReanimation/defaultAnimations/Zoom.js.map +1 -1
- package/lib/module/reanimated2/layoutReanimation/defaultAnimations/index.js.map +1 -1
- package/lib/module/reanimated2/layoutReanimation/defaultTransitions/CurvedTransition.js +17 -4
- package/lib/module/reanimated2/layoutReanimation/defaultTransitions/CurvedTransition.js.map +1 -1
- package/lib/module/reanimated2/layoutReanimation/defaultTransitions/EntryExitTransition.js +4 -4
- package/lib/module/reanimated2/layoutReanimation/defaultTransitions/EntryExitTransition.js.map +1 -1
- package/lib/module/reanimated2/layoutReanimation/defaultTransitions/FadingTransition.js +4 -4
- package/lib/module/reanimated2/layoutReanimation/defaultTransitions/FadingTransition.js.map +1 -1
- package/lib/module/reanimated2/layoutReanimation/defaultTransitions/JumpingTransition.js +4 -4
- package/lib/module/reanimated2/layoutReanimation/defaultTransitions/JumpingTransition.js.map +1 -1
- package/lib/module/reanimated2/layoutReanimation/defaultTransitions/LinearTransition.js +4 -4
- package/lib/module/reanimated2/layoutReanimation/defaultTransitions/LinearTransition.js.map +1 -1
- package/lib/module/reanimated2/layoutReanimation/defaultTransitions/SequencedTransition.js +4 -4
- package/lib/module/reanimated2/layoutReanimation/defaultTransitions/SequencedTransition.js.map +1 -1
- package/lib/module/reanimated2/layoutReanimation/defaultTransitions/index.js.map +1 -1
- package/lib/module/reanimated2/layoutReanimation/index.js.map +1 -1
- package/lib/module/reanimated2/layoutReanimation/sharedTransitions/ProgressTransitionManager.js +16 -12
- package/lib/module/reanimated2/layoutReanimation/sharedTransitions/ProgressTransitionManager.js.map +1 -1
- package/lib/module/reanimated2/layoutReanimation/sharedTransitions/SharedTransition.js +13 -7
- package/lib/module/reanimated2/layoutReanimation/sharedTransitions/SharedTransition.js.map +1 -1
- package/lib/module/reanimated2/layoutReanimation/sharedTransitions/SharedTransition.web.js.map +1 -1
- package/lib/module/reanimated2/layoutReanimation/sharedTransitions/index.js.map +1 -1
- package/lib/module/reanimated2/layoutReanimation/web/animation/Bounce.web.js.map +1 -1
- package/lib/module/reanimated2/layoutReanimation/web/animation/Fade.web.js.map +1 -1
- package/lib/module/reanimated2/layoutReanimation/web/animation/Flip.web.js.map +1 -1
- package/lib/module/reanimated2/layoutReanimation/web/animation/Lightspeed.web.js.map +1 -1
- package/lib/module/reanimated2/layoutReanimation/web/animation/Pinwheel.web.js.map +1 -1
- package/lib/module/reanimated2/layoutReanimation/web/animation/Roll.web.js.map +1 -1
- package/lib/module/reanimated2/layoutReanimation/web/animation/Rotate.web.js.map +1 -1
- package/lib/module/reanimated2/layoutReanimation/web/animation/Slide.web.js.map +1 -1
- package/lib/module/reanimated2/layoutReanimation/web/animation/Stretch.web.js.map +1 -1
- package/lib/module/reanimated2/layoutReanimation/web/animation/Zoom.web.js.map +1 -1
- package/lib/module/reanimated2/layoutReanimation/web/animationParser.js +0 -2
- package/lib/module/reanimated2/layoutReanimation/web/animationParser.js.map +1 -1
- package/lib/module/reanimated2/layoutReanimation/web/animationsManager.js +1 -2
- package/lib/module/reanimated2/layoutReanimation/web/animationsManager.js.map +1 -1
- package/lib/module/reanimated2/layoutReanimation/web/componentStyle.js +3 -1
- package/lib/module/reanimated2/layoutReanimation/web/componentStyle.js.map +1 -1
- package/lib/module/reanimated2/layoutReanimation/web/componentUtils.js +6 -7
- package/lib/module/reanimated2/layoutReanimation/web/componentUtils.js.map +1 -1
- package/lib/module/reanimated2/layoutReanimation/web/config.js.map +1 -1
- package/lib/module/reanimated2/layoutReanimation/web/createAnimation.js +2 -2
- package/lib/module/reanimated2/layoutReanimation/web/createAnimation.js.map +1 -1
- package/lib/module/reanimated2/layoutReanimation/web/domUtils.js +4 -4
- package/lib/module/reanimated2/layoutReanimation/web/domUtils.js.map +1 -1
- package/lib/module/reanimated2/layoutReanimation/web/index.js.map +1 -1
- package/lib/module/reanimated2/layoutReanimation/web/transition/Fading.web.js.map +1 -1
- package/lib/module/reanimated2/layoutReanimation/web/transition/Linear.web.js.map +1 -1
- package/lib/module/reanimated2/layoutReanimation/web/transition/Sequenced.web.js.map +1 -1
- package/lib/module/reanimated2/mappers.js +2 -4
- package/lib/module/reanimated2/mappers.js.map +1 -1
- package/lib/module/reanimated2/mockedRequestAnimationFrame.js.map +1 -1
- package/lib/module/reanimated2/mutables.js +2 -4
- package/lib/module/reanimated2/mutables.js.map +1 -1
- package/lib/module/reanimated2/platform-specific/RNRenderer.js.map +1 -1
- package/lib/module/reanimated2/platform-specific/RNRenderer.web.js.map +1 -1
- package/lib/module/reanimated2/platform-specific/checkCppVersion.js.map +1 -1
- package/lib/module/reanimated2/platform-specific/jsVersion.js +1 -1
- package/lib/module/reanimated2/platform-specific/jsVersion.js.map +1 -1
- package/lib/module/reanimated2/platformFunctions/dispatchCommand.js +2 -4
- package/lib/module/reanimated2/platformFunctions/dispatchCommand.js.map +1 -1
- package/lib/module/reanimated2/platformFunctions/dispatchCommand.web.js.map +1 -1
- package/lib/module/reanimated2/platformFunctions/getRelativeCoords.js +2 -2
- package/lib/module/reanimated2/platformFunctions/getRelativeCoords.js.map +1 -1
- package/lib/module/reanimated2/platformFunctions/index.js.map +1 -1
- package/lib/module/reanimated2/platformFunctions/measure.js.map +1 -1
- package/lib/module/reanimated2/platformFunctions/measure.web.js.map +1 -1
- package/lib/module/reanimated2/platformFunctions/scrollTo.js.map +1 -1
- package/lib/module/reanimated2/platformFunctions/scrollTo.web.js +1 -1
- package/lib/module/reanimated2/platformFunctions/scrollTo.web.js.map +1 -1
- package/lib/module/reanimated2/platformFunctions/setGestureState.js.map +1 -1
- package/lib/module/reanimated2/platformFunctions/setGestureState.web.js.map +1 -1
- package/lib/module/reanimated2/platformFunctions/setNativeProps.js.map +1 -1
- package/lib/module/reanimated2/platformFunctions/setNativeProps.web.js.map +1 -1
- package/lib/module/reanimated2/pluginUtils.js.map +1 -1
- package/lib/module/reanimated2/publicGlobals.js.map +1 -1
- package/lib/module/reanimated2/runtimes.js +11 -19
- package/lib/module/reanimated2/runtimes.js.map +1 -1
- package/lib/module/reanimated2/screenTransition/RNScreensTurboModule.js +20 -0
- package/lib/module/reanimated2/screenTransition/RNScreensTurboModule.js.map +1 -0
- package/lib/module/reanimated2/screenTransition/animationManager.js +41 -0
- package/lib/module/reanimated2/screenTransition/animationManager.js.map +1 -0
- package/lib/module/reanimated2/screenTransition/commonTypes.js +4 -0
- package/lib/module/reanimated2/screenTransition/commonTypes.js.map +1 -0
- package/lib/module/reanimated2/screenTransition/index.js +5 -0
- package/lib/module/reanimated2/screenTransition/index.js.map +1 -0
- package/lib/module/reanimated2/screenTransition/presets.js +157 -0
- package/lib/module/reanimated2/screenTransition/presets.js.map +1 -0
- package/lib/module/reanimated2/screenTransition/styleUpdater.js +62 -0
- package/lib/module/reanimated2/screenTransition/styleUpdater.js.map +1 -0
- package/lib/module/reanimated2/screenTransition/swipeSimulator.js +190 -0
- package/lib/module/reanimated2/screenTransition/swipeSimulator.js.map +1 -0
- package/lib/module/reanimated2/shareableMappingCache.js.map +1 -1
- package/lib/module/reanimated2/shareables.js +27 -10
- package/lib/module/reanimated2/shareables.js.map +1 -1
- package/lib/module/reanimated2/threads.js +9 -34
- package/lib/module/reanimated2/threads.js.map +1 -1
- package/lib/module/reanimated2/valueSetter.js +1 -2
- package/lib/module/reanimated2/valueSetter.js.map +1 -1
- package/lib/module/reanimated2/valueUnpacker.js +4 -3
- package/lib/module/reanimated2/valueUnpacker.js.map +1 -1
- package/lib/module/specs/NativeReanimatedModule.js +5 -0
- package/lib/module/specs/NativeReanimatedModule.js.map +1 -0
- package/lib/typescript/ConfigHelper.d.ts +1 -0
- package/lib/typescript/createAnimatedComponent/InlinePropManager.d.ts +1 -1
- package/lib/typescript/createAnimatedComponent/JSPropsUpdater.web.d.ts +6 -0
- package/lib/typescript/createAnimatedComponent/PropsFilter.d.ts +3 -0
- package/lib/typescript/createAnimatedComponent/getViewInfo.d.ts +9 -0
- package/lib/typescript/reanimated2/NativeReanimated/NativeReanimated.d.ts +8 -13
- package/lib/typescript/reanimated2/UpdateLayoutAnimations.d.ts +12 -1
- package/lib/typescript/reanimated2/WorkletEventHandler.d.ts +16 -9
- package/lib/typescript/reanimated2/animation/util.d.ts +2 -0
- package/lib/typescript/reanimated2/component/LayoutAnimationConfig.d.ts +1 -1
- package/lib/typescript/reanimated2/component/PerformanceMonitor.d.ts +2 -0
- package/lib/typescript/reanimated2/core.d.ts +3 -4
- package/lib/typescript/reanimated2/hook/commonTypes.d.ts +6 -0
- package/lib/typescript/reanimated2/hook/useEvent.d.ts +2 -3
- package/lib/typescript/reanimated2/hook/useScrollViewOffset.d.ts +3 -1
- package/lib/typescript/reanimated2/index.d.ts +3 -0
- package/lib/typescript/reanimated2/js-reanimated/JSReanimated.d.ts +2 -2
- package/lib/typescript/reanimated2/layoutReanimation/animationBuilder/commonTypes.d.ts +2 -1
- package/lib/typescript/reanimated2/layoutReanimation/sharedTransitions/ProgressTransitionManager.d.ts +2 -2
- package/lib/typescript/reanimated2/layoutReanimation/sharedTransitions/SharedTransition.d.ts +2 -2
- package/lib/typescript/reanimated2/platform-specific/jsVersion.d.ts +1 -1
- package/lib/typescript/reanimated2/screenTransition/RNScreensTurboModule.d.ts +2 -0
- package/lib/typescript/reanimated2/screenTransition/animationManager.d.ts +3 -0
- package/lib/typescript/reanimated2/screenTransition/commonTypes.d.ts +38 -0
- package/lib/typescript/reanimated2/screenTransition/index.d.ts +3 -0
- package/lib/typescript/reanimated2/screenTransition/presets.d.ts +11 -0
- package/lib/typescript/reanimated2/screenTransition/styleUpdater.d.ts +3 -0
- package/lib/typescript/reanimated2/screenTransition/swipeSimulator.d.ts +2 -0
- package/lib/typescript/specs/NativeReanimatedModule.d.ts +6 -0
- package/package.json +29 -17
- package/plugin/build/plugin.js +7 -2
- package/src/ConfigHelper.ts +1 -1
- package/src/animationBuilder.tsx +2 -0
- package/src/createAnimatedComponent/InlinePropManager.ts +2 -2
- package/src/createAnimatedComponent/JSPropsUpdater.ts +7 -6
- package/src/createAnimatedComponent/JSPropsUpdater.web.ts +26 -0
- package/src/createAnimatedComponent/PropsFilter.tsx +31 -6
- package/src/createAnimatedComponent/createAnimatedComponent.tsx +108 -60
- package/src/createAnimatedComponent/getViewInfo.ts +39 -0
- package/src/mock.ts +13 -1
- package/src/reanimated2/NativeReanimated/NativeReanimated.ts +33 -35
- package/src/reanimated2/PlatformChecker.ts +3 -2
- package/src/reanimated2/PropsRegistry.ts +1 -3
- package/src/reanimated2/UpdateLayoutAnimations.ts +53 -13
- package/src/reanimated2/WorkletEventHandler.ts +98 -39
- package/src/reanimated2/animation/styleAnimation.ts +8 -6
- package/src/reanimated2/animation/timing.ts +9 -1
- package/src/reanimated2/animation/util.ts +28 -3
- package/src/reanimated2/commonTypes.ts +4 -1
- package/src/reanimated2/component/PerformanceMonitor.tsx +216 -0
- package/src/reanimated2/core.ts +9 -31
- package/src/reanimated2/errors.ts +1 -0
- package/src/reanimated2/fabricUtils.ts +43 -18
- package/src/reanimated2/globals.d.ts +11 -1
- package/src/reanimated2/hook/commonTypes.ts +10 -0
- package/src/reanimated2/hook/useAnimatedRef.ts +20 -11
- package/src/reanimated2/hook/useEvent.ts +4 -4
- package/src/reanimated2/hook/useScrollViewOffset.ts +94 -23
- package/src/reanimated2/index.ts +11 -0
- package/src/reanimated2/js-reanimated/JSReanimated.ts +7 -7
- package/src/reanimated2/layoutReanimation/animationBuilder/ComplexAnimationBuilder.ts +4 -0
- package/src/reanimated2/layoutReanimation/animationBuilder/Keyframe.ts +9 -1
- package/src/reanimated2/layoutReanimation/animationBuilder/commonTypes.ts +9 -1
- package/src/reanimated2/layoutReanimation/animationsManager.ts +10 -2
- package/src/reanimated2/layoutReanimation/defaultTransitions/CurvedTransition.ts +13 -0
- package/src/reanimated2/layoutReanimation/sharedTransitions/ProgressTransitionManager.ts +17 -8
- package/src/reanimated2/layoutReanimation/sharedTransitions/SharedTransition.ts +26 -7
- package/src/reanimated2/layoutReanimation/web/animationsManager.ts +1 -1
- package/src/reanimated2/layoutReanimation/web/componentStyle.ts +3 -1
- package/src/reanimated2/layoutReanimation/web/componentUtils.ts +1 -1
- package/src/reanimated2/layoutReanimation/web/createAnimation.ts +2 -2
- package/src/reanimated2/platform-specific/jsVersion.ts +1 -1
- package/src/reanimated2/platformFunctions/getRelativeCoords.ts +2 -2
- package/src/reanimated2/screenTransition/RNScreensTurboModule.ts +29 -0
- package/src/reanimated2/screenTransition/animationManager.ts +45 -0
- package/src/reanimated2/screenTransition/commonTypes.ts +63 -0
- package/src/reanimated2/screenTransition/index.ts +12 -0
- package/src/reanimated2/screenTransition/presets.ts +137 -0
- package/src/reanimated2/screenTransition/styleUpdater.ts +73 -0
- package/src/reanimated2/screenTransition/swipeSimulator.ts +238 -0
- package/src/reanimated2/shareables.ts +29 -6
- package/src/reanimated2/valueUnpacker.ts +10 -3
- package/src/specs/NativeReanimatedModule.ts +9 -0
- package/android/src/reactNativeVersionPatch/ReanimatedUIManager/70/com/swmansion/reanimated/ReanimatedUIManagerFactory.java +0 -16
- package/android/src/reactNativeVersionPatch/messageQueueThread/67/com/swmansion/reanimated/ReanimatedMessageQueueThread.java +0 -12
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
#import <RNReanimated/LayoutAnimationsManager.h>
|
|
2
2
|
#import <RNReanimated/NativeMethods.h>
|
|
3
3
|
#import <RNReanimated/NativeProxy.h>
|
|
4
|
+
#import <RNReanimated/PlatformDepMethodsHolder.h>
|
|
5
|
+
#import <RNReanimated/PlatformDepMethodsHolderImpl.h>
|
|
4
6
|
#import <RNReanimated/REAAnimationsManager.h>
|
|
5
7
|
#import <RNReanimated/REAIOSUIScheduler.h>
|
|
6
8
|
#import <RNReanimated/REAJSIUtils.h>
|
|
@@ -38,28 +40,11 @@
|
|
|
38
40
|
- (void *)runtime;
|
|
39
41
|
@end
|
|
40
42
|
|
|
41
|
-
@interface RCTUIManager (DispatchCommand)
|
|
42
|
-
- (void)dispatchViewManagerCommand:(nonnull NSNumber *)reactTag
|
|
43
|
-
commandID:(id /*(NSString or NSNumber) */)commandID
|
|
44
|
-
commandArgs:(NSArray<id> *)commandArgs;
|
|
45
|
-
@end
|
|
46
|
-
|
|
47
43
|
namespace reanimated {
|
|
48
44
|
|
|
49
45
|
using namespace facebook;
|
|
50
46
|
using namespace react;
|
|
51
47
|
|
|
52
|
-
static NSSet *convertProps(jsi::Runtime &rt, const jsi::Value &props)
|
|
53
|
-
{
|
|
54
|
-
NSMutableSet *propsSet = [[NSMutableSet alloc] init];
|
|
55
|
-
jsi::Array propsNames = props.asObject(rt).asArray(rt);
|
|
56
|
-
for (int i = 0; i < propsNames.size(rt); i++) {
|
|
57
|
-
NSString *propName = @(propsNames.getValueAtIndex(rt, i).asString(rt).utf8(rt).c_str());
|
|
58
|
-
[propsSet addObject:propName];
|
|
59
|
-
}
|
|
60
|
-
return propsSet;
|
|
61
|
-
}
|
|
62
|
-
|
|
63
48
|
std::shared_ptr<NativeReanimatedModule> createReanimatedModule(
|
|
64
49
|
RCTBridge *bridge,
|
|
65
50
|
const std::shared_ptr<CallInvoker> &jsInvoker,
|
|
@@ -67,196 +52,69 @@ std::shared_ptr<NativeReanimatedModule> createReanimatedModule(
|
|
|
67
52
|
{
|
|
68
53
|
REAModule *reaModule = [bridge moduleForClass:[REAModule class]];
|
|
69
54
|
|
|
70
|
-
|
|
71
|
-
// nothing
|
|
72
|
-
#else
|
|
73
|
-
RCTUIManager *uiManager = reaModule.nodesManager.uiManager;
|
|
74
|
-
auto updatePropsFunction = [reaModule](jsi::Runtime &rt, const jsi::Value &operations) -> void {
|
|
75
|
-
auto array = operations.asObject(rt).asArray(rt);
|
|
76
|
-
size_t length = array.size(rt);
|
|
77
|
-
for (size_t i = 0; i < length; ++i) {
|
|
78
|
-
auto item = array.getValueAtIndex(rt, i).asObject(rt);
|
|
79
|
-
int viewTag = item.getProperty(rt, "tag").asNumber();
|
|
80
|
-
const jsi::Value &viewName = item.getProperty(rt, "name");
|
|
81
|
-
const jsi::Object &props = item.getProperty(rt, "updates").asObject(rt);
|
|
82
|
-
|
|
83
|
-
NSString *nsViewName = [NSString stringWithCString:viewName.asString(rt).utf8(rt).c_str()
|
|
84
|
-
encoding:[NSString defaultCStringEncoding]];
|
|
85
|
-
|
|
86
|
-
NSDictionary *propsDict = convertJSIObjectToNSDictionary(rt, props);
|
|
87
|
-
[reaModule.nodesManager updateProps:propsDict ofViewWithTag:[NSNumber numberWithInt:viewTag] withName:nsViewName];
|
|
88
|
-
}
|
|
89
|
-
};
|
|
90
|
-
|
|
91
|
-
auto measureFunction = [uiManager](int viewTag) -> std::vector<std::pair<std::string, double>> {
|
|
92
|
-
return measure(viewTag, uiManager);
|
|
93
|
-
};
|
|
94
|
-
|
|
95
|
-
auto scrollToFunction = [uiManager](int viewTag, double x, double y, bool animated) {
|
|
96
|
-
scrollTo(viewTag, uiManager, x, y, animated);
|
|
97
|
-
};
|
|
98
|
-
|
|
99
|
-
auto dispatchCommandFunction =
|
|
100
|
-
[uiManager](
|
|
101
|
-
jsi::Runtime &rt, const int tag, const jsi::Value &commandNameValue, const jsi::Value &argsValue) -> void {
|
|
102
|
-
NSNumber *viewTag = [NSNumber numberWithInt:tag];
|
|
103
|
-
NSString *commandID = [NSString stringWithCString:commandNameValue.asString(rt).utf8(rt).c_str()
|
|
104
|
-
encoding:[NSString defaultCStringEncoding]];
|
|
105
|
-
NSArray *commandArgs = convertJSIArrayToNSArray(rt, argsValue.asObject(rt).asArray(rt));
|
|
106
|
-
RCTExecuteOnUIManagerQueue(^{
|
|
107
|
-
[uiManager dispatchViewManagerCommand:viewTag commandID:commandID commandArgs:commandArgs];
|
|
108
|
-
});
|
|
109
|
-
};
|
|
110
|
-
|
|
111
|
-
#endif
|
|
112
|
-
|
|
113
|
-
id<RNGestureHandlerStateManager> gestureHandlerStateManager = nil;
|
|
114
|
-
auto setGestureStateFunction = [gestureHandlerStateManager, bridge](int handlerTag, int newState) mutable {
|
|
115
|
-
if (gestureHandlerStateManager == nil) {
|
|
116
|
-
gestureHandlerStateManager = [bridge moduleForName:@"RNGestureHandlerModule"];
|
|
117
|
-
}
|
|
118
|
-
|
|
119
|
-
setGestureState(gestureHandlerStateManager, handlerTag, newState);
|
|
120
|
-
};
|
|
55
|
+
auto nodesManager = reaModule.nodesManager;
|
|
121
56
|
|
|
122
|
-
|
|
123
|
-
// nothing
|
|
124
|
-
#else
|
|
125
|
-
auto obtainPropFunction = [reaModule](
|
|
126
|
-
jsi::Runtime &rt, const int viewTag, const jsi::String &propName) -> jsi::Value {
|
|
127
|
-
NSString *propNameConverted = [NSString stringWithFormat:@"%s", propName.utf8(rt).c_str()];
|
|
128
|
-
std::string resultStr = std::string([[reaModule.nodesManager obtainProp:[NSNumber numberWithInt:viewTag]
|
|
129
|
-
propName:propNameConverted] UTF8String]);
|
|
130
|
-
jsi::Value val = jsi::String::createFromUtf8(rt, resultStr);
|
|
131
|
-
return val;
|
|
132
|
-
};
|
|
133
|
-
#endif
|
|
57
|
+
jsi::Runtime &rnRuntime = *reinterpret_cast<facebook::jsi::Runtime *>(reaModule.bridge.runtime);
|
|
134
58
|
|
|
135
59
|
auto jsQueue = std::make_shared<REAMessageThread>([NSRunLoop currentRunLoop], ^(NSError *error) {
|
|
136
60
|
throw error;
|
|
137
61
|
});
|
|
138
62
|
|
|
139
|
-
|
|
63
|
+
PlatformDepMethodsHolder platformDepMethodsHolder = makePlatformDepMethodsHolder(bridge, nodesManager, reaModule);
|
|
140
64
|
|
|
141
65
|
std::shared_ptr<UIScheduler> uiScheduler = std::make_shared<REAIOSUIScheduler>();
|
|
66
|
+
std::shared_ptr<JSScheduler> jsScheduler = std::make_shared<JSScheduler>(rnRuntime, jsInvoker);
|
|
67
|
+
constexpr bool isBridgeless = false;
|
|
142
68
|
|
|
143
|
-
auto
|
|
144
|
-
|
|
145
|
-
auto maybeFlushUIUpdatesQueueFunction = [nodesManager]() { [nodesManager maybeFlushUIUpdatesQueue]; };
|
|
69
|
+
auto nativeReanimatedModule = std::make_shared<NativeReanimatedModule>(
|
|
70
|
+
rnRuntime, jsScheduler, jsQueue, uiScheduler, platformDepMethodsHolder, valueUnpackerCode, isBridgeless);
|
|
146
71
|
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
#
|
|
150
|
-
|
|
72
|
+
commonInit(reaModule, nativeReanimatedModule);
|
|
73
|
+
// Layout Animation callbacks setup
|
|
74
|
+
#ifdef RCT_NEW_ARCH_ENABLED
|
|
75
|
+
// nothing
|
|
151
76
|
#else
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
#endif
|
|
155
|
-
double frameTimestamp = calculateTimestampWithSlowAnimations(targetTimestamp) * 1000;
|
|
156
|
-
onRender(frameTimestamp);
|
|
157
|
-
}];
|
|
158
|
-
};
|
|
77
|
+
REAAnimationsManager *animationsManager = reaModule.animationsManager;
|
|
78
|
+
setupLayoutAnimationCallbacks(nativeReanimatedModule, animationsManager);
|
|
159
79
|
|
|
160
|
-
#
|
|
161
|
-
auto synchronouslyUpdateUIPropsFunction = [nodesManager](jsi::Runtime &rt, Tag tag, const jsi::Object &props) {
|
|
162
|
-
NSNumber *viewTag = @(tag);
|
|
163
|
-
NSDictionary *uiProps = convertJSIObjectToNSDictionary(rt, props);
|
|
164
|
-
[nodesManager synchronouslyUpdateViewOnUIThread:viewTag props:uiProps];
|
|
165
|
-
};
|
|
80
|
+
#endif // RCT_NEW_ARCH_ENABLED
|
|
166
81
|
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
};
|
|
82
|
+
return nativeReanimatedModule;
|
|
83
|
+
}
|
|
170
84
|
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
85
|
+
#if REACT_NATIVE_MINOR_VERSION >= 74 && defined(RCT_NEW_ARCH_ENABLED)
|
|
86
|
+
std::shared_ptr<NativeReanimatedModule> createReanimatedModuleBridgeless(
|
|
87
|
+
RCTModuleRegistry *moduleRegistry,
|
|
88
|
+
jsi::Runtime &runtime,
|
|
89
|
+
const std::string &valueUnpackerCode,
|
|
90
|
+
RuntimeExecutor runtimeExecutor)
|
|
91
|
+
{
|
|
92
|
+
REAModule *reaModule = [moduleRegistry moduleForName:"ReanimatedModule"];
|
|
174
93
|
|
|
175
|
-
|
|
176
|
-
// Layout Animations start
|
|
177
|
-
REAAnimationsManager *animationsManager = reaModule.animationsManager;
|
|
178
|
-
__weak REAAnimationsManager *weakAnimationsManager = animationsManager;
|
|
179
|
-
|
|
180
|
-
auto progressLayoutAnimation = [=](jsi::Runtime &rt, int tag, const jsi::Object &newStyle, bool isSharedTransition) {
|
|
181
|
-
NSDictionary *propsDict = convertJSIObjectToNSDictionary(rt, newStyle);
|
|
182
|
-
[weakAnimationsManager progressLayoutAnimationWithStyle:propsDict
|
|
183
|
-
forTag:@(tag)
|
|
184
|
-
isSharedTransition:isSharedTransition];
|
|
185
|
-
};
|
|
186
|
-
|
|
187
|
-
auto endLayoutAnimation = [=](int tag, bool removeView) {
|
|
188
|
-
[weakAnimationsManager endLayoutAnimationForTag:@(tag) removeView:removeView];
|
|
189
|
-
};
|
|
190
|
-
|
|
191
|
-
auto configurePropsFunction = [reaModule](
|
|
192
|
-
jsi::Runtime &rt, const jsi::Value &uiProps, const jsi::Value &nativeProps) {
|
|
193
|
-
NSSet *uiPropsSet = convertProps(rt, uiProps);
|
|
194
|
-
NSSet *nativePropsSet = convertProps(rt, nativeProps);
|
|
195
|
-
[reaModule.nodesManager configureUiProps:uiPropsSet andNativeProps:nativePropsSet];
|
|
196
|
-
};
|
|
197
|
-
|
|
198
|
-
// Layout Animations end
|
|
199
|
-
#endif
|
|
94
|
+
auto nodesManager = reaModule.nodesManager;
|
|
200
95
|
|
|
201
|
-
auto
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
setter(data, orientationDegrees);
|
|
212
|
-
}];
|
|
213
|
-
};
|
|
214
|
-
|
|
215
|
-
auto unregisterSensorFunction = [=](int sensorId) { [reanimatedSensorContainer unregisterSensor:sensorId]; };
|
|
216
|
-
// end sensors
|
|
217
|
-
|
|
218
|
-
// keyboard events
|
|
219
|
-
|
|
220
|
-
REAKeyboardEventObserver *keyboardObserver = [[REAKeyboardEventObserver alloc] init];
|
|
221
|
-
auto subscribeForKeyboardEventsFunction =
|
|
222
|
-
[=](std::function<void(int keyboardState, int height)> keyboardEventDataUpdater, bool isStatusBarTranslucent) {
|
|
223
|
-
// ignore isStatusBarTranslucent - it's Android only
|
|
224
|
-
return [keyboardObserver subscribeForKeyboardEvents:^(int keyboardState, int height) {
|
|
225
|
-
keyboardEventDataUpdater(keyboardState, height);
|
|
226
|
-
}];
|
|
227
|
-
};
|
|
228
|
-
|
|
229
|
-
auto unsubscribeFromKeyboardEventsFunction = [=](int listenerId) {
|
|
230
|
-
[keyboardObserver unsubscribeFromKeyboardEvents:listenerId];
|
|
231
|
-
};
|
|
232
|
-
// end keyboard events
|
|
233
|
-
|
|
234
|
-
PlatformDepMethodsHolder platformDepMethodsHolder = {
|
|
235
|
-
requestRender,
|
|
236
|
-
#ifdef RCT_NEW_ARCH_ENABLED
|
|
237
|
-
synchronouslyUpdateUIPropsFunction,
|
|
238
|
-
#else
|
|
239
|
-
updatePropsFunction,
|
|
240
|
-
scrollToFunction,
|
|
241
|
-
dispatchCommandFunction,
|
|
242
|
-
measureFunction,
|
|
243
|
-
configurePropsFunction,
|
|
244
|
-
obtainPropFunction,
|
|
245
|
-
#endif
|
|
246
|
-
getAnimationTimestamp,
|
|
247
|
-
progressLayoutAnimation,
|
|
248
|
-
endLayoutAnimation,
|
|
249
|
-
registerSensorFunction,
|
|
250
|
-
unregisterSensorFunction,
|
|
251
|
-
setGestureStateFunction,
|
|
252
|
-
subscribeForKeyboardEventsFunction,
|
|
253
|
-
unsubscribeFromKeyboardEventsFunction,
|
|
254
|
-
maybeFlushUIUpdatesQueueFunction,
|
|
255
|
-
};
|
|
96
|
+
auto jsQueue = std::make_shared<REAMessageThread>([NSRunLoop currentRunLoop], ^(NSError *error) {
|
|
97
|
+
throw error;
|
|
98
|
+
});
|
|
99
|
+
|
|
100
|
+
PlatformDepMethodsHolder platformDepMethodsHolder =
|
|
101
|
+
makePlatformDepMethodsHolderBridgeless(moduleRegistry, nodesManager, reaModule);
|
|
102
|
+
|
|
103
|
+
auto uiScheduler = std::make_shared<REAIOSUIScheduler>();
|
|
104
|
+
auto jsScheduler = std::make_shared<JSScheduler>(runtime, runtimeExecutor);
|
|
105
|
+
constexpr bool isBridgeless = true;
|
|
256
106
|
|
|
257
107
|
auto nativeReanimatedModule = std::make_shared<NativeReanimatedModule>(
|
|
258
|
-
|
|
108
|
+
runtime, jsScheduler, jsQueue, uiScheduler, platformDepMethodsHolder, valueUnpackerCode, isBridgeless);
|
|
109
|
+
|
|
110
|
+
commonInit(reaModule, nativeReanimatedModule);
|
|
111
|
+
|
|
112
|
+
return nativeReanimatedModule;
|
|
113
|
+
}
|
|
114
|
+
#endif // REACT_NATIVE_MINOR_VERSION >= 74 && defined(RCT_NEW_ARCH_ENABLED)
|
|
259
115
|
|
|
116
|
+
void commonInit(REAModule *reaModule, std::shared_ptr<NativeReanimatedModule> nativeReanimatedModule)
|
|
117
|
+
{
|
|
260
118
|
[reaModule.nodesManager registerEventHandler:^(id<RCTEvent> event) {
|
|
261
119
|
// handles RCTEvents from RNGestureHandler
|
|
262
120
|
std::string eventName = [event.eventName UTF8String];
|
|
@@ -268,15 +126,24 @@ std::shared_ptr<NativeReanimatedModule> createReanimatedModule(
|
|
|
268
126
|
nativeReanimatedModule->handleEvent(eventName, emitterReactTag, payload, currentTime);
|
|
269
127
|
}];
|
|
270
128
|
|
|
271
|
-
std::weak_ptr<NativeReanimatedModule> weakNativeReanimatedModule = nativeReanimatedModule; // to avoid retain cycle
|
|
272
129
|
#ifdef RCT_NEW_ARCH_ENABLED
|
|
130
|
+
std::weak_ptr<NativeReanimatedModule> weakNativeReanimatedModule = nativeReanimatedModule; // to avoid retain cycle
|
|
273
131
|
[reaModule.nodesManager registerPerformOperations:^() {
|
|
274
132
|
if (auto nativeReanimatedModule = weakNativeReanimatedModule.lock()) {
|
|
275
133
|
nativeReanimatedModule->performOperations();
|
|
276
134
|
}
|
|
277
135
|
}];
|
|
278
|
-
#
|
|
279
|
-
|
|
136
|
+
#endif // RCT_NEW_ARCH_ENABLED
|
|
137
|
+
}
|
|
138
|
+
|
|
139
|
+
#ifdef RCT_NEW_ARCH_ENABLED
|
|
140
|
+
// nothing
|
|
141
|
+
#else // RCT_NEW_ARCH_ENABLED
|
|
142
|
+
void setupLayoutAnimationCallbacks(
|
|
143
|
+
std::shared_ptr<NativeReanimatedModule> nativeReanimatedModule,
|
|
144
|
+
REAAnimationsManager *animationsManager)
|
|
145
|
+
{
|
|
146
|
+
std::weak_ptr<NativeReanimatedModule> weakNativeReanimatedModule = nativeReanimatedModule; // to avoid retain cycle
|
|
280
147
|
[animationsManager
|
|
281
148
|
setAnimationStartingBlock:^(NSNumber *_Nonnull tag, LayoutAnimationType type, NSDictionary *_Nonnull values) {
|
|
282
149
|
if (auto nativeReanimatedModule = weakNativeReanimatedModule.lock()) {
|
|
@@ -323,6 +190,12 @@ std::shared_ptr<NativeReanimatedModule> createReanimatedModule(
|
|
|
323
190
|
}
|
|
324
191
|
}];
|
|
325
192
|
|
|
193
|
+
[animationsManager setSharedTransitionRemovingBlock:^(NSNumber *_Nonnull tag) {
|
|
194
|
+
if (auto nativeReanimatedModule = weakNativeReanimatedModule.lock()) {
|
|
195
|
+
nativeReanimatedModule->layoutAnimationsManager().clearSharedTransitionConfig([tag intValue]);
|
|
196
|
+
}
|
|
197
|
+
}];
|
|
198
|
+
|
|
326
199
|
[animationsManager setCancelAnimationBlock:^(NSNumber *_Nonnull tag) {
|
|
327
200
|
if (auto nativeReanimatedModule = weakNativeReanimatedModule.lock()) {
|
|
328
201
|
jsi::Runtime &rt = nativeReanimatedModule->getUIRuntime();
|
|
@@ -348,10 +221,7 @@ std::shared_ptr<NativeReanimatedModule> createReanimatedModule(
|
|
|
348
221
|
}
|
|
349
222
|
}];
|
|
350
223
|
#endif // NDEBUG
|
|
351
|
-
|
|
352
|
-
#endif
|
|
353
|
-
|
|
354
|
-
return nativeReanimatedModule;
|
|
355
224
|
}
|
|
225
|
+
#endif // RCT_NEW_ARCH_ENABLED
|
|
356
226
|
|
|
357
227
|
} // namespace reanimated
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
#if __cplusplus
|
|
2
|
+
|
|
3
|
+
#import <REAAnimationsManager.h>
|
|
4
|
+
#import <REAKeyboardEventObserver.h>
|
|
5
|
+
#import <REAModule.h>
|
|
6
|
+
#import <REANodesManager.h>
|
|
7
|
+
#import <RNReanimated/NativeReanimatedModule.h>
|
|
8
|
+
#import <React/RCTEventDispatcher.h>
|
|
9
|
+
#import <ReanimatedSensorContainer.h>
|
|
10
|
+
#include <memory>
|
|
11
|
+
|
|
12
|
+
namespace reanimated {
|
|
13
|
+
|
|
14
|
+
PlatformDepMethodsHolder makePlatformDepMethodsHolder(
|
|
15
|
+
RCTBridge *bridge,
|
|
16
|
+
REANodesManager *nodesManager,
|
|
17
|
+
REAModule *reaModule);
|
|
18
|
+
|
|
19
|
+
#if REACT_NATIVE_MINOR_VERSION >= 74 && defined(RCT_NEW_ARCH_ENABLED)
|
|
20
|
+
PlatformDepMethodsHolder makePlatformDepMethodsHolderBridgeless(
|
|
21
|
+
RCTModuleRegistry *moduleRegistry,
|
|
22
|
+
REANodesManager *nodesManager,
|
|
23
|
+
REAModule *reaModule);
|
|
24
|
+
SetGestureStateFunction makeSetGestureStateFunctionBridgeless(
|
|
25
|
+
RCTModuleRegistry *moduleRegistry);
|
|
26
|
+
#endif // REACT_NATIVE_MINOR_VERSION >= 74 && defined(RCT_NEW_ARCH_ENABLED)
|
|
27
|
+
|
|
28
|
+
#ifdef RCT_NEW_ARCH_ENABLED
|
|
29
|
+
SynchronouslyUpdateUIPropsFunction makeSynchronouslyUpdateUIPropsFunction(
|
|
30
|
+
REANodesManager *nodesManager);
|
|
31
|
+
#else // RCT_NEW_ARCH_ENABLED
|
|
32
|
+
UpdatePropsFunction makeUpdatePropsFunction(REAModule *reaModule);
|
|
33
|
+
MeasureFunction makeMeasureFunction(RCTUIManager *uiManager);
|
|
34
|
+
ScrollToFunction makeScrollToFunction(RCTUIManager *uiManager);
|
|
35
|
+
DispatchCommandFunction makeDispatchCommandFunction(RCTUIManager *uiManager);
|
|
36
|
+
ConfigurePropsFunction makeConfigurePropsFunction(REAModule *reaModule);
|
|
37
|
+
ObtainPropFunction makeObtainPropFunction(REAModule *reaModule);
|
|
38
|
+
#endif // RCT_NEW_ARCH_ENABLED
|
|
39
|
+
|
|
40
|
+
SetGestureStateFunction makeSetGestureStateFunction(RCTBridge *bridge);
|
|
41
|
+
RequestRenderFunction makeRequestRender(REANodesManager *nodesManager);
|
|
42
|
+
GetAnimationTimestampFunction makeGetAnimationTimestamp();
|
|
43
|
+
ProgressLayoutAnimationFunction makeProgressLayoutAnimation(
|
|
44
|
+
REAModule *reaModule);
|
|
45
|
+
EndLayoutAnimationFunction makeEndLayoutAnimation(REAModule *reaModule);
|
|
46
|
+
MaybeFlushUIUpdatesQueueFunction makeMaybeFlushUIUpdatesQueueFunction(
|
|
47
|
+
REANodesManager *nodesManager);
|
|
48
|
+
RegisterSensorFunction makeRegisterSensorFunction(
|
|
49
|
+
ReanimatedSensorContainer *reanimatedSensorContainer);
|
|
50
|
+
UnregisterSensorFunction makeUnregisterSensorFunction(
|
|
51
|
+
ReanimatedSensorContainer *reanimatedSensorContainer);
|
|
52
|
+
KeyboardEventSubscribeFunction makeSubscribeForKeyboardEventsFunction(
|
|
53
|
+
REAKeyboardEventObserver *keyboardObserver);
|
|
54
|
+
KeyboardEventUnsubscribeFunction makeUnsubscribeFromKeyboardEventsFunction(
|
|
55
|
+
REAKeyboardEventObserver *keyboardObserver);
|
|
56
|
+
|
|
57
|
+
} // namespace reanimated
|
|
58
|
+
|
|
59
|
+
#endif //__cplusplus
|