react-native-reanimated 2.16.0 → 2.17.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/android/.gradle/7.5.1/checksums/checksums.lock +0 -0
- package/android/.gradle/7.5.1/checksums/md5-checksums.bin +0 -0
- package/android/.gradle/7.5.1/checksums/sha1-checksums.bin +0 -0
- package/android/.gradle/7.5.1/dependencies-accessors/dependencies-accessors.lock +0 -0
- package/android/.gradle/7.5.1/dependencies-accessors/gc.properties +0 -0
- package/android/.gradle/7.5.1/executionHistory/executionHistory.bin +0 -0
- package/android/.gradle/7.5.1/executionHistory/executionHistory.lock +0 -0
- package/android/.gradle/7.5.1/fileChanges/last-build.bin +0 -0
- package/android/.gradle/7.5.1/fileHashes/fileHashes.bin +0 -0
- package/android/.gradle/7.5.1/fileHashes/fileHashes.lock +0 -0
- package/android/.gradle/7.5.1/fileHashes/resourceHashesCache.bin +0 -0
- package/android/.gradle/7.5.1/gc.properties +0 -0
- package/android/.gradle/buildOutputCleanup/buildOutputCleanup.lock +0 -0
- package/android/.gradle/buildOutputCleanup/cache.properties +2 -0
- package/android/.gradle/buildOutputCleanup/outputFiles.bin +0 -0
- package/android/.gradle/file-system.probe +0 -0
- package/android/.gradle/vcs-1/gc.properties +0 -0
- package/android/react-native-reanimated-67-hermes.aar +0 -0
- package/android/react-native-reanimated-67-jsc.aar +0 -0
- package/android/react-native-reanimated-68-hermes.aar +0 -0
- package/android/react-native-reanimated-68-jsc.aar +0 -0
- package/android/react-native-reanimated-69-hermes.aar +0 -0
- package/android/react-native-reanimated-69-jsc.aar +0 -0
- package/android/react-native-reanimated-70-hermes.aar +0 -0
- package/android/react-native-reanimated-70-jsc.aar +0 -0
- package/android/react-native-reanimated-71-hermes.aar +0 -0
- package/android/react-native-reanimated-71-jsc.aar +0 -0
- package/lib/Animated.js +9 -0
- package/lib/ConfigHelper.js +145 -0
- package/lib/ReanimatedEventEmitter.js +3 -0
- package/lib/ReanimatedModule.js +2 -0
- package/lib/ReanimatedModule.macos.js +2 -0
- package/lib/ReanimatedModule.native.js +12 -0
- package/lib/ReanimatedModule.windows.js +2 -0
- package/lib/ReanimatedModuleCompat.js +66 -0
- package/lib/__mocks__/ReanimatedEventEmitter.js +8 -0
- package/lib/__mocks__/ReanimatedModule.native.js +11 -0
- package/lib/createAnimatedComponent.js +518 -0
- package/lib/index.js +14 -0
- package/lib/index.web.js +6 -0
- package/lib/reanimated1/Easing.js +231 -0
- package/lib/reanimated1/SpringConfig.js +79 -0
- package/lib/reanimated1/Transitioning.js +158 -0
- package/lib/reanimated1/animations/Animation.js +32 -0
- package/lib/reanimated1/animations/SpringUtils.js +199 -0
- package/lib/reanimated1/animations/backwardCompatibleAnimWrapper.js +117 -0
- package/lib/reanimated1/animations/decay.js +54 -0
- package/lib/reanimated1/animations/spring.js +198 -0
- package/lib/reanimated1/animations/timing.js +74 -0
- package/lib/reanimated1/base.js +13 -0
- package/lib/reanimated1/core/AnimatedAlways.js +33 -0
- package/lib/reanimated1/core/AnimatedBezier.js +150 -0
- package/lib/reanimated1/core/AnimatedBlock.js +52 -0
- package/lib/reanimated1/core/AnimatedCall.js +55 -0
- package/lib/reanimated1/core/AnimatedCallFunc.js +72 -0
- package/lib/reanimated1/core/AnimatedClock.js +90 -0
- package/lib/reanimated1/core/AnimatedClockTest.js +22 -0
- package/lib/reanimated1/core/AnimatedCode.js +32 -0
- package/lib/reanimated1/core/AnimatedConcat.js +32 -0
- package/lib/reanimated1/core/AnimatedCond.js +57 -0
- package/lib/reanimated1/core/AnimatedDebug.js +62 -0
- package/lib/reanimated1/core/AnimatedEvent.js +126 -0
- package/lib/reanimated1/core/AnimatedFunction.js +55 -0
- package/lib/reanimated1/core/AnimatedNode.js +223 -0
- package/lib/reanimated1/core/AnimatedOperator.js +103 -0
- package/lib/reanimated1/core/AnimatedParam.js +88 -0
- package/lib/reanimated1/core/AnimatedProps.js +108 -0
- package/lib/reanimated1/core/AnimatedSet.js +38 -0
- package/lib/reanimated1/core/AnimatedStartClock.js +30 -0
- package/lib/reanimated1/core/AnimatedStopClock.js +30 -0
- package/lib/reanimated1/core/AnimatedStyle.js +78 -0
- package/lib/reanimated1/core/AnimatedTransform.js +78 -0
- package/lib/reanimated1/core/AnimatedValue.js +38 -0
- package/lib/reanimated1/core/InternalAnimatedValue.js +87 -0
- package/lib/reanimated1/core/__mocks__/AnimatedProps.js +86 -0
- package/lib/reanimated1/core/createEventObjectProxyPolyfill.js +44 -0
- package/lib/reanimated1/derived/__mocks__/evaluateOnce.js +14 -0
- package/lib/reanimated1/derived/acc.js +11 -0
- package/lib/reanimated1/derived/color.js +47 -0
- package/lib/reanimated1/derived/diff.js +16 -0
- package/lib/reanimated1/derived/diffClamp.js +11 -0
- package/lib/reanimated1/derived/evaluateOnce.js +35 -0
- package/lib/reanimated1/derived/index.js +8 -0
- package/lib/reanimated1/derived/interpolate.js +152 -0
- package/lib/reanimated1/derived/interpolateColors.js +62 -0
- package/lib/reanimated1/derived/onChange.js +14 -0
- package/lib/reanimated1/derived/useCode.js +41 -0
- package/lib/reanimated1/index.js +53 -0
- package/lib/reanimated1/operators.js +35 -0
- package/lib/reanimated1/useValue.js +10 -0
- package/lib/reanimated1/val.js +3 -0
- package/lib/reanimated2/Bezier.js +126 -0
- package/lib/reanimated2/Colors.js +538 -0
- package/lib/reanimated2/Easing.js +248 -0
- package/lib/reanimated2/NativeMethods.js +94 -0
- package/lib/reanimated2/NativeReanimated/NativeReanimated.js +60 -0
- package/lib/reanimated2/NativeReanimated/index.js +11 -0
- package/lib/reanimated2/PlatformChecker.js +16 -0
- package/lib/reanimated2/PropAdapters.js +55 -0
- package/lib/reanimated2/UpdateProps.js +55 -0
- package/lib/reanimated2/ViewDescriptorsSet.js +75 -0
- package/lib/reanimated2/WorkletEventHandler.js +37 -0
- package/lib/reanimated2/__mocks__/MutableValue.js +13 -0
- package/lib/reanimated2/__mocks__/NativeReanimated.js +20 -0
- package/lib/reanimated2/animation/commonTypes.js +1 -0
- package/lib/reanimated2/animation/decay.js +71 -0
- package/lib/reanimated2/animation/delay.js +64 -0
- package/lib/reanimated2/animation/index.js +8 -0
- package/lib/reanimated2/animation/repeat.js +69 -0
- package/lib/reanimated2/animation/sequence.js +69 -0
- package/lib/reanimated2/animation/spring.js +103 -0
- package/lib/reanimated2/animation/styleAnimation.js +174 -0
- package/lib/reanimated2/animation/timing.js +64 -0
- package/lib/reanimated2/animation/util.js +183 -0
- package/lib/reanimated2/commonTypes.js +8 -0
- package/lib/reanimated2/component/FlatList.js +30 -0
- package/lib/reanimated2/component/Image.js +4 -0
- package/lib/reanimated2/component/ScrollView.js +4 -0
- package/lib/reanimated2/component/Text.js +4 -0
- package/lib/reanimated2/component/View.js +4 -0
- package/lib/reanimated2/core.js +269 -0
- package/lib/reanimated2/frameCallback/FrameCallbackRegistryJS.js +32 -0
- package/lib/reanimated2/frameCallback/FrameCallbackRegistryUI.js +76 -0
- package/lib/reanimated2/globals.d.ts +91 -0
- package/lib/reanimated2/hook/Hooks.js +9 -0
- package/lib/reanimated2/hook/commonTypes.js +1 -0
- package/lib/reanimated2/hook/index.js +12 -0
- package/lib/reanimated2/hook/useAnimatedGestureHandler.js +49 -0
- package/lib/reanimated2/hook/useAnimatedKeyboard.js +31 -0
- package/lib/reanimated2/hook/useAnimatedReaction.js +44 -0
- package/lib/reanimated2/hook/useAnimatedRef.js +25 -0
- package/lib/reanimated2/hook/useAnimatedScrollHandler.js +41 -0
- package/lib/reanimated2/hook/useAnimatedSensor.js +66 -0
- package/lib/reanimated2/hook/useAnimatedStyle.js +402 -0
- package/lib/reanimated2/hook/useDerivedValue.js +43 -0
- package/lib/reanimated2/hook/useFrameCallback.js +23 -0
- package/lib/reanimated2/hook/useScrollViewOffset.js +27 -0
- package/lib/reanimated2/hook/useSharedValue.js +17 -0
- package/lib/reanimated2/hook/utils.js +165 -0
- package/lib/reanimated2/index.js +12 -0
- package/lib/reanimated2/interpolateColor.js +157 -0
- package/lib/reanimated2/interpolation.js +127 -0
- package/lib/reanimated2/jestUtils.js +175 -0
- package/lib/reanimated2/js-reanimated/JSReanimated.js +106 -0
- package/lib/reanimated2/js-reanimated/Mapper.js +43 -0
- package/lib/reanimated2/js-reanimated/MapperRegistry.js +101 -0
- package/lib/reanimated2/js-reanimated/MutableValue.js +29 -0
- package/lib/reanimated2/js-reanimated/commonTypes.js +1 -0
- package/lib/reanimated2/js-reanimated/global.js +36 -0
- package/lib/reanimated2/js-reanimated/index.js +35 -0
- package/lib/reanimated2/layoutReanimation/LayoutAnimationRepository.js +67 -0
- package/lib/reanimated2/layoutReanimation/animationBuilder/BaseAnimationBuilder.js +69 -0
- package/lib/reanimated2/layoutReanimation/animationBuilder/ComplexAnimationBuilder.js +133 -0
- package/lib/reanimated2/layoutReanimation/animationBuilder/Keyframe.js +194 -0
- package/lib/reanimated2/layoutReanimation/animationBuilder/commonTypes.js +1 -0
- package/lib/reanimated2/layoutReanimation/animationBuilder/index.js +3 -0
- package/lib/reanimated2/layoutReanimation/defaultAnimations/Bounce.js +374 -0
- package/lib/reanimated2/layoutReanimation/defaultAnimations/Default.js +36 -0
- package/lib/reanimated2/layoutReanimation/defaultAnimations/Fade.js +275 -0
- package/lib/reanimated2/layoutReanimation/defaultAnimations/Flip.js +385 -0
- package/lib/reanimated2/layoutReanimation/defaultAnimations/Lightspeed.js +136 -0
- package/lib/reanimated2/layoutReanimation/defaultAnimations/Pinwheel.js +81 -0
- package/lib/reanimated2/layoutReanimation/defaultAnimations/Roll.js +120 -0
- package/lib/reanimated2/layoutReanimation/defaultAnimations/Rotate.js +273 -0
- package/lib/reanimated2/layoutReanimation/defaultAnimations/Slide.js +201 -0
- package/lib/reanimated2/layoutReanimation/defaultAnimations/Stretch.js +101 -0
- package/lib/reanimated2/layoutReanimation/defaultAnimations/Zoom.js +457 -0
- package/lib/reanimated2/layoutReanimation/defaultAnimations/index.js +10 -0
- package/lib/reanimated2/layoutReanimation/defaultTransitions/CurvedTransition.js +90 -0
- package/lib/reanimated2/layoutReanimation/defaultTransitions/EntryExitTransition.js +132 -0
- package/lib/reanimated2/layoutReanimation/defaultTransitions/FadingTransition.js +37 -0
- package/lib/reanimated2/layoutReanimation/defaultTransitions/JumpingTransition.js +41 -0
- package/lib/reanimated2/layoutReanimation/defaultTransitions/LinearTransition.js +34 -0
- package/lib/reanimated2/layoutReanimation/defaultTransitions/SequencedTransition.js +46 -0
- package/lib/reanimated2/layoutReanimation/defaultTransitions/index.js +6 -0
- package/lib/reanimated2/layoutReanimation/index.js +4 -0
- package/lib/reanimated2/mock.js +75 -0
- package/lib/reanimated2/platform-specific/RNRenderer.js +3 -0
- package/lib/reanimated2/platform-specific/RNRenderer.web.js +3 -0
- package/lib/reanimated2/platform-specific/checkVersion.js +28 -0
- package/lib/reanimated2/platform-specific/checkVersion.web.js +6 -0
- package/lib/reanimated2/utils.js +16 -0
- package/lib/setAndForwardRef.js +19 -0
- package/lib/types/lib/Animated.d.ts +8 -0
- package/lib/types/lib/ConfigHelper.d.ts +12 -0
- package/lib/types/lib/ReanimatedEventEmitter.d.ts +3 -0
- package/lib/types/lib/ReanimatedModule.d.ts +2 -0
- package/lib/types/lib/ReanimatedModule.macos.d.ts +2 -0
- package/lib/types/lib/ReanimatedModule.native.d.ts +2 -0
- package/lib/types/lib/ReanimatedModule.windows.d.ts +2 -0
- package/lib/types/lib/ReanimatedModuleCompat.d.ts +14 -0
- package/lib/types/lib/createAnimatedComponent.d.ts +33 -0
- package/lib/types/lib/index.d.ts +4 -0
- package/lib/types/lib/index.web.d.ts +4 -0
- package/lib/types/lib/reanimated2/Bezier.d.ts +6 -0
- package/lib/types/lib/reanimated2/Colors.d.ts +33 -0
- package/lib/types/lib/reanimated2/Easing.d.ts +172 -0
- package/lib/types/lib/reanimated2/NativeMethods.d.ts +7 -0
- package/lib/types/lib/reanimated2/NativeReanimated/NativeReanimated.d.ts +22 -0
- package/lib/types/lib/reanimated2/NativeReanimated/index.d.ts +3 -0
- package/lib/types/lib/reanimated2/PlatformChecker.d.ts +5 -0
- package/lib/types/lib/reanimated2/PropAdapters.d.ts +4 -0
- package/lib/types/lib/reanimated2/UpdateProps.d.ts +9 -0
- package/lib/types/lib/reanimated2/ViewDescriptorsSet.d.ts +20 -0
- package/lib/types/lib/reanimated2/WorkletEventHandler.d.ts +13 -0
- package/lib/types/lib/reanimated2/__mocks__/MutableValue.d.ts +5 -0
- package/lib/types/lib/reanimated2/__mocks__/NativeReanimated.d.ts +13 -0
- package/lib/types/lib/reanimated2/animation/commonTypes.d.ts +27 -0
- package/lib/types/lib/reanimated2/animation/decay.d.ts +19 -0
- package/lib/types/lib/reanimated2/animation/delay.d.ts +7 -0
- package/lib/types/lib/reanimated2/animation/index.d.ts +9 -0
- package/lib/types/lib/reanimated2/animation/repeat.d.ts +12 -0
- package/lib/types/lib/reanimated2/animation/sequence.d.ts +7 -0
- package/lib/types/lib/reanimated2/animation/spring.d.ts +22 -0
- package/lib/types/lib/reanimated2/animation/styleAnimation.d.ts +7 -0
- package/lib/types/lib/reanimated2/animation/timing.d.ts +21 -0
- package/lib/types/lib/reanimated2/animation/util.d.ts +9 -0
- package/lib/types/lib/reanimated2/commonTypes.d.ts +99 -0
- package/lib/types/lib/reanimated2/component/FlatList.d.ts +9 -0
- package/lib/types/lib/reanimated2/component/Image.d.ts +3 -0
- package/lib/types/lib/reanimated2/component/ScrollView.d.ts +3 -0
- package/lib/types/lib/reanimated2/component/Text.d.ts +3 -0
- package/lib/types/lib/reanimated2/component/View.d.ts +3 -0
- package/lib/types/lib/reanimated2/core.d.ts +24 -0
- package/lib/types/lib/reanimated2/frameCallback/FrameCallbackRegistryJS.d.ts +8 -0
- package/lib/types/lib/reanimated2/frameCallback/FrameCallbackRegistryUI.d.ts +20 -0
- package/lib/types/lib/reanimated2/hook/Hooks.d.ts +5 -0
- package/lib/types/lib/reanimated2/hook/commonTypes.d.ts +14 -0
- package/lib/types/lib/reanimated2/hook/index.d.ts +14 -0
- package/lib/types/lib/reanimated2/hook/useAnimatedGestureHandler.d.ts +35 -0
- package/lib/types/lib/reanimated2/hook/useAnimatedKeyboard.d.ts +2 -0
- package/lib/types/lib/reanimated2/hook/useAnimatedReaction.d.ts +12 -0
- package/lib/types/lib/reanimated2/hook/useAnimatedRef.d.ts +3 -0
- package/lib/types/lib/reanimated2/hook/useAnimatedScrollHandler.d.ts +20 -0
- package/lib/types/lib/reanimated2/hook/useAnimatedSensor.d.ts +18 -0
- package/lib/types/lib/reanimated2/hook/useAnimatedStyle.d.ts +11 -0
- package/lib/types/lib/reanimated2/hook/useDerivedValue.d.ts +4 -0
- package/lib/types/lib/reanimated2/hook/useFrameCallback.d.ts +7 -0
- package/lib/types/lib/reanimated2/hook/useScrollViewOffset.d.ts +4 -0
- package/lib/types/lib/reanimated2/hook/useSharedValue.d.ts +2 -0
- package/lib/types/lib/reanimated2/hook/utils.d.ts +28 -0
- package/lib/types/lib/reanimated2/index.d.ts +12 -0
- package/lib/types/lib/reanimated2/interpolateColor.d.ts +32 -0
- package/lib/types/lib/reanimated2/interpolation.d.ts +14 -0
- package/lib/types/lib/reanimated2/jestUtils.d.ts +12 -0
- package/lib/types/lib/reanimated2/js-reanimated/JSReanimated.d.ts +32 -0
- package/lib/types/lib/reanimated2/js-reanimated/Mapper.d.ts +14 -0
- package/lib/types/lib/reanimated2/js-reanimated/MapperRegistry.d.ts +14 -0
- package/lib/types/lib/reanimated2/js-reanimated/MutableValue.d.ts +14 -0
- package/lib/types/lib/reanimated2/js-reanimated/commonTypes.d.ts +44 -0
- package/lib/types/lib/reanimated2/js-reanimated/global.d.ts +2 -0
- package/lib/types/lib/reanimated2/js-reanimated/index.d.ts +15 -0
- package/lib/types/lib/reanimated2/layoutReanimation/LayoutAnimationRepository.d.ts +1 -0
- package/lib/types/lib/reanimated2/layoutReanimation/animationBuilder/BaseAnimationBuilder.d.ts +22 -0
- package/lib/types/lib/reanimated2/layoutReanimation/animationBuilder/ComplexAnimationBuilder.d.ts +38 -0
- package/lib/types/lib/reanimated2/layoutReanimation/animationBuilder/Keyframe.d.ts +25 -0
- package/lib/types/lib/reanimated2/layoutReanimation/animationBuilder/commonTypes.d.ts +81 -0
- package/lib/types/lib/reanimated2/layoutReanimation/animationBuilder/index.d.ts +4 -0
- package/lib/types/lib/reanimated2/layoutReanimation/defaultAnimations/Bounce.d.ts +62 -0
- package/lib/types/lib/reanimated2/layoutReanimation/defaultAnimations/Default.d.ts +4 -0
- package/lib/types/lib/reanimated2/layoutReanimation/defaultAnimations/Fade.d.ts +42 -0
- package/lib/types/lib/reanimated2/layoutReanimation/defaultAnimations/Flip.d.ts +50 -0
- package/lib/types/lib/reanimated2/layoutReanimation/defaultAnimations/Lightspeed.d.ts +18 -0
- package/lib/types/lib/reanimated2/layoutReanimation/defaultAnimations/Pinwheel.d.ts +10 -0
- package/lib/types/lib/reanimated2/layoutReanimation/defaultAnimations/Roll.d.ts +18 -0
- package/lib/types/lib/reanimated2/layoutReanimation/defaultAnimations/Rotate.d.ts +34 -0
- package/lib/types/lib/reanimated2/layoutReanimation/defaultAnimations/Slide.d.ts +34 -0
- package/lib/types/lib/reanimated2/layoutReanimation/defaultAnimations/Stretch.d.ts +18 -0
- package/lib/types/lib/reanimated2/layoutReanimation/defaultAnimations/Zoom.d.ts +66 -0
- package/lib/types/lib/reanimated2/layoutReanimation/defaultAnimations/index.d.ts +10 -0
- package/lib/types/lib/reanimated2/layoutReanimation/defaultTransitions/CurvedTransition.d.ts +19 -0
- package/lib/types/lib/reanimated2/layoutReanimation/defaultTransitions/EntryExitTransition.d.ts +13 -0
- package/lib/types/lib/reanimated2/layoutReanimation/defaultTransitions/FadingTransition.d.ts +6 -0
- package/lib/types/lib/reanimated2/layoutReanimation/defaultTransitions/JumpingTransition.d.ts +6 -0
- package/lib/types/lib/reanimated2/layoutReanimation/defaultTransitions/LinearTransition.d.ts +7 -0
- package/lib/types/lib/reanimated2/layoutReanimation/defaultTransitions/SequencedTransition.d.ts +9 -0
- package/lib/types/lib/reanimated2/layoutReanimation/defaultTransitions/index.d.ts +6 -0
- package/lib/types/lib/reanimated2/layoutReanimation/index.d.ts +4 -0
- package/lib/types/lib/reanimated2/mock.d.ts +61 -0
- package/lib/types/lib/reanimated2/platform-specific/RNRenderer.d.ts +1 -0
- package/lib/types/lib/reanimated2/platform-specific/RNRenderer.web.d.ts +0 -0
- package/lib/types/lib/reanimated2/platform-specific/checkVersion.d.ts +4 -0
- package/lib/types/lib/reanimated2/platform-specific/checkVersion.web.d.ts +5 -0
- package/lib/types/lib/reanimated2/utils.d.ts +11 -0
- package/lib/types/lib/setAndForwardRef.d.ts +40 -0
- package/package.json +1 -1
- package/src/reanimated1/core/Core.test.js +0 -30
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
import type {
|
|
2
|
+
AnimatedStyle,
|
|
3
|
+
StyleProps,
|
|
4
|
+
MeasuredDimensions,
|
|
5
|
+
} from './commonTypes';
|
|
6
|
+
import type { ReanimatedConsole } from './core';
|
|
7
|
+
import type { NativeReanimated } from './NativeReanimated/NativeReanimated';
|
|
8
|
+
import type { FrameCallbackRegistryUI } from './frameCallback/FrameCallbackRegistryUI';
|
|
9
|
+
|
|
10
|
+
declare global {
|
|
11
|
+
const _WORKLET: boolean;
|
|
12
|
+
const _REANIMATED_VERSION_CPP: string;
|
|
13
|
+
const _frameTimestamp: number | null;
|
|
14
|
+
const _eventTimestamp: number;
|
|
15
|
+
const __reanimatedModuleProxy: NativeReanimated;
|
|
16
|
+
const _setGlobalConsole: (console?: ReanimatedConsole) => void;
|
|
17
|
+
const _log: (s: string) => void;
|
|
18
|
+
const _getCurrentTime: () => number;
|
|
19
|
+
const _stopObservingProgress: (tag: number, flag: boolean) => void;
|
|
20
|
+
const _startObservingProgress: (
|
|
21
|
+
tag: number,
|
|
22
|
+
flag: { value: boolean; _value: boolean }
|
|
23
|
+
) => void;
|
|
24
|
+
const _setGestureState: (handlerTag: number, newState: number) => void;
|
|
25
|
+
const _updateProps: (
|
|
26
|
+
tag: number,
|
|
27
|
+
name: string,
|
|
28
|
+
updates: StyleProps | AnimatedStyle
|
|
29
|
+
) => void;
|
|
30
|
+
const _measure: (viewTag: number) => MeasuredDimensions;
|
|
31
|
+
const _scrollTo: (
|
|
32
|
+
viewTag: number,
|
|
33
|
+
x: number,
|
|
34
|
+
y: number,
|
|
35
|
+
animated: boolean
|
|
36
|
+
) => void;
|
|
37
|
+
const _chronoNow: () => number;
|
|
38
|
+
const performance: { now: () => number };
|
|
39
|
+
const LayoutAnimationRepository: {
|
|
40
|
+
configs: Record<string, unknown>;
|
|
41
|
+
registerConfig(tag: number, config: Record<string, unknown>): void;
|
|
42
|
+
removeConfig(tag: number): void;
|
|
43
|
+
startAnimationForTag(tag: number, type: string, yogaValues: unknown): void;
|
|
44
|
+
};
|
|
45
|
+
const ReanimatedDataMock: {
|
|
46
|
+
now: () => number;
|
|
47
|
+
};
|
|
48
|
+
const _frameCallbackRegistry: FrameCallbackRegistryUI;
|
|
49
|
+
namespace NodeJS {
|
|
50
|
+
interface Global {
|
|
51
|
+
_WORKLET: boolean;
|
|
52
|
+
_IS_FABRIC: boolean;
|
|
53
|
+
_REANIMATED_VERSION_CPP: string;
|
|
54
|
+
_frameTimestamp: number | null;
|
|
55
|
+
_eventTimestamp: number;
|
|
56
|
+
__reanimatedModuleProxy: NativeReanimated;
|
|
57
|
+
_setGlobalConsole: (console?: ReanimatedConsole) => void;
|
|
58
|
+
_log: (s: string) => void;
|
|
59
|
+
_getCurrentTime: () => number;
|
|
60
|
+
_stopObservingProgress: (tag: number, flag: boolean) => void;
|
|
61
|
+
_startObservingProgress: (
|
|
62
|
+
tag: number,
|
|
63
|
+
flag: { value: boolean; _value: boolean }
|
|
64
|
+
) => void;
|
|
65
|
+
_setGestureState: (handlerTag: number, newState: number) => void;
|
|
66
|
+
_measure: (viewTag: number) => MeasuredDimensions;
|
|
67
|
+
_scrollTo: (
|
|
68
|
+
viewTag: number,
|
|
69
|
+
x: number,
|
|
70
|
+
y: number,
|
|
71
|
+
animated: boolean
|
|
72
|
+
) => void;
|
|
73
|
+
_chronoNow: () => number;
|
|
74
|
+
performance: { now: () => number };
|
|
75
|
+
LayoutAnimationRepository: {
|
|
76
|
+
configs: Record<string, unknown>;
|
|
77
|
+
registerConfig(tag: number, config: Record<string, unknown>): void;
|
|
78
|
+
removeConfig(tag: number): void;
|
|
79
|
+
startAnimationForTag(
|
|
80
|
+
tag: number,
|
|
81
|
+
type: string,
|
|
82
|
+
yogaValues: unknown
|
|
83
|
+
): void;
|
|
84
|
+
};
|
|
85
|
+
ReanimatedDataMock: {
|
|
86
|
+
now: () => number;
|
|
87
|
+
};
|
|
88
|
+
_frameCallbackRegistry: FrameCallbackRegistryUI;
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { useCallback } from 'react';
|
|
2
|
+
import { useAnimatedStyle } from './useAnimatedStyle';
|
|
3
|
+
// TODO: we should make sure that when useAP is used we are not assigning styles
|
|
4
|
+
// when you need styles to animated you should always use useAS
|
|
5
|
+
export const useAnimatedProps = useAnimatedStyle;
|
|
6
|
+
export function useWorkletCallback(fun, deps) {
|
|
7
|
+
return useCallback(fun, deps !== null && deps !== void 0 ? deps : []);
|
|
8
|
+
}
|
|
9
|
+
export { useEvent, useHandler } from './utils';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
export { useAnimatedProps, useEvent, useHandler, useWorkletCallback, } from './Hooks';
|
|
2
|
+
export { useSharedValue } from './useSharedValue';
|
|
3
|
+
export { useAnimatedStyle } from './useAnimatedStyle';
|
|
4
|
+
export { useAnimatedGestureHandler, } from './useAnimatedGestureHandler';
|
|
5
|
+
export { useAnimatedReaction, } from './useAnimatedReaction';
|
|
6
|
+
export { useAnimatedRef } from './useAnimatedRef';
|
|
7
|
+
export { useAnimatedScrollHandler, } from './useAnimatedScrollHandler';
|
|
8
|
+
export { useDerivedValue } from './useDerivedValue';
|
|
9
|
+
export { useAnimatedSensor, SensorType } from './useAnimatedSensor';
|
|
10
|
+
export { useFrameCallback } from './useFrameCallback';
|
|
11
|
+
export { useAnimatedKeyboard } from './useAnimatedKeyboard';
|
|
12
|
+
export { useScrollViewOffset } from './useScrollViewOffset';
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import { useEvent, useHandler } from './Hooks';
|
|
2
|
+
export var EventType;
|
|
3
|
+
(function (EventType) {
|
|
4
|
+
EventType[EventType["UNDETERMINED"] = 0] = "UNDETERMINED";
|
|
5
|
+
EventType[EventType["FAILED"] = 1] = "FAILED";
|
|
6
|
+
EventType[EventType["BEGAN"] = 2] = "BEGAN";
|
|
7
|
+
EventType[EventType["CANCELLED"] = 3] = "CANCELLED";
|
|
8
|
+
EventType[EventType["ACTIVE"] = 4] = "ACTIVE";
|
|
9
|
+
EventType[EventType["END"] = 5] = "END";
|
|
10
|
+
})(EventType || (EventType = {}));
|
|
11
|
+
export function useAnimatedGestureHandler(handlers, dependencies) {
|
|
12
|
+
const { context, doDependenciesDiffer, useWeb } = useHandler(handlers, dependencies);
|
|
13
|
+
const handler = (e) => {
|
|
14
|
+
'worklet';
|
|
15
|
+
const event = useWeb ? e.nativeEvent : e;
|
|
16
|
+
if (event.state === EventType.BEGAN && handlers.onStart) {
|
|
17
|
+
handlers.onStart(event, context);
|
|
18
|
+
}
|
|
19
|
+
if (event.state === EventType.ACTIVE && handlers.onActive) {
|
|
20
|
+
handlers.onActive(event, context);
|
|
21
|
+
}
|
|
22
|
+
if (event.oldState === EventType.ACTIVE &&
|
|
23
|
+
event.state === EventType.END &&
|
|
24
|
+
handlers.onEnd) {
|
|
25
|
+
handlers.onEnd(event, context);
|
|
26
|
+
}
|
|
27
|
+
if (event.oldState === EventType.BEGAN &&
|
|
28
|
+
event.state === EventType.FAILED &&
|
|
29
|
+
handlers.onFail) {
|
|
30
|
+
handlers.onFail(event, context);
|
|
31
|
+
}
|
|
32
|
+
if (event.oldState === EventType.ACTIVE &&
|
|
33
|
+
event.state === EventType.CANCELLED &&
|
|
34
|
+
handlers.onCancel) {
|
|
35
|
+
handlers.onCancel(event, context);
|
|
36
|
+
}
|
|
37
|
+
if ((event.oldState === EventType.BEGAN ||
|
|
38
|
+
event.oldState === EventType.ACTIVE) &&
|
|
39
|
+
event.state !== EventType.BEGAN &&
|
|
40
|
+
event.state !== EventType.ACTIVE &&
|
|
41
|
+
handlers.onFinish) {
|
|
42
|
+
handlers.onFinish(event, context, event.state === EventType.CANCELLED || event.state === EventType.FAILED);
|
|
43
|
+
}
|
|
44
|
+
};
|
|
45
|
+
if (useWeb) {
|
|
46
|
+
return handler;
|
|
47
|
+
}
|
|
48
|
+
return useEvent(handler, ['onGestureHandlerStateChange', 'onGestureHandlerEvent'], doDependenciesDiffer);
|
|
49
|
+
}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { useEffect, useRef } from 'react';
|
|
2
|
+
import NativeReanimated from '../NativeReanimated';
|
|
3
|
+
import { makeMutable } from '../core';
|
|
4
|
+
import { KeyboardState } from '../commonTypes';
|
|
5
|
+
export function useAnimatedKeyboard() {
|
|
6
|
+
const ref = useRef(null);
|
|
7
|
+
const listenerId = useRef(-1);
|
|
8
|
+
const isSubscribed = useRef(false);
|
|
9
|
+
if (ref.current === null) {
|
|
10
|
+
const keyboardEventData = {
|
|
11
|
+
state: makeMutable(KeyboardState.UNKNOWN),
|
|
12
|
+
height: makeMutable(0),
|
|
13
|
+
};
|
|
14
|
+
listenerId.current =
|
|
15
|
+
NativeReanimated.subscribeForKeyboardEvents(keyboardEventData);
|
|
16
|
+
ref.current = keyboardEventData;
|
|
17
|
+
isSubscribed.current = true;
|
|
18
|
+
}
|
|
19
|
+
useEffect(() => {
|
|
20
|
+
if (isSubscribed.current === false && ref.current !== null) {
|
|
21
|
+
// subscribe again after Fast Refresh
|
|
22
|
+
listenerId.current = NativeReanimated.subscribeForKeyboardEvents(ref.current);
|
|
23
|
+
isSubscribed.current = true;
|
|
24
|
+
}
|
|
25
|
+
return () => {
|
|
26
|
+
NativeReanimated.unsubscribeFromKeyboardEvents(listenerId.current);
|
|
27
|
+
isSubscribed.current = false;
|
|
28
|
+
};
|
|
29
|
+
}, []);
|
|
30
|
+
return ref.current;
|
|
31
|
+
}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import { useEffect } from 'react';
|
|
2
|
+
import { startMapper, stopMapper } from '../core';
|
|
3
|
+
import { useSharedValue } from './useSharedValue';
|
|
4
|
+
import { shouldBeUseWeb } from '../PlatformChecker';
|
|
5
|
+
/**
|
|
6
|
+
* @param prepare - worklet used for data preparation for the second parameter
|
|
7
|
+
* @param react - worklet which takes data prepared by the one in the first parameter and performs certain actions
|
|
8
|
+
* the first worklet defines the inputs, in other words on which shared values change will it be called.
|
|
9
|
+
* the second one can modify any shared values but those which are mentioned in the first worklet. Beware of that, because this may result in endless loop and high cpu usage.
|
|
10
|
+
*/
|
|
11
|
+
export function useAnimatedReaction(prepare, react, dependencies) {
|
|
12
|
+
var _a, _b, _c;
|
|
13
|
+
const previous = useSharedValue(null);
|
|
14
|
+
let inputs = Object.values((_a = prepare._closure) !== null && _a !== void 0 ? _a : {});
|
|
15
|
+
if (shouldBeUseWeb()) {
|
|
16
|
+
if (!inputs.length && (dependencies === null || dependencies === void 0 ? void 0 : dependencies.length)) {
|
|
17
|
+
// let web work without a Babel/SWC plugin
|
|
18
|
+
inputs = dependencies;
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
if (dependencies === undefined) {
|
|
22
|
+
dependencies = [
|
|
23
|
+
Object.values((_b = prepare._closure) !== null && _b !== void 0 ? _b : {}),
|
|
24
|
+
Object.values((_c = react._closure) !== null && _c !== void 0 ? _c : {}),
|
|
25
|
+
prepare.__workletHash,
|
|
26
|
+
react.__workletHash,
|
|
27
|
+
];
|
|
28
|
+
}
|
|
29
|
+
else {
|
|
30
|
+
dependencies.push(prepare.__workletHash, react.__workletHash);
|
|
31
|
+
}
|
|
32
|
+
useEffect(() => {
|
|
33
|
+
const fun = () => {
|
|
34
|
+
'worklet';
|
|
35
|
+
const input = prepare();
|
|
36
|
+
react(input, previous.value);
|
|
37
|
+
previous.value = input;
|
|
38
|
+
};
|
|
39
|
+
const mapperId = startMapper(fun, inputs, []);
|
|
40
|
+
return () => {
|
|
41
|
+
stopMapper(mapperId);
|
|
42
|
+
};
|
|
43
|
+
}, dependencies);
|
|
44
|
+
}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { useRef } from 'react';
|
|
2
|
+
import { getTag } from '../NativeMethods';
|
|
3
|
+
import { useSharedValue } from './useSharedValue';
|
|
4
|
+
export function useAnimatedRef() {
|
|
5
|
+
const tag = useSharedValue(-1);
|
|
6
|
+
const ref = useRef();
|
|
7
|
+
if (!ref.current) {
|
|
8
|
+
const fun = ((component) => {
|
|
9
|
+
'worklet';
|
|
10
|
+
// enters when ref is set by attaching to a component
|
|
11
|
+
if (component) {
|
|
12
|
+
tag.value = getTag(component);
|
|
13
|
+
fun.current = component;
|
|
14
|
+
}
|
|
15
|
+
return tag.value;
|
|
16
|
+
});
|
|
17
|
+
Object.defineProperty(fun, 'current', {
|
|
18
|
+
value: null,
|
|
19
|
+
writable: true,
|
|
20
|
+
enumerable: false,
|
|
21
|
+
});
|
|
22
|
+
ref.current = fun;
|
|
23
|
+
}
|
|
24
|
+
return ref.current;
|
|
25
|
+
}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import { useEvent, useHandler } from './Hooks';
|
|
2
|
+
export function useAnimatedScrollHandler(handlers, dependencies) {
|
|
3
|
+
// case when handlers is a function
|
|
4
|
+
const scrollHandlers = typeof handlers === 'function' ? { onScroll: handlers } : handlers;
|
|
5
|
+
const { context, doDependenciesDiffer } = useHandler(scrollHandlers, dependencies);
|
|
6
|
+
// build event subscription array
|
|
7
|
+
const subscribeForEvents = ['onScroll'];
|
|
8
|
+
if (scrollHandlers.onBeginDrag !== undefined) {
|
|
9
|
+
subscribeForEvents.push('onScrollBeginDrag');
|
|
10
|
+
}
|
|
11
|
+
if (scrollHandlers.onEndDrag !== undefined) {
|
|
12
|
+
subscribeForEvents.push('onScrollEndDrag');
|
|
13
|
+
}
|
|
14
|
+
if (scrollHandlers.onMomentumBegin !== undefined) {
|
|
15
|
+
subscribeForEvents.push('onMomentumScrollBegin');
|
|
16
|
+
}
|
|
17
|
+
if (scrollHandlers.onMomentumEnd !== undefined) {
|
|
18
|
+
subscribeForEvents.push('onMomentumScrollEnd');
|
|
19
|
+
}
|
|
20
|
+
return useEvent((event) => {
|
|
21
|
+
'worklet';
|
|
22
|
+
const { onScroll, onBeginDrag, onEndDrag, onMomentumBegin, onMomentumEnd, } = scrollHandlers;
|
|
23
|
+
if (onScroll && event.eventName.endsWith('onScroll')) {
|
|
24
|
+
onScroll(event, context);
|
|
25
|
+
}
|
|
26
|
+
else if (onBeginDrag && event.eventName.endsWith('onScrollBeginDrag')) {
|
|
27
|
+
onBeginDrag(event, context);
|
|
28
|
+
}
|
|
29
|
+
else if (onEndDrag && event.eventName.endsWith('onScrollEndDrag')) {
|
|
30
|
+
onEndDrag(event, context);
|
|
31
|
+
}
|
|
32
|
+
else if (onMomentumBegin &&
|
|
33
|
+
event.eventName.endsWith('onMomentumScrollBegin')) {
|
|
34
|
+
onMomentumBegin(event, context);
|
|
35
|
+
}
|
|
36
|
+
else if (onMomentumEnd &&
|
|
37
|
+
event.eventName.endsWith('onMomentumScrollEnd')) {
|
|
38
|
+
onMomentumEnd(event, context);
|
|
39
|
+
}
|
|
40
|
+
}, subscribeForEvents, doDependenciesDiffer);
|
|
41
|
+
}
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
import { useEffect, useRef } from 'react';
|
|
2
|
+
import { makeMutable } from '../core';
|
|
3
|
+
import NativeReanimated from '../NativeReanimated';
|
|
4
|
+
export var SensorType;
|
|
5
|
+
(function (SensorType) {
|
|
6
|
+
SensorType[SensorType["ACCELEROMETER"] = 1] = "ACCELEROMETER";
|
|
7
|
+
SensorType[SensorType["GYROSCOPE"] = 2] = "GYROSCOPE";
|
|
8
|
+
SensorType[SensorType["GRAVITY"] = 3] = "GRAVITY";
|
|
9
|
+
SensorType[SensorType["MAGNETIC_FIELD"] = 4] = "MAGNETIC_FIELD";
|
|
10
|
+
SensorType[SensorType["ROTATION"] = 5] = "ROTATION";
|
|
11
|
+
})(SensorType || (SensorType = {}));
|
|
12
|
+
export function useAnimatedSensor(sensorType, userConfig) {
|
|
13
|
+
const ref = useRef({
|
|
14
|
+
sensor: null,
|
|
15
|
+
unregister: () => {
|
|
16
|
+
// NOOP
|
|
17
|
+
},
|
|
18
|
+
isAvailable: false,
|
|
19
|
+
config: {
|
|
20
|
+
interval: 0,
|
|
21
|
+
},
|
|
22
|
+
});
|
|
23
|
+
if (ref.current.sensor === null) {
|
|
24
|
+
ref.current.config = Object.assign({ interval: 'auto' }, userConfig);
|
|
25
|
+
let sensorData;
|
|
26
|
+
if (sensorType === SensorType.ROTATION) {
|
|
27
|
+
sensorData = {
|
|
28
|
+
qw: 0,
|
|
29
|
+
qx: 0,
|
|
30
|
+
qy: 0,
|
|
31
|
+
qz: 0,
|
|
32
|
+
yaw: 0,
|
|
33
|
+
pitch: 0,
|
|
34
|
+
roll: 0,
|
|
35
|
+
};
|
|
36
|
+
}
|
|
37
|
+
else {
|
|
38
|
+
sensorData = {
|
|
39
|
+
x: 0,
|
|
40
|
+
y: 0,
|
|
41
|
+
z: 0,
|
|
42
|
+
};
|
|
43
|
+
}
|
|
44
|
+
ref.current.sensor = makeMutable(sensorData);
|
|
45
|
+
}
|
|
46
|
+
useEffect(() => {
|
|
47
|
+
ref.current.config = Object.assign({ interval: 'auto' }, userConfig);
|
|
48
|
+
const id = NativeReanimated.registerSensor(sensorType, ref.current.config.interval === 'auto' ? -1 : ref.current.config.interval, ref.current.sensor);
|
|
49
|
+
if (id !== -1) {
|
|
50
|
+
// if sensor is available
|
|
51
|
+
ref.current.unregister = () => NativeReanimated.unregisterSensor(id);
|
|
52
|
+
ref.current.isAvailable = true;
|
|
53
|
+
}
|
|
54
|
+
else {
|
|
55
|
+
// if sensor is unavailable
|
|
56
|
+
ref.current.unregister = () => {
|
|
57
|
+
// NOOP
|
|
58
|
+
};
|
|
59
|
+
ref.current.isAvailable = false;
|
|
60
|
+
}
|
|
61
|
+
return () => {
|
|
62
|
+
ref.current.unregister();
|
|
63
|
+
};
|
|
64
|
+
}, [sensorType, userConfig]);
|
|
65
|
+
return ref.current;
|
|
66
|
+
}
|