UNPKG

@grafana/ui

Version:
48 lines (47 loc) 1.93 kB
import * as React from 'react'; import { IconName } from '@grafana/data'; import { ButtonVariant } from '../Button/Button'; export interface ConfirmModalProps { /** Toggle modal's open/closed state */ isOpen: boolean; /** Title for the modal header */ title: string; /** Modal content */ body: React.ReactNode; /** Modal description */ description?: React.ReactNode; /** Text for confirm button */ confirmText: string; /** Variant for confirm button */ confirmVariant?: ButtonVariant; /** Text for dismiss button */ dismissText?: string; /** Variant for dismiss button */ dismissVariant?: ButtonVariant; /** Icon for the modal header */ icon?: IconName; /** Additional styling for modal container */ modalClass?: string; /** Text user needs to fill in before confirming */ confirmationText?: string; /** Text for alternative button */ alternativeText?: string; /** Confirm button variant */ confirmButtonVariant?: ButtonVariant; /** Confirm action callback * Return a promise to disable the confirm button until the promise is resolved */ onConfirm(): void | Promise<void>; /** Dismiss action callback */ onDismiss(): void; /** Alternative action callback */ onAlternative?(): void; /** Disable the confirm button and the confirm text input if needed */ disabled?: boolean; } /** * Used to request user for action confirmation, e.g. deleting items. Triggers provided `onConfirm` callback. * * https://developers.grafana.com/ui/latest/index.html?path=/docs/overlays-confirmmodal--docs */ export declare const ConfirmModal: ({ isOpen, title, body, description, confirmText, confirmVariant, confirmationText, dismissText, dismissVariant, alternativeText, modalClass, icon, onConfirm, onDismiss, onAlternative, confirmButtonVariant, disabled, }: ConfirmModalProps) => JSX.Element;