@eolme/vma-router
Version:
Router for VK Mini Apps
41 lines (40 loc) • 2.06 kB
TypeScript
/// <reference types="react" />
import Route from './entities/Route';
import Router from './entities/Router';
import type { Page, View, Panel, Modal, Popout, RouteList, RouteParams, RenderNode, Structure, SharedConfig } from './types';
export declare function startGlobalRouter(routes: RouteList, config?: Partial<SharedConfig>): Router;
export declare function getGlobalRouter(): Router;
export declare function pushPage(page: Page, params?: RouteParams): void;
export declare function replacePage(page: Page, params?: RouteParams): void;
export declare function popPage(): void;
export declare function pushModal(modal: Modal, params?: RouteParams): void;
export declare function replaceModal(modal: Modal, params?: RouteParams): void;
export declare function pushPopup(popup: Popout, params?: RouteParams): void;
export declare function replacePopout(popup: Popout, params?: RouteParams): void;
export declare function popPageIfModalOrPopup(): void;
export declare function pushPageAfterPreviews(prevPage: Page, nextPage: Page, params?: RouteParams): void;
export declare function getCurrentRoute(): Readonly<Route>;
export declare function getLastPanelInView(view: View): Panel;
export declare function getPanelInView(route: Route, view: View): Panel;
export declare function getViewHistory(route: Route, view: View): Structure[];
export declare function getViewProps(view: View, route: Route, modal: RenderNode, popout: RenderNode): {
id: string;
activePanel: string;
history: string[];
modal: import("react").ReactNode;
popout: import("react").ReactNode;
params: Readonly<RouteParams>;
onSwipeBack: typeof popPage;
};
export declare function getPanelProps(panel: Panel, route: Route): {
id: string;
params: Readonly<RouteParams>;
};
export declare function getModalProps(modal: Modal, route: Route): {
id: string;
params: Readonly<RouteParams>;
};
export declare function getPopoutProps(popout: Popout, route: Route): {
id: string;
params: Readonly<RouteParams>;
};