rsuite 5.0.0-beta.7 → 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.
Files changed (337) hide show
  1. package/CHANGELOG.md +52 -0
  2. package/DatePicker/styles/index.less +6 -2
  3. package/Grid/styles/index.less +1 -2
  4. package/IconButton/styles/index.less +1 -1
  5. package/MultiCascader/styles/index.less +3 -0
  6. package/README.md +17 -11
  7. package/Sidenav/styles/index.less +99 -37
  8. package/Table/styles/index.less +8 -0
  9. package/Uploader/styles/index.less +10 -0
  10. package/cjs/@types/common.d.ts +2 -1
  11. package/cjs/Animation/Collapse.js +8 -8
  12. package/cjs/AutoComplete/AutoComplete.js +10 -14
  13. package/cjs/Badge/Badge.js +6 -10
  14. package/cjs/Breadcrumb/Breadcrumb.js +8 -12
  15. package/cjs/Breadcrumb/BreadcrumbItem.js +4 -8
  16. package/cjs/Button/Button.js +6 -10
  17. package/cjs/ButtonGroup/ButtonGroup.js +6 -10
  18. package/cjs/Calendar/Calendar.js +4 -8
  19. package/cjs/Calendar/CalendarPanel.js +6 -10
  20. package/cjs/Calendar/Header.js +4 -8
  21. package/cjs/Calendar/MonthDropdown.js +10 -14
  22. package/cjs/Calendar/MonthDropdownItem.js +6 -10
  23. package/cjs/Calendar/Table.js +6 -10
  24. package/cjs/Calendar/TableHeaderRow.js +4 -7
  25. package/cjs/Calendar/TableRow.js +7 -11
  26. package/cjs/Calendar/TimeDropdown.js +4 -8
  27. package/cjs/Calendar/View.js +4 -8
  28. package/cjs/Carousel/Carousel.js +10 -14
  29. package/cjs/Cascader/Cascader.js +28 -26
  30. package/cjs/Cascader/DropdownMenu.js +19 -21
  31. package/cjs/CheckPicker/CheckPicker.js +33 -29
  32. package/cjs/CheckTreePicker/CheckTreeNode.js +4 -6
  33. package/cjs/CheckTreePicker/CheckTreePicker.js +47 -35
  34. package/cjs/Checkbox/Checkbox.js +8 -13
  35. package/cjs/CheckboxGroup/CheckboxGroup.d.ts +1 -12
  36. package/cjs/CheckboxGroup/CheckboxGroup.js +7 -13
  37. package/cjs/CheckboxGroup/CheckboxGroupContext.d.ts +13 -0
  38. package/cjs/CheckboxGroup/CheckboxGroupContext.js +12 -0
  39. package/cjs/CheckboxGroup/index.d.ts +4 -3
  40. package/cjs/CheckboxGroup/index.js +6 -4
  41. package/cjs/Col/Col.js +3 -2
  42. package/cjs/Container/Container.js +4 -7
  43. package/cjs/DatePicker/DatePicker.js +23 -20
  44. package/cjs/DatePicker/Toolbar.js +4 -8
  45. package/cjs/DateRangePicker/Calendar.d.ts +2 -1
  46. package/cjs/DateRangePicker/Calendar.js +15 -16
  47. package/cjs/DateRangePicker/DateRangePicker.d.ts +1 -1
  48. package/cjs/DateRangePicker/DateRangePicker.js +93 -73
  49. package/cjs/DateRangePicker/utils.d.ts +1 -1
  50. package/cjs/DateRangePicker/utils.js +9 -5
  51. package/cjs/Divider/Divider.js +4 -8
  52. package/cjs/Drawer/Drawer.js +8 -10
  53. package/cjs/Dropdown/Dropdown.js +39 -30
  54. package/cjs/Dropdown/DropdownContext.d.ts +4 -1
  55. package/cjs/Dropdown/DropdownItem.js +35 -12
  56. package/cjs/Dropdown/DropdownMenu.js +2 -6
  57. package/cjs/Dropdown/DropdownState.d.ts +37 -0
  58. package/cjs/Dropdown/DropdownState.js +66 -0
  59. package/cjs/Dropdown/DropdownToggle.js +4 -8
  60. package/cjs/FlexboxGrid/FlexboxGrid.js +8 -12
  61. package/cjs/FlexboxGrid/FlexboxGridItem.js +8 -12
  62. package/cjs/Form/Form.js +12 -16
  63. package/cjs/IconButton/IconButton.js +4 -8
  64. package/cjs/Input/Input.js +6 -10
  65. package/cjs/InputNumber/InputNumber.js +14 -18
  66. package/cjs/InputPicker/InputAutosize.js +2 -4
  67. package/cjs/InputPicker/InputPicker.js +32 -30
  68. package/cjs/List/List.js +12 -16
  69. package/cjs/List/ListItem.js +6 -10
  70. package/cjs/Loader/Loader.js +6 -10
  71. package/cjs/Menu/Menu.d.ts +0 -1
  72. package/cjs/Menu/Menu.js +3 -5
  73. package/cjs/Menu/MenuItem.js +1 -1
  74. package/cjs/Message/Message.js +8 -12
  75. package/cjs/Modal/Modal.d.ts +1 -10
  76. package/cjs/Modal/Modal.js +35 -27
  77. package/cjs/Modal/ModalBody.js +6 -10
  78. package/cjs/Modal/ModalContext.d.ts +12 -0
  79. package/cjs/Modal/ModalContext.js +12 -0
  80. package/cjs/Modal/ModalDialog.js +8 -8
  81. package/cjs/Modal/ModalHeader.js +8 -12
  82. package/cjs/Modal/ModalTitle.d.ts +3 -2
  83. package/cjs/Modal/ModalTitle.js +43 -4
  84. package/cjs/MultiCascader/DropdownMenu.js +21 -23
  85. package/cjs/MultiCascader/MultiCascader.js +34 -32
  86. package/cjs/Nav/Nav.js +6 -10
  87. package/cjs/Navbar/Navbar.js +6 -9
  88. package/cjs/Notification/Notification.js +6 -10
  89. package/cjs/Overlay/Modal.js +11 -18
  90. package/cjs/Overlay/Overlay.js +2 -5
  91. package/cjs/Overlay/OverlayTrigger.js +9 -9
  92. package/cjs/Overlay/Position.js +4 -8
  93. package/cjs/Pagination/Pagination.js +10 -13
  94. package/cjs/Pagination/PaginationButton.js +4 -8
  95. package/cjs/Pagination/PaginationGroup.js +11 -12
  96. package/cjs/Panel/Panel.js +6 -10
  97. package/cjs/PanelGroup/PanelGroup.js +4 -8
  98. package/cjs/Picker/DropdownMenu.js +2 -3
  99. package/cjs/Picker/DropdownMenuGroup.js +4 -8
  100. package/cjs/Picker/DropdownMenuItem.js +4 -8
  101. package/cjs/Picker/PickerToggle.js +7 -9
  102. package/cjs/Picker/propTypes.d.ts +2 -16
  103. package/cjs/Picker/propTypes.js +4 -17
  104. package/cjs/Picker/utils.js +13 -8
  105. package/cjs/Placeholder/PlaceholderGraph.js +6 -10
  106. package/cjs/Placeholder/PlaceholderGrid.js +12 -16
  107. package/cjs/Placeholder/PlaceholderParagraph.js +10 -14
  108. package/cjs/Popover/Popover.js +4 -8
  109. package/cjs/Progress/ProgressCircle.js +18 -22
  110. package/cjs/Progress/ProgressLine.js +8 -12
  111. package/cjs/Radio/Radio.js +6 -11
  112. package/cjs/RadioGroup/RadioGroup.js +6 -9
  113. package/cjs/RangeSlider/RangeSlider.js +17 -20
  114. package/cjs/Rate/Character.js +4 -7
  115. package/cjs/Rate/Rate.js +14 -18
  116. package/cjs/Ripple/Ripple.js +4 -8
  117. package/cjs/SelectPicker/SelectPicker.d.ts +1 -3
  118. package/cjs/SelectPicker/SelectPicker.js +31 -28
  119. package/cjs/Sidebar/Sidebar.js +6 -10
  120. package/cjs/Sidenav/Sidenav.js +8 -11
  121. package/cjs/Sidenav/SidenavDropdown.d.ts +6 -1
  122. package/cjs/Sidenav/SidenavDropdown.js +25 -20
  123. package/cjs/Sidenav/SidenavDropdownCollapse.js +2 -6
  124. package/cjs/Sidenav/SidenavDropdownItem.js +4 -8
  125. package/cjs/Sidenav/SidenavDropdownMenu.js +4 -8
  126. package/cjs/Sidenav/SidenavItem.js +4 -12
  127. package/cjs/Sidenav/SidenavToggle.js +4 -8
  128. package/cjs/Slider/Graduated.js +4 -8
  129. package/cjs/Slider/Handle.d.ts +2 -0
  130. package/cjs/Slider/Handle.js +23 -12
  131. package/cjs/Slider/Input.d.ts +3 -0
  132. package/cjs/Slider/Input.js +35 -0
  133. package/cjs/Slider/Mark.js +4 -8
  134. package/cjs/Slider/ProgressBar.js +4 -8
  135. package/cjs/Slider/Slider.d.ts +0 -3
  136. package/cjs/Slider/Slider.js +14 -22
  137. package/cjs/Steps/StepItem.js +4 -7
  138. package/cjs/Steps/Steps.js +8 -12
  139. package/cjs/Table/Table.d.ts +7 -7
  140. package/cjs/Table/Table.js +5 -5
  141. package/cjs/TagInput/index.js +4 -6
  142. package/cjs/TagPicker/index.d.ts +1 -1
  143. package/cjs/TagPicker/index.js +4 -6
  144. package/cjs/Timeline/Timeline.js +6 -11
  145. package/cjs/Timeline/TimelineItem.js +4 -8
  146. package/cjs/Toggle/Toggle.js +4 -8
  147. package/cjs/Tooltip/Tooltip.js +4 -8
  148. package/cjs/Tree/Tree.d.ts +6 -0
  149. package/cjs/TreePicker/TreeNode.js +4 -6
  150. package/cjs/TreePicker/TreePicker.js +38 -29
  151. package/cjs/Uploader/UploadFileItem.d.ts +2 -0
  152. package/cjs/Uploader/UploadFileItem.js +47 -35
  153. package/cjs/Uploader/UploadTrigger.js +4 -8
  154. package/cjs/Uploader/Uploader.d.ts +2 -0
  155. package/cjs/Uploader/Uploader.js +28 -29
  156. package/cjs/toaster/ToastContainer.js +6 -10
  157. package/cjs/utils/createComponent.d.ts +1 -2
  158. package/cjs/utils/createComponent.js +10 -13
  159. package/cjs/utils/dateUtils.d.ts +1 -0
  160. package/cjs/utils/dateUtils.js +5 -1
  161. package/cjs/utils/previewFile.d.ts +1 -0
  162. package/cjs/utils/previewFile.js +11 -0
  163. package/cjs/utils/useInternalId.d.ts +4 -0
  164. package/cjs/utils/useInternalId.js +24 -0
  165. package/cjs/utils/useUniqueId.d.ts +4 -2
  166. package/cjs/utils/useUniqueId.js +5 -3
  167. package/dist/rsuite-rtl.css +164 -75
  168. package/dist/rsuite-rtl.min.css +1 -1
  169. package/dist/rsuite-rtl.min.css.map +1 -1
  170. package/dist/rsuite.css +164 -75
  171. package/dist/rsuite.js +377 -377
  172. package/dist/rsuite.min.css +1 -1
  173. package/dist/rsuite.min.css.map +1 -1
  174. package/dist/rsuite.min.js +1 -1
  175. package/dist/rsuite.min.js.map +1 -1
  176. package/esm/@types/common.d.ts +2 -1
  177. package/esm/Animation/Collapse.js +8 -8
  178. package/esm/AutoComplete/AutoComplete.js +11 -14
  179. package/esm/Badge/Badge.js +6 -9
  180. package/esm/Breadcrumb/Breadcrumb.js +8 -11
  181. package/esm/Breadcrumb/BreadcrumbItem.js +4 -7
  182. package/esm/Button/Button.js +6 -9
  183. package/esm/ButtonGroup/ButtonGroup.js +6 -9
  184. package/esm/Calendar/Calendar.js +4 -7
  185. package/esm/Calendar/CalendarPanel.js +6 -9
  186. package/esm/Calendar/Header.js +4 -7
  187. package/esm/Calendar/MonthDropdown.js +10 -13
  188. package/esm/Calendar/MonthDropdownItem.js +6 -9
  189. package/esm/Calendar/Table.js +6 -9
  190. package/esm/Calendar/TableHeaderRow.js +4 -7
  191. package/esm/Calendar/TableRow.js +7 -10
  192. package/esm/Calendar/TimeDropdown.js +4 -7
  193. package/esm/Calendar/View.js +4 -7
  194. package/esm/Carousel/Carousel.js +10 -13
  195. package/esm/Cascader/Cascader.js +28 -26
  196. package/esm/Cascader/DropdownMenu.js +19 -21
  197. package/esm/CheckPicker/CheckPicker.js +33 -29
  198. package/esm/CheckTreePicker/CheckTreeNode.js +4 -6
  199. package/esm/CheckTreePicker/CheckTreePicker.js +47 -37
  200. package/esm/Checkbox/Checkbox.js +8 -12
  201. package/esm/CheckboxGroup/CheckboxGroup.d.ts +1 -12
  202. package/esm/CheckboxGroup/CheckboxGroup.js +5 -8
  203. package/esm/CheckboxGroup/CheckboxGroupContext.d.ts +13 -0
  204. package/esm/CheckboxGroup/CheckboxGroupContext.js +2 -0
  205. package/esm/CheckboxGroup/index.d.ts +4 -3
  206. package/esm/CheckboxGroup/index.js +2 -2
  207. package/esm/Col/Col.js +3 -2
  208. package/esm/Container/Container.js +4 -7
  209. package/esm/DatePicker/DatePicker.js +23 -21
  210. package/esm/DatePicker/Toolbar.js +5 -8
  211. package/esm/DateRangePicker/Calendar.d.ts +2 -1
  212. package/esm/DateRangePicker/Calendar.js +15 -15
  213. package/esm/DateRangePicker/DateRangePicker.d.ts +1 -1
  214. package/esm/DateRangePicker/DateRangePicker.js +62 -43
  215. package/esm/DateRangePicker/utils.d.ts +1 -1
  216. package/esm/DateRangePicker/utils.js +7 -3
  217. package/esm/Divider/Divider.js +4 -7
  218. package/esm/Drawer/Drawer.js +8 -9
  219. package/esm/Dropdown/Dropdown.js +39 -31
  220. package/esm/Dropdown/DropdownContext.d.ts +4 -1
  221. package/esm/Dropdown/DropdownItem.js +35 -14
  222. package/esm/Dropdown/DropdownMenu.js +3 -6
  223. package/esm/Dropdown/DropdownState.d.ts +37 -0
  224. package/esm/Dropdown/DropdownState.js +55 -0
  225. package/esm/Dropdown/DropdownToggle.js +4 -7
  226. package/esm/FlexboxGrid/FlexboxGrid.js +8 -11
  227. package/esm/FlexboxGrid/FlexboxGridItem.js +8 -11
  228. package/esm/Form/Form.js +12 -15
  229. package/esm/IconButton/IconButton.js +4 -7
  230. package/esm/Input/Input.js +6 -9
  231. package/esm/InputNumber/InputNumber.js +14 -17
  232. package/esm/InputPicker/InputAutosize.js +2 -4
  233. package/esm/InputPicker/InputPicker.js +32 -30
  234. package/esm/List/List.js +12 -15
  235. package/esm/List/ListItem.js +6 -9
  236. package/esm/Loader/Loader.js +6 -9
  237. package/esm/Menu/Menu.d.ts +0 -1
  238. package/esm/Menu/Menu.js +3 -5
  239. package/esm/Menu/MenuItem.js +1 -1
  240. package/esm/Message/Message.js +8 -11
  241. package/esm/Modal/Modal.d.ts +1 -10
  242. package/esm/Modal/Modal.js +31 -21
  243. package/esm/Modal/ModalBody.js +5 -8
  244. package/esm/Modal/ModalContext.d.ts +12 -0
  245. package/esm/Modal/ModalContext.js +2 -0
  246. package/esm/Modal/ModalDialog.js +8 -8
  247. package/esm/Modal/ModalHeader.js +7 -10
  248. package/esm/Modal/ModalTitle.d.ts +3 -2
  249. package/esm/Modal/ModalTitle.js +35 -4
  250. package/esm/MultiCascader/DropdownMenu.js +21 -23
  251. package/esm/MultiCascader/MultiCascader.js +34 -32
  252. package/esm/Nav/Nav.js +6 -9
  253. package/esm/Navbar/Navbar.js +6 -9
  254. package/esm/Notification/Notification.js +6 -9
  255. package/esm/Overlay/Modal.js +11 -18
  256. package/esm/Overlay/Overlay.js +2 -5
  257. package/esm/Overlay/OverlayTrigger.js +9 -9
  258. package/esm/Overlay/Position.js +4 -7
  259. package/esm/Pagination/Pagination.js +10 -13
  260. package/esm/Pagination/PaginationButton.js +4 -7
  261. package/esm/Pagination/PaginationGroup.js +10 -11
  262. package/esm/Panel/Panel.js +6 -9
  263. package/esm/PanelGroup/PanelGroup.js +4 -7
  264. package/esm/Picker/DropdownMenu.js +2 -3
  265. package/esm/Picker/DropdownMenuGroup.js +4 -7
  266. package/esm/Picker/DropdownMenuItem.js +4 -7
  267. package/esm/Picker/PickerToggle.js +7 -9
  268. package/esm/Picker/propTypes.d.ts +2 -16
  269. package/esm/Picker/propTypes.js +2 -13
  270. package/esm/Picker/utils.js +13 -8
  271. package/esm/Placeholder/PlaceholderGraph.js +6 -9
  272. package/esm/Placeholder/PlaceholderGrid.js +12 -15
  273. package/esm/Placeholder/PlaceholderParagraph.js +10 -13
  274. package/esm/Popover/Popover.js +4 -7
  275. package/esm/Progress/ProgressCircle.js +18 -21
  276. package/esm/Progress/ProgressLine.js +8 -11
  277. package/esm/Radio/Radio.js +6 -10
  278. package/esm/RadioGroup/RadioGroup.js +6 -9
  279. package/esm/RangeSlider/RangeSlider.js +17 -20
  280. package/esm/Rate/Character.js +4 -7
  281. package/esm/Rate/Rate.js +14 -17
  282. package/esm/Ripple/Ripple.js +4 -7
  283. package/esm/SelectPicker/SelectPicker.d.ts +1 -3
  284. package/esm/SelectPicker/SelectPicker.js +31 -28
  285. package/esm/Sidebar/Sidebar.js +6 -9
  286. package/esm/Sidenav/Sidenav.js +8 -11
  287. package/esm/Sidenav/SidenavDropdown.d.ts +6 -1
  288. package/esm/Sidenav/SidenavDropdown.js +24 -19
  289. package/esm/Sidenav/SidenavDropdownCollapse.js +2 -5
  290. package/esm/Sidenav/SidenavDropdownItem.js +5 -8
  291. package/esm/Sidenav/SidenavDropdownMenu.js +5 -8
  292. package/esm/Sidenav/SidenavItem.js +4 -10
  293. package/esm/Sidenav/SidenavToggle.js +4 -7
  294. package/esm/Slider/Graduated.js +4 -7
  295. package/esm/Slider/Handle.d.ts +2 -0
  296. package/esm/Slider/Handle.js +23 -12
  297. package/esm/Slider/Input.d.ts +3 -0
  298. package/esm/Slider/Input.js +23 -0
  299. package/esm/Slider/Mark.js +4 -7
  300. package/esm/Slider/ProgressBar.js +4 -7
  301. package/esm/Slider/Slider.d.ts +0 -3
  302. package/esm/Slider/Slider.js +14 -22
  303. package/esm/Steps/StepItem.js +4 -7
  304. package/esm/Steps/Steps.js +8 -11
  305. package/esm/Table/Table.d.ts +7 -7
  306. package/esm/Table/Table.js +5 -5
  307. package/esm/TagInput/index.js +4 -6
  308. package/esm/TagPicker/index.d.ts +1 -1
  309. package/esm/TagPicker/index.js +4 -6
  310. package/esm/Timeline/Timeline.js +6 -10
  311. package/esm/Timeline/TimelineItem.js +4 -7
  312. package/esm/Toggle/Toggle.js +5 -8
  313. package/esm/Tooltip/Tooltip.js +4 -7
  314. package/esm/Tree/Tree.d.ts +6 -0
  315. package/esm/TreePicker/TreeNode.js +4 -6
  316. package/esm/TreePicker/TreePicker.js +38 -31
  317. package/esm/Uploader/UploadFileItem.d.ts +2 -0
  318. package/esm/Uploader/UploadFileItem.js +47 -35
  319. package/esm/Uploader/UploadTrigger.js +4 -7
  320. package/esm/Uploader/Uploader.d.ts +2 -0
  321. package/esm/Uploader/Uploader.js +28 -28
  322. package/esm/toaster/ToastContainer.js +6 -9
  323. package/esm/utils/createComponent.d.ts +1 -2
  324. package/esm/utils/createComponent.js +10 -13
  325. package/esm/utils/dateUtils.d.ts +1 -0
  326. package/esm/utils/dateUtils.js +1 -0
  327. package/esm/utils/previewFile.d.ts +1 -0
  328. package/esm/utils/previewFile.js +9 -0
  329. package/esm/utils/useInternalId.d.ts +4 -0
  330. package/esm/utils/useInternalId.js +16 -0
  331. package/esm/utils/useUniqueId.d.ts +4 -2
  332. package/esm/utils/useUniqueId.js +5 -3
  333. package/package.json +4 -4
  334. package/styles/color-modes/dark.less +16 -0
  335. package/styles/color-modes/high-contrast.less +17 -0
  336. package/styles/color-modes/light.less +16 -0
  337. package/styles/variables.less +3 -1
@@ -19,19 +19,15 @@ var _TimelineItem = _interopRequireDefault(require("./TimelineItem"));
19
19
 
20
20
  var _utils = require("../utils");
21
21
 
22
- var defaultProps = {
23
- as: 'ul',
24
- // TODO: Consider using <ol>?
25
- classPrefix: 'timeline',
26
- align: 'left'
27
- };
28
-
29
22
  var Timeline = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
30
23
  var children = props.children,
31
- Component = props.as,
32
- classPrefix = props.classPrefix,
24
+ _props$as = props.as,
25
+ Component = _props$as === void 0 ? 'ul' : _props$as,
26
+ _props$classPrefix = props.classPrefix,
27
+ classPrefix = _props$classPrefix === void 0 ? 'timeline' : _props$classPrefix,
33
28
  className = props.className,
34
- align = props.align,
29
+ _props$align = props.align,
30
+ align = _props$align === void 0 ? 'left' : _props$align,
35
31
  endless = props.endless,
36
32
  rest = (0, _objectWithoutPropertiesLoose2.default)(props, ["children", "as", "classPrefix", "className", "align", "endless"]);
37
33
 
@@ -63,7 +59,6 @@ var Timeline = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
63
59
 
64
60
  Timeline.Item = _TimelineItem.default;
65
61
  Timeline.displayName = 'Timeline';
66
- Timeline.defaultProps = defaultProps;
67
62
  Timeline.propTypes = {
68
63
  as: _propTypes.default.elementType,
69
64
  className: _propTypes.default.string,
@@ -15,15 +15,12 @@ var _propTypes = _interopRequireDefault(require("prop-types"));
15
15
 
16
16
  var _utils = require("../utils");
17
17
 
18
- var defaultProps = {
19
- as: 'li',
20
- classPrefix: 'timeline-item'
21
- };
22
-
23
18
  var TimelineItem = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
24
- var Component = props.as,
19
+ var _props$as = props.as,
20
+ Component = _props$as === void 0 ? 'li' : _props$as,
25
21
  children = props.children,
26
- classPrefix = props.classPrefix,
22
+ _props$classPrefix = props.classPrefix,
23
+ classPrefix = _props$classPrefix === void 0 ? 'timeline-item' : _props$classPrefix,
27
24
  last = props.last,
28
25
  className = props.className,
29
26
  dot = props.dot,
@@ -55,7 +52,6 @@ var TimelineItem = /*#__PURE__*/_react.default.forwardRef(function (props, ref)
55
52
  });
56
53
 
57
54
  TimelineItem.displayName = 'TimelineItem';
58
- TimelineItem.defaultProps = defaultProps;
59
55
  TimelineItem.propTypes = {
60
56
  last: _propTypes.default.bool,
61
57
  dot: _propTypes.default.node,
@@ -19,23 +19,20 @@ var _utils = require("../utils");
19
19
 
20
20
  var _Plaintext = _interopRequireDefault(require("../Plaintext"));
21
21
 
22
- var defaultProps = {
23
- as: 'span',
24
- classPrefix: 'btn-toggle'
25
- };
26
22
  /**
27
23
  * fixme: Should contain an input[type=checkbox]
28
24
  */
29
-
30
25
  var Toggle = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
31
- var Component = props.as,
26
+ var _props$as = props.as,
27
+ Component = _props$as === void 0 ? 'span' : _props$as,
32
28
  disabled = props.disabled,
33
29
  readOnly = props.readOnly,
34
30
  plaintext = props.plaintext,
35
31
  className = props.className,
36
32
  checkedChildren = props.checkedChildren,
37
33
  unCheckedChildren = props.unCheckedChildren,
38
- classPrefix = props.classPrefix,
34
+ _props$classPrefix = props.classPrefix,
35
+ classPrefix = _props$classPrefix === void 0 ? 'btn-toggle' : _props$classPrefix,
39
36
  checkedProp = props.checked,
40
37
  defaultChecked = props.defaultChecked,
41
38
  size = props.size,
@@ -90,7 +87,6 @@ var Toggle = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
90
87
  });
91
88
 
92
89
  Toggle.displayName = 'Toggle';
93
- Toggle.defaultProps = defaultProps;
94
90
  Toggle.propTypes = {
95
91
  disabled: _propTypes.default.bool,
96
92
  checked: _propTypes.default.bool,
@@ -15,15 +15,12 @@ var _propTypes = _interopRequireDefault(require("prop-types"));
15
15
 
16
16
  var _utils = require("../utils");
17
17
 
18
- var defaultProps = {
19
- as: 'div',
20
- classPrefix: 'tooltip'
21
- };
22
-
23
18
  var Tooltip = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
24
- var Component = props.as,
19
+ var _props$as = props.as,
20
+ Component = _props$as === void 0 ? 'div' : _props$as,
25
21
  className = props.className,
26
- classPrefix = props.classPrefix,
22
+ _props$classPrefix = props.classPrefix,
23
+ classPrefix = _props$classPrefix === void 0 ? 'tooltip' : _props$classPrefix,
27
24
  children = props.children,
28
25
  style = props.style,
29
26
  visible = props.visible,
@@ -47,7 +44,6 @@ var Tooltip = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
47
44
  });
48
45
 
49
46
  Tooltip.displayName = 'Tooltip';
50
- Tooltip.defaultProps = defaultProps;
51
47
  Tooltip.propTypes = {
52
48
  visible: _propTypes.default.bool,
53
49
  classPrefix: _propTypes.default.string,
@@ -1,5 +1,6 @@
1
1
  import React from 'react';
2
2
  import { StandardProps, ItemDataType, RsRefForwardingComponent } from '../@types/common';
3
+ import { ListProps } from 'react-virtualized/dist/commonjs/List';
3
4
  /**
4
5
  * Tree Node Drag Type
5
6
  */
@@ -44,6 +45,11 @@ export interface TreeBaseProps<ValueType = string | number, ItemDataType = Recor
44
45
  searchable?: boolean;
45
46
  /** Whether using virtualized list */
46
47
  virtualized?: boolean;
48
+ /**
49
+ * List-related properties in `react-virtualized`
50
+ * https://github.com/bvaughn/react-virtualized/blob/master/docs/List.md#prop-types
51
+ */
52
+ listProps?: ListProps;
47
53
  /** Expand all nodes By default */
48
54
  defaultExpandAll?: boolean;
49
55
  /** searchKeyword (Controlled) */
@@ -40,9 +40,11 @@ var TreeNode = /*#__PURE__*/(0, _react.forwardRef)(function (_ref, ref) {
40
40
  loading = _ref.loading,
41
41
  nodeData = _ref.nodeData,
42
42
  className = _ref.className,
43
- classPrefix = _ref.classPrefix,
43
+ _ref$classPrefix = _ref.classPrefix,
44
+ classPrefix = _ref$classPrefix === void 0 ? 'tree-node' : _ref$classPrefix,
44
45
  disabled = _ref.disabled,
45
- visible = _ref.visible,
46
+ _ref$visible = _ref.visible,
47
+ visible = _ref$visible === void 0 ? true : _ref$visible,
46
48
  draggable = _ref.draggable,
47
49
  expand = _ref.expand,
48
50
  focus = _ref.focus,
@@ -217,10 +219,6 @@ var TreeNode = /*#__PURE__*/(0, _react.forwardRef)(function (_ref, ref) {
217
219
  }), renderIcon(), renderLabel()) : null;
218
220
  });
219
221
  TreeNode.displayName = 'TreePickerNode';
220
- TreeNode.defaultProps = {
221
- visible: true,
222
- classPrefix: 'tree-node'
223
- };
224
222
  TreeNode.propTypes = {
225
223
  as: _propTypes.default.elementType,
226
224
  rtl: _propTypes.default.bool,
@@ -7,10 +7,10 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
7
7
  exports.__esModule = true;
8
8
  exports.default = exports.maxTreeHeight = void 0;
9
9
 
10
- var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutPropertiesLoose"));
11
-
12
10
  var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
13
11
 
12
+ var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutPropertiesLoose"));
13
+
14
14
  var _isFunction2 = _interopRequireDefault(require("lodash/isFunction"));
15
15
 
16
16
  var _isNil2 = _interopRequireDefault(require("lodash/isNil"));
@@ -40,48 +40,54 @@ var _TreeContext = _interopRequireDefault(require("../Tree/TreeContext"));
40
40
  // default value for virtualized
41
41
  var maxTreeHeight = 320;
42
42
  exports.maxTreeHeight = maxTreeHeight;
43
- var defaultProps = (0, _extends2.default)({}, _Picker.listPickerDefaultProps, {
44
- classPrefix: 'picker',
45
- as: 'div',
46
- height: 360,
47
- appearance: 'default',
48
- searchable: true,
49
- cleanable: true,
50
- menuAutoWidth: true,
51
- placement: 'bottomStart'
52
- });
43
+ var emptyArray = [];
53
44
 
54
45
  var TreePicker = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
55
- var Component = props.as,
56
- data = props.data,
46
+ var _props$as = props.as,
47
+ Component = _props$as === void 0 ? 'div' : _props$as,
48
+ _props$data = props.data,
49
+ data = _props$data === void 0 ? emptyArray : _props$data,
50
+ _props$appearance = props.appearance,
51
+ appearance = _props$appearance === void 0 ? 'default' : _props$appearance,
57
52
  style = props.style,
58
53
  controlledValue = props.value,
59
54
  overrideLocale = props.locale,
60
- height = props.height,
55
+ _props$height = props.height,
56
+ height = _props$height === void 0 ? 360 : _props$height,
61
57
  className = props.className,
62
58
  disabled = props.disabled,
63
- placement = props.placement,
64
- cleanable = props.cleanable,
59
+ _props$placement = props.placement,
60
+ placement = _props$placement === void 0 ? 'bottomStart' : _props$placement,
61
+ _props$cleanable = props.cleanable,
62
+ cleanable = _props$cleanable === void 0 ? true : _props$cleanable,
65
63
  menuStyle = props.menuStyle,
66
- searchable = props.searchable,
64
+ _props$searchable = props.searchable,
65
+ searchable = _props$searchable === void 0 ? true : _props$searchable,
67
66
  virtualized = props.virtualized,
68
- classPrefix = props.classPrefix,
67
+ _props$classPrefix = props.classPrefix,
68
+ classPrefix = _props$classPrefix === void 0 ? 'picker' : _props$classPrefix,
69
69
  defaultValue = props.defaultValue,
70
70
  placeholder = props.placeholder,
71
71
  searchKeyword = props.searchKeyword,
72
72
  menuClassName = props.menuClassName,
73
- menuAutoWidth = props.menuAutoWidth,
73
+ _props$menuAutoWidth = props.menuAutoWidth,
74
+ menuAutoWidth = _props$menuAutoWidth === void 0 ? true : _props$menuAutoWidth,
74
75
  searchBy = props.searchBy,
75
76
  toggleAs = props.toggleAs,
76
- labelKey = props.labelKey,
77
- valueKey = props.valueKey,
78
- childrenKey = props.childrenKey,
77
+ _props$labelKey = props.labelKey,
78
+ labelKey = _props$labelKey === void 0 ? 'label' : _props$labelKey,
79
+ _props$valueKey = props.valueKey,
80
+ valueKey = _props$valueKey === void 0 ? 'value' : _props$valueKey,
81
+ _props$childrenKey = props.childrenKey,
82
+ childrenKey = _props$childrenKey === void 0 ? 'children' : _props$childrenKey,
79
83
  draggable = props.draggable,
80
84
  defaultExpandAll = props.defaultExpandAll,
81
- disabledItemValues = props.disabledItemValues,
85
+ _props$disabledItemVa = props.disabledItemValues,
86
+ disabledItemValues = _props$disabledItemVa === void 0 ? emptyArray : _props$disabledItemVa,
82
87
  controlledExpandItemValues = props.expandItemValues,
83
88
  defaultExpandItemValues = props.defaultExpandItemValues,
84
89
  id = props.id,
90
+ listProps = props.listProps,
85
91
  getChildren = props.getChildren,
86
92
  renderTreeIcon = props.renderTreeIcon,
87
93
  renderTreeNode = props.renderTreeNode,
@@ -105,7 +111,7 @@ var TreePicker = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
105
111
  renderMenu = props.renderMenu,
106
112
  renderValue = props.renderValue,
107
113
  renderDragNode = props.renderDragNode,
108
- rest = (0, _objectWithoutPropertiesLoose2.default)(props, ["as", "data", "style", "value", "locale", "height", "className", "disabled", "placement", "cleanable", "menuStyle", "searchable", "virtualized", "classPrefix", "defaultValue", "placeholder", "searchKeyword", "menuClassName", "menuAutoWidth", "searchBy", "toggleAs", "labelKey", "valueKey", "childrenKey", "draggable", "defaultExpandAll", "disabledItemValues", "expandItemValues", "defaultExpandItemValues", "id", "getChildren", "renderTreeIcon", "renderTreeNode", "onExit", "onExited", "onClean", "onOpen", "onSearch", "onSelect", "onChange", "onEntered", "onClose", "onDragEnd", "onDragStart", "onDragEnter", "onDragLeave", "onDragOver", "onDrop", "onExpand", "renderExtraFooter", "renderMenu", "renderValue", "renderDragNode"]);
114
+ rest = (0, _objectWithoutPropertiesLoose2.default)(props, ["as", "data", "appearance", "style", "value", "locale", "height", "className", "disabled", "placement", "cleanable", "menuStyle", "searchable", "virtualized", "classPrefix", "defaultValue", "placeholder", "searchKeyword", "menuClassName", "menuAutoWidth", "searchBy", "toggleAs", "labelKey", "valueKey", "childrenKey", "draggable", "defaultExpandAll", "disabledItemValues", "expandItemValues", "defaultExpandItemValues", "id", "listProps", "getChildren", "renderTreeIcon", "renderTreeNode", "onExit", "onExited", "onClean", "onOpen", "onSearch", "onSelect", "onChange", "onEntered", "onClose", "onDragEnd", "onDragStart", "onDragEnter", "onDragLeave", "onDragOver", "onDrop", "onExpand", "renderExtraFooter", "renderMenu", "renderValue", "renderDragNode"]);
109
115
  var triggerRef = (0, _react.useRef)();
110
116
  var targetRef = (0, _react.useRef)();
111
117
  var listRef = (0, _react.useRef)();
@@ -659,7 +665,7 @@ var TreePicker = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
659
665
  }, function (_ref5) {
660
666
  var height = _ref5.height,
661
667
  width = _ref5.width;
662
- return /*#__PURE__*/_react.default.createElement(_VirtualizedList.List, {
668
+ return /*#__PURE__*/_react.default.createElement(_VirtualizedList.List, (0, _extends2.default)({
663
669
  ref: listRef,
664
670
  width: width,
665
671
  height: height,
@@ -667,7 +673,7 @@ var TreePicker = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
667
673
  rowCount: formattedNodes.length,
668
674
  rowRenderer: renderVirtualListNode(formattedNodes),
669
675
  scrollToAlignment: "center"
670
- });
676
+ }, listProps));
671
677
  }) : formattedNodes), renderDefaultDragNode());
672
678
  };
673
679
 
@@ -720,8 +726,11 @@ var TreePicker = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
720
726
  }
721
727
 
722
728
  var _usePickerClassName = (0, _Picker.usePickerClassName)((0, _extends2.default)({}, props, {
729
+ classPrefix: classPrefix,
730
+ appearance: appearance,
723
731
  hasValue: hasValidValue,
724
- name: 'tree'
732
+ name: 'tree',
733
+ cleanable: cleanable
725
734
  })),
726
735
  classes = _usePickerClassName[0],
727
736
  usedClassNamePropKeys = _usePickerClassName[1];
@@ -745,6 +754,7 @@ var TreePicker = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
745
754
  }, /*#__PURE__*/_react.default.createElement(_Picker.PickerToggle, (0, _extends2.default)({}, (0, _omit2.default)(rest, [].concat(_Picker.omitTriggerPropKeys, usedClassNamePropKeys, ['cascade'])), {
746
755
  id: id,
747
756
  ref: targetRef,
757
+ appearance: appearance,
748
758
  onKeyDown: onPickerKeydown,
749
759
  onClean: (0, _utils.createChainedFunction)(handleClean, onClean),
750
760
  cleanable: cleanable && !disabled,
@@ -758,7 +768,6 @@ var TreePicker = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
758
768
  });
759
769
 
760
770
  TreePicker.displayName = 'TreePicker';
761
- TreePicker.defaultProps = defaultProps;
762
771
  TreePicker.propTypes = (0, _extends2.default)({}, _Picker.listPickerPropTypes, {
763
772
  locale: _propTypes.default.any,
764
773
  appearance: _propTypes.default.oneOf(['default', 'subtle']),
@@ -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
@@ -52,32 +52,31 @@ var formatSize = function formatSize(size) {
52
52
  };
53
53
 
54
54
  exports.formatSize = formatSize;
55
- var defaultProps = {
56
- as: 'div',
57
- classPrefix: 'uploader-file-item',
58
- maxPreviewFileSize: 1024 * 1024 * 5,
59
- // 5MB
60
- listType: 'text',
61
- removable: true,
62
- allowReupload: true
63
- };
64
55
 
65
56
  var UploadFileItem = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
66
- var Component = props.as,
57
+ var _props$as = props.as,
58
+ Component = _props$as === void 0 ? 'div' : _props$as,
67
59
  disabled = props.disabled,
68
- allowReupload = props.allowReupload,
60
+ _props$allowReupload = props.allowReupload,
61
+ allowReupload = _props$allowReupload === void 0 ? true : _props$allowReupload,
69
62
  file = props.file,
70
- classPrefix = props.classPrefix,
71
- listType = props.listType,
63
+ _props$classPrefix = props.classPrefix,
64
+ classPrefix = _props$classPrefix === void 0 ? 'uploader-file-item' : _props$classPrefix,
65
+ _props$listType = props.listType,
66
+ listType = _props$listType === void 0 ? 'text' : _props$listType,
72
67
  className = props.className,
73
- removable = props.removable,
74
- maxPreviewFileSize = props.maxPreviewFileSize,
68
+ _props$removable = props.removable,
69
+ removable = _props$removable === void 0 ? true : _props$removable,
70
+ _props$maxPreviewFile = props.maxPreviewFileSize,
71
+ maxPreviewFileSize = _props$maxPreviewFile === void 0 ? 1024 * 1024 * 5 : _props$maxPreviewFile,
75
72
  locale = props.locale,
76
73
  renderFileInfo = props.renderFileInfo,
74
+ renderThumbnail = props.renderThumbnail,
77
75
  onPreview = props.onPreview,
78
76
  onCancel = props.onCancel,
79
77
  onReupload = props.onReupload,
80
- rest = (0, _objectWithoutPropertiesLoose2.default)(props, ["as", "disabled", "allowReupload", "file", "classPrefix", "listType", "className", "removable", "maxPreviewFileSize", "locale", "renderFileInfo", "onPreview", "onCancel", "onReupload"]);
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"]);
81
80
 
82
81
  var _useClassNames = (0, _utils.useClassNames)(classPrefix),
83
82
  merge = _useClassNames.merge,
@@ -102,7 +101,8 @@ var UploadFileItem = /*#__PURE__*/_react.default.forwardRef(function (props, ref
102
101
 
103
102
  if (!~['picture-text', 'picture'].indexOf(listType)) {
104
103
  return;
105
- }
104
+ } // The thumbnail file size cannot be larger than the preset value.
105
+
106
106
 
107
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) {
108
108
  return;
@@ -114,9 +114,10 @@ var UploadFileItem = /*#__PURE__*/_react.default.forwardRef(function (props, ref
114
114
  if (!file.url) {
115
115
  getThumbnail(function (previewImage) {
116
116
  setPreviewImage(previewImage);
117
+ onThumbnailCompleted === null || onThumbnailCompleted === void 0 ? void 0 : onThumbnailCompleted(previewImage);
117
118
  });
118
119
  }
119
- }, [file.url, getThumbnail]);
120
+ }, [file.url, getThumbnail, onThumbnailCompleted]);
120
121
  var handlePreview = (0, _react.useCallback)(function (event) {
121
122
  if (disabled) {
122
123
  return;
@@ -164,18 +165,17 @@ var UploadFileItem = /*#__PURE__*/_react.default.forwardRef(function (props, ref
164
165
  };
165
166
 
166
167
  var renderPreview = function renderPreview() {
167
- if (previewImage) {
168
- return /*#__PURE__*/_react.default.createElement("div", {
169
- className: prefix('preview')
170
- }, /*#__PURE__*/_react.default.createElement("img", {
171
- role: "presentation",
172
- src: previewImage,
173
- alt: file.name,
174
- onClick: handlePreview
175
- }));
176
- }
177
-
178
- 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);
179
179
  };
180
180
  /**
181
181
  * Render the loading state.
@@ -187,11 +187,22 @@ var UploadFileItem = /*#__PURE__*/_react.default.forwardRef(function (props, ref
187
187
  var classes = prefix('icon-wrapper', {
188
188
  'icon-loading': uploading
189
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
+
190
203
  return /*#__PURE__*/_react.default.createElement("div", {
191
204
  className: classes
192
- }, uploading ? /*#__PURE__*/_react.default.createElement("i", {
193
- className: prefix('icon')
194
- }) : /*#__PURE__*/_react.default.createElement(_Attachment.default, {
205
+ }, /*#__PURE__*/_react.default.createElement(_Attachment.default, {
195
206
  className: prefix('icon')
196
207
  }));
197
208
  };
@@ -285,7 +296,6 @@ var UploadFileItem = /*#__PURE__*/_react.default.forwardRef(function (props, ref
285
296
  });
286
297
 
287
298
  UploadFileItem.displayName = 'UploadFileItem';
288
- UploadFileItem.defaultProps = defaultProps;
289
299
  UploadFileItem.propTypes = {
290
300
  locale: _propTypes.default.any,
291
301
  file: _propTypes.default.object,
@@ -297,9 +307,11 @@ UploadFileItem.propTypes = {
297
307
  removable: _propTypes.default.bool,
298
308
  allowReupload: _propTypes.default.bool,
299
309
  renderFileInfo: _propTypes.default.func,
310
+ renderThumbnail: _propTypes.default.func,
300
311
  onCancel: _propTypes.default.func,
301
312
  onPreview: _propTypes.default.func,
302
- onReupload: _propTypes.default.func
313
+ onReupload: _propTypes.default.func,
314
+ onThumbnailCompleted: _propTypes.default.func
303
315
  };
304
316
  var _default = UploadFileItem;
305
317
  exports.default = _default;
@@ -25,20 +25,17 @@ var Button = function Button(props) {
25
25
  }));
26
26
  };
27
27
 
28
- var defaultProps = {
29
- as: Button,
30
- classPrefix: 'uploader-trigger'
31
- };
32
-
33
28
  var UploadTrigger = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
34
- var Component = props.as,
29
+ var _props$as = props.as,
30
+ Component = _props$as === void 0 ? Button : _props$as,
35
31
  name = props.name,
36
32
  accept = props.accept,
37
33
  multiple = props.multiple,
38
34
  disabled = props.disabled,
39
35
  readOnly = props.readOnly,
40
36
  children = props.children,
41
- classPrefix = props.classPrefix,
37
+ _props$classPrefix = props.classPrefix,
38
+ classPrefix = _props$classPrefix === void 0 ? 'uploader-trigger' : _props$classPrefix,
42
39
  className = props.className,
43
40
  draggable = props.draggable,
44
41
  locale = props.locale,
@@ -156,7 +153,6 @@ var UploadTrigger = /*#__PURE__*/_react.default.forwardRef(function (props, ref)
156
153
  });
157
154
 
158
155
  UploadTrigger.displayName = 'UploadTrigger';
159
- UploadTrigger.defaultProps = defaultProps;
160
156
  UploadTrigger.propTypes = {
161
157
  locale: _propTypes.default.any,
162
158
  name: _propTypes.default.string,
@@ -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 {
@@ -25,21 +25,6 @@ var _utils = require("../utils");
25
25
 
26
26
  var _Plaintext = _interopRequireDefault(require("../Plaintext"));
27
27
 
28
- var defaultProps = {
29
- as: 'div',
30
- classPrefix: 'uploader',
31
- autoUpload: true,
32
- timeout: 0,
33
- name: 'file',
34
- multiple: false,
35
- disabled: false,
36
- withCredentials: false,
37
- data: {},
38
- listType: 'text',
39
- removable: true,
40
- fileListVisible: true
41
- };
42
-
43
28
  var getFiles = function getFiles(event) {
44
29
  if (typeof (event === null || event === void 0 ? void 0 : event['dataTransfer']) === 'object') {
45
30
  var _event$dataTransfer;
@@ -123,46 +108,59 @@ var useFileList = function useFileList(defaultFileList) {
123
108
  };
124
109
 
125
110
  var Uploader = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
126
- var Component = props.as,
127
- classPrefix = props.classPrefix,
111
+ var _props$as = props.as,
112
+ Component = _props$as === void 0 ? 'div' : _props$as,
113
+ _props$classPrefix = props.classPrefix,
114
+ classPrefix = _props$classPrefix === void 0 ? 'uploader' : _props$classPrefix,
128
115
  className = props.className,
129
- listType = props.listType,
116
+ _props$listType = props.listType,
117
+ listType = _props$listType === void 0 ? 'text' : _props$listType,
130
118
  defaultFileList = props.defaultFileList,
131
119
  fileListProp = props.fileList,
132
- fileListVisible = props.fileListVisible,
120
+ _props$fileListVisibl = props.fileListVisible,
121
+ fileListVisible = _props$fileListVisibl === void 0 ? true : _props$fileListVisibl,
133
122
  localeProp = props.locale,
134
123
  style = props.style,
135
124
  draggable = props.draggable,
136
- name = props.name,
137
- multiple = props.multiple,
138
- disabled = props.disabled,
125
+ _props$name = props.name,
126
+ name = _props$name === void 0 ? 'file' : _props$name,
127
+ _props$multiple = props.multiple,
128
+ multiple = _props$multiple === void 0 ? false : _props$multiple,
129
+ _props$disabled = props.disabled,
130
+ disabled = _props$disabled === void 0 ? false : _props$disabled,
139
131
  readOnly = props.readOnly,
140
132
  plaintext = props.plaintext,
141
133
  accept = props.accept,
142
134
  children = props.children,
143
135
  toggleAs = props.toggleAs,
144
- removable = props.removable,
136
+ _props$removable = props.removable,
137
+ removable = _props$removable === void 0 ? true : _props$removable,
145
138
  disabledFileItem = props.disabledFileItem,
146
139
  maxPreviewFileSize = props.maxPreviewFileSize,
147
- autoUpload = props.autoUpload,
140
+ _props$autoUpload = props.autoUpload,
141
+ autoUpload = _props$autoUpload === void 0 ? true : _props$autoUpload,
148
142
  action = props.action,
149
143
  headers = props.headers,
150
- withCredentials = props.withCredentials,
144
+ _props$withCredential = props.withCredentials,
145
+ withCredentials = _props$withCredential === void 0 ? false : _props$withCredential,
151
146
  disableMultipart = props.disableMultipart,
152
- timeout = props.timeout,
153
- data = props.data,
147
+ _props$timeout = props.timeout,
148
+ timeout = _props$timeout === void 0 ? 0 : _props$timeout,
149
+ _props$data = props.data,
150
+ data = _props$data === void 0 ? {} : _props$data,
154
151
  onRemove = props.onRemove,
155
152
  onUpload = props.onUpload,
156
153
  shouldUpload = props.shouldUpload,
157
154
  shouldQueueUpdate = props.shouldQueueUpdate,
158
155
  renderFileInfo = props.renderFileInfo,
156
+ renderThumbnail = props.renderThumbnail,
159
157
  onPreview = props.onPreview,
160
158
  onChange = props.onChange,
161
159
  onSuccess = props.onSuccess,
162
160
  onError = props.onError,
163
161
  onProgress = props.onProgress,
164
162
  onReupload = props.onReupload,
165
- 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"]);
166
164
 
167
165
  var _useClassNames = (0, _utils.useClassNames)(classPrefix),
168
166
  merge = _useClassNames.merge,
@@ -418,6 +416,7 @@ var Uploader = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
418
416
  onReupload: handleReupload,
419
417
  onCancel: handleRemoveFile,
420
418
  renderFileInfo: renderFileInfo,
419
+ renderThumbnail: renderThumbnail,
421
420
  removable: removable && !readOnly && !plaintext,
422
421
  allowReupload: !readOnly && !plaintext
423
422
  });
@@ -443,7 +442,6 @@ var Uploader = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
443
442
  });
444
443
 
445
444
  Uploader.displayName = 'Uploader';
446
- Uploader.defaultProps = defaultProps;
447
445
  Uploader.propTypes = {
448
446
  action: _propTypes.default.string,
449
447
  accept: _propTypes.default.string,
@@ -477,6 +475,7 @@ Uploader.propTypes = {
477
475
  style: _propTypes.default.object,
478
476
  toggleAs: _propTypes.default.elementType,
479
477
  renderFileInfo: _propTypes.default.func,
478
+ renderThumbnail: _propTypes.default.func,
480
479
  removable: _propTypes.default.bool,
481
480
  fileListVisible: _propTypes.default.bool,
482
481
  draggable: _propTypes.default.bool,