@para-ui/core 4.0.0-rc.5 → 4.0.0-rc.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/AutoTips/index.js +2 -2
- package/Button/index.js +1 -1
- package/Cascader/index.js +5 -4
- package/ComboSelect/index.js +27 -16
- package/ComboSelect/lang/en_US.d.ts +1 -0
- package/ComboSelect/lang/index.d.ts +2 -0
- package/ComboSelect/lang/zh_CN.d.ts +1 -0
- package/ComboSelect/utils.d.ts +6 -0
- package/DatePicker/index.js +3 -1
- package/DatePicker/util.d.ts +6 -6
- package/DynamicMultiBox/index.js +11 -562
- package/Form/index.js +9 -5
- package/FormItem/index.js +9 -5
- package/FunctionModal/index.js +2 -2
- package/Menu/index.js +1 -1
- package/OperateBtn/index.js +8 -6
- package/Pagination/index.js +1 -1
- package/QuickReply/QuickReplyCode/index.d.ts +10 -0
- package/QuickReply/index.d.ts +87 -0
- package/QuickReply/index.js +550 -0
- package/QuickReply/lang/en_US.d.ts +14 -0
- package/QuickReply/lang/index.d.ts +29 -0
- package/QuickReply/lang/zh_CN.d.ts +14 -0
- package/README.md +1 -0
- package/Select/index.js +4 -3
- package/Selector/index.js +3 -326
- package/SelectorPicker/index.js +7 -4
- package/Styles/theme.scss +1 -0
- package/Switch/index.js +2 -2
- package/Table/index.js +472 -410
- package/Tabs/index.js +3 -3
- package/Tag/index.js +84 -55
- package/TextEditor/index.js +3 -3
- package/TimePicker/index.js +3 -1
- package/Timeline/index.js +14 -20
- package/ToggleButton/index.js +25 -26
- package/Tooltip/index.js +26 -27
- package/Transfer/index.js +50 -45
- package/Tree/index.js +8 -4
- package/Upload/index.js +626 -409
- package/_verture/{index-f186b5e8.js → index-3156e3ef.js} +394 -312
- package/_verture/{index-0ced30f7.js → index-466a3496.js} +3 -18
- package/_verture/index-d6093d1c.js +559 -0
- package/_verture/index-d63bd287.js +327 -0
- package/_verture/{index-ef1235fb.js → index-f518e244.js} +1 -1
- package/_verture/{slicedToArray-8223a2ef.js → slicedToArray-75fa4188.js} +1 -1
- package/_verture/toConsumableArray-c7a8028f.js +19 -0
- package/_verture/{utils-46e99c9a.js → utils-c17b5265.js} +16 -1
- package/index.d.ts +2 -0
- package/index.js +15 -9
- package/locale/en-US.d.ts +14 -0
- package/locale/index.d.ts +28 -0
- package/locale/index.js +30 -2
- package/locale/zh-CN.d.ts +14 -0
- package/package.json +11 -10
- package/umd/AutoTips.js +1 -1
- package/umd/Breadcrumbs.js +1 -1
- package/umd/Button.js +1 -1
- package/umd/ButtonGroup.js +1 -1
- package/umd/Cascader.js +1 -1
- package/umd/ComboSelect.js +4 -4
- package/umd/CopyText.js +1 -1
- package/umd/DatePicker.js +7 -7
- package/umd/Descriptions.js +1 -1
- package/umd/Desktop.js +6 -6
- package/umd/Drawer.js +1 -1
- package/umd/DynamicMultiBox.js +4 -4
- package/umd/Form.js +4 -4
- package/umd/FormItem.js +4 -4
- package/umd/FunctionModal.js +1 -1
- package/umd/InputLang.js +1 -1
- package/umd/Menu.js +1 -1
- package/umd/Modal.js +7 -7
- package/umd/MultiBox.js +1 -1
- package/umd/OperateBtn.js +2 -2
- package/umd/PageHeader.js +6 -6
- package/umd/Pagination.js +2 -2
- package/umd/PopConfirm.js +1 -1
- package/umd/QuickReply.js +55 -0
- package/umd/Search.js +1 -1
- package/umd/Select.js +2 -2
- package/umd/SelectInput.js +2 -2
- package/umd/Selector.js +1 -1
- package/umd/SelectorPicker.js +2 -2
- package/umd/SingleBox.js +1 -1
- package/umd/Stepper.js +1 -1
- package/umd/Table.js +2 -2
- package/umd/Tabs.js +1 -1
- package/umd/Tag.js +1 -1
- package/umd/TextField.js +1 -1
- package/umd/TimePicker.js +7 -7
- package/umd/Title.js +1 -1
- package/umd/ToggleButton.js +5 -5
- package/umd/Transfer.js +1 -1
- package/umd/Tree.js +4 -4
- package/umd/Upload.js +1 -1
- package/umd/locale.js +1 -1
- /package/_verture/{modalContext-5df08980.js → modalContext-7b512b0c.js} +0 -0
- /package/_verture/{typeof-c310ee4a.js → typeof-b240b062.js} +0 -0
package/Upload/index.js
CHANGED
|
@@ -4,6 +4,10 @@ import { useState, useEffect, useRef, memo, forwardRef, useCallback, useImperati
|
|
|
4
4
|
import RcUpload from 'rc-upload';
|
|
5
5
|
import UploadIcon from '@para-ui/icons/UploadFile';
|
|
6
6
|
import LoadingIcon from '@para-ui/icons/Loading';
|
|
7
|
+
import { _ as _toConsumableArray } from '../_verture/toConsumableArray-c7a8028f.js';
|
|
8
|
+
import { _ as _typeof } from '../_verture/typeof-adeedc13.js';
|
|
9
|
+
import { _ as _slicedToArray } from '../_verture/slicedToArray-75fa4188.js';
|
|
10
|
+
import { r as regenerator } from '../_verture/index-d63bd287.js';
|
|
7
11
|
import Delete from '@para-ui/icons/Delete';
|
|
8
12
|
import TextIcon from '@para-ui/icons/Text';
|
|
9
13
|
import PhotoIcon from '@para-ui/icons/Photo';
|
|
@@ -12,12 +16,12 @@ import { $ as $prefixCls, a as $rcPrefixCls } from '../_verture/constant-5317fc8
|
|
|
12
16
|
import { s as styleInject } from '../_verture/style-inject.es-300983ab.js';
|
|
13
17
|
import Forbid from '@para-ui/icons/Forbid';
|
|
14
18
|
import { u as useFormatMessage } from '../_verture/useFormatMessage-eb13cf56.js';
|
|
15
|
-
import
|
|
19
|
+
import EditOutline from '@para-ui/icons/EditOutline';
|
|
16
20
|
import { Button } from '../Button/index.js';
|
|
17
|
-
import { b as _slicedToArray } from '../_verture/slicedToArray-8223a2ef.js';
|
|
18
21
|
import { Slider } from '../Slider/index.js';
|
|
19
22
|
import Cropper from 'react-easy-crop';
|
|
20
23
|
import { Modal } from '../Modal/index.js';
|
|
24
|
+
import '../_verture/typeof-b240b062.js';
|
|
21
25
|
import '@para-ui/core/GlobalContext';
|
|
22
26
|
import '@para-ui/icons/LoadingF';
|
|
23
27
|
import '../Tooltip/index.js';
|
|
@@ -42,41 +46,50 @@ import '@para-ui/icons/CloseCircleF';
|
|
|
42
46
|
var css_248z$4 = "@charset \"UTF-8\";\n/**\n* @author Hanz\n* @date 2021/11/11 下午3:08\n* @description\n*/\n/**\n* @author linhd\n* @date 2023/4/11 14:16\n* @description 最新色卡\n*/\n.paraui-v4-upload-list-text .upload-list-item {\n margin-top: 8px;\n}\n.paraui-v4-upload-list-text .upload-list-item-info {\n display: flex;\n align-items: center;\n padding: 0 8px;\n line-height: 28px;\n font-size: 14px;\n color: rgb(29, 33, 38);\n border-radius: 4px;\n transition: background-color 0.3s;\n}\n.paraui-v4-upload-list-text .upload-list-item-info .upload-list-text {\n position: relative;\n display: inline-flex;\n align-items: center;\n}\n.paraui-v4-upload-list-text .upload-list-item-info .upload-list-text .upload-list-fileicon {\n line-height: 0;\n opacity: 1;\n transition: opacity 0.3s;\n}\n.paraui-v4-upload-list-text .upload-list-item-info .upload-list-text .upload-list-fileicon svg {\n color: inherit;\n font-size: inherit;\n}\n.paraui-v4-upload-list-text .upload-list-item-info .upload-list-text-name {\n margin-left: 10px;\n}\n.paraui-v4-upload-list-text .upload-list-item-info .upload-list-text .upload-list-actions {\n position: absolute;\n opacity: 0;\n visibility: hidden;\n line-height: 0;\n transition: opacity 0.3s;\n cursor: pointer;\n}\n.paraui-v4-upload-list-text .upload-list-item-info .upload-list-text .upload-list-actions svg {\n color: rgb(244, 66, 66);\n font-size: inherit;\n}\n.paraui-v4-upload-list-text .upload-list-item-info:hover {\n background-color: rgb(247, 248, 250);\n}\n.paraui-v4-upload-list-text .upload-list-item-info:hover .upload-list-text .upload-list-actions {\n visibility: visible;\n opacity: 1;\n}\n.paraui-v4-upload-list-text .upload-list-item-info:hover .upload-list-text .upload-list-fileicon-active {\n opacity: 0;\n}\n.paraui-v4-upload-list-picture {\n display: inline-flex;\n align-items: center;\n}\n.paraui-v4-upload-list-picture .upload-list-picture-item {\n position: relative;\n display: inline-block;\n width: 100px;\n height: 100px;\n margin-right: 16px;\n border-radius: 4px;\n cursor: default;\n}\n.paraui-v4-upload-list-picture .upload-list-picture-item::before {\n content: \" \";\n position: absolute;\n left: 0;\n right: 0;\n bottom: 0;\n top: 0;\n background-color: rgb(29, 33, 38);\n border-radius: 4px;\n opacity: 0;\n transition: 0.3s;\n}\n.paraui-v4-upload-list-picture .upload-list-picture-item img {\n width: 100%;\n height: 100%;\n border-radius: 4px;\n}\n.paraui-v4-upload-list-picture .upload-list-picture-item .upload-list-picture-name {\n position: absolute;\n bottom: 0;\n left: 0;\n width: 100%;\n padding: 0 10px;\n font-size: 12px;\n line-height: 24px;\n text-align: center;\n text-overflow: ellipsis;\n overflow: hidden;\n white-space: nowrap;\n background-color: rgb(29, 33, 38);\n border-radius: 0 0 4px 4px;\n color: rgb(255, 255, 255);\n transition: 0.3s;\n}\n.paraui-v4-upload-list-picture .upload-list-picture-item .upload-list-actions {\n position: absolute;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n opacity: 0;\n line-height: 0;\n cursor: pointer;\n transition: 0.3s;\n}\n.paraui-v4-upload-list-picture .upload-list-picture-item .upload-list-actions svg {\n color: rgb(255, 255, 255);\n}\n.paraui-v4-upload-list-picture .upload-list-picture-item:hover:not(.upload-list-picture-item-readonly)::before {\n opacity: 1;\n}\n.paraui-v4-upload-list-picture .upload-list-picture-item:hover:not(.upload-list-picture-item-readonly) .upload-list-actions {\n opacity: 1;\n}\n.paraui-v4-upload-list-picture .upload-list-picture-item:hover:not(.upload-list-picture-item-readonly) .upload-list-picture-name {\n opacity: 0;\n}";
|
|
43
47
|
styleInject(css_248z$4);
|
|
44
48
|
|
|
49
|
+
function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it.return != null) it.return(); } finally { if (didErr) throw err; } } }; }
|
|
50
|
+
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
|
|
51
|
+
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
|
|
45
52
|
//UploadList
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
listType = 'text',
|
|
49
|
-
items =
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
53
|
+
var UploadList = function UploadList(props) {
|
|
54
|
+
var _props$listType = props.listType,
|
|
55
|
+
listType = _props$listType === void 0 ? 'text' : _props$listType,
|
|
56
|
+
_props$items = props.items,
|
|
57
|
+
items = _props$items === void 0 ? [] : _props$items,
|
|
58
|
+
onRemove = props.onRemove,
|
|
59
|
+
_props$showRemoveIcon = props.showRemoveIcon,
|
|
60
|
+
showRemoveIcon = _props$showRemoveIcon === void 0 ? true : _props$showRemoveIcon,
|
|
61
|
+
removeIcon = props.removeIcon,
|
|
62
|
+
itemRender = props.itemRender,
|
|
63
|
+
readonly = props.readonly;
|
|
64
|
+
var _useState = useState([]),
|
|
65
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
66
|
+
uploadList = _useState2[0],
|
|
67
|
+
setUploadList = _useState2[1];
|
|
57
68
|
//处理删除
|
|
58
|
-
|
|
69
|
+
var handleRemove = function handleRemove(file, evt) {
|
|
59
70
|
evt.stopPropagation();
|
|
60
71
|
onRemove === null || onRemove === void 0 ? void 0 : onRemove(file);
|
|
61
72
|
};
|
|
62
73
|
//渲染列表actions
|
|
63
|
-
|
|
74
|
+
var renderActions = function renderActions(file) {
|
|
64
75
|
return showRemoveIcon && !readonly && jsx("span", Object.assign({
|
|
65
76
|
className: 'upload-list-actions',
|
|
66
|
-
onClick:
|
|
77
|
+
onClick: function onClick(evt) {
|
|
78
|
+
return handleRemove(file, evt);
|
|
79
|
+
}
|
|
67
80
|
}, {
|
|
68
81
|
children: removeIcon || jsx(Delete, {})
|
|
69
82
|
}));
|
|
70
83
|
};
|
|
71
84
|
//文件列表 text
|
|
72
|
-
|
|
85
|
+
var renderFileListText = function renderFileListText() {
|
|
73
86
|
if (!(uploadList === null || uploadList === void 0 ? void 0 : uploadList.length)) return null;
|
|
74
|
-
return uploadList.map((file, idx)
|
|
87
|
+
return uploadList.map(function (file, idx) {
|
|
75
88
|
var _a;
|
|
76
89
|
if (itemRender)
|
|
77
90
|
//自定义渲染
|
|
78
91
|
return itemRender(file, uploadList);
|
|
79
|
-
|
|
92
|
+
var isImage = !!((_a = file.type) === null || _a === void 0 ? void 0 : _a.includes('image/'));
|
|
80
93
|
return jsx("div", Object.assign({
|
|
81
94
|
className: 'upload-list-item'
|
|
82
95
|
}, {
|
|
@@ -101,9 +114,9 @@ const UploadList = props => {
|
|
|
101
114
|
});
|
|
102
115
|
};
|
|
103
116
|
//文件列表 picture-card
|
|
104
|
-
|
|
117
|
+
var renderFileListPicture = function renderFileListPicture() {
|
|
105
118
|
if (!(uploadList === null || uploadList === void 0 ? void 0 : uploadList.length)) return null;
|
|
106
|
-
return uploadList.map((file, idx)
|
|
119
|
+
return uploadList.map(function (file, idx) {
|
|
107
120
|
if (itemRender)
|
|
108
121
|
//自定义渲染
|
|
109
122
|
return itemRender(file, uploadList);
|
|
@@ -123,31 +136,84 @@ const UploadList = props => {
|
|
|
123
136
|
});
|
|
124
137
|
};
|
|
125
138
|
//处理文件
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
139
|
+
var handleFileFormat = function handleFileFormat() {
|
|
140
|
+
return __awaiter(void 0, void 0, void 0, /*#__PURE__*/regenerator.mark(function _callee2() {
|
|
141
|
+
var readerFileAsDataUrl, _iterator, _step, file, dataUrl;
|
|
142
|
+
return regenerator.wrap(function _callee2$(_context2) {
|
|
143
|
+
while (1) switch (_context2.prev = _context2.next) {
|
|
144
|
+
case 0:
|
|
145
|
+
if (items === null || items === void 0 ? void 0 : items.length) {
|
|
146
|
+
_context2.next = 2;
|
|
147
|
+
break;
|
|
148
|
+
}
|
|
149
|
+
return _context2.abrupt("return", setUploadList([]));
|
|
150
|
+
case 2:
|
|
151
|
+
//读取file as DataUrl
|
|
152
|
+
readerFileAsDataUrl = function readerFileAsDataUrl(file) {
|
|
153
|
+
return __awaiter(void 0, void 0, void 0, /*#__PURE__*/regenerator.mark(function _callee() {
|
|
154
|
+
return regenerator.wrap(function _callee$(_context) {
|
|
155
|
+
while (1) switch (_context.prev = _context.next) {
|
|
156
|
+
case 0:
|
|
157
|
+
return _context.abrupt("return", new Promise(function (resolve) {
|
|
158
|
+
var fileReader = new FileReader();
|
|
159
|
+
if (file.originFileObj) {
|
|
160
|
+
fileReader.onload = function () {
|
|
161
|
+
resolve(fileReader.result);
|
|
162
|
+
};
|
|
163
|
+
fileReader.readAsDataURL(file.originFileObj);
|
|
164
|
+
} else resolve('');
|
|
165
|
+
}));
|
|
166
|
+
case 1:
|
|
167
|
+
case "end":
|
|
168
|
+
return _context.stop();
|
|
169
|
+
}
|
|
170
|
+
}, _callee);
|
|
171
|
+
}));
|
|
172
|
+
};
|
|
173
|
+
_iterator = _createForOfIteratorHelper(items);
|
|
174
|
+
_context2.prev = 4;
|
|
175
|
+
_iterator.s();
|
|
176
|
+
case 6:
|
|
177
|
+
if ((_step = _iterator.n()).done) {
|
|
178
|
+
_context2.next = 15;
|
|
179
|
+
break;
|
|
180
|
+
}
|
|
181
|
+
file = _step.value;
|
|
182
|
+
if (!file.originFileObj) {
|
|
183
|
+
_context2.next = 13;
|
|
184
|
+
break;
|
|
185
|
+
}
|
|
186
|
+
_context2.next = 11;
|
|
187
|
+
return readerFileAsDataUrl(file);
|
|
188
|
+
case 11:
|
|
189
|
+
dataUrl = _context2.sent;
|
|
190
|
+
file.dataUrl = dataUrl;
|
|
191
|
+
case 13:
|
|
192
|
+
_context2.next = 6;
|
|
193
|
+
break;
|
|
194
|
+
case 15:
|
|
195
|
+
_context2.next = 20;
|
|
196
|
+
break;
|
|
197
|
+
case 17:
|
|
198
|
+
_context2.prev = 17;
|
|
199
|
+
_context2.t0 = _context2["catch"](4);
|
|
200
|
+
_iterator.e(_context2.t0);
|
|
201
|
+
case 20:
|
|
202
|
+
_context2.prev = 20;
|
|
203
|
+
_iterator.f();
|
|
204
|
+
return _context2.finish(20);
|
|
205
|
+
case 23:
|
|
206
|
+
setUploadList(_toConsumableArray(items));
|
|
207
|
+
case 24:
|
|
208
|
+
case "end":
|
|
209
|
+
return _context2.stop();
|
|
210
|
+
}
|
|
211
|
+
}, _callee2, null, [[4, 17, 20, 23]]);
|
|
212
|
+
}));
|
|
213
|
+
};
|
|
214
|
+
useEffect(function () {
|
|
215
|
+
if (listType === 'picture-card') handleFileFormat();else setUploadList(function (pre) {
|
|
216
|
+
if (items) return _toConsumableArray(items);
|
|
151
217
|
return pre;
|
|
152
218
|
});
|
|
153
219
|
}, [items]);
|
|
@@ -168,7 +234,7 @@ var css_248z$3 = "@charset \"UTF-8\";\n/**\n* @author Hanz\n* @date 2021/11/15
|
|
|
168
234
|
styleInject(css_248z$3);
|
|
169
235
|
|
|
170
236
|
//error tip
|
|
171
|
-
|
|
237
|
+
var ErrorTip = function ErrorTip(props) {
|
|
172
238
|
return jsxs("div", Object.assign({
|
|
173
239
|
className: clsx("".concat($prefixCls, "-upload-error"), props.className)
|
|
174
240
|
}, {
|
|
@@ -201,99 +267,144 @@ var zh = {
|
|
|
201
267
|
};
|
|
202
268
|
|
|
203
269
|
var localeJson = {
|
|
204
|
-
zh,
|
|
205
|
-
en
|
|
270
|
+
zh: zh,
|
|
271
|
+
en: en
|
|
206
272
|
};
|
|
207
273
|
|
|
208
274
|
var css_248z$2 = "@charset \"UTF-8\";\n/**\n* @author Hanz\n* @date 2021/11/11 下午7:31\n* @description\n*/\n/**\n* @author linhd\n* @date 2023/4/11 14:16\n* @description 最新色卡\n*/\n.paraui-v4-upload-image {\n display: inline-flex;\n align-items: center;\n /* &-border {\n .upload-image-select{\n border: 2px dashed $NA1;\n\n &:hover {\n border: 2px dashed $NPT8;\n }\n }\n } */\n}\n.paraui-v4-upload-image .upload-image-select {\n position: relative;\n width: 100px;\n height: 100px;\n cursor: pointer;\n background-color: rgb(247, 248, 250);\n border-radius: 4px;\n transition: 0.3s;\n}\n.paraui-v4-upload-image .upload-image-select-loading {\n pointer-events: none;\n}\n.paraui-v4-upload-image .upload-image-select .component-upload {\n display: inline-block;\n width: 100%;\n height: 100%;\n}\n.paraui-v4-upload-image .upload-image-select:hover .upload-image-picture-card {\n color: rgb(46, 101, 230);\n}\n.paraui-v4-upload-image .upload-image-picture-card {\n display: inline-flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n width: 100%;\n height: 100%;\n font-size: 14px;\n color: rgb(29, 33, 38);\n}\n.paraui-v4-upload-image .upload-image-picture-card .upload-img-wrapper {\n position: relative;\n width: 100%;\n height: 100%;\n cursor: default;\n}\n.paraui-v4-upload-image .upload-image-picture-card .upload-img-wrapper img {\n width: 100%;\n height: 100%;\n border-radius: 4px;\n}\n.paraui-v4-upload-image .upload-image-picture-card .upload-img-wrapper::before {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n content: \" \";\n background-color: rgb(29, 33, 38);\n border-radius: 4px;\n opacity: 0;\n transition: 0.3s;\n}\n.paraui-v4-upload-image .upload-image-picture-card .upload-img-wrapper-name {\n position: absolute;\n bottom: 0;\n left: 0;\n width: 100%;\n padding: 0 10px;\n overflow: hidden;\n font-size: 12px;\n line-height: 24px;\n color: rgb(255, 255, 255);\n text-align: center;\n text-overflow: ellipsis;\n white-space: nowrap;\n background-color: rgb(29, 33, 38);\n border-radius: 0 0 4px 4px;\n transition: 0.3s;\n}\n.paraui-v4-upload-image .upload-image-picture-card .upload-img-wrapper-action {\n position: absolute;\n top: 50%;\n left: 50%;\n line-height: 0;\n cursor: pointer;\n opacity: 0;\n transition: 0.3s;\n transform: translate(-50%, -50%);\n}\n.paraui-v4-upload-image .upload-image-picture-card .upload-img-wrapper-action svg {\n color: rgb(255, 255, 255);\n}\n.paraui-v4-upload-image .upload-image-picture-card .upload-img-wrapper:hover::before {\n opacity: 1;\n}\n.paraui-v4-upload-image .upload-image-picture-card .upload-img-wrapper:hover .upload-img-wrapper-name {\n opacity: 0;\n}\n.paraui-v4-upload-image .upload-image-picture-card .upload-img-wrapper:hover .upload-img-wrapper-action {\n opacity: 1;\n}\n.paraui-v4-upload-image .upload-image-picture-card .upload-image-icon {\n font-size: 30px;\n color: rgb(46, 101, 230);\n}\n.paraui-v4-upload-image .upload-image-picture-card .upload-image-loading {\n font-size: 30px;\n color: rgb(46, 101, 230);\n animation: imageLoadingCircle 1s infinite linear;\n}\n.paraui-v4-upload-image .upload-image-picture-card .upload-image-text {\n margin-top: 6px;\n color: inherit;\n text-align: center;\n transition: 0.3s;\n}\n.paraui-v4-upload-image .upload-image-picture-card .upload-image-text-loading {\n color: rgb(46, 101, 230);\n}\n@keyframes imageLoadingCircle {\n 100% {\n transform: rotate(360deg);\n }\n}";
|
|
209
275
|
styleInject(css_248z$2);
|
|
210
276
|
|
|
211
277
|
//ImageUpload
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
278
|
+
var ImageUpload = function ImageUpload(props) {
|
|
279
|
+
var className = props.className,
|
|
280
|
+
style = props.style,
|
|
281
|
+
_onStart = props.onStart,
|
|
282
|
+
_onSuccess = props.onSuccess,
|
|
283
|
+
_onError = props.onError,
|
|
284
|
+
_onProgress = props.onProgress,
|
|
285
|
+
onRemove = props.onRemove,
|
|
286
|
+
_beforeUpload = props.beforeUpload,
|
|
287
|
+
onChange = props.onChange,
|
|
288
|
+
_props$defaultFileLis = props.defaultFileList,
|
|
289
|
+
defaultFileList = _props$defaultFileLis === void 0 ? [] : _props$defaultFileLis,
|
|
290
|
+
fileList = props.fileList,
|
|
291
|
+
_props$showUploadList = props.showUploadList,
|
|
292
|
+
showUploadList = _props$showUploadList === void 0 ? true : _props$showUploadList,
|
|
293
|
+
maxCount = props.maxCount,
|
|
294
|
+
_props$children = props.children,
|
|
295
|
+
children = _props$children === void 0 ? null : _props$children,
|
|
296
|
+
itemRender = props.itemRender,
|
|
297
|
+
_props$showUploadErro = props.showUploadError,
|
|
298
|
+
showUploadError = _props$showUploadErro === void 0 ? true : _props$showUploadErro,
|
|
299
|
+
_props$stash = props.stash,
|
|
300
|
+
stash = _props$stash === void 0 ? false : _props$stash,
|
|
301
|
+
_props$uploading = props.uploading,
|
|
302
|
+
uploading = _props$uploading === void 0 ? true : _props$uploading,
|
|
303
|
+
_props$loading = props.loading,
|
|
304
|
+
loading = _props$loading === void 0 ? false : _props$loading,
|
|
305
|
+
_props$showLoading = props.showLoading,
|
|
306
|
+
showLoadingProp = _props$showLoading === void 0 ? false : _props$showLoading,
|
|
307
|
+
defaultImage = props.defaultImage,
|
|
308
|
+
readonly = props.readonly,
|
|
237
309
|
restProps = __rest(props, ["className", "style", "onStart", "onSuccess", "onError", "onProgress", "onRemove", "beforeUpload", "onChange", "defaultFileList", "fileList", "showUploadList", "maxCount", "children", "itemRender", "showUploadError", "stash", "uploading", "loading", "showLoading", "defaultImage", "readonly"]);
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
310
|
+
var intl = useFormatMessage('Upload', localeJson);
|
|
311
|
+
var _useState = useState(defaultFileList),
|
|
312
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
313
|
+
uploadFileList = _useState2[0],
|
|
314
|
+
setUploadFileList = _useState2[1]; //文件列表
|
|
315
|
+
var _useState3 = useState(false),
|
|
316
|
+
_useState4 = _slicedToArray(_useState3, 2),
|
|
317
|
+
showLoading = _useState4[0],
|
|
318
|
+
setShowLoading = _useState4[1]; //upload loading
|
|
319
|
+
var _useState5 = useState(false),
|
|
320
|
+
_useState6 = _slicedToArray(_useState5, 2),
|
|
321
|
+
errTip = _useState6[0],
|
|
322
|
+
setErrTip = _useState6[1]; //upload error tip
|
|
323
|
+
var _useState7 = useState({
|
|
324
|
+
imageUrl: ''
|
|
252
325
|
}),
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
326
|
+
_useState8 = _slicedToArray(_useState7, 2),
|
|
327
|
+
avatar = _useState8[0],
|
|
328
|
+
setAvatar = _useState8[1]; //不显示列表时上传头像
|
|
329
|
+
var _ref = typeof showUploadList === 'boolean' ? {} : showUploadList,
|
|
330
|
+
showRemoveIcon = _ref.showRemoveIcon,
|
|
331
|
+
removeIcon = _ref.removeIcon; //显示上传列表
|
|
332
|
+
var _ref2 = typeof showUploadError === 'boolean' ? {} : showUploadError,
|
|
333
|
+
_ref2$uploadErrorMsg = _ref2.uploadErrorMsg,
|
|
334
|
+
uploadErrorMsg = _ref2$uploadErrorMsg === void 0 ? intl({
|
|
335
|
+
id: 'uploadError'
|
|
336
|
+
}) : _ref2$uploadErrorMsg,
|
|
337
|
+
_ref2$leaveDelay = _ref2.leaveDelay,
|
|
338
|
+
leaveDelay = _ref2$leaveDelay === void 0 ? 2000 : _ref2$leaveDelay; //错误信息提示
|
|
339
|
+
var cropFileRef = useRef(); //裁剪文件
|
|
340
|
+
useEffect(function () {
|
|
257
341
|
setShowLoading(loading);
|
|
258
342
|
}, [loading]);
|
|
259
343
|
//复写属性
|
|
260
|
-
|
|
344
|
+
var overrideProps = Object.assign(Object.assign({
|
|
261
345
|
accept: 'image/*'
|
|
262
346
|
}, restProps), {
|
|
263
|
-
beforeUpload: (file, fileList)
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
347
|
+
beforeUpload: function beforeUpload(file, fileList) {
|
|
348
|
+
return __awaiter(void 0, void 0, void 0, /*#__PURE__*/regenerator.mark(function _callee() {
|
|
349
|
+
var result;
|
|
350
|
+
return regenerator.wrap(function _callee$(_context) {
|
|
351
|
+
while (1) switch (_context.prev = _context.next) {
|
|
352
|
+
case 0:
|
|
353
|
+
if (restProps.action && showLoadingProp && uploading) setShowLoading(true);
|
|
354
|
+
_context.next = 3;
|
|
355
|
+
return _beforeUpload === null || _beforeUpload === void 0 ? void 0 : _beforeUpload(file, fileList);
|
|
356
|
+
case 3:
|
|
357
|
+
result = _context.sent;
|
|
358
|
+
if (!(result === false)) {
|
|
359
|
+
_context.next = 9;
|
|
360
|
+
break;
|
|
361
|
+
}
|
|
362
|
+
setShowLoading(false);
|
|
363
|
+
return _context.abrupt("return", false);
|
|
364
|
+
case 9:
|
|
365
|
+
if (!(_typeof(result) === 'object' && result)) {
|
|
366
|
+
_context.next = 16;
|
|
367
|
+
break;
|
|
368
|
+
}
|
|
369
|
+
if (!(result instanceof File || result instanceof Blob)) {
|
|
370
|
+
_context.next = 12;
|
|
371
|
+
break;
|
|
372
|
+
}
|
|
373
|
+
return _context.abrupt("return", result);
|
|
374
|
+
case 12:
|
|
375
|
+
cropFileRef.current = result.cropFile;
|
|
376
|
+
return _context.abrupt("return", result.isUpload);
|
|
377
|
+
case 16:
|
|
378
|
+
return _context.abrupt("return", true);
|
|
379
|
+
case 17:
|
|
380
|
+
case "end":
|
|
381
|
+
return _context.stop();
|
|
382
|
+
}
|
|
383
|
+
}, _callee);
|
|
384
|
+
}));
|
|
277
385
|
},
|
|
278
|
-
|
|
386
|
+
onStart: function onStart(file) {
|
|
387
|
+
_onStart === null || _onStart === void 0 ? void 0 : _onStart(file);
|
|
388
|
+
},
|
|
389
|
+
onSuccess: function onSuccess(response, file, xhr) {
|
|
279
390
|
setShowLoading(false);
|
|
280
391
|
errTip && showErrTip(false);
|
|
281
|
-
|
|
392
|
+
var nextFileList = updateFileList(file);
|
|
282
393
|
onInternalChange(nextFileList);
|
|
283
|
-
|
|
394
|
+
_onSuccess === null || _onSuccess === void 0 ? void 0 : _onSuccess(response, file, xhr);
|
|
284
395
|
},
|
|
285
|
-
onError(error, response, file) {
|
|
396
|
+
onError: function onError(error, response, file) {
|
|
286
397
|
setShowLoading(false);
|
|
287
398
|
showErrTip(!!showUploadError);
|
|
288
|
-
|
|
399
|
+
_onError === null || _onError === void 0 ? void 0 : _onError(error, response, file);
|
|
289
400
|
},
|
|
290
|
-
onProgress(e, file) {
|
|
291
|
-
|
|
401
|
+
onProgress: function onProgress(e, file) {
|
|
402
|
+
_onProgress === null || _onProgress === void 0 ? void 0 : _onProgress(e, file);
|
|
292
403
|
},
|
|
293
|
-
onBatchStart(fileList) {
|
|
404
|
+
onBatchStart: function onBatchStart(fileList) {
|
|
294
405
|
if (stash) {
|
|
295
406
|
if (cropFileRef.current) {
|
|
296
|
-
|
|
407
|
+
var idx = fileList.findIndex(function (_) {
|
|
297
408
|
var _a;
|
|
298
409
|
return _.file.uid === ((_a = cropFileRef.current) === null || _a === void 0 ? void 0 : _a.uid);
|
|
299
410
|
});
|
|
@@ -304,40 +415,62 @@ const ImageUpload = props => {
|
|
|
304
415
|
});
|
|
305
416
|
}
|
|
306
417
|
}
|
|
307
|
-
|
|
308
|
-
|
|
418
|
+
var arr = fileList.map(function (_) {
|
|
419
|
+
return _.parsedFile || _.file;
|
|
420
|
+
});
|
|
421
|
+
var mList = mergedFileList(arr);
|
|
309
422
|
onInternalChange(mList);
|
|
310
423
|
}
|
|
311
424
|
}
|
|
312
425
|
});
|
|
313
426
|
//内部变化
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
|
|
427
|
+
var onInternalChange = function onInternalChange(changedFileList) {
|
|
428
|
+
return __awaiter(void 0, void 0, void 0, /*#__PURE__*/regenerator.mark(function _callee2() {
|
|
429
|
+
var cloneList, file, imageUrl;
|
|
430
|
+
return regenerator.wrap(function _callee2$(_context2) {
|
|
431
|
+
while (1) switch (_context2.prev = _context2.next) {
|
|
432
|
+
case 0:
|
|
433
|
+
cloneList = _toConsumableArray(changedFileList);
|
|
434
|
+
if (showUploadList) {
|
|
435
|
+
_context2.next = 13;
|
|
436
|
+
break;
|
|
437
|
+
}
|
|
438
|
+
//不显示上传列表
|
|
439
|
+
file = cloneList.slice(-1)[0];
|
|
440
|
+
if (!file) {
|
|
441
|
+
_context2.next = 11;
|
|
442
|
+
break;
|
|
443
|
+
}
|
|
444
|
+
_context2.next = 6;
|
|
445
|
+
return readerFileAsDataUrl(file);
|
|
446
|
+
case 6:
|
|
447
|
+
imageUrl = _context2.sent;
|
|
448
|
+
file.dataUrl = imageUrl;
|
|
449
|
+
avatar.imageUrl = imageUrl;
|
|
450
|
+
avatar.imageName = file.name;
|
|
451
|
+
setAvatar(Object.assign({}, avatar));
|
|
452
|
+
case 11:
|
|
453
|
+
onChange === null || onChange === void 0 ? void 0 : onChange([file]);
|
|
454
|
+
return _context2.abrupt("return");
|
|
455
|
+
case 13:
|
|
456
|
+
if (maxCount === 1) {
|
|
457
|
+
cloneList = cloneList.slice(-1);
|
|
458
|
+
} else if (maxCount) {
|
|
459
|
+
cloneList = cloneList.slice(0, maxCount);
|
|
460
|
+
}
|
|
461
|
+
onChange === null || onChange === void 0 ? void 0 : onChange(cloneList);
|
|
462
|
+
setUploadFileList(cloneList);
|
|
463
|
+
case 16:
|
|
464
|
+
case "end":
|
|
465
|
+
return _context2.stop();
|
|
466
|
+
}
|
|
467
|
+
}, _callee2);
|
|
468
|
+
}));
|
|
469
|
+
};
|
|
337
470
|
//更新文件列表
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
|
|
471
|
+
var updateFileList = function updateFileList(file) {
|
|
472
|
+
var cloneList = _toConsumableArray(uploadFileList);
|
|
473
|
+
var fileObj = Object.assign(Object.assign({}, file), {
|
|
341
474
|
lastModified: file.lastModified,
|
|
342
475
|
lastModifiedDate: file.lastModifiedDate,
|
|
343
476
|
name: file.name,
|
|
@@ -349,9 +482,9 @@ const ImageUpload = props => {
|
|
|
349
482
|
return cloneList.concat(fileObj);
|
|
350
483
|
};
|
|
351
484
|
//合并文件列表
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
|
|
485
|
+
var mergedFileList = function mergedFileList(fileList) {
|
|
486
|
+
var cloneList = _toConsumableArray(uploadFileList);
|
|
487
|
+
var newFileList = fileList.map(function (file) {
|
|
355
488
|
return Object.assign(Object.assign({}, file), {
|
|
356
489
|
lastModified: file.lastModified,
|
|
357
490
|
lastModifiedDate: file.lastModifiedDate,
|
|
@@ -365,57 +498,71 @@ const ImageUpload = props => {
|
|
|
365
498
|
return cloneList.concat(newFileList);
|
|
366
499
|
};
|
|
367
500
|
//删除文件
|
|
368
|
-
|
|
369
|
-
Promise.resolve(typeof onRemove === 'function' ? onRemove(file) : onRemove).then(ret
|
|
501
|
+
var handleRemove = function handleRemove(file) {
|
|
502
|
+
Promise.resolve(typeof onRemove === 'function' ? onRemove(file) : onRemove).then(function (ret) {
|
|
370
503
|
// Prevent removing file
|
|
371
504
|
if (ret === false) return;
|
|
372
|
-
|
|
505
|
+
var idx = uploadFileList.findIndex(function (_) {
|
|
506
|
+
return _.uid === file.uid;
|
|
507
|
+
});
|
|
373
508
|
if (idx > -1) uploadFileList.splice(idx, 1);
|
|
374
509
|
onInternalChange(uploadFileList);
|
|
375
510
|
});
|
|
376
511
|
};
|
|
377
512
|
//读取dataUrl
|
|
378
|
-
|
|
379
|
-
return
|
|
380
|
-
|
|
381
|
-
|
|
382
|
-
|
|
383
|
-
|
|
384
|
-
|
|
385
|
-
|
|
386
|
-
|
|
387
|
-
|
|
388
|
-
|
|
513
|
+
var readerFileAsDataUrl = function readerFileAsDataUrl(file) {
|
|
514
|
+
return __awaiter(void 0, void 0, void 0, /*#__PURE__*/regenerator.mark(function _callee3() {
|
|
515
|
+
return regenerator.wrap(function _callee3$(_context3) {
|
|
516
|
+
while (1) switch (_context3.prev = _context3.next) {
|
|
517
|
+
case 0:
|
|
518
|
+
return _context3.abrupt("return", new Promise(function (resolve) {
|
|
519
|
+
var fileReader = new FileReader();
|
|
520
|
+
if (file.originFileObj) {
|
|
521
|
+
fileReader.onload = function () {
|
|
522
|
+
resolve(fileReader.result);
|
|
523
|
+
};
|
|
524
|
+
fileReader.readAsDataURL(file.originFileObj);
|
|
525
|
+
} else resolve('');
|
|
526
|
+
}));
|
|
527
|
+
case 1:
|
|
528
|
+
case "end":
|
|
529
|
+
return _context3.stop();
|
|
530
|
+
}
|
|
531
|
+
}, _callee3);
|
|
532
|
+
}));
|
|
533
|
+
};
|
|
389
534
|
//显示错误提示
|
|
390
|
-
|
|
535
|
+
var showErrTip = function showErrTip(flag) {
|
|
391
536
|
setErrTip(flag);
|
|
392
537
|
if (leaveDelay < 0) return;
|
|
393
|
-
setTimeout(()
|
|
538
|
+
setTimeout(function () {
|
|
394
539
|
setErrTip(false);
|
|
395
540
|
}, leaveDelay);
|
|
396
541
|
};
|
|
397
|
-
useEffect(()
|
|
542
|
+
useEffect(function () {
|
|
398
543
|
if (fileList) {
|
|
399
|
-
setUploadFileList(
|
|
544
|
+
setUploadFileList(_toConsumableArray(fileList));
|
|
400
545
|
}
|
|
401
546
|
}, [fileList]);
|
|
402
|
-
useEffect(()
|
|
547
|
+
useEffect(function () {
|
|
403
548
|
if (defaultImage) {
|
|
404
549
|
setAvatar(Object.assign({}, defaultImage));
|
|
405
550
|
}
|
|
406
551
|
}, [defaultImage]);
|
|
407
552
|
//渲染上传列表
|
|
408
|
-
|
|
409
|
-
|
|
410
|
-
|
|
411
|
-
|
|
412
|
-
|
|
413
|
-
|
|
414
|
-
|
|
415
|
-
|
|
416
|
-
|
|
553
|
+
var renderUploadList = function renderUploadList() {
|
|
554
|
+
return showUploadList && jsx(UploadList, {
|
|
555
|
+
listType: 'picture-card',
|
|
556
|
+
readonly: readonly,
|
|
557
|
+
items: uploadFileList,
|
|
558
|
+
showRemoveIcon: showRemoveIcon,
|
|
559
|
+
removeIcon: removeIcon,
|
|
560
|
+
onRemove: handleRemove,
|
|
561
|
+
itemRender: itemRender
|
|
562
|
+
});
|
|
563
|
+
};
|
|
417
564
|
//渲染内容
|
|
418
|
-
|
|
565
|
+
var renderUploadContent = function renderUploadContent() {
|
|
419
566
|
var _a;
|
|
420
567
|
if (!showUploadList && avatar.imageUrl && !showLoading) {
|
|
421
568
|
return jsxs("div", Object.assign({
|
|
@@ -431,7 +578,7 @@ const ImageUpload = props => {
|
|
|
431
578
|
})), jsx("span", Object.assign({
|
|
432
579
|
className: 'upload-img-wrapper-action'
|
|
433
580
|
}, {
|
|
434
|
-
children: jsx(
|
|
581
|
+
children: jsx(EditOutline, {})
|
|
435
582
|
}))]
|
|
436
583
|
}));
|
|
437
584
|
}
|
|
@@ -450,7 +597,7 @@ const ImageUpload = props => {
|
|
|
450
597
|
});
|
|
451
598
|
};
|
|
452
599
|
//渲染上传控件
|
|
453
|
-
|
|
600
|
+
var renderUploadSelector = function renderUploadSelector() {
|
|
454
601
|
if (readonly) return null;
|
|
455
602
|
return jsxs("div", Object.assign({
|
|
456
603
|
className: clsx('upload-image-select', showLoading && 'upload-image-select-loading')
|
|
@@ -478,7 +625,7 @@ const ImageUpload = props => {
|
|
|
478
625
|
};
|
|
479
626
|
|
|
480
627
|
//Dragger upload
|
|
481
|
-
|
|
628
|
+
var Dragger = function Dragger(props) {
|
|
482
629
|
return jsx(Upload, Object.assign({}, props, {
|
|
483
630
|
type: 'drag'
|
|
484
631
|
}));
|
|
@@ -643,266 +790,336 @@ var css_248z$1 = "@charset \"UTF-8\";\n/**\n* @author Hanz\n* @date 2022/4/20
|
|
|
643
790
|
styleInject(css_248z$1);
|
|
644
791
|
|
|
645
792
|
//图片裁剪组件
|
|
646
|
-
|
|
647
|
-
|
|
648
|
-
aspect = 1,
|
|
649
|
-
shape =
|
|
650
|
-
|
|
651
|
-
|
|
652
|
-
|
|
653
|
-
|
|
654
|
-
|
|
655
|
-
|
|
656
|
-
|
|
657
|
-
|
|
658
|
-
|
|
659
|
-
|
|
660
|
-
|
|
661
|
-
|
|
662
|
-
|
|
663
|
-
|
|
664
|
-
|
|
665
|
-
|
|
666
|
-
|
|
667
|
-
|
|
793
|
+
var ImgCrop = /*#__PURE__*/forwardRef(function (props, ref) {
|
|
794
|
+
var _props$aspect = props.aspect,
|
|
795
|
+
aspect = _props$aspect === void 0 ? 1 : _props$aspect,
|
|
796
|
+
_props$shape = props.shape,
|
|
797
|
+
shape = _props$shape === void 0 ? 'rect' : _props$shape,
|
|
798
|
+
_props$grid = props.grid,
|
|
799
|
+
grid = _props$grid === void 0 ? false : _props$grid,
|
|
800
|
+
_props$quality = props.quality,
|
|
801
|
+
quality = _props$quality === void 0 ? 0.4 : _props$quality,
|
|
802
|
+
_props$fillColor = props.fillColor,
|
|
803
|
+
fillColor = _props$fillColor === void 0 ? 'transparent' : _props$fillColor,
|
|
804
|
+
_props$zoom = props.zoom,
|
|
805
|
+
zoom = _props$zoom === void 0 ? true : _props$zoom,
|
|
806
|
+
_props$rotate = props.rotate,
|
|
807
|
+
rotate = _props$rotate === void 0 ? false : _props$rotate,
|
|
808
|
+
_props$minZoom = props.minZoom,
|
|
809
|
+
minZoom = _props$minZoom === void 0 ? 1 : _props$minZoom,
|
|
810
|
+
_props$maxZoom = props.maxZoom,
|
|
811
|
+
maxZoom = _props$maxZoom === void 0 ? 3 : _props$maxZoom,
|
|
812
|
+
modalTitle = props.modalTitle,
|
|
813
|
+
modalWidth = props.modalWidth,
|
|
814
|
+
modalOk = props.modalOk,
|
|
815
|
+
modalCancel = props.modalCancel,
|
|
816
|
+
onModalOk = props.onModalOk,
|
|
817
|
+
onModalCancel = props.onModalCancel,
|
|
818
|
+
beforeCrop = props.beforeCrop,
|
|
819
|
+
onUploadFail = props.onUploadFail,
|
|
820
|
+
cropperProps = props.cropperProps,
|
|
821
|
+
children = props.children,
|
|
822
|
+
_props$fixedCropSize = props.fixedCropSize,
|
|
823
|
+
fixedCropSize = _props$fixedCropSize === void 0 ? {
|
|
668
824
|
width: 120,
|
|
669
825
|
height: 120
|
|
670
|
-
}
|
|
671
|
-
|
|
672
|
-
|
|
673
|
-
|
|
674
|
-
|
|
675
|
-
|
|
676
|
-
|
|
677
|
-
|
|
826
|
+
} : _props$fixedCropSize;
|
|
827
|
+
var intl = useFormatMessage('Upload', localeJson);
|
|
828
|
+
var _useState = useState(''),
|
|
829
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
830
|
+
image = _useState2[0],
|
|
831
|
+
setImage = _useState2[1];
|
|
832
|
+
var fileRef = useRef();
|
|
833
|
+
var beforeUploadRef = useRef();
|
|
834
|
+
var resolveRef = useRef();
|
|
835
|
+
var rejectRef = useRef();
|
|
678
836
|
//存储回调
|
|
679
|
-
|
|
837
|
+
var cbRef = useRef({});
|
|
680
838
|
cbRef.current.onModalOk = onModalOk;
|
|
681
839
|
cbRef.current.onModalCancel = onModalCancel;
|
|
682
840
|
cbRef.current.beforeCrop = beforeCrop;
|
|
683
841
|
cbRef.current.onUploadFail = onUploadFail;
|
|
684
|
-
|
|
842
|
+
var easyCropRef = useRef({});
|
|
685
843
|
//上传组件
|
|
686
|
-
|
|
687
|
-
|
|
688
|
-
|
|
689
|
-
|
|
690
|
-
|
|
691
|
-
accept
|
|
692
|
-
} = _a,
|
|
844
|
+
var uploadComponent = useMemo(function () {
|
|
845
|
+
var upload = Array.isArray(children) ? children[0] : children;
|
|
846
|
+
var _a = upload.props,
|
|
847
|
+
beforeUpload = _a.beforeUpload,
|
|
848
|
+
accept = _a.accept,
|
|
693
849
|
restUploadProps = __rest(_a, ["beforeUpload", "accept"]);
|
|
694
850
|
beforeUploadRef.current = beforeUpload;
|
|
695
851
|
return Object.assign(Object.assign({}, upload), {
|
|
696
852
|
props: Object.assign(Object.assign({}, restUploadProps), {
|
|
697
853
|
accept: accept || 'image/*',
|
|
698
|
-
beforeUpload: (file, fileList)
|
|
699
|
-
return new Promise((resolve, reject)
|
|
700
|
-
|
|
701
|
-
|
|
702
|
-
return
|
|
703
|
-
|
|
704
|
-
|
|
705
|
-
|
|
706
|
-
|
|
707
|
-
|
|
708
|
-
|
|
709
|
-
|
|
710
|
-
|
|
711
|
-
|
|
712
|
-
|
|
713
|
-
|
|
714
|
-
|
|
715
|
-
|
|
716
|
-
|
|
717
|
-
|
|
718
|
-
|
|
719
|
-
|
|
720
|
-
|
|
721
|
-
|
|
722
|
-
|
|
723
|
-
|
|
854
|
+
beforeUpload: function beforeUpload(file, fileList) {
|
|
855
|
+
return new Promise(function (resolve, reject) {
|
|
856
|
+
return __awaiter(void 0, void 0, void 0, /*#__PURE__*/regenerator.mark(function _callee() {
|
|
857
|
+
var reader;
|
|
858
|
+
return regenerator.wrap(function _callee$(_context) {
|
|
859
|
+
while (1) switch (_context.prev = _context.next) {
|
|
860
|
+
case 0:
|
|
861
|
+
_context.t0 = cbRef.current.beforeCrop;
|
|
862
|
+
if (!_context.t0) {
|
|
863
|
+
_context.next = 5;
|
|
864
|
+
break;
|
|
865
|
+
}
|
|
866
|
+
_context.next = 4;
|
|
867
|
+
return cbRef.current.beforeCrop(file, fileList);
|
|
868
|
+
case 4:
|
|
869
|
+
_context.t0 = !_context.sent;
|
|
870
|
+
case 5:
|
|
871
|
+
if (!_context.t0) {
|
|
872
|
+
_context.next = 8;
|
|
873
|
+
break;
|
|
874
|
+
}
|
|
875
|
+
reject();
|
|
876
|
+
return _context.abrupt("return");
|
|
877
|
+
case 8:
|
|
878
|
+
fileRef.current = file;
|
|
879
|
+
resolveRef.current = function (newFile) {
|
|
880
|
+
var flag = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;
|
|
881
|
+
var _a, _b;
|
|
882
|
+
(_b = (_a = cbRef.current).onModalOk) === null || _b === void 0 ? void 0 : _b.call(_a, newFile);
|
|
883
|
+
if (!flag) return resolve({
|
|
884
|
+
cropFile: newFile,
|
|
885
|
+
isUpload: flag
|
|
886
|
+
});
|
|
887
|
+
resolve(newFile);
|
|
888
|
+
};
|
|
889
|
+
rejectRef.current = function (uploadErr) {
|
|
890
|
+
var _a, _b;
|
|
891
|
+
(_b = (_a = cbRef.current).onUploadFail) === null || _b === void 0 ? void 0 : _b.call(_a, uploadErr);
|
|
892
|
+
reject(uploadErr);
|
|
893
|
+
};
|
|
894
|
+
reader = new FileReader();
|
|
895
|
+
reader.addEventListener('load', function () {
|
|
896
|
+
return typeof reader.result === 'string' && setImage(reader.result);
|
|
897
|
+
});
|
|
898
|
+
reader.readAsDataURL(file);
|
|
899
|
+
case 14:
|
|
900
|
+
case "end":
|
|
901
|
+
return _context.stop();
|
|
902
|
+
}
|
|
903
|
+
}, _callee);
|
|
904
|
+
}));
|
|
905
|
+
});
|
|
724
906
|
}
|
|
725
907
|
})
|
|
726
908
|
});
|
|
727
909
|
}, [children]);
|
|
728
910
|
//modal 关闭后操作
|
|
729
|
-
|
|
911
|
+
var onClose = function onClose() {
|
|
730
912
|
setImage('');
|
|
731
913
|
easyCropRef.current.setZoomVal(INIT_ZOOM);
|
|
732
914
|
easyCropRef.current.setRotateVal(INIT_ROTATE);
|
|
733
915
|
};
|
|
734
916
|
//modal cancel
|
|
735
|
-
|
|
917
|
+
var onCancel = useCallback(function () {
|
|
736
918
|
var _a, _b;
|
|
737
919
|
(_b = (_a = cbRef.current).onModalCancel) === null || _b === void 0 ? void 0 : _b.call(_a);
|
|
738
920
|
onClose();
|
|
739
921
|
}, []);
|
|
740
922
|
//modal ok
|
|
741
|
-
|
|
742
|
-
|
|
743
|
-
|
|
744
|
-
|
|
745
|
-
|
|
746
|
-
|
|
747
|
-
|
|
748
|
-
|
|
749
|
-
|
|
750
|
-
|
|
751
|
-
|
|
752
|
-
|
|
753
|
-
|
|
754
|
-
|
|
755
|
-
|
|
756
|
-
|
|
757
|
-
|
|
758
|
-
|
|
759
|
-
|
|
760
|
-
|
|
761
|
-
|
|
762
|
-
|
|
763
|
-
|
|
764
|
-
|
|
765
|
-
|
|
766
|
-
|
|
767
|
-
|
|
768
|
-
|
|
769
|
-
|
|
770
|
-
|
|
771
|
-
|
|
772
|
-
|
|
773
|
-
|
|
774
|
-
|
|
775
|
-
|
|
776
|
-
|
|
777
|
-
|
|
778
|
-
|
|
779
|
-
|
|
780
|
-
|
|
781
|
-
|
|
782
|
-
|
|
783
|
-
|
|
784
|
-
|
|
785
|
-
|
|
786
|
-
|
|
787
|
-
|
|
788
|
-
|
|
789
|
-
|
|
790
|
-
|
|
791
|
-
|
|
792
|
-
|
|
793
|
-
|
|
794
|
-
|
|
795
|
-
|
|
796
|
-
|
|
797
|
-
|
|
798
|
-
|
|
799
|
-
|
|
800
|
-
|
|
801
|
-
|
|
802
|
-
|
|
803
|
-
|
|
804
|
-
|
|
805
|
-
|
|
806
|
-
|
|
807
|
-
|
|
808
|
-
|
|
809
|
-
|
|
810
|
-
|
|
811
|
-
|
|
812
|
-
|
|
813
|
-
|
|
814
|
-
|
|
815
|
-
|
|
816
|
-
|
|
817
|
-
|
|
818
|
-
|
|
819
|
-
|
|
820
|
-
|
|
821
|
-
|
|
822
|
-
|
|
823
|
-
|
|
824
|
-
|
|
825
|
-
|
|
826
|
-
|
|
827
|
-
|
|
828
|
-
|
|
829
|
-
|
|
830
|
-
|
|
831
|
-
|
|
832
|
-
|
|
833
|
-
|
|
834
|
-
|
|
835
|
-
|
|
836
|
-
|
|
837
|
-
|
|
838
|
-
|
|
839
|
-
|
|
840
|
-
|
|
841
|
-
|
|
842
|
-
|
|
843
|
-
|
|
844
|
-
|
|
845
|
-
|
|
846
|
-
|
|
847
|
-
|
|
848
|
-
|
|
849
|
-
|
|
850
|
-
|
|
851
|
-
|
|
852
|
-
|
|
853
|
-
|
|
854
|
-
|
|
855
|
-
|
|
856
|
-
|
|
857
|
-
|
|
858
|
-
|
|
859
|
-
|
|
860
|
-
|
|
861
|
-
|
|
862
|
-
|
|
863
|
-
|
|
864
|
-
|
|
865
|
-
|
|
866
|
-
|
|
867
|
-
|
|
868
|
-
|
|
869
|
-
|
|
923
|
+
var onOk = useCallback(function () {
|
|
924
|
+
return __awaiter(void 0, void 0, void 0, /*#__PURE__*/regenerator.mark(function _callee3() {
|
|
925
|
+
var canvas, ctx, imgSource, _easyCropRef$current$, cropWidth, cropHeight, cropX, cropY, imgWidth, imgHeight, angle, sine, cosine, squareWidth, squareHeight, squareHalfWidth, squareHalfHeight, imgX, imgY, imgData, changeImageSizeAfterCrop, _fileRef$current, type, name, uid, idx, onBlob;
|
|
926
|
+
return regenerator.wrap(function _callee3$(_context3) {
|
|
927
|
+
while (1) switch (_context3.prev = _context3.next) {
|
|
928
|
+
case 0:
|
|
929
|
+
onClose();
|
|
930
|
+
canvas = document.createElement('canvas');
|
|
931
|
+
ctx = canvas.getContext('2d');
|
|
932
|
+
imgSource = document.querySelector(".".concat(PREFIX, "-media"));
|
|
933
|
+
_easyCropRef$current$ = easyCropRef.current.cropPixelsRef.current, cropWidth = _easyCropRef$current$.width, cropHeight = _easyCropRef$current$.height, cropX = _easyCropRef$current$.x, cropY = _easyCropRef$current$.y;
|
|
934
|
+
if (rotate && easyCropRef.current.rotateVal !== INIT_ROTATE) {
|
|
935
|
+
imgWidth = imgSource.naturalWidth, imgHeight = imgSource.naturalHeight;
|
|
936
|
+
angle = easyCropRef.current.rotateVal * (Math.PI / 180); // get container for rotated image
|
|
937
|
+
sine = Math.abs(Math.sin(angle));
|
|
938
|
+
cosine = Math.abs(Math.cos(angle));
|
|
939
|
+
squareWidth = imgWidth * cosine + imgHeight * sine;
|
|
940
|
+
squareHeight = imgHeight * cosine + imgWidth * sine;
|
|
941
|
+
canvas.width = squareWidth;
|
|
942
|
+
canvas.height = squareHeight;
|
|
943
|
+
ctx.fillStyle = fillColor;
|
|
944
|
+
ctx.fillRect(0, 0, squareWidth, squareHeight);
|
|
945
|
+
// rotate container
|
|
946
|
+
squareHalfWidth = squareWidth / 2;
|
|
947
|
+
squareHalfHeight = squareHeight / 2;
|
|
948
|
+
ctx.translate(squareHalfWidth, squareHalfHeight);
|
|
949
|
+
ctx.rotate(angle);
|
|
950
|
+
ctx.translate(-squareHalfWidth, -squareHalfHeight);
|
|
951
|
+
// draw rotated image
|
|
952
|
+
imgX = (squareWidth - imgWidth) / 2;
|
|
953
|
+
imgY = (squareHeight - imgHeight) / 2;
|
|
954
|
+
ctx.drawImage(imgSource, 0, 0, imgWidth, imgHeight, imgX, imgY, imgWidth, imgHeight);
|
|
955
|
+
// crop rotated image
|
|
956
|
+
imgData = ctx.getImageData(0, 0, squareWidth, squareHeight);
|
|
957
|
+
canvas.width = cropWidth;
|
|
958
|
+
canvas.height = cropHeight;
|
|
959
|
+
ctx.putImageData(imgData, -cropX, -cropY);
|
|
960
|
+
} else {
|
|
961
|
+
canvas.width = cropWidth;
|
|
962
|
+
canvas.height = cropHeight;
|
|
963
|
+
ctx.fillStyle = fillColor;
|
|
964
|
+
ctx.fillRect(0, 0, cropWidth, cropHeight);
|
|
965
|
+
ctx.drawImage(imgSource, cropX, cropY, cropWidth, cropHeight, 0, 0, cropWidth, cropHeight);
|
|
966
|
+
}
|
|
967
|
+
//裁剪之后改变图片大小
|
|
968
|
+
changeImageSizeAfterCrop = function changeImageSizeAfterCrop(newFile) {
|
|
969
|
+
return new Promise(function (resolve) {
|
|
970
|
+
var name = newFile.name,
|
|
971
|
+
type = newFile.type,
|
|
972
|
+
uid = newFile.uid;
|
|
973
|
+
var width = fixedCropSize.width,
|
|
974
|
+
height = fixedCropSize.height; //固定裁剪大小
|
|
975
|
+
var changeCanvas = document.createElement('canvas');
|
|
976
|
+
var changeCtx = changeCanvas.getContext('2d');
|
|
977
|
+
var img = new Image();
|
|
978
|
+
img.onload = function () {
|
|
979
|
+
changeCanvas.width = width;
|
|
980
|
+
changeCanvas.height = height;
|
|
981
|
+
changeCtx.drawImage(img, 0, 0, width, height);
|
|
982
|
+
changeCanvas.toBlob(function (cBlob) {
|
|
983
|
+
var changeFile = Object.assign(new File([cBlob], name, {
|
|
984
|
+
type: type
|
|
985
|
+
}), {
|
|
986
|
+
uid: uid
|
|
987
|
+
});
|
|
988
|
+
resolve(changeFile);
|
|
989
|
+
}, type, quality);
|
|
990
|
+
};
|
|
991
|
+
img.onerror = function () {
|
|
992
|
+
resolve(newFile);
|
|
993
|
+
};
|
|
994
|
+
var fileReader = new FileReader();
|
|
995
|
+
fileReader.onload = function () {
|
|
996
|
+
img.src = fileReader.result;
|
|
997
|
+
};
|
|
998
|
+
fileReader.onerror = function () {
|
|
999
|
+
resolve(newFile);
|
|
1000
|
+
};
|
|
1001
|
+
fileReader.readAsDataURL(newFile);
|
|
1002
|
+
});
|
|
1003
|
+
}; // get the new image
|
|
1004
|
+
_fileRef$current = fileRef.current, type = _fileRef$current.type, name = _fileRef$current.name, uid = _fileRef$current.uid;
|
|
1005
|
+
if (/svg/gi.test(type)) {
|
|
1006
|
+
//svg 转为 png
|
|
1007
|
+
type = 'image/png';
|
|
1008
|
+
idx = name.lastIndexOf('.');
|
|
1009
|
+
if (idx > -1) name = "".concat(name.substring(0, idx), ".png");
|
|
1010
|
+
}
|
|
1011
|
+
//转为blob
|
|
1012
|
+
onBlob = function onBlob(blob) {
|
|
1013
|
+
return __awaiter(void 0, void 0, void 0, /*#__PURE__*/regenerator.mark(function _callee2() {
|
|
1014
|
+
var _a, _b, _c, _d, _e, _f, newFile, changeFile, res, passedFile;
|
|
1015
|
+
return regenerator.wrap(function _callee2$(_context2) {
|
|
1016
|
+
while (1) switch (_context2.prev = _context2.next) {
|
|
1017
|
+
case 0:
|
|
1018
|
+
newFile = Object.assign(new File([blob], name, {
|
|
1019
|
+
type: type
|
|
1020
|
+
}), {
|
|
1021
|
+
uid: uid
|
|
1022
|
+
});
|
|
1023
|
+
_context2.next = 3;
|
|
1024
|
+
return changeImageSizeAfterCrop(newFile);
|
|
1025
|
+
case 3:
|
|
1026
|
+
changeFile = _context2.sent;
|
|
1027
|
+
if (!(typeof beforeUploadRef.current !== 'function')) {
|
|
1028
|
+
_context2.next = 6;
|
|
1029
|
+
break;
|
|
1030
|
+
}
|
|
1031
|
+
return _context2.abrupt("return", (_a = resolveRef.current) === null || _a === void 0 ? void 0 : _a.call(resolveRef, changeFile));
|
|
1032
|
+
case 6:
|
|
1033
|
+
res = beforeUploadRef.current(changeFile, [changeFile]);
|
|
1034
|
+
if (!(typeof res !== 'boolean' && !res)) {
|
|
1035
|
+
_context2.next = 10;
|
|
1036
|
+
break;
|
|
1037
|
+
}
|
|
1038
|
+
console.error('beforeUpload must return a boolean or Promise');
|
|
1039
|
+
return _context2.abrupt("return");
|
|
1040
|
+
case 10:
|
|
1041
|
+
if (!(res === true)) {
|
|
1042
|
+
_context2.next = 12;
|
|
1043
|
+
break;
|
|
1044
|
+
}
|
|
1045
|
+
return _context2.abrupt("return", (_b = resolveRef.current) === null || _b === void 0 ? void 0 : _b.call(resolveRef, changeFile));
|
|
1046
|
+
case 12:
|
|
1047
|
+
if (!(res === false)) {
|
|
1048
|
+
_context2.next = 14;
|
|
1049
|
+
break;
|
|
1050
|
+
}
|
|
1051
|
+
return _context2.abrupt("return", (_c = resolveRef.current) === null || _c === void 0 ? void 0 : _c.call(resolveRef, changeFile, false));
|
|
1052
|
+
case 14:
|
|
1053
|
+
if (!(res && res instanceof Promise)) {
|
|
1054
|
+
_context2.next = 27;
|
|
1055
|
+
break;
|
|
1056
|
+
}
|
|
1057
|
+
_context2.prev = 15;
|
|
1058
|
+
_context2.next = 18;
|
|
1059
|
+
return res;
|
|
1060
|
+
case 18:
|
|
1061
|
+
passedFile = _context2.sent;
|
|
1062
|
+
if (!(passedFile instanceof File || passedFile instanceof Blob)) {
|
|
1063
|
+
_context2.next = 21;
|
|
1064
|
+
break;
|
|
1065
|
+
}
|
|
1066
|
+
return _context2.abrupt("return", (_d = resolveRef.current) === null || _d === void 0 ? void 0 : _d.call(resolveRef, passedFile));
|
|
1067
|
+
case 21:
|
|
1068
|
+
(_e = resolveRef.current) === null || _e === void 0 ? void 0 : _e.call(resolveRef, changeFile, passedFile);
|
|
1069
|
+
_context2.next = 27;
|
|
1070
|
+
break;
|
|
1071
|
+
case 24:
|
|
1072
|
+
_context2.prev = 24;
|
|
1073
|
+
_context2.t0 = _context2["catch"](15);
|
|
1074
|
+
(_f = rejectRef.current) === null || _f === void 0 ? void 0 : _f.call(rejectRef, _context2.t0);
|
|
1075
|
+
case 27:
|
|
1076
|
+
case "end":
|
|
1077
|
+
return _context2.stop();
|
|
1078
|
+
}
|
|
1079
|
+
}, _callee2, null, [[15, 24]]);
|
|
1080
|
+
}));
|
|
1081
|
+
};
|
|
1082
|
+
canvas.toBlob(onBlob, type, quality);
|
|
1083
|
+
case 11:
|
|
1084
|
+
case "end":
|
|
1085
|
+
return _context3.stop();
|
|
870
1086
|
}
|
|
871
|
-
}
|
|
872
|
-
});
|
|
873
|
-
|
|
874
|
-
}), [fillColor, quality, rotate]);
|
|
1087
|
+
}, _callee3);
|
|
1088
|
+
}));
|
|
1089
|
+
}, [fillColor, quality, rotate]);
|
|
875
1090
|
//img crop 组件
|
|
876
|
-
|
|
877
|
-
|
|
878
|
-
|
|
879
|
-
|
|
880
|
-
|
|
881
|
-
|
|
882
|
-
|
|
883
|
-
|
|
884
|
-
|
|
885
|
-
|
|
886
|
-
|
|
887
|
-
|
|
888
|
-
|
|
889
|
-
|
|
890
|
-
|
|
891
|
-
|
|
892
|
-
|
|
893
|
-
|
|
894
|
-
|
|
895
|
-
|
|
896
|
-
|
|
897
|
-
|
|
898
|
-
|
|
899
|
-
|
|
900
|
-
|
|
901
|
-
|
|
902
|
-
|
|
903
|
-
|
|
904
|
-
|
|
905
|
-
|
|
1091
|
+
var getComponent = function getComponent(titleOfModal) {
|
|
1092
|
+
return jsxs(Fragment, {
|
|
1093
|
+
children: [uploadComponent, image && jsx(Modal, Object.assign({
|
|
1094
|
+
open: true,
|
|
1095
|
+
className: "".concat(PREFIX, "-modal"),
|
|
1096
|
+
size: 'md',
|
|
1097
|
+
title: titleOfModal !== null && titleOfModal !== void 0 ? titleOfModal : intl({
|
|
1098
|
+
id: 'editImage'
|
|
1099
|
+
}),
|
|
1100
|
+
onOk: onOk,
|
|
1101
|
+
onCancel: onCancel,
|
|
1102
|
+
okText: modalOk,
|
|
1103
|
+
cancelText: modalCancel,
|
|
1104
|
+
contentWidth: modalWidth
|
|
1105
|
+
}, {
|
|
1106
|
+
children: jsx(EasyCrop$1, {
|
|
1107
|
+
ref: easyCropRef,
|
|
1108
|
+
cropperRef: ref,
|
|
1109
|
+
image: image,
|
|
1110
|
+
aspect: aspect,
|
|
1111
|
+
shape: shape,
|
|
1112
|
+
grid: grid,
|
|
1113
|
+
zoom: zoom,
|
|
1114
|
+
rotate: rotate,
|
|
1115
|
+
minZoom: minZoom,
|
|
1116
|
+
maxZoom: maxZoom,
|
|
1117
|
+
fixedCropSize: fixedCropSize,
|
|
1118
|
+
cropperProps: cropperProps
|
|
1119
|
+
})
|
|
1120
|
+
}))]
|
|
1121
|
+
});
|
|
1122
|
+
};
|
|
906
1123
|
return jsx(Fragment, {
|
|
907
1124
|
children: getComponent(modalTitle)
|
|
908
1125
|
});
|