1 | import { Animation, Side } from '../../interface';
|
2 | export interface MenuI {
|
3 | el: HTMLIonMenuElement;
|
4 | side: Side;
|
5 | menuId?: string;
|
6 | disabled: boolean;
|
7 | isAnimating: boolean;
|
8 | width: number;
|
9 | isEndSide: boolean;
|
10 | _isOpen: boolean;
|
11 | backdropEl?: HTMLElement;
|
12 | menuInnerEl?: HTMLElement;
|
13 | contentEl?: HTMLElement;
|
14 | menuCtrl?: MenuControllerI;
|
15 | isActive(): Promise<boolean>;
|
16 | open(animated?: boolean): Promise<boolean>;
|
17 | close(animated?: boolean): Promise<boolean>;
|
18 | toggle(animated?: boolean): Promise<boolean>;
|
19 | setOpen(shouldOpen: boolean, animated?: boolean): Promise<boolean>;
|
20 | _setOpen(shouldOpen: boolean, animated?: boolean): Promise<boolean>;
|
21 | }
|
22 | export interface MenuControllerI {
|
23 | _createAnimation(type: string, menuCmp: MenuI): Promise<Animation>;
|
24 | _setOpen(menu: MenuI, shouldOpen: boolean, animated: boolean): Promise<boolean>;
|
25 | _register(menu: MenuI): void;
|
26 | _unregister(menu: MenuI): void;
|
27 | _setActiveMenu(menu: MenuI): void;
|
28 | getMenus(): Promise<HTMLIonMenuElement[]>;
|
29 | getOpenSync(): HTMLIonMenuElement | undefined;
|
30 | }
|
31 | export interface MenuChangeEventDetail {
|
32 | disabled: boolean;
|
33 | open: boolean;
|
34 | }
|
35 | export interface MenuCustomEvent<T = any> extends CustomEvent {
|
36 | detail: T;
|
37 | target: HTMLIonMenuElement;
|
38 | }
|