@react-motion-router/core
Version:
Declarative routing library for ReactJS ⚛ with animations baked in ⏮
65 lines (64 loc) • 3.89 kB
TypeScript
/// <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>;