UNPKG

@react-motion-router/core

Version:

Declarative routing library for ReactJS ⚛ with animations baked in ⏮

57 lines (56 loc) 3.62 kB
import { AnimationConfigSet, AnimationKeyframeEffectConfig, CustomElementType, EasingFunction } from './common/types'; import AnimationKeyframePresets from './Animations'; import NavigationBase from './NavigationBase'; import { Component, ElementType } from 'react'; interface AnimationProviderProps { onRef: (ref: HTMLElement | null) => void; onExit: Function; onExited: Function; onEnter: Function; onEntered: Function; in: boolean; out: boolean; name: string; resolvedPathname?: string; animation: AnimationConfigSet | (() => AnimationConfigSet); pseudoElement?: { selector: string; animation: AnimationConfigSet | (() => AnimationConfigSet); }; backNavigating: boolean; keepAlive: boolean; children: React.ReactNode; navigation: NavigationBase; renderAs: ElementType | CustomElementType; } interface AnimationProviderState { mounted: boolean; zIndex: number; } export default class AnimationProvider extends Component<AnimationProviderProps, AnimationProviderState> { private _animationLayerData; private ref; private onAnimationEnd; private onNavigate; private setRef; state: AnimationProviderState; onRef(ref: HTMLElement | null): void; animationEnd(): void; navigate(): void; componentDidMount(): void; componentDidUpdate(prevProps: AnimationProviderProps): void; componentWillUnmount(): void; private getAnimationConfig; get pseudoElementInAnimation(): AnimationKeyframeEffectConfig | ["none" | "slide-right-in" | "slide-back-right-in" | "slide-right-out" | "slide-back-right-out" | "slide-left-in" | "slide-back-left-in" | "slide-left-out" | "slide-back-left-out" | "slide-up-in" | "slide-back-up-in" | "slide-up-out" | "slide-back-up-out" | "slide-down-in" | "slide-back-down-in" | "slide-down-out" | "slide-back-down-out" | "zoom-in-in" | "zoom-in-out" | "zoom-out-in" | "zoom-out-out" | "fade-in" | "fade-out", number, EasingFunction | undefined] | null; get pseudoElementOutAnimation(): AnimationKeyframeEffectConfig | ["none" | "slide-right-in" | "slide-back-right-in" | "slide-right-out" | "slide-back-right-out" | "slide-left-in" | "slide-back-left-in" | "slide-left-out" | "slide-back-left-out" | "slide-up-in" | "slide-back-up-in" | "slide-up-out" | "slide-back-up-out" | "slide-down-in" | "slide-back-down-in" | "slide-down-out" | "slide-back-down-out" | "zoom-in-in" | "zoom-in-out" | "zoom-out-in" | "zoom-out-out" | "fade-in" | "fade-out", number, EasingFunction | undefined] | null; get inAnimation(): AnimationKeyframeEffectConfig | ["none" | "slide-right-in" | "slide-back-right-in" | "slide-right-out" | "slide-back-right-out" | "slide-left-in" | "slide-back-left-in" | "slide-left-out" | "slide-back-left-out" | "slide-up-in" | "slide-back-up-in" | "slide-up-out" | "slide-back-up-out" | "slide-down-in" | "slide-back-down-in" | "slide-down-out" | "slide-back-down-out" | "zoom-in-in" | "zoom-in-out" | "zoom-out-in" | "zoom-out-out" | "fade-in" | "fade-out", number, EasingFunction | undefined]; get outAnimation(): AnimationKeyframeEffectConfig | [keyof typeof AnimationKeyframePresets, number, EasingFunction | undefined]; get pseudoElementDuration(): string | number | null | undefined; get duration(): string | number | undefined; get pseudoElementAnimation(): Animation | null; get animation(): Animation | null; set zIndex(_zIndex: number); mounted(_mounted: boolean, willAnimate?: boolean): Promise<void>; render(): JSX.Element; } export {};