@flatbiz/antd 5.2.6 → 5.2.8
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/dist/content-CXmBn9B0.js +297 -0
- package/dist/content-CXmBn9B0.js.map +1 -0
- package/dist/content-DnpCk2LR.js +556 -0
- package/dist/content-DnpCk2LR.js.map +1 -0
- package/dist/{drag-DUY7Olcc.js → drag-D3i6_WRS.js} +2 -2
- package/dist/{drag-DUY7Olcc.js.map → drag-D3i6_WRS.js.map} +1 -1
- package/dist/drag-editable-table/index.css +1 -1
- package/dist/drag-editable-table/index.d.ts +3 -0
- package/dist/drag-editable-table/index.js +3 -4
- package/dist/editable-table/index.css +1 -1
- package/dist/editable-table/index.d.ts +3 -0
- package/dist/editable-table/index.js +2 -3
- package/dist/{editable-table-DYR12TJM.js → editable-table-BaKnBuHT.js} +2 -2
- package/dist/{editable-table-DYR12TJM.js.map → editable-table-BaKnBuHT.js.map} +1 -1
- package/dist/index.d.ts +46 -3
- package/dist/index.js +7 -4
- package/dist/index.js.map +1 -1
- package/dist/markdown-editor/index.css +1 -0
- package/dist/markdown-editor/index.d.ts +7 -2
- package/dist/markdown-editor/index.js +53 -2
- package/dist/markdown-editor/index.js.map +1 -1
- package/dist/pre-defined-class-name/index.css +1 -1
- package/dist/upload-multi-type/index.css +1 -0
- package/dist/upload-multi-type/index.d.ts +37 -0
- package/dist/upload-multi-type/index.js +44 -0
- package/dist/upload-multi-type/index.js.map +1 -0
- package/dist/upload-wrapper/index.css +1 -1
- package/dist/upload-wrapper/index.d.ts +4 -1
- package/dist/upload-wrapper/index.js +1 -2
- package/dist/{upload-wrapper-BovR_RV6.js → upload-wrapper-DmZglNR4.js} +29 -13
- package/dist/upload-wrapper-DmZglNR4.js.map +1 -0
- package/package.json +5 -1
- package/dist/content-DQTZHavT.js +0 -404
- package/dist/content-DQTZHavT.js.map +0 -1
- package/dist/upload-wrapper-BovR_RV6.js.map +0 -1
|
@@ -0,0 +1,297 @@
|
|
|
1
|
+
/*! @flatjs/forge MIT @flatbiz/antd */
|
|
2
|
+
|
|
3
|
+
import { a as _slicedToArray, c as _toConsumableArray } from './_rollupPluginBabelHelpers-BspM60Sw.js';
|
|
4
|
+
import { useState, useMemo } from 'react';
|
|
5
|
+
import { useMemoizedFn } from 'ahooks';
|
|
6
|
+
import { Button, Tabs, Spin, message } from 'antd';
|
|
7
|
+
import { d as dialogPreviewImage } from './preview-image-BGEPfC0y.js';
|
|
8
|
+
import { U as UploadWrapper } from './upload-wrapper-DmZglNR4.js';
|
|
9
|
+
import _DeleteOutlined from '@ant-design/icons/es/icons/DeleteOutlined.js';
|
|
10
|
+
import _EyeOutlined from '@ant-design/icons/es/icons/EyeOutlined.js';
|
|
11
|
+
import { jsx, jsxs } from 'react/jsx-runtime';
|
|
12
|
+
|
|
13
|
+
var IMAGE_EXTENSIONS = ['png', 'jpg', 'jpeg', 'gif', 'webp', 'bmp', 'svg', 'heic', 'heif'];
|
|
14
|
+
function isImageFile(name, url) {
|
|
15
|
+
var str = name || url || '';
|
|
16
|
+
var ext = str.slice(str.lastIndexOf('.') + 1).toLowerCase();
|
|
17
|
+
return IMAGE_EXTENSIONS.includes(ext);
|
|
18
|
+
}
|
|
19
|
+
var FileListView = function FileListView(props) {
|
|
20
|
+
var _props$uploadList;
|
|
21
|
+
var uploadList = props.uploadList,
|
|
22
|
+
onPreview = props.onPreview,
|
|
23
|
+
onRemove = props.onRemove;
|
|
24
|
+
if (!((_props$uploadList = props.uploadList) !== null && _props$uploadList !== void 0 && _props$uploadList.length)) {
|
|
25
|
+
return null;
|
|
26
|
+
}
|
|
27
|
+
return /*#__PURE__*/jsx("ul", {
|
|
28
|
+
className: "upload-multi-type-file-list",
|
|
29
|
+
children: uploadList.map(function (item, index) {
|
|
30
|
+
var isImage = isImageFile(item.name, item.url);
|
|
31
|
+
return /*#__PURE__*/jsxs("li", {
|
|
32
|
+
className: "upload-multi-type-file-item",
|
|
33
|
+
children: [/*#__PURE__*/jsx("span", {
|
|
34
|
+
className: "upload-multi-type-file-name",
|
|
35
|
+
title: item.name,
|
|
36
|
+
children: isImage ? /*#__PURE__*/jsx("span", {
|
|
37
|
+
className: "upload-multi-type-file-name-image",
|
|
38
|
+
onClick: function onClick() {
|
|
39
|
+
return onPreview(item.url);
|
|
40
|
+
},
|
|
41
|
+
children: item.name
|
|
42
|
+
}) : /*#__PURE__*/jsx("span", {
|
|
43
|
+
children: item.name
|
|
44
|
+
})
|
|
45
|
+
}), /*#__PURE__*/jsxs("span", {
|
|
46
|
+
className: "upload-multi-type-file-actions",
|
|
47
|
+
children: [isImage ? /*#__PURE__*/jsx(Button, {
|
|
48
|
+
type: "text",
|
|
49
|
+
size: "small",
|
|
50
|
+
icon: /*#__PURE__*/jsx(_EyeOutlined, {}),
|
|
51
|
+
className: "upload-multi-type-action-btn",
|
|
52
|
+
onClick: function onClick() {
|
|
53
|
+
return onPreview(item.url);
|
|
54
|
+
},
|
|
55
|
+
"aria-label": "\u9884\u89C8"
|
|
56
|
+
}) : null, /*#__PURE__*/jsx(Button, {
|
|
57
|
+
type: "text",
|
|
58
|
+
size: "small",
|
|
59
|
+
hidden: props.disabled,
|
|
60
|
+
icon: /*#__PURE__*/jsx(_DeleteOutlined, {}),
|
|
61
|
+
className: "upload-multi-type-action-btn upload-multi-type-action-btn-danger",
|
|
62
|
+
onClick: function onClick() {
|
|
63
|
+
return onRemove(index);
|
|
64
|
+
},
|
|
65
|
+
"aria-label": "\u5220\u9664"
|
|
66
|
+
})]
|
|
67
|
+
})]
|
|
68
|
+
}, "".concat(item.url, "-").concat(index));
|
|
69
|
+
})
|
|
70
|
+
});
|
|
71
|
+
};
|
|
72
|
+
|
|
73
|
+
function getImageFileFromPaste(e) {
|
|
74
|
+
var _e$clipboardData;
|
|
75
|
+
var items = (_e$clipboardData = e.clipboardData) === null || _e$clipboardData === void 0 ? void 0 : _e$clipboardData.items;
|
|
76
|
+
if (!items) return null;
|
|
77
|
+
for (var i = 0; i < items.length; i++) {
|
|
78
|
+
if (items[i].type.indexOf('image') !== -1) {
|
|
79
|
+
return items[i].getAsFile();
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
return null;
|
|
83
|
+
}
|
|
84
|
+
/**
|
|
85
|
+
* 上传组件,同时支持多种上传方式,支持【点击&拖拽上传】、【粘贴上传】
|
|
86
|
+
* ```
|
|
87
|
+
* @example
|
|
88
|
+
* const onUploadFile = useMemoizedFn(async (file: File) => {
|
|
89
|
+
* const formData = new FormData();
|
|
90
|
+
* formData.append('file', file);
|
|
91
|
+
* const respData = await serviceHandle.upload<{
|
|
92
|
+
* url: string;
|
|
93
|
+
* name?: string;
|
|
94
|
+
* }>('https://pubtest.hnapay.com/api/file/upload', formData);
|
|
95
|
+
* return respData;
|
|
96
|
+
* });
|
|
97
|
+
*
|
|
98
|
+
* <UploadMultiType onUploadFile={onUploadFile} maxCount={1} />
|
|
99
|
+
* ```
|
|
100
|
+
*/
|
|
101
|
+
var UploadMultiType = function UploadMultiType(props) {
|
|
102
|
+
var value = props.value,
|
|
103
|
+
onChange = props.onChange;
|
|
104
|
+
var _useState = useState(false),
|
|
105
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
106
|
+
showPasteSuccess = _useState2[0],
|
|
107
|
+
setShowPasteSuccess = _useState2[1];
|
|
108
|
+
var _useState3 = useState(false),
|
|
109
|
+
_useState4 = _slicedToArray(_useState3, 2),
|
|
110
|
+
loading = _useState4[0],
|
|
111
|
+
setLoading = _useState4[1];
|
|
112
|
+
var maxCount = props.maxCount;
|
|
113
|
+
var _useState5 = useState(function () {
|
|
114
|
+
return Array.isArray(value) && value.length > 0 ? value.map(function (item) {
|
|
115
|
+
var _item$name, _item$url, _item$url$split, _item$url2;
|
|
116
|
+
return {
|
|
117
|
+
name: (_item$name = item === null || item === void 0 ? void 0 : item.name) !== null && _item$name !== void 0 ? _item$name : item === null || item === void 0 || (_item$url = item.url) === null || _item$url === void 0 || (_item$url$split = _item$url.split) === null || _item$url$split === void 0 ? void 0 : _item$url$split.call(_item$url, '/').pop(),
|
|
118
|
+
url: (_item$url2 = item === null || item === void 0 ? void 0 : item.url) !== null && _item$url2 !== void 0 ? _item$url2 : ''
|
|
119
|
+
};
|
|
120
|
+
}) : [];
|
|
121
|
+
}),
|
|
122
|
+
_useState6 = _slicedToArray(_useState5, 2),
|
|
123
|
+
uploadList = _useState6[0],
|
|
124
|
+
setUploadList = _useState6[1];
|
|
125
|
+
var onChangeHandler = useMemoizedFn(function (data) {
|
|
126
|
+
return new Promise(function ($return, $error) {
|
|
127
|
+
var $Try_1_Finally = function ($Try_1_Exit) {
|
|
128
|
+
return function ($Try_1_Value) {
|
|
129
|
+
try {
|
|
130
|
+
setLoading(false);
|
|
131
|
+
return $Try_1_Exit && $Try_1_Exit.call(this, $Try_1_Value);
|
|
132
|
+
} catch ($boundEx) {
|
|
133
|
+
return $error($boundEx);
|
|
134
|
+
}
|
|
135
|
+
}.bind(this);
|
|
136
|
+
}.bind(this);
|
|
137
|
+
var files, _props$onUploadFile, respData, fileName, newItem;
|
|
138
|
+
files = data;
|
|
139
|
+
if (!(files !== null && files !== void 0 && files.length)) return $return();
|
|
140
|
+
setLoading(true);
|
|
141
|
+
var $Try_1_Post = function () {
|
|
142
|
+
try {
|
|
143
|
+
return $return();
|
|
144
|
+
} catch ($boundEx) {
|
|
145
|
+
return $error($boundEx);
|
|
146
|
+
}
|
|
147
|
+
};
|
|
148
|
+
var $Try_1_Catch = function (error) {
|
|
149
|
+
try {
|
|
150
|
+
void message.error((error === null || error === void 0 ? void 0 : error['message']) || '上传操作失败');
|
|
151
|
+
throw error;
|
|
152
|
+
} catch ($boundEx) {
|
|
153
|
+
return $Try_1_Finally($error)($boundEx);
|
|
154
|
+
}
|
|
155
|
+
};
|
|
156
|
+
try {
|
|
157
|
+
return Promise.resolve((_props$onUploadFile = props.onUploadFile) === null || _props$onUploadFile === void 0 ? void 0 : _props$onUploadFile.call(props, files[0])).then(function ($await_2) {
|
|
158
|
+
try {
|
|
159
|
+
respData = $await_2;
|
|
160
|
+
fileName = (respData === null || respData === void 0 ? void 0 : respData.name) || (respData === null || respData === void 0 ? void 0 : respData.url.split('/').pop());
|
|
161
|
+
newItem = {
|
|
162
|
+
name: fileName,
|
|
163
|
+
url: respData === null || respData === void 0 ? void 0 : respData.url
|
|
164
|
+
};
|
|
165
|
+
if (maxCount && maxCount == 1) {
|
|
166
|
+
setUploadList([newItem]);
|
|
167
|
+
onChange === null || onChange === void 0 || onChange([newItem]);
|
|
168
|
+
} else {
|
|
169
|
+
setUploadList(function (prev) {
|
|
170
|
+
var prevListNew = prev;
|
|
171
|
+
if (maxCount && prevListNew.length >= maxCount) {
|
|
172
|
+
prevListNew = prevListNew.slice(0, maxCount - 1);
|
|
173
|
+
}
|
|
174
|
+
var mergedList = [].concat(_toConsumableArray(prevListNew), [newItem]);
|
|
175
|
+
onChange === null || onChange === void 0 || onChange(mergedList);
|
|
176
|
+
return mergedList;
|
|
177
|
+
});
|
|
178
|
+
}
|
|
179
|
+
return $Try_1_Finally($Try_1_Post)();
|
|
180
|
+
} catch ($boundEx) {
|
|
181
|
+
return $Try_1_Catch($boundEx);
|
|
182
|
+
}
|
|
183
|
+
}, $Try_1_Catch);
|
|
184
|
+
} catch (error) {
|
|
185
|
+
$Try_1_Catch(error);
|
|
186
|
+
}
|
|
187
|
+
});
|
|
188
|
+
});
|
|
189
|
+
var onPaste = useMemoizedFn(function (e) {
|
|
190
|
+
return new Promise(function ($return, $error) {
|
|
191
|
+
var file;
|
|
192
|
+
e.preventDefault();
|
|
193
|
+
file = getImageFileFromPaste(e);
|
|
194
|
+
if (!file) return $return();
|
|
195
|
+
return Promise.resolve(onChangeHandler === null || onChangeHandler === void 0 ? void 0 : onChangeHandler([file])).then(function ($await_3) {
|
|
196
|
+
try {
|
|
197
|
+
setShowPasteSuccess(true);
|
|
198
|
+
setTimeout(function () {
|
|
199
|
+
setShowPasteSuccess(false);
|
|
200
|
+
}, 1500);
|
|
201
|
+
return $return();
|
|
202
|
+
} catch ($boundEx) {
|
|
203
|
+
return $error($boundEx);
|
|
204
|
+
}
|
|
205
|
+
}, $error);
|
|
206
|
+
});
|
|
207
|
+
});
|
|
208
|
+
var onPreview = useMemoizedFn(function (url) {
|
|
209
|
+
dialogPreviewImage.show({
|
|
210
|
+
imageUrl: url
|
|
211
|
+
});
|
|
212
|
+
});
|
|
213
|
+
var onRemove = useMemoizedFn(function (index) {
|
|
214
|
+
setUploadList(function (prev) {
|
|
215
|
+
var next = prev.filter(function (_, i) {
|
|
216
|
+
return i !== index;
|
|
217
|
+
});
|
|
218
|
+
onChange === null || onChange === void 0 || onChange(next);
|
|
219
|
+
return next;
|
|
220
|
+
});
|
|
221
|
+
});
|
|
222
|
+
var accept = useMemo(function () {
|
|
223
|
+
if (props.accept) {
|
|
224
|
+
return props.accept;
|
|
225
|
+
}
|
|
226
|
+
return props.onlyUploadImage ? 'image/*' : undefined;
|
|
227
|
+
}, [props.accept, props.onlyUploadImage]);
|
|
228
|
+
if (props.disabled) {
|
|
229
|
+
if (!(uploadList !== null && uploadList !== void 0 && uploadList.length)) {
|
|
230
|
+
return null;
|
|
231
|
+
}
|
|
232
|
+
return /*#__PURE__*/jsx("div", {
|
|
233
|
+
className: "v-upload-multi-type-disabled",
|
|
234
|
+
children: /*#__PURE__*/jsx(FileListView, {
|
|
235
|
+
uploadList: uploadList,
|
|
236
|
+
onPreview: onPreview,
|
|
237
|
+
onRemove: onRemove,
|
|
238
|
+
disabled: props.disabled
|
|
239
|
+
})
|
|
240
|
+
});
|
|
241
|
+
}
|
|
242
|
+
return /*#__PURE__*/jsx("div", {
|
|
243
|
+
className: 'v-upload-multi-type',
|
|
244
|
+
children: /*#__PURE__*/jsxs("div", {
|
|
245
|
+
className: "v-upload-multi-type-inner",
|
|
246
|
+
children: [/*#__PURE__*/jsx(Tabs, {
|
|
247
|
+
destroyOnHidden: false,
|
|
248
|
+
items: [{
|
|
249
|
+
key: 'dragger',
|
|
250
|
+
label: '点击&拖拽上传',
|
|
251
|
+
forceRender: true,
|
|
252
|
+
children: /*#__PURE__*/jsx(Spin, {
|
|
253
|
+
spinning: loading,
|
|
254
|
+
children: /*#__PURE__*/jsx(UploadWrapper, {
|
|
255
|
+
name: "file",
|
|
256
|
+
accept: accept,
|
|
257
|
+
maxCount: maxCount,
|
|
258
|
+
autoSubmit: false,
|
|
259
|
+
onChange: onChangeHandler,
|
|
260
|
+
isDragger: true,
|
|
261
|
+
showUploadList: false
|
|
262
|
+
})
|
|
263
|
+
})
|
|
264
|
+
}, {
|
|
265
|
+
key: 'paste',
|
|
266
|
+
label: '粘贴上传',
|
|
267
|
+
forceRender: true,
|
|
268
|
+
children: /*#__PURE__*/jsx(Spin, {
|
|
269
|
+
spinning: loading,
|
|
270
|
+
children: /*#__PURE__*/jsx("div", {
|
|
271
|
+
className: "upload-image-paste-zone",
|
|
272
|
+
onPaste: onPaste,
|
|
273
|
+
tabIndex: 0,
|
|
274
|
+
role: "textbox",
|
|
275
|
+
"aria-label": "\u7C98\u8D34\u56FE\u7247\u533A\u57DF",
|
|
276
|
+
children: showPasteSuccess ? /*#__PURE__*/jsx("span", {
|
|
277
|
+
className: "upload-image-paste-tip success",
|
|
278
|
+
children: "\u5DF2\u7C98\u8D34\u4E0A\u4F20\u56FE\u7247\u6210\u529F"
|
|
279
|
+
}) : /*#__PURE__*/jsx("span", {
|
|
280
|
+
className: "upload-image-paste-tip",
|
|
281
|
+
children: "\u5728\u6B64\u533A\u57DF\u70B9\u51FB\u540E\u4F7F\u7528 Ctrl+V / Cmd+V \u7C98\u8D34\u56FE\u7247"
|
|
282
|
+
})
|
|
283
|
+
})
|
|
284
|
+
})
|
|
285
|
+
}]
|
|
286
|
+
}), uploadList.length > 0 ? /*#__PURE__*/jsx(FileListView, {
|
|
287
|
+
uploadList: uploadList,
|
|
288
|
+
onPreview: onPreview,
|
|
289
|
+
onRemove: onRemove,
|
|
290
|
+
disabled: props.disabled
|
|
291
|
+
}) : null]
|
|
292
|
+
})
|
|
293
|
+
});
|
|
294
|
+
};
|
|
295
|
+
|
|
296
|
+
export { UploadMultiType as U };
|
|
297
|
+
//# sourceMappingURL=content-CXmBn9B0.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"content-CXmBn9B0.js","sources":["@flatbiz/antd/src/upload-multi-type/file-view.tsx","@flatbiz/antd/src/upload-multi-type/content.tsx"],"sourcesContent":["import { Button } from 'antd';\nimport { DeleteOutlined, EyeOutlined } from '@ant-design/icons';\nimport type { UploadMultiTypeFileItem } from './type.js';\n\nconst IMAGE_EXTENSIONS = [\n 'png',\n 'jpg',\n 'jpeg',\n 'gif',\n 'webp',\n 'bmp',\n 'svg',\n 'heic',\n 'heif',\n];\n\nfunction isImageFile(name?: string, url?: string): boolean {\n const str = name || url || '';\n const ext = str.slice(str.lastIndexOf('.') + 1).toLowerCase();\n return IMAGE_EXTENSIONS.includes(ext);\n}\n\nexport const FileListView = (props: {\n uploadList: UploadMultiTypeFileItem[];\n onPreview: (url: string) => void;\n onRemove: (index: number) => void;\n disabled?: boolean;\n}) => {\n const { uploadList, onPreview, onRemove } = props;\n\n if (!props.uploadList?.length) {\n return null;\n }\n return (\n <ul className=\"upload-multi-type-file-list\">\n {uploadList.map((item, index) => {\n const isImage = isImageFile(item.name, item.url);\n return (\n <li\n key={`${item.url}-${index}`}\n className=\"upload-multi-type-file-item\"\n >\n <span className=\"upload-multi-type-file-name\" title={item.name}>\n {isImage ? (\n <span\n className=\"upload-multi-type-file-name-image\"\n onClick={() => onPreview(item.url)}\n >\n {item.name}\n </span>\n ) : (\n <span>{item.name}</span>\n )}\n </span>\n <span className=\"upload-multi-type-file-actions\">\n {isImage ? (\n <Button\n type=\"text\"\n size=\"small\"\n icon={<EyeOutlined />}\n className=\"upload-multi-type-action-btn\"\n onClick={() => onPreview(item.url)}\n aria-label=\"预览\"\n />\n ) : null}\n <Button\n type=\"text\"\n size=\"small\"\n hidden={props.disabled}\n icon={<DeleteOutlined />}\n className=\"upload-multi-type-action-btn upload-multi-type-action-btn-danger\"\n onClick={() => onRemove(index)}\n aria-label=\"删除\"\n />\n </span>\n </li>\n );\n })}\n </ul>\n );\n};\n","import { useMemo, useState } from 'react';\nimport { useMemoizedFn } from 'ahooks';\nimport { message, Spin, Tabs } from 'antd';\nimport { dialogPreviewImage } from '../dialog-preview-image/preview-image.jsx';\nimport { UploadWrapper } from '../upload-wrapper/upload-wrapper.jsx';\nimport { FileListView } from './file-view.jsx';\nimport type { UploadMultiTypeFileItem } from './type.js';\nimport './style.less';\n\nfunction getImageFileFromPaste(e: React.ClipboardEvent): File | null {\n const items = e.clipboardData?.items;\n if (!items) return null;\n for (let i = 0; i < items.length; i++) {\n if (items[i].type.indexOf('image') !== -1) {\n return items[i].getAsFile();\n }\n }\n return null;\n}\n\ntype UploadMultiTypeProps = {\n value?: string[] | UploadMultiTypeFileItem[];\n onChange?: (v: any) => void;\n /** 上传文件 */\n onUploadFile: (file: File) => Promise<UploadMultiTypeFileItem>;\n /** 最大上传数量 */\n maxCount?: number;\n /** 上传文件类型,例如:image/*, video/*, audio/* */\n accept?: string;\n /** 只上传图片,默认:false;设置accept时,此配置无效 */\n onlyUploadImage?: boolean;\n\n disabled?: boolean;\n};\n\n/**\n * 上传组件,同时支持多种上传方式,支持【点击&拖拽上传】、【粘贴上传】\n * ```\n * @example\n * const onUploadFile = useMemoizedFn(async (file: File) => {\n * const formData = new FormData();\n * formData.append('file', file);\n * const respData = await serviceHandle.upload<{\n * url: string;\n * name?: string;\n * }>('https://pubtest.hnapay.com/api/file/upload', formData);\n * return respData;\n * });\n *\n * <UploadMultiType onUploadFile={onUploadFile} maxCount={1} />\n * ```\n */\nexport const UploadMultiType = (props: UploadMultiTypeProps) => {\n const { value, onChange } = props;\n const [showPasteSuccess, setShowPasteSuccess] = useState(false);\n const [loading, setLoading] = useState(false);\n const maxCount = props.maxCount;\n const [uploadList, setUploadList] = useState<UploadMultiTypeFileItem[]>(() =>\n Array.isArray(value) && value.length > 0\n ? value.map((item: any) => ({\n name: item?.name ?? item?.url?.split?.('/').pop(),\n url: item?.url ?? '',\n }))\n : []\n );\n\n const onChangeHandler = useMemoizedFn(async (data: any) => {\n const files = data as File[];\n if (!files?.length) return;\n setLoading(true);\n try {\n const respData = await props.onUploadFile?.(files[0]);\n const fileName = respData?.name || respData?.url.split('/').pop();\n const newItem = { name: fileName, url: respData?.url };\n if (maxCount && maxCount == 1) {\n setUploadList([newItem]);\n onChange?.([newItem]);\n } else {\n setUploadList((prev) => {\n let prevListNew = prev;\n if (maxCount && prevListNew.length >= maxCount) {\n prevListNew = prevListNew.slice(0, maxCount - 1);\n }\n const mergedList = [...prevListNew, newItem];\n onChange?.(mergedList);\n return mergedList;\n });\n }\n } catch (error) {\n void message.error(error?.['message'] || '上传操作失败');\n throw error;\n } finally {\n setLoading(false);\n }\n });\n\n const onPaste = useMemoizedFn(async (e: React.ClipboardEvent) => {\n e.preventDefault();\n const file = getImageFileFromPaste(e);\n if (!file) return;\n await onChangeHandler?.([file]);\n setShowPasteSuccess(true);\n setTimeout(() => {\n setShowPasteSuccess(false);\n }, 1500);\n });\n const onPreview = useMemoizedFn((url: string) => {\n dialogPreviewImage.show({ imageUrl: url });\n });\n\n const onRemove = useMemoizedFn((index: number) => {\n setUploadList((prev) => {\n const next = prev.filter((_, i) => i !== index);\n onChange?.(next);\n return next;\n });\n });\n\n const accept = useMemo(() => {\n if (props.accept) {\n return props.accept;\n }\n return props.onlyUploadImage ? 'image/*' : undefined;\n }, [props.accept, props.onlyUploadImage]);\n\n if (props.disabled) {\n if (!uploadList?.length) {\n return null;\n }\n return (\n <div className=\"v-upload-multi-type-disabled\">\n <FileListView\n uploadList={uploadList}\n onPreview={onPreview}\n onRemove={onRemove}\n disabled={props.disabled}\n />\n </div>\n );\n }\n\n return (\n <div className={'v-upload-multi-type'}>\n <div className=\"v-upload-multi-type-inner\">\n <Tabs\n destroyOnHidden={false}\n items={[\n {\n key: 'dragger',\n label: '点击&拖拽上传',\n forceRender: true,\n children: (\n <Spin spinning={loading}>\n <UploadWrapper\n name=\"file\"\n accept={accept}\n maxCount={maxCount}\n autoSubmit={false}\n onChange={onChangeHandler}\n isDragger\n showUploadList={false}\n />\n </Spin>\n ),\n },\n {\n key: 'paste',\n label: '粘贴上传',\n forceRender: true,\n children: (\n <Spin spinning={loading}>\n <div\n className=\"upload-image-paste-zone\"\n onPaste={onPaste}\n tabIndex={0}\n role=\"textbox\"\n aria-label=\"粘贴图片区域\"\n >\n {showPasteSuccess ? (\n <span className=\"upload-image-paste-tip success\">\n 已粘贴上传图片成功\n </span>\n ) : (\n <span className=\"upload-image-paste-tip\">\n 在此区域点击后使用 Ctrl+V / Cmd+V 粘贴图片\n </span>\n )}\n </div>\n </Spin>\n ),\n },\n ]}\n />\n {uploadList.length > 0 ? (\n <FileListView\n uploadList={uploadList}\n onPreview={onPreview}\n onRemove={onRemove}\n disabled={props.disabled}\n />\n ) : null}\n </div>\n </div>\n );\n};\n"],"names":["IMAGE_EXTENSIONS","isImageFile","name","url","str","ext","slice","lastIndexOf","toLowerCase","includes","FileListView","props","_props$uploadList","uploadList","onPreview","onRemove","length","_jsx","className","children","map","item","index","isImage","_jsxs","title","onClick","Button","type","size","icon","_EyeOutlined","hidden","disabled","_DeleteOutlined","concat","getImageFileFromPaste","e","_e$clipboardData","items","clipboardData","i","indexOf","getAsFile","UploadMultiType","value","onChange","_useState","useState","_useState2","_slicedToArray","showPasteSuccess","setShowPasteSuccess","_useState3","_useState4","loading","setLoading","maxCount","_useState5","Array","isArray","_item$name","_item$url","_item$url$split","_item$url2","split","call","pop","_useState6","setUploadList","onChangeHandler","useMemoizedFn","data","Promise","$return","$error","$Try_1_Finally","$Try_1_Exit","$Try_1_Value","$boundEx","bind","files","_props$onUploadFile","respData","fileName","newItem","$Try_1_Post","$Try_1_Catch","error","message","resolve","onUploadFile","then","$await_2","prev","prevListNew","mergedList","_toConsumableArray","onPaste","file","preventDefault","$await_3","setTimeout","dialogPreviewImage","show","imageUrl","next","filter","_","accept","useMemo","onlyUploadImage","undefined","Tabs","destroyOnHidden","key","label","forceRender","Spin","spinning","UploadWrapper","autoSubmit","isDragger","showUploadList","tabIndex","role"],"mappings":"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"}
|