react-native-reanimated 2.3.3 → 2.5.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/AnimatedSensor/AnimatedSensorModule.cpp +72 -0
- package/Common/cpp/NativeModules/NativeReanimatedModule.cpp +30 -1
- package/Common/cpp/NativeModules/NativeReanimatedModuleSpec.cpp +64 -39
- package/Common/cpp/Tools/RuntimeDecorator.cpp +2 -0
- package/Common/cpp/headers/AnimatedSensor/AnimatedSensorModule.h +41 -0
- package/Common/cpp/headers/NativeModules/NativeReanimatedModule.h +14 -0
- package/Common/cpp/headers/NativeModules/NativeReanimatedModuleSpec.h +14 -0
- package/Common/cpp/headers/SharedItems/MutableValue.h +4 -1
- package/Common/cpp/headers/SharedItems/ShareableValue.h +3 -0
- package/Common/cpp/headers/SharedItems/ValueWrapper.h +3 -0
- package/Common/cpp/headers/Tools/PlatformDepMethodsHolder.h +11 -0
- package/Common/cpp/headers/Tools/RuntimeDecorator.h +2 -0
- package/LICENSE +1 -1
- package/README.md +2 -2
- package/android/.gradle/7.2/dependencies-accessors/dependencies-accessors.lock +0 -0
- package/android/.gradle/7.2/dependencies-accessors/gc.properties +0 -0
- package/android/.gradle/7.2/executionHistory/executionHistory.bin +0 -0
- package/android/.gradle/7.2/executionHistory/executionHistory.lock +0 -0
- package/android/.gradle/7.2/fileChanges/last-build.bin +0 -0
- package/android/.gradle/7.2/fileHashes/fileHashes.bin +0 -0
- package/android/.gradle/7.2/fileHashes/fileHashes.lock +0 -0
- package/android/.gradle/7.2/fileHashes/resourceHashesCache.bin +0 -0
- package/android/.gradle/7.2/gc.properties +0 -0
- package/android/.gradle/buildOutputCleanup/buildOutputCleanup.lock +0 -0
- package/android/.gradle/buildOutputCleanup/cache.properties +2 -0
- package/android/.gradle/buildOutputCleanup/outputFiles.bin +0 -0
- package/android/.gradle/checksums/checksums.lock +0 -0
- package/android/.gradle/checksums/md5-checksums.bin +0 -0
- package/android/.gradle/checksums/sha1-checksums.bin +0 -0
- package/android/.gradle/vcs-1/gc.properties +0 -0
- package/android/CMakeLists.txt +198 -0
- package/android/README.md +15 -0
- package/android/build.gradle +686 -73
- package/android/empty.cpp +1 -0
- package/android/gradle/wrapper/gradle-wrapper.jar +0 -0
- package/android/gradle/wrapper/gradle-wrapper.properties +5 -0
- package/android/gradle.properties +25 -0
- package/android/gradlew +234 -0
- package/android/gradlew.bat +89 -0
- package/android/react-native-reanimated-64-hermes.aar +0 -0
- package/android/react-native-reanimated-64-jsc.aar +0 -0
- package/android/react-native-reanimated-65-hermes.aar +0 -0
- package/android/react-native-reanimated-65-jsc.aar +0 -0
- package/android/react-native-reanimated-66-hermes.aar +0 -0
- package/android/react-native-reanimated-66-jsc.aar +0 -0
- package/android/react-native-reanimated-67-hermes.aar +0 -0
- package/android/react-native-reanimated-67-jsc.aar +0 -0
- package/android/react-native-reanimated-68-hermes.aar +0 -0
- package/android/react-native-reanimated-68-jsc.aar +0 -0
- package/android/rnVersionPatch/62/layoutReanimation/ReanimatedNativeHierarchyManager.java +412 -0
- package/android/rnVersionPatch/62/layoutReanimation/ReanimatedUIImplementation.java +68 -0
- package/android/rnVersionPatch/63/layoutReanimation/ReanimatedUIImplementation.java +68 -0
- package/android/rnVersionPatch/64/layoutReanimation/ReanimatedUIImplementation.java +68 -0
- package/android/rnVersionPatch/65/.gitkeep +0 -0
- package/android/rnVersionPatch/66/.gitkeep +0 -0
- package/android/rnVersionPatch/67/.gitkeep +0 -0
- package/android/rnVersionPatch/68/.gitkeep +0 -0
- package/android/rnVersionPatch/backup/.gitkeep +0 -0
- package/android/settings.gradle +1 -0
- package/android/spotless.gradle +9 -0
- package/android/src/{AndroidManifest.xml → main/AndroidManifest.xml} +0 -0
- package/android/src/main/cpp/AndroidErrorHandler.cpp +42 -0
- package/android/src/main/cpp/AndroidLogger.cpp +27 -0
- package/android/src/main/cpp/AndroidScheduler.cpp +59 -0
- package/android/src/main/cpp/JNIHelper.cpp +59 -0
- package/android/src/main/cpp/LayoutAnimations.cpp +103 -0
- package/android/src/main/cpp/NativeProxy.cpp +327 -0
- package/android/src/main/cpp/OnLoad.cpp +17 -0
- package/android/src/main/cpp/TurboModule.cpp +44 -0
- package/android/src/main/cpp/headers/AndroidErrorHandler.h +30 -0
- package/android/src/main/cpp/headers/AndroidLogger.h +16 -0
- package/android/src/main/cpp/headers/AndroidScheduler.h +41 -0
- package/android/src/main/cpp/headers/JNIHelper.h +30 -0
- package/android/src/main/cpp/headers/LayoutAnimations.h +42 -0
- package/android/src/main/cpp/headers/NativeProxy.h +170 -0
- package/android/src/main/cpp/headers/TurboModule.h +70 -0
- package/android/src/main/java/com/facebook/react/uimanager/UIManagerReanimatedHelper.java +15 -0
- package/android/src/main/java/com/swmansion/common/GestureHandlerStateManager.java +5 -0
- package/android/src/main/java/com/swmansion/reanimated/AndroidErrorHandler.java +8 -0
- package/android/src/main/java/com/swmansion/reanimated/CopiedEvent.java +43 -0
- package/android/src/main/java/com/swmansion/reanimated/MapUtils.java +26 -0
- package/android/src/main/java/com/swmansion/reanimated/NativeMethodsHelper.java +117 -0
- package/android/src/main/java/com/swmansion/reanimated/NativeProxy.java +285 -0
- package/android/src/main/java/com/swmansion/reanimated/NodesManager.java +682 -0
- package/android/src/main/java/com/swmansion/reanimated/ReanimatedJSIModulePackage.java +29 -0
- package/android/src/main/java/com/swmansion/reanimated/ReanimatedModule.java +251 -0
- package/android/src/main/java/com/swmansion/reanimated/ReanimatedPackage.java +96 -0
- package/android/src/main/java/com/swmansion/reanimated/Scheduler.java +51 -0
- package/android/src/main/java/com/swmansion/reanimated/UpdateContext.java +11 -0
- package/android/src/main/java/com/swmansion/reanimated/Utils.java +32 -0
- package/android/src/main/java/com/swmansion/reanimated/layoutReanimation/AnimationsManager.java +517 -0
- package/android/src/main/java/com/swmansion/reanimated/layoutReanimation/LayoutAnimations.java +56 -0
- package/android/src/main/java/com/swmansion/reanimated/layoutReanimation/NativeMethodsHolder.java +11 -0
- package/android/src/main/java/com/swmansion/reanimated/layoutReanimation/ReanimatedNativeHierarchyManager.java +410 -0
- package/android/src/main/java/com/swmansion/reanimated/layoutReanimation/ReanimatedUIImplementation.java +68 -0
- package/android/src/main/java/com/swmansion/reanimated/layoutReanimation/ReanimatedUIManager.java +292 -0
- package/android/src/main/java/com/swmansion/reanimated/layoutReanimation/Snapshot.java +121 -0
- package/android/src/main/java/com/swmansion/reanimated/layoutReanimation/ViewHierarchyObserver.java +12 -0
- package/android/src/main/java/com/swmansion/reanimated/nodes/AlwaysNode.java +29 -0
- package/android/src/main/java/com/swmansion/reanimated/nodes/BezierNode.java +87 -0
- package/android/src/main/java/com/swmansion/reanimated/nodes/BlockNode.java +24 -0
- package/android/src/main/java/com/swmansion/reanimated/nodes/CallFuncNode.java +49 -0
- package/android/src/main/java/com/swmansion/reanimated/nodes/ClockNode.java +38 -0
- package/android/src/main/java/com/swmansion/reanimated/nodes/ClockOpNode.java +73 -0
- package/android/src/main/java/com/swmansion/reanimated/nodes/ConcatNode.java +36 -0
- package/android/src/main/java/com/swmansion/reanimated/nodes/CondNode.java +41 -0
- package/android/src/main/java/com/swmansion/reanimated/nodes/DebugNode.java +33 -0
- package/android/src/main/java/com/swmansion/reanimated/nodes/EventNode.java +83 -0
- package/android/src/main/java/com/swmansion/reanimated/nodes/FinalNode.java +5 -0
- package/android/src/main/java/com/swmansion/reanimated/nodes/FunctionNode.java +20 -0
- package/android/src/main/java/com/swmansion/reanimated/nodes/JSCallNode.java +41 -0
- package/android/src/main/java/com/swmansion/reanimated/nodes/Node.java +139 -0
- package/android/src/main/java/com/swmansion/reanimated/nodes/NoopNode.java +37 -0
- package/android/src/main/java/com/swmansion/reanimated/nodes/OperatorNode.java +377 -0
- package/android/src/main/java/com/swmansion/reanimated/nodes/ParamNode.java +71 -0
- package/android/src/main/java/com/swmansion/reanimated/nodes/PropsNode.java +153 -0
- package/android/src/main/java/com/swmansion/reanimated/nodes/SetNode.java +32 -0
- package/android/src/main/java/com/swmansion/reanimated/nodes/StyleNode.java +40 -0
- package/android/src/main/java/com/swmansion/reanimated/nodes/TransformNode.java +84 -0
- package/android/src/main/java/com/swmansion/reanimated/nodes/ValueNode.java +40 -0
- package/android/src/main/java/com/swmansion/reanimated/sensor/ReanimatedSensor.java +41 -0
- package/android/src/main/java/com/swmansion/reanimated/sensor/ReanimatedSensorContainer.java +40 -0
- package/android/src/main/java/com/swmansion/reanimated/sensor/ReanimatedSensorListener.java +31 -0
- package/android/src/main/java/com/swmansion/reanimated/sensor/ReanimatedSensorType.java +35 -0
- package/android/src/main/java/com/swmansion/reanimated/transitions/ChangeTransition.java +84 -0
- package/android/src/main/java/com/swmansion/reanimated/transitions/SaneSidePropagation.java +25 -0
- package/android/src/main/java/com/swmansion/reanimated/transitions/Scale.java +86 -0
- package/android/src/main/java/com/swmansion/reanimated/transitions/TransitionModule.java +41 -0
- package/android/src/main/java/com/swmansion/reanimated/transitions/TransitionUtils.java +161 -0
- package/ios/LayoutReanimation/REAAnimationsManager.h +1 -1
- package/ios/LayoutReanimation/REAAnimationsManager.m +18 -4
- package/ios/REAModule.m +8 -9
- package/ios/REANodesManager.h +4 -1
- package/ios/REANodesManager.m +75 -3
- package/ios/native/NativeMethods.h +1 -1
- package/ios/native/NativeProxy.mm +85 -5
- package/ios/sensor/ReanimatedSensor.h +21 -0
- package/ios/sensor/ReanimatedSensor.m +169 -0
- package/ios/sensor/ReanimatedSensorContainer.h +13 -0
- package/ios/sensor/ReanimatedSensorContainer.m +41 -0
- package/ios/sensor/ReanimatedSensorType.h +7 -0
- package/lib/ConfigHelper.js +2 -2
- package/lib/createAnimatedComponent.js +3 -4
- package/lib/reanimated1/core/AnimatedFunction.js +1 -1
- package/lib/reanimated1/derived/interpolate.js +2 -4
- package/lib/reanimated2/Colors.js +3 -98
- package/lib/reanimated2/Easing.js +5 -0
- package/lib/reanimated2/NativeMethods.js +15 -5
- package/lib/reanimated2/NativeReanimated/NativeReanimated.js +25 -12
- package/lib/reanimated2/NativeReanimated/index.js +2 -6
- package/lib/reanimated2/ViewDescriptorsSet.js +2 -2
- package/lib/reanimated2/animation/styleAnimation.js +2 -1
- package/lib/reanimated2/core.js +30 -24
- package/lib/reanimated2/globals.d.ts +6 -0
- package/lib/reanimated2/hook/index.js +1 -0
- package/lib/reanimated2/hook/useAnimatedGestureHandler.js +1 -2
- package/lib/reanimated2/hook/useAnimatedSensor.js +66 -0
- package/lib/reanimated2/hook/useAnimatedStyle.js +31 -14
- package/lib/reanimated2/hook/utils.js +14 -11
- package/lib/reanimated2/index.js +2 -0
- package/lib/reanimated2/interpolateColor.js +98 -0
- package/lib/reanimated2/interpolation.js +1 -1
- package/lib/reanimated2/jestUtils.js +9 -4
- package/lib/reanimated2/js-reanimated/JSReanimated.js +24 -3
- package/lib/reanimated2/js-reanimated/commonTypes.js +1 -0
- package/lib/reanimated2/layoutReanimation/animationBuilder/ComplexAnimationBuilder.js +8 -0
- package/lib/reanimated2/layoutReanimation/animationBuilder/Keyframe.js +2 -1
- package/lib/reanimated2/layoutReanimation/defaultAnimations/Bounce.js +32 -42
- package/lib/reanimated2/layoutReanimation/defaultAnimations/Fade.js +20 -38
- package/lib/reanimated2/layoutReanimation/defaultAnimations/Flip.js +32 -44
- package/lib/reanimated2/layoutReanimation/defaultAnimations/Lightspeed.js +8 -16
- package/lib/reanimated2/layoutReanimation/defaultAnimations/Pinwheel.js +6 -10
- package/lib/reanimated2/layoutReanimation/defaultAnimations/Roll.js +8 -12
- package/lib/reanimated2/layoutReanimation/defaultAnimations/Rotate.js +20 -36
- package/lib/reanimated2/layoutReanimation/defaultAnimations/Slide.js +16 -20
- package/lib/reanimated2/layoutReanimation/defaultAnimations/Stretch.js +8 -12
- package/lib/reanimated2/layoutReanimation/defaultAnimations/Zoom.js +32 -48
- package/lib/reanimated2/layoutReanimation/defaultTransitions/EntryExitTransition.js +22 -18
- package/lib/reanimated2/mock.js +3 -2
- package/mock.js +6 -4
- package/package.json +44 -36
- package/plugin.js +3 -0
- package/react-native-reanimated.d.ts +102 -15
- package/src/ConfigHelper.ts +4 -4
- package/src/createAnimatedComponent.tsx +3 -3
- package/src/reanimated1/core/AnimatedFunction.js +1 -1
- package/src/reanimated1/derived/interpolate.js +2 -4
- package/src/reanimated2/Colors.ts +8 -151
- package/src/reanimated2/Easing.ts +11 -0
- package/src/reanimated2/NativeMethods.ts +19 -6
- package/src/reanimated2/NativeReanimated/NativeReanimated.ts +42 -14
- package/src/reanimated2/NativeReanimated/index.ts +2 -8
- package/src/reanimated2/ViewDescriptorsSet.ts +2 -3
- package/src/reanimated2/animation/commonTypes.ts +44 -40
- package/src/reanimated2/animation/decay.ts +1 -1
- package/src/reanimated2/animation/delay.ts +2 -16
- package/src/reanimated2/animation/index.ts +8 -8
- package/src/reanimated2/animation/repeat.ts +2 -12
- package/src/reanimated2/animation/sequence.ts +3 -10
- package/src/reanimated2/animation/spring.ts +1 -1
- package/src/reanimated2/animation/styleAnimation.ts +11 -25
- package/src/reanimated2/animation/timing.ts +4 -2
- package/src/reanimated2/animation/util.ts +22 -20
- package/src/reanimated2/commonTypes.ts +68 -1
- package/src/reanimated2/component/FlatList.tsx +2 -1
- package/src/reanimated2/core.ts +35 -29
- package/src/reanimated2/globals.d.ts +6 -0
- package/src/reanimated2/hook/commonTypes.ts +5 -0
- package/src/reanimated2/hook/index.ts +1 -0
- package/src/reanimated2/hook/useAnimatedGestureHandler.ts +1 -2
- package/src/reanimated2/hook/useAnimatedRef.ts +1 -5
- package/src/reanimated2/hook/useAnimatedSensor.ts +91 -0
- package/src/reanimated2/hook/useAnimatedStyle.ts +35 -16
- package/src/reanimated2/hook/utils.ts +20 -18
- package/src/reanimated2/index.ts +2 -0
- package/src/reanimated2/interpolateColor.ts +178 -0
- package/src/reanimated2/interpolation.ts +2 -6
- package/src/reanimated2/jestUtils.ts +9 -4
- package/src/reanimated2/js-reanimated/JSReanimated.ts +28 -6
- package/src/reanimated2/js-reanimated/Mapper.ts +1 -1
- package/src/reanimated2/js-reanimated/MapperRegistry.ts +1 -1
- package/src/reanimated2/js-reanimated/commonTypes.ts +51 -0
- package/src/reanimated2/layoutReanimation/animationBuilder/ComplexAnimationBuilder.ts +13 -0
- package/src/reanimated2/layoutReanimation/animationBuilder/Keyframe.ts +2 -3
- package/src/reanimated2/layoutReanimation/defaultAnimations/Bounce.ts +51 -21
- package/src/reanimated2/layoutReanimation/defaultAnimations/Fade.ts +40 -10
- package/src/reanimated2/layoutReanimation/defaultAnimations/Flip.ts +48 -12
- package/src/reanimated2/layoutReanimation/defaultAnimations/Lightspeed.ts +16 -4
- package/src/reanimated2/layoutReanimation/defaultAnimations/Pinwheel.ts +8 -2
- package/src/reanimated2/layoutReanimation/defaultAnimations/Roll.ts +16 -4
- package/src/reanimated2/layoutReanimation/defaultAnimations/Rotate.ts +32 -8
- package/src/reanimated2/layoutReanimation/defaultAnimations/Slide.ts +32 -10
- package/src/reanimated2/layoutReanimation/defaultAnimations/Stretch.ts +16 -4
- package/src/reanimated2/layoutReanimation/defaultAnimations/Zoom.ts +64 -16
- package/src/reanimated2/layoutReanimation/defaultTransitions/CurvedTransition.ts +2 -1
- package/src/reanimated2/layoutReanimation/defaultTransitions/EntryExitTransition.ts +32 -21
- package/src/reanimated2/layoutReanimation/defaultTransitions/FadingTransition.ts +2 -1
- package/src/reanimated2/layoutReanimation/defaultTransitions/JumpingTransition.ts +2 -1
- package/src/reanimated2/layoutReanimation/defaultTransitions/LinearTransition.ts +2 -1
- package/src/reanimated2/layoutReanimation/defaultTransitions/SequencedTransition.ts +2 -1
- package/src/reanimated2/mock.ts +3 -2
- package/src/reanimated2/utils.ts +1 -1
- package/android/react-native-reanimated-63-hermes.aar +0 -0
- package/android/react-native-reanimated-63-jsc.aar +0 -0
- package/android/src/main/java/com/swmansion/reanimated/ReanimatedProxyPackage.java +0 -15
- package/libSo/fbjni/jni/arm64-v8a/libfbjni.so +0 -0
- package/libSo/fbjni/jni/armeabi-v7a/libfbjni.so +0 -0
- package/libSo/fbjni/jni/x86/libfbjni.so +0 -0
- package/libSo/fbjni/jni/x86_64/libfbjni.so +0 -0
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { useEffect, useRef } from 'react';
|
|
2
2
|
import { processColor } from '../Colors';
|
|
3
3
|
import { makeRemote } from '../core';
|
|
4
|
-
import { isWeb } from '../PlatformChecker';
|
|
4
|
+
import { isWeb, isJest } from '../PlatformChecker';
|
|
5
5
|
import { colorProps } from '../UpdateProps';
|
|
6
6
|
import WorkletEventHandler from '../WorkletEventHandler';
|
|
7
7
|
export function useEvent(handler, eventNames = [], rebuild = false) {
|
|
@@ -36,7 +36,7 @@ export function useHandler(handlers, dependencies) {
|
|
|
36
36
|
dependencies = buildDependencies(dependencies, handlers);
|
|
37
37
|
const doDependenciesDiffer = !areDependenciesEqual(dependencies, savedDependencies);
|
|
38
38
|
initRef.current.savedDependencies = dependencies;
|
|
39
|
-
const useWeb = isWeb();
|
|
39
|
+
const useWeb = isWeb() || isJest();
|
|
40
40
|
return { context, doDependenciesDiffer, useWeb };
|
|
41
41
|
}
|
|
42
42
|
// builds one big hash from multiple worklets' hashes
|
|
@@ -95,7 +95,12 @@ export function parseColors(updates) {
|
|
|
95
95
|
'worklet';
|
|
96
96
|
for (const key in updates) {
|
|
97
97
|
if (colorProps.indexOf(key) !== -1) {
|
|
98
|
-
|
|
98
|
+
// value could be an animation in which case processColor will recognize it and will return undefined
|
|
99
|
+
// -> in such a case we don't want to override style of that key
|
|
100
|
+
const processedColor = processColor(updates[key]);
|
|
101
|
+
if (processedColor !== undefined) {
|
|
102
|
+
updates[key] = processedColor;
|
|
103
|
+
}
|
|
99
104
|
}
|
|
100
105
|
}
|
|
101
106
|
}
|
|
@@ -132,24 +137,22 @@ export function isAnimated(prop) {
|
|
|
132
137
|
export function styleDiff(oldStyle, newStyle) {
|
|
133
138
|
'worklet';
|
|
134
139
|
const diff = {};
|
|
135
|
-
|
|
140
|
+
for (const key in oldStyle) {
|
|
136
141
|
if (newStyle[key] === undefined) {
|
|
137
142
|
diff[key] = null;
|
|
138
143
|
}
|
|
139
|
-
}
|
|
140
|
-
|
|
144
|
+
}
|
|
145
|
+
for (const key in newStyle) {
|
|
141
146
|
const value = newStyle[key];
|
|
142
147
|
const oldValue = oldStyle[key];
|
|
143
148
|
if (isAnimated(value)) {
|
|
144
149
|
// do nothing
|
|
145
|
-
|
|
150
|
+
continue;
|
|
146
151
|
}
|
|
147
|
-
if (oldValue !== value
|
|
148
|
-
JSON.stringify(oldValue) !== JSON.stringify(value)) {
|
|
149
|
-
// I'd use deep equal here but that'd take additional work and this was easier
|
|
152
|
+
if (oldValue !== value) {
|
|
150
153
|
diff[key] = value;
|
|
151
154
|
}
|
|
152
|
-
}
|
|
155
|
+
}
|
|
153
156
|
return diff;
|
|
154
157
|
}
|
|
155
158
|
export function getStyleWithoutAnimations(newStyle) {
|
package/lib/reanimated2/index.js
CHANGED
|
@@ -2,9 +2,11 @@ export * from './core';
|
|
|
2
2
|
export * from './hook';
|
|
3
3
|
export * from './animation';
|
|
4
4
|
export * from './interpolation';
|
|
5
|
+
export * from './interpolateColor';
|
|
5
6
|
export * from './Easing';
|
|
6
7
|
export * from './NativeMethods';
|
|
7
8
|
export * from './Colors';
|
|
8
9
|
export * from './PropAdapters';
|
|
9
10
|
export * from './layoutReanimation';
|
|
10
11
|
export * from './utils';
|
|
12
|
+
export * from './commonTypes';
|
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
import { hsvToColor, RGBtoHSV, rgbaColor, processColor, red, green, blue, opacity, } from './Colors';
|
|
2
|
+
import { makeMutable } from './core';
|
|
3
|
+
import { interpolate } from './interpolation';
|
|
4
|
+
// @ts-ignore JS file
|
|
5
|
+
import { Extrapolate } from '../reanimated1/derived';
|
|
6
|
+
import { useSharedValue } from './hook/useSharedValue';
|
|
7
|
+
const interpolateColorsHSV = (value, inputRange, colors) => {
|
|
8
|
+
'worklet';
|
|
9
|
+
const h = interpolate(value, inputRange, colors.h, Extrapolate.CLAMP);
|
|
10
|
+
const s = interpolate(value, inputRange, colors.s, Extrapolate.CLAMP);
|
|
11
|
+
const v = interpolate(value, inputRange, colors.v, Extrapolate.CLAMP);
|
|
12
|
+
return hsvToColor(h, s, v);
|
|
13
|
+
};
|
|
14
|
+
const interpolateColorsRGB = (value, inputRange, colors) => {
|
|
15
|
+
'worklet';
|
|
16
|
+
const r = interpolate(value, inputRange, colors.r, Extrapolate.CLAMP);
|
|
17
|
+
const g = interpolate(value, inputRange, colors.g, Extrapolate.CLAMP);
|
|
18
|
+
const b = interpolate(value, inputRange, colors.b, Extrapolate.CLAMP);
|
|
19
|
+
const a = interpolate(value, inputRange, colors.a, Extrapolate.CLAMP);
|
|
20
|
+
return rgbaColor(r, g, b, a);
|
|
21
|
+
};
|
|
22
|
+
const getInterpolateRGB = (colors) => {
|
|
23
|
+
'worklet';
|
|
24
|
+
const r = [];
|
|
25
|
+
const g = [];
|
|
26
|
+
const b = [];
|
|
27
|
+
const a = [];
|
|
28
|
+
for (let i = 0; i < colors.length; ++i) {
|
|
29
|
+
const color = colors[i];
|
|
30
|
+
const proocessedColor = processColor(color);
|
|
31
|
+
// explicit check in case if processedColor is 0
|
|
32
|
+
if (proocessedColor !== null && proocessedColor !== undefined) {
|
|
33
|
+
r.push(red(proocessedColor));
|
|
34
|
+
g.push(green(proocessedColor));
|
|
35
|
+
b.push(blue(proocessedColor));
|
|
36
|
+
a.push(opacity(proocessedColor));
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
return { r, g, b, a };
|
|
40
|
+
};
|
|
41
|
+
const getInterpolateHSV = (colors) => {
|
|
42
|
+
'worklet';
|
|
43
|
+
const h = [];
|
|
44
|
+
const s = [];
|
|
45
|
+
const v = [];
|
|
46
|
+
for (let i = 0; i < colors.length; ++i) {
|
|
47
|
+
const color = colors[i];
|
|
48
|
+
const proocessedColor = RGBtoHSV(processColor(color));
|
|
49
|
+
if (proocessedColor) {
|
|
50
|
+
h.push(proocessedColor.h);
|
|
51
|
+
s.push(proocessedColor.s);
|
|
52
|
+
v.push(proocessedColor.v);
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
return { h, s, v };
|
|
56
|
+
};
|
|
57
|
+
export const interpolateColor = (value, inputRange, outputRange, colorSpace = 'RGB') => {
|
|
58
|
+
'worklet';
|
|
59
|
+
if (colorSpace === 'HSV') {
|
|
60
|
+
return interpolateColorsHSV(value, inputRange, getInterpolateHSV(outputRange));
|
|
61
|
+
}
|
|
62
|
+
else if (colorSpace === 'RGB') {
|
|
63
|
+
return interpolateColorsRGB(value, inputRange, getInterpolateRGB(outputRange));
|
|
64
|
+
}
|
|
65
|
+
throw new Error(`Invalid color space provided: ${colorSpace}. Supported values are: ['RGB', 'HSV']`);
|
|
66
|
+
};
|
|
67
|
+
export var ColorSpace;
|
|
68
|
+
(function (ColorSpace) {
|
|
69
|
+
ColorSpace[ColorSpace["RGB"] = 0] = "RGB";
|
|
70
|
+
ColorSpace[ColorSpace["HSV"] = 1] = "HSV";
|
|
71
|
+
})(ColorSpace || (ColorSpace = {}));
|
|
72
|
+
export function useInterpolateConfig(inputRange, outputRange, colorSpace = ColorSpace.RGB) {
|
|
73
|
+
return useSharedValue({
|
|
74
|
+
inputRange,
|
|
75
|
+
outputRange,
|
|
76
|
+
colorSpace,
|
|
77
|
+
cache: makeMutable(null),
|
|
78
|
+
});
|
|
79
|
+
}
|
|
80
|
+
export const interpolateSharableColor = (value, interpolateConfig) => {
|
|
81
|
+
'worklet';
|
|
82
|
+
let colors = interpolateConfig.value.cache.value;
|
|
83
|
+
if (interpolateConfig.value.colorSpace === ColorSpace.RGB) {
|
|
84
|
+
if (!colors) {
|
|
85
|
+
colors = getInterpolateRGB(interpolateConfig.value.outputRange);
|
|
86
|
+
interpolateConfig.value.cache.value = colors;
|
|
87
|
+
}
|
|
88
|
+
return interpolateColorsRGB(value, interpolateConfig.value.inputRange, colors);
|
|
89
|
+
}
|
|
90
|
+
else if (interpolateConfig.value.colorSpace === ColorSpace.HSV) {
|
|
91
|
+
if (!colors) {
|
|
92
|
+
colors = getInterpolateHSV(interpolateConfig.value.outputRange);
|
|
93
|
+
interpolateConfig.value.cache.value = colors;
|
|
94
|
+
}
|
|
95
|
+
return interpolateColorsHSV(value, interpolateConfig.value.inputRange, colors);
|
|
96
|
+
}
|
|
97
|
+
throw new Error(`Invalid color space provided: ${interpolateConfig.value.colorSpace}. Supported values are: ['RGB', 'HSV']`);
|
|
98
|
+
};
|
|
@@ -66,7 +66,7 @@ function validateType(type) {
|
|
|
66
66
|
}
|
|
67
67
|
function internalInterpolate(x, narrowedInput, extrapolationConfig) {
|
|
68
68
|
'worklet';
|
|
69
|
-
const { leftEdgeInput, rightEdgeInput, leftEdgeOutput, rightEdgeOutput
|
|
69
|
+
const { leftEdgeInput, rightEdgeInput, leftEdgeOutput, rightEdgeOutput } = narrowedInput;
|
|
70
70
|
if (rightEdgeInput - leftEdgeInput === 0)
|
|
71
71
|
return leftEdgeOutput;
|
|
72
72
|
const progress = (x - leftEdgeInput) / (rightEdgeInput - leftEdgeInput);
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
|
2
2
|
// @ts-nocheck
|
|
3
|
-
|
|
3
|
+
import { jestResetJsReanimatedModule } from './core';
|
|
4
4
|
let config = {
|
|
5
5
|
fps: 60,
|
|
6
6
|
};
|
|
@@ -105,22 +105,26 @@ const compareStyle = (received, expectedStyle, config) => {
|
|
|
105
105
|
};
|
|
106
106
|
let frameTime = 1000 / config.fps;
|
|
107
107
|
let requestAnimationFrameCopy;
|
|
108
|
+
let currentTimestamp = 0;
|
|
108
109
|
const requestAnimationFrame = (callback) => {
|
|
109
110
|
setTimeout(callback, frameTime);
|
|
110
111
|
};
|
|
111
112
|
const beforeTest = () => {
|
|
113
|
+
jestResetJsReanimatedModule();
|
|
112
114
|
requestAnimationFrameCopy = global.requestAnimationFrame;
|
|
113
115
|
global.requestAnimationFrame = requestAnimationFrame;
|
|
114
|
-
|
|
116
|
+
global.ReanimatedDataMock = {
|
|
117
|
+
now: () => currentTimestamp,
|
|
118
|
+
};
|
|
119
|
+
currentTimestamp = 0;
|
|
115
120
|
jest.useFakeTimers();
|
|
116
121
|
};
|
|
117
122
|
const afterTest = () => {
|
|
118
|
-
MockDate.reset();
|
|
119
123
|
jest.useRealTimers();
|
|
120
124
|
global.requestAnimationFrame = requestAnimationFrameCopy;
|
|
121
125
|
};
|
|
122
126
|
const tickTravel = () => {
|
|
123
|
-
|
|
127
|
+
currentTimestamp += frameTime;
|
|
124
128
|
jest.advanceTimersByTime(frameTime);
|
|
125
129
|
};
|
|
126
130
|
export const withReanimatedTimer = (animatonTest) => {
|
|
@@ -142,6 +146,7 @@ export const advanceAnimationByFrame = (count) => {
|
|
|
142
146
|
};
|
|
143
147
|
export const setUpTests = (userConfig = {}) => {
|
|
144
148
|
const expect = require('expect');
|
|
149
|
+
require('setimmediate');
|
|
145
150
|
frameTime = Math.round(1000 / config.fps);
|
|
146
151
|
config = Object.assign(Object.assign({}, config), userConfig);
|
|
147
152
|
expect.extend({
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import MapperRegistry from './MapperRegistry';
|
|
2
|
-
import MutableValue from './MutableValue';
|
|
3
2
|
import Mapper from './Mapper';
|
|
3
|
+
import MutableValue from './MutableValue';
|
|
4
4
|
import { NativeReanimated } from '../NativeReanimated/NativeReanimated';
|
|
5
|
+
import { isJest } from '../PlatformChecker';
|
|
5
6
|
export default class JSReanimated extends NativeReanimated {
|
|
6
7
|
constructor() {
|
|
7
8
|
super(false);
|
|
@@ -9,8 +10,8 @@ export default class JSReanimated extends NativeReanimated {
|
|
|
9
10
|
this._renderRequested = false;
|
|
10
11
|
this._mapperRegistry = new MapperRegistry(this);
|
|
11
12
|
this._frames = [];
|
|
12
|
-
if (
|
|
13
|
-
this.timeProvider = { now: () =>
|
|
13
|
+
if (isJest()) {
|
|
14
|
+
this.timeProvider = { now: () => global.ReanimatedDataMock.now() };
|
|
14
15
|
}
|
|
15
16
|
else {
|
|
16
17
|
this.timeProvider = { now: () => window.performance.now() };
|
|
@@ -75,4 +76,24 @@ export default class JSReanimated extends NativeReanimated {
|
|
|
75
76
|
enableLayoutAnimations() {
|
|
76
77
|
console.warn('[Reanimated] enableLayoutAnimations is not available for WEB yet');
|
|
77
78
|
}
|
|
79
|
+
registerSensor() {
|
|
80
|
+
console.warn('[Reanimated] useAnimatedSensor is not available on web yet.');
|
|
81
|
+
return -1;
|
|
82
|
+
}
|
|
83
|
+
unregisterSensor() {
|
|
84
|
+
// noop
|
|
85
|
+
}
|
|
86
|
+
jestResetModule() {
|
|
87
|
+
if (isJest()) {
|
|
88
|
+
/**
|
|
89
|
+
* If someone used timers to stop animation before the end,
|
|
90
|
+
* then _renderRequested was set as true
|
|
91
|
+
* and any new update from another test wasn't applied.
|
|
92
|
+
*/
|
|
93
|
+
this._renderRequested = false;
|
|
94
|
+
}
|
|
95
|
+
else {
|
|
96
|
+
throw Error('This method can be only use in Jest testing.');
|
|
97
|
+
}
|
|
98
|
+
}
|
|
78
99
|
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -73,6 +73,14 @@ export class ComplexAnimationBuilder extends BaseAnimationBuilder {
|
|
|
73
73
|
this.restSpeedThresholdV = restSpeedThreshold;
|
|
74
74
|
return this;
|
|
75
75
|
}
|
|
76
|
+
static withInitialValues(values) {
|
|
77
|
+
const instance = this.createInstance();
|
|
78
|
+
return instance.withInitialValues(values);
|
|
79
|
+
}
|
|
80
|
+
withInitialValues(values) {
|
|
81
|
+
this.initialValues = values;
|
|
82
|
+
return this;
|
|
83
|
+
}
|
|
76
84
|
getAnimationAndConfig() {
|
|
77
85
|
const duration = this.durationV;
|
|
78
86
|
const easing = this.easingV;
|
|
@@ -109,7 +109,8 @@ export class Keyframe {
|
|
|
109
109
|
if (styleProp === 'transform') {
|
|
110
110
|
(_a = initialValues[styleProp]) === null || _a === void 0 ? void 0 : _a.forEach((transformStyle, index) => {
|
|
111
111
|
Object.keys(transformStyle).forEach((transformProp) => {
|
|
112
|
-
parsedKeyframes[index.toString() + '_transform:' + transformProp] =
|
|
112
|
+
parsedKeyframes[index.toString() + '_transform:' + transformProp] =
|
|
113
|
+
[];
|
|
113
114
|
});
|
|
114
115
|
});
|
|
115
116
|
}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { withSequence, withTiming } from '../../animation';
|
|
2
2
|
import { Dimensions } from 'react-native';
|
|
3
|
-
import {
|
|
3
|
+
import { ComplexAnimationBuilder } from '../animationBuilder/ComplexAnimationBuilder';
|
|
4
4
|
const { width, height } = Dimensions.get('window');
|
|
5
|
-
export class BounceIn extends
|
|
5
|
+
export class BounceIn extends ComplexAnimationBuilder {
|
|
6
6
|
constructor() {
|
|
7
7
|
super(...arguments);
|
|
8
8
|
this.build = () => {
|
|
@@ -10,6 +10,7 @@ export class BounceIn extends BaseAnimationBuilder {
|
|
|
10
10
|
const delay = this.getDelay();
|
|
11
11
|
const duration = this.getDuration();
|
|
12
12
|
const callback = this.callbackV;
|
|
13
|
+
const initialValues = this.initialValues;
|
|
13
14
|
return () => {
|
|
14
15
|
'worklet';
|
|
15
16
|
return {
|
|
@@ -20,9 +21,7 @@ export class BounceIn extends BaseAnimationBuilder {
|
|
|
20
21
|
},
|
|
21
22
|
],
|
|
22
23
|
},
|
|
23
|
-
initialValues: {
|
|
24
|
-
transform: [{ scale: 0 }],
|
|
25
|
-
},
|
|
24
|
+
initialValues: Object.assign({ transform: [{ scale: 0 }] }, initialValues),
|
|
26
25
|
callback: callback,
|
|
27
26
|
};
|
|
28
27
|
};
|
|
@@ -39,7 +38,7 @@ export class BounceIn extends BaseAnimationBuilder {
|
|
|
39
38
|
return (_a = this.durationV) !== null && _a !== void 0 ? _a : 600;
|
|
40
39
|
}
|
|
41
40
|
}
|
|
42
|
-
export class BounceInDown extends
|
|
41
|
+
export class BounceInDown extends ComplexAnimationBuilder {
|
|
43
42
|
constructor() {
|
|
44
43
|
super(...arguments);
|
|
45
44
|
this.build = () => {
|
|
@@ -47,6 +46,7 @@ export class BounceInDown extends BaseAnimationBuilder {
|
|
|
47
46
|
const delay = this.getDelay();
|
|
48
47
|
const duration = this.getDuration();
|
|
49
48
|
const callback = this.callbackV;
|
|
49
|
+
const initialValues = this.initialValues;
|
|
50
50
|
return () => {
|
|
51
51
|
'worklet';
|
|
52
52
|
return {
|
|
@@ -57,13 +57,11 @@ export class BounceInDown extends BaseAnimationBuilder {
|
|
|
57
57
|
},
|
|
58
58
|
],
|
|
59
59
|
},
|
|
60
|
-
initialValues: {
|
|
61
|
-
transform: [
|
|
60
|
+
initialValues: Object.assign({ transform: [
|
|
62
61
|
{
|
|
63
62
|
translateY: height,
|
|
64
63
|
},
|
|
65
|
-
],
|
|
66
|
-
},
|
|
64
|
+
] }, initialValues),
|
|
67
65
|
callback: callback,
|
|
68
66
|
};
|
|
69
67
|
};
|
|
@@ -80,7 +78,7 @@ export class BounceInDown extends BaseAnimationBuilder {
|
|
|
80
78
|
return (_a = this.durationV) !== null && _a !== void 0 ? _a : 600;
|
|
81
79
|
}
|
|
82
80
|
}
|
|
83
|
-
export class BounceInUp extends
|
|
81
|
+
export class BounceInUp extends ComplexAnimationBuilder {
|
|
84
82
|
constructor() {
|
|
85
83
|
super(...arguments);
|
|
86
84
|
this.build = () => {
|
|
@@ -88,6 +86,7 @@ export class BounceInUp extends BaseAnimationBuilder {
|
|
|
88
86
|
const delay = this.getDelay();
|
|
89
87
|
const duration = this.getDuration();
|
|
90
88
|
const callback = this.callbackV;
|
|
89
|
+
const initialValues = this.initialValues;
|
|
91
90
|
return () => {
|
|
92
91
|
'worklet';
|
|
93
92
|
return {
|
|
@@ -98,9 +97,7 @@ export class BounceInUp extends BaseAnimationBuilder {
|
|
|
98
97
|
},
|
|
99
98
|
],
|
|
100
99
|
},
|
|
101
|
-
initialValues: {
|
|
102
|
-
transform: [{ translateY: -height }],
|
|
103
|
-
},
|
|
100
|
+
initialValues: Object.assign({ transform: [{ translateY: -height }] }, initialValues),
|
|
104
101
|
callback: callback,
|
|
105
102
|
};
|
|
106
103
|
};
|
|
@@ -117,7 +114,7 @@ export class BounceInUp extends BaseAnimationBuilder {
|
|
|
117
114
|
return (_a = this.durationV) !== null && _a !== void 0 ? _a : 600;
|
|
118
115
|
}
|
|
119
116
|
}
|
|
120
|
-
export class BounceInLeft extends
|
|
117
|
+
export class BounceInLeft extends ComplexAnimationBuilder {
|
|
121
118
|
constructor() {
|
|
122
119
|
super(...arguments);
|
|
123
120
|
this.build = () => {
|
|
@@ -125,6 +122,7 @@ export class BounceInLeft extends BaseAnimationBuilder {
|
|
|
125
122
|
const delay = this.getDelay();
|
|
126
123
|
const duration = this.getDuration();
|
|
127
124
|
const callback = this.callbackV;
|
|
125
|
+
const initialValues = this.initialValues;
|
|
128
126
|
return () => {
|
|
129
127
|
'worklet';
|
|
130
128
|
return {
|
|
@@ -135,9 +133,7 @@ export class BounceInLeft extends BaseAnimationBuilder {
|
|
|
135
133
|
},
|
|
136
134
|
],
|
|
137
135
|
},
|
|
138
|
-
initialValues: {
|
|
139
|
-
transform: [{ translateX: -width }],
|
|
140
|
-
},
|
|
136
|
+
initialValues: Object.assign({ transform: [{ translateX: -width }] }, initialValues),
|
|
141
137
|
callback: callback,
|
|
142
138
|
};
|
|
143
139
|
};
|
|
@@ -154,7 +150,7 @@ export class BounceInLeft extends BaseAnimationBuilder {
|
|
|
154
150
|
return (_a = this.durationV) !== null && _a !== void 0 ? _a : 600;
|
|
155
151
|
}
|
|
156
152
|
}
|
|
157
|
-
export class BounceInRight extends
|
|
153
|
+
export class BounceInRight extends ComplexAnimationBuilder {
|
|
158
154
|
constructor() {
|
|
159
155
|
super(...arguments);
|
|
160
156
|
this.build = () => {
|
|
@@ -162,6 +158,7 @@ export class BounceInRight extends BaseAnimationBuilder {
|
|
|
162
158
|
const delay = this.getDelay();
|
|
163
159
|
const duration = this.getDuration();
|
|
164
160
|
const callback = this.callbackV;
|
|
161
|
+
const initialValues = this.initialValues;
|
|
165
162
|
return () => {
|
|
166
163
|
'worklet';
|
|
167
164
|
return {
|
|
@@ -172,9 +169,7 @@ export class BounceInRight extends BaseAnimationBuilder {
|
|
|
172
169
|
},
|
|
173
170
|
],
|
|
174
171
|
},
|
|
175
|
-
initialValues: {
|
|
176
|
-
transform: [{ translateX: width }],
|
|
177
|
-
},
|
|
172
|
+
initialValues: Object.assign({ transform: [{ translateX: width }] }, initialValues),
|
|
178
173
|
callback: callback,
|
|
179
174
|
};
|
|
180
175
|
};
|
|
@@ -191,7 +186,7 @@ export class BounceInRight extends BaseAnimationBuilder {
|
|
|
191
186
|
return (_a = this.durationV) !== null && _a !== void 0 ? _a : 600;
|
|
192
187
|
}
|
|
193
188
|
}
|
|
194
|
-
export class BounceOut extends
|
|
189
|
+
export class BounceOut extends ComplexAnimationBuilder {
|
|
195
190
|
constructor() {
|
|
196
191
|
super(...arguments);
|
|
197
192
|
this.build = () => {
|
|
@@ -199,6 +194,7 @@ export class BounceOut extends BaseAnimationBuilder {
|
|
|
199
194
|
const delay = this.getDelay();
|
|
200
195
|
const duration = this.getDuration();
|
|
201
196
|
const callback = this.callbackV;
|
|
197
|
+
const initialValues = this.initialValues;
|
|
202
198
|
return () => {
|
|
203
199
|
'worklet';
|
|
204
200
|
return {
|
|
@@ -209,9 +205,7 @@ export class BounceOut extends BaseAnimationBuilder {
|
|
|
209
205
|
},
|
|
210
206
|
],
|
|
211
207
|
},
|
|
212
|
-
initialValues: {
|
|
213
|
-
transform: [{ scale: 1 }],
|
|
214
|
-
},
|
|
208
|
+
initialValues: Object.assign({ transform: [{ scale: 1 }] }, initialValues),
|
|
215
209
|
callback: callback,
|
|
216
210
|
};
|
|
217
211
|
};
|
|
@@ -228,7 +222,7 @@ export class BounceOut extends BaseAnimationBuilder {
|
|
|
228
222
|
return (_a = this.durationV) !== null && _a !== void 0 ? _a : 600;
|
|
229
223
|
}
|
|
230
224
|
}
|
|
231
|
-
export class BounceOutDown extends
|
|
225
|
+
export class BounceOutDown extends ComplexAnimationBuilder {
|
|
232
226
|
constructor() {
|
|
233
227
|
super(...arguments);
|
|
234
228
|
this.build = () => {
|
|
@@ -236,6 +230,7 @@ export class BounceOutDown extends BaseAnimationBuilder {
|
|
|
236
230
|
const delay = this.getDelay();
|
|
237
231
|
const duration = this.getDuration();
|
|
238
232
|
const callback = this.callbackV;
|
|
233
|
+
const initialValues = this.initialValues;
|
|
239
234
|
return () => {
|
|
240
235
|
'worklet';
|
|
241
236
|
return {
|
|
@@ -248,9 +243,7 @@ export class BounceOutDown extends BaseAnimationBuilder {
|
|
|
248
243
|
},
|
|
249
244
|
],
|
|
250
245
|
},
|
|
251
|
-
initialValues: {
|
|
252
|
-
transform: [{ translateY: 0 }],
|
|
253
|
-
},
|
|
246
|
+
initialValues: Object.assign({ transform: [{ translateY: 0 }] }, initialValues),
|
|
254
247
|
callback: callback,
|
|
255
248
|
};
|
|
256
249
|
};
|
|
@@ -267,7 +260,7 @@ export class BounceOutDown extends BaseAnimationBuilder {
|
|
|
267
260
|
return (_a = this.durationV) !== null && _a !== void 0 ? _a : 600;
|
|
268
261
|
}
|
|
269
262
|
}
|
|
270
|
-
export class BounceOutUp extends
|
|
263
|
+
export class BounceOutUp extends ComplexAnimationBuilder {
|
|
271
264
|
constructor() {
|
|
272
265
|
super(...arguments);
|
|
273
266
|
this.build = () => {
|
|
@@ -275,6 +268,7 @@ export class BounceOutUp extends BaseAnimationBuilder {
|
|
|
275
268
|
const delay = this.getDelay();
|
|
276
269
|
const duration = this.getDuration();
|
|
277
270
|
const callback = this.callbackV;
|
|
271
|
+
const initialValues = this.initialValues;
|
|
278
272
|
return () => {
|
|
279
273
|
'worklet';
|
|
280
274
|
return {
|
|
@@ -287,9 +281,7 @@ export class BounceOutUp extends BaseAnimationBuilder {
|
|
|
287
281
|
},
|
|
288
282
|
],
|
|
289
283
|
},
|
|
290
|
-
initialValues: {
|
|
291
|
-
transform: [{ translateY: 0 }],
|
|
292
|
-
},
|
|
284
|
+
initialValues: Object.assign({ transform: [{ translateY: 0 }] }, initialValues),
|
|
293
285
|
callback: callback,
|
|
294
286
|
};
|
|
295
287
|
};
|
|
@@ -306,7 +298,7 @@ export class BounceOutUp extends BaseAnimationBuilder {
|
|
|
306
298
|
return (_a = this.durationV) !== null && _a !== void 0 ? _a : 600;
|
|
307
299
|
}
|
|
308
300
|
}
|
|
309
|
-
export class BounceOutLeft extends
|
|
301
|
+
export class BounceOutLeft extends ComplexAnimationBuilder {
|
|
310
302
|
constructor() {
|
|
311
303
|
super(...arguments);
|
|
312
304
|
this.build = () => {
|
|
@@ -314,6 +306,7 @@ export class BounceOutLeft extends BaseAnimationBuilder {
|
|
|
314
306
|
const delay = this.getDelay();
|
|
315
307
|
const duration = this.getDuration();
|
|
316
308
|
const callback = this.callbackV;
|
|
309
|
+
const initialValues = this.initialValues;
|
|
317
310
|
return () => {
|
|
318
311
|
'worklet';
|
|
319
312
|
return {
|
|
@@ -326,9 +319,7 @@ export class BounceOutLeft extends BaseAnimationBuilder {
|
|
|
326
319
|
},
|
|
327
320
|
],
|
|
328
321
|
},
|
|
329
|
-
initialValues: {
|
|
330
|
-
transform: [{ translateX: 0 }],
|
|
331
|
-
},
|
|
322
|
+
initialValues: Object.assign({ transform: [{ translateX: 0 }] }, initialValues),
|
|
332
323
|
callback: callback,
|
|
333
324
|
};
|
|
334
325
|
};
|
|
@@ -345,7 +336,7 @@ export class BounceOutLeft extends BaseAnimationBuilder {
|
|
|
345
336
|
return (_a = this.durationV) !== null && _a !== void 0 ? _a : 600;
|
|
346
337
|
}
|
|
347
338
|
}
|
|
348
|
-
export class BounceOutRight extends
|
|
339
|
+
export class BounceOutRight extends ComplexAnimationBuilder {
|
|
349
340
|
constructor() {
|
|
350
341
|
super(...arguments);
|
|
351
342
|
this.build = () => {
|
|
@@ -353,6 +344,7 @@ export class BounceOutRight extends BaseAnimationBuilder {
|
|
|
353
344
|
const delay = this.getDelay();
|
|
354
345
|
const duration = this.getDuration();
|
|
355
346
|
const callback = this.callbackV;
|
|
347
|
+
const initialValues = this.initialValues;
|
|
356
348
|
return () => {
|
|
357
349
|
'worklet';
|
|
358
350
|
return {
|
|
@@ -365,9 +357,7 @@ export class BounceOutRight extends BaseAnimationBuilder {
|
|
|
365
357
|
},
|
|
366
358
|
],
|
|
367
359
|
},
|
|
368
|
-
initialValues: {
|
|
369
|
-
transform: [{ translateX: 0 }],
|
|
370
|
-
},
|
|
360
|
+
initialValues: Object.assign({ transform: [{ translateX: 0 }] }, initialValues),
|
|
371
361
|
callback: callback,
|
|
372
362
|
};
|
|
373
363
|
};
|