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
@@ -31,7 +31,7 @@ export interface PaginationProps extends WithAsProps {
31
31
  /** A pagination can have different sizes */
32
32
  size?: TypeAttributes.Size;
33
33
  /** callback function for pagination clicked */
34
- onSelect?: (eventKey: number, event: React.MouseEvent) => void;
34
+ onSelect?: (eventKey: string | number, event: React.MouseEvent) => void;
35
35
  }
36
36
  declare const Pagination: RsRefForwardingComponent<'div', PaginationProps>;
37
37
  export default Pagination;
@@ -1,8 +1,8 @@
1
1
  import React from 'react';
2
2
  import { WithAsProps, RsRefForwardingComponent } from '../@types/common';
3
- export interface PaginationButtonProps extends WithAsProps, Omit<React.HTMLAttributes<HTMLUListElement>, 'onSelect'> {
3
+ export interface PaginationButtonProps<T = number | string> extends WithAsProps, Omit<React.ButtonHTMLAttributes<HTMLButtonElement>, 'onSelect'> {
4
4
  /** The value of the current option */
5
- eventKey?: number | string;
5
+ eventKey: T;
6
6
  /** Called when the button is clicked. */
7
7
  onClick?: React.MouseEventHandler;
8
8
  /** A button can show it is currently unable to be interacted with */
@@ -12,7 +12,7 @@ export interface PaginationButtonProps extends WithAsProps, Omit<React.HTMLAttri
12
12
  /** Primary content */
13
13
  children?: React.ReactNode;
14
14
  /** Select the callback function for the current option */
15
- onSelect?: (eventKey: number | string, event: React.MouseEvent) => void;
15
+ onSelect?: (eventKey: T, event: React.MouseEvent) => void;
16
16
  }
17
17
  declare const PaginationButton: RsRefForwardingComponent<'button', PaginationButtonProps>;
18
18
  export default PaginationButton;
@@ -17,7 +17,7 @@ var LimitPicker = function LimitPicker(props) {
17
17
  onChangeLimit = props.onChangeLimit,
18
18
  size = props.size,
19
19
  prefix = props.prefix;
20
- var disabledPicker = typeof disabled === 'function' ? disabled('picker') : disabled;
20
+ var disabledPicker = typeof disabled === 'function' ? disabled('picker') : Boolean(disabled);
21
21
  var formatlimitOptions = limitOptions.map(function (item) {
22
22
  return {
23
23
  value: item,
@@ -33,7 +33,8 @@ var LimitPicker = function LimitPicker(props) {
33
33
  placement: "topStart",
34
34
  data: formatlimitOptions,
35
35
  value: limit,
36
- onChange: onChangeLimit,
36
+ onChange: onChangeLimit // fixme don't use any
37
+ ,
37
38
  menuStyle: {
38
39
  minWidth: 'auto'
39
40
  },
@@ -134,7 +135,8 @@ var PaginationGroup = /*#__PURE__*/React.forwardRef(function (props, ref) {
134
135
  maxButtons: maxButtons,
135
136
  pages: pages,
136
137
  disabled: disabled,
137
- onSelect: onChangePage,
138
+ onSelect: onChangePage // fixme don't use any
139
+ ,
138
140
  activePage: activePage
139
141
  }, rest));
140
142
  } else if (key === 'total') {
@@ -24,7 +24,7 @@ export interface PanelProps<T = string | number> extends WithAsProps, AnimationE
24
24
  /** Role of Panel */
25
25
  panelRole?: string;
26
26
  /** callback function for the panel clicked */
27
- onSelect?: (eventKey: T, event: React.SyntheticEvent) => void;
27
+ onSelect?: (eventKey: T | undefined, event: React.SyntheticEvent) => void;
28
28
  }
29
29
  declare const Panel: RsRefForwardingComponent<'div', PanelProps>;
30
30
  export default Panel;
@@ -110,7 +110,7 @@ var Panel = /*#__PURE__*/React.forwardRef(function (props, ref) {
110
110
  className: prefix('title'),
111
111
  role: "presentation"
112
112
  }, /*#__PURE__*/React.createElement("span", {
113
- className: expanded ? null : 'collapsed'
113
+ className: expanded ? undefined : 'collapsed'
114
114
  }, header))) : header;
115
115
  } else {
116
116
  var _className = merge(prefix('title'), get(header, 'props.className'));
@@ -122,7 +122,7 @@ var Panel = /*#__PURE__*/React.forwardRef(function (props, ref) {
122
122
 
123
123
  return /*#__PURE__*/React.createElement("div", {
124
124
  role: headerRole,
125
- "aria-controls": collapsible && id ? "" + id : null,
125
+ "aria-controls": collapsible && id ? "" + id : undefined,
126
126
  "aria-expanded": expanded,
127
127
  className: prefix('header'),
128
128
  onClick: collapsible ? handleSelect : undefined,
@@ -13,12 +13,12 @@ export interface PanelGroupProps<T = KeyType> extends WithAsProps {
13
13
  /** Primary content */
14
14
  children?: React.ReactNode;
15
15
  /** Toggles the callback function for the expand panel */
16
- onSelect?: (eventKey: T, event: React.SyntheticEvent) => void;
16
+ onSelect?: (eventKey: T | undefined, event: React.SyntheticEvent) => void;
17
17
  }
18
18
  interface PanelGroupContext {
19
19
  accordion?: boolean;
20
20
  activeKey?: KeyType;
21
- onGroupSelect?: (activeKey: KeyType, event: React.MouseEvent) => void;
21
+ onGroupSelect?: (activeKey: KeyType | undefined, event: React.MouseEvent) => void;
22
22
  }
23
23
  export declare const PanelGroupContext: React.Context<PanelGroupContext>;
24
24
  declare const PanelGroup: React.ForwardRefExoticComponent<PanelGroupProps<KeyType> & React.RefAttributes<unknown>>;
@@ -1,6 +1,6 @@
1
1
  import _extends from "@babel/runtime/helpers/esm/extends";
2
2
  import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
3
- import React, { useCallback } from 'react';
3
+ import React, { useCallback, useMemo } from 'react';
4
4
  import PropTypes from 'prop-types';
5
5
  import { useClassNames, useControlled } from '../utils';
6
6
  export var PanelGroupContext = /*#__PURE__*/React.createContext({});
@@ -34,16 +34,19 @@ var PanelGroup = /*#__PURE__*/React.forwardRef(function (props, ref) {
34
34
  setActiveKey(activeKey);
35
35
  onSelect === null || onSelect === void 0 ? void 0 : onSelect(activeKey, event);
36
36
  }, [onSelect, setActiveKey]);
37
+ var contextValue = useMemo(function () {
38
+ return {
39
+ accordion: accordion,
40
+ activeKey: activeKey,
41
+ onGroupSelect: handleSelect
42
+ };
43
+ }, [accordion, activeKey, handleSelect]);
37
44
  return /*#__PURE__*/React.createElement(Component, _extends({}, rest, {
38
45
  ref: ref,
39
46
  role: accordion ? 'tablist' : undefined,
40
47
  className: classes
41
48
  }), /*#__PURE__*/React.createElement(PanelGroupContext.Provider, {
42
- value: {
43
- accordion: accordion,
44
- activeKey: activeKey,
45
- onGroupSelect: handleSelect
46
- }
49
+ value: contextValue
47
50
  }, children));
48
51
  });
49
52
  PanelGroup.displayName = 'PanelGroup';
@@ -2,7 +2,7 @@ import React from 'react';
2
2
  import PropTypes from 'prop-types';
3
3
  import { ListProps } from './VirtualizedList';
4
4
  import { StandardProps, ItemDataType } from '../@types/common';
5
- export interface DropdownMenuProps extends StandardProps, Omit<React.HTMLAttributes<HTMLDivElement>, 'onSelect'> {
5
+ export interface DropdownMenuProps<Multiple = false> extends StandardProps, Omit<React.HTMLAttributes<HTMLDivElement>, 'onSelect'> {
6
6
  classPrefix: string;
7
7
  data?: ItemDataType[];
8
8
  group?: boolean;
@@ -23,14 +23,17 @@ export interface DropdownMenuProps extends StandardProps, Omit<React.HTMLAttribu
23
23
  /** Custom selected option */
24
24
  renderMenuItem?: (itemLabel: React.ReactNode, item: any) => React.ReactNode;
25
25
  renderMenuGroup?: (title: React.ReactNode, item: any) => React.ReactNode;
26
- onSelect?: (value: any, item: any, event: React.MouseEvent, checked?: boolean) => void;
26
+ onSelect?: Multiple extends true ? (value: any, item: any, event: React.MouseEvent, checked: boolean) => void : Multiple extends false ? (value: any, item: any, event: React.MouseEvent) => void : any;
27
27
  onGroupTitleClick?: (event: React.MouseEvent) => void;
28
28
  }
29
- declare const DropdownMenu: React.ForwardRefExoticComponent<DropdownMenuProps & React.RefAttributes<HTMLDivElement>>;
29
+ export declare type DropdownMenuComponent = React.ForwardRefExoticComponent<DropdownMenuProps> & {
30
+ <Multiple = false>(props: DropdownMenuProps<Multiple>): React.ReactElement | null;
31
+ };
32
+ declare const DropdownMenu: DropdownMenuComponent;
30
33
  export declare const dropdownMenuPropTypes: {
31
- classPrefix: PropTypes.Requireable<string>;
34
+ classPrefix: PropTypes.Validator<string>;
32
35
  className: PropTypes.Requireable<string>;
33
- dropdownMenuItemAs: PropTypes.Requireable<PropTypes.ReactComponentLike>;
36
+ dropdownMenuItemAs: PropTypes.Validator<PropTypes.ReactComponentLike>;
34
37
  dropdownMenuItemClassPrefix: PropTypes.Requireable<string>;
35
38
  data: PropTypes.Requireable<any[]>;
36
39
  group: PropTypes.Requireable<boolean>;
@@ -64,7 +64,7 @@ var DropdownMenu = /*#__PURE__*/React.forwardRef(function (props, ref) {
64
64
  maxHeight: maxHeight
65
65
  });
66
66
 
67
- var menuBodyContainerRef = useRef();
67
+ var menuBodyContainerRef = useRef(null);
68
68
 
69
69
  var _useState = useState([]),
70
70
  foldedGroupKeys = _useState[0],
@@ -186,7 +186,7 @@ var DropdownMenu = /*#__PURE__*/React.forwardRef(function (props, ref) {
186
186
 
187
187
  var useVirtualized = virtualized && rowCount * rowHeight > maxHeight;
188
188
  return /*#__PURE__*/React.createElement("div", _extends({
189
- role: !useVirtualized ? 'listbox' : null
189
+ role: !useVirtualized ? 'listbox' : undefined
190
190
  }, rest, {
191
191
  className: classes,
192
192
  ref: mergeRefs(menuBodyContainerRef, ref),
@@ -203,7 +203,7 @@ var DropdownMenu = /*#__PURE__*/React.forwardRef(function (props, ref) {
203
203
  return /*#__PURE__*/React.createElement(List, _extends({
204
204
  role: "listbox",
205
205
  containerRole: '',
206
- "aria-readonly": null,
206
+ "aria-readonly": undefined,
207
207
  width: width,
208
208
  height: height || maxHeight,
209
209
  scrollToIndex: findIndex(data, function (item) {
@@ -220,9 +220,9 @@ var DropdownMenu = /*#__PURE__*/React.forwardRef(function (props, ref) {
220
220
  }));
221
221
  });
222
222
  export var dropdownMenuPropTypes = {
223
- classPrefix: PropTypes.string,
223
+ classPrefix: PropTypes.string.isRequired,
224
224
  className: PropTypes.string,
225
- dropdownMenuItemAs: PropTypes.elementType,
225
+ dropdownMenuItemAs: PropTypes.elementType.isRequired,
226
226
  dropdownMenuItemClassPrefix: PropTypes.string,
227
227
  data: PropTypes.array,
228
228
  group: PropTypes.bool,
@@ -14,11 +14,12 @@ var PickerOverlay = /*#__PURE__*/React.forwardRef(function (props, ref) {
14
14
  classPrefix = _props$classPrefix === void 0 ? 'picker-menu' : _props$classPrefix,
15
15
  autoWidth = props.autoWidth,
16
16
  className = props.className,
17
- placement = props.placement,
17
+ _props$placement = props.placement,
18
+ placement = _props$placement === void 0 ? 'bottomStart' : _props$placement,
18
19
  target = props.target,
19
20
  rest = _objectWithoutPropertiesLoose(props, ["as", "classPrefix", "autoWidth", "className", "placement", "target"]);
20
21
 
21
- var overlayRef = useRef();
22
+ var overlayRef = useRef(null);
22
23
  var handleResize = useCallback(function () {
23
24
  var instance = target === null || target === void 0 ? void 0 : target.current;
24
25
 
@@ -32,7 +33,7 @@ var PickerOverlay = /*#__PURE__*/React.forwardRef(function (props, ref) {
32
33
  useEffect(function () {
33
34
  var toggle = target === null || target === void 0 ? void 0 : target.current;
34
35
 
35
- if (autoWidth && toggle.root) {
36
+ if (autoWidth && toggle !== null && toggle !== void 0 && toggle.root) {
36
37
  // Get the width value of the button,
37
38
  // and then set it to the menu to make their width consistent.
38
39
  var width = getWidth(getDOMNode(toggle.root));
@@ -46,13 +46,14 @@ var PickerToggle = /*#__PURE__*/React.forwardRef(function (props, ref) {
46
46
  onClean = props.onClean,
47
47
  onFocus = props.onFocus,
48
48
  onBlur = props.onBlur,
49
- placement = props.placement,
49
+ _props$placement = props.placement,
50
+ placement = _props$placement === void 0 ? 'bottomStart' : _props$placement,
50
51
  caretComponent = props.caretComponent,
51
52
  _props$caretAs = props.caretAs,
52
53
  caretAs = _props$caretAs === void 0 ? caretComponent : _props$caretAs,
53
54
  rest = _objectWithoutPropertiesLoose(props, ["active", "as", "classPrefix", "children", "caret", "className", "disabled", "readOnly", "plaintext", "hasValue", "cleanable", "tabIndex", "id", "value", "input", "inputPlaceholder", "inputValue", "inputMask", "onInputChange", "onInputPressEnter", "onInputBlur", "onInputFocus", "onClean", "onFocus", "onBlur", "placement", "caretComponent", "caretAs"]);
54
55
 
55
- var inputRef = useRef();
56
+ var inputRef = useRef(null);
56
57
 
57
58
  var _useState = useState(false),
58
59
  activeState = _useState[0],
@@ -172,7 +173,7 @@ var PickerToggle = /*#__PURE__*/React.forwardRef(function (props, ref) {
172
173
  }
173
174
  }), children ? /*#__PURE__*/React.createElement("span", {
174
175
  className: prefix(hasValue ? 'value' : 'placeholder'),
175
- "aria-placeholder": typeof children === 'string' ? children : null
176
+ "aria-placeholder": typeof children === 'string' ? children : undefined
176
177
  }, children) : null, showCleanButton && /*#__PURE__*/React.createElement(CloseButton, {
177
178
  className: prefix(_templateObject || (_templateObject = _taggedTemplateLiteralLoose(["clean"]))),
178
179
  tabIndex: -1,
@@ -1,19 +1,15 @@
1
1
  import React from 'react';
2
2
  import { OverlayTriggerInstance, OverlayTriggerType } from '../Overlay/OverlayTrigger';
3
3
  import { PositionChildProps } from '../Overlay/Position';
4
- import { TypeAttributes } from '../@types/common';
4
+ import { TypeAttributes, AnimationEventProps } from '../@types/common';
5
5
  export type { OverlayTriggerInstance, PositionChildProps };
6
- export interface PickerToggleTriggerProps {
6
+ export interface PickerToggleTriggerProps extends Omit<AnimationEventProps, 'onEntering' | 'onExiting'> {
7
7
  placement?: TypeAttributes.Placement;
8
8
  pickerProps: any;
9
9
  open?: boolean;
10
10
  trigger?: OverlayTriggerType | OverlayTriggerType[];
11
11
  children: React.ReactElement | ((props: any, ref: any) => React.ReactElement);
12
12
  speaker: React.ReactElement | ((props: any, ref: React.RefObject<any>) => React.ReactElement);
13
- onEnter?: (node: null | Element | Text) => void;
14
- onEntered?: (node: null | Element | Text) => void;
15
- onExit?: (node: null | Element | Text) => void;
16
- onExited?: (node: null | Element | Text) => void;
17
13
  }
18
14
  export declare const omitTriggerPropKeys: string[];
19
15
  export declare const pickTriggerPropKeys: string[];
@@ -5,7 +5,7 @@ export interface SearchBarProps extends WithAsProps {
5
5
  placeholder?: string;
6
6
  className?: string;
7
7
  inputRef?: React.Ref<HTMLInputElement>;
8
- onChange?: (value: string, event: React.SyntheticEvent) => void;
8
+ onChange?: (value: string, event: React.ChangeEvent<HTMLInputElement>) => void;
9
9
  }
10
10
  declare const SearchBar: RsRefForwardingComponent<'div', SearchBarProps>;
11
11
  export default SearchBar;
@@ -6,7 +6,8 @@ var SelectedElement = function SelectedElement(props) {
6
6
  prefix = props.prefix,
7
7
  valueKey = props.valueKey,
8
8
  labelKey = props.labelKey,
9
- childrenKey = props.childrenKey,
9
+ _props$childrenKey = props.childrenKey,
10
+ childrenKey = _props$childrenKey === void 0 ? 'children' : _props$childrenKey,
10
11
  countable = props.countable,
11
12
  cascade = props.cascade,
12
13
  locale = props.locale;
@@ -9,11 +9,10 @@ export declare const pickerPropTypes: {
9
9
  containerPadding: PropTypes.Requireable<number>;
10
10
  container: PropTypes.Requireable<any>;
11
11
  disabled: PropTypes.Requireable<boolean>;
12
- toggleAs: PropTypes.Requireable<PropTypes.ReactComponentLike>;
13
12
  menuClassName: PropTypes.Requireable<string>;
14
13
  menuStyle: PropTypes.Requireable<object>;
15
14
  placeholder: PropTypes.Requireable<PropTypes.ReactNodeLike>;
16
- placement: PropTypes.Requireable<any>;
15
+ placement: PropTypes.Requireable<"top" | "bottom" | "right" | "left" | "bottomStart" | "bottomEnd" | "topStart" | "topEnd" | "leftStart" | "rightStart" | "leftEnd" | "rightEnd" | "auto" | "autoVertical" | "autoVerticalStart" | "autoVerticalEnd" | "autoHorizontal" | "autoHorizontalStart" | "autoHorizontalEnd">;
17
16
  /**
18
17
  * Prevent floating element overflow
19
18
  */
@@ -26,7 +25,7 @@ export declare const pickerPropTypes: {
26
25
  onOpen: PropTypes.Requireable<(...args: any[]) => any>;
27
26
  onClose: PropTypes.Requireable<(...args: any[]) => any>;
28
27
  onClean: PropTypes.Requireable<(...args: any[]) => any>;
29
- listProps: PropTypes.Requireable<object>;
28
+ listProps: PropTypes.Requireable<any>;
30
29
  onEnter: PropTypes.Requireable<(...args: any[]) => any>;
31
30
  onEntering: PropTypes.Requireable<(...args: any[]) => any>;
32
31
  onEntered: PropTypes.Requireable<(...args: any[]) => any>;
@@ -35,7 +34,7 @@ export declare const pickerPropTypes: {
35
34
  onExited: PropTypes.Requireable<(...args: any[]) => any>;
36
35
  };
37
36
  export declare const listPickerPropTypes: {
38
- data: PropTypes.Requireable<any[]>;
37
+ data: PropTypes.Validator<any[]>;
39
38
  valueKey: PropTypes.Requireable<string>;
40
39
  labelKey: PropTypes.Requireable<string>;
41
40
  childrenKey: PropTypes.Requireable<string>;
@@ -52,11 +51,10 @@ export declare const listPickerPropTypes: {
52
51
  containerPadding: PropTypes.Requireable<number>;
53
52
  container: PropTypes.Requireable<any>;
54
53
  disabled: PropTypes.Requireable<boolean>;
55
- toggleAs: PropTypes.Requireable<PropTypes.ReactComponentLike>;
56
54
  menuClassName: PropTypes.Requireable<string>;
57
55
  menuStyle: PropTypes.Requireable<object>;
58
56
  placeholder: PropTypes.Requireable<PropTypes.ReactNodeLike>;
59
- placement: PropTypes.Requireable<any>;
57
+ placement: PropTypes.Requireable<"top" | "bottom" | "right" | "left" | "bottomStart" | "bottomEnd" | "topStart" | "topEnd" | "leftStart" | "rightStart" | "leftEnd" | "rightEnd" | "auto" | "autoVertical" | "autoVerticalStart" | "autoVerticalEnd" | "autoHorizontal" | "autoHorizontalStart" | "autoHorizontalEnd">;
60
58
  /**
61
59
  * Prevent floating element overflow
62
60
  */
@@ -69,7 +67,7 @@ export declare const listPickerPropTypes: {
69
67
  onOpen: PropTypes.Requireable<(...args: any[]) => any>;
70
68
  onClose: PropTypes.Requireable<(...args: any[]) => any>;
71
69
  onClean: PropTypes.Requireable<(...args: any[]) => any>;
72
- listProps: PropTypes.Requireable<object>;
70
+ listProps: PropTypes.Requireable<any>;
73
71
  onEnter: PropTypes.Requireable<(...args: any[]) => any>;
74
72
  onEntering: PropTypes.Requireable<(...args: any[]) => any>;
75
73
  onEntered: PropTypes.Requireable<(...args: any[]) => any>;
@@ -12,7 +12,8 @@ export var pickerPropTypes = _extends({}, animationPropTypes, {
12
12
  containerPadding: PropTypes.number,
13
13
  container: PropTypes.oneOfType([PropTypes.any, PropTypes.func]),
14
14
  disabled: PropTypes.bool,
15
- toggleAs: PropTypes.elementType,
15
+ // PropTypes.elementType conflictin with React.ElementType
16
+ // toggleAs: PropTypes.elementType,
16
17
  menuClassName: PropTypes.string,
17
18
  menuStyle: PropTypes.object,
18
19
  placeholder: PropTypes.node,
@@ -30,10 +31,10 @@ export var pickerPropTypes = _extends({}, animationPropTypes, {
30
31
  onOpen: PropTypes.func,
31
32
  onClose: PropTypes.func,
32
33
  onClean: PropTypes.func,
33
- listProps: PropTypes.object
34
+ listProps: PropTypes.any
34
35
  });
35
36
  export var listPickerPropTypes = _extends({}, pickerPropTypes, {
36
- data: PropTypes.array,
37
+ data: PropTypes.array.isRequired,
37
38
  valueKey: PropTypes.string,
38
39
  labelKey: PropTypes.string,
39
40
  childrenKey: PropTypes.string,
@@ -6,11 +6,11 @@ interface NodeKeys {
6
6
  valueKey: string;
7
7
  childrenKey: string;
8
8
  }
9
- export declare function createConcatChildrenFunction(node: any, nodeValue?: any, nodeKeys?: NodeKeys): (data: any[], children: any[]) => any[];
9
+ export declare function createConcatChildrenFunction<T = any>(node: any, nodeValue?: any, nodeKeys?: NodeKeys): (data: T[], children: T[]) => T[];
10
10
  export declare function shouldDisplay(label: React.ReactNode, searchKeyword: string): boolean;
11
11
  interface PickerClassNameProps {
12
12
  name?: string;
13
- classPrefix?: string;
13
+ classPrefix: string;
14
14
  className?: string;
15
15
  placement?: TypeAttributes.Placement;
16
16
  appearance?: 'default' | 'subtle';
@@ -43,7 +43,7 @@ interface EventsProps {
43
43
  */
44
44
  export declare function onMenuKeyDown(event: React.KeyboardEvent, events: EventsProps): void;
45
45
  interface FocusItemValueProps {
46
- target: HTMLElement | (() => HTMLElement);
46
+ target: HTMLElement | null | (() => HTMLElement | null);
47
47
  data?: any[];
48
48
  valueKey?: string;
49
49
  focusableQueryKey?: string;
@@ -56,9 +56,9 @@ interface FocusItemValueProps {
56
56
  * @param defaultFocusItemValue
57
57
  * @param props
58
58
  */
59
- export declare const useFocusItemValue: (defaultFocusItemValue: number | string | readonly string[], props: FocusItemValueProps) => {
60
- focusItemValue: any;
61
- setFocusItemValue: React.Dispatch<any>;
59
+ export declare const useFocusItemValue: <T>(defaultFocusItemValue: T | null | undefined, props: FocusItemValueProps) => {
60
+ focusItemValue: T | null | undefined;
61
+ setFocusItemValue: React.Dispatch<React.SetStateAction<T | null | undefined>>;
62
62
  layer: number;
63
63
  setLayer: React.Dispatch<React.SetStateAction<number>>;
64
64
  keys: any[];
@@ -67,7 +67,7 @@ export declare const useFocusItemValue: (defaultFocusItemValue: number | string
67
67
  };
68
68
  interface ToggleKeyDownEventProps {
69
69
  toggle?: boolean;
70
- triggerRef?: React.RefObject<any>;
70
+ triggerRef: React.RefObject<any>;
71
71
  targetRef: React.RefObject<any>;
72
72
  overlayRef?: React.RefObject<any>;
73
73
  searchInputRef?: React.RefObject<any>;
@@ -89,7 +89,7 @@ export declare const useToggleKeyDownEvent: (props: ToggleKeyDownEventProps) =>
89
89
  interface SearchProps {
90
90
  labelKey: string;
91
91
  data: ItemDataType[];
92
- searchBy: (keyword: any, label: any, item: any) => boolean;
92
+ searchBy?: (keyword: any, label: any, item: any) => boolean;
93
93
  callback?: (keyword: string, data: ItemDataType[], event: React.SyntheticEvent) => void;
94
94
  }
95
95
  /**
@@ -98,15 +98,15 @@ interface SearchProps {
98
98
  */
99
99
  export declare function useSearch(props: SearchProps): {
100
100
  searchKeyword: string;
101
- filteredData: any[];
101
+ filteredData: import("../CheckTreePicker/utils").TreeNodeType[];
102
102
  updateFilteredData: (nextData: ItemDataType[]) => void;
103
103
  setSearchKeyword: React.Dispatch<React.SetStateAction<string>>;
104
- checkShouldDisplay: (item: ItemDataType, keyword?: string) => boolean;
104
+ checkShouldDisplay: (item: ItemDataType, keyword?: string | undefined) => boolean;
105
105
  handleSearch: (searchKeyword: string, event: React.SyntheticEvent) => void;
106
106
  };
107
107
  interface PickerDependentParameters {
108
108
  triggerRef?: React.RefObject<OverlayTriggerInstance>;
109
- rootRef?: React.RefObject<any>;
109
+ rootRef?: React.RefObject<HTMLElement>;
110
110
  overlayRef?: React.RefObject<HTMLElement>;
111
111
  targetRef?: React.RefObject<HTMLElement>;
112
112
  listRef?: React.RefObject<ListInstance>;
@@ -2,6 +2,7 @@ import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWith
2
2
  import React, { useState, useImperativeHandle, useCallback } from 'react';
3
3
  import kebabCase from 'lodash/kebabCase';
4
4
  import trim from 'lodash/trim';
5
+ import isNil from 'lodash/isNil';
5
6
  import isFunction from 'lodash/isFunction';
6
7
  import isUndefined from 'lodash/isUndefined';
7
8
  import omit from 'lodash/omit';
@@ -176,13 +177,11 @@ export var useFocusItemValue = function useFocusItemValue(defaultFocusItemValue,
176
177
  var menu = isFunction(target) ? target() : target;
177
178
  var currentKeys = keys;
178
179
 
179
- if (currentKeys.length === 0) {
180
- var _Array$from;
181
-
182
- currentKeys = (_Array$from = Array.from(menu === null || menu === void 0 ? void 0 : menu.querySelectorAll(focusableQueryKey))) === null || _Array$from === void 0 ? void 0 : _Array$from.map(function (item) {
180
+ if (currentKeys.length === 0 && !isNil(menu)) {
181
+ currentKeys = Array.from(menu.querySelectorAll(focusableQueryKey)).map(function (item) {
183
182
  var _item$dataset;
184
183
 
185
- return item === null || item === void 0 ? void 0 : (_item$dataset = item.dataset) === null || _item$dataset === void 0 ? void 0 : _item$dataset.key;
184
+ return (_item$dataset = item.dataset) === null || _item$dataset === void 0 ? void 0 : _item$dataset.key;
186
185
  });
187
186
  setKeys(currentKeys);
188
187
  }
@@ -244,12 +243,12 @@ export var useFocusItemValue = function useFocusItemValue(defaultFocusItemValue,
244
243
  var subMenu = menu === null || menu === void 0 ? void 0 : menu.querySelector("[data-layer=\"" + nextLayer + "\"]");
245
244
 
246
245
  if (subMenu) {
247
- var _Array$from2;
246
+ var _Array$from;
248
247
 
249
- return (_Array$from2 = Array.from(subMenu.querySelectorAll(focusableQueryKey))) === null || _Array$from2 === void 0 ? void 0 : _Array$from2.map(function (item) {
248
+ return (_Array$from = Array.from(subMenu.querySelectorAll(focusableQueryKey))) === null || _Array$from === void 0 ? void 0 : _Array$from.map(function (item) {
250
249
  var _item$dataset2;
251
250
 
252
- return item === null || item === void 0 ? void 0 : (_item$dataset2 = item.dataset) === null || _item$dataset2 === void 0 ? void 0 : _item$dataset2.key;
251
+ return (_item$dataset2 = item.dataset) === null || _item$dataset2 === void 0 ? void 0 : _item$dataset2.key;
253
252
  });
254
253
  }
255
254
 
@@ -383,7 +382,7 @@ export var useToggleKeyDownEvent = function useToggleKeyDownEvent(props) {
383
382
  if (((_event$target = event.target) === null || _event$target === void 0 ? void 0 : _event$target.tagName) !== 'INPUT') {
384
383
  var _searchInputRef$curre;
385
384
 
386
- (_searchInputRef$curre = searchInputRef.current) === null || _searchInputRef$curre === void 0 ? void 0 : _searchInputRef$curre.focus();
385
+ searchInputRef === null || searchInputRef === void 0 ? void 0 : (_searchInputRef$curre = searchInputRef.current) === null || _searchInputRef$curre === void 0 ? void 0 : _searchInputRef$curre.focus();
387
386
  }
388
387
  }
389
388
  }
@@ -472,26 +471,26 @@ export function usePublicMethods(ref, parmas) {
472
471
  var handleOpen = useCallback(function () {
473
472
  var _triggerRef$current3;
474
473
 
475
- (_triggerRef$current3 = triggerRef.current) === null || _triggerRef$current3 === void 0 ? void 0 : _triggerRef$current3.open();
474
+ triggerRef === null || triggerRef === void 0 ? void 0 : (_triggerRef$current3 = triggerRef.current) === null || _triggerRef$current3 === void 0 ? void 0 : _triggerRef$current3.open();
476
475
  }, [triggerRef]);
477
476
  var handleClose = useCallback(function () {
478
477
  var _triggerRef$current4;
479
478
 
480
- (_triggerRef$current4 = triggerRef.current) === null || _triggerRef$current4 === void 0 ? void 0 : _triggerRef$current4.close();
479
+ triggerRef === null || triggerRef === void 0 ? void 0 : (_triggerRef$current4 = triggerRef.current) === null || _triggerRef$current4 === void 0 ? void 0 : _triggerRef$current4.close();
481
480
  }, [triggerRef]);
482
481
  var handleUpdatePosition = useCallback(function () {
483
482
  var _triggerRef$current5;
484
483
 
485
- (_triggerRef$current5 = triggerRef.current) === null || _triggerRef$current5 === void 0 ? void 0 : _triggerRef$current5.updatePosition();
484
+ triggerRef === null || triggerRef === void 0 ? void 0 : (_triggerRef$current5 = triggerRef.current) === null || _triggerRef$current5 === void 0 ? void 0 : _triggerRef$current5.updatePosition();
486
485
  }, [triggerRef]);
487
486
  useImperativeHandle(ref, function () {
488
487
  // Tree and CheckTree
489
488
  if (inline) {
490
489
  return {
491
490
  get root() {
492
- var _triggerRef$current6;
491
+ var _triggerRef$current$r, _triggerRef$current6;
493
492
 
494
- return rootRef !== null && rootRef !== void 0 && rootRef.current ? rootRef === null || rootRef === void 0 ? void 0 : rootRef.current : (_triggerRef$current6 = triggerRef.current) === null || _triggerRef$current6 === void 0 ? void 0 : _triggerRef$current6.root;
493
+ return rootRef !== null && rootRef !== void 0 && rootRef.current ? rootRef === null || rootRef === void 0 ? void 0 : rootRef.current : (_triggerRef$current$r = triggerRef === null || triggerRef === void 0 ? void 0 : (_triggerRef$current6 = triggerRef.current) === null || _triggerRef$current6 === void 0 ? void 0 : _triggerRef$current6.root) !== null && _triggerRef$current$r !== void 0 ? _triggerRef$current$r : null;
495
494
  },
496
495
 
497
496
  get list() {
@@ -507,17 +506,21 @@ export function usePublicMethods(ref, parmas) {
507
506
 
508
507
  return {
509
508
  get root() {
510
- var _triggerRef$current7;
509
+ var _ref, _triggerRef$current7;
511
510
 
512
- return rootRef !== null && rootRef !== void 0 && rootRef.current ? rootRef === null || rootRef === void 0 ? void 0 : rootRef.current : (_triggerRef$current7 = triggerRef.current) === null || _triggerRef$current7 === void 0 ? void 0 : _triggerRef$current7.root;
511
+ return (_ref = (rootRef === null || rootRef === void 0 ? void 0 : rootRef.current) || (triggerRef === null || triggerRef === void 0 ? void 0 : (_triggerRef$current7 = triggerRef.current) === null || _triggerRef$current7 === void 0 ? void 0 : _triggerRef$current7.root)) !== null && _ref !== void 0 ? _ref : null;
513
512
  },
514
513
 
515
514
  get overlay() {
516
- return overlayRef.current;
515
+ var _overlayRef$current;
516
+
517
+ return (_overlayRef$current = overlayRef === null || overlayRef === void 0 ? void 0 : overlayRef.current) !== null && _overlayRef$current !== void 0 ? _overlayRef$current : null;
517
518
  },
518
519
 
519
520
  get target() {
520
- return targetRef === null || targetRef === void 0 ? void 0 : targetRef.current;
521
+ var _targetRef$current;
522
+
523
+ return (_targetRef$current = targetRef === null || targetRef === void 0 ? void 0 : targetRef.current) !== null && _targetRef$current !== void 0 ? _targetRef$current : null;
521
524
  },
522
525
 
523
526
  get list() {
@@ -49,7 +49,7 @@ var PlaceholderGrid = /*#__PURE__*/React.forwardRef(function (props, ref) {
49
49
  style: {
50
50
  width: widthPercent + "%",
51
51
  height: rowHeight,
52
- marginTop: j > 0 ? rowMargin : null
52
+ marginTop: j > 0 ? rowMargin : undefined
53
53
  }
54
54
  }));
55
55
  }
@@ -16,7 +16,8 @@ var Plaintext = /*#__PURE__*/React.forwardRef(function (props, ref) {
16
16
  classPrefix = _props$classPrefix === void 0 ? 'plaintext' : _props$classPrefix,
17
17
  className = props.className,
18
18
  children = props.children,
19
- localeKey = props.localeKey,
19
+ _props$localeKey = props.localeKey,
20
+ localeKey = _props$localeKey === void 0 ? '' : _props$localeKey,
20
21
  _props$placeholder = props.placeholder,
21
22
  placeholder = _props$placeholder === void 0 ? locale[localeKey] : _props$placeholder,
22
23
  rest = _objectWithoutPropertiesLoose(props, ["as", "classPrefix", "className", "children", "localeKey", "placeholder"]);
@@ -27,7 +27,7 @@ export interface RadioProps<T = ValueType> extends WithAsProps, Omit<React.HTMLA
27
27
  /** Primary content */
28
28
  children?: React.ReactNode;
29
29
  /** Callback function with value changed */
30
- onChange?: (value: T, checked: boolean, event: React.ChangeEvent<HTMLInputElement>) => void;
30
+ onChange?: (value: T | undefined, checked: boolean, event: React.ChangeEvent<HTMLInputElement>) => void;
31
31
  }
32
32
  declare const Radio: React.ForwardRefExoticComponent<RadioProps<ValueType> & React.RefAttributes<unknown>>;
33
33
  export default Radio;
@@ -4,12 +4,12 @@ import { ValueType } from '../Radio';
4
4
  export interface RadioContextProps {
5
5
  inline?: boolean;
6
6
  name?: string;
7
- value?: ValueType;
7
+ value?: ValueType | null;
8
8
  controlled?: boolean;
9
9
  disabled?: boolean;
10
10
  readOnly?: boolean;
11
11
  plaintext?: boolean;
12
- onChange?: (value: ValueType, event: React.ChangeEvent<HTMLInputElement>) => void;
12
+ onChange?: (value: ValueType | undefined, event: React.ChangeEvent<HTMLInputElement>) => void;
13
13
  }
14
14
  export interface RadioGroupProps<T = ValueType> extends WithAsProps, FormControlBaseProps<T> {
15
15
  /** A radio group can have different appearances */
@@ -39,7 +39,7 @@ var RadioGroup = /*#__PURE__*/React.forwardRef(function (props, ref) {
39
39
 
40
40
  var handleChange = useCallback(function (nextValue, event) {
41
41
  setValue(nextValue);
42
- onChange === null || onChange === void 0 ? void 0 : onChange(nextValue, event);
42
+ onChange === null || onChange === void 0 ? void 0 : onChange(nextValue !== null && nextValue !== void 0 ? nextValue : '', event);
43
43
  }, [onChange, setValue]);
44
44
  var contextValue = useMemo(function () {
45
45
  return {
@@ -1,6 +1,6 @@
1
1
  import React from 'react';
2
2
  import { SliderProps } from '../Slider';
3
- export declare type ValueType = number[];
4
- export declare type RangeSliderProps = SliderProps<ValueType>;
3
+ export declare type Range = [number, number];
4
+ export declare type RangeSliderProps = SliderProps<Range>;
5
5
  declare const RangeSlider: React.ForwardRefExoticComponent<RangeSliderProps & React.RefAttributes<unknown>>;
6
6
  export default RangeSlider;