mirror of
https://github.com/ionic-team/ionic-framework.git
synced 2025-08-17 18:54:11 +08:00
43 lines
1.1 KiB
TypeScript
43 lines
1.1 KiB
TypeScript
import { EventEmitter } from '@stencil/core';
|
|
|
|
import { AnimationBuilder, HTMLStencilElement } from '../interface';
|
|
|
|
export interface OverlayEventDetail<T = any> {
|
|
data?: T;
|
|
role?: string;
|
|
}
|
|
|
|
export interface OverlayInterface {
|
|
el: HTMLElement;
|
|
animated: boolean;
|
|
keyboardClose: boolean;
|
|
overlayIndex: number;
|
|
presented: boolean;
|
|
|
|
enterAnimation?: AnimationBuilder;
|
|
leaveAnimation?: AnimationBuilder;
|
|
|
|
didPresent: EventEmitter<void>;
|
|
willPresent: EventEmitter<void>;
|
|
willDismiss: EventEmitter<OverlayEventDetail>;
|
|
didDismiss: EventEmitter<OverlayEventDetail>;
|
|
|
|
present(): Promise<void>;
|
|
dismiss(data?: any, role?: string): Promise<boolean>;
|
|
}
|
|
|
|
export interface OverlayController {
|
|
create(opts?: any): Promise<HTMLElement>;
|
|
dismiss(data?: any, role?: string, id?: string): Promise<boolean>;
|
|
getTop(): Promise<HTMLIonOverlayElement | undefined>;
|
|
}
|
|
|
|
export interface HTMLIonOverlayElement extends HTMLStencilElement {
|
|
overlayIndex: number;
|
|
backdropDismiss?: boolean;
|
|
|
|
dismiss(data?: any, role?: string): Promise<boolean>;
|
|
}
|
|
|
|
export type OverlaySelect = HTMLIonActionSheetElement | HTMLIonAlertElement | HTMLIonPopoverElement;
|