@helpwave/hightide
Version:
helpwave's component and theming library
34 lines (31 loc) • 1.43 kB
TypeScript
import * as react_jsx_runtime from 'react/jsx-runtime';
import { PropsWithChildren } from 'react';
import { SolidButtonColor } from '../user-action/Button.js';
import { PropsForTranslation } from '../../localization/useTranslation.js';
import { ModalProps } from '../layout-and-navigation/Overlay.js';
import { FormTranslationType } from '../../localization/defaults/form.js';
import '../../localization/util.js';
type ConfirmModalTranslation = FormTranslationType;
type ConfirmModalType = 'positive' | 'negative' | 'neutral' | 'primary';
type ButtonOverwriteType = {
text?: string;
color?: SolidButtonColor;
disabled?: boolean;
};
type ConfirmModalProps = Omit<ModalProps, 'onClose'> & {
isShowingDecline?: boolean;
requireAnswer?: boolean;
onCancel: () => void;
onConfirm: () => void;
onDecline?: () => void;
confirmType?: ConfirmModalType;
/**
* Order: Cancel, Decline, Confirm
*/
buttonOverwrites?: [ButtonOverwriteType, ButtonOverwriteType, ButtonOverwriteType];
};
/**
* A Modal for asking the user for confirmation
*/
declare const ConfirmModal: ({ overwriteTranslation, children, onCancel, onConfirm, onDecline, confirmType, buttonOverwrites, className, ...restProps }: PropsForTranslation<ConfirmModalTranslation, PropsWithChildren<ConfirmModalProps>>) => react_jsx_runtime.JSX.Element;
export { ConfirmModal, type ConfirmModalProps, type ConfirmModalType };