rsuite 5.0.1 → 5.0.2
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/CHANGELOG.md +12 -0
- package/Uploader/styles/index.less +10 -0
- package/cjs/Cascader/Cascader.js +2 -1
- package/cjs/DatePicker/DatePicker.js +2 -1
- package/cjs/DateRangePicker/DateRangePicker.js +11 -5
- package/cjs/InputPicker/InputPicker.js +2 -1
- package/cjs/MultiCascader/MultiCascader.js +2 -1
- package/cjs/SelectPicker/SelectPicker.js +2 -1
- package/cjs/Table/Table.d.ts +7 -7
- package/cjs/TagPicker/index.d.ts +1 -1
- package/cjs/TreePicker/TreePicker.js +2 -1
- package/cjs/Uploader/UploadFileItem.d.ts +2 -0
- package/cjs/Uploader/UploadFileItem.js +35 -19
- package/cjs/Uploader/Uploader.d.ts +2 -0
- package/cjs/Uploader/Uploader.js +4 -1
- package/cjs/utils/previewFile.d.ts +1 -0
- package/cjs/utils/previewFile.js +11 -0
- package/dist/rsuite-rtl.css +8 -0
- package/dist/rsuite-rtl.min.css +1 -1
- package/dist/rsuite-rtl.min.css.map +1 -1
- package/dist/rsuite.css +8 -0
- package/dist/rsuite.js +12 -12
- package/dist/rsuite.min.css +1 -1
- package/dist/rsuite.min.css.map +1 -1
- package/dist/rsuite.min.js +1 -1
- package/dist/rsuite.min.js.map +1 -1
- package/esm/Cascader/Cascader.js +2 -1
- package/esm/DatePicker/DatePicker.js +2 -1
- package/esm/DateRangePicker/DateRangePicker.js +11 -5
- package/esm/InputPicker/InputPicker.js +2 -1
- package/esm/MultiCascader/MultiCascader.js +2 -1
- package/esm/SelectPicker/SelectPicker.js +2 -1
- package/esm/Table/Table.d.ts +7 -7
- package/esm/TagPicker/index.d.ts +1 -1
- package/esm/TreePicker/TreePicker.js +2 -1
- package/esm/Uploader/UploadFileItem.d.ts +2 -0
- package/esm/Uploader/UploadFileItem.js +35 -19
- package/esm/Uploader/Uploader.d.ts +2 -0
- package/esm/Uploader/Uploader.js +4 -1
- package/esm/utils/previewFile.d.ts +1 -0
- package/esm/utils/previewFile.js +9 -0
- package/package.json +2 -2
- package/styles/variables.less +3 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,15 @@
|
|
|
1
|
+
<a name="5.0.2"></a>
|
|
2
|
+
|
|
3
|
+
## [5.0.2](https://github.com/rsuite/rsuite/compare/v5.0.1...v5.0.2) (2021-10-15)
|
|
4
|
+
|
|
5
|
+
### Bug Fixes
|
|
6
|
+
|
|
7
|
+
- **date-range-picker:** fix date formatting error when typing ([#1991](https://github.com/rsuite/rsuite/issues/1991)) ([f65f7f8](https://github.com/rsuite/rsuite/commit/f65f7f8))
|
|
8
|
+
- **pickers:** clean button overlapping with value ([#1984](https://github.com/rsuite/rsuite/issues/1984)) ([ec127dc](https://github.com/rsuite/rsuite/commit/ec127dc))
|
|
9
|
+
- **table:** fix the typescript type definition of Table ([#1998](https://github.com/rsuite/rsuite/issues/1998)) ([8d00b8d](https://github.com/rsuite/rsuite/commit/8d00b8d)), closes [#1958](https://github.com/rsuite/rsuite/issues/1958)
|
|
10
|
+
- **tag-picker:** update TagPicker trigger props declare. ([#1996](https://github.com/rsuite/rsuite/issues/1996)) ([27da381](https://github.com/rsuite/rsuite/commit/27da381))
|
|
11
|
+
- **uploader:** improve thumbnail rendering on file list ([#1997](https://github.com/rsuite/rsuite/issues/1997)) ([68344d7](https://github.com/rsuite/rsuite/commit/68344d7))
|
|
12
|
+
|
|
1
13
|
<a name="5.0.1"></a>
|
|
2
14
|
|
|
3
15
|
## [5.0.1](https://github.com/rsuite/rsuite/compare/v5.0.0-beta.8...v5.0.1) (2021-10-09)
|
|
@@ -213,6 +213,11 @@
|
|
|
213
213
|
> img {
|
|
214
214
|
.img-cover();
|
|
215
215
|
}
|
|
216
|
+
|
|
217
|
+
.rs-uploader-file-item-icon {
|
|
218
|
+
font-size: @uploader-file-item-icon-font-size;
|
|
219
|
+
margin: @uploader-file-item-icon-margin-plus;
|
|
220
|
+
}
|
|
216
221
|
}
|
|
217
222
|
|
|
218
223
|
&-status {
|
|
@@ -351,6 +356,11 @@
|
|
|
351
356
|
> img {
|
|
352
357
|
.img-cover();
|
|
353
358
|
}
|
|
359
|
+
|
|
360
|
+
.rs-uploader-file-item-icon {
|
|
361
|
+
font-size: @uploader-file-item-icon-font-size;
|
|
362
|
+
margin: @uploader-file-item-icon-margin;
|
|
363
|
+
}
|
|
354
364
|
}
|
|
355
365
|
|
|
356
366
|
&-content {
|
package/cjs/Cascader/Cascader.js
CHANGED
|
@@ -473,7 +473,8 @@ var Cascader = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
|
|
|
473
473
|
var _usePickerClassName = (0, _Picker.usePickerClassName)((0, _extends3.default)({}, props, {
|
|
474
474
|
classPrefix: classPrefix,
|
|
475
475
|
hasValue: hasValue,
|
|
476
|
-
name: 'cascader'
|
|
476
|
+
name: 'cascader',
|
|
477
|
+
cleanable: cleanable
|
|
477
478
|
})),
|
|
478
479
|
classes = _usePickerClassName[0],
|
|
479
480
|
usedClassNamePropKeys = _usePickerClassName[1]; // TODO: bad api design
|
|
@@ -417,7 +417,8 @@ var DatePicker = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
|
|
|
417
417
|
var _usePickerClassName = (0, _Picker.usePickerClassName)((0, _extends2.default)({}, props, {
|
|
418
418
|
classPrefix: classPrefix,
|
|
419
419
|
name: 'date',
|
|
420
|
-
hasValue: hasValue
|
|
420
|
+
hasValue: hasValue,
|
|
421
|
+
cleanable: cleanable
|
|
421
422
|
})),
|
|
422
423
|
classes = _usePickerClassName[0],
|
|
423
424
|
usedClassNamePropKeys = _usePickerClassName[1];
|
|
@@ -98,7 +98,8 @@ var DateRangePicker = /*#__PURE__*/_react.default.forwardRef(function (props, re
|
|
|
98
98
|
|
|
99
99
|
var _useCustom = (0, _utils.useCustom)('DateRangePicker', overrideLocale),
|
|
100
100
|
locale = _useCustom.locale,
|
|
101
|
-
formatDate = _useCustom.formatDate
|
|
101
|
+
formatDate = _useCustom.formatDate,
|
|
102
|
+
parseDate = _useCustom.parseDate;
|
|
102
103
|
|
|
103
104
|
var rangeFormatStr = "" + formatStr + character + formatStr;
|
|
104
105
|
|
|
@@ -393,13 +394,17 @@ var DateRangePicker = /*#__PURE__*/_react.default.forwardRef(function (props, re
|
|
|
393
394
|
var rangeValue = value.split(character); // isMatch('01/11/2020', 'MM/dd/yyyy') ==> true
|
|
394
395
|
// isMatch('2020-11-01', 'MM/dd/yyyy') ==> false
|
|
395
396
|
|
|
396
|
-
if (!_utils.DateUtils.isMatch(rangeValue[0], formatStr
|
|
397
|
+
if (!_utils.DateUtils.isMatch(rangeValue[0], formatStr, {
|
|
398
|
+
locale: locale.dateLocale
|
|
399
|
+
}) || !_utils.DateUtils.isMatch(rangeValue[1], formatStr, {
|
|
400
|
+
locale: locale.dateLocale
|
|
401
|
+
})) {
|
|
397
402
|
setInputState('Error');
|
|
398
403
|
return;
|
|
399
404
|
}
|
|
400
405
|
|
|
401
|
-
var startDate =
|
|
402
|
-
var endDate =
|
|
406
|
+
var startDate = parseDate(rangeValue[0], formatStr);
|
|
407
|
+
var endDate = parseDate(rangeValue[1], formatStr);
|
|
403
408
|
var selectValue = [startDate, endDate];
|
|
404
409
|
|
|
405
410
|
if (!_utils.DateUtils.isValid(startDate) || !_utils.DateUtils.isValid(endDate)) {
|
|
@@ -569,7 +574,8 @@ var DateRangePicker = /*#__PURE__*/_react.default.forwardRef(function (props, re
|
|
|
569
574
|
var _usePickerClassName = (0, _Picker.usePickerClassName)((0, _extends2.default)({}, props, {
|
|
570
575
|
classPrefix: classPrefix,
|
|
571
576
|
name: 'daterange',
|
|
572
|
-
hasValue: hasValue
|
|
577
|
+
hasValue: hasValue,
|
|
578
|
+
cleanable: cleanable
|
|
573
579
|
})),
|
|
574
580
|
classes = _usePickerClassName[0],
|
|
575
581
|
usedClassNamePropKeys = _usePickerClassName[1];
|
|
@@ -674,7 +674,8 @@ var InputPicker = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
|
|
|
674
674
|
classPrefix: classPrefix,
|
|
675
675
|
appearance: appearance,
|
|
676
676
|
hasValue: hasValue,
|
|
677
|
-
name: 'input'
|
|
677
|
+
name: 'input',
|
|
678
|
+
cleanable: cleanable
|
|
678
679
|
})),
|
|
679
680
|
pickerClasses = _usePickerClassName[0],
|
|
680
681
|
usedClassNamePropKeys = _usePickerClassName[1];
|
|
@@ -479,7 +479,8 @@ var MultiCascader = /*#__PURE__*/_react.default.forwardRef(function (props, ref)
|
|
|
479
479
|
var _usePickerClassName = (0, _Picker.usePickerClassName)((0, _extends3.default)({}, props, {
|
|
480
480
|
classPrefix: classPrefix,
|
|
481
481
|
hasValue: hasValue,
|
|
482
|
-
name: 'cascader'
|
|
482
|
+
name: 'cascader',
|
|
483
|
+
cleanable: cleanable
|
|
483
484
|
})),
|
|
484
485
|
classes = _usePickerClassName[0],
|
|
485
486
|
usedClassNamePropKeys = _usePickerClassName[1];
|
|
@@ -301,7 +301,8 @@ var SelectPicker = /*#__PURE__*/_react.default.forwardRef(function (props, ref)
|
|
|
301
301
|
classPrefix: classPrefix,
|
|
302
302
|
appearance: appearance,
|
|
303
303
|
hasValue: hasValue,
|
|
304
|
-
name: 'select'
|
|
304
|
+
name: 'select',
|
|
305
|
+
cleanable: cleanable
|
|
305
306
|
})),
|
|
306
307
|
classes = _usePickerClassName[0],
|
|
307
308
|
usedClassNamePropKeys = _usePickerClassName[1];
|
package/cjs/Table/Table.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
-
import {
|
|
3
|
-
import { StandardProps } from '../@types/common';
|
|
2
|
+
import { Column, Cell, HeaderCell, ColumnGroup, TableProps } from 'rsuite-table';
|
|
3
|
+
import { StandardProps, RsRefForwardingComponent } from '../@types/common';
|
|
4
4
|
export interface TableInstance extends React.Component<TableProps> {
|
|
5
5
|
scrollTop: (top: number) => void;
|
|
6
6
|
scrollLeft: (left: number) => void;
|
|
@@ -13,13 +13,13 @@ export interface CellProps extends StandardProps {
|
|
|
13
13
|
/** Row Data */
|
|
14
14
|
rowData?: any;
|
|
15
15
|
}
|
|
16
|
-
interface TableComponent extends
|
|
16
|
+
interface TableComponent extends RsRefForwardingComponent<'div', TableProps & {
|
|
17
17
|
ref?: React.Ref<TableInstance>;
|
|
18
18
|
}> {
|
|
19
|
-
Column:
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
19
|
+
Column: typeof Column;
|
|
20
|
+
Cell: typeof Cell;
|
|
21
|
+
HeaderCell: typeof HeaderCell;
|
|
22
|
+
ColumnGroup: typeof ColumnGroup;
|
|
23
23
|
}
|
|
24
24
|
declare const Table: TableComponent;
|
|
25
25
|
export default Table;
|
package/cjs/TagPicker/index.d.ts
CHANGED
|
@@ -7,7 +7,7 @@ export interface TagPickerProps extends InputPickerProps {
|
|
|
7
7
|
/**
|
|
8
8
|
* Set the trigger for creating tags. only valid when creatable
|
|
9
9
|
*/
|
|
10
|
-
trigger
|
|
10
|
+
trigger?: TriggerType | TriggerType[];
|
|
11
11
|
}
|
|
12
12
|
declare const TagPicker: PickerComponent<TagPickerProps>;
|
|
13
13
|
export default TagPicker;
|
|
@@ -729,7 +729,8 @@ var TreePicker = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
|
|
|
729
729
|
classPrefix: classPrefix,
|
|
730
730
|
appearance: appearance,
|
|
731
731
|
hasValue: hasValidValue,
|
|
732
|
-
name: 'tree'
|
|
732
|
+
name: 'tree',
|
|
733
|
+
cleanable: cleanable
|
|
733
734
|
})),
|
|
734
735
|
classes = _usePickerClassName[0],
|
|
735
736
|
usedClassNamePropKeys = _usePickerClassName[1];
|
|
@@ -13,9 +13,11 @@ export interface UploadFileItemProps extends WithAsProps {
|
|
|
13
13
|
allowReupload?: boolean;
|
|
14
14
|
locale?: UploaderLocale;
|
|
15
15
|
renderFileInfo?: (file: FileType, fileElement: React.ReactNode) => React.ReactNode;
|
|
16
|
+
renderThumbnail?: (file: FileType, thumbnail: React.ReactNode) => React.ReactNode;
|
|
16
17
|
onCancel?: (fileKey: number | string, event: React.MouseEvent) => void;
|
|
17
18
|
onPreview?: (file: FileType, event: React.MouseEvent) => void;
|
|
18
19
|
onReupload?: (file: FileType, event: React.MouseEvent) => void;
|
|
20
|
+
onThumbnailCompleted?: (thumbnail: string) => void;
|
|
19
21
|
}
|
|
20
22
|
/**
|
|
21
23
|
* Format display file size
|
|
@@ -71,10 +71,12 @@ var UploadFileItem = /*#__PURE__*/_react.default.forwardRef(function (props, ref
|
|
|
71
71
|
maxPreviewFileSize = _props$maxPreviewFile === void 0 ? 1024 * 1024 * 5 : _props$maxPreviewFile,
|
|
72
72
|
locale = props.locale,
|
|
73
73
|
renderFileInfo = props.renderFileInfo,
|
|
74
|
+
renderThumbnail = props.renderThumbnail,
|
|
74
75
|
onPreview = props.onPreview,
|
|
75
76
|
onCancel = props.onCancel,
|
|
76
77
|
onReupload = props.onReupload,
|
|
77
|
-
|
|
78
|
+
onThumbnailCompleted = props.onThumbnailCompleted,
|
|
79
|
+
rest = (0, _objectWithoutPropertiesLoose2.default)(props, ["as", "disabled", "allowReupload", "file", "classPrefix", "listType", "className", "removable", "maxPreviewFileSize", "locale", "renderFileInfo", "renderThumbnail", "onPreview", "onCancel", "onReupload", "onThumbnailCompleted"]);
|
|
78
80
|
|
|
79
81
|
var _useClassNames = (0, _utils.useClassNames)(classPrefix),
|
|
80
82
|
merge = _useClassNames.merge,
|
|
@@ -99,7 +101,8 @@ var UploadFileItem = /*#__PURE__*/_react.default.forwardRef(function (props, ref
|
|
|
99
101
|
|
|
100
102
|
if (!~['picture-text', 'picture'].indexOf(listType)) {
|
|
101
103
|
return;
|
|
102
|
-
}
|
|
104
|
+
} // The thumbnail file size cannot be larger than the preset value.
|
|
105
|
+
|
|
103
106
|
|
|
104
107
|
if (!file.blobFile || (file === null || file === void 0 ? void 0 : (_file$blobFile = file.blobFile) === null || _file$blobFile === void 0 ? void 0 : _file$blobFile.size) > maxPreviewFileSize) {
|
|
105
108
|
return;
|
|
@@ -111,9 +114,10 @@ var UploadFileItem = /*#__PURE__*/_react.default.forwardRef(function (props, ref
|
|
|
111
114
|
if (!file.url) {
|
|
112
115
|
getThumbnail(function (previewImage) {
|
|
113
116
|
setPreviewImage(previewImage);
|
|
117
|
+
onThumbnailCompleted === null || onThumbnailCompleted === void 0 ? void 0 : onThumbnailCompleted(previewImage);
|
|
114
118
|
});
|
|
115
119
|
}
|
|
116
|
-
}, [file.url, getThumbnail]);
|
|
120
|
+
}, [file.url, getThumbnail, onThumbnailCompleted]);
|
|
117
121
|
var handlePreview = (0, _react.useCallback)(function (event) {
|
|
118
122
|
if (disabled) {
|
|
119
123
|
return;
|
|
@@ -161,18 +165,17 @@ var UploadFileItem = /*#__PURE__*/_react.default.forwardRef(function (props, ref
|
|
|
161
165
|
};
|
|
162
166
|
|
|
163
167
|
var renderPreview = function renderPreview() {
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
return null;
|
|
168
|
+
var thumbnail = previewImage ? /*#__PURE__*/_react.default.createElement("img", {
|
|
169
|
+
role: "presentation",
|
|
170
|
+
src: previewImage,
|
|
171
|
+
alt: file.name,
|
|
172
|
+
onClick: handlePreview
|
|
173
|
+
}) : /*#__PURE__*/_react.default.createElement(_Attachment.default, {
|
|
174
|
+
className: prefix('icon')
|
|
175
|
+
});
|
|
176
|
+
return /*#__PURE__*/_react.default.createElement("div", {
|
|
177
|
+
className: prefix('preview')
|
|
178
|
+
}, renderThumbnail ? renderThumbnail(file, thumbnail) : thumbnail);
|
|
176
179
|
};
|
|
177
180
|
/**
|
|
178
181
|
* Render the loading state.
|
|
@@ -184,11 +187,22 @@ var UploadFileItem = /*#__PURE__*/_react.default.forwardRef(function (props, ref
|
|
|
184
187
|
var classes = prefix('icon-wrapper', {
|
|
185
188
|
'icon-loading': uploading
|
|
186
189
|
});
|
|
190
|
+
|
|
191
|
+
if (uploading) {
|
|
192
|
+
return /*#__PURE__*/_react.default.createElement("div", {
|
|
193
|
+
className: classes
|
|
194
|
+
}, /*#__PURE__*/_react.default.createElement("i", {
|
|
195
|
+
className: prefix('icon')
|
|
196
|
+
}));
|
|
197
|
+
}
|
|
198
|
+
|
|
199
|
+
if (listType === 'picture' || listType === 'picture-text') {
|
|
200
|
+
return null;
|
|
201
|
+
}
|
|
202
|
+
|
|
187
203
|
return /*#__PURE__*/_react.default.createElement("div", {
|
|
188
204
|
className: classes
|
|
189
|
-
},
|
|
190
|
-
className: prefix('icon')
|
|
191
|
-
}) : /*#__PURE__*/_react.default.createElement(_Attachment.default, {
|
|
205
|
+
}, /*#__PURE__*/_react.default.createElement(_Attachment.default, {
|
|
192
206
|
className: prefix('icon')
|
|
193
207
|
}));
|
|
194
208
|
};
|
|
@@ -293,9 +307,11 @@ UploadFileItem.propTypes = {
|
|
|
293
307
|
removable: _propTypes.default.bool,
|
|
294
308
|
allowReupload: _propTypes.default.bool,
|
|
295
309
|
renderFileInfo: _propTypes.default.func,
|
|
310
|
+
renderThumbnail: _propTypes.default.func,
|
|
296
311
|
onCancel: _propTypes.default.func,
|
|
297
312
|
onPreview: _propTypes.default.func,
|
|
298
|
-
onReupload: _propTypes.default.func
|
|
313
|
+
onReupload: _propTypes.default.func,
|
|
314
|
+
onThumbnailCompleted: _propTypes.default.func
|
|
299
315
|
};
|
|
300
316
|
var _default = UploadFileItem;
|
|
301
317
|
exports.default = _default;
|
|
@@ -93,6 +93,8 @@ export interface UploaderProps extends WithAsProps {
|
|
|
93
93
|
onRemove?: (file: FileType) => void;
|
|
94
94
|
/** Custom render file information */
|
|
95
95
|
renderFileInfo?: (file: FileType, fileElement: React.ReactNode) => React.ReactNode;
|
|
96
|
+
/** Custom render thumbnail */
|
|
97
|
+
renderThumbnail?: (file: FileType, thumbnail: React.ReactNode) => React.ReactNode;
|
|
96
98
|
}
|
|
97
99
|
export declare type FileStatusType = 'inited' | 'uploading' | 'error' | 'finished';
|
|
98
100
|
export interface FileProgressType {
|
package/cjs/Uploader/Uploader.js
CHANGED
|
@@ -153,13 +153,14 @@ var Uploader = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
|
|
|
153
153
|
shouldUpload = props.shouldUpload,
|
|
154
154
|
shouldQueueUpdate = props.shouldQueueUpdate,
|
|
155
155
|
renderFileInfo = props.renderFileInfo,
|
|
156
|
+
renderThumbnail = props.renderThumbnail,
|
|
156
157
|
onPreview = props.onPreview,
|
|
157
158
|
onChange = props.onChange,
|
|
158
159
|
onSuccess = props.onSuccess,
|
|
159
160
|
onError = props.onError,
|
|
160
161
|
onProgress = props.onProgress,
|
|
161
162
|
onReupload = props.onReupload,
|
|
162
|
-
rest = (0, _objectWithoutPropertiesLoose2.default)(props, ["as", "classPrefix", "className", "listType", "defaultFileList", "fileList", "fileListVisible", "locale", "style", "draggable", "name", "multiple", "disabled", "readOnly", "plaintext", "accept", "children", "toggleAs", "removable", "disabledFileItem", "maxPreviewFileSize", "autoUpload", "action", "headers", "withCredentials", "disableMultipart", "timeout", "data", "onRemove", "onUpload", "shouldUpload", "shouldQueueUpdate", "renderFileInfo", "onPreview", "onChange", "onSuccess", "onError", "onProgress", "onReupload"]);
|
|
163
|
+
rest = (0, _objectWithoutPropertiesLoose2.default)(props, ["as", "classPrefix", "className", "listType", "defaultFileList", "fileList", "fileListVisible", "locale", "style", "draggable", "name", "multiple", "disabled", "readOnly", "plaintext", "accept", "children", "toggleAs", "removable", "disabledFileItem", "maxPreviewFileSize", "autoUpload", "action", "headers", "withCredentials", "disableMultipart", "timeout", "data", "onRemove", "onUpload", "shouldUpload", "shouldQueueUpdate", "renderFileInfo", "renderThumbnail", "onPreview", "onChange", "onSuccess", "onError", "onProgress", "onReupload"]);
|
|
163
164
|
|
|
164
165
|
var _useClassNames = (0, _utils.useClassNames)(classPrefix),
|
|
165
166
|
merge = _useClassNames.merge,
|
|
@@ -415,6 +416,7 @@ var Uploader = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
|
|
|
415
416
|
onReupload: handleReupload,
|
|
416
417
|
onCancel: handleRemoveFile,
|
|
417
418
|
renderFileInfo: renderFileInfo,
|
|
419
|
+
renderThumbnail: renderThumbnail,
|
|
418
420
|
removable: removable && !readOnly && !plaintext,
|
|
419
421
|
allowReupload: !readOnly && !plaintext
|
|
420
422
|
});
|
|
@@ -473,6 +475,7 @@ Uploader.propTypes = {
|
|
|
473
475
|
style: _propTypes.default.object,
|
|
474
476
|
toggleAs: _propTypes.default.elementType,
|
|
475
477
|
renderFileInfo: _propTypes.default.func,
|
|
478
|
+
renderThumbnail: _propTypes.default.func,
|
|
476
479
|
removable: _propTypes.default.bool,
|
|
477
480
|
fileListVisible: _propTypes.default.bool,
|
|
478
481
|
draggable: _propTypes.default.bool,
|
package/cjs/utils/previewFile.js
CHANGED
|
@@ -1,9 +1,20 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
exports.__esModule = true;
|
|
4
|
+
exports.isImage = isImage;
|
|
4
5
|
exports.default = void 0;
|
|
6
|
+
// https://developer.mozilla.org/en-US/docs/Web/Media/Formats/Image_types
|
|
7
|
+
var MIME = ['image/apng', 'image/avif', 'image/gif', 'image/jpeg', 'image/png', 'image/svg+xml', 'image/webp'];
|
|
8
|
+
|
|
9
|
+
function isImage(file) {
|
|
10
|
+
return MIME.includes(file === null || file === void 0 ? void 0 : file.type);
|
|
11
|
+
}
|
|
5
12
|
|
|
6
13
|
var _default = function _default(file, callback) {
|
|
14
|
+
if (!isImage(file)) {
|
|
15
|
+
return callback(null);
|
|
16
|
+
}
|
|
17
|
+
|
|
7
18
|
var reader = new FileReader();
|
|
8
19
|
|
|
9
20
|
reader.onloadend = function () {
|
package/dist/rsuite-rtl.css
CHANGED
|
@@ -15344,6 +15344,10 @@ textarea.rs-picker-menu .rs-picker-search-bar .rs-picker-search-bar-input {
|
|
|
15344
15344
|
object-fit: cover;
|
|
15345
15345
|
}
|
|
15346
15346
|
}
|
|
15347
|
+
.rs-uploader-picture .rs-uploader-file-item-preview .rs-uploader-file-item-icon {
|
|
15348
|
+
font-size: 22px;
|
|
15349
|
+
margin: 22px;
|
|
15350
|
+
}
|
|
15347
15351
|
.rs-uploader-picture .rs-uploader-file-item-status {
|
|
15348
15352
|
position: absolute;
|
|
15349
15353
|
top: 0;
|
|
@@ -15708,6 +15712,10 @@ textarea.rs-picker-menu .rs-picker-search-bar .rs-picker-search-bar-input {
|
|
|
15708
15712
|
object-fit: cover;
|
|
15709
15713
|
}
|
|
15710
15714
|
}
|
|
15715
|
+
.rs-uploader-picture-text .rs-uploader-file-item-preview .rs-uploader-file-item-icon {
|
|
15716
|
+
font-size: 22px;
|
|
15717
|
+
margin: 12px;
|
|
15718
|
+
}
|
|
15711
15719
|
.rs-uploader-picture-text .rs-uploader-file-item-content {
|
|
15712
15720
|
padding: 5px 12px;
|
|
15713
15721
|
}
|