interface SimpleTransition {
readonly type: "DISSOLVE" | "SMART_ANIMATE" | "SCROLL_ANIMATE";
readonly easing: Easing;
readonly duration: number;
}
interface DirectionalTransition {
readonly type: "MOVE_IN" | "MOVE_OUT" | "PUSH" | "SLIDE_IN" | "SLIDE_OUT";
readonly direction: "LEFT" | "RIGHT" | "TOP" | "BOTTOM";
readonly matchLayers: boolean;
readonly easing: Easing;
readonly duration: number;
}
type Transition = SimpleTransition | DirectionalTransition;
interface Easing {
readonly type:
| "EASE_IN"
| "EASE_OUT"
| "EASE_IN_AND_OUT"
| "LINEAR"
| "EASE_IN_BACK"
| "EASE_OUT_BACK"
| "EASE_IN_AND_OUT_BACK"
| "CUSTOM_CUBIC_BEZIER"
| "GENTLE"
| "QUICK"
| "BOUNCY"
| "SLOW"
| "CUSTOM_SPRING";
readonly easingFunctionCubicBezier?: {
x1: number;
y1: number;
x2: number;
y2: number;
};
readonly easingFunctionSpring?: {
mass: number;
stiffness: number;
damping: number;
initialVelocity: number;
};
}