react-native-spotlight-tour
Version:
React Native library to implement a highly customizable app tour feature with an awesome spotlight effect
68 lines • 2.33 kB
JavaScript
import { Animated } from "react-native";
export function transitionOf(options) {
const { motion, nextOrigin, nextSize, opacity, origin, size, useNativeDriver, } = options;
switch (motion) {
case "bounce":
opacity.setValue(1);
return Animated.parallel([
Animated.spring(origin, {
damping: 45,
mass: 4,
restDisplacementThreshold: 0.0875,
restSpeedThreshold: 1000,
stiffness: 350,
toValue: nextOrigin,
useNativeDriver,
}),
Animated.spring(size, {
damping: 45,
mass: 4,
restDisplacementThreshold: 0.0875,
restSpeedThreshold: 1000,
stiffness: 350,
toValue: nextSize,
useNativeDriver,
}),
]);
case "fade":
return Animated.sequence([
Animated.timing(opacity, {
duration: 400,
toValue: 0,
useNativeDriver,
}),
Animated.parallel([
Animated.timing(origin, {
duration: 0,
toValue: nextOrigin,
useNativeDriver,
}),
Animated.timing(size, {
duration: 0,
toValue: nextSize,
useNativeDriver,
}),
]),
Animated.timing(opacity, {
duration: 400,
toValue: 1,
useNativeDriver,
}),
]);
case "slide":
opacity.setValue(1);
return Animated.parallel([
Animated.timing(origin, {
duration: 400,
toValue: nextOrigin,
useNativeDriver,
}),
Animated.timing(size, {
duration: 400,
toValue: nextSize,
useNativeDriver,
}),
]);
}
}
//# sourceMappingURL=shape.js.map