mirror of
https://github.com/ionic-team/ionic-framework.git
synced 2025-08-18 03:00:58 +08:00
69 lines
1.8 KiB
TypeScript
69 lines
1.8 KiB
TypeScript
import type { AnimationBuilder, Mode, TextFieldTypes } from '../../interface';
|
|
import type { IonicSafeString } from '../../utils/sanitization';
|
|
|
|
export interface AlertOptions {
|
|
header?: string;
|
|
subHeader?: string;
|
|
message?: string | IonicSafeString;
|
|
cssClass?: string | string[];
|
|
inputs?: AlertInput[];
|
|
buttons?: (AlertButton | string)[];
|
|
backdropDismiss?: boolean;
|
|
translucent?: boolean;
|
|
animated?: boolean;
|
|
htmlAttributes?: AlertAttributes;
|
|
|
|
mode?: Mode;
|
|
keyboardClose?: boolean;
|
|
id?: string;
|
|
|
|
enterAnimation?: AnimationBuilder;
|
|
leaveAnimation?: AnimationBuilder;
|
|
}
|
|
|
|
/**
|
|
* @deprecated - Use { [key: string]: any } directly instead.
|
|
*/
|
|
export type AlertAttributes = { [key: string]: any };
|
|
|
|
export interface AlertInput {
|
|
type?: TextFieldTypes | 'checkbox' | 'radio' | 'textarea';
|
|
name?: string;
|
|
placeholder?: string;
|
|
value?: any; // TODO(FW-2832): type
|
|
/**
|
|
* The label text to display next to the input, if the input type is `radio` or `checkbox`.
|
|
*/
|
|
label?: string;
|
|
checked?: boolean;
|
|
disabled?: boolean;
|
|
id?: string;
|
|
handler?: (input: AlertInput) => void;
|
|
min?: string | number;
|
|
max?: string | number;
|
|
cssClass?: string | string[];
|
|
attributes?: AlertInputAttributes | AlertTextareaAttributes;
|
|
tabindex?: number;
|
|
}
|
|
|
|
/**
|
|
* @deprecated - Use { [key: string]: any } directly instead.
|
|
*/
|
|
export type AlertTextareaAttributes = { [key: string]: any };
|
|
|
|
/**
|
|
* @deprecated - Use { [key: string]: any } directly instead.
|
|
*/
|
|
export type AlertInputAttributes = { [key: string]: any };
|
|
|
|
type AlertButtonOverlayHandler = boolean | void | { [key: string]: any };
|
|
|
|
export interface AlertButton {
|
|
text: string;
|
|
role?: 'cancel' | 'destructive' | string;
|
|
cssClass?: string | string[];
|
|
id?: string;
|
|
// TODO(FW-2832): type
|
|
handler?: (value: any) => AlertButtonOverlayHandler | Promise<AlertButtonOverlayHandler>;
|
|
}
|