UNPKG

2.17 kBTypeScriptView Raw
1import { Animation, AnimationBuilder, ComponentProps, ComponentRef, FrameworkDelegate, Mode } from '../../interface';
2import { ViewController } from './view-controller';
3export declare type NavDirection = 'back' | 'forward';
4export declare type NavComponent = ComponentRef | ViewController;
5export interface NavComponentWithProps<T = any> {
6 component: NavComponent;
7 componentProps?: ComponentProps<T> | null;
8}
9export interface NavResult {
10 hasCompleted: boolean;
11 requiresTransition: boolean;
12 enteringView?: ViewController;
13 leavingView?: ViewController;
14 direction?: NavDirection;
15}
16export interface SwipeGestureHandler {
17 canStart(): boolean;
18 onStart(): void;
19 onEnd(shouldComplete: boolean): void;
20}
21export interface RouterOutletOptions {
22 animated?: boolean;
23 animationBuilder?: AnimationBuilder;
24 duration?: number;
25 easing?: string;
26 showGoBack?: boolean;
27 direction?: NavDirection;
28 deepWait?: boolean;
29 mode?: Mode;
30 keyboardClose?: boolean;
31 skipIfBusy?: boolean;
32 progressAnimation?: boolean;
33}
34export interface NavOptions extends RouterOutletOptions {
35 progressAnimation?: boolean;
36 updateURL?: boolean;
37 delegate?: FrameworkDelegate;
38 viewIsReady?: (enteringEl: HTMLElement) => Promise<any>;
39}
40export declare type Page = new (...args: any[]) => any;
41export declare type TransitionResolveFn = (hasCompleted: boolean, requiresTransition: boolean, enteringName?: string, leavingName?: string, direction?: string) => void;
42export declare type TransitionRejectFn = (rejectReason: any, transition?: Animation) => void;
43export declare type TransitionDoneFn = (hasCompleted: boolean, requiresTransition: boolean, enteringView?: ViewController, leavingView?: ViewController, direction?: string) => void;
44export interface TransitionInstruction {
45 opts: NavOptions | undefined | null;
46 insertStart?: number;
47 insertViews?: any[];
48 removeView?: ViewController;
49 removeStart?: number;
50 removeCount?: number;
51 resolve?: (hasCompleted: boolean) => void;
52 reject?: (rejectReason: string) => void;
53 done?: TransitionDoneFn;
54 leavingRequiresTransition?: boolean;
55 enteringRequiresTransition?: boolean;
56}
57export { ViewController };