react-native-really-awesome-button
Version:
React Native Button UI component that renders an 60fps animated set of progress enabled 3D performant buttons.
59 lines • 1.36 kB
JavaScript
import { Animated, Easing } from 'react-native';
import { ANIMATED_SPRING_TENSION, ANIMATED_SPRING_FRICTION, ANIMATED_ELASTIC_DURATION, ANIMATED_ELASTIC_BOUNCINESS, ANIMATED_TIMING_IN } from './constants';
export function animateTiming(_ref) {
let {
variable,
toValue,
duration = ANIMATED_TIMING_IN,
delay = 0,
easing = Easing.out(Easing.cubic)
} = _ref;
return Animated.timing(variable, {
toValue,
duration,
easing,
delay,
useNativeDriver: true
});
}
export function animateLoop(_ref2) {
let {
variable,
toValue,
duration = 3223,
easing = Easing.linear
} = _ref2;
const animation = Animated.loop(Animated.timing(variable, {
toValue,
duration,
easing,
isInteraction: false,
useNativeDriver: true
}));
animation.start();
return animation;
}
export function animateSpring(_ref3) {
let {
variable,
toValue,
delay = 0,
tension = ANIMATED_SPRING_TENSION,
friction = ANIMATED_SPRING_FRICTION
} = _ref3;
return Animated.spring(variable, {
toValue,
tension,
friction,
delay,
useNativeDriver: true
});
}
export function animateElastic(params) {
return animateTiming({
duration: ANIMATED_ELASTIC_DURATION,
easing: Easing.elastic(ANIMATED_ELASTIC_BOUNCINESS),
...params
});
}
//# sourceMappingURL=helpers.js.map