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;