react-native-reanimated 2.6.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 +20 -2
- package/Common/cpp/Tools/Mapper.cpp +23 -4
- package/Common/cpp/Tools/RuntimeDecorator.cpp +92 -46
- 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 +196 -41
- package/android/src/main/cpp/headers/NativeProxy.h +45 -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/AnimationsManager.java +13 -6
- package/android/src/main/java/com/swmansion/reanimated/layoutReanimation/LayoutAnimations.java +2 -1
- package/android/src/{main → paper}/java/com/swmansion/reanimated/NativeProxy.java +26 -10
- 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/LayoutReanimation/REAAnimationsManager.h +1 -1
- package/ios/LayoutReanimation/REAAnimationsManager.m +2 -2
- package/ios/LayoutReanimation/REASnapshot.m +1 -1
- package/ios/LayoutReanimation/REAUIManager.h +1 -1
- package/ios/LayoutReanimation/REAUIManager.mm +4 -5
- package/ios/REAEventDispatcher.m +1 -2
- package/ios/REAModule.h +10 -1
- package/ios/REAModule.mm +284 -0
- package/ios/REANodesManager.h +27 -52
- package/ios/{REANodesManager.m → REANodesManager.mm} +92 -226
- package/ios/native/NativeMethods.h +1 -3
- package/ios/native/NativeMethods.mm +1 -1
- package/ios/native/NativeProxy.h +2 -2
- package/ios/native/NativeProxy.mm +162 -32
- package/ios/native/REAIOSErrorHandler.h +2 -4
- package/ios/native/REAIOSErrorHandler.mm +1 -1
- package/ios/native/REAIOSLogger.h +1 -3
- package/ios/native/REAIOSLogger.mm +1 -1
- package/ios/native/REAIOSScheduler.h +1 -3
- package/ios/native/REAIOSScheduler.mm +2 -2
- package/ios/native/REAInitializer.h +0 -7
- package/ios/native/REAInitializer.mm +14 -6
- package/ios/native/UIResponder+Reanimated.h +3 -1
- package/ios/native/UIResponder+Reanimated.mm +6 -4
- package/ios/sensor/ReanimatedSensor.h +1 -1
- package/ios/sensor/ReanimatedSensor.m +1 -1
- package/ios/sensor/ReanimatedSensorContainer.h +1 -1
- package/ios/sensor/ReanimatedSensorContainer.m +2 -2
- package/lib/Animated.js +0 -13
- package/lib/ConfigHelper.js +0 -1
- package/lib/createAnimatedComponent.js +30 -169
- package/lib/index.js +0 -13
- package/lib/reanimated2/Easing.js +8 -44
- package/lib/reanimated2/NativeMethods.js +20 -3
- package/lib/reanimated2/UpdateProps.js +25 -10
- package/lib/reanimated2/core.js +4 -37
- package/lib/reanimated2/fabricUtils.js +18 -0
- package/lib/reanimated2/globals.d.ts +18 -3
- 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 -2
- 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 +1 -3
- 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 +10 -10
- package/plugin.js +29 -33
- package/react-native-reanimated.d.ts +15 -3
- package/src/Animated.js +0 -13
- package/src/ConfigHelper.ts +0 -1
- package/src/createAnimatedComponent.tsx +37 -197
- package/src/reanimated2/Easing.ts +8 -55
- package/src/reanimated2/NativeMethods.ts +39 -7
- package/src/reanimated2/UpdateProps.ts +38 -19
- package/src/reanimated2/commonTypes.ts +4 -2
- package/src/reanimated2/component/FlatList.tsx +8 -5
- package/src/reanimated2/core.ts +7 -48
- package/src/reanimated2/fabricUtils.ts +27 -0
- package/src/reanimated2/globals.d.ts +18 -3
- 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/useAnimatedSensor.ts +1 -3
- 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 -104
- 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 -9
- 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 -115
- 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 -98
- 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 -28
- package/ios/Nodes/REATransformNode.h +0 -5
- package/ios/Nodes/REATransformNode.m +0 -36
- package/ios/Nodes/REAValueNode.h +0 -11
- package/ios/Nodes/REAValueNode.m +0 -26
- package/ios/REAModule.m +0 -185
- package/ios/Transitioning/RCTConvert+REATransition.h +0 -12
- package/ios/Transitioning/RCTConvert+REATransition.m +0 -53
- package/ios/Transitioning/REAAllTransitions.h +0 -26
- package/ios/Transitioning/REAAllTransitions.m +0 -297
- package/ios/Transitioning/REATransition.h +0 -65
- package/ios/Transitioning/REATransition.m +0 -211
- package/ios/Transitioning/REATransitionAnimation.h +0 -17
- package/ios/Transitioning/REATransitionAnimation.m +0 -80
- package/ios/Transitioning/REATransitionManager.h +0 -9
- package/ios/Transitioning/REATransitionManager.m +0 -62
- package/ios/Transitioning/REATransitionValues.h +0 -15
- package/ios/Transitioning/REATransitionValues.m +0 -26
- 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,11 +1,3 @@
|
|
|
1
|
-
// spread and rest parameters can't be used in worklets right now
|
|
2
|
-
/* eslint-disable prefer-rest-params */
|
|
3
|
-
/* eslint-disable prefer-spread */
|
|
4
|
-
|
|
5
|
-
/* global _WORKLET */
|
|
6
|
-
|
|
7
|
-
// @ts-ignore reanimated1/Easing is JS file
|
|
8
|
-
import EasingNode from '../reanimated1/Easing';
|
|
9
1
|
import { Bezier } from './Bezier';
|
|
10
2
|
|
|
11
3
|
/**
|
|
@@ -109,7 +101,10 @@ function cubic(t: number): number {
|
|
|
109
101
|
*/
|
|
110
102
|
function poly(n: number): EasingFn {
|
|
111
103
|
'worklet';
|
|
112
|
-
return (t) =>
|
|
104
|
+
return (t) => {
|
|
105
|
+
'worklet';
|
|
106
|
+
return Math.pow(t, n);
|
|
107
|
+
};
|
|
113
108
|
}
|
|
114
109
|
|
|
115
110
|
/**
|
|
@@ -171,7 +166,10 @@ function elastic(bounciness = 1): EasingFn {
|
|
|
171
166
|
*/
|
|
172
167
|
function back(s = 1.70158): (t: number) => number {
|
|
173
168
|
'worklet';
|
|
174
|
-
return (t) =>
|
|
169
|
+
return (t) => {
|
|
170
|
+
'worklet';
|
|
171
|
+
return t * t * ((s + 1) * t - s);
|
|
172
|
+
};
|
|
175
173
|
}
|
|
176
174
|
|
|
177
175
|
/**
|
|
@@ -285,49 +283,4 @@ const EasingObject = {
|
|
|
285
283
|
inOut,
|
|
286
284
|
};
|
|
287
285
|
|
|
288
|
-
// TODO type worklets
|
|
289
|
-
function createChecker(
|
|
290
|
-
worklet: any,
|
|
291
|
-
workletName: string,
|
|
292
|
-
prevArgs?: unknown
|
|
293
|
-
): any {
|
|
294
|
-
/* should return Animated.Value or worklet */
|
|
295
|
-
function checkIfReaOne(): any {
|
|
296
|
-
'worklet';
|
|
297
|
-
if (arguments && !_WORKLET) {
|
|
298
|
-
for (let i = 0; i < arguments.length; i++) {
|
|
299
|
-
const arg = arguments[i];
|
|
300
|
-
if (arg && arg.__nodeID) {
|
|
301
|
-
console.warn(
|
|
302
|
-
`Easing was renamed to EasingNode in Reanimated 2. Please use EasingNode instead`
|
|
303
|
-
);
|
|
304
|
-
if (prevArgs) {
|
|
305
|
-
return EasingNode[workletName]
|
|
306
|
-
.apply(undefined, prevArgs)
|
|
307
|
-
.apply(undefined, arguments);
|
|
308
|
-
}
|
|
309
|
-
return EasingNode[workletName].apply(undefined, arguments);
|
|
310
|
-
}
|
|
311
|
-
}
|
|
312
|
-
}
|
|
313
|
-
// @ts-ignore this is implicitly any - TODO
|
|
314
|
-
const res = worklet.apply(this, arguments);
|
|
315
|
-
if (!_WORKLET && res && typeof res === 'function' && res.__worklet) {
|
|
316
|
-
return createChecker(res, workletName, arguments);
|
|
317
|
-
}
|
|
318
|
-
return res;
|
|
319
|
-
}
|
|
320
|
-
// use original worklet on UI side
|
|
321
|
-
checkIfReaOne._closure = worklet._closure;
|
|
322
|
-
checkIfReaOne.asString = worklet.asString;
|
|
323
|
-
checkIfReaOne.__workletHash = worklet.__workletHash;
|
|
324
|
-
checkIfReaOne.__location = worklet.__location;
|
|
325
|
-
return checkIfReaOne;
|
|
326
|
-
}
|
|
327
|
-
|
|
328
|
-
type EasingObjT = Array<keyof typeof EasingObject>;
|
|
329
|
-
(Object.keys(EasingObject) as EasingObjT).forEach((key) => {
|
|
330
|
-
EasingObject[key] = createChecker(EasingObject[key], key);
|
|
331
|
-
});
|
|
332
|
-
|
|
333
286
|
export const Easing = EasingObject;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/* global _WORKLET _measure _scrollTo _setGestureState */
|
|
1
|
+
/* global _WORKLET _measure _scrollTo _dispatchCommand _setGestureState */
|
|
2
2
|
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
|
3
3
|
// @ts-nocheck
|
|
4
4
|
import { Component } from 'react';
|
|
@@ -48,18 +48,50 @@ export function measure(
|
|
|
48
48
|
return result;
|
|
49
49
|
}
|
|
50
50
|
|
|
51
|
-
export function
|
|
51
|
+
export function dispatchCommand(
|
|
52
52
|
animatedRef: RefObjectFunction<Component>,
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
animated: boolean
|
|
53
|
+
commandName: string,
|
|
54
|
+
args: Array<unknown>
|
|
56
55
|
): void {
|
|
57
56
|
'worklet';
|
|
58
57
|
if (!_WORKLET || isNativeIndefined) {
|
|
59
58
|
return;
|
|
60
59
|
}
|
|
61
|
-
const
|
|
62
|
-
|
|
60
|
+
const shadowNodeWrapper = animatedRef();
|
|
61
|
+
_dispatchCommand(shadowNodeWrapper, commandName, args);
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
export let scrollTo: (
|
|
65
|
+
animatedRef: RefObjectFunction<Component>,
|
|
66
|
+
x: number,
|
|
67
|
+
y: number,
|
|
68
|
+
animated: boolean
|
|
69
|
+
) => void;
|
|
70
|
+
|
|
71
|
+
if (global._IS_FABRIC) {
|
|
72
|
+
scrollTo = (
|
|
73
|
+
animatedRef: RefObjectFunction<Component>,
|
|
74
|
+
x: number,
|
|
75
|
+
y: number,
|
|
76
|
+
animated: boolean
|
|
77
|
+
) => {
|
|
78
|
+
'worklet';
|
|
79
|
+
dispatchCommand(animatedRef, 'scrollTo', [x, y, animated]);
|
|
80
|
+
};
|
|
81
|
+
} else {
|
|
82
|
+
scrollTo = (
|
|
83
|
+
animatedRef: RefObjectFunction<Component>,
|
|
84
|
+
x: number,
|
|
85
|
+
y: number,
|
|
86
|
+
animated: boolean
|
|
87
|
+
) => {
|
|
88
|
+
'worklet';
|
|
89
|
+
if (!_WORKLET || isNativeIndefined) {
|
|
90
|
+
return;
|
|
91
|
+
}
|
|
92
|
+
const viewTag = animatedRef();
|
|
93
|
+
_scrollTo(viewTag, x, y, animated);
|
|
94
|
+
};
|
|
63
95
|
}
|
|
64
96
|
|
|
65
97
|
export function setGestureState(handlerTag: number, newState: number): void {
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/* global
|
|
1
|
+
/* global _updatePropsPaper _updatePropsFabric */
|
|
2
2
|
import { MutableRefObject } from 'react';
|
|
3
3
|
import { processColor } from './Colors';
|
|
4
4
|
import { AnimatedStyle, SharedValue, StyleProps } from './commonTypes';
|
|
@@ -43,27 +43,46 @@ if (shouldBeUseWeb()) {
|
|
|
43
43
|
}
|
|
44
44
|
};
|
|
45
45
|
} else {
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
46
|
+
if (global._IS_FABRIC) {
|
|
47
|
+
updatePropsByPlatform = (
|
|
48
|
+
viewDescriptors: SharedValue<Descriptor[]>,
|
|
49
|
+
updates: StyleProps | AnimatedStyle,
|
|
50
|
+
_: ViewRefSet<any> | undefined
|
|
51
|
+
): void => {
|
|
52
|
+
'worklet';
|
|
52
53
|
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
54
|
+
for (const key in updates) {
|
|
55
|
+
if (ColorProperties.indexOf(key) !== -1) {
|
|
56
|
+
updates[key] = processColor(updates[key]);
|
|
57
|
+
}
|
|
56
58
|
}
|
|
57
|
-
}
|
|
58
59
|
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
60
|
+
viewDescriptors.value.forEach((viewDescriptor) => {
|
|
61
|
+
_updatePropsFabric(viewDescriptor.shadowNodeWrapper, updates);
|
|
62
|
+
});
|
|
63
|
+
};
|
|
64
|
+
} else {
|
|
65
|
+
updatePropsByPlatform = (
|
|
66
|
+
viewDescriptors: SharedValue<Descriptor[]>,
|
|
67
|
+
updates: StyleProps | AnimatedStyle,
|
|
68
|
+
_: ViewRefSet<any> | undefined
|
|
69
|
+
): void => {
|
|
70
|
+
'worklet';
|
|
71
|
+
|
|
72
|
+
for (const key in updates) {
|
|
73
|
+
if (ColorProperties.indexOf(key) !== -1) {
|
|
74
|
+
updates[key] = processColor(updates[key]);
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
viewDescriptors.value.forEach((viewDescriptor) => {
|
|
78
|
+
_updatePropsPaper(
|
|
79
|
+
viewDescriptor.tag,
|
|
80
|
+
viewDescriptor.name || 'RCTView',
|
|
81
|
+
updates
|
|
82
|
+
);
|
|
83
|
+
});
|
|
84
|
+
};
|
|
85
|
+
}
|
|
67
86
|
}
|
|
68
87
|
|
|
69
88
|
export const updateProps: (
|
|
@@ -15,7 +15,6 @@ import {
|
|
|
15
15
|
ViewStyle,
|
|
16
16
|
TextStyle,
|
|
17
17
|
} from 'react-native';
|
|
18
|
-
import { Context } from './hook/commonTypes';
|
|
19
18
|
|
|
20
19
|
export type TransformProperty =
|
|
21
20
|
| PerpectiveTransform
|
|
@@ -47,11 +46,12 @@ export interface SharedValue<T> {
|
|
|
47
46
|
value: T;
|
|
48
47
|
}
|
|
49
48
|
|
|
49
|
+
export type Context = Record<string, unknown>;
|
|
50
|
+
|
|
50
51
|
export interface WorkletFunction {
|
|
51
52
|
_closure?: Context;
|
|
52
53
|
__workletHash?: number;
|
|
53
54
|
__optimalization?: number;
|
|
54
|
-
__worklet?: boolean;
|
|
55
55
|
}
|
|
56
56
|
|
|
57
57
|
export interface BasicWorkletFunction<T> extends WorkletFunction {
|
|
@@ -146,3 +146,5 @@ export type ValueRotation = {
|
|
|
146
146
|
};
|
|
147
147
|
|
|
148
148
|
export type SensorValueRotation = SharedValue<ValueRotation>;
|
|
149
|
+
|
|
150
|
+
export type ShadowNodeWrapper = object;
|
|
@@ -6,15 +6,18 @@ import { ILayoutAnimationBuilder } from '../layoutReanimation/animationBuilder/c
|
|
|
6
6
|
|
|
7
7
|
const AnimatedFlatList = createAnimatedComponent(FlatList as any) as any;
|
|
8
8
|
|
|
9
|
+
interface AnimatedFlatListProps {
|
|
10
|
+
onLayout: (event: LayoutChangeEvent) => void;
|
|
11
|
+
// implicit `children` prop has been removed in @types/react^18.0.0
|
|
12
|
+
children: React.ReactNode;
|
|
13
|
+
}
|
|
14
|
+
|
|
9
15
|
const createCellRenderer = (itemLayoutAnimation?: ILayoutAnimationBuilder) => {
|
|
10
|
-
const cellRenderer:
|
|
11
|
-
onLayout: (event: LayoutChangeEvent) => void;
|
|
12
|
-
}> = (props) => {
|
|
16
|
+
const cellRenderer = (props: AnimatedFlatListProps) => {
|
|
13
17
|
return (
|
|
14
18
|
<WrappedComponents.View
|
|
15
19
|
layout={itemLayoutAnimation}
|
|
16
|
-
onLayout={props.onLayout}
|
|
17
|
-
>
|
|
20
|
+
onLayout={props.onLayout}>
|
|
18
21
|
{props.children}
|
|
19
22
|
</WrappedComponents.View>
|
|
20
23
|
);
|
package/src/reanimated2/core.ts
CHANGED
|
@@ -1,10 +1,9 @@
|
|
|
1
|
-
/* global _WORKLET _getCurrentTime _frameTimestamp _eventTimestamp
|
|
1
|
+
/* global _WORKLET _getCurrentTime _frameTimestamp _eventTimestamp _setGlobalConsole */
|
|
2
2
|
import NativeReanimatedModule from './NativeReanimated';
|
|
3
3
|
import { Platform } from 'react-native';
|
|
4
4
|
import { nativeShouldBeMock, shouldBeUseWeb, isWeb } from './PlatformChecker';
|
|
5
5
|
import {
|
|
6
6
|
BasicWorkletFunction,
|
|
7
|
-
WorkletFunction,
|
|
8
7
|
ComplexWorkletFunction,
|
|
9
8
|
SharedValue,
|
|
10
9
|
AnimationObject,
|
|
@@ -14,10 +13,6 @@ import {
|
|
|
14
13
|
import { Descriptor } from './hook/commonTypes';
|
|
15
14
|
import JSReanimated from './js-reanimated/JSReanimated';
|
|
16
15
|
|
|
17
|
-
global.__reanimatedWorkletInit = function (worklet: WorkletFunction) {
|
|
18
|
-
worklet.__worklet = true;
|
|
19
|
-
};
|
|
20
|
-
|
|
21
16
|
if (global._setGlobalConsole === undefined) {
|
|
22
17
|
// it can happen when Reanimated plugin wasn't added, but the user uses the only API from version 1
|
|
23
18
|
global._setGlobalConsole = () => {
|
|
@@ -74,48 +69,6 @@ export const isConfiguredCheck: () => void = () => {
|
|
|
74
69
|
}
|
|
75
70
|
};
|
|
76
71
|
|
|
77
|
-
function _toArrayReanimated<T>(object: Iterable<T> | ArrayLike<T> | T[]): T[] {
|
|
78
|
-
'worklet';
|
|
79
|
-
if (Array.isArray(object)) {
|
|
80
|
-
return object;
|
|
81
|
-
}
|
|
82
|
-
if (
|
|
83
|
-
typeof Symbol !== 'undefined' &&
|
|
84
|
-
(typeof Symbol === 'function' ? Symbol.iterator : '@@iterator') in
|
|
85
|
-
Object(object)
|
|
86
|
-
) {
|
|
87
|
-
return Array.from(object);
|
|
88
|
-
}
|
|
89
|
-
throw new Error(
|
|
90
|
-
'Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.'
|
|
91
|
-
);
|
|
92
|
-
}
|
|
93
|
-
|
|
94
|
-
function _mergeObjectsReanimated(): unknown {
|
|
95
|
-
'worklet';
|
|
96
|
-
// we can't use rest parameters in worklets at the moment
|
|
97
|
-
// eslint-disable-next-line prefer-rest-params
|
|
98
|
-
const arr = Array.from(arguments);
|
|
99
|
-
return Object.assign.apply(null, [arr[0], ...arr.slice(1)]);
|
|
100
|
-
}
|
|
101
|
-
|
|
102
|
-
global.__reanimatedWorkletInit = function (worklet: WorkletFunction) {
|
|
103
|
-
worklet.__worklet = true;
|
|
104
|
-
|
|
105
|
-
if (worklet._closure) {
|
|
106
|
-
const closure = worklet._closure;
|
|
107
|
-
Object.keys(closure).forEach((key) => {
|
|
108
|
-
if (key === '_toConsumableArray') {
|
|
109
|
-
closure[key] = _toArrayReanimated;
|
|
110
|
-
}
|
|
111
|
-
|
|
112
|
-
if (key === '_objectSpread') {
|
|
113
|
-
closure[key] = _mergeObjectsReanimated;
|
|
114
|
-
}
|
|
115
|
-
});
|
|
116
|
-
}
|
|
117
|
-
};
|
|
118
|
-
|
|
119
72
|
function pushFrame(frame: (timestamp: Timestamp) => void): void {
|
|
120
73
|
(NativeReanimatedModule as JSReanimated).pushFrame(frame);
|
|
121
74
|
}
|
|
@@ -146,6 +99,12 @@ export function makeShareable<T>(value: T): T {
|
|
|
146
99
|
}
|
|
147
100
|
|
|
148
101
|
export function getViewProp<T>(viewTag: string, propName: string): Promise<T> {
|
|
102
|
+
if (global._IS_FABRIC) {
|
|
103
|
+
throw new Error(
|
|
104
|
+
'[react-native-reanimated] `getViewProp` is not supported on Fabric yet'
|
|
105
|
+
);
|
|
106
|
+
}
|
|
107
|
+
|
|
149
108
|
return new Promise((resolve, reject) => {
|
|
150
109
|
return NativeReanimatedModule.getViewProp(
|
|
151
110
|
viewTag,
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
/* eslint-disable camelcase */
|
|
2
|
+
|
|
3
|
+
import { ShadowNodeWrapper } from './commonTypes';
|
|
4
|
+
|
|
5
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
6
|
+
let findHostInstance_DEPRECATED = (_ref: React.Component) => null;
|
|
7
|
+
|
|
8
|
+
try {
|
|
9
|
+
// eslint-disable-next-line @typescript-eslint/no-var-requires
|
|
10
|
+
findHostInstance_DEPRECATED =
|
|
11
|
+
require('react-native/Libraries/Renderer/shims/ReactFabric').findHostInstance_DEPRECATED;
|
|
12
|
+
} catch (e) {
|
|
13
|
+
// do nothing
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
export function getShadowNodeWrapperFromHostInstance(
|
|
17
|
+
hostInstance: unknown
|
|
18
|
+
): ShadowNodeWrapper {
|
|
19
|
+
// @ts-ignore Fabric
|
|
20
|
+
return hostInstance._internalInstanceHandle.stateNode.node;
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
export function getShadowNodeWrapperFromRef(
|
|
24
|
+
ref: React.Component
|
|
25
|
+
): ShadowNodeWrapper {
|
|
26
|
+
return getShadowNodeWrapperFromHostInstance(findHostInstance_DEPRECATED(ref));
|
|
27
|
+
}
|
|
@@ -1,9 +1,11 @@
|
|
|
1
|
-
import { AnimatedStyle, StyleProps
|
|
1
|
+
import { AnimatedStyle, StyleProps } from './commonTypes';
|
|
2
2
|
import { ReanimatedConsole } from './core';
|
|
3
|
+
import { ShadowNodeWrapper } from './hook/commonTypes';
|
|
3
4
|
import { MeasuredDimensions } from './NativeMethods';
|
|
4
5
|
import { NativeReanimated } from './NativeReanimated/NativeReanimated';
|
|
5
6
|
declare global {
|
|
6
7
|
const _WORKLET: boolean;
|
|
8
|
+
const _IS_FABRIC: boolean;
|
|
7
9
|
const _frameTimestamp: number;
|
|
8
10
|
const _eventTimestamp: number;
|
|
9
11
|
const _setGlobalConsole: (console?: ReanimatedConsole) => void;
|
|
@@ -14,11 +16,18 @@ declare global {
|
|
|
14
16
|
flag: { value: boolean; _value: boolean }
|
|
15
17
|
) => void;
|
|
16
18
|
const _setGestureState: (handlerTag: number, newState: number) => void;
|
|
17
|
-
const
|
|
19
|
+
const _updatePropsPaper: (
|
|
18
20
|
tag: number,
|
|
19
21
|
name: string,
|
|
20
22
|
updates: StyleProps | AnimatedStyle
|
|
21
23
|
) => void;
|
|
24
|
+
const _updatePropsFabric: (
|
|
25
|
+
shadowNodeWrapper: ShadowNodeWrapper,
|
|
26
|
+
props: StyleProps | AnimatedStyle
|
|
27
|
+
) => void;
|
|
28
|
+
const _removeShadowNodeFromRegistry: (
|
|
29
|
+
shadowNodeWrapper: ShadowNodeWrapper
|
|
30
|
+
) => void;
|
|
22
31
|
const _measure: (viewTag: number) => MeasuredDimensions;
|
|
23
32
|
const _scrollTo: (
|
|
24
33
|
viewTag: number,
|
|
@@ -26,21 +35,27 @@ declare global {
|
|
|
26
35
|
y: number,
|
|
27
36
|
animated: boolean
|
|
28
37
|
) => void;
|
|
38
|
+
const _dispatchCommand: (
|
|
39
|
+
shadowNodeWrapper: ShadowNodeWrapper,
|
|
40
|
+
commandName: string,
|
|
41
|
+
args: Array<unknown>
|
|
42
|
+
) => void;
|
|
29
43
|
const _chronoNow: () => number;
|
|
30
44
|
const ReanimatedDataMock: {
|
|
31
45
|
now: () => number;
|
|
32
46
|
};
|
|
33
47
|
namespace NodeJS {
|
|
34
48
|
interface Global {
|
|
35
|
-
__reanimatedWorkletInit: (worklet: WorkletFunction) => void;
|
|
36
49
|
_setGlobalConsole: (console?: ReanimatedConsole) => void;
|
|
37
50
|
_log: (s: string) => void;
|
|
38
51
|
_setGestureState: () => void;
|
|
39
52
|
_WORKLET: boolean;
|
|
53
|
+
_IS_FABRIC: boolean;
|
|
40
54
|
__reanimatedModuleProxy: NativeReanimated;
|
|
41
55
|
_frameTimestamp: number | null;
|
|
42
56
|
_measure: () => MeasuredDimensions;
|
|
43
57
|
_scrollTo: () => void;
|
|
58
|
+
_dispatchCommand: () => void;
|
|
44
59
|
_chronoNow: () => number;
|
|
45
60
|
performance: { now: () => number };
|
|
46
61
|
LayoutAnimationRepository: {
|
|
@@ -1,14 +1,16 @@
|
|
|
1
|
-
|
|
1
|
+
import { Context, ShadowNodeWrapper } from '../commonTypes';
|
|
2
2
|
|
|
3
|
-
export type
|
|
3
|
+
export type DependencyList = Array<unknown> | undefined;
|
|
4
4
|
|
|
5
5
|
export interface ContextWithDependencies<TContext extends Context> {
|
|
6
6
|
context: TContext;
|
|
7
7
|
savedDependencies: DependencyList;
|
|
8
8
|
}
|
|
9
|
+
|
|
9
10
|
export interface Descriptor {
|
|
10
11
|
tag: number;
|
|
11
12
|
name: string;
|
|
13
|
+
shadowNodeWrapper: ShadowNodeWrapper;
|
|
12
14
|
}
|
|
13
15
|
|
|
14
16
|
export interface RefObjectFunction<T> {
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { MutableRefObject } from 'react';
|
|
2
|
-
import { WorkletFunction } from '../commonTypes';
|
|
2
|
+
import { Context, WorkletFunction } from '../commonTypes';
|
|
3
3
|
import WorkletEventHandler from '../WorkletEventHandler';
|
|
4
|
-
import {
|
|
4
|
+
import { DependencyList } from './commonTypes';
|
|
5
5
|
import { useEvent, useHandler } from './Hooks';
|
|
6
6
|
|
|
7
7
|
interface Handler<T, TContext extends Context> extends WorkletFunction {
|
|
@@ -1,18 +1,23 @@
|
|
|
1
1
|
import { Component, useRef } from 'react';
|
|
2
|
-
import { getTag } from '../NativeMethods';
|
|
3
2
|
import { useSharedValue } from './useSharedValue';
|
|
4
3
|
import { RefObjectFunction } from './commonTypes';
|
|
4
|
+
import { ShadowNodeWrapper } from '../commonTypes';
|
|
5
|
+
import { getTag } from '../NativeMethods';
|
|
6
|
+
import { getShadowNodeWrapperFromHostInstance } from '../fabricUtils';
|
|
5
7
|
|
|
6
8
|
export function useAnimatedRef<T extends Component>(): RefObjectFunction<T> {
|
|
7
|
-
const tag = useSharedValue<number | null>(-1);
|
|
9
|
+
const tag = useSharedValue<number | ShadowNodeWrapper | null>(-1);
|
|
8
10
|
const ref = useRef<RefObjectFunction<T>>();
|
|
11
|
+
const isFabric = global._IS_FABRIC;
|
|
9
12
|
|
|
10
13
|
if (!ref.current) {
|
|
11
14
|
const fun: RefObjectFunction<T> = <RefObjectFunction<T>>((component) => {
|
|
12
15
|
'worklet';
|
|
13
16
|
// enters when ref is set by attaching to a component
|
|
14
17
|
if (component) {
|
|
15
|
-
tag.value =
|
|
18
|
+
tag.value = isFabric
|
|
19
|
+
? getShadowNodeWrapperFromHostInstance(component)
|
|
20
|
+
: getTag(component);
|
|
16
21
|
fun.current = component;
|
|
17
22
|
}
|
|
18
23
|
return tag.value;
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { RefObject } from 'react';
|
|
2
2
|
import { NativeScrollEvent } from 'react-native';
|
|
3
|
-
import { NativeEvent, WorkletFunction } from '../commonTypes';
|
|
3
|
+
import { Context, NativeEvent, WorkletFunction } from '../commonTypes';
|
|
4
4
|
import WorkletEventHandler from '../WorkletEventHandler';
|
|
5
|
-
import {
|
|
5
|
+
import { DependencyList } from './commonTypes';
|
|
6
6
|
import { useEvent, useHandler } from './Hooks';
|
|
7
7
|
|
|
8
8
|
export interface ScrollHandler<TContext extends Context>
|
|
@@ -2,6 +2,7 @@ import { MutableRefObject, useEffect, useRef } from 'react';
|
|
|
2
2
|
import { processColor } from '../Colors';
|
|
3
3
|
import {
|
|
4
4
|
AnimatedStyle,
|
|
5
|
+
Context,
|
|
5
6
|
NativeEvent,
|
|
6
7
|
NestedObjectValues,
|
|
7
8
|
StyleProps,
|
|
@@ -12,11 +13,7 @@ import { makeRemote } from '../core';
|
|
|
12
13
|
import { isWeb, isJest } from '../PlatformChecker';
|
|
13
14
|
import { colorProps } from '../UpdateProps';
|
|
14
15
|
import WorkletEventHandler from '../WorkletEventHandler';
|
|
15
|
-
import {
|
|
16
|
-
Context,
|
|
17
|
-
ContextWithDependencies,
|
|
18
|
-
DependencyList,
|
|
19
|
-
} from './commonTypes';
|
|
16
|
+
import { ContextWithDependencies, DependencyList } from './commonTypes';
|
|
20
17
|
|
|
21
18
|
interface Handler<T, TContext extends Context> extends WorkletFunction {
|
|
22
19
|
(event: T, context: TContext): void;
|
|
@@ -44,12 +41,6 @@ export function useEvent<T extends NativeEvent<T>>(
|
|
|
44
41
|
initRef.current.updateWorklet(handler);
|
|
45
42
|
}
|
|
46
43
|
|
|
47
|
-
useEffect(() => {
|
|
48
|
-
return () => {
|
|
49
|
-
initRef.current = null;
|
|
50
|
-
};
|
|
51
|
-
}, []);
|
|
52
|
-
|
|
53
44
|
return initRef;
|
|
54
45
|
}
|
|
55
46
|
|
|
@@ -10,11 +10,15 @@ import {
|
|
|
10
10
|
} from './Colors';
|
|
11
11
|
import { makeMutable } from './core';
|
|
12
12
|
import { interpolate } from './interpolation';
|
|
13
|
-
// @ts-ignore JS file
|
|
14
|
-
import { Extrapolate } from '../reanimated1/derived';
|
|
15
13
|
import { SharedValue } from './commonTypes';
|
|
16
14
|
import { useSharedValue } from './hook/useSharedValue';
|
|
17
15
|
|
|
16
|
+
export const Extrapolate = {
|
|
17
|
+
EXTEND: 'extend',
|
|
18
|
+
CLAMP: 'clamp',
|
|
19
|
+
IDENTITY: 'identity',
|
|
20
|
+
};
|
|
21
|
+
|
|
18
22
|
const interpolateColorsHSV = (
|
|
19
23
|
value: number,
|
|
20
24
|
inputRange: readonly number[],
|
|
@@ -1,16 +1,9 @@
|
|
|
1
|
-
// @ts-ignore JS file
|
|
2
|
-
import interpolateNode from '../reanimated1/derived/interpolate';
|
|
3
|
-
|
|
4
1
|
export enum Extrapolation {
|
|
5
2
|
IDENTITY = 'identity',
|
|
6
3
|
CLAMP = 'clamp',
|
|
7
4
|
EXTEND = 'extend',
|
|
8
5
|
}
|
|
9
6
|
|
|
10
|
-
export interface InterpolatedNode {
|
|
11
|
-
__nodeId: number;
|
|
12
|
-
}
|
|
13
|
-
|
|
14
7
|
interface InterpolationNarrowedInput {
|
|
15
8
|
leftEdgeInput: number;
|
|
16
9
|
rightEdgeInput: number;
|
|
@@ -34,11 +27,6 @@ export type ExtrapolationType =
|
|
|
34
27
|
| string
|
|
35
28
|
| undefined;
|
|
36
29
|
|
|
37
|
-
function isNode(x: number | InterpolatedNode): x is InterpolatedNode {
|
|
38
|
-
'worklet';
|
|
39
|
-
return (x as InterpolatedNode).__nodeId !== undefined;
|
|
40
|
-
}
|
|
41
|
-
|
|
42
30
|
function getVal(
|
|
43
31
|
type: Extrapolation,
|
|
44
32
|
coef: number,
|
|
@@ -156,7 +144,7 @@ function internalInterpolate(
|
|
|
156
144
|
// TODO: support default values in worklets:
|
|
157
145
|
// e.g. function interpolate(x, input, output, type = Extrapolatation.CLAMP)
|
|
158
146
|
export function interpolate(
|
|
159
|
-
x: number
|
|
147
|
+
x: number,
|
|
160
148
|
input: readonly number[],
|
|
161
149
|
output: readonly number[],
|
|
162
150
|
type?: ExtrapolationType
|
|
@@ -169,19 +157,6 @@ export function interpolate(
|
|
|
169
157
|
}
|
|
170
158
|
|
|
171
159
|
const extrapolationConfig = validateType(type);
|
|
172
|
-
|
|
173
|
-
if (isNode(x)) {
|
|
174
|
-
console.warn(
|
|
175
|
-
`interpolate() was renamed to interpolateNode() in Reanimated 2. Please use interpolateNode() instead`
|
|
176
|
-
);
|
|
177
|
-
return interpolateNode(x, {
|
|
178
|
-
inputRange: input,
|
|
179
|
-
outputRange: output,
|
|
180
|
-
extrapolateLeft: extrapolationConfig.extrapolateLeft,
|
|
181
|
-
extrapolateRight: extrapolationConfig.extrapolateRight,
|
|
182
|
-
});
|
|
183
|
-
}
|
|
184
|
-
|
|
185
160
|
const length = input.length;
|
|
186
161
|
const narrowedInput: InterpolationNarrowedInput = {
|
|
187
162
|
leftEdgeInput: input[0],
|
|
@@ -36,6 +36,11 @@ if (shouldBeUseWeb()) {
|
|
|
36
36
|
"[Reanimated] You can't use `scrollTo` with Chrome Debugger or with web version"
|
|
37
37
|
);
|
|
38
38
|
};
|
|
39
|
+
global._dispatchCommand = () => {
|
|
40
|
+
console.warn(
|
|
41
|
+
"[Reanimated] You can't use `scrollTo` or `dispatchCommand` methods with Chrome Debugger or with web version"
|
|
42
|
+
);
|
|
43
|
+
};
|
|
39
44
|
global._setGestureState = () => {
|
|
40
45
|
console.warn(
|
|
41
46
|
"[Reanimated] You can't use `setGestureState` with Chrome Debugger or with web version"
|
|
Binary file
|
|
File without changes
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|