@pisell/materials 1.0.482 → 1.0.484

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.
Files changed (47) hide show
  1. package/build/lowcode/assets-daily.json +11 -11
  2. package/build/lowcode/assets-dev.json +2 -2
  3. package/build/lowcode/assets-prod.json +11 -11
  4. package/build/lowcode/index.js +1 -1
  5. package/build/lowcode/meta.js +5 -5
  6. package/build/lowcode/preview.js +3 -3
  7. package/build/lowcode/render/default/view.css +1 -1
  8. package/build/lowcode/render/default/view.js +21 -21
  9. package/build/lowcode/view.css +1 -1
  10. package/build/lowcode/view.js +21 -21
  11. package/es/components/dataSourceComponents/fields/TimePicker/WithMode.js +2 -2
  12. package/es/components/dataSourceComponents/fields/Upload/BaseUpload.js +197 -74
  13. package/es/components/dataSourceComponents/fields/Upload/ReadPretty.js +4 -1
  14. package/es/components/dataSourceComponents/fields/Upload/index.less +6 -1
  15. package/es/components/dataSourceComponents/fields/Upload/type.d.ts +1 -1
  16. package/es/components/dataSourceComponents/fields/Upload/utils.d.ts +1 -0
  17. package/es/components/dataSourceComponents/fields/Upload/utils.js +203 -2
  18. package/es/components/dataSourceComponents/fields/index.d.ts +20 -20
  19. package/es/components/dataSourceComponents/fields/index.js +16 -16
  20. package/es/components/iconfont/index.js +1 -1
  21. package/es/components/table/Table/utils.d.ts +1 -1
  22. package/lib/components/dataSourceComponents/fields/TimePicker/WithMode.js +2 -2
  23. package/lib/components/dataSourceComponents/fields/Upload/BaseUpload.js +164 -50
  24. package/lib/components/dataSourceComponents/fields/Upload/ReadPretty.js +2 -1
  25. package/lib/components/dataSourceComponents/fields/Upload/index.less +6 -1
  26. package/lib/components/dataSourceComponents/fields/Upload/type.d.ts +1 -1
  27. package/lib/components/dataSourceComponents/fields/Upload/utils.d.ts +1 -0
  28. package/lib/components/dataSourceComponents/fields/Upload/utils.js +235 -2
  29. package/lib/components/dataSourceComponents/fields/index.d.ts +20 -20
  30. package/lib/components/dataSourceComponents/fields/index.js +16 -16
  31. package/lib/components/iconfont/index.js +1 -1
  32. package/lib/components/table/Table/utils.d.ts +1 -1
  33. package/lowcode/data-source-form/constants.ts +47 -0
  34. package/lowcode/data-source-form/meta.ts +2 -10
  35. package/lowcode/data-source-form/utils.ts +27 -4
  36. package/lowcode/data-source-table/utils.tsx +2 -2
  37. package/lowcode/form/meta.ts +0 -94
  38. package/lowcode/form-group/snippets.ts +1 -0
  39. package/lowcode/form-item-checkbox/snippets.ts +7 -2
  40. package/lowcode/form-item-color-picker/snippets.ts +1 -0
  41. package/lowcode/form-item-input.json/snippets.ts +1 -0
  42. package/lowcode/form-item-radio/snippets.ts +1 -0
  43. package/lowcode/form-item-upload/meta.ts +52 -30
  44. package/lowcode/form-item-upload/utils.ts +230 -0
  45. package/lowcode/submit-button/meta.ts +12 -0
  46. package/lowcode/submit-button/snippets.ts +1 -0
  47. package/package.json +3 -3
@@ -78,8 +78,8 @@ var TimePicker = function TimePicker(props) {
78
78
  value: normalizedValue === null || normalizedValue === void 0 ? void 0 : normalizedValue.format('HH:mm'),
79
79
  onChange: function onChange(timeString) {
80
80
  if (_onChange) {
81
- var timeValue = dayjs("".concat(dayjs().format('YYYY-MM-DD'), " ").concat(timeString));
82
- _onChange(timeValue, timeString);
81
+ var timeValue = timeString ? dayjs("".concat(dayjs().format('YYYY-MM-DD'), " ").concat(timeString)) : null;
82
+ _onChange(timeValue, timeString || '');
83
83
  }
84
84
  },
85
85
  timePickerProps: _objectSpread({
@@ -1,6 +1,12 @@
1
1
  function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
2
- var _excluded = ["renderMode", "maxSize", "minCount", "maxCount", "multiple", "presetType", "customType", "enablePresetType", "enableCustomType"];
2
+ var _excluded = ["renderMode", "maxSize", "minCount", "maxCount", "multiple", "presetType", "customType", "enablePresetType", "enableCustomType", "allowPreview", "value"],
3
+ _excluded2 = ["cover"];
3
4
  function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
5
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
6
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
7
+ function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
8
+ function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
9
+ function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
4
10
  function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
5
11
  function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
6
12
  function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); }
@@ -16,18 +22,21 @@ function _iterableToArrayLimit(arr, i) { var _i = null == arr ? null : "undefine
16
22
  function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
17
23
  function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
18
24
  function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
19
- import React, { useState, useMemo } from 'react';
25
+ import React, { useState, useMemo, useEffect } from 'react';
20
26
  import { PlusOutlined } from '@ant-design/icons';
21
- import { message } from 'antd';
27
+ import { message, Upload, Image } from 'antd';
22
28
  import { useDebounceFn } from 'ahooks';
29
+ import { isString } from '@pisell/utils';
30
+ import IconFont from "../../../iconfont";
23
31
  import useEngineContext from "../../../../hooks/useEngineContext";
24
32
  import { getText } from "../../../../locales";
25
33
  import PisellUpload from "../../../pisellUpload";
26
- import { getPointSuffix, checkFileCount } from "./utils";
34
+ import { getPointSuffix, checkFileCount, getPresetTypes } from "./utils";
27
35
  import "./index.less";
28
36
  var BaseUpload = function BaseUpload(props) {
29
37
  var renderMode = props.renderMode,
30
- maxSize = props.maxSize,
38
+ _props$maxSize = props.maxSize,
39
+ maxSize = _props$maxSize === void 0 ? 3 : _props$maxSize,
31
40
  minCount = props.minCount,
32
41
  maxCount = props.maxCount,
33
42
  multiple = props.multiple,
@@ -35,16 +44,53 @@ var BaseUpload = function BaseUpload(props) {
35
44
  customType = props.customType,
36
45
  enablePresetType = props.enablePresetType,
37
46
  enableCustomType = props.enableCustomType,
47
+ allowPreview = props.allowPreview,
48
+ value = props.value,
38
49
  restProps = _objectWithoutProperties(props, _excluded);
39
50
  var _useState = useState([]),
40
51
  _useState2 = _slicedToArray(_useState, 2),
41
52
  fileList = _useState2[0],
42
53
  setFileList = _useState2[1];
54
+ var _useState3 = useState(''),
55
+ _useState4 = _slicedToArray(_useState3, 2),
56
+ previewImage = _useState4[0],
57
+ setPreviewImage = _useState4[1];
58
+ var _useState5 = useState(false),
59
+ _useState6 = _slicedToArray(_useState5, 2),
60
+ previewOpen = _useState6[0],
61
+ setPreviewOpen = _useState6[1];
43
62
  var _useEngineContext = useEngineContext(),
44
63
  appHelper = _useEngineContext.appHelper;
45
64
  var _appHelper$constants = appHelper === null || appHelper === void 0 ? void 0 : appHelper.constants,
46
65
  mediaUploadUrl = _appHelper$constants.mediaUploadUrl,
47
66
  getHeaders = _appHelper$constants.getHeaders;
67
+ useEffect(function () {
68
+ if (!value) {
69
+ setFileList([]);
70
+ return;
71
+ }
72
+ if (isString(value)) {
73
+ setFileList([{
74
+ uid: '-1',
75
+ name: value.split('/').pop() || 'file',
76
+ status: 'done',
77
+ url: value
78
+ }]);
79
+ return;
80
+ }
81
+ if (Array.isArray(value)) {
82
+ var newFileList = value.map(function (url, index) {
83
+ return {
84
+ uid: "-".concat(index + 1),
85
+ name: url.split('/').pop() || "file".concat(index + 1),
86
+ status: 'done',
87
+ url: url
88
+ };
89
+ });
90
+ setFileList(newFileList);
91
+ return;
92
+ }
93
+ }, [value]);
48
94
  var calcMaxCount = useMemo(function () {
49
95
  if (multiple) {
50
96
  return maxCount || 9;
@@ -56,46 +102,78 @@ var BaseUpload = function BaseUpload(props) {
56
102
  return _regeneratorRuntime().wrap(function _callee$(_context) {
57
103
  while (1) switch (_context.prev = _context.next) {
58
104
  case 0:
105
+ if (!file.type.startsWith('video/')) {
106
+ _context.next = 2;
107
+ break;
108
+ }
59
109
  return _context.abrupt("return", new Promise(function (resolve) {
60
- if (file.type.startsWith('image/')) {
61
- var img = new Image();
62
- img.src = URL.createObjectURL(file);
63
- img.onload = function () {
64
- URL.revokeObjectURL(img.src);
65
- resolve({
66
- width: img.width,
67
- height: img.height
68
- });
69
- };
70
- } else if (file.type.startsWith('video/')) {
71
- var video = document.createElement('video');
72
- video.preload = 'metadata';
73
- video.src = URL.createObjectURL(file);
74
- video.onloadedmetadata = function () {
75
- URL.revokeObjectURL(video.src);
76
- resolve({
77
- width: video.videoWidth,
78
- height: video.videoHeight,
79
- duration: video.duration,
80
- bitrate: file.size / video.duration
81
- });
82
- };
83
- } else if (file.type.startsWith('audio/')) {
84
- var audio = document.createElement('audio');
85
- audio.preload = 'metadata';
86
- audio.src = URL.createObjectURL(file);
87
- audio.onloadedmetadata = function () {
88
- URL.revokeObjectURL(audio.src);
89
- resolve({
90
- duration: audio.duration,
91
- bitrate: file.size / audio.duration
92
- });
93
- };
94
- } else {
95
- resolve({});
96
- }
110
+ var video = document.createElement('video');
111
+ video.preload = 'metadata';
112
+ var canvas = document.createElement('canvas');
113
+ var hasMetadata = false;
114
+ var hasSeeked = false;
115
+ var tryResolve = function tryResolve() {
116
+ if (hasMetadata && hasSeeked) {
117
+ var ctx = canvas.getContext('2d');
118
+ ctx === null || ctx === void 0 ? void 0 : ctx.drawImage(video, 0, 0, canvas.width, canvas.height);
119
+ canvas.toBlob(function (blob) {
120
+ if (blob) {
121
+ var cover = new File([blob], "".concat(file.name, "-cover.jpg"), {
122
+ type: 'image/jpeg'
123
+ });
124
+ URL.revokeObjectURL(video.src);
125
+ resolve({
126
+ width: video.videoWidth,
127
+ height: video.videoHeight,
128
+ duration: video.duration,
129
+ bitrate: file.size / video.duration,
130
+ cover: cover
131
+ });
132
+ } else {
133
+ URL.revokeObjectURL(video.src);
134
+ resolve({
135
+ width: video.videoWidth,
136
+ height: video.videoHeight,
137
+ duration: video.duration,
138
+ bitrate: file.size / video.duration
139
+ });
140
+ }
141
+ }, 'image/jpeg', 0.8);
142
+ }
143
+ };
144
+ video.onloadedmetadata = function () {
145
+ canvas.width = video.videoWidth;
146
+ canvas.height = video.videoHeight;
147
+ video.currentTime = 0;
148
+ hasMetadata = true;
149
+ tryResolve();
150
+ };
151
+ video.onseeked = function () {
152
+ hasSeeked = true;
153
+ tryResolve();
154
+ };
155
+ video.src = URL.createObjectURL(file);
156
+ }));
157
+ case 2:
158
+ if (!file.type.startsWith('audio/')) {
159
+ _context.next = 4;
160
+ break;
161
+ }
162
+ return _context.abrupt("return", new Promise(function (resolve) {
163
+ var audio = document.createElement('audio');
164
+ audio.preload = 'metadata';
165
+ audio.src = URL.createObjectURL(file);
166
+ audio.onloadedmetadata = function () {
167
+ URL.revokeObjectURL(audio.src);
168
+ resolve({
169
+ duration: audio.duration,
170
+ bitrate: file.size / audio.duration
171
+ });
172
+ };
97
173
  }));
98
- case 1:
174
+ case 4:
175
+ return _context.abrupt("return", Promise.resolve(null));
176
+ case 5:
99
177
  case "end":
100
178
  return _context.stop();
101
179
  }
@@ -107,29 +185,18 @@ var BaseUpload = function BaseUpload(props) {
107
185
  }();
108
186
  var handleChange = /*#__PURE__*/function () {
109
187
  var _ref3 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee2(_ref2) {
110
- var file, newFileList, metadata, _props$onChange, _file$response;
188
+ var file, newFileList, _props$onChange, _file$response, _file$response$data;
111
189
  return _regeneratorRuntime().wrap(function _callee2$(_context2) {
112
190
  while (1) switch (_context2.prev = _context2.next) {
113
191
  case 0:
114
192
  file = _ref2.file, newFileList = _ref2.fileList;
115
193
  setFileList(newFileList);
116
- if (!(file.status === 'uploading')) {
117
- _context2.next = 7;
118
- break;
119
- }
120
- _context2.next = 5;
121
- return getMediaMetadata(file.originFileObj);
122
- case 5:
123
- metadata = _context2.sent;
124
- file.metadata = metadata;
125
- case 7:
126
194
  if (file.status === 'done') {
127
- message.success("".concat(file.name, " \u4E0A\u4F20\u6210\u529F"));
128
- (_props$onChange = props.onChange) === null || _props$onChange === void 0 ? void 0 : _props$onChange.call(props, (_file$response = file.response) === null || _file$response === void 0 ? void 0 : _file$response.url);
195
+ (_props$onChange = props.onChange) === null || _props$onChange === void 0 ? void 0 : _props$onChange.call(props, (_file$response = file.response) === null || _file$response === void 0 ? void 0 : (_file$response$data = _file$response.data) === null || _file$response$data === void 0 ? void 0 : _file$response$data.url);
129
196
  } else if (file.status === 'error') {
130
197
  message.error("".concat(file.name, " \u4E0A\u4F20\u5931\u8D25"));
131
198
  }
132
- case 8:
199
+ case 3:
133
200
  case "end":
134
201
  return _context2.stop();
135
202
  }
@@ -156,23 +223,24 @@ var BaseUpload = function BaseUpload(props) {
156
223
  });
157
224
  var uploadButton = /*#__PURE__*/React.createElement("button", {
158
225
  className: "pisell-upload-button",
159
- type: "button"
226
+ type: "button",
227
+ disabled: restProps.disabled
160
228
  }, /*#__PURE__*/React.createElement(PlusOutlined, null), /*#__PURE__*/React.createElement("div", {
161
229
  className: "pisell-upload-text"
162
230
  }, getText('pisell-upload-button')));
163
231
  var accept = useMemo(function () {
164
232
  var types = [];
165
233
  if (enablePresetType) {
166
- types = _toConsumableArray(presetType || []);
234
+ types = _toConsumableArray(getPresetTypes(presetType) || []);
167
235
  }
168
236
  if (enableCustomType) {
169
237
  types = [].concat(_toConsumableArray(types), _toConsumableArray(customType || []));
170
238
  }
171
- return types.join(', ');
239
+ return types.join(',');
172
240
  }, [presetType, customType, enableCustomType, enablePresetType]);
173
241
  var beforeUpload = /*#__PURE__*/function () {
174
242
  var _ref4 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee3(file, newFileList) {
175
- var currentFileCount, pointSuffix, _checkFileCount, success, messageStr;
243
+ var currentFileCount, pointSuffix, _checkFileCount, success, messageStr, metadata, cover, restMetadata;
176
244
  return _regeneratorRuntime().wrap(function _callee3$(_context3) {
177
245
  while (1) switch (_context3.prev = _context3.next) {
178
246
  case 0:
@@ -182,13 +250,14 @@ var BaseUpload = function BaseUpload(props) {
182
250
  currentFileCount = index + 1;
183
251
  }
184
252
  });
253
+
185
254
  // 文件大小超出限制
186
- if (!(file.size > calcMaxCount * 1024 * 1024)) {
255
+ if (!(file.size > maxSize * 1024 * 1024)) {
187
256
  _context3.next = 5;
188
257
  break;
189
258
  }
190
259
  sizeError.run(getText('pisell-upload-setting-size-error')(maxSize));
191
- return _context3.abrupt("return", false);
260
+ return _context3.abrupt("return", Upload.LIST_IGNORE);
192
261
  case 5:
193
262
  pointSuffix = getPointSuffix(file.name); // 文件类型不符合
194
263
  if (!(accept !== '' && !(accept || '').includes(pointSuffix))) {
@@ -196,7 +265,7 @@ var BaseUpload = function BaseUpload(props) {
196
265
  break;
197
266
  }
198
267
  typeError.run(getText('pisell-upload-setting-type-error')(pointSuffix));
199
- return _context3.abrupt("return", false);
268
+ return _context3.abrupt("return", Upload.LIST_IGNORE);
200
269
  case 9:
201
270
  // 文件个数超出限制
202
271
  _checkFileCount = checkFileCount({
@@ -210,21 +279,53 @@ var BaseUpload = function BaseUpload(props) {
210
279
  break;
211
280
  }
212
281
  countError.run(messageStr);
213
- return _context3.abrupt("return", false);
282
+ return _context3.abrupt("return", Upload.LIST_IGNORE);
214
283
  case 13:
284
+ _context3.prev = 13;
285
+ _context3.next = 16;
286
+ return getMediaMetadata(file);
287
+ case 16:
288
+ metadata = _context3.sent;
289
+ if (metadata) {
290
+ cover = metadata.cover, restMetadata = _objectWithoutProperties(metadata, _excluded2);
291
+ file.metadata = restMetadata;
292
+ file.cover = cover;
293
+ }
294
+ _context3.next = 23;
295
+ break;
296
+ case 20:
297
+ _context3.prev = 20;
298
+ _context3.t0 = _context3["catch"](13);
299
+ console.error('获取媒体元数据失败:', _context3.t0);
300
+ case 23:
215
301
  return _context3.abrupt("return", file);
216
- case 14:
302
+ case 24:
217
303
  case "end":
218
304
  return _context3.stop();
219
305
  }
220
- }, _callee3);
306
+ }, _callee3, null, [[13, 20]]);
221
307
  }));
222
308
  return function beforeUpload(_x4, _x5) {
223
309
  return _ref4.apply(this, arguments);
224
310
  };
225
311
  }();
226
- return /*#__PURE__*/React.createElement(PisellUpload, _extends({}, restProps, {
312
+ var handlePreview = function handlePreview(file) {
313
+ var _file$response2, _file$response2$data;
314
+ setPreviewImage(file.url || ((_file$response2 = file.response) === null || _file$response2 === void 0 ? void 0 : (_file$response2$data = _file$response2.data) === null || _file$response2$data === void 0 ? void 0 : _file$response2$data.url) || '');
315
+ setPreviewOpen(true);
316
+ };
317
+ return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(PisellUpload, _extends({}, restProps, {
318
+ multiple: multiple,
319
+ showUploadList: {
320
+ showRemoveIcon: true,
321
+ showPreviewIcon: allowPreview
322
+ },
227
323
  uploadType: "custom",
324
+ iconRender: function iconRender() {
325
+ return /*#__PURE__*/React.createElement(IconFont, {
326
+ type: "pisell2-a-BlueFile1"
327
+ });
328
+ },
228
329
  listType: "picture-card",
229
330
  fileList: fileList,
230
331
  onChange: handleChange,
@@ -232,14 +333,36 @@ var BaseUpload = function BaseUpload(props) {
232
333
  method: "post",
233
334
  accept: accept,
234
335
  name: "file",
336
+ onPreview: handlePreview,
235
337
  data: function data(file) {
236
- return {
237
- group_id: 0,
238
- metadata: file.metadata ? JSON.stringify(file.metadata) : undefined
239
- };
338
+ var _file$metadata, _file$metadata2, _file$metadata3, _file$metadata4;
339
+ return _objectSpread(_objectSpread({
340
+ group_id: 0
341
+ }, file.metadata ? {
342
+ 'metadata[width]': (_file$metadata = file.metadata) === null || _file$metadata === void 0 ? void 0 : _file$metadata.width,
343
+ 'metadata[height]': (_file$metadata2 = file.metadata) === null || _file$metadata2 === void 0 ? void 0 : _file$metadata2.height,
344
+ 'metadata[duration]': (_file$metadata3 = file.metadata) === null || _file$metadata3 === void 0 ? void 0 : _file$metadata3.duration,
345
+ 'metadata[bitrate]': (_file$metadata4 = file.metadata) === null || _file$metadata4 === void 0 ? void 0 : _file$metadata4.bitrate
346
+ } : {}), file.cover ? {
347
+ cover: file.cover
348
+ } : {});
240
349
  },
241
- headers: getHeaders(),
350
+ headers: getHeaders === null || getHeaders === void 0 ? void 0 : getHeaders(),
242
351
  beforeUpload: beforeUpload
243
- }), fileList.length >= calcMaxCount ? null : uploadButton);
352
+ }), fileList.length >= calcMaxCount ? null : uploadButton), previewImage && /*#__PURE__*/React.createElement(Image, {
353
+ wrapperStyle: {
354
+ display: 'none'
355
+ },
356
+ preview: {
357
+ visible: previewOpen,
358
+ onVisibleChange: function onVisibleChange(visible) {
359
+ return setPreviewOpen(visible);
360
+ },
361
+ afterOpenChange: function afterOpenChange(visible) {
362
+ return !visible && setPreviewImage('');
363
+ }
364
+ },
365
+ src: previewImage
366
+ }));
244
367
  };
245
368
  export default BaseUpload;
@@ -1,5 +1,8 @@
1
1
  import React from 'react';
2
+ import { Image } from 'antd';
2
3
  var UploadReadPretty = function UploadReadPretty(props) {
3
- return /*#__PURE__*/React.createElement("div", null, "UploadReadPretty");
4
+ return /*#__PURE__*/React.createElement(Image, {
5
+ src: props.value
6
+ });
4
7
  };
5
8
  export default UploadReadPretty;
@@ -1,8 +1,13 @@
1
1
  .pisell-upload-button {
2
2
  border: 0;
3
3
  background: none;
4
-
4
+ cursor: inherit;
5
+
5
6
  .pisell-upload-text {
6
7
  margin-top: 8px;
7
8
  }
9
+
10
+ // &[disabled] {
11
+ // opacity: 0.4;
12
+ // }
8
13
  }
@@ -10,7 +10,7 @@ export interface UploadFile extends AntdUploadFile {
10
10
  }
11
11
  export interface UploadProps extends PisellUploadProps {
12
12
  renderMode?: 'read' | 'edit';
13
- value?: string;
13
+ value?: string | string[];
14
14
  allowMediaLibrary?: boolean;
15
15
  allowLocalUpload?: boolean;
16
16
  allowPreview?: boolean;
@@ -1,5 +1,6 @@
1
1
  export declare const getSuffix: (name: string) => string | undefined;
2
2
  export declare const getPointSuffix: (name: string) => string;
3
+ export declare const getPresetTypes: (presetTypes?: string[]) => string[];
3
4
  export declare const checkFileCount: ({ multiple, minCount, maxCount, valueLength, }: {
4
5
  multiple: boolean;
5
6
  minCount: number;