@dnb/eufemia
Version:
DNB Eufemia Design System UI Library
26 lines (25 loc) • 1.21 kB
TypeScript
import React from 'react';
import { DialogContentProps, DialogProps } from '../../../../components/dialog/types';
import { EventStateObject } from '../../types';
export type ConfirmationState = 'idle' | 'readyToBeSubmitted' | 'submitInProgress' | 'submissionComplete';
export type ConfirmParams = {
data: unknown;
confirmationState: ConfirmationState;
submitState: EventStateObject | undefined;
connectWithDialog: Pick<DialogProps & DialogContentProps, 'openState' | '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) => React.ReactNode;
children?: React.ReactNode;
};
declare function SubmitConfirmation(props: ConfirmProps): import("react/jsx-runtime").JSX.Element;
declare namespace SubmitConfirmation {
var _supportsSpacingProps: string;
}
export default SubmitConfirmation;