react-native-reanimated
Version:
More powerful alternative to Animated library for React Native.
42 lines (37 loc) • 963 B
text/typescript
import type { TransitionData } from '../animationParser';
export function SequencedTransition(
name: string,
transitionData: TransitionData
) {
const { translateX, translateY, scaleX, scaleY, reversed } = transitionData;
const scaleValue = reversed ? `1,${scaleX}` : `${scaleY},1`;
const sequencedTransition = {
name,
style: {
0: {
transform: [
{
translateX: `${translateX}px`,
translateY: `${translateY}px`,
scale: `${scaleX},${scaleY}`,
},
],
},
50: {
transform: [
{
translateX: reversed ? `${translateX}px` : '0px',
translateY: reversed ? '0px' : `${translateY}px`,
scale: scaleValue,
},
],
},
100: {
transform: [{ translateX: '0px', translateY: '0px', scale: '1,1' }],
},
},
duration: 300,
};
return sequencedTransition;
}
;