UNPKG

element-plus

Version:

A Component Library for Vue3.0

189 lines (144 loc) 4.69 kB
import type { VNode } from 'vue' export type Action = 'confirm' | 'close' | 'cancel' export type MessageType = 'success' | 'warning' | 'info' | 'error' export type MessageBoxData = MessageBoxInputData & Action export interface MessageBoxInputData { value: string action: Action } export interface MessageBoxInputValidator { (value: string): boolean | string } export interface MessageBoxState { action: Action cancelButtonLoading: boolean cancelButtonText: string confirmButtonLoading: boolean confirmButtonDisabled: boolean confirmButtonText: string editorErrorMessage: string // isOnComposition: boolean temporary commented inputValue: string validateError: boolean zIndex: number } export declare class ElMessageBoxComponent { title: string message: string type: MessageType iconClass: string customClass: string showInput: boolean showClose: boolean inputValue: string inputPlaceholder: string inputType: string inputPattern: RegExp inputValidator: MessageBoxInputValidator inputErrorMessage: string showConfirmButton: boolean showCancelButton: boolean action: Action dangerouslyUseHTMLString: boolean confirmButtonText: string cancelButtonText: string confirmButtonLoading: boolean cancelButtonLoading: boolean confirmButtonClass: string confirmButtonDisabled: boolean cancelButtonClass: string editorErrorMessage: string close(): any } export type Callback = | ((value: string, action: Action) => any) | ((action: Action) => any) /** Options used in MessageBox */ export interface ElMessageBoxOptions { /** Callback before MessageBox closes, and it will prevent MessageBox from closing */ beforeClose?: ( action: Action, instance: ElMessageBoxComponent, done: () => void, ) => void /** Custom class name for MessageBox */ customClass?: string /** MessageBox closing callback if you don't prefer Promise */ callback?: Callback /** Text content of cancel button */ cancelButtonText?: string /** Text content of confirm button */ confirmButtonText?: string /** Custom class name of cancel button */ cancelButtonClass?: string /** Custom class name of confirm button */ confirmButtonClass?: string /** Whether to align the content in center */ center?: boolean /** Content of the MessageBox */ message?: string | VNode /** Title of the MessageBox */ title?: string /** Message type, used for icon display */ type?: MessageType /** Custom icon's class */ iconClass?: string /** Whether message is treated as HTML string */ dangerouslyUseHTMLString?: boolean /** Whether to distinguish canceling and closing */ distinguishCancelAndClose?: boolean /** Whether to lock body scroll when MessageBox prompts */ lockScroll?: boolean /** Whether to show a cancel button */ showCancelButton?: boolean /** Whether to show a confirm button */ showConfirmButton?: boolean /** Whether to show a close button */ showClose?: boolean /** Whether to use round button */ roundButton?: boolean /** Whether MessageBox can be closed by clicking the mask */ closeOnClickModal?: boolean /** Whether MessageBox can be closed by pressing the ESC */ closeOnPressEscape?: boolean /** Whether to close MessageBox when hash changes */ closeOnHashChange?: boolean /** Whether to show an input */ showInput?: boolean /** Placeholder of input */ inputPlaceholder?: string /** Initial value of input */ inputValue?: string /** Regexp for the input */ inputPattern?: RegExp /** Input Type: text, textArea, password or number */ inputType?: string /** Validation function for the input. Should returns a boolean or string. If a string is returned, it will be assigned to inputErrorMessage */ inputValidator?: MessageBoxInputValidator /** Error message when validation fails */ inputErrorMessage?: string } export type ElMessageBoxShortcutMethod = (( message: string, title: string, options?: ElMessageBoxOptions, ) => Promise<MessageBoxData>) & (( message: string, options?: ElMessageBoxOptions, ) => Promise<MessageBoxData>) export interface ElMessageBox { /** Show a message box */ // (message: string, title?: string, type?: string): Promise<MessageBoxData> /** Show a message box */ (options: ElMessageBoxOptions): Promise<MessageBoxData> /** Show an alert message box */ alert: ElMessageBoxShortcutMethod /** Show a confirm message box */ confirm: ElMessageBoxShortcutMethod /** Show a prompt message box */ prompt: ElMessageBoxShortcutMethod /** Close current message box */ close(): void }