UNPKG

@react-motion-router/core

Version:

Declarative routing library for ReactJS ⚛ with animations baked in ⏮

65 lines (64 loc) 3.89 kB
/// <reference types="react" /> import { ScreenBase, ScreenBaseProps } from '.'; import { AnimationConfigSet, PlainObject, RouteProp, RouterEventMap } from './common/types'; import GhostLayer from './GhostLayer'; import NavigationBase from './NavigationBase'; import RouterBase from './RouterBase'; import { ScrollRestorationData } from './ScrollRestorationData'; export type RoutesData = Map<string | undefined, RouteProp<ScreenBaseProps, PlainObject>>; export default class RouterData<N extends NavigationBase = NavigationBase> { private routerInstance; private _parentRouterData; private _childRouterData; private _dispatchEvent; private _addEventListener; private _removeEventListener; private _currentPath; private _routesData; private static _scrollRestorationData; private _navigation?; private _backNavigating; private _gestureNavigating; private _paramsSerializer?; private _paramsDeserializer?; private _mountedScreen; private _animation; private _ghostLayer; constructor(routerInstance: RouterBase, navigation?: N); destructor(): void; prefetchRoute(path: string): Promise<boolean>; set parentRouterData(parentRouterData: RouterData<NavigationBase> | null); set childRouterData(childRouterData: RouterData<NavigationBase> | null); set dispatchEvent(_dispatchEvent: ((event: Event) => Promise<boolean>) | null); set addEventListener(_addEventListener: (<K extends keyof RouterEventMap>(type: K, listener: (this: HTMLElement, ev: RouterEventMap[K]) => any, options?: boolean | AddEventListenerOptions | undefined) => void) | null); set removeEventListener(_removeEventListener: (<K extends keyof RouterEventMap>(type: K, listener: (this: HTMLElement, ev: RouterEventMap[K]) => any, options?: boolean | EventListenerOptions | undefined) => void) | null); set currentPath(_currentPath: string); set routesData(_routesData: RoutesData); set navigation(_navigation: N); set animation(_animation: AnimationConfigSet); set ghostLayer(_ghostLayer: GhostLayer | null); set backNavigating(_backNavigating: boolean); set gestureNavigating(_gestureNavigating: boolean); set paramsSerializer(_paramsSerializer: ((params: PlainObject) => string) | undefined); set paramsDeserializer(_paramsDeserializer: ((queryString: string) => PlainObject) | undefined); set mountedScreen(_mountedScreen: ScreenBase | null); get mountedScreen(): ScreenBase | null; get routerId(): string; get routes(): import(".").ScreenChild<ScreenBaseProps, typeof ScreenBase> | import(".").ScreenChild<ScreenBaseProps, typeof ScreenBase>[]; get parentRouterData(): RouterData<NavigationBase> | null; get childRouterData(): RouterData<NavigationBase> | null; get dispatchEvent(): ((event: Event) => Promise<boolean>) | null; get addEventListener(): (<K extends keyof RouterEventMap>(type: K, listener: (this: HTMLElement, ev: RouterEventMap[K]) => any, options?: boolean | AddEventListenerOptions | undefined) => void) | null; get removeEventListener(): (<K extends keyof RouterEventMap>(type: K, listener: (this: HTMLElement, ev: RouterEventMap[K]) => any, options?: boolean | EventListenerOptions | undefined) => void) | null; get currentPath(): string; get routesData(): RoutesData; get scrollRestorationData(): ScrollRestorationData; get navigation(): N; get animation(): AnimationConfigSet; get ghostLayer(): GhostLayer | null; get backNavigating(): boolean; get gestureNavigating(): boolean; get paramsSerializer(): ((params: PlainObject) => string) | undefined; get paramsDeserializer(): ((queryString: string) => PlainObject) | undefined; } export declare const RouterDataContext: import("react").Context<RouterData<NavigationBase> | null>;