UNPKG

react-native-onboarding-flow

Version:

Beautiful, customizable onboarding flows for React Native with smooth animations

52 lines (48 loc) 1.28 kB
import { Animated, Easing } from 'react-native'; export const createFadeInAnimation = (animatedValue: Animated.Value, duration = 500, delay = 0) => { return Animated.timing(animatedValue, { toValue: 1, duration, delay, easing: Easing.out(Easing.quad), useNativeDriver: true, }); }; export const createSlideUpAnimation = (animatedValue: Animated.Value, duration = 600, delay = 0) => { return Animated.timing(animatedValue, { toValue: 0, duration, delay, easing: Easing.out(Easing.back(1.2)), useNativeDriver: true, }); }; export const createScaleInAnimation = (animatedValue: Animated.Value, duration = 400, delay = 0) => { return Animated.spring(animatedValue, { toValue: 1, delay, tension: 100, friction: 8, useNativeDriver: true, }); }; export const createSlideTransition = ( fadeOut: Animated.Value, fadeIn: Animated.Value, duration = 300 ) => { return Animated.sequence([ Animated.timing(fadeOut, { toValue: 0, duration: duration / 2, easing: Easing.in(Easing.quad), useNativeDriver: true, }), Animated.timing(fadeIn, { toValue: 1, duration: duration / 2, easing: Easing.out(Easing.quad), useNativeDriver: true, }), ]); };