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
@@ -0,0 +1,86 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ exports.__esModule = true;
6
+ exports.default = void 0;
7
+
8
+ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
9
+
10
+ var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutPropertiesLoose"));
11
+
12
+ var _react = _interopRequireDefault(require("react"));
13
+
14
+ var _propTypes = _interopRequireDefault(require("prop-types"));
15
+
16
+ var _utils = require("../utils");
17
+
18
+ var Stack = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
19
+ var _itemStyles;
20
+
21
+ var _props$as = props.as,
22
+ Component = _props$as === void 0 ? 'div' : _props$as,
23
+ _props$alignItems = props.alignItems,
24
+ alignItems = _props$alignItems === void 0 ? 'center' : _props$alignItems,
25
+ _props$classPrefix = props.classPrefix,
26
+ classPrefix = _props$classPrefix === void 0 ? 'stack' : _props$classPrefix,
27
+ className = props.className,
28
+ children = props.children,
29
+ direction = props.direction,
30
+ justifyContent = props.justifyContent,
31
+ spacing = props.spacing,
32
+ divider = props.divider,
33
+ style = props.style,
34
+ wrap = props.wrap,
35
+ rest = (0, _objectWithoutPropertiesLoose2.default)(props, ["as", "alignItems", "classPrefix", "className", "children", "direction", "justifyContent", "spacing", "divider", "style", "wrap"]);
36
+
37
+ var _useCustom = (0, _utils.useCustom)('Stack'),
38
+ rtl = _useCustom.rtl;
39
+
40
+ var _useClassNames = (0, _utils.useClassNames)(classPrefix),
41
+ withClassPrefix = _useClassNames.withClassPrefix,
42
+ merge = _useClassNames.merge,
43
+ prefix = _useClassNames.prefix;
44
+
45
+ var classes = merge(className, withClassPrefix());
46
+ var isSupportGridGap = !(0, _utils.isIE)();
47
+
48
+ var count = _react.default.Children.count(children);
49
+
50
+ var gridGap = Array.isArray(spacing) ? spacing : [spacing, 0];
51
+ var itemStyles = (_itemStyles = {}, _itemStyles[rtl ? 'marginLeft' : 'marginRight'] = gridGap[0], _itemStyles.marginBottom = gridGap[1], _itemStyles);
52
+ var styles = (0, _extends2.default)({
53
+ alignItems: alignItems,
54
+ justifyContent: justifyContent,
55
+ flexDirection: direction,
56
+ flexWrap: wrap ? 'wrap' : undefined,
57
+ gap: isSupportGridGap ? spacing : undefined
58
+ }, style);
59
+ return /*#__PURE__*/_react.default.createElement(Component, (0, _extends2.default)({}, rest, {
60
+ ref: ref,
61
+ className: classes,
62
+ style: styles
63
+ }), _react.default.Children.map(children, function (child, index) {
64
+ var childNode = /*#__PURE__*/_react.default.createElement("div", {
65
+ className: prefix('item'),
66
+ style: !isSupportGridGap ? itemStyles : undefined
67
+ }, child);
68
+
69
+ return [childNode, index < count - 1 ? divider : null];
70
+ }));
71
+ });
72
+
73
+ Stack.displayName = 'Stack';
74
+ Stack.propTypes = {
75
+ className: _propTypes.default.string,
76
+ children: _propTypes.default.node,
77
+ classPrefix: _propTypes.default.string,
78
+ direction: _propTypes.default.oneOf(['row', 'row-reverse', 'column', 'column-reverse']),
79
+ alignItems: _propTypes.default.oneOf(['flex-start', 'center', 'flex-end', 'stretch', 'baseline']),
80
+ justifyContent: _propTypes.default.oneOf(['flex-start', 'center', 'flex-end', 'space-between', 'space-around']),
81
+ spacing: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.string, _propTypes.default.array]),
82
+ divider: _propTypes.default.node,
83
+ wrap: _propTypes.default.bool
84
+ };
85
+ var _default = Stack;
86
+ exports.default = _default;
@@ -0,0 +1,3 @@
1
+ import Stack from './Stack';
2
+ export type { StackProps } from './Stack';
3
+ export default Stack;
@@ -0,0 +1,11 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ exports.__esModule = true;
6
+ exports.default = void 0;
7
+
8
+ var _Stack = _interopRequireDefault(require("./Stack"));
9
+
10
+ var _default = _Stack.default;
11
+ exports.default = _default;
@@ -57,7 +57,7 @@ var StepItem = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
57
57
 
58
58
  var iconNode = /*#__PURE__*/_react.default.createElement("span", {
59
59
  className: prefix('icon', "icon-" + status)
60
- }, (_STEP_STATUS_ICON$sta = STEP_STATUS_ICON[status]) !== null && _STEP_STATUS_ICON$sta !== void 0 ? _STEP_STATUS_ICON$sta : stepNumber);
60
+ }, status ? (_STEP_STATUS_ICON$sta = STEP_STATUS_ICON[status]) !== null && _STEP_STATUS_ICON$sta !== void 0 ? _STEP_STATUS_ICON$sta : stepNumber : stepNumber);
61
61
 
62
62
  if (icon) {
63
63
  iconNode = /*#__PURE__*/_react.default.createElement("span", {
@@ -45,7 +45,7 @@ var TagInput = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
45
45
  value: value,
46
46
  defaultValue: defaultValue,
47
47
  data: data,
48
- placement: null,
48
+ placement: undefined,
49
49
  creatable: true,
50
50
  ref: ref
51
51
  })));
@@ -40,7 +40,7 @@ var Toggle = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
40
40
  localeProp = props.locale,
41
41
  onChange = props.onChange,
42
42
  rest = (0, _objectWithoutPropertiesLoose2.default)(props, ["as", "disabled", "readOnly", "loading", "plaintext", "className", "checkedChildren", "unCheckedChildren", "classPrefix", "checked", "defaultChecked", "size", "locale", "onChange"]);
43
- var inputRef = (0, _react.useRef)();
43
+ var inputRef = (0, _react.useRef)(null);
44
44
 
45
45
  var _useControlled = (0, _utils.useControlled)(checkedProp, defaultChecked),
46
46
  checked = _useControlled[0],
@@ -62,14 +62,14 @@ var Toggle = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
62
62
  var inner = checked ? checkedChildren : unCheckedChildren;
63
63
  var label = checked ? locale.on : locale.off;
64
64
  var handleInputChange = (0, _react.useCallback)(function (e) {
65
- if (disabled || readOnly) {
65
+ if (disabled || readOnly || loading) {
66
66
  return;
67
67
  }
68
68
 
69
69
  var checked = e.target.checked;
70
70
  setChecked(checked);
71
71
  onChange === null || onChange === void 0 ? void 0 : onChange(checked, e);
72
- }, [disabled, readOnly, setChecked, onChange]);
72
+ }, [disabled, readOnly, loading, setChecked, onChange]);
73
73
 
74
74
  if (plaintext) {
75
75
  return /*#__PURE__*/_react.default.createElement(_Plaintext.default, null, inner || label);
@@ -81,7 +81,8 @@ var Toggle = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
81
81
  }, rest), /*#__PURE__*/_react.default.createElement("input", {
82
82
  ref: inputRef,
83
83
  type: "checkbox",
84
- checked: checked,
84
+ checked: checkedProp,
85
+ defaultChecked: defaultChecked,
85
86
  disabled: disabled,
86
87
  readOnly: readOnly,
87
88
  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/cjs/Tree/Tree.js CHANGED
@@ -28,12 +28,13 @@ exports.TREE_NODE_DROP_POSITION = TREE_NODE_DROP_POSITION;
28
28
  })(TREE_NODE_DROP_POSITION || (exports.TREE_NODE_DROP_POSITION = TREE_NODE_DROP_POSITION = {}));
29
29
 
30
30
  var Tree = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
31
- var dragNodeRef = (0, _react.useRef)();
31
+ var contextValue = (0, _react.useMemo)(function () {
32
+ return {
33
+ inline: true
34
+ };
35
+ }, []);
32
36
  return /*#__PURE__*/_react.default.createElement(_TreeContext.default.Provider, {
33
- value: {
34
- inline: true,
35
- dragNodeRef: dragNodeRef
36
- }
37
+ value: contextValue
37
38
  }, /*#__PURE__*/_react.default.createElement(_TreePicker.default, (0, _extends2.default)({
38
39
  ref: ref
39
40
  }, 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;
@@ -7,7 +7,7 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
7
7
  exports.__esModule = true;
8
8
  exports.default = void 0;
9
9
 
10
- var _extends3 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
10
+ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
11
11
 
12
12
  var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutPropertiesLoose"));
13
13
 
@@ -21,15 +21,13 @@ var _ArrowDown = _interopRequireDefault(require("@rsuite/icons/legacy/ArrowDown"
21
21
 
22
22
  var _Spinner = _interopRequireDefault(require("@rsuite/icons/legacy/Spinner"));
23
23
 
24
- var _TreeContext = _interopRequireDefault(require("../Tree/TreeContext"));
25
-
26
24
  var _reactToString = _interopRequireDefault(require("../utils/reactToString"));
27
25
 
28
26
  var _utils = require("../utils");
29
27
 
30
- var TreeNode = /*#__PURE__*/(0, _react.forwardRef)(function (_ref, ref) {
31
- var _extends2;
28
+ var _treeUtils = require("../utils/treeUtils");
32
29
 
30
+ var TreeNode = /*#__PURE__*/(0, _react.forwardRef)(function (_ref, ref) {
33
31
  var _ref$as = _ref.as,
34
32
  Component = _ref$as === void 0 ? 'div' : _ref$as,
35
33
  rtl = _ref.rtl,
@@ -70,9 +68,6 @@ var TreeNode = /*#__PURE__*/(0, _react.forwardRef)(function (_ref, ref) {
70
68
  merge = _useClassNames.merge,
71
69
  withClassPrefix = _useClassNames.withClassPrefix;
72
70
 
73
- var _useContext = (0, _react.useContext)(_TreeContext.default),
74
- dragNodeRef = _useContext.dragNodeRef;
75
-
76
71
  var getTitle = (0, _react.useCallback)(function () {
77
72
  if (typeof label === 'string') {
78
73
  return label;
@@ -102,16 +97,8 @@ var TreeNode = /*#__PURE__*/(0, _react.forwardRef)(function (_ref, ref) {
102
97
  onSelect === null || onSelect === void 0 ? void 0 : onSelect(nodeData, event);
103
98
  }, [nodeData, disabled, prefix, onSelect]);
104
99
  var handleDragStart = (0, _react.useCallback)(function (event) {
105
- var dragNode = dragNodeRef === null || dragNodeRef === void 0 ? void 0 : dragNodeRef.current;
106
-
107
- if (dragNode) {
108
- var _event$dataTransfer;
109
-
110
- (_event$dataTransfer = event.dataTransfer) === null || _event$dataTransfer === void 0 ? void 0 : _event$dataTransfer.setDragImage(dragNode, 0, 0);
111
- }
112
-
113
100
  onDragStart === null || onDragStart === void 0 ? void 0 : onDragStart(nodeData, event);
114
- }, [dragNodeRef, nodeData, onDragStart]);
101
+ }, [nodeData, onDragStart]);
115
102
  var handleDragEnter = (0, _react.useCallback)(function (event) {
116
103
  event.preventDefault();
117
104
  event.stopPropagation();
@@ -194,11 +181,9 @@ var TreeNode = /*#__PURE__*/(0, _react.forwardRef)(function (_ref, ref) {
194
181
  active: active,
195
182
  'text-muted': disabled,
196
183
  focus: focus
197
- })); // layer start from 1
198
-
199
- var padding = (layer - 1) * _utils.TREE_NODE_PADDING + _utils.TREE_NODE_ROOT_PADDING;
200
- var styles = (0, _extends3.default)({}, style, (_extends2 = {}, _extends2[rtl ? 'paddingRight' : 'paddingLeft'] = padding, _extends2));
201
- return visible ? /*#__PURE__*/_react.default.createElement(Component, (0, _extends3.default)({
184
+ }));
185
+ var styles = (0, _extends2.default)({}, style, (0, _treeUtils.getTreeNodeIndent)(rtl, layer - 1));
186
+ return visible ? /*#__PURE__*/_react.default.createElement(Component, (0, _extends2.default)({
202
187
  role: "treeitem"
203
188
  }, rest, {
204
189
  "aria-expanded": expand,
@@ -29,10 +29,10 @@ var _VirtualizedList = require("../Picker/VirtualizedList");
29
29
 
30
30
  var _TreeNode = _interopRequireDefault(require("./TreeNode"));
31
31
 
32
- var _utils = require("../utils");
33
-
34
32
  var _treeUtils = require("../utils/treeUtils");
35
33
 
34
+ var _utils = require("../utils");
35
+
36
36
  var _Picker = require("../Picker");
37
37
 
38
38
  var _TreeContext = _interopRequireDefault(require("../Tree/TreeContext"));
@@ -50,6 +50,7 @@ var TreePicker = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
50
50
  _props$appearance = props.appearance,
51
51
  appearance = _props$appearance === void 0 ? 'default' : _props$appearance,
52
52
  style = props.style,
53
+ showIndentLine = props.showIndentLine,
53
54
  controlledValue = props.value,
54
55
  overrideLocale = props.locale,
55
56
  _props$height = props.height,
@@ -63,7 +64,8 @@ var TreePicker = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
63
64
  menuStyle = props.menuStyle,
64
65
  _props$searchable = props.searchable,
65
66
  searchable = _props$searchable === void 0 ? true : _props$searchable,
66
- virtualized = props.virtualized,
67
+ _props$virtualized = props.virtualized,
68
+ virtualized = _props$virtualized === void 0 ? false : _props$virtualized,
67
69
  _props$classPrefix = props.classPrefix,
68
70
  classPrefix = _props$classPrefix === void 0 ? 'picker' : _props$classPrefix,
69
71
  defaultValue = props.defaultValue,
@@ -110,22 +112,20 @@ var TreePicker = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
110
112
  renderExtraFooter = props.renderExtraFooter,
111
113
  renderMenu = props.renderMenu,
112
114
  renderValue = props.renderValue,
113
- renderDragNode = props.renderDragNode,
114
- rest = (0, _objectWithoutPropertiesLoose2.default)(props, ["as", "data", "appearance", "style", "value", "locale", "height", "className", "disabled", "placement", "cleanable", "menuStyle", "searchable", "virtualized", "classPrefix", "defaultValue", "placeholder", "searchKeyword", "menuClassName", "menuAutoWidth", "searchBy", "toggleAs", "labelKey", "valueKey", "childrenKey", "draggable", "defaultExpandAll", "disabledItemValues", "expandItemValues", "defaultExpandItemValues", "id", "listProps", "getChildren", "renderTreeIcon", "renderTreeNode", "onExit", "onExited", "onClean", "onOpen", "onSearch", "onSelect", "onChange", "onEntered", "onClose", "onDragEnd", "onDragStart", "onDragEnter", "onDragLeave", "onDragOver", "onDrop", "onExpand", "renderExtraFooter", "renderMenu", "renderValue", "renderDragNode"]);
115
- var triggerRef = (0, _react.useRef)();
116
- var targetRef = (0, _react.useRef)();
117
- var listRef = (0, _react.useRef)();
118
- var overlayRef = (0, _react.useRef)();
119
- var searchInputRef = (0, _react.useRef)();
120
- var treeViewRef = (0, _react.useRef)();
115
+ rest = (0, _objectWithoutPropertiesLoose2.default)(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"]);
116
+ var triggerRef = (0, _react.useRef)(null);
117
+ var targetRef = (0, _react.useRef)(null);
118
+ var listRef = (0, _react.useRef)(null);
119
+ var overlayRef = (0, _react.useRef)(null);
120
+ var searchInputRef = (0, _react.useRef)(null);
121
+ var treeViewRef = (0, _react.useRef)(null);
121
122
 
122
123
  var _useCustom = (0, _utils.useCustom)('Picker', overrideLocale),
123
124
  rtl = _useCustom.rtl,
124
125
  locale = _useCustom.locale;
125
126
 
126
127
  var _useContext = (0, _react.useContext)(_TreeContext.default),
127
- inline = _useContext.inline,
128
- dragNodeRef = _useContext.dragNodeRef;
128
+ inline = _useContext.inline;
129
129
 
130
130
  var _useControlled = (0, _utils.useControlled)(controlledValue, defaultValue),
131
131
  value = _useControlled[0],
@@ -209,21 +209,17 @@ var TreePicker = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
209
209
 
210
210
  var activeNode = (0, _treeUtils.getTreeActiveNode)(flattenNodes, value, valueKey);
211
211
  var getFormattedNodes = (0, _react.useCallback)(function (render) {
212
- var formattedNodes = [];
213
-
214
212
  if (virtualized) {
215
- formattedNodes = formatVirtualizedTreeData(flattenNodes, filteredData, expandItemValues, {
213
+ return formatVirtualizedTreeData(flattenNodes, filteredData, expandItemValues, {
216
214
  searchKeyword: searchKeywordState
217
215
  }).filter(function (n) {
218
216
  return n.visible;
219
217
  });
220
- } else {
221
- formattedNodes = filteredData.map(function (dataItem, index) {
222
- return render === null || render === void 0 ? void 0 : render(dataItem, index, 1);
223
- });
224
218
  }
225
219
 
226
- return formattedNodes;
220
+ return filteredData.map(function (dataItem, index) {
221
+ return render === null || render === void 0 ? void 0 : render(dataItem, index, 1);
222
+ });
227
223
  }, [searchKeywordState, expandItemValues, filteredData, flattenNodes, formatVirtualizedTreeData, virtualized]);
228
224
  var focusActiveNode = (0, _react.useCallback)(function () {
229
225
  (0, _treeUtils.focusToActiveTreeNode)({
@@ -251,14 +247,6 @@ var TreePicker = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
251
247
  (0, _react.useEffect)(function () {
252
248
  setSearchKeyword(searchKeyword !== null && searchKeyword !== void 0 ? searchKeyword : '');
253
249
  }, [searchKeyword, setSearchKeyword]);
254
- (0, _react.useEffect)(function () {
255
- if (dragNodeRef) {
256
- var _treeViewRef$current;
257
-
258
- dragNodeRef.current = (_treeViewRef$current = treeViewRef.current) === null || _treeViewRef$current === void 0 ? void 0 : _treeViewRef$current.querySelector("." + treePrefix('drag-node-mover'));
259
- } // eslint-disable-next-line react-hooks/exhaustive-deps
260
-
261
- }, []);
262
250
  var getDropData = (0, _react.useCallback)(function (nodeData) {
263
251
  var options = {
264
252
  valueKey: valueKey,
@@ -437,7 +425,7 @@ var TreePicker = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
437
425
  (_targetRef$current2 = targetRef.current) === null || _targetRef$current2 === void 0 ? void 0 : _targetRef$current2.focus();
438
426
  }, [activeNode, setSearchKeyword, valueKey]);
439
427
  (0, _Picker.usePublicMethods)(ref, {
440
- rootRef: inline ? treeViewRef : null,
428
+ rootRef: inline ? treeViewRef : undefined,
441
429
  triggerRef: triggerRef,
442
430
  overlayRef: overlayRef,
443
431
  targetRef: targetRef,
@@ -473,11 +461,13 @@ var TreePicker = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
473
461
  }
474
462
  }, [searchKeywordState, expandItemValues, filteredData, focusItemValue, treeNodesRefs, treePrefix, valueKey, childrenKey, disabledItemValues]);
475
463
  var handleLeftArrow = (0, _react.useCallback)(function () {
464
+ if ((0, _isNil2.default)(focusItemValue)) return;
476
465
  var focusItem = (0, _treeUtils.getActiveItem)(focusItemValue, flattenNodes, valueKey);
477
466
  (0, _treeUtils.leftArrowHandler)({
478
467
  focusItem: focusItem,
479
468
  expand: expandItemValues.includes(focusItem === null || focusItem === void 0 ? void 0 : focusItem[valueKey]),
480
469
  onExpand: handleExpand,
470
+ childrenKey: childrenKey,
481
471
  onFocusItem: function onFocusItem() {
482
472
  var _focusItem$parent, _focusItem$parent2;
483
473
 
@@ -485,8 +475,9 @@ var TreePicker = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
485
475
  (0, _treeUtils.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'));
486
476
  }
487
477
  });
488
- }, [expandItemValues, flattenNodes, focusItemValue, handleExpand, treeNodesRefs, treePrefix, valueKey]);
478
+ }, [expandItemValues, flattenNodes, focusItemValue, handleExpand, treeNodesRefs, treePrefix, valueKey, childrenKey]);
489
479
  var handleRightArrow = (0, _react.useCallback)(function () {
480
+ if ((0, _isNil2.default)(focusItemValue)) return;
490
481
  var focusItem = (0, _treeUtils.getActiveItem)(focusItemValue, flattenNodes, valueKey);
491
482
  (0, _treeUtils.rightArrowHandler)({
492
483
  focusItem: focusItem,
@@ -499,10 +490,12 @@ var TreePicker = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
499
490
  });
500
491
  }, [focusItemValue, flattenNodes, valueKey, expandItemValues, childrenKey, handleExpand, handleFocusItem]);
501
492
  var selectActiveItem = (0, _react.useCallback)(function (event) {
493
+ if ((0, _isNil2.default)(focusItemValue)) return;
502
494
  var activeItem = (0, _treeUtils.getActiveItem)(focusItemValue, flattenNodes, valueKey);
503
495
  handleSelect(activeItem, event);
504
496
  }, [flattenNodes, valueKey, focusItemValue, handleSelect]);
505
497
  var handleClean = (0, _react.useCallback)(function (event) {
498
+ var nullValue = null;
506
499
  var target = event.target; // exclude searchBar
507
500
 
508
501
  if (target.matches('div[role="searchbox"] > input')) {
@@ -510,7 +503,7 @@ var TreePicker = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
510
503
  }
511
504
 
512
505
  setValue(null);
513
- onChange === null || onChange === void 0 ? void 0 : onChange(null, event);
506
+ onChange === null || onChange === void 0 ? void 0 : onChange(nullValue, event);
514
507
  }, [onChange, setValue]);
515
508
  var onPickerKeydown = (0, _Picker.useToggleKeyDownEvent)((0, _extends2.default)({
516
509
  toggle: !activeNode || !active,
@@ -580,18 +573,21 @@ var TreePicker = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
580
573
  key: node[valueKey]
581
574
  }, /*#__PURE__*/_react.default.createElement(_TreeNode.default, (0, _extends2.default)({}, nodeProps, {
582
575
  ref: function ref(_ref) {
583
- return saveTreeNodeRef(node.refKey, _ref);
576
+ return saveTreeNodeRef(_ref, node.refKey);
584
577
  }
585
578
  })), /*#__PURE__*/_react.default.createElement("div", {
586
579
  className: treePrefix('children')
587
580
  }, nodes.map(function (child, i) {
588
581
  return renderNode(child, i, layer);
582
+ }), showIndentLine && /*#__PURE__*/_react.default.createElement("span", {
583
+ className: treePrefix('indent-line'),
584
+ style: (0, _treeUtils.getTreeNodeIndent)(rtl, layer - 1, true)
589
585
  })));
590
586
  }
591
587
 
592
588
  return /*#__PURE__*/_react.default.createElement(_TreeNode.default, (0, _extends2.default)({
593
589
  ref: function ref(_ref2) {
594
- return saveTreeNodeRef(node.refKey, _ref2);
590
+ return saveTreeNodeRef(_ref2, node.refKey);
595
591
  },
596
592
  key: node[valueKey]
597
593
  }, nodeProps));
@@ -619,29 +615,13 @@ var TreePicker = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
619
615
  });
620
616
  return visible && /*#__PURE__*/_react.default.createElement(_TreeNode.default, (0, _extends2.default)({
621
617
  ref: function ref(_ref4) {
622
- return saveTreeNodeRef(node.refKey, _ref4);
618
+ return saveTreeNodeRef(_ref4, node.refKey);
623
619
  },
624
620
  key: key
625
621
  }, nodeProps));
626
622
  };
627
623
  };
628
624
 
629
- var renderDefaultDragNode = function renderDefaultDragNode() {
630
- if (draggable) {
631
- var dragNodeContent = dragNode === null || dragNode === void 0 ? void 0 : dragNode[labelKey];
632
-
633
- if ((0, _isFunction2.default)(renderDragNode)) {
634
- dragNodeContent = renderDragNode(dragNode);
635
- }
636
-
637
- return /*#__PURE__*/_react.default.createElement("span", {
638
- className: treePrefix('drag-node-mover')
639
- }, dragNodeContent);
640
- }
641
-
642
- return null;
643
- };
644
-
645
625
  var renderTree = function renderTree() {
646
626
  var _withTreeClassPrefix;
647
627
 
@@ -677,7 +657,7 @@ var TreePicker = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
677
657
  rowRenderer: renderVirtualListNode(formattedNodes),
678
658
  scrollToAlignment: "center"
679
659
  }, listProps));
680
- }) : formattedNodes), renderDefaultDragNode());
660
+ }) : formattedNodes));
681
661
  };
682
662
 
683
663
  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;
@@ -296,8 +296,8 @@ var UploadFileItem = /*#__PURE__*/_react.default.forwardRef(function (props, ref
296
296
  UploadFileItem.displayName = 'UploadFileItem';
297
297
  UploadFileItem.propTypes = {
298
298
  locale: _propTypes.default.any,
299
- file: _propTypes.default.object,
300
- listType: _propTypes.default.oneOf(['text', 'picture-text', 'picture']),
299
+ file: _propTypes.default.object.isRequired,
300
+ listType: _propTypes.default.oneOf(['text', 'picture-text', 'picture']).isRequired,
301
301
  disabled: _propTypes.default.bool,
302
302
  className: _propTypes.default.string,
303
303
  maxPreviewFileSize: _propTypes.default.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;
@@ -45,13 +45,13 @@ var UploadTrigger = /*#__PURE__*/_react.default.forwardRef(function (props, ref)
45
45
  onDragOver = props.onDragOver,
46
46
  onDrop = props.onDrop,
47
47
  rest = (0, _objectWithoutPropertiesLoose2.default)(props, ["as", "name", "accept", "multiple", "disabled", "readOnly", "children", "classPrefix", "className", "draggable", "locale", "onChange", "onDragEnter", "onDragLeave", "onDragOver", "onDrop"]);
48
- var rootRef = (0, _react.useRef)();
48
+ var rootRef = (0, _react.useRef)(null);
49
49
 
50
50
  var _useState = (0, _react.useState)(false),
51
51
  dragOver = _useState[0],
52
52
  setDragOver = _useState[1];
53
53
 
54
- var inputRef = (0, _react.useRef)();
54
+ var inputRef = (0, _react.useRef)(null);
55
55
 
56
56
  var _useClassNames = (0, _utils.useClassNames)(classPrefix),
57
57
  merge = _useClassNames.merge,
@@ -164,7 +164,6 @@ UploadTrigger.propTypes = {
164
164
  classPrefix: _propTypes.default.string,
165
165
  className: _propTypes.default.string,
166
166
  children: _propTypes.default.node,
167
- as: _propTypes.default.elementType,
168
167
  draggable: _propTypes.default.bool,
169
168
  onDragEnter: _propTypes.default.func,
170
169
  onDragLeave: _propTypes.default.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 */
@@ -443,7 +443,7 @@ var Uploader = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
443
443
 
444
444
  Uploader.displayName = 'Uploader';
445
445
  Uploader.propTypes = {
446
- action: _propTypes.default.string,
446
+ action: _propTypes.default.string.isRequired,
447
447
  accept: _propTypes.default.string,
448
448
  autoUpload: _propTypes.default.bool,
449
449
  children: _propTypes.default.node,
@@ -473,7 +473,6 @@ Uploader.propTypes = {
473
473
  onRemove: _propTypes.default.func,
474
474
  maxPreviewFileSize: _propTypes.default.number,
475
475
  style: _propTypes.default.object,
476
- toggleAs: _propTypes.default.elementType,
477
476
  renderFileInfo: _propTypes.default.func,
478
477
  renderThumbnail: _propTypes.default.func,
479
478
  removable: _propTypes.default.bool,
package/cjs/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';