rsuite 5.2.1 → 5.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (451) 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/Button/styles/index.less +6 -0
  5. package/ButtonGroup/styles/index.less +0 -18
  6. package/CHANGELOG.md +49 -0
  7. package/CheckTreePicker/styles/index.less +14 -1
  8. package/PanelGroup/styles/index.less +12 -12
  9. package/Table/styles/index.less +0 -4
  10. package/TreePicker/styles/index.less +10 -0
  11. package/cjs/@types/common.d.ts +9 -8
  12. package/cjs/@types/utils.d.ts +12 -0
  13. package/cjs/Affix/Affix.js +5 -5
  14. package/cjs/Animation/Transition.d.ts +21 -12
  15. package/cjs/Animation/Transition.js +4 -1
  16. package/cjs/AutoComplete/AutoComplete.js +1 -1
  17. package/cjs/AutoComplete/utils.d.ts +1 -1
  18. package/cjs/Avatar/Avatar.js +10 -3
  19. package/cjs/AvatarGroup/AvatarGroup.d.ts +15 -0
  20. package/cjs/AvatarGroup/AvatarGroup.js +71 -0
  21. package/cjs/AvatarGroup/index.d.ts +3 -0
  22. package/cjs/AvatarGroup/index.js +11 -0
  23. package/cjs/Breadcrumb/Breadcrumb.js +1 -1
  24. package/cjs/Button/Button.js +8 -2
  25. package/cjs/ButtonGroup/ButtonGroup.js +8 -2
  26. package/cjs/ButtonGroup/ButtonGroupContext.d.ts +7 -0
  27. package/cjs/ButtonGroup/ButtonGroupContext.js +13 -0
  28. package/cjs/ButtonGroup/index.d.ts +2 -0
  29. package/cjs/ButtonGroup/index.js +3 -0
  30. package/cjs/Calendar/Calendar.d.ts +4 -4
  31. package/cjs/Calendar/Calendar.js +5 -2
  32. package/cjs/Calendar/CalendarContext.js +1 -1
  33. package/cjs/Calendar/TableRow.js +1 -1
  34. package/cjs/Calendar/TimeDropdown.js +6 -5
  35. package/cjs/Calendar/types.d.ts +2 -2
  36. package/cjs/Calendar/useCalendarDate.d.ts +2 -2
  37. package/cjs/Carousel/Carousel.d.ts +2 -2
  38. package/cjs/Carousel/Carousel.js +1 -1
  39. package/cjs/Cascader/Cascader.d.ts +1 -1
  40. package/cjs/Cascader/Cascader.js +10 -10
  41. package/cjs/Cascader/DropdownMenu.d.ts +5 -4
  42. package/cjs/Cascader/utils.d.ts +3 -3
  43. package/cjs/CheckPicker/CheckPicker.js +4 -4
  44. package/cjs/CheckTreePicker/CheckTreeNode.d.ts +1 -1
  45. package/cjs/CheckTreePicker/CheckTreeNode.js +7 -9
  46. package/cjs/CheckTreePicker/CheckTreePicker.js +34 -27
  47. package/cjs/CheckTreePicker/utils.d.ts +3 -1
  48. package/cjs/CheckTreePicker/utils.js +12 -10
  49. package/cjs/Checkbox/Checkbox.d.ts +1 -1
  50. package/cjs/CheckboxGroup/CheckboxGroup.js +2 -2
  51. package/cjs/CustomProvider/CustomProvider.d.ts +31 -57
  52. package/cjs/DOMHelper/index.d.ts +12 -12
  53. package/cjs/DatePicker/DatePicker.d.ts +1 -1
  54. package/cjs/DatePicker/DatePicker.js +15 -9
  55. package/cjs/DatePicker/Toolbar.d.ts +12 -9
  56. package/cjs/DatePicker/Toolbar.js +6 -8
  57. package/cjs/DatePicker/types.d.ts +4 -4
  58. package/cjs/DatePicker/utils.d.ts +4 -3
  59. package/cjs/DateRangePicker/Calendar.d.ts +9 -7
  60. package/cjs/DateRangePicker/Calendar.js +27 -6
  61. package/cjs/DateRangePicker/DateRangePicker.d.ts +8 -6
  62. package/cjs/DateRangePicker/DateRangePicker.js +126 -107
  63. package/cjs/DateRangePicker/types.d.ts +2 -1
  64. package/cjs/DateRangePicker/utils.d.ts +6 -6
  65. package/cjs/DateRangePicker/utils.js +7 -2
  66. package/cjs/Disclosure/Disclosure.js +4 -2
  67. package/cjs/Disclosure/DisclosureButton.js +9 -7
  68. package/cjs/Disclosure/DisclosureContent.js +4 -6
  69. package/cjs/Disclosure/DisclosureContext.d.ts +2 -2
  70. package/cjs/Disclosure/useDisclosureContext.d.ts +2 -0
  71. package/cjs/Disclosure/useDisclosureContext.js +20 -0
  72. package/cjs/Dropdown/Dropdown.d.ts +1 -1
  73. package/cjs/Dropdown/DropdownContext.d.ts +2 -2
  74. package/cjs/Dropdown/DropdownItem.js +3 -2
  75. package/cjs/Dropdown/DropdownMenu.d.ts +3 -3
  76. package/cjs/Dropdown/DropdownState.d.ts +1 -1
  77. package/cjs/Dropdown/DropdownToggle.js +2 -1
  78. package/cjs/Dropdown/useRenderDropdownItem.d.ts +1 -1
  79. package/cjs/Form/Form.js +1 -1
  80. package/cjs/Form/FormContext.d.ts +1 -1
  81. package/cjs/FormControl/FormControl.d.ts +1 -1
  82. package/cjs/FormControl/FormControl.js +5 -4
  83. package/cjs/FormGroup/FormGroup.d.ts +1 -1
  84. package/cjs/Input/Input.d.ts +3 -2
  85. package/cjs/InputGroup/InputGroup.d.ts +1 -1
  86. package/cjs/InputNumber/InputNumber.js +6 -2
  87. package/cjs/InputPicker/InputAutosize.js +4 -4
  88. package/cjs/InputPicker/InputPicker.d.ts +2 -2
  89. package/cjs/InputPicker/InputPicker.js +16 -11
  90. package/cjs/List/ListContext.d.ts +1 -1
  91. package/cjs/List/ListContext.js +8 -1
  92. package/cjs/List/helper/AutoScroller.js +4 -2
  93. package/cjs/List/helper/useManager.d.ts +3 -3
  94. package/cjs/List/helper/useManager.js +1 -1
  95. package/cjs/List/helper/useSortHelper.d.ts +3 -3
  96. package/cjs/List/helper/useSortHelper.js +6 -4
  97. package/cjs/List/helper/utils.d.ts +2 -2
  98. package/cjs/MaskedInput/MaskedInput.d.ts +5 -42
  99. package/cjs/MaskedInput/MaskedInput.js +9 -63
  100. package/cjs/MaskedInput/TextMask.d.ts +43 -0
  101. package/cjs/MaskedInput/TextMask.js +80 -0
  102. package/cjs/MaskedInput/adjustCaretPosition.d.ts +6 -6
  103. package/cjs/MaskedInput/conformToMask.js +5 -4
  104. package/cjs/MaskedInput/createTextMaskInputElement.d.ts +2 -2
  105. package/cjs/MaskedInput/utilities.d.ts +1 -1
  106. package/cjs/Menu/Menu.js +60 -41
  107. package/cjs/Menu/MenuContext.d.ts +1 -1
  108. package/cjs/Menu/MenuItem.d.ts +1 -1
  109. package/cjs/Menu/MenuItem.js +31 -23
  110. package/cjs/Menu/Menubar.js +8 -8
  111. package/cjs/Menu/useMenu.js +17 -7
  112. package/cjs/Modal/Modal.js +12 -6
  113. package/cjs/Modal/ModalContext.d.ts +2 -2
  114. package/cjs/Modal/utils.d.ts +1 -1
  115. package/cjs/Modal/utils.js +12 -15
  116. package/cjs/MultiCascader/DropdownMenu.d.ts +4 -4
  117. package/cjs/MultiCascader/MultiCascader.js +6 -6
  118. package/cjs/MultiCascader/utils.d.ts +14 -14
  119. package/cjs/Nav/Nav.d.ts +1 -1
  120. package/cjs/Nav/NavContext.d.ts +1 -1
  121. package/cjs/Nav/NavItem.d.ts +1 -1
  122. package/cjs/Navbar/Navbar.js +1 -1
  123. package/cjs/Navbar/NavbarItem.d.ts +1 -1
  124. package/cjs/Overlay/Modal.d.ts +2 -2
  125. package/cjs/Overlay/Modal.js +41 -31
  126. package/cjs/Overlay/ModalManager.d.ts +17 -8
  127. package/cjs/Overlay/ModalManager.js +11 -20
  128. package/cjs/Overlay/Overlay.d.ts +2 -2
  129. package/cjs/Overlay/Overlay.js +1 -1
  130. package/cjs/Overlay/OverlayTrigger.d.ts +11 -11
  131. package/cjs/Overlay/OverlayTrigger.js +14 -6
  132. package/cjs/Overlay/Position.d.ts +3 -3
  133. package/cjs/Overlay/Position.js +21 -12
  134. package/cjs/Overlay/positionUtils.d.ts +1 -1
  135. package/cjs/Overlay/positionUtils.js +8 -8
  136. package/cjs/Pagination/Pagination.d.ts +1 -1
  137. package/cjs/Pagination/PaginationButton.d.ts +3 -3
  138. package/cjs/Pagination/PaginationGroup.js +5 -3
  139. package/cjs/Panel/Panel.d.ts +1 -1
  140. package/cjs/Panel/Panel.js +2 -2
  141. package/cjs/PanelGroup/PanelGroup.d.ts +2 -2
  142. package/cjs/Picker/DropdownMenu.d.ts +8 -5
  143. package/cjs/Picker/DropdownMenu.js +5 -5
  144. package/cjs/Picker/PickerOverlay.js +4 -3
  145. package/cjs/Picker/PickerToggle.js +11 -8
  146. package/cjs/Picker/PickerToggleTrigger.d.ts +2 -6
  147. package/cjs/Picker/SearchBar.d.ts +1 -1
  148. package/cjs/Picker/SelectedElement.js +2 -1
  149. package/cjs/Picker/VirtualizedList.d.ts +29 -2
  150. package/cjs/Picker/propTypes.d.ts +2 -2
  151. package/cjs/Picker/utils.d.ts +17 -25
  152. package/cjs/Picker/utils.js +71 -46
  153. package/cjs/Placeholder/PlaceholderGrid.js +1 -1
  154. package/cjs/Plaintext/Plaintext.js +2 -1
  155. package/cjs/Radio/Radio.d.ts +1 -1
  156. package/cjs/RadioGroup/RadioGroup.d.ts +2 -2
  157. package/cjs/RadioGroup/RadioGroup.js +3 -3
  158. package/cjs/RangeSlider/RangeSlider.d.ts +2 -2
  159. package/cjs/RangeSlider/RangeSlider.js +6 -4
  160. package/cjs/Rate/Character.js +4 -2
  161. package/cjs/Rate/Rate.js +5 -2
  162. package/cjs/Ripple/Ripple.js +1 -1
  163. package/cjs/SelectPicker/SelectPicker.js +4 -4
  164. package/cjs/Sidenav/Node.d.ts +1 -1
  165. package/cjs/Sidenav/Sidenav.d.ts +4 -4
  166. package/cjs/Sidenav/Sidenav.js +5 -2
  167. package/cjs/Sidenav/SidenavDropdown.js +11 -8
  168. package/cjs/Sidenav/SidenavDropdownItem.js +10 -5
  169. package/cjs/Sidenav/SidenavDropdownMenu.js +9 -5
  170. package/cjs/Sidenav/SidenavItem.d.ts +1 -1
  171. package/cjs/Sidenav/SidenavItem.js +4 -0
  172. package/cjs/Slider/Graduated.d.ts +5 -5
  173. package/cjs/Slider/Handle.d.ts +1 -1
  174. package/cjs/Slider/Handle.js +10 -6
  175. package/cjs/Slider/Mark.d.ts +1 -1
  176. package/cjs/Slider/Slider.d.ts +1 -1
  177. package/cjs/Slider/Slider.js +2 -2
  178. package/cjs/Slider/utils.d.ts +2 -1
  179. package/cjs/Slider/utils.js +4 -5
  180. package/cjs/Steps/StepItem.js +2 -2
  181. package/cjs/TagInput/index.js +1 -1
  182. package/cjs/Toggle/Toggle.js +1 -1
  183. package/cjs/Tree/Tree.d.ts +3 -1
  184. package/cjs/TreePicker/TreeNode.js +6 -8
  185. package/cjs/TreePicker/TreePicker.js +36 -27
  186. package/cjs/Uploader/UploadFileItem.d.ts +1 -1
  187. package/cjs/Uploader/UploadFileItem.js +2 -2
  188. package/cjs/Uploader/UploadTrigger.d.ts +1 -1
  189. package/cjs/Uploader/UploadTrigger.js +2 -3
  190. package/cjs/Uploader/Uploader.d.ts +5 -5
  191. package/cjs/Uploader/Uploader.js +1 -2
  192. package/cjs/index.d.ts +2 -0
  193. package/cjs/index.js +5 -1
  194. package/cjs/locales/index.d.ts +3 -3
  195. package/cjs/toaster/ToastContainer.d.ts +1 -1
  196. package/cjs/toaster/ToastContainer.js +1 -1
  197. package/cjs/toaster/toaster.js +3 -1
  198. package/cjs/utils/BrowserDetection.js +1 -1
  199. package/cjs/utils/ReactChildren.d.ts +2 -2
  200. package/cjs/utils/ajaxUpload.d.ts +1 -1
  201. package/cjs/utils/ajaxUpload.js +5 -4
  202. package/cjs/utils/appendTooltip.d.ts +1 -1
  203. package/cjs/utils/constants.d.ts +4 -4
  204. package/cjs/utils/createChainedFunction.d.ts +1 -1
  205. package/cjs/utils/getDataGroupBy.d.ts +1 -1
  206. package/cjs/utils/mergeRefs.d.ts +2 -2
  207. package/cjs/utils/previewFile.d.ts +1 -1
  208. package/cjs/utils/propTypeChecker.d.ts +6 -2
  209. package/cjs/utils/propTypeChecker.js +7 -6
  210. package/cjs/utils/reactToString.d.ts +2 -1
  211. package/cjs/utils/statusIcons.d.ts +1 -1
  212. package/cjs/utils/stringToObject.d.ts +1 -1
  213. package/cjs/utils/treeUtils.d.ts +32 -29
  214. package/cjs/utils/treeUtils.js +46 -23
  215. package/cjs/utils/useControlled.d.ts +6 -1
  216. package/cjs/utils/useControlled.js +0 -8
  217. package/cjs/utils/useCustom.js +6 -4
  218. package/cjs/utils/useElementResize.d.ts +1 -1
  219. package/cjs/utils/useElementResize.js +11 -6
  220. package/cjs/utils/useFocus.d.ts +2 -2
  221. package/cjs/utils/usePortal.d.ts +1 -1
  222. package/cjs/utils/useRootClose.d.ts +2 -2
  223. package/cjs/utils/useTimeout.d.ts +1 -1
  224. package/cjs/utils/useTimeout.js +5 -3
  225. package/dist/rsuite-rtl.css +85 -165
  226. package/dist/rsuite-rtl.min.css +1 -1
  227. package/dist/rsuite-rtl.min.css.map +1 -1
  228. package/dist/rsuite.css +85 -165
  229. package/dist/rsuite.js +468 -445
  230. package/dist/rsuite.js.map +1 -1
  231. package/dist/rsuite.min.css +1 -1
  232. package/dist/rsuite.min.css.map +1 -1
  233. package/dist/rsuite.min.js +1 -1
  234. package/dist/rsuite.min.js.LICENSE.txt +9 -0
  235. package/dist/rsuite.min.js.map +1 -1
  236. package/esm/@types/common.d.ts +9 -8
  237. package/esm/@types/utils.d.ts +12 -0
  238. package/esm/Affix/Affix.js +5 -5
  239. package/esm/Animation/Transition.d.ts +21 -12
  240. package/esm/Animation/Transition.js +4 -1
  241. package/esm/AutoComplete/AutoComplete.js +1 -1
  242. package/esm/AutoComplete/utils.d.ts +1 -1
  243. package/esm/Avatar/Avatar.js +7 -3
  244. package/esm/AvatarGroup/AvatarGroup.d.ts +15 -0
  245. package/esm/AvatarGroup/AvatarGroup.js +54 -0
  246. package/esm/AvatarGroup/index.d.ts +3 -0
  247. package/esm/AvatarGroup/index.js +2 -0
  248. package/esm/Breadcrumb/Breadcrumb.js +1 -1
  249. package/esm/Button/Button.js +6 -2
  250. package/esm/ButtonGroup/ButtonGroup.js +7 -2
  251. package/esm/ButtonGroup/ButtonGroupContext.d.ts +7 -0
  252. package/esm/ButtonGroup/ButtonGroupContext.js +3 -0
  253. package/esm/ButtonGroup/index.d.ts +2 -0
  254. package/esm/ButtonGroup/index.js +2 -0
  255. package/esm/Calendar/Calendar.d.ts +4 -4
  256. package/esm/Calendar/Calendar.js +5 -2
  257. package/esm/Calendar/CalendarContext.js +1 -1
  258. package/esm/Calendar/TableRow.js +1 -1
  259. package/esm/Calendar/TimeDropdown.js +5 -4
  260. package/esm/Calendar/types.d.ts +2 -2
  261. package/esm/Calendar/useCalendarDate.d.ts +2 -2
  262. package/esm/Carousel/Carousel.d.ts +2 -2
  263. package/esm/Carousel/Carousel.js +1 -1
  264. package/esm/Cascader/Cascader.d.ts +1 -1
  265. package/esm/Cascader/Cascader.js +10 -10
  266. package/esm/Cascader/DropdownMenu.d.ts +5 -4
  267. package/esm/Cascader/utils.d.ts +3 -3
  268. package/esm/CheckPicker/CheckPicker.js +4 -4
  269. package/esm/CheckTreePicker/CheckTreeNode.d.ts +1 -1
  270. package/esm/CheckTreePicker/CheckTreeNode.js +4 -7
  271. package/esm/CheckTreePicker/CheckTreePicker.js +33 -25
  272. package/esm/CheckTreePicker/utils.d.ts +3 -1
  273. package/esm/CheckTreePicker/utils.js +12 -10
  274. package/esm/Checkbox/Checkbox.d.ts +1 -1
  275. package/esm/CheckboxGroup/CheckboxGroup.js +2 -2
  276. package/esm/CustomProvider/CustomProvider.d.ts +31 -57
  277. package/esm/DOMHelper/index.d.ts +12 -12
  278. package/esm/DatePicker/DatePicker.d.ts +1 -1
  279. package/esm/DatePicker/DatePicker.js +14 -9
  280. package/esm/DatePicker/Toolbar.d.ts +12 -9
  281. package/esm/DatePicker/Toolbar.js +6 -8
  282. package/esm/DatePicker/types.d.ts +4 -4
  283. package/esm/DatePicker/utils.d.ts +4 -3
  284. package/esm/DateRangePicker/Calendar.d.ts +9 -7
  285. package/esm/DateRangePicker/Calendar.js +28 -6
  286. package/esm/DateRangePicker/DateRangePicker.d.ts +8 -6
  287. package/esm/DateRangePicker/DateRangePicker.js +124 -107
  288. package/esm/DateRangePicker/types.d.ts +2 -1
  289. package/esm/DateRangePicker/utils.d.ts +6 -6
  290. package/esm/DateRangePicker/utils.js +6 -2
  291. package/esm/Disclosure/Disclosure.js +4 -2
  292. package/esm/Disclosure/DisclosureButton.js +8 -7
  293. package/esm/Disclosure/DisclosureContent.js +5 -7
  294. package/esm/Disclosure/DisclosureContext.d.ts +2 -2
  295. package/esm/Disclosure/useDisclosureContext.d.ts +2 -0
  296. package/esm/Disclosure/useDisclosureContext.js +11 -0
  297. package/esm/Dropdown/Dropdown.d.ts +1 -1
  298. package/esm/Dropdown/DropdownContext.d.ts +2 -2
  299. package/esm/Dropdown/DropdownItem.js +3 -2
  300. package/esm/Dropdown/DropdownMenu.d.ts +3 -3
  301. package/esm/Dropdown/DropdownState.d.ts +1 -1
  302. package/esm/Dropdown/DropdownToggle.js +2 -1
  303. package/esm/Dropdown/useRenderDropdownItem.d.ts +1 -1
  304. package/esm/Form/Form.js +1 -1
  305. package/esm/Form/FormContext.d.ts +1 -1
  306. package/esm/FormControl/FormControl.d.ts +1 -1
  307. package/esm/FormControl/FormControl.js +5 -4
  308. package/esm/FormGroup/FormGroup.d.ts +1 -1
  309. package/esm/Input/Input.d.ts +3 -2
  310. package/esm/InputGroup/InputGroup.d.ts +1 -1
  311. package/esm/InputNumber/InputNumber.js +6 -2
  312. package/esm/InputPicker/InputAutosize.js +4 -4
  313. package/esm/InputPicker/InputPicker.d.ts +2 -2
  314. package/esm/InputPicker/InputPicker.js +16 -11
  315. package/esm/List/ListContext.d.ts +1 -1
  316. package/esm/List/ListContext.js +7 -1
  317. package/esm/List/helper/AutoScroller.js +4 -2
  318. package/esm/List/helper/useManager.d.ts +3 -3
  319. package/esm/List/helper/useManager.js +1 -1
  320. package/esm/List/helper/useSortHelper.d.ts +3 -3
  321. package/esm/List/helper/useSortHelper.js +6 -4
  322. package/esm/List/helper/utils.d.ts +2 -2
  323. package/esm/MaskedInput/MaskedInput.d.ts +5 -42
  324. package/esm/MaskedInput/MaskedInput.js +9 -63
  325. package/esm/MaskedInput/TextMask.d.ts +43 -0
  326. package/esm/MaskedInput/TextMask.js +67 -0
  327. package/esm/MaskedInput/adjustCaretPosition.d.ts +6 -6
  328. package/esm/MaskedInput/conformToMask.js +5 -4
  329. package/esm/MaskedInput/createTextMaskInputElement.d.ts +2 -2
  330. package/esm/MaskedInput/utilities.d.ts +1 -1
  331. package/esm/Menu/Menu.js +59 -43
  332. package/esm/Menu/MenuContext.d.ts +1 -1
  333. package/esm/Menu/MenuItem.d.ts +1 -1
  334. package/esm/Menu/MenuItem.js +30 -23
  335. package/esm/Menu/Menubar.js +7 -8
  336. package/esm/Menu/useMenu.js +17 -7
  337. package/esm/Modal/Modal.js +12 -6
  338. package/esm/Modal/ModalContext.d.ts +2 -2
  339. package/esm/Modal/utils.d.ts +1 -1
  340. package/esm/Modal/utils.js +11 -12
  341. package/esm/MultiCascader/DropdownMenu.d.ts +4 -4
  342. package/esm/MultiCascader/MultiCascader.js +6 -6
  343. package/esm/MultiCascader/utils.d.ts +14 -14
  344. package/esm/Nav/Nav.d.ts +1 -1
  345. package/esm/Nav/NavContext.d.ts +1 -1
  346. package/esm/Nav/NavItem.d.ts +1 -1
  347. package/esm/Navbar/Navbar.js +1 -1
  348. package/esm/Navbar/NavbarItem.d.ts +1 -1
  349. package/esm/Overlay/Modal.d.ts +2 -2
  350. package/esm/Overlay/Modal.js +42 -32
  351. package/esm/Overlay/ModalManager.d.ts +17 -8
  352. package/esm/Overlay/ModalManager.js +11 -20
  353. package/esm/Overlay/Overlay.d.ts +2 -2
  354. package/esm/Overlay/Overlay.js +1 -1
  355. package/esm/Overlay/OverlayTrigger.d.ts +11 -11
  356. package/esm/Overlay/OverlayTrigger.js +14 -6
  357. package/esm/Overlay/Position.d.ts +3 -3
  358. package/esm/Overlay/Position.js +20 -11
  359. package/esm/Overlay/positionUtils.d.ts +1 -1
  360. package/esm/Overlay/positionUtils.js +6 -6
  361. package/esm/Pagination/Pagination.d.ts +1 -1
  362. package/esm/Pagination/PaginationButton.d.ts +3 -3
  363. package/esm/Pagination/PaginationGroup.js +5 -3
  364. package/esm/Panel/Panel.d.ts +1 -1
  365. package/esm/Panel/Panel.js +2 -2
  366. package/esm/PanelGroup/PanelGroup.d.ts +2 -2
  367. package/esm/Picker/DropdownMenu.d.ts +8 -5
  368. package/esm/Picker/DropdownMenu.js +5 -5
  369. package/esm/Picker/PickerOverlay.js +4 -3
  370. package/esm/Picker/PickerToggle.js +11 -8
  371. package/esm/Picker/PickerToggleTrigger.d.ts +2 -6
  372. package/esm/Picker/SearchBar.d.ts +1 -1
  373. package/esm/Picker/SelectedElement.js +2 -1
  374. package/esm/Picker/VirtualizedList.d.ts +29 -2
  375. package/esm/Picker/propTypes.d.ts +2 -2
  376. package/esm/Picker/utils.d.ts +17 -25
  377. package/esm/Picker/utils.js +70 -46
  378. package/esm/Placeholder/PlaceholderGrid.js +1 -1
  379. package/esm/Plaintext/Plaintext.js +2 -1
  380. package/esm/Radio/Radio.d.ts +1 -1
  381. package/esm/RadioGroup/RadioGroup.d.ts +2 -2
  382. package/esm/RadioGroup/RadioGroup.js +3 -3
  383. package/esm/RangeSlider/RangeSlider.d.ts +2 -2
  384. package/esm/RangeSlider/RangeSlider.js +5 -4
  385. package/esm/Rate/Character.js +3 -2
  386. package/esm/Rate/Rate.js +4 -2
  387. package/esm/Ripple/Ripple.js +1 -1
  388. package/esm/SelectPicker/SelectPicker.js +4 -4
  389. package/esm/Sidenav/Node.d.ts +1 -1
  390. package/esm/Sidenav/Sidenav.d.ts +4 -4
  391. package/esm/Sidenav/Sidenav.js +5 -2
  392. package/esm/Sidenav/SidenavDropdown.js +11 -7
  393. package/esm/Sidenav/SidenavDropdownItem.js +11 -5
  394. package/esm/Sidenav/SidenavDropdownMenu.js +9 -5
  395. package/esm/Sidenav/SidenavItem.d.ts +1 -1
  396. package/esm/Sidenav/SidenavItem.js +4 -0
  397. package/esm/Slider/Graduated.d.ts +5 -5
  398. package/esm/Slider/Handle.d.ts +1 -1
  399. package/esm/Slider/Handle.js +10 -6
  400. package/esm/Slider/Mark.d.ts +1 -1
  401. package/esm/Slider/Slider.d.ts +1 -1
  402. package/esm/Slider/Slider.js +2 -2
  403. package/esm/Slider/utils.d.ts +2 -1
  404. package/esm/Slider/utils.js +5 -2
  405. package/esm/Steps/StepItem.js +2 -2
  406. package/esm/TagInput/index.js +1 -1
  407. package/esm/Toggle/Toggle.js +1 -1
  408. package/esm/Tree/Tree.d.ts +3 -1
  409. package/esm/TreePicker/TreeNode.js +4 -7
  410. package/esm/TreePicker/TreePicker.js +35 -25
  411. package/esm/Uploader/UploadFileItem.d.ts +1 -1
  412. package/esm/Uploader/UploadFileItem.js +2 -2
  413. package/esm/Uploader/UploadTrigger.d.ts +1 -1
  414. package/esm/Uploader/UploadTrigger.js +2 -3
  415. package/esm/Uploader/Uploader.d.ts +5 -5
  416. package/esm/Uploader/Uploader.js +1 -2
  417. package/esm/index.d.ts +2 -0
  418. package/esm/index.js +1 -0
  419. package/esm/locales/index.d.ts +3 -3
  420. package/esm/toaster/ToastContainer.d.ts +1 -1
  421. package/esm/toaster/ToastContainer.js +1 -1
  422. package/esm/toaster/toaster.js +3 -1
  423. package/esm/utils/BrowserDetection.js +1 -1
  424. package/esm/utils/ReactChildren.d.ts +2 -2
  425. package/esm/utils/ajaxUpload.d.ts +1 -1
  426. package/esm/utils/ajaxUpload.js +5 -4
  427. package/esm/utils/appendTooltip.d.ts +1 -1
  428. package/esm/utils/constants.d.ts +4 -4
  429. package/esm/utils/createChainedFunction.d.ts +1 -1
  430. package/esm/utils/getDataGroupBy.d.ts +1 -1
  431. package/esm/utils/mergeRefs.d.ts +2 -2
  432. package/esm/utils/previewFile.d.ts +1 -1
  433. package/esm/utils/propTypeChecker.d.ts +6 -2
  434. package/esm/utils/propTypeChecker.js +7 -6
  435. package/esm/utils/reactToString.d.ts +2 -1
  436. package/esm/utils/statusIcons.d.ts +1 -1
  437. package/esm/utils/stringToObject.d.ts +1 -1
  438. package/esm/utils/treeUtils.d.ts +32 -29
  439. package/esm/utils/treeUtils.js +45 -21
  440. package/esm/utils/useControlled.d.ts +6 -1
  441. package/esm/utils/useControlled.js +0 -8
  442. package/esm/utils/useCustom.js +6 -4
  443. package/esm/utils/useElementResize.d.ts +1 -1
  444. package/esm/utils/useElementResize.js +12 -5
  445. package/esm/utils/useFocus.d.ts +2 -2
  446. package/esm/utils/usePortal.d.ts +1 -1
  447. package/esm/utils/useRootClose.d.ts +2 -2
  448. package/esm/utils/useTimeout.d.ts +1 -1
  449. package/esm/utils/useTimeout.js +5 -3
  450. package/package.json +4 -4
  451. package/styles/index.less +1 -0
@@ -60,14 +60,8 @@ var SidenavDropdown = /*#__PURE__*/_react.default.forwardRef(function (props, re
60
60
  openProp = props.open,
61
61
  onToggle = props.onToggle,
62
62
  rest = (0, _objectWithoutPropertiesLoose2.default)(props, ["as", "title", "children", "className", "menuStyle", "disabled", "renderTitle", "renderToggle", "classPrefix", "placement", "toggleClassName", "icon", "eventKey", "toggleAs", "noCaret", "style", "onOpen", "onClose", "open", "onToggle"]);
63
-
64
- var _useContext = (0, _react.useContext)(_Sidenav.SidenavContext),
65
- _useContext$openKeys = _useContext.openKeys,
66
- openKeys = _useContext$openKeys === void 0 ? [] : _useContext$openKeys,
67
- onOpenChange = _useContext.onOpenChange;
68
-
69
- var _useContext2 = (0, _react.useContext)(_DropdownContext.default),
70
- hasSelectedItem = _useContext2.hasSelectedItem;
63
+ var sidenavContext = (0, _react.useContext)(_Sidenav.SidenavContext);
64
+ var dropdownContext = (0, _react.useContext)(_DropdownContext.default);
71
65
 
72
66
  var _useClassNames = (0, _utils.useClassNames)(classPrefix),
73
67
  merge = _useClassNames.merge,
@@ -75,6 +69,15 @@ var SidenavDropdown = /*#__PURE__*/_react.default.forwardRef(function (props, re
75
69
 
76
70
  var internalId = (0, _useInternalId.default)('SidenavDropdown');
77
71
  var uniqueKey = eventKey !== null && eventKey !== void 0 ? eventKey : internalId;
72
+
73
+ if (!sidenavContext || !dropdownContext) {
74
+ throw new Error('<SidenavDropdown> component is not supposed to be used standalone. Use <Dropdown> inside <Sidenav> instead.');
75
+ }
76
+
77
+ var _sidenavContext$openK = sidenavContext.openKeys,
78
+ openKeys = _sidenavContext$openK === void 0 ? [] : _sidenavContext$openK,
79
+ onOpenChange = sidenavContext.onOpenChange;
80
+ var hasSelectedItem = dropdownContext.hasSelectedItem;
78
81
  var handleToggleDisclosure = (0, _react.useCallback)(function (open, event) {
79
82
  if (open) {
80
83
  onClose === null || onClose === void 0 ? void 0 : onClose();
@@ -52,13 +52,16 @@ var SidenavDropdownItem = /*#__PURE__*/_react.default.forwardRef(function (props
52
52
  onClick = props.onClick,
53
53
  onSelect = props.onSelect,
54
54
  rest = (0, _objectWithoutPropertiesLoose2.default)(props, ["as", "active", "children", "disabled", "divider", "panel", "className", "style", "classPrefix", "icon", "eventKey", "onClick", "onSelect"]);
55
+ var sidenavContext = (0, _react.useContext)(_Sidenav.SidenavContext);
56
+ var dropdown = (0, _react.useContext)(_DropdownContext.default);
55
57
 
56
- var _useContext = (0, _react.useContext)(_Sidenav.SidenavContext),
57
- activeKey = _useContext.activeKey,
58
- onSidenavSelect = _useContext.onSelect;
58
+ if (!sidenavContext || !dropdown) {
59
+ throw new Error('<SidenavDropdownItem> component is not supposed to be used standalone. Use <Dropdown.Item> within <Sidenav> instead.');
60
+ }
59
61
 
62
+ var activeKey = sidenavContext.activeKey,
63
+ onSidenavSelect = sidenavContext.onSelect;
60
64
  var nav = (0, _react.useContext)(_NavContext.default);
61
- var dropdown = (0, _react.useContext)(_DropdownContext.default);
62
65
 
63
66
  var _useClassNames = (0, _utils.useClassNames)(classPrefix),
64
67
  merge = _useClassNames.merge,
@@ -72,9 +75,11 @@ var SidenavDropdownItem = /*#__PURE__*/_react.default.forwardRef(function (props
72
75
  disabled: disabled
73
76
  }));
74
77
  var handleClick = (0, _react.useCallback)(function (event) {
78
+ var _dropdown$onSelect;
79
+
75
80
  if (disabled) return;
76
81
  onSelect === null || onSelect === void 0 ? void 0 : onSelect(eventKey, event);
77
- dropdown === null || dropdown === void 0 ? void 0 : dropdown.onSelect(eventKey, event);
82
+ (_dropdown$onSelect = dropdown.onSelect) === null || _dropdown$onSelect === void 0 ? void 0 : _dropdown$onSelect.call(dropdown, eventKey, event);
78
83
  onSidenavSelect === null || onSidenavSelect === void 0 ? void 0 : onSidenavSelect(eventKey, event);
79
84
  }, [disabled, onSelect, onSidenavSelect, eventKey, dropdown]);
80
85
  var menuitemEventHandlers = {
@@ -68,12 +68,16 @@ var SidenavDropdownMenu = /*#__PURE__*/_react.default.forwardRef(function (props
68
68
  withClassPrefix = _useClassNames.withClassPrefix,
69
69
  prefix = _useClassNames.prefix;
70
70
 
71
- var _useContext = (0, _react.useContext)(_Sidenav.SidenavContext),
72
- _useContext$openKeys = _useContext.openKeys,
73
- openKeys = _useContext$openKeys === void 0 ? [] : _useContext$openKeys,
74
- onOpenChange = _useContext.onOpenChange,
75
- onSidenavSelect = _useContext.onSelect;
71
+ var sidenavContext = (0, _react.useContext)(_Sidenav.SidenavContext);
76
72
 
73
+ if (!sidenavContext) {
74
+ throw new Error('<SidenavDropdownMenu> component is not supposed to be used standalone. Use <Dropdown.Item> inside <Sidenav> instead.');
75
+ }
76
+
77
+ var _sidenavContext$openK = sidenavContext.openKeys,
78
+ openKeys = _sidenavContext$openK === void 0 ? [] : _sidenavContext$openK,
79
+ onOpenChange = sidenavContext.onOpenChange,
80
+ onSidenavSelect = sidenavContext.onSelect;
77
81
  var handleClick = (0, _react.useCallback)(function (event) {
78
82
  if (disabled) return;
79
83
  onSelect === null || onSelect === void 0 ? void 0 : onSelect(eventKey, event);
@@ -11,7 +11,7 @@ export interface SidenavItemProps<T = any> extends WithAsProps, Omit<React.HTMLA
11
11
  /** The value of the current option */
12
12
  eventKey?: T;
13
13
  /** Selected callback function */
14
- onSelect?: (eventKey: T, event: React.MouseEvent<HTMLElement>) => void;
14
+ onSelect?: (eventKey: T, event: React.MouseEvent) => void;
15
15
  divider?: boolean;
16
16
  panel?: boolean;
17
17
  }
@@ -50,6 +50,10 @@ var SidenavItem = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
50
50
  rest = (0, _objectWithoutPropertiesLoose2.default)(props, ["as", "active", "children", "className", "disabled", "classPrefix", "icon", "eventKey", "style", "onClick", "onSelect", "divider", "panel"]);
51
51
  var sidenav = (0, _react.useContext)(_Sidenav.SidenavContext);
52
52
 
53
+ if (!sidenav) {
54
+ throw new Error('<SidenavItem> component is not supposed to be used standalone. Use <Nav.Item> inside <Sidenav> instead.');
55
+ }
56
+
53
57
  var _useContext = (0, _react.useContext)(_NavContext.default),
54
58
  activeKey = _useContext.activeKey,
55
59
  onSelectFromNav = _useContext.onSelect;
@@ -1,11 +1,11 @@
1
1
  import React from 'react';
2
2
  import { WithAsProps, RsRefForwardingComponent } from '../@types/common';
3
3
  export interface GraduatedProps extends WithAsProps {
4
- step?: number;
5
- min?: number;
6
- max?: number;
7
- count?: number;
8
- value?: number | number[];
4
+ step: number;
5
+ min: number;
6
+ max: number;
7
+ count: number;
8
+ value: number | number[];
9
9
  renderMark?: (mark: number) => React.ReactNode;
10
10
  }
11
11
  declare const Graduated: RsRefForwardingComponent<'div', GraduatedProps>;
@@ -7,7 +7,7 @@ export interface HandleProps extends WithAsProps, React.HTMLAttributes<HTMLDivEl
7
7
  rtl?: boolean;
8
8
  position?: number;
9
9
  value?: number;
10
- renderTooltip?: (value: number) => React.ReactNode;
10
+ renderTooltip?: (value: number | undefined) => React.ReactNode;
11
11
  onDragMove?: (event: React.DragEvent, dataset?: DOMStringMap) => void;
12
12
  onDragStart?: (event: React.MouseEvent) => void;
13
13
  onDragEnd?: (event: React.MouseEvent, dataset?: DOMStringMap) => void;
@@ -58,7 +58,7 @@ var Handle = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
58
58
  active = _useState[0],
59
59
  setActive = _useState[1];
60
60
 
61
- var rootRef = (0, _react.useRef)();
61
+ var rootRef = (0, _react.useRef)(null);
62
62
  var horizontalKey = rtl ? 'right' : 'left';
63
63
  var direction = vertical ? 'bottom' : horizontalKey;
64
64
  var styles = (0, _extends3.default)({}, style, (_extends2 = {}, _extends2[direction] = position + "%", _extends2));
@@ -70,7 +70,7 @@ var Handle = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
70
70
  var handleClasses = merge(className, prefix('handle'), {
71
71
  active: active
72
72
  });
73
- var tooltipRef = (0, _react.useRef)();
73
+ var tooltipRef = (0, _react.useRef)(null);
74
74
  var mouseMoveTracker = (0, _react.useRef)();
75
75
  var releaseMouseMoves = (0, _react.useCallback)(function () {
76
76
  var _mouseMoveTracker$cur;
@@ -90,20 +90,24 @@ var Handle = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
90
90
  var _mouseMoveTracker$cur2;
91
91
 
92
92
  if ((_mouseMoveTracker$cur2 = mouseMoveTracker.current) !== null && _mouseMoveTracker$cur2 !== void 0 && _mouseMoveTracker$cur2.isDragging()) {
93
- onDragMove === null || onDragMove === void 0 ? void 0 : onDragMove(event, rootRef.current.dataset);
93
+ var _rootRef$current;
94
+
95
+ onDragMove === null || onDragMove === void 0 ? void 0 : onDragMove(event, (_rootRef$current = rootRef.current) === null || _rootRef$current === void 0 ? void 0 : _rootRef$current.dataset);
94
96
  setTooltipPosition();
95
97
  }
96
98
  }, [onDragMove, setTooltipPosition]);
97
99
  var handleDragEnd = (0, _react.useCallback)(function (event) {
100
+ var _rootRef$current2;
101
+
98
102
  setActive(false);
99
103
  releaseMouseMoves();
100
- onDragEnd === null || onDragEnd === void 0 ? void 0 : onDragEnd(event, rootRef.current.dataset);
104
+ onDragEnd === null || onDragEnd === void 0 ? void 0 : onDragEnd(event, (_rootRef$current2 = rootRef.current) === null || _rootRef$current2 === void 0 ? void 0 : _rootRef$current2.dataset);
101
105
  }, [onDragEnd, releaseMouseMoves]);
102
106
  var getMouseMoveTracker = (0, _react.useCallback)(function () {
103
107
  return mouseMoveTracker.current || new _DOMMouseMoveTracker.default(handleDragMove, handleDragEnd, document.body);
104
108
  }, [handleDragEnd, handleDragMove]);
105
109
  var handleMouseDown = (0, _react.useCallback)(function (event) {
106
- var _mouseMoveTracker$cur3, _rootRef$current;
110
+ var _mouseMoveTracker$cur3, _rootRef$current3;
107
111
 
108
112
  if (disabled) {
109
113
  return;
@@ -111,7 +115,7 @@ var Handle = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
111
115
 
112
116
  mouseMoveTracker.current = getMouseMoveTracker();
113
117
  (_mouseMoveTracker$cur3 = mouseMoveTracker.current) === null || _mouseMoveTracker$cur3 === void 0 ? void 0 : _mouseMoveTracker$cur3.captureMouseMoves(event);
114
- (_rootRef$current = rootRef.current) === null || _rootRef$current === void 0 ? void 0 : _rootRef$current.focus();
118
+ (_rootRef$current3 = rootRef.current) === null || _rootRef$current3 === void 0 ? void 0 : _rootRef$current3.focus();
115
119
  setActive(true);
116
120
  onDragStart === null || onDragStart === void 0 ? void 0 : onDragStart(event);
117
121
  }, [disabled, getMouseMoveTracker, onDragStart]);
@@ -1,7 +1,7 @@
1
1
  import React from 'react';
2
2
  import { WithAsProps, RsRefForwardingComponent } from '../@types/common';
3
3
  export interface MarkProps extends WithAsProps {
4
- mark?: number;
4
+ mark: number;
5
5
  last?: boolean;
6
6
  renderMark?: (mark: number) => React.ReactNode;
7
7
  }
@@ -45,7 +45,7 @@ export interface SliderProps<T = number> extends WithAsProps, FormControlBasePro
45
45
  /** Customize labels on the render ruler */
46
46
  renderMark?: (mark: number) => React.ReactNode;
47
47
  /** Customize the content of the rendered Tooltip. */
48
- renderTooltip?: (value: number) => React.ReactNode;
48
+ renderTooltip?: (value: number | undefined) => React.ReactNode;
49
49
  /** Accepts a function which returns a string value that provides a user-friendly name for the current value of the slider. */
50
50
  getAriaValueText?: (value: number, eventKey?: 'start' | 'end') => string;
51
51
  /** Callback function that is fired when the mouseup is triggered. */
@@ -96,7 +96,7 @@ var Slider = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
96
96
  onChange = props.onChange,
97
97
  onChangeCommitted = props.onChangeCommitted,
98
98
  rest = (0, _objectWithoutPropertiesLoose2.default)(props, ["aria-label", "aria-labelledby", "aria-valuetext", "as", "graduated", "className", "barClassName", "progress", "vertical", "disabled", "readOnly", "plaintext", "classPrefix", "min", "handleClassName", "handleStyle", "handleTitle", "tooltip", "step", "defaultValue", "value", "max", "getAriaValueText", "renderTooltip", "renderMark", "onChange", "onChangeCommitted"]);
99
- var barRef = (0, _react.useRef)();
99
+ var barRef = (0, _react.useRef)(null);
100
100
 
101
101
  var _useClassNames = (0, _utils.useClassNames)(classPrefix),
102
102
  merge = _useClassNames.merge,
@@ -265,7 +265,7 @@ var Slider = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
265
265
  onDragMove: handleChangeValue,
266
266
  onKeyDown: handleKeyDown,
267
267
  onDragEnd: handleChangeCommitted,
268
- tabIndex: disabled || readOnly ? null : 0,
268
+ tabIndex: disabled || readOnly ? undefined : 0,
269
269
  "aria-orientation": vertical ? 'vertical' : 'horizontal',
270
270
  "aria-valuenow": value,
271
271
  "aria-disabled": disabled,
@@ -1,2 +1,3 @@
1
1
  export declare const precisionMath: (value: any) => number;
2
- export declare const checkValue: (value: number, min: number, max: number) => number;
2
+ declare function checkValue<T extends number | undefined>(value: T, min: number, max: number): T extends undefined ? undefined : number;
3
+ export { checkValue };
@@ -1,7 +1,8 @@
1
1
  "use strict";
2
2
 
3
3
  exports.__esModule = true;
4
- exports.checkValue = exports.precisionMath = void 0;
4
+ exports.checkValue = checkValue;
5
+ exports.precisionMath = void 0;
5
6
 
6
7
  var precisionMath = function precisionMath(value) {
7
8
  return parseFloat(value.toFixed(10));
@@ -9,7 +10,7 @@ var precisionMath = function precisionMath(value) {
9
10
 
10
11
  exports.precisionMath = precisionMath;
11
12
 
12
- var checkValue = function checkValue(value, min, max) {
13
+ function checkValue(value, min, max) {
13
14
  if (typeof value === 'undefined') {
14
15
  return value;
15
16
  }
@@ -23,6 +24,4 @@ var checkValue = function checkValue(value, min, max) {
23
24
  }
24
25
 
25
26
  return value;
26
- };
27
-
28
- exports.checkValue = checkValue;
27
+ }
@@ -27,7 +27,7 @@ var STEP_STATUS_ICON = {
27
27
  };
28
28
 
29
29
  var StepItem = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
30
- var _withClassPrefix, _STEP_STATUS_ICON$sta;
30
+ var _withClassPrefix;
31
31
 
32
32
  var _props$as = props.as,
33
33
  Component = _props$as === void 0 ? 'div' : _props$as,
@@ -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[status] : 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],
@@ -43,6 +43,8 @@ export interface TreeBaseProps<ValueType = string | number, ItemDataType = Recor
43
43
  height?: number;
44
44
  /** Whether display search input box */
45
45
  searchable?: boolean;
46
+ /** Display an auxiliary line when the tree node is indented. */
47
+ showIndentLine?: boolean;
46
48
  /** Whether using virtualized list */
47
49
  virtualized?: boolean;
48
50
  /**
@@ -59,7 +61,7 @@ export interface TreeBaseProps<ValueType = string | number, ItemDataType = Recor
59
61
  /** Set the option value for the expand node with controlled*/
60
62
  expandItemValues?: any[];
61
63
  /** Callback function for data change */
62
- onExpand?: (expandItemValues: ItemDataType[], activeNode: ItemDataType, concat: (data: ItemDataType[], children: React.ReactNode) => ItemDataType[]) => void;
64
+ onExpand?: (expandItemValues: ItemDataType[], activeNode: ItemDataType, concat: (data: ItemDataType[], children: ItemDataType[]) => ItemDataType[]) => void;
63
65
  /** Callback function after selecting tree node */
64
66
  onSelect?: (activeNode: ItemDataType, value: ValueType, event: React.SyntheticEvent) => void;
65
67
  /** Custom Render tree Node */
@@ -7,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
 
@@ -27,9 +27,9 @@ var _reactToString = _interopRequireDefault(require("../utils/reactToString"));
27
27
 
28
28
  var _utils = require("../utils");
29
29
 
30
- var TreeNode = /*#__PURE__*/(0, _react.forwardRef)(function (_ref, ref) {
31
- var _extends2;
30
+ var _treeUtils = require("../utils/treeUtils");
32
31
 
32
+ var TreeNode = /*#__PURE__*/(0, _react.forwardRef)(function (_ref, ref) {
33
33
  var _ref$as = _ref.as,
34
34
  Component = _ref$as === void 0 ? 'div' : _ref$as,
35
35
  rtl = _ref.rtl,
@@ -194,11 +194,9 @@ var TreeNode = /*#__PURE__*/(0, _react.forwardRef)(function (_ref, ref) {
194
194
  active: active,
195
195
  'text-muted': disabled,
196
196
  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)({
197
+ }));
198
+ var styles = (0, _extends2.default)({}, style, (0, _treeUtils.getTreeNodeIndent)(rtl, layer - 1));
199
+ return visible ? /*#__PURE__*/_react.default.createElement(Component, (0, _extends2.default)({
202
200
  role: "treeitem"
203
201
  }, rest, {
204
202
  "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,
@@ -111,13 +113,13 @@ var TreePicker = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
111
113
  renderMenu = props.renderMenu,
112
114
  renderValue = props.renderValue,
113
115
  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)();
116
+ 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", "renderDragNode"]);
117
+ var triggerRef = (0, _react.useRef)(null);
118
+ var targetRef = (0, _react.useRef)(null);
119
+ var listRef = (0, _react.useRef)(null);
120
+ var overlayRef = (0, _react.useRef)(null);
121
+ var searchInputRef = (0, _react.useRef)(null);
122
+ var treeViewRef = (0, _react.useRef)(null);
121
123
 
122
124
  var _useCustom = (0, _utils.useCustom)('Picker', overrideLocale),
123
125
  rtl = _useCustom.rtl,
@@ -209,21 +211,17 @@ var TreePicker = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
209
211
 
210
212
  var activeNode = (0, _treeUtils.getTreeActiveNode)(flattenNodes, value, valueKey);
211
213
  var getFormattedNodes = (0, _react.useCallback)(function (render) {
212
- var formattedNodes = [];
213
-
214
214
  if (virtualized) {
215
- formattedNodes = formatVirtualizedTreeData(flattenNodes, filteredData, expandItemValues, {
215
+ return formatVirtualizedTreeData(flattenNodes, filteredData, expandItemValues, {
216
216
  searchKeyword: searchKeywordState
217
217
  }).filter(function (n) {
218
218
  return n.visible;
219
219
  });
220
- } else {
221
- formattedNodes = filteredData.map(function (dataItem, index) {
222
- return render === null || render === void 0 ? void 0 : render(dataItem, index, 1);
223
- });
224
220
  }
225
221
 
226
- return formattedNodes;
222
+ return filteredData.map(function (dataItem, index) {
223
+ return render === null || render === void 0 ? void 0 : render(dataItem, index, 1);
224
+ });
227
225
  }, [searchKeywordState, expandItemValues, filteredData, flattenNodes, formatVirtualizedTreeData, virtualized]);
228
226
  var focusActiveNode = (0, _react.useCallback)(function () {
229
227
  (0, _treeUtils.focusToActiveTreeNode)({
@@ -437,10 +435,13 @@ var TreePicker = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
437
435
  (_targetRef$current2 = targetRef.current) === null || _targetRef$current2 === void 0 ? void 0 : _targetRef$current2.focus();
438
436
  }, [activeNode, setSearchKeyword, valueKey]);
439
437
  (0, _Picker.usePublicMethods)(ref, {
438
+ rootRef: inline ? treeViewRef : undefined,
440
439
  triggerRef: triggerRef,
441
440
  overlayRef: overlayRef,
442
- targetRef: targetRef
443
- }, inline);
441
+ targetRef: targetRef,
442
+ listRef: listRef,
443
+ inline: inline
444
+ });
444
445
  var handleFocusItem = (0, _react.useCallback)(function (key) {
445
446
  var focusableItems = (0, _treeUtils.getFocusableItems)(filteredData, {
446
447
  disabledItemValues: disabledItemValues,
@@ -470,11 +471,13 @@ var TreePicker = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
470
471
  }
471
472
  }, [searchKeywordState, expandItemValues, filteredData, focusItemValue, treeNodesRefs, treePrefix, valueKey, childrenKey, disabledItemValues]);
472
473
  var handleLeftArrow = (0, _react.useCallback)(function () {
474
+ if ((0, _isNil2.default)(focusItemValue)) return;
473
475
  var focusItem = (0, _treeUtils.getActiveItem)(focusItemValue, flattenNodes, valueKey);
474
476
  (0, _treeUtils.leftArrowHandler)({
475
477
  focusItem: focusItem,
476
478
  expand: expandItemValues.includes(focusItem === null || focusItem === void 0 ? void 0 : focusItem[valueKey]),
477
479
  onExpand: handleExpand,
480
+ childrenKey: childrenKey,
478
481
  onFocusItem: function onFocusItem() {
479
482
  var _focusItem$parent, _focusItem$parent2;
480
483
 
@@ -482,8 +485,9 @@ var TreePicker = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
482
485
  (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'));
483
486
  }
484
487
  });
485
- }, [expandItemValues, flattenNodes, focusItemValue, handleExpand, treeNodesRefs, treePrefix, valueKey]);
488
+ }, [expandItemValues, flattenNodes, focusItemValue, handleExpand, treeNodesRefs, treePrefix, valueKey, childrenKey]);
486
489
  var handleRightArrow = (0, _react.useCallback)(function () {
490
+ if ((0, _isNil2.default)(focusItemValue)) return;
487
491
  var focusItem = (0, _treeUtils.getActiveItem)(focusItemValue, flattenNodes, valueKey);
488
492
  (0, _treeUtils.rightArrowHandler)({
489
493
  focusItem: focusItem,
@@ -496,10 +500,12 @@ var TreePicker = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
496
500
  });
497
501
  }, [focusItemValue, flattenNodes, valueKey, expandItemValues, childrenKey, handleExpand, handleFocusItem]);
498
502
  var selectActiveItem = (0, _react.useCallback)(function (event) {
503
+ if ((0, _isNil2.default)(focusItemValue)) return;
499
504
  var activeItem = (0, _treeUtils.getActiveItem)(focusItemValue, flattenNodes, valueKey);
500
505
  handleSelect(activeItem, event);
501
506
  }, [flattenNodes, valueKey, focusItemValue, handleSelect]);
502
507
  var handleClean = (0, _react.useCallback)(function (event) {
508
+ var nullValue = null;
503
509
  var target = event.target; // exclude searchBar
504
510
 
505
511
  if (target.matches('div[role="searchbox"] > input')) {
@@ -507,7 +513,7 @@ var TreePicker = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
507
513
  }
508
514
 
509
515
  setValue(null);
510
- onChange === null || onChange === void 0 ? void 0 : onChange(null, event);
516
+ onChange === null || onChange === void 0 ? void 0 : onChange(nullValue, event);
511
517
  }, [onChange, setValue]);
512
518
  var onPickerKeydown = (0, _Picker.useToggleKeyDownEvent)((0, _extends2.default)({
513
519
  toggle: !activeNode || !active,
@@ -577,18 +583,21 @@ var TreePicker = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
577
583
  key: node[valueKey]
578
584
  }, /*#__PURE__*/_react.default.createElement(_TreeNode.default, (0, _extends2.default)({}, nodeProps, {
579
585
  ref: function ref(_ref) {
580
- return saveTreeNodeRef(node.refKey, _ref);
586
+ return saveTreeNodeRef(_ref, node.refKey);
581
587
  }
582
588
  })), /*#__PURE__*/_react.default.createElement("div", {
583
589
  className: treePrefix('children')
584
590
  }, nodes.map(function (child, i) {
585
591
  return renderNode(child, i, layer);
592
+ }), showIndentLine && /*#__PURE__*/_react.default.createElement("span", {
593
+ className: treePrefix('indent-line'),
594
+ style: (0, _treeUtils.getTreeNodeIndent)(rtl, layer - 1, true)
586
595
  })));
587
596
  }
588
597
 
589
598
  return /*#__PURE__*/_react.default.createElement(_TreeNode.default, (0, _extends2.default)({
590
599
  ref: function ref(_ref2) {
591
- return saveTreeNodeRef(node.refKey, _ref2);
600
+ return saveTreeNodeRef(_ref2, node.refKey);
592
601
  },
593
602
  key: node[valueKey]
594
603
  }, nodeProps));
@@ -616,7 +625,7 @@ var TreePicker = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
616
625
  });
617
626
  return visible && /*#__PURE__*/_react.default.createElement(_TreeNode.default, (0, _extends2.default)({
618
627
  ref: function ref(_ref4) {
619
- return saveTreeNodeRef(node.refKey, _ref4);
628
+ return saveTreeNodeRef(_ref4, node.refKey);
620
629
  },
621
630
  key: key
622
631
  }, nodeProps));
@@ -624,7 +633,7 @@ var TreePicker = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
624
633
  };
625
634
 
626
635
  var renderDefaultDragNode = function renderDefaultDragNode() {
627
- if (draggable) {
636
+ if (draggable && !(0, _isNil2.default)(dragNode)) {
628
637
  var dragNodeContent = dragNode === null || dragNode === void 0 ? void 0 : dragNode[labelKey];
629
638
 
630
639
  if ((0, _isFunction2.default)(renderDragNode)) {
@@ -650,7 +659,7 @@ var TreePicker = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
650
659
  return /*#__PURE__*/_react.default.createElement("div", {
651
660
  role: "tree",
652
661
  id: id ? id + "-listbox" : undefined,
653
- ref: inline ? (0, _utils.mergeRefs)(treeViewRef, ref) : treeViewRef,
662
+ ref: treeViewRef,
654
663
  className: classes,
655
664
  style: styles,
656
665
  onKeyDown: inline ? handleTreeKeyDown : undefined
@@ -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,