UNPKG

linkmore-design

Version:

🌈 🚀lm组件库。🚀

124 lines (122 loc) 4.63 kB
"use strict"; var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; var _classnames = _interopRequireDefault(require("classnames")); var React = _interopRequireWildcard(require("react")); var _configProvider = _interopRequireDefault(require("../config-provider")); var _ActionButton = _interopRequireDefault(require("../_util/ActionButton")); var _motion = require("../_util/motion"); var _warning = _interopRequireDefault(require("../_util/warning")); var _Modal = _interopRequireDefault(require("./Modal")); const ConfirmDialog = props => { const { icon, onCancel, onOk, close, zIndex, afterClose, visible, open, keyboard, centered, getContainer, maskStyle, okText, okButtonProps, cancelText, cancelButtonProps, direction, prefixCls, wrapClassName, rootPrefixCls, iconPrefixCls, bodyStyle, closable = false, closeIcon, modalRender, focusTriggerAfterClose } = props; if (process.env.NODE_ENV !== 'production') { (0, _warning.default)(!(typeof icon === 'string' && icon.length > 2), 'Modal', `\`icon\` is using ReactNode instead of string naming in v4. Please check \`${icon}\` at https://ant.design/components/icon`); (0, _warning.default)(visible === undefined, 'Modal', `\`visible\` is deprecated, please use \`open\` instead.`); } // 支持传入{ icon: null }来隐藏`Modal.confirm`默认的Icon const okType = props.okType || 'primary'; const contentPrefixCls = `${prefixCls}-confirm`; // 默认为 true,保持向下兼容 const okCancel = 'okCancel' in props ? props.okCancel : true; const width = props.width || 416; 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 || 'ok'; const classString = (0, _classnames.default)(contentPrefixCls, `${contentPrefixCls}-${props.type}`, { [`${contentPrefixCls}-rtl`]: direction === 'rtl' }, props.className); const cancelButton = okCancel && /*#__PURE__*/React.createElement(_ActionButton.default, { actionFn: onCancel, close: close, autoFocus: autoFocusButton === 'cancel', buttonProps: cancelButtonProps, prefixCls: `${rootPrefixCls}-btn` }, cancelText); return /*#__PURE__*/React.createElement(_configProvider.default, { prefixCls: rootPrefixCls, iconPrefixCls: iconPrefixCls, direction: direction }, /*#__PURE__*/React.createElement(_Modal.default, { prefixCls: prefixCls, className: classString, wrapClassName: (0, _classnames.default)({ [`${contentPrefixCls}-centered`]: !!props.centered }, wrapClassName), onCancel: () => close?.({ triggerCancel: true }), open: open || visible, title: "", footer: "", transitionName: (0, _motion.getTransitionName)(rootPrefixCls, 'zoom', props.transitionName), maskTransitionName: (0, _motion.getTransitionName)(rootPrefixCls, 'fade', props.maskTransitionName), mask: mask, maskClosable: maskClosable, maskStyle: maskStyle, style: style, bodyStyle: bodyStyle, width: width, zIndex: zIndex, afterClose: afterClose, keyboard: keyboard, centered: centered, getContainer: getContainer, closable: closable, closeIcon: closeIcon, modalRender: modalRender, focusTriggerAfterClose: focusTriggerAfterClose }, /*#__PURE__*/React.createElement("div", { className: `${contentPrefixCls}-body-wrapper` }, /*#__PURE__*/React.createElement("div", { className: `${contentPrefixCls}-body` }, icon, props.title === undefined ? null : /*#__PURE__*/React.createElement("span", { className: `${contentPrefixCls}-title` }, props.title), /*#__PURE__*/React.createElement("div", { className: `${contentPrefixCls}-content` }, props.content)), /*#__PURE__*/React.createElement("div", { className: `${contentPrefixCls}-btns` }, cancelButton, /*#__PURE__*/React.createElement(_ActionButton.default, { type: okType, actionFn: onOk, close: close, autoFocus: autoFocusButton === 'ok', buttonProps: okButtonProps, prefixCls: `${rootPrefixCls}-btn` }, okText))))); }; var _default = ConfirmDialog; exports.default = _default;