react-native-micro-interactions
Version:
Effortlessly enhance your React Native components with subtle micro-interactions and animations.
28 lines (27 loc) • 856 B
JavaScript
;
import { useAnimatedStyle, useSharedValue, withSequence, withTiming } from "react-native-reanimated";
import { filterClickAnimOptions } from "../utils/animOptionsFilter.js";
import { useCallback } from "react";
export const click = (config, props) => {
const animationOptions = filterClickAnimOptions(config, props);
let size = useSharedValue(1);
const runIndividualAnimation = useCallback(() => {
size.value = withSequence(withTiming(animationOptions.shrink, {
duration: animationOptions.shrinkDuration
}), withTiming(1, {
duration: 100
}));
}, [animationOptions, size]);
const animatedStyle = useAnimatedStyle(() => {
return {
transform: [{
scale: size.value
}]
};
}, [size]);
return {
animatedStyle,
runIndividualAnimation
};
};
//# sourceMappingURL=click.js.map