react-native-reanimated
Version:
More powerful alternative to Animated library for React Native.
52 lines • 2.4 kB
TypeScript
import type { DefaultStyle } from '../../hook/commonTypes';
import type { CSSTimingFunction } from '../easing';
import type { TimeUnit } from './common';
import type { AddArrayPropertyTypes } from './helpers';
export type CSSTransitionProperty<S extends object = DefaultStyle> = 'all' | 'none' | keyof S | ('all' | keyof S)[];
export type CSSTransitionDuration = TimeUnit;
export type CSSTransitionTimingFunction = CSSTimingFunction;
export type CSSTransitionDelay = TimeUnit;
export type CSSTransitionBehavior = 'normal' | 'allow-discrete';
export type CSSTransitionShorthand = string;
/**
* Payload for a CSS transition callback, dispatched once per transitioning
* property.
*/
export type CSSTransitionEvent = {
/** The transitioning property, camelCased (e.g. `opacity`). */
propertyName: string;
/**
* The amount of time the transition had been running, in seconds, when the
* event fired.
*/
elapsedTime: number;
};
export type CSSTransitionCallback = (event: CSSTransitionEvent) => void;
export type CSSTransitionCallbacks = {
/** Fired when the transition is triggered, before any `transitionDelay`. */
onTransitionRun?: CSSTransitionCallback;
/** Fired after `transitionDelay`, when the property starts animating. */
onTransitionStart?: CSSTransitionCallback;
/** Fired when the transition completes. */
onTransitionEnd?: CSSTransitionCallback;
/** Fired when the transition is interrupted before completing. */
onTransitionCancel?: CSSTransitionCallback;
};
export type CSSTransitionCallbackProp = keyof CSSTransitionCallbacks;
type SingleCSSTransitionSettings = {
transitionDuration?: CSSTransitionDuration;
transitionTimingFunction?: CSSTransitionTimingFunction;
transitionDelay?: CSSTransitionDelay;
transitionBehavior?: CSSTransitionBehavior;
};
export type SingleCSSTransitionConfig<S extends object = DefaultStyle> = SingleCSSTransitionSettings & {
transitionProperty?: CSSTransitionProperty<S>;
};
export type CSSTransitionSettings = AddArrayPropertyTypes<SingleCSSTransitionSettings>;
export type CSSTransitionProperties<S extends object = DefaultStyle> = CSSTransitionSettings & {
transitionProperty?: CSSTransitionProperty<S>;
transition?: CSSTransitionShorthand;
};
export type CSSTransitionProp = keyof CSSTransitionProperties;
export {};
//# sourceMappingURL=transition.d.ts.map