react-native-reanimated 2.9.0 → 3.0.0-rc.1
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/AnimatedSensor/AnimatedSensorModule.cpp +4 -4
- package/Common/cpp/Fabric/FabricUtils.cpp +133 -0
- package/Common/cpp/Fabric/ReanimatedUIManagerBinding.cpp +220 -0
- package/Common/cpp/Fabric/ShadowTreeCloner.cpp +92 -0
- package/Common/cpp/NativeModules/NativeReanimatedModule.cpp +336 -6
- package/Common/cpp/NativeModules/NativeReanimatedModuleSpec.cpp +23 -0
- package/Common/cpp/Registries/EventHandlerRegistry.cpp +14 -1
- package/Common/cpp/Registries/NewestShadowNodesRegistry.cpp +68 -0
- package/Common/cpp/SharedItems/ShareableValue.cpp +18 -0
- package/Common/cpp/Tools/Mapper.cpp +23 -4
- package/Common/cpp/Tools/RuntimeDecorator.cpp +92 -32
- package/Common/cpp/Tools/Scheduler.cpp +4 -0
- package/Common/cpp/headers/Fabric/FabricUtils.h +79 -0
- package/Common/cpp/headers/Fabric/ReanimatedUIManagerBinding.h +47 -0
- package/Common/cpp/headers/Fabric/ShadowTreeCloner.h +41 -0
- package/Common/cpp/headers/NativeModules/NativeReanimatedModule.h +81 -2
- package/Common/cpp/headers/NativeModules/NativeReanimatedModuleSpec.h +8 -0
- 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 +48 -8
- package/Common/cpp/headers/Tools/RuntimeDecorator.h +8 -3
- package/README.md +4 -0
- package/RNReanimated.podspec +48 -15
- package/android/CMakeLists.txt +207 -86
- package/android/build.gradle +243 -236
- package/android/src/fabric/java/com/swmansion/reanimated/NativeProxy.java +335 -0
- package/android/src/fabric/java/com/swmansion/reanimated/ReaCompatibility.java +25 -0
- package/android/src/main/cpp/NativeProxy.cpp +220 -51
- package/android/src/main/cpp/OnLoad.cpp +1 -0
- package/android/src/main/cpp/headers/NativeProxy.h +72 -7
- package/android/src/main/java/com/swmansion/reanimated/NodesManager.java +16 -246
- package/android/src/main/java/com/swmansion/reanimated/ReanimatedModule.java +0 -125
- package/android/src/main/java/com/swmansion/reanimated/keyboardObserver/ReanimatedKeyboardEventListener.java +165 -0
- package/android/src/main/java/com/swmansion/reanimated/layoutReanimation/AnimationsManager.java +19 -16
- package/android/src/main/java/com/swmansion/reanimated/layoutReanimation/LayoutAnimations.java +2 -1
- package/android/src/main/java/com/swmansion/reanimated/sensor/ReanimatedSensor.java +5 -1
- package/android/src/main/java/com/swmansion/reanimated/sensor/ReanimatedSensorType.java +1 -1
- package/android/src/paper/java/com/swmansion/reanimated/NativeProxy.java +326 -0
- package/android/src/paper/java/com/swmansion/reanimated/ReaCompatibility.java +17 -0
- package/ios/Fabric/REAInitializerRCTFabricSurface.h +12 -0
- package/ios/Fabric/REAInitializerRCTFabricSurface.mm +73 -0
- package/ios/REAEventDispatcher.m +0 -1
- package/ios/REAModule.h +10 -1
- package/ios/REAModule.mm +284 -0
- package/ios/REANodesManager.h +27 -51
- package/ios/REANodesManager.mm +517 -0
- package/ios/keyboardObserver/REAKeyboardEventObserver.h +17 -0
- package/ios/keyboardObserver/REAKeyboardEventObserver.m +198 -0
- package/ios/native/NativeProxy.mm +95 -17
- package/ios/native/REAInitializer.mm +10 -12
- package/ios/native/REAJSIUtils.h +66 -0
- package/ios/native/UIResponder+Reanimated.h +3 -1
- package/ios/native/UIResponder+Reanimated.mm +3 -1
- package/ios/sensor/ReanimatedSensor.m +26 -17
- package/lib/commonjs/Animated.js +70 -0
- package/lib/commonjs/Animated.js.map +1 -0
- package/lib/commonjs/ConfigHelper.js +173 -0
- package/lib/commonjs/ConfigHelper.js.map +1 -0
- package/lib/commonjs/createAnimatedComponent.js +474 -0
- package/lib/commonjs/createAnimatedComponent.js.map +1 -0
- package/lib/commonjs/index.js +44 -0
- package/lib/commonjs/index.js.map +1 -0
- package/lib/commonjs/index.web.js +32 -0
- package/lib/commonjs/index.web.js.map +1 -0
- package/lib/commonjs/reanimated2/Bezier.js +166 -0
- package/lib/commonjs/reanimated2/Bezier.js.map +1 -0
- package/lib/commonjs/reanimated2/Colors.js +673 -0
- package/lib/commonjs/reanimated2/Colors.js.map +1 -0
- package/lib/commonjs/reanimated2/Easing.js +274 -0
- package/lib/commonjs/reanimated2/Easing.js.map +1 -0
- package/lib/commonjs/reanimated2/NativeMethods.js +100 -0
- package/lib/commonjs/reanimated2/NativeMethods.js.map +1 -0
- package/lib/commonjs/reanimated2/NativeReanimated/NativeReanimated.js +99 -0
- package/lib/commonjs/reanimated2/NativeReanimated/NativeReanimated.js.map +1 -0
- package/lib/commonjs/reanimated2/NativeReanimated/index.js +26 -0
- package/lib/commonjs/reanimated2/NativeReanimated/index.js.map +1 -0
- package/lib/commonjs/reanimated2/PlatformChecker.js +33 -0
- package/lib/commonjs/reanimated2/PlatformChecker.js.map +1 -0
- package/lib/commonjs/reanimated2/PropAdapters.js +68 -0
- package/lib/commonjs/reanimated2/PropAdapters.js.map +1 -0
- package/lib/commonjs/reanimated2/UpdateProps.js +82 -0
- package/lib/commonjs/reanimated2/UpdateProps.js.map +1 -0
- package/lib/commonjs/reanimated2/ViewDescriptorsSet.js +96 -0
- package/lib/commonjs/reanimated2/ViewDescriptorsSet.js.map +1 -0
- package/lib/commonjs/reanimated2/WorkletEventHandler.js +75 -0
- package/lib/commonjs/reanimated2/WorkletEventHandler.js.map +1 -0
- package/lib/commonjs/reanimated2/animation/commonTypes.js +6 -0
- package/lib/commonjs/reanimated2/animation/commonTypes.js.map +1 -0
- package/lib/commonjs/reanimated2/animation/decay.js +132 -0
- package/lib/commonjs/reanimated2/animation/decay.js.map +1 -0
- package/lib/commonjs/reanimated2/animation/delay.js +89 -0
- package/lib/commonjs/reanimated2/animation/delay.js.map +1 -0
- package/lib/commonjs/reanimated2/animation/index.js +82 -0
- package/lib/commonjs/reanimated2/animation/index.js.map +1 -0
- package/lib/commonjs/reanimated2/animation/repeat.js +107 -0
- package/lib/commonjs/reanimated2/animation/repeat.js.map +1 -0
- package/lib/commonjs/reanimated2/animation/sequence.js +103 -0
- package/lib/commonjs/reanimated2/animation/sequence.js.map +1 -0
- package/lib/commonjs/reanimated2/animation/spring.js +121 -0
- package/lib/commonjs/reanimated2/animation/spring.js.map +1 -0
- package/lib/commonjs/reanimated2/animation/styleAnimation.js +206 -0
- package/lib/commonjs/reanimated2/animation/styleAnimation.js.map +1 -0
- package/lib/commonjs/reanimated2/animation/timing.js +82 -0
- package/lib/commonjs/reanimated2/animation/timing.js.map +1 -0
- package/lib/commonjs/reanimated2/animation/util.js +233 -0
- package/lib/commonjs/reanimated2/animation/util.js.map +1 -0
- package/lib/commonjs/reanimated2/commonTypes.js +17 -0
- package/lib/commonjs/reanimated2/commonTypes.js.map +1 -0
- package/lib/commonjs/reanimated2/component/FlatList.js +53 -0
- package/lib/commonjs/reanimated2/component/FlatList.js.map +1 -0
- package/lib/commonjs/reanimated2/component/Image.js +17 -0
- package/lib/commonjs/reanimated2/component/Image.js.map +1 -0
- package/lib/commonjs/reanimated2/component/ScrollView.js +17 -0
- package/lib/commonjs/reanimated2/component/ScrollView.js.map +1 -0
- package/lib/commonjs/reanimated2/component/Text.js +17 -0
- package/lib/commonjs/reanimated2/component/Text.js.map +1 -0
- package/lib/commonjs/reanimated2/component/View.js +17 -0
- package/lib/commonjs/reanimated2/component/View.js.map +1 -0
- package/lib/commonjs/reanimated2/core.js +360 -0
- package/lib/commonjs/reanimated2/core.js.map +1 -0
- package/lib/commonjs/reanimated2/fabricUtils.js +27 -0
- package/lib/commonjs/reanimated2/fabricUtils.js.map +1 -0
- package/lib/commonjs/reanimated2/fabricUtils.web.js +21 -0
- package/lib/commonjs/reanimated2/fabricUtils.web.js.map +1 -0
- package/lib/commonjs/reanimated2/frameCallback/FrameCallbackRegistryJS.js +55 -0
- package/lib/commonjs/reanimated2/frameCallback/FrameCallbackRegistryJS.js.map +1 -0
- package/lib/commonjs/reanimated2/frameCallback/FrameCallbackRegistryUI.js +64 -0
- package/lib/commonjs/reanimated2/frameCallback/FrameCallbackRegistryUI.js.map +1 -0
- package/lib/commonjs/reanimated2/globals.d.js +6 -0
- package/lib/commonjs/reanimated2/globals.d.js.map +1 -0
- package/lib/commonjs/reanimated2/hook/Hooks.js +35 -0
- package/lib/commonjs/reanimated2/hook/Hooks.js.map +1 -0
- package/lib/commonjs/reanimated2/hook/commonTypes.js +6 -0
- package/lib/commonjs/reanimated2/hook/commonTypes.js.map +1 -0
- package/lib/commonjs/reanimated2/hook/index.js +118 -0
- package/lib/commonjs/reanimated2/hook/index.js.map +1 -0
- package/lib/commonjs/reanimated2/hook/useAnimatedGestureHandler.js +66 -0
- package/lib/commonjs/reanimated2/hook/useAnimatedGestureHandler.js.map +1 -0
- package/lib/commonjs/reanimated2/hook/useAnimatedKeyboard.js +48 -0
- package/lib/commonjs/reanimated2/hook/useAnimatedKeyboard.js.map +1 -0
- package/lib/commonjs/reanimated2/hook/useAnimatedReaction.js +44 -0
- package/lib/commonjs/reanimated2/hook/useAnimatedReaction.js.map +1 -0
- package/lib/commonjs/reanimated2/hook/useAnimatedRef.js +43 -0
- package/lib/commonjs/reanimated2/hook/useAnimatedRef.js.map +1 -0
- package/lib/commonjs/reanimated2/hook/useAnimatedScrollHandler.js +62 -0
- package/lib/commonjs/reanimated2/hook/useAnimatedScrollHandler.js.map +1 -0
- package/lib/commonjs/reanimated2/hook/useAnimatedSensor.js +94 -0
- package/lib/commonjs/reanimated2/hook/useAnimatedSensor.js.map +1 -0
- package/lib/commonjs/reanimated2/hook/useAnimatedStyle.js +471 -0
- package/lib/commonjs/reanimated2/hook/useAnimatedStyle.js.map +1 -0
- package/lib/commonjs/reanimated2/hook/useDerivedValue.js +49 -0
- package/lib/commonjs/reanimated2/hook/useDerivedValue.js.map +1 -0
- package/lib/commonjs/reanimated2/hook/useFrameCallback.js +36 -0
- package/lib/commonjs/reanimated2/hook/useFrameCallback.js.map +1 -0
- package/lib/commonjs/reanimated2/hook/useSharedValue.js +30 -0
- package/lib/commonjs/reanimated2/hook/useSharedValue.js.map +1 -0
- package/lib/commonjs/reanimated2/hook/utils.js +247 -0
- package/lib/commonjs/reanimated2/hook/utils.js.map +1 -0
- package/lib/commonjs/reanimated2/index.js +162 -0
- package/lib/commonjs/reanimated2/index.js.map +1 -0
- package/lib/commonjs/reanimated2/interpolateColor.js +154 -0
- package/lib/commonjs/reanimated2/interpolateColor.js.map +1 -0
- package/lib/commonjs/reanimated2/interpolation.js +143 -0
- package/lib/commonjs/reanimated2/interpolation.js.map +1 -0
- package/lib/commonjs/reanimated2/jestUtils.js +239 -0
- package/lib/commonjs/reanimated2/jestUtils.js.map +1 -0
- package/lib/commonjs/reanimated2/js-reanimated/JSReanimated.js +160 -0
- package/lib/commonjs/reanimated2/js-reanimated/JSReanimated.js.map +1 -0
- package/lib/commonjs/reanimated2/js-reanimated/Mapper.js +74 -0
- package/lib/commonjs/reanimated2/js-reanimated/Mapper.js.map +1 -0
- package/lib/commonjs/reanimated2/js-reanimated/MapperRegistry.js +146 -0
- package/lib/commonjs/reanimated2/js-reanimated/MapperRegistry.js.map +1 -0
- package/lib/commonjs/reanimated2/js-reanimated/MutableValue.js +57 -0
- package/lib/commonjs/reanimated2/js-reanimated/MutableValue.js.map +1 -0
- package/lib/commonjs/reanimated2/js-reanimated/commonTypes.js +6 -0
- package/lib/commonjs/reanimated2/js-reanimated/commonTypes.js.map +1 -0
- package/lib/commonjs/reanimated2/js-reanimated/global.js +57 -0
- package/lib/commonjs/reanimated2/js-reanimated/global.js.map +1 -0
- package/lib/commonjs/reanimated2/js-reanimated/index.js +57 -0
- package/lib/commonjs/reanimated2/js-reanimated/index.js.map +1 -0
- package/lib/commonjs/reanimated2/layoutReanimation/LayoutAnimationRepository.js +97 -0
- package/lib/commonjs/reanimated2/layoutReanimation/LayoutAnimationRepository.js.map +1 -0
- package/lib/commonjs/reanimated2/layoutReanimation/animationBuilder/BaseAnimationBuilder.js +100 -0
- package/lib/commonjs/reanimated2/layoutReanimation/animationBuilder/BaseAnimationBuilder.js.map +1 -0
- package/lib/commonjs/reanimated2/layoutReanimation/animationBuilder/ComplexAnimationBuilder.js +203 -0
- package/lib/commonjs/reanimated2/layoutReanimation/animationBuilder/ComplexAnimationBuilder.js.map +1 -0
- package/lib/commonjs/reanimated2/layoutReanimation/animationBuilder/Keyframe.js +244 -0
- package/lib/commonjs/reanimated2/layoutReanimation/animationBuilder/Keyframe.js.map +1 -0
- package/lib/commonjs/reanimated2/layoutReanimation/animationBuilder/commonTypes.js +6 -0
- package/lib/commonjs/reanimated2/layoutReanimation/animationBuilder/commonTypes.js.map +1 -0
- package/lib/commonjs/reanimated2/layoutReanimation/animationBuilder/index.js +30 -0
- package/lib/commonjs/reanimated2/layoutReanimation/animationBuilder/index.js.map +1 -0
- package/lib/commonjs/reanimated2/layoutReanimation/defaultAnimations/Bounce.js +570 -0
- package/lib/commonjs/reanimated2/layoutReanimation/defaultAnimations/Bounce.js.map +1 -0
- package/lib/commonjs/reanimated2/layoutReanimation/defaultAnimations/Default.js +55 -0
- package/lib/commonjs/reanimated2/layoutReanimation/defaultAnimations/Default.js.map +1 -0
- package/lib/commonjs/reanimated2/layoutReanimation/defaultAnimations/Fade.js +409 -0
- package/lib/commonjs/reanimated2/layoutReanimation/defaultAnimations/Fade.js.map +1 -0
- package/lib/commonjs/reanimated2/layoutReanimation/defaultAnimations/Flip.js +559 -0
- package/lib/commonjs/reanimated2/layoutReanimation/defaultAnimations/Flip.js.map +1 -0
- package/lib/commonjs/reanimated2/layoutReanimation/defaultAnimations/Lightspeed.js +221 -0
- package/lib/commonjs/reanimated2/layoutReanimation/defaultAnimations/Lightspeed.js.map +1 -0
- package/lib/commonjs/reanimated2/layoutReanimation/defaultAnimations/Pinwheel.js +101 -0
- package/lib/commonjs/reanimated2/layoutReanimation/defaultAnimations/Pinwheel.js.map +1 -0
- package/lib/commonjs/reanimated2/layoutReanimation/defaultAnimations/Roll.js +189 -0
- package/lib/commonjs/reanimated2/layoutReanimation/defaultAnimations/Roll.js.map +1 -0
- package/lib/commonjs/reanimated2/layoutReanimation/defaultAnimations/Rotate.js +403 -0
- package/lib/commonjs/reanimated2/layoutReanimation/defaultAnimations/Rotate.js.map +1 -0
- package/lib/commonjs/reanimated2/layoutReanimation/defaultAnimations/Slide.js +298 -0
- package/lib/commonjs/reanimated2/layoutReanimation/defaultAnimations/Slide.js.map +1 -0
- package/lib/commonjs/reanimated2/layoutReanimation/defaultAnimations/Stretch.js +167 -0
- package/lib/commonjs/reanimated2/layoutReanimation/defaultAnimations/Stretch.js.map +1 -0
- package/lib/commonjs/reanimated2/layoutReanimation/defaultAnimations/Zoom.js +700 -0
- package/lib/commonjs/reanimated2/layoutReanimation/defaultAnimations/Zoom.js.map +1 -0
- package/lib/commonjs/reanimated2/layoutReanimation/defaultAnimations/index.js +136 -0
- package/lib/commonjs/reanimated2/layoutReanimation/defaultAnimations/index.js.map +1 -0
- package/lib/commonjs/reanimated2/layoutReanimation/defaultTransitions/CurvedTransition.js +120 -0
- package/lib/commonjs/reanimated2/layoutReanimation/defaultTransitions/CurvedTransition.js.map +1 -0
- package/lib/commonjs/reanimated2/layoutReanimation/defaultTransitions/EntryExitTransition.js +180 -0
- package/lib/commonjs/reanimated2/layoutReanimation/defaultTransitions/EntryExitTransition.js.map +1 -0
- package/lib/commonjs/reanimated2/layoutReanimation/defaultTransitions/FadingTransition.js +66 -0
- package/lib/commonjs/reanimated2/layoutReanimation/defaultTransitions/FadingTransition.js.map +1 -0
- package/lib/commonjs/reanimated2/layoutReanimation/defaultTransitions/JumpingTransition.js +64 -0
- package/lib/commonjs/reanimated2/layoutReanimation/defaultTransitions/JumpingTransition.js.map +1 -0
- package/lib/commonjs/reanimated2/layoutReanimation/defaultTransitions/LinearTransition.js +52 -0
- package/lib/commonjs/reanimated2/layoutReanimation/defaultTransitions/LinearTransition.js.map +1 -0
- package/lib/commonjs/reanimated2/layoutReanimation/defaultTransitions/SequencedTransition.js +68 -0
- package/lib/commonjs/reanimated2/layoutReanimation/defaultTransitions/SequencedTransition.js.map +1 -0
- package/lib/commonjs/reanimated2/layoutReanimation/defaultTransitions/index.js +84 -0
- package/lib/commonjs/reanimated2/layoutReanimation/defaultTransitions/index.js.map +1 -0
- package/lib/commonjs/reanimated2/layoutReanimation/index.js +47 -0
- package/lib/commonjs/reanimated2/layoutReanimation/index.js.map +1 -0
- package/lib/commonjs/reanimated2/mock.js +88 -0
- package/lib/commonjs/reanimated2/mock.js.map +1 -0
- package/lib/commonjs/reanimated2/platform-specific/RNRenderer.js +16 -0
- package/lib/commonjs/reanimated2/platform-specific/RNRenderer.js.map +1 -0
- package/lib/commonjs/reanimated2/platform-specific/RNRenderer.web.js +5 -0
- package/lib/commonjs/reanimated2/platform-specific/RNRenderer.web.js.map +1 -0
- package/lib/commonjs/reanimated2/utils.js +19 -0
- package/lib/commonjs/reanimated2/utils.js.map +1 -0
- package/lib/commonjs/setAndForwardRef.js +63 -0
- package/lib/commonjs/setAndForwardRef.js.map +1 -0
- package/lib/module/Animated.js +8 -0
- package/lib/module/Animated.js.map +1 -0
- package/lib/module/ConfigHelper.js +161 -0
- package/lib/module/ConfigHelper.js.map +1 -0
- package/lib/module/createAnimatedComponent.js +452 -0
- package/lib/module/createAnimatedComponent.js.map +1 -0
- package/lib/module/index.js +15 -0
- package/lib/module/index.js.map +1 -0
- package/lib/module/index.web.js +6 -0
- package/lib/module/index.web.js.map +1 -0
- package/lib/module/reanimated2/Bezier.js +159 -0
- package/lib/module/reanimated2/Bezier.js.map +1 -0
- package/lib/module/reanimated2/Colors.js +632 -0
- package/lib/module/reanimated2/Colors.js.map +1 -0
- package/lib/module/reanimated2/Easing.js +311 -0
- package/lib/module/reanimated2/Easing.js.map +1 -0
- package/lib/module/reanimated2/NativeMethods.js +82 -0
- package/lib/module/reanimated2/NativeMethods.js.map +1 -0
- package/lib/module/reanimated2/NativeReanimated/NativeReanimated.js +89 -0
- package/lib/module/reanimated2/NativeReanimated/NativeReanimated.js.map +1 -0
- package/lib/module/reanimated2/NativeReanimated/index.js +13 -0
- package/lib/module/reanimated2/NativeReanimated/index.js.map +1 -0
- package/lib/module/reanimated2/PlatformChecker.js +17 -0
- package/lib/module/reanimated2/PlatformChecker.js.map +1 -0
- package/lib/module/reanimated2/PropAdapters.js +56 -0
- package/lib/module/reanimated2/PropAdapters.js.map +1 -0
- package/lib/module/reanimated2/UpdateProps.js +64 -0
- package/lib/module/reanimated2/UpdateProps.js.map +1 -0
- package/lib/module/reanimated2/ViewDescriptorsSet.js +83 -0
- package/lib/module/reanimated2/ViewDescriptorsSet.js.map +1 -0
- package/lib/module/reanimated2/WorkletEventHandler.js +64 -0
- package/lib/module/reanimated2/WorkletEventHandler.js.map +1 -0
- package/lib/module/reanimated2/animation/commonTypes.js +2 -0
- package/lib/module/reanimated2/animation/commonTypes.js.map +1 -0
- package/lib/module/reanimated2/animation/decay.js +123 -0
- package/lib/module/reanimated2/animation/decay.js.map +1 -0
- package/lib/module/reanimated2/animation/delay.js +79 -0
- package/lib/module/reanimated2/animation/delay.js.map +1 -0
- package/lib/module/reanimated2/animation/index.js +9 -0
- package/lib/module/reanimated2/animation/index.js.map +1 -0
- package/lib/module/reanimated2/animation/repeat.js +95 -0
- package/lib/module/reanimated2/animation/repeat.js.map +1 -0
- package/lib/module/reanimated2/animation/sequence.js +93 -0
- package/lib/module/reanimated2/animation/sequence.js.map +1 -0
- package/lib/module/reanimated2/animation/spring.js +113 -0
- package/lib/module/reanimated2/animation/spring.js.map +1 -0
- package/lib/module/reanimated2/animation/styleAnimation.js +191 -0
- package/lib/module/reanimated2/animation/styleAnimation.js.map +1 -0
- package/lib/module/reanimated2/animation/timing.js +73 -0
- package/lib/module/reanimated2/animation/timing.js.map +1 -0
- package/lib/module/reanimated2/animation/util.js +216 -0
- package/lib/module/reanimated2/animation/util.js.map +1 -0
- package/lib/module/reanimated2/commonTypes.js +10 -0
- package/lib/module/reanimated2/commonTypes.js.map +1 -0
- package/lib/module/reanimated2/component/FlatList.js +33 -0
- package/lib/module/reanimated2/component/FlatList.js.map +1 -0
- package/lib/module/reanimated2/component/Image.js +5 -0
- package/lib/module/reanimated2/component/Image.js.map +1 -0
- package/lib/module/reanimated2/component/ScrollView.js +5 -0
- package/lib/module/reanimated2/component/ScrollView.js.map +1 -0
- package/lib/module/reanimated2/component/Text.js +5 -0
- package/lib/module/reanimated2/component/Text.js.map +1 -0
- package/lib/module/reanimated2/component/View.js +5 -0
- package/lib/module/reanimated2/component/View.js.map +1 -0
- package/lib/module/reanimated2/core.js +314 -0
- package/lib/module/reanimated2/core.js.map +1 -0
- package/lib/module/reanimated2/fabricUtils.js +18 -0
- package/lib/module/reanimated2/fabricUtils.js.map +1 -0
- package/lib/module/reanimated2/fabricUtils.web.js +12 -0
- package/lib/module/reanimated2/fabricUtils.web.js.map +1 -0
- package/lib/module/reanimated2/frameCallback/FrameCallbackRegistryJS.js +44 -0
- package/lib/module/reanimated2/frameCallback/FrameCallbackRegistryJS.js.map +1 -0
- package/lib/module/reanimated2/frameCallback/FrameCallbackRegistryUI.js +55 -0
- package/lib/module/reanimated2/frameCallback/FrameCallbackRegistryUI.js.map +1 -0
- package/lib/module/reanimated2/globals.d.js +2 -0
- package/lib/module/reanimated2/globals.d.js.map +1 -0
- package/lib/module/reanimated2/hook/Hooks.js +10 -0
- package/lib/module/reanimated2/hook/Hooks.js.map +1 -0
- package/lib/module/reanimated2/hook/commonTypes.js +2 -0
- package/lib/module/reanimated2/hook/commonTypes.js.map +1 -0
- package/lib/module/reanimated2/hook/index.js +12 -0
- package/lib/module/reanimated2/hook/index.js.map +1 -0
- package/lib/module/reanimated2/hook/useAnimatedGestureHandler.js +56 -0
- package/lib/module/reanimated2/hook/useAnimatedGestureHandler.js.map +1 -0
- package/lib/module/reanimated2/hook/useAnimatedKeyboard.js +34 -0
- package/lib/module/reanimated2/hook/useAnimatedKeyboard.js.map +1 -0
- package/lib/module/reanimated2/hook/useAnimatedReaction.js +35 -0
- package/lib/module/reanimated2/hook/useAnimatedReaction.js.map +1 -0
- package/lib/module/reanimated2/hook/useAnimatedRef.js +32 -0
- package/lib/module/reanimated2/hook/useAnimatedRef.js.map +1 -0
- package/lib/module/reanimated2/hook/useAnimatedScrollHandler.js +54 -0
- package/lib/module/reanimated2/hook/useAnimatedScrollHandler.js.map +1 -0
- package/lib/module/reanimated2/hook/useAnimatedSensor.js +79 -0
- package/lib/module/reanimated2/hook/useAnimatedSensor.js.map +1 -0
- package/lib/module/reanimated2/hook/useAnimatedStyle.js +450 -0
- package/lib/module/reanimated2/hook/useAnimatedStyle.js.map +1 -0
- package/lib/module/reanimated2/hook/useDerivedValue.js +39 -0
- package/lib/module/reanimated2/hook/useDerivedValue.js.map +1 -0
- package/lib/module/reanimated2/hook/useFrameCallback.js +24 -0
- package/lib/module/reanimated2/hook/useFrameCallback.js.map +1 -0
- package/lib/module/reanimated2/hook/useSharedValue.js +20 -0
- package/lib/module/reanimated2/hook/useSharedValue.js.map +1 -0
- package/lib/module/reanimated2/hook/utils.js +208 -0
- package/lib/module/reanimated2/hook/utils.js.map +1 -0
- package/lib/module/reanimated2/index.js +13 -0
- package/lib/module/reanimated2/index.js.map +1 -0
- package/lib/module/reanimated2/interpolateColor.js +135 -0
- package/lib/module/reanimated2/interpolateColor.js.map +1 -0
- package/lib/module/reanimated2/interpolation.js +135 -0
- package/lib/module/reanimated2/interpolation.js.map +1 -0
- package/lib/module/reanimated2/jestUtils.js +217 -0
- package/lib/module/reanimated2/jestUtils.js.map +1 -0
- package/lib/module/reanimated2/js-reanimated/JSReanimated.js +144 -0
- package/lib/module/reanimated2/js-reanimated/JSReanimated.js.map +1 -0
- package/lib/module/reanimated2/js-reanimated/Mapper.js +62 -0
- package/lib/module/reanimated2/js-reanimated/Mapper.js.map +1 -0
- package/lib/module/reanimated2/js-reanimated/MapperRegistry.js +137 -0
- package/lib/module/reanimated2/js-reanimated/MapperRegistry.js.map +1 -0
- package/lib/module/reanimated2/js-reanimated/MutableValue.js +48 -0
- package/lib/module/reanimated2/js-reanimated/MutableValue.js.map +1 -0
- package/lib/module/reanimated2/js-reanimated/commonTypes.js +2 -0
- package/lib/module/reanimated2/js-reanimated/commonTypes.js.map +1 -0
- package/lib/module/reanimated2/js-reanimated/global.js +48 -0
- package/lib/module/reanimated2/js-reanimated/global.js.map +1 -0
- package/lib/module/reanimated2/js-reanimated/index.js +43 -0
- package/lib/module/reanimated2/js-reanimated/index.js.map +1 -0
- package/lib/module/reanimated2/layoutReanimation/LayoutAnimationRepository.js +91 -0
- package/lib/module/reanimated2/layoutReanimation/LayoutAnimationRepository.js.map +1 -0
- package/lib/module/reanimated2/layoutReanimation/animationBuilder/BaseAnimationBuilder.js +90 -0
- package/lib/module/reanimated2/layoutReanimation/animationBuilder/BaseAnimationBuilder.js.map +1 -0
- package/lib/module/reanimated2/layoutReanimation/animationBuilder/ComplexAnimationBuilder.js +192 -0
- package/lib/module/reanimated2/layoutReanimation/animationBuilder/ComplexAnimationBuilder.js.map +1 -0
- package/lib/module/reanimated2/layoutReanimation/animationBuilder/Keyframe.js +233 -0
- package/lib/module/reanimated2/layoutReanimation/animationBuilder/Keyframe.js.map +1 -0
- package/lib/module/reanimated2/layoutReanimation/animationBuilder/commonTypes.js +2 -0
- package/lib/module/reanimated2/layoutReanimation/animationBuilder/commonTypes.js.map +1 -0
- package/lib/module/reanimated2/layoutReanimation/animationBuilder/index.js +4 -0
- package/lib/module/reanimated2/layoutReanimation/animationBuilder/index.js.map +1 -0
- package/lib/module/reanimated2/layoutReanimation/defaultAnimations/Bounce.js +530 -0
- package/lib/module/reanimated2/layoutReanimation/defaultAnimations/Bounce.js.map +1 -0
- package/lib/module/reanimated2/layoutReanimation/defaultAnimations/Default.js +40 -0
- package/lib/module/reanimated2/layoutReanimation/defaultAnimations/Default.js.map +1 -0
- package/lib/module/reanimated2/layoutReanimation/defaultAnimations/Fade.js +372 -0
- package/lib/module/reanimated2/layoutReanimation/defaultAnimations/Fade.js.map +1 -0
- package/lib/module/reanimated2/layoutReanimation/defaultAnimations/Flip.js +516 -0
- package/lib/module/reanimated2/layoutReanimation/defaultAnimations/Flip.js.map +1 -0
- package/lib/module/reanimated2/layoutReanimation/defaultAnimations/Lightspeed.js +199 -0
- package/lib/module/reanimated2/layoutReanimation/defaultAnimations/Lightspeed.js.map +1 -0
- package/lib/module/reanimated2/layoutReanimation/defaultAnimations/Pinwheel.js +88 -0
- package/lib/module/reanimated2/layoutReanimation/defaultAnimations/Pinwheel.js.map +1 -0
- package/lib/module/reanimated2/layoutReanimation/defaultAnimations/Roll.js +168 -0
- package/lib/module/reanimated2/layoutReanimation/defaultAnimations/Roll.js.map +1 -0
- package/lib/module/reanimated2/layoutReanimation/defaultAnimations/Rotate.js +372 -0
- package/lib/module/reanimated2/layoutReanimation/defaultAnimations/Rotate.js.map +1 -0
- package/lib/module/reanimated2/layoutReanimation/defaultAnimations/Slide.js +265 -0
- package/lib/module/reanimated2/layoutReanimation/defaultAnimations/Slide.js.map +1 -0
- package/lib/module/reanimated2/layoutReanimation/defaultAnimations/Stretch.js +148 -0
- package/lib/module/reanimated2/layoutReanimation/defaultAnimations/Stretch.js.map +1 -0
- package/lib/module/reanimated2/layoutReanimation/defaultAnimations/Zoom.js +643 -0
- package/lib/module/reanimated2/layoutReanimation/defaultAnimations/Zoom.js.map +1 -0
- package/lib/module/reanimated2/layoutReanimation/defaultAnimations/index.js +11 -0
- package/lib/module/reanimated2/layoutReanimation/defaultAnimations/index.js.map +1 -0
- package/lib/module/reanimated2/layoutReanimation/defaultTransitions/CurvedTransition.js +108 -0
- package/lib/module/reanimated2/layoutReanimation/defaultTransitions/CurvedTransition.js.map +1 -0
- package/lib/module/reanimated2/layoutReanimation/defaultTransitions/EntryExitTransition.js +166 -0
- package/lib/module/reanimated2/layoutReanimation/defaultTransitions/EntryExitTransition.js.map +1 -0
- package/lib/module/reanimated2/layoutReanimation/defaultTransitions/FadingTransition.js +55 -0
- package/lib/module/reanimated2/layoutReanimation/defaultTransitions/FadingTransition.js.map +1 -0
- package/lib/module/reanimated2/layoutReanimation/defaultTransitions/JumpingTransition.js +52 -0
- package/lib/module/reanimated2/layoutReanimation/defaultTransitions/JumpingTransition.js.map +1 -0
- package/lib/module/reanimated2/layoutReanimation/defaultTransitions/LinearTransition.js +41 -0
- package/lib/module/reanimated2/layoutReanimation/defaultTransitions/LinearTransition.js.map +1 -0
- package/lib/module/reanimated2/layoutReanimation/defaultTransitions/SequencedTransition.js +57 -0
- package/lib/module/reanimated2/layoutReanimation/defaultTransitions/SequencedTransition.js.map +1 -0
- package/lib/module/reanimated2/layoutReanimation/defaultTransitions/index.js +7 -0
- package/lib/module/reanimated2/layoutReanimation/defaultTransitions/index.js.map +1 -0
- package/lib/module/reanimated2/layoutReanimation/index.js +5 -0
- package/lib/module/reanimated2/layoutReanimation/index.js.map +1 -0
- package/lib/module/reanimated2/mock.js +86 -0
- package/lib/module/reanimated2/mock.js.map +1 -0
- package/lib/module/reanimated2/platform-specific/RNRenderer.js +4 -0
- package/lib/module/reanimated2/platform-specific/RNRenderer.js.map +1 -0
- package/lib/module/reanimated2/platform-specific/RNRenderer.web.js +3 -0
- package/lib/module/reanimated2/platform-specific/RNRenderer.web.js.map +1 -0
- package/lib/module/reanimated2/utils.js +11 -0
- package/lib/module/reanimated2/utils.js.map +1 -0
- package/lib/module/setAndForwardRef.js +55 -0
- package/lib/module/setAndForwardRef.js.map +1 -0
- package/mock.js +1 -0
- package/package.json +28 -25
- package/plugin.js +11 -17
- package/src/Animated.ts +0 -2
- package/src/createAnimatedComponent.tsx +37 -197
- package/src/index.ts +11 -5
- package/src/index.web.ts +5 -0
- package/src/reanimated2/Colors.ts +1 -1
- package/src/reanimated2/Easing.ts +0 -53
- package/src/reanimated2/NativeMethods.ts +44 -7
- package/src/reanimated2/NativeReanimated/NativeReanimated.ts +9 -0
- package/src/reanimated2/UpdateProps.ts +38 -19
- package/src/reanimated2/animation/decay.ts +79 -30
- package/src/reanimated2/animation/index.ts +7 -4
- package/src/reanimated2/animation/util.ts +8 -1
- package/src/reanimated2/commonTypes.ts +17 -1
- package/src/reanimated2/component/FlatList.tsx +29 -19
- package/src/reanimated2/core.ts +15 -9
- package/src/reanimated2/fabricUtils.ts +27 -0
- package/src/reanimated2/fabricUtils.web.ts +19 -0
- package/src/reanimated2/frameCallback/FrameCallbackRegistryJS.ts +43 -0
- package/src/reanimated2/frameCallback/FrameCallbackRegistryUI.ts +64 -0
- package/src/reanimated2/globals.d.ts +20 -1
- package/src/reanimated2/hook/commonTypes.ts +4 -2
- package/src/reanimated2/hook/index.ts +14 -14
- package/src/reanimated2/hook/useAnimatedGestureHandler.ts +2 -2
- package/src/reanimated2/hook/useAnimatedKeyboard.ts +35 -0
- package/src/reanimated2/hook/useAnimatedRef.ts +8 -3
- package/src/reanimated2/hook/useAnimatedScrollHandler.ts +2 -2
- package/src/reanimated2/hook/useAnimatedSensor.ts +5 -5
- package/src/reanimated2/hook/useFrameCallback.ts +39 -0
- package/src/reanimated2/hook/utils.ts +2 -5
- package/src/reanimated2/interpolateColor.ts +6 -2
- package/src/reanimated2/interpolation.ts +1 -26
- package/src/reanimated2/jestUtils.ts +11 -3
- package/src/reanimated2/js-reanimated/JSReanimated.ts +16 -1
- package/src/reanimated2/js-reanimated/global.ts +46 -29
- package/src/reanimated2/layoutReanimation/LayoutAnimationRepository.ts +1 -1
- package/src/reanimated2/layoutReanimation/animationBuilder/index.ts +1 -1
- 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-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/react-native-reanimated-69-hermes.aar +0 -0
- package/android/react-native-reanimated-69-jsc.aar +0 -0
- package/android/rnVersionPatch/69/.gitkeep +0 -0
- package/android/src/main/java/com/swmansion/reanimated/NativeProxy.java +0 -288
- package/android/src/main/java/com/swmansion/reanimated/UpdateContext.java +0 -11
- package/android/src/main/java/com/swmansion/reanimated/nodes/AlwaysNode.java +0 -29
- package/android/src/main/java/com/swmansion/reanimated/nodes/BezierNode.java +0 -87
- package/android/src/main/java/com/swmansion/reanimated/nodes/BlockNode.java +0 -24
- package/android/src/main/java/com/swmansion/reanimated/nodes/CallFuncNode.java +0 -49
- package/android/src/main/java/com/swmansion/reanimated/nodes/ClockNode.java +0 -38
- package/android/src/main/java/com/swmansion/reanimated/nodes/ClockOpNode.java +0 -73
- package/android/src/main/java/com/swmansion/reanimated/nodes/ConcatNode.java +0 -36
- package/android/src/main/java/com/swmansion/reanimated/nodes/CondNode.java +0 -41
- package/android/src/main/java/com/swmansion/reanimated/nodes/DebugNode.java +0 -33
- package/android/src/main/java/com/swmansion/reanimated/nodes/EventNode.java +0 -83
- package/android/src/main/java/com/swmansion/reanimated/nodes/FinalNode.java +0 -5
- package/android/src/main/java/com/swmansion/reanimated/nodes/FunctionNode.java +0 -20
- package/android/src/main/java/com/swmansion/reanimated/nodes/JSCallNode.java +0 -41
- package/android/src/main/java/com/swmansion/reanimated/nodes/Node.java +0 -139
- package/android/src/main/java/com/swmansion/reanimated/nodes/NoopNode.java +0 -37
- package/android/src/main/java/com/swmansion/reanimated/nodes/OperatorNode.java +0 -377
- package/android/src/main/java/com/swmansion/reanimated/nodes/ParamNode.java +0 -71
- package/android/src/main/java/com/swmansion/reanimated/nodes/PropsNode.java +0 -153
- package/android/src/main/java/com/swmansion/reanimated/nodes/SetNode.java +0 -32
- package/android/src/main/java/com/swmansion/reanimated/nodes/StyleNode.java +0 -40
- package/android/src/main/java/com/swmansion/reanimated/nodes/TransformNode.java +0 -84
- package/android/src/main/java/com/swmansion/reanimated/nodes/ValueNode.java +0 -40
- package/android/src/main/java/com/swmansion/reanimated/transitions/ChangeTransition.java +0 -84
- package/android/src/main/java/com/swmansion/reanimated/transitions/SaneSidePropagation.java +0 -25
- package/android/src/main/java/com/swmansion/reanimated/transitions/Scale.java +0 -86
- package/android/src/main/java/com/swmansion/reanimated/transitions/TransitionModule.java +0 -41
- package/android/src/main/java/com/swmansion/reanimated/transitions/TransitionUtils.java +0 -161
- package/ios/Nodes/REAAlwaysNode.h +0 -4
- package/ios/Nodes/REAAlwaysNode.m +0 -35
- package/ios/Nodes/REABezierNode.h +0 -5
- package/ios/Nodes/REABezierNode.m +0 -103
- package/ios/Nodes/REABlockNode.h +0 -5
- package/ios/Nodes/REABlockNode.m +0 -25
- package/ios/Nodes/REACallFuncNode.h +0 -6
- package/ios/Nodes/REACallFuncNode.m +0 -69
- package/ios/Nodes/REAClockNodes.h +0 -19
- package/ios/Nodes/REAClockNodes.m +0 -118
- package/ios/Nodes/REAConcatNode.h +0 -5
- package/ios/Nodes/REAConcatNode.m +0 -32
- package/ios/Nodes/REACondNode.h +0 -5
- package/ios/Nodes/REACondNode.m +0 -36
- package/ios/Nodes/READebugNode.h +0 -5
- package/ios/Nodes/READebugNode.m +0 -30
- package/ios/Nodes/REAEventNode.h +0 -8
- package/ios/Nodes/REAEventNode.m +0 -35
- package/ios/Nodes/REAFunctionNode.h +0 -6
- package/ios/Nodes/REAFunctionNode.m +0 -24
- package/ios/Nodes/REAJSCallNode.h +0 -5
- package/ios/Nodes/REAJSCallNode.m +0 -30
- package/ios/Nodes/REANode.h +0 -40
- package/ios/Nodes/REANode.m +0 -155
- package/ios/Nodes/REAOperatorNode.h +0 -5
- package/ios/Nodes/REAOperatorNode.m +0 -114
- package/ios/Nodes/REAParamNode.h +0 -10
- package/ios/Nodes/REAParamNode.m +0 -79
- package/ios/Nodes/REAPropsNode.h +0 -9
- package/ios/Nodes/REAPropsNode.m +0 -96
- package/ios/Nodes/REASetNode.h +0 -5
- package/ios/Nodes/REASetNode.m +0 -34
- package/ios/Nodes/REAStyleNode.h +0 -5
- package/ios/Nodes/REAStyleNode.m +0 -27
- package/ios/Nodes/REATransformNode.h +0 -5
- package/ios/Nodes/REATransformNode.m +0 -36
- package/ios/Nodes/REAValueNode.h +0 -9
- package/ios/Nodes/REAValueNode.m +0 -26
- package/ios/REAModule.m +0 -184
- package/ios/REANodesManager.m +0 -626
- package/ios/Transitioning/RCTConvert+REATransition.h +0 -11
- package/ios/Transitioning/RCTConvert+REATransition.m +0 -53
- package/ios/Transitioning/REAAllTransitions.h +0 -26
- package/ios/Transitioning/REAAllTransitions.m +0 -296
- package/ios/Transitioning/REATransition.h +0 -64
- package/ios/Transitioning/REATransition.m +0 -210
- package/ios/Transitioning/REATransitionAnimation.h +0 -17
- package/ios/Transitioning/REATransitionAnimation.m +0 -79
- package/ios/Transitioning/REATransitionManager.h +0 -9
- package/ios/Transitioning/REATransitionManager.m +0 -60
- package/ios/Transitioning/REATransitionValues.h +0 -15
- package/ios/Transitioning/REATransitionValues.m +0 -25
- package/lib/Animated.js +0 -9
- package/lib/ConfigHelper.js +0 -145
- package/lib/ReanimatedEventEmitter.js +0 -3
- package/lib/ReanimatedModule.js +0 -2
- package/lib/ReanimatedModule.macos.js +0 -2
- package/lib/ReanimatedModule.native.js +0 -12
- package/lib/ReanimatedModule.windows.js +0 -2
- package/lib/ReanimatedModuleCompat.js +0 -66
- package/lib/__mocks__/ReanimatedEventEmitter.js +0 -8
- package/lib/__mocks__/ReanimatedModule.native.js +0 -11
- package/lib/createAnimatedComponent.js +0 -514
- package/lib/index.js +0 -6
- 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/reanimated2/Bezier.js +0 -126
- package/lib/reanimated2/Colors.js +0 -522
- package/lib/reanimated2/Easing.js +0 -248
- package/lib/reanimated2/NativeMethods.js +0 -42
- package/lib/reanimated2/NativeReanimated/NativeReanimated.js +0 -50
- package/lib/reanimated2/NativeReanimated/index.js +0 -11
- package/lib/reanimated2/PlatformChecker.js +0 -16
- package/lib/reanimated2/PropAdapters.js +0 -55
- package/lib/reanimated2/UpdateProps.js +0 -55
- package/lib/reanimated2/ViewDescriptorsSet.js +0 -75
- package/lib/reanimated2/WorkletEventHandler.js +0 -37
- package/lib/reanimated2/__mocks__/MutableValue.js +0 -13
- package/lib/reanimated2/__mocks__/NativeReanimated.js +0 -20
- package/lib/reanimated2/__mocks__/NativeReanimated.native.js +0 -20
- package/lib/reanimated2/animation/commonTypes.js +0 -1
- package/lib/reanimated2/animation/decay.js +0 -71
- package/lib/reanimated2/animation/delay.js +0 -64
- package/lib/reanimated2/animation/index.js +0 -8
- package/lib/reanimated2/animation/repeat.js +0 -69
- package/lib/reanimated2/animation/sequence.js +0 -69
- package/lib/reanimated2/animation/spring.js +0 -103
- package/lib/reanimated2/animation/styleAnimation.js +0 -171
- package/lib/reanimated2/animation/timing.js +0 -64
- package/lib/reanimated2/animation/util.js +0 -180
- package/lib/reanimated2/commonTypes.js +0 -1
- package/lib/reanimated2/component/FlatList.js +0 -30
- package/lib/reanimated2/component/Image.js +0 -4
- package/lib/reanimated2/component/ScrollView.js +0 -4
- package/lib/reanimated2/component/Text.js +0 -4
- package/lib/reanimated2/component/View.js +0 -4
- package/lib/reanimated2/core.js +0 -268
- package/lib/reanimated2/globals.d.ts +0 -60
- package/lib/reanimated2/hook/Hooks.js +0 -9
- package/lib/reanimated2/hook/commonTypes.js +0 -1
- package/lib/reanimated2/hook/index.js +0 -9
- package/lib/reanimated2/hook/useAnimatedGestureHandler.js +0 -49
- package/lib/reanimated2/hook/useAnimatedReaction.js +0 -37
- package/lib/reanimated2/hook/useAnimatedRef.js +0 -25
- package/lib/reanimated2/hook/useAnimatedScrollHandler.js +0 -41
- package/lib/reanimated2/hook/useAnimatedSensor.js +0 -66
- package/lib/reanimated2/hook/useAnimatedStyle.js +0 -393
- package/lib/reanimated2/hook/useDerivedValue.js +0 -36
- package/lib/reanimated2/hook/useSharedValue.js +0 -17
- package/lib/reanimated2/hook/utils.js +0 -173
- package/lib/reanimated2/index.js +0 -12
- package/lib/reanimated2/interpolateColor.js +0 -98
- package/lib/reanimated2/interpolation.js +0 -127
- package/lib/reanimated2/jestUtils.js +0 -160
- package/lib/reanimated2/js-reanimated/JSReanimated.js +0 -99
- package/lib/reanimated2/js-reanimated/Mapper.js +0 -43
- package/lib/reanimated2/js-reanimated/MapperRegistry.js +0 -101
- package/lib/reanimated2/js-reanimated/MutableValue.js +0 -29
- package/lib/reanimated2/js-reanimated/commonTypes.js +0 -1
- package/lib/reanimated2/js-reanimated/global.js +0 -25
- package/lib/reanimated2/js-reanimated/index.js +0 -35
- package/lib/reanimated2/layoutReanimation/LayoutAnimationRepository.js +0 -67
- package/lib/reanimated2/layoutReanimation/animationBuilder/BaseAnimationBuilder.js +0 -69
- package/lib/reanimated2/layoutReanimation/animationBuilder/ComplexAnimationBuilder.js +0 -133
- package/lib/reanimated2/layoutReanimation/animationBuilder/Keyframe.js +0 -194
- package/lib/reanimated2/layoutReanimation/animationBuilder/commonTypes.js +0 -1
- package/lib/reanimated2/layoutReanimation/animationBuilder/index.js +0 -3
- package/lib/reanimated2/layoutReanimation/defaultAnimations/Bounce.js +0 -376
- package/lib/reanimated2/layoutReanimation/defaultAnimations/Default.js +0 -36
- package/lib/reanimated2/layoutReanimation/defaultAnimations/Fade.js +0 -275
- package/lib/reanimated2/layoutReanimation/defaultAnimations/Flip.js +0 -385
- package/lib/reanimated2/layoutReanimation/defaultAnimations/Lightspeed.js +0 -138
- package/lib/reanimated2/layoutReanimation/defaultAnimations/Pinwheel.js +0 -81
- package/lib/reanimated2/layoutReanimation/defaultAnimations/Roll.js +0 -115
- package/lib/reanimated2/layoutReanimation/defaultAnimations/Rotate.js +0 -273
- package/lib/reanimated2/layoutReanimation/defaultAnimations/Slide.js +0 -203
- package/lib/reanimated2/layoutReanimation/defaultAnimations/Stretch.js +0 -101
- package/lib/reanimated2/layoutReanimation/defaultAnimations/Zoom.js +0 -451
- package/lib/reanimated2/layoutReanimation/defaultAnimations/index.js +0 -10
- package/lib/reanimated2/layoutReanimation/defaultTransitions/CurvedTransition.js +0 -90
- package/lib/reanimated2/layoutReanimation/defaultTransitions/EntryExitTransition.js +0 -132
- package/lib/reanimated2/layoutReanimation/defaultTransitions/FadingTransition.js +0 -37
- package/lib/reanimated2/layoutReanimation/defaultTransitions/JumpingTransition.js +0 -41
- package/lib/reanimated2/layoutReanimation/defaultTransitions/LinearTransition.js +0 -34
- package/lib/reanimated2/layoutReanimation/defaultTransitions/SequencedTransition.js +0 -46
- package/lib/reanimated2/layoutReanimation/defaultTransitions/index.js +0 -6
- package/lib/reanimated2/layoutReanimation/index.js +0 -4
- package/lib/reanimated2/mock.js +0 -75
- package/lib/reanimated2/platform-specific/RNRenderer.js +0 -3
- package/lib/reanimated2/platform-specific/RNRenderer.web.js +0 -3
- package/lib/reanimated2/utils.js +0 -9
- package/lib/setAndForwardRef.js +0 -19
- package/lib/types/lib/Animated.d.ts +0 -8
- package/lib/types/lib/ConfigHelper.d.ts +0 -12
- package/lib/types/lib/ReanimatedEventEmitter.d.ts +0 -3
- package/lib/types/lib/ReanimatedModule.d.ts +0 -2
- package/lib/types/lib/ReanimatedModule.macos.d.ts +0 -2
- package/lib/types/lib/ReanimatedModule.native.d.ts +0 -2
- package/lib/types/lib/ReanimatedModule.windows.d.ts +0 -2
- package/lib/types/lib/ReanimatedModuleCompat.d.ts +0 -14
- package/lib/types/lib/createAnimatedComponent.d.ts +0 -33
- package/lib/types/lib/index.d.ts +0 -4
- package/lib/types/lib/reanimated2/Bezier.d.ts +0 -6
- package/lib/types/lib/reanimated2/Colors.d.ts +0 -31
- package/lib/types/lib/reanimated2/Easing.d.ts +0 -172
- package/lib/types/lib/reanimated2/NativeMethods.d.ts +0 -14
- package/lib/types/lib/reanimated2/NativeReanimated/NativeReanimated.d.ts +0 -20
- package/lib/types/lib/reanimated2/NativeReanimated/index.d.ts +0 -3
- package/lib/types/lib/reanimated2/PlatformChecker.d.ts +0 -5
- package/lib/types/lib/reanimated2/PropAdapters.d.ts +0 -4
- package/lib/types/lib/reanimated2/UpdateProps.d.ts +0 -9
- package/lib/types/lib/reanimated2/ViewDescriptorsSet.d.ts +0 -20
- package/lib/types/lib/reanimated2/WorkletEventHandler.d.ts +0 -13
- package/lib/types/lib/reanimated2/__mocks__/MutableValue.d.ts +0 -5
- package/lib/types/lib/reanimated2/__mocks__/NativeReanimated.d.ts +0 -13
- package/lib/types/lib/reanimated2/__mocks__/NativeReanimated.native.d.ts +0 -13
- package/lib/types/lib/reanimated2/animation/commonTypes.d.ts +0 -27
- package/lib/types/lib/reanimated2/animation/decay.d.ts +0 -19
- package/lib/types/lib/reanimated2/animation/delay.d.ts +0 -7
- package/lib/types/lib/reanimated2/animation/index.d.ts +0 -9
- package/lib/types/lib/reanimated2/animation/repeat.d.ts +0 -12
- package/lib/types/lib/reanimated2/animation/sequence.d.ts +0 -7
- package/lib/types/lib/reanimated2/animation/spring.d.ts +0 -22
- package/lib/types/lib/reanimated2/animation/styleAnimation.d.ts +0 -7
- package/lib/types/lib/reanimated2/animation/timing.d.ts +0 -21
- package/lib/types/lib/reanimated2/animation/util.d.ts +0 -9
- package/lib/types/lib/reanimated2/commonTypes.d.ts +0 -79
- package/lib/types/lib/reanimated2/component/FlatList.d.ts +0 -9
- package/lib/types/lib/reanimated2/component/Image.d.ts +0 -3
- package/lib/types/lib/reanimated2/component/ScrollView.d.ts +0 -3
- package/lib/types/lib/reanimated2/component/Text.d.ts +0 -3
- package/lib/types/lib/reanimated2/component/View.d.ts +0 -3
- package/lib/types/lib/reanimated2/core.d.ts +0 -24
- package/lib/types/lib/reanimated2/hook/Hooks.d.ts +0 -5
- package/lib/types/lib/reanimated2/hook/commonTypes.d.ts +0 -14
- package/lib/types/lib/reanimated2/hook/index.d.ts +0 -10
- package/lib/types/lib/reanimated2/hook/useAnimatedGestureHandler.d.ts +0 -35
- package/lib/types/lib/reanimated2/hook/useAnimatedReaction.d.ts +0 -12
- package/lib/types/lib/reanimated2/hook/useAnimatedRef.d.ts +0 -3
- package/lib/types/lib/reanimated2/hook/useAnimatedScrollHandler.d.ts +0 -21
- package/lib/types/lib/reanimated2/hook/useAnimatedSensor.d.ts +0 -18
- package/lib/types/lib/reanimated2/hook/useAnimatedStyle.d.ts +0 -11
- package/lib/types/lib/reanimated2/hook/useDerivedValue.d.ts +0 -4
- package/lib/types/lib/reanimated2/hook/useSharedValue.d.ts +0 -2
- package/lib/types/lib/reanimated2/hook/utils.d.ts +0 -28
- package/lib/types/lib/reanimated2/index.d.ts +0 -12
- package/lib/types/lib/reanimated2/interpolateColor.d.ts +0 -26
- package/lib/types/lib/reanimated2/interpolation.d.ts +0 -14
- package/lib/types/lib/reanimated2/jestUtils.d.ts +0 -12
- package/lib/types/lib/reanimated2/js-reanimated/JSReanimated.d.ts +0 -30
- package/lib/types/lib/reanimated2/js-reanimated/Mapper.d.ts +0 -14
- package/lib/types/lib/reanimated2/js-reanimated/MapperRegistry.d.ts +0 -14
- package/lib/types/lib/reanimated2/js-reanimated/MutableValue.d.ts +0 -14
- package/lib/types/lib/reanimated2/js-reanimated/commonTypes.d.ts +0 -44
- package/lib/types/lib/reanimated2/js-reanimated/global.d.ts +0 -1
- package/lib/types/lib/reanimated2/js-reanimated/index.d.ts +0 -15
- package/lib/types/lib/reanimated2/layoutReanimation/LayoutAnimationRepository.d.ts +0 -1
- package/lib/types/lib/reanimated2/layoutReanimation/animationBuilder/BaseAnimationBuilder.d.ts +0 -22
- package/lib/types/lib/reanimated2/layoutReanimation/animationBuilder/ComplexAnimationBuilder.d.ts +0 -38
- package/lib/types/lib/reanimated2/layoutReanimation/animationBuilder/Keyframe.d.ts +0 -25
- package/lib/types/lib/reanimated2/layoutReanimation/animationBuilder/commonTypes.d.ts +0 -77
- package/lib/types/lib/reanimated2/layoutReanimation/animationBuilder/index.d.ts +0 -4
- package/lib/types/lib/reanimated2/layoutReanimation/defaultAnimations/Bounce.d.ts +0 -62
- package/lib/types/lib/reanimated2/layoutReanimation/defaultAnimations/Default.d.ts +0 -4
- package/lib/types/lib/reanimated2/layoutReanimation/defaultAnimations/Fade.d.ts +0 -42
- package/lib/types/lib/reanimated2/layoutReanimation/defaultAnimations/Flip.d.ts +0 -50
- package/lib/types/lib/reanimated2/layoutReanimation/defaultAnimations/Lightspeed.d.ts +0 -18
- package/lib/types/lib/reanimated2/layoutReanimation/defaultAnimations/Pinwheel.d.ts +0 -10
- package/lib/types/lib/reanimated2/layoutReanimation/defaultAnimations/Roll.d.ts +0 -18
- package/lib/types/lib/reanimated2/layoutReanimation/defaultAnimations/Rotate.d.ts +0 -34
- package/lib/types/lib/reanimated2/layoutReanimation/defaultAnimations/Slide.d.ts +0 -34
- package/lib/types/lib/reanimated2/layoutReanimation/defaultAnimations/Stretch.d.ts +0 -18
- package/lib/types/lib/reanimated2/layoutReanimation/defaultAnimations/Zoom.d.ts +0 -66
- package/lib/types/lib/reanimated2/layoutReanimation/defaultAnimations/index.d.ts +0 -10
- package/lib/types/lib/reanimated2/layoutReanimation/defaultTransitions/CurvedTransition.d.ts +0 -19
- package/lib/types/lib/reanimated2/layoutReanimation/defaultTransitions/EntryExitTransition.d.ts +0 -13
- package/lib/types/lib/reanimated2/layoutReanimation/defaultTransitions/FadingTransition.d.ts +0 -6
- package/lib/types/lib/reanimated2/layoutReanimation/defaultTransitions/JumpingTransition.d.ts +0 -6
- package/lib/types/lib/reanimated2/layoutReanimation/defaultTransitions/LinearTransition.d.ts +0 -7
- package/lib/types/lib/reanimated2/layoutReanimation/defaultTransitions/SequencedTransition.d.ts +0 -9
- package/lib/types/lib/reanimated2/layoutReanimation/defaultTransitions/index.d.ts +0 -6
- package/lib/types/lib/reanimated2/layoutReanimation/index.d.ts +0 -4
- package/lib/types/lib/reanimated2/mock.d.ts +0 -61
- package/lib/types/lib/reanimated2/platform-specific/RNRenderer.d.ts +0 -1
- package/lib/types/lib/reanimated2/platform-specific/RNRenderer.web.d.ts +0 -0
- package/lib/types/lib/reanimated2/utils.d.ts +0 -7
- package/lib/types/lib/setAndForwardRef.d.ts +0 -40
- package/lib/types/react-native-reanimated-tests.d.ts +0 -1
- package/react-native-reanimated.d.ts +0 -1184
- package/src/ReanimatedEventEmitter.ts +0 -4
- package/src/ReanimatedModule.macos.ts +0 -3
- package/src/ReanimatedModule.native.ts +0 -13
- package/src/ReanimatedModule.ts +0 -3
- package/src/ReanimatedModule.windows.ts +0 -3
- package/src/ReanimatedModuleCompat.ts +0 -51
- package/src/__mocks__/ReanimatedEventEmitter.js +0 -8
- package/src/__mocks__/ReanimatedModule.native.js +0 -11
- 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
- package/src/reanimated2/__mocks__/MutableValue.ts +0 -15
- package/src/reanimated2/__mocks__/NativeReanimated.ts +0 -23
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.SensorType = void 0;
|
|
7
|
+
exports.useAnimatedSensor = useAnimatedSensor;
|
|
8
|
+
|
|
9
|
+
var _react = require("react");
|
|
10
|
+
|
|
11
|
+
var _core = require("../core");
|
|
12
|
+
|
|
13
|
+
var _NativeReanimated = _interopRequireDefault(require("../NativeReanimated"));
|
|
14
|
+
|
|
15
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
16
|
+
|
|
17
|
+
let SensorType;
|
|
18
|
+
exports.SensorType = SensorType;
|
|
19
|
+
|
|
20
|
+
(function (SensorType) {
|
|
21
|
+
SensorType[SensorType["ACCELEROMETER"] = 1] = "ACCELEROMETER";
|
|
22
|
+
SensorType[SensorType["GYROSCOPE"] = 2] = "GYROSCOPE";
|
|
23
|
+
SensorType[SensorType["GRAVITY"] = 3] = "GRAVITY";
|
|
24
|
+
SensorType[SensorType["MAGNETIC_FIELD"] = 4] = "MAGNETIC_FIELD";
|
|
25
|
+
SensorType[SensorType["ROTATION"] = 5] = "ROTATION";
|
|
26
|
+
})(SensorType || (exports.SensorType = SensorType = {}));
|
|
27
|
+
|
|
28
|
+
function useAnimatedSensor(sensorType, userConfig) {
|
|
29
|
+
const ref = (0, _react.useRef)({
|
|
30
|
+
sensor: null,
|
|
31
|
+
unregister: () => {// NOOP
|
|
32
|
+
},
|
|
33
|
+
isAvailable: false,
|
|
34
|
+
config: {
|
|
35
|
+
interval: 0
|
|
36
|
+
}
|
|
37
|
+
});
|
|
38
|
+
|
|
39
|
+
if (ref.current.sensor === null) {
|
|
40
|
+
ref.current.config = {
|
|
41
|
+
interval: 'auto',
|
|
42
|
+
...userConfig
|
|
43
|
+
};
|
|
44
|
+
let sensorData;
|
|
45
|
+
|
|
46
|
+
if (sensorType === SensorType.ROTATION) {
|
|
47
|
+
sensorData = {
|
|
48
|
+
qw: 0,
|
|
49
|
+
qx: 0,
|
|
50
|
+
qy: 0,
|
|
51
|
+
qz: 0,
|
|
52
|
+
yaw: 0,
|
|
53
|
+
pitch: 0,
|
|
54
|
+
roll: 0
|
|
55
|
+
};
|
|
56
|
+
} else {
|
|
57
|
+
sensorData = {
|
|
58
|
+
x: 0,
|
|
59
|
+
y: 0,
|
|
60
|
+
z: 0
|
|
61
|
+
};
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
ref.current.sensor = (0, _core.makeMutable)(sensorData);
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
(0, _react.useEffect)(() => {
|
|
68
|
+
ref.current.config = {
|
|
69
|
+
interval: 'auto',
|
|
70
|
+
...userConfig
|
|
71
|
+
};
|
|
72
|
+
|
|
73
|
+
const id = _NativeReanimated.default.registerSensor(sensorType, ref.current.config.interval === 'auto' ? -1 : ref.current.config.interval, ref.current.sensor);
|
|
74
|
+
|
|
75
|
+
if (id !== -1) {
|
|
76
|
+
// if sensor is available
|
|
77
|
+
ref.current.unregister = () => _NativeReanimated.default.unregisterSensor(id);
|
|
78
|
+
|
|
79
|
+
ref.current.isAvailable = true;
|
|
80
|
+
} else {
|
|
81
|
+
// if sensor is unavailable
|
|
82
|
+
ref.current.unregister = () => {// NOOP
|
|
83
|
+
};
|
|
84
|
+
|
|
85
|
+
ref.current.isAvailable = false;
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
return () => {
|
|
89
|
+
ref.current.unregister();
|
|
90
|
+
};
|
|
91
|
+
}, [sensorType, userConfig]);
|
|
92
|
+
return ref.current;
|
|
93
|
+
}
|
|
94
|
+
//# sourceMappingURL=useAnimatedSensor.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["SensorType","useAnimatedSensor","sensorType","userConfig","ref","useRef","sensor","unregister","isAvailable","config","interval","current","sensorData","ROTATION","qw","qx","qy","qz","yaw","pitch","roll","x","y","z","makeMutable","useEffect","id","NativeReanimated","registerSensor","unregisterSensor"],"sources":["useAnimatedSensor.ts"],"sourcesContent":["import { useEffect, useRef } from 'react';\nimport { makeMutable } from '../core';\nimport NativeReanimated from '../NativeReanimated';\nimport { SensorValue3D, SensorValueRotation } from '../commonTypes';\n\nexport enum SensorType {\n ACCELEROMETER = 1,\n GYROSCOPE = 2,\n GRAVITY = 3,\n MAGNETIC_FIELD = 4,\n ROTATION = 5,\n}\n\nexport type SensorConfig = {\n interval: number | 'auto';\n};\n\nexport type AnimatedSensor = {\n sensor: SensorValue3D | SensorValueRotation | null;\n unregister: () => void;\n isAvailable: boolean;\n config: SensorConfig;\n};\n\nexport function useAnimatedSensor(\n sensorType: SensorType,\n userConfig?: SensorConfig\n): AnimatedSensor {\n const ref = useRef<AnimatedSensor>({\n sensor: null,\n unregister: () => {\n // NOOP\n },\n isAvailable: false,\n config: {\n interval: 0,\n },\n });\n\n if (ref.current.sensor === null) {\n ref.current.config = { interval: 'auto', ...userConfig };\n let sensorData;\n if (sensorType === SensorType.ROTATION) {\n sensorData = {\n qw: 0,\n qx: 0,\n qy: 0,\n qz: 0,\n yaw: 0,\n pitch: 0,\n roll: 0,\n };\n } else {\n sensorData = {\n x: 0,\n y: 0,\n z: 0,\n };\n }\n ref.current.sensor = makeMutable(sensorData) as any;\n }\n\n useEffect(() => {\n ref.current.config = { interval: 'auto', ...userConfig };\n const id = NativeReanimated.registerSensor(\n sensorType,\n ref.current.config.interval === 'auto' ? -1 : ref.current.config.interval,\n ref.current.sensor as any\n );\n\n if (id !== -1) {\n // if sensor is available\n ref.current.unregister = () => NativeReanimated.unregisterSensor(id);\n ref.current.isAvailable = true;\n } else {\n // if sensor is unavailable\n ref.current.unregister = () => {\n // NOOP\n };\n ref.current.isAvailable = false;\n }\n\n return () => {\n ref.current.unregister();\n };\n }, [sensorType, userConfig]);\n\n return ref.current;\n}\n"],"mappings":";;;;;;;;AAAA;;AACA;;AACA;;;;IAGYA,U;;;WAAAA,U;EAAAA,U,CAAAA,U;EAAAA,U,CAAAA,U;EAAAA,U,CAAAA,U;EAAAA,U,CAAAA,U;EAAAA,U,CAAAA,U;GAAAA,U,0BAAAA,U;;AAmBL,SAASC,iBAAT,CACLC,UADK,EAELC,UAFK,EAGW;EAChB,MAAMC,GAAG,GAAG,IAAAC,aAAA,EAAuB;IACjCC,MAAM,EAAE,IADyB;IAEjCC,UAAU,EAAE,MAAM,CAChB;IACD,CAJgC;IAKjCC,WAAW,EAAE,KALoB;IAMjCC,MAAM,EAAE;MACNC,QAAQ,EAAE;IADJ;EANyB,CAAvB,CAAZ;;EAWA,IAAIN,GAAG,CAACO,OAAJ,CAAYL,MAAZ,KAAuB,IAA3B,EAAiC;IAC/BF,GAAG,CAACO,OAAJ,CAAYF,MAAZ,GAAqB;MAAEC,QAAQ,EAAE,MAAZ;MAAoB,GAAGP;IAAvB,CAArB;IACA,IAAIS,UAAJ;;IACA,IAAIV,UAAU,KAAKF,UAAU,CAACa,QAA9B,EAAwC;MACtCD,UAAU,GAAG;QACXE,EAAE,EAAE,CADO;QAEXC,EAAE,EAAE,CAFO;QAGXC,EAAE,EAAE,CAHO;QAIXC,EAAE,EAAE,CAJO;QAKXC,GAAG,EAAE,CALM;QAMXC,KAAK,EAAE,CANI;QAOXC,IAAI,EAAE;MAPK,CAAb;IASD,CAVD,MAUO;MACLR,UAAU,GAAG;QACXS,CAAC,EAAE,CADQ;QAEXC,CAAC,EAAE,CAFQ;QAGXC,CAAC,EAAE;MAHQ,CAAb;IAKD;;IACDnB,GAAG,CAACO,OAAJ,CAAYL,MAAZ,GAAqB,IAAAkB,iBAAA,EAAYZ,UAAZ,CAArB;EACD;;EAED,IAAAa,gBAAA,EAAU,MAAM;IACdrB,GAAG,CAACO,OAAJ,CAAYF,MAAZ,GAAqB;MAAEC,QAAQ,EAAE,MAAZ;MAAoB,GAAGP;IAAvB,CAArB;;IACA,MAAMuB,EAAE,GAAGC,yBAAA,CAAiBC,cAAjB,CACT1B,UADS,EAETE,GAAG,CAACO,OAAJ,CAAYF,MAAZ,CAAmBC,QAAnB,KAAgC,MAAhC,GAAyC,CAAC,CAA1C,GAA8CN,GAAG,CAACO,OAAJ,CAAYF,MAAZ,CAAmBC,QAFxD,EAGTN,GAAG,CAACO,OAAJ,CAAYL,MAHH,CAAX;;IAMA,IAAIoB,EAAE,KAAK,CAAC,CAAZ,EAAe;MACb;MACAtB,GAAG,CAACO,OAAJ,CAAYJ,UAAZ,GAAyB,MAAMoB,yBAAA,CAAiBE,gBAAjB,CAAkCH,EAAlC,CAA/B;;MACAtB,GAAG,CAACO,OAAJ,CAAYH,WAAZ,GAA0B,IAA1B;IACD,CAJD,MAIO;MACL;MACAJ,GAAG,CAACO,OAAJ,CAAYJ,UAAZ,GAAyB,MAAM,CAC7B;MACD,CAFD;;MAGAH,GAAG,CAACO,OAAJ,CAAYH,WAAZ,GAA0B,KAA1B;IACD;;IAED,OAAO,MAAM;MACXJ,GAAG,CAACO,OAAJ,CAAYJ,UAAZ;IACD,CAFD;EAGD,CAvBD,EAuBG,CAACL,UAAD,EAAaC,UAAb,CAvBH;EAyBA,OAAOC,GAAG,CAACO,OAAX;AACD"}
|
|
@@ -0,0 +1,471 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.useAnimatedStyle = useAnimatedStyle;
|
|
7
|
+
|
|
8
|
+
var _react = require("react");
|
|
9
|
+
|
|
10
|
+
var _core = require("../core");
|
|
11
|
+
|
|
12
|
+
var _UpdateProps = _interopRequireWildcard(require("../UpdateProps"));
|
|
13
|
+
|
|
14
|
+
var _animation = require("../animation");
|
|
15
|
+
|
|
16
|
+
var _NativeReanimated = _interopRequireDefault(require("../NativeReanimated"));
|
|
17
|
+
|
|
18
|
+
var _useSharedValue = require("./useSharedValue");
|
|
19
|
+
|
|
20
|
+
var _utils = require("./utils");
|
|
21
|
+
|
|
22
|
+
var _ViewDescriptorsSet = require("../ViewDescriptorsSet");
|
|
23
|
+
|
|
24
|
+
var _PlatformChecker = require("../PlatformChecker");
|
|
25
|
+
|
|
26
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
27
|
+
|
|
28
|
+
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
29
|
+
|
|
30
|
+
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
31
|
+
|
|
32
|
+
/* global _frameTimestamp */
|
|
33
|
+
function prepareAnimation(animatedProp, lastAnimation, lastValue) {
|
|
34
|
+
'worklet';
|
|
35
|
+
|
|
36
|
+
if (Array.isArray(animatedProp)) {
|
|
37
|
+
animatedProp.forEach((prop, index) => prepareAnimation(prop, lastAnimation && lastAnimation[index], lastValue && lastValue[index])); // return animatedProp;
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
if (typeof animatedProp === 'object' && animatedProp.onFrame) {
|
|
41
|
+
const animation = animatedProp;
|
|
42
|
+
let value = animation.current;
|
|
43
|
+
|
|
44
|
+
if (lastValue !== undefined) {
|
|
45
|
+
if (typeof lastValue === 'object') {
|
|
46
|
+
if (lastValue.value !== undefined) {
|
|
47
|
+
// previously it was a shared value
|
|
48
|
+
value = lastValue.value;
|
|
49
|
+
} else if (lastValue.onFrame !== undefined) {
|
|
50
|
+
if ((lastAnimation === null || lastAnimation === void 0 ? void 0 : lastAnimation.current) !== undefined) {
|
|
51
|
+
// it was an animation before, copy its state
|
|
52
|
+
value = lastAnimation.current;
|
|
53
|
+
} else if ((lastValue === null || lastValue === void 0 ? void 0 : lastValue.current) !== undefined) {
|
|
54
|
+
// it was initialized
|
|
55
|
+
value = lastValue.current;
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
} else {
|
|
59
|
+
// previously it was a plain value, just set it as starting point
|
|
60
|
+
value = lastValue;
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
animation.callStart = timestamp => {
|
|
65
|
+
animation.onStart(animation, value, timestamp, lastAnimation);
|
|
66
|
+
};
|
|
67
|
+
|
|
68
|
+
animation.callStart((0, _core.getTimestamp)());
|
|
69
|
+
animation.callStart = null;
|
|
70
|
+
} else if (typeof animatedProp === 'object') {
|
|
71
|
+
// it is an object
|
|
72
|
+
Object.keys(animatedProp).forEach(key => prepareAnimation(animatedProp[key], lastAnimation && lastAnimation[key], lastValue && lastValue[key]));
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
function runAnimations(animation, timestamp, key, result, animationsActive) {
|
|
77
|
+
'worklet';
|
|
78
|
+
|
|
79
|
+
if (!animationsActive.value) {
|
|
80
|
+
return true;
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
if (Array.isArray(animation)) {
|
|
84
|
+
result[key] = [];
|
|
85
|
+
let allFinished = true;
|
|
86
|
+
animation.forEach((entry, index) => {
|
|
87
|
+
if (!runAnimations(entry, timestamp, index, result[key], animationsActive)) {
|
|
88
|
+
allFinished = false;
|
|
89
|
+
}
|
|
90
|
+
});
|
|
91
|
+
return allFinished;
|
|
92
|
+
} else if (typeof animation === 'object' && animation.onFrame) {
|
|
93
|
+
let finished = true;
|
|
94
|
+
|
|
95
|
+
if (!animation.finished) {
|
|
96
|
+
if (animation.callStart) {
|
|
97
|
+
animation.callStart(timestamp);
|
|
98
|
+
animation.callStart = null;
|
|
99
|
+
}
|
|
100
|
+
|
|
101
|
+
finished = animation.onFrame(animation, timestamp);
|
|
102
|
+
animation.timestamp = timestamp;
|
|
103
|
+
|
|
104
|
+
if (finished) {
|
|
105
|
+
animation.finished = true;
|
|
106
|
+
animation.callback && animation.callback(true
|
|
107
|
+
/* finished */
|
|
108
|
+
);
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
|
|
112
|
+
result[key] = animation.current;
|
|
113
|
+
return finished;
|
|
114
|
+
} else if (typeof animation === 'object') {
|
|
115
|
+
result[key] = {};
|
|
116
|
+
let allFinished = true;
|
|
117
|
+
Object.keys(animation).forEach(k => {
|
|
118
|
+
if (!runAnimations(animation[k], timestamp, k, result[key], animationsActive)) {
|
|
119
|
+
allFinished = false;
|
|
120
|
+
}
|
|
121
|
+
});
|
|
122
|
+
return allFinished;
|
|
123
|
+
} else {
|
|
124
|
+
result[key] = animation;
|
|
125
|
+
return true;
|
|
126
|
+
}
|
|
127
|
+
}
|
|
128
|
+
|
|
129
|
+
function styleUpdater(viewDescriptors, updater, state, maybeViewRef, animationsActive) {
|
|
130
|
+
'worklet';
|
|
131
|
+
|
|
132
|
+
const animations = state.animations ?? {};
|
|
133
|
+
const newValues = updater() ?? {};
|
|
134
|
+
const oldValues = state.last;
|
|
135
|
+
let hasAnimations = false;
|
|
136
|
+
|
|
137
|
+
for (const key in newValues) {
|
|
138
|
+
const value = newValues[key];
|
|
139
|
+
|
|
140
|
+
if ((0, _utils.isAnimated)(value)) {
|
|
141
|
+
prepareAnimation(value, animations[key], oldValues[key]);
|
|
142
|
+
animations[key] = value;
|
|
143
|
+
hasAnimations = true;
|
|
144
|
+
} else {
|
|
145
|
+
delete animations[key];
|
|
146
|
+
}
|
|
147
|
+
}
|
|
148
|
+
|
|
149
|
+
if (hasAnimations) {
|
|
150
|
+
const frame = timestamp => {
|
|
151
|
+
const {
|
|
152
|
+
animations,
|
|
153
|
+
last,
|
|
154
|
+
isAnimationCancelled
|
|
155
|
+
} = state;
|
|
156
|
+
|
|
157
|
+
if (isAnimationCancelled) {
|
|
158
|
+
state.isAnimationRunning = false;
|
|
159
|
+
return;
|
|
160
|
+
}
|
|
161
|
+
|
|
162
|
+
const updates = {};
|
|
163
|
+
let allFinished = true;
|
|
164
|
+
|
|
165
|
+
for (const propName in animations) {
|
|
166
|
+
const finished = runAnimations(animations[propName], timestamp, propName, updates, animationsActive);
|
|
167
|
+
|
|
168
|
+
if (finished) {
|
|
169
|
+
last[propName] = updates[propName];
|
|
170
|
+
delete animations[propName];
|
|
171
|
+
} else {
|
|
172
|
+
allFinished = false;
|
|
173
|
+
}
|
|
174
|
+
}
|
|
175
|
+
|
|
176
|
+
if (updates) {
|
|
177
|
+
(0, _UpdateProps.default)(viewDescriptors, updates, maybeViewRef);
|
|
178
|
+
}
|
|
179
|
+
|
|
180
|
+
if (!allFinished) {
|
|
181
|
+
(0, _core.requestFrame)(frame);
|
|
182
|
+
} else {
|
|
183
|
+
state.isAnimationRunning = false;
|
|
184
|
+
}
|
|
185
|
+
};
|
|
186
|
+
|
|
187
|
+
state.animations = animations;
|
|
188
|
+
|
|
189
|
+
if (!state.isAnimationRunning) {
|
|
190
|
+
state.isAnimationCancelled = false;
|
|
191
|
+
state.isAnimationRunning = true;
|
|
192
|
+
|
|
193
|
+
if (_frameTimestamp) {
|
|
194
|
+
frame(_frameTimestamp);
|
|
195
|
+
} else {
|
|
196
|
+
(0, _core.requestFrame)(frame);
|
|
197
|
+
}
|
|
198
|
+
}
|
|
199
|
+
|
|
200
|
+
state.last = Object.assign({}, oldValues, newValues);
|
|
201
|
+
const style = (0, _utils.getStyleWithoutAnimations)(state.last);
|
|
202
|
+
|
|
203
|
+
if (style) {
|
|
204
|
+
(0, _UpdateProps.default)(viewDescriptors, style, maybeViewRef);
|
|
205
|
+
}
|
|
206
|
+
} else {
|
|
207
|
+
state.isAnimationCancelled = true;
|
|
208
|
+
state.animations = [];
|
|
209
|
+
const diff = (0, _utils.styleDiff)(oldValues, newValues);
|
|
210
|
+
state.last = Object.assign({}, oldValues, newValues);
|
|
211
|
+
|
|
212
|
+
if (diff) {
|
|
213
|
+
(0, _UpdateProps.default)(viewDescriptors, newValues, maybeViewRef);
|
|
214
|
+
}
|
|
215
|
+
}
|
|
216
|
+
}
|
|
217
|
+
|
|
218
|
+
function jestStyleUpdater(viewDescriptors, updater, state, maybeViewRef, animationsActive, animatedStyle) {
|
|
219
|
+
'worklet';
|
|
220
|
+
|
|
221
|
+
let adapters = arguments.length > 6 && arguments[6] !== undefined ? arguments[6] : [];
|
|
222
|
+
const animations = state.animations ?? {};
|
|
223
|
+
const newValues = updater() ?? {};
|
|
224
|
+
const oldValues = state.last; // extract animated props
|
|
225
|
+
|
|
226
|
+
let hasAnimations = false;
|
|
227
|
+
Object.keys(animations).forEach(key => {
|
|
228
|
+
const value = newValues[key];
|
|
229
|
+
|
|
230
|
+
if (!(0, _utils.isAnimated)(value)) {
|
|
231
|
+
delete animations[key];
|
|
232
|
+
}
|
|
233
|
+
});
|
|
234
|
+
Object.keys(newValues).forEach(key => {
|
|
235
|
+
const value = newValues[key];
|
|
236
|
+
|
|
237
|
+
if ((0, _utils.isAnimated)(value)) {
|
|
238
|
+
prepareAnimation(value, animations[key], oldValues[key]);
|
|
239
|
+
animations[key] = value;
|
|
240
|
+
hasAnimations = true;
|
|
241
|
+
}
|
|
242
|
+
});
|
|
243
|
+
|
|
244
|
+
function frame(timestamp) {
|
|
245
|
+
const {
|
|
246
|
+
animations,
|
|
247
|
+
last,
|
|
248
|
+
isAnimationCancelled
|
|
249
|
+
} = state;
|
|
250
|
+
|
|
251
|
+
if (isAnimationCancelled) {
|
|
252
|
+
state.isAnimationRunning = false;
|
|
253
|
+
return;
|
|
254
|
+
}
|
|
255
|
+
|
|
256
|
+
const updates = {};
|
|
257
|
+
let allFinished = true;
|
|
258
|
+
Object.keys(animations).forEach(propName => {
|
|
259
|
+
const finished = runAnimations(animations[propName], timestamp, propName, updates, animationsActive);
|
|
260
|
+
|
|
261
|
+
if (finished) {
|
|
262
|
+
last[propName] = updates[propName];
|
|
263
|
+
delete animations[propName];
|
|
264
|
+
} else {
|
|
265
|
+
allFinished = false;
|
|
266
|
+
}
|
|
267
|
+
});
|
|
268
|
+
|
|
269
|
+
if (Object.keys(updates).length) {
|
|
270
|
+
(0, _UpdateProps.updatePropsJestWrapper)(viewDescriptors, updates, maybeViewRef, animatedStyle, adapters);
|
|
271
|
+
}
|
|
272
|
+
|
|
273
|
+
if (!allFinished) {
|
|
274
|
+
(0, _core.requestFrame)(frame);
|
|
275
|
+
} else {
|
|
276
|
+
state.isAnimationRunning = false;
|
|
277
|
+
}
|
|
278
|
+
}
|
|
279
|
+
|
|
280
|
+
if (hasAnimations) {
|
|
281
|
+
state.animations = animations;
|
|
282
|
+
|
|
283
|
+
if (!state.isAnimationRunning) {
|
|
284
|
+
state.isAnimationCancelled = false;
|
|
285
|
+
state.isAnimationRunning = true;
|
|
286
|
+
|
|
287
|
+
if (_frameTimestamp) {
|
|
288
|
+
frame(_frameTimestamp);
|
|
289
|
+
} else {
|
|
290
|
+
(0, _core.requestFrame)(frame);
|
|
291
|
+
}
|
|
292
|
+
}
|
|
293
|
+
} else {
|
|
294
|
+
state.isAnimationCancelled = true;
|
|
295
|
+
state.animations = [];
|
|
296
|
+
} // calculate diff
|
|
297
|
+
|
|
298
|
+
|
|
299
|
+
const diff = (0, _utils.styleDiff)(oldValues, newValues);
|
|
300
|
+
state.last = Object.assign({}, oldValues, newValues);
|
|
301
|
+
|
|
302
|
+
if (Object.keys(diff).length !== 0) {
|
|
303
|
+
(0, _UpdateProps.updatePropsJestWrapper)(viewDescriptors, diff, maybeViewRef, animatedStyle, adapters);
|
|
304
|
+
}
|
|
305
|
+
} // check for invalid usage of shared values in returned object
|
|
306
|
+
|
|
307
|
+
|
|
308
|
+
function checkSharedValueUsage(prop, currentKey) {
|
|
309
|
+
if (Array.isArray(prop)) {
|
|
310
|
+
// if it's an array (i.ex. transform) validate all its elements
|
|
311
|
+
for (const element of prop) {
|
|
312
|
+
checkSharedValueUsage(element, currentKey);
|
|
313
|
+
}
|
|
314
|
+
} else if (typeof prop === 'object' && prop.value === undefined) {
|
|
315
|
+
// if it's a nested object, run validation for all its props
|
|
316
|
+
for (const key of Object.keys(prop)) {
|
|
317
|
+
checkSharedValueUsage(prop[key], key);
|
|
318
|
+
}
|
|
319
|
+
} else if (currentKey !== undefined && typeof prop === 'object' && prop.value !== undefined) {
|
|
320
|
+
// if shared value is passed insted of its value, throw an error
|
|
321
|
+
throw new Error(`invalid value passed to \`${currentKey}\`, maybe you forgot to use \`.value\`?`);
|
|
322
|
+
}
|
|
323
|
+
}
|
|
324
|
+
|
|
325
|
+
function useAnimatedStyle(updater, dependencies, adapters) {
|
|
326
|
+
var _initRef$current;
|
|
327
|
+
|
|
328
|
+
const viewsRef = (0, _ViewDescriptorsSet.makeViewsRefSet)();
|
|
329
|
+
const viewDescriptors = (0, _ViewDescriptorsSet.makeViewDescriptorsSet)();
|
|
330
|
+
const initRef = (0, _react.useRef)();
|
|
331
|
+
const inputs = Object.values(updater._closure ?? {});
|
|
332
|
+
const adaptersArray = adapters ? Array.isArray(adapters) ? adapters : [adapters] : [];
|
|
333
|
+
const adaptersHash = adapters ? (0, _utils.buildWorkletsHash)(adaptersArray) : null;
|
|
334
|
+
const animationsActive = (0, _useSharedValue.useSharedValue)(true);
|
|
335
|
+
const animatedStyle = (0, _react.useRef)({}); // build dependencies
|
|
336
|
+
|
|
337
|
+
if (!dependencies) {
|
|
338
|
+
dependencies = [...inputs, updater.__workletHash];
|
|
339
|
+
} else {
|
|
340
|
+
dependencies.push(updater.__workletHash);
|
|
341
|
+
}
|
|
342
|
+
|
|
343
|
+
adaptersHash && dependencies.push(adaptersHash);
|
|
344
|
+
|
|
345
|
+
if (!initRef.current) {
|
|
346
|
+
const initialStyle = (0, _animation.initialUpdaterRun)(updater);
|
|
347
|
+
(0, _utils.validateAnimatedStyles)(initialStyle);
|
|
348
|
+
initRef.current = {
|
|
349
|
+
initial: {
|
|
350
|
+
value: initialStyle,
|
|
351
|
+
updater: updater
|
|
352
|
+
},
|
|
353
|
+
remoteState: (0, _core.makeRemote)({
|
|
354
|
+
last: initialStyle
|
|
355
|
+
}),
|
|
356
|
+
sharableViewDescriptors: (0, _core.makeMutable)([])
|
|
357
|
+
};
|
|
358
|
+
viewDescriptors.rebuildsharableViewDescriptors( // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
|
|
359
|
+
initRef.current.sharableViewDescriptors);
|
|
360
|
+
}
|
|
361
|
+
|
|
362
|
+
dependencies.push((_initRef$current = initRef.current) === null || _initRef$current === void 0 ? void 0 : _initRef$current.sharableViewDescriptors.value); // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
|
|
363
|
+
|
|
364
|
+
const {
|
|
365
|
+
initial,
|
|
366
|
+
remoteState,
|
|
367
|
+
sharableViewDescriptors
|
|
368
|
+
} = initRef.current;
|
|
369
|
+
const maybeViewRef = _NativeReanimated.default.native ? undefined : viewsRef;
|
|
370
|
+
(0, _react.useEffect)(() => {
|
|
371
|
+
let fun;
|
|
372
|
+
let updaterFn = updater;
|
|
373
|
+
let optimalization = updater.__optimalization;
|
|
374
|
+
|
|
375
|
+
if (adapters) {
|
|
376
|
+
updaterFn = () => {
|
|
377
|
+
'worklet';
|
|
378
|
+
|
|
379
|
+
const newValues = updater();
|
|
380
|
+
adaptersArray.forEach(adapter => {
|
|
381
|
+
adapter(newValues);
|
|
382
|
+
});
|
|
383
|
+
return newValues;
|
|
384
|
+
};
|
|
385
|
+
}
|
|
386
|
+
|
|
387
|
+
if ((0, _utils.canApplyOptimalisation)(updaterFn) && !(0, _PlatformChecker.shouldBeUseWeb)()) {
|
|
388
|
+
if ((0, _utils.hasColorProps)(updaterFn())) {
|
|
389
|
+
updaterFn = () => {
|
|
390
|
+
'worklet';
|
|
391
|
+
|
|
392
|
+
const newValues = updaterFn();
|
|
393
|
+
const oldValues = remoteState.last;
|
|
394
|
+
const diff = (0, _utils.styleDiff)(oldValues, newValues);
|
|
395
|
+
remoteState.last = Object.assign({}, oldValues, newValues);
|
|
396
|
+
(0, _utils.parseColors)(diff);
|
|
397
|
+
return diff;
|
|
398
|
+
};
|
|
399
|
+
} else {
|
|
400
|
+
updaterFn = () => {
|
|
401
|
+
'worklet';
|
|
402
|
+
|
|
403
|
+
const newValues = updaterFn();
|
|
404
|
+
const oldValues = remoteState.last;
|
|
405
|
+
const diff = (0, _utils.styleDiff)(oldValues, newValues);
|
|
406
|
+
remoteState.last = Object.assign({}, oldValues, newValues);
|
|
407
|
+
return diff;
|
|
408
|
+
};
|
|
409
|
+
}
|
|
410
|
+
} else if (!(0, _PlatformChecker.shouldBeUseWeb)()) {
|
|
411
|
+
optimalization = 0;
|
|
412
|
+
|
|
413
|
+
updaterFn = () => {
|
|
414
|
+
'worklet';
|
|
415
|
+
|
|
416
|
+
const style = updaterFn();
|
|
417
|
+
(0, _utils.parseColors)(style);
|
|
418
|
+
return style;
|
|
419
|
+
};
|
|
420
|
+
}
|
|
421
|
+
|
|
422
|
+
if (typeof updater.__optimalization !== undefined) {
|
|
423
|
+
updaterFn.__optimalization = optimalization;
|
|
424
|
+
}
|
|
425
|
+
|
|
426
|
+
if ((0, _PlatformChecker.isJest)()) {
|
|
427
|
+
fun = () => {
|
|
428
|
+
'worklet';
|
|
429
|
+
|
|
430
|
+
jestStyleUpdater(sharableViewDescriptors, updater, remoteState, maybeViewRef, animationsActive, animatedStyle, adaptersArray);
|
|
431
|
+
};
|
|
432
|
+
} else {
|
|
433
|
+
fun = () => {
|
|
434
|
+
'worklet';
|
|
435
|
+
|
|
436
|
+
styleUpdater(sharableViewDescriptors, updaterFn, remoteState, maybeViewRef, animationsActive);
|
|
437
|
+
};
|
|
438
|
+
}
|
|
439
|
+
|
|
440
|
+
const mapperId = (0, _core.startMapper)(fun, inputs, [], updaterFn, // TODO fix this
|
|
441
|
+
sharableViewDescriptors);
|
|
442
|
+
return () => {
|
|
443
|
+
(0, _core.stopMapper)(mapperId);
|
|
444
|
+
};
|
|
445
|
+
}, dependencies);
|
|
446
|
+
(0, _react.useEffect)(() => {
|
|
447
|
+
animationsActive.value = true;
|
|
448
|
+
return () => {
|
|
449
|
+
// initRef.current = null;
|
|
450
|
+
// viewsRef = null;
|
|
451
|
+
animationsActive.value = false;
|
|
452
|
+
};
|
|
453
|
+
}, []);
|
|
454
|
+
checkSharedValueUsage(initial.value);
|
|
455
|
+
|
|
456
|
+
if (process.env.JEST_WORKER_ID) {
|
|
457
|
+
return {
|
|
458
|
+
viewDescriptors,
|
|
459
|
+
initial: initial,
|
|
460
|
+
viewsRef,
|
|
461
|
+
animatedStyle
|
|
462
|
+
};
|
|
463
|
+
} else {
|
|
464
|
+
return {
|
|
465
|
+
viewDescriptors,
|
|
466
|
+
initial: initial,
|
|
467
|
+
viewsRef
|
|
468
|
+
};
|
|
469
|
+
}
|
|
470
|
+
}
|
|
471
|
+
//# sourceMappingURL=useAnimatedStyle.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["prepareAnimation","animatedProp","lastAnimation","lastValue","Array","isArray","forEach","prop","index","onFrame","animation","value","current","undefined","callStart","timestamp","onStart","getTimestamp","Object","keys","key","runAnimations","result","animationsActive","allFinished","entry","finished","callback","k","styleUpdater","viewDescriptors","updater","state","maybeViewRef","animations","newValues","oldValues","last","hasAnimations","isAnimated","frame","isAnimationCancelled","isAnimationRunning","updates","propName","updateProps","requestFrame","_frameTimestamp","assign","style","getStyleWithoutAnimations","diff","styleDiff","jestStyleUpdater","animatedStyle","adapters","length","updatePropsJestWrapper","checkSharedValueUsage","currentKey","element","Error","useAnimatedStyle","dependencies","viewsRef","makeViewsRefSet","makeViewDescriptorsSet","initRef","useRef","inputs","values","_closure","adaptersArray","adaptersHash","buildWorkletsHash","useSharedValue","__workletHash","push","initialStyle","initialUpdaterRun","validateAnimatedStyles","initial","remoteState","makeRemote","sharableViewDescriptors","makeMutable","rebuildsharableViewDescriptors","NativeReanimatedModule","native","useEffect","fun","updaterFn","optimalization","__optimalization","adapter","canApplyOptimalisation","shouldBeUseWeb","hasColorProps","parseColors","isJest","mapperId","startMapper","stopMapper","process","env","JEST_WORKER_ID"],"sources":["useAnimatedStyle.ts"],"sourcesContent":["/* global _frameTimestamp */\nimport { MutableRefObject, useEffect, useRef } from 'react';\n\nimport {\n startMapper,\n stopMapper,\n makeRemote,\n requestFrame,\n getTimestamp,\n makeMutable,\n} from '../core';\nimport updateProps, { updatePropsJestWrapper } from '../UpdateProps';\nimport { initialUpdaterRun } from '../animation';\nimport NativeReanimatedModule from '../NativeReanimated';\nimport { useSharedValue } from './useSharedValue';\nimport {\n buildWorkletsHash,\n canApplyOptimalisation,\n getStyleWithoutAnimations,\n hasColorProps,\n isAnimated,\n parseColors,\n styleDiff,\n validateAnimatedStyles,\n} from './utils';\nimport { DependencyList, Descriptor } from './commonTypes';\nimport {\n makeViewDescriptorsSet,\n makeViewsRefSet,\n ViewDescriptorsSet,\n ViewRefSet,\n} from '../ViewDescriptorsSet';\nimport { isJest, shouldBeUseWeb } from '../PlatformChecker';\nimport {\n AnimationObject,\n Timestamp,\n AdapterWorkletFunction,\n AnimatedStyle,\n BasicWorkletFunction,\n BasicWorkletFunctionOptional,\n NestedObjectValues,\n SharedValue,\n} from '../commonTypes';\nexport interface AnimatedStyleResult {\n viewDescriptors: ViewDescriptorsSet;\n initial: AnimatedStyle;\n viewsRef: ViewRefSet<any>;\n animatedStyle?: MutableRefObject<AnimatedStyle>;\n}\n\ninterface AnimatedState {\n last: AnimatedStyle;\n animations: AnimatedStyle;\n isAnimationRunning: boolean;\n isAnimationCancelled: boolean;\n}\n\ninterface AnimationRef {\n initial: {\n value: AnimatedStyle;\n updater: () => AnimatedStyle;\n };\n remoteState: AnimatedState;\n sharableViewDescriptors: SharedValue<Descriptor[]>;\n}\n\nfunction prepareAnimation(\n animatedProp: AnimatedStyle,\n lastAnimation: AnimatedStyle,\n lastValue: AnimatedStyle\n): void {\n 'worklet';\n if (Array.isArray(animatedProp)) {\n animatedProp.forEach((prop, index) =>\n prepareAnimation(\n prop,\n lastAnimation && lastAnimation[index],\n lastValue && lastValue[index]\n )\n );\n // return animatedProp;\n }\n if (typeof animatedProp === 'object' && animatedProp.onFrame) {\n const animation = animatedProp;\n\n let value = animation.current;\n if (lastValue !== undefined) {\n if (typeof lastValue === 'object') {\n if (lastValue.value !== undefined) {\n // previously it was a shared value\n value = lastValue.value;\n } else if (lastValue.onFrame !== undefined) {\n if (lastAnimation?.current !== undefined) {\n // it was an animation before, copy its state\n value = lastAnimation.current;\n } else if (lastValue?.current !== undefined) {\n // it was initialized\n value = lastValue.current;\n }\n }\n } else {\n // previously it was a plain value, just set it as starting point\n value = lastValue;\n }\n }\n\n animation.callStart = (timestamp: Timestamp) => {\n animation.onStart(animation, value, timestamp, lastAnimation);\n };\n animation.callStart(getTimestamp());\n animation.callStart = null;\n } else if (typeof animatedProp === 'object') {\n // it is an object\n Object.keys(animatedProp).forEach((key) =>\n prepareAnimation(\n animatedProp[key],\n lastAnimation && lastAnimation[key],\n lastValue && lastValue[key]\n )\n );\n }\n}\n\nfunction runAnimations(\n animation: AnimatedStyle,\n timestamp: Timestamp,\n key: number | string,\n result: AnimatedStyle,\n animationsActive: SharedValue<boolean>\n): boolean {\n 'worklet';\n if (!animationsActive.value) {\n return true;\n }\n if (Array.isArray(animation)) {\n result[key] = [];\n let allFinished = true;\n animation.forEach((entry, index) => {\n if (\n !runAnimations(entry, timestamp, index, result[key], animationsActive)\n ) {\n allFinished = false;\n }\n });\n return allFinished;\n } else if (typeof animation === 'object' && animation.onFrame) {\n let finished = true;\n if (!animation.finished) {\n if (animation.callStart) {\n animation.callStart(timestamp);\n animation.callStart = null;\n }\n finished = animation.onFrame(animation, timestamp);\n animation.timestamp = timestamp;\n if (finished) {\n animation.finished = true;\n animation.callback && animation.callback(true /* finished */);\n }\n }\n result[key] = animation.current;\n return finished;\n } else if (typeof animation === 'object') {\n result[key] = {};\n let allFinished = true;\n Object.keys(animation).forEach((k) => {\n if (\n !runAnimations(\n animation[k],\n timestamp,\n k,\n result[key],\n animationsActive\n )\n ) {\n allFinished = false;\n }\n });\n return allFinished;\n } else {\n result[key] = animation;\n return true;\n }\n}\n\nfunction styleUpdater(\n viewDescriptors: SharedValue<Descriptor[]>,\n updater: BasicWorkletFunction<AnimatedStyle>,\n state: AnimatedState,\n maybeViewRef: ViewRefSet<any> | undefined,\n animationsActive: SharedValue<boolean>\n): void {\n 'worklet';\n const animations = state.animations ?? {};\n const newValues = updater() ?? {};\n const oldValues = state.last;\n\n let hasAnimations = false;\n for (const key in newValues) {\n const value = newValues[key];\n if (isAnimated(value)) {\n prepareAnimation(value, animations[key], oldValues[key]);\n animations[key] = value;\n hasAnimations = true;\n } else {\n delete animations[key];\n }\n }\n\n if (hasAnimations) {\n const frame = (timestamp: Timestamp) => {\n const { animations, last, isAnimationCancelled } = state;\n if (isAnimationCancelled) {\n state.isAnimationRunning = false;\n return;\n }\n\n const updates: AnimatedStyle = {};\n let allFinished = true;\n for (const propName in animations) {\n const finished = runAnimations(\n animations[propName],\n timestamp,\n propName,\n updates,\n animationsActive\n );\n if (finished) {\n last[propName] = updates[propName];\n delete animations[propName];\n } else {\n allFinished = false;\n }\n }\n\n if (updates) {\n updateProps(viewDescriptors, updates, maybeViewRef);\n }\n\n if (!allFinished) {\n requestFrame(frame);\n } else {\n state.isAnimationRunning = false;\n }\n };\n\n state.animations = animations;\n if (!state.isAnimationRunning) {\n state.isAnimationCancelled = false;\n state.isAnimationRunning = true;\n if (_frameTimestamp) {\n frame(_frameTimestamp);\n } else {\n requestFrame(frame);\n }\n }\n state.last = Object.assign({}, oldValues, newValues);\n const style = getStyleWithoutAnimations(state.last);\n if (style) {\n updateProps(viewDescriptors, style, maybeViewRef);\n }\n } else {\n state.isAnimationCancelled = true;\n state.animations = [];\n\n const diff = styleDiff(oldValues, newValues);\n state.last = Object.assign({}, oldValues, newValues);\n if (diff) {\n updateProps(viewDescriptors, newValues, maybeViewRef);\n }\n }\n}\n\nfunction jestStyleUpdater(\n viewDescriptors: SharedValue<Descriptor[]>,\n updater: BasicWorkletFunction<AnimatedStyle>,\n state: AnimatedState,\n maybeViewRef: ViewRefSet<any> | undefined,\n animationsActive: SharedValue<boolean>,\n animatedStyle: MutableRefObject<AnimatedStyle>,\n adapters: AdapterWorkletFunction[] = []\n): void {\n 'worklet';\n const animations: AnimatedStyle = state.animations ?? {};\n const newValues = updater() ?? {};\n const oldValues = state.last;\n\n // extract animated props\n let hasAnimations = false;\n Object.keys(animations).forEach((key) => {\n const value = newValues[key];\n if (!isAnimated(value)) {\n delete animations[key];\n }\n });\n Object.keys(newValues).forEach((key) => {\n const value = newValues[key];\n if (isAnimated(value)) {\n prepareAnimation(value, animations[key], oldValues[key]);\n animations[key] = value;\n hasAnimations = true;\n }\n });\n\n function frame(timestamp: Timestamp) {\n const { animations, last, isAnimationCancelled } = state;\n if (isAnimationCancelled) {\n state.isAnimationRunning = false;\n return;\n }\n\n const updates: AnimatedStyle = {};\n let allFinished = true;\n Object.keys(animations).forEach((propName) => {\n const finished = runAnimations(\n animations[propName],\n timestamp,\n propName,\n updates,\n animationsActive\n );\n if (finished) {\n last[propName] = updates[propName];\n delete animations[propName];\n } else {\n allFinished = false;\n }\n });\n\n if (Object.keys(updates).length) {\n updatePropsJestWrapper(\n viewDescriptors,\n updates,\n maybeViewRef,\n animatedStyle,\n adapters\n );\n }\n\n if (!allFinished) {\n requestFrame(frame);\n } else {\n state.isAnimationRunning = false;\n }\n }\n\n if (hasAnimations) {\n state.animations = animations;\n if (!state.isAnimationRunning) {\n state.isAnimationCancelled = false;\n state.isAnimationRunning = true;\n if (_frameTimestamp) {\n frame(_frameTimestamp);\n } else {\n requestFrame(frame);\n }\n }\n } else {\n state.isAnimationCancelled = true;\n state.animations = [];\n }\n\n // calculate diff\n const diff = styleDiff(oldValues, newValues);\n state.last = Object.assign({}, oldValues, newValues);\n\n if (Object.keys(diff).length !== 0) {\n updatePropsJestWrapper(\n viewDescriptors,\n diff,\n maybeViewRef,\n animatedStyle,\n adapters\n );\n }\n}\n\n// check for invalid usage of shared values in returned object\nfunction checkSharedValueUsage(\n prop: NestedObjectValues<AnimationObject>,\n currentKey?: string\n): void {\n if (Array.isArray(prop)) {\n // if it's an array (i.ex. transform) validate all its elements\n for (const element of prop) {\n checkSharedValueUsage(element, currentKey);\n }\n } else if (typeof prop === 'object' && prop.value === undefined) {\n // if it's a nested object, run validation for all its props\n for (const key of Object.keys(prop)) {\n checkSharedValueUsage(prop[key], key);\n }\n } else if (\n currentKey !== undefined &&\n typeof prop === 'object' &&\n prop.value !== undefined\n ) {\n // if shared value is passed insted of its value, throw an error\n throw new Error(\n `invalid value passed to \\`${currentKey}\\`, maybe you forgot to use \\`.value\\`?`\n );\n }\n}\n\nexport function useAnimatedStyle<T extends AnimatedStyle>(\n updater: BasicWorkletFunction<T>,\n dependencies?: DependencyList,\n adapters?: AdapterWorkletFunction | AdapterWorkletFunction[]\n): AnimatedStyleResult {\n const viewsRef: ViewRefSet<any> = makeViewsRefSet();\n const viewDescriptors: ViewDescriptorsSet = makeViewDescriptorsSet();\n const initRef = useRef<AnimationRef>();\n const inputs = Object.values(updater._closure ?? {});\n const adaptersArray: AdapterWorkletFunction[] = adapters\n ? Array.isArray(adapters)\n ? adapters\n : [adapters]\n : [];\n const adaptersHash = adapters ? buildWorkletsHash(adaptersArray) : null;\n const animationsActive = useSharedValue<boolean>(true);\n const animatedStyle: MutableRefObject<AnimatedStyle> = useRef<AnimatedStyle>(\n {}\n );\n\n // build dependencies\n if (!dependencies) {\n dependencies = [...inputs, updater.__workletHash];\n } else {\n dependencies.push(updater.__workletHash);\n }\n adaptersHash && dependencies.push(adaptersHash);\n\n if (!initRef.current) {\n const initialStyle: AnimatedStyle = initialUpdaterRun(updater);\n validateAnimatedStyles(initialStyle);\n initRef.current = {\n initial: {\n value: initialStyle,\n updater: updater,\n },\n remoteState: makeRemote({ last: initialStyle }),\n sharableViewDescriptors: makeMutable([]),\n };\n viewDescriptors.rebuildsharableViewDescriptors(\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n initRef.current!.sharableViewDescriptors\n );\n }\n dependencies.push(initRef.current?.sharableViewDescriptors.value);\n\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n const { initial, remoteState, sharableViewDescriptors } = initRef.current!;\n const maybeViewRef = NativeReanimatedModule.native ? undefined : viewsRef;\n\n useEffect(() => {\n let fun;\n let updaterFn = updater as BasicWorkletFunctionOptional<T>;\n let optimalization = updater.__optimalization;\n if (adapters) {\n updaterFn = () => {\n 'worklet';\n const newValues = updater();\n adaptersArray.forEach((adapter) => {\n adapter(newValues);\n });\n return newValues;\n };\n }\n\n if (canApplyOptimalisation(updaterFn) && !shouldBeUseWeb()) {\n if (hasColorProps(updaterFn())) {\n updaterFn = () => {\n 'worklet';\n const newValues = updaterFn();\n const oldValues = remoteState.last;\n const diff = styleDiff<T>(oldValues, newValues);\n remoteState.last = Object.assign({}, oldValues, newValues);\n parseColors(diff);\n return diff;\n };\n } else {\n updaterFn = () => {\n 'worklet';\n const newValues = updaterFn();\n const oldValues = remoteState.last;\n const diff = styleDiff<T>(oldValues, newValues);\n remoteState.last = Object.assign({}, oldValues, newValues);\n return diff;\n };\n }\n } else if (!shouldBeUseWeb()) {\n optimalization = 0;\n updaterFn = () => {\n 'worklet';\n const style = updaterFn();\n parseColors(style);\n return style;\n };\n }\n if (typeof updater.__optimalization !== undefined) {\n updaterFn.__optimalization = optimalization;\n }\n\n if (isJest()) {\n fun = () => {\n 'worklet';\n jestStyleUpdater(\n sharableViewDescriptors,\n updater,\n remoteState,\n maybeViewRef,\n animationsActive,\n animatedStyle,\n adaptersArray\n );\n };\n } else {\n fun = () => {\n 'worklet';\n styleUpdater(\n sharableViewDescriptors,\n updaterFn,\n remoteState,\n maybeViewRef,\n animationsActive\n );\n };\n }\n const mapperId = startMapper(\n fun,\n inputs,\n [],\n updaterFn,\n // TODO fix this\n sharableViewDescriptors\n );\n return () => {\n stopMapper(mapperId);\n };\n }, dependencies);\n\n useEffect(() => {\n animationsActive.value = true;\n return () => {\n // initRef.current = null;\n // viewsRef = null;\n animationsActive.value = false;\n };\n }, []);\n\n checkSharedValueUsage(initial.value);\n\n if (process.env.JEST_WORKER_ID) {\n return { viewDescriptors, initial: initial, viewsRef, animatedStyle };\n } else {\n return { viewDescriptors, initial: initial, viewsRef };\n }\n}\n"],"mappings":"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"}
|