UNPKG

7.74 kBJavaScriptView Raw
1"use strict";
2
3var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard")["default"];
4var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault")["default"];
5Object.defineProperty(exports, "__esModule", {
6 value: true
7});
8exports.ConfirmContent = ConfirmContent;
9exports["default"] = void 0;
10var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
11var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
12var _CheckCircleFilled = _interopRequireDefault(require("@ant-design/icons/CheckCircleFilled"));
13var _CloseCircleFilled = _interopRequireDefault(require("@ant-design/icons/CloseCircleFilled"));
14var _ExclamationCircleFilled = _interopRequireDefault(require("@ant-design/icons/ExclamationCircleFilled"));
15var _InfoCircleFilled = _interopRequireDefault(require("@ant-design/icons/InfoCircleFilled"));
16var _classnames = _interopRequireDefault(require("classnames"));
17var React = _interopRequireWildcard(require("react"));
18var _configProvider = _interopRequireDefault(require("../config-provider"));
19var _LocaleReceiver = _interopRequireDefault(require("../locale-provider/LocaleReceiver"));
20var _ActionButton = _interopRequireDefault(require("../_util/ActionButton"));
21var _motion = require("../_util/motion");
22var _warning = _interopRequireDefault(require("../_util/warning"));
23var _Modal = _interopRequireDefault(require("./Modal"));
24function ConfirmContent(props) {
25 var icon = props.icon,
26 onCancel = props.onCancel,
27 onOk = props.onOk,
28 close = props.close,
29 okText = props.okText,
30 okButtonProps = props.okButtonProps,
31 cancelText = props.cancelText,
32 cancelButtonProps = props.cancelButtonProps,
33 confirmPrefixCls = props.confirmPrefixCls,
34 rootPrefixCls = props.rootPrefixCls,
35 type = props.type,
36 okCancel = props.okCancel,
37 staticLocale = props.locale;
38 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") : void 0;
39 // Icon
40 var mergedIcon = icon;
41 // 支持传入{ icon: null }来隐藏`Modal.confirm`默认的Icon
42 if (!icon && icon !== null) {
43 switch (type) {
44 case 'info':
45 mergedIcon = /*#__PURE__*/React.createElement(_InfoCircleFilled["default"], null);
46 break;
47 case 'success':
48 mergedIcon = /*#__PURE__*/React.createElement(_CheckCircleFilled["default"], null);
49 break;
50 case 'error':
51 mergedIcon = /*#__PURE__*/React.createElement(_CloseCircleFilled["default"], null);
52 break;
53 default:
54 mergedIcon = /*#__PURE__*/React.createElement(_ExclamationCircleFilled["default"], null);
55 }
56 }
57 var okType = props.okType || 'primary';
58 // 默认为 true,保持向下兼容
59 var mergedOkCancel = okCancel !== null && okCancel !== void 0 ? okCancel : type === 'confirm';
60 var autoFocusButton = props.autoFocusButton === null ? false : props.autoFocusButton || 'ok';
61 return /*#__PURE__*/React.createElement(_LocaleReceiver["default"], {
62 componentName: "Modal"
63 }, function (locale) {
64 var mergedLocale = staticLocale || locale;
65 var cancelButton = mergedOkCancel && /*#__PURE__*/React.createElement(_ActionButton["default"], {
66 actionFn: onCancel,
67 close: close,
68 autoFocus: autoFocusButton === 'cancel',
69 buttonProps: cancelButtonProps,
70 prefixCls: rootPrefixCls + "-btn"
71 }, cancelText || (mergedLocale === null || mergedLocale === void 0 ? void 0 : mergedLocale.cancelText));
72 return /*#__PURE__*/React.createElement("div", {
73 className: confirmPrefixCls + "-body-wrapper"
74 }, /*#__PURE__*/React.createElement("div", {
75 className: confirmPrefixCls + "-body"
76 }, mergedIcon, props.title === undefined ? null : /*#__PURE__*/React.createElement("span", {
77 className: confirmPrefixCls + "-title"
78 }, props.title), /*#__PURE__*/React.createElement("div", {
79 className: confirmPrefixCls + "-content"
80 }, props.content)), /*#__PURE__*/React.createElement("div", {
81 className: confirmPrefixCls + "-btns"
82 }, cancelButton, /*#__PURE__*/React.createElement(_ActionButton["default"], {
83 type: okType,
84 actionFn: onOk,
85 close: close,
86 autoFocus: autoFocusButton === 'ok',
87 buttonProps: okButtonProps,
88 prefixCls: rootPrefixCls + "-btn"
89 }, okText || (mergedOkCancel ? mergedLocale === null || mergedLocale === void 0 ? void 0 : mergedLocale.okText : mergedLocale === null || mergedLocale === void 0 ? void 0 : mergedLocale.justOkText))));
90 });
91}
92var ConfirmDialog = function ConfirmDialog(props) {
93 var close = props.close,
94 zIndex = props.zIndex,
95 afterClose = props.afterClose,
96 visible = props.visible,
97 open = props.open,
98 keyboard = props.keyboard,
99 centered = props.centered,
100 getContainer = props.getContainer,
101 maskStyle = props.maskStyle,
102 direction = props.direction,
103 prefixCls = props.prefixCls,
104 wrapClassName = props.wrapClassName,
105 rootPrefixCls = props.rootPrefixCls,
106 iconPrefixCls = props.iconPrefixCls,
107 bodyStyle = props.bodyStyle,
108 _props$closable = props.closable,
109 closable = _props$closable === void 0 ? false : _props$closable,
110 closeIcon = props.closeIcon,
111 modalRender = props.modalRender,
112 focusTriggerAfterClose = props.focusTriggerAfterClose;
113 if (process.env.NODE_ENV !== 'production') {
114 process.env.NODE_ENV !== "production" ? (0, _warning["default"])(visible === undefined, 'Modal', "`visible` is deprecated, please use `open` instead.") : void 0;
115 }
116 var confirmPrefixCls = prefixCls + "-confirm";
117 var width = props.width || 416;
118 var style = props.style || {};
119 var mask = props.mask === undefined ? true : props.mask;
120 // 默认为 false,保持旧版默认行为
121 var maskClosable = props.maskClosable === undefined ? false : props.maskClosable;
122 var classString = (0, _classnames["default"])(confirmPrefixCls, confirmPrefixCls + "-" + props.type, (0, _defineProperty2["default"])({}, confirmPrefixCls + "-rtl", direction === 'rtl'), props.className);
123 return /*#__PURE__*/React.createElement(_configProvider["default"], {
124 prefixCls: rootPrefixCls,
125 iconPrefixCls: iconPrefixCls,
126 direction: direction
127 }, /*#__PURE__*/React.createElement(_Modal["default"], {
128 prefixCls: prefixCls,
129 className: classString,
130 wrapClassName: (0, _classnames["default"])((0, _defineProperty2["default"])({}, confirmPrefixCls + "-centered", !!props.centered), wrapClassName),
131 onCancel: function onCancel() {
132 return close === null || close === void 0 ? void 0 : close({
133 triggerCancel: true
134 });
135 },
136 open: open,
137 title: "",
138 footer: "",
139 transitionName: (0, _motion.getTransitionName)(rootPrefixCls, 'zoom', props.transitionName),
140 maskTransitionName: (0, _motion.getTransitionName)(rootPrefixCls, 'fade', props.maskTransitionName),
141 mask: mask,
142 maskClosable: maskClosable,
143 maskStyle: maskStyle,
144 style: style,
145 bodyStyle: bodyStyle,
146 width: width,
147 zIndex: zIndex,
148 afterClose: afterClose,
149 keyboard: keyboard,
150 centered: centered,
151 getContainer: getContainer,
152 closable: closable,
153 closeIcon: closeIcon,
154 modalRender: modalRender,
155 focusTriggerAfterClose: focusTriggerAfterClose
156 }, /*#__PURE__*/React.createElement(ConfirmContent, (0, _extends2["default"])({}, props, {
157 confirmPrefixCls: confirmPrefixCls
158 }))));
159};
160if (process.env.NODE_ENV !== 'production') {
161 ConfirmDialog.displayName = 'ConfirmDialog';
162}
163var _default = ConfirmDialog;
164exports["default"] = _default;
\No newline at end of file