react-native-reanimated
Version:
More powerful alternative to Animated library for React Native.
34 lines • 1.5 kB
TypeScript
import type { PlainStyle } from '../../../common';
import type { NormalizedCSSTimingFunction } from '../../easing';
import type { CSSAnimationDirection, CSSAnimationFillMode, CSSAnimationPlayState } from '../../types';
type CSSKeyframesStyleValue<V> = {
offset: number;
value: V;
}[];
type CreateKeyframesStyle<S> = {
[P in keyof S]: S[P] extends infer U | undefined ? U extends object ? U extends Array<any> ? CSSKeyframesStyleValue<U> : {
[K in keyof U]: CreateKeyframesStyle<U[K]>;
} : P extends 'transform' ? never : CSSKeyframesStyleValue<U> : never;
};
export type NormalizedCSSKeyframesStyle = CreateKeyframesStyle<PlainStyle>;
export type NormalizedCSSKeyframeTimingFunctions = Record<number, NormalizedCSSTimingFunction>;
export type NormalizedCSSAnimationKeyframesConfig = {
keyframesStyle: NormalizedCSSKeyframesStyle;
keyframeTimingFunctions: NormalizedCSSKeyframeTimingFunctions;
};
export type NormalizedSingleCSSAnimationSettings = {
duration: number;
timingFunction: NormalizedCSSTimingFunction;
delay: number;
iterationCount: number;
direction: CSSAnimationDirection;
fillMode: CSSAnimationFillMode;
playState: CSSAnimationPlayState;
};
export type CSSAnimationUpdates = {
animationNames?: string[];
newAnimationSettings?: Record<number, NormalizedSingleCSSAnimationSettings>;
settingsUpdates?: Record<number, Partial<NormalizedSingleCSSAnimationSettings>>;
};
export {};
//# sourceMappingURL=animation.d.ts.map