react-native-reanimated 3.0.2 → 3.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/Common/cpp/Fabric/FabricUtils.h +1 -1
- package/Common/cpp/NativeModules/NativeReanimatedModule.cpp +38 -27
- package/Common/cpp/SharedItems/Shareables.h +22 -0
- package/Common/cpp/Tools/PlatformDepMethodsHolder.h +2 -0
- package/Common/cpp/Tools/RuntimeDecorator.cpp +4 -1
- package/Common/cpp/Tools/RuntimeDecorator.h +2 -1
- package/Common/cpp/Tools/SingleInstanceChecker.h +14 -2
- package/RNReanimated.podspec +5 -2
- package/android/CMakeLists.txt +4 -0
- package/android/build.gradle +18 -10
- package/android/src/main/cpp/NativeProxy.cpp +316 -337
- package/android/src/main/cpp/NativeProxy.h +53 -11
- package/android/src/main/java/com/swmansion/reanimated/NativeMethodsHelper.java +7 -12
- package/android/src/main/java/com/swmansion/reanimated/NodesManager.java +11 -8
- package/android/src/main/java/com/swmansion/reanimated/nativeProxy/NativeProxyCommon.java +21 -14
- package/android/src/paper/java/com/swmansion/reanimated/NativeProxy.java +0 -3
- package/ios/Fabric/REAInitializerRCTFabricSurface.mm +1 -0
- package/ios/REANodesManager.h +1 -0
- package/ios/REANodesManager.mm +30 -4
- package/ios/keyboardObserver/REAKeyboardEventObserver.m +51 -130
- package/ios/native/NativeMethods.mm +1 -1
- package/ios/native/NativeProxy.mm +4 -1
- package/ios/native/REAIOSErrorHandler.mm +1 -1
- package/ios/native/REAIOSLogger.mm +1 -1
- package/ios/native/REAIOSScheduler.mm +1 -1
- package/ios/native/REAInitializer.mm +1 -1
- package/ios/native/REAMessageThread.mm +2 -2
- package/lib/commonjs/Animated.js +0 -8
- package/lib/commonjs/Animated.js.map +1 -1
- package/lib/commonjs/ConfigHelper.js +8 -19
- package/lib/commonjs/ConfigHelper.js.map +1 -1
- package/lib/commonjs/createAnimatedComponent.js +20 -158
- package/lib/commonjs/createAnimatedComponent.js.map +1 -1
- package/lib/commonjs/index.js +0 -9
- package/lib/commonjs/index.js.map +1 -1
- package/lib/commonjs/index.web.js +0 -7
- package/lib/commonjs/index.web.js.map +1 -1
- package/lib/commonjs/reanimated2/Bezier.js +14 -34
- package/lib/commonjs/reanimated2/Bezier.js.map +1 -1
- package/lib/commonjs/reanimated2/Colors.js +60 -132
- package/lib/commonjs/reanimated2/Colors.js.map +1 -1
- package/lib/commonjs/reanimated2/Easing.js +81 -34
- package/lib/commonjs/reanimated2/Easing.js.map +1 -1
- package/lib/commonjs/reanimated2/NativeMethods.js +8 -20
- package/lib/commonjs/reanimated2/NativeMethods.js.map +1 -1
- package/lib/commonjs/reanimated2/NativeReanimated/NativeReanimated.js +5 -31
- package/lib/commonjs/reanimated2/NativeReanimated/NativeReanimated.js.map +1 -1
- package/lib/commonjs/reanimated2/NativeReanimated/index.js +0 -7
- package/lib/commonjs/reanimated2/NativeReanimated/index.js.map +1 -1
- package/lib/commonjs/reanimated2/PlatformChecker.js +0 -6
- package/lib/commonjs/reanimated2/PlatformChecker.js.map +1 -1
- package/lib/commonjs/reanimated2/PropAdapters.js +10 -12
- package/lib/commonjs/reanimated2/PropAdapters.js.map +1 -1
- package/lib/commonjs/reanimated2/UpdateProps.js +3 -12
- package/lib/commonjs/reanimated2/UpdateProps.js.map +1 -1
- package/lib/commonjs/reanimated2/ViewDescriptorsSet.js +0 -10
- package/lib/commonjs/reanimated2/ViewDescriptorsSet.js.map +1 -1
- package/lib/commonjs/reanimated2/WorkletEventHandler.js +5 -22
- package/lib/commonjs/reanimated2/WorkletEventHandler.js.map +1 -1
- package/lib/commonjs/reanimated2/animation/decay.js +7 -18
- package/lib/commonjs/reanimated2/animation/decay.js.map +1 -1
- package/lib/commonjs/reanimated2/animation/delay.js +0 -11
- package/lib/commonjs/reanimated2/animation/delay.js.map +1 -1
- package/lib/commonjs/reanimated2/animation/index.js +0 -8
- package/lib/commonjs/reanimated2/animation/index.js.map +1 -1
- package/lib/commonjs/reanimated2/animation/repeat.js +6 -22
- package/lib/commonjs/reanimated2/animation/repeat.js.map +1 -1
- package/lib/commonjs/reanimated2/animation/sequence.js +3 -20
- package/lib/commonjs/reanimated2/animation/sequence.js.map +1 -1
- package/lib/commonjs/reanimated2/animation/spring.js +11 -23
- package/lib/commonjs/reanimated2/animation/spring.js.map +1 -1
- package/lib/commonjs/reanimated2/animation/styleAnimation.js +3 -35
- package/lib/commonjs/reanimated2/animation/styleAnimation.js.map +1 -1
- package/lib/commonjs/reanimated2/animation/timing.js +0 -11
- package/lib/commonjs/reanimated2/animation/timing.js.map +1 -1
- package/lib/commonjs/reanimated2/animation/util.js +11 -41
- package/lib/commonjs/reanimated2/animation/util.js.map +1 -1
- package/lib/commonjs/reanimated2/commonTypes.js +16 -23
- package/lib/commonjs/reanimated2/commonTypes.js.map +1 -1
- package/lib/commonjs/reanimated2/component/FlatList.js +0 -16
- package/lib/commonjs/reanimated2/component/FlatList.js.map +1 -1
- package/lib/commonjs/reanimated2/component/Image.js +0 -4
- package/lib/commonjs/reanimated2/component/Image.js.map +1 -1
- package/lib/commonjs/reanimated2/component/ScrollView.js +0 -4
- package/lib/commonjs/reanimated2/component/ScrollView.js.map +1 -1
- package/lib/commonjs/reanimated2/component/Text.js +0 -4
- package/lib/commonjs/reanimated2/component/Text.js.map +1 -1
- package/lib/commonjs/reanimated2/component/View.js +0 -4
- package/lib/commonjs/reanimated2/component/View.js.map +1 -1
- package/lib/commonjs/reanimated2/core.js +6 -48
- package/lib/commonjs/reanimated2/core.js.map +1 -1
- package/lib/commonjs/reanimated2/errors.js +3 -14
- package/lib/commonjs/reanimated2/errors.js.map +1 -1
- package/lib/commonjs/reanimated2/fabricUtils.js +3 -5
- package/lib/commonjs/reanimated2/fabricUtils.js.map +1 -1
- package/lib/commonjs/reanimated2/fabricUtils.web.js +1 -3
- package/lib/commonjs/reanimated2/fabricUtils.web.js.map +1 -1
- package/lib/commonjs/reanimated2/frameCallback/FrameCallbackRegistryJS.js +3 -12
- package/lib/commonjs/reanimated2/frameCallback/FrameCallbackRegistryJS.js.map +1 -1
- package/lib/commonjs/reanimated2/frameCallback/FrameCallbackRegistryUI.js +13 -17
- package/lib/commonjs/reanimated2/frameCallback/FrameCallbackRegistryUI.js.map +1 -1
- package/lib/commonjs/reanimated2/globals.d.js.map +1 -1
- package/lib/commonjs/reanimated2/hook/Hooks.js +0 -5
- package/lib/commonjs/reanimated2/hook/Hooks.js.map +1 -1
- package/lib/commonjs/reanimated2/hook/commonTypes.js.map +1 -1
- package/lib/commonjs/reanimated2/hook/index.js +0 -12
- package/lib/commonjs/reanimated2/hook/index.js.map +1 -1
- package/lib/commonjs/reanimated2/hook/useAnimatedGestureHandler.js +4 -17
- package/lib/commonjs/reanimated2/hook/useAnimatedGestureHandler.js.map +1 -1
- package/lib/commonjs/reanimated2/hook/useAnimatedKeyboard.js +2 -9
- package/lib/commonjs/reanimated2/hook/useAnimatedKeyboard.js.map +1 -1
- package/lib/commonjs/reanimated2/hook/useAnimatedReaction.js +1 -11
- package/lib/commonjs/reanimated2/hook/useAnimatedReaction.js.map +1 -1
- package/lib/commonjs/reanimated2/hook/useAnimatedRef.js +0 -12
- package/lib/commonjs/reanimated2/hook/useAnimatedRef.js.map +1 -1
- package/lib/commonjs/reanimated2/hook/useAnimatedScrollHandler.js +2 -9
- package/lib/commonjs/reanimated2/hook/useAnimatedScrollHandler.js.map +1 -1
- package/lib/commonjs/reanimated2/hook/useAnimatedSensor.js +8 -23
- package/lib/commonjs/reanimated2/hook/useAnimatedSensor.js.map +1 -1
- package/lib/commonjs/reanimated2/hook/useAnimatedStyle.js +13 -71
- package/lib/commonjs/reanimated2/hook/useAnimatedStyle.js.map +1 -1
- package/lib/commonjs/reanimated2/hook/useDerivedValue.js +4 -13
- package/lib/commonjs/reanimated2/hook/useDerivedValue.js.map +1 -1
- package/lib/commonjs/reanimated2/hook/useFrameCallback.js +0 -5
- package/lib/commonjs/reanimated2/hook/useFrameCallback.js.map +1 -1
- package/lib/commonjs/reanimated2/hook/useScrollViewOffset.js +0 -7
- package/lib/commonjs/reanimated2/hook/useScrollViewOffset.js.map +1 -1
- package/lib/commonjs/reanimated2/hook/useSharedValue.js +2 -7
- package/lib/commonjs/reanimated2/hook/useSharedValue.js.map +1 -1
- package/lib/commonjs/reanimated2/hook/utils.js +8 -39
- package/lib/commonjs/reanimated2/hook/utils.js.map +1 -1
- package/lib/commonjs/reanimated2/index.js +0 -26
- package/lib/commonjs/reanimated2/index.js.map +1 -1
- package/lib/commonjs/reanimated2/initializers.js +21 -43
- package/lib/commonjs/reanimated2/initializers.js.map +1 -1
- package/lib/commonjs/reanimated2/interpolateColor.js +6 -43
- package/lib/commonjs/reanimated2/interpolateColor.js.map +1 -1
- package/lib/commonjs/reanimated2/interpolation.js +14 -29
- package/lib/commonjs/reanimated2/interpolation.js.map +1 -1
- package/lib/commonjs/reanimated2/jestUtils.js +11 -44
- package/lib/commonjs/reanimated2/jestUtils.js.map +1 -1
- package/lib/commonjs/reanimated2/js-reanimated/JSReanimated.js +15 -39
- package/lib/commonjs/reanimated2/js-reanimated/JSReanimated.js.map +1 -1
- package/lib/commonjs/reanimated2/js-reanimated/Mapper.js +9 -28
- package/lib/commonjs/reanimated2/js-reanimated/Mapper.js.map +1 -1
- package/lib/commonjs/reanimated2/js-reanimated/MapperRegistry.js +7 -37
- package/lib/commonjs/reanimated2/js-reanimated/MapperRegistry.js.map +1 -1
- package/lib/commonjs/reanimated2/js-reanimated/MutableValue.js +5 -18
- package/lib/commonjs/reanimated2/js-reanimated/MutableValue.js.map +1 -1
- package/lib/commonjs/reanimated2/js-reanimated/global.js +2 -9
- package/lib/commonjs/reanimated2/js-reanimated/global.js.map +1 -1
- package/lib/commonjs/reanimated2/js-reanimated/index.js +3 -14
- package/lib/commonjs/reanimated2/js-reanimated/index.js.map +1 -1
- package/lib/commonjs/reanimated2/layoutReanimation/animationBuilder/BaseAnimationBuilder.js +7 -26
- package/lib/commonjs/reanimated2/layoutReanimation/animationBuilder/BaseAnimationBuilder.js.map +1 -1
- package/lib/commonjs/reanimated2/layoutReanimation/animationBuilder/ComplexAnimationBuilder.js +3 -49
- package/lib/commonjs/reanimated2/layoutReanimation/animationBuilder/ComplexAnimationBuilder.js.map +1 -1
- package/lib/commonjs/reanimated2/layoutReanimation/animationBuilder/Keyframe.js +7 -43
- package/lib/commonjs/reanimated2/layoutReanimation/animationBuilder/Keyframe.js.map +1 -1
- package/lib/commonjs/reanimated2/layoutReanimation/animationBuilder/commonTypes.js +4 -5
- package/lib/commonjs/reanimated2/layoutReanimation/animationBuilder/commonTypes.js.map +1 -1
- package/lib/commonjs/reanimated2/layoutReanimation/animationBuilder/index.js +0 -4
- package/lib/commonjs/reanimated2/layoutReanimation/animationBuilder/index.js.map +1 -1
- package/lib/commonjs/reanimated2/layoutReanimation/animationsManager.js +4 -23
- package/lib/commonjs/reanimated2/layoutReanimation/animationsManager.js.map +1 -1
- package/lib/commonjs/reanimated2/layoutReanimation/defaultAnimations/Bounce.js +3 -74
- package/lib/commonjs/reanimated2/layoutReanimation/defaultAnimations/Bounce.js.map +1 -1
- package/lib/commonjs/reanimated2/layoutReanimation/defaultAnimations/Fade.js +3 -53
- package/lib/commonjs/reanimated2/layoutReanimation/defaultAnimations/Fade.js.map +1 -1
- package/lib/commonjs/reanimated2/layoutReanimation/defaultAnimations/Flip.js +3 -63
- package/lib/commonjs/reanimated2/layoutReanimation/defaultAnimations/Flip.js.map +1 -1
- package/lib/commonjs/reanimated2/layoutReanimation/defaultAnimations/Lightspeed.js +7 -26
- package/lib/commonjs/reanimated2/layoutReanimation/defaultAnimations/Lightspeed.js.map +1 -1
- package/lib/commonjs/reanimated2/layoutReanimation/defaultAnimations/Pinwheel.js +3 -13
- package/lib/commonjs/reanimated2/layoutReanimation/defaultAnimations/Pinwheel.js.map +1 -1
- package/lib/commonjs/reanimated2/layoutReanimation/defaultAnimations/Roll.js +3 -23
- package/lib/commonjs/reanimated2/layoutReanimation/defaultAnimations/Roll.js.map +1 -1
- package/lib/commonjs/reanimated2/layoutReanimation/defaultAnimations/Rotate.js +3 -43
- package/lib/commonjs/reanimated2/layoutReanimation/defaultAnimations/Rotate.js.map +1 -1
- package/lib/commonjs/reanimated2/layoutReanimation/defaultAnimations/Slide.js +3 -43
- package/lib/commonjs/reanimated2/layoutReanimation/defaultAnimations/Slide.js.map +1 -1
- package/lib/commonjs/reanimated2/layoutReanimation/defaultAnimations/Stretch.js +3 -23
- package/lib/commonjs/reanimated2/layoutReanimation/defaultAnimations/Stretch.js.map +1 -1
- package/lib/commonjs/reanimated2/layoutReanimation/defaultAnimations/Zoom.js +3 -83
- package/lib/commonjs/reanimated2/layoutReanimation/defaultAnimations/Zoom.js.map +1 -1
- package/lib/commonjs/reanimated2/layoutReanimation/defaultAnimations/index.js +0 -20
- package/lib/commonjs/reanimated2/layoutReanimation/defaultAnimations/index.js.map +1 -1
- package/lib/commonjs/reanimated2/layoutReanimation/defaultTransitions/CurvedTransition.js +3 -22
- package/lib/commonjs/reanimated2/layoutReanimation/defaultTransitions/CurvedTransition.js.map +1 -1
- package/lib/commonjs/reanimated2/layoutReanimation/defaultTransitions/EntryExitTransition.js +5 -29
- package/lib/commonjs/reanimated2/layoutReanimation/defaultTransitions/EntryExitTransition.js.map +1 -1
- package/lib/commonjs/reanimated2/layoutReanimation/defaultTransitions/FadingTransition.js +3 -9
- package/lib/commonjs/reanimated2/layoutReanimation/defaultTransitions/FadingTransition.js.map +1 -1
- package/lib/commonjs/reanimated2/layoutReanimation/defaultTransitions/JumpingTransition.js +5 -11
- package/lib/commonjs/reanimated2/layoutReanimation/defaultTransitions/JumpingTransition.js.map +1 -1
- package/lib/commonjs/reanimated2/layoutReanimation/defaultTransitions/LinearTransition.js +3 -8
- package/lib/commonjs/reanimated2/layoutReanimation/defaultTransitions/LinearTransition.js.map +1 -1
- package/lib/commonjs/reanimated2/layoutReanimation/defaultTransitions/SequencedTransition.js +3 -12
- package/lib/commonjs/reanimated2/layoutReanimation/defaultTransitions/SequencedTransition.js.map +1 -1
- package/lib/commonjs/reanimated2/layoutReanimation/defaultTransitions/index.js +0 -12
- package/lib/commonjs/reanimated2/layoutReanimation/defaultTransitions/index.js.map +1 -1
- package/lib/commonjs/reanimated2/layoutReanimation/index.js +0 -9
- package/lib/commonjs/reanimated2/layoutReanimation/index.js.map +1 -1
- package/lib/commonjs/reanimated2/layoutReanimation/sharedTransitions/index.js +3 -17
- package/lib/commonjs/reanimated2/layoutReanimation/sharedTransitions/index.js.map +1 -1
- package/lib/commonjs/reanimated2/mappers.js +26 -32
- package/lib/commonjs/reanimated2/mappers.js.map +1 -1
- package/lib/commonjs/reanimated2/mock.js +5 -15
- package/lib/commonjs/reanimated2/mock.js.map +1 -1
- package/lib/commonjs/reanimated2/mutables.js +2 -28
- package/lib/commonjs/reanimated2/mutables.js.map +1 -1
- package/lib/commonjs/reanimated2/platform-specific/RNRenderer.js +0 -2
- package/lib/commonjs/reanimated2/platform-specific/RNRenderer.js.map +1 -1
- package/lib/commonjs/reanimated2/platform-specific/RNRenderer.web.js.map +1 -1
- package/lib/commonjs/reanimated2/platform-specific/checkCppVersion.js +31 -0
- package/lib/commonjs/reanimated2/platform-specific/checkCppVersion.js.map +1 -0
- package/lib/commonjs/reanimated2/platform-specific/checkVersion.web.js +0 -2
- package/lib/commonjs/reanimated2/platform-specific/checkVersion.web.js.map +1 -1
- package/lib/commonjs/reanimated2/platform-specific/jsVersion.js +14 -0
- package/lib/commonjs/reanimated2/platform-specific/jsVersion.js.map +1 -0
- package/lib/commonjs/reanimated2/pluginUtils.js +0 -1
- package/lib/commonjs/reanimated2/pluginUtils.js.map +1 -1
- package/lib/commonjs/reanimated2/shareables.js +92 -49
- package/lib/commonjs/reanimated2/shareables.js.map +1 -1
- package/lib/commonjs/reanimated2/threads.js +42 -46
- package/lib/commonjs/reanimated2/threads.js.map +1 -1
- package/lib/commonjs/reanimated2/utils.js +0 -5
- package/lib/commonjs/reanimated2/utils.js.map +1 -1
- package/lib/commonjs/reanimated2/valueSetter.js +6 -21
- package/lib/commonjs/reanimated2/valueSetter.js.map +1 -1
- package/lib/commonjs/setAndForwardRef.js +3 -3
- package/lib/commonjs/setAndForwardRef.js.map +1 -1
- package/lib/module/Animated.js.map +1 -1
- package/lib/module/ConfigHelper.js +9 -15
- package/lib/module/ConfigHelper.js.map +1 -1
- package/lib/module/createAnimatedComponent.js +20 -139
- package/lib/module/createAnimatedComponent.js.map +1 -1
- package/lib/module/index.js +0 -2
- package/lib/module/index.js.map +1 -1
- package/lib/module/index.web.js.map +1 -1
- package/lib/module/reanimated2/Bezier.js +14 -33
- package/lib/module/reanimated2/Bezier.js.map +1 -1
- package/lib/module/reanimated2/Colors.js +59 -109
- package/lib/module/reanimated2/Colors.js.map +1 -1
- package/lib/module/reanimated2/Easing.js +37 -33
- package/lib/module/reanimated2/Easing.js.map +1 -1
- package/lib/module/reanimated2/NativeMethods.js +8 -15
- package/lib/module/reanimated2/NativeMethods.js.map +1 -1
- package/lib/module/reanimated2/NativeReanimated/NativeReanimated.js +5 -27
- package/lib/module/reanimated2/NativeReanimated/NativeReanimated.js.map +1 -1
- package/lib/module/reanimated2/NativeReanimated/index.js +0 -2
- package/lib/module/reanimated2/NativeReanimated/index.js.map +1 -1
- package/lib/module/reanimated2/PlatformChecker.js.map +1 -1
- package/lib/module/reanimated2/PropAdapters.js +12 -10
- package/lib/module/reanimated2/PropAdapters.js.map +1 -1
- package/lib/module/reanimated2/UpdateProps.js +3 -5
- package/lib/module/reanimated2/UpdateProps.js.map +1 -1
- package/lib/module/reanimated2/ViewDescriptorsSet.js +0 -6
- package/lib/module/reanimated2/ViewDescriptorsSet.js.map +1 -1
- package/lib/module/reanimated2/WorkletEventHandler.js +5 -18
- package/lib/module/reanimated2/WorkletEventHandler.js.map +1 -1
- package/lib/module/reanimated2/animation/decay.js +7 -15
- package/lib/module/reanimated2/animation/decay.js.map +1 -1
- package/lib/module/reanimated2/animation/delay.js +0 -9
- package/lib/module/reanimated2/animation/delay.js.map +1 -1
- package/lib/module/reanimated2/animation/index.js.map +1 -1
- package/lib/module/reanimated2/animation/repeat.js +6 -20
- package/lib/module/reanimated2/animation/repeat.js.map +1 -1
- package/lib/module/reanimated2/animation/sequence.js +3 -18
- package/lib/module/reanimated2/animation/sequence.js.map +1 -1
- package/lib/module/reanimated2/animation/spring.js +11 -21
- package/lib/module/reanimated2/animation/spring.js.map +1 -1
- package/lib/module/reanimated2/animation/styleAnimation.js +7 -31
- package/lib/module/reanimated2/animation/styleAnimation.js.map +1 -1
- package/lib/module/reanimated2/animation/timing.js +0 -8
- package/lib/module/reanimated2/animation/timing.js.map +1 -1
- package/lib/module/reanimated2/animation/util.js +10 -33
- package/lib/module/reanimated2/animation/util.js.map +1 -1
- package/lib/module/reanimated2/commonTypes.js +12 -19
- package/lib/module/reanimated2/commonTypes.js.map +1 -1
- package/lib/module/reanimated2/component/FlatList.js +0 -4
- package/lib/module/reanimated2/component/FlatList.js.map +1 -1
- package/lib/module/reanimated2/component/Image.js.map +1 -1
- package/lib/module/reanimated2/component/ScrollView.js.map +1 -1
- package/lib/module/reanimated2/component/Text.js.map +1 -1
- package/lib/module/reanimated2/component/View.js.map +1 -1
- package/lib/module/reanimated2/core.js +6 -22
- package/lib/module/reanimated2/core.js.map +1 -1
- package/lib/module/reanimated2/errors.js +3 -13
- package/lib/module/reanimated2/errors.js.map +1 -1
- package/lib/module/reanimated2/fabricUtils.js +3 -3
- package/lib/module/reanimated2/fabricUtils.js.map +1 -1
- package/lib/module/reanimated2/fabricUtils.web.js +1 -1
- package/lib/module/reanimated2/fabricUtils.web.js.map +1 -1
- package/lib/module/reanimated2/frameCallback/FrameCallbackRegistryJS.js +3 -8
- package/lib/module/reanimated2/frameCallback/FrameCallbackRegistryJS.js.map +1 -1
- package/lib/module/reanimated2/frameCallback/FrameCallbackRegistryUI.js +13 -15
- package/lib/module/reanimated2/frameCallback/FrameCallbackRegistryUI.js.map +1 -1
- package/lib/module/reanimated2/globals.d.js.map +1 -1
- package/lib/module/reanimated2/hook/Hooks.js +3 -2
- package/lib/module/reanimated2/hook/Hooks.js.map +1 -1
- package/lib/module/reanimated2/hook/commonTypes.js.map +1 -1
- package/lib/module/reanimated2/hook/index.js.map +1 -1
- package/lib/module/reanimated2/hook/useAnimatedGestureHandler.js +3 -14
- package/lib/module/reanimated2/hook/useAnimatedGestureHandler.js.map +1 -1
- package/lib/module/reanimated2/hook/useAnimatedKeyboard.js +2 -5
- package/lib/module/reanimated2/hook/useAnimatedKeyboard.js.map +1 -1
- package/lib/module/reanimated2/hook/useAnimatedReaction.js +1 -7
- package/lib/module/reanimated2/hook/useAnimatedReaction.js.map +1 -1
- package/lib/module/reanimated2/hook/useAnimatedRef.js +0 -6
- package/lib/module/reanimated2/hook/useAnimatedRef.js.map +1 -1
- package/lib/module/reanimated2/hook/useAnimatedScrollHandler.js +2 -7
- package/lib/module/reanimated2/hook/useAnimatedScrollHandler.js.map +1 -1
- package/lib/module/reanimated2/hook/useAnimatedSensor.js +9 -20
- package/lib/module/reanimated2/hook/useAnimatedSensor.js.map +1 -1
- package/lib/module/reanimated2/hook/useAnimatedStyle.js +13 -59
- package/lib/module/reanimated2/hook/useAnimatedStyle.js.map +1 -1
- package/lib/module/reanimated2/hook/useDerivedValue.js +4 -8
- package/lib/module/reanimated2/hook/useDerivedValue.js.map +1 -1
- package/lib/module/reanimated2/hook/useFrameCallback.js.map +1 -1
- package/lib/module/reanimated2/hook/useScrollViewOffset.js +0 -1
- package/lib/module/reanimated2/hook/useScrollViewOffset.js.map +1 -1
- package/lib/module/reanimated2/hook/useSharedValue.js +2 -3
- package/lib/module/reanimated2/hook/useSharedValue.js.map +1 -1
- package/lib/module/reanimated2/hook/utils.js +8 -21
- package/lib/module/reanimated2/hook/utils.js.map +1 -1
- package/lib/module/reanimated2/index.js.map +1 -1
- package/lib/module/reanimated2/initializers.js +23 -37
- package/lib/module/reanimated2/initializers.js.map +1 -1
- package/lib/module/reanimated2/interpolateColor.js +5 -34
- package/lib/module/reanimated2/interpolateColor.js.map +1 -1
- package/lib/module/reanimated2/interpolation.js +13 -28
- package/lib/module/reanimated2/interpolation.js.map +1 -1
- package/lib/module/reanimated2/jestUtils.js +11 -35
- package/lib/module/reanimated2/jestUtils.js.map +1 -1
- package/lib/module/reanimated2/js-reanimated/JSReanimated.js +15 -35
- package/lib/module/reanimated2/js-reanimated/JSReanimated.js.map +1 -1
- package/lib/module/reanimated2/js-reanimated/Mapper.js +9 -23
- package/lib/module/reanimated2/js-reanimated/Mapper.js.map +1 -1
- package/lib/module/reanimated2/js-reanimated/MapperRegistry.js +7 -35
- package/lib/module/reanimated2/js-reanimated/MapperRegistry.js.map +1 -1
- package/lib/module/reanimated2/js-reanimated/MutableValue.js +5 -16
- package/lib/module/reanimated2/js-reanimated/MutableValue.js.map +1 -1
- package/lib/module/reanimated2/js-reanimated/global.js +2 -6
- package/lib/module/reanimated2/js-reanimated/global.js.map +1 -1
- package/lib/module/reanimated2/js-reanimated/index.js +3 -9
- package/lib/module/reanimated2/js-reanimated/index.js.map +1 -1
- package/lib/module/reanimated2/layoutReanimation/animationBuilder/BaseAnimationBuilder.js +7 -23
- package/lib/module/reanimated2/layoutReanimation/animationBuilder/BaseAnimationBuilder.js.map +1 -1
- package/lib/module/reanimated2/layoutReanimation/animationBuilder/ComplexAnimationBuilder.js +3 -45
- package/lib/module/reanimated2/layoutReanimation/animationBuilder/ComplexAnimationBuilder.js.map +1 -1
- package/lib/module/reanimated2/layoutReanimation/animationBuilder/Keyframe.js +7 -39
- package/lib/module/reanimated2/layoutReanimation/animationBuilder/Keyframe.js.map +1 -1
- package/lib/module/reanimated2/layoutReanimation/animationBuilder/commonTypes.js +3 -3
- package/lib/module/reanimated2/layoutReanimation/animationBuilder/commonTypes.js.map +1 -1
- package/lib/module/reanimated2/layoutReanimation/animationBuilder/index.js.map +1 -1
- package/lib/module/reanimated2/layoutReanimation/animationsManager.js +4 -19
- package/lib/module/reanimated2/layoutReanimation/animationsManager.js.map +1 -1
- package/lib/module/reanimated2/layoutReanimation/defaultAnimations/Bounce.js +3 -52
- package/lib/module/reanimated2/layoutReanimation/defaultAnimations/Bounce.js.map +1 -1
- package/lib/module/reanimated2/layoutReanimation/defaultAnimations/Fade.js +3 -32
- package/lib/module/reanimated2/layoutReanimation/defaultAnimations/Fade.js.map +1 -1
- package/lib/module/reanimated2/layoutReanimation/defaultAnimations/Flip.js +3 -38
- package/lib/module/reanimated2/layoutReanimation/defaultAnimations/Flip.js.map +1 -1
- package/lib/module/reanimated2/layoutReanimation/defaultAnimations/Lightspeed.js +7 -16
- package/lib/module/reanimated2/layoutReanimation/defaultAnimations/Lightspeed.js.map +1 -1
- package/lib/module/reanimated2/layoutReanimation/defaultAnimations/Pinwheel.js +3 -8
- package/lib/module/reanimated2/layoutReanimation/defaultAnimations/Pinwheel.js.map +1 -1
- package/lib/module/reanimated2/layoutReanimation/defaultAnimations/Roll.js +3 -14
- package/lib/module/reanimated2/layoutReanimation/defaultAnimations/Roll.js.map +1 -1
- package/lib/module/reanimated2/layoutReanimation/defaultAnimations/Rotate.js +3 -26
- package/lib/module/reanimated2/layoutReanimation/defaultAnimations/Rotate.js.map +1 -1
- package/lib/module/reanimated2/layoutReanimation/defaultAnimations/Slide.js +3 -26
- package/lib/module/reanimated2/layoutReanimation/defaultAnimations/Slide.js.map +1 -1
- package/lib/module/reanimated2/layoutReanimation/defaultAnimations/Stretch.js +3 -14
- package/lib/module/reanimated2/layoutReanimation/defaultAnimations/Stretch.js.map +1 -1
- package/lib/module/reanimated2/layoutReanimation/defaultAnimations/Zoom.js +3 -50
- package/lib/module/reanimated2/layoutReanimation/defaultAnimations/Zoom.js.map +1 -1
- package/lib/module/reanimated2/layoutReanimation/defaultAnimations/index.js.map +1 -1
- package/lib/module/reanimated2/layoutReanimation/defaultTransitions/CurvedTransition.js +3 -17
- package/lib/module/reanimated2/layoutReanimation/defaultTransitions/CurvedTransition.js.map +1 -1
- package/lib/module/reanimated2/layoutReanimation/defaultTransitions/EntryExitTransition.js +5 -23
- package/lib/module/reanimated2/layoutReanimation/defaultTransitions/EntryExitTransition.js.map +1 -1
- package/lib/module/reanimated2/layoutReanimation/defaultTransitions/FadingTransition.js +3 -5
- package/lib/module/reanimated2/layoutReanimation/defaultTransitions/FadingTransition.js.map +1 -1
- package/lib/module/reanimated2/layoutReanimation/defaultTransitions/JumpingTransition.js +5 -6
- package/lib/module/reanimated2/layoutReanimation/defaultTransitions/JumpingTransition.js.map +1 -1
- package/lib/module/reanimated2/layoutReanimation/defaultTransitions/LinearTransition.js +3 -5
- package/lib/module/reanimated2/layoutReanimation/defaultTransitions/LinearTransition.js.map +1 -1
- package/lib/module/reanimated2/layoutReanimation/defaultTransitions/SequencedTransition.js +3 -8
- package/lib/module/reanimated2/layoutReanimation/defaultTransitions/SequencedTransition.js.map +1 -1
- package/lib/module/reanimated2/layoutReanimation/defaultTransitions/index.js.map +1 -1
- package/lib/module/reanimated2/layoutReanimation/index.js.map +1 -1
- package/lib/module/reanimated2/layoutReanimation/sharedTransitions/index.js +3 -13
- package/lib/module/reanimated2/layoutReanimation/sharedTransitions/index.js.map +1 -1
- package/lib/module/reanimated2/mappers.js +26 -25
- package/lib/module/reanimated2/mappers.js.map +1 -1
- package/lib/module/reanimated2/mock.js +5 -15
- package/lib/module/reanimated2/mock.js.map +1 -1
- package/lib/module/reanimated2/mutables.js +2 -19
- package/lib/module/reanimated2/mutables.js.map +1 -1
- package/lib/module/reanimated2/platform-specific/RNRenderer.js.map +1 -1
- package/lib/module/reanimated2/platform-specific/RNRenderer.web.js.map +1 -1
- package/lib/module/reanimated2/platform-specific/checkCppVersion.js +24 -0
- package/lib/module/reanimated2/platform-specific/checkCppVersion.js.map +1 -0
- package/lib/module/reanimated2/platform-specific/checkVersion.web.js +0 -1
- package/lib/module/reanimated2/platform-specific/checkVersion.web.js.map +1 -1
- package/lib/module/reanimated2/platform-specific/jsVersion.js +7 -0
- package/lib/module/reanimated2/platform-specific/jsVersion.js.map +1 -0
- package/lib/module/reanimated2/pluginUtils.js.map +1 -1
- package/lib/module/reanimated2/shareables.js +96 -44
- package/lib/module/reanimated2/shareables.js.map +1 -1
- package/lib/module/reanimated2/threads.js +39 -33
- package/lib/module/reanimated2/threads.js.map +1 -1
- package/lib/module/reanimated2/utils.js +0 -3
- package/lib/module/reanimated2/utils.js.map +1 -1
- package/lib/module/reanimated2/valueSetter.js +6 -19
- package/lib/module/reanimated2/valueSetter.js.map +1 -1
- package/lib/module/setAndForwardRef.js +3 -2
- package/lib/module/setAndForwardRef.js.map +1 -1
- package/package.json +46 -40
- package/plugin/.eslintrc.js +7 -0
- package/plugin/README.md +241 -0
- package/plugin/build/plugin.js +714 -0
- package/plugin/build/plugin.js.map +7 -0
- package/plugin/index.js +1 -807
- package/plugin/package.json +23 -0
- package/plugin/src/buildWorkletString.ts +213 -0
- package/plugin/src/commonObjects.ts +60 -0
- package/plugin/src/injectVersion.ts +37 -0
- package/plugin/src/makeWorklet.ts +375 -0
- package/plugin/src/plugin.ts +49 -0
- package/plugin/src/processForCalleesWorklets.ts +106 -0
- package/plugin/src/processIfGestureHandlerEventCallbackFunctionNode.ts +156 -0
- package/plugin/src/processIfWorkletFunction.ts +55 -0
- package/plugin/src/processIfWorkletNode.ts +44 -0
- package/plugin/src/processInlineStylesWarning.ts +129 -0
- package/plugin/src/processWorkletObjectMethod.ts +31 -0
- package/plugin/src/types.ts +15 -0
- package/plugin/src/utils.ts +6 -0
- package/plugin/tsconfig.json +15 -0
- package/plugin/yarn.lock +2193 -0
- package/react-native-reanimated.d.ts +1 -0
- package/scripts/reanimated_utils.rb +2 -2
- package/src/createAnimatedComponent.tsx +2 -3
- package/src/reanimated2/Easing.ts +19 -0
- package/src/reanimated2/NativeMethods.ts +9 -4
- package/src/reanimated2/NativeReanimated/NativeReanimated.ts +2 -2
- package/src/reanimated2/UpdateProps.ts +2 -2
- package/src/reanimated2/animation/decay.ts +7 -1
- package/src/reanimated2/animation/styleAnimation.ts +5 -1
- package/src/reanimated2/core.ts +4 -4
- package/src/reanimated2/errors.ts +1 -0
- package/src/reanimated2/frameCallback/FrameCallbackRegistryUI.ts +12 -4
- package/src/reanimated2/globals.d.ts +71 -112
- package/src/reanimated2/hook/commonTypes.ts +1 -1
- package/src/reanimated2/hook/useAnimatedReaction.ts +2 -2
- package/src/reanimated2/hook/useAnimatedSensor.ts +2 -2
- package/src/reanimated2/initializers.ts +11 -8
- package/src/reanimated2/jestUtils.ts +0 -1
- package/src/reanimated2/js-reanimated/JSReanimated.ts +5 -1
- package/src/reanimated2/js-reanimated/index.ts +1 -1
- package/src/reanimated2/mappers.ts +26 -4
- package/src/reanimated2/mock.ts +1 -0
- package/src/reanimated2/platform-specific/checkCppVersion.ts +29 -0
- package/src/reanimated2/platform-specific/jsVersion.ts +6 -0
- package/src/reanimated2/shareables.ts +107 -8
- package/src/reanimated2/threads.ts +36 -17
- package/lib/commonjs/reanimated2/platform-specific/checkVersion.js +0 -42
- package/lib/commonjs/reanimated2/platform-specific/checkVersion.js.map +0 -1
- package/lib/module/reanimated2/platform-specific/checkVersion.js +0 -35
- package/lib/module/reanimated2/platform-specific/checkVersion.js.map +0 -1
- package/src/reanimated2/platform-specific/checkVersion.ts +0 -39
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["NUMBER","PERCENTAGE","call","args","join","jsCachedMatchers","uiCachedMatchers","isConfigured","makeRemote","getMatchers","cachedMatchers","_WORKLET","rgb","undefined","RegExp","rgba","hsl","hsla","hex3","hex4","hex6","hex8","hue2rgb","p","q","t","hslToRgb","h","s","l","r","g","b","Math","round","parse255","str","int","Number","parseInt","parse360","parseFloat","parse1","num","parsePercentage","names","makeShareable","transparent","aliceblue","antiquewhite","aqua","aquamarine","azure","beige","bisque","black","blanchedalmond","blue","blueviolet","brown","burlywood","burntsienna","cadetblue","chartreuse","chocolate","coral","cornflowerblue","cornsilk","crimson","cyan","darkblue","darkcyan","darkgoldenrod","darkgray","darkgreen","darkgrey","darkkhaki","darkmagenta","darkolivegreen","darkorange","darkorchid","darkred","darksalmon","darkseagreen","darkslateblue","darkslategray","darkslategrey","darkturquoise","darkviolet","deeppink","deepskyblue","dimgray","dimgrey","dodgerblue","firebrick","floralwhite","forestgreen","fuchsia","gainsboro","ghostwhite","gold","goldenrod","gray","green","greenyellow","grey","honeydew","hotpink","indianred","indigo","ivory","khaki","lavender","lavenderblush","lawngreen","lemonchiffon","lightblue","lightcoral","lightcyan","lightgoldenrodyellow","lightgray","lightgreen","lightgrey","lightpink","lightsalmon","lightseagreen","lightskyblue","lightslategray","lightslategrey","lightsteelblue","lightyellow","lime","limegreen","linen","magenta","maroon","mediumaquamarine","mediumblue","mediumorchid","mediumpurple","mediumseagreen","mediumslateblue","mediumspringgreen","mediumturquoise","mediumvioletred","midnightblue","mintcream","mistyrose","moccasin","navajowhite","navy","oldlace","olive","olivedrab","orange","orangered","orchid","palegoldenrod","palegreen","paleturquoise","palevioletred","papayawhip","peachpuff","peru","pink","plum","powderblue","purple","rebeccapurple","red","rosybrown","royalblue","saddlebrown","salmon","sandybrown","seagreen","seashell","sienna","silver","skyblue","slateblue","slategray","slategrey","snow","springgreen","steelblue","tan","teal","thistle","tomato","turquoise","violet","wheat","white","whitesmoke","yellow","yellowgreen","normalizeColor","color","matchers","match","exec","opacity","c","rgbaColor","alpha","Platform","OS","RGBtoHSV","arguments","length","max","min","d","v","HSVtoRGB","i","f","floor","hsvToColor","a","processColorInitially","normalizedColor","isColor","value","processColor","convertToRGBA","processedColor","rgbaArrayToRGBAColor","RGBA","toLinearSpace","gamma","res","push","pow","toGammaSpace"],"sources":["Colors.ts"],"sourcesContent":["/* global _WORKLET */\n/**\n * Copied from:\n * react-native/Libraries/StyleSheet/normalizeColor.js\n * react-native/Libraries/StyleSheet/processColor.js\n * https://github.com/wcandillon/react-native-redash/blob/master/src/Colors.ts\n */\n\n/* eslint no-bitwise: 0 */\nimport { Platform } from 'react-native';\nimport { makeRemote, makeShareable, isConfigured } from './core';\n\ninterface RGB {\n r: number;\n g: number;\n b: number;\n}\n\ninterface HSV {\n h: number;\n s: number;\n v: number;\n}\n\n// var INTEGER = '[-+]?\\\\d+';\nconst NUMBER = '[-+]?(?:\\\\d+(?:\\\\.\\\\d*)?|\\\\.\\\\d+)';\nconst PERCENTAGE = NUMBER + '%';\n\nfunction call(...args: unknown[]): string {\n 'worklet';\n return '\\\\(\\\\s*(' + args.join(')\\\\s*,\\\\s*(') + ')\\\\s*\\\\)';\n}\n\n// matchers use RegExp objects which needs to be created separately on JS and on\n// the UI thread. We keep separate cache of Regexes for UI and JS using the below\n// objects, then pick the right cache in getMatchers() method.\nconst jsCachedMatchers: Matchers = {};\nconst uiCachedMatchers: Matchers = !isConfigured() ? {} : makeRemote({});\ntype Matchers = {\n rgb?: RegExp;\n rgba?: RegExp;\n hsl?: RegExp;\n hsla?: RegExp;\n hex3?: RegExp;\n hex4?: RegExp;\n hex5?: RegExp;\n hex6?: RegExp;\n hex8?: RegExp;\n};\nfunction getMatchers(): Matchers {\n 'worklet';\n const cachedMatchers: Matchers = _WORKLET\n ? uiCachedMatchers\n : jsCachedMatchers;\n if (cachedMatchers.rgb === undefined) {\n cachedMatchers.rgb = new RegExp('rgb' + call(NUMBER, NUMBER, NUMBER));\n cachedMatchers.rgba = new RegExp(\n 'rgba' + call(NUMBER, NUMBER, NUMBER, NUMBER)\n );\n cachedMatchers.hsl = new RegExp(\n 'hsl' + call(NUMBER, PERCENTAGE, PERCENTAGE)\n );\n cachedMatchers.hsla = new RegExp(\n 'hsla' + call(NUMBER, PERCENTAGE, PERCENTAGE, NUMBER)\n );\n cachedMatchers.hex3 = /^#([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/;\n cachedMatchers.hex4 =\n /^#([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/;\n cachedMatchers.hex6 = /^#([0-9a-fA-F]{6})$/;\n cachedMatchers.hex8 = /^#([0-9a-fA-F]{8})$/;\n }\n return cachedMatchers;\n}\n// cachedMatchers is lazy loaded and it is frozen when worklet is being created,\n// it is possible to call getMatchers() when the object is frozen, then cachedMatchers\n// has no assigned regexes\ngetMatchers();\n\nfunction hue2rgb(p: number, q: number, t: number): number {\n 'worklet';\n if (t < 0) {\n t += 1;\n }\n if (t > 1) {\n t -= 1;\n }\n if (t < 1 / 6) {\n return p + (q - p) * 6 * t;\n }\n if (t < 1 / 2) {\n return q;\n }\n if (t < 2 / 3) {\n return p + (q - p) * (2 / 3 - t) * 6;\n }\n return p;\n}\n\nfunction hslToRgb(h: number, s: number, l: number): number {\n 'worklet';\n const q = l < 0.5 ? l * (1 + s) : l + s - l * s;\n const p = 2 * l - q;\n const r = hue2rgb(p, q, h + 1 / 3);\n const g = hue2rgb(p, q, h);\n const b = hue2rgb(p, q, h - 1 / 3);\n\n return (\n (Math.round(r * 255) << 24) |\n (Math.round(g * 255) << 16) |\n (Math.round(b * 255) << 8)\n );\n}\n\nfunction parse255(str: string): number {\n 'worklet';\n const int = Number.parseInt(str, 10);\n if (int < 0) {\n return 0;\n }\n if (int > 255) {\n return 255;\n }\n return int;\n}\n\nfunction parse360(str: string): number {\n 'worklet';\n const int = Number.parseFloat(str);\n return (((int % 360) + 360) % 360) / 360;\n}\n\nfunction parse1(str: string): number {\n 'worklet';\n const num = Number.parseFloat(str);\n if (num < 0) {\n return 0;\n }\n if (num > 1) {\n return 255;\n }\n return Math.round(num * 255);\n}\n\nfunction parsePercentage(str: string): number {\n 'worklet';\n // parseFloat conveniently ignores the final %\n const int = Number.parseFloat(str);\n if (int < 0) {\n return 0;\n }\n if (int > 100) {\n return 1;\n }\n return int / 100;\n}\n\nconst names: any = !isConfigured()\n ? null\n : makeShareable({\n transparent: 0x00000000,\n\n // http://www.w3.org/TR/css3-color/#svg-color\n aliceblue: 0xf0f8ffff,\n antiquewhite: 0xfaebd7ff,\n aqua: 0x00ffffff,\n aquamarine: 0x7fffd4ff,\n azure: 0xf0ffffff,\n beige: 0xf5f5dcff,\n bisque: 0xffe4c4ff,\n black: 0x000000ff,\n blanchedalmond: 0xffebcdff,\n blue: 0x0000ffff,\n blueviolet: 0x8a2be2ff,\n brown: 0xa52a2aff,\n burlywood: 0xdeb887ff,\n burntsienna: 0xea7e5dff,\n cadetblue: 0x5f9ea0ff,\n chartreuse: 0x7fff00ff,\n chocolate: 0xd2691eff,\n coral: 0xff7f50ff,\n cornflowerblue: 0x6495edff,\n cornsilk: 0xfff8dcff,\n crimson: 0xdc143cff,\n cyan: 0x00ffffff,\n darkblue: 0x00008bff,\n darkcyan: 0x008b8bff,\n darkgoldenrod: 0xb8860bff,\n darkgray: 0xa9a9a9ff,\n darkgreen: 0x006400ff,\n darkgrey: 0xa9a9a9ff,\n darkkhaki: 0xbdb76bff,\n darkmagenta: 0x8b008bff,\n darkolivegreen: 0x556b2fff,\n darkorange: 0xff8c00ff,\n darkorchid: 0x9932ccff,\n darkred: 0x8b0000ff,\n darksalmon: 0xe9967aff,\n darkseagreen: 0x8fbc8fff,\n darkslateblue: 0x483d8bff,\n darkslategray: 0x2f4f4fff,\n darkslategrey: 0x2f4f4fff,\n darkturquoise: 0x00ced1ff,\n darkviolet: 0x9400d3ff,\n deeppink: 0xff1493ff,\n deepskyblue: 0x00bfffff,\n dimgray: 0x696969ff,\n dimgrey: 0x696969ff,\n dodgerblue: 0x1e90ffff,\n firebrick: 0xb22222ff,\n floralwhite: 0xfffaf0ff,\n forestgreen: 0x228b22ff,\n fuchsia: 0xff00ffff,\n gainsboro: 0xdcdcdcff,\n ghostwhite: 0xf8f8ffff,\n gold: 0xffd700ff,\n goldenrod: 0xdaa520ff,\n gray: 0x808080ff,\n green: 0x008000ff,\n greenyellow: 0xadff2fff,\n grey: 0x808080ff,\n honeydew: 0xf0fff0ff,\n hotpink: 0xff69b4ff,\n indianred: 0xcd5c5cff,\n indigo: 0x4b0082ff,\n ivory: 0xfffff0ff,\n khaki: 0xf0e68cff,\n lavender: 0xe6e6faff,\n lavenderblush: 0xfff0f5ff,\n lawngreen: 0x7cfc00ff,\n lemonchiffon: 0xfffacdff,\n lightblue: 0xadd8e6ff,\n lightcoral: 0xf08080ff,\n lightcyan: 0xe0ffffff,\n lightgoldenrodyellow: 0xfafad2ff,\n lightgray: 0xd3d3d3ff,\n lightgreen: 0x90ee90ff,\n lightgrey: 0xd3d3d3ff,\n lightpink: 0xffb6c1ff,\n lightsalmon: 0xffa07aff,\n lightseagreen: 0x20b2aaff,\n lightskyblue: 0x87cefaff,\n lightslategray: 0x778899ff,\n lightslategrey: 0x778899ff,\n lightsteelblue: 0xb0c4deff,\n lightyellow: 0xffffe0ff,\n lime: 0x00ff00ff,\n limegreen: 0x32cd32ff,\n linen: 0xfaf0e6ff,\n magenta: 0xff00ffff,\n maroon: 0x800000ff,\n mediumaquamarine: 0x66cdaaff,\n mediumblue: 0x0000cdff,\n mediumorchid: 0xba55d3ff,\n mediumpurple: 0x9370dbff,\n mediumseagreen: 0x3cb371ff,\n mediumslateblue: 0x7b68eeff,\n mediumspringgreen: 0x00fa9aff,\n mediumturquoise: 0x48d1ccff,\n mediumvioletred: 0xc71585ff,\n midnightblue: 0x191970ff,\n mintcream: 0xf5fffaff,\n mistyrose: 0xffe4e1ff,\n moccasin: 0xffe4b5ff,\n navajowhite: 0xffdeadff,\n navy: 0x000080ff,\n oldlace: 0xfdf5e6ff,\n olive: 0x808000ff,\n olivedrab: 0x6b8e23ff,\n orange: 0xffa500ff,\n orangered: 0xff4500ff,\n orchid: 0xda70d6ff,\n palegoldenrod: 0xeee8aaff,\n palegreen: 0x98fb98ff,\n paleturquoise: 0xafeeeeff,\n palevioletred: 0xdb7093ff,\n papayawhip: 0xffefd5ff,\n peachpuff: 0xffdab9ff,\n peru: 0xcd853fff,\n pink: 0xffc0cbff,\n plum: 0xdda0ddff,\n powderblue: 0xb0e0e6ff,\n purple: 0x800080ff,\n rebeccapurple: 0x663399ff,\n red: 0xff0000ff,\n rosybrown: 0xbc8f8fff,\n royalblue: 0x4169e1ff,\n saddlebrown: 0x8b4513ff,\n salmon: 0xfa8072ff,\n sandybrown: 0xf4a460ff,\n seagreen: 0x2e8b57ff,\n seashell: 0xfff5eeff,\n sienna: 0xa0522dff,\n silver: 0xc0c0c0ff,\n skyblue: 0x87ceebff,\n slateblue: 0x6a5acdff,\n slategray: 0x708090ff,\n slategrey: 0x708090ff,\n snow: 0xfffafaff,\n springgreen: 0x00ff7fff,\n steelblue: 0x4682b4ff,\n tan: 0xd2b48cff,\n teal: 0x008080ff,\n thistle: 0xd8bfd8ff,\n tomato: 0xff6347ff,\n turquoise: 0x40e0d0ff,\n violet: 0xee82eeff,\n wheat: 0xf5deb3ff,\n white: 0xffffffff,\n whitesmoke: 0xf5f5f5ff,\n yellow: 0xffff00ff,\n yellowgreen: 0x9acd32ff,\n });\n\nfunction normalizeColor(color: unknown): number | null {\n 'worklet';\n\n if (typeof color === 'number') {\n if (color >>> 0 === color && color >= 0 && color <= 0xffffffff) {\n return color;\n }\n return null;\n }\n\n if (typeof color !== 'string') {\n return null;\n }\n\n const matchers = getMatchers();\n\n let match: RegExpExecArray | null | undefined;\n\n // Ordered based on occurrences on Facebook codebase\n if ((match = matchers?.hex6?.exec(color))) {\n return Number.parseInt(match[1] + 'ff', 16) >>> 0;\n }\n\n if (names[color] !== undefined) {\n return names[color];\n }\n\n if ((match = matchers?.rgb?.exec(color))) {\n return (\n // b\n ((parse255(match[1]) << 24) | // r\n (parse255(match[2]) << 16) | // g\n (parse255(match[3]) << 8) |\n 0x000000ff) >>> // a\n 0\n );\n }\n\n if ((match = matchers?.rgba?.exec(color))) {\n return (\n // b\n ((parse255(match[1]) << 24) | // r\n (parse255(match[2]) << 16) | // g\n (parse255(match[3]) << 8) |\n parse1(match[4])) >>> // a\n 0\n );\n }\n\n if ((match = matchers?.hex3?.exec(color))) {\n return (\n Number.parseInt(\n match[1] +\n match[1] + // r\n match[2] +\n match[2] + // g\n match[3] +\n match[3] + // b\n 'ff', // a\n 16\n ) >>> 0\n );\n }\n\n // https://drafts.csswg.org/css-color-4/#hex-notation\n if ((match = matchers?.hex8?.exec(color))) {\n return Number.parseInt(match[1], 16) >>> 0;\n }\n\n if ((match = matchers?.hex4?.exec(color))) {\n return (\n Number.parseInt(\n match[1] +\n match[1] + // r\n match[2] +\n match[2] + // g\n match[3] +\n match[3] + // b\n match[4] +\n match[4], // a\n 16\n ) >>> 0\n );\n }\n\n if ((match = matchers?.hsl?.exec(color))) {\n return (\n (hslToRgb(\n parse360(match[1]), // h\n parsePercentage(match[2]), // s\n parsePercentage(match[3]) // l\n ) |\n 0x000000ff) >>> // a\n 0\n );\n }\n\n if ((match = matchers?.hsla?.exec(color))) {\n return (\n (hslToRgb(\n parse360(match[1]), // h\n parsePercentage(match[2]), // s\n parsePercentage(match[3]) // l\n ) |\n parse1(match[4])) >>> // a\n 0\n );\n }\n\n return null;\n}\n\nexport const opacity = (c: number): number => {\n 'worklet';\n return ((c >> 24) & 255) / 255;\n};\n\nexport const red = (c: number): number => {\n 'worklet';\n return (c >> 16) & 255;\n};\n\nexport const green = (c: number): number => {\n 'worklet';\n return (c >> 8) & 255;\n};\n\nexport const blue = (c: number): number => {\n 'worklet';\n return c & 255;\n};\n\nexport const rgbaColor = (\n r: number,\n g: number,\n b: number,\n alpha = 1\n): number | string => {\n 'worklet';\n if (Platform.OS === 'web' || !_WORKLET) {\n return `rgba(${r}, ${g}, ${b}, ${alpha})`;\n }\n\n const c =\n Math.round(alpha * 255) * (1 << 24) +\n Math.round(r) * (1 << 16) +\n Math.round(g) * (1 << 8) +\n Math.round(b);\n if (Platform.OS === 'android') {\n // on Android color is represented as signed 32 bit int\n return c < (1 << 31) >>> 0 ? c : c - 4294967296; // 4294967296 == Math.pow(2, 32);\n }\n return c;\n};\n\n/* accepts parameters\n * r Object = {r:x, g:y, b:z}\n * OR\n * r, g, b\n * 0 <= r, g, b <= 255\n * returns 0 <= h, s, v <= 1\n */\nexport function RGBtoHSV(rgb: RGB): HSV;\nexport function RGBtoHSV(r: number, g: number, b: number): HSV;\nexport function RGBtoHSV(r: any, g?: any, b?: any): HSV {\n 'worklet';\n /* eslint-disable */\n if (arguments.length === 1) {\n g = r.g;\n b = r.b;\n r = r.r;\n }\n const max = Math.max(r, g, b);\n const min = Math.min(r, g, b);\n const d = max - min;\n const s = max === 0 ? 0 : d / max;\n const v = max / 255;\n\n let h;\n\n switch (max) {\n default:\n /* fallthrough */\n case min:\n h = 0;\n break;\n case r:\n h = g - b + d * (g < b ? 6 : 0);\n h /= 6 * d;\n break;\n case g:\n h = b - r + d * 2;\n h /= 6 * d;\n break;\n case b:\n h = r - g + d * 4;\n h /= 6 * d;\n break;\n }\n\n return {\n h: h,\n s: s,\n v: v,\n };\n /* eslint-enable */\n}\n\n/* accepts parameters\n * h Object = {h:x, s:y, v:z}\n * OR\n * h, s, v\n * 0 <= h, s, v <= 1\n * returns 0 <= r, g, b <= 255\n */\nfunction HSVtoRGB(hsv: HSV): RGB;\nfunction HSVtoRGB(h: number, s: number, v: number): RGB;\nfunction HSVtoRGB(h: any, s?: any, v?: any) {\n 'worklet';\n /* eslint-disable */\n var r, g, b, i, f, p, q, t;\n if (arguments.length === 1) {\n s = h.s;\n v = h.v;\n h = h.h;\n }\n i = Math.floor(h * 6);\n f = h * 6 - i;\n p = v * (1 - s);\n q = v * (1 - f * s);\n t = v * (1 - (1 - f) * s);\n switch (i % 6) {\n case 0:\n (r = v), (g = t), (b = p);\n break;\n case 1:\n (r = q), (g = v), (b = p);\n break;\n case 2:\n (r = p), (g = v), (b = t);\n break;\n case 3:\n (r = p), (g = q), (b = v);\n break;\n case 4:\n (r = t), (g = p), (b = v);\n break;\n case 5:\n (r = v), (g = p), (b = q);\n break;\n }\n return {\n r: Math.round(r * 255),\n g: Math.round(g * 255),\n b: Math.round(b * 255),\n };\n /* eslint-enable */\n}\n\nexport const hsvToColor = (\n h: number,\n s: number,\n v: number,\n a: number\n): number | string => {\n 'worklet';\n const { r, g, b } = HSVtoRGB(h, s, v);\n return rgbaColor(r, g, b, a);\n};\n\nexport function processColorInitially(\n color: unknown\n): number | null | undefined {\n 'worklet';\n if (color === null || color === undefined || typeof color === 'number') {\n return color;\n }\n\n let normalizedColor = normalizeColor(color);\n\n if (normalizedColor === null || normalizedColor === undefined) {\n return undefined;\n }\n\n if (typeof normalizedColor !== 'number') {\n return null;\n }\n\n normalizedColor = ((normalizedColor << 24) | (normalizedColor >>> 8)) >>> 0; // argb\n return normalizedColor;\n}\n\nexport function isColor(value: unknown): boolean {\n 'worklet';\n if (typeof value !== 'string') {\n return false;\n }\n return processColorInitially(value) != null;\n}\n\nexport function processColor(color: unknown): number | null | undefined {\n 'worklet';\n let normalizedColor = processColorInitially(color);\n if (normalizedColor === null || normalizedColor === undefined) {\n return undefined;\n }\n\n if (typeof normalizedColor !== 'number') {\n return null;\n }\n\n if (Platform.OS === 'android') {\n // Android use 32 bit *signed* integer to represent the color\n // We utilize the fact that bitwise operations in JS also operates on\n // signed 32 bit integers, so that we can use those to convert from\n // *unsigned* to *signed* 32bit int that way.\n normalizedColor = normalizedColor | 0x0;\n }\n\n return normalizedColor;\n}\n\nexport type ParsedColorArray = [number, number, number, number];\n\nexport function convertToRGBA(color: unknown): ParsedColorArray {\n 'worklet';\n const processedColor = processColorInitially(color)!; // argb;\n const a = (processedColor >>> 24) / 255;\n const r = ((processedColor << 8) >>> 24) / 255;\n const g = ((processedColor << 16) >>> 24) / 255;\n const b = ((processedColor << 24) >>> 24) / 255;\n return [r, g, b, a];\n}\n\nexport function rgbaArrayToRGBAColor(RGBA: ParsedColorArray): string {\n 'worklet';\n return `rgba(${Math.round(RGBA[0] * 255)}, ${Math.round(\n RGBA[1] * 255\n )}, ${Math.round(RGBA[2] * 255)}, ${RGBA[3]})`;\n}\n\nexport function toLinearSpace(\n RGBA: ParsedColorArray,\n gamma = 2.2\n): ParsedColorArray {\n 'worklet';\n const res = [];\n for (let i = 0; i < 3; ++i) {\n res.push(Math.pow(RGBA[i], gamma));\n }\n res.push(RGBA[3]);\n return res as ParsedColorArray;\n}\n\nexport function toGammaSpace(\n RGBA: ParsedColorArray,\n gamma = 2.2\n): ParsedColorArray {\n 'worklet';\n const res = [];\n for (let i = 0; i < 3; ++i) {\n res.push(Math.pow(RGBA[i], 1 / gamma));\n }\n res.push(RGBA[3]);\n return res as ParsedColorArray;\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["_reactNative","require","_core","NUMBER","PERCENTAGE","call","_len","arguments","length","args","Array","_key","join","jsCachedMatchers","uiCachedMatchers","isConfigured","makeRemote","getMatchers","cachedMatchers","_WORKLET","rgb","undefined","RegExp","rgba","hsl","hsla","hex3","hex4","hex6","hex8","hue2rgb","p","q","t","hslToRgb","h","s","l","r","g","b","Math","round","parse255","str","int","Number","parseInt","parse360","parseFloat","parse1","num","parsePercentage","names","makeShareable","transparent","aliceblue","antiquewhite","aqua","aquamarine","azure","beige","bisque","black","blanchedalmond","blue","blueviolet","brown","burlywood","burntsienna","cadetblue","chartreuse","chocolate","coral","cornflowerblue","cornsilk","crimson","cyan","darkblue","darkcyan","darkgoldenrod","darkgray","darkgreen","darkgrey","darkkhaki","darkmagenta","darkolivegreen","darkorange","darkorchid","darkred","darksalmon","darkseagreen","darkslateblue","darkslategray","darkslategrey","darkturquoise","darkviolet","deeppink","deepskyblue","dimgray","dimgrey","dodgerblue","firebrick","floralwhite","forestgreen","fuchsia","gainsboro","ghostwhite","gold","goldenrod","gray","green","greenyellow","grey","honeydew","hotpink","indianred","indigo","ivory","khaki","lavender","lavenderblush","lawngreen","lemonchiffon","lightblue","lightcoral","lightcyan","lightgoldenrodyellow","lightgray","lightgreen","lightgrey","lightpink","lightsalmon","lightseagreen","lightskyblue","lightslategray","lightslategrey","lightsteelblue","lightyellow","lime","limegreen","linen","magenta","maroon","mediumaquamarine","mediumblue","mediumorchid","mediumpurple","mediumseagreen","mediumslateblue","mediumspringgreen","mediumturquoise","mediumvioletred","midnightblue","mintcream","mistyrose","moccasin","navajowhite","navy","oldlace","olive","olivedrab","orange","orangered","orchid","palegoldenrod","palegreen","paleturquoise","palevioletred","papayawhip","peachpuff","peru","pink","plum","powderblue","purple","rebeccapurple","red","rosybrown","royalblue","saddlebrown","salmon","sandybrown","seagreen","seashell","sienna","silver","skyblue","slateblue","slategray","slategrey","snow","springgreen","steelblue","tan","teal","thistle","tomato","turquoise","violet","wheat","white","whitesmoke","yellow","yellowgreen","normalizeColor","color","_matchers$hex","_matchers$rgb","_matchers$rgba","_matchers$hex2","_matchers$hex3","_matchers$hex4","_matchers$hsl","_matchers$hsla","matchers","match","exec","opacity","c","exports","rgbaColor","alpha","Platform","OS","RGBtoHSV","max","min","d","v","HSVtoRGB","i","f","floor","hsvToColor","a","processColorInitially","normalizedColor","isColor","value","processColor","convertToRGBA","processedColor","rgbaArrayToRGBAColor","RGBA","toLinearSpace","gamma","res","push","pow","toGammaSpace"],"sources":["Colors.ts"],"sourcesContent":["/* global _WORKLET */\n/**\n * Copied from:\n * react-native/Libraries/StyleSheet/normalizeColor.js\n * react-native/Libraries/StyleSheet/processColor.js\n * https://github.com/wcandillon/react-native-redash/blob/master/src/Colors.ts\n */\n\n/* eslint no-bitwise: 0 */\nimport { Platform } from 'react-native';\nimport { makeRemote, makeShareable, isConfigured } from './core';\n\ninterface RGB {\n r: number;\n g: number;\n b: number;\n}\n\ninterface HSV {\n h: number;\n s: number;\n v: number;\n}\n\n// var INTEGER = '[-+]?\\\\d+';\nconst NUMBER = '[-+]?(?:\\\\d+(?:\\\\.\\\\d*)?|\\\\.\\\\d+)';\nconst PERCENTAGE = NUMBER + '%';\n\nfunction call(...args: unknown[]): string {\n 'worklet';\n return '\\\\(\\\\s*(' + args.join(')\\\\s*,\\\\s*(') + ')\\\\s*\\\\)';\n}\n\n// matchers use RegExp objects which needs to be created separately on JS and on\n// the UI thread. We keep separate cache of Regexes for UI and JS using the below\n// objects, then pick the right cache in getMatchers() method.\nconst jsCachedMatchers: Matchers = {};\nconst uiCachedMatchers: Matchers = !isConfigured() ? {} : makeRemote({});\ntype Matchers = {\n rgb?: RegExp;\n rgba?: RegExp;\n hsl?: RegExp;\n hsla?: RegExp;\n hex3?: RegExp;\n hex4?: RegExp;\n hex5?: RegExp;\n hex6?: RegExp;\n hex8?: RegExp;\n};\nfunction getMatchers(): Matchers {\n 'worklet';\n const cachedMatchers: Matchers = _WORKLET\n ? uiCachedMatchers\n : jsCachedMatchers;\n if (cachedMatchers.rgb === undefined) {\n cachedMatchers.rgb = new RegExp('rgb' + call(NUMBER, NUMBER, NUMBER));\n cachedMatchers.rgba = new RegExp(\n 'rgba' + call(NUMBER, NUMBER, NUMBER, NUMBER)\n );\n cachedMatchers.hsl = new RegExp(\n 'hsl' + call(NUMBER, PERCENTAGE, PERCENTAGE)\n );\n cachedMatchers.hsla = new RegExp(\n 'hsla' + call(NUMBER, PERCENTAGE, PERCENTAGE, NUMBER)\n );\n cachedMatchers.hex3 = /^#([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/;\n cachedMatchers.hex4 =\n /^#([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/;\n cachedMatchers.hex6 = /^#([0-9a-fA-F]{6})$/;\n cachedMatchers.hex8 = /^#([0-9a-fA-F]{8})$/;\n }\n return cachedMatchers;\n}\n// cachedMatchers is lazy loaded and it is frozen when worklet is being created,\n// it is possible to call getMatchers() when the object is frozen, then cachedMatchers\n// has no assigned regexes\ngetMatchers();\n\nfunction hue2rgb(p: number, q: number, t: number): number {\n 'worklet';\n if (t < 0) {\n t += 1;\n }\n if (t > 1) {\n t -= 1;\n }\n if (t < 1 / 6) {\n return p + (q - p) * 6 * t;\n }\n if (t < 1 / 2) {\n return q;\n }\n if (t < 2 / 3) {\n return p + (q - p) * (2 / 3 - t) * 6;\n }\n return p;\n}\n\nfunction hslToRgb(h: number, s: number, l: number): number {\n 'worklet';\n const q = l < 0.5 ? l * (1 + s) : l + s - l * s;\n const p = 2 * l - q;\n const r = hue2rgb(p, q, h + 1 / 3);\n const g = hue2rgb(p, q, h);\n const b = hue2rgb(p, q, h - 1 / 3);\n\n return (\n (Math.round(r * 255) << 24) |\n (Math.round(g * 255) << 16) |\n (Math.round(b * 255) << 8)\n );\n}\n\nfunction parse255(str: string): number {\n 'worklet';\n const int = Number.parseInt(str, 10);\n if (int < 0) {\n return 0;\n }\n if (int > 255) {\n return 255;\n }\n return int;\n}\n\nfunction parse360(str: string): number {\n 'worklet';\n const int = Number.parseFloat(str);\n return (((int % 360) + 360) % 360) / 360;\n}\n\nfunction parse1(str: string): number {\n 'worklet';\n const num = Number.parseFloat(str);\n if (num < 0) {\n return 0;\n }\n if (num > 1) {\n return 255;\n }\n return Math.round(num * 255);\n}\n\nfunction parsePercentage(str: string): number {\n 'worklet';\n // parseFloat conveniently ignores the final %\n const int = Number.parseFloat(str);\n if (int < 0) {\n return 0;\n }\n if (int > 100) {\n return 1;\n }\n return int / 100;\n}\n\nconst names: any = !isConfigured()\n ? null\n : makeShareable({\n transparent: 0x00000000,\n\n // http://www.w3.org/TR/css3-color/#svg-color\n aliceblue: 0xf0f8ffff,\n antiquewhite: 0xfaebd7ff,\n aqua: 0x00ffffff,\n aquamarine: 0x7fffd4ff,\n azure: 0xf0ffffff,\n beige: 0xf5f5dcff,\n bisque: 0xffe4c4ff,\n black: 0x000000ff,\n blanchedalmond: 0xffebcdff,\n blue: 0x0000ffff,\n blueviolet: 0x8a2be2ff,\n brown: 0xa52a2aff,\n burlywood: 0xdeb887ff,\n burntsienna: 0xea7e5dff,\n cadetblue: 0x5f9ea0ff,\n chartreuse: 0x7fff00ff,\n chocolate: 0xd2691eff,\n coral: 0xff7f50ff,\n cornflowerblue: 0x6495edff,\n cornsilk: 0xfff8dcff,\n crimson: 0xdc143cff,\n cyan: 0x00ffffff,\n darkblue: 0x00008bff,\n darkcyan: 0x008b8bff,\n darkgoldenrod: 0xb8860bff,\n darkgray: 0xa9a9a9ff,\n darkgreen: 0x006400ff,\n darkgrey: 0xa9a9a9ff,\n darkkhaki: 0xbdb76bff,\n darkmagenta: 0x8b008bff,\n darkolivegreen: 0x556b2fff,\n darkorange: 0xff8c00ff,\n darkorchid: 0x9932ccff,\n darkred: 0x8b0000ff,\n darksalmon: 0xe9967aff,\n darkseagreen: 0x8fbc8fff,\n darkslateblue: 0x483d8bff,\n darkslategray: 0x2f4f4fff,\n darkslategrey: 0x2f4f4fff,\n darkturquoise: 0x00ced1ff,\n darkviolet: 0x9400d3ff,\n deeppink: 0xff1493ff,\n deepskyblue: 0x00bfffff,\n dimgray: 0x696969ff,\n dimgrey: 0x696969ff,\n dodgerblue: 0x1e90ffff,\n firebrick: 0xb22222ff,\n floralwhite: 0xfffaf0ff,\n forestgreen: 0x228b22ff,\n fuchsia: 0xff00ffff,\n gainsboro: 0xdcdcdcff,\n ghostwhite: 0xf8f8ffff,\n gold: 0xffd700ff,\n goldenrod: 0xdaa520ff,\n gray: 0x808080ff,\n green: 0x008000ff,\n greenyellow: 0xadff2fff,\n grey: 0x808080ff,\n honeydew: 0xf0fff0ff,\n hotpink: 0xff69b4ff,\n indianred: 0xcd5c5cff,\n indigo: 0x4b0082ff,\n ivory: 0xfffff0ff,\n khaki: 0xf0e68cff,\n lavender: 0xe6e6faff,\n lavenderblush: 0xfff0f5ff,\n lawngreen: 0x7cfc00ff,\n lemonchiffon: 0xfffacdff,\n lightblue: 0xadd8e6ff,\n lightcoral: 0xf08080ff,\n lightcyan: 0xe0ffffff,\n lightgoldenrodyellow: 0xfafad2ff,\n lightgray: 0xd3d3d3ff,\n lightgreen: 0x90ee90ff,\n lightgrey: 0xd3d3d3ff,\n lightpink: 0xffb6c1ff,\n lightsalmon: 0xffa07aff,\n lightseagreen: 0x20b2aaff,\n lightskyblue: 0x87cefaff,\n lightslategray: 0x778899ff,\n lightslategrey: 0x778899ff,\n lightsteelblue: 0xb0c4deff,\n lightyellow: 0xffffe0ff,\n lime: 0x00ff00ff,\n limegreen: 0x32cd32ff,\n linen: 0xfaf0e6ff,\n magenta: 0xff00ffff,\n maroon: 0x800000ff,\n mediumaquamarine: 0x66cdaaff,\n mediumblue: 0x0000cdff,\n mediumorchid: 0xba55d3ff,\n mediumpurple: 0x9370dbff,\n mediumseagreen: 0x3cb371ff,\n mediumslateblue: 0x7b68eeff,\n mediumspringgreen: 0x00fa9aff,\n mediumturquoise: 0x48d1ccff,\n mediumvioletred: 0xc71585ff,\n midnightblue: 0x191970ff,\n mintcream: 0xf5fffaff,\n mistyrose: 0xffe4e1ff,\n moccasin: 0xffe4b5ff,\n navajowhite: 0xffdeadff,\n navy: 0x000080ff,\n oldlace: 0xfdf5e6ff,\n olive: 0x808000ff,\n olivedrab: 0x6b8e23ff,\n orange: 0xffa500ff,\n orangered: 0xff4500ff,\n orchid: 0xda70d6ff,\n palegoldenrod: 0xeee8aaff,\n palegreen: 0x98fb98ff,\n paleturquoise: 0xafeeeeff,\n palevioletred: 0xdb7093ff,\n papayawhip: 0xffefd5ff,\n peachpuff: 0xffdab9ff,\n peru: 0xcd853fff,\n pink: 0xffc0cbff,\n plum: 0xdda0ddff,\n powderblue: 0xb0e0e6ff,\n purple: 0x800080ff,\n rebeccapurple: 0x663399ff,\n red: 0xff0000ff,\n rosybrown: 0xbc8f8fff,\n royalblue: 0x4169e1ff,\n saddlebrown: 0x8b4513ff,\n salmon: 0xfa8072ff,\n sandybrown: 0xf4a460ff,\n seagreen: 0x2e8b57ff,\n seashell: 0xfff5eeff,\n sienna: 0xa0522dff,\n silver: 0xc0c0c0ff,\n skyblue: 0x87ceebff,\n slateblue: 0x6a5acdff,\n slategray: 0x708090ff,\n slategrey: 0x708090ff,\n snow: 0xfffafaff,\n springgreen: 0x00ff7fff,\n steelblue: 0x4682b4ff,\n tan: 0xd2b48cff,\n teal: 0x008080ff,\n thistle: 0xd8bfd8ff,\n tomato: 0xff6347ff,\n turquoise: 0x40e0d0ff,\n violet: 0xee82eeff,\n wheat: 0xf5deb3ff,\n white: 0xffffffff,\n whitesmoke: 0xf5f5f5ff,\n yellow: 0xffff00ff,\n yellowgreen: 0x9acd32ff,\n });\n\nfunction normalizeColor(color: unknown): number | null {\n 'worklet';\n\n if (typeof color === 'number') {\n if (color >>> 0 === color && color >= 0 && color <= 0xffffffff) {\n return color;\n }\n return null;\n }\n\n if (typeof color !== 'string') {\n return null;\n }\n\n const matchers = getMatchers();\n\n let match: RegExpExecArray | null | undefined;\n\n // Ordered based on occurrences on Facebook codebase\n if ((match = matchers?.hex6?.exec(color))) {\n return Number.parseInt(match[1] + 'ff', 16) >>> 0;\n }\n\n if (names[color] !== undefined) {\n return names[color];\n }\n\n if ((match = matchers?.rgb?.exec(color))) {\n return (\n // b\n ((parse255(match[1]) << 24) | // r\n (parse255(match[2]) << 16) | // g\n (parse255(match[3]) << 8) |\n 0x000000ff) >>> // a\n 0\n );\n }\n\n if ((match = matchers?.rgba?.exec(color))) {\n return (\n // b\n ((parse255(match[1]) << 24) | // r\n (parse255(match[2]) << 16) | // g\n (parse255(match[3]) << 8) |\n parse1(match[4])) >>> // a\n 0\n );\n }\n\n if ((match = matchers?.hex3?.exec(color))) {\n return (\n Number.parseInt(\n match[1] +\n match[1] + // r\n match[2] +\n match[2] + // g\n match[3] +\n match[3] + // b\n 'ff', // a\n 16\n ) >>> 0\n );\n }\n\n // https://drafts.csswg.org/css-color-4/#hex-notation\n if ((match = matchers?.hex8?.exec(color))) {\n return Number.parseInt(match[1], 16) >>> 0;\n }\n\n if ((match = matchers?.hex4?.exec(color))) {\n return (\n Number.parseInt(\n match[1] +\n match[1] + // r\n match[2] +\n match[2] + // g\n match[3] +\n match[3] + // b\n match[4] +\n match[4], // a\n 16\n ) >>> 0\n );\n }\n\n if ((match = matchers?.hsl?.exec(color))) {\n return (\n (hslToRgb(\n parse360(match[1]), // h\n parsePercentage(match[2]), // s\n parsePercentage(match[3]) // l\n ) |\n 0x000000ff) >>> // a\n 0\n );\n }\n\n if ((match = matchers?.hsla?.exec(color))) {\n return (\n (hslToRgb(\n parse360(match[1]), // h\n parsePercentage(match[2]), // s\n parsePercentage(match[3]) // l\n ) |\n parse1(match[4])) >>> // a\n 0\n );\n }\n\n return null;\n}\n\nexport const opacity = (c: number): number => {\n 'worklet';\n return ((c >> 24) & 255) / 255;\n};\n\nexport const red = (c: number): number => {\n 'worklet';\n return (c >> 16) & 255;\n};\n\nexport const green = (c: number): number => {\n 'worklet';\n return (c >> 8) & 255;\n};\n\nexport const blue = (c: number): number => {\n 'worklet';\n return c & 255;\n};\n\nexport const rgbaColor = (\n r: number,\n g: number,\n b: number,\n alpha = 1\n): number | string => {\n 'worklet';\n if (Platform.OS === 'web' || !_WORKLET) {\n return `rgba(${r}, ${g}, ${b}, ${alpha})`;\n }\n\n const c =\n Math.round(alpha * 255) * (1 << 24) +\n Math.round(r) * (1 << 16) +\n Math.round(g) * (1 << 8) +\n Math.round(b);\n if (Platform.OS === 'android') {\n // on Android color is represented as signed 32 bit int\n return c < (1 << 31) >>> 0 ? c : c - 4294967296; // 4294967296 == Math.pow(2, 32);\n }\n return c;\n};\n\n/* accepts parameters\n * r Object = {r:x, g:y, b:z}\n * OR\n * r, g, b\n * 0 <= r, g, b <= 255\n * returns 0 <= h, s, v <= 1\n */\nexport function RGBtoHSV(rgb: RGB): HSV;\nexport function RGBtoHSV(r: number, g: number, b: number): HSV;\nexport function RGBtoHSV(r: any, g?: any, b?: any): HSV {\n 'worklet';\n /* eslint-disable */\n if (arguments.length === 1) {\n g = r.g;\n b = r.b;\n r = r.r;\n }\n const max = Math.max(r, g, b);\n const min = Math.min(r, g, b);\n const d = max - min;\n const s = max === 0 ? 0 : d / max;\n const v = max / 255;\n\n let h;\n\n switch (max) {\n default:\n /* fallthrough */\n case min:\n h = 0;\n break;\n case r:\n h = g - b + d * (g < b ? 6 : 0);\n h /= 6 * d;\n break;\n case g:\n h = b - r + d * 2;\n h /= 6 * d;\n break;\n case b:\n h = r - g + d * 4;\n h /= 6 * d;\n break;\n }\n\n return {\n h: h,\n s: s,\n v: v,\n };\n /* eslint-enable */\n}\n\n/* accepts parameters\n * h Object = {h:x, s:y, v:z}\n * OR\n * h, s, v\n * 0 <= h, s, v <= 1\n * returns 0 <= r, g, b <= 255\n */\nfunction HSVtoRGB(hsv: HSV): RGB;\nfunction HSVtoRGB(h: number, s: number, v: number): RGB;\nfunction HSVtoRGB(h: any, s?: any, v?: any) {\n 'worklet';\n /* eslint-disable */\n var r, g, b, i, f, p, q, t;\n if (arguments.length === 1) {\n s = h.s;\n v = h.v;\n h = h.h;\n }\n i = Math.floor(h * 6);\n f = h * 6 - i;\n p = v * (1 - s);\n q = v * (1 - f * s);\n t = v * (1 - (1 - f) * s);\n switch (i % 6) {\n case 0:\n (r = v), (g = t), (b = p);\n break;\n case 1:\n (r = q), (g = v), (b = p);\n break;\n case 2:\n (r = p), (g = v), (b = t);\n break;\n case 3:\n (r = p), (g = q), (b = v);\n break;\n case 4:\n (r = t), (g = p), (b = v);\n break;\n case 5:\n (r = v), (g = p), (b = q);\n break;\n }\n return {\n r: Math.round(r * 255),\n g: Math.round(g * 255),\n b: Math.round(b * 255),\n };\n /* eslint-enable */\n}\n\nexport const hsvToColor = (\n h: number,\n s: number,\n v: number,\n a: number\n): number | string => {\n 'worklet';\n const { r, g, b } = HSVtoRGB(h, s, v);\n return rgbaColor(r, g, b, a);\n};\n\nexport function processColorInitially(\n color: unknown\n): number | null | undefined {\n 'worklet';\n if (color === null || color === undefined || typeof color === 'number') {\n return color;\n }\n\n let normalizedColor = normalizeColor(color);\n\n if (normalizedColor === null || normalizedColor === undefined) {\n return undefined;\n }\n\n if (typeof normalizedColor !== 'number') {\n return null;\n }\n\n normalizedColor = ((normalizedColor << 24) | (normalizedColor >>> 8)) >>> 0; // argb\n return normalizedColor;\n}\n\nexport function isColor(value: unknown): boolean {\n 'worklet';\n if (typeof value !== 'string') {\n return false;\n }\n return processColorInitially(value) != null;\n}\n\nexport function processColor(color: unknown): number | null | undefined {\n 'worklet';\n let normalizedColor = processColorInitially(color);\n if (normalizedColor === null || normalizedColor === undefined) {\n return undefined;\n }\n\n if (typeof normalizedColor !== 'number') {\n return null;\n }\n\n if (Platform.OS === 'android') {\n // Android use 32 bit *signed* integer to represent the color\n // We utilize the fact that bitwise operations in JS also operates on\n // signed 32 bit integers, so that we can use those to convert from\n // *unsigned* to *signed* 32bit int that way.\n normalizedColor = normalizedColor | 0x0;\n }\n\n return normalizedColor;\n}\n\nexport type ParsedColorArray = [number, number, number, number];\n\nexport function convertToRGBA(color: unknown): ParsedColorArray {\n 'worklet';\n const processedColor = processColorInitially(color)!; // argb;\n const a = (processedColor >>> 24) / 255;\n const r = ((processedColor << 8) >>> 24) / 255;\n const g = ((processedColor << 16) >>> 24) / 255;\n const b = ((processedColor << 24) >>> 24) / 255;\n return [r, g, b, a];\n}\n\nexport function rgbaArrayToRGBAColor(RGBA: ParsedColorArray): string {\n 'worklet';\n return `rgba(${Math.round(RGBA[0] * 255)}, ${Math.round(\n RGBA[1] * 255\n )}, ${Math.round(RGBA[2] * 255)}, ${RGBA[3]})`;\n}\n\nexport function toLinearSpace(\n RGBA: ParsedColorArray,\n gamma = 2.2\n): ParsedColorArray {\n 'worklet';\n const res = [];\n for (let i = 0; i < 3; ++i) {\n res.push(Math.pow(RGBA[i], gamma));\n }\n res.push(RGBA[3]);\n return res as ParsedColorArray;\n}\n\nexport function toGammaSpace(\n RGBA: ParsedColorArray,\n gamma = 2.2\n): ParsedColorArray {\n 'worklet';\n const res = [];\n for (let i = 0; i < 3; ++i) {\n res.push(Math.pow(RGBA[i], 1 / gamma));\n }\n res.push(RGBA[3]);\n return res as ParsedColorArray;\n}\n"],"mappings":"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"}
|
|
@@ -4,8 +4,52 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.Easing = void 0;
|
|
7
|
-
|
|
8
7
|
var _Bezier = require("./Bezier");
|
|
8
|
+
/**
|
|
9
|
+
* The `Easing` module implements common easing functions. This module is used
|
|
10
|
+
* by [Animate.timing()](docs/animate.html#timing) to convey physically
|
|
11
|
+
* believable motion in animations.
|
|
12
|
+
*
|
|
13
|
+
* You can find a visualization of some common easing functions at
|
|
14
|
+
* http://easings.net/
|
|
15
|
+
*
|
|
16
|
+
* ### Predefined animations
|
|
17
|
+
*
|
|
18
|
+
* The `Easing` module provides several predefined animations through the
|
|
19
|
+
* following methods:
|
|
20
|
+
*
|
|
21
|
+
* - [`back`](docs/easing.html#back) provides a simple animation where the
|
|
22
|
+
* object goes slightly back before moving forward
|
|
23
|
+
* - [`bounce`](docs/easing.html#bounce) provides a bouncing animation
|
|
24
|
+
* - [`ease`](docs/easing.html#ease) provides a simple inertial animation
|
|
25
|
+
* - [`elastic`](docs/easing.html#elastic) provides a simple spring interaction
|
|
26
|
+
*
|
|
27
|
+
* ### Standard functions
|
|
28
|
+
*
|
|
29
|
+
* Three standard easing functions are provided:
|
|
30
|
+
*
|
|
31
|
+
* - [`linear`](docs/easing.html#linear)
|
|
32
|
+
* - [`quad`](docs/easing.html#quad)
|
|
33
|
+
* - [`cubic`](docs/easing.html#cubic)
|
|
34
|
+
*
|
|
35
|
+
* The [`poly`](docs/easing.html#poly) function can be used to implement
|
|
36
|
+
* quartic, quintic, and other higher power functions.
|
|
37
|
+
*
|
|
38
|
+
* ### Additional functions
|
|
39
|
+
*
|
|
40
|
+
* Additional mathematical functions are provided by the following methods:
|
|
41
|
+
*
|
|
42
|
+
* - [`bezier`](docs/easing.html#bezier) provides a cubic bezier curve
|
|
43
|
+
* - [`circle`](docs/easing.html#circle) provides a circular function
|
|
44
|
+
* - [`sin`](docs/easing.html#sin) provides a sinusoidal function
|
|
45
|
+
* - [`exp`](docs/easing.html#exp) provides an exponential function
|
|
46
|
+
*
|
|
47
|
+
* The following helpers are used to modify other easing functions.
|
|
48
|
+
*
|
|
49
|
+
* - [`in`](docs/easing.html#in) runs an easing function forwards
|
|
50
|
+
* - [`inOut`](docs/easing.html#inout) makes any easing function symmetrical
|
|
51
|
+
* - [`out`](docs/easing.html#out) runs an easing function backwards
|
|
52
|
+
*/
|
|
9
53
|
|
|
10
54
|
/**
|
|
11
55
|
* A linear function, `f(t) = t`. Position correlates to elapsed time one to
|
|
@@ -18,53 +62,49 @@ function linear(t) {
|
|
|
18
62
|
|
|
19
63
|
return t;
|
|
20
64
|
}
|
|
65
|
+
|
|
21
66
|
/**
|
|
22
67
|
* A simple inertial interaction, similar to an object slowly accelerating to
|
|
23
68
|
* speed.
|
|
24
69
|
*
|
|
25
70
|
* http://cubic-bezier.com/#.42,0,1,1
|
|
26
71
|
*/
|
|
27
|
-
|
|
28
|
-
|
|
29
72
|
function ease(t) {
|
|
30
73
|
'worklet';
|
|
31
74
|
|
|
32
75
|
return (0, _Bezier.Bezier)(0.42, 0, 1, 1)(t);
|
|
33
76
|
}
|
|
77
|
+
|
|
34
78
|
/**
|
|
35
79
|
* A quadratic function, `f(t) = t * t`. Position equals the square of elapsed
|
|
36
80
|
* time.
|
|
37
81
|
*
|
|
38
82
|
* http://easings.net/#easeInQuad
|
|
39
83
|
*/
|
|
40
|
-
|
|
41
|
-
|
|
42
84
|
function quad(t) {
|
|
43
85
|
'worklet';
|
|
44
86
|
|
|
45
87
|
return t * t;
|
|
46
88
|
}
|
|
89
|
+
|
|
47
90
|
/**
|
|
48
91
|
* A cubic function, `f(t) = t * t * t`. Position equals the cube of elapsed
|
|
49
92
|
* time.
|
|
50
93
|
*
|
|
51
94
|
* http://easings.net/#easeInCubic
|
|
52
95
|
*/
|
|
53
|
-
|
|
54
|
-
|
|
55
96
|
function cubic(t) {
|
|
56
97
|
'worklet';
|
|
57
98
|
|
|
58
99
|
return t * t * t;
|
|
59
100
|
}
|
|
101
|
+
|
|
60
102
|
/**
|
|
61
103
|
* A power function. Position is equal to the Nth power of elapsed time.
|
|
62
104
|
*
|
|
63
105
|
* n = 4: http://easings.net/#easeInQuart
|
|
64
106
|
* n = 5: http://easings.net/#easeInQuint
|
|
65
107
|
*/
|
|
66
|
-
|
|
67
|
-
|
|
68
108
|
function poly(n) {
|
|
69
109
|
'worklet';
|
|
70
110
|
|
|
@@ -74,42 +114,40 @@ function poly(n) {
|
|
|
74
114
|
return Math.pow(t, n);
|
|
75
115
|
};
|
|
76
116
|
}
|
|
117
|
+
|
|
77
118
|
/**
|
|
78
119
|
* A sinusoidal function.
|
|
79
120
|
*
|
|
80
121
|
* http://easings.net/#easeInSine
|
|
81
122
|
*/
|
|
82
|
-
|
|
83
|
-
|
|
84
123
|
function sin(t) {
|
|
85
124
|
'worklet';
|
|
86
125
|
|
|
87
126
|
return 1 - Math.cos(t * Math.PI / 2);
|
|
88
127
|
}
|
|
128
|
+
|
|
89
129
|
/**
|
|
90
130
|
* A circular function.
|
|
91
131
|
*
|
|
92
132
|
* http://easings.net/#easeInCirc
|
|
93
133
|
*/
|
|
94
|
-
|
|
95
|
-
|
|
96
134
|
function circle(t) {
|
|
97
135
|
'worklet';
|
|
98
136
|
|
|
99
137
|
return 1 - Math.sqrt(1 - t * t);
|
|
100
138
|
}
|
|
139
|
+
|
|
101
140
|
/**
|
|
102
141
|
* An exponential function.
|
|
103
142
|
*
|
|
104
143
|
* http://easings.net/#easeInExpo
|
|
105
144
|
*/
|
|
106
|
-
|
|
107
|
-
|
|
108
145
|
function exp(t) {
|
|
109
146
|
'worklet';
|
|
110
147
|
|
|
111
148
|
return Math.pow(2, 10 * (t - 1));
|
|
112
149
|
}
|
|
150
|
+
|
|
113
151
|
/**
|
|
114
152
|
* A simple elastic interaction, similar to a spring oscillating back and
|
|
115
153
|
* forth.
|
|
@@ -120,8 +158,6 @@ function exp(t) {
|
|
|
120
158
|
*
|
|
121
159
|
* http://easings.net/#easeInElastic
|
|
122
160
|
*/
|
|
123
|
-
|
|
124
|
-
|
|
125
161
|
function elastic() {
|
|
126
162
|
'worklet';
|
|
127
163
|
|
|
@@ -133,6 +169,7 @@ function elastic() {
|
|
|
133
169
|
return 1 - Math.pow(Math.cos(t * Math.PI / 2), 3) * Math.cos(t * p);
|
|
134
170
|
};
|
|
135
171
|
}
|
|
172
|
+
|
|
136
173
|
/**
|
|
137
174
|
* Use with `Animated.parallel()` to create a simple effect where the object
|
|
138
175
|
* animates back slightly as the animation starts.
|
|
@@ -141,8 +178,6 @@ function elastic() {
|
|
|
141
178
|
*
|
|
142
179
|
* - http://tiny.cc/back_default (s = 1.70158, default)
|
|
143
180
|
*/
|
|
144
|
-
|
|
145
|
-
|
|
146
181
|
function back() {
|
|
147
182
|
'worklet';
|
|
148
183
|
|
|
@@ -153,33 +188,30 @@ function back() {
|
|
|
153
188
|
return t * t * ((s + 1) * t - s);
|
|
154
189
|
};
|
|
155
190
|
}
|
|
191
|
+
|
|
156
192
|
/**
|
|
157
193
|
* Provides a simple bouncing effect.
|
|
158
194
|
*
|
|
159
195
|
* http://easings.net/#easeInBounce
|
|
160
196
|
*/
|
|
161
|
-
|
|
162
|
-
|
|
163
197
|
function bounce(t) {
|
|
164
198
|
'worklet';
|
|
165
199
|
|
|
166
200
|
if (t < 1 / 2.75) {
|
|
167
201
|
return 7.5625 * t * t;
|
|
168
202
|
}
|
|
169
|
-
|
|
170
203
|
if (t < 2 / 2.75) {
|
|
171
204
|
const t2 = t - 1.5 / 2.75;
|
|
172
205
|
return 7.5625 * t2 * t2 + 0.75;
|
|
173
206
|
}
|
|
174
|
-
|
|
175
207
|
if (t < 2.5 / 2.75) {
|
|
176
208
|
const t2 = t - 2.25 / 2.75;
|
|
177
209
|
return 7.5625 * t2 * t2 + 0.9375;
|
|
178
210
|
}
|
|
179
|
-
|
|
180
211
|
const t2 = t - 2.625 / 2.75;
|
|
181
212
|
return 7.5625 * t2 * t2 + 0.984375;
|
|
182
213
|
}
|
|
214
|
+
|
|
183
215
|
/**
|
|
184
216
|
* Provides a cubic bezier curve, equivalent to CSS Transitions'
|
|
185
217
|
* `transition-timing-function`.
|
|
@@ -187,8 +219,6 @@ function bounce(t) {
|
|
|
187
219
|
* A useful tool to visualize cubic bezier curves can be found at
|
|
188
220
|
* http://cubic-bezier.com/
|
|
189
221
|
*/
|
|
190
|
-
|
|
191
|
-
|
|
192
222
|
function bezier(x1, y1, x2, y2) {
|
|
193
223
|
'worklet';
|
|
194
224
|
|
|
@@ -200,27 +230,24 @@ function bezier(x1, y1, x2, y2) {
|
|
|
200
230
|
}
|
|
201
231
|
};
|
|
202
232
|
}
|
|
203
|
-
|
|
204
233
|
function bezierFn(x1, y1, x2, y2) {
|
|
205
234
|
'worklet';
|
|
206
235
|
|
|
207
236
|
return (0, _Bezier.Bezier)(x1, y1, x2, y2);
|
|
208
237
|
}
|
|
238
|
+
|
|
209
239
|
/**
|
|
210
240
|
* Runs an easing function forwards.
|
|
211
241
|
*/
|
|
212
|
-
|
|
213
|
-
|
|
214
242
|
function in_(easing) {
|
|
215
243
|
'worklet';
|
|
216
244
|
|
|
217
245
|
return easing;
|
|
218
246
|
}
|
|
247
|
+
|
|
219
248
|
/**
|
|
220
249
|
* Runs an easing function backwards.
|
|
221
250
|
*/
|
|
222
|
-
|
|
223
|
-
|
|
224
251
|
function out(easing) {
|
|
225
252
|
'worklet';
|
|
226
253
|
|
|
@@ -230,13 +257,12 @@ function out(easing) {
|
|
|
230
257
|
return 1 - easing(1 - t);
|
|
231
258
|
};
|
|
232
259
|
}
|
|
260
|
+
|
|
233
261
|
/**
|
|
234
262
|
* Makes any easing function symmetrical. The easing function will run
|
|
235
263
|
* forwards for half of the duration, then backwards for the rest of the
|
|
236
264
|
* duration.
|
|
237
265
|
*/
|
|
238
|
-
|
|
239
|
-
|
|
240
266
|
function inOut(easing) {
|
|
241
267
|
'worklet';
|
|
242
268
|
|
|
@@ -246,11 +272,31 @@ function inOut(easing) {
|
|
|
246
272
|
if (t < 0.5) {
|
|
247
273
|
return easing(t * 2) / 2;
|
|
248
274
|
}
|
|
249
|
-
|
|
250
275
|
return 1 - easing((1 - t) * 2) / 2;
|
|
251
276
|
};
|
|
252
277
|
}
|
|
253
278
|
|
|
279
|
+
/**
|
|
280
|
+
* The `steps` easing function jumps between discrete values at regular intervals,
|
|
281
|
+
* creating a stepped animation effect. The `n` parameter determines the number of
|
|
282
|
+
* steps in the animation, and the `roundToNextStep` parameter determines whether the animation
|
|
283
|
+
* should start at the beginning or end of each step.
|
|
284
|
+
*/
|
|
285
|
+
function steps() {
|
|
286
|
+
'worklet';
|
|
287
|
+
|
|
288
|
+
let n = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 10;
|
|
289
|
+
let roundToNextStep = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;
|
|
290
|
+
return t => {
|
|
291
|
+
'worklet';
|
|
292
|
+
|
|
293
|
+
const value = Math.min(Math.max(t, 0), 1) * n;
|
|
294
|
+
if (roundToNextStep) {
|
|
295
|
+
return Math.ceil(value) / n;
|
|
296
|
+
}
|
|
297
|
+
return Math.floor(value) / n;
|
|
298
|
+
};
|
|
299
|
+
}
|
|
254
300
|
const EasingObject = {
|
|
255
301
|
linear,
|
|
256
302
|
ease,
|
|
@@ -265,6 +311,7 @@ const EasingObject = {
|
|
|
265
311
|
bounce,
|
|
266
312
|
bezier,
|
|
267
313
|
bezierFn,
|
|
314
|
+
steps,
|
|
268
315
|
in: in_,
|
|
269
316
|
out,
|
|
270
317
|
inOut
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["linear","t","ease","Bezier","quad","cubic","poly","n","Math","pow","sin","cos","PI","circle","sqrt","exp","elastic","bounciness","p","back","s","bounce","t2","bezier","x1","y1","x2","y2","factory","bezierFn","in_","easing","out","inOut","EasingObject","in","Easing"],"sources":["Easing.ts"],"sourcesContent":["import { Bezier } from './Bezier';\n\n/**\n * The `Easing` module implements common easing functions. This module is used\n * by [Animate.timing()](docs/animate.html#timing) to convey physically\n * believable motion in animations.\n *\n * You can find a visualization of some common easing functions at\n * http://easings.net/\n *\n * ### Predefined animations\n *\n * The `Easing` module provides several predefined animations through the\n * following methods:\n *\n * - [`back`](docs/easing.html#back) provides a simple animation where the\n * object goes slightly back before moving forward\n * - [`bounce`](docs/easing.html#bounce) provides a bouncing animation\n * - [`ease`](docs/easing.html#ease) provides a simple inertial animation\n * - [`elastic`](docs/easing.html#elastic) provides a simple spring interaction\n *\n * ### Standard functions\n *\n * Three standard easing functions are provided:\n *\n * - [`linear`](docs/easing.html#linear)\n * - [`quad`](docs/easing.html#quad)\n * - [`cubic`](docs/easing.html#cubic)\n *\n * The [`poly`](docs/easing.html#poly) function can be used to implement\n * quartic, quintic, and other higher power functions.\n *\n * ### Additional functions\n *\n * Additional mathematical functions are provided by the following methods:\n *\n * - [`bezier`](docs/easing.html#bezier) provides a cubic bezier curve\n * - [`circle`](docs/easing.html#circle) provides a circular function\n * - [`sin`](docs/easing.html#sin) provides a sinusoidal function\n * - [`exp`](docs/easing.html#exp) provides an exponential function\n *\n * The following helpers are used to modify other easing functions.\n *\n * - [`in`](docs/easing.html#in) runs an easing function forwards\n * - [`inOut`](docs/easing.html#inout) makes any easing function symmetrical\n * - [`out`](docs/easing.html#out) runs an easing function backwards\n */\n\nexport type EasingFn = (t: number) => number;\n\nexport type EasingFactoryFn = { factory: () => EasingFn };\n/**\n * A linear function, `f(t) = t`. Position correlates to elapsed time one to\n * one.\n *\n * http://cubic-bezier.com/#0,0,1,1\n */\nfunction linear(t: number): number {\n 'worklet';\n return t;\n}\n\n/**\n * A simple inertial interaction, similar to an object slowly accelerating to\n * speed.\n *\n * http://cubic-bezier.com/#.42,0,1,1\n */\nfunction ease(t: number): number {\n 'worklet';\n return Bezier(0.42, 0, 1, 1)(t);\n}\n\n/**\n * A quadratic function, `f(t) = t * t`. Position equals the square of elapsed\n * time.\n *\n * http://easings.net/#easeInQuad\n */\nfunction quad(t: number): number {\n 'worklet';\n return t * t;\n}\n\n/**\n * A cubic function, `f(t) = t * t * t`. Position equals the cube of elapsed\n * time.\n *\n * http://easings.net/#easeInCubic\n */\nfunction cubic(t: number): number {\n 'worklet';\n return t * t * t;\n}\n\n/**\n * A power function. Position is equal to the Nth power of elapsed time.\n *\n * n = 4: http://easings.net/#easeInQuart\n * n = 5: http://easings.net/#easeInQuint\n */\nfunction poly(n: number): EasingFn {\n 'worklet';\n return (t) => {\n 'worklet';\n return Math.pow(t, n);\n };\n}\n\n/**\n * A sinusoidal function.\n *\n * http://easings.net/#easeInSine\n */\nfunction sin(t: number): number {\n 'worklet';\n return 1 - Math.cos((t * Math.PI) / 2);\n}\n\n/**\n * A circular function.\n *\n * http://easings.net/#easeInCirc\n */\nfunction circle(t: number): number {\n 'worklet';\n return 1 - Math.sqrt(1 - t * t);\n}\n\n/**\n * An exponential function.\n *\n * http://easings.net/#easeInExpo\n */\nfunction exp(t: number): number {\n 'worklet';\n return Math.pow(2, 10 * (t - 1));\n}\n\n/**\n * A simple elastic interaction, similar to a spring oscillating back and\n * forth.\n *\n * Default bounciness is 1, which overshoots a little bit once. 0 bounciness\n * doesn't overshoot at all, and bounciness of N > 1 will overshoot about N\n * times.\n *\n * http://easings.net/#easeInElastic\n */\nfunction elastic(bounciness = 1): EasingFn {\n 'worklet';\n const p = bounciness * Math.PI;\n return (t) => {\n 'worklet';\n return 1 - Math.pow(Math.cos((t * Math.PI) / 2), 3) * Math.cos(t * p);\n };\n}\n\n/**\n * Use with `Animated.parallel()` to create a simple effect where the object\n * animates back slightly as the animation starts.\n *\n * Wolfram Plot:\n *\n * - http://tiny.cc/back_default (s = 1.70158, default)\n */\nfunction back(s = 1.70158): (t: number) => number {\n 'worklet';\n return (t) => {\n 'worklet';\n return t * t * ((s + 1) * t - s);\n };\n}\n\n/**\n * Provides a simple bouncing effect.\n *\n * http://easings.net/#easeInBounce\n */\nfunction bounce(t: number): number {\n 'worklet';\n if (t < 1 / 2.75) {\n return 7.5625 * t * t;\n }\n\n if (t < 2 / 2.75) {\n const t2 = t - 1.5 / 2.75;\n return 7.5625 * t2 * t2 + 0.75;\n }\n\n if (t < 2.5 / 2.75) {\n const t2 = t - 2.25 / 2.75;\n return 7.5625 * t2 * t2 + 0.9375;\n }\n\n const t2 = t - 2.625 / 2.75;\n return 7.5625 * t2 * t2 + 0.984375;\n}\n\n/**\n * Provides a cubic bezier curve, equivalent to CSS Transitions'\n * `transition-timing-function`.\n *\n * A useful tool to visualize cubic bezier curves can be found at\n * http://cubic-bezier.com/\n */\nfunction bezier(\n x1: number,\n y1: number,\n x2: number,\n y2: number\n): { factory: () => (x: number) => number } {\n 'worklet';\n return {\n factory: () => {\n 'worklet';\n return Bezier(x1, y1, x2, y2);\n },\n };\n}\n\nfunction bezierFn(\n x1: number,\n y1: number,\n x2: number,\n y2: number\n): (x: number) => number {\n 'worklet';\n return Bezier(x1, y1, x2, y2);\n}\n\n/**\n * Runs an easing function forwards.\n */\nfunction in_(easing: EasingFn): EasingFn {\n 'worklet';\n return easing;\n}\n\n/**\n * Runs an easing function backwards.\n */\nfunction out(easing: EasingFn): EasingFn {\n 'worklet';\n return (t) => {\n 'worklet';\n return 1 - easing(1 - t);\n };\n}\n\n/**\n * Makes any easing function symmetrical. The easing function will run\n * forwards for half of the duration, then backwards for the rest of the\n * duration.\n */\nfunction inOut(easing: EasingFn): EasingFn {\n 'worklet';\n return (t) => {\n 'worklet';\n if (t < 0.5) {\n return easing(t * 2) / 2;\n }\n return 1 - easing((1 - t) * 2) / 2;\n };\n}\n\nconst EasingObject = {\n linear,\n ease,\n quad,\n cubic,\n poly,\n sin,\n circle,\n exp,\n elastic,\n back,\n bounce,\n bezier,\n bezierFn,\n in: in_,\n out,\n inOut,\n};\n\nexport const Easing = EasingObject;\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["_Bezier","require","linear","t","ease","Bezier","quad","cubic","poly","n","Math","pow","sin","cos","PI","circle","sqrt","exp","elastic","bounciness","arguments","length","undefined","p","back","s","bounce","t2","bezier","x1","y1","x2","y2","factory","bezierFn","in_","easing","out","inOut","steps","roundToNextStep","value","min","max","ceil","floor","EasingObject","in","Easing","exports"],"sources":["Easing.ts"],"sourcesContent":["import { Bezier } from './Bezier';\n\n/**\n * The `Easing` module implements common easing functions. This module is used\n * by [Animate.timing()](docs/animate.html#timing) to convey physically\n * believable motion in animations.\n *\n * You can find a visualization of some common easing functions at\n * http://easings.net/\n *\n * ### Predefined animations\n *\n * The `Easing` module provides several predefined animations through the\n * following methods:\n *\n * - [`back`](docs/easing.html#back) provides a simple animation where the\n * object goes slightly back before moving forward\n * - [`bounce`](docs/easing.html#bounce) provides a bouncing animation\n * - [`ease`](docs/easing.html#ease) provides a simple inertial animation\n * - [`elastic`](docs/easing.html#elastic) provides a simple spring interaction\n *\n * ### Standard functions\n *\n * Three standard easing functions are provided:\n *\n * - [`linear`](docs/easing.html#linear)\n * - [`quad`](docs/easing.html#quad)\n * - [`cubic`](docs/easing.html#cubic)\n *\n * The [`poly`](docs/easing.html#poly) function can be used to implement\n * quartic, quintic, and other higher power functions.\n *\n * ### Additional functions\n *\n * Additional mathematical functions are provided by the following methods:\n *\n * - [`bezier`](docs/easing.html#bezier) provides a cubic bezier curve\n * - [`circle`](docs/easing.html#circle) provides a circular function\n * - [`sin`](docs/easing.html#sin) provides a sinusoidal function\n * - [`exp`](docs/easing.html#exp) provides an exponential function\n *\n * The following helpers are used to modify other easing functions.\n *\n * - [`in`](docs/easing.html#in) runs an easing function forwards\n * - [`inOut`](docs/easing.html#inout) makes any easing function symmetrical\n * - [`out`](docs/easing.html#out) runs an easing function backwards\n */\n\nexport type EasingFn = (t: number) => number;\n\nexport type EasingFactoryFn = { factory: () => EasingFn };\n/**\n * A linear function, `f(t) = t`. Position correlates to elapsed time one to\n * one.\n *\n * http://cubic-bezier.com/#0,0,1,1\n */\nfunction linear(t: number): number {\n 'worklet';\n return t;\n}\n\n/**\n * A simple inertial interaction, similar to an object slowly accelerating to\n * speed.\n *\n * http://cubic-bezier.com/#.42,0,1,1\n */\nfunction ease(t: number): number {\n 'worklet';\n return Bezier(0.42, 0, 1, 1)(t);\n}\n\n/**\n * A quadratic function, `f(t) = t * t`. Position equals the square of elapsed\n * time.\n *\n * http://easings.net/#easeInQuad\n */\nfunction quad(t: number): number {\n 'worklet';\n return t * t;\n}\n\n/**\n * A cubic function, `f(t) = t * t * t`. Position equals the cube of elapsed\n * time.\n *\n * http://easings.net/#easeInCubic\n */\nfunction cubic(t: number): number {\n 'worklet';\n return t * t * t;\n}\n\n/**\n * A power function. Position is equal to the Nth power of elapsed time.\n *\n * n = 4: http://easings.net/#easeInQuart\n * n = 5: http://easings.net/#easeInQuint\n */\nfunction poly(n: number): EasingFn {\n 'worklet';\n return (t) => {\n 'worklet';\n return Math.pow(t, n);\n };\n}\n\n/**\n * A sinusoidal function.\n *\n * http://easings.net/#easeInSine\n */\nfunction sin(t: number): number {\n 'worklet';\n return 1 - Math.cos((t * Math.PI) / 2);\n}\n\n/**\n * A circular function.\n *\n * http://easings.net/#easeInCirc\n */\nfunction circle(t: number): number {\n 'worklet';\n return 1 - Math.sqrt(1 - t * t);\n}\n\n/**\n * An exponential function.\n *\n * http://easings.net/#easeInExpo\n */\nfunction exp(t: number): number {\n 'worklet';\n return Math.pow(2, 10 * (t - 1));\n}\n\n/**\n * A simple elastic interaction, similar to a spring oscillating back and\n * forth.\n *\n * Default bounciness is 1, which overshoots a little bit once. 0 bounciness\n * doesn't overshoot at all, and bounciness of N > 1 will overshoot about N\n * times.\n *\n * http://easings.net/#easeInElastic\n */\nfunction elastic(bounciness = 1): EasingFn {\n 'worklet';\n const p = bounciness * Math.PI;\n return (t) => {\n 'worklet';\n return 1 - Math.pow(Math.cos((t * Math.PI) / 2), 3) * Math.cos(t * p);\n };\n}\n\n/**\n * Use with `Animated.parallel()` to create a simple effect where the object\n * animates back slightly as the animation starts.\n *\n * Wolfram Plot:\n *\n * - http://tiny.cc/back_default (s = 1.70158, default)\n */\nfunction back(s = 1.70158): (t: number) => number {\n 'worklet';\n return (t) => {\n 'worklet';\n return t * t * ((s + 1) * t - s);\n };\n}\n\n/**\n * Provides a simple bouncing effect.\n *\n * http://easings.net/#easeInBounce\n */\nfunction bounce(t: number): number {\n 'worklet';\n if (t < 1 / 2.75) {\n return 7.5625 * t * t;\n }\n\n if (t < 2 / 2.75) {\n const t2 = t - 1.5 / 2.75;\n return 7.5625 * t2 * t2 + 0.75;\n }\n\n if (t < 2.5 / 2.75) {\n const t2 = t - 2.25 / 2.75;\n return 7.5625 * t2 * t2 + 0.9375;\n }\n\n const t2 = t - 2.625 / 2.75;\n return 7.5625 * t2 * t2 + 0.984375;\n}\n\n/**\n * Provides a cubic bezier curve, equivalent to CSS Transitions'\n * `transition-timing-function`.\n *\n * A useful tool to visualize cubic bezier curves can be found at\n * http://cubic-bezier.com/\n */\nfunction bezier(\n x1: number,\n y1: number,\n x2: number,\n y2: number\n): { factory: () => (x: number) => number } {\n 'worklet';\n return {\n factory: () => {\n 'worklet';\n return Bezier(x1, y1, x2, y2);\n },\n };\n}\n\nfunction bezierFn(\n x1: number,\n y1: number,\n x2: number,\n y2: number\n): (x: number) => number {\n 'worklet';\n return Bezier(x1, y1, x2, y2);\n}\n\n/**\n * Runs an easing function forwards.\n */\nfunction in_(easing: EasingFn): EasingFn {\n 'worklet';\n return easing;\n}\n\n/**\n * Runs an easing function backwards.\n */\nfunction out(easing: EasingFn): EasingFn {\n 'worklet';\n return (t) => {\n 'worklet';\n return 1 - easing(1 - t);\n };\n}\n\n/**\n * Makes any easing function symmetrical. The easing function will run\n * forwards for half of the duration, then backwards for the rest of the\n * duration.\n */\nfunction inOut(easing: EasingFn): EasingFn {\n 'worklet';\n return (t) => {\n 'worklet';\n if (t < 0.5) {\n return easing(t * 2) / 2;\n }\n return 1 - easing((1 - t) * 2) / 2;\n };\n}\n\n/**\n * The `steps` easing function jumps between discrete values at regular intervals,\n * creating a stepped animation effect. The `n` parameter determines the number of\n * steps in the animation, and the `roundToNextStep` parameter determines whether the animation\n * should start at the beginning or end of each step.\n */\nfunction steps(n = 10, roundToNextStep = true): EasingFn {\n 'worklet';\n return (t) => {\n 'worklet';\n const value = Math.min(Math.max(t, 0), 1) * n;\n if (roundToNextStep) {\n return Math.ceil(value) / n;\n }\n return Math.floor(value) / n;\n };\n}\n\nconst EasingObject = {\n linear,\n ease,\n quad,\n cubic,\n poly,\n sin,\n circle,\n exp,\n elastic,\n back,\n bounce,\n bezier,\n bezierFn,\n steps,\n in: in_,\n out,\n inOut,\n};\n\nexport const Easing = EasingObject;\n"],"mappings":";;;;;;AAAA,IAAAA,OAAA,GAAAC,OAAA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAKA;AACA;AACA;AACA;AACA;AACA;AACA,SAASC,MAAMA,CAACC,CAAS,EAAU;EACjC,SAAS;;EACT,OAAOA,CAAC;AACV;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,SAASC,IAAIA,CAACD,CAAS,EAAU;EAC/B,SAAS;;EACT,OAAO,IAAAE,cAAM,EAAC,IAAI,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAACF,CAAC,CAAC;AACjC;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,SAASG,IAAIA,CAACH,CAAS,EAAU;EAC/B,SAAS;;EACT,OAAOA,CAAC,GAAGA,CAAC;AACd;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,SAASI,KAAKA,CAACJ,CAAS,EAAU;EAChC,SAAS;;EACT,OAAOA,CAAC,GAAGA,CAAC,GAAGA,CAAC;AAClB;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,SAASK,IAAIA,CAACC,CAAS,EAAY;EACjC,SAAS;;EACT,OAAQN,CAAC,IAAK;IACZ,SAAS;;IACT,OAAOO,IAAI,CAACC,GAAG,CAACR,CAAC,EAAEM,CAAC,CAAC;EACvB,CAAC;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA,SAASG,GAAGA,CAACT,CAAS,EAAU;EAC9B,SAAS;;EACT,OAAO,CAAC,GAAGO,IAAI,CAACG,GAAG,CAAEV,CAAC,GAAGO,IAAI,CAACI,EAAE,GAAI,CAAC,CAAC;AACxC;;AAEA;AACA;AACA;AACA;AACA;AACA,SAASC,MAAMA,CAACZ,CAAS,EAAU;EACjC,SAAS;;EACT,OAAO,CAAC,GAAGO,IAAI,CAACM,IAAI,CAAC,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"}
|
|
@@ -7,24 +7,19 @@ exports.dispatchCommand = dispatchCommand;
|
|
|
7
7
|
exports.getTag = getTag;
|
|
8
8
|
exports.scrollTo = exports.measure = void 0;
|
|
9
9
|
exports.setGestureState = setGestureState;
|
|
10
|
-
|
|
11
10
|
var _reactNative = require("react-native");
|
|
12
|
-
|
|
13
11
|
var _PlatformChecker = require("./PlatformChecker");
|
|
14
|
-
|
|
15
12
|
/* global _WORKLET _measure _scrollTo _dispatchCommand _setGestureState */
|
|
13
|
+
|
|
16
14
|
function getTag(view) {
|
|
17
15
|
return (0, _reactNative.findNodeHandle)(view);
|
|
18
16
|
}
|
|
19
|
-
|
|
20
17
|
const isNative = !(0, _PlatformChecker.shouldBeUseWeb)();
|
|
21
18
|
let measure;
|
|
22
19
|
exports.measure = measure;
|
|
23
|
-
|
|
24
20
|
if ((0, _PlatformChecker.isWeb)()) {
|
|
25
21
|
exports.measure = measure = animatedRef => {
|
|
26
22
|
const element = animatedRef(); // TODO: fix typing of animated refs on web
|
|
27
|
-
|
|
28
23
|
const viewportOffset = element.getBoundingClientRect();
|
|
29
24
|
return {
|
|
30
25
|
width: element.offsetWidth,
|
|
@@ -48,16 +43,12 @@ if ((0, _PlatformChecker.isWeb)()) {
|
|
|
48
43
|
console.warn('[Reanimated] measure() was called from the main JS context. Measure is ' + 'only available in the UI runtime. This may also happen if measure() ' + 'was called by a worklet in the useAnimatedStyle hook, because useAnimatedStyle ' + 'calls the given worklet on the JS runtime during render. If you want to ' + 'prevent this warning then wrap the call with `if (_WORKLET)`. Then it will ' + 'only be called on the UI runtime after the render has been completed.');
|
|
49
44
|
return null;
|
|
50
45
|
}
|
|
51
|
-
|
|
52
46
|
const viewTag = animatedRef();
|
|
53
|
-
|
|
54
47
|
if (viewTag === -1) {
|
|
55
48
|
console.warn(`[Reanimated] The view with tag ${viewTag} is not a valid argument for measure(). This may be because the view is not currently rendered, which may not be a bug (e.g. an off-screen FlatList item).`);
|
|
56
49
|
return null;
|
|
57
50
|
}
|
|
58
|
-
|
|
59
51
|
const measured = _measure(viewTag);
|
|
60
|
-
|
|
61
52
|
if (measured === null) {
|
|
62
53
|
console.warn(`[Reanimated] The view with tag ${viewTag} has some undefined, not-yet-computed or meaningless value of \`LayoutMetrics\` type. This may be because the view is not currently rendered, which may not be a bug (e.g. an off-screen FlatList item).`);
|
|
63
54
|
return null;
|
|
@@ -72,7 +63,6 @@ if ((0, _PlatformChecker.isWeb)()) {
|
|
|
72
63
|
}
|
|
73
64
|
};
|
|
74
65
|
}
|
|
75
|
-
|
|
76
66
|
function dispatchCommand(animatedRef, commandName, args) {
|
|
77
67
|
'worklet';
|
|
78
68
|
|
|
@@ -80,20 +70,19 @@ function dispatchCommand(animatedRef, commandName, args) {
|
|
|
80
70
|
return;
|
|
81
71
|
}
|
|
82
72
|
|
|
73
|
+
// dispatchCommand works only on Fabric where animatedRef returns
|
|
74
|
+
// an object (ShadowNodeWrapper) and not a number
|
|
83
75
|
const shadowNodeWrapper = animatedRef();
|
|
84
|
-
|
|
85
76
|
_dispatchCommand(shadowNodeWrapper, commandName, args);
|
|
86
77
|
}
|
|
87
|
-
|
|
88
78
|
let scrollTo;
|
|
89
79
|
exports.scrollTo = scrollTo;
|
|
90
|
-
|
|
91
80
|
if ((0, _PlatformChecker.isWeb)()) {
|
|
92
81
|
exports.scrollTo = scrollTo = (animatedRef, x, y, animated) => {
|
|
93
82
|
'worklet';
|
|
94
83
|
|
|
95
|
-
const element = animatedRef();
|
|
96
|
-
|
|
84
|
+
const element = animatedRef();
|
|
85
|
+
// @ts-ignore same call as in react-native-web
|
|
97
86
|
element.scrollTo({
|
|
98
87
|
x,
|
|
99
88
|
y,
|
|
@@ -114,15 +103,15 @@ if ((0, _PlatformChecker.isWeb)()) {
|
|
|
114
103
|
return;
|
|
115
104
|
}
|
|
116
105
|
|
|
106
|
+
// Calling animatedRef on Paper returns a number (nativeTag)
|
|
117
107
|
const viewTag = animatedRef();
|
|
118
|
-
|
|
119
108
|
_scrollTo(viewTag, x, y, animated);
|
|
120
109
|
};
|
|
121
110
|
} else {
|
|
122
|
-
exports.scrollTo = scrollTo = (_animatedRef, _x, _y) => {
|
|
111
|
+
exports.scrollTo = scrollTo = (_animatedRef, _x, _y) => {
|
|
112
|
+
// no-op
|
|
123
113
|
};
|
|
124
114
|
}
|
|
125
|
-
|
|
126
115
|
function setGestureState(handlerTag, newState) {
|
|
127
116
|
'worklet';
|
|
128
117
|
|
|
@@ -130,7 +119,6 @@ function setGestureState(handlerTag, newState) {
|
|
|
130
119
|
console.warn('[Reanimated] You can not use setGestureState in non-worklet function.');
|
|
131
120
|
return;
|
|
132
121
|
}
|
|
133
|
-
|
|
134
122
|
_setGestureState(handlerTag, newState);
|
|
135
123
|
}
|
|
136
124
|
//# sourceMappingURL=NativeMethods.js.map
|