rsuite 5.2.1 → 5.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (451) hide show
  1. package/Avatar/styles/index.less +2 -2
  2. package/AvatarGroup/package.json +7 -0
  3. package/AvatarGroup/styles/index.less +19 -0
  4. package/Button/styles/index.less +6 -0
  5. package/ButtonGroup/styles/index.less +0 -18
  6. package/CHANGELOG.md +49 -0
  7. package/CheckTreePicker/styles/index.less +14 -1
  8. package/PanelGroup/styles/index.less +12 -12
  9. package/Table/styles/index.less +0 -4
  10. package/TreePicker/styles/index.less +10 -0
  11. package/cjs/@types/common.d.ts +9 -8
  12. package/cjs/@types/utils.d.ts +12 -0
  13. package/cjs/Affix/Affix.js +5 -5
  14. package/cjs/Animation/Transition.d.ts +21 -12
  15. package/cjs/Animation/Transition.js +4 -1
  16. package/cjs/AutoComplete/AutoComplete.js +1 -1
  17. package/cjs/AutoComplete/utils.d.ts +1 -1
  18. package/cjs/Avatar/Avatar.js +10 -3
  19. package/cjs/AvatarGroup/AvatarGroup.d.ts +15 -0
  20. package/cjs/AvatarGroup/AvatarGroup.js +71 -0
  21. package/cjs/AvatarGroup/index.d.ts +3 -0
  22. package/cjs/AvatarGroup/index.js +11 -0
  23. package/cjs/Breadcrumb/Breadcrumb.js +1 -1
  24. package/cjs/Button/Button.js +8 -2
  25. package/cjs/ButtonGroup/ButtonGroup.js +8 -2
  26. package/cjs/ButtonGroup/ButtonGroupContext.d.ts +7 -0
  27. package/cjs/ButtonGroup/ButtonGroupContext.js +13 -0
  28. package/cjs/ButtonGroup/index.d.ts +2 -0
  29. package/cjs/ButtonGroup/index.js +3 -0
  30. package/cjs/Calendar/Calendar.d.ts +4 -4
  31. package/cjs/Calendar/Calendar.js +5 -2
  32. package/cjs/Calendar/CalendarContext.js +1 -1
  33. package/cjs/Calendar/TableRow.js +1 -1
  34. package/cjs/Calendar/TimeDropdown.js +6 -5
  35. package/cjs/Calendar/types.d.ts +2 -2
  36. package/cjs/Calendar/useCalendarDate.d.ts +2 -2
  37. package/cjs/Carousel/Carousel.d.ts +2 -2
  38. package/cjs/Carousel/Carousel.js +1 -1
  39. package/cjs/Cascader/Cascader.d.ts +1 -1
  40. package/cjs/Cascader/Cascader.js +10 -10
  41. package/cjs/Cascader/DropdownMenu.d.ts +5 -4
  42. package/cjs/Cascader/utils.d.ts +3 -3
  43. package/cjs/CheckPicker/CheckPicker.js +4 -4
  44. package/cjs/CheckTreePicker/CheckTreeNode.d.ts +1 -1
  45. package/cjs/CheckTreePicker/CheckTreeNode.js +7 -9
  46. package/cjs/CheckTreePicker/CheckTreePicker.js +34 -27
  47. package/cjs/CheckTreePicker/utils.d.ts +3 -1
  48. package/cjs/CheckTreePicker/utils.js +12 -10
  49. package/cjs/Checkbox/Checkbox.d.ts +1 -1
  50. package/cjs/CheckboxGroup/CheckboxGroup.js +2 -2
  51. package/cjs/CustomProvider/CustomProvider.d.ts +31 -57
  52. package/cjs/DOMHelper/index.d.ts +12 -12
  53. package/cjs/DatePicker/DatePicker.d.ts +1 -1
  54. package/cjs/DatePicker/DatePicker.js +15 -9
  55. package/cjs/DatePicker/Toolbar.d.ts +12 -9
  56. package/cjs/DatePicker/Toolbar.js +6 -8
  57. package/cjs/DatePicker/types.d.ts +4 -4
  58. package/cjs/DatePicker/utils.d.ts +4 -3
  59. package/cjs/DateRangePicker/Calendar.d.ts +9 -7
  60. package/cjs/DateRangePicker/Calendar.js +27 -6
  61. package/cjs/DateRangePicker/DateRangePicker.d.ts +8 -6
  62. package/cjs/DateRangePicker/DateRangePicker.js +126 -107
  63. package/cjs/DateRangePicker/types.d.ts +2 -1
  64. package/cjs/DateRangePicker/utils.d.ts +6 -6
  65. package/cjs/DateRangePicker/utils.js +7 -2
  66. package/cjs/Disclosure/Disclosure.js +4 -2
  67. package/cjs/Disclosure/DisclosureButton.js +9 -7
  68. package/cjs/Disclosure/DisclosureContent.js +4 -6
  69. package/cjs/Disclosure/DisclosureContext.d.ts +2 -2
  70. package/cjs/Disclosure/useDisclosureContext.d.ts +2 -0
  71. package/cjs/Disclosure/useDisclosureContext.js +20 -0
  72. package/cjs/Dropdown/Dropdown.d.ts +1 -1
  73. package/cjs/Dropdown/DropdownContext.d.ts +2 -2
  74. package/cjs/Dropdown/DropdownItem.js +3 -2
  75. package/cjs/Dropdown/DropdownMenu.d.ts +3 -3
  76. package/cjs/Dropdown/DropdownState.d.ts +1 -1
  77. package/cjs/Dropdown/DropdownToggle.js +2 -1
  78. package/cjs/Dropdown/useRenderDropdownItem.d.ts +1 -1
  79. package/cjs/Form/Form.js +1 -1
  80. package/cjs/Form/FormContext.d.ts +1 -1
  81. package/cjs/FormControl/FormControl.d.ts +1 -1
  82. package/cjs/FormControl/FormControl.js +5 -4
  83. package/cjs/FormGroup/FormGroup.d.ts +1 -1
  84. package/cjs/Input/Input.d.ts +3 -2
  85. package/cjs/InputGroup/InputGroup.d.ts +1 -1
  86. package/cjs/InputNumber/InputNumber.js +6 -2
  87. package/cjs/InputPicker/InputAutosize.js +4 -4
  88. package/cjs/InputPicker/InputPicker.d.ts +2 -2
  89. package/cjs/InputPicker/InputPicker.js +16 -11
  90. package/cjs/List/ListContext.d.ts +1 -1
  91. package/cjs/List/ListContext.js +8 -1
  92. package/cjs/List/helper/AutoScroller.js +4 -2
  93. package/cjs/List/helper/useManager.d.ts +3 -3
  94. package/cjs/List/helper/useManager.js +1 -1
  95. package/cjs/List/helper/useSortHelper.d.ts +3 -3
  96. package/cjs/List/helper/useSortHelper.js +6 -4
  97. package/cjs/List/helper/utils.d.ts +2 -2
  98. package/cjs/MaskedInput/MaskedInput.d.ts +5 -42
  99. package/cjs/MaskedInput/MaskedInput.js +9 -63
  100. package/cjs/MaskedInput/TextMask.d.ts +43 -0
  101. package/cjs/MaskedInput/TextMask.js +80 -0
  102. package/cjs/MaskedInput/adjustCaretPosition.d.ts +6 -6
  103. package/cjs/MaskedInput/conformToMask.js +5 -4
  104. package/cjs/MaskedInput/createTextMaskInputElement.d.ts +2 -2
  105. package/cjs/MaskedInput/utilities.d.ts +1 -1
  106. package/cjs/Menu/Menu.js +60 -41
  107. package/cjs/Menu/MenuContext.d.ts +1 -1
  108. package/cjs/Menu/MenuItem.d.ts +1 -1
  109. package/cjs/Menu/MenuItem.js +31 -23
  110. package/cjs/Menu/Menubar.js +8 -8
  111. package/cjs/Menu/useMenu.js +17 -7
  112. package/cjs/Modal/Modal.js +12 -6
  113. package/cjs/Modal/ModalContext.d.ts +2 -2
  114. package/cjs/Modal/utils.d.ts +1 -1
  115. package/cjs/Modal/utils.js +12 -15
  116. package/cjs/MultiCascader/DropdownMenu.d.ts +4 -4
  117. package/cjs/MultiCascader/MultiCascader.js +6 -6
  118. package/cjs/MultiCascader/utils.d.ts +14 -14
  119. package/cjs/Nav/Nav.d.ts +1 -1
  120. package/cjs/Nav/NavContext.d.ts +1 -1
  121. package/cjs/Nav/NavItem.d.ts +1 -1
  122. package/cjs/Navbar/Navbar.js +1 -1
  123. package/cjs/Navbar/NavbarItem.d.ts +1 -1
  124. package/cjs/Overlay/Modal.d.ts +2 -2
  125. package/cjs/Overlay/Modal.js +41 -31
  126. package/cjs/Overlay/ModalManager.d.ts +17 -8
  127. package/cjs/Overlay/ModalManager.js +11 -20
  128. package/cjs/Overlay/Overlay.d.ts +2 -2
  129. package/cjs/Overlay/Overlay.js +1 -1
  130. package/cjs/Overlay/OverlayTrigger.d.ts +11 -11
  131. package/cjs/Overlay/OverlayTrigger.js +14 -6
  132. package/cjs/Overlay/Position.d.ts +3 -3
  133. package/cjs/Overlay/Position.js +21 -12
  134. package/cjs/Overlay/positionUtils.d.ts +1 -1
  135. package/cjs/Overlay/positionUtils.js +8 -8
  136. package/cjs/Pagination/Pagination.d.ts +1 -1
  137. package/cjs/Pagination/PaginationButton.d.ts +3 -3
  138. package/cjs/Pagination/PaginationGroup.js +5 -3
  139. package/cjs/Panel/Panel.d.ts +1 -1
  140. package/cjs/Panel/Panel.js +2 -2
  141. package/cjs/PanelGroup/PanelGroup.d.ts +2 -2
  142. package/cjs/Picker/DropdownMenu.d.ts +8 -5
  143. package/cjs/Picker/DropdownMenu.js +5 -5
  144. package/cjs/Picker/PickerOverlay.js +4 -3
  145. package/cjs/Picker/PickerToggle.js +11 -8
  146. package/cjs/Picker/PickerToggleTrigger.d.ts +2 -6
  147. package/cjs/Picker/SearchBar.d.ts +1 -1
  148. package/cjs/Picker/SelectedElement.js +2 -1
  149. package/cjs/Picker/VirtualizedList.d.ts +29 -2
  150. package/cjs/Picker/propTypes.d.ts +2 -2
  151. package/cjs/Picker/utils.d.ts +17 -25
  152. package/cjs/Picker/utils.js +71 -46
  153. package/cjs/Placeholder/PlaceholderGrid.js +1 -1
  154. package/cjs/Plaintext/Plaintext.js +2 -1
  155. package/cjs/Radio/Radio.d.ts +1 -1
  156. package/cjs/RadioGroup/RadioGroup.d.ts +2 -2
  157. package/cjs/RadioGroup/RadioGroup.js +3 -3
  158. package/cjs/RangeSlider/RangeSlider.d.ts +2 -2
  159. package/cjs/RangeSlider/RangeSlider.js +6 -4
  160. package/cjs/Rate/Character.js +4 -2
  161. package/cjs/Rate/Rate.js +5 -2
  162. package/cjs/Ripple/Ripple.js +1 -1
  163. package/cjs/SelectPicker/SelectPicker.js +4 -4
  164. package/cjs/Sidenav/Node.d.ts +1 -1
  165. package/cjs/Sidenav/Sidenav.d.ts +4 -4
  166. package/cjs/Sidenav/Sidenav.js +5 -2
  167. package/cjs/Sidenav/SidenavDropdown.js +11 -8
  168. package/cjs/Sidenav/SidenavDropdownItem.js +10 -5
  169. package/cjs/Sidenav/SidenavDropdownMenu.js +9 -5
  170. package/cjs/Sidenav/SidenavItem.d.ts +1 -1
  171. package/cjs/Sidenav/SidenavItem.js +4 -0
  172. package/cjs/Slider/Graduated.d.ts +5 -5
  173. package/cjs/Slider/Handle.d.ts +1 -1
  174. package/cjs/Slider/Handle.js +10 -6
  175. package/cjs/Slider/Mark.d.ts +1 -1
  176. package/cjs/Slider/Slider.d.ts +1 -1
  177. package/cjs/Slider/Slider.js +2 -2
  178. package/cjs/Slider/utils.d.ts +2 -1
  179. package/cjs/Slider/utils.js +4 -5
  180. package/cjs/Steps/StepItem.js +2 -2
  181. package/cjs/TagInput/index.js +1 -1
  182. package/cjs/Toggle/Toggle.js +1 -1
  183. package/cjs/Tree/Tree.d.ts +3 -1
  184. package/cjs/TreePicker/TreeNode.js +6 -8
  185. package/cjs/TreePicker/TreePicker.js +36 -27
  186. package/cjs/Uploader/UploadFileItem.d.ts +1 -1
  187. package/cjs/Uploader/UploadFileItem.js +2 -2
  188. package/cjs/Uploader/UploadTrigger.d.ts +1 -1
  189. package/cjs/Uploader/UploadTrigger.js +2 -3
  190. package/cjs/Uploader/Uploader.d.ts +5 -5
  191. package/cjs/Uploader/Uploader.js +1 -2
  192. package/cjs/index.d.ts +2 -0
  193. package/cjs/index.js +5 -1
  194. package/cjs/locales/index.d.ts +3 -3
  195. package/cjs/toaster/ToastContainer.d.ts +1 -1
  196. package/cjs/toaster/ToastContainer.js +1 -1
  197. package/cjs/toaster/toaster.js +3 -1
  198. package/cjs/utils/BrowserDetection.js +1 -1
  199. package/cjs/utils/ReactChildren.d.ts +2 -2
  200. package/cjs/utils/ajaxUpload.d.ts +1 -1
  201. package/cjs/utils/ajaxUpload.js +5 -4
  202. package/cjs/utils/appendTooltip.d.ts +1 -1
  203. package/cjs/utils/constants.d.ts +4 -4
  204. package/cjs/utils/createChainedFunction.d.ts +1 -1
  205. package/cjs/utils/getDataGroupBy.d.ts +1 -1
  206. package/cjs/utils/mergeRefs.d.ts +2 -2
  207. package/cjs/utils/previewFile.d.ts +1 -1
  208. package/cjs/utils/propTypeChecker.d.ts +6 -2
  209. package/cjs/utils/propTypeChecker.js +7 -6
  210. package/cjs/utils/reactToString.d.ts +2 -1
  211. package/cjs/utils/statusIcons.d.ts +1 -1
  212. package/cjs/utils/stringToObject.d.ts +1 -1
  213. package/cjs/utils/treeUtils.d.ts +32 -29
  214. package/cjs/utils/treeUtils.js +46 -23
  215. package/cjs/utils/useControlled.d.ts +6 -1
  216. package/cjs/utils/useControlled.js +0 -8
  217. package/cjs/utils/useCustom.js +6 -4
  218. package/cjs/utils/useElementResize.d.ts +1 -1
  219. package/cjs/utils/useElementResize.js +11 -6
  220. package/cjs/utils/useFocus.d.ts +2 -2
  221. package/cjs/utils/usePortal.d.ts +1 -1
  222. package/cjs/utils/useRootClose.d.ts +2 -2
  223. package/cjs/utils/useTimeout.d.ts +1 -1
  224. package/cjs/utils/useTimeout.js +5 -3
  225. package/dist/rsuite-rtl.css +85 -165
  226. package/dist/rsuite-rtl.min.css +1 -1
  227. package/dist/rsuite-rtl.min.css.map +1 -1
  228. package/dist/rsuite.css +85 -165
  229. package/dist/rsuite.js +468 -445
  230. package/dist/rsuite.js.map +1 -1
  231. package/dist/rsuite.min.css +1 -1
  232. package/dist/rsuite.min.css.map +1 -1
  233. package/dist/rsuite.min.js +1 -1
  234. package/dist/rsuite.min.js.LICENSE.txt +9 -0
  235. package/dist/rsuite.min.js.map +1 -1
  236. package/esm/@types/common.d.ts +9 -8
  237. package/esm/@types/utils.d.ts +12 -0
  238. package/esm/Affix/Affix.js +5 -5
  239. package/esm/Animation/Transition.d.ts +21 -12
  240. package/esm/Animation/Transition.js +4 -1
  241. package/esm/AutoComplete/AutoComplete.js +1 -1
  242. package/esm/AutoComplete/utils.d.ts +1 -1
  243. package/esm/Avatar/Avatar.js +7 -3
  244. package/esm/AvatarGroup/AvatarGroup.d.ts +15 -0
  245. package/esm/AvatarGroup/AvatarGroup.js +54 -0
  246. package/esm/AvatarGroup/index.d.ts +3 -0
  247. package/esm/AvatarGroup/index.js +2 -0
  248. package/esm/Breadcrumb/Breadcrumb.js +1 -1
  249. package/esm/Button/Button.js +6 -2
  250. package/esm/ButtonGroup/ButtonGroup.js +7 -2
  251. package/esm/ButtonGroup/ButtonGroupContext.d.ts +7 -0
  252. package/esm/ButtonGroup/ButtonGroupContext.js +3 -0
  253. package/esm/ButtonGroup/index.d.ts +2 -0
  254. package/esm/ButtonGroup/index.js +2 -0
  255. package/esm/Calendar/Calendar.d.ts +4 -4
  256. package/esm/Calendar/Calendar.js +5 -2
  257. package/esm/Calendar/CalendarContext.js +1 -1
  258. package/esm/Calendar/TableRow.js +1 -1
  259. package/esm/Calendar/TimeDropdown.js +5 -4
  260. package/esm/Calendar/types.d.ts +2 -2
  261. package/esm/Calendar/useCalendarDate.d.ts +2 -2
  262. package/esm/Carousel/Carousel.d.ts +2 -2
  263. package/esm/Carousel/Carousel.js +1 -1
  264. package/esm/Cascader/Cascader.d.ts +1 -1
  265. package/esm/Cascader/Cascader.js +10 -10
  266. package/esm/Cascader/DropdownMenu.d.ts +5 -4
  267. package/esm/Cascader/utils.d.ts +3 -3
  268. package/esm/CheckPicker/CheckPicker.js +4 -4
  269. package/esm/CheckTreePicker/CheckTreeNode.d.ts +1 -1
  270. package/esm/CheckTreePicker/CheckTreeNode.js +4 -7
  271. package/esm/CheckTreePicker/CheckTreePicker.js +33 -25
  272. package/esm/CheckTreePicker/utils.d.ts +3 -1
  273. package/esm/CheckTreePicker/utils.js +12 -10
  274. package/esm/Checkbox/Checkbox.d.ts +1 -1
  275. package/esm/CheckboxGroup/CheckboxGroup.js +2 -2
  276. package/esm/CustomProvider/CustomProvider.d.ts +31 -57
  277. package/esm/DOMHelper/index.d.ts +12 -12
  278. package/esm/DatePicker/DatePicker.d.ts +1 -1
  279. package/esm/DatePicker/DatePicker.js +14 -9
  280. package/esm/DatePicker/Toolbar.d.ts +12 -9
  281. package/esm/DatePicker/Toolbar.js +6 -8
  282. package/esm/DatePicker/types.d.ts +4 -4
  283. package/esm/DatePicker/utils.d.ts +4 -3
  284. package/esm/DateRangePicker/Calendar.d.ts +9 -7
  285. package/esm/DateRangePicker/Calendar.js +28 -6
  286. package/esm/DateRangePicker/DateRangePicker.d.ts +8 -6
  287. package/esm/DateRangePicker/DateRangePicker.js +124 -107
  288. package/esm/DateRangePicker/types.d.ts +2 -1
  289. package/esm/DateRangePicker/utils.d.ts +6 -6
  290. package/esm/DateRangePicker/utils.js +6 -2
  291. package/esm/Disclosure/Disclosure.js +4 -2
  292. package/esm/Disclosure/DisclosureButton.js +8 -7
  293. package/esm/Disclosure/DisclosureContent.js +5 -7
  294. package/esm/Disclosure/DisclosureContext.d.ts +2 -2
  295. package/esm/Disclosure/useDisclosureContext.d.ts +2 -0
  296. package/esm/Disclosure/useDisclosureContext.js +11 -0
  297. package/esm/Dropdown/Dropdown.d.ts +1 -1
  298. package/esm/Dropdown/DropdownContext.d.ts +2 -2
  299. package/esm/Dropdown/DropdownItem.js +3 -2
  300. package/esm/Dropdown/DropdownMenu.d.ts +3 -3
  301. package/esm/Dropdown/DropdownState.d.ts +1 -1
  302. package/esm/Dropdown/DropdownToggle.js +2 -1
  303. package/esm/Dropdown/useRenderDropdownItem.d.ts +1 -1
  304. package/esm/Form/Form.js +1 -1
  305. package/esm/Form/FormContext.d.ts +1 -1
  306. package/esm/FormControl/FormControl.d.ts +1 -1
  307. package/esm/FormControl/FormControl.js +5 -4
  308. package/esm/FormGroup/FormGroup.d.ts +1 -1
  309. package/esm/Input/Input.d.ts +3 -2
  310. package/esm/InputGroup/InputGroup.d.ts +1 -1
  311. package/esm/InputNumber/InputNumber.js +6 -2
  312. package/esm/InputPicker/InputAutosize.js +4 -4
  313. package/esm/InputPicker/InputPicker.d.ts +2 -2
  314. package/esm/InputPicker/InputPicker.js +16 -11
  315. package/esm/List/ListContext.d.ts +1 -1
  316. package/esm/List/ListContext.js +7 -1
  317. package/esm/List/helper/AutoScroller.js +4 -2
  318. package/esm/List/helper/useManager.d.ts +3 -3
  319. package/esm/List/helper/useManager.js +1 -1
  320. package/esm/List/helper/useSortHelper.d.ts +3 -3
  321. package/esm/List/helper/useSortHelper.js +6 -4
  322. package/esm/List/helper/utils.d.ts +2 -2
  323. package/esm/MaskedInput/MaskedInput.d.ts +5 -42
  324. package/esm/MaskedInput/MaskedInput.js +9 -63
  325. package/esm/MaskedInput/TextMask.d.ts +43 -0
  326. package/esm/MaskedInput/TextMask.js +67 -0
  327. package/esm/MaskedInput/adjustCaretPosition.d.ts +6 -6
  328. package/esm/MaskedInput/conformToMask.js +5 -4
  329. package/esm/MaskedInput/createTextMaskInputElement.d.ts +2 -2
  330. package/esm/MaskedInput/utilities.d.ts +1 -1
  331. package/esm/Menu/Menu.js +59 -43
  332. package/esm/Menu/MenuContext.d.ts +1 -1
  333. package/esm/Menu/MenuItem.d.ts +1 -1
  334. package/esm/Menu/MenuItem.js +30 -23
  335. package/esm/Menu/Menubar.js +7 -8
  336. package/esm/Menu/useMenu.js +17 -7
  337. package/esm/Modal/Modal.js +12 -6
  338. package/esm/Modal/ModalContext.d.ts +2 -2
  339. package/esm/Modal/utils.d.ts +1 -1
  340. package/esm/Modal/utils.js +11 -12
  341. package/esm/MultiCascader/DropdownMenu.d.ts +4 -4
  342. package/esm/MultiCascader/MultiCascader.js +6 -6
  343. package/esm/MultiCascader/utils.d.ts +14 -14
  344. package/esm/Nav/Nav.d.ts +1 -1
  345. package/esm/Nav/NavContext.d.ts +1 -1
  346. package/esm/Nav/NavItem.d.ts +1 -1
  347. package/esm/Navbar/Navbar.js +1 -1
  348. package/esm/Navbar/NavbarItem.d.ts +1 -1
  349. package/esm/Overlay/Modal.d.ts +2 -2
  350. package/esm/Overlay/Modal.js +42 -32
  351. package/esm/Overlay/ModalManager.d.ts +17 -8
  352. package/esm/Overlay/ModalManager.js +11 -20
  353. package/esm/Overlay/Overlay.d.ts +2 -2
  354. package/esm/Overlay/Overlay.js +1 -1
  355. package/esm/Overlay/OverlayTrigger.d.ts +11 -11
  356. package/esm/Overlay/OverlayTrigger.js +14 -6
  357. package/esm/Overlay/Position.d.ts +3 -3
  358. package/esm/Overlay/Position.js +20 -11
  359. package/esm/Overlay/positionUtils.d.ts +1 -1
  360. package/esm/Overlay/positionUtils.js +6 -6
  361. package/esm/Pagination/Pagination.d.ts +1 -1
  362. package/esm/Pagination/PaginationButton.d.ts +3 -3
  363. package/esm/Pagination/PaginationGroup.js +5 -3
  364. package/esm/Panel/Panel.d.ts +1 -1
  365. package/esm/Panel/Panel.js +2 -2
  366. package/esm/PanelGroup/PanelGroup.d.ts +2 -2
  367. package/esm/Picker/DropdownMenu.d.ts +8 -5
  368. package/esm/Picker/DropdownMenu.js +5 -5
  369. package/esm/Picker/PickerOverlay.js +4 -3
  370. package/esm/Picker/PickerToggle.js +11 -8
  371. package/esm/Picker/PickerToggleTrigger.d.ts +2 -6
  372. package/esm/Picker/SearchBar.d.ts +1 -1
  373. package/esm/Picker/SelectedElement.js +2 -1
  374. package/esm/Picker/VirtualizedList.d.ts +29 -2
  375. package/esm/Picker/propTypes.d.ts +2 -2
  376. package/esm/Picker/utils.d.ts +17 -25
  377. package/esm/Picker/utils.js +70 -46
  378. package/esm/Placeholder/PlaceholderGrid.js +1 -1
  379. package/esm/Plaintext/Plaintext.js +2 -1
  380. package/esm/Radio/Radio.d.ts +1 -1
  381. package/esm/RadioGroup/RadioGroup.d.ts +2 -2
  382. package/esm/RadioGroup/RadioGroup.js +3 -3
  383. package/esm/RangeSlider/RangeSlider.d.ts +2 -2
  384. package/esm/RangeSlider/RangeSlider.js +5 -4
  385. package/esm/Rate/Character.js +3 -2
  386. package/esm/Rate/Rate.js +4 -2
  387. package/esm/Ripple/Ripple.js +1 -1
  388. package/esm/SelectPicker/SelectPicker.js +4 -4
  389. package/esm/Sidenav/Node.d.ts +1 -1
  390. package/esm/Sidenav/Sidenav.d.ts +4 -4
  391. package/esm/Sidenav/Sidenav.js +5 -2
  392. package/esm/Sidenav/SidenavDropdown.js +11 -7
  393. package/esm/Sidenav/SidenavDropdownItem.js +11 -5
  394. package/esm/Sidenav/SidenavDropdownMenu.js +9 -5
  395. package/esm/Sidenav/SidenavItem.d.ts +1 -1
  396. package/esm/Sidenav/SidenavItem.js +4 -0
  397. package/esm/Slider/Graduated.d.ts +5 -5
  398. package/esm/Slider/Handle.d.ts +1 -1
  399. package/esm/Slider/Handle.js +10 -6
  400. package/esm/Slider/Mark.d.ts +1 -1
  401. package/esm/Slider/Slider.d.ts +1 -1
  402. package/esm/Slider/Slider.js +2 -2
  403. package/esm/Slider/utils.d.ts +2 -1
  404. package/esm/Slider/utils.js +5 -2
  405. package/esm/Steps/StepItem.js +2 -2
  406. package/esm/TagInput/index.js +1 -1
  407. package/esm/Toggle/Toggle.js +1 -1
  408. package/esm/Tree/Tree.d.ts +3 -1
  409. package/esm/TreePicker/TreeNode.js +4 -7
  410. package/esm/TreePicker/TreePicker.js +35 -25
  411. package/esm/Uploader/UploadFileItem.d.ts +1 -1
  412. package/esm/Uploader/UploadFileItem.js +2 -2
  413. package/esm/Uploader/UploadTrigger.d.ts +1 -1
  414. package/esm/Uploader/UploadTrigger.js +2 -3
  415. package/esm/Uploader/Uploader.d.ts +5 -5
  416. package/esm/Uploader/Uploader.js +1 -2
  417. package/esm/index.d.ts +2 -0
  418. package/esm/index.js +1 -0
  419. package/esm/locales/index.d.ts +3 -3
  420. package/esm/toaster/ToastContainer.d.ts +1 -1
  421. package/esm/toaster/ToastContainer.js +1 -1
  422. package/esm/toaster/toaster.js +3 -1
  423. package/esm/utils/BrowserDetection.js +1 -1
  424. package/esm/utils/ReactChildren.d.ts +2 -2
  425. package/esm/utils/ajaxUpload.d.ts +1 -1
  426. package/esm/utils/ajaxUpload.js +5 -4
  427. package/esm/utils/appendTooltip.d.ts +1 -1
  428. package/esm/utils/constants.d.ts +4 -4
  429. package/esm/utils/createChainedFunction.d.ts +1 -1
  430. package/esm/utils/getDataGroupBy.d.ts +1 -1
  431. package/esm/utils/mergeRefs.d.ts +2 -2
  432. package/esm/utils/previewFile.d.ts +1 -1
  433. package/esm/utils/propTypeChecker.d.ts +6 -2
  434. package/esm/utils/propTypeChecker.js +7 -6
  435. package/esm/utils/reactToString.d.ts +2 -1
  436. package/esm/utils/statusIcons.d.ts +1 -1
  437. package/esm/utils/stringToObject.d.ts +1 -1
  438. package/esm/utils/treeUtils.d.ts +32 -29
  439. package/esm/utils/treeUtils.js +45 -21
  440. package/esm/utils/useControlled.d.ts +6 -1
  441. package/esm/utils/useControlled.js +0 -8
  442. package/esm/utils/useCustom.js +6 -4
  443. package/esm/utils/useElementResize.d.ts +1 -1
  444. package/esm/utils/useElementResize.js +12 -5
  445. package/esm/utils/useFocus.d.ts +2 -2
  446. package/esm/utils/usePortal.d.ts +1 -1
  447. package/esm/utils/useRootClose.d.ts +2 -2
  448. package/esm/utils/useTimeout.d.ts +1 -1
  449. package/esm/utils/useTimeout.js +5 -3
  450. package/package.json +4 -4
  451. package/styles/index.less +1 -0
@@ -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;
@@ -14,7 +14,8 @@ var SelectedElement = function SelectedElement(props) {
14
14
  prefix = props.prefix,
15
15
  valueKey = props.valueKey,
16
16
  labelKey = props.labelKey,
17
- childrenKey = props.childrenKey,
17
+ _props$childrenKey = props.childrenKey,
18
+ childrenKey = _props$childrenKey === void 0 ? 'children' : _props$childrenKey,
18
19
  countable = props.countable,
19
20
  cascade = props.cascade,
20
21
  locale = props.locale;
@@ -1,9 +1,36 @@
1
1
  import React from 'react';
2
2
  import { ListProps, ListRowProps } from 'react-virtualized/dist/commonjs/List';
3
3
  import { AutoSizerProps } from 'react-virtualized/dist/commonjs/AutoSizer';
4
+ import type { Alignment } from 'react-virtualized';
4
5
  export interface ListInstance {
5
- child: Element;
6
- scrollToRow?: (index: number) => void;
6
+ /**
7
+ * Forcefully re-render the inner Grid component.
8
+ */
9
+ forceUpdateGrid(): void;
10
+ /**
11
+ * Gets offset for a given row and alignment.
12
+ */
13
+ getOffsetForRow(params: {
14
+ alignment?: Alignment;
15
+ index?: number;
16
+ }): number;
17
+ /**
18
+ * Pre-measure all rows in a List.
19
+ */
20
+ measureAllRows(): void;
21
+ /**
22
+ * Recompute row heights and offsets after the specified index (defaults to 0).
23
+ */
24
+ recomputeRowHeights(index?: number): void;
25
+ /**
26
+ * Scroll to the specified offset. Useful for animating position changes.
27
+ */
28
+ scrollToPosition(scrollTop?: number): void;
29
+ /**
30
+ * Ensure row is visible. This method can be used to safely scroll back to a cell
31
+ * that a user has scrolled away from even if it was previously scrolled to.
32
+ */
33
+ scrollToRow(index?: number): void;
7
34
  }
8
35
  export type { ListProps, AutoSizerProps, ListRowProps };
9
36
  export declare const List: React.ComponentType<ListProps>;
@@ -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
  */
@@ -1,15 +1,16 @@
1
1
  import React from 'react';
2
2
  import { OverlayTriggerInstance } from './PickerToggleTrigger';
3
3
  import { TypeAttributes, ItemDataType } from '../@types/common';
4
+ import { ListInstance } from './VirtualizedList';
4
5
  interface NodeKeys {
5
6
  valueKey: string;
6
7
  childrenKey: string;
7
8
  }
8
- 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[];
9
10
  export declare function shouldDisplay(label: React.ReactNode, searchKeyword: string): boolean;
10
11
  interface PickerClassNameProps {
11
12
  name?: string;
12
- classPrefix?: string;
13
+ classPrefix: string;
13
14
  className?: string;
14
15
  placement?: TypeAttributes.Placement;
15
16
  appearance?: 'default' | 'subtle';
@@ -42,7 +43,7 @@ interface EventsProps {
42
43
  */
43
44
  export declare function onMenuKeyDown(event: React.KeyboardEvent, events: EventsProps): void;
44
45
  interface FocusItemValueProps {
45
- target: HTMLElement | (() => HTMLElement);
46
+ target: HTMLElement | null | (() => HTMLElement | null);
46
47
  data?: any[];
47
48
  valueKey?: string;
48
49
  focusableQueryKey?: string;
@@ -55,18 +56,18 @@ interface FocusItemValueProps {
55
56
  * @param defaultFocusItemValue
56
57
  * @param props
57
58
  */
58
- export declare const useFocusItemValue: (defaultFocusItemValue: number | string | readonly string[], props: FocusItemValueProps) => {
59
- focusItemValue: any;
60
- setFocusItemValue: React.Dispatch<any>;
59
+ export declare const useFocusItemValue: <T extends string | number>(defaultFocusItemValue: T | null | undefined, props: FocusItemValueProps) => {
60
+ focusItemValue: T | null | undefined;
61
+ setFocusItemValue: React.Dispatch<React.SetStateAction<T | null | undefined>>;
61
62
  layer: number;
62
63
  setLayer: React.Dispatch<React.SetStateAction<number>>;
63
- keys: any[];
64
- setKeys: React.Dispatch<React.SetStateAction<any[]>>;
64
+ keys: (string | undefined)[];
65
+ setKeys: React.Dispatch<React.SetStateAction<(string | undefined)[]>>;
65
66
  onKeyDown: (event: any) => void;
66
67
  };
67
68
  interface ToggleKeyDownEventProps {
68
69
  toggle?: boolean;
69
- triggerRef?: React.RefObject<any>;
70
+ triggerRef: React.RefObject<any>;
70
71
  targetRef: React.RefObject<any>;
71
72
  overlayRef?: React.RefObject<any>;
72
73
  searchInputRef?: React.RefObject<any>;
@@ -88,7 +89,7 @@ export declare const useToggleKeyDownEvent: (props: ToggleKeyDownEventProps) =>
88
89
  interface SearchProps {
89
90
  labelKey: string;
90
91
  data: ItemDataType[];
91
- searchBy: (keyword: any, label: any, item: any) => boolean;
92
+ searchBy?: (keyword: any, label: any, item: any) => boolean;
92
93
  callback?: (keyword: string, data: ItemDataType[], event: React.SyntheticEvent) => void;
93
94
  }
94
95
  /**
@@ -97,31 +98,22 @@ interface SearchProps {
97
98
  */
98
99
  export declare function useSearch(props: SearchProps): {
99
100
  searchKeyword: string;
100
- filteredData: any[];
101
+ filteredData: import("../CheckTreePicker/utils").TreeNodeType[];
101
102
  updateFilteredData: (nextData: ItemDataType[]) => void;
102
103
  setSearchKeyword: React.Dispatch<React.SetStateAction<string>>;
103
- checkShouldDisplay: (item: ItemDataType, keyword?: string) => boolean;
104
+ checkShouldDisplay: (item: ItemDataType, keyword?: string | undefined) => boolean;
104
105
  handleSearch: (searchKeyword: string, event: React.SyntheticEvent) => void;
105
106
  };
106
- interface Refs {
107
+ interface PickerDependentParameters {
107
108
  triggerRef?: React.RefObject<OverlayTriggerInstance>;
108
109
  rootRef?: React.RefObject<HTMLElement>;
109
110
  overlayRef?: React.RefObject<HTMLElement>;
110
111
  targetRef?: React.RefObject<HTMLElement>;
112
+ listRef?: React.RefObject<ListInstance>;
113
+ inline?: boolean;
111
114
  }
112
115
  /**
113
116
  * A hook of the exposed method of Picker
114
- *
115
- * {
116
- * root: Element;
117
- * overlay: Element;
118
- * target?: Element;
119
- * updatePosition:() => void;
120
- * open:() => void;
121
- * close:() => void;
122
- * }
123
- * @param ref
124
- * @param params
125
117
  */
126
- export declare function usePublicMethods(ref: any, { triggerRef, overlayRef, targetRef, rootRef }: Refs, disabled?: boolean): void;
118
+ export declare function usePublicMethods(ref: any, parmas: PickerDependentParameters): void;
127
119
  export {};
@@ -21,6 +21,8 @@ var _kebabCase = _interopRequireDefault(require("lodash/kebabCase"));
21
21
 
22
22
  var _trim = _interopRequireDefault(require("lodash/trim"));
23
23
 
24
+ var _isNil = _interopRequireDefault(require("lodash/isNil"));
25
+
24
26
  var _isFunction = _interopRequireDefault(require("lodash/isFunction"));
25
27
 
26
28
  var _isUndefined = _interopRequireDefault(require("lodash/isUndefined"));
@@ -203,13 +205,11 @@ var useFocusItemValue = function useFocusItemValue(defaultFocusItemValue, props)
203
205
  var menu = (0, _isFunction.default)(target) ? target() : target;
204
206
  var currentKeys = keys;
205
207
 
206
- if (currentKeys.length === 0) {
207
- var _Array$from;
208
-
209
- 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) {
208
+ if (currentKeys.length === 0 && !(0, _isNil.default)(menu)) {
209
+ currentKeys = Array.from(menu.querySelectorAll(focusableQueryKey)).map(function (item) {
210
210
  var _item$dataset;
211
211
 
212
- return item === null || item === void 0 ? void 0 : (_item$dataset = item.dataset) === null || _item$dataset === void 0 ? void 0 : _item$dataset.key;
212
+ return (_item$dataset = item.dataset) === null || _item$dataset === void 0 ? void 0 : _item$dataset.key;
213
213
  });
214
214
  setKeys(currentKeys);
215
215
  }
@@ -271,12 +271,12 @@ var useFocusItemValue = function useFocusItemValue(defaultFocusItemValue, props)
271
271
  var subMenu = menu === null || menu === void 0 ? void 0 : menu.querySelector("[data-layer=\"" + nextLayer + "\"]");
272
272
 
273
273
  if (subMenu) {
274
- var _Array$from2;
274
+ var _Array$from;
275
275
 
276
- return (_Array$from2 = Array.from(subMenu.querySelectorAll(focusableQueryKey))) === null || _Array$from2 === void 0 ? void 0 : _Array$from2.map(function (item) {
276
+ return (_Array$from = Array.from(subMenu.querySelectorAll(focusableQueryKey))) === null || _Array$from === void 0 ? void 0 : _Array$from.map(function (item) {
277
277
  var _item$dataset2;
278
278
 
279
- return item === null || item === void 0 ? void 0 : (_item$dataset2 = item.dataset) === null || _item$dataset2 === void 0 ? void 0 : _item$dataset2.key;
279
+ return (_item$dataset2 = item.dataset) === null || _item$dataset2 === void 0 ? void 0 : _item$dataset2.key;
280
280
  });
281
281
  }
282
282
 
@@ -405,9 +405,15 @@ var useToggleKeyDownEvent = function useToggleKeyDownEvent(props) {
405
405
 
406
406
 
407
407
  if (event.key.length === 1 && /\w/.test(event.key)) {
408
- var _searchInputRef$curre;
408
+ var _event$target;
409
+
410
+ // Exclude Input
411
+ // eg: <SelectPicker renderExtraFooter={() => <Input />} />
412
+ if (((_event$target = event.target) === null || _event$target === void 0 ? void 0 : _event$target.tagName) !== 'INPUT') {
413
+ var _searchInputRef$curre;
409
414
 
410
- searchInputRef === null || searchInputRef === void 0 ? void 0 : (_searchInputRef$curre = searchInputRef.current) === null || _searchInputRef$curre === void 0 ? void 0 : _searchInputRef$curre.focus();
415
+ searchInputRef === null || searchInputRef === void 0 ? void 0 : (_searchInputRef$curre = searchInputRef.current) === null || _searchInputRef$curre === void 0 ? void 0 : _searchInputRef$curre.focus();
416
+ }
411
417
  }
412
418
  }
413
419
 
@@ -486,61 +492,80 @@ function useSearch(props) {
486
492
 
487
493
  /**
488
494
  * A hook of the exposed method of Picker
489
- *
490
- * {
491
- * root: Element;
492
- * overlay: Element;
493
- * target?: Element;
494
- * updatePosition:() => void;
495
- * open:() => void;
496
- * close:() => void;
497
- * }
498
- * @param ref
499
- * @param params
500
495
  */
501
- function usePublicMethods(ref, _ref, disabled) {
502
- var triggerRef = _ref.triggerRef,
503
- overlayRef = _ref.overlayRef,
504
- targetRef = _ref.targetRef,
505
- rootRef = _ref.rootRef;
496
+ function usePublicMethods(ref, parmas) {
497
+ var triggerRef = parmas.triggerRef,
498
+ overlayRef = parmas.overlayRef,
499
+ targetRef = parmas.targetRef,
500
+ rootRef = parmas.rootRef,
501
+ listRef = parmas.listRef,
502
+ inline = parmas.inline;
506
503
  var handleOpen = (0, _react.useCallback)(function () {
507
504
  var _triggerRef$current3;
508
505
 
509
- (_triggerRef$current3 = triggerRef.current) === null || _triggerRef$current3 === void 0 ? void 0 : _triggerRef$current3.open();
506
+ triggerRef === null || triggerRef === void 0 ? void 0 : (_triggerRef$current3 = triggerRef.current) === null || _triggerRef$current3 === void 0 ? void 0 : _triggerRef$current3.open();
510
507
  }, [triggerRef]);
511
508
  var handleClose = (0, _react.useCallback)(function () {
512
509
  var _triggerRef$current4;
513
510
 
514
- (_triggerRef$current4 = triggerRef.current) === null || _triggerRef$current4 === void 0 ? void 0 : _triggerRef$current4.close();
511
+ triggerRef === null || triggerRef === void 0 ? void 0 : (_triggerRef$current4 = triggerRef.current) === null || _triggerRef$current4 === void 0 ? void 0 : _triggerRef$current4.close();
515
512
  }, [triggerRef]);
516
513
  var handleUpdatePosition = (0, _react.useCallback)(function () {
517
514
  var _triggerRef$current5;
518
515
 
519
- (_triggerRef$current5 = triggerRef.current) === null || _triggerRef$current5 === void 0 ? void 0 : _triggerRef$current5.updatePosition();
516
+ triggerRef === null || triggerRef === void 0 ? void 0 : (_triggerRef$current5 = triggerRef.current) === null || _triggerRef$current5 === void 0 ? void 0 : _triggerRef$current5.updatePosition();
520
517
  }, [triggerRef]);
521
-
522
- if (!disabled) {
523
- // eslint-disable-next-line react-hooks/rules-of-hooks
524
- (0, _react.useImperativeHandle)(ref, function () {
518
+ (0, _react.useImperativeHandle)(ref, function () {
519
+ // Tree and CheckTree
520
+ if (inline) {
525
521
  return {
526
522
  get root() {
527
- var _triggerRef$current6;
523
+ var _triggerRef$current$r, _triggerRef$current6;
528
524
 
529
- 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;
525
+ 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;
530
526
  },
531
527
 
532
- get overlay() {
533
- return overlayRef.current;
534
- },
528
+ get list() {
529
+ if (!(listRef !== null && listRef !== void 0 && listRef.current)) {
530
+ throw new Error('The list is not found, please set `virtualized` for the component.');
531
+ }
535
532
 
536
- get target() {
537
- return targetRef === null || targetRef === void 0 ? void 0 : targetRef.current;
538
- },
533
+ return listRef === null || listRef === void 0 ? void 0 : listRef.current;
534
+ }
539
535
 
540
- updatePosition: handleUpdatePosition,
541
- open: handleOpen,
542
- close: handleClose
543
536
  };
544
- });
545
- }
537
+ }
538
+
539
+ return {
540
+ get root() {
541
+ var _ref, _triggerRef$current7;
542
+
543
+ 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;
544
+ },
545
+
546
+ get overlay() {
547
+ var _overlayRef$current;
548
+
549
+ return (_overlayRef$current = overlayRef === null || overlayRef === void 0 ? void 0 : overlayRef.current) !== null && _overlayRef$current !== void 0 ? _overlayRef$current : null;
550
+ },
551
+
552
+ get target() {
553
+ var _targetRef$current;
554
+
555
+ return (_targetRef$current = targetRef === null || targetRef === void 0 ? void 0 : targetRef.current) !== null && _targetRef$current !== void 0 ? _targetRef$current : null;
556
+ },
557
+
558
+ get list() {
559
+ if (!(listRef !== null && listRef !== void 0 && listRef.current)) {
560
+ throw new Error("\n The list is not found.\n 1.Please set virtualized for the component.\n 2.Please confirm whether the picker is open.\n ");
561
+ }
562
+
563
+ return listRef === null || listRef === void 0 ? void 0 : listRef.current;
564
+ },
565
+
566
+ updatePosition: handleUpdatePosition,
567
+ open: handleOpen,
568
+ close: handleClose
569
+ };
570
+ });
546
571
  }
@@ -62,7 +62,7 @@ var PlaceholderGrid = /*#__PURE__*/_react.default.forwardRef(function (props, re
62
62
  style: {
63
63
  width: widthPercent + "%",
64
64
  height: rowHeight,
65
- marginTop: j > 0 ? rowMargin : null
65
+ marginTop: j > 0 ? rowMargin : undefined
66
66
  }
67
67
  }));
68
68
  }
@@ -26,7 +26,8 @@ var Plaintext = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
26
26
  classPrefix = _props$classPrefix === void 0 ? 'plaintext' : _props$classPrefix,
27
27
  className = props.className,
28
28
  children = props.children,
29
- localeKey = props.localeKey,
29
+ _props$localeKey = props.localeKey,
30
+ localeKey = _props$localeKey === void 0 ? '' : _props$localeKey,
30
31
  _props$placeholder = props.placeholder,
31
32
  placeholder = _props$placeholder === void 0 ? locale[localeKey] : _props$placeholder,
32
33
  rest = (0, _objectWithoutPropertiesLoose2.default)(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 */
@@ -57,7 +57,7 @@ var RadioGroup = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
57
57
 
58
58
  var handleChange = (0, _react.useCallback)(function (nextValue, event) {
59
59
  setValue(nextValue);
60
- onChange === null || onChange === void 0 ? void 0 : onChange(nextValue, event);
60
+ onChange === null || onChange === void 0 ? void 0 : onChange(nextValue !== null && nextValue !== void 0 ? nextValue : '', event);
61
61
  }, [onChange, setValue]);
62
62
  var contextValue = (0, _react.useMemo)(function () {
63
63
  return {
@@ -73,10 +73,10 @@ var RadioGroup = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
73
73
  }, [disabled, handleChange, inline, isControlled, name, plaintext, readOnly, value]);
74
74
  return /*#__PURE__*/_react.default.createElement(RadioContext.Provider, {
75
75
  value: contextValue
76
- }, plaintext ? /*#__PURE__*/_react.default.createElement(_Plaintext.default, {
76
+ }, plaintext ? /*#__PURE__*/_react.default.createElement(_Plaintext.default, (0, _extends2.default)({
77
77
  ref: ref,
78
78
  localeKey: "notSelected"
79
- }, value ? children : null) : /*#__PURE__*/_react.default.createElement(Component, (0, _extends2.default)({
79
+ }, rest), value ? children : null) : /*#__PURE__*/_react.default.createElement(Component, (0, _extends2.default)({
80
80
  role: "radiogroup"
81
81
  }, rest, {
82
82
  ref: ref,
@@ -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;
@@ -33,6 +33,8 @@ var _Graduated = _interopRequireDefault(require("../Slider/Graduated"));
33
33
 
34
34
  var _utils2 = require("../Slider/utils");
35
35
 
36
+ var _propTypeChecker = require("../utils/propTypeChecker");
37
+
36
38
  var defaultDefaultValue = [0, 0];
37
39
 
38
40
  var RangeSlider = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
@@ -70,7 +72,7 @@ var RangeSlider = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
70
72
  onChange = props.onChange,
71
73
  onChangeCommitted = props.onChangeCommitted,
72
74
  rest = (0, _objectWithoutPropertiesLoose2.default)(props, ["aria-label", "aria-labelledby", "aria-valuetext", "as", "barClassName", "className", "defaultValue", "graduated", "progress", "vertical", "disabled", "classPrefix", "min", "max", "step", "value", "handleClassName", "handleStyle", "handleTitle", "tooltip", "getAriaValueText", "renderTooltip", "renderMark", "onChange", "onChangeCommitted"]);
73
- var barRef = (0, _react.useRef)(); // Define the parameter position of the handle
75
+ var barRef = (0, _react.useRef)(null); // Define the parameter position of the handle
74
76
 
75
77
  var handleIndexs = (0, _react.useRef)([0, 1]);
76
78
 
@@ -286,7 +288,7 @@ var RangeSlider = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
286
288
  onDragMove: handleDragMove,
287
289
  onDragEnd: handleChangeCommitted,
288
290
  onKeyDown: handleKeyDown,
289
- tabIndex: disabled ? null : 0,
291
+ tabIndex: disabled ? undefined : 0,
290
292
  'aria-orientation': vertical ? 'vertical' : 'horizontal',
291
293
  'aria-disabled': disabled,
292
294
  'aria-valuemax': max,
@@ -322,8 +324,8 @@ var RangeSlider = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
322
324
 
323
325
  RangeSlider.displayName = 'RangeSlider';
324
326
  RangeSlider.propTypes = (0, _extends2.default)({}, _Slider.sliderPropTypes, {
325
- value: _propTypes.default.arrayOf(_propTypes.default.number),
326
- defaultValue: _propTypes.default.arrayOf(_propTypes.default.number)
327
+ value: (0, _propTypeChecker.tupleType)(_propTypes.default.number.isRequired, _propTypes.default.number.isRequired),
328
+ defaultValue: (0, _propTypeChecker.tupleType)(_propTypes.default.number.isRequired, _propTypes.default.number.isRequired)
327
329
  });
328
330
  var _default = RangeSlider;
329
331
  exports.default = _default;
@@ -11,6 +11,8 @@ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends")
11
11
 
12
12
  var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutPropertiesLoose"));
13
13
 
14
+ var _isNil2 = _interopRequireDefault(require("lodash/isNil"));
15
+
14
16
  var _react = _interopRequireWildcard(require("react"));
15
17
 
16
18
  var _propTypes = _interopRequireDefault(require("prop-types"));
@@ -47,8 +49,8 @@ var Character = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
47
49
  prefix = _useClassNames.prefix,
48
50
  withClassPrefix = _useClassNames.withClassPrefix;
49
51
 
50
- var beforeRef = (0, _react.useRef)();
51
- var classes = merge(className, withClassPrefix(characterStatus[status]));
52
+ var beforeRef = (0, _react.useRef)(null);
53
+ var classes = merge(className, withClassPrefix(!(0, _isNil2.default)(status) && characterStatus[status]));
52
54
  var handleMouseMove = (0, _react.useCallback)(function (event) {
53
55
  onMouseMove === null || onMouseMove === void 0 ? void 0 : onMouseMove(getKey(beforeRef.current, event.target), event);
54
56
  }, [onMouseMove]);
package/cjs/Rate/Rate.js CHANGED
@@ -15,6 +15,8 @@ var _react = _interopRequireWildcard(require("react"));
15
15
 
16
16
  var _propTypes = _interopRequireDefault(require("prop-types"));
17
17
 
18
+ var _isNil = _interopRequireDefault(require("lodash/isNil"));
19
+
18
20
  var _Star = _interopRequireDefault(require("@rsuite/icons/legacy/Star"));
19
21
 
20
22
  var _utils = require("../utils");
@@ -41,7 +43,8 @@ var Rate = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
41
43
  _props$size = props.size,
42
44
  size = _props$size === void 0 ? 'md' : _props$size,
43
45
  color = props.color,
44
- allowHalf = props.allowHalf,
46
+ _props$allowHalf = props.allowHalf,
47
+ allowHalf = _props$allowHalf === void 0 ? false : _props$allowHalf,
45
48
  valueProp = props.value,
46
49
  _props$defaultValue = props.defaultValue,
47
50
  defaultValue = _props$defaultValue === void 0 ? 0 : _props$defaultValue,
@@ -138,7 +141,7 @@ var Rate = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
138
141
  return /*#__PURE__*/_react.default.createElement(_Plaintext.default, {
139
142
  localeKey: "notSelected",
140
143
  className: className
141
- }, value + "(" + max + ")");
144
+ }, !(0, _isNil.default)(value) ? value + "(" + max + ")" : null);
142
145
  }
143
146
 
144
147
  return /*#__PURE__*/_react.default.createElement(Component, (0, _extends2.default)({
@@ -53,7 +53,7 @@ var Ripple = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
53
53
  withClassPrefix = _useClassNames.withClassPrefix;
54
54
 
55
55
  var classes = merge(className, prefix('pond'));
56
- var triggerRef = (0, _react.useRef)();
56
+ var triggerRef = (0, _react.useRef)(null);
57
57
 
58
58
  var _useState = (0, _react.useState)(false),
59
59
  rippling = _useState[0],
@@ -90,10 +90,10 @@ var SelectPicker = /*#__PURE__*/_react.default.forwardRef(function (props, ref)
90
90
  renderMenuItem = props.renderMenuItem,
91
91
  renderExtraFooter = props.renderExtraFooter,
92
92
  rest = (0, _objectWithoutPropertiesLoose2.default)(props, ["as", "appearance", "data", "valueKey", "labelKey", "value", "classPrefix", "placeholder", "defaultValue", "disabled", "cleanable", "placement", "menuClassName", "menuAutoWidth", "menuMaxHeight", "menuStyle", "groupBy", "locale", "toggleAs", "style", "searchable", "disabledItemValues", "virtualized", "listProps", "id", "onGroupTitleClick", "searchBy", "onEntered", "onExited", "onClean", "onChange", "onSelect", "onSearch", "onClose", "onOpen", "sort", "renderValue", "renderMenu", "renderMenuGroup", "renderMenuItem", "renderExtraFooter"]);
93
- var triggerRef = (0, _react.useRef)();
94
- var targetRef = (0, _react.useRef)();
95
- var overlayRef = (0, _react.useRef)();
96
- var searchInputRef = (0, _react.useRef)();
93
+ var triggerRef = (0, _react.useRef)(null);
94
+ var targetRef = (0, _react.useRef)(null);
95
+ var overlayRef = (0, _react.useRef)(null);
96
+ var searchInputRef = (0, _react.useRef)(null);
97
97
 
98
98
  var _useCustom = (0, _utils.useCustom)('Picker', overrideLocale),
99
99
  locale = _useCustom.locale;
@@ -4,7 +4,7 @@
4
4
  * Ref: https://developer.mozilla.org/zh-CN/docs/Web/API/Node
5
5
  */
6
6
  export declare class Node {
7
- id: string;
7
+ id: string | null;
8
8
  nodeValue: string | null;
9
9
  parent: string | null;
10
10
  parentNode: Node | null;
@@ -23,16 +23,16 @@ export interface SidenavProps<T = string> extends WithAsProps {
23
23
  * Select the callback function for the menu
24
24
  * @deprecated Use <Sidenav onSelect> instead
25
25
  */
26
- onSelect?: (eventKey: T, event: React.SyntheticEvent) => void;
26
+ onSelect?: (eventKey: T | undefined, event: React.SyntheticEvent) => void;
27
27
  }
28
- export declare const SidenavContext: React.Context<SidenavContextType<string>>;
28
+ export declare const SidenavContext: React.Context<SidenavContextType<string> | null>;
29
29
  export interface SidenavContextType<T = string> {
30
30
  openKeys: T[];
31
- activeKey: T;
31
+ activeKey: T | null;
32
32
  sidenav: boolean;
33
33
  expanded: boolean;
34
34
  onOpenChange: (eventKey: T, event: React.SyntheticEvent) => void;
35
- onSelect?: (eventKey: T, event: React.SyntheticEvent) => void;
35
+ onSelect?: (eventKey: T | undefined, event: React.SyntheticEvent) => void;
36
36
  }
37
37
  export interface SidenavComponent extends RsRefForwardingComponent<'div', SidenavProps> {
38
38
  Header: typeof SidenavHeader;
@@ -34,6 +34,7 @@ var _deprecatePropType = _interopRequireDefault(require("../utils/deprecatePropT
34
34
  var SidenavContext = /*#__PURE__*/_react.default.createContext(null);
35
35
 
36
36
  exports.SidenavContext = SidenavContext;
37
+ var emptyArray = [];
37
38
 
38
39
  var Sidenav = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
39
40
  var _props$as = props.as,
@@ -45,8 +46,10 @@ var Sidenav = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
45
46
  appearance = _props$appearance === void 0 ? 'default' : _props$appearance,
46
47
  _props$expanded = props.expanded,
47
48
  expanded = _props$expanded === void 0 ? true : _props$expanded,
48
- activeKey = props.activeKey,
49
- defaultOpenKeys = props.defaultOpenKeys,
49
+ _props$activeKey = props.activeKey,
50
+ activeKey = _props$activeKey === void 0 ? null : _props$activeKey,
51
+ _props$defaultOpenKey = props.defaultOpenKeys,
52
+ defaultOpenKeys = _props$defaultOpenKey === void 0 ? emptyArray : _props$defaultOpenKey,
50
53
  openKeysProp = props.openKeys,
51
54
  onSelect = props.onSelect,
52
55
  onOpenChange = props.onOpenChange,