react-native-reanimated 2.3.0-alpha.1 → 2.3.0-beta.2
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/LayoutAnimations/LayoutAnimationsProxy.cpp +15 -8
- package/Common/cpp/NativeModules/NativeReanimatedModule.cpp +170 -166
- package/Common/cpp/NativeModules/NativeReanimatedModuleSpec.cpp +36 -34
- package/Common/cpp/Registries/EventHandlerRegistry.cpp +13 -6
- package/Common/cpp/Registries/MapperRegistry.cpp +19 -15
- package/Common/cpp/Registries/WorkletsCache.cpp +19 -9
- package/Common/cpp/SharedItems/FrozenObject.cpp +19 -8
- package/Common/cpp/SharedItems/MutableValue.cpp +38 -25
- package/Common/cpp/SharedItems/MutableValueSetterProxy.cpp +11 -7
- package/Common/cpp/SharedItems/RemoteObject.cpp +9 -5
- package/Common/cpp/SharedItems/ShareableValue.cpp +216 -143
- package/Common/cpp/Tools/JSIStoreValueUser.cpp +36 -24
- package/Common/cpp/Tools/Mapper.cpp +41 -29
- package/Common/cpp/Tools/RuntimeDecorator.cpp +103 -84
- package/Common/cpp/Tools/Scheduler.cpp +14 -6
- package/Common/cpp/Tools/WorkletEventHandler.cpp +1 -1
- package/Common/cpp/headers/LayoutAnimations/LayoutAnimationsProxy.h +12 -11
- package/Common/cpp/headers/NativeModules/NativeReanimatedModule.h +45 -34
- package/Common/cpp/headers/NativeModules/NativeReanimatedModuleSpec.h +28 -16
- package/Common/cpp/headers/Registries/EventHandlerRegistry.h +14 -8
- package/Common/cpp/headers/Registries/MapperRegistry.h +4 -4
- package/Common/cpp/headers/Registries/WorkletsCache.h +9 -7
- package/Common/cpp/headers/SharedItems/FrozenObject.h +15 -11
- package/Common/cpp/headers/SharedItems/HostFunctionHandler.h +6 -4
- package/Common/cpp/headers/SharedItems/MutableValue.h +21 -12
- package/Common/cpp/headers/SharedItems/MutableValueSetterProxy.h +10 -7
- package/Common/cpp/headers/SharedItems/RemoteObject.h +16 -8
- package/Common/cpp/headers/SharedItems/RuntimeManager.h +39 -21
- package/Common/cpp/headers/SharedItems/ShareableValue.h +31 -27
- package/Common/cpp/headers/SharedItems/SharedParent.h +7 -4
- package/Common/cpp/headers/SharedItems/ValueWrapper.h +80 -61
- package/Common/cpp/headers/SpecTools/ErrorHandler.h +17 -19
- package/Common/cpp/headers/Tools/JSIStoreValueUser.h +18 -13
- package/Common/cpp/headers/Tools/Mapper.h +24 -18
- package/Common/cpp/headers/Tools/PlatformDepMethodsHolder.h +12 -7
- package/Common/cpp/headers/Tools/ReanimatedHiddenHeaders.h +7 -7
- package/Common/cpp/headers/Tools/RuntimeDecorator.h +29 -23
- package/Common/cpp/headers/Tools/Scheduler.h +28 -33
- package/Common/cpp/headers/Tools/WorkletEventHandler.h +9 -7
- package/Common/cpp/hidden_headers/Logger.h +14 -14
- package/Common/cpp/hidden_headers/LoggerInterface.h +8 -9
- package/Common/cpp/hidden_headers/SpeedChecker.h +7 -8
- package/README.md +1 -1
- package/RNReanimated.podspec +4 -4
- package/android/build.gradle +80 -3
- package/android/react-native-reanimated-63-hermes.aar +0 -0
- package/android/react-native-reanimated-63-jsc.aar +0 -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/ios/LayoutReanimation/REAAnimationsManager.h +19 -10
- package/ios/LayoutReanimation/REAAnimationsManager.m +195 -200
- package/ios/LayoutReanimation/REASnapshot.h +13 -0
- package/ios/LayoutReanimation/REASnapshot.m +29 -0
- package/ios/LayoutReanimation/REAUIManager.h +16 -0
- package/ios/LayoutReanimation/REAUIManager.mm +348 -0
- package/ios/Nodes/REAAlwaysNode.m +14 -15
- package/ios/Nodes/REABezierNode.m +8 -7
- package/ios/Nodes/REABlockNode.m +1 -1
- package/ios/Nodes/REACallFuncNode.h +0 -1
- package/ios/Nodes/REACallFuncNode.m +10 -8
- package/ios/Nodes/REAClockNodes.m +22 -20
- package/ios/Nodes/REAConcatNode.h +0 -1
- package/ios/Nodes/REAConcatNode.m +2 -2
- package/ios/Nodes/REACondNode.m +7 -5
- package/ios/Nodes/READebugNode.m +5 -4
- package/ios/Nodes/REAEventNode.m +1 -1
- package/ios/Nodes/REAFunctionNode.h +0 -1
- package/ios/Nodes/REAFunctionNode.m +2 -2
- package/ios/Nodes/REAJSCallNode.m +4 -5
- package/ios/Nodes/REANode.h +3 -4
- package/ios/Nodes/REANode.m +9 -11
- package/ios/Nodes/REAOperatorNode.m +68 -67
- package/ios/Nodes/REAParamNode.h +1 -3
- package/ios/Nodes/REAParamNode.m +15 -17
- package/ios/Nodes/REAPropsNode.h +1 -3
- package/ios/Nodes/REAPropsNode.m +19 -22
- package/ios/Nodes/REASetNode.h +0 -1
- package/ios/Nodes/REASetNode.m +7 -5
- package/ios/Nodes/REAStyleNode.h +0 -1
- package/ios/Nodes/REAStyleNode.m +2 -4
- package/ios/Nodes/REATransformNode.h +0 -1
- package/ios/Nodes/REATransformNode.m +3 -5
- package/ios/Nodes/REAValueNode.m +5 -7
- package/ios/REAEventDispatcher.m +3 -3
- package/ios/REAModule.h +0 -2
- package/ios/REAModule.m +29 -40
- package/ios/REANodesManager.h +11 -19
- package/ios/REANodesManager.m +105 -130
- package/ios/REAUtils.h +5 -3
- package/ios/Transitioning/RCTConvert+REATransition.m +45 -29
- package/ios/Transitioning/REAAllTransitions.h +2 -2
- package/ios/Transitioning/REAAllTransitions.m +14 -25
- package/ios/Transitioning/REATransition.h +8 -7
- package/ios/Transitioning/REATransition.m +19 -16
- package/ios/Transitioning/REATransitionAnimation.h +1 -1
- package/ios/Transitioning/REATransitionAnimation.m +2 -3
- package/ios/Transitioning/REATransitionManager.m +3 -3
- package/ios/native/NativeMethods.h +15 -5
- package/ios/native/NativeProxy.h +4 -3
- package/ios/native/NativeProxy.mm +19 -5
- package/ios/native/REAIOSErrorHandler.h +13 -10
- package/ios/native/REAIOSLogger.h +8 -8
- package/ios/native/REAIOSScheduler.h +5 -5
- package/ios/native/REAIOSScheduler.mm +7 -5
- package/ios/native/REAInitializer.h +37 -0
- package/ios/native/REAInitializer.mm +63 -0
- package/ios/native/UIResponder+Reanimated.mm +9 -48
- package/lib/ConfigHelper.js +1 -0
- package/lib/ReanimatedModule.native.js +10 -2
- package/lib/createAnimatedComponent.js +64 -30
- package/lib/reanimated1/core/AnimatedAlways.js +1 -1
- package/lib/reanimated1/core/AnimatedBezier.js +1 -1
- package/lib/reanimated1/core/AnimatedBlock.js +1 -1
- package/lib/reanimated1/core/AnimatedCall.js +1 -1
- package/lib/reanimated1/core/AnimatedCallFunc.js +1 -1
- package/lib/reanimated1/core/AnimatedConcat.js +1 -1
- package/lib/reanimated1/core/AnimatedCond.js +1 -1
- package/lib/reanimated1/core/AnimatedDebug.js +1 -1
- package/lib/reanimated1/core/AnimatedEvent.js +1 -1
- package/lib/reanimated1/core/AnimatedFunction.js +1 -1
- package/lib/reanimated1/core/AnimatedOperator.js +1 -1
- package/lib/reanimated1/core/AnimatedParam.js +1 -1
- package/lib/reanimated1/core/AnimatedProps.js +2 -2
- package/lib/reanimated1/core/AnimatedSet.js +1 -1
- package/lib/reanimated1/core/AnimatedStartClock.js +1 -1
- package/lib/reanimated1/core/AnimatedStopClock.js +1 -1
- package/lib/reanimated1/core/AnimatedStyle.js +1 -1
- package/lib/reanimated1/core/AnimatedTransform.js +1 -1
- package/lib/reanimated1/core/Core.test.js +30 -0
- package/lib/reanimated1/core/InternalAnimatedValue.js +1 -1
- package/lib/reanimated1/core/__mocks__/AnimatedProps.js +1 -1
- package/lib/reanimated1/derived/interpolate.js +1 -1
- package/lib/reanimated2/Colors.js +16 -12
- package/lib/reanimated2/NativeMethods.js +3 -14
- package/lib/reanimated2/{NativeReanimated.native.js → NativeReanimated/NativeReanimated.js} +19 -24
- package/lib/reanimated2/NativeReanimated/index.js +15 -0
- package/lib/reanimated2/PlatformChecker.js +16 -0
- package/lib/reanimated2/PropAdapters.js +14 -4
- package/lib/reanimated2/UpdateProps.js +14 -11
- package/lib/reanimated2/ViewDescriptorsSet.js +73 -0
- package/lib/reanimated2/WorkletEventHandler.js +15 -13
- 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 +72 -0
- package/lib/reanimated2/animation/spring.js +101 -0
- package/lib/reanimated2/animation/styleAnimation.js +166 -0
- package/lib/reanimated2/animation/timing.js +64 -0
- package/lib/reanimated2/animation/util.js +157 -0
- package/lib/reanimated2/commonTypes.js +1 -0
- package/lib/reanimated2/core.js +35 -39
- package/lib/reanimated2/globals.d.ts +47 -1
- package/lib/reanimated2/hook/Hooks.js +9 -0
- package/lib/reanimated2/hook/commonTypes.js +1 -0
- package/lib/reanimated2/hook/index.js +8 -0
- package/lib/reanimated2/hook/useAnimatedGestureHandler.js +50 -0
- package/lib/reanimated2/hook/useAnimatedReaction.js +37 -0
- package/lib/reanimated2/hook/useAnimatedRef.js +25 -0
- package/lib/reanimated2/hook/useAnimatedScrollHandler.js +41 -0
- package/lib/reanimated2/hook/useAnimatedStyle.js +376 -0
- package/lib/reanimated2/hook/useDerivedValue.js +36 -0
- package/lib/reanimated2/hook/useSharedValue.js +17 -0
- package/lib/reanimated2/hook/utils.js +175 -0
- package/lib/reanimated2/index.js +3 -2
- package/lib/reanimated2/interpolation.js +95 -86
- package/lib/reanimated2/jestUtils.js +0 -12
- package/lib/reanimated2/js-reanimated/JSReanimated.js +9 -10
- package/lib/reanimated2/js-reanimated/index.js +57 -1
- package/lib/reanimated2/layoutReanimation/LayoutAnimationRepository.js +58 -0
- package/lib/reanimated2/layoutReanimation/animationBuilder/BaseAnimationBuilder.js +69 -0
- package/lib/reanimated2/layoutReanimation/animationBuilder/ComplexAnimationBuilder.js +125 -0
- package/lib/reanimated2/layoutReanimation/animationBuilder/Keyframe.js +193 -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 +325 -207
- package/lib/reanimated2/layoutReanimation/defaultAnimations/Default.js +36 -0
- package/lib/reanimated2/layoutReanimation/defaultAnimations/Fade.js +235 -187
- package/lib/reanimated2/layoutReanimation/defaultAnimations/Flip.js +327 -269
- package/lib/reanimated2/layoutReanimation/defaultAnimations/Lightspeed.js +146 -0
- package/lib/reanimated2/layoutReanimation/defaultAnimations/Pinwheel.js +85 -0
- package/lib/reanimated2/layoutReanimation/defaultAnimations/Roll.js +119 -0
- package/lib/reanimated2/layoutReanimation/defaultAnimations/Rotate.js +289 -0
- package/lib/reanimated2/layoutReanimation/defaultAnimations/Slide.js +159 -121
- package/lib/reanimated2/layoutReanimation/defaultAnimations/Stretch.js +83 -65
- package/lib/reanimated2/layoutReanimation/defaultAnimations/Zoom.js +371 -277
- package/lib/reanimated2/layoutReanimation/defaultAnimations/index.js +4 -0
- package/lib/reanimated2/layoutReanimation/defaultTransitions/CurvedTransition.js +78 -0
- package/lib/reanimated2/layoutReanimation/defaultTransitions/EntryExitTransition.js +128 -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 +3 -2
- package/lib/reanimated2/platform-specific/RNRenderer.web.js +2 -0
- package/lib/reanimated2/utils.js +9 -0
- 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
- package/package.json +21 -10
- package/plugin.js +244 -85
- package/react-native-reanimated.d.ts +531 -453
- package/src/ConfigHelper.js +1 -0
- package/src/ReanimatedModule.native.js +10 -2
- package/src/createAnimatedComponent.js +64 -30
- package/src/reanimated1/core/AnimatedAlways.js +1 -1
- package/src/reanimated1/core/AnimatedBezier.js +1 -1
- package/src/reanimated1/core/AnimatedBlock.js +1 -1
- package/src/reanimated1/core/AnimatedCall.js +1 -1
- package/src/reanimated1/core/AnimatedCallFunc.js +1 -1
- package/src/reanimated1/core/AnimatedConcat.js +1 -1
- package/src/reanimated1/core/AnimatedCond.js +1 -1
- package/src/reanimated1/core/AnimatedDebug.js +1 -1
- package/src/reanimated1/core/AnimatedEvent.js +1 -1
- package/src/reanimated1/core/AnimatedFunction.js +1 -1
- package/src/reanimated1/core/AnimatedOperator.js +1 -1
- package/src/reanimated1/core/AnimatedParam.js +1 -1
- package/src/reanimated1/core/AnimatedProps.js +2 -2
- package/src/reanimated1/core/AnimatedSet.js +1 -1
- package/src/reanimated1/core/AnimatedStartClock.js +1 -1
- package/src/reanimated1/core/AnimatedStopClock.js +1 -1
- package/src/reanimated1/core/AnimatedStyle.js +1 -1
- package/src/reanimated1/core/AnimatedTransform.js +1 -1
- package/src/reanimated1/core/Core.test.js +30 -0
- package/src/reanimated1/core/InternalAnimatedValue.js +1 -1
- package/src/reanimated1/core/__mocks__/AnimatedProps.js +1 -1
- package/src/reanimated1/derived/interpolate.js +1 -1
- package/src/reanimated2/Colors.ts +30 -27
- package/src/reanimated2/Easing.ts +3 -1
- package/src/reanimated2/NativeMethods.ts +26 -16
- package/src/reanimated2/NativeReanimated/NativeReanimated.ts +78 -0
- package/src/reanimated2/NativeReanimated/index.ts +18 -0
- package/src/reanimated2/PlatformChecker.ts +21 -0
- package/src/reanimated2/PropAdapters.ts +52 -34
- package/src/reanimated2/UpdateProps.ts +40 -20
- package/src/reanimated2/ViewDescriptorsSet.ts +108 -0
- package/src/reanimated2/WorkletEventHandler.ts +41 -23
- package/src/reanimated2/animation/commonTypes.ts +48 -0
- package/src/reanimated2/animation/decay.ts +141 -0
- package/src/reanimated2/animation/delay.ts +103 -0
- package/src/reanimated2/animation/index.ts +16 -0
- package/src/reanimated2/animation/repeat.ts +128 -0
- package/src/reanimated2/animation/sequence.ts +110 -0
- package/src/reanimated2/animation/spring.ts +165 -0
- package/src/reanimated2/animation/styleAnimation.ts +253 -0
- package/src/reanimated2/animation/timing.ts +109 -0
- package/src/reanimated2/animation/util.ts +242 -0
- package/src/reanimated2/commonTypes.ts +81 -0
- package/src/reanimated2/core.ts +128 -82
- package/src/reanimated2/globals.d.ts +47 -1
- package/src/reanimated2/hook/Hooks.ts +16 -0
- package/src/reanimated2/hook/commonTypes.ts +12 -0
- package/src/reanimated2/hook/index.ts +25 -0
- package/src/reanimated2/hook/useAnimatedGestureHandler.ts +110 -0
- package/src/reanimated2/hook/useAnimatedReaction.ts +49 -0
- package/src/reanimated2/hook/useAnimatedRef.ts +34 -0
- package/src/reanimated2/hook/useAnimatedScrollHandler.ts +83 -0
- package/src/reanimated2/hook/useAnimatedStyle.ts +538 -0
- package/src/reanimated2/hook/useDerivedValue.ts +48 -0
- package/src/reanimated2/hook/useSharedValue.ts +22 -0
- package/src/reanimated2/hook/utils.ts +259 -0
- package/src/reanimated2/index.ts +3 -2
- package/src/reanimated2/interpolation.ts +170 -101
- package/src/reanimated2/jestUtils.ts +0 -12
- package/src/reanimated2/js-reanimated/JSReanimated.ts +47 -22
- package/src/reanimated2/js-reanimated/Mapper.ts +1 -1
- package/src/reanimated2/js-reanimated/index.ts +71 -0
- package/src/reanimated2/layoutReanimation/LayoutAnimationRepository.tsx +62 -0
- package/src/reanimated2/layoutReanimation/animationBuilder/BaseAnimationBuilder.ts +91 -0
- package/src/reanimated2/layoutReanimation/animationBuilder/ComplexAnimationBuilder.ts +169 -0
- package/src/reanimated2/layoutReanimation/animationBuilder/Keyframe.ts +263 -0
- package/src/reanimated2/layoutReanimation/animationBuilder/commonTypes.ts +78 -0
- package/src/reanimated2/layoutReanimation/animationBuilder/index.ts +16 -0
- package/src/reanimated2/layoutReanimation/defaultAnimations/Bounce.ts +243 -121
- package/src/reanimated2/layoutReanimation/defaultAnimations/Default.ts +43 -0
- package/src/reanimated2/layoutReanimation/defaultAnimations/Fade.ts +95 -53
- package/src/reanimated2/layoutReanimation/defaultAnimations/Flip.ts +114 -64
- package/src/reanimated2/layoutReanimation/defaultAnimations/Lightspeed.ts +179 -0
- package/src/reanimated2/layoutReanimation/defaultAnimations/Pinwheel.ts +93 -0
- package/src/reanimated2/layoutReanimation/defaultAnimations/Roll.ts +132 -0
- package/src/reanimated2/layoutReanimation/defaultAnimations/Rotate.ts +333 -0
- package/src/reanimated2/layoutReanimation/defaultAnimations/Slide.ts +84 -50
- package/src/reanimated2/layoutReanimation/defaultAnimations/Stretch.ts +41 -23
- package/src/reanimated2/layoutReanimation/defaultAnimations/Zoom.ts +234 -154
- package/src/reanimated2/layoutReanimation/defaultAnimations/index.ts +4 -0
- package/src/reanimated2/layoutReanimation/defaultTransitions/CurvedTransition.ts +104 -0
- package/src/reanimated2/layoutReanimation/defaultTransitions/EntryExitTransition.ts +213 -0
- package/src/reanimated2/layoutReanimation/defaultTransitions/FadingTransition.ts +60 -0
- package/src/reanimated2/layoutReanimation/defaultTransitions/JumpingTransition.ts +58 -0
- package/src/reanimated2/layoutReanimation/defaultTransitions/LinearTransition.ts +41 -0
- package/src/reanimated2/layoutReanimation/defaultTransitions/SequencedTransition.ts +78 -0
- package/src/reanimated2/layoutReanimation/defaultTransitions/index.ts +6 -0
- package/src/reanimated2/layoutReanimation/index.ts +3 -2
- package/src/reanimated2/platform-specific/RNRenderer.web.ts +2 -0
- package/src/reanimated2/utils.ts +21 -0
- package/android/react-native-reanimated-62-hermes.aar +0 -0
- package/android/react-native-reanimated-62-jsc.aar +0 -0
- package/ios/LayoutReanimation/REAAnimationRootView.h +0 -12
- package/ios/LayoutReanimation/REAAnimationRootView.m +0 -16
- package/ios/LayoutReanimation/REAAnimationRootViewManager.h +0 -9
- package/ios/LayoutReanimation/REAAnimationRootViewManager.m +0 -49
- package/ios/LayoutReanimation/REAReactBatchObserver.h +0 -20
- package/ios/LayoutReanimation/REAReactBatchObserver.m +0 -125
- package/ios/LayoutReanimation/REASnapshooter.h +0 -19
- package/ios/LayoutReanimation/REASnapshooter.m +0 -64
- package/ios/LayoutReanimation/REAViewTraverser.h +0 -13
- package/ios/LayoutReanimation/REAViewTraverser.m +0 -40
- package/lib/reanimated2/Hooks.js +0 -732
- package/lib/reanimated2/NativeReanimated.js +0 -4
- package/lib/reanimated2/animations.js +0 -713
- package/lib/reanimated2/js-reanimated/index.web.js +0 -20
- package/lib/reanimated2/layoutReanimation/AnimatedRoot.js +0 -55
- package/lib/reanimated2/layoutReanimation/defaultAnimationsBuilder.js +0 -374
- package/src/reanimated2/Hooks.ts +0 -918
- package/src/reanimated2/NativeReanimated.native.ts +0 -61
- package/src/reanimated2/NativeReanimated.ts +0 -5
- package/src/reanimated2/animations.ts +0 -868
- package/src/reanimated2/js-reanimated/index.js +0 -0
- package/src/reanimated2/js-reanimated/index.web.ts +0 -29
- package/src/reanimated2/layoutReanimation/AnimatedRoot.tsx +0 -68
- package/src/reanimated2/layoutReanimation/defaultAnimationsBuilder.ts +0 -440
|
@@ -0,0 +1,333 @@
|
|
|
1
|
+
import { ComplexAnimationBuilder } from '../animationBuilder';
|
|
2
|
+
import {
|
|
3
|
+
EntryExitAnimationFunction,
|
|
4
|
+
IEntryExitAnimationBuilder,
|
|
5
|
+
} from '../animationBuilder/commonTypes';
|
|
6
|
+
|
|
7
|
+
export class RotateInDownLeft
|
|
8
|
+
extends ComplexAnimationBuilder
|
|
9
|
+
implements IEntryExitAnimationBuilder {
|
|
10
|
+
static createInstance(): RotateInDownLeft {
|
|
11
|
+
return new RotateInDownLeft();
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
build = (): EntryExitAnimationFunction => {
|
|
15
|
+
const delayFunction = this.getDelayFunction();
|
|
16
|
+
const [animation, config] = this.getAnimationAndConfig();
|
|
17
|
+
const delay = this.getDelay();
|
|
18
|
+
const callback = this.callbackV;
|
|
19
|
+
|
|
20
|
+
return (values) => {
|
|
21
|
+
'worklet';
|
|
22
|
+
return {
|
|
23
|
+
animations: {
|
|
24
|
+
opacity: delayFunction(delay, animation(1, config)),
|
|
25
|
+
transform: [
|
|
26
|
+
{ rotate: delayFunction(delay, animation('0deg', config)) },
|
|
27
|
+
{ translateX: delayFunction(delay, animation(0, config)) },
|
|
28
|
+
{ translateY: delayFunction(delay, animation(0, config)) },
|
|
29
|
+
],
|
|
30
|
+
},
|
|
31
|
+
initialValues: {
|
|
32
|
+
opacity: 0,
|
|
33
|
+
transform: [
|
|
34
|
+
{ rotate: '-90deg' },
|
|
35
|
+
{ translateX: values.width / 2 - values.height / 2 },
|
|
36
|
+
{ translateY: -(values.width / 2 - values.height / 2) },
|
|
37
|
+
],
|
|
38
|
+
},
|
|
39
|
+
callback: callback,
|
|
40
|
+
};
|
|
41
|
+
};
|
|
42
|
+
};
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
export class RotateInDownRight
|
|
46
|
+
extends ComplexAnimationBuilder
|
|
47
|
+
implements IEntryExitAnimationBuilder {
|
|
48
|
+
static createInstance(): RotateInDownRight {
|
|
49
|
+
return new RotateInDownRight();
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
build = (): EntryExitAnimationFunction => {
|
|
53
|
+
const delayFunction = this.getDelayFunction();
|
|
54
|
+
const [animation, config] = this.getAnimationAndConfig();
|
|
55
|
+
const delay = this.getDelay();
|
|
56
|
+
const callback = this.callbackV;
|
|
57
|
+
|
|
58
|
+
return (values) => {
|
|
59
|
+
'worklet';
|
|
60
|
+
return {
|
|
61
|
+
animations: {
|
|
62
|
+
opacity: delayFunction(delay, animation(1, config)),
|
|
63
|
+
transform: [
|
|
64
|
+
{ rotate: delayFunction(delay, animation('0deg', config)) },
|
|
65
|
+
{ translateX: delayFunction(delay, animation(0, config)) },
|
|
66
|
+
{ translateY: delayFunction(delay, animation(0, config)) },
|
|
67
|
+
],
|
|
68
|
+
},
|
|
69
|
+
initialValues: {
|
|
70
|
+
opacity: 0,
|
|
71
|
+
transform: [
|
|
72
|
+
{ rotate: '90deg' },
|
|
73
|
+
{ translateX: -(values.width / 2 - values.height / 2) },
|
|
74
|
+
{ translateY: -(values.width / 2 - values.height / 2) },
|
|
75
|
+
],
|
|
76
|
+
},
|
|
77
|
+
callback: callback,
|
|
78
|
+
};
|
|
79
|
+
};
|
|
80
|
+
};
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
export class RotateInUpLeft
|
|
84
|
+
extends ComplexAnimationBuilder
|
|
85
|
+
implements IEntryExitAnimationBuilder {
|
|
86
|
+
static createInstance(): RotateInUpLeft {
|
|
87
|
+
return new RotateInUpLeft();
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
build = (): EntryExitAnimationFunction => {
|
|
91
|
+
const delayFunction = this.getDelayFunction();
|
|
92
|
+
const [animation, config] = this.getAnimationAndConfig();
|
|
93
|
+
const delay = this.getDelay();
|
|
94
|
+
const callback = this.callbackV;
|
|
95
|
+
|
|
96
|
+
return (values) => {
|
|
97
|
+
'worklet';
|
|
98
|
+
return {
|
|
99
|
+
animations: {
|
|
100
|
+
opacity: delayFunction(delay, animation(1, config)),
|
|
101
|
+
transform: [
|
|
102
|
+
{ rotate: delayFunction(delay, animation('0deg', config)) },
|
|
103
|
+
{ translateX: delayFunction(delay, animation(0, config)) },
|
|
104
|
+
{ translateY: delayFunction(delay, animation(0, config)) },
|
|
105
|
+
],
|
|
106
|
+
},
|
|
107
|
+
initialValues: {
|
|
108
|
+
opacity: 0,
|
|
109
|
+
transform: [
|
|
110
|
+
{ rotate: '90deg' },
|
|
111
|
+
{ translateX: values.width / 2 - values.height / 2 },
|
|
112
|
+
{ translateY: values.width / 2 - values.height / 2 },
|
|
113
|
+
],
|
|
114
|
+
},
|
|
115
|
+
callback: callback,
|
|
116
|
+
};
|
|
117
|
+
};
|
|
118
|
+
};
|
|
119
|
+
}
|
|
120
|
+
|
|
121
|
+
export class RotateInUpRight
|
|
122
|
+
extends ComplexAnimationBuilder
|
|
123
|
+
implements IEntryExitAnimationBuilder {
|
|
124
|
+
static createInstance(): RotateInUpRight {
|
|
125
|
+
return new RotateInUpRight();
|
|
126
|
+
}
|
|
127
|
+
|
|
128
|
+
build = (): EntryExitAnimationFunction => {
|
|
129
|
+
const delayFunction = this.getDelayFunction();
|
|
130
|
+
const [animation, config] = this.getAnimationAndConfig();
|
|
131
|
+
const delay = this.getDelay();
|
|
132
|
+
const callback = this.callbackV;
|
|
133
|
+
|
|
134
|
+
return (values) => {
|
|
135
|
+
'worklet';
|
|
136
|
+
return {
|
|
137
|
+
animations: {
|
|
138
|
+
opacity: delayFunction(delay, animation(1, config)),
|
|
139
|
+
transform: [
|
|
140
|
+
{ rotate: delayFunction(delay, animation('0deg', config)) },
|
|
141
|
+
{ translateX: delayFunction(delay, animation(0, config)) },
|
|
142
|
+
{ translateY: delayFunction(delay, animation(0, config)) },
|
|
143
|
+
],
|
|
144
|
+
},
|
|
145
|
+
initialValues: {
|
|
146
|
+
opacity: 0,
|
|
147
|
+
transform: [
|
|
148
|
+
{ rotate: '-90deg' },
|
|
149
|
+
{ translateX: -(values.width / 2 - values.height / 2) },
|
|
150
|
+
{ translateY: values.width / 2 - values.height / 2 },
|
|
151
|
+
],
|
|
152
|
+
},
|
|
153
|
+
callback: callback,
|
|
154
|
+
};
|
|
155
|
+
};
|
|
156
|
+
};
|
|
157
|
+
}
|
|
158
|
+
|
|
159
|
+
export class RotateOutDownLeft
|
|
160
|
+
extends ComplexAnimationBuilder
|
|
161
|
+
implements IEntryExitAnimationBuilder {
|
|
162
|
+
static createInstance(): RotateOutDownLeft {
|
|
163
|
+
return new RotateOutDownLeft();
|
|
164
|
+
}
|
|
165
|
+
|
|
166
|
+
build = (): EntryExitAnimationFunction => {
|
|
167
|
+
const delayFunction = this.getDelayFunction();
|
|
168
|
+
const [animation, config] = this.getAnimationAndConfig();
|
|
169
|
+
const delay = this.getDelay();
|
|
170
|
+
const callback = this.callbackV;
|
|
171
|
+
|
|
172
|
+
return (values) => {
|
|
173
|
+
'worklet';
|
|
174
|
+
return {
|
|
175
|
+
animations: {
|
|
176
|
+
opacity: delayFunction(delay, animation(0, config)),
|
|
177
|
+
transform: [
|
|
178
|
+
{ rotate: delayFunction(delay, animation('90deg', config)) },
|
|
179
|
+
{
|
|
180
|
+
translateX: delayFunction(
|
|
181
|
+
delay,
|
|
182
|
+
animation(values.width / 2 - values.height / 2, config)
|
|
183
|
+
),
|
|
184
|
+
},
|
|
185
|
+
{
|
|
186
|
+
translateY: delayFunction(
|
|
187
|
+
delay,
|
|
188
|
+
animation(values.width / 2 - values.height / 2, config)
|
|
189
|
+
),
|
|
190
|
+
},
|
|
191
|
+
],
|
|
192
|
+
},
|
|
193
|
+
initialValues: {
|
|
194
|
+
opacity: 1,
|
|
195
|
+
transform: [{ rotate: '0deg' }, { translateX: 0 }, { translateY: 0 }],
|
|
196
|
+
},
|
|
197
|
+
callback: callback,
|
|
198
|
+
};
|
|
199
|
+
};
|
|
200
|
+
};
|
|
201
|
+
}
|
|
202
|
+
|
|
203
|
+
export class RotateOutDownRight
|
|
204
|
+
extends ComplexAnimationBuilder
|
|
205
|
+
implements IEntryExitAnimationBuilder {
|
|
206
|
+
static createInstance(): RotateOutDownRight {
|
|
207
|
+
return new RotateOutDownRight();
|
|
208
|
+
}
|
|
209
|
+
|
|
210
|
+
build = (): EntryExitAnimationFunction => {
|
|
211
|
+
const delayFunction = this.getDelayFunction();
|
|
212
|
+
const [animation, config] = this.getAnimationAndConfig();
|
|
213
|
+
const delay = this.getDelay();
|
|
214
|
+
const callback = this.callbackV;
|
|
215
|
+
|
|
216
|
+
return (values) => {
|
|
217
|
+
'worklet';
|
|
218
|
+
return {
|
|
219
|
+
animations: {
|
|
220
|
+
opacity: delayFunction(delay, animation(0, config)),
|
|
221
|
+
transform: [
|
|
222
|
+
{ rotate: delayFunction(delay, animation('-90deg', config)) },
|
|
223
|
+
{
|
|
224
|
+
translateX: delayFunction(
|
|
225
|
+
delay,
|
|
226
|
+
animation(-(values.width / 2 - values.height / 2), config)
|
|
227
|
+
),
|
|
228
|
+
},
|
|
229
|
+
{
|
|
230
|
+
translateY: delayFunction(
|
|
231
|
+
delay,
|
|
232
|
+
animation(values.width / 2 - values.height / 2, config)
|
|
233
|
+
),
|
|
234
|
+
},
|
|
235
|
+
],
|
|
236
|
+
},
|
|
237
|
+
initialValues: {
|
|
238
|
+
opacity: 1,
|
|
239
|
+
transform: [{ rotate: '0deg' }, { translateX: 0 }, { translateY: 0 }],
|
|
240
|
+
},
|
|
241
|
+
callback: callback,
|
|
242
|
+
};
|
|
243
|
+
};
|
|
244
|
+
};
|
|
245
|
+
}
|
|
246
|
+
|
|
247
|
+
export class RotateOutUpLeft
|
|
248
|
+
extends ComplexAnimationBuilder
|
|
249
|
+
implements IEntryExitAnimationBuilder {
|
|
250
|
+
static createInstance(): RotateOutUpLeft {
|
|
251
|
+
return new RotateOutUpLeft();
|
|
252
|
+
}
|
|
253
|
+
|
|
254
|
+
build = (): EntryExitAnimationFunction => {
|
|
255
|
+
const delayFunction = this.getDelayFunction();
|
|
256
|
+
const [animation, config] = this.getAnimationAndConfig();
|
|
257
|
+
const delay = this.getDelay();
|
|
258
|
+
const callback = this.callbackV;
|
|
259
|
+
|
|
260
|
+
return (values) => {
|
|
261
|
+
'worklet';
|
|
262
|
+
return {
|
|
263
|
+
animations: {
|
|
264
|
+
opacity: delayFunction(delay, animation(0, config)),
|
|
265
|
+
transform: [
|
|
266
|
+
{ rotate: delayFunction(delay, animation('-90deg', config)) },
|
|
267
|
+
{
|
|
268
|
+
translateX: delayFunction(
|
|
269
|
+
delay,
|
|
270
|
+
animation(values.width / 2 - values.height / 2, config)
|
|
271
|
+
),
|
|
272
|
+
},
|
|
273
|
+
{
|
|
274
|
+
translateY: delayFunction(
|
|
275
|
+
delay,
|
|
276
|
+
animation(-(values.width / 2 - values.height / 2), config)
|
|
277
|
+
),
|
|
278
|
+
},
|
|
279
|
+
],
|
|
280
|
+
},
|
|
281
|
+
initialValues: {
|
|
282
|
+
opacity: 1,
|
|
283
|
+
transform: [{ rotate: '0deg' }, { translateX: 0 }, { translateY: 0 }],
|
|
284
|
+
},
|
|
285
|
+
callback: callback,
|
|
286
|
+
};
|
|
287
|
+
};
|
|
288
|
+
};
|
|
289
|
+
}
|
|
290
|
+
|
|
291
|
+
export class RotateOutUpRight
|
|
292
|
+
extends ComplexAnimationBuilder
|
|
293
|
+
implements IEntryExitAnimationBuilder {
|
|
294
|
+
static createInstance(): RotateOutUpRight {
|
|
295
|
+
return new RotateOutUpRight();
|
|
296
|
+
}
|
|
297
|
+
|
|
298
|
+
build = (): EntryExitAnimationFunction => {
|
|
299
|
+
const delayFunction = this.getDelayFunction();
|
|
300
|
+
const [animation, config] = this.getAnimationAndConfig();
|
|
301
|
+
const delay = this.getDelay();
|
|
302
|
+
const callback = this.callbackV;
|
|
303
|
+
|
|
304
|
+
return (values) => {
|
|
305
|
+
'worklet';
|
|
306
|
+
return {
|
|
307
|
+
animations: {
|
|
308
|
+
opacity: delayFunction(delay, animation(0, config)),
|
|
309
|
+
transform: [
|
|
310
|
+
{ rotate: delayFunction(delay, animation('90deg', config)) },
|
|
311
|
+
{
|
|
312
|
+
translateX: delayFunction(
|
|
313
|
+
delay,
|
|
314
|
+
animation(-(values.width / 2 - values.height / 2), config)
|
|
315
|
+
),
|
|
316
|
+
},
|
|
317
|
+
{
|
|
318
|
+
translateY: delayFunction(
|
|
319
|
+
delay,
|
|
320
|
+
animation(-(values.width / 2 - values.height / 2), config)
|
|
321
|
+
),
|
|
322
|
+
},
|
|
323
|
+
],
|
|
324
|
+
},
|
|
325
|
+
initialValues: {
|
|
326
|
+
opacity: 1,
|
|
327
|
+
transform: [{ rotate: '0deg' }, { translateX: 0 }, { translateY: 0 }],
|
|
328
|
+
},
|
|
329
|
+
callback: callback,
|
|
330
|
+
};
|
|
331
|
+
};
|
|
332
|
+
};
|
|
333
|
+
}
|
|
@@ -1,19 +1,24 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
1
|
+
import {
|
|
2
|
+
IEntryExitAnimationBuilder,
|
|
3
|
+
EntryExitAnimationFunction,
|
|
4
|
+
} from '../animationBuilder/commonTypes';
|
|
4
5
|
import { Dimensions } from 'react-native';
|
|
6
|
+
import { ComplexAnimationBuilder } from '../animationBuilder';
|
|
5
7
|
|
|
6
8
|
const { width, height } = Dimensions.get('window');
|
|
7
9
|
|
|
8
|
-
export class SlideInRight
|
|
9
|
-
|
|
10
|
+
export class SlideInRight
|
|
11
|
+
extends ComplexAnimationBuilder
|
|
12
|
+
implements IEntryExitAnimationBuilder {
|
|
13
|
+
static createInstance(): SlideInRight {
|
|
10
14
|
return new SlideInRight();
|
|
11
15
|
}
|
|
12
16
|
|
|
13
|
-
build() {
|
|
17
|
+
build = (): EntryExitAnimationFunction => {
|
|
14
18
|
const delayFunction = this.getDelayFunction();
|
|
15
19
|
const [animation, config] = this.getAnimationAndConfig();
|
|
16
|
-
const delay = this.
|
|
20
|
+
const delay = this.getDelay();
|
|
21
|
+
const callback = this.callbackV;
|
|
17
22
|
|
|
18
23
|
return (values) => {
|
|
19
24
|
'worklet';
|
|
@@ -24,20 +29,24 @@ export class SlideInRight extends BaseAnimationBuilder {
|
|
|
24
29
|
initialValues: {
|
|
25
30
|
originX: values.originX + width,
|
|
26
31
|
},
|
|
32
|
+
callback: callback,
|
|
27
33
|
};
|
|
28
34
|
};
|
|
29
|
-
}
|
|
35
|
+
};
|
|
30
36
|
}
|
|
31
37
|
|
|
32
|
-
export class SlideInLeft
|
|
33
|
-
|
|
38
|
+
export class SlideInLeft
|
|
39
|
+
extends ComplexAnimationBuilder
|
|
40
|
+
implements IEntryExitAnimationBuilder {
|
|
41
|
+
static createInstance(): SlideInLeft {
|
|
34
42
|
return new SlideInLeft();
|
|
35
43
|
}
|
|
36
44
|
|
|
37
|
-
build() {
|
|
45
|
+
build = (): EntryExitAnimationFunction => {
|
|
38
46
|
const delayFunction = this.getDelayFunction();
|
|
39
47
|
const [animation, config] = this.getAnimationAndConfig();
|
|
40
|
-
const delay = this.
|
|
48
|
+
const delay = this.getDelay();
|
|
49
|
+
const callback = this.callbackV;
|
|
41
50
|
|
|
42
51
|
return (values) => {
|
|
43
52
|
'worklet';
|
|
@@ -48,20 +57,24 @@ export class SlideInLeft extends BaseAnimationBuilder {
|
|
|
48
57
|
initialValues: {
|
|
49
58
|
originX: values.originX - width,
|
|
50
59
|
},
|
|
60
|
+
callback: callback,
|
|
51
61
|
};
|
|
52
62
|
};
|
|
53
|
-
}
|
|
63
|
+
};
|
|
54
64
|
}
|
|
55
65
|
|
|
56
|
-
export class SlideOutRight
|
|
57
|
-
|
|
66
|
+
export class SlideOutRight
|
|
67
|
+
extends ComplexAnimationBuilder
|
|
68
|
+
implements IEntryExitAnimationBuilder {
|
|
69
|
+
static createInstance(): SlideOutRight {
|
|
58
70
|
return new SlideOutRight();
|
|
59
71
|
}
|
|
60
72
|
|
|
61
|
-
build() {
|
|
73
|
+
build = (): EntryExitAnimationFunction => {
|
|
62
74
|
const delayFunction = this.getDelayFunction();
|
|
63
75
|
const [animation, config] = this.getAnimationAndConfig();
|
|
64
|
-
const delay = this.
|
|
76
|
+
const delay = this.getDelay();
|
|
77
|
+
const callback = this.callbackV;
|
|
65
78
|
|
|
66
79
|
return (values) => {
|
|
67
80
|
'worklet';
|
|
@@ -69,26 +82,30 @@ export class SlideOutRight extends BaseAnimationBuilder {
|
|
|
69
82
|
animations: {
|
|
70
83
|
originX: delayFunction(
|
|
71
84
|
delay,
|
|
72
|
-
animation(values.originX + width, config)
|
|
85
|
+
animation(Math.max(values.originX + width, width), config)
|
|
73
86
|
),
|
|
74
87
|
},
|
|
75
88
|
initialValues: {
|
|
76
89
|
originX: values.originX,
|
|
77
90
|
},
|
|
91
|
+
callback: callback,
|
|
78
92
|
};
|
|
79
93
|
};
|
|
80
|
-
}
|
|
94
|
+
};
|
|
81
95
|
}
|
|
82
96
|
|
|
83
|
-
export class SlideOutLeft
|
|
84
|
-
|
|
97
|
+
export class SlideOutLeft
|
|
98
|
+
extends ComplexAnimationBuilder
|
|
99
|
+
implements IEntryExitAnimationBuilder {
|
|
100
|
+
static createInstance(): SlideOutLeft {
|
|
85
101
|
return new SlideOutLeft();
|
|
86
102
|
}
|
|
87
103
|
|
|
88
|
-
build() {
|
|
104
|
+
build = (): EntryExitAnimationFunction => {
|
|
89
105
|
const delayFunction = this.getDelayFunction();
|
|
90
106
|
const [animation, config] = this.getAnimationAndConfig();
|
|
91
|
-
const delay = this.
|
|
107
|
+
const delay = this.getDelay();
|
|
108
|
+
const callback = this.callbackV;
|
|
92
109
|
|
|
93
110
|
return (values) => {
|
|
94
111
|
'worklet';
|
|
@@ -96,26 +113,30 @@ export class SlideOutLeft extends BaseAnimationBuilder {
|
|
|
96
113
|
animations: {
|
|
97
114
|
originX: delayFunction(
|
|
98
115
|
delay,
|
|
99
|
-
animation(values.originX - width, config)
|
|
116
|
+
animation(Math.min(values.originX - width, -width), config)
|
|
100
117
|
),
|
|
101
118
|
},
|
|
102
119
|
initialValues: {
|
|
103
120
|
originX: values.originX,
|
|
104
121
|
},
|
|
122
|
+
callback: callback,
|
|
105
123
|
};
|
|
106
124
|
};
|
|
107
|
-
}
|
|
125
|
+
};
|
|
108
126
|
}
|
|
109
127
|
|
|
110
|
-
export class SlideInUp
|
|
111
|
-
|
|
128
|
+
export class SlideInUp
|
|
129
|
+
extends ComplexAnimationBuilder
|
|
130
|
+
implements IEntryExitAnimationBuilder {
|
|
131
|
+
static createInstance(): SlideInUp {
|
|
112
132
|
return new SlideInUp();
|
|
113
133
|
}
|
|
114
134
|
|
|
115
|
-
build() {
|
|
135
|
+
build = (): EntryExitAnimationFunction => {
|
|
116
136
|
const delayFunction = this.getDelayFunction();
|
|
117
137
|
const [animation, config] = this.getAnimationAndConfig();
|
|
118
|
-
const delay = this.
|
|
138
|
+
const delay = this.getDelay();
|
|
139
|
+
const callback = this.callbackV;
|
|
119
140
|
|
|
120
141
|
return (values) => {
|
|
121
142
|
'worklet';
|
|
@@ -126,20 +147,24 @@ export class SlideInUp extends BaseAnimationBuilder {
|
|
|
126
147
|
initialValues: {
|
|
127
148
|
originY: height,
|
|
128
149
|
},
|
|
150
|
+
callback: callback,
|
|
129
151
|
};
|
|
130
152
|
};
|
|
131
|
-
}
|
|
153
|
+
};
|
|
132
154
|
}
|
|
133
155
|
|
|
134
|
-
export class SlideInDown
|
|
135
|
-
|
|
156
|
+
export class SlideInDown
|
|
157
|
+
extends ComplexAnimationBuilder
|
|
158
|
+
implements IEntryExitAnimationBuilder {
|
|
159
|
+
static createInstance(): SlideInDown {
|
|
136
160
|
return new SlideInDown();
|
|
137
161
|
}
|
|
138
162
|
|
|
139
|
-
build() {
|
|
163
|
+
build = (): EntryExitAnimationFunction => {
|
|
140
164
|
const delayFunction = this.getDelayFunction();
|
|
141
165
|
const [animation, config] = this.getAnimationAndConfig();
|
|
142
|
-
const delay = this.
|
|
166
|
+
const delay = this.getDelay();
|
|
167
|
+
const callback = this.callbackV;
|
|
143
168
|
|
|
144
169
|
return (values) => {
|
|
145
170
|
'worklet';
|
|
@@ -148,22 +173,26 @@ export class SlideInDown extends BaseAnimationBuilder {
|
|
|
148
173
|
originY: delayFunction(delay, animation(values.originY, config)),
|
|
149
174
|
},
|
|
150
175
|
initialValues: {
|
|
151
|
-
originY: values.originY
|
|
176
|
+
originY: values.originY + height,
|
|
152
177
|
},
|
|
178
|
+
callback: callback,
|
|
153
179
|
};
|
|
154
180
|
};
|
|
155
|
-
}
|
|
181
|
+
};
|
|
156
182
|
}
|
|
157
183
|
|
|
158
|
-
export class SlideOutUp
|
|
159
|
-
|
|
184
|
+
export class SlideOutUp
|
|
185
|
+
extends ComplexAnimationBuilder
|
|
186
|
+
implements IEntryExitAnimationBuilder {
|
|
187
|
+
static createInstance(): SlideOutUp {
|
|
160
188
|
return new SlideOutUp();
|
|
161
189
|
}
|
|
162
190
|
|
|
163
|
-
build() {
|
|
191
|
+
build = (): EntryExitAnimationFunction => {
|
|
164
192
|
const delayFunction = this.getDelayFunction();
|
|
165
193
|
const [animation, config] = this.getAnimationAndConfig();
|
|
166
|
-
const delay = this.
|
|
194
|
+
const delay = this.getDelay();
|
|
195
|
+
const callback = this.callbackV;
|
|
167
196
|
|
|
168
197
|
return (values) => {
|
|
169
198
|
'worklet';
|
|
@@ -171,24 +200,28 @@ export class SlideOutUp extends BaseAnimationBuilder {
|
|
|
171
200
|
animations: {
|
|
172
201
|
originY: delayFunction(
|
|
173
202
|
delay,
|
|
174
|
-
animation(values.originY - height, config)
|
|
203
|
+
animation(Math.min(values.originY - height, -height), config)
|
|
175
204
|
),
|
|
176
205
|
},
|
|
177
|
-
initialValues: {},
|
|
206
|
+
initialValues: { originY: values.originY },
|
|
207
|
+
callback: callback,
|
|
178
208
|
};
|
|
179
209
|
};
|
|
180
|
-
}
|
|
210
|
+
};
|
|
181
211
|
}
|
|
182
212
|
|
|
183
|
-
export class SlideOutDown
|
|
184
|
-
|
|
213
|
+
export class SlideOutDown
|
|
214
|
+
extends ComplexAnimationBuilder
|
|
215
|
+
implements IEntryExitAnimationBuilder {
|
|
216
|
+
static createInstance(): SlideOutDown {
|
|
185
217
|
return new SlideOutDown();
|
|
186
218
|
}
|
|
187
219
|
|
|
188
|
-
build() {
|
|
220
|
+
build = (): EntryExitAnimationFunction => {
|
|
189
221
|
const delayFunction = this.getDelayFunction();
|
|
190
222
|
const [animation, config] = this.getAnimationAndConfig();
|
|
191
|
-
const delay = this.
|
|
223
|
+
const delay = this.getDelay();
|
|
224
|
+
const callback = this.callbackV;
|
|
192
225
|
|
|
193
226
|
return (values) => {
|
|
194
227
|
'worklet';
|
|
@@ -196,11 +229,12 @@ export class SlideOutDown extends BaseAnimationBuilder {
|
|
|
196
229
|
animations: {
|
|
197
230
|
originY: delayFunction(
|
|
198
231
|
delay,
|
|
199
|
-
animation(values.originY + height, config)
|
|
232
|
+
animation(Math.max(values.originY + height, height), config)
|
|
200
233
|
),
|
|
201
234
|
},
|
|
202
|
-
initialValues: {},
|
|
235
|
+
initialValues: { originY: values.originY },
|
|
236
|
+
callback: callback,
|
|
203
237
|
};
|
|
204
238
|
};
|
|
205
|
-
}
|
|
239
|
+
};
|
|
206
240
|
}
|