69 lines
1.6 KiB
TypeScript
69 lines
1.6 KiB
TypeScript
import { ReactNode } from 'react';
|
|
|
|
export type DialogProps = {
|
|
|
|
/**
|
|
* Whether cancel button is disabled. Enabled by default.
|
|
*/
|
|
cancelDisabled?: boolean;
|
|
|
|
/**
|
|
* Optional i18n key to change the cancel button title.
|
|
*/
|
|
cancelKey?: string;
|
|
|
|
/**
|
|
* The React {@code Component} children which represents the dialog's body.
|
|
*/
|
|
children?: ReactNode;
|
|
|
|
/**
|
|
* Is ok button enabled/disabled. Enabled by default.
|
|
*/
|
|
okDisabled?: boolean;
|
|
|
|
/**
|
|
* Optional i18n key to change the ok button title.
|
|
*/
|
|
okKey?: string;
|
|
|
|
/**
|
|
* The handler for onCancel event.
|
|
*/
|
|
onCancel: Function;
|
|
|
|
/**
|
|
* The handler for the event when submitting the dialog.
|
|
*/
|
|
onSubmit: Function;
|
|
|
|
/**
|
|
* Additional style to be applied on the dialog.
|
|
*
|
|
* NOTE: Not all dialog types support this!
|
|
*/
|
|
style?: Object;
|
|
|
|
/**
|
|
* Key to use for showing a title.
|
|
*/
|
|
titleKey?: string;
|
|
|
|
/**
|
|
* The string to use as a title instead of {@code titleKey}. If a truthy
|
|
* value is specified, it takes precedence over {@code titleKey} i.e.
|
|
* The latter is unused.
|
|
*/
|
|
titleString?: string;
|
|
};
|
|
|
|
/**
|
|
* A preferred (or optimal) dialog size. This constant is reused in many
|
|
* components, where dialog size optimization is suggested.
|
|
*
|
|
* NOTE: Even though we support valious devices, including tablets, we don't
|
|
* want the dialogs to be oversized even on larger devices. This number seems
|
|
* to be a good compromise, but also easy to update.
|
|
*/
|
|
export const PREFERRED_DIALOG_SIZE = 300;
|