UNPKG

react-native-reanimated

Version:

More powerful alternative to Animated library for React Native.

155 lines 7.86 kB
import type { AnimationFunction, EasingFunction, LayoutAnimationAndConfig, StyleProps } from '../../commonTypes'; import type { EasingFunctionFactory } from '../../Easing'; import { BaseAnimationBuilder } from './BaseAnimationBuilder'; /** * `this` type for static methods on {@link AnimationConfigBuilder}. Represents a * subclass constructor exposing the shared config-only static API inherited * from {@link BaseAnimationBuilder}. */ type AnimationConfigBuilderClass = typeof BaseAnimationBuilder & (new () => AnimationConfigBuilder); export declare class AnimationConfigBuilder extends BaseAnimationBuilder { easingV?: EasingFunction | EasingFunctionFactory; rotateV?: string; type?: AnimationFunction; dampingV?: number; dampingRatioV?: number; massV?: number; stiffnessV?: number; overshootClampingV?: number; energyThresholdV?: number; static createInstance: <T extends typeof BaseAnimationBuilder>(this: T) => InstanceType<T>; /** * Lets you change the easing curve of the animation. Can be chained alongside * other [layout animation * modifiers](https://docs.swmansion.com/react-native-reanimated/docs/fundamentals/glossary#layout-animation-modifier). * * @param easingFunction - An easing function which defines the animation * curve. */ static easing(this: AnimationConfigBuilderClass, easingFunction: EasingFunction | EasingFunctionFactory): AnimationConfigBuilder; easing(easingFunction: EasingFunction | EasingFunctionFactory): this; /** * Lets you rotate the element. Can be chained alongside other [layout * animation * modifiers](https://docs.swmansion.com/react-native-reanimated/docs/fundamentals/glossary#layout-animation-modifier). * * @param degree - The rotation degree. */ static rotate(this: AnimationConfigBuilderClass, degree: string): AnimationConfigBuilder; rotate(degree: string): this; /** * Enables the spring-based animation configuration. Can be chained alongside * other [layout animation * modifiers](https://docs.swmansion.com/react-native-reanimated/docs/fundamentals/glossary#layout-animation-modifier). * * @param duration - An optional duration of the spring animation (in * milliseconds). */ static springify(this: AnimationConfigBuilderClass, duration?: number): AnimationConfigBuilder; springify(duration?: number): this; /** * Lets you adjust the spring animation damping ratio. Can be chained * alongside other [layout animation * modifiers](https://docs.swmansion.com/react-native-reanimated/docs/fundamentals/glossary#layout-animation-modifier). * * @param dampingRatio - How damped the spring is. */ static dampingRatio(this: AnimationConfigBuilderClass, dampingRatio: number): AnimationConfigBuilder; dampingRatio(value: number): this; /** * Lets you adjust the spring animation damping. Can be chained alongside * other [layout animation * modifiers](https://docs.swmansion.com/react-native-reanimated/docs/fundamentals/glossary#layout-animation-modifier). * * @param value - Decides how quickly a spring stops moving. Higher damping * means the spring will come to rest faster. */ static damping(this: AnimationConfigBuilderClass, value: number): AnimationConfigBuilder; damping(damping: number): this; /** * Lets you adjust the spring animation mass. Can be chained alongside other * [layout animation * modifiers](https://docs.swmansion.com/react-native-reanimated/docs/fundamentals/glossary#layout-animation-modifier). * * @param mass - The weight of the spring. Reducing this value makes the * animation faster. */ static mass(this: AnimationConfigBuilderClass, mass: number): AnimationConfigBuilder; mass(mass: number): this; /** * Lets you adjust the stiffness of the spring animation. Can be chained * alongside other [layout animation * modifiers](https://docs.swmansion.com/react-native-reanimated/docs/fundamentals/glossary#layout-animation-modifier). * * @param stiffness - How bouncy the spring is. */ static stiffness(this: AnimationConfigBuilderClass, stiffness: number): AnimationConfigBuilder; stiffness(stiffness: number): this; /** * Lets you adjust overshoot clamping of the spring. Can be chained alongside * other [layout animation * modifiers](https://docs.swmansion.com/react-native-reanimated/docs/fundamentals/glossary#layout-animation-modifier). * * @param overshootClamping - Whether a spring can bounce over the final * position. */ static overshootClamping(this: AnimationConfigBuilderClass, overshootClamping: number): AnimationConfigBuilder; overshootClamping(overshootClamping: number): this; /** * @deprecated Use {@link energyThreshold} instead. This method currently does * nothing and will be removed in the upcoming major version. */ static restDisplacementThreshold(this: AnimationConfigBuilderClass, _restDisplacementThreshold: number): AnimationConfigBuilder; /** * @deprecated Use {@link energyThreshold} instead. This method currently does * nothing and will be removed in the upcoming major version. */ restDisplacementThreshold(_restDisplacementThreshold: number): this; /** * @deprecated Use {@link energyThreshold} instead. This method currently does * nothing and will be removed in a future version. */ static restSpeedThreshold(this: AnimationConfigBuilderClass, _restSpeedThreshold: number): AnimationConfigBuilder; /** * @deprecated Use {@link energyThreshold} instead. This method currently does * nothing and will be removed in a future version. */ restSpeedThreshold(_restSpeedThreshold: number): this; /** * Lets you adjust the energy threshold level to stop the spring animation. * Can be chained alongside other [layout animation * modifiers](https://docs.swmansion.com/react-native-reanimated/docs/fundamentals/glossary#layout-animation-modifier). * * @param energyThreshold - Relative energy threshold below which the spring * will snap to `toValue` without further oscillations. Defaults to 6e-9. */ static energyThreshold(this: AnimationConfigBuilderClass, energyThreshold: number): AnimationConfigBuilder; energyThreshold(energyThreshold: number): this; getAnimationAndConfig(): LayoutAnimationAndConfig; } /** * `this` type for static methods on {@link ComplexAnimationBuilder}. Represents * a subclass constructor preserving the concrete `TValues` type for * initial/target value override methods. */ type ComplexAnimationBuilderClass<TValues> = typeof BaseAnimationBuilder & (new () => ComplexAnimationBuilder<TValues>); export declare class ComplexAnimationBuilder<TValues = StyleProps> extends AnimationConfigBuilder { initialValues?: Partial<TValues>; targetValues?: Partial<TValues>; /** * Lets you override the initial properties of the animation * * @param values - An object containing the styles to override. */ static withInitialValues<TValues>(this: ComplexAnimationBuilderClass<TValues>, values: Partial<TValues>): ComplexAnimationBuilder<TValues>; withInitialValues(values: Partial<TValues>): this; /** * Lets you override the target properties of the animation * * @param values - An object containing the styles to override. */ static withTargetValues<TValues>(this: ComplexAnimationBuilderClass<TValues>, values: Partial<TValues>): ComplexAnimationBuilder<TValues>; withTargetValues(values: Partial<TValues>): this; } export {}; //# sourceMappingURL=ComplexAnimationBuilder.d.ts.map