rsuite 5.2.4 → 5.3.0

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 (433) hide show
  1. package/Avatar/styles/index.less +2 -2
  2. package/AvatarGroup/package.json +7 -0
  3. package/AvatarGroup/styles/index.less +19 -0
  4. package/ButtonGroup/styles/index.less +0 -18
  5. package/CHANGELOG.md +15 -0
  6. package/CheckTreePicker/styles/index.less +14 -1
  7. package/TreePicker/styles/index.less +10 -0
  8. package/cjs/@types/common.d.ts +9 -8
  9. package/cjs/@types/utils.d.ts +12 -0
  10. package/cjs/Affix/Affix.js +5 -5
  11. package/cjs/Animation/Transition.d.ts +21 -12
  12. package/cjs/Animation/Transition.js +4 -1
  13. package/cjs/AutoComplete/AutoComplete.js +1 -1
  14. package/cjs/AutoComplete/utils.d.ts +1 -1
  15. package/cjs/Avatar/Avatar.js +10 -3
  16. package/cjs/AvatarGroup/AvatarGroup.d.ts +15 -0
  17. package/cjs/AvatarGroup/AvatarGroup.js +71 -0
  18. package/cjs/AvatarGroup/index.d.ts +3 -0
  19. package/cjs/AvatarGroup/index.js +11 -0
  20. package/cjs/Breadcrumb/Breadcrumb.js +1 -1
  21. package/cjs/Button/Button.js +8 -2
  22. package/cjs/ButtonGroup/ButtonGroup.js +8 -2
  23. package/cjs/ButtonGroup/ButtonGroupContext.d.ts +7 -0
  24. package/cjs/ButtonGroup/ButtonGroupContext.js +13 -0
  25. package/cjs/ButtonGroup/index.d.ts +2 -0
  26. package/cjs/ButtonGroup/index.js +3 -0
  27. package/cjs/Calendar/Calendar.d.ts +4 -4
  28. package/cjs/Calendar/Calendar.js +5 -2
  29. package/cjs/Calendar/CalendarContext.js +1 -1
  30. package/cjs/Calendar/TableRow.js +1 -1
  31. package/cjs/Calendar/TimeDropdown.js +6 -5
  32. package/cjs/Calendar/types.d.ts +2 -2
  33. package/cjs/Calendar/useCalendarDate.d.ts +2 -2
  34. package/cjs/Carousel/Carousel.d.ts +1 -1
  35. package/cjs/Carousel/Carousel.js +1 -1
  36. package/cjs/Cascader/Cascader.d.ts +1 -1
  37. package/cjs/Cascader/Cascader.js +10 -10
  38. package/cjs/Cascader/DropdownMenu.d.ts +5 -4
  39. package/cjs/Cascader/utils.d.ts +3 -3
  40. package/cjs/CheckPicker/CheckPicker.js +4 -4
  41. package/cjs/CheckTreePicker/CheckTreeNode.d.ts +1 -1
  42. package/cjs/CheckTreePicker/CheckTreeNode.js +7 -9
  43. package/cjs/CheckTreePicker/CheckTreePicker.js +29 -25
  44. package/cjs/CheckTreePicker/utils.d.ts +3 -1
  45. package/cjs/CheckTreePicker/utils.js +12 -10
  46. package/cjs/Checkbox/Checkbox.d.ts +1 -1
  47. package/cjs/CustomProvider/CustomProvider.d.ts +31 -57
  48. package/cjs/DOMHelper/index.d.ts +12 -12
  49. package/cjs/DatePicker/DatePicker.d.ts +1 -1
  50. package/cjs/DatePicker/DatePicker.js +15 -9
  51. package/cjs/DatePicker/Toolbar.d.ts +12 -9
  52. package/cjs/DatePicker/Toolbar.js +6 -8
  53. package/cjs/DatePicker/types.d.ts +4 -4
  54. package/cjs/DatePicker/utils.d.ts +4 -3
  55. package/cjs/DateRangePicker/Calendar.d.ts +8 -7
  56. package/cjs/DateRangePicker/Calendar.js +1 -1
  57. package/cjs/DateRangePicker/DateRangePicker.d.ts +6 -6
  58. package/cjs/DateRangePicker/DateRangePicker.js +105 -108
  59. package/cjs/DateRangePicker/types.d.ts +2 -1
  60. package/cjs/DateRangePicker/utils.d.ts +6 -6
  61. package/cjs/DateRangePicker/utils.js +7 -2
  62. package/cjs/Disclosure/Disclosure.js +4 -2
  63. package/cjs/Disclosure/DisclosureButton.js +9 -7
  64. package/cjs/Disclosure/DisclosureContent.js +4 -6
  65. package/cjs/Disclosure/DisclosureContext.d.ts +2 -2
  66. package/cjs/Disclosure/useDisclosureContext.d.ts +2 -0
  67. package/cjs/Disclosure/useDisclosureContext.js +20 -0
  68. package/cjs/Dropdown/Dropdown.d.ts +1 -1
  69. package/cjs/Dropdown/DropdownContext.d.ts +2 -2
  70. package/cjs/Dropdown/DropdownItem.js +1 -1
  71. package/cjs/Dropdown/DropdownMenu.d.ts +3 -3
  72. package/cjs/Dropdown/DropdownState.d.ts +1 -1
  73. package/cjs/Dropdown/DropdownToggle.js +2 -1
  74. package/cjs/Dropdown/useRenderDropdownItem.d.ts +1 -1
  75. package/cjs/Form/Form.js +1 -1
  76. package/cjs/Form/FormContext.d.ts +1 -1
  77. package/cjs/FormControl/FormControl.d.ts +1 -1
  78. package/cjs/FormControl/FormControl.js +5 -4
  79. package/cjs/FormGroup/FormGroup.d.ts +1 -1
  80. package/cjs/Input/Input.d.ts +3 -2
  81. package/cjs/InputGroup/InputGroup.d.ts +1 -1
  82. package/cjs/InputNumber/InputNumber.js +6 -2
  83. package/cjs/InputPicker/InputAutosize.js +4 -4
  84. package/cjs/InputPicker/InputPicker.d.ts +2 -2
  85. package/cjs/InputPicker/InputPicker.js +15 -10
  86. package/cjs/List/ListContext.d.ts +1 -1
  87. package/cjs/List/ListContext.js +8 -1
  88. package/cjs/List/helper/AutoScroller.js +4 -2
  89. package/cjs/List/helper/useManager.d.ts +3 -3
  90. package/cjs/List/helper/useManager.js +1 -1
  91. package/cjs/List/helper/useSortHelper.d.ts +3 -3
  92. package/cjs/List/helper/useSortHelper.js +6 -4
  93. package/cjs/List/helper/utils.d.ts +2 -2
  94. package/cjs/MaskedInput/TextMask.d.ts +5 -5
  95. package/cjs/MaskedInput/adjustCaretPosition.d.ts +6 -6
  96. package/cjs/MaskedInput/conformToMask.js +5 -4
  97. package/cjs/MaskedInput/createTextMaskInputElement.d.ts +2 -2
  98. package/cjs/MaskedInput/utilities.d.ts +1 -1
  99. package/cjs/Menu/Menu.js +14 -7
  100. package/cjs/Menu/MenuContext.d.ts +1 -1
  101. package/cjs/Menu/MenuItem.d.ts +1 -1
  102. package/cjs/Menu/MenuItem.js +19 -15
  103. package/cjs/Menu/Menubar.js +8 -8
  104. package/cjs/Menu/useMenu.js +17 -7
  105. package/cjs/Modal/Modal.js +12 -6
  106. package/cjs/Modal/ModalContext.d.ts +2 -2
  107. package/cjs/Modal/utils.d.ts +1 -1
  108. package/cjs/Modal/utils.js +3 -5
  109. package/cjs/MultiCascader/DropdownMenu.d.ts +4 -4
  110. package/cjs/MultiCascader/MultiCascader.js +6 -6
  111. package/cjs/MultiCascader/utils.d.ts +14 -14
  112. package/cjs/Nav/Nav.d.ts +1 -1
  113. package/cjs/Nav/NavContext.d.ts +1 -1
  114. package/cjs/Nav/NavItem.d.ts +1 -1
  115. package/cjs/Navbar/Navbar.js +1 -1
  116. package/cjs/Navbar/NavbarItem.d.ts +1 -1
  117. package/cjs/Overlay/Modal.d.ts +2 -2
  118. package/cjs/Overlay/Modal.js +41 -31
  119. package/cjs/Overlay/ModalManager.d.ts +17 -8
  120. package/cjs/Overlay/ModalManager.js +11 -20
  121. package/cjs/Overlay/Overlay.d.ts +2 -2
  122. package/cjs/Overlay/Overlay.js +1 -1
  123. package/cjs/Overlay/OverlayTrigger.d.ts +11 -11
  124. package/cjs/Overlay/OverlayTrigger.js +14 -6
  125. package/cjs/Overlay/Position.d.ts +3 -3
  126. package/cjs/Overlay/Position.js +14 -8
  127. package/cjs/Overlay/positionUtils.d.ts +1 -1
  128. package/cjs/Overlay/positionUtils.js +8 -8
  129. package/cjs/Pagination/Pagination.d.ts +1 -1
  130. package/cjs/Pagination/PaginationButton.d.ts +3 -3
  131. package/cjs/Pagination/PaginationGroup.js +5 -3
  132. package/cjs/Panel/Panel.d.ts +1 -1
  133. package/cjs/Panel/Panel.js +2 -2
  134. package/cjs/PanelGroup/PanelGroup.d.ts +2 -2
  135. package/cjs/Picker/DropdownMenu.d.ts +8 -5
  136. package/cjs/Picker/DropdownMenu.js +5 -5
  137. package/cjs/Picker/PickerOverlay.js +4 -3
  138. package/cjs/Picker/PickerToggle.js +4 -3
  139. package/cjs/Picker/PickerToggleTrigger.d.ts +2 -6
  140. package/cjs/Picker/SearchBar.d.ts +1 -1
  141. package/cjs/Picker/SelectedElement.js +2 -1
  142. package/cjs/Picker/propTypes.d.ts +2 -2
  143. package/cjs/Picker/utils.d.ts +13 -13
  144. package/cjs/Picker/utils.js +22 -18
  145. package/cjs/Placeholder/PlaceholderGrid.js +1 -1
  146. package/cjs/Plaintext/Plaintext.js +2 -1
  147. package/cjs/Radio/Radio.d.ts +1 -1
  148. package/cjs/RadioGroup/RadioGroup.d.ts +2 -2
  149. package/cjs/RadioGroup/RadioGroup.js +1 -1
  150. package/cjs/RangeSlider/RangeSlider.d.ts +2 -2
  151. package/cjs/RangeSlider/RangeSlider.js +6 -4
  152. package/cjs/Rate/Character.js +4 -2
  153. package/cjs/Rate/Rate.js +2 -1
  154. package/cjs/Ripple/Ripple.js +1 -1
  155. package/cjs/SelectPicker/SelectPicker.js +4 -4
  156. package/cjs/Sidenav/Node.d.ts +1 -1
  157. package/cjs/Sidenav/Sidenav.d.ts +4 -4
  158. package/cjs/Sidenav/Sidenav.js +5 -2
  159. package/cjs/Sidenav/SidenavDropdown.js +11 -8
  160. package/cjs/Sidenav/SidenavDropdownItem.js +10 -5
  161. package/cjs/Sidenav/SidenavDropdownMenu.js +9 -5
  162. package/cjs/Sidenav/SidenavItem.d.ts +1 -1
  163. package/cjs/Sidenav/SidenavItem.js +4 -0
  164. package/cjs/Slider/Graduated.d.ts +5 -5
  165. package/cjs/Slider/Handle.d.ts +1 -1
  166. package/cjs/Slider/Handle.js +10 -6
  167. package/cjs/Slider/Mark.d.ts +1 -1
  168. package/cjs/Slider/Slider.d.ts +1 -1
  169. package/cjs/Slider/Slider.js +2 -2
  170. package/cjs/Slider/utils.d.ts +2 -1
  171. package/cjs/Slider/utils.js +4 -5
  172. package/cjs/Steps/StepItem.js +2 -2
  173. package/cjs/TagInput/index.js +1 -1
  174. package/cjs/Toggle/Toggle.js +1 -1
  175. package/cjs/Tree/Tree.d.ts +3 -1
  176. package/cjs/TreePicker/TreeNode.js +6 -8
  177. package/cjs/TreePicker/TreePicker.js +31 -25
  178. package/cjs/Uploader/UploadFileItem.d.ts +1 -1
  179. package/cjs/Uploader/UploadFileItem.js +2 -2
  180. package/cjs/Uploader/UploadTrigger.d.ts +1 -1
  181. package/cjs/Uploader/UploadTrigger.js +2 -3
  182. package/cjs/Uploader/Uploader.d.ts +5 -5
  183. package/cjs/Uploader/Uploader.js +1 -2
  184. package/cjs/index.d.ts +2 -0
  185. package/cjs/index.js +5 -1
  186. package/cjs/locales/index.d.ts +3 -3
  187. package/cjs/toaster/ToastContainer.d.ts +1 -1
  188. package/cjs/toaster/ToastContainer.js +1 -1
  189. package/cjs/toaster/toaster.js +3 -1
  190. package/cjs/utils/BrowserDetection.js +1 -1
  191. package/cjs/utils/ReactChildren.d.ts +2 -2
  192. package/cjs/utils/ajaxUpload.d.ts +1 -1
  193. package/cjs/utils/ajaxUpload.js +5 -4
  194. package/cjs/utils/appendTooltip.d.ts +1 -1
  195. package/cjs/utils/constants.d.ts +4 -4
  196. package/cjs/utils/createChainedFunction.d.ts +1 -1
  197. package/cjs/utils/getDataGroupBy.d.ts +1 -1
  198. package/cjs/utils/mergeRefs.d.ts +2 -2
  199. package/cjs/utils/previewFile.d.ts +1 -1
  200. package/cjs/utils/propTypeChecker.d.ts +6 -2
  201. package/cjs/utils/propTypeChecker.js +7 -6
  202. package/cjs/utils/reactToString.d.ts +2 -1
  203. package/cjs/utils/statusIcons.d.ts +1 -1
  204. package/cjs/utils/stringToObject.d.ts +1 -1
  205. package/cjs/utils/treeUtils.d.ts +32 -29
  206. package/cjs/utils/treeUtils.js +46 -23
  207. package/cjs/utils/useControlled.d.ts +6 -1
  208. package/cjs/utils/useControlled.js +0 -8
  209. package/cjs/utils/useCustom.js +6 -4
  210. package/cjs/utils/useFocus.d.ts +2 -2
  211. package/cjs/utils/usePortal.d.ts +1 -1
  212. package/cjs/utils/useRootClose.d.ts +2 -2
  213. package/cjs/utils/useTimeout.d.ts +1 -1
  214. package/cjs/utils/useTimeout.js +5 -3
  215. package/dist/rsuite-rtl.css +40 -159
  216. package/dist/rsuite-rtl.min.css +1 -1
  217. package/dist/rsuite-rtl.min.css.map +1 -1
  218. package/dist/rsuite.css +40 -159
  219. package/dist/rsuite.js +146 -102
  220. package/dist/rsuite.js.map +1 -1
  221. package/dist/rsuite.min.css +1 -1
  222. package/dist/rsuite.min.css.map +1 -1
  223. package/dist/rsuite.min.js +1 -1
  224. package/dist/rsuite.min.js.map +1 -1
  225. package/esm/@types/common.d.ts +9 -8
  226. package/esm/@types/utils.d.ts +12 -0
  227. package/esm/Affix/Affix.js +5 -5
  228. package/esm/Animation/Transition.d.ts +21 -12
  229. package/esm/Animation/Transition.js +4 -1
  230. package/esm/AutoComplete/AutoComplete.js +1 -1
  231. package/esm/AutoComplete/utils.d.ts +1 -1
  232. package/esm/Avatar/Avatar.js +7 -3
  233. package/esm/AvatarGroup/AvatarGroup.d.ts +15 -0
  234. package/esm/AvatarGroup/AvatarGroup.js +54 -0
  235. package/esm/AvatarGroup/index.d.ts +3 -0
  236. package/esm/AvatarGroup/index.js +2 -0
  237. package/esm/Breadcrumb/Breadcrumb.js +1 -1
  238. package/esm/Button/Button.js +6 -2
  239. package/esm/ButtonGroup/ButtonGroup.js +7 -2
  240. package/esm/ButtonGroup/ButtonGroupContext.d.ts +7 -0
  241. package/esm/ButtonGroup/ButtonGroupContext.js +3 -0
  242. package/esm/ButtonGroup/index.d.ts +2 -0
  243. package/esm/ButtonGroup/index.js +2 -0
  244. package/esm/Calendar/Calendar.d.ts +4 -4
  245. package/esm/Calendar/Calendar.js +5 -2
  246. package/esm/Calendar/CalendarContext.js +1 -1
  247. package/esm/Calendar/TableRow.js +1 -1
  248. package/esm/Calendar/TimeDropdown.js +5 -4
  249. package/esm/Calendar/types.d.ts +2 -2
  250. package/esm/Calendar/useCalendarDate.d.ts +2 -2
  251. package/esm/Carousel/Carousel.d.ts +1 -1
  252. package/esm/Carousel/Carousel.js +1 -1
  253. package/esm/Cascader/Cascader.d.ts +1 -1
  254. package/esm/Cascader/Cascader.js +10 -10
  255. package/esm/Cascader/DropdownMenu.d.ts +5 -4
  256. package/esm/Cascader/utils.d.ts +3 -3
  257. package/esm/CheckPicker/CheckPicker.js +4 -4
  258. package/esm/CheckTreePicker/CheckTreeNode.d.ts +1 -1
  259. package/esm/CheckTreePicker/CheckTreeNode.js +4 -7
  260. package/esm/CheckTreePicker/CheckTreePicker.js +28 -23
  261. package/esm/CheckTreePicker/utils.d.ts +3 -1
  262. package/esm/CheckTreePicker/utils.js +12 -10
  263. package/esm/Checkbox/Checkbox.d.ts +1 -1
  264. package/esm/CustomProvider/CustomProvider.d.ts +31 -57
  265. package/esm/DOMHelper/index.d.ts +12 -12
  266. package/esm/DatePicker/DatePicker.d.ts +1 -1
  267. package/esm/DatePicker/DatePicker.js +14 -9
  268. package/esm/DatePicker/Toolbar.d.ts +12 -9
  269. package/esm/DatePicker/Toolbar.js +6 -8
  270. package/esm/DatePicker/types.d.ts +4 -4
  271. package/esm/DatePicker/utils.d.ts +4 -3
  272. package/esm/DateRangePicker/Calendar.d.ts +8 -7
  273. package/esm/DateRangePicker/Calendar.js +1 -1
  274. package/esm/DateRangePicker/DateRangePicker.d.ts +6 -6
  275. package/esm/DateRangePicker/DateRangePicker.js +105 -108
  276. package/esm/DateRangePicker/types.d.ts +2 -1
  277. package/esm/DateRangePicker/utils.d.ts +6 -6
  278. package/esm/DateRangePicker/utils.js +6 -2
  279. package/esm/Disclosure/Disclosure.js +4 -2
  280. package/esm/Disclosure/DisclosureButton.js +8 -7
  281. package/esm/Disclosure/DisclosureContent.js +5 -7
  282. package/esm/Disclosure/DisclosureContext.d.ts +2 -2
  283. package/esm/Disclosure/useDisclosureContext.d.ts +2 -0
  284. package/esm/Disclosure/useDisclosureContext.js +11 -0
  285. package/esm/Dropdown/Dropdown.d.ts +1 -1
  286. package/esm/Dropdown/DropdownContext.d.ts +2 -2
  287. package/esm/Dropdown/DropdownItem.js +1 -1
  288. package/esm/Dropdown/DropdownMenu.d.ts +3 -3
  289. package/esm/Dropdown/DropdownState.d.ts +1 -1
  290. package/esm/Dropdown/DropdownToggle.js +2 -1
  291. package/esm/Dropdown/useRenderDropdownItem.d.ts +1 -1
  292. package/esm/Form/Form.js +1 -1
  293. package/esm/Form/FormContext.d.ts +1 -1
  294. package/esm/FormControl/FormControl.d.ts +1 -1
  295. package/esm/FormControl/FormControl.js +5 -4
  296. package/esm/FormGroup/FormGroup.d.ts +1 -1
  297. package/esm/Input/Input.d.ts +3 -2
  298. package/esm/InputGroup/InputGroup.d.ts +1 -1
  299. package/esm/InputNumber/InputNumber.js +6 -2
  300. package/esm/InputPicker/InputAutosize.js +4 -4
  301. package/esm/InputPicker/InputPicker.d.ts +2 -2
  302. package/esm/InputPicker/InputPicker.js +15 -10
  303. package/esm/List/ListContext.d.ts +1 -1
  304. package/esm/List/ListContext.js +7 -1
  305. package/esm/List/helper/AutoScroller.js +4 -2
  306. package/esm/List/helper/useManager.d.ts +3 -3
  307. package/esm/List/helper/useManager.js +1 -1
  308. package/esm/List/helper/useSortHelper.d.ts +3 -3
  309. package/esm/List/helper/useSortHelper.js +6 -4
  310. package/esm/List/helper/utils.d.ts +2 -2
  311. package/esm/MaskedInput/TextMask.d.ts +5 -5
  312. package/esm/MaskedInput/adjustCaretPosition.d.ts +6 -6
  313. package/esm/MaskedInput/conformToMask.js +5 -4
  314. package/esm/MaskedInput/createTextMaskInputElement.d.ts +2 -2
  315. package/esm/MaskedInput/utilities.d.ts +1 -1
  316. package/esm/Menu/Menu.js +13 -7
  317. package/esm/Menu/MenuContext.d.ts +1 -1
  318. package/esm/Menu/MenuItem.d.ts +1 -1
  319. package/esm/Menu/MenuItem.js +18 -15
  320. package/esm/Menu/Menubar.js +7 -8
  321. package/esm/Menu/useMenu.js +17 -7
  322. package/esm/Modal/Modal.js +12 -6
  323. package/esm/Modal/ModalContext.d.ts +2 -2
  324. package/esm/Modal/utils.d.ts +1 -1
  325. package/esm/Modal/utils.js +3 -5
  326. package/esm/MultiCascader/DropdownMenu.d.ts +4 -4
  327. package/esm/MultiCascader/MultiCascader.js +6 -6
  328. package/esm/MultiCascader/utils.d.ts +14 -14
  329. package/esm/Nav/Nav.d.ts +1 -1
  330. package/esm/Nav/NavContext.d.ts +1 -1
  331. package/esm/Nav/NavItem.d.ts +1 -1
  332. package/esm/Navbar/Navbar.js +1 -1
  333. package/esm/Navbar/NavbarItem.d.ts +1 -1
  334. package/esm/Overlay/Modal.d.ts +2 -2
  335. package/esm/Overlay/Modal.js +42 -32
  336. package/esm/Overlay/ModalManager.d.ts +17 -8
  337. package/esm/Overlay/ModalManager.js +11 -20
  338. package/esm/Overlay/Overlay.d.ts +2 -2
  339. package/esm/Overlay/Overlay.js +1 -1
  340. package/esm/Overlay/OverlayTrigger.d.ts +11 -11
  341. package/esm/Overlay/OverlayTrigger.js +14 -6
  342. package/esm/Overlay/Position.d.ts +3 -3
  343. package/esm/Overlay/Position.js +14 -8
  344. package/esm/Overlay/positionUtils.d.ts +1 -1
  345. package/esm/Overlay/positionUtils.js +6 -6
  346. package/esm/Pagination/Pagination.d.ts +1 -1
  347. package/esm/Pagination/PaginationButton.d.ts +3 -3
  348. package/esm/Pagination/PaginationGroup.js +5 -3
  349. package/esm/Panel/Panel.d.ts +1 -1
  350. package/esm/Panel/Panel.js +2 -2
  351. package/esm/PanelGroup/PanelGroup.d.ts +2 -2
  352. package/esm/Picker/DropdownMenu.d.ts +8 -5
  353. package/esm/Picker/DropdownMenu.js +5 -5
  354. package/esm/Picker/PickerOverlay.js +4 -3
  355. package/esm/Picker/PickerToggle.js +4 -3
  356. package/esm/Picker/PickerToggleTrigger.d.ts +2 -6
  357. package/esm/Picker/SearchBar.d.ts +1 -1
  358. package/esm/Picker/SelectedElement.js +2 -1
  359. package/esm/Picker/propTypes.d.ts +2 -2
  360. package/esm/Picker/utils.d.ts +13 -13
  361. package/esm/Picker/utils.js +21 -18
  362. package/esm/Placeholder/PlaceholderGrid.js +1 -1
  363. package/esm/Plaintext/Plaintext.js +2 -1
  364. package/esm/Radio/Radio.d.ts +1 -1
  365. package/esm/RadioGroup/RadioGroup.d.ts +2 -2
  366. package/esm/RadioGroup/RadioGroup.js +1 -1
  367. package/esm/RangeSlider/RangeSlider.d.ts +2 -2
  368. package/esm/RangeSlider/RangeSlider.js +5 -4
  369. package/esm/Rate/Character.js +3 -2
  370. package/esm/Rate/Rate.js +2 -1
  371. package/esm/Ripple/Ripple.js +1 -1
  372. package/esm/SelectPicker/SelectPicker.js +4 -4
  373. package/esm/Sidenav/Node.d.ts +1 -1
  374. package/esm/Sidenav/Sidenav.d.ts +4 -4
  375. package/esm/Sidenav/Sidenav.js +5 -2
  376. package/esm/Sidenav/SidenavDropdown.js +11 -7
  377. package/esm/Sidenav/SidenavDropdownItem.js +11 -5
  378. package/esm/Sidenav/SidenavDropdownMenu.js +9 -5
  379. package/esm/Sidenav/SidenavItem.d.ts +1 -1
  380. package/esm/Sidenav/SidenavItem.js +4 -0
  381. package/esm/Slider/Graduated.d.ts +5 -5
  382. package/esm/Slider/Handle.d.ts +1 -1
  383. package/esm/Slider/Handle.js +10 -6
  384. package/esm/Slider/Mark.d.ts +1 -1
  385. package/esm/Slider/Slider.d.ts +1 -1
  386. package/esm/Slider/Slider.js +2 -2
  387. package/esm/Slider/utils.d.ts +2 -1
  388. package/esm/Slider/utils.js +5 -2
  389. package/esm/Steps/StepItem.js +2 -2
  390. package/esm/TagInput/index.js +1 -1
  391. package/esm/Toggle/Toggle.js +1 -1
  392. package/esm/Tree/Tree.d.ts +3 -1
  393. package/esm/TreePicker/TreeNode.js +4 -7
  394. package/esm/TreePicker/TreePicker.js +30 -23
  395. package/esm/Uploader/UploadFileItem.d.ts +1 -1
  396. package/esm/Uploader/UploadFileItem.js +2 -2
  397. package/esm/Uploader/UploadTrigger.d.ts +1 -1
  398. package/esm/Uploader/UploadTrigger.js +2 -3
  399. package/esm/Uploader/Uploader.d.ts +5 -5
  400. package/esm/Uploader/Uploader.js +1 -2
  401. package/esm/index.d.ts +2 -0
  402. package/esm/index.js +1 -0
  403. package/esm/locales/index.d.ts +3 -3
  404. package/esm/toaster/ToastContainer.d.ts +1 -1
  405. package/esm/toaster/ToastContainer.js +1 -1
  406. package/esm/toaster/toaster.js +3 -1
  407. package/esm/utils/BrowserDetection.js +1 -1
  408. package/esm/utils/ReactChildren.d.ts +2 -2
  409. package/esm/utils/ajaxUpload.d.ts +1 -1
  410. package/esm/utils/ajaxUpload.js +5 -4
  411. package/esm/utils/appendTooltip.d.ts +1 -1
  412. package/esm/utils/constants.d.ts +4 -4
  413. package/esm/utils/createChainedFunction.d.ts +1 -1
  414. package/esm/utils/getDataGroupBy.d.ts +1 -1
  415. package/esm/utils/mergeRefs.d.ts +2 -2
  416. package/esm/utils/previewFile.d.ts +1 -1
  417. package/esm/utils/propTypeChecker.d.ts +6 -2
  418. package/esm/utils/propTypeChecker.js +7 -6
  419. package/esm/utils/reactToString.d.ts +2 -1
  420. package/esm/utils/statusIcons.d.ts +1 -1
  421. package/esm/utils/stringToObject.d.ts +1 -1
  422. package/esm/utils/treeUtils.d.ts +32 -29
  423. package/esm/utils/treeUtils.js +45 -21
  424. package/esm/utils/useControlled.d.ts +6 -1
  425. package/esm/utils/useControlled.js +0 -8
  426. package/esm/utils/useCustom.js +6 -4
  427. package/esm/utils/useFocus.d.ts +2 -2
  428. package/esm/utils/usePortal.d.ts +1 -1
  429. package/esm/utils/useRootClose.d.ts +2 -2
  430. package/esm/utils/useTimeout.d.ts +1 -1
  431. package/esm/utils/useTimeout.js +5 -3
  432. package/package.json +2 -2
  433. package/styles/index.less +1 -0
@@ -1,2 +1,3 @@
1
1
  export declare const precisionMath: (value: any) => number;
2
- export declare const checkValue: (value: number, min: number, max: number) => number;
2
+ declare function checkValue<T extends number | undefined>(value: T, min: number, max: number): T extends undefined ? undefined : number;
3
+ export { checkValue };
@@ -1,7 +1,8 @@
1
1
  export var precisionMath = function precisionMath(value) {
2
2
  return parseFloat(value.toFixed(10));
3
3
  };
4
- export var checkValue = function checkValue(value, min, max) {
4
+
5
+ function checkValue(value, min, max) {
5
6
  if (typeof value === 'undefined') {
6
7
  return value;
7
8
  }
@@ -15,4 +16,6 @@ export var checkValue = function checkValue(value, min, max) {
15
16
  }
16
17
 
17
18
  return value;
18
- };
19
+ }
20
+
21
+ export { checkValue };
@@ -12,7 +12,7 @@ var STEP_STATUS_ICON = {
12
12
  error: /*#__PURE__*/React.createElement(Close, null)
13
13
  };
14
14
  var StepItem = /*#__PURE__*/React.forwardRef(function (props, ref) {
15
- var _withClassPrefix, _STEP_STATUS_ICON$sta;
15
+ var _withClassPrefix;
16
16
 
17
17
  var _props$as = props.as,
18
18
  Component = _props$as === void 0 ? 'div' : _props$as,
@@ -43,7 +43,7 @@ var StepItem = /*#__PURE__*/React.forwardRef(function (props, ref) {
43
43
 
44
44
  var iconNode = /*#__PURE__*/React.createElement("span", {
45
45
  className: prefix('icon', "icon-" + status)
46
- }, (_STEP_STATUS_ICON$sta = STEP_STATUS_ICON[status]) !== null && _STEP_STATUS_ICON$sta !== void 0 ? _STEP_STATUS_ICON$sta : stepNumber);
46
+ }, status ? STEP_STATUS_ICON[status] : stepNumber);
47
47
 
48
48
  if (icon) {
49
49
  iconNode = /*#__PURE__*/React.createElement("span", {
@@ -33,7 +33,7 @@ var TagInput = /*#__PURE__*/React.forwardRef(function (props, ref) {
33
33
  value: value,
34
34
  defaultValue: defaultValue,
35
35
  data: data,
36
- placement: null,
36
+ placement: undefined,
37
37
  creatable: true,
38
38
  ref: ref
39
39
  })));
@@ -25,7 +25,7 @@ var Toggle = /*#__PURE__*/React.forwardRef(function (props, ref) {
25
25
  onChange = props.onChange,
26
26
  rest = _objectWithoutPropertiesLoose(props, ["as", "disabled", "readOnly", "loading", "plaintext", "className", "checkedChildren", "unCheckedChildren", "classPrefix", "checked", "defaultChecked", "size", "locale", "onChange"]);
27
27
 
28
- var inputRef = useRef();
28
+ var inputRef = useRef(null);
29
29
 
30
30
  var _useControlled = useControlled(checkedProp, defaultChecked),
31
31
  checked = _useControlled[0],
@@ -43,6 +43,8 @@ export interface TreeBaseProps<ValueType = string | number, ItemDataType = Recor
43
43
  height?: number;
44
44
  /** Whether display search input box */
45
45
  searchable?: boolean;
46
+ /** Display an auxiliary line when the tree node is indented. */
47
+ showIndentLine?: boolean;
46
48
  /** Whether using virtualized list */
47
49
  virtualized?: boolean;
48
50
  /**
@@ -59,7 +61,7 @@ export interface TreeBaseProps<ValueType = string | number, ItemDataType = Recor
59
61
  /** Set the option value for the expand node with controlled*/
60
62
  expandItemValues?: any[];
61
63
  /** Callback function for data change */
62
- onExpand?: (expandItemValues: ItemDataType[], activeNode: ItemDataType, concat: (data: ItemDataType[], children: React.ReactNode) => ItemDataType[]) => void;
64
+ onExpand?: (expandItemValues: ItemDataType[], activeNode: ItemDataType, concat: (data: ItemDataType[], children: ItemDataType[]) => ItemDataType[]) => void;
63
65
  /** Callback function after selecting tree node */
64
66
  onSelect?: (activeNode: ItemDataType, value: ValueType, event: React.SyntheticEvent) => void;
65
67
  /** Custom Render tree Node */
@@ -7,10 +7,9 @@ import ArrowDown from '@rsuite/icons/legacy/ArrowDown';
7
7
  import Spinner from '@rsuite/icons/legacy/Spinner';
8
8
  import TreeContext from '../Tree/TreeContext';
9
9
  import reactToString from '../utils/reactToString';
10
- import { useClassNames, TREE_NODE_PADDING, TREE_NODE_ROOT_PADDING } from '../utils';
10
+ import { useClassNames } from '../utils';
11
+ import { getTreeNodeIndent } from '../utils/treeUtils';
11
12
  var TreeNode = /*#__PURE__*/forwardRef(function (_ref, ref) {
12
- var _extends2;
13
-
14
13
  var _ref$as = _ref.as,
15
14
  Component = _ref$as === void 0 ? 'div' : _ref$as,
16
15
  rtl = _ref.rtl,
@@ -174,11 +173,9 @@ var TreeNode = /*#__PURE__*/forwardRef(function (_ref, ref) {
174
173
  active: active,
175
174
  'text-muted': disabled,
176
175
  focus: focus
177
- })); // layer start from 1
178
-
179
- var padding = (layer - 1) * TREE_NODE_PADDING + TREE_NODE_ROOT_PADDING;
176
+ }));
180
177
 
181
- var styles = _extends({}, style, (_extends2 = {}, _extends2[rtl ? 'paddingRight' : 'paddingLeft'] = padding, _extends2));
178
+ var styles = _extends({}, style, getTreeNodeIndent(rtl, layer - 1));
182
179
 
183
180
  return visible ? /*#__PURE__*/React.createElement(Component, _extends({
184
181
  role: "treeitem"
@@ -9,6 +9,7 @@ import React, { useState, useRef, useEffect, useCallback, useContext } from 'rea
9
9
  import PropTypes from 'prop-types';
10
10
  import { List, AutoSizer } from '../Picker/VirtualizedList';
11
11
  import TreeNode from './TreeNode';
12
+ import { getTreeNodeIndent } from '../utils/treeUtils';
12
13
  import { createChainedFunction, useClassNames, useCustom, useControlled, TREE_NODE_DROP_POSITION, KEY_VALUES, mergeRefs, shallowEqual } from '../utils';
13
14
  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
15
  import { PickerToggle, PickerOverlay, SearchBar, PickerToggleTrigger, createConcatChildrenFunction, usePickerClassName, onMenuKeyDown as _onMenuKeyDown, usePublicMethods, listPickerPropTypes, pickTriggerPropKeys, omitTriggerPropKeys, useToggleKeyDownEvent } from '../Picker';
@@ -24,6 +25,7 @@ var TreePicker = /*#__PURE__*/React.forwardRef(function (props, ref) {
24
25
  _props$appearance = props.appearance,
25
26
  appearance = _props$appearance === void 0 ? 'default' : _props$appearance,
26
27
  style = props.style,
28
+ showIndentLine = props.showIndentLine,
27
29
  controlledValue = props.value,
28
30
  overrideLocale = props.locale,
29
31
  _props$height = props.height,
@@ -37,7 +39,8 @@ var TreePicker = /*#__PURE__*/React.forwardRef(function (props, ref) {
37
39
  menuStyle = props.menuStyle,
38
40
  _props$searchable = props.searchable,
39
41
  searchable = _props$searchable === void 0 ? true : _props$searchable,
40
- virtualized = props.virtualized,
42
+ _props$virtualized = props.virtualized,
43
+ virtualized = _props$virtualized === void 0 ? false : _props$virtualized,
41
44
  _props$classPrefix = props.classPrefix,
42
45
  classPrefix = _props$classPrefix === void 0 ? 'picker' : _props$classPrefix,
43
46
  defaultValue = props.defaultValue,
@@ -85,14 +88,14 @@ var TreePicker = /*#__PURE__*/React.forwardRef(function (props, ref) {
85
88
  renderMenu = props.renderMenu,
86
89
  renderValue = props.renderValue,
87
90
  renderDragNode = props.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"]);
91
+ rest = _objectWithoutPropertiesLoose(props, ["as", "data", "appearance", "style", "showIndentLine", "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"]);
89
92
 
90
- var triggerRef = useRef();
91
- var targetRef = useRef();
92
- var listRef = useRef();
93
- var overlayRef = useRef();
94
- var searchInputRef = useRef();
95
- var treeViewRef = useRef();
93
+ var triggerRef = useRef(null);
94
+ var targetRef = useRef(null);
95
+ var listRef = useRef(null);
96
+ var overlayRef = useRef(null);
97
+ var searchInputRef = useRef(null);
98
+ var treeViewRef = useRef(null);
96
99
 
97
100
  var _useCustom = useCustom('Picker', overrideLocale),
98
101
  rtl = _useCustom.rtl,
@@ -184,21 +187,17 @@ var TreePicker = /*#__PURE__*/React.forwardRef(function (props, ref) {
184
187
 
185
188
  var activeNode = getTreeActiveNode(flattenNodes, value, valueKey);
186
189
  var getFormattedNodes = useCallback(function (render) {
187
- var formattedNodes = [];
188
-
189
190
  if (virtualized) {
190
- formattedNodes = formatVirtualizedTreeData(flattenNodes, filteredData, expandItemValues, {
191
+ return formatVirtualizedTreeData(flattenNodes, filteredData, expandItemValues, {
191
192
  searchKeyword: searchKeywordState
192
193
  }).filter(function (n) {
193
194
  return n.visible;
194
195
  });
195
- } else {
196
- formattedNodes = filteredData.map(function (dataItem, index) {
197
- return render === null || render === void 0 ? void 0 : render(dataItem, index, 1);
198
- });
199
196
  }
200
197
 
201
- return formattedNodes;
198
+ return filteredData.map(function (dataItem, index) {
199
+ return render === null || render === void 0 ? void 0 : render(dataItem, index, 1);
200
+ });
202
201
  }, [searchKeywordState, expandItemValues, filteredData, flattenNodes, formatVirtualizedTreeData, virtualized]);
203
202
  var focusActiveNode = useCallback(function () {
204
203
  focusToActiveTreeNode({
@@ -412,7 +411,7 @@ var TreePicker = /*#__PURE__*/React.forwardRef(function (props, ref) {
412
411
  (_targetRef$current2 = targetRef.current) === null || _targetRef$current2 === void 0 ? void 0 : _targetRef$current2.focus();
413
412
  }, [activeNode, setSearchKeyword, valueKey]);
414
413
  usePublicMethods(ref, {
415
- rootRef: inline ? treeViewRef : null,
414
+ rootRef: inline ? treeViewRef : undefined,
416
415
  triggerRef: triggerRef,
417
416
  overlayRef: overlayRef,
418
417
  targetRef: targetRef,
@@ -448,11 +447,13 @@ var TreePicker = /*#__PURE__*/React.forwardRef(function (props, ref) {
448
447
  }
449
448
  }, [searchKeywordState, expandItemValues, filteredData, focusItemValue, treeNodesRefs, treePrefix, valueKey, childrenKey, disabledItemValues]);
450
449
  var handleLeftArrow = useCallback(function () {
450
+ if (_isNil(focusItemValue)) return;
451
451
  var focusItem = getActiveItem(focusItemValue, flattenNodes, valueKey);
452
452
  leftArrowHandler({
453
453
  focusItem: focusItem,
454
454
  expand: expandItemValues.includes(focusItem === null || focusItem === void 0 ? void 0 : focusItem[valueKey]),
455
455
  onExpand: handleExpand,
456
+ childrenKey: childrenKey,
456
457
  onFocusItem: function onFocusItem() {
457
458
  var _focusItem$parent, _focusItem$parent2;
458
459
 
@@ -460,8 +461,9 @@ var TreePicker = /*#__PURE__*/React.forwardRef(function (props, ref) {
460
461
  focusTreeNode(focusItem === null || focusItem === void 0 ? void 0 : (_focusItem$parent2 = focusItem.parent) === null || _focusItem$parent2 === void 0 ? void 0 : _focusItem$parent2.refKey, treeNodesRefs, "." + treePrefix('node-label'));
461
462
  }
462
463
  });
463
- }, [expandItemValues, flattenNodes, focusItemValue, handleExpand, treeNodesRefs, treePrefix, valueKey]);
464
+ }, [expandItemValues, flattenNodes, focusItemValue, handleExpand, treeNodesRefs, treePrefix, valueKey, childrenKey]);
464
465
  var handleRightArrow = useCallback(function () {
466
+ if (_isNil(focusItemValue)) return;
465
467
  var focusItem = getActiveItem(focusItemValue, flattenNodes, valueKey);
466
468
  rightArrowHandler({
467
469
  focusItem: focusItem,
@@ -474,10 +476,12 @@ var TreePicker = /*#__PURE__*/React.forwardRef(function (props, ref) {
474
476
  });
475
477
  }, [focusItemValue, flattenNodes, valueKey, expandItemValues, childrenKey, handleExpand, handleFocusItem]);
476
478
  var selectActiveItem = useCallback(function (event) {
479
+ if (_isNil(focusItemValue)) return;
477
480
  var activeItem = getActiveItem(focusItemValue, flattenNodes, valueKey);
478
481
  handleSelect(activeItem, event);
479
482
  }, [flattenNodes, valueKey, focusItemValue, handleSelect]);
480
483
  var handleClean = useCallback(function (event) {
484
+ var nullValue = null;
481
485
  var target = event.target; // exclude searchBar
482
486
 
483
487
  if (target.matches('div[role="searchbox"] > input')) {
@@ -485,7 +489,7 @@ var TreePicker = /*#__PURE__*/React.forwardRef(function (props, ref) {
485
489
  }
486
490
 
487
491
  setValue(null);
488
- onChange === null || onChange === void 0 ? void 0 : onChange(null, event);
492
+ onChange === null || onChange === void 0 ? void 0 : onChange(nullValue, event);
489
493
  }, [onChange, setValue]);
490
494
  var onPickerKeydown = useToggleKeyDownEvent(_extends({
491
495
  toggle: !activeNode || !active,
@@ -556,18 +560,21 @@ var TreePicker = /*#__PURE__*/React.forwardRef(function (props, ref) {
556
560
  key: node[valueKey]
557
561
  }, /*#__PURE__*/React.createElement(TreeNode, _extends({}, nodeProps, {
558
562
  ref: function ref(_ref) {
559
- return saveTreeNodeRef(node.refKey, _ref);
563
+ return saveTreeNodeRef(_ref, node.refKey);
560
564
  }
561
565
  })), /*#__PURE__*/React.createElement("div", {
562
566
  className: treePrefix('children')
563
567
  }, nodes.map(function (child, i) {
564
568
  return renderNode(child, i, layer);
569
+ }), showIndentLine && /*#__PURE__*/React.createElement("span", {
570
+ className: treePrefix('indent-line'),
571
+ style: getTreeNodeIndent(rtl, layer - 1, true)
565
572
  })));
566
573
  }
567
574
 
568
575
  return /*#__PURE__*/React.createElement(TreeNode, _extends({
569
576
  ref: function ref(_ref2) {
570
- return saveTreeNodeRef(node.refKey, _ref2);
577
+ return saveTreeNodeRef(_ref2, node.refKey);
571
578
  },
572
579
  key: node[valueKey]
573
580
  }, nodeProps));
@@ -596,7 +603,7 @@ var TreePicker = /*#__PURE__*/React.forwardRef(function (props, ref) {
596
603
 
597
604
  return visible && /*#__PURE__*/React.createElement(TreeNode, _extends({
598
605
  ref: function ref(_ref4) {
599
- return saveTreeNodeRef(node.refKey, _ref4);
606
+ return saveTreeNodeRef(_ref4, node.refKey);
600
607
  },
601
608
  key: key
602
609
  }, nodeProps));
@@ -604,7 +611,7 @@ var TreePicker = /*#__PURE__*/React.forwardRef(function (props, ref) {
604
611
  };
605
612
 
606
613
  var renderDefaultDragNode = function renderDefaultDragNode() {
607
- if (draggable) {
614
+ if (draggable && !_isNil(dragNode)) {
608
615
  var dragNodeContent = dragNode === null || dragNode === void 0 ? void 0 : dragNode[labelKey];
609
616
 
610
617
  if (_isFunction(renderDragNode)) {
@@ -7,7 +7,7 @@ export interface UploadFileItemProps extends WithAsProps {
7
7
  listType: 'text' | 'picture-text' | 'picture';
8
8
  disabled?: boolean;
9
9
  className?: string;
10
- maxPreviewFileSize: number;
10
+ maxPreviewFileSize?: number;
11
11
  classPrefix?: string;
12
12
  removable?: boolean;
13
13
  allowReupload?: boolean;
@@ -275,8 +275,8 @@ var UploadFileItem = /*#__PURE__*/React.forwardRef(function (props, ref) {
275
275
  UploadFileItem.displayName = 'UploadFileItem';
276
276
  UploadFileItem.propTypes = {
277
277
  locale: PropTypes.any,
278
- file: PropTypes.object,
279
- listType: PropTypes.oneOf(['text', 'picture-text', 'picture']),
278
+ file: PropTypes.object.isRequired,
279
+ listType: PropTypes.oneOf(['text', 'picture-text', 'picture']).isRequired,
280
280
  disabled: PropTypes.bool,
281
281
  className: PropTypes.string,
282
282
  maxPreviewFileSize: PropTypes.number,
@@ -1,7 +1,7 @@
1
1
  import React from 'react';
2
2
  import { UploaderLocale } from '../locales';
3
3
  export interface UploadTriggerProps {
4
- as: React.ElementType | string;
4
+ as?: React.ElementType;
5
5
  name?: string;
6
6
  multiple?: boolean;
7
7
  disabled?: boolean;
@@ -32,13 +32,13 @@ var UploadTrigger = /*#__PURE__*/React.forwardRef(function (props, ref) {
32
32
  onDrop = props.onDrop,
33
33
  rest = _objectWithoutPropertiesLoose(props, ["as", "name", "accept", "multiple", "disabled", "readOnly", "children", "classPrefix", "className", "draggable", "locale", "onChange", "onDragEnter", "onDragLeave", "onDragOver", "onDrop"]);
34
34
 
35
- var rootRef = useRef();
35
+ var rootRef = useRef(null);
36
36
 
37
37
  var _useState = useState(false),
38
38
  dragOver = _useState[0],
39
39
  setDragOver = _useState[1];
40
40
 
41
- var inputRef = useRef();
41
+ var inputRef = useRef(null);
42
42
 
43
43
  var _useClassNames = useClassNames(classPrefix),
44
44
  merge = _useClassNames.merge,
@@ -151,7 +151,6 @@ UploadTrigger.propTypes = {
151
151
  classPrefix: PropTypes.string,
152
152
  className: PropTypes.string,
153
153
  children: PropTypes.node,
154
- as: PropTypes.elementType,
155
154
  draggable: PropTypes.bool,
156
155
  onDragEnter: PropTypes.func,
157
156
  onDragLeave: PropTypes.func,
@@ -21,7 +21,7 @@ export interface UploaderInstance {
21
21
  }
22
22
  export interface UploaderProps extends WithAsProps {
23
23
  /** Uploading URL */
24
- action?: string;
24
+ action: string;
25
25
  /** File types that can be accepted. See input accept Attribute */
26
26
  accept?: string;
27
27
  /** Automatically upload files after selecting them */
@@ -62,7 +62,7 @@ export interface UploaderProps extends WithAsProps {
62
62
  /** Max file size limit of the preview file */
63
63
  maxPreviewFileSize?: number;
64
64
  /** You can use a custom element for this component */
65
- toggleAs?: React.ElementType | string;
65
+ toggleAs?: React.ElementType;
66
66
  /** Removable list file */
67
67
  removable?: boolean;
68
68
  /** File list can be rendered */
@@ -84,11 +84,11 @@ export interface UploaderProps extends WithAsProps {
84
84
  /** In the file list, click the callback function for the uploaded file */
85
85
  onPreview?: (file: FileType, event: React.SyntheticEvent) => void;
86
86
  /** Upload callback function with erro */
87
- onError?: (status: any, file: FileType, event: React.SyntheticEvent, xhr: XMLHttpRequest) => void;
87
+ onError?: (status: any, file: FileType, event: ProgressEvent, xhr: XMLHttpRequest) => void;
88
88
  /** callback function after successful upload */
89
- onSuccess?: (response: any, file: FileType, event: React.SyntheticEvent, xhr: XMLHttpRequest) => void;
89
+ onSuccess?: (response: any, file: FileType, event: ProgressEvent, xhr: XMLHttpRequest) => void;
90
90
  /** Callback functions that upload progress change */
91
- onProgress?: (percent: number, file: FileType, event: React.SyntheticEvent, xhr: XMLHttpRequest) => void;
91
+ onProgress?: (percent: number, file: FileType, event: ProgressEvent, xhr: XMLHttpRequest) => void;
92
92
  /** In the file list, click the callback function to delete a file */
93
93
  onRemove?: (file: FileType) => void;
94
94
  /** Custom render file information */
@@ -428,7 +428,7 @@ var Uploader = /*#__PURE__*/React.forwardRef(function (props, ref) {
428
428
  });
429
429
  Uploader.displayName = 'Uploader';
430
430
  Uploader.propTypes = {
431
- action: PropTypes.string,
431
+ action: PropTypes.string.isRequired,
432
432
  accept: PropTypes.string,
433
433
  autoUpload: PropTypes.bool,
434
434
  children: PropTypes.node,
@@ -458,7 +458,6 @@ Uploader.propTypes = {
458
458
  onRemove: PropTypes.func,
459
459
  maxPreviewFileSize: PropTypes.number,
460
460
  style: PropTypes.object,
461
- toggleAs: PropTypes.elementType,
462
461
  renderFileInfo: PropTypes.func,
463
462
  renderThumbnail: PropTypes.func,
464
463
  removable: PropTypes.bool,
package/esm/index.d.ts CHANGED
@@ -32,6 +32,8 @@ export { default as Badge } from './Badge';
32
32
  export type { BadgeProps } from './Badge';
33
33
  export { default as Avatar } from './Avatar';
34
34
  export type { AvatarProps } from './Avatar';
35
+ export { default as AvatarGroup } from './AvatarGroup';
36
+ export type { AvatarGroupProps } from './AvatarGroup';
35
37
  export { default as toaster } from './toaster';
36
38
  export type { Toaster } from './toaster';
37
39
  export { default as Dropdown } from './Dropdown';
package/esm/index.js CHANGED
@@ -16,6 +16,7 @@ export { default as Divider } from './Divider';
16
16
  export { default as Placeholder } from './Placeholder';
17
17
  export { default as Badge } from './Badge';
18
18
  export { default as Avatar } from './Avatar';
19
+ export { default as AvatarGroup } from './AvatarGroup';
19
20
  export { default as toaster } from './toaster';
20
21
  // Nav
21
22
  export { default as Dropdown } from './Dropdown';
@@ -19,15 +19,15 @@ declare type PickKeys<T> = {
19
19
  [keys in keyof T]?: T[keys];
20
20
  };
21
21
  export declare type Locale = PickKeys<typeof defaultLocale>;
22
- export declare type CommonLocale = PickKeys<typeof defaultLocale.common>;
22
+ export declare type CommonLocale = typeof defaultLocale.common;
23
23
  export declare type CalendarLocale = PickKeys<typeof defaultLocale.Calendar>;
24
24
  export declare type PlaintextLocale = PickKeys<typeof defaultLocale.Plaintext>;
25
25
  export declare type PaginationLocale = PickKeys<typeof defaultLocale.Pagination>;
26
26
  export declare type TableLocale = CommonLocale;
27
27
  export declare type DatePickerLocale = PickKeys<typeof defaultLocale.DatePicker>;
28
28
  export declare type DateRangePickerLocale = PickKeys<typeof defaultLocale.DateRangePicker>;
29
- export declare type PickerLocale = PickKeys<typeof defaultLocale.Picker> & CommonLocale;
30
- export declare type InputPickerLocale = PickerLocale & PickKeys<typeof defaultLocale.InputPicker>;
29
+ export declare type PickerLocale = typeof defaultLocale.Picker & CommonLocale;
30
+ export declare type InputPickerLocale = PickerLocale & typeof defaultLocale.InputPicker;
31
31
  export declare type UploaderLocale = PickKeys<typeof defaultLocale.Uploader>;
32
32
  export declare type CloseButtonLocale = PickKeys<typeof defaultLocale.CloseButton>;
33
33
  export declare type BreadcrumbLocale = PickKeys<typeof defaultLocale.Breadcrumb>;
@@ -18,7 +18,7 @@ export interface NodeProps extends WithAsProps {
18
18
  onClose?: (event?: React.MouseEvent<HTMLDivElement>) => void;
19
19
  }
20
20
  interface ToastContainerComponent extends RsRefForwardingComponent<'div', ToastContainerProps> {
21
- getInstance?: (props: ToastContainerProps) => [React.RefObject<ToastContainerInstance>, () => void];
21
+ getInstance: (props: ToastContainerProps) => [React.RefObject<ToastContainerInstance>, () => void];
22
22
  }
23
23
  declare const ToastContainer: ToastContainerComponent;
24
24
  export default ToastContainer;
@@ -14,7 +14,7 @@ var useMessages = function useMessages() {
14
14
 
15
15
  var getKey = useCallback(function (key) {
16
16
  if (typeof key === 'undefined' && messages.length) {
17
- key = messages[messages.length - 1].key;
17
+ return messages[messages.length - 1].key;
18
18
  }
19
19
 
20
20
  return key;
@@ -40,7 +40,9 @@ toaster.push = function (message, options) {
40
40
  var container = getContainer(options.placement);
41
41
 
42
42
  if (!container) {
43
- container = createContainer(options.placement, options);
43
+ var _options$placement;
44
+
45
+ container = createContainer((_options$placement = options.placement) !== null && _options$placement !== void 0 ? _options$placement : '', options);
44
46
  }
45
47
 
46
48
  return container.current.push(message);
@@ -12,5 +12,5 @@ export var isIE11 = function isIE11() {
12
12
  }; // Edge 20+
13
13
 
14
14
  export var isEdge = function isEdge() {
15
- return canUseDOM && !isIE() && !!window.styleMedia;
15
+ return canUseDOM && !isIE() && 'styleMedia' in window;
16
16
  };
@@ -1,7 +1,7 @@
1
1
  import React from 'react';
2
2
  export declare function find(children: React.ReactNode, func: any, context?: any): React.ReactNode;
3
- export declare function map(children: React.ReactNode, func: any, context?: any): any[];
4
- export declare function mapCloneElement(children: React.ReactNode, func: any, context?: any): any[];
3
+ export declare function map(children: React.ReactNode, func: any, context?: any): any[] | null | undefined;
4
+ export declare function mapCloneElement(children: React.ReactNode, func: any, context?: any): any[] | null | undefined;
5
5
  export declare function count(children: React.ReactChildren): number;
6
6
  declare function some(children: React.ReactNode, func: any, context?: any): boolean;
7
7
  declare const _default: {
@@ -17,6 +17,6 @@ interface Options {
17
17
  }
18
18
  export default function ajaxUpload(options: Options): {
19
19
  xhr: XMLHttpRequest;
20
- data: any;
20
+ data: File | FormData;
21
21
  };
22
22
  export {};
@@ -27,15 +27,16 @@ export default function ajaxUpload(options) {
27
27
  withCredentials = options.withCredentials,
28
28
  disableMultipart = options.disableMultipart;
29
29
  var xhr = new XMLHttpRequest();
30
- var sendableData = null;
30
+ var sendableData;
31
31
  xhr.open('POST', url, true);
32
32
 
33
33
  if (!disableMultipart) {
34
34
  sendableData = new FormData();
35
35
  sendableData.append(name, file, file.name);
36
- Object.keys(data).forEach(function (key) {
37
- return sendableData.append(key, data[key]);
38
- });
36
+
37
+ for (var key in data) {
38
+ sendableData.append(key, data[key]);
39
+ }
39
40
  } else {
40
41
  sendableData = file;
41
42
  }
@@ -3,7 +3,7 @@ import { TypeAttributes } from '../@types/common';
3
3
  interface Props {
4
4
  ref?: React.Ref<any>;
5
5
  message?: React.ReactNode;
6
- children?: React.ReactElement | ((props: any, ref: any) => React.ReactElement);
6
+ children: React.ReactElement | ((props: any, ref: any) => React.ReactElement);
7
7
  placement?: TypeAttributes.Placement;
8
8
  }
9
9
  export default function appendTooltip({ message, ref, ...rest }: Props): JSX.Element;
@@ -1,10 +1,10 @@
1
1
  export declare const SIZE: string[];
2
2
  export declare const STATUS: string[];
3
3
  export declare const COLOR: string[];
4
- export declare const PLACEMENT_4: string[];
5
- export declare const PLACEMENT_8: string[];
6
- export declare const PLACEMENT_AUTO: string[];
7
- export declare const PLACEMENT: any[];
4
+ export declare const PLACEMENT_4: readonly ["top", "bottom", "right", "left"];
5
+ export declare const PLACEMENT_8: readonly ["bottomStart", "bottomEnd", "topStart", "topEnd", "leftStart", "rightStart", "leftEnd", "rightEnd"];
6
+ export declare const PLACEMENT_AUTO: readonly ["auto", "autoVertical", "autoVerticalStart", "autoVerticalEnd", "autoHorizontal", "autoHorizontalStart", "autoHorizontalEnd"];
7
+ export declare const PLACEMENT: readonly ["top", "bottom", "right", "left", "bottomStart", "bottomEnd", "topStart", "topEnd", "leftStart", "rightStart", "leftEnd", "rightEnd", "auto", "autoVertical", "autoVerticalStart", "autoVerticalEnd", "autoHorizontal", "autoHorizontalStart", "autoHorizontalEnd"];
8
8
  /**
9
9
  * Check Tree Node State
10
10
  */
@@ -11,5 +11,5 @@
11
11
  * @param {function} functions to chain
12
12
  * @returns {function|undefined}
13
13
  */
14
- declare function createChainedFunction<T = any>(...funcs: T[]): T;
14
+ declare function createChainedFunction<T = any>(...funcs: (T | null)[]): T;
15
15
  export default createChainedFunction;
@@ -1,3 +1,3 @@
1
1
  export declare const KEY_GROUP: string | symbol;
2
2
  export declare const KEY_GROUP_TITLE = "groupTitle";
3
- export default function getDataGroupBy(data: any[], key: string, sort: any): any[];
3
+ export default function getDataGroupBy(data: any[] | undefined, key: string, sort: any): any[];
@@ -1,5 +1,5 @@
1
- /// <reference types="react" />
1
+ import React from 'react';
2
2
  declare type CallbackRef<T> = (ref: T | null) => void;
3
3
  declare type Ref<T> = React.MutableRefObject<T> | CallbackRef<T>;
4
- export default function mergeRefs<T>(refA?: Ref<T> | null, refB?: Ref<T> | null): (value: T | null) => void;
4
+ export default function mergeRefs<T>(refA?: Ref<T | null> | null, refB?: Ref<T | null> | null): React.RefCallback<T>;
5
5
  export {};
@@ -1,3 +1,3 @@
1
1
  export declare function isImage(file: any): boolean;
2
- declare const _default: (file: File, callback: (result: string | ArrayBuffer) => void) => void;
2
+ declare const _default: (file: File, callback: (result: string | ArrayBuffer | null) => void) => void;
3
3
  export default _default;
@@ -1,3 +1,7 @@
1
- import PropTypes from 'prop-types';
2
- export declare function tupleType(...types: any[]): any;
1
+ import PropTypes, { Requireable, Validator } from 'prop-types';
2
+ declare type ExtractValue<T extends ReadonlyArray<Validator<any>>> = {
3
+ [K in keyof T]: T[K] extends Validator<infer V> ? V : never;
4
+ };
5
+ export declare function tupleType<T extends readonly Validator<any>[]>(...types: T): Requireable<ExtractValue<T>>;
3
6
  export declare const refType: PropTypes.Requireable<any>;
7
+ export {};
@@ -2,7 +2,7 @@ import PropTypes from 'prop-types';
2
2
  var ANONYMOUS = '';
3
3
 
4
4
  function createChainableTypeChecker(validate) {
5
- function checkType(isRequired, props, propName, componentName, location, propFullName, secret) {
5
+ function checkType(isRequired, props, propName, componentName, location, propFullName) {
6
6
  componentName = componentName || ANONYMOUS;
7
7
  propFullName = propFullName || propName;
8
8
 
@@ -17,12 +17,13 @@ function createChainableTypeChecker(validate) {
17
17
 
18
18
  return null;
19
19
  } else {
20
- return validate(props, propName, componentName, location, propFullName, secret);
20
+ return validate(props, propName, componentName, location, propFullName);
21
21
  }
22
22
  }
23
23
 
24
- var chainedCheckType = checkType.bind(null, false);
25
- chainedCheckType.isRequired = checkType.bind(null, true);
24
+ var chainedCheckType = Object.assign(checkType.bind(null, false), {
25
+ isRequired: checkType.bind(null, true)
26
+ });
26
27
  return chainedCheckType;
27
28
  }
28
29
 
@@ -31,7 +32,7 @@ export function tupleType() {
31
32
  types[_key] = arguments[_key];
32
33
  }
33
34
 
34
- return createChainableTypeChecker(function (props, propName, componentName, location, propFullName, secret) {
35
+ return createChainableTypeChecker(function (props, propName, componentName, location, propFullName) {
35
36
  var value = props[propName];
36
37
 
37
38
  if (!location) {
@@ -55,7 +56,7 @@ export function tupleType() {
55
56
  }
56
57
 
57
58
  for (var i = 0; i < value.length; ++i) {
58
- var error = types[i](value, i, componentName, 'element', propFullName + "[" + i + "]", secret);
59
+ var error = types[i](value, String(i), componentName, 'element', propFullName + "[" + i + "]");
59
60
 
60
61
  if (error) {
61
62
  return error;
@@ -1 +1,2 @@
1
- export default function reactToString(element: any): any[];
1
+ import React from 'react';
2
+ export default function reactToString(element: React.ReactElement): string[];