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
@@ -2,6 +2,7 @@ import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWith
2
2
  import React, { useState, useImperativeHandle, useCallback } from 'react';
3
3
  import kebabCase from 'lodash/kebabCase';
4
4
  import trim from 'lodash/trim';
5
+ import isNil from 'lodash/isNil';
5
6
  import isFunction from 'lodash/isFunction';
6
7
  import isUndefined from 'lodash/isUndefined';
7
8
  import omit from 'lodash/omit';
@@ -176,13 +177,11 @@ export var useFocusItemValue = function useFocusItemValue(defaultFocusItemValue,
176
177
  var menu = isFunction(target) ? target() : target;
177
178
  var currentKeys = keys;
178
179
 
179
- if (currentKeys.length === 0) {
180
- var _Array$from;
181
-
182
- currentKeys = (_Array$from = Array.from(menu === null || menu === void 0 ? void 0 : menu.querySelectorAll(focusableQueryKey))) === null || _Array$from === void 0 ? void 0 : _Array$from.map(function (item) {
180
+ if (currentKeys.length === 0 && !isNil(menu)) {
181
+ currentKeys = Array.from(menu.querySelectorAll(focusableQueryKey)).map(function (item) {
183
182
  var _item$dataset;
184
183
 
185
- return item === null || item === void 0 ? void 0 : (_item$dataset = item.dataset) === null || _item$dataset === void 0 ? void 0 : _item$dataset.key;
184
+ return (_item$dataset = item.dataset) === null || _item$dataset === void 0 ? void 0 : _item$dataset.key;
186
185
  });
187
186
  setKeys(currentKeys);
188
187
  }
@@ -244,12 +243,12 @@ export var useFocusItemValue = function useFocusItemValue(defaultFocusItemValue,
244
243
  var subMenu = menu === null || menu === void 0 ? void 0 : menu.querySelector("[data-layer=\"" + nextLayer + "\"]");
245
244
 
246
245
  if (subMenu) {
247
- var _Array$from2;
246
+ var _Array$from;
248
247
 
249
- return (_Array$from2 = Array.from(subMenu.querySelectorAll(focusableQueryKey))) === null || _Array$from2 === void 0 ? void 0 : _Array$from2.map(function (item) {
248
+ return (_Array$from = Array.from(subMenu.querySelectorAll(focusableQueryKey))) === null || _Array$from === void 0 ? void 0 : _Array$from.map(function (item) {
250
249
  var _item$dataset2;
251
250
 
252
- return item === null || item === void 0 ? void 0 : (_item$dataset2 = item.dataset) === null || _item$dataset2 === void 0 ? void 0 : _item$dataset2.key;
251
+ return (_item$dataset2 = item.dataset) === null || _item$dataset2 === void 0 ? void 0 : _item$dataset2.key;
253
252
  });
254
253
  }
255
254
 
@@ -376,9 +375,15 @@ export var useToggleKeyDownEvent = function useToggleKeyDownEvent(props) {
376
375
 
377
376
 
378
377
  if (event.key.length === 1 && /\w/.test(event.key)) {
379
- var _searchInputRef$curre;
378
+ var _event$target;
379
+
380
+ // Exclude Input
381
+ // eg: <SelectPicker renderExtraFooter={() => <Input />} />
382
+ if (((_event$target = event.target) === null || _event$target === void 0 ? void 0 : _event$target.tagName) !== 'INPUT') {
383
+ var _searchInputRef$curre;
380
384
 
381
- searchInputRef === null || searchInputRef === void 0 ? void 0 : (_searchInputRef$curre = searchInputRef.current) === null || _searchInputRef$curre === void 0 ? void 0 : _searchInputRef$curre.focus();
385
+ searchInputRef === null || searchInputRef === void 0 ? void 0 : (_searchInputRef$curre = searchInputRef.current) === null || _searchInputRef$curre === void 0 ? void 0 : _searchInputRef$curre.focus();
386
+ }
382
387
  }
383
388
  }
384
389
 
@@ -455,61 +460,80 @@ export function useSearch(props) {
455
460
 
456
461
  /**
457
462
  * A hook of the exposed method of Picker
458
- *
459
- * {
460
- * root: Element;
461
- * overlay: Element;
462
- * target?: Element;
463
- * updatePosition:() => void;
464
- * open:() => void;
465
- * close:() => void;
466
- * }
467
- * @param ref
468
- * @param params
469
463
  */
470
- export function usePublicMethods(ref, _ref, disabled) {
471
- var triggerRef = _ref.triggerRef,
472
- overlayRef = _ref.overlayRef,
473
- targetRef = _ref.targetRef,
474
- rootRef = _ref.rootRef;
464
+ export function usePublicMethods(ref, parmas) {
465
+ var triggerRef = parmas.triggerRef,
466
+ overlayRef = parmas.overlayRef,
467
+ targetRef = parmas.targetRef,
468
+ rootRef = parmas.rootRef,
469
+ listRef = parmas.listRef,
470
+ inline = parmas.inline;
475
471
  var handleOpen = useCallback(function () {
476
472
  var _triggerRef$current3;
477
473
 
478
- (_triggerRef$current3 = triggerRef.current) === null || _triggerRef$current3 === void 0 ? void 0 : _triggerRef$current3.open();
474
+ triggerRef === null || triggerRef === void 0 ? void 0 : (_triggerRef$current3 = triggerRef.current) === null || _triggerRef$current3 === void 0 ? void 0 : _triggerRef$current3.open();
479
475
  }, [triggerRef]);
480
476
  var handleClose = useCallback(function () {
481
477
  var _triggerRef$current4;
482
478
 
483
- (_triggerRef$current4 = triggerRef.current) === null || _triggerRef$current4 === void 0 ? void 0 : _triggerRef$current4.close();
479
+ triggerRef === null || triggerRef === void 0 ? void 0 : (_triggerRef$current4 = triggerRef.current) === null || _triggerRef$current4 === void 0 ? void 0 : _triggerRef$current4.close();
484
480
  }, [triggerRef]);
485
481
  var handleUpdatePosition = useCallback(function () {
486
482
  var _triggerRef$current5;
487
483
 
488
- (_triggerRef$current5 = triggerRef.current) === null || _triggerRef$current5 === void 0 ? void 0 : _triggerRef$current5.updatePosition();
484
+ triggerRef === null || triggerRef === void 0 ? void 0 : (_triggerRef$current5 = triggerRef.current) === null || _triggerRef$current5 === void 0 ? void 0 : _triggerRef$current5.updatePosition();
489
485
  }, [triggerRef]);
490
-
491
- if (!disabled) {
492
- // eslint-disable-next-line react-hooks/rules-of-hooks
493
- useImperativeHandle(ref, function () {
486
+ useImperativeHandle(ref, function () {
487
+ // Tree and CheckTree
488
+ if (inline) {
494
489
  return {
495
490
  get root() {
496
- var _triggerRef$current6;
491
+ var _triggerRef$current$r, _triggerRef$current6;
497
492
 
498
- return rootRef !== null && rootRef !== void 0 && rootRef.current ? rootRef === null || rootRef === void 0 ? void 0 : rootRef.current : (_triggerRef$current6 = triggerRef.current) === null || _triggerRef$current6 === void 0 ? void 0 : _triggerRef$current6.root;
493
+ return rootRef !== null && rootRef !== void 0 && rootRef.current ? rootRef === null || rootRef === void 0 ? void 0 : rootRef.current : (_triggerRef$current$r = triggerRef === null || triggerRef === void 0 ? void 0 : (_triggerRef$current6 = triggerRef.current) === null || _triggerRef$current6 === void 0 ? void 0 : _triggerRef$current6.root) !== null && _triggerRef$current$r !== void 0 ? _triggerRef$current$r : null;
499
494
  },
500
495
 
501
- get overlay() {
502
- return overlayRef.current;
503
- },
496
+ get list() {
497
+ if (!(listRef !== null && listRef !== void 0 && listRef.current)) {
498
+ throw new Error('The list is not found, please set `virtualized` for the component.');
499
+ }
504
500
 
505
- get target() {
506
- return targetRef === null || targetRef === void 0 ? void 0 : targetRef.current;
507
- },
501
+ return listRef === null || listRef === void 0 ? void 0 : listRef.current;
502
+ }
508
503
 
509
- updatePosition: handleUpdatePosition,
510
- open: handleOpen,
511
- close: handleClose
512
504
  };
513
- });
514
- }
505
+ }
506
+
507
+ return {
508
+ get root() {
509
+ var _ref, _triggerRef$current7;
510
+
511
+ return (_ref = (rootRef === null || rootRef === void 0 ? void 0 : rootRef.current) || (triggerRef === null || triggerRef === void 0 ? void 0 : (_triggerRef$current7 = triggerRef.current) === null || _triggerRef$current7 === void 0 ? void 0 : _triggerRef$current7.root)) !== null && _ref !== void 0 ? _ref : null;
512
+ },
513
+
514
+ get overlay() {
515
+ var _overlayRef$current;
516
+
517
+ return (_overlayRef$current = overlayRef === null || overlayRef === void 0 ? void 0 : overlayRef.current) !== null && _overlayRef$current !== void 0 ? _overlayRef$current : null;
518
+ },
519
+
520
+ get target() {
521
+ var _targetRef$current;
522
+
523
+ return (_targetRef$current = targetRef === null || targetRef === void 0 ? void 0 : targetRef.current) !== null && _targetRef$current !== void 0 ? _targetRef$current : null;
524
+ },
525
+
526
+ get list() {
527
+ if (!(listRef !== null && listRef !== void 0 && listRef.current)) {
528
+ 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 ");
529
+ }
530
+
531
+ return listRef === null || listRef === void 0 ? void 0 : listRef.current;
532
+ },
533
+
534
+ updatePosition: handleUpdatePosition,
535
+ open: handleOpen,
536
+ close: handleClose
537
+ };
538
+ });
515
539
  }
@@ -49,7 +49,7 @@ var PlaceholderGrid = /*#__PURE__*/React.forwardRef(function (props, ref) {
49
49
  style: {
50
50
  width: widthPercent + "%",
51
51
  height: rowHeight,
52
- marginTop: j > 0 ? rowMargin : null
52
+ marginTop: j > 0 ? rowMargin : undefined
53
53
  }
54
54
  }));
55
55
  }
@@ -16,7 +16,8 @@ var Plaintext = /*#__PURE__*/React.forwardRef(function (props, ref) {
16
16
  classPrefix = _props$classPrefix === void 0 ? 'plaintext' : _props$classPrefix,
17
17
  className = props.className,
18
18
  children = props.children,
19
- localeKey = props.localeKey,
19
+ _props$localeKey = props.localeKey,
20
+ localeKey = _props$localeKey === void 0 ? '' : _props$localeKey,
20
21
  _props$placeholder = props.placeholder,
21
22
  placeholder = _props$placeholder === void 0 ? locale[localeKey] : _props$placeholder,
22
23
  rest = _objectWithoutPropertiesLoose(props, ["as", "classPrefix", "className", "children", "localeKey", "placeholder"]);
@@ -27,7 +27,7 @@ export interface RadioProps<T = ValueType> extends WithAsProps, Omit<React.HTMLA
27
27
  /** Primary content */
28
28
  children?: React.ReactNode;
29
29
  /** Callback function with value changed */
30
- onChange?: (value: T, checked: boolean, event: React.ChangeEvent<HTMLInputElement>) => void;
30
+ onChange?: (value: T | undefined, checked: boolean, event: React.ChangeEvent<HTMLInputElement>) => void;
31
31
  }
32
32
  declare const Radio: React.ForwardRefExoticComponent<RadioProps<ValueType> & React.RefAttributes<unknown>>;
33
33
  export default Radio;
@@ -4,12 +4,12 @@ import { ValueType } from '../Radio';
4
4
  export interface RadioContextProps {
5
5
  inline?: boolean;
6
6
  name?: string;
7
- value?: ValueType;
7
+ value?: ValueType | null;
8
8
  controlled?: boolean;
9
9
  disabled?: boolean;
10
10
  readOnly?: boolean;
11
11
  plaintext?: boolean;
12
- onChange?: (value: ValueType, event: React.ChangeEvent<HTMLInputElement>) => void;
12
+ onChange?: (value: ValueType | undefined, event: React.ChangeEvent<HTMLInputElement>) => void;
13
13
  }
14
14
  export interface RadioGroupProps<T = ValueType> extends WithAsProps, FormControlBaseProps<T> {
15
15
  /** A radio group can have different appearances */
@@ -39,7 +39,7 @@ var RadioGroup = /*#__PURE__*/React.forwardRef(function (props, ref) {
39
39
 
40
40
  var handleChange = useCallback(function (nextValue, event) {
41
41
  setValue(nextValue);
42
- onChange === null || onChange === void 0 ? void 0 : onChange(nextValue, event);
42
+ onChange === null || onChange === void 0 ? void 0 : onChange(nextValue !== null && nextValue !== void 0 ? nextValue : '', event);
43
43
  }, [onChange, setValue]);
44
44
  var contextValue = useMemo(function () {
45
45
  return {
@@ -55,10 +55,10 @@ var RadioGroup = /*#__PURE__*/React.forwardRef(function (props, ref) {
55
55
  }, [disabled, handleChange, inline, isControlled, name, plaintext, readOnly, value]);
56
56
  return /*#__PURE__*/React.createElement(RadioContext.Provider, {
57
57
  value: contextValue
58
- }, plaintext ? /*#__PURE__*/React.createElement(Plaintext, {
58
+ }, plaintext ? /*#__PURE__*/React.createElement(Plaintext, _extends({
59
59
  ref: ref,
60
60
  localeKey: "notSelected"
61
- }, value ? children : null) : /*#__PURE__*/React.createElement(Component, _extends({
61
+ }, rest), value ? children : null) : /*#__PURE__*/React.createElement(Component, _extends({
62
62
  role: "radiogroup"
63
63
  }, rest, {
64
64
  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;
@@ -11,6 +11,7 @@ import ProgressBar from '../Slider/ProgressBar';
11
11
  import Handle from '../Slider/Handle';
12
12
  import Graduated from '../Slider/Graduated';
13
13
  import { precisionMath, checkValue } from '../Slider/utils';
14
+ import { tupleType } from '../utils/propTypeChecker';
14
15
  var defaultDefaultValue = [0, 0];
15
16
  var RangeSlider = /*#__PURE__*/React.forwardRef(function (props, ref) {
16
17
  var ariaLabel = props['aria-label'],
@@ -48,7 +49,7 @@ var RangeSlider = /*#__PURE__*/React.forwardRef(function (props, ref) {
48
49
  onChangeCommitted = props.onChangeCommitted,
49
50
  rest = _objectWithoutPropertiesLoose(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"]);
50
51
 
51
- var barRef = useRef(); // Define the parameter position of the handle
52
+ var barRef = useRef(null); // Define the parameter position of the handle
52
53
 
53
54
  var handleIndexs = useRef([0, 1]);
54
55
 
@@ -264,7 +265,7 @@ var RangeSlider = /*#__PURE__*/React.forwardRef(function (props, ref) {
264
265
  onDragMove: handleDragMove,
265
266
  onDragEnd: handleChangeCommitted,
266
267
  onKeyDown: handleKeyDown,
267
- tabIndex: disabled ? null : 0,
268
+ tabIndex: disabled ? undefined : 0,
268
269
  'aria-orientation': vertical ? 'vertical' : 'horizontal',
269
270
  'aria-disabled': disabled,
270
271
  'aria-valuemax': max,
@@ -299,7 +300,7 @@ var RangeSlider = /*#__PURE__*/React.forwardRef(function (props, ref) {
299
300
  });
300
301
  RangeSlider.displayName = 'RangeSlider';
301
302
  RangeSlider.propTypes = _extends({}, sliderPropTypes, {
302
- value: PropTypes.arrayOf(PropTypes.number),
303
- defaultValue: PropTypes.arrayOf(PropTypes.number)
303
+ value: tupleType(PropTypes.number.isRequired, PropTypes.number.isRequired),
304
+ defaultValue: tupleType(PropTypes.number.isRequired, PropTypes.number.isRequired)
304
305
  });
305
306
  export default RangeSlider;
@@ -1,5 +1,6 @@
1
1
  import _extends from "@babel/runtime/helpers/esm/extends";
2
2
  import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
3
+ import _isNil from "lodash/isNil";
3
4
 
4
5
  var _characterStatus;
5
6
 
@@ -33,8 +34,8 @@ var Character = /*#__PURE__*/React.forwardRef(function (props, ref) {
33
34
  prefix = _useClassNames.prefix,
34
35
  withClassPrefix = _useClassNames.withClassPrefix;
35
36
 
36
- var beforeRef = useRef();
37
- var classes = merge(className, withClassPrefix(characterStatus[status]));
37
+ var beforeRef = useRef(null);
38
+ var classes = merge(className, withClassPrefix(!_isNil(status) && characterStatus[status]));
38
39
  var handleMouseMove = useCallback(function (event) {
39
40
  onMouseMove === null || onMouseMove === void 0 ? void 0 : onMouseMove(getKey(beforeRef.current, event.target), event);
40
41
  }, [onMouseMove]);
package/esm/Rate/Rate.js CHANGED
@@ -2,6 +2,7 @@ import _extends from "@babel/runtime/helpers/esm/extends";
2
2
  import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
3
3
  import React, { useCallback, useEffect, useState } from 'react';
4
4
  import PropTypes from 'prop-types';
5
+ import isNil from 'lodash/isNil';
5
6
  import Star from '@rsuite/icons/legacy/Star';
6
7
  import { useClassNames, useControlled, shallowEqualArray, SIZE, KEY_VALUES } from '../utils';
7
8
  import { transformValueToCharacterMap, transformCharacterMapToValue } from './utils';
@@ -23,7 +24,8 @@ var Rate = /*#__PURE__*/React.forwardRef(function (props, ref) {
23
24
  _props$size = props.size,
24
25
  size = _props$size === void 0 ? 'md' : _props$size,
25
26
  color = props.color,
26
- allowHalf = props.allowHalf,
27
+ _props$allowHalf = props.allowHalf,
28
+ allowHalf = _props$allowHalf === void 0 ? false : _props$allowHalf,
27
29
  valueProp = props.value,
28
30
  _props$defaultValue = props.defaultValue,
29
31
  defaultValue = _props$defaultValue === void 0 ? 0 : _props$defaultValue,
@@ -120,7 +122,7 @@ var Rate = /*#__PURE__*/React.forwardRef(function (props, ref) {
120
122
  return /*#__PURE__*/React.createElement(Plaintext, {
121
123
  localeKey: "notSelected",
122
124
  className: className
123
- }, value + "(" + max + ")");
125
+ }, !isNil(value) ? value + "(" + max + ")" : null);
124
126
  }
125
127
 
126
128
  return /*#__PURE__*/React.createElement(Component, _extends({
@@ -37,7 +37,7 @@ var Ripple = /*#__PURE__*/React.forwardRef(function (props, ref) {
37
37
  withClassPrefix = _useClassNames.withClassPrefix;
38
38
 
39
39
  var classes = merge(className, prefix('pond'));
40
- var triggerRef = useRef();
40
+ var triggerRef = useRef(null);
41
41
 
42
42
  var _useState = useState(false),
43
43
  rippling = _useState[0],
@@ -70,10 +70,10 @@ var SelectPicker = /*#__PURE__*/React.forwardRef(function (props, ref) {
70
70
  renderExtraFooter = props.renderExtraFooter,
71
71
  rest = _objectWithoutPropertiesLoose(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"]);
72
72
 
73
- var triggerRef = useRef();
74
- var targetRef = useRef();
75
- var overlayRef = useRef();
76
- var searchInputRef = useRef();
73
+ var triggerRef = useRef(null);
74
+ var targetRef = useRef(null);
75
+ var overlayRef = useRef(null);
76
+ var searchInputRef = useRef(null);
77
77
 
78
78
  var _useCustom = useCustom('Picker', overrideLocale),
79
79
  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;
@@ -11,6 +11,7 @@ import SidenavToggle from './SidenavToggle';
11
11
  import { useClassNames, useControlled, mergeRefs } from '../utils';
12
12
  import deprecatePropType from '../utils/deprecatePropType';
13
13
  export var SidenavContext = /*#__PURE__*/React.createContext(null);
14
+ var emptyArray = [];
14
15
  var Sidenav = /*#__PURE__*/React.forwardRef(function (props, ref) {
15
16
  var _props$as = props.as,
16
17
  Component = _props$as === void 0 ? 'nav' : _props$as,
@@ -21,8 +22,10 @@ var Sidenav = /*#__PURE__*/React.forwardRef(function (props, ref) {
21
22
  appearance = _props$appearance === void 0 ? 'default' : _props$appearance,
22
23
  _props$expanded = props.expanded,
23
24
  expanded = _props$expanded === void 0 ? true : _props$expanded,
24
- activeKey = props.activeKey,
25
- defaultOpenKeys = props.defaultOpenKeys,
25
+ _props$activeKey = props.activeKey,
26
+ activeKey = _props$activeKey === void 0 ? null : _props$activeKey,
27
+ _props$defaultOpenKey = props.defaultOpenKeys,
28
+ defaultOpenKeys = _props$defaultOpenKey === void 0 ? emptyArray : _props$defaultOpenKey,
26
29
  openKeysProp = props.openKeys,
27
30
  onSelect = props.onSelect,
28
31
  onOpenChange = props.onOpenChange,
@@ -38,13 +38,8 @@ var SidenavDropdown = /*#__PURE__*/React.forwardRef(function (props, ref) {
38
38
  onToggle = props.onToggle,
39
39
  rest = _objectWithoutPropertiesLoose(props, ["as", "title", "children", "className", "menuStyle", "disabled", "renderTitle", "renderToggle", "classPrefix", "placement", "toggleClassName", "icon", "eventKey", "toggleAs", "noCaret", "style", "onOpen", "onClose", "open", "onToggle"]);
40
40
 
41
- var _useContext = useContext(SidenavContext),
42
- _useContext$openKeys = _useContext.openKeys,
43
- openKeys = _useContext$openKeys === void 0 ? [] : _useContext$openKeys,
44
- onOpenChange = _useContext.onOpenChange;
45
-
46
- var _useContext2 = useContext(DropdownContext),
47
- hasSelectedItem = _useContext2.hasSelectedItem;
41
+ var sidenavContext = useContext(SidenavContext);
42
+ var dropdownContext = useContext(DropdownContext);
48
43
 
49
44
  var _useClassNames = useClassNames(classPrefix),
50
45
  merge = _useClassNames.merge,
@@ -52,6 +47,15 @@ var SidenavDropdown = /*#__PURE__*/React.forwardRef(function (props, ref) {
52
47
 
53
48
  var internalId = useInternalId('SidenavDropdown');
54
49
  var uniqueKey = eventKey !== null && eventKey !== void 0 ? eventKey : internalId;
50
+
51
+ if (!sidenavContext || !dropdownContext) {
52
+ throw new Error('<SidenavDropdown> component is not supposed to be used standalone. Use <Dropdown> inside <Sidenav> instead.');
53
+ }
54
+
55
+ var _sidenavContext$openK = sidenavContext.openKeys,
56
+ openKeys = _sidenavContext$openK === void 0 ? [] : _sidenavContext$openK,
57
+ onOpenChange = sidenavContext.onOpenChange;
58
+ var hasSelectedItem = dropdownContext.hasSelectedItem;
55
59
  var handleToggleDisclosure = useCallback(function (open, event) {
56
60
  if (open) {
57
61
  onClose === null || onClose === void 0 ? void 0 : onClose();
@@ -33,12 +33,16 @@ var SidenavDropdownItem = /*#__PURE__*/React.forwardRef(function (props, ref) {
33
33
  onSelect = props.onSelect,
34
34
  rest = _objectWithoutPropertiesLoose(props, ["as", "active", "children", "disabled", "divider", "panel", "className", "style", "classPrefix", "icon", "eventKey", "onClick", "onSelect"]);
35
35
 
36
- var _useContext = useContext(SidenavContext),
37
- activeKey = _useContext.activeKey,
38
- onSidenavSelect = _useContext.onSelect;
36
+ var sidenavContext = useContext(SidenavContext);
37
+ var dropdown = useContext(DropdownContext);
38
+
39
+ if (!sidenavContext || !dropdown) {
40
+ throw new Error('<SidenavDropdownItem> component is not supposed to be used standalone. Use <Dropdown.Item> within <Sidenav> instead.');
41
+ }
39
42
 
43
+ var activeKey = sidenavContext.activeKey,
44
+ onSidenavSelect = sidenavContext.onSelect;
40
45
  var nav = useContext(NavContext);
41
- var dropdown = useContext(DropdownContext);
42
46
 
43
47
  var _useClassNames = useClassNames(classPrefix),
44
48
  merge = _useClassNames.merge,
@@ -52,9 +56,11 @@ var SidenavDropdownItem = /*#__PURE__*/React.forwardRef(function (props, ref) {
52
56
  disabled: disabled
53
57
  }));
54
58
  var handleClick = useCallback(function (event) {
59
+ var _dropdown$onSelect;
60
+
55
61
  if (disabled) return;
56
62
  onSelect === null || onSelect === void 0 ? void 0 : onSelect(eventKey, event);
57
- dropdown === null || dropdown === void 0 ? void 0 : dropdown.onSelect(eventKey, event);
63
+ (_dropdown$onSelect = dropdown.onSelect) === null || _dropdown$onSelect === void 0 ? void 0 : _dropdown$onSelect.call(dropdown, eventKey, event);
58
64
  onSidenavSelect === null || onSidenavSelect === void 0 ? void 0 : onSidenavSelect(eventKey, event);
59
65
  }, [disabled, onSelect, onSidenavSelect, eventKey, dropdown]);
60
66
  var menuitemEventHandlers = {
@@ -46,12 +46,16 @@ var SidenavDropdownMenu = /*#__PURE__*/React.forwardRef(function (props, ref) {
46
46
  withClassPrefix = _useClassNames.withClassPrefix,
47
47
  prefix = _useClassNames.prefix;
48
48
 
49
- var _useContext = useContext(SidenavContext),
50
- _useContext$openKeys = _useContext.openKeys,
51
- openKeys = _useContext$openKeys === void 0 ? [] : _useContext$openKeys,
52
- onOpenChange = _useContext.onOpenChange,
53
- onSidenavSelect = _useContext.onSelect;
49
+ var sidenavContext = useContext(SidenavContext);
54
50
 
51
+ if (!sidenavContext) {
52
+ throw new Error('<SidenavDropdownMenu> component is not supposed to be used standalone. Use <Dropdown.Item> inside <Sidenav> instead.');
53
+ }
54
+
55
+ var _sidenavContext$openK = sidenavContext.openKeys,
56
+ openKeys = _sidenavContext$openK === void 0 ? [] : _sidenavContext$openK,
57
+ onOpenChange = sidenavContext.onOpenChange,
58
+ onSidenavSelect = sidenavContext.onSelect;
55
59
  var handleClick = useCallback(function (event) {
56
60
  if (disabled) return;
57
61
  onSelect === null || onSelect === void 0 ? void 0 : onSelect(eventKey, event);
@@ -11,7 +11,7 @@ export interface SidenavItemProps<T = any> extends WithAsProps, Omit<React.HTMLA
11
11
  /** The value of the current option */
12
12
  eventKey?: T;
13
13
  /** Selected callback function */
14
- onSelect?: (eventKey: T, event: React.MouseEvent<HTMLElement>) => void;
14
+ onSelect?: (eventKey: T, event: React.MouseEvent) => void;
15
15
  divider?: boolean;
16
16
  panel?: boolean;
17
17
  }
@@ -30,6 +30,10 @@ var SidenavItem = /*#__PURE__*/React.forwardRef(function (props, ref) {
30
30
 
31
31
  var sidenav = useContext(SidenavContext);
32
32
 
33
+ if (!sidenav) {
34
+ throw new Error('<SidenavItem> component is not supposed to be used standalone. Use <Nav.Item> inside <Sidenav> instead.');
35
+ }
36
+
33
37
  var _useContext = useContext(NavContext),
34
38
  activeKey = _useContext.activeKey,
35
39
  onSelectFromNav = _useContext.onSelect;
@@ -1,11 +1,11 @@
1
1
  import React from 'react';
2
2
  import { WithAsProps, RsRefForwardingComponent } from '../@types/common';
3
3
  export interface GraduatedProps extends WithAsProps {
4
- step?: number;
5
- min?: number;
6
- max?: number;
7
- count?: number;
8
- value?: number | number[];
4
+ step: number;
5
+ min: number;
6
+ max: number;
7
+ count: number;
8
+ value: number | number[];
9
9
  renderMark?: (mark: number) => React.ReactNode;
10
10
  }
11
11
  declare const Graduated: RsRefForwardingComponent<'div', GraduatedProps>;
@@ -7,7 +7,7 @@ export interface HandleProps extends WithAsProps, React.HTMLAttributes<HTMLDivEl
7
7
  rtl?: boolean;
8
8
  position?: number;
9
9
  value?: number;
10
- renderTooltip?: (value: number) => React.ReactNode;
10
+ renderTooltip?: (value: number | undefined) => React.ReactNode;
11
11
  onDragMove?: (event: React.DragEvent, dataset?: DOMStringMap) => void;
12
12
  onDragStart?: (event: React.MouseEvent) => void;
13
13
  onDragEnd?: (event: React.MouseEvent, dataset?: DOMStringMap) => void;
@@ -39,7 +39,7 @@ var Handle = /*#__PURE__*/React.forwardRef(function (props, ref) {
39
39
  active = _useState[0],
40
40
  setActive = _useState[1];
41
41
 
42
- var rootRef = useRef();
42
+ var rootRef = useRef(null);
43
43
  var horizontalKey = rtl ? 'right' : 'left';
44
44
  var direction = vertical ? 'bottom' : horizontalKey;
45
45
 
@@ -52,7 +52,7 @@ var Handle = /*#__PURE__*/React.forwardRef(function (props, ref) {
52
52
  var handleClasses = merge(className, prefix('handle'), {
53
53
  active: active
54
54
  });
55
- var tooltipRef = useRef();
55
+ var tooltipRef = useRef(null);
56
56
  var mouseMoveTracker = useRef();
57
57
  var releaseMouseMoves = useCallback(function () {
58
58
  var _mouseMoveTracker$cur;
@@ -72,20 +72,24 @@ var Handle = /*#__PURE__*/React.forwardRef(function (props, ref) {
72
72
  var _mouseMoveTracker$cur2;
73
73
 
74
74
  if ((_mouseMoveTracker$cur2 = mouseMoveTracker.current) !== null && _mouseMoveTracker$cur2 !== void 0 && _mouseMoveTracker$cur2.isDragging()) {
75
- onDragMove === null || onDragMove === void 0 ? void 0 : onDragMove(event, rootRef.current.dataset);
75
+ var _rootRef$current;
76
+
77
+ onDragMove === null || onDragMove === void 0 ? void 0 : onDragMove(event, (_rootRef$current = rootRef.current) === null || _rootRef$current === void 0 ? void 0 : _rootRef$current.dataset);
76
78
  setTooltipPosition();
77
79
  }
78
80
  }, [onDragMove, setTooltipPosition]);
79
81
  var handleDragEnd = useCallback(function (event) {
82
+ var _rootRef$current2;
83
+
80
84
  setActive(false);
81
85
  releaseMouseMoves();
82
- onDragEnd === null || onDragEnd === void 0 ? void 0 : onDragEnd(event, rootRef.current.dataset);
86
+ onDragEnd === null || onDragEnd === void 0 ? void 0 : onDragEnd(event, (_rootRef$current2 = rootRef.current) === null || _rootRef$current2 === void 0 ? void 0 : _rootRef$current2.dataset);
83
87
  }, [onDragEnd, releaseMouseMoves]);
84
88
  var getMouseMoveTracker = useCallback(function () {
85
89
  return mouseMoveTracker.current || new DOMMouseMoveTracker(handleDragMove, handleDragEnd, document.body);
86
90
  }, [handleDragEnd, handleDragMove]);
87
91
  var handleMouseDown = useCallback(function (event) {
88
- var _mouseMoveTracker$cur3, _rootRef$current;
92
+ var _mouseMoveTracker$cur3, _rootRef$current3;
89
93
 
90
94
  if (disabled) {
91
95
  return;
@@ -93,7 +97,7 @@ var Handle = /*#__PURE__*/React.forwardRef(function (props, ref) {
93
97
 
94
98
  mouseMoveTracker.current = getMouseMoveTracker();
95
99
  (_mouseMoveTracker$cur3 = mouseMoveTracker.current) === null || _mouseMoveTracker$cur3 === void 0 ? void 0 : _mouseMoveTracker$cur3.captureMouseMoves(event);
96
- (_rootRef$current = rootRef.current) === null || _rootRef$current === void 0 ? void 0 : _rootRef$current.focus();
100
+ (_rootRef$current3 = rootRef.current) === null || _rootRef$current3 === void 0 ? void 0 : _rootRef$current3.focus();
97
101
  setActive(true);
98
102
  onDragStart === null || onDragStart === void 0 ? void 0 : onDragStart(event);
99
103
  }, [disabled, getMouseMoveTracker, onDragStart]);
@@ -1,7 +1,7 @@
1
1
  import React from 'react';
2
2
  import { WithAsProps, RsRefForwardingComponent } from '../@types/common';
3
3
  export interface MarkProps extends WithAsProps {
4
- mark?: number;
4
+ mark: number;
5
5
  last?: boolean;
6
6
  renderMark?: (mark: number) => React.ReactNode;
7
7
  }
@@ -45,7 +45,7 @@ export interface SliderProps<T = number> extends WithAsProps, FormControlBasePro
45
45
  /** Customize labels on the render ruler */
46
46
  renderMark?: (mark: number) => React.ReactNode;
47
47
  /** Customize the content of the rendered Tooltip. */
48
- renderTooltip?: (value: number) => React.ReactNode;
48
+ renderTooltip?: (value: number | undefined) => React.ReactNode;
49
49
  /** Accepts a function which returns a string value that provides a user-friendly name for the current value of the slider. */
50
50
  getAriaValueText?: (value: number, eventKey?: 'start' | 'end') => string;
51
51
  /** Callback function that is fired when the mouseup is triggered. */