import * as React from 'react';
import classNames from 'classnames';
import Dialog, { ModalFuncProps } from './Modal';
import ActionButton from './ActionButton';
import { getTransitionName } from '../_util/motion';
interface ConfirmDialogProps extends ModalFuncProps {
afterClose?: () => void;
close: (...args: any[]) => void;
autoFocusButton?: null | 'ok' | 'cancel';
rootPrefixCls: string;
}
const ConfirmDialog = (props: ConfirmDialogProps) => {
const {
onCancel,
onOk,
close,
zIndex,
afterClose,
visible,
keyboard,
centered = true,
getContainer,
maskStyle,
footer,
okText,
okButtonProps,
cancelText,
cancelButtonProps,
direction,
prefixCls,
rootPrefixCls,
bodyStyle,
closable,
closeIcon,
title,
modalRender,
focusTriggerAfterClose,
} = props;
const okType = props.okType || 'primary';
const contentPrefixCls = `${prefixCls}-confirm`;
// 默认为 true,保持向下兼容
const okCancel = 'okCancel' in props ? props.okCancel! : true;
const width = props.width || 520;
const style = props.style || {};
const mask = props.mask === undefined ? true : props.mask;
// 默认为 false,保持旧版默认行为
const maskClosable = props.maskClosable === undefined ? false : props.maskClosable;
const autoFocusButton = props.autoFocusButton === null ? false : props.autoFocusButton || false;
const classString = classNames(
contentPrefixCls,
`${contentPrefixCls}-${props.type}`,
{ [`${contentPrefixCls}-rtl`]: direction === 'rtl' },
props.className,
);
const cancelButton = okCancel && (
{cancelText}
);
return (
);
};
export default ConfirmDialog;