import '../../';
export type DialogCloseFunction = () => void;
export interface DialogOptions {
bottom?: boolean | undefined;
}
export interface OpenDialogOptions extends DialogOptions {
/** If true, the dialog will be closed when the user presses enter in the input. Defaults to true. */
closeOnEnter?: boolean | undefined;
/** Determines whether the dialog is closed when it loses focus. Defaults to true. */
closeOnBlur?: boolean | undefined;
/** An event handler that will be called whenever keydown fires in the dialog's input. If the callback returns true, the dialog will not do any further processing of the event. */
onKeyDown?(event: KeyboardEvent, value: string, close: DialogCloseFunction): boolean | undefined;
/** An event handler that will be called whenever keyup fires in the dialog's input. If the callback returns true, the dialog will not do any further processing of the event. */
onKeyUp?(event: KeyboardEvent, value: string, close: DialogCloseFunction): boolean | undefined;
/** An event handler that will be called whenever input fires in the dialog's input. If the callback returns true, the dialog will not do any further processing of the event. */
onInput?(event: KeyboardEvent, value: string, close: DialogCloseFunction): boolean | undefined;
/** A callback that will be called after the dialog has been closed and removed from the DOM. */
onClose?(instance: HTMLElement): void;
}
export interface OpenNotificationOptions extends DialogOptions {
duration?: number | undefined;
}
declare module '../../' {
interface Editor {
/** Provides a very simple way to query users for text input. */
openDialog(template: string | Node, callback: (value: string, e: Event) => void, options?: OpenDialogOptions): DialogCloseFunction;
openNotification(template: string | Node, options?: OpenNotificationOptions): DialogCloseFunction;
openConfirm(template: string | Node, callbacks: ReadonlyArray<(editor: Editor) => void>, options?: DialogOptions): DialogCloseFunction;
}
}
|