UNPKG

1.25 kBTypeScriptView Raw
1import { Animation, Side } from '../../interface';
2export 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}
22export 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}
31export interface MenuChangeEventDetail {
32 disabled: boolean;
33 open: boolean;
34}
35export interface MenuCustomEvent<T = any> extends CustomEvent {
36 detail: T;
37 target: HTMLIonMenuElement;
38}