@dnb/eufemia
Version:
DNB Eufemia Design System UI Library
23 lines (22 loc) • 1.11 kB
TypeScript
import type { ReactNode } from 'react';
import type { DialogContentProps, DialogProps } from '../../../../components/dialog/types';
import type { EventStateObject } from '../../types';
export type ConfirmationState = 'idle' | 'readyToBeSubmitted' | 'submitInProgress' | 'submissionComplete';
export type ConfirmParams = {
data: unknown;
confirmationState: ConfirmationState;
submitState: EventStateObject | undefined;
connectWithDialog: Pick<DialogProps & DialogContentProps, 'open' | 'onConfirm' | 'onDecline' | 'onClose'>;
setConfirmationState(state: ConfirmationState): void;
submitHandler(): void | Promise<void>;
cancelHandler(): void | Promise<void>;
};
export type ConfirmProps = {
preventSubmitWhen?(params: ConfirmParams): boolean;
onStateChange?(params: ConfirmParams): void | Promise<void>;
onSubmitResult?(params: ConfirmParams): void;
renderWithState?(params: ConfirmParams): ReactNode;
children?: ReactNode;
};
declare function SubmitConfirmation(props: ConfirmProps): import("react/jsx-runtime").JSX.Element;
export default SubmitConfirmation;