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":["Platform","makeRemote","makeShareable","isConfigured","NUMBER","PERCENTAGE","call","args","join","jsCachedMatchers","uiCachedMatchers","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","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","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":"AAAA;;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,SAASA,QAAT,QAAyB,cAAzB;AACA,SAASC,UAAT,EAAqBC,aAArB,EAAoCC,YAApC,QAAwD,QAAxD;AAcA;AACA,MAAMC,MAAM,GAAG,mCAAf;AACA,MAAMC,UAAU,GAAGD,MAAM,GAAG,GAA5B;;AAEA,SAASE,IAAT,GAA0C;EACxC;;EADwC,kCAAzBC,IAAyB;IAAzBA,IAAyB;EAAA;;EAExC,OAAO,aAAaA,IAAI,CAACC,IAAL,CAAU,aAAV,CAAb,GAAwC,UAA/C;AACD,C,CAED;AACA;AACA;;;AACA,MAAMC,gBAA0B,GAAG,EAAnC;AACA,MAAMC,gBAA0B,GAAG,CAACP,YAAY,EAAb,GAAkB,EAAlB,GAAuBF,UAAU,CAAC,EAAD,CAApE;;AAYA,SAASU,WAAT,GAAiC;EAC/B;;EACA,MAAMC,cAAwB,GAAGC,QAAQ,GACrCH,gBADqC,GAErCD,gBAFJ;;EAGA,IAAIG,cAAc,CAACE,GAAf,KAAuBC,SAA3B,EAAsC;IACpCH,cAAc,CAACE,GAAf,GAAqB,IAAIE,MAAJ,CAAW,QAAQV,IAAI,CAACF,MAAD,EAASA,MAAT,EAAiBA,MAAjB,CAAvB,CAArB;IACAQ,cAAc,CAACK,IAAf,GAAsB,IAAID,MAAJ,CACpB,SAASV,IAAI,CAACF,MAAD,EAASA,MAAT,EAAiBA,MAAjB,EAAyBA,MAAzB,CADO,CAAtB;IAGAQ,cAAc,CAACM,GAAf,GAAqB,IAAIF,MAAJ,CACnB,QAAQV,IAAI,CAACF,MAAD,EAASC,UAAT,EAAqBA,UAArB,CADO,CAArB;IAGAO,cAAc,CAACO,IAAf,GAAsB,IAAIH,MAAJ,CACpB,SAASV,IAAI,CAACF,MAAD,EAASC,UAAT,EAAqBA,UAArB,EAAiCD,MAAjC,CADO,CAAtB;IAGAQ,cAAc,CAACQ,IAAf,GAAsB,qDAAtB;IACAR,cAAc,CAACS,IAAf,GACE,qEADF;IAEAT,cAAc,CAACU,IAAf,GAAsB,qBAAtB;IACAV,cAAc,CAACW,IAAf,GAAsB,qBAAtB;EACD;;EACD,OAAOX,cAAP;AACD,C,CACD;AACA;AACA;;;AACAD,WAAW;;AAEX,SAASa,OAAT,CAAiBC,CAAjB,EAA4BC,CAA5B,EAAuCC,CAAvC,EAA0D;EACxD;;EACA,IAAIA,CAAC,GAAG,CAAR,EAAW;IACTA,CAAC,IAAI,CAAL;EACD;;EACD,IAAIA,CAAC,GAAG,CAAR,EAAW;IACTA,CAAC,IAAI,CAAL;EACD;;EACD,IAAIA,CAAC,GAAG,IAAI,CAAZ,EAAe;IACb,OAAOF,CAAC,GAAG,CAACC,CAAC,GAAGD,CAAL,IAAU,CAAV,GAAcE,CAAzB;EACD;;EACD,IAAIA,CAAC,GAAG,IAAI,CAAZ,EAAe;IACb,OAAOD,CAAP;EACD;;EACD,IAAIC,CAAC,GAAG,IAAI,CAAZ,EAAe;IACb,OAAOF,CAAC,GAAG,CAACC,CAAC,GAAGD,CAAL,KAAW,IAAI,CAAJ,GAAQE,CAAnB,IAAwB,CAAnC;EACD;;EACD,OAAOF,CAAP;AACD;;AAED,SAASG,QAAT,CAAkBC,CAAlB,EAA6BC,CAA7B,EAAwCC,CAAxC,EAA2D;EACzD;;EACA,MAAML,CAAC,GAAGK,CAAC,GAAG,GAAJ,GAAUA,CAAC,IAAI,IAAID,CAAR,CAAX,GAAwBC,CAAC,GAAGD,CAAJ,GAAQC,CAAC,GAAGD,CAA9C;EACA,MAAML,CAAC,GAAG,IAAIM,CAAJ,GAAQL,CAAlB;EACA,MAAMM,CAAC,GAAGR,OAAO,CAACC,CAAD,EAAIC,CAAJ,EAAOG,CAAC,GAAG,IAAI,CAAf,CAAjB;EACA,MAAMI,CAAC,GAAGT,OAAO,CAACC,CAAD,EAAIC,CAAJ,EAAOG,CAAP,CAAjB;EACA,MAAMK,CAAC,GAAGV,OAAO,CAACC,CAAD,EAAIC,CAAJ,EAAOG,CAAC,GAAG,IAAI,CAAf,CAAjB;EAEA,OACGM,IAAI,CAACC,KAAL,CAAWJ,CAAC,GAAG,GAAf,KAAuB,EAAxB,GACCG,IAAI,CAACC,KAAL,CAAWH,CAAC,GAAG,GAAf,KAAuB,EADxB,GAECE,IAAI,CAACC,KAAL,CAAWF,CAAC,GAAG,GAAf,KAAuB,CAH1B;AAKD;;AAED,SAASG,QAAT,CAAkBC,GAAlB,EAAuC;EACrC;;EACA,MAAMC,GAAG,GAAGC,MAAM,CAACC,QAAP,CAAgBH,GAAhB,EAAqB,EAArB,CAAZ;;EACA,IAAIC,GAAG,GAAG,CAAV,EAAa;IACX,OAAO,CAAP;EACD;;EACD,IAAIA,GAAG,GAAG,GAAV,EAAe;IACb,OAAO,GAAP;EACD;;EACD,OAAOA,GAAP;AACD;;AAED,SAASG,QAAT,CAAkBJ,GAAlB,EAAuC;EACrC;;EACA,MAAMC,GAAG,GAAGC,MAAM,CAACG,UAAP,CAAkBL,GAAlB,CAAZ;EACA,OAAQ,CAAEC,GAAG,GAAG,GAAP,GAAc,GAAf,IAAsB,GAAvB,GAA8B,GAArC;AACD;;AAED,SAASK,MAAT,CAAgBN,GAAhB,EAAqC;EACnC;;EACA,MAAMO,GAAG,GAAGL,MAAM,CAACG,UAAP,CAAkBL,GAAlB,CAAZ;;EACA,IAAIO,GAAG,GAAG,CAAV,EAAa;IACX,OAAO,CAAP;EACD;;EACD,IAAIA,GAAG,GAAG,CAAV,EAAa;IACX,OAAO,GAAP;EACD;;EACD,OAAOV,IAAI,CAACC,KAAL,CAAWS,GAAG,GAAG,GAAjB,CAAP;AACD;;AAED,SAASC,eAAT,CAAyBR,GAAzB,EAA8C;EAC5C,UAD4C,CAE5C;;EACA,MAAMC,GAAG,GAAGC,MAAM,CAACG,UAAP,CAAkBL,GAAlB,CAAZ;;EACA,IAAIC,GAAG,GAAG,CAAV,EAAa;IACX,OAAO,CAAP;EACD;;EACD,IAAIA,GAAG,GAAG,GAAV,EAAe;IACb,OAAO,CAAP;EACD;;EACD,OAAOA,GAAG,GAAG,GAAb;AACD;;AAED,MAAMQ,KAAU,GAAG,CAAC5C,YAAY,EAAb,GACf,IADe,GAEfD,aAAa,CAAC;EACZ8C,WAAW,EAAE,UADD;EAGZ;EACAC,SAAS,EAAE,UAJC;EAKZC,YAAY,EAAE,UALF;EAMZC,IAAI,EAAE,UANM;EAOZC,UAAU,EAAE,UAPA;EAQZC,KAAK,EAAE,UARK;EASZC,KAAK,EAAE,UATK;EAUZC,MAAM,EAAE,UAVI;EAWZC,KAAK,EAAE,UAXK;EAYZC,cAAc,EAAE,UAZJ;EAaZC,IAAI,EAAE,UAbM;EAcZC,UAAU,EAAE,UAdA;EAeZC,KAAK,EAAE,UAfK;EAgBZC,SAAS,EAAE,UAhBC;EAiBZC,WAAW,EAAE,UAjBD;EAkBZC,SAAS,EAAE,UAlBC;EAmBZC,UAAU,EAAE,UAnBA;EAoBZC,SAAS,EAAE,UApBC;EAqBZC,KAAK,EAAE,UArBK;EAsBZC,cAAc,EAAE,UAtBJ;EAuBZC,QAAQ,EAAE,UAvBE;EAwBZC,OAAO,EAAE,UAxBG;EAyBZC,IAAI,EAAE,UAzBM;EA0BZC,QAAQ,EAAE,UA1BE;EA2BZC,QAAQ,EAAE,UA3BE;EA4BZC,aAAa,EAAE,UA5BH;EA6BZC,QAAQ,EAAE,UA7BE;EA8BZC,SAAS,EAAE,UA9BC;EA+BZC,QAAQ,EAAE,UA/BE;EAgCZC,SAAS,EAAE,UAhCC;EAiCZC,WAAW,EAAE,UAjCD;EAkCZC,cAAc,EAAE,UAlCJ;EAmCZC,UAAU,EAAE,UAnCA;EAoCZC,UAAU,EAAE,UApCA;EAqCZC,OAAO,EAAE,UArCG;EAsCZC,UAAU,EAAE,UAtCA;EAuCZC,YAAY,EAAE,UAvCF;EAwCZC,aAAa,EAAE,UAxCH;EAyCZC,aAAa,EAAE,UAzCH;EA0CZC,aAAa,EAAE,UA1CH;EA2CZC,aAAa,EAAE,UA3CH;EA4CZC,UAAU,EAAE,UA5CA;EA6CZC,QAAQ,EAAE,UA7CE;EA8CZC,WAAW,EAAE,UA9CD;EA+CZC,OAAO,EAAE,UA/CG;EAgDZC,OAAO,EAAE,UAhDG;EAiDZC,UAAU,EAAE,UAjDA;EAkDZC,SAAS,EAAE,UAlDC;EAmDZC,WAAW,EAAE,UAnDD;EAoDZC,WAAW,EAAE,UApDD;EAqDZC,OAAO,EAAE,UArDG;EAsDZC,SAAS,EAAE,UAtDC;EAuDZC,UAAU,EAAE,UAvDA;EAwDZC,IAAI,EAAE,UAxDM;EAyDZC,SAAS,EAAE,UAzDC;EA0DZC,IAAI,EAAE,UA1DM;EA2DZC,KAAK,EAAE,UA3DK;EA4DZC,WAAW,EAAE,UA5DD;EA6DZC,IAAI,EAAE,UA7DM;EA8DZC,QAAQ,EAAE,UA9DE;EA+DZC,OAAO,EAAE,UA/DG;EAgEZC,SAAS,EAAE,UAhEC;EAiEZC,MAAM,EAAE,UAjEI;EAkEZC,KAAK,EAAE,UAlEK;EAmEZC,KAAK,EAAE,UAnEK;EAoEZC,QAAQ,EAAE,UApEE;EAqEZC,aAAa,EAAE,UArEH;EAsEZC,SAAS,EAAE,UAtEC;EAuEZC,YAAY,EAAE,UAvEF;EAwEZC,SAAS,EAAE,UAxEC;EAyEZC,UAAU,EAAE,UAzEA;EA0EZC,SAAS,EAAE,UA1EC;EA2EZC,oBAAoB,EAAE,UA3EV;EA4EZC,SAAS,EAAE,UA5EC;EA6EZC,UAAU,EAAE,UA7EA;EA8EZC,SAAS,EAAE,UA9EC;EA+EZC,SAAS,EAAE,UA/EC;EAgFZC,WAAW,EAAE,UAhFD;EAiFZC,aAAa,EAAE,UAjFH;EAkFZC,YAAY,EAAE,UAlFF;EAmFZC,cAAc,EAAE,UAnFJ;EAoFZC,cAAc,EAAE,UApFJ;EAqFZC,cAAc,EAAE,UArFJ;EAsFZC,WAAW,EAAE,UAtFD;EAuFZC,IAAI,EAAE,UAvFM;EAwFZC,SAAS,EAAE,UAxFC;EAyFZC,KAAK,EAAE,UAzFK;EA0FZC,OAAO,EAAE,UA1FG;EA2FZC,MAAM,EAAE,UA3FI;EA4FZC,gBAAgB,EAAE,UA5FN;EA6FZC,UAAU,EAAE,UA7FA;EA8FZC,YAAY,EAAE,UA9FF;EA+FZC,YAAY,EAAE,UA/FF;EAgGZC,cAAc,EAAE,UAhGJ;EAiGZC,eAAe,EAAE,UAjGL;EAkGZC,iBAAiB,EAAE,UAlGP;EAmGZC,eAAe,EAAE,UAnGL;EAoGZC,eAAe,EAAE,UApGL;EAqGZC,YAAY,EAAE,UArGF;EAsGZC,SAAS,EAAE,UAtGC;EAuGZC,SAAS,EAAE,UAvGC;EAwGZC,QAAQ,EAAE,UAxGE;EAyGZC,WAAW,EAAE,UAzGD;EA0GZC,IAAI,EAAE,UA1GM;EA2GZC,OAAO,EAAE,UA3GG;EA4GZC,KAAK,EAAE,UA5GK;EA6GZC,SAAS,EAAE,UA7GC;EA8GZC,MAAM,EAAE,UA9GI;EA+GZC,SAAS,EAAE,UA/GC;EAgHZC,MAAM,EAAE,UAhHI;EAiHZC,aAAa,EAAE,UAjHH;EAkHZC,SAAS,EAAE,UAlHC;EAmHZC,aAAa,EAAE,UAnHH;EAoHZC,aAAa,EAAE,UApHH;EAqHZC,UAAU,EAAE,UArHA;EAsHZC,SAAS,EAAE,UAtHC;EAuHZC,IAAI,EAAE,UAvHM;EAwHZC,IAAI,EAAE,UAxHM;EAyHZC,IAAI,EAAE,UAzHM;EA0HZC,UAAU,EAAE,UA1HA;EA2HZC,MAAM,EAAE,UA3HI;EA4HZC,aAAa,EAAE,UA5HH;EA6HZC,GAAG,EAAE,UA7HO;EA8HZC,SAAS,EAAE,UA9HC;EA+HZC,SAAS,EAAE,UA/HC;EAgIZC,WAAW,EAAE,UAhID;EAiIZC,MAAM,EAAE,UAjII;EAkIZC,UAAU,EAAE,UAlIA;EAmIZC,QAAQ,EAAE,UAnIE;EAoIZC,QAAQ,EAAE,UApIE;EAqIZC,MAAM,EAAE,UArII;EAsIZC,MAAM,EAAE,UAtII;EAuIZC,OAAO,EAAE,UAvIG;EAwIZC,SAAS,EAAE,UAxIC;EAyIZC,SAAS,EAAE,UAzIC;EA0IZC,SAAS,EAAE,UA1IC;EA2IZC,IAAI,EAAE,UA3IM;EA4IZC,WAAW,EAAE,UA5ID;EA6IZC,SAAS,EAAE,UA7IC;EA8IZC,GAAG,EAAE,UA9IO;EA+IZC,IAAI,EAAE,UA/IM;EAgJZC,OAAO,EAAE,UAhJG;EAiJZC,MAAM,EAAE,UAjJI;EAkJZC,SAAS,EAAE,UAlJC;EAmJZC,MAAM,EAAE,UAnJI;EAoJZC,KAAK,EAAE,UApJK;EAqJZC,KAAK,EAAE,UArJK;EAsJZC,UAAU,EAAE,UAtJA;EAuJZC,MAAM,EAAE,UAvJI;EAwJZC,WAAW,EAAE;AAxJD,CAAD,CAFjB;;AA6JA,SAASC,cAAT,CAAwBC,KAAxB,EAAuD;EACrD;;EADqD;;EAGrD,IAAI,OAAOA,KAAP,KAAiB,QAArB,EAA+B;IAC7B,IAAIA,KAAK,KAAK,CAAV,KAAgBA,KAAhB,IAAyBA,KAAK,IAAI,CAAlC,IAAuCA,KAAK,IAAI,UAApD,EAAgE;MAC9D,OAAOA,KAAP;IACD;;IACD,OAAO,IAAP;EACD;;EAED,IAAI,OAAOA,KAAP,KAAiB,QAArB,EAA+B;IAC7B,OAAO,IAAP;EACD;;EAED,MAAMC,QAAQ,GAAG7L,WAAW,EAA5B;EAEA,IAAI8L,KAAJ,CAhBqD,CAkBrD;;EACA,IAAKA,KAAK,GAAGD,QAAH,aAAGA,QAAH,wCAAGA,QAAQ,CAAElL,IAAb,kDAAG,cAAgBoL,IAAhB,CAAqBH,KAArB,CAAb,EAA2C;IACzC,OAAO/J,MAAM,CAACC,QAAP,CAAgBgK,KAAK,CAAC,CAAD,CAAL,GAAW,IAA3B,EAAiC,EAAjC,MAAyC,CAAhD;EACD;;EAED,IAAI1J,KAAK,CAACwJ,KAAD,CAAL,KAAiBxL,SAArB,EAAgC;IAC9B,OAAOgC,KAAK,CAACwJ,KAAD,CAAZ;EACD;;EAED,IAAKE,KAAK,GAAGD,QAAH,aAAGA,QAAH,wCAAGA,QAAQ,CAAE1L,GAAb,kDAAG,cAAe4L,IAAf,CAAoBH,KAApB,CAAb,EAA0C;IACxC,OACE;MACA,CAAElK,QAAQ,CAACoK,KAAK,CAAC,CAAD,CAAN,CAAR,IAAsB,EAAvB,GAA6B;MAC3BpK,QAAQ,CAACoK,KAAK,CAAC,CAAD,CAAN,CAAR,IAAsB,EADxB,GAC8B;MAC5BpK,QAAQ,CAACoK,KAAK,CAAC,CAAD,CAAN,CAAR,IAAsB,CAFxB,GAGC,UAHF,MAGkB;MAClB;IANF;EAQD;;EAED,IAAKA,KAAK,GAAGD,QAAH,aAAGA,QAAH,yCAAGA,QAAQ,CAAEvL,IAAb,mDAAG,eAAgByL,IAAhB,CAAqBH,KAArB,CAAb,EAA2C;IACzC,OACE;MACA,CAAElK,QAAQ,CAACoK,KAAK,CAAC,CAAD,CAAN,CAAR,IAAsB,EAAvB,GAA6B;MAC3BpK,QAAQ,CAACoK,KAAK,CAAC,CAAD,CAAN,CAAR,IAAsB,EADxB,GAC8B;MAC5BpK,QAAQ,CAACoK,KAAK,CAAC,CAAD,CAAN,CAAR,IAAsB,CAFxB,GAGC7J,MAAM,CAAC6J,KAAK,CAAC,CAAD,CAAN,CAHR,MAGwB;MACxB;IANF;EAQD;;EAED,IAAKA,KAAK,GAAGD,QAAH,aAAGA,QAAH,yCAAGA,QAAQ,CAAEpL,IAAb,mDAAG,eAAgBsL,IAAhB,CAAqBH,KAArB,CAAb,EAA2C;IACzC,OACE/J,MAAM,CAACC,QAAP,CACEgK,KAAK,CAAC,CAAD,CAAL,GACEA,KAAK,CAAC,CAAD,CADP,GACa;IACXA,KAAK,CAAC,CAAD,CAFP,GAGEA,KAAK,CAAC,CAAD,CAHP,GAGa;IACXA,KAAK,CAAC,CAAD,CAJP,GAKEA,KAAK,CAAC,CAAD,CALP,GAKa;IACX,IAPJ,EAOU;IACR,EARF,MASM,CAVR;EAYD,CA9DoD,CAgErD;;;EACA,IAAKA,KAAK,GAAGD,QAAH,aAAGA,QAAH,yCAAGA,QAAQ,CAAEjL,IAAb,mDAAG,eAAgBmL,IAAhB,CAAqBH,KAArB,CAAb,EAA2C;IACzC,OAAO/J,MAAM,CAACC,QAAP,CAAgBgK,KAAK,CAAC,CAAD,CAArB,EAA0B,EAA1B,MAAkC,CAAzC;EACD;;EAED,IAAKA,KAAK,GAAGD,QAAH,aAAGA,QAAH,yCAAGA,QAAQ,CAAEnL,IAAb,mDAAG,eAAgBqL,IAAhB,CAAqBH,KAArB,CAAb,EAA2C;IACzC,OACE/J,MAAM,CAACC,QAAP,CACEgK,KAAK,CAAC,CAAD,CAAL,GACEA,KAAK,CAAC,CAAD,CADP,GACa;IACXA,KAAK,CAAC,CAAD,CAFP,GAGEA,KAAK,CAAC,CAAD,CAHP,GAGa;IACXA,KAAK,CAAC,CAAD,CAJP,GAKEA,KAAK,CAAC,CAAD,CALP,GAKa;IACXA,KAAK,CAAC,CAAD,CANP,GAOEA,KAAK,CAAC,CAAD,CART,EAQc;IACZ,EATF,MAUM,CAXR;EAaD;;EAED,IAAKA,KAAK,GAAGD,QAAH,aAAGA,QAAH,wCAAGA,QAAQ,CAAEtL,GAAb,kDAAG,cAAewL,IAAf,CAAoBH,KAApB,CAAb,EAA0C;IACxC,OACE,CAAC3K,QAAQ,CACPc,QAAQ,CAAC+J,KAAK,CAAC,CAAD,CAAN,CADD,EACa;IACpB3J,eAAe,CAAC2J,KAAK,CAAC,CAAD,CAAN,CAFR,EAEoB;IAC3B3J,eAAe,CAAC2J,KAAK,CAAC,CAAD,CAAN,CAHR,CAGmB;IAHnB,CAAR,GAKC,UALF,MAKkB;IAClB,CAPF;EASD;;EAED,IAAKA,KAAK,GAAGD,QAAH,aAAGA,QAAH,yCAAGA,QAAQ,CAAErL,IAAb,mDAAG,eAAgBuL,IAAhB,CAAqBH,KAArB,CAAb,EAA2C;IACzC,OACE,CAAC3K,QAAQ,CACPc,QAAQ,CAAC+J,KAAK,CAAC,CAAD,CAAN,CADD,EACa;IACpB3J,eAAe,CAAC2J,KAAK,CAAC,CAAD,CAAN,CAFR,EAEoB;IAC3B3J,eAAe,CAAC2J,KAAK,CAAC,CAAD,CAAN,CAHR,CAGmB;IAHnB,CAAR,GAKC7J,MAAM,CAAC6J,KAAK,CAAC,CAAD,CAAN,CALR,MAKwB;IACxB,CAPF;EASD;;EAED,OAAO,IAAP;AACD;;AAED,OAAO,MAAME,OAAO,GAAIC,CAAD,IAAuB;EAC5C;;EACA,OAAO,CAAEA,CAAC,IAAI,EAAN,GAAY,GAAb,IAAoB,GAA3B;AACD,CAHM;AAKP,OAAO,MAAMlC,GAAG,GAAIkC,CAAD,IAAuB;EACxC;;EACA,OAAQA,CAAC,IAAI,EAAN,GAAY,GAAnB;AACD,CAHM;AAKP,OAAO,MAAMpG,KAAK,GAAIoG,CAAD,IAAuB;EAC1C;;EACA,OAAQA,CAAC,IAAI,CAAN,GAAW,GAAlB;AACD,CAHM;AAKP,OAAO,MAAMlJ,IAAI,GAAIkJ,CAAD,IAAuB;EACzC;;EACA,OAAOA,CAAC,GAAG,GAAX;AACD,CAHM;AAKP,OAAO,MAAMC,SAAS,GAAG,UACvB7K,CADuB,EAEvBC,CAFuB,EAGvBC,CAHuB,EAKH;EACpB;;EADoB,IADpB4K,KACoB,uEADZ,CACY;;EAEpB,IAAI9M,QAAQ,CAAC+M,EAAT,KAAgB,KAAhB,IAAyB,CAAClM,QAA9B,EAAwC;IACtC,OAAQ,QAAOmB,CAAE,KAAIC,CAAE,KAAIC,CAAE,KAAI4K,KAAM,GAAvC;EACD;;EAED,MAAMF,CAAC,GACLzK,IAAI,CAACC,KAAL,CAAW0K,KAAK,GAAG,GAAnB,KAA2B,KAAK,EAAhC,IACA3K,IAAI,CAACC,KAAL,CAAWJ,CAAX,KAAiB,KAAK,EAAtB,CADA,GAEAG,IAAI,CAACC,KAAL,CAAWH,CAAX,KAAiB,KAAK,CAAtB,CAFA,GAGAE,IAAI,CAACC,KAAL,CAAWF,CAAX,CAJF;;EAKA,IAAIlC,QAAQ,CAAC+M,EAAT,KAAgB,SAApB,EAA+B;IAC7B;IACA,OAAOH,CAAC,GAAI,KAAK,EAAN,KAAc,CAAlB,GAAsBA,CAAtB,GAA0BA,CAAC,GAAG,UAArC,CAF6B,CAEoB;EAClD;;EACD,OAAOA,CAAP;AACD,CArBM;AAuBP;AACA;AACA;AACA;AACA;AACA;AACA;;AAGA,OAAO,SAASI,QAAT,CAAkBhL,CAAlB,EAA0BC,CAA1B,EAAmCC,CAAnC,EAAiD;EACtD;EACA;;EACA,IAAI+K,SAAS,CAACC,MAAV,KAAqB,CAAzB,EAA4B;IAC1BjL,CAAC,GAAGD,CAAC,CAACC,CAAN;IACAC,CAAC,GAAGF,CAAC,CAACE,CAAN;IACAF,CAAC,GAAGA,CAAC,CAACA,CAAN;EACD;;EACD,MAAMmL,GAAG,GAAGhL,IAAI,CAACgL,GAAL,CAASnL,CAAT,EAAYC,CAAZ,EAAeC,CAAf,CAAZ;EACA,MAAMkL,GAAG,GAAGjL,IAAI,CAACiL,GAAL,CAASpL,CAAT,EAAYC,CAAZ,EAAeC,CAAf,CAAZ;EACA,MAAMmL,CAAC,GAAGF,GAAG,GAAGC,GAAhB;EACA,MAAMtL,CAAC,GAAGqL,GAAG,KAAK,CAAR,GAAY,CAAZ,GAAgBE,CAAC,GAAGF,GAA9B;EACA,MAAMG,CAAC,GAAGH,GAAG,GAAG,GAAhB;EAEA,IAAItL,CAAJ;;EAEA,QAAQsL,GAAR;IACE;IACA;;IACA,KAAKC,GAAL;MACEvL,CAAC,GAAG,CAAJ;MACA;;IACF,KAAKG,CAAL;MACEH,CAAC,GAAGI,CAAC,GAAGC,CAAJ,GAAQmL,CAAC,IAAIpL,CAAC,GAAGC,CAAJ,GAAQ,CAAR,GAAY,CAAhB,CAAb;MACAL,CAAC,IAAI,IAAIwL,CAAT;MACA;;IACF,KAAKpL,CAAL;MACEJ,CAAC,GAAGK,CAAC,GAAGF,CAAJ,GAAQqL,CAAC,GAAG,CAAhB;MACAxL,CAAC,IAAI,IAAIwL,CAAT;MACA;;IACF,KAAKnL,CAAL;MACEL,CAAC,GAAGG,CAAC,GAAGC,CAAJ,GAAQoL,CAAC,GAAG,CAAhB;MACAxL,CAAC,IAAI,IAAIwL,CAAT;MACA;EAjBJ;;EAoBA,OAAO;IACLxL,CAAC,EAAEA,CADE;IAELC,CAAC,EAAEA,CAFE;IAGLwL,CAAC,EAAEA;EAHE,CAAP;EAKA;AACD;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;AAGA,SAASC,QAAT,CAAkB1L,CAAlB,EAA0BC,CAA1B,EAAmCwL,CAAnC,EAA4C;EAC1C;EACA;;EACA,IAAItL,CAAJ,EAAOC,CAAP,EAAUC,CAAV,EAAasL,CAAb,EAAgBC,CAAhB,EAAmBhM,CAAnB,EAAsBC,CAAtB,EAAyBC,CAAzB;;EACA,IAAIsL,SAAS,CAACC,MAAV,KAAqB,CAAzB,EAA4B;IAC1BpL,CAAC,GAAGD,CAAC,CAACC,CAAN;IACAwL,CAAC,GAAGzL,CAAC,CAACyL,CAAN;IACAzL,CAAC,GAAGA,CAAC,CAACA,CAAN;EACD;;EACD2L,CAAC,GAAGrL,IAAI,CAACuL,KAAL,CAAW7L,CAAC,GAAG,CAAf,CAAJ;EACA4L,CAAC,GAAG5L,CAAC,GAAG,CAAJ,GAAQ2L,CAAZ;EACA/L,CAAC,GAAG6L,CAAC,IAAI,IAAIxL,CAAR,CAAL;EACAJ,CAAC,GAAG4L,CAAC,IAAI,IAAIG,CAAC,GAAG3L,CAAZ,CAAL;EACAH,CAAC,GAAG2L,CAAC,IAAI,IAAI,CAAC,IAAIG,CAAL,IAAU3L,CAAlB,CAAL;;EACA,QAAQ0L,CAAC,GAAG,CAAZ;IACE,KAAK,CAAL;MACGxL,CAAC,GAAGsL,CAAL,EAAUrL,CAAC,GAAGN,CAAd,EAAmBO,CAAC,GAAGT,CAAvB;MACA;;IACF,KAAK,CAAL;MACGO,CAAC,GAAGN,CAAL,EAAUO,CAAC,GAAGqL,CAAd,EAAmBpL,CAAC,GAAGT,CAAvB;MACA;;IACF,KAAK,CAAL;MACGO,CAAC,GAAGP,CAAL,EAAUQ,CAAC,GAAGqL,CAAd,EAAmBpL,CAAC,GAAGP,CAAvB;MACA;;IACF,KAAK,CAAL;MACGK,CAAC,GAAGP,CAAL,EAAUQ,CAAC,GAAGP,CAAd,EAAmBQ,CAAC,GAAGoL,CAAvB;MACA;;IACF,KAAK,CAAL;MACGtL,CAAC,GAAGL,CAAL,EAAUM,CAAC,GAAGR,CAAd,EAAmBS,CAAC,GAAGoL,CAAvB;MACA;;IACF,KAAK,CAAL;MACGtL,CAAC,GAAGsL,CAAL,EAAUrL,CAAC,GAAGR,CAAd,EAAmBS,CAAC,GAAGR,CAAvB;MACA;EAlBJ;;EAoBA,OAAO;IACLM,CAAC,EAAEG,IAAI,CAACC,KAAL,CAAWJ,CAAC,GAAG,GAAf,CADE;IAELC,CAAC,EAAEE,IAAI,CAACC,KAAL,CAAWH,CAAC,GAAG,GAAf,CAFE;IAGLC,CAAC,EAAEC,IAAI,CAACC,KAAL,CAAWF,CAAC,GAAG,GAAf;EAHE,CAAP;EAKA;AACD;;AAED,OAAO,MAAMyL,UAAU,GAAG,CACxB9L,CADwB,EAExBC,CAFwB,EAGxBwL,CAHwB,EAIxBM,CAJwB,KAKJ;EACpB;;EACA,MAAM;IAAE5L,CAAF;IAAKC,CAAL;IAAQC;EAAR,IAAcqL,QAAQ,CAAC1L,CAAD,EAAIC,CAAJ,EAAOwL,CAAP,CAA5B;EACA,OAAOT,SAAS,CAAC7K,CAAD,EAAIC,CAAJ,EAAOC,CAAP,EAAU0L,CAAV,CAAhB;AACD,CATM;AAWP,OAAO,SAASC,qBAAT,CACLtB,KADK,EAEsB;EAC3B;;EACA,IAAIA,KAAK,KAAK,IAAV,IAAkBA,KAAK,KAAKxL,SAA5B,IAAyC,OAAOwL,KAAP,KAAiB,QAA9D,EAAwE;IACtE,OAAOA,KAAP;EACD;;EAED,IAAIuB,eAAe,GAAGxB,cAAc,CAACC,KAAD,CAApC;;EAEA,IAAIuB,eAAe,KAAK,IAApB,IAA4BA,eAAe,KAAK/M,SAApD,EAA+D;IAC7D,OAAOA,SAAP;EACD;;EAED,IAAI,OAAO+M,eAAP,KAA2B,QAA/B,EAAyC;IACvC,OAAO,IAAP;EACD;;EAEDA,eAAe,GAAG,CAAEA,eAAe,IAAI,EAApB,GAA2BA,eAAe,KAAK,CAAhD,MAAwD,CAA1E,CAhB2B,CAgBkD;;EAC7E,OAAOA,eAAP;AACD;AAED,OAAO,SAASC,OAAT,CAAiBC,KAAjB,EAA0C;EAC/C;;EACA,IAAI,OAAOA,KAAP,KAAiB,QAArB,EAA+B;IAC7B,OAAO,KAAP;EACD;;EACD,OAAOH,qBAAqB,CAACG,KAAD,CAArB,IAAgC,IAAvC;AACD;AAED,OAAO,SAASC,YAAT,CAAsB1B,KAAtB,EAAiE;EACtE;;EACA,IAAIuB,eAAe,GAAGD,qBAAqB,CAACtB,KAAD,CAA3C;;EACA,IAAIuB,eAAe,KAAK,IAApB,IAA4BA,eAAe,KAAK/M,SAApD,EAA+D;IAC7D,OAAOA,SAAP;EACD;;EAED,IAAI,OAAO+M,eAAP,KAA2B,QAA/B,EAAyC;IACvC,OAAO,IAAP;EACD;;EAED,IAAI9N,QAAQ,CAAC+M,EAAT,KAAgB,SAApB,EAA+B;IAC7B;IACA;IACA;IACA;IACAe,eAAe,GAAGA,eAAe,GAAG,GAApC;EACD;;EAED,OAAOA,eAAP;AACD;AAID,OAAO,SAASI,aAAT,CAAuB3B,KAAvB,EAAyD;EAC9D;;EACA,MAAM4B,cAAc,GAAGN,qBAAqB,CAACtB,KAAD,CAA5C,CAF8D,CAER;;EACtD,MAAMqB,CAAC,GAAG,CAACO,cAAc,KAAK,EAApB,IAA0B,GAApC;EACA,MAAMnM,CAAC,GAAG,CAAEmM,cAAc,IAAI,CAAnB,KAA0B,EAA3B,IAAiC,GAA3C;EACA,MAAMlM,CAAC,GAAG,CAAEkM,cAAc,IAAI,EAAnB,KAA2B,EAA5B,IAAkC,GAA5C;EACA,MAAMjM,CAAC,GAAG,CAAEiM,cAAc,IAAI,EAAnB,KAA2B,EAA5B,IAAkC,GAA5C;EACA,OAAO,CAACnM,CAAD,EAAIC,CAAJ,EAAOC,CAAP,EAAU0L,CAAV,CAAP;AACD;AAED,OAAO,SAASQ,oBAAT,CAA8BC,IAA9B,EAA8D;EACnE;;EACA,OAAQ,QAAOlM,IAAI,CAACC,KAAL,CAAWiM,IAAI,CAAC,CAAD,CAAJ,GAAU,GAArB,CAA0B,KAAIlM,IAAI,CAACC,KAAL,CAC3CiM,IAAI,CAAC,CAAD,CAAJ,GAAU,GADiC,CAE3C,KAAIlM,IAAI,CAACC,KAAL,CAAWiM,IAAI,CAAC,CAAD,CAAJ,GAAU,GAArB,CAA0B,KAAIA,IAAI,CAAC,CAAD,CAAI,GAF5C;AAGD;AAED,OAAO,SAASC,aAAT,CACLD,IADK,EAGa;EAClB;;EADkB,IADlBE,KACkB,uEADV,GACU;EAElB,MAAMC,GAAG,GAAG,EAAZ;;EACA,KAAK,IAAIhB,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAG,CAApB,EAAuB,EAAEA,CAAzB,EAA4B;IAC1BgB,GAAG,CAACC,IAAJ,CAAStM,IAAI,CAACuM,GAAL,CAASL,IAAI,CAACb,CAAD,CAAb,EAAkBe,KAAlB,CAAT;EACD;;EACDC,GAAG,CAACC,IAAJ,CAASJ,IAAI,CAAC,CAAD,CAAb;EACA,OAAOG,GAAP;AACD;AAED,OAAO,SAASG,YAAT,CACLN,IADK,EAGa;EAClB;;EADkB,IADlBE,KACkB,uEADV,GACU;EAElB,MAAMC,GAAG,GAAG,EAAZ;;EACA,KAAK,IAAIhB,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAG,CAApB,EAAuB,EAAEA,CAAzB,EAA4B;IAC1BgB,GAAG,CAACC,IAAJ,CAAStM,IAAI,CAACuM,GAAL,CAASL,IAAI,CAACb,CAAD,CAAb,EAAkB,IAAIe,KAAtB,CAAT;EACD;;EACDC,GAAG,CAACC,IAAJ,CAASJ,IAAI,CAAC,CAAD,CAAb;EACA,OAAOG,GAAP;AACD"}
|
|
1
|
+
{"version":3,"names":["Platform","makeRemote","makeShareable","isConfigured","NUMBER","PERCENTAGE","call","_len","arguments","length","args","Array","_key","join","jsCachedMatchers","uiCachedMatchers","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","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","rgbaColor","alpha","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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"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { Bezier } from './Bezier';
|
|
2
|
+
|
|
2
3
|
/**
|
|
3
4
|
* The `Easing` module implements common easing functions. This module is used
|
|
4
5
|
* by [Animate.timing()](docs/animate.html#timing) to convey physically
|
|
@@ -56,53 +57,49 @@ function linear(t) {
|
|
|
56
57
|
|
|
57
58
|
return t;
|
|
58
59
|
}
|
|
60
|
+
|
|
59
61
|
/**
|
|
60
62
|
* A simple inertial interaction, similar to an object slowly accelerating to
|
|
61
63
|
* speed.
|
|
62
64
|
*
|
|
63
65
|
* http://cubic-bezier.com/#.42,0,1,1
|
|
64
66
|
*/
|
|
65
|
-
|
|
66
|
-
|
|
67
67
|
function ease(t) {
|
|
68
68
|
'worklet';
|
|
69
69
|
|
|
70
70
|
return Bezier(0.42, 0, 1, 1)(t);
|
|
71
71
|
}
|
|
72
|
+
|
|
72
73
|
/**
|
|
73
74
|
* A quadratic function, `f(t) = t * t`. Position equals the square of elapsed
|
|
74
75
|
* time.
|
|
75
76
|
*
|
|
76
77
|
* http://easings.net/#easeInQuad
|
|
77
78
|
*/
|
|
78
|
-
|
|
79
|
-
|
|
80
79
|
function quad(t) {
|
|
81
80
|
'worklet';
|
|
82
81
|
|
|
83
82
|
return t * t;
|
|
84
83
|
}
|
|
84
|
+
|
|
85
85
|
/**
|
|
86
86
|
* A cubic function, `f(t) = t * t * t`. Position equals the cube of elapsed
|
|
87
87
|
* time.
|
|
88
88
|
*
|
|
89
89
|
* http://easings.net/#easeInCubic
|
|
90
90
|
*/
|
|
91
|
-
|
|
92
|
-
|
|
93
91
|
function cubic(t) {
|
|
94
92
|
'worklet';
|
|
95
93
|
|
|
96
94
|
return t * t * t;
|
|
97
95
|
}
|
|
96
|
+
|
|
98
97
|
/**
|
|
99
98
|
* A power function. Position is equal to the Nth power of elapsed time.
|
|
100
99
|
*
|
|
101
100
|
* n = 4: http://easings.net/#easeInQuart
|
|
102
101
|
* n = 5: http://easings.net/#easeInQuint
|
|
103
102
|
*/
|
|
104
|
-
|
|
105
|
-
|
|
106
103
|
function poly(n) {
|
|
107
104
|
'worklet';
|
|
108
105
|
|
|
@@ -112,42 +109,40 @@ function poly(n) {
|
|
|
112
109
|
return Math.pow(t, n);
|
|
113
110
|
};
|
|
114
111
|
}
|
|
112
|
+
|
|
115
113
|
/**
|
|
116
114
|
* A sinusoidal function.
|
|
117
115
|
*
|
|
118
116
|
* http://easings.net/#easeInSine
|
|
119
117
|
*/
|
|
120
|
-
|
|
121
|
-
|
|
122
118
|
function sin(t) {
|
|
123
119
|
'worklet';
|
|
124
120
|
|
|
125
121
|
return 1 - Math.cos(t * Math.PI / 2);
|
|
126
122
|
}
|
|
123
|
+
|
|
127
124
|
/**
|
|
128
125
|
* A circular function.
|
|
129
126
|
*
|
|
130
127
|
* http://easings.net/#easeInCirc
|
|
131
128
|
*/
|
|
132
|
-
|
|
133
|
-
|
|
134
129
|
function circle(t) {
|
|
135
130
|
'worklet';
|
|
136
131
|
|
|
137
132
|
return 1 - Math.sqrt(1 - t * t);
|
|
138
133
|
}
|
|
134
|
+
|
|
139
135
|
/**
|
|
140
136
|
* An exponential function.
|
|
141
137
|
*
|
|
142
138
|
* http://easings.net/#easeInExpo
|
|
143
139
|
*/
|
|
144
|
-
|
|
145
|
-
|
|
146
140
|
function exp(t) {
|
|
147
141
|
'worklet';
|
|
148
142
|
|
|
149
143
|
return Math.pow(2, 10 * (t - 1));
|
|
150
144
|
}
|
|
145
|
+
|
|
151
146
|
/**
|
|
152
147
|
* A simple elastic interaction, similar to a spring oscillating back and
|
|
153
148
|
* forth.
|
|
@@ -158,8 +153,6 @@ function exp(t) {
|
|
|
158
153
|
*
|
|
159
154
|
* http://easings.net/#easeInElastic
|
|
160
155
|
*/
|
|
161
|
-
|
|
162
|
-
|
|
163
156
|
function elastic() {
|
|
164
157
|
'worklet';
|
|
165
158
|
|
|
@@ -171,6 +164,7 @@ function elastic() {
|
|
|
171
164
|
return 1 - Math.pow(Math.cos(t * Math.PI / 2), 3) * Math.cos(t * p);
|
|
172
165
|
};
|
|
173
166
|
}
|
|
167
|
+
|
|
174
168
|
/**
|
|
175
169
|
* Use with `Animated.parallel()` to create a simple effect where the object
|
|
176
170
|
* animates back slightly as the animation starts.
|
|
@@ -179,8 +173,6 @@ function elastic() {
|
|
|
179
173
|
*
|
|
180
174
|
* - http://tiny.cc/back_default (s = 1.70158, default)
|
|
181
175
|
*/
|
|
182
|
-
|
|
183
|
-
|
|
184
176
|
function back() {
|
|
185
177
|
'worklet';
|
|
186
178
|
|
|
@@ -191,33 +183,30 @@ function back() {
|
|
|
191
183
|
return t * t * ((s + 1) * t - s);
|
|
192
184
|
};
|
|
193
185
|
}
|
|
186
|
+
|
|
194
187
|
/**
|
|
195
188
|
* Provides a simple bouncing effect.
|
|
196
189
|
*
|
|
197
190
|
* http://easings.net/#easeInBounce
|
|
198
191
|
*/
|
|
199
|
-
|
|
200
|
-
|
|
201
192
|
function bounce(t) {
|
|
202
193
|
'worklet';
|
|
203
194
|
|
|
204
195
|
if (t < 1 / 2.75) {
|
|
205
196
|
return 7.5625 * t * t;
|
|
206
197
|
}
|
|
207
|
-
|
|
208
198
|
if (t < 2 / 2.75) {
|
|
209
199
|
const t2 = t - 1.5 / 2.75;
|
|
210
200
|
return 7.5625 * t2 * t2 + 0.75;
|
|
211
201
|
}
|
|
212
|
-
|
|
213
202
|
if (t < 2.5 / 2.75) {
|
|
214
203
|
const t2 = t - 2.25 / 2.75;
|
|
215
204
|
return 7.5625 * t2 * t2 + 0.9375;
|
|
216
205
|
}
|
|
217
|
-
|
|
218
206
|
const t2 = t - 2.625 / 2.75;
|
|
219
207
|
return 7.5625 * t2 * t2 + 0.984375;
|
|
220
208
|
}
|
|
209
|
+
|
|
221
210
|
/**
|
|
222
211
|
* Provides a cubic bezier curve, equivalent to CSS Transitions'
|
|
223
212
|
* `transition-timing-function`.
|
|
@@ -225,8 +214,6 @@ function bounce(t) {
|
|
|
225
214
|
* A useful tool to visualize cubic bezier curves can be found at
|
|
226
215
|
* http://cubic-bezier.com/
|
|
227
216
|
*/
|
|
228
|
-
|
|
229
|
-
|
|
230
217
|
function bezier(x1, y1, x2, y2) {
|
|
231
218
|
'worklet';
|
|
232
219
|
|
|
@@ -238,27 +225,24 @@ function bezier(x1, y1, x2, y2) {
|
|
|
238
225
|
}
|
|
239
226
|
};
|
|
240
227
|
}
|
|
241
|
-
|
|
242
228
|
function bezierFn(x1, y1, x2, y2) {
|
|
243
229
|
'worklet';
|
|
244
230
|
|
|
245
231
|
return Bezier(x1, y1, x2, y2);
|
|
246
232
|
}
|
|
233
|
+
|
|
247
234
|
/**
|
|
248
235
|
* Runs an easing function forwards.
|
|
249
236
|
*/
|
|
250
|
-
|
|
251
|
-
|
|
252
237
|
function in_(easing) {
|
|
253
238
|
'worklet';
|
|
254
239
|
|
|
255
240
|
return easing;
|
|
256
241
|
}
|
|
242
|
+
|
|
257
243
|
/**
|
|
258
244
|
* Runs an easing function backwards.
|
|
259
245
|
*/
|
|
260
|
-
|
|
261
|
-
|
|
262
246
|
function out(easing) {
|
|
263
247
|
'worklet';
|
|
264
248
|
|
|
@@ -268,13 +252,12 @@ function out(easing) {
|
|
|
268
252
|
return 1 - easing(1 - t);
|
|
269
253
|
};
|
|
270
254
|
}
|
|
255
|
+
|
|
271
256
|
/**
|
|
272
257
|
* Makes any easing function symmetrical. The easing function will run
|
|
273
258
|
* forwards for half of the duration, then backwards for the rest of the
|
|
274
259
|
* duration.
|
|
275
260
|
*/
|
|
276
|
-
|
|
277
|
-
|
|
278
261
|
function inOut(easing) {
|
|
279
262
|
'worklet';
|
|
280
263
|
|
|
@@ -284,11 +267,31 @@ function inOut(easing) {
|
|
|
284
267
|
if (t < 0.5) {
|
|
285
268
|
return easing(t * 2) / 2;
|
|
286
269
|
}
|
|
287
|
-
|
|
288
270
|
return 1 - easing((1 - t) * 2) / 2;
|
|
289
271
|
};
|
|
290
272
|
}
|
|
291
273
|
|
|
274
|
+
/**
|
|
275
|
+
* The `steps` easing function jumps between discrete values at regular intervals,
|
|
276
|
+
* creating a stepped animation effect. The `n` parameter determines the number of
|
|
277
|
+
* steps in the animation, and the `roundToNextStep` parameter determines whether the animation
|
|
278
|
+
* should start at the beginning or end of each step.
|
|
279
|
+
*/
|
|
280
|
+
function steps() {
|
|
281
|
+
'worklet';
|
|
282
|
+
|
|
283
|
+
let n = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 10;
|
|
284
|
+
let roundToNextStep = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;
|
|
285
|
+
return t => {
|
|
286
|
+
'worklet';
|
|
287
|
+
|
|
288
|
+
const value = Math.min(Math.max(t, 0), 1) * n;
|
|
289
|
+
if (roundToNextStep) {
|
|
290
|
+
return Math.ceil(value) / n;
|
|
291
|
+
}
|
|
292
|
+
return Math.floor(value) / n;
|
|
293
|
+
};
|
|
294
|
+
}
|
|
292
295
|
const EasingObject = {
|
|
293
296
|
linear,
|
|
294
297
|
ease,
|
|
@@ -303,6 +306,7 @@ const EasingObject = {
|
|
|
303
306
|
bounce,
|
|
304
307
|
bezier,
|
|
305
308
|
bezierFn,
|
|
309
|
+
steps,
|
|
306
310
|
in: in_,
|
|
307
311
|
out,
|
|
308
312
|
inOut
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["Bezier","linear","t","ease","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":"AAAA,SAASA,MAAT,QAAuB,UAAvB;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,MAAT,CAAgBC,CAAhB,EAAmC;EACjC;;EACA,OAAOA,CAAP;AACD;AAED;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASC,IAAT,CAAcD,CAAd,EAAiC;EAC/B;;EACA,OAAOF,MAAM,CAAC,IAAD,EAAO,CAAP,EAAU,CAAV,EAAa,CAAb,CAAN,CAAsBE,CAAtB,CAAP;AACD;AAED;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASE,IAAT,CAAcF,CAAd,EAAiC;EAC/B;;EACA,OAAOA,CAAC,GAAGA,CAAX;AACD;AAED;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASG,KAAT,CAAeH,CAAf,EAAkC;EAChC;;EACA,OAAOA,CAAC,GAAGA,CAAJ,GAAQA,CAAf;AACD;AAED;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASI,IAAT,CAAcC,CAAd,EAAmC;EACjC;;EACA,OAAQL,CAAD,IAAO;IACZ;;IACA,OAAOM,IAAI,CAACC,GAAL,CAASP,CAAT,EAAYK,CAAZ,CAAP;EACD,CAHD;AAID;AAED;AACA;AACA;AACA;AACA;;;AACA,SAASG,GAAT,CAAaR,CAAb,EAAgC;EAC9B;;EACA,OAAO,IAAIM,IAAI,CAACG,GAAL,CAAUT,CAAC,GAAGM,IAAI,CAACI,EAAV,GAAgB,CAAzB,CAAX;AACD;AAED;AACA;AACA;AACA;AACA;;;AACA,SAASC,MAAT,CAAgBX,CAAhB,EAAmC;EACjC;;EACA,OAAO,IAAIM,IAAI,CAACM,IAAL,CAAU,IAAIZ,CAAC,GAAGA,CAAlB,CAAX;AACD;AAED;AACA;AACA;AA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"}
|
|
1
|
+
{"version":3,"names":["Bezier","linear","t","ease","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"],"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,SAASA,MAAM,QAAQ,UAAU;;AAEjC;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,OAAOF,MAAM,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAACE,CAAC,CAAC;AACjC;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,SAASE,IAAIA,CAACF,CAAS,EAAU;EAC/B,SAAS;;EACT,OAAOA,CAAC,GAAGA,CAAC;AACd;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,SAASG,KAAKA,CAACH,CAAS,EAAU;EAChC,SAAS;;EACT,OAAOA,CAAC,GAAGA,CAAC,GAAGA,CAAC;AAClB;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,SAASI,IAAIA,CAACC,CAAS,EAAY;EACjC,SAAS;;EACT,OAAQL,CAAC,IAAK;IACZ,SAAS;;IACT,OAAOM,IAAI,CAACC,GAAG,CAACP,CAAC,EAAEK,CAAC,CAAC;EACvB,CAAC;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA,SAASG,GAAGA,CAACR,CAAS,EAAU;EAC9B,SAAS;;EACT,OAAO,CAAC,GAAGM,IAAI,CAACG,GAAG,CAAET,CAAC,GAAGM,IAAI,CAACI,EAAE,GAAI,CAAC,CAAC;AACxC;;AAEA;AACA;AACA;AACA;AACA;AACA,SAASC,MAAMA,CAACX,CAAS,EAAU;EACjC,SAAS;;EACT,OAAO,CAAC,GAAGM,IAAI,CAACM,IAAI,CAAC,CAAC,GAAGZ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"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
/* global _WORKLET _measure _scrollTo _dispatchCommand _setGestureState */
|
|
2
|
+
|
|
2
3
|
import { findNodeHandle } from 'react-native';
|
|
3
4
|
import { isChromeDebugger, isWeb, shouldBeUseWeb } from './PlatformChecker';
|
|
4
5
|
export function getTag(view) {
|
|
@@ -6,11 +7,9 @@ export function getTag(view) {
|
|
|
6
7
|
}
|
|
7
8
|
const isNative = !shouldBeUseWeb();
|
|
8
9
|
export let measure;
|
|
9
|
-
|
|
10
10
|
if (isWeb()) {
|
|
11
11
|
measure = animatedRef => {
|
|
12
12
|
const element = animatedRef(); // TODO: fix typing of animated refs on web
|
|
13
|
-
|
|
14
13
|
const viewportOffset = element.getBoundingClientRect();
|
|
15
14
|
return {
|
|
16
15
|
width: element.offsetWidth,
|
|
@@ -34,16 +33,12 @@ if (isWeb()) {
|
|
|
34
33
|
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.');
|
|
35
34
|
return null;
|
|
36
35
|
}
|
|
37
|
-
|
|
38
36
|
const viewTag = animatedRef();
|
|
39
|
-
|
|
40
37
|
if (viewTag === -1) {
|
|
41
38
|
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).`);
|
|
42
39
|
return null;
|
|
43
40
|
}
|
|
44
|
-
|
|
45
41
|
const measured = _measure(viewTag);
|
|
46
|
-
|
|
47
42
|
if (measured === null) {
|
|
48
43
|
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).`);
|
|
49
44
|
return null;
|
|
@@ -58,7 +53,6 @@ if (isWeb()) {
|
|
|
58
53
|
}
|
|
59
54
|
};
|
|
60
55
|
}
|
|
61
|
-
|
|
62
56
|
export function dispatchCommand(animatedRef, commandName, args) {
|
|
63
57
|
'worklet';
|
|
64
58
|
|
|
@@ -66,18 +60,18 @@ export function dispatchCommand(animatedRef, commandName, args) {
|
|
|
66
60
|
return;
|
|
67
61
|
}
|
|
68
62
|
|
|
63
|
+
// dispatchCommand works only on Fabric where animatedRef returns
|
|
64
|
+
// an object (ShadowNodeWrapper) and not a number
|
|
69
65
|
const shadowNodeWrapper = animatedRef();
|
|
70
|
-
|
|
71
66
|
_dispatchCommand(shadowNodeWrapper, commandName, args);
|
|
72
67
|
}
|
|
73
68
|
export let scrollTo;
|
|
74
|
-
|
|
75
69
|
if (isWeb()) {
|
|
76
70
|
scrollTo = (animatedRef, x, y, animated) => {
|
|
77
71
|
'worklet';
|
|
78
72
|
|
|
79
|
-
const element = animatedRef();
|
|
80
|
-
|
|
73
|
+
const element = animatedRef();
|
|
74
|
+
// @ts-ignore same call as in react-native-web
|
|
81
75
|
element.scrollTo({
|
|
82
76
|
x,
|
|
83
77
|
y,
|
|
@@ -98,15 +92,15 @@ if (isWeb()) {
|
|
|
98
92
|
return;
|
|
99
93
|
}
|
|
100
94
|
|
|
95
|
+
// Calling animatedRef on Paper returns a number (nativeTag)
|
|
101
96
|
const viewTag = animatedRef();
|
|
102
|
-
|
|
103
97
|
_scrollTo(viewTag, x, y, animated);
|
|
104
98
|
};
|
|
105
99
|
} else {
|
|
106
|
-
scrollTo = (_animatedRef, _x, _y) => {
|
|
100
|
+
scrollTo = (_animatedRef, _x, _y) => {
|
|
101
|
+
// no-op
|
|
107
102
|
};
|
|
108
103
|
}
|
|
109
|
-
|
|
110
104
|
export function setGestureState(handlerTag, newState) {
|
|
111
105
|
'worklet';
|
|
112
106
|
|
|
@@ -114,7 +108,6 @@ export function setGestureState(handlerTag, newState) {
|
|
|
114
108
|
console.warn('[Reanimated] You can not use setGestureState in non-worklet function.');
|
|
115
109
|
return;
|
|
116
110
|
}
|
|
117
|
-
|
|
118
111
|
_setGestureState(handlerTag, newState);
|
|
119
112
|
}
|
|
120
113
|
//# sourceMappingURL=NativeMethods.js.map
|