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
@@ -21,9 +21,11 @@ var TreeNode = /*#__PURE__*/forwardRef(function (_ref, ref) {
21
21
  loading = _ref.loading,
22
22
  nodeData = _ref.nodeData,
23
23
  className = _ref.className,
24
- classPrefix = _ref.classPrefix,
24
+ _ref$classPrefix = _ref.classPrefix,
25
+ classPrefix = _ref$classPrefix === void 0 ? 'tree-node' : _ref$classPrefix,
25
26
  disabled = _ref.disabled,
26
- visible = _ref.visible,
27
+ _ref$visible = _ref.visible,
28
+ visible = _ref$visible === void 0 ? true : _ref$visible,
27
29
  draggable = _ref.draggable,
28
30
  expand = _ref.expand,
29
31
  focus = _ref.focus,
@@ -199,10 +201,6 @@ var TreeNode = /*#__PURE__*/forwardRef(function (_ref, ref) {
199
201
  }), renderIcon(), renderLabel()) : null;
200
202
  });
201
203
  TreeNode.displayName = 'TreePickerNode';
202
- TreeNode.defaultProps = {
203
- visible: true,
204
- classPrefix: 'tree-node'
205
- };
206
204
  TreeNode.propTypes = {
207
205
  as: PropTypes.elementType,
208
206
  rtl: PropTypes.bool,
@@ -1,5 +1,5 @@
1
- import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
2
1
  import _extends from "@babel/runtime/helpers/esm/extends";
2
+ import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
3
3
  import _isFunction from "lodash/isFunction";
4
4
  import _isNil from "lodash/isNil";
5
5
  import _isUndefined from "lodash/isUndefined";
@@ -11,53 +11,57 @@ import { List, AutoSizer } from '../Picker/VirtualizedList';
11
11
  import TreeNode from './TreeNode';
12
12
  import { createChainedFunction, useClassNames, useCustom, useControlled, TREE_NODE_DROP_POSITION, KEY_VALUES, mergeRefs, shallowEqual } from '../utils';
13
13
  import { getExpandWhenSearching, hasVisibleChildren, getDragNodeKeys, calDropNodePosition, createUpdateTreeDataFunction, useTreeDrag, useFlattenTreeData, getTreeActiveNode, getDefaultExpandItemValues, useTreeNodeRefs, useTreeSearch, focusPreviousItem, getFocusableItems, focusNextItem, getActiveItem, toggleExpand, useGetTreeNodeChildren, focusToActiveTreeNode, leftArrowHandler, focusTreeNode, rightArrowHandler, isSearching } from '../utils/treeUtils';
14
- import { PickerToggle, PickerOverlay, SearchBar, PickerToggleTrigger, createConcatChildrenFunction, usePickerClassName, onMenuKeyDown as _onMenuKeyDown, usePublicMethods, listPickerPropTypes, listPickerDefaultProps, pickTriggerPropKeys, omitTriggerPropKeys, useToggleKeyDownEvent } from '../Picker';
14
+ import { PickerToggle, PickerOverlay, SearchBar, PickerToggleTrigger, createConcatChildrenFunction, usePickerClassName, onMenuKeyDown as _onMenuKeyDown, usePublicMethods, listPickerPropTypes, pickTriggerPropKeys, omitTriggerPropKeys, useToggleKeyDownEvent } from '../Picker';
15
15
  import TreeContext from '../Tree/TreeContext'; // default value for virtualized
16
16
 
17
17
  export var maxTreeHeight = 320;
18
-
19
- var defaultProps = _extends({}, listPickerDefaultProps, {
20
- classPrefix: 'picker',
21
- as: 'div',
22
- height: 360,
23
- appearance: 'default',
24
- searchable: true,
25
- cleanable: true,
26
- menuAutoWidth: true,
27
- placement: 'bottomStart'
28
- });
29
-
18
+ var emptyArray = [];
30
19
  var TreePicker = /*#__PURE__*/React.forwardRef(function (props, ref) {
31
- var Component = props.as,
32
- data = props.data,
20
+ var _props$as = props.as,
21
+ Component = _props$as === void 0 ? 'div' : _props$as,
22
+ _props$data = props.data,
23
+ data = _props$data === void 0 ? emptyArray : _props$data,
24
+ _props$appearance = props.appearance,
25
+ appearance = _props$appearance === void 0 ? 'default' : _props$appearance,
33
26
  style = props.style,
34
27
  controlledValue = props.value,
35
28
  overrideLocale = props.locale,
36
- height = props.height,
29
+ _props$height = props.height,
30
+ height = _props$height === void 0 ? 360 : _props$height,
37
31
  className = props.className,
38
32
  disabled = props.disabled,
39
- placement = props.placement,
40
- cleanable = props.cleanable,
33
+ _props$placement = props.placement,
34
+ placement = _props$placement === void 0 ? 'bottomStart' : _props$placement,
35
+ _props$cleanable = props.cleanable,
36
+ cleanable = _props$cleanable === void 0 ? true : _props$cleanable,
41
37
  menuStyle = props.menuStyle,
42
- searchable = props.searchable,
38
+ _props$searchable = props.searchable,
39
+ searchable = _props$searchable === void 0 ? true : _props$searchable,
43
40
  virtualized = props.virtualized,
44
- classPrefix = props.classPrefix,
41
+ _props$classPrefix = props.classPrefix,
42
+ classPrefix = _props$classPrefix === void 0 ? 'picker' : _props$classPrefix,
45
43
  defaultValue = props.defaultValue,
46
44
  placeholder = props.placeholder,
47
45
  searchKeyword = props.searchKeyword,
48
46
  menuClassName = props.menuClassName,
49
- menuAutoWidth = props.menuAutoWidth,
47
+ _props$menuAutoWidth = props.menuAutoWidth,
48
+ menuAutoWidth = _props$menuAutoWidth === void 0 ? true : _props$menuAutoWidth,
50
49
  searchBy = props.searchBy,
51
50
  toggleAs = props.toggleAs,
52
- labelKey = props.labelKey,
53
- valueKey = props.valueKey,
54
- childrenKey = props.childrenKey,
51
+ _props$labelKey = props.labelKey,
52
+ labelKey = _props$labelKey === void 0 ? 'label' : _props$labelKey,
53
+ _props$valueKey = props.valueKey,
54
+ valueKey = _props$valueKey === void 0 ? 'value' : _props$valueKey,
55
+ _props$childrenKey = props.childrenKey,
56
+ childrenKey = _props$childrenKey === void 0 ? 'children' : _props$childrenKey,
55
57
  draggable = props.draggable,
56
58
  defaultExpandAll = props.defaultExpandAll,
57
- disabledItemValues = props.disabledItemValues,
59
+ _props$disabledItemVa = props.disabledItemValues,
60
+ disabledItemValues = _props$disabledItemVa === void 0 ? emptyArray : _props$disabledItemVa,
58
61
  controlledExpandItemValues = props.expandItemValues,
59
62
  defaultExpandItemValues = props.defaultExpandItemValues,
60
63
  id = props.id,
64
+ listProps = props.listProps,
61
65
  getChildren = props.getChildren,
62
66
  renderTreeIcon = props.renderTreeIcon,
63
67
  renderTreeNode = props.renderTreeNode,
@@ -81,7 +85,7 @@ var TreePicker = /*#__PURE__*/React.forwardRef(function (props, ref) {
81
85
  renderMenu = props.renderMenu,
82
86
  renderValue = props.renderValue,
83
87
  renderDragNode = props.renderDragNode,
84
- rest = _objectWithoutPropertiesLoose(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"]);
88
+ rest = _objectWithoutPropertiesLoose(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"]);
85
89
 
86
90
  var triggerRef = useRef();
87
91
  var targetRef = useRef();
@@ -638,7 +642,7 @@ var TreePicker = /*#__PURE__*/React.forwardRef(function (props, ref) {
638
642
  }, function (_ref5) {
639
643
  var height = _ref5.height,
640
644
  width = _ref5.width;
641
- return /*#__PURE__*/React.createElement(List, {
645
+ return /*#__PURE__*/React.createElement(List, _extends({
642
646
  ref: listRef,
643
647
  width: width,
644
648
  height: height,
@@ -646,7 +650,7 @@ var TreePicker = /*#__PURE__*/React.forwardRef(function (props, ref) {
646
650
  rowCount: formattedNodes.length,
647
651
  rowRenderer: renderVirtualListNode(formattedNodes),
648
652
  scrollToAlignment: "center"
649
- });
653
+ }, listProps));
650
654
  }) : formattedNodes), renderDefaultDragNode());
651
655
  };
652
656
 
@@ -702,8 +706,11 @@ var TreePicker = /*#__PURE__*/React.forwardRef(function (props, ref) {
702
706
  }
703
707
 
704
708
  var _usePickerClassName = usePickerClassName(_extends({}, props, {
709
+ classPrefix: classPrefix,
710
+ appearance: appearance,
705
711
  hasValue: hasValidValue,
706
- name: 'tree'
712
+ name: 'tree',
713
+ cleanable: cleanable
707
714
  })),
708
715
  classes = _usePickerClassName[0],
709
716
  usedClassNamePropKeys = _usePickerClassName[1];
@@ -727,6 +734,7 @@ var TreePicker = /*#__PURE__*/React.forwardRef(function (props, ref) {
727
734
  }, /*#__PURE__*/React.createElement(PickerToggle, _extends({}, _omit(rest, [].concat(omitTriggerPropKeys, usedClassNamePropKeys, ['cascade'])), {
728
735
  id: id,
729
736
  ref: targetRef,
737
+ appearance: appearance,
730
738
  onKeyDown: onPickerKeydown,
731
739
  onClean: createChainedFunction(handleClean, onClean),
732
740
  cleanable: cleanable && !disabled,
@@ -739,7 +747,6 @@ var TreePicker = /*#__PURE__*/React.forwardRef(function (props, ref) {
739
747
  }), selectedElement || locale.placeholder)));
740
748
  });
741
749
  TreePicker.displayName = 'TreePicker';
742
- TreePicker.defaultProps = defaultProps;
743
750
  TreePicker.propTypes = _extends({}, listPickerPropTypes, {
744
751
  locale: PropTypes.any,
745
752
  appearance: PropTypes.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
@@ -34,31 +34,30 @@ export var formatSize = function formatSize(size) {
34
34
 
35
35
  return size + "B";
36
36
  };
37
- var defaultProps = {
38
- as: 'div',
39
- classPrefix: 'uploader-file-item',
40
- maxPreviewFileSize: 1024 * 1024 * 5,
41
- // 5MB
42
- listType: 'text',
43
- removable: true,
44
- allowReupload: true
45
- };
46
37
  var UploadFileItem = /*#__PURE__*/React.forwardRef(function (props, ref) {
47
- var Component = props.as,
38
+ var _props$as = props.as,
39
+ Component = _props$as === void 0 ? 'div' : _props$as,
48
40
  disabled = props.disabled,
49
- allowReupload = props.allowReupload,
41
+ _props$allowReupload = props.allowReupload,
42
+ allowReupload = _props$allowReupload === void 0 ? true : _props$allowReupload,
50
43
  file = props.file,
51
- classPrefix = props.classPrefix,
52
- listType = props.listType,
44
+ _props$classPrefix = props.classPrefix,
45
+ classPrefix = _props$classPrefix === void 0 ? 'uploader-file-item' : _props$classPrefix,
46
+ _props$listType = props.listType,
47
+ listType = _props$listType === void 0 ? 'text' : _props$listType,
53
48
  className = props.className,
54
- removable = props.removable,
55
- maxPreviewFileSize = props.maxPreviewFileSize,
49
+ _props$removable = props.removable,
50
+ removable = _props$removable === void 0 ? true : _props$removable,
51
+ _props$maxPreviewFile = props.maxPreviewFileSize,
52
+ maxPreviewFileSize = _props$maxPreviewFile === void 0 ? 1024 * 1024 * 5 : _props$maxPreviewFile,
56
53
  locale = props.locale,
57
54
  renderFileInfo = props.renderFileInfo,
55
+ renderThumbnail = props.renderThumbnail,
58
56
  onPreview = props.onPreview,
59
57
  onCancel = props.onCancel,
60
58
  onReupload = props.onReupload,
61
- rest = _objectWithoutPropertiesLoose(props, ["as", "disabled", "allowReupload", "file", "classPrefix", "listType", "className", "removable", "maxPreviewFileSize", "locale", "renderFileInfo", "onPreview", "onCancel", "onReupload"]);
59
+ onThumbnailCompleted = props.onThumbnailCompleted,
60
+ rest = _objectWithoutPropertiesLoose(props, ["as", "disabled", "allowReupload", "file", "classPrefix", "listType", "className", "removable", "maxPreviewFileSize", "locale", "renderFileInfo", "renderThumbnail", "onPreview", "onCancel", "onReupload", "onThumbnailCompleted"]);
62
61
 
63
62
  var _useClassNames = useClassNames(classPrefix),
64
63
  merge = _useClassNames.merge,
@@ -83,7 +82,8 @@ var UploadFileItem = /*#__PURE__*/React.forwardRef(function (props, ref) {
83
82
 
84
83
  if (!~['picture-text', 'picture'].indexOf(listType)) {
85
84
  return;
86
- }
85
+ } // The thumbnail file size cannot be larger than the preset value.
86
+
87
87
 
88
88
  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) {
89
89
  return;
@@ -95,9 +95,10 @@ var UploadFileItem = /*#__PURE__*/React.forwardRef(function (props, ref) {
95
95
  if (!file.url) {
96
96
  getThumbnail(function (previewImage) {
97
97
  setPreviewImage(previewImage);
98
+ onThumbnailCompleted === null || onThumbnailCompleted === void 0 ? void 0 : onThumbnailCompleted(previewImage);
98
99
  });
99
100
  }
100
- }, [file.url, getThumbnail]);
101
+ }, [file.url, getThumbnail, onThumbnailCompleted]);
101
102
  var handlePreview = useCallback(function (event) {
102
103
  if (disabled) {
103
104
  return;
@@ -145,18 +146,17 @@ var UploadFileItem = /*#__PURE__*/React.forwardRef(function (props, ref) {
145
146
  };
146
147
 
147
148
  var renderPreview = function renderPreview() {
148
- if (previewImage) {
149
- return /*#__PURE__*/React.createElement("div", {
150
- className: prefix('preview')
151
- }, /*#__PURE__*/React.createElement("img", {
152
- role: "presentation",
153
- src: previewImage,
154
- alt: file.name,
155
- onClick: handlePreview
156
- }));
157
- }
158
-
159
- return null;
149
+ var thumbnail = previewImage ? /*#__PURE__*/React.createElement("img", {
150
+ role: "presentation",
151
+ src: previewImage,
152
+ alt: file.name,
153
+ onClick: handlePreview
154
+ }) : /*#__PURE__*/React.createElement(Attachment, {
155
+ className: prefix('icon')
156
+ });
157
+ return /*#__PURE__*/React.createElement("div", {
158
+ className: prefix('preview')
159
+ }, renderThumbnail ? renderThumbnail(file, thumbnail) : thumbnail);
160
160
  };
161
161
  /**
162
162
  * Render the loading state.
@@ -168,11 +168,22 @@ var UploadFileItem = /*#__PURE__*/React.forwardRef(function (props, ref) {
168
168
  var classes = prefix('icon-wrapper', {
169
169
  'icon-loading': uploading
170
170
  });
171
+
172
+ if (uploading) {
173
+ return /*#__PURE__*/React.createElement("div", {
174
+ className: classes
175
+ }, /*#__PURE__*/React.createElement("i", {
176
+ className: prefix('icon')
177
+ }));
178
+ }
179
+
180
+ if (listType === 'picture' || listType === 'picture-text') {
181
+ return null;
182
+ }
183
+
171
184
  return /*#__PURE__*/React.createElement("div", {
172
185
  className: classes
173
- }, uploading ? /*#__PURE__*/React.createElement("i", {
174
- className: prefix('icon')
175
- }) : /*#__PURE__*/React.createElement(Attachment, {
186
+ }, /*#__PURE__*/React.createElement(Attachment, {
176
187
  className: prefix('icon')
177
188
  }));
178
189
  };
@@ -264,7 +275,6 @@ var UploadFileItem = /*#__PURE__*/React.forwardRef(function (props, ref) {
264
275
  }), renderIcon(), renderFilePanel(), renderProgressBar(), renderRemoveButton());
265
276
  });
266
277
  UploadFileItem.displayName = 'UploadFileItem';
267
- UploadFileItem.defaultProps = defaultProps;
268
278
  UploadFileItem.propTypes = {
269
279
  locale: PropTypes.any,
270
280
  file: PropTypes.object,
@@ -276,8 +286,10 @@ UploadFileItem.propTypes = {
276
286
  removable: PropTypes.bool,
277
287
  allowReupload: PropTypes.bool,
278
288
  renderFileInfo: PropTypes.func,
289
+ renderThumbnail: PropTypes.func,
279
290
  onCancel: PropTypes.func,
280
291
  onPreview: PropTypes.func,
281
- onReupload: PropTypes.func
292
+ onReupload: PropTypes.func,
293
+ onThumbnailCompleted: PropTypes.func
282
294
  };
283
295
  export default UploadFileItem;
@@ -11,19 +11,17 @@ var Button = function Button(props) {
11
11
  }));
12
12
  };
13
13
 
14
- var defaultProps = {
15
- as: Button,
16
- classPrefix: 'uploader-trigger'
17
- };
18
14
  var UploadTrigger = /*#__PURE__*/React.forwardRef(function (props, ref) {
19
- var Component = props.as,
15
+ var _props$as = props.as,
16
+ Component = _props$as === void 0 ? Button : _props$as,
20
17
  name = props.name,
21
18
  accept = props.accept,
22
19
  multiple = props.multiple,
23
20
  disabled = props.disabled,
24
21
  readOnly = props.readOnly,
25
22
  children = props.children,
26
- classPrefix = props.classPrefix,
23
+ _props$classPrefix = props.classPrefix,
24
+ classPrefix = _props$classPrefix === void 0 ? 'uploader-trigger' : _props$classPrefix,
27
25
  className = props.className,
28
26
  draggable = props.draggable,
29
27
  locale = props.locale,
@@ -142,7 +140,6 @@ var UploadTrigger = /*#__PURE__*/React.forwardRef(function (props, ref) {
142
140
  }), trigger);
143
141
  });
144
142
  UploadTrigger.displayName = 'UploadTrigger';
145
- UploadTrigger.defaultProps = defaultProps;
146
143
  UploadTrigger.propTypes = {
147
144
  locale: PropTypes.any,
148
145
  name: PropTypes.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 {
@@ -7,20 +7,6 @@ import FileItem from './UploadFileItem';
7
7
  import UploadTrigger from './UploadTrigger';
8
8
  import { ajaxUpload, useClassNames, useCustom, guid } from '../utils';
9
9
  import Plaintext from '../Plaintext';
10
- var defaultProps = {
11
- as: 'div',
12
- classPrefix: 'uploader',
13
- autoUpload: true,
14
- timeout: 0,
15
- name: 'file',
16
- multiple: false,
17
- disabled: false,
18
- withCredentials: false,
19
- data: {},
20
- listType: 'text',
21
- removable: true,
22
- fileListVisible: true
23
- };
24
10
 
25
11
  var getFiles = function getFiles(event) {
26
12
  if (typeof (event === null || event === void 0 ? void 0 : event['dataTransfer']) === 'object') {
@@ -105,46 +91,59 @@ var useFileList = function useFileList(defaultFileList) {
105
91
  };
106
92
 
107
93
  var Uploader = /*#__PURE__*/React.forwardRef(function (props, ref) {
108
- var Component = props.as,
109
- classPrefix = props.classPrefix,
94
+ var _props$as = props.as,
95
+ Component = _props$as === void 0 ? 'div' : _props$as,
96
+ _props$classPrefix = props.classPrefix,
97
+ classPrefix = _props$classPrefix === void 0 ? 'uploader' : _props$classPrefix,
110
98
  className = props.className,
111
- listType = props.listType,
99
+ _props$listType = props.listType,
100
+ listType = _props$listType === void 0 ? 'text' : _props$listType,
112
101
  defaultFileList = props.defaultFileList,
113
102
  fileListProp = props.fileList,
114
- fileListVisible = props.fileListVisible,
103
+ _props$fileListVisibl = props.fileListVisible,
104
+ fileListVisible = _props$fileListVisibl === void 0 ? true : _props$fileListVisibl,
115
105
  localeProp = props.locale,
116
106
  style = props.style,
117
107
  draggable = props.draggable,
118
- name = props.name,
119
- multiple = props.multiple,
120
- disabled = props.disabled,
108
+ _props$name = props.name,
109
+ name = _props$name === void 0 ? 'file' : _props$name,
110
+ _props$multiple = props.multiple,
111
+ multiple = _props$multiple === void 0 ? false : _props$multiple,
112
+ _props$disabled = props.disabled,
113
+ disabled = _props$disabled === void 0 ? false : _props$disabled,
121
114
  readOnly = props.readOnly,
122
115
  plaintext = props.plaintext,
123
116
  accept = props.accept,
124
117
  children = props.children,
125
118
  toggleAs = props.toggleAs,
126
- removable = props.removable,
119
+ _props$removable = props.removable,
120
+ removable = _props$removable === void 0 ? true : _props$removable,
127
121
  disabledFileItem = props.disabledFileItem,
128
122
  maxPreviewFileSize = props.maxPreviewFileSize,
129
- autoUpload = props.autoUpload,
123
+ _props$autoUpload = props.autoUpload,
124
+ autoUpload = _props$autoUpload === void 0 ? true : _props$autoUpload,
130
125
  action = props.action,
131
126
  headers = props.headers,
132
- withCredentials = props.withCredentials,
127
+ _props$withCredential = props.withCredentials,
128
+ withCredentials = _props$withCredential === void 0 ? false : _props$withCredential,
133
129
  disableMultipart = props.disableMultipart,
134
- timeout = props.timeout,
135
- data = props.data,
130
+ _props$timeout = props.timeout,
131
+ timeout = _props$timeout === void 0 ? 0 : _props$timeout,
132
+ _props$data = props.data,
133
+ data = _props$data === void 0 ? {} : _props$data,
136
134
  onRemove = props.onRemove,
137
135
  onUpload = props.onUpload,
138
136
  shouldUpload = props.shouldUpload,
139
137
  shouldQueueUpdate = props.shouldQueueUpdate,
140
138
  renderFileInfo = props.renderFileInfo,
139
+ renderThumbnail = props.renderThumbnail,
141
140
  onPreview = props.onPreview,
142
141
  onChange = props.onChange,
143
142
  onSuccess = props.onSuccess,
144
143
  onError = props.onError,
145
144
  onProgress = props.onProgress,
146
145
  onReupload = props.onReupload,
147
- rest = _objectWithoutPropertiesLoose(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"]);
146
+ rest = _objectWithoutPropertiesLoose(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"]);
148
147
 
149
148
  var _useClassNames = useClassNames(classPrefix),
150
149
  merge = _useClassNames.merge,
@@ -403,6 +402,7 @@ var Uploader = /*#__PURE__*/React.forwardRef(function (props, ref) {
403
402
  onReupload: handleReupload,
404
403
  onCancel: handleRemoveFile,
405
404
  renderFileInfo: renderFileInfo,
405
+ renderThumbnail: renderThumbnail,
406
406
  removable: removable && !readOnly && !plaintext,
407
407
  allowReupload: !readOnly && !plaintext
408
408
  });
@@ -427,7 +427,6 @@ var Uploader = /*#__PURE__*/React.forwardRef(function (props, ref) {
427
427
  }, renderList);
428
428
  });
429
429
  Uploader.displayName = 'Uploader';
430
- Uploader.defaultProps = defaultProps;
431
430
  Uploader.propTypes = {
432
431
  action: PropTypes.string,
433
432
  accept: PropTypes.string,
@@ -461,6 +460,7 @@ Uploader.propTypes = {
461
460
  style: PropTypes.object,
462
461
  toggleAs: PropTypes.elementType,
463
462
  renderFileInfo: PropTypes.func,
463
+ renderThumbnail: PropTypes.func,
464
464
  removable: PropTypes.bool,
465
465
  fileListVisible: PropTypes.bool,
466
466
  draggable: PropTypes.bool,
@@ -6,11 +6,6 @@ import PropTypes from 'prop-types';
6
6
  import kebabCase from 'lodash/kebabCase';
7
7
  import Transition from '../Animation/Transition';
8
8
  import { useClassNames, guid, createChainedFunction } from '../utils';
9
- var defaultProps = {
10
- as: 'div',
11
- classPrefix: 'toast-container',
12
- placement: 'topCenter'
13
- };
14
9
 
15
10
  var useMessages = function useMessages() {
16
11
  var _useState = useState([]),
@@ -73,10 +68,13 @@ var useMessages = function useMessages() {
73
68
  var ToastContainer = /*#__PURE__*/React.forwardRef(function (props, ref) {
74
69
  var rootRef = useRef();
75
70
 
76
- var Component = props.as,
71
+ var _props$as = props.as,
72
+ Component = _props$as === void 0 ? 'div' : _props$as,
77
73
  className = props.className,
78
- classPrefix = props.classPrefix,
79
- placement = props.placement,
74
+ _props$classPrefix = props.classPrefix,
75
+ classPrefix = _props$classPrefix === void 0 ? 'toast-container' : _props$classPrefix,
76
+ _props$placement = props.placement,
77
+ placement = _props$placement === void 0 ? 'topCenter' : _props$placement,
80
78
  rest = _objectWithoutPropertiesLoose(props, ["as", "className", "classPrefix", "placement"]);
81
79
 
82
80
  var _useClassNames = useClassNames(classPrefix),
@@ -155,7 +153,6 @@ ToastContainer.getInstance = function (props) {
155
153
  };
156
154
 
157
155
  ToastContainer.displayName = 'ToastContainer';
158
- ToastContainer.defaultProps = defaultProps;
159
156
  ToastContainer.propTypes = {
160
157
  className: PropTypes.string,
161
158
  classPrefix: PropTypes.string,
@@ -8,7 +8,6 @@ interface Props extends React.HTMLAttributes<HTMLDivElement> {
8
8
  }
9
9
  /**
10
10
  * Create a component with `classPrefix` and `as` attributes.
11
- * @param defaultProps
12
11
  */
13
- declare function createComponent(defaultProps: Props): RsRefForwardingComponent<"div", ComponentProps>;
12
+ declare function createComponent({ name, componentAs, componentClassPrefix, ...defaultProps }: Props): RsRefForwardingComponent<"div", ComponentProps>;
14
13
  export default createComponent;
@@ -7,17 +7,18 @@ import { useClassNames } from '../utils';
7
7
 
8
8
  /**
9
9
  * Create a component with `classPrefix` and `as` attributes.
10
- * @param defaultProps
11
10
  */
12
- function createComponent(defaultProps) {
13
- var name = defaultProps.name,
14
- componentAs = defaultProps.componentAs,
15
- componentClassPrefix = defaultProps.componentClassPrefix,
16
- componentRestProps = _objectWithoutPropertiesLoose(defaultProps, ["name", "componentAs", "componentClassPrefix"]);
11
+ function createComponent(_ref) {
12
+ var name = _ref.name,
13
+ componentAs = _ref.componentAs,
14
+ componentClassPrefix = _ref.componentClassPrefix,
15
+ defaultProps = _objectWithoutPropertiesLoose(_ref, ["name", "componentAs", "componentClassPrefix"]);
17
16
 
18
17
  var Component = /*#__PURE__*/React.forwardRef(function (props, ref) {
19
- var Component = props.as,
20
- classPrefix = props.classPrefix,
18
+ var _props$as = props.as,
19
+ Component = _props$as === void 0 ? componentAs || 'div' : _props$as,
20
+ _props$classPrefix = props.classPrefix,
21
+ classPrefix = _props$classPrefix === void 0 ? componentClassPrefix || kebabCase(name) : _props$classPrefix,
21
22
  className = props.className,
22
23
  role = props.role,
23
24
  rest = _objectWithoutPropertiesLoose(props, ["as", "classPrefix", "className", "role"]);
@@ -27,7 +28,7 @@ function createComponent(defaultProps) {
27
28
  merge = _useClassNames.merge;
28
29
 
29
30
  var classes = merge(className, withClassPrefix());
30
- return /*#__PURE__*/React.createElement(Component, _extends({}, rest, {
31
+ return /*#__PURE__*/React.createElement(Component, _extends({}, defaultProps, rest, {
31
32
  role: role,
32
33
  ref: ref,
33
34
  className: classes
@@ -40,10 +41,6 @@ function createComponent(defaultProps) {
40
41
  classPrefix: PropTypes.string,
41
42
  children: PropTypes.node
42
43
  };
43
- Component.defaultProps = _extends({}, componentRestProps, {
44
- as: componentAs || 'div',
45
- classPrefix: componentClassPrefix || kebabCase(name)
46
- });
47
44
  return Component;
48
45
  }
49
46
 
@@ -19,6 +19,7 @@ export { default as isBefore } from 'date-fns/isBefore';
19
19
  export { default as isEqual } from 'date-fns/isEqual';
20
20
  export { default as isSameDay } from 'date-fns/isSameDay';
21
21
  export { default as isSameMonth } from 'date-fns/isSameMonth';
22
+ export { default as isSameSecond } from 'date-fns/isSameSecond';
22
23
  export { default as parse } from 'date-fns/parse';
23
24
  export { default as parseISO } from 'date-fns/parseISO';
24
25
  export { default as setDate } from 'date-fns/setDate';
@@ -26,6 +26,7 @@ export { default as isBefore } from 'date-fns/isBefore';
26
26
  export { default as isEqual } from 'date-fns/isEqual';
27
27
  export { default as isSameDay } from 'date-fns/isSameDay';
28
28
  export { default as isSameMonth } from 'date-fns/isSameMonth';
29
+ export { default as isSameSecond } from 'date-fns/isSameSecond';
29
30
  export { default as parse } from 'date-fns/parse';
30
31
  export { default as parseISO } from 'date-fns/parseISO';
31
32
  export { default as setDate } from 'date-fns/setDate';
@@ -1,2 +1,3 @@
1
+ export declare function isImage(file: any): boolean;
1
2
  declare const _default: (file: File, callback: (result: string | ArrayBuffer) => void) => void;
2
3
  export default _default;
@@ -1,4 +1,13 @@
1
+ // https://developer.mozilla.org/en-US/docs/Web/Media/Formats/Image_types
2
+ var MIME = ['image/apng', 'image/avif', 'image/gif', 'image/jpeg', 'image/png', 'image/svg+xml', 'image/webp'];
3
+ export function isImage(file) {
4
+ return MIME.includes(file === null || file === void 0 ? void 0 : file.type);
5
+ }
1
6
  export default (function (file, callback) {
7
+ if (!isImage(file)) {
8
+ return callback(null);
9
+ }
10
+
2
11
  var reader = new FileReader();
3
12
 
4
13
  reader.onloadend = function () {
@@ -0,0 +1,4 @@
1
+ /**
2
+ * Used for generating unique ID for DOM elements
3
+ */
4
+ export default function useInternalId(prefix?: string): string;
@@ -0,0 +1,16 @@
1
+ import { useDebugValue, useRef } from 'react';
2
+ import uniqueId from 'lodash/uniqueId';
3
+ /**
4
+ * Used for generating unique ID for DOM elements
5
+ */
6
+
7
+ export default function useInternalId(prefix) {
8
+ var idRef = useRef();
9
+
10
+ if (!idRef.current) {
11
+ idRef.current = uniqueId("internal://" + prefix);
12
+ }
13
+
14
+ useDebugValue(idRef.current);
15
+ return idRef.current;
16
+ }
@@ -1,4 +1,6 @@
1
1
  /**
2
- * Used for generating unique ID for elements
2
+ * Used for generating unique ID for DOM elements
3
+ *
4
+ * @param idProp If id is provided, it will be used instead of generating a new one
3
5
  */
4
- export default function useUniqueId(prefix?: string): string;
6
+ export default function useUniqueId(prefix: string, idProp?: string): string;