rsuite 5.2.4 → 5.4.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 (511) 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 +61 -0
  6. package/CheckTreePicker/styles/index.less +14 -1
  7. package/Dropdown/styles/index.less +4 -3
  8. package/Modal/styles/index.less +23 -22
  9. package/Nav/styles/index.less +1 -0
  10. package/Navbar/styles/index.less +19 -5
  11. package/Radio/styles/index.less +6 -0
  12. package/Sidenav/styles/index.less +2 -2
  13. package/Stack/package.json +7 -0
  14. package/Stack/styles/index.less +5 -0
  15. package/TreePicker/styles/index.less +10 -14
  16. package/cjs/@types/common.d.ts +13 -12
  17. package/cjs/@types/utils.d.ts +12 -0
  18. package/cjs/Affix/Affix.js +8 -6
  19. package/cjs/Animation/Transition.d.ts +21 -12
  20. package/cjs/Animation/Transition.js +4 -1
  21. package/cjs/AutoComplete/AutoComplete.js +1 -1
  22. package/cjs/AutoComplete/utils.d.ts +1 -1
  23. package/cjs/Avatar/Avatar.js +10 -3
  24. package/cjs/AvatarGroup/AvatarGroup.d.ts +15 -0
  25. package/cjs/AvatarGroup/AvatarGroup.js +76 -0
  26. package/cjs/AvatarGroup/index.d.ts +3 -0
  27. package/cjs/AvatarGroup/index.js +11 -0
  28. package/cjs/Breadcrumb/Breadcrumb.js +1 -1
  29. package/cjs/Button/Button.js +8 -2
  30. package/cjs/ButtonGroup/ButtonGroup.js +14 -3
  31. package/cjs/ButtonGroup/ButtonGroupContext.d.ts +7 -0
  32. package/cjs/ButtonGroup/ButtonGroupContext.js +13 -0
  33. package/cjs/ButtonGroup/index.d.ts +2 -0
  34. package/cjs/ButtonGroup/index.js +3 -0
  35. package/cjs/Calendar/Calendar.d.ts +4 -4
  36. package/cjs/Calendar/Calendar.js +26 -22
  37. package/cjs/Calendar/CalendarContext.js +1 -1
  38. package/cjs/Calendar/Header.js +1 -3
  39. package/cjs/Calendar/Table.js +1 -1
  40. package/cjs/Calendar/TableRow.js +13 -8
  41. package/cjs/Calendar/TimeDropdown.js +6 -5
  42. package/cjs/Calendar/View.js +9 -5
  43. package/cjs/Calendar/types.d.ts +2 -2
  44. package/cjs/Calendar/useCalendarDate.d.ts +2 -2
  45. package/cjs/Carousel/Carousel.d.ts +1 -1
  46. package/cjs/Carousel/Carousel.js +1 -1
  47. package/cjs/Cascader/Cascader.d.ts +1 -1
  48. package/cjs/Cascader/Cascader.js +10 -10
  49. package/cjs/Cascader/DropdownMenu.d.ts +5 -4
  50. package/cjs/Cascader/utils.d.ts +10 -10
  51. package/cjs/CheckPicker/CheckPicker.d.ts +9 -4
  52. package/cjs/CheckPicker/CheckPicker.js +4 -4
  53. package/cjs/CheckPicker/test/CheckPicker.test.d.ts +1 -0
  54. package/cjs/CheckPicker/test/CheckPicker.test.js +76 -0
  55. package/cjs/CheckTree/index.js +6 -5
  56. package/cjs/CheckTreePicker/CheckTreeNode.d.ts +1 -1
  57. package/cjs/CheckTreePicker/CheckTreeNode.js +7 -9
  58. package/cjs/CheckTreePicker/CheckTreePicker.js +29 -25
  59. package/cjs/CheckTreePicker/utils.d.ts +3 -1
  60. package/cjs/CheckTreePicker/utils.js +12 -10
  61. package/cjs/Checkbox/Checkbox.d.ts +1 -1
  62. package/cjs/Container/Container.js +6 -3
  63. package/cjs/CustomProvider/CustomProvider.d.ts +31 -57
  64. package/cjs/DOMHelper/index.d.ts +12 -12
  65. package/cjs/DatePicker/DatePicker.d.ts +1 -1
  66. package/cjs/DatePicker/DatePicker.js +19 -11
  67. package/cjs/DatePicker/Toolbar.d.ts +12 -9
  68. package/cjs/DatePicker/Toolbar.js +6 -8
  69. package/cjs/DatePicker/types.d.ts +4 -4
  70. package/cjs/DatePicker/utils.d.ts +4 -3
  71. package/cjs/DateRangePicker/Calendar.d.ts +8 -7
  72. package/cjs/DateRangePicker/Calendar.js +1 -1
  73. package/cjs/DateRangePicker/DateRangePicker.d.ts +6 -6
  74. package/cjs/DateRangePicker/DateRangePicker.js +112 -111
  75. package/cjs/DateRangePicker/types.d.ts +2 -1
  76. package/cjs/DateRangePicker/utils.d.ts +6 -6
  77. package/cjs/DateRangePicker/utils.js +7 -2
  78. package/cjs/Disclosure/Disclosure.d.ts +8 -5
  79. package/cjs/Disclosure/Disclosure.js +55 -13
  80. package/cjs/Disclosure/DisclosureButton.d.ts +2 -2
  81. package/cjs/Disclosure/DisclosureButton.js +9 -7
  82. package/cjs/Disclosure/DisclosureContent.js +4 -6
  83. package/cjs/Disclosure/DisclosureContext.d.ts +8 -3
  84. package/cjs/Disclosure/useDisclosureContext.d.ts +2 -0
  85. package/cjs/Disclosure/useDisclosureContext.js +20 -0
  86. package/cjs/Dropdown/Dropdown.d.ts +1 -1
  87. package/cjs/Dropdown/Dropdown.js +1 -1
  88. package/cjs/Dropdown/DropdownContext.d.ts +2 -2
  89. package/cjs/Dropdown/DropdownItem.js +10 -11
  90. package/cjs/Dropdown/DropdownMenu.d.ts +3 -3
  91. package/cjs/Dropdown/DropdownMenu.js +81 -23
  92. package/cjs/Dropdown/DropdownState.d.ts +1 -1
  93. package/cjs/Dropdown/DropdownToggle.js +10 -2
  94. package/cjs/Dropdown/useRenderDropdownItem.d.ts +1 -1
  95. package/cjs/Form/Form.js +1 -1
  96. package/cjs/Form/FormContext.d.ts +1 -1
  97. package/cjs/FormControl/FormControl.d.ts +1 -1
  98. package/cjs/FormControl/FormControl.js +5 -4
  99. package/cjs/FormGroup/FormGroup.d.ts +1 -1
  100. package/cjs/FormGroup/FormGroup.js +9 -4
  101. package/cjs/Input/Input.d.ts +3 -2
  102. package/cjs/InputGroup/InputGroup.d.ts +1 -1
  103. package/cjs/InputNumber/InputNumber.js +6 -2
  104. package/cjs/InputPicker/InputAutosize.js +4 -4
  105. package/cjs/InputPicker/InputPicker.d.ts +2 -2
  106. package/cjs/InputPicker/InputPicker.js +15 -10
  107. package/cjs/List/ListContext.d.ts +1 -1
  108. package/cjs/List/ListContext.js +8 -1
  109. package/cjs/List/helper/AutoScroller.js +4 -2
  110. package/cjs/List/helper/useManager.d.ts +3 -3
  111. package/cjs/List/helper/useManager.js +1 -1
  112. package/cjs/List/helper/useSortHelper.d.ts +3 -3
  113. package/cjs/List/helper/useSortHelper.js +6 -4
  114. package/cjs/List/helper/utils.d.ts +2 -2
  115. package/cjs/MaskedInput/TextMask.d.ts +5 -5
  116. package/cjs/MaskedInput/adjustCaretPosition.d.ts +6 -6
  117. package/cjs/MaskedInput/conformToMask.js +5 -4
  118. package/cjs/MaskedInput/createTextMaskInputElement.d.ts +2 -2
  119. package/cjs/MaskedInput/utilities.d.ts +1 -1
  120. package/cjs/Menu/Menu.js +14 -7
  121. package/cjs/Menu/MenuContext.d.ts +1 -1
  122. package/cjs/Menu/MenuItem.d.ts +1 -1
  123. package/cjs/Menu/MenuItem.js +19 -15
  124. package/cjs/Menu/Menubar.js +8 -8
  125. package/cjs/Menu/useMenu.js +17 -7
  126. package/cjs/Modal/Modal.js +39 -21
  127. package/cjs/Modal/ModalContext.d.ts +2 -2
  128. package/cjs/Modal/utils.d.ts +1 -1
  129. package/cjs/Modal/utils.js +3 -5
  130. package/cjs/MultiCascader/DropdownMenu.d.ts +4 -4
  131. package/cjs/MultiCascader/MultiCascader.js +6 -6
  132. package/cjs/MultiCascader/utils.d.ts +17 -17
  133. package/cjs/Nav/Nav.d.ts +1 -1
  134. package/cjs/Nav/Nav.js +10 -12
  135. package/cjs/Nav/NavContext.d.ts +7 -1
  136. package/cjs/Nav/NavContext.js +1 -0
  137. package/cjs/Nav/NavItem.d.ts +1 -1
  138. package/cjs/Navbar/Navbar.js +1 -1
  139. package/cjs/Navbar/NavbarItem.d.ts +1 -1
  140. package/cjs/Navbar/index.d.ts +1 -0
  141. package/cjs/Navbar/index.js +4 -3
  142. package/cjs/Overlay/Modal.d.ts +2 -2
  143. package/cjs/Overlay/Modal.js +71 -63
  144. package/cjs/Overlay/ModalManager.d.ts +17 -8
  145. package/cjs/Overlay/ModalManager.js +11 -20
  146. package/cjs/Overlay/Overlay.d.ts +3 -3
  147. package/cjs/Overlay/Overlay.js +8 -2
  148. package/cjs/Overlay/OverlayContext.d.ts +6 -0
  149. package/cjs/Overlay/OverlayContext.js +14 -0
  150. package/cjs/Overlay/OverlayTrigger.d.ts +11 -11
  151. package/cjs/Overlay/OverlayTrigger.js +21 -7
  152. package/cjs/Overlay/Position.d.ts +4 -4
  153. package/cjs/Overlay/Position.js +14 -8
  154. package/cjs/Overlay/positionUtils.d.ts +1 -1
  155. package/cjs/Overlay/positionUtils.js +8 -8
  156. package/cjs/Pagination/Pagination.d.ts +1 -1
  157. package/cjs/Pagination/PaginationButton.d.ts +3 -3
  158. package/cjs/Pagination/PaginationGroup.js +5 -3
  159. package/cjs/Panel/Panel.d.ts +1 -1
  160. package/cjs/Panel/Panel.js +2 -2
  161. package/cjs/PanelGroup/PanelGroup.d.ts +2 -2
  162. package/cjs/PanelGroup/PanelGroup.js +8 -5
  163. package/cjs/Picker/DropdownMenu.d.ts +8 -5
  164. package/cjs/Picker/DropdownMenu.js +5 -5
  165. package/cjs/Picker/PickerOverlay.js +4 -3
  166. package/cjs/Picker/PickerToggle.js +4 -3
  167. package/cjs/Picker/PickerToggleTrigger.d.ts +2 -6
  168. package/cjs/Picker/SearchBar.d.ts +1 -1
  169. package/cjs/Picker/SelectedElement.js +2 -1
  170. package/cjs/Picker/propTypes.d.ts +5 -7
  171. package/cjs/Picker/propTypes.js +4 -3
  172. package/cjs/Picker/utils.d.ts +11 -11
  173. package/cjs/Picker/utils.js +22 -18
  174. package/cjs/Placeholder/PlaceholderGrid.js +1 -1
  175. package/cjs/Plaintext/Plaintext.js +2 -1
  176. package/cjs/Radio/Radio.d.ts +1 -1
  177. package/cjs/RadioGroup/RadioGroup.d.ts +2 -2
  178. package/cjs/RadioGroup/RadioGroup.js +1 -1
  179. package/cjs/RangeSlider/RangeSlider.d.ts +2 -2
  180. package/cjs/RangeSlider/RangeSlider.js +6 -4
  181. package/cjs/Rate/Character.js +4 -2
  182. package/cjs/Rate/Rate.js +2 -1
  183. package/cjs/Ripple/Ripple.js +1 -1
  184. package/cjs/SelectPicker/SelectPicker.d.ts +12 -5
  185. package/cjs/SelectPicker/SelectPicker.js +8 -8
  186. package/cjs/SelectPicker/index.d.ts +1 -1
  187. package/cjs/SelectPicker/test/SelectPicker.test.d.ts +1 -0
  188. package/cjs/SelectPicker/test/SelectPicker.test.js +62 -0
  189. package/cjs/Sidenav/Node.d.ts +1 -1
  190. package/cjs/Sidenav/Sidenav.d.ts +4 -4
  191. package/cjs/Sidenav/Sidenav.js +5 -2
  192. package/cjs/Sidenav/SidenavDropdown.js +11 -8
  193. package/cjs/Sidenav/SidenavDropdownItem.js +10 -5
  194. package/cjs/Sidenav/SidenavDropdownMenu.js +9 -5
  195. package/cjs/Sidenav/SidenavItem.d.ts +1 -1
  196. package/cjs/Sidenav/SidenavItem.js +4 -0
  197. package/cjs/Slider/Graduated.d.ts +5 -5
  198. package/cjs/Slider/Handle.d.ts +1 -1
  199. package/cjs/Slider/Handle.js +10 -6
  200. package/cjs/Slider/Mark.d.ts +1 -1
  201. package/cjs/Slider/Slider.d.ts +1 -1
  202. package/cjs/Slider/Slider.js +2 -2
  203. package/cjs/Slider/utils.d.ts +2 -1
  204. package/cjs/Slider/utils.js +4 -5
  205. package/cjs/Stack/Stack.d.ts +26 -0
  206. package/cjs/Stack/Stack.js +86 -0
  207. package/cjs/Stack/index.d.ts +3 -0
  208. package/cjs/Stack/index.js +11 -0
  209. package/cjs/Steps/StepItem.js +1 -1
  210. package/cjs/TagInput/index.js +1 -1
  211. package/cjs/Toggle/Toggle.js +5 -4
  212. package/cjs/Tree/Tree.d.ts +3 -2
  213. package/cjs/Tree/Tree.js +6 -5
  214. package/cjs/Tree/TreeContext.d.ts +0 -1
  215. package/cjs/TreePicker/TreeNode.js +7 -22
  216. package/cjs/TreePicker/TreePicker.js +32 -52
  217. package/cjs/Uploader/UploadFileItem.d.ts +1 -1
  218. package/cjs/Uploader/UploadFileItem.js +2 -2
  219. package/cjs/Uploader/UploadTrigger.d.ts +1 -1
  220. package/cjs/Uploader/UploadTrigger.js +2 -3
  221. package/cjs/Uploader/Uploader.d.ts +5 -5
  222. package/cjs/Uploader/Uploader.js +1 -2
  223. package/cjs/index.d.ts +6 -2
  224. package/cjs/index.js +13 -5
  225. package/cjs/locales/index.d.ts +3 -3
  226. package/cjs/toaster/ToastContainer.d.ts +1 -1
  227. package/cjs/toaster/ToastContainer.js +1 -1
  228. package/cjs/toaster/toaster.js +3 -1
  229. package/cjs/utils/BrowserDetection.js +1 -1
  230. package/cjs/utils/ReactChildren.d.ts +2 -2
  231. package/cjs/utils/ajaxUpload.d.ts +1 -1
  232. package/cjs/utils/ajaxUpload.js +5 -4
  233. package/cjs/utils/appendTooltip.d.ts +1 -1
  234. package/cjs/utils/constants.d.ts +4 -4
  235. package/cjs/utils/createChainedFunction.d.ts +1 -1
  236. package/cjs/utils/getDataGroupBy.d.ts +1 -1
  237. package/cjs/utils/index.d.ts +1 -0
  238. package/cjs/utils/index.js +7 -2
  239. package/cjs/utils/mergeRefs.d.ts +2 -2
  240. package/cjs/utils/previewFile.d.ts +1 -1
  241. package/cjs/utils/propTypeChecker.d.ts +6 -2
  242. package/cjs/utils/propTypeChecker.js +7 -6
  243. package/cjs/utils/reactToString.d.ts +2 -1
  244. package/cjs/utils/statusIcons.d.ts +1 -1
  245. package/cjs/utils/stringToObject.d.ts +1 -1
  246. package/cjs/utils/treeUtils.d.ts +35 -32
  247. package/cjs/utils/treeUtils.js +46 -23
  248. package/cjs/utils/useControlled.d.ts +6 -1
  249. package/cjs/utils/useControlled.js +0 -8
  250. package/cjs/utils/useCustom.js +6 -4
  251. package/cjs/utils/useFocus.d.ts +2 -2
  252. package/cjs/utils/useMount.d.ts +2 -0
  253. package/cjs/utils/useMount.js +19 -0
  254. package/cjs/utils/usePortal.d.ts +2 -2
  255. package/cjs/utils/useRootClose.d.ts +2 -2
  256. package/cjs/utils/useTimeout.d.ts +1 -1
  257. package/cjs/utils/useTimeout.js +5 -3
  258. package/dist/rsuite-rtl.css +95 -210
  259. package/dist/rsuite-rtl.min.css +1 -1
  260. package/dist/rsuite-rtl.min.css.map +1 -1
  261. package/dist/rsuite.css +95 -210
  262. package/dist/rsuite.js +214 -115
  263. package/dist/rsuite.js.map +1 -1
  264. package/dist/rsuite.min.css +1 -1
  265. package/dist/rsuite.min.css.map +1 -1
  266. package/dist/rsuite.min.js +1 -1
  267. package/dist/rsuite.min.js.map +1 -1
  268. package/esm/@types/common.d.ts +13 -12
  269. package/esm/@types/utils.d.ts +12 -0
  270. package/esm/Affix/Affix.js +9 -7
  271. package/esm/Animation/Transition.d.ts +21 -12
  272. package/esm/Animation/Transition.js +4 -1
  273. package/esm/AutoComplete/AutoComplete.js +1 -1
  274. package/esm/AutoComplete/utils.d.ts +1 -1
  275. package/esm/Avatar/Avatar.js +7 -3
  276. package/esm/AvatarGroup/AvatarGroup.d.ts +15 -0
  277. package/esm/AvatarGroup/AvatarGroup.js +57 -0
  278. package/esm/AvatarGroup/index.d.ts +3 -0
  279. package/esm/AvatarGroup/index.js +2 -0
  280. package/esm/Breadcrumb/Breadcrumb.js +1 -1
  281. package/esm/Button/Button.js +6 -2
  282. package/esm/ButtonGroup/ButtonGroup.js +11 -3
  283. package/esm/ButtonGroup/ButtonGroupContext.d.ts +7 -0
  284. package/esm/ButtonGroup/ButtonGroupContext.js +3 -0
  285. package/esm/ButtonGroup/index.d.ts +2 -0
  286. package/esm/ButtonGroup/index.js +2 -0
  287. package/esm/Calendar/Calendar.d.ts +4 -4
  288. package/esm/Calendar/Calendar.js +27 -23
  289. package/esm/Calendar/CalendarContext.js +1 -1
  290. package/esm/Calendar/Header.js +1 -3
  291. package/esm/Calendar/Table.js +1 -1
  292. package/esm/Calendar/TableRow.js +14 -9
  293. package/esm/Calendar/TimeDropdown.js +5 -4
  294. package/esm/Calendar/View.js +10 -6
  295. package/esm/Calendar/types.d.ts +2 -2
  296. package/esm/Calendar/useCalendarDate.d.ts +2 -2
  297. package/esm/Carousel/Carousel.d.ts +1 -1
  298. package/esm/Carousel/Carousel.js +1 -1
  299. package/esm/Cascader/Cascader.d.ts +1 -1
  300. package/esm/Cascader/Cascader.js +10 -10
  301. package/esm/Cascader/DropdownMenu.d.ts +5 -4
  302. package/esm/Cascader/utils.d.ts +10 -10
  303. package/esm/CheckPicker/CheckPicker.d.ts +9 -4
  304. package/esm/CheckPicker/CheckPicker.js +4 -4
  305. package/esm/CheckPicker/test/CheckPicker.test.d.ts +1 -0
  306. package/esm/CheckPicker/test/CheckPicker.test.js +64 -0
  307. package/esm/CheckTree/index.js +7 -6
  308. package/esm/CheckTreePicker/CheckTreeNode.d.ts +1 -1
  309. package/esm/CheckTreePicker/CheckTreeNode.js +4 -7
  310. package/esm/CheckTreePicker/CheckTreePicker.js +28 -23
  311. package/esm/CheckTreePicker/utils.d.ts +3 -1
  312. package/esm/CheckTreePicker/utils.js +12 -10
  313. package/esm/Checkbox/Checkbox.d.ts +1 -1
  314. package/esm/Container/Container.js +7 -4
  315. package/esm/CustomProvider/CustomProvider.d.ts +31 -57
  316. package/esm/DOMHelper/index.d.ts +12 -12
  317. package/esm/DatePicker/DatePicker.d.ts +1 -1
  318. package/esm/DatePicker/DatePicker.js +18 -11
  319. package/esm/DatePicker/Toolbar.d.ts +12 -9
  320. package/esm/DatePicker/Toolbar.js +6 -8
  321. package/esm/DatePicker/types.d.ts +4 -4
  322. package/esm/DatePicker/utils.d.ts +4 -3
  323. package/esm/DateRangePicker/Calendar.d.ts +8 -7
  324. package/esm/DateRangePicker/Calendar.js +1 -1
  325. package/esm/DateRangePicker/DateRangePicker.d.ts +6 -6
  326. package/esm/DateRangePicker/DateRangePicker.js +112 -111
  327. package/esm/DateRangePicker/types.d.ts +2 -1
  328. package/esm/DateRangePicker/utils.d.ts +6 -6
  329. package/esm/DateRangePicker/utils.js +6 -2
  330. package/esm/Disclosure/Disclosure.d.ts +8 -5
  331. package/esm/Disclosure/Disclosure.js +56 -15
  332. package/esm/Disclosure/DisclosureButton.d.ts +2 -2
  333. package/esm/Disclosure/DisclosureButton.js +8 -7
  334. package/esm/Disclosure/DisclosureContent.js +5 -7
  335. package/esm/Disclosure/DisclosureContext.d.ts +8 -3
  336. package/esm/Disclosure/useDisclosureContext.d.ts +2 -0
  337. package/esm/Disclosure/useDisclosureContext.js +11 -0
  338. package/esm/Dropdown/Dropdown.d.ts +1 -1
  339. package/esm/Dropdown/Dropdown.js +1 -1
  340. package/esm/Dropdown/DropdownContext.d.ts +2 -2
  341. package/esm/Dropdown/DropdownItem.js +10 -10
  342. package/esm/Dropdown/DropdownMenu.d.ts +3 -3
  343. package/esm/Dropdown/DropdownMenu.js +82 -24
  344. package/esm/Dropdown/DropdownState.d.ts +1 -1
  345. package/esm/Dropdown/DropdownToggle.js +9 -2
  346. package/esm/Dropdown/useRenderDropdownItem.d.ts +1 -1
  347. package/esm/Form/Form.js +1 -1
  348. package/esm/Form/FormContext.d.ts +1 -1
  349. package/esm/FormControl/FormControl.d.ts +1 -1
  350. package/esm/FormControl/FormControl.js +5 -4
  351. package/esm/FormGroup/FormGroup.d.ts +1 -1
  352. package/esm/FormGroup/FormGroup.js +7 -4
  353. package/esm/Input/Input.d.ts +3 -2
  354. package/esm/InputGroup/InputGroup.d.ts +1 -1
  355. package/esm/InputNumber/InputNumber.js +6 -2
  356. package/esm/InputPicker/InputAutosize.js +4 -4
  357. package/esm/InputPicker/InputPicker.d.ts +2 -2
  358. package/esm/InputPicker/InputPicker.js +15 -10
  359. package/esm/List/ListContext.d.ts +1 -1
  360. package/esm/List/ListContext.js +7 -1
  361. package/esm/List/helper/AutoScroller.js +4 -2
  362. package/esm/List/helper/useManager.d.ts +3 -3
  363. package/esm/List/helper/useManager.js +1 -1
  364. package/esm/List/helper/useSortHelper.d.ts +3 -3
  365. package/esm/List/helper/useSortHelper.js +6 -4
  366. package/esm/List/helper/utils.d.ts +2 -2
  367. package/esm/MaskedInput/TextMask.d.ts +5 -5
  368. package/esm/MaskedInput/adjustCaretPosition.d.ts +6 -6
  369. package/esm/MaskedInput/conformToMask.js +5 -4
  370. package/esm/MaskedInput/createTextMaskInputElement.d.ts +2 -2
  371. package/esm/MaskedInput/utilities.d.ts +1 -1
  372. package/esm/Menu/Menu.js +13 -7
  373. package/esm/Menu/MenuContext.d.ts +1 -1
  374. package/esm/Menu/MenuItem.d.ts +1 -1
  375. package/esm/Menu/MenuItem.js +18 -15
  376. package/esm/Menu/Menubar.js +7 -8
  377. package/esm/Menu/useMenu.js +17 -7
  378. package/esm/Modal/Modal.js +41 -23
  379. package/esm/Modal/ModalContext.d.ts +2 -2
  380. package/esm/Modal/utils.d.ts +1 -1
  381. package/esm/Modal/utils.js +3 -5
  382. package/esm/MultiCascader/DropdownMenu.d.ts +4 -4
  383. package/esm/MultiCascader/MultiCascader.js +6 -6
  384. package/esm/MultiCascader/utils.d.ts +17 -17
  385. package/esm/Nav/Nav.d.ts +1 -1
  386. package/esm/Nav/Nav.js +11 -13
  387. package/esm/Nav/NavContext.d.ts +7 -1
  388. package/esm/Nav/NavContext.js +1 -0
  389. package/esm/Nav/NavItem.d.ts +1 -1
  390. package/esm/Navbar/Navbar.js +1 -1
  391. package/esm/Navbar/NavbarItem.d.ts +1 -1
  392. package/esm/Navbar/index.d.ts +1 -0
  393. package/esm/Navbar/index.js +1 -0
  394. package/esm/Overlay/Modal.d.ts +2 -2
  395. package/esm/Overlay/Modal.js +72 -64
  396. package/esm/Overlay/ModalManager.d.ts +17 -8
  397. package/esm/Overlay/ModalManager.js +11 -20
  398. package/esm/Overlay/Overlay.d.ts +3 -3
  399. package/esm/Overlay/Overlay.js +8 -3
  400. package/esm/Overlay/OverlayContext.d.ts +6 -0
  401. package/esm/Overlay/OverlayContext.js +4 -0
  402. package/esm/Overlay/OverlayTrigger.d.ts +11 -11
  403. package/esm/Overlay/OverlayTrigger.js +21 -8
  404. package/esm/Overlay/Position.d.ts +4 -4
  405. package/esm/Overlay/Position.js +14 -8
  406. package/esm/Overlay/positionUtils.d.ts +1 -1
  407. package/esm/Overlay/positionUtils.js +6 -6
  408. package/esm/Pagination/Pagination.d.ts +1 -1
  409. package/esm/Pagination/PaginationButton.d.ts +3 -3
  410. package/esm/Pagination/PaginationGroup.js +5 -3
  411. package/esm/Panel/Panel.d.ts +1 -1
  412. package/esm/Panel/Panel.js +2 -2
  413. package/esm/PanelGroup/PanelGroup.d.ts +2 -2
  414. package/esm/PanelGroup/PanelGroup.js +9 -6
  415. package/esm/Picker/DropdownMenu.d.ts +8 -5
  416. package/esm/Picker/DropdownMenu.js +5 -5
  417. package/esm/Picker/PickerOverlay.js +4 -3
  418. package/esm/Picker/PickerToggle.js +4 -3
  419. package/esm/Picker/PickerToggleTrigger.d.ts +2 -6
  420. package/esm/Picker/SearchBar.d.ts +1 -1
  421. package/esm/Picker/SelectedElement.js +2 -1
  422. package/esm/Picker/propTypes.d.ts +5 -7
  423. package/esm/Picker/propTypes.js +4 -3
  424. package/esm/Picker/utils.d.ts +11 -11
  425. package/esm/Picker/utils.js +21 -18
  426. package/esm/Placeholder/PlaceholderGrid.js +1 -1
  427. package/esm/Plaintext/Plaintext.js +2 -1
  428. package/esm/Radio/Radio.d.ts +1 -1
  429. package/esm/RadioGroup/RadioGroup.d.ts +2 -2
  430. package/esm/RadioGroup/RadioGroup.js +1 -1
  431. package/esm/RangeSlider/RangeSlider.d.ts +2 -2
  432. package/esm/RangeSlider/RangeSlider.js +5 -4
  433. package/esm/Rate/Character.js +3 -2
  434. package/esm/Rate/Rate.js +2 -1
  435. package/esm/Ripple/Ripple.js +1 -1
  436. package/esm/SelectPicker/SelectPicker.d.ts +12 -5
  437. package/esm/SelectPicker/SelectPicker.js +8 -8
  438. package/esm/SelectPicker/index.d.ts +1 -1
  439. package/esm/SelectPicker/test/SelectPicker.test.d.ts +1 -0
  440. package/esm/SelectPicker/test/SelectPicker.test.js +52 -0
  441. package/esm/Sidenav/Node.d.ts +1 -1
  442. package/esm/Sidenav/Sidenav.d.ts +4 -4
  443. package/esm/Sidenav/Sidenav.js +5 -2
  444. package/esm/Sidenav/SidenavDropdown.js +11 -7
  445. package/esm/Sidenav/SidenavDropdownItem.js +11 -5
  446. package/esm/Sidenav/SidenavDropdownMenu.js +9 -5
  447. package/esm/Sidenav/SidenavItem.d.ts +1 -1
  448. package/esm/Sidenav/SidenavItem.js +4 -0
  449. package/esm/Slider/Graduated.d.ts +5 -5
  450. package/esm/Slider/Handle.d.ts +1 -1
  451. package/esm/Slider/Handle.js +10 -6
  452. package/esm/Slider/Mark.d.ts +1 -1
  453. package/esm/Slider/Slider.d.ts +1 -1
  454. package/esm/Slider/Slider.js +2 -2
  455. package/esm/Slider/utils.d.ts +2 -1
  456. package/esm/Slider/utils.js +5 -2
  457. package/esm/Stack/Stack.d.ts +26 -0
  458. package/esm/Stack/Stack.js +71 -0
  459. package/esm/Stack/index.d.ts +3 -0
  460. package/esm/Stack/index.js +2 -0
  461. package/esm/Steps/StepItem.js +1 -1
  462. package/esm/TagInput/index.js +1 -1
  463. package/esm/Toggle/Toggle.js +5 -4
  464. package/esm/Tree/Tree.d.ts +3 -2
  465. package/esm/Tree/Tree.js +7 -6
  466. package/esm/Tree/TreeContext.d.ts +0 -1
  467. package/esm/TreePicker/TreeNode.js +6 -21
  468. package/esm/TreePicker/TreePicker.js +31 -50
  469. package/esm/Uploader/UploadFileItem.d.ts +1 -1
  470. package/esm/Uploader/UploadFileItem.js +2 -2
  471. package/esm/Uploader/UploadTrigger.d.ts +1 -1
  472. package/esm/Uploader/UploadTrigger.js +2 -3
  473. package/esm/Uploader/Uploader.d.ts +5 -5
  474. package/esm/Uploader/Uploader.js +1 -2
  475. package/esm/index.d.ts +6 -2
  476. package/esm/index.js +3 -1
  477. package/esm/locales/index.d.ts +3 -3
  478. package/esm/toaster/ToastContainer.d.ts +1 -1
  479. package/esm/toaster/ToastContainer.js +1 -1
  480. package/esm/toaster/toaster.js +3 -1
  481. package/esm/utils/BrowserDetection.js +1 -1
  482. package/esm/utils/ReactChildren.d.ts +2 -2
  483. package/esm/utils/ajaxUpload.d.ts +1 -1
  484. package/esm/utils/ajaxUpload.js +5 -4
  485. package/esm/utils/appendTooltip.d.ts +1 -1
  486. package/esm/utils/constants.d.ts +4 -4
  487. package/esm/utils/createChainedFunction.d.ts +1 -1
  488. package/esm/utils/getDataGroupBy.d.ts +1 -1
  489. package/esm/utils/index.d.ts +1 -0
  490. package/esm/utils/index.js +2 -1
  491. package/esm/utils/mergeRefs.d.ts +2 -2
  492. package/esm/utils/previewFile.d.ts +1 -1
  493. package/esm/utils/propTypeChecker.d.ts +6 -2
  494. package/esm/utils/propTypeChecker.js +7 -6
  495. package/esm/utils/reactToString.d.ts +2 -1
  496. package/esm/utils/statusIcons.d.ts +1 -1
  497. package/esm/utils/stringToObject.d.ts +1 -1
  498. package/esm/utils/treeUtils.d.ts +35 -32
  499. package/esm/utils/treeUtils.js +45 -21
  500. package/esm/utils/useControlled.d.ts +6 -1
  501. package/esm/utils/useControlled.js +0 -8
  502. package/esm/utils/useCustom.js +6 -4
  503. package/esm/utils/useFocus.d.ts +2 -2
  504. package/esm/utils/useMount.d.ts +2 -0
  505. package/esm/utils/useMount.js +13 -0
  506. package/esm/utils/usePortal.d.ts +2 -2
  507. package/esm/utils/useRootClose.d.ts +2 -2
  508. package/esm/utils/useTimeout.d.ts +1 -1
  509. package/esm/utils/useTimeout.js +5 -3
  510. package/package.json +2 -2
  511. package/styles/index.less +2 -0
@@ -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],
@@ -47,14 +47,14 @@ var Toggle = /*#__PURE__*/React.forwardRef(function (props, ref) {
47
47
  var inner = checked ? checkedChildren : unCheckedChildren;
48
48
  var label = checked ? locale.on : locale.off;
49
49
  var handleInputChange = useCallback(function (e) {
50
- if (disabled || readOnly) {
50
+ if (disabled || readOnly || loading) {
51
51
  return;
52
52
  }
53
53
 
54
54
  var checked = e.target.checked;
55
55
  setChecked(checked);
56
56
  onChange === null || onChange === void 0 ? void 0 : onChange(checked, e);
57
- }, [disabled, readOnly, setChecked, onChange]);
57
+ }, [disabled, readOnly, loading, setChecked, onChange]);
58
58
 
59
59
  if (plaintext) {
60
60
  return /*#__PURE__*/React.createElement(Plaintext, null, inner || label);
@@ -66,7 +66,8 @@ var Toggle = /*#__PURE__*/React.forwardRef(function (props, ref) {
66
66
  }, rest), /*#__PURE__*/React.createElement("input", {
67
67
  ref: inputRef,
68
68
  type: "checkbox",
69
- checked: checked,
69
+ checked: checkedProp,
70
+ defaultChecked: defaultChecked,
70
71
  disabled: disabled,
71
72
  readOnly: readOnly,
72
73
  onChange: handleInputChange,
@@ -36,13 +36,14 @@ export interface TreeDragProps<ItemDataType = Record<string, any>> {
36
36
  onDragEnd?: (nodeData: ItemDataType, e: React.DragEvent) => void;
37
37
  /** Called when node drop */
38
38
  onDrop?: (dropData: DropData<ItemDataType>, e: React.DragEvent) => void;
39
- renderDragNode?: (dragNode: ItemDataType) => React.ReactNode;
40
39
  }
41
40
  export interface TreeBaseProps<ValueType = string | number, ItemDataType = Record<string, any>> extends StandardProps {
42
41
  /** The height of Dropdown */
43
42
  height?: number;
44
43
  /** Whether display search input box */
45
44
  searchable?: boolean;
45
+ /** Display an auxiliary line when the tree node is indented. */
46
+ showIndentLine?: boolean;
46
47
  /** Whether using virtualized list */
47
48
  virtualized?: boolean;
48
49
  /**
@@ -59,7 +60,7 @@ export interface TreeBaseProps<ValueType = string | number, ItemDataType = Recor
59
60
  /** Set the option value for the expand node with controlled*/
60
61
  expandItemValues?: any[];
61
62
  /** Callback function for data change */
62
- onExpand?: (expandItemValues: ItemDataType[], activeNode: ItemDataType, concat: (data: ItemDataType[], children: React.ReactNode) => ItemDataType[]) => void;
63
+ onExpand?: (expandItemValues: ItemDataType[], activeNode: ItemDataType, concat: (data: ItemDataType[], children: ItemDataType[]) => ItemDataType[]) => void;
63
64
  /** Callback function after selecting tree node */
64
65
  onSelect?: (activeNode: ItemDataType, value: ValueType, event: React.SyntheticEvent) => void;
65
66
  /** Custom Render tree Node */
package/esm/Tree/Tree.js CHANGED
@@ -1,5 +1,5 @@
1
1
  import _extends from "@babel/runtime/helpers/esm/extends";
2
- import React, { useRef } from 'react';
2
+ import React, { useMemo } from 'react';
3
3
  import TreePicker from '../TreePicker';
4
4
  import TreeContext from './TreeContext';
5
5
 
@@ -15,12 +15,13 @@ export var TREE_NODE_DROP_POSITION;
15
15
  })(TREE_NODE_DROP_POSITION || (TREE_NODE_DROP_POSITION = {}));
16
16
 
17
17
  var Tree = /*#__PURE__*/React.forwardRef(function (props, ref) {
18
- var dragNodeRef = useRef();
18
+ var contextValue = useMemo(function () {
19
+ return {
20
+ inline: true
21
+ };
22
+ }, []);
19
23
  return /*#__PURE__*/React.createElement(TreeContext.Provider, {
20
- value: {
21
- inline: true,
22
- dragNodeRef: dragNodeRef
23
- }
24
+ value: contextValue
24
25
  }, /*#__PURE__*/React.createElement(TreePicker, _extends({
25
26
  ref: ref
26
27
  }, props)));
@@ -1,7 +1,6 @@
1
1
  import React from 'react';
2
2
  export interface TreeContextProps {
3
3
  inline?: boolean;
4
- dragNodeRef?: React.MutableRefObject<any>;
5
4
  }
6
5
  declare const TreeContext: React.Context<TreeContextProps>;
7
6
  export default TreeContext;
@@ -1,16 +1,14 @@
1
1
  import _extends from "@babel/runtime/helpers/esm/extends";
2
2
  import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
3
- import React, { forwardRef, useCallback, useContext } from 'react';
3
+ import React, { forwardRef, useCallback } from 'react';
4
4
  import PropTypes from 'prop-types';
5
5
  import hasClass from 'dom-lib/hasClass';
6
6
  import ArrowDown from '@rsuite/icons/legacy/ArrowDown';
7
7
  import Spinner from '@rsuite/icons/legacy/Spinner';
8
- import TreeContext from '../Tree/TreeContext';
9
8
  import reactToString from '../utils/reactToString';
10
- import { useClassNames, TREE_NODE_PADDING, TREE_NODE_ROOT_PADDING } from '../utils';
9
+ import { useClassNames } from '../utils';
10
+ import { getTreeNodeIndent } from '../utils/treeUtils';
11
11
  var TreeNode = /*#__PURE__*/forwardRef(function (_ref, ref) {
12
- var _extends2;
13
-
14
12
  var _ref$as = _ref.as,
15
13
  Component = _ref$as === void 0 ? 'div' : _ref$as,
16
14
  rtl = _ref.rtl,
@@ -51,9 +49,6 @@ var TreeNode = /*#__PURE__*/forwardRef(function (_ref, ref) {
51
49
  merge = _useClassNames.merge,
52
50
  withClassPrefix = _useClassNames.withClassPrefix;
53
51
 
54
- var _useContext = useContext(TreeContext),
55
- dragNodeRef = _useContext.dragNodeRef;
56
-
57
52
  var getTitle = useCallback(function () {
58
53
  if (typeof label === 'string') {
59
54
  return label;
@@ -83,16 +78,8 @@ var TreeNode = /*#__PURE__*/forwardRef(function (_ref, ref) {
83
78
  onSelect === null || onSelect === void 0 ? void 0 : onSelect(nodeData, event);
84
79
  }, [nodeData, disabled, prefix, onSelect]);
85
80
  var handleDragStart = useCallback(function (event) {
86
- var dragNode = dragNodeRef === null || dragNodeRef === void 0 ? void 0 : dragNodeRef.current;
87
-
88
- if (dragNode) {
89
- var _event$dataTransfer;
90
-
91
- (_event$dataTransfer = event.dataTransfer) === null || _event$dataTransfer === void 0 ? void 0 : _event$dataTransfer.setDragImage(dragNode, 0, 0);
92
- }
93
-
94
81
  onDragStart === null || onDragStart === void 0 ? void 0 : onDragStart(nodeData, event);
95
- }, [dragNodeRef, nodeData, onDragStart]);
82
+ }, [nodeData, onDragStart]);
96
83
  var handleDragEnter = useCallback(function (event) {
97
84
  event.preventDefault();
98
85
  event.stopPropagation();
@@ -174,11 +161,9 @@ var TreeNode = /*#__PURE__*/forwardRef(function (_ref, ref) {
174
161
  active: active,
175
162
  'text-muted': disabled,
176
163
  focus: focus
177
- })); // layer start from 1
178
-
179
- var padding = (layer - 1) * TREE_NODE_PADDING + TREE_NODE_ROOT_PADDING;
164
+ }));
180
165
 
181
- var styles = _extends({}, style, (_extends2 = {}, _extends2[rtl ? 'paddingRight' : 'paddingLeft'] = padding, _extends2));
166
+ var styles = _extends({}, style, getTreeNodeIndent(rtl, layer - 1));
182
167
 
183
168
  return visible ? /*#__PURE__*/React.createElement(Component, _extends({
184
169
  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,
@@ -84,23 +87,21 @@ var TreePicker = /*#__PURE__*/React.forwardRef(function (props, ref) {
84
87
  renderExtraFooter = props.renderExtraFooter,
85
88
  renderMenu = props.renderMenu,
86
89
  renderValue = props.renderValue,
87
- 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"]);
90
+ 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"]);
89
91
 
90
- var triggerRef = useRef();
91
- var targetRef = useRef();
92
- var listRef = useRef();
93
- var overlayRef = useRef();
94
- var searchInputRef = useRef();
95
- var treeViewRef = useRef();
92
+ var triggerRef = useRef(null);
93
+ var targetRef = useRef(null);
94
+ var listRef = useRef(null);
95
+ var overlayRef = useRef(null);
96
+ var searchInputRef = useRef(null);
97
+ var treeViewRef = useRef(null);
96
98
 
97
99
  var _useCustom = useCustom('Picker', overrideLocale),
98
100
  rtl = _useCustom.rtl,
99
101
  locale = _useCustom.locale;
100
102
 
101
103
  var _useContext = useContext(TreeContext),
102
- inline = _useContext.inline,
103
- dragNodeRef = _useContext.dragNodeRef;
104
+ inline = _useContext.inline;
104
105
 
105
106
  var _useControlled = useControlled(controlledValue, defaultValue),
106
107
  value = _useControlled[0],
@@ -184,21 +185,17 @@ var TreePicker = /*#__PURE__*/React.forwardRef(function (props, ref) {
184
185
 
185
186
  var activeNode = getTreeActiveNode(flattenNodes, value, valueKey);
186
187
  var getFormattedNodes = useCallback(function (render) {
187
- var formattedNodes = [];
188
-
189
188
  if (virtualized) {
190
- formattedNodes = formatVirtualizedTreeData(flattenNodes, filteredData, expandItemValues, {
189
+ return formatVirtualizedTreeData(flattenNodes, filteredData, expandItemValues, {
191
190
  searchKeyword: searchKeywordState
192
191
  }).filter(function (n) {
193
192
  return n.visible;
194
193
  });
195
- } else {
196
- formattedNodes = filteredData.map(function (dataItem, index) {
197
- return render === null || render === void 0 ? void 0 : render(dataItem, index, 1);
198
- });
199
194
  }
200
195
 
201
- return formattedNodes;
196
+ return filteredData.map(function (dataItem, index) {
197
+ return render === null || render === void 0 ? void 0 : render(dataItem, index, 1);
198
+ });
202
199
  }, [searchKeywordState, expandItemValues, filteredData, flattenNodes, formatVirtualizedTreeData, virtualized]);
203
200
  var focusActiveNode = useCallback(function () {
204
201
  focusToActiveTreeNode({
@@ -226,14 +223,6 @@ var TreePicker = /*#__PURE__*/React.forwardRef(function (props, ref) {
226
223
  useEffect(function () {
227
224
  setSearchKeyword(searchKeyword !== null && searchKeyword !== void 0 ? searchKeyword : '');
228
225
  }, [searchKeyword, setSearchKeyword]);
229
- useEffect(function () {
230
- if (dragNodeRef) {
231
- var _treeViewRef$current;
232
-
233
- dragNodeRef.current = (_treeViewRef$current = treeViewRef.current) === null || _treeViewRef$current === void 0 ? void 0 : _treeViewRef$current.querySelector("." + treePrefix('drag-node-mover'));
234
- } // eslint-disable-next-line react-hooks/exhaustive-deps
235
-
236
- }, []);
237
226
  var getDropData = useCallback(function (nodeData) {
238
227
  var options = {
239
228
  valueKey: valueKey,
@@ -412,7 +401,7 @@ var TreePicker = /*#__PURE__*/React.forwardRef(function (props, ref) {
412
401
  (_targetRef$current2 = targetRef.current) === null || _targetRef$current2 === void 0 ? void 0 : _targetRef$current2.focus();
413
402
  }, [activeNode, setSearchKeyword, valueKey]);
414
403
  usePublicMethods(ref, {
415
- rootRef: inline ? treeViewRef : null,
404
+ rootRef: inline ? treeViewRef : undefined,
416
405
  triggerRef: triggerRef,
417
406
  overlayRef: overlayRef,
418
407
  targetRef: targetRef,
@@ -448,11 +437,13 @@ var TreePicker = /*#__PURE__*/React.forwardRef(function (props, ref) {
448
437
  }
449
438
  }, [searchKeywordState, expandItemValues, filteredData, focusItemValue, treeNodesRefs, treePrefix, valueKey, childrenKey, disabledItemValues]);
450
439
  var handleLeftArrow = useCallback(function () {
440
+ if (_isNil(focusItemValue)) return;
451
441
  var focusItem = getActiveItem(focusItemValue, flattenNodes, valueKey);
452
442
  leftArrowHandler({
453
443
  focusItem: focusItem,
454
444
  expand: expandItemValues.includes(focusItem === null || focusItem === void 0 ? void 0 : focusItem[valueKey]),
455
445
  onExpand: handleExpand,
446
+ childrenKey: childrenKey,
456
447
  onFocusItem: function onFocusItem() {
457
448
  var _focusItem$parent, _focusItem$parent2;
458
449
 
@@ -460,8 +451,9 @@ var TreePicker = /*#__PURE__*/React.forwardRef(function (props, ref) {
460
451
  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
452
  }
462
453
  });
463
- }, [expandItemValues, flattenNodes, focusItemValue, handleExpand, treeNodesRefs, treePrefix, valueKey]);
454
+ }, [expandItemValues, flattenNodes, focusItemValue, handleExpand, treeNodesRefs, treePrefix, valueKey, childrenKey]);
464
455
  var handleRightArrow = useCallback(function () {
456
+ if (_isNil(focusItemValue)) return;
465
457
  var focusItem = getActiveItem(focusItemValue, flattenNodes, valueKey);
466
458
  rightArrowHandler({
467
459
  focusItem: focusItem,
@@ -474,10 +466,12 @@ var TreePicker = /*#__PURE__*/React.forwardRef(function (props, ref) {
474
466
  });
475
467
  }, [focusItemValue, flattenNodes, valueKey, expandItemValues, childrenKey, handleExpand, handleFocusItem]);
476
468
  var selectActiveItem = useCallback(function (event) {
469
+ if (_isNil(focusItemValue)) return;
477
470
  var activeItem = getActiveItem(focusItemValue, flattenNodes, valueKey);
478
471
  handleSelect(activeItem, event);
479
472
  }, [flattenNodes, valueKey, focusItemValue, handleSelect]);
480
473
  var handleClean = useCallback(function (event) {
474
+ var nullValue = null;
481
475
  var target = event.target; // exclude searchBar
482
476
 
483
477
  if (target.matches('div[role="searchbox"] > input')) {
@@ -485,7 +479,7 @@ var TreePicker = /*#__PURE__*/React.forwardRef(function (props, ref) {
485
479
  }
486
480
 
487
481
  setValue(null);
488
- onChange === null || onChange === void 0 ? void 0 : onChange(null, event);
482
+ onChange === null || onChange === void 0 ? void 0 : onChange(nullValue, event);
489
483
  }, [onChange, setValue]);
490
484
  var onPickerKeydown = useToggleKeyDownEvent(_extends({
491
485
  toggle: !activeNode || !active,
@@ -556,18 +550,21 @@ var TreePicker = /*#__PURE__*/React.forwardRef(function (props, ref) {
556
550
  key: node[valueKey]
557
551
  }, /*#__PURE__*/React.createElement(TreeNode, _extends({}, nodeProps, {
558
552
  ref: function ref(_ref) {
559
- return saveTreeNodeRef(node.refKey, _ref);
553
+ return saveTreeNodeRef(_ref, node.refKey);
560
554
  }
561
555
  })), /*#__PURE__*/React.createElement("div", {
562
556
  className: treePrefix('children')
563
557
  }, nodes.map(function (child, i) {
564
558
  return renderNode(child, i, layer);
559
+ }), showIndentLine && /*#__PURE__*/React.createElement("span", {
560
+ className: treePrefix('indent-line'),
561
+ style: getTreeNodeIndent(rtl, layer - 1, true)
565
562
  })));
566
563
  }
567
564
 
568
565
  return /*#__PURE__*/React.createElement(TreeNode, _extends({
569
566
  ref: function ref(_ref2) {
570
- return saveTreeNodeRef(node.refKey, _ref2);
567
+ return saveTreeNodeRef(_ref2, node.refKey);
571
568
  },
572
569
  key: node[valueKey]
573
570
  }, nodeProps));
@@ -596,29 +593,13 @@ var TreePicker = /*#__PURE__*/React.forwardRef(function (props, ref) {
596
593
 
597
594
  return visible && /*#__PURE__*/React.createElement(TreeNode, _extends({
598
595
  ref: function ref(_ref4) {
599
- return saveTreeNodeRef(node.refKey, _ref4);
596
+ return saveTreeNodeRef(_ref4, node.refKey);
600
597
  },
601
598
  key: key
602
599
  }, nodeProps));
603
600
  };
604
601
  };
605
602
 
606
- var renderDefaultDragNode = function renderDefaultDragNode() {
607
- if (draggable) {
608
- var dragNodeContent = dragNode === null || dragNode === void 0 ? void 0 : dragNode[labelKey];
609
-
610
- if (_isFunction(renderDragNode)) {
611
- dragNodeContent = renderDragNode(dragNode);
612
- }
613
-
614
- return /*#__PURE__*/React.createElement("span", {
615
- className: treePrefix('drag-node-mover')
616
- }, dragNodeContent);
617
- }
618
-
619
- return null;
620
- };
621
-
622
603
  var renderTree = function renderTree() {
623
604
  var _withTreeClassPrefix;
624
605
 
@@ -654,7 +635,7 @@ var TreePicker = /*#__PURE__*/React.forwardRef(function (props, ref) {
654
635
  rowRenderer: renderVirtualListNode(formattedNodes),
655
636
  scrollToAlignment: "center"
656
637
  }, listProps));
657
- }) : formattedNodes), renderDefaultDragNode());
638
+ }) : formattedNodes));
658
639
  };
659
640
 
660
641
  var renderDropdownMenu = function renderDropdownMenu(positionProps, speakerRef) {
@@ -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
@@ -24,14 +24,14 @@ export { default as Loader } from './Loader';
24
24
  export type { LoaderProps } from './Loader';
25
25
  export { default as SafeAnchor } from './SafeAnchor';
26
26
  export type { SafeAnchorProps } from './SafeAnchor';
27
- export { default as Divider } from './Divider';
28
- export type { DividerProps } from './Divider';
29
27
  export { default as Placeholder } from './Placeholder';
30
28
  export type { PlaceholderGraphProps, PlaceholderGridProps, PlaceholderParagraphProps } from './Placeholder';
31
29
  export { default as Badge } from './Badge';
32
30
  export type { BadgeProps } from './Badge';
33
31
  export { default as Avatar } from './Avatar';
34
32
  export type { AvatarProps } from './Avatar';
33
+ export { default as AvatarGroup } from './AvatarGroup';
34
+ export type { AvatarGroupProps } from './AvatarGroup';
35
35
  export { default as toaster } from './toaster';
36
36
  export type { Toaster } from './toaster';
37
37
  export { default as Dropdown } from './Dropdown';
@@ -142,6 +142,10 @@ export { default as Sidebar } from './Sidebar';
142
142
  export type { SidebarProps } from './Sidebar';
143
143
  export { default as Footer } from './Footer';
144
144
  export type { FooterProps } from './Footer';
145
+ export { default as Divider } from './Divider';
146
+ export type { DividerProps } from './Divider';
147
+ export { default as Stack } from './Stack';
148
+ export type { StackProps } from './Stack';
145
149
  export { default as Schema } from './Schema';
146
150
  export { default as Animation } from './Animation';
147
151
  export type { TransitionProps, SlideProps, CollapseProps, FadeProps, BounceProps } from './Animation';
package/esm/index.js CHANGED
@@ -12,10 +12,10 @@ export { default as Message } from './Message';
12
12
  export { default as Drawer } from './Drawer';
13
13
  export { default as Loader } from './Loader';
14
14
  export { default as SafeAnchor } from './SafeAnchor';
15
- export { default as Divider } from './Divider';
16
15
  export { default as Placeholder } from './Placeholder';
17
16
  export { default as Badge } from './Badge';
18
17
  export { default as Avatar } from './Avatar';
18
+ export { default as AvatarGroup } from './AvatarGroup';
19
19
  export { default as toaster } from './toaster';
20
20
  // Nav
21
21
  export { default as Dropdown } from './Dropdown';
@@ -75,6 +75,8 @@ export { default as Content } from './Content';
75
75
  export { default as Header } from './Header';
76
76
  export { default as Sidebar } from './Sidebar';
77
77
  export { default as Footer } from './Footer';
78
+ export { default as Divider } from './Divider';
79
+ export { default as Stack } from './Stack';
78
80
  // Utils
79
81
  export { default as Schema } from './Schema';
80
82
  export { default as Animation } from './Animation';
@@ -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
  }