rsuite 5.2.4 → 5.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (433) hide show
  1. package/Avatar/styles/index.less +2 -2
  2. package/AvatarGroup/package.json +7 -0
  3. package/AvatarGroup/styles/index.less +19 -0
  4. package/ButtonGroup/styles/index.less +0 -18
  5. package/CHANGELOG.md +15 -0
  6. package/CheckTreePicker/styles/index.less +14 -1
  7. package/TreePicker/styles/index.less +10 -0
  8. package/cjs/@types/common.d.ts +9 -8
  9. package/cjs/@types/utils.d.ts +12 -0
  10. package/cjs/Affix/Affix.js +5 -5
  11. package/cjs/Animation/Transition.d.ts +21 -12
  12. package/cjs/Animation/Transition.js +4 -1
  13. package/cjs/AutoComplete/AutoComplete.js +1 -1
  14. package/cjs/AutoComplete/utils.d.ts +1 -1
  15. package/cjs/Avatar/Avatar.js +10 -3
  16. package/cjs/AvatarGroup/AvatarGroup.d.ts +15 -0
  17. package/cjs/AvatarGroup/AvatarGroup.js +71 -0
  18. package/cjs/AvatarGroup/index.d.ts +3 -0
  19. package/cjs/AvatarGroup/index.js +11 -0
  20. package/cjs/Breadcrumb/Breadcrumb.js +1 -1
  21. package/cjs/Button/Button.js +8 -2
  22. package/cjs/ButtonGroup/ButtonGroup.js +8 -2
  23. package/cjs/ButtonGroup/ButtonGroupContext.d.ts +7 -0
  24. package/cjs/ButtonGroup/ButtonGroupContext.js +13 -0
  25. package/cjs/ButtonGroup/index.d.ts +2 -0
  26. package/cjs/ButtonGroup/index.js +3 -0
  27. package/cjs/Calendar/Calendar.d.ts +4 -4
  28. package/cjs/Calendar/Calendar.js +5 -2
  29. package/cjs/Calendar/CalendarContext.js +1 -1
  30. package/cjs/Calendar/TableRow.js +1 -1
  31. package/cjs/Calendar/TimeDropdown.js +6 -5
  32. package/cjs/Calendar/types.d.ts +2 -2
  33. package/cjs/Calendar/useCalendarDate.d.ts +2 -2
  34. package/cjs/Carousel/Carousel.d.ts +1 -1
  35. package/cjs/Carousel/Carousel.js +1 -1
  36. package/cjs/Cascader/Cascader.d.ts +1 -1
  37. package/cjs/Cascader/Cascader.js +10 -10
  38. package/cjs/Cascader/DropdownMenu.d.ts +5 -4
  39. package/cjs/Cascader/utils.d.ts +3 -3
  40. package/cjs/CheckPicker/CheckPicker.js +4 -4
  41. package/cjs/CheckTreePicker/CheckTreeNode.d.ts +1 -1
  42. package/cjs/CheckTreePicker/CheckTreeNode.js +7 -9
  43. package/cjs/CheckTreePicker/CheckTreePicker.js +29 -25
  44. package/cjs/CheckTreePicker/utils.d.ts +3 -1
  45. package/cjs/CheckTreePicker/utils.js +12 -10
  46. package/cjs/Checkbox/Checkbox.d.ts +1 -1
  47. package/cjs/CustomProvider/CustomProvider.d.ts +31 -57
  48. package/cjs/DOMHelper/index.d.ts +12 -12
  49. package/cjs/DatePicker/DatePicker.d.ts +1 -1
  50. package/cjs/DatePicker/DatePicker.js +15 -9
  51. package/cjs/DatePicker/Toolbar.d.ts +12 -9
  52. package/cjs/DatePicker/Toolbar.js +6 -8
  53. package/cjs/DatePicker/types.d.ts +4 -4
  54. package/cjs/DatePicker/utils.d.ts +4 -3
  55. package/cjs/DateRangePicker/Calendar.d.ts +8 -7
  56. package/cjs/DateRangePicker/Calendar.js +1 -1
  57. package/cjs/DateRangePicker/DateRangePicker.d.ts +6 -6
  58. package/cjs/DateRangePicker/DateRangePicker.js +105 -108
  59. package/cjs/DateRangePicker/types.d.ts +2 -1
  60. package/cjs/DateRangePicker/utils.d.ts +6 -6
  61. package/cjs/DateRangePicker/utils.js +7 -2
  62. package/cjs/Disclosure/Disclosure.js +4 -2
  63. package/cjs/Disclosure/DisclosureButton.js +9 -7
  64. package/cjs/Disclosure/DisclosureContent.js +4 -6
  65. package/cjs/Disclosure/DisclosureContext.d.ts +2 -2
  66. package/cjs/Disclosure/useDisclosureContext.d.ts +2 -0
  67. package/cjs/Disclosure/useDisclosureContext.js +20 -0
  68. package/cjs/Dropdown/Dropdown.d.ts +1 -1
  69. package/cjs/Dropdown/DropdownContext.d.ts +2 -2
  70. package/cjs/Dropdown/DropdownItem.js +1 -1
  71. package/cjs/Dropdown/DropdownMenu.d.ts +3 -3
  72. package/cjs/Dropdown/DropdownState.d.ts +1 -1
  73. package/cjs/Dropdown/DropdownToggle.js +2 -1
  74. package/cjs/Dropdown/useRenderDropdownItem.d.ts +1 -1
  75. package/cjs/Form/Form.js +1 -1
  76. package/cjs/Form/FormContext.d.ts +1 -1
  77. package/cjs/FormControl/FormControl.d.ts +1 -1
  78. package/cjs/FormControl/FormControl.js +5 -4
  79. package/cjs/FormGroup/FormGroup.d.ts +1 -1
  80. package/cjs/Input/Input.d.ts +3 -2
  81. package/cjs/InputGroup/InputGroup.d.ts +1 -1
  82. package/cjs/InputNumber/InputNumber.js +6 -2
  83. package/cjs/InputPicker/InputAutosize.js +4 -4
  84. package/cjs/InputPicker/InputPicker.d.ts +2 -2
  85. package/cjs/InputPicker/InputPicker.js +15 -10
  86. package/cjs/List/ListContext.d.ts +1 -1
  87. package/cjs/List/ListContext.js +8 -1
  88. package/cjs/List/helper/AutoScroller.js +4 -2
  89. package/cjs/List/helper/useManager.d.ts +3 -3
  90. package/cjs/List/helper/useManager.js +1 -1
  91. package/cjs/List/helper/useSortHelper.d.ts +3 -3
  92. package/cjs/List/helper/useSortHelper.js +6 -4
  93. package/cjs/List/helper/utils.d.ts +2 -2
  94. package/cjs/MaskedInput/TextMask.d.ts +5 -5
  95. package/cjs/MaskedInput/adjustCaretPosition.d.ts +6 -6
  96. package/cjs/MaskedInput/conformToMask.js +5 -4
  97. package/cjs/MaskedInput/createTextMaskInputElement.d.ts +2 -2
  98. package/cjs/MaskedInput/utilities.d.ts +1 -1
  99. package/cjs/Menu/Menu.js +14 -7
  100. package/cjs/Menu/MenuContext.d.ts +1 -1
  101. package/cjs/Menu/MenuItem.d.ts +1 -1
  102. package/cjs/Menu/MenuItem.js +19 -15
  103. package/cjs/Menu/Menubar.js +8 -8
  104. package/cjs/Menu/useMenu.js +17 -7
  105. package/cjs/Modal/Modal.js +12 -6
  106. package/cjs/Modal/ModalContext.d.ts +2 -2
  107. package/cjs/Modal/utils.d.ts +1 -1
  108. package/cjs/Modal/utils.js +3 -5
  109. package/cjs/MultiCascader/DropdownMenu.d.ts +4 -4
  110. package/cjs/MultiCascader/MultiCascader.js +6 -6
  111. package/cjs/MultiCascader/utils.d.ts +14 -14
  112. package/cjs/Nav/Nav.d.ts +1 -1
  113. package/cjs/Nav/NavContext.d.ts +1 -1
  114. package/cjs/Nav/NavItem.d.ts +1 -1
  115. package/cjs/Navbar/Navbar.js +1 -1
  116. package/cjs/Navbar/NavbarItem.d.ts +1 -1
  117. package/cjs/Overlay/Modal.d.ts +2 -2
  118. package/cjs/Overlay/Modal.js +41 -31
  119. package/cjs/Overlay/ModalManager.d.ts +17 -8
  120. package/cjs/Overlay/ModalManager.js +11 -20
  121. package/cjs/Overlay/Overlay.d.ts +2 -2
  122. package/cjs/Overlay/Overlay.js +1 -1
  123. package/cjs/Overlay/OverlayTrigger.d.ts +11 -11
  124. package/cjs/Overlay/OverlayTrigger.js +14 -6
  125. package/cjs/Overlay/Position.d.ts +3 -3
  126. package/cjs/Overlay/Position.js +14 -8
  127. package/cjs/Overlay/positionUtils.d.ts +1 -1
  128. package/cjs/Overlay/positionUtils.js +8 -8
  129. package/cjs/Pagination/Pagination.d.ts +1 -1
  130. package/cjs/Pagination/PaginationButton.d.ts +3 -3
  131. package/cjs/Pagination/PaginationGroup.js +5 -3
  132. package/cjs/Panel/Panel.d.ts +1 -1
  133. package/cjs/Panel/Panel.js +2 -2
  134. package/cjs/PanelGroup/PanelGroup.d.ts +2 -2
  135. package/cjs/Picker/DropdownMenu.d.ts +8 -5
  136. package/cjs/Picker/DropdownMenu.js +5 -5
  137. package/cjs/Picker/PickerOverlay.js +4 -3
  138. package/cjs/Picker/PickerToggle.js +4 -3
  139. package/cjs/Picker/PickerToggleTrigger.d.ts +2 -6
  140. package/cjs/Picker/SearchBar.d.ts +1 -1
  141. package/cjs/Picker/SelectedElement.js +2 -1
  142. package/cjs/Picker/propTypes.d.ts +2 -2
  143. package/cjs/Picker/utils.d.ts +13 -13
  144. package/cjs/Picker/utils.js +22 -18
  145. package/cjs/Placeholder/PlaceholderGrid.js +1 -1
  146. package/cjs/Plaintext/Plaintext.js +2 -1
  147. package/cjs/Radio/Radio.d.ts +1 -1
  148. package/cjs/RadioGroup/RadioGroup.d.ts +2 -2
  149. package/cjs/RadioGroup/RadioGroup.js +1 -1
  150. package/cjs/RangeSlider/RangeSlider.d.ts +2 -2
  151. package/cjs/RangeSlider/RangeSlider.js +6 -4
  152. package/cjs/Rate/Character.js +4 -2
  153. package/cjs/Rate/Rate.js +2 -1
  154. package/cjs/Ripple/Ripple.js +1 -1
  155. package/cjs/SelectPicker/SelectPicker.js +4 -4
  156. package/cjs/Sidenav/Node.d.ts +1 -1
  157. package/cjs/Sidenav/Sidenav.d.ts +4 -4
  158. package/cjs/Sidenav/Sidenav.js +5 -2
  159. package/cjs/Sidenav/SidenavDropdown.js +11 -8
  160. package/cjs/Sidenav/SidenavDropdownItem.js +10 -5
  161. package/cjs/Sidenav/SidenavDropdownMenu.js +9 -5
  162. package/cjs/Sidenav/SidenavItem.d.ts +1 -1
  163. package/cjs/Sidenav/SidenavItem.js +4 -0
  164. package/cjs/Slider/Graduated.d.ts +5 -5
  165. package/cjs/Slider/Handle.d.ts +1 -1
  166. package/cjs/Slider/Handle.js +10 -6
  167. package/cjs/Slider/Mark.d.ts +1 -1
  168. package/cjs/Slider/Slider.d.ts +1 -1
  169. package/cjs/Slider/Slider.js +2 -2
  170. package/cjs/Slider/utils.d.ts +2 -1
  171. package/cjs/Slider/utils.js +4 -5
  172. package/cjs/Steps/StepItem.js +2 -2
  173. package/cjs/TagInput/index.js +1 -1
  174. package/cjs/Toggle/Toggle.js +1 -1
  175. package/cjs/Tree/Tree.d.ts +3 -1
  176. package/cjs/TreePicker/TreeNode.js +6 -8
  177. package/cjs/TreePicker/TreePicker.js +31 -25
  178. package/cjs/Uploader/UploadFileItem.d.ts +1 -1
  179. package/cjs/Uploader/UploadFileItem.js +2 -2
  180. package/cjs/Uploader/UploadTrigger.d.ts +1 -1
  181. package/cjs/Uploader/UploadTrigger.js +2 -3
  182. package/cjs/Uploader/Uploader.d.ts +5 -5
  183. package/cjs/Uploader/Uploader.js +1 -2
  184. package/cjs/index.d.ts +2 -0
  185. package/cjs/index.js +5 -1
  186. package/cjs/locales/index.d.ts +3 -3
  187. package/cjs/toaster/ToastContainer.d.ts +1 -1
  188. package/cjs/toaster/ToastContainer.js +1 -1
  189. package/cjs/toaster/toaster.js +3 -1
  190. package/cjs/utils/BrowserDetection.js +1 -1
  191. package/cjs/utils/ReactChildren.d.ts +2 -2
  192. package/cjs/utils/ajaxUpload.d.ts +1 -1
  193. package/cjs/utils/ajaxUpload.js +5 -4
  194. package/cjs/utils/appendTooltip.d.ts +1 -1
  195. package/cjs/utils/constants.d.ts +4 -4
  196. package/cjs/utils/createChainedFunction.d.ts +1 -1
  197. package/cjs/utils/getDataGroupBy.d.ts +1 -1
  198. package/cjs/utils/mergeRefs.d.ts +2 -2
  199. package/cjs/utils/previewFile.d.ts +1 -1
  200. package/cjs/utils/propTypeChecker.d.ts +6 -2
  201. package/cjs/utils/propTypeChecker.js +7 -6
  202. package/cjs/utils/reactToString.d.ts +2 -1
  203. package/cjs/utils/statusIcons.d.ts +1 -1
  204. package/cjs/utils/stringToObject.d.ts +1 -1
  205. package/cjs/utils/treeUtils.d.ts +32 -29
  206. package/cjs/utils/treeUtils.js +46 -23
  207. package/cjs/utils/useControlled.d.ts +6 -1
  208. package/cjs/utils/useControlled.js +0 -8
  209. package/cjs/utils/useCustom.js +6 -4
  210. package/cjs/utils/useFocus.d.ts +2 -2
  211. package/cjs/utils/usePortal.d.ts +1 -1
  212. package/cjs/utils/useRootClose.d.ts +2 -2
  213. package/cjs/utils/useTimeout.d.ts +1 -1
  214. package/cjs/utils/useTimeout.js +5 -3
  215. package/dist/rsuite-rtl.css +40 -159
  216. package/dist/rsuite-rtl.min.css +1 -1
  217. package/dist/rsuite-rtl.min.css.map +1 -1
  218. package/dist/rsuite.css +40 -159
  219. package/dist/rsuite.js +146 -102
  220. package/dist/rsuite.js.map +1 -1
  221. package/dist/rsuite.min.css +1 -1
  222. package/dist/rsuite.min.css.map +1 -1
  223. package/dist/rsuite.min.js +1 -1
  224. package/dist/rsuite.min.js.map +1 -1
  225. package/esm/@types/common.d.ts +9 -8
  226. package/esm/@types/utils.d.ts +12 -0
  227. package/esm/Affix/Affix.js +5 -5
  228. package/esm/Animation/Transition.d.ts +21 -12
  229. package/esm/Animation/Transition.js +4 -1
  230. package/esm/AutoComplete/AutoComplete.js +1 -1
  231. package/esm/AutoComplete/utils.d.ts +1 -1
  232. package/esm/Avatar/Avatar.js +7 -3
  233. package/esm/AvatarGroup/AvatarGroup.d.ts +15 -0
  234. package/esm/AvatarGroup/AvatarGroup.js +54 -0
  235. package/esm/AvatarGroup/index.d.ts +3 -0
  236. package/esm/AvatarGroup/index.js +2 -0
  237. package/esm/Breadcrumb/Breadcrumb.js +1 -1
  238. package/esm/Button/Button.js +6 -2
  239. package/esm/ButtonGroup/ButtonGroup.js +7 -2
  240. package/esm/ButtonGroup/ButtonGroupContext.d.ts +7 -0
  241. package/esm/ButtonGroup/ButtonGroupContext.js +3 -0
  242. package/esm/ButtonGroup/index.d.ts +2 -0
  243. package/esm/ButtonGroup/index.js +2 -0
  244. package/esm/Calendar/Calendar.d.ts +4 -4
  245. package/esm/Calendar/Calendar.js +5 -2
  246. package/esm/Calendar/CalendarContext.js +1 -1
  247. package/esm/Calendar/TableRow.js +1 -1
  248. package/esm/Calendar/TimeDropdown.js +5 -4
  249. package/esm/Calendar/types.d.ts +2 -2
  250. package/esm/Calendar/useCalendarDate.d.ts +2 -2
  251. package/esm/Carousel/Carousel.d.ts +1 -1
  252. package/esm/Carousel/Carousel.js +1 -1
  253. package/esm/Cascader/Cascader.d.ts +1 -1
  254. package/esm/Cascader/Cascader.js +10 -10
  255. package/esm/Cascader/DropdownMenu.d.ts +5 -4
  256. package/esm/Cascader/utils.d.ts +3 -3
  257. package/esm/CheckPicker/CheckPicker.js +4 -4
  258. package/esm/CheckTreePicker/CheckTreeNode.d.ts +1 -1
  259. package/esm/CheckTreePicker/CheckTreeNode.js +4 -7
  260. package/esm/CheckTreePicker/CheckTreePicker.js +28 -23
  261. package/esm/CheckTreePicker/utils.d.ts +3 -1
  262. package/esm/CheckTreePicker/utils.js +12 -10
  263. package/esm/Checkbox/Checkbox.d.ts +1 -1
  264. package/esm/CustomProvider/CustomProvider.d.ts +31 -57
  265. package/esm/DOMHelper/index.d.ts +12 -12
  266. package/esm/DatePicker/DatePicker.d.ts +1 -1
  267. package/esm/DatePicker/DatePicker.js +14 -9
  268. package/esm/DatePicker/Toolbar.d.ts +12 -9
  269. package/esm/DatePicker/Toolbar.js +6 -8
  270. package/esm/DatePicker/types.d.ts +4 -4
  271. package/esm/DatePicker/utils.d.ts +4 -3
  272. package/esm/DateRangePicker/Calendar.d.ts +8 -7
  273. package/esm/DateRangePicker/Calendar.js +1 -1
  274. package/esm/DateRangePicker/DateRangePicker.d.ts +6 -6
  275. package/esm/DateRangePicker/DateRangePicker.js +105 -108
  276. package/esm/DateRangePicker/types.d.ts +2 -1
  277. package/esm/DateRangePicker/utils.d.ts +6 -6
  278. package/esm/DateRangePicker/utils.js +6 -2
  279. package/esm/Disclosure/Disclosure.js +4 -2
  280. package/esm/Disclosure/DisclosureButton.js +8 -7
  281. package/esm/Disclosure/DisclosureContent.js +5 -7
  282. package/esm/Disclosure/DisclosureContext.d.ts +2 -2
  283. package/esm/Disclosure/useDisclosureContext.d.ts +2 -0
  284. package/esm/Disclosure/useDisclosureContext.js +11 -0
  285. package/esm/Dropdown/Dropdown.d.ts +1 -1
  286. package/esm/Dropdown/DropdownContext.d.ts +2 -2
  287. package/esm/Dropdown/DropdownItem.js +1 -1
  288. package/esm/Dropdown/DropdownMenu.d.ts +3 -3
  289. package/esm/Dropdown/DropdownState.d.ts +1 -1
  290. package/esm/Dropdown/DropdownToggle.js +2 -1
  291. package/esm/Dropdown/useRenderDropdownItem.d.ts +1 -1
  292. package/esm/Form/Form.js +1 -1
  293. package/esm/Form/FormContext.d.ts +1 -1
  294. package/esm/FormControl/FormControl.d.ts +1 -1
  295. package/esm/FormControl/FormControl.js +5 -4
  296. package/esm/FormGroup/FormGroup.d.ts +1 -1
  297. package/esm/Input/Input.d.ts +3 -2
  298. package/esm/InputGroup/InputGroup.d.ts +1 -1
  299. package/esm/InputNumber/InputNumber.js +6 -2
  300. package/esm/InputPicker/InputAutosize.js +4 -4
  301. package/esm/InputPicker/InputPicker.d.ts +2 -2
  302. package/esm/InputPicker/InputPicker.js +15 -10
  303. package/esm/List/ListContext.d.ts +1 -1
  304. package/esm/List/ListContext.js +7 -1
  305. package/esm/List/helper/AutoScroller.js +4 -2
  306. package/esm/List/helper/useManager.d.ts +3 -3
  307. package/esm/List/helper/useManager.js +1 -1
  308. package/esm/List/helper/useSortHelper.d.ts +3 -3
  309. package/esm/List/helper/useSortHelper.js +6 -4
  310. package/esm/List/helper/utils.d.ts +2 -2
  311. package/esm/MaskedInput/TextMask.d.ts +5 -5
  312. package/esm/MaskedInput/adjustCaretPosition.d.ts +6 -6
  313. package/esm/MaskedInput/conformToMask.js +5 -4
  314. package/esm/MaskedInput/createTextMaskInputElement.d.ts +2 -2
  315. package/esm/MaskedInput/utilities.d.ts +1 -1
  316. package/esm/Menu/Menu.js +13 -7
  317. package/esm/Menu/MenuContext.d.ts +1 -1
  318. package/esm/Menu/MenuItem.d.ts +1 -1
  319. package/esm/Menu/MenuItem.js +18 -15
  320. package/esm/Menu/Menubar.js +7 -8
  321. package/esm/Menu/useMenu.js +17 -7
  322. package/esm/Modal/Modal.js +12 -6
  323. package/esm/Modal/ModalContext.d.ts +2 -2
  324. package/esm/Modal/utils.d.ts +1 -1
  325. package/esm/Modal/utils.js +3 -5
  326. package/esm/MultiCascader/DropdownMenu.d.ts +4 -4
  327. package/esm/MultiCascader/MultiCascader.js +6 -6
  328. package/esm/MultiCascader/utils.d.ts +14 -14
  329. package/esm/Nav/Nav.d.ts +1 -1
  330. package/esm/Nav/NavContext.d.ts +1 -1
  331. package/esm/Nav/NavItem.d.ts +1 -1
  332. package/esm/Navbar/Navbar.js +1 -1
  333. package/esm/Navbar/NavbarItem.d.ts +1 -1
  334. package/esm/Overlay/Modal.d.ts +2 -2
  335. package/esm/Overlay/Modal.js +42 -32
  336. package/esm/Overlay/ModalManager.d.ts +17 -8
  337. package/esm/Overlay/ModalManager.js +11 -20
  338. package/esm/Overlay/Overlay.d.ts +2 -2
  339. package/esm/Overlay/Overlay.js +1 -1
  340. package/esm/Overlay/OverlayTrigger.d.ts +11 -11
  341. package/esm/Overlay/OverlayTrigger.js +14 -6
  342. package/esm/Overlay/Position.d.ts +3 -3
  343. package/esm/Overlay/Position.js +14 -8
  344. package/esm/Overlay/positionUtils.d.ts +1 -1
  345. package/esm/Overlay/positionUtils.js +6 -6
  346. package/esm/Pagination/Pagination.d.ts +1 -1
  347. package/esm/Pagination/PaginationButton.d.ts +3 -3
  348. package/esm/Pagination/PaginationGroup.js +5 -3
  349. package/esm/Panel/Panel.d.ts +1 -1
  350. package/esm/Panel/Panel.js +2 -2
  351. package/esm/PanelGroup/PanelGroup.d.ts +2 -2
  352. package/esm/Picker/DropdownMenu.d.ts +8 -5
  353. package/esm/Picker/DropdownMenu.js +5 -5
  354. package/esm/Picker/PickerOverlay.js +4 -3
  355. package/esm/Picker/PickerToggle.js +4 -3
  356. package/esm/Picker/PickerToggleTrigger.d.ts +2 -6
  357. package/esm/Picker/SearchBar.d.ts +1 -1
  358. package/esm/Picker/SelectedElement.js +2 -1
  359. package/esm/Picker/propTypes.d.ts +2 -2
  360. package/esm/Picker/utils.d.ts +13 -13
  361. package/esm/Picker/utils.js +21 -18
  362. package/esm/Placeholder/PlaceholderGrid.js +1 -1
  363. package/esm/Plaintext/Plaintext.js +2 -1
  364. package/esm/Radio/Radio.d.ts +1 -1
  365. package/esm/RadioGroup/RadioGroup.d.ts +2 -2
  366. package/esm/RadioGroup/RadioGroup.js +1 -1
  367. package/esm/RangeSlider/RangeSlider.d.ts +2 -2
  368. package/esm/RangeSlider/RangeSlider.js +5 -4
  369. package/esm/Rate/Character.js +3 -2
  370. package/esm/Rate/Rate.js +2 -1
  371. package/esm/Ripple/Ripple.js +1 -1
  372. package/esm/SelectPicker/SelectPicker.js +4 -4
  373. package/esm/Sidenav/Node.d.ts +1 -1
  374. package/esm/Sidenav/Sidenav.d.ts +4 -4
  375. package/esm/Sidenav/Sidenav.js +5 -2
  376. package/esm/Sidenav/SidenavDropdown.js +11 -7
  377. package/esm/Sidenav/SidenavDropdownItem.js +11 -5
  378. package/esm/Sidenav/SidenavDropdownMenu.js +9 -5
  379. package/esm/Sidenav/SidenavItem.d.ts +1 -1
  380. package/esm/Sidenav/SidenavItem.js +4 -0
  381. package/esm/Slider/Graduated.d.ts +5 -5
  382. package/esm/Slider/Handle.d.ts +1 -1
  383. package/esm/Slider/Handle.js +10 -6
  384. package/esm/Slider/Mark.d.ts +1 -1
  385. package/esm/Slider/Slider.d.ts +1 -1
  386. package/esm/Slider/Slider.js +2 -2
  387. package/esm/Slider/utils.d.ts +2 -1
  388. package/esm/Slider/utils.js +5 -2
  389. package/esm/Steps/StepItem.js +2 -2
  390. package/esm/TagInput/index.js +1 -1
  391. package/esm/Toggle/Toggle.js +1 -1
  392. package/esm/Tree/Tree.d.ts +3 -1
  393. package/esm/TreePicker/TreeNode.js +4 -7
  394. package/esm/TreePicker/TreePicker.js +30 -23
  395. package/esm/Uploader/UploadFileItem.d.ts +1 -1
  396. package/esm/Uploader/UploadFileItem.js +2 -2
  397. package/esm/Uploader/UploadTrigger.d.ts +1 -1
  398. package/esm/Uploader/UploadTrigger.js +2 -3
  399. package/esm/Uploader/Uploader.d.ts +5 -5
  400. package/esm/Uploader/Uploader.js +1 -2
  401. package/esm/index.d.ts +2 -0
  402. package/esm/index.js +1 -0
  403. package/esm/locales/index.d.ts +3 -3
  404. package/esm/toaster/ToastContainer.d.ts +1 -1
  405. package/esm/toaster/ToastContainer.js +1 -1
  406. package/esm/toaster/toaster.js +3 -1
  407. package/esm/utils/BrowserDetection.js +1 -1
  408. package/esm/utils/ReactChildren.d.ts +2 -2
  409. package/esm/utils/ajaxUpload.d.ts +1 -1
  410. package/esm/utils/ajaxUpload.js +5 -4
  411. package/esm/utils/appendTooltip.d.ts +1 -1
  412. package/esm/utils/constants.d.ts +4 -4
  413. package/esm/utils/createChainedFunction.d.ts +1 -1
  414. package/esm/utils/getDataGroupBy.d.ts +1 -1
  415. package/esm/utils/mergeRefs.d.ts +2 -2
  416. package/esm/utils/previewFile.d.ts +1 -1
  417. package/esm/utils/propTypeChecker.d.ts +6 -2
  418. package/esm/utils/propTypeChecker.js +7 -6
  419. package/esm/utils/reactToString.d.ts +2 -1
  420. package/esm/utils/statusIcons.d.ts +1 -1
  421. package/esm/utils/stringToObject.d.ts +1 -1
  422. package/esm/utils/treeUtils.d.ts +32 -29
  423. package/esm/utils/treeUtils.js +45 -21
  424. package/esm/utils/useControlled.d.ts +6 -1
  425. package/esm/utils/useControlled.js +0 -8
  426. package/esm/utils/useCustom.js +6 -4
  427. package/esm/utils/useFocus.d.ts +2 -2
  428. package/esm/utils/usePortal.d.ts +1 -1
  429. package/esm/utils/useRootClose.d.ts +2 -2
  430. package/esm/utils/useTimeout.d.ts +1 -1
  431. package/esm/utils/useTimeout.js +5 -3
  432. package/package.json +2 -2
  433. package/styles/index.less +1 -0
@@ -13,7 +13,7 @@ var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runt
13
13
 
14
14
  var _Calendar = _interopRequireDefault(require("@rsuite/icons/legacy/Calendar"));
15
15
 
16
- var _isUndefined = _interopRequireDefault(require("lodash/isUndefined"));
16
+ var _isNil = _interopRequireDefault(require("lodash/isNil"));
17
17
 
18
18
  var _omit = _interopRequireDefault(require("lodash/omit"));
19
19
 
@@ -42,7 +42,7 @@ var disabledDateUtils = _interopRequireWildcard(require("./disabledDateUtils"));
42
42
  var _utils2 = require("./utils");
43
43
 
44
44
  var DateRangePicker = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
45
- var _ref, _merge;
45
+ var _ref, _ref2, _merge;
46
46
 
47
47
  var _props$as = props.as,
48
48
  Component = _props$as === void 0 ? 'div' : _props$as,
@@ -62,7 +62,8 @@ var DateRangePicker = /*#__PURE__*/_react.default.forwardRef(function (props, re
62
62
  _props$format = props.format,
63
63
  formatStr = _props$format === void 0 ? 'yyyy-MM-dd' : _props$format,
64
64
  hoverRange = props.hoverRange,
65
- isoWeek = props.isoWeek,
65
+ _props$isoWeek = props.isoWeek,
66
+ isoWeek = _props$isoWeek === void 0 ? false : _props$isoWeek,
66
67
  _props$limitEndYear = props.limitEndYear,
67
68
  limitEndYear = _props$limitEndYear === void 0 ? 1000 : _props$limitEndYear,
68
69
  overrideLocale = props.locale,
@@ -104,7 +105,7 @@ var DateRangePicker = /*#__PURE__*/_react.default.forwardRef(function (props, re
104
105
 
105
106
  var rangeFormatStr = "" + formatStr + character + formatStr;
106
107
 
107
- var _useControlled = (0, _utils.useControlled)(valueProp, defaultValue !== null && defaultValue !== void 0 ? defaultValue : []),
108
+ var _useControlled = (0, _utils.useControlled)(valueProp, defaultValue !== null && defaultValue !== void 0 ? defaultValue : null),
108
109
  value = _useControlled[0],
109
110
  setValue = _useControlled[1];
110
111
  /**
@@ -126,17 +127,17 @@ var DateRangePicker = /*#__PURE__*/_react.default.forwardRef(function (props, re
126
127
  */
127
128
 
128
129
  var _useState = (0, _react.useState)((_ref = valueProp !== null && valueProp !== void 0 ? valueProp : defaultValue) !== null && _ref !== void 0 ? _ref : []),
129
- selectValue = _useState[0],
130
- setSelectValue = _useState[1]; // The date of the current hover, used to reduce the calculation of `handleMouseMove`
130
+ selectedDates = _useState[0],
131
+ setSelectedDates = _useState[1]; // The date of the current hover, used to reduce the calculation of `handleMouseMove`
131
132
 
132
133
 
133
- var _useState2 = (0, _react.useState)([]),
134
- hoverValue = _useState2[0],
135
- setHoverValue = _useState2[1]; // The displayed calendar panel is rendered based on this value.
134
+ var _useState2 = (0, _react.useState)(null),
135
+ hoverDateRange = _useState2[0],
136
+ setHoverDateRange = _useState2[1]; // The displayed calendar panel is rendered based on this value.
136
137
 
137
138
 
138
139
  var _useState3 = (0, _react.useState)((0, _utils2.getCalendarDate)({
139
- value: valueProp !== null && valueProp !== void 0 ? valueProp : defaultCalendarValue
140
+ value: (_ref2 = valueProp !== null && valueProp !== void 0 ? valueProp : defaultCalendarValue) !== null && _ref2 !== void 0 ? _ref2 : null
140
141
  })),
141
142
  calendarDate = _useState3[0],
142
143
  setCalendarDate = _useState3[1];
@@ -164,18 +165,18 @@ var DateRangePicker = /*#__PURE__*/_react.default.forwardRef(function (props, re
164
165
  }, []); // if valueProp changed then update selectValue/hoverValue
165
166
 
166
167
  (0, _react.useEffect)(function () {
167
- setSelectValue(valueProp !== null && valueProp !== void 0 ? valueProp : []);
168
- setHoverValue(valueProp !== null && valueProp !== void 0 ? valueProp : []);
168
+ setSelectedDates(valueProp !== null && valueProp !== void 0 ? valueProp : []);
169
+ setHoverDateRange(valueProp !== null && valueProp !== void 0 ? valueProp : null);
169
170
  }, [valueProp]);
170
171
 
171
172
  var _useState5 = (0, _react.useState)(false),
172
173
  isPickerToggleActive = _useState5[0],
173
174
  setPickerToggleActive = _useState5[1];
174
175
 
175
- var rootRef = (0, _react.useRef)();
176
- var overlayRef = (0, _react.useRef)();
177
- var targetRef = (0, _react.useRef)();
178
- var triggerRef = (0, _react.useRef)();
176
+ var rootRef = (0, _react.useRef)(null);
177
+ var overlayRef = (0, _react.useRef)(null);
178
+ var targetRef = (0, _react.useRef)(null);
179
+ var triggerRef = (0, _react.useRef)(null);
179
180
  var handleCloseDropdown = (0, _react.useCallback)(function () {
180
181
  var _triggerRef$current, _triggerRef$current$c;
181
182
 
@@ -188,14 +189,10 @@ var DateRangePicker = /*#__PURE__*/_react.default.forwardRef(function (props, re
188
189
  rootRef: rootRef
189
190
  });
190
191
  var getDisplayString = (0, _react.useCallback)(function (nextValue, isPlaintext) {
191
- var _nextValue, _nextValue2;
192
+ var _nextValue$, _nextValue$2;
192
193
 
193
- if (nextValue === void 0) {
194
- nextValue = value;
195
- }
196
-
197
- var startDate = (_nextValue = nextValue) === null || _nextValue === void 0 ? void 0 : _nextValue[0];
198
- var endDate = (_nextValue2 = nextValue) === null || _nextValue2 === void 0 ? void 0 : _nextValue2[1];
194
+ var startDate = (_nextValue$ = nextValue === null || nextValue === void 0 ? void 0 : nextValue[0]) !== null && _nextValue$ !== void 0 ? _nextValue$ : null;
195
+ var endDate = (_nextValue$2 = nextValue === null || nextValue === void 0 ? void 0 : nextValue[1]) !== null && _nextValue$2 !== void 0 ? _nextValue$2 : null;
199
196
 
200
197
  if (startDate && endDate) {
201
198
  var displayValue = [startDate, endDate].sort(_dateUtils.compareAsc);
@@ -220,29 +217,27 @@ var DateRangePicker = /*#__PURE__*/_react.default.forwardRef(function (props, re
220
217
  */
221
218
 
222
219
  var getHoverRangeValue = (0, _react.useCallback)(function (date) {
223
- if (!hoverRange) {
224
- return [];
225
- }
226
-
227
- var hoverRangeFunc = hoverRange;
220
+ function getHoverRangeFunc() {
221
+ if (hoverRange === 'week') {
222
+ return (0, _partial.default)(_utils2.getWeekHoverRange, isoWeek);
223
+ } else if (hoverRange === 'month') {
224
+ return _utils2.getMonthHoverRange;
225
+ }
228
226
 
229
- if (hoverRange === 'week') {
230
- hoverRangeFunc = (0, _partial.default)(_utils2.getWeekHoverRange, isoWeek);
227
+ return hoverRange;
231
228
  }
232
229
 
233
- if (hoverRangeFunc === 'month') {
234
- hoverRangeFunc = _utils2.getMonthHoverRange;
235
- }
230
+ var hoverRangeFunc = getHoverRangeFunc();
236
231
 
237
- if (typeof hoverRangeFunc !== 'function') {
238
- return [];
232
+ if ((0, _isNil.default)(hoverRangeFunc)) {
233
+ return null;
239
234
  }
240
235
 
241
236
  var hoverValues = hoverRangeFunc(date);
242
237
  var isHoverRangeValid = hoverValues instanceof Array && hoverValues.length === 2;
243
238
 
244
239
  if (!isHoverRangeValid) {
245
- return [];
240
+ return null;
246
241
  }
247
242
 
248
243
  if (_utils.DateUtils.isAfter(hoverValues[0], hoverValues[1])) {
@@ -251,13 +246,13 @@ var DateRangePicker = /*#__PURE__*/_react.default.forwardRef(function (props, re
251
246
 
252
247
  return hoverValues;
253
248
  }, [hoverRange, isoWeek]);
254
- var handleValueUpdate = (0, _react.useCallback)(function (event, nextSelectValue, closeOverlay) {
249
+ var handleValueUpdate = (0, _react.useCallback)(function (event, nextValue, closeOverlay) {
255
250
  if (closeOverlay === void 0) {
256
251
  closeOverlay = true;
257
252
  }
258
253
 
259
- var nextValue = !(0, _isUndefined.default)(nextSelectValue) ? nextSelectValue : selectValue;
260
- setSelectValue(nextValue || []);
254
+ // If nextValue is null, it means that the user is erasing the selected dates.
255
+ setSelectedDates(nextValue !== null && nextValue !== void 0 ? nextValue : []);
261
256
 
262
257
  if (!(0, _utils2.isSameRange)(nextValue, value, formatStr)) {
263
258
  setValue(nextValue);
@@ -268,40 +263,41 @@ var DateRangePicker = /*#__PURE__*/_react.default.forwardRef(function (props, re
268
263
  if (closeOverlay !== false) {
269
264
  handleCloseDropdown();
270
265
  }
271
- }, [formatStr, handleCloseDropdown, onChange, selectValue, setValue, value]);
266
+ }, [formatStr, handleCloseDropdown, onChange, selectedDates, setValue, value]);
272
267
  /**
273
268
  * Select the date range. If oneTap is not set, you need to click twice to select the start time and end time.
274
269
  * The MouseMove event is called between the first click and the second click to update the selection state.
275
270
  */
276
271
 
277
272
  var handleMouseMove = (0, _react.useCallback)(function (date) {
278
- var hoverRangeValue = getHoverRangeValue(date); // After the first click
273
+ var nextHoverDateRange = getHoverRangeValue(date); // If hasDoneSelect is false,
274
+ // it means there's already one selected date
275
+ // and waiting for user to select the second date to complete the selection.
279
276
 
280
277
  if (!hasDoneSelect.current) {
281
- // If hoverRange is set, you need to change the value of hoverValue according to the rules
282
- if (hoverRange) {
283
- var nextHoverValue = [selectRangeValueRef.current[0], hoverRangeValue[1]];
278
+ // If `hoverRange` is set, you need to change the value of hoverDateRange according to the rules
279
+ if (!(0, _isNil.default)(nextHoverDateRange)) {
280
+ var nextSelectedDates = [selectRangeValueRef.current[0], nextHoverDateRange[1]];
284
281
 
285
- if (_utils.DateUtils.isBefore(hoverRangeValue[0], selectRangeValueRef.current[0])) {
286
- nextHoverValue[0] = hoverRangeValue[0];
287
- nextHoverValue[1] = selectRangeValueRef.current[1];
282
+ if (_utils.DateUtils.isBefore(nextHoverDateRange[0], selectRangeValueRef.current[0])) {
283
+ nextSelectedDates = [nextHoverDateRange[0], selectRangeValueRef.current[1]];
288
284
  }
289
285
 
290
- setSelectValue(nextHoverValue);
286
+ setSelectedDates(nextSelectedDates);
291
287
  } else {
292
- setHoverValue(function (prevHoverValue) {
293
- return [prevHoverValue[0], date];
288
+ setHoverDateRange(function (prevHoverValue) {
289
+ return (0, _isNil.default)(prevHoverValue) ? null : [prevHoverValue[0], date];
294
290
  });
295
- } // Before the first click, if hoverRangeValue has a value, hoverValue needs to be updated
291
+ } // Before the first click, if nextHoverDateRange has a value, hoverDateRange needs to be updated
296
292
 
297
- } else if (hoverRange && hoverRangeValue.length) {
298
- setHoverValue(hoverRangeValue);
293
+ } else if (!(0, _isNil.default)(nextHoverDateRange)) {
294
+ setHoverDateRange(nextHoverDateRange);
299
295
  }
300
296
  }, [getHoverRangeValue, hoverRange]);
301
- var handleSelectValueChange = (0, _react.useCallback)(function (date, event) {
302
- var nextSelectValue = Array.from(hoverValue);
297
+ var handleSelectDate = (0, _react.useCallback)(function (date, event) {
298
+ var nextSelectDates = hoverDateRange !== null && hoverDateRange !== void 0 ? hoverDateRange : [];
303
299
  var hoverRangeValue = getHoverRangeValue(date);
304
- var noHoverRangeValid = hoverRangeValue.length !== 2; // in `oneTap` mode
300
+ var noHoverRangeValid = (0, _isNil.default)(hoverRangeValue); // in `oneTap` mode
305
301
 
306
302
  if (hasDoneSelect.current && oneTap) {
307
303
  handleValueUpdate(event, noHoverRangeValid ? [(0, _utils2.setTimingMargin)(date), (0, _utils2.setTimingMargin)(date, 'right')] : hoverRangeValue);
@@ -313,32 +309,32 @@ var DateRangePicker = /*#__PURE__*/_react.default.forwardRef(function (props, re
313
309
  if (noHoverRangeValid) {
314
310
  // start select
315
311
  if (hasDoneSelect.current) {
316
- nextSelectValue = [date];
312
+ nextSelectDates = [date];
317
313
  } else {
318
314
  // finish select
319
- nextSelectValue[1] = date;
315
+ nextSelectDates[1] = date;
320
316
  }
321
317
  } else {
322
318
  if (!hasDoneSelect.current) {
323
- nextSelectValue = selectValue;
319
+ nextSelectDates = selectedDates;
324
320
  selectRangeValueRef.current = null;
325
321
  } else {
326
- nextSelectValue = hoverRangeValue;
322
+ nextSelectDates = hoverRangeValue;
327
323
  selectRangeValueRef.current = hoverRangeValue;
328
324
  }
329
325
  } // If user have completed the selection, then sort
330
326
 
331
327
 
332
- if (nextSelectValue.length === 2 && _utils.DateUtils.isAfter(nextSelectValue[0], nextSelectValue[1])) {
333
- nextSelectValue.reverse();
328
+ if (nextSelectDates.length === 2 && _utils.DateUtils.isAfter(nextSelectDates[0], nextSelectDates[1])) {
329
+ nextSelectDates.reverse();
334
330
  }
335
331
 
336
- setHoverValue(nextSelectValue);
337
- setSelectValue(nextSelectValue);
338
- updateCalendarDate(nextSelectValue);
332
+ setHoverDateRange(nextSelectDates.length === 2 ? nextSelectDates : null);
333
+ setSelectedDates(nextSelectDates);
334
+ updateCalendarDate(nextSelectDates);
339
335
  onSelect === null || onSelect === void 0 ? void 0 : onSelect(date, event);
340
336
  hasDoneSelect.current = !hasDoneSelect.current;
341
- }, [getHoverRangeValue, handleValueUpdate, hoverValue, onSelect, oneTap, selectValue, updateCalendarDate]);
337
+ }, [getHoverRangeValue, handleValueUpdate, hoverDateRange, onSelect, oneTap, selectedDates, updateCalendarDate]);
342
338
  /**
343
339
  * If `selectValue` changed, there will be the following effects.
344
340
  * 1. Check if the selection is completed.
@@ -346,19 +342,17 @@ var DateRangePicker = /*#__PURE__*/_react.default.forwardRef(function (props, re
346
342
  */
347
343
 
348
344
  (0, _react.useEffect)(function () {
349
- var _selectValue$length;
350
-
351
- var selectValueLength = (_selectValue$length = selectValue === null || selectValue === void 0 ? void 0 : selectValue.length) !== null && _selectValue$length !== void 0 ? _selectValue$length : 0;
345
+ var selectValueLength = selectedDates.length;
352
346
  var doneSelected = selectValueLength === 0 || selectValueLength === 2;
353
- doneSelected && setHoverValue([]);
354
- }, [selectValue]);
347
+ doneSelected && setHoverDateRange(null);
348
+ }, [selectedDates]);
355
349
  var handleChangeCalendarDate = (0, _react.useCallback)(function (index, date) {
356
350
  var nextCalendarDate = Array.from(calendarDate);
357
351
  nextCalendarDate[index] = date;
358
352
  updateCalendarDate(nextCalendarDate);
359
353
  }, [calendarDate, updateCalendarDate]);
360
354
  var handleChangeCalendarTime = (0, _react.useCallback)(function (index, date) {
361
- setSelectValue(function (prev) {
355
+ setSelectedDates(function (prev) {
362
356
  var next = [].concat(prev);
363
357
  var clonedDate = new Date(date.valueOf()); // if next[index] is not empty, only update the time after aligning the year, month and day
364
358
 
@@ -385,24 +379,28 @@ var DateRangePicker = /*#__PURE__*/_react.default.forwardRef(function (props, re
385
379
  next[index] = _utils.DateUtils.setHours(clonedDate, nextHours);
386
380
  setCalendarDate(next); // If the value already exists, update the value again.
387
381
 
388
- if (selectValue.length === 2) {
389
- setSelectValue(next);
382
+ if (selectedDates.length === 2) {
383
+ setSelectedDates(next);
390
384
  }
391
- }, [calendarDate, selectValue]);
385
+ }, [calendarDate, selectedDates]);
392
386
  /**
393
387
  * Toolbar operation callback function
394
388
  */
395
389
 
396
390
  var handleShortcutPageDate = (0, _react.useCallback)(function (value, closeOverlay, event) {
391
+ if (closeOverlay === void 0) {
392
+ closeOverlay = false;
393
+ }
394
+
397
395
  handleValueUpdate(event, value, closeOverlay);
398
396
  }, [handleValueUpdate]);
399
397
  var handleOK = (0, _react.useCallback)(function (event) {
400
- handleValueUpdate(event);
401
- onOk === null || onOk === void 0 ? void 0 : onOk(selectValue, event);
402
- }, [handleValueUpdate, onOk, selectValue]);
398
+ handleValueUpdate(event, selectedDates);
399
+ onOk === null || onOk === void 0 ? void 0 : onOk(selectedDates, event);
400
+ }, [handleValueUpdate, onOk, selectedDates]);
403
401
  var handleClean = (0, _react.useCallback)(function (event) {
404
- updateCalendarDate();
405
- handleValueUpdate(event, []);
402
+ updateCalendarDate(null);
403
+ handleValueUpdate(event, null);
406
404
  }, [handleValueUpdate, updateCalendarDate]);
407
405
  /**
408
406
  * Callback after the input box value is changed.
@@ -431,13 +429,13 @@ var DateRangePicker = /*#__PURE__*/_react.default.forwardRef(function (props, re
431
429
  return;
432
430
  }
433
431
 
434
- if (disabledDate(startDate, selectValue, true, _utils.DATERANGE_DISABLED_TARGET.CALENDAR)) {
432
+ if (isDateDisabled(startDate, selectValue, true, _utils.DATERANGE_DISABLED_TARGET.CALENDAR)) {
435
433
  setInputState('Error');
436
434
  return;
437
435
  }
438
436
 
439
- setHoverValue(selectValue);
440
- setSelectValue(selectValue);
437
+ setHoverDateRange(selectValue);
438
+ setSelectedDates(selectValue);
441
439
  updateCalendarDate(selectValue);
442
440
  }, // eslint-disable-next-line react-hooks/exhaustive-deps
443
441
  [character, rangeFormatStr, updateCalendarDate]);
@@ -447,11 +445,11 @@ var DateRangePicker = /*#__PURE__*/_react.default.forwardRef(function (props, re
447
445
 
448
446
  var handleInputPressEnd = (0, _react.useCallback)(function (event) {
449
447
  if (inputState === 'Typing') {
450
- handleValueUpdate(event, selectValue);
448
+ handleValueUpdate(event, selectedDates.length === 2 ? selectedDates : null);
451
449
  }
452
450
 
453
451
  setInputState('Initial');
454
- }, [handleValueUpdate, selectValue, inputState]);
452
+ }, [handleValueUpdate, selectedDates, inputState]);
455
453
  var handleEnter = (0, _react.useCallback)(function () {
456
454
  var nextCalendarDate;
457
455
 
@@ -461,13 +459,13 @@ var DateRangePicker = /*#__PURE__*/_react.default.forwardRef(function (props, re
461
459
  nextCalendarDate = [_startDate, (0, _dateUtils.isSameMonth)(_startDate, endData) ? (0, _dateUtils.addMonths)(endData, 1) : endData];
462
460
  } else {
463
461
  nextCalendarDate = (0, _utils2.getCalendarDate)({
464
- value: defaultCalendarValue
462
+ value: defaultCalendarValue !== null && defaultCalendarValue !== void 0 ? defaultCalendarValue : null
465
463
  });
466
464
  }
467
465
 
468
- setSelectValue(value);
466
+ setSelectedDates(value !== null && value !== void 0 ? value : []);
469
467
  updateCalendarDate(nextCalendarDate);
470
- }, [defaultCalendarValue, updateCalendarDate, setSelectValue, value]);
468
+ }, [defaultCalendarValue, updateCalendarDate, setSelectedDates, value]);
471
469
  var handleEntered = (0, _react.useCallback)(function () {
472
470
  onOpen === null || onOpen === void 0 ? void 0 : onOpen();
473
471
  setPickerToggleActive(true);
@@ -477,17 +475,16 @@ var DateRangePicker = /*#__PURE__*/_react.default.forwardRef(function (props, re
477
475
  hasDoneSelect.current = true;
478
476
  onClose === null || onClose === void 0 ? void 0 : onClose();
479
477
  }, [onClose]);
480
- var disabledDate = (0, _react.useCallback)(function (date, selectDate, selectedDone, target) {
481
- return disabledDateProp === null || disabledDateProp === void 0 ? void 0 : disabledDateProp(date, selectDate, selectedDone, target);
478
+ var isDateDisabled = (0, _react.useCallback)(function (date, selectDate, selectedDone, target) {
479
+ var _disabledDateProp;
480
+
481
+ return (_disabledDateProp = disabledDateProp === null || disabledDateProp === void 0 ? void 0 : disabledDateProp(date, selectDate, selectedDone, target)) !== null && _disabledDateProp !== void 0 ? _disabledDateProp : false;
482
482
  }, [disabledDateProp]);
483
483
  var disabledByBetween = (0, _react.useCallback)(function (start, end, type) {
484
- var selectStartDate = selectValue[0],
485
- selectEndDate = selectValue[1];
486
- var nextSelectValue = [selectStartDate, selectEndDate]; // If the date is between the start and the end
484
+ // If the date is between the start and the end
487
485
  // the button is disabled
488
-
489
486
  while (_utils.DateUtils.isBefore(start, end) || _utils.DateUtils.isSameDay(start, end)) {
490
- if (disabledDate(start, nextSelectValue, hasDoneSelect.current, type)) {
487
+ if (isDateDisabled(start, selectedDates, hasDoneSelect.current, type)) {
491
488
  return true;
492
489
  }
493
490
 
@@ -495,17 +492,17 @@ var DateRangePicker = /*#__PURE__*/_react.default.forwardRef(function (props, re
495
492
  }
496
493
 
497
494
  return false;
498
- }, [disabledDate, selectValue]);
495
+ }, [isDateDisabled, selectedDates]);
499
496
  var disabledOkButton = (0, _react.useCallback)(function () {
500
- var start = selectValue[0],
501
- end = selectValue[1];
497
+ var start = selectedDates[0],
498
+ end = selectedDates[1];
502
499
 
503
500
  if (!start || !end || !hasDoneSelect.current) {
504
501
  return true;
505
502
  }
506
503
 
507
504
  return disabledByBetween(start, end, _utils.DATERANGE_DISABLED_TARGET.TOOLBAR_BUTTON_OK);
508
- }, [disabledByBetween, selectValue]);
505
+ }, [disabledByBetween, selectedDates]);
509
506
  var disabledShortcutButton = (0, _react.useCallback)(function (value) {
510
507
  if (value === void 0) {
511
508
  value = [];
@@ -522,8 +519,8 @@ var DateRangePicker = /*#__PURE__*/_react.default.forwardRef(function (props, re
522
519
  return disabledByBetween(start, end, _utils.DATERANGE_DISABLED_TARGET.TOOLBAR_SHORTCUT);
523
520
  }, [disabledByBetween]);
524
521
  var handleDisabledDate = (0, _react.useCallback)(function (date, values, type) {
525
- return disabledDate(date, values, hasDoneSelect.current, type);
526
- }, [disabledDate]);
522
+ return isDateDisabled(date, values, hasDoneSelect.current, type);
523
+ }, [isDateDisabled]);
527
524
  var onPickerKeyDown = (0, _Picker.useToggleKeyDownEvent)((0, _extends2.default)({
528
525
  triggerRef: triggerRef,
529
526
  targetRef: targetRef,
@@ -547,18 +544,18 @@ var DateRangePicker = /*#__PURE__*/_react.default.forwardRef(function (props, re
547
544
  calendarDate: calendarDate,
548
545
  disabledDate: handleDisabledDate,
549
546
  format: formatStr,
550
- hoverRangeValue: hoverValue,
547
+ hoverRangeValue: hoverDateRange !== null && hoverDateRange !== void 0 ? hoverDateRange : undefined,
551
548
  isoWeek: isoWeek,
552
549
  limitEndYear: limitEndYear,
553
550
  locale: locale,
554
551
  showOneCalendar: showOneCalendar,
555
552
  showWeekNumbers: showWeekNumbers,
556
- value: selectValue,
553
+ value: selectedDates,
557
554
  showMeridian: showMeridian,
558
555
  onChangeCalendarDate: handleChangeCalendarDate,
559
556
  onChangeCalendarTime: handleChangeCalendarTime,
560
557
  onMouseMove: handleMouseMove,
561
- onSelect: handleSelectValueChange,
558
+ onSelect: handleSelectDate,
562
559
  onToggleMeridian: handleToggleMeridian
563
560
  };
564
561
  return /*#__PURE__*/_react.default.createElement(_Picker.PickerOverlay, {
@@ -572,7 +569,7 @@ var DateRangePicker = /*#__PURE__*/_react.default.forwardRef(function (props, re
572
569
  className: prefix('daterange-content')
573
570
  }, /*#__PURE__*/_react.default.createElement("div", {
574
571
  className: prefix('daterange-header')
575
- }, getDisplayString(selectValue)), /*#__PURE__*/_react.default.createElement("div", {
572
+ }, getDisplayString(selectedDates)), /*#__PURE__*/_react.default.createElement("div", {
576
573
  className: prefix("daterange-calendar-" + (showOneCalendar ? 'single' : 'group'))
577
574
  }, /*#__PURE__*/_react.default.createElement(_Calendar2.default, (0, _extends2.default)({
578
575
  index: 0
@@ -580,7 +577,7 @@ var DateRangePicker = /*#__PURE__*/_react.default.forwardRef(function (props, re
580
577
  index: 1
581
578
  }, panelProps)))), /*#__PURE__*/_react.default.createElement(_Toolbar.default, {
582
579
  locale: locale,
583
- calendarDate: selectValue,
580
+ calendarDate: selectedDates,
584
581
  disabledOkBtn: disabledOkButton,
585
582
  disabledShortcut: disabledShortcutButton,
586
583
  hideOkBtn: oneTap,
@@ -590,7 +587,7 @@ var DateRangePicker = /*#__PURE__*/_react.default.forwardRef(function (props, re
590
587
  })));
591
588
  };
592
589
 
593
- var hasValue = value && value.length > 1;
590
+ var hasValue = !(0, _isNil.default)(value) && value.length > 1;
594
591
 
595
592
  var _usePickerClassName = (0, _Picker.usePickerClassName)((0, _extends2.default)({}, props, {
596
593
  classPrefix: classPrefix,
@@ -633,7 +630,7 @@ var DateRangePicker = /*#__PURE__*/_react.default.forwardRef(function (props, re
633
630
  placement: placement,
634
631
  caretComponent: _Calendar.default,
635
632
  disabled: disabled
636
- }), getDisplayString())));
633
+ }), getDisplayString(value))));
637
634
  });
638
635
 
639
636
  DateRangePicker.after = disabledDateUtils.after;
@@ -1,10 +1,11 @@
1
1
  import React from 'react';
2
2
  import { DATERANGE_DISABLED_TARGET } from '../utils/constants';
3
3
  export declare type ValueType = [Date?, Date?];
4
+ export declare type DateRange = [Date, Date];
4
5
  export interface RangeType {
5
6
  label: React.ReactNode;
6
7
  closeOverlay?: boolean;
7
- value: ValueType | ((value?: ValueType) => ValueType);
8
+ value: DateRange | ((value?: ValueType) => DateRange);
8
9
  }
9
10
  export declare type DisabledDateFunction = (
10
11
  /** Date used to determine if disabling is required. */
@@ -1,9 +1,9 @@
1
- import { RangeType, ValueType } from './types';
1
+ import { DateRange, RangeType } from './types';
2
2
  export declare const setTimingMargin: (date: any, way?: string) => Date;
3
3
  export declare function getCalendarDate({ value }: {
4
- value?: ValueType;
5
- }): ValueType;
4
+ value: [] | [Date] | [Date, Date] | null;
5
+ }): DateRange;
6
6
  export declare const getDefaultRanges: () => RangeType[];
7
- export declare const isSameRange: (source: ValueType, dest: ValueType, format: string) => boolean;
8
- export declare const getMonthHoverRange: (date: Date) => ValueType;
9
- export declare const getWeekHoverRange: (isoWeek: boolean, date: Date) => ValueType;
7
+ export declare const isSameRange: (source: DateRange | null, dest: DateRange | null, format: string) => boolean;
8
+ export declare const getMonthHoverRange: (date: Date) => DateRange;
9
+ export declare const getWeekHoverRange: (isoWeek: boolean, date: Date) => DateRange;
@@ -52,10 +52,15 @@ var getDefaultRanges = function getDefaultRanges() {
52
52
  exports.getDefaultRanges = getDefaultRanges;
53
53
 
54
54
  var isSameRange = function isSameRange(source, dest, format) {
55
- var result = _utils.DateUtils.isSameDay(source === null || source === void 0 ? void 0 : source[0], dest === null || dest === void 0 ? void 0 : dest[0]) && _utils.DateUtils.isSameDay(source === null || source === void 0 ? void 0 : source[1], dest === null || dest === void 0 ? void 0 : dest[1]);
55
+ // If both are null, reguard as same
56
+ if (null === source && null === dest) return true; // If only one is null, regard as different
57
+
58
+ if (null === source || null === dest) return false;
59
+
60
+ var result = _utils.DateUtils.isSameDay(source[0], dest[0]) && _utils.DateUtils.isSameDay(source[1], dest[1]);
56
61
 
57
62
  if (_utils.DateUtils.shouldTime(format)) {
58
- result && (result = _utils.DateUtils.isSameSecond(source === null || source === void 0 ? void 0 : source[0], dest === null || dest === void 0 ? void 0 : dest[0]) && _utils.DateUtils.isSameSecond(source === null || source === void 0 ? void 0 : source[1], dest === null || dest === void 0 ? void 0 : dest[1]));
63
+ result && (result = _utils.DateUtils.isSameSecond(source[0], dest[0]) && _utils.DateUtils.isSameSecond(source[1], dest[1]));
59
64
  }
60
65
 
61
66
  return result;
@@ -56,12 +56,14 @@ function Disclosure(props) {
56
56
  openState = _useReducer[0].open,
57
57
  dispatch = _useReducer[1];
58
58
 
59
- var containerElementRef = (0, _react.useRef)();
59
+ var containerElementRef = (0, _react.useRef)(null);
60
60
  var open = openProp !== null && openProp !== void 0 ? openProp : openState;
61
61
  (0, _useClickOutside.default)({
62
62
  enabled: hideOnClickOutside,
63
63
  isOutside: function isOutside(event) {
64
- return !containerElementRef.current.contains(event.target);
64
+ var _containerElementRef$;
65
+
66
+ return !((_containerElementRef$ = containerElementRef.current) !== null && _containerElementRef$ !== void 0 && _containerElementRef$.contains(event.target));
65
67
  },
66
68
  handle: function handle() {
67
69
  return dispatch({
@@ -1,24 +1,26 @@
1
1
  "use strict";
2
2
 
3
- var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard");
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
4
 
5
5
  exports.__esModule = true;
6
6
  exports.default = void 0;
7
7
 
8
8
  var _react = require("react");
9
9
 
10
- var _DisclosureContext = _interopRequireWildcard(require("./DisclosureContext"));
10
+ var _DisclosureContext = require("./DisclosureContext");
11
11
 
12
12
  var _utils = require("../utils");
13
13
 
14
+ var _useDisclosureContext2 = _interopRequireDefault(require("./useDisclosureContext"));
15
+
14
16
  function DisclosureButton(props) {
15
17
  var children = props.children;
16
- var buttonRef = (0, _react.useRef)();
18
+ var buttonRef = (0, _react.useRef)(null);
17
19
 
18
- var _useContext = (0, _react.useContext)(_DisclosureContext.default),
19
- open = _useContext[0].open,
20
- dispatch = _useContext[1],
21
- onToggle = _useContext[2].onToggle;
20
+ var _useDisclosureContext = (0, _useDisclosureContext2.default)(DisclosureButton.displayName),
21
+ open = _useDisclosureContext[0].open,
22
+ dispatch = _useDisclosureContext[1],
23
+ onToggle = _useDisclosureContext[2].onToggle;
22
24
 
23
25
  var toggle = (0, _react.useCallback)(function (event) {
24
26
  if (!open) {
@@ -7,15 +7,13 @@ exports.default = void 0;
7
7
 
8
8
  var _react = require("react");
9
9
 
10
- var _DisclosureContext = _interopRequireDefault(require("./DisclosureContext"));
10
+ var _useDisclosureContext = _interopRequireDefault(require("./useDisclosureContext"));
11
11
 
12
12
  function DisclosureContent(props) {
13
13
  var children = props.children;
14
- var elementRef = (0, _react.useRef)();
15
-
16
- var _useContext = (0, _react.useContext)(_DisclosureContext.default),
17
- open = _useContext[0].open;
18
-
14
+ var elementRef = (0, _react.useRef)(null);
15
+ var disclosure = (0, _useDisclosureContext.default)(DisclosureContent.displayName);
16
+ var open = disclosure[0].open;
19
17
  return children({
20
18
  open: open
21
19
  }, elementRef);
@@ -13,8 +13,8 @@ export declare type DisclosureContextProps = [
13
13
  DisclosureState,
14
14
  Dispatch<DisclosureAction>,
15
15
  {
16
- onToggle: (open: boolean, event?: React.SyntheticEvent) => void;
16
+ onToggle?: (open: boolean, event: React.SyntheticEvent) => void;
17
17
  }
18
18
  ];
19
- declare const DisclosureContext: React.Context<DisclosureContextProps>;
19
+ declare const DisclosureContext: React.Context<DisclosureContextProps | null>;
20
20
  export default DisclosureContext;
@@ -0,0 +1,2 @@
1
+ import { DisclosureContextProps } from './DisclosureContext';
2
+ export default function useDisclosureContext(component: string): DisclosureContextProps;
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ exports.__esModule = true;
6
+ exports.default = useDisclosureContext;
7
+
8
+ var _react = require("react");
9
+
10
+ var _DisclosureContext = _interopRequireDefault(require("./DisclosureContext"));
11
+
12
+ function useDisclosureContext(component) {
13
+ var context = (0, _react.useContext)(_DisclosureContext.default);
14
+
15
+ if (!context) {
16
+ throw new Error("<" + component + "> component must be rendered within a <Disclosure>");
17
+ }
18
+
19
+ return context;
20
+ }
@@ -45,7 +45,7 @@ export interface DropdownProps<T = any> extends WithAsProps, Omit<React.HTMLAttr
45
45
  /** Callback function for menu state switching */
46
46
  onToggle?: (open?: boolean) => void;
47
47
  /** Selected callback function */
48
- onSelect?: (eventKey: T, event: React.SyntheticEvent) => void;
48
+ onSelect?: (eventKey: T | undefined, event: React.SyntheticEvent) => void;
49
49
  }
50
50
  export interface DropdownComponent extends RsRefForwardingComponent<'div', DropdownProps> {
51
51
  Item: typeof DropdownItem;