UNPKG

1.32 kBTypeScriptView Raw
1import { GridLayout } from '../grid-layout';
2import { View } from '../../core/view';
3
4export class RootLayout extends GridLayout {
5 open(view: View, options: RootLayoutOptions = {}): Promise<void>;
6 close(view: View, exitTo?: TransitionAnimation): Promise<void>;
7 topmost(): View;
8 bringToFront(view: View, animated?: boolean): Promise<void>;
9 closeAll(): Promise<void[]>;
10 getShadeCover(): View;
11 openShadeCover(options: ShadeCoverOptions = {}): void;
12 closeShadeCover(shadeCoverOptions: ShadeCoverOptions = {}): Promise<void>;
13}
14
15export function getRootLayout(): RootLayout;
16
17export interface RootLayoutOptions {
18 shadeCover?: ShadeCoverOptions;
19 animation?: {
20 enterFrom?: TransitionAnimation;
21 exitTo?: TransitionAnimation;
22 };
23}
24
25export interface ShadeCoverOptions {
26 opacity?: number;
27 color?: string;
28 tapToClose?: boolean;
29 animation?: {
30 enterFrom?: TransitionAnimation; // only applied if first one to be opened
31 exitTo?: TransitionAnimation; // only applied if last one to be closed
32 };
33 ignoreShadeRestore?: boolean;
34}
35
36export interface TransitionAnimation {
37 translateX?: number;
38 translateY?: number;
39 scaleX?: number;
40 scaleY?: number;
41 rotate?: number; // in degrees
42 opacity?: number;
43 duration?: number; // in milliseconds
44 curve?: any; // CoreTypes.AnimationCurve (string, cubicBezier, etc.)
45}