rsuite 5.2.4 → 5.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (433) hide show
  1. package/Avatar/styles/index.less +2 -2
  2. package/AvatarGroup/package.json +7 -0
  3. package/AvatarGroup/styles/index.less +19 -0
  4. package/ButtonGroup/styles/index.less +0 -18
  5. package/CHANGELOG.md +15 -0
  6. package/CheckTreePicker/styles/index.less +14 -1
  7. package/TreePicker/styles/index.less +10 -0
  8. package/cjs/@types/common.d.ts +9 -8
  9. package/cjs/@types/utils.d.ts +12 -0
  10. package/cjs/Affix/Affix.js +5 -5
  11. package/cjs/Animation/Transition.d.ts +21 -12
  12. package/cjs/Animation/Transition.js +4 -1
  13. package/cjs/AutoComplete/AutoComplete.js +1 -1
  14. package/cjs/AutoComplete/utils.d.ts +1 -1
  15. package/cjs/Avatar/Avatar.js +10 -3
  16. package/cjs/AvatarGroup/AvatarGroup.d.ts +15 -0
  17. package/cjs/AvatarGroup/AvatarGroup.js +71 -0
  18. package/cjs/AvatarGroup/index.d.ts +3 -0
  19. package/cjs/AvatarGroup/index.js +11 -0
  20. package/cjs/Breadcrumb/Breadcrumb.js +1 -1
  21. package/cjs/Button/Button.js +8 -2
  22. package/cjs/ButtonGroup/ButtonGroup.js +8 -2
  23. package/cjs/ButtonGroup/ButtonGroupContext.d.ts +7 -0
  24. package/cjs/ButtonGroup/ButtonGroupContext.js +13 -0
  25. package/cjs/ButtonGroup/index.d.ts +2 -0
  26. package/cjs/ButtonGroup/index.js +3 -0
  27. package/cjs/Calendar/Calendar.d.ts +4 -4
  28. package/cjs/Calendar/Calendar.js +5 -2
  29. package/cjs/Calendar/CalendarContext.js +1 -1
  30. package/cjs/Calendar/TableRow.js +1 -1
  31. package/cjs/Calendar/TimeDropdown.js +6 -5
  32. package/cjs/Calendar/types.d.ts +2 -2
  33. package/cjs/Calendar/useCalendarDate.d.ts +2 -2
  34. package/cjs/Carousel/Carousel.d.ts +1 -1
  35. package/cjs/Carousel/Carousel.js +1 -1
  36. package/cjs/Cascader/Cascader.d.ts +1 -1
  37. package/cjs/Cascader/Cascader.js +10 -10
  38. package/cjs/Cascader/DropdownMenu.d.ts +5 -4
  39. package/cjs/Cascader/utils.d.ts +3 -3
  40. package/cjs/CheckPicker/CheckPicker.js +4 -4
  41. package/cjs/CheckTreePicker/CheckTreeNode.d.ts +1 -1
  42. package/cjs/CheckTreePicker/CheckTreeNode.js +7 -9
  43. package/cjs/CheckTreePicker/CheckTreePicker.js +29 -25
  44. package/cjs/CheckTreePicker/utils.d.ts +3 -1
  45. package/cjs/CheckTreePicker/utils.js +12 -10
  46. package/cjs/Checkbox/Checkbox.d.ts +1 -1
  47. package/cjs/CustomProvider/CustomProvider.d.ts +31 -57
  48. package/cjs/DOMHelper/index.d.ts +12 -12
  49. package/cjs/DatePicker/DatePicker.d.ts +1 -1
  50. package/cjs/DatePicker/DatePicker.js +15 -9
  51. package/cjs/DatePicker/Toolbar.d.ts +12 -9
  52. package/cjs/DatePicker/Toolbar.js +6 -8
  53. package/cjs/DatePicker/types.d.ts +4 -4
  54. package/cjs/DatePicker/utils.d.ts +4 -3
  55. package/cjs/DateRangePicker/Calendar.d.ts +8 -7
  56. package/cjs/DateRangePicker/Calendar.js +1 -1
  57. package/cjs/DateRangePicker/DateRangePicker.d.ts +6 -6
  58. package/cjs/DateRangePicker/DateRangePicker.js +105 -108
  59. package/cjs/DateRangePicker/types.d.ts +2 -1
  60. package/cjs/DateRangePicker/utils.d.ts +6 -6
  61. package/cjs/DateRangePicker/utils.js +7 -2
  62. package/cjs/Disclosure/Disclosure.js +4 -2
  63. package/cjs/Disclosure/DisclosureButton.js +9 -7
  64. package/cjs/Disclosure/DisclosureContent.js +4 -6
  65. package/cjs/Disclosure/DisclosureContext.d.ts +2 -2
  66. package/cjs/Disclosure/useDisclosureContext.d.ts +2 -0
  67. package/cjs/Disclosure/useDisclosureContext.js +20 -0
  68. package/cjs/Dropdown/Dropdown.d.ts +1 -1
  69. package/cjs/Dropdown/DropdownContext.d.ts +2 -2
  70. package/cjs/Dropdown/DropdownItem.js +1 -1
  71. package/cjs/Dropdown/DropdownMenu.d.ts +3 -3
  72. package/cjs/Dropdown/DropdownState.d.ts +1 -1
  73. package/cjs/Dropdown/DropdownToggle.js +2 -1
  74. package/cjs/Dropdown/useRenderDropdownItem.d.ts +1 -1
  75. package/cjs/Form/Form.js +1 -1
  76. package/cjs/Form/FormContext.d.ts +1 -1
  77. package/cjs/FormControl/FormControl.d.ts +1 -1
  78. package/cjs/FormControl/FormControl.js +5 -4
  79. package/cjs/FormGroup/FormGroup.d.ts +1 -1
  80. package/cjs/Input/Input.d.ts +3 -2
  81. package/cjs/InputGroup/InputGroup.d.ts +1 -1
  82. package/cjs/InputNumber/InputNumber.js +6 -2
  83. package/cjs/InputPicker/InputAutosize.js +4 -4
  84. package/cjs/InputPicker/InputPicker.d.ts +2 -2
  85. package/cjs/InputPicker/InputPicker.js +15 -10
  86. package/cjs/List/ListContext.d.ts +1 -1
  87. package/cjs/List/ListContext.js +8 -1
  88. package/cjs/List/helper/AutoScroller.js +4 -2
  89. package/cjs/List/helper/useManager.d.ts +3 -3
  90. package/cjs/List/helper/useManager.js +1 -1
  91. package/cjs/List/helper/useSortHelper.d.ts +3 -3
  92. package/cjs/List/helper/useSortHelper.js +6 -4
  93. package/cjs/List/helper/utils.d.ts +2 -2
  94. package/cjs/MaskedInput/TextMask.d.ts +5 -5
  95. package/cjs/MaskedInput/adjustCaretPosition.d.ts +6 -6
  96. package/cjs/MaskedInput/conformToMask.js +5 -4
  97. package/cjs/MaskedInput/createTextMaskInputElement.d.ts +2 -2
  98. package/cjs/MaskedInput/utilities.d.ts +1 -1
  99. package/cjs/Menu/Menu.js +14 -7
  100. package/cjs/Menu/MenuContext.d.ts +1 -1
  101. package/cjs/Menu/MenuItem.d.ts +1 -1
  102. package/cjs/Menu/MenuItem.js +19 -15
  103. package/cjs/Menu/Menubar.js +8 -8
  104. package/cjs/Menu/useMenu.js +17 -7
  105. package/cjs/Modal/Modal.js +12 -6
  106. package/cjs/Modal/ModalContext.d.ts +2 -2
  107. package/cjs/Modal/utils.d.ts +1 -1
  108. package/cjs/Modal/utils.js +3 -5
  109. package/cjs/MultiCascader/DropdownMenu.d.ts +4 -4
  110. package/cjs/MultiCascader/MultiCascader.js +6 -6
  111. package/cjs/MultiCascader/utils.d.ts +14 -14
  112. package/cjs/Nav/Nav.d.ts +1 -1
  113. package/cjs/Nav/NavContext.d.ts +1 -1
  114. package/cjs/Nav/NavItem.d.ts +1 -1
  115. package/cjs/Navbar/Navbar.js +1 -1
  116. package/cjs/Navbar/NavbarItem.d.ts +1 -1
  117. package/cjs/Overlay/Modal.d.ts +2 -2
  118. package/cjs/Overlay/Modal.js +41 -31
  119. package/cjs/Overlay/ModalManager.d.ts +17 -8
  120. package/cjs/Overlay/ModalManager.js +11 -20
  121. package/cjs/Overlay/Overlay.d.ts +2 -2
  122. package/cjs/Overlay/Overlay.js +1 -1
  123. package/cjs/Overlay/OverlayTrigger.d.ts +11 -11
  124. package/cjs/Overlay/OverlayTrigger.js +14 -6
  125. package/cjs/Overlay/Position.d.ts +3 -3
  126. package/cjs/Overlay/Position.js +14 -8
  127. package/cjs/Overlay/positionUtils.d.ts +1 -1
  128. package/cjs/Overlay/positionUtils.js +8 -8
  129. package/cjs/Pagination/Pagination.d.ts +1 -1
  130. package/cjs/Pagination/PaginationButton.d.ts +3 -3
  131. package/cjs/Pagination/PaginationGroup.js +5 -3
  132. package/cjs/Panel/Panel.d.ts +1 -1
  133. package/cjs/Panel/Panel.js +2 -2
  134. package/cjs/PanelGroup/PanelGroup.d.ts +2 -2
  135. package/cjs/Picker/DropdownMenu.d.ts +8 -5
  136. package/cjs/Picker/DropdownMenu.js +5 -5
  137. package/cjs/Picker/PickerOverlay.js +4 -3
  138. package/cjs/Picker/PickerToggle.js +4 -3
  139. package/cjs/Picker/PickerToggleTrigger.d.ts +2 -6
  140. package/cjs/Picker/SearchBar.d.ts +1 -1
  141. package/cjs/Picker/SelectedElement.js +2 -1
  142. package/cjs/Picker/propTypes.d.ts +2 -2
  143. package/cjs/Picker/utils.d.ts +13 -13
  144. package/cjs/Picker/utils.js +22 -18
  145. package/cjs/Placeholder/PlaceholderGrid.js +1 -1
  146. package/cjs/Plaintext/Plaintext.js +2 -1
  147. package/cjs/Radio/Radio.d.ts +1 -1
  148. package/cjs/RadioGroup/RadioGroup.d.ts +2 -2
  149. package/cjs/RadioGroup/RadioGroup.js +1 -1
  150. package/cjs/RangeSlider/RangeSlider.d.ts +2 -2
  151. package/cjs/RangeSlider/RangeSlider.js +6 -4
  152. package/cjs/Rate/Character.js +4 -2
  153. package/cjs/Rate/Rate.js +2 -1
  154. package/cjs/Ripple/Ripple.js +1 -1
  155. package/cjs/SelectPicker/SelectPicker.js +4 -4
  156. package/cjs/Sidenav/Node.d.ts +1 -1
  157. package/cjs/Sidenav/Sidenav.d.ts +4 -4
  158. package/cjs/Sidenav/Sidenav.js +5 -2
  159. package/cjs/Sidenav/SidenavDropdown.js +11 -8
  160. package/cjs/Sidenav/SidenavDropdownItem.js +10 -5
  161. package/cjs/Sidenav/SidenavDropdownMenu.js +9 -5
  162. package/cjs/Sidenav/SidenavItem.d.ts +1 -1
  163. package/cjs/Sidenav/SidenavItem.js +4 -0
  164. package/cjs/Slider/Graduated.d.ts +5 -5
  165. package/cjs/Slider/Handle.d.ts +1 -1
  166. package/cjs/Slider/Handle.js +10 -6
  167. package/cjs/Slider/Mark.d.ts +1 -1
  168. package/cjs/Slider/Slider.d.ts +1 -1
  169. package/cjs/Slider/Slider.js +2 -2
  170. package/cjs/Slider/utils.d.ts +2 -1
  171. package/cjs/Slider/utils.js +4 -5
  172. package/cjs/Steps/StepItem.js +2 -2
  173. package/cjs/TagInput/index.js +1 -1
  174. package/cjs/Toggle/Toggle.js +1 -1
  175. package/cjs/Tree/Tree.d.ts +3 -1
  176. package/cjs/TreePicker/TreeNode.js +6 -8
  177. package/cjs/TreePicker/TreePicker.js +31 -25
  178. package/cjs/Uploader/UploadFileItem.d.ts +1 -1
  179. package/cjs/Uploader/UploadFileItem.js +2 -2
  180. package/cjs/Uploader/UploadTrigger.d.ts +1 -1
  181. package/cjs/Uploader/UploadTrigger.js +2 -3
  182. package/cjs/Uploader/Uploader.d.ts +5 -5
  183. package/cjs/Uploader/Uploader.js +1 -2
  184. package/cjs/index.d.ts +2 -0
  185. package/cjs/index.js +5 -1
  186. package/cjs/locales/index.d.ts +3 -3
  187. package/cjs/toaster/ToastContainer.d.ts +1 -1
  188. package/cjs/toaster/ToastContainer.js +1 -1
  189. package/cjs/toaster/toaster.js +3 -1
  190. package/cjs/utils/BrowserDetection.js +1 -1
  191. package/cjs/utils/ReactChildren.d.ts +2 -2
  192. package/cjs/utils/ajaxUpload.d.ts +1 -1
  193. package/cjs/utils/ajaxUpload.js +5 -4
  194. package/cjs/utils/appendTooltip.d.ts +1 -1
  195. package/cjs/utils/constants.d.ts +4 -4
  196. package/cjs/utils/createChainedFunction.d.ts +1 -1
  197. package/cjs/utils/getDataGroupBy.d.ts +1 -1
  198. package/cjs/utils/mergeRefs.d.ts +2 -2
  199. package/cjs/utils/previewFile.d.ts +1 -1
  200. package/cjs/utils/propTypeChecker.d.ts +6 -2
  201. package/cjs/utils/propTypeChecker.js +7 -6
  202. package/cjs/utils/reactToString.d.ts +2 -1
  203. package/cjs/utils/statusIcons.d.ts +1 -1
  204. package/cjs/utils/stringToObject.d.ts +1 -1
  205. package/cjs/utils/treeUtils.d.ts +32 -29
  206. package/cjs/utils/treeUtils.js +46 -23
  207. package/cjs/utils/useControlled.d.ts +6 -1
  208. package/cjs/utils/useControlled.js +0 -8
  209. package/cjs/utils/useCustom.js +6 -4
  210. package/cjs/utils/useFocus.d.ts +2 -2
  211. package/cjs/utils/usePortal.d.ts +1 -1
  212. package/cjs/utils/useRootClose.d.ts +2 -2
  213. package/cjs/utils/useTimeout.d.ts +1 -1
  214. package/cjs/utils/useTimeout.js +5 -3
  215. package/dist/rsuite-rtl.css +40 -159
  216. package/dist/rsuite-rtl.min.css +1 -1
  217. package/dist/rsuite-rtl.min.css.map +1 -1
  218. package/dist/rsuite.css +40 -159
  219. package/dist/rsuite.js +146 -102
  220. package/dist/rsuite.js.map +1 -1
  221. package/dist/rsuite.min.css +1 -1
  222. package/dist/rsuite.min.css.map +1 -1
  223. package/dist/rsuite.min.js +1 -1
  224. package/dist/rsuite.min.js.map +1 -1
  225. package/esm/@types/common.d.ts +9 -8
  226. package/esm/@types/utils.d.ts +12 -0
  227. package/esm/Affix/Affix.js +5 -5
  228. package/esm/Animation/Transition.d.ts +21 -12
  229. package/esm/Animation/Transition.js +4 -1
  230. package/esm/AutoComplete/AutoComplete.js +1 -1
  231. package/esm/AutoComplete/utils.d.ts +1 -1
  232. package/esm/Avatar/Avatar.js +7 -3
  233. package/esm/AvatarGroup/AvatarGroup.d.ts +15 -0
  234. package/esm/AvatarGroup/AvatarGroup.js +54 -0
  235. package/esm/AvatarGroup/index.d.ts +3 -0
  236. package/esm/AvatarGroup/index.js +2 -0
  237. package/esm/Breadcrumb/Breadcrumb.js +1 -1
  238. package/esm/Button/Button.js +6 -2
  239. package/esm/ButtonGroup/ButtonGroup.js +7 -2
  240. package/esm/ButtonGroup/ButtonGroupContext.d.ts +7 -0
  241. package/esm/ButtonGroup/ButtonGroupContext.js +3 -0
  242. package/esm/ButtonGroup/index.d.ts +2 -0
  243. package/esm/ButtonGroup/index.js +2 -0
  244. package/esm/Calendar/Calendar.d.ts +4 -4
  245. package/esm/Calendar/Calendar.js +5 -2
  246. package/esm/Calendar/CalendarContext.js +1 -1
  247. package/esm/Calendar/TableRow.js +1 -1
  248. package/esm/Calendar/TimeDropdown.js +5 -4
  249. package/esm/Calendar/types.d.ts +2 -2
  250. package/esm/Calendar/useCalendarDate.d.ts +2 -2
  251. package/esm/Carousel/Carousel.d.ts +1 -1
  252. package/esm/Carousel/Carousel.js +1 -1
  253. package/esm/Cascader/Cascader.d.ts +1 -1
  254. package/esm/Cascader/Cascader.js +10 -10
  255. package/esm/Cascader/DropdownMenu.d.ts +5 -4
  256. package/esm/Cascader/utils.d.ts +3 -3
  257. package/esm/CheckPicker/CheckPicker.js +4 -4
  258. package/esm/CheckTreePicker/CheckTreeNode.d.ts +1 -1
  259. package/esm/CheckTreePicker/CheckTreeNode.js +4 -7
  260. package/esm/CheckTreePicker/CheckTreePicker.js +28 -23
  261. package/esm/CheckTreePicker/utils.d.ts +3 -1
  262. package/esm/CheckTreePicker/utils.js +12 -10
  263. package/esm/Checkbox/Checkbox.d.ts +1 -1
  264. package/esm/CustomProvider/CustomProvider.d.ts +31 -57
  265. package/esm/DOMHelper/index.d.ts +12 -12
  266. package/esm/DatePicker/DatePicker.d.ts +1 -1
  267. package/esm/DatePicker/DatePicker.js +14 -9
  268. package/esm/DatePicker/Toolbar.d.ts +12 -9
  269. package/esm/DatePicker/Toolbar.js +6 -8
  270. package/esm/DatePicker/types.d.ts +4 -4
  271. package/esm/DatePicker/utils.d.ts +4 -3
  272. package/esm/DateRangePicker/Calendar.d.ts +8 -7
  273. package/esm/DateRangePicker/Calendar.js +1 -1
  274. package/esm/DateRangePicker/DateRangePicker.d.ts +6 -6
  275. package/esm/DateRangePicker/DateRangePicker.js +105 -108
  276. package/esm/DateRangePicker/types.d.ts +2 -1
  277. package/esm/DateRangePicker/utils.d.ts +6 -6
  278. package/esm/DateRangePicker/utils.js +6 -2
  279. package/esm/Disclosure/Disclosure.js +4 -2
  280. package/esm/Disclosure/DisclosureButton.js +8 -7
  281. package/esm/Disclosure/DisclosureContent.js +5 -7
  282. package/esm/Disclosure/DisclosureContext.d.ts +2 -2
  283. package/esm/Disclosure/useDisclosureContext.d.ts +2 -0
  284. package/esm/Disclosure/useDisclosureContext.js +11 -0
  285. package/esm/Dropdown/Dropdown.d.ts +1 -1
  286. package/esm/Dropdown/DropdownContext.d.ts +2 -2
  287. package/esm/Dropdown/DropdownItem.js +1 -1
  288. package/esm/Dropdown/DropdownMenu.d.ts +3 -3
  289. package/esm/Dropdown/DropdownState.d.ts +1 -1
  290. package/esm/Dropdown/DropdownToggle.js +2 -1
  291. package/esm/Dropdown/useRenderDropdownItem.d.ts +1 -1
  292. package/esm/Form/Form.js +1 -1
  293. package/esm/Form/FormContext.d.ts +1 -1
  294. package/esm/FormControl/FormControl.d.ts +1 -1
  295. package/esm/FormControl/FormControl.js +5 -4
  296. package/esm/FormGroup/FormGroup.d.ts +1 -1
  297. package/esm/Input/Input.d.ts +3 -2
  298. package/esm/InputGroup/InputGroup.d.ts +1 -1
  299. package/esm/InputNumber/InputNumber.js +6 -2
  300. package/esm/InputPicker/InputAutosize.js +4 -4
  301. package/esm/InputPicker/InputPicker.d.ts +2 -2
  302. package/esm/InputPicker/InputPicker.js +15 -10
  303. package/esm/List/ListContext.d.ts +1 -1
  304. package/esm/List/ListContext.js +7 -1
  305. package/esm/List/helper/AutoScroller.js +4 -2
  306. package/esm/List/helper/useManager.d.ts +3 -3
  307. package/esm/List/helper/useManager.js +1 -1
  308. package/esm/List/helper/useSortHelper.d.ts +3 -3
  309. package/esm/List/helper/useSortHelper.js +6 -4
  310. package/esm/List/helper/utils.d.ts +2 -2
  311. package/esm/MaskedInput/TextMask.d.ts +5 -5
  312. package/esm/MaskedInput/adjustCaretPosition.d.ts +6 -6
  313. package/esm/MaskedInput/conformToMask.js +5 -4
  314. package/esm/MaskedInput/createTextMaskInputElement.d.ts +2 -2
  315. package/esm/MaskedInput/utilities.d.ts +1 -1
  316. package/esm/Menu/Menu.js +13 -7
  317. package/esm/Menu/MenuContext.d.ts +1 -1
  318. package/esm/Menu/MenuItem.d.ts +1 -1
  319. package/esm/Menu/MenuItem.js +18 -15
  320. package/esm/Menu/Menubar.js +7 -8
  321. package/esm/Menu/useMenu.js +17 -7
  322. package/esm/Modal/Modal.js +12 -6
  323. package/esm/Modal/ModalContext.d.ts +2 -2
  324. package/esm/Modal/utils.d.ts +1 -1
  325. package/esm/Modal/utils.js +3 -5
  326. package/esm/MultiCascader/DropdownMenu.d.ts +4 -4
  327. package/esm/MultiCascader/MultiCascader.js +6 -6
  328. package/esm/MultiCascader/utils.d.ts +14 -14
  329. package/esm/Nav/Nav.d.ts +1 -1
  330. package/esm/Nav/NavContext.d.ts +1 -1
  331. package/esm/Nav/NavItem.d.ts +1 -1
  332. package/esm/Navbar/Navbar.js +1 -1
  333. package/esm/Navbar/NavbarItem.d.ts +1 -1
  334. package/esm/Overlay/Modal.d.ts +2 -2
  335. package/esm/Overlay/Modal.js +42 -32
  336. package/esm/Overlay/ModalManager.d.ts +17 -8
  337. package/esm/Overlay/ModalManager.js +11 -20
  338. package/esm/Overlay/Overlay.d.ts +2 -2
  339. package/esm/Overlay/Overlay.js +1 -1
  340. package/esm/Overlay/OverlayTrigger.d.ts +11 -11
  341. package/esm/Overlay/OverlayTrigger.js +14 -6
  342. package/esm/Overlay/Position.d.ts +3 -3
  343. package/esm/Overlay/Position.js +14 -8
  344. package/esm/Overlay/positionUtils.d.ts +1 -1
  345. package/esm/Overlay/positionUtils.js +6 -6
  346. package/esm/Pagination/Pagination.d.ts +1 -1
  347. package/esm/Pagination/PaginationButton.d.ts +3 -3
  348. package/esm/Pagination/PaginationGroup.js +5 -3
  349. package/esm/Panel/Panel.d.ts +1 -1
  350. package/esm/Panel/Panel.js +2 -2
  351. package/esm/PanelGroup/PanelGroup.d.ts +2 -2
  352. package/esm/Picker/DropdownMenu.d.ts +8 -5
  353. package/esm/Picker/DropdownMenu.js +5 -5
  354. package/esm/Picker/PickerOverlay.js +4 -3
  355. package/esm/Picker/PickerToggle.js +4 -3
  356. package/esm/Picker/PickerToggleTrigger.d.ts +2 -6
  357. package/esm/Picker/SearchBar.d.ts +1 -1
  358. package/esm/Picker/SelectedElement.js +2 -1
  359. package/esm/Picker/propTypes.d.ts +2 -2
  360. package/esm/Picker/utils.d.ts +13 -13
  361. package/esm/Picker/utils.js +21 -18
  362. package/esm/Placeholder/PlaceholderGrid.js +1 -1
  363. package/esm/Plaintext/Plaintext.js +2 -1
  364. package/esm/Radio/Radio.d.ts +1 -1
  365. package/esm/RadioGroup/RadioGroup.d.ts +2 -2
  366. package/esm/RadioGroup/RadioGroup.js +1 -1
  367. package/esm/RangeSlider/RangeSlider.d.ts +2 -2
  368. package/esm/RangeSlider/RangeSlider.js +5 -4
  369. package/esm/Rate/Character.js +3 -2
  370. package/esm/Rate/Rate.js +2 -1
  371. package/esm/Ripple/Ripple.js +1 -1
  372. package/esm/SelectPicker/SelectPicker.js +4 -4
  373. package/esm/Sidenav/Node.d.ts +1 -1
  374. package/esm/Sidenav/Sidenav.d.ts +4 -4
  375. package/esm/Sidenav/Sidenav.js +5 -2
  376. package/esm/Sidenav/SidenavDropdown.js +11 -7
  377. package/esm/Sidenav/SidenavDropdownItem.js +11 -5
  378. package/esm/Sidenav/SidenavDropdownMenu.js +9 -5
  379. package/esm/Sidenav/SidenavItem.d.ts +1 -1
  380. package/esm/Sidenav/SidenavItem.js +4 -0
  381. package/esm/Slider/Graduated.d.ts +5 -5
  382. package/esm/Slider/Handle.d.ts +1 -1
  383. package/esm/Slider/Handle.js +10 -6
  384. package/esm/Slider/Mark.d.ts +1 -1
  385. package/esm/Slider/Slider.d.ts +1 -1
  386. package/esm/Slider/Slider.js +2 -2
  387. package/esm/Slider/utils.d.ts +2 -1
  388. package/esm/Slider/utils.js +5 -2
  389. package/esm/Steps/StepItem.js +2 -2
  390. package/esm/TagInput/index.js +1 -1
  391. package/esm/Toggle/Toggle.js +1 -1
  392. package/esm/Tree/Tree.d.ts +3 -1
  393. package/esm/TreePicker/TreeNode.js +4 -7
  394. package/esm/TreePicker/TreePicker.js +30 -23
  395. package/esm/Uploader/UploadFileItem.d.ts +1 -1
  396. package/esm/Uploader/UploadFileItem.js +2 -2
  397. package/esm/Uploader/UploadTrigger.d.ts +1 -1
  398. package/esm/Uploader/UploadTrigger.js +2 -3
  399. package/esm/Uploader/Uploader.d.ts +5 -5
  400. package/esm/Uploader/Uploader.js +1 -2
  401. package/esm/index.d.ts +2 -0
  402. package/esm/index.js +1 -0
  403. package/esm/locales/index.d.ts +3 -3
  404. package/esm/toaster/ToastContainer.d.ts +1 -1
  405. package/esm/toaster/ToastContainer.js +1 -1
  406. package/esm/toaster/toaster.js +3 -1
  407. package/esm/utils/BrowserDetection.js +1 -1
  408. package/esm/utils/ReactChildren.d.ts +2 -2
  409. package/esm/utils/ajaxUpload.d.ts +1 -1
  410. package/esm/utils/ajaxUpload.js +5 -4
  411. package/esm/utils/appendTooltip.d.ts +1 -1
  412. package/esm/utils/constants.d.ts +4 -4
  413. package/esm/utils/createChainedFunction.d.ts +1 -1
  414. package/esm/utils/getDataGroupBy.d.ts +1 -1
  415. package/esm/utils/mergeRefs.d.ts +2 -2
  416. package/esm/utils/previewFile.d.ts +1 -1
  417. package/esm/utils/propTypeChecker.d.ts +6 -2
  418. package/esm/utils/propTypeChecker.js +7 -6
  419. package/esm/utils/reactToString.d.ts +2 -1
  420. package/esm/utils/statusIcons.d.ts +1 -1
  421. package/esm/utils/stringToObject.d.ts +1 -1
  422. package/esm/utils/treeUtils.d.ts +32 -29
  423. package/esm/utils/treeUtils.js +45 -21
  424. package/esm/utils/useControlled.d.ts +6 -1
  425. package/esm/utils/useControlled.js +0 -8
  426. package/esm/utils/useCustom.js +6 -4
  427. package/esm/utils/useFocus.d.ts +2 -2
  428. package/esm/utils/usePortal.d.ts +1 -1
  429. package/esm/utils/useRootClose.d.ts +2 -2
  430. package/esm/utils/useTimeout.d.ts +1 -1
  431. package/esm/utils/useTimeout.js +5 -3
  432. package/package.json +2 -2
  433. package/styles/index.less +1 -0
@@ -1,11 +1,20 @@
1
+ import React from 'react';
2
+ export interface ModalInstance {
3
+ dialog: HTMLElement | null;
4
+ backdrop: HTMLElement | null;
5
+ }
6
+ export interface ContainerState {
7
+ classes: string[];
8
+ modals: ModalInstance[];
9
+ style: React.CSSProperties;
10
+ overflowing: boolean;
11
+ }
1
12
  declare class ModalManager {
2
- constructor(hideSiblingNodes?: boolean);
3
- hideSiblingNodes: any;
4
- modals: any[];
5
- containers: any[];
6
- data: any[];
7
- add(modal: any, container: any, className?: string): number;
8
- remove(modal: any): void;
9
- isTopModal(modal: any): boolean;
13
+ modals: ModalInstance[];
14
+ containers: HTMLElement[];
15
+ data: ContainerState[];
16
+ add(modal: ModalInstance, container: HTMLElement, className?: string): number;
17
+ remove(modal: ModalInstance): void;
18
+ isTopModal(modal: ModalInstance): boolean;
10
19
  }
11
20
  export default ModalManager;
@@ -25,16 +25,7 @@ function findContainer(data, modal) {
25
25
  }
26
26
 
27
27
  var ModalManager = /*#__PURE__*/function () {
28
- function ModalManager(hideSiblingNodes) {
29
- if (hideSiblingNodes === void 0) {
30
- hideSiblingNodes = true;
31
- }
32
-
33
- this.hideSiblingNodes = null;
34
- this.modals = [];
35
- this.containers = [];
36
- this.data = [];
37
- this.hideSiblingNodes = hideSiblingNodes;
28
+ function ModalManager() {
38
29
  this.modals = [];
39
30
  this.containers = [];
40
31
  this.data = [];
@@ -58,7 +49,7 @@ var ModalManager = /*#__PURE__*/function () {
58
49
  return modalIndex;
59
50
  }
60
51
 
61
- var data = {
52
+ var containerState = {
62
53
  modals: [modal],
63
54
  classes: className ? className.split(/\s+/) : [],
64
55
  style: {
@@ -68,7 +59,7 @@ var ModalManager = /*#__PURE__*/function () {
68
59
  overflowing: isOverflowing(container)
69
60
  };
70
61
 
71
- if (data.overflowing) {
62
+ if (containerState.overflowing) {
72
63
  var paddingRight = parseInt(getStyle(container, 'paddingRight') || 0, 10);
73
64
  var barSize = getScrollbarSize();
74
65
  addStyle(container, {
@@ -76,9 +67,9 @@ var ModalManager = /*#__PURE__*/function () {
76
67
  });
77
68
  }
78
69
 
79
- data.classes.forEach(addClass.bind(null, container));
70
+ containerState.classes.forEach(addClass.bind(null, container));
80
71
  this.containers.push(container);
81
- this.data.push(data);
72
+ this.data.push(containerState);
82
73
  return modalIndex;
83
74
  };
84
75
 
@@ -90,16 +81,16 @@ var ModalManager = /*#__PURE__*/function () {
90
81
  }
91
82
 
92
83
  var containerIndex = findContainer(this.data, modal);
93
- var data = this.data[containerIndex];
84
+ var containerState = this.data[containerIndex];
94
85
  var container = this.containers[containerIndex];
95
- data.modals.splice(data.modals.indexOf(modal), 1);
86
+ containerState.modals.splice(containerState.modals.indexOf(modal), 1);
96
87
  this.modals.splice(modalIndex, 1);
97
88
 
98
- if (data.modals.length === 0) {
99
- Object.keys(data.style).forEach(function (key) {
100
- return container.style[key] = data.style[key];
89
+ if (containerState.modals.length === 0) {
90
+ Object.keys(containerState.style).forEach(function (key) {
91
+ return container.style[key] = containerState.style[key];
101
92
  });
102
- data.classes.forEach(removeClass.bind(null, container));
93
+ containerState.classes.forEach(removeClass.bind(null, container));
103
94
  this.containers.splice(containerIndex, 1);
104
95
  this.data.splice(containerIndex, 1);
105
96
  }
@@ -3,7 +3,7 @@ import PropTypes from 'prop-types';
3
3
  import { TypeAttributes, AnimationEventProps } from '../@types/common';
4
4
  export interface OverlayProps extends AnimationEventProps {
5
5
  container?: HTMLElement | (() => HTMLElement);
6
- children?: React.ReactElement | ((props: any, ref: any) => React.ReactElement);
6
+ children: React.ReactElement | ((props: any, ref: any) => React.ReactElement);
7
7
  childrenProps?: React.HTMLAttributes<HTMLElement>;
8
8
  className?: string;
9
9
  containerPadding?: number;
@@ -13,7 +13,7 @@ export interface OverlayProps extends AnimationEventProps {
13
13
  rootClose?: boolean;
14
14
  transition?: React.ElementType;
15
15
  triggerTarget?: React.RefObject<any>;
16
- onClose?: () => void;
16
+ onClose?: React.ReactEventHandler;
17
17
  }
18
18
  export declare const overlayPropTypes: {
19
19
  container: PropTypes.Requireable<any>;
@@ -49,7 +49,7 @@ var Overlay = /*#__PURE__*/React.forwardRef(function (props, ref) {
49
49
  exited = _useState[0],
50
50
  setExited = _useState[1];
51
51
 
52
- var overlayTarget = useRef();
52
+ var overlayTarget = useRef(null);
53
53
 
54
54
  if (open) {
55
55
  if (exited) setExited(false);
@@ -17,7 +17,7 @@ export interface OverlayTriggerProps extends StandardProps, AnimationEventProps
17
17
  /** Container padding */
18
18
  containerPadding?: number;
19
19
  /** display element */
20
- speaker?: React.ReactElement | ((props: any, ref: React.RefObject<any>) => React.ReactElement);
20
+ speaker: React.ReactElement | ((props: any, ref: React.RefObject<any>) => React.ReactElement);
21
21
  /** Prevent floating element overflow */
22
22
  preventOverflow?: boolean;
23
23
  /** Opern overlay */
@@ -27,7 +27,7 @@ export interface OverlayTriggerProps extends StandardProps, AnimationEventProps
27
27
  /** Whether mouse is allowed to enter the floating layer of popover, whose default value is false. */
28
28
  enterable?: boolean;
29
29
  /** For the monitored component, the event will be bound to this component. */
30
- children?: React.ReactElement | ((props: any, ref: any) => React.ReactElement);
30
+ children: React.ReactElement | ((props: any, ref: any) => React.ReactElement);
31
31
  /** Whether to allow clicking document to close the overlay */
32
32
  rootClose?: boolean;
33
33
  /** Once disabled, the event cannot be triggered. */
@@ -39,27 +39,27 @@ export interface OverlayTriggerProps extends StandardProps, AnimationEventProps
39
39
  /** Set the `id` on `<Overlay>` and `aria-describedby` on `<OverlayTrigger>` */
40
40
  controlId?: string;
41
41
  /** Lose Focus callback function */
42
- onBlur?: () => void;
42
+ onBlur?: React.FocusEventHandler;
43
43
  /** Click on the callback function */
44
- onClick?: () => void;
44
+ onClick?: React.MouseEventHandler;
45
45
  /** RightClick on the callback function */
46
46
  onContextMenu?: React.MouseEventHandler;
47
47
  /** Callback function to get focus */
48
- onFocus?: () => void;
48
+ onFocus?: React.FocusEventHandler;
49
49
  /** Mouse leave callback function */
50
- onMouseOut?: () => void;
50
+ onMouseOut?: React.MouseEventHandler;
51
51
  /** Mouse over callback function */
52
- onMouseOver?: () => void;
52
+ onMouseOver?: React.MouseEventHandler;
53
53
  /** Callback fired when open component */
54
54
  onOpen?: () => void;
55
55
  /** Callback fired when close component */
56
56
  onClose?: () => void;
57
57
  }
58
58
  export interface OverlayTriggerInstance {
59
- root: Element;
60
- updatePosition?: () => void;
61
- open?: () => void;
62
- close?: () => void;
59
+ root: HTMLElement;
60
+ updatePosition: () => void;
61
+ open: () => void;
62
+ close: () => void;
63
63
  }
64
64
  declare const OverlayTrigger: React.ForwardRefExoticComponent<OverlayTriggerProps & React.RefAttributes<unknown>>;
65
65
  export default OverlayTrigger;
@@ -90,8 +90,8 @@ var OverlayTrigger = /*#__PURE__*/React.forwardRef(function (props, ref) {
90
90
  // In order to keep the overlay open, a timer is used to delay the closing.
91
91
 
92
92
 
93
- var delayOpenTimer = useRef();
94
- var delayCloseTimer = useRef();
93
+ var delayOpenTimer = useRef(null);
94
+ var delayCloseTimer = useRef(null);
95
95
  var delayOpen = isNil(delayOpenProp) ? delay : delayOpenProp;
96
96
  var delayClose = isNil(delayCloseProp) ? delay : delayCloseProp; // Whether the cursor is on the overlay
97
97
 
@@ -100,8 +100,13 @@ var OverlayTrigger = /*#__PURE__*/React.forwardRef(function (props, ref) {
100
100
  var isOnTrigger = useRef(false);
101
101
  useEffect(function () {
102
102
  return function () {
103
- clearTimeout(delayOpenTimer.current);
104
- clearTimeout(delayCloseTimer.current);
103
+ if (!isNil(delayOpenTimer.current)) {
104
+ clearTimeout(delayOpenTimer.current);
105
+ }
106
+
107
+ if (!isNil(delayCloseTimer.current)) {
108
+ clearTimeout(delayCloseTimer.current);
109
+ }
105
110
  };
106
111
  }, []);
107
112
  var handleOpen = useCallback(function (delay) {
@@ -207,8 +212,11 @@ var OverlayTrigger = /*#__PURE__*/React.forwardRef(function (props, ref) {
207
212
  }
208
213
 
209
214
  delayCloseTimer.current = setTimeout(function () {
210
- clearTimeout(delayCloseTimer.current);
211
- delayCloseTimer.current = null;
215
+ if (!isNil(delayCloseTimer.current)) {
216
+ clearTimeout(delayCloseTimer.current);
217
+ delayCloseTimer.current = null;
218
+ }
219
+
212
220
  handleCloseWhenLeave();
213
221
  }, 200);
214
222
  }, [enterable, open, handleClose, handleCloseWhenLeave]);
@@ -2,11 +2,11 @@ import React from 'react';
2
2
  import { TypeAttributes } from '../@types/common';
3
3
  export interface PositionChildProps {
4
4
  className: string;
5
- left: number;
6
- top: number;
5
+ left?: number;
6
+ top?: number;
7
7
  }
8
8
  export interface PositionProps {
9
- children?: (props: PositionChildProps, ref: any) => React.ReactElement;
9
+ children: (props: PositionChildProps, ref: any) => React.ReactElement;
10
10
  className?: string;
11
11
  container?: HTMLElement | (() => HTMLElement);
12
12
  containerPadding?: number;
@@ -16,13 +16,14 @@ import { useUpdateEffect } from '../utils';
16
16
  var usePosition = function usePosition(props, ref) {
17
17
  var _props$placement = props.placement,
18
18
  placement = _props$placement === void 0 ? 'right' : _props$placement,
19
- preventOverflow = props.preventOverflow,
19
+ _props$preventOverflo = props.preventOverflow,
20
+ preventOverflow = _props$preventOverflo === void 0 ? false : _props$preventOverflo,
20
21
  _props$containerPaddi = props.containerPadding,
21
22
  containerPadding = _props$containerPaddi === void 0 ? 0 : _props$containerPaddi,
22
23
  container = props.container,
23
24
  triggerTarget = props.triggerTarget;
24
- var containerRef = useRef();
25
- var lastTargetRef = useRef();
25
+ var containerRef = useRef(null);
26
+ var lastTargetRef = useRef(null);
26
27
  var overlayResizeObserver = useRef();
27
28
  var defaultPosition = {
28
29
  positionLeft: 0,
@@ -68,8 +69,9 @@ var usePosition = function usePosition(props, ref) {
68
69
  return;
69
70
  }
70
71
 
71
- var overlay = getDOMNode(ref.current);
72
- var containerElement = getContainer(typeof container === 'function' ? container() : container, ownerDocument(ref.current).body);
72
+ var overlay = getDOMNode(ref.current); // fixme dom-lib getContainer incorrect type
73
+
74
+ var containerElement = getContainer(typeof container === 'function' ? container() : container !== null && container !== void 0 ? container : null, ownerDocument(ref.current).body);
73
75
  var posi = utils.calcOverlayPosition(overlay, targetElement, containerElement);
74
76
 
75
77
  if (forceUpdateDOM && overlay) {
@@ -77,7 +79,11 @@ var usePosition = function usePosition(props, ref) {
77
79
 
78
80
  var preClassName = overlay === null || overlay === void 0 ? void 0 : (_overlay$className = overlay.className) === null || _overlay$className === void 0 ? void 0 : (_overlay$className$ma = _overlay$className.match(/(placement-\S+)/)) === null || _overlay$className$ma === void 0 ? void 0 : _overlay$className$ma[0];
79
81
  removeClass(overlay, preClassName);
80
- addClass(overlay, posi.positionClassName);
82
+
83
+ if (posi.positionClassName) {
84
+ addClass(overlay, posi.positionClassName);
85
+ }
86
+
81
87
  addStyle(overlay, {
82
88
  left: posi.positionLeft + "px",
83
89
  top: posi.positionTop + "px"
@@ -134,7 +140,7 @@ var usePosition = function usePosition(props, ref) {
134
140
  var Position = /*#__PURE__*/React.forwardRef(function (props, ref) {
135
141
  var children = props.children,
136
142
  className = props.className;
137
- var childRef = React.useRef();
143
+ var childRef = React.useRef(null);
138
144
 
139
145
  var _usePosition = usePosition(props, childRef),
140
146
  position = _usePosition[0],
@@ -171,7 +177,7 @@ var Position = /*#__PURE__*/React.forwardRef(function (props, ref) {
171
177
  Position.displayName = 'Position';
172
178
  Position.propTypes = {
173
179
  className: PropTypes.string,
174
- children: PropTypes.func,
180
+ children: PropTypes.func.isRequired,
175
181
  container: PropTypes.oneOfType([PropTypes.func, PropTypes.any]),
176
182
  containerPadding: PropTypes.number,
177
183
  placement: PropTypes.any,
@@ -29,7 +29,7 @@ declare const _default: (props: UtilProps) => {
29
29
  left: number;
30
30
  height: number;
31
31
  width: number;
32
- };
32
+ } | null;
33
33
  calcAutoPlacement(targetOffset: any, container: any, overlay: any): any;
34
34
  calcOverlayPosition(overlayNode: any, target: any, container: any): PositionType;
35
35
  };
@@ -29,10 +29,10 @@ function getContainerDimensions(containerNode) {
29
29
  scrollY = scrollTop(ownerDocument(containerNode).documentElement) || scrollTop(containerNode);
30
30
  scrollX = scrollLeft(ownerDocument(containerNode).documentElement) || scrollLeft(containerNode);
31
31
  } else {
32
- var _getOffset = getOffset(containerNode);
32
+ var _ref = getOffset(containerNode);
33
33
 
34
- width = _getOffset.width;
35
- height = _getOffset.height;
34
+ width = _ref.width;
35
+ height = _ref.height;
36
36
  scrollY = scrollTop(containerNode);
37
37
  scrollX = scrollLeft(containerNode);
38
38
  }
@@ -197,9 +197,9 @@ export default (function (props) {
197
197
  calcOverlayPosition: function calcOverlayPosition(overlayNode, target, container) {
198
198
  var childOffset = this.getPosition(target, container);
199
199
 
200
- var _getOffset2 = getOffset(overlayNode),
201
- overlayHeight = _getOffset2.height,
202
- overlayWidth = _getOffset2.width;
200
+ var _ref2 = getOffset(overlayNode),
201
+ overlayHeight = _ref2.height,
202
+ overlayWidth = _ref2.width;
203
203
 
204
204
  var top = childOffset.top,
205
205
  left = childOffset.left;
@@ -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>>;
@@ -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;
@@ -13,7 +13,7 @@ export declare const pickerPropTypes: {
13
13
  menuClassName: PropTypes.Requireable<string>;
14
14
  menuStyle: PropTypes.Requireable<object>;
15
15
  placeholder: PropTypes.Requireable<PropTypes.ReactNodeLike>;
16
- placement: PropTypes.Requireable<any>;
16
+ placement: PropTypes.Requireable<"top" | "bottom" | "right" | "left" | "bottomStart" | "bottomEnd" | "topStart" | "topEnd" | "leftStart" | "rightStart" | "leftEnd" | "rightEnd" | "auto" | "autoVertical" | "autoVerticalStart" | "autoVerticalEnd" | "autoHorizontal" | "autoHorizontalStart" | "autoHorizontalEnd">;
17
17
  /**
18
18
  * Prevent floating element overflow
19
19
  */
@@ -56,7 +56,7 @@ export declare const listPickerPropTypes: {
56
56
  menuClassName: PropTypes.Requireable<string>;
57
57
  menuStyle: PropTypes.Requireable<object>;
58
58
  placeholder: PropTypes.Requireable<PropTypes.ReactNodeLike>;
59
- placement: PropTypes.Requireable<any>;
59
+ placement: PropTypes.Requireable<"top" | "bottom" | "right" | "left" | "bottomStart" | "bottomEnd" | "topStart" | "topEnd" | "leftStart" | "rightStart" | "leftEnd" | "rightEnd" | "auto" | "autoVertical" | "autoVerticalStart" | "autoVerticalEnd" | "autoHorizontal" | "autoHorizontalStart" | "autoHorizontalEnd">;
60
60
  /**
61
61
  * Prevent floating element overflow
62
62
  */