/** @module @airtable/blocks/ui: Dialog */ /** */ import * as PropTypes from 'prop-types'; import * as React from 'react'; import { DialogStyleProps } from './dialog'; /** * Props for the {@link ConfirmationDialog} component. Also accepts: * * {@link DialogStyleProps} * * @noInheritDoc * @docsPath UI/components/ConfirmationDialog */ interface ConfirmationDialogProps extends DialogStyleProps { /** Extra styles to apply to the dialog element. */ style?: React.CSSProperties; /** The title of the dialog. */ title: string; /** The label for the cancel button. Defaults to 'Cancel'. */ cancelButtonText?: string; /** The label for the confirm button. Defaults to 'Confirm'. */ confirmButtonText?: string; /** Whether the action is dangerous (potentially destructive or not easily reversible). Defaults to `false`. */ isConfirmActionDangerous: boolean; /** Extra `className`s to apply to the dialog element, separated by spaces. */ className?: string; /** The body of the dialog. When it’s a string it will automatically be wrapped in a Text component. */ body?: React.ReactNode | string; /** Extra `className`s to apply to the background element, separated by spaces. */ backgroundClassName?: string; /** Extra styles to apply to the background element. */ backgroundStyle?: React.CSSProperties; /** Cancel button event handler. Handles click events and Space/Enter keypress events. */ onCancel: () => unknown; /** Confirm button event handler. Handles click events and Space/Enter keypress events. */ onConfirm: () => unknown; /** Whether the cancel button can be interacted with. Defaults to `false`. */ isCancelButtonDisabled?: boolean; /** Whether the confirm button can be interacted with. Defaults to `false`. */ isConfirmButtonDisabled?: boolean; } /** * A styled modal dialog component that prompts the user to confirm or cancel an action. * * [[ Story id="confirmationdialog--example" title="Confirmation dialog example" ]] * * By default, this component will focus the "Confirm" button on mount, so that pressing * the Enter key will confirm the action. * * @component * @docsPath UI/components/ConfirmationDialog */ declare class ConfirmationDialog extends React.Component { /** @hidden */ static propTypes: { title: PropTypes.Validator; body: PropTypes.Requireable; cancelButtonText: PropTypes.Requireable; confirmButtonText: PropTypes.Requireable; isConfirmActionDangerous: PropTypes.Requireable; className: PropTypes.Requireable; style: PropTypes.Requireable; backgroundClassName: PropTypes.Requireable; backgroundStyle: PropTypes.Requireable; onCancel: PropTypes.Validator<(...args: any[]) => any>; onConfirm: PropTypes.Validator<(...args: any[]) => any>; isCancelButtonDisabled: PropTypes.Requireable; isConfirmButtonDisabled: PropTypes.Requireable; }; /** @hidden */ static defaultProps: { cancelButtonText: string; confirmButtonText: string; isConfirmActionDangerous: boolean; isCancelButtonDisabled: boolean; isConfirmButtonDisabled: boolean; width: string; }; /** @internal */ _confirmButtonRef: React.RefObject; /** @hidden */ componentDidMount(): void; /** @hidden */ render(): JSX.Element; } export default ConfirmationDialog;