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,16 +2,17 @@ import React from 'react';
2
2
  import PropTypes from 'prop-types';
3
3
  import { ItemDataType, WithAsProps, RsRefForwardingComponent } from '../@types/common';
4
4
  import { ValueType } from './Cascader';
5
- export interface DropdownMenuProps extends WithAsProps {
5
+ export interface DropdownMenuProps extends Omit<WithAsProps, 'classPrefix'> {
6
+ classPrefix: string;
6
7
  disabledItemValues: ValueType[];
7
- activeItemValue?: ValueType;
8
+ activeItemValue?: ValueType | null;
8
9
  childrenKey: string;
9
10
  cascadeData: ItemDataType[][];
10
11
  cascadePaths: ItemDataType[];
11
12
  valueKey: string;
12
13
  labelKey: string;
13
- menuWidth: number;
14
- menuHeight: number | string;
14
+ menuWidth?: number;
15
+ menuHeight?: number | string;
15
16
  renderMenuItem?: (itemLabel: React.ReactNode, item: ItemDataType) => React.ReactNode;
16
17
  renderMenu?: (items: ItemDataType[], menu: React.ReactNode, parentNode?: ItemDataType, layer?: number) => React.ReactNode;
17
18
  onSelect?: (node: ItemDataType, cascadePaths: ItemDataType[], isLeafNode: boolean, event: React.MouseEvent) => void;
@@ -1,12 +1,12 @@
1
1
  /// <reference types="react" />
2
2
  import { CascaderProps } from './Cascader';
3
3
  import { ItemDataType } from '../@types/common';
4
- export declare function getColumnsAndPaths(data: any, value: any, options: any): {
4
+ export declare function getColumnsAndPaths<T extends ItemDataType>(data: T[], value: any, options: any): {
5
5
  columns: ItemDataType[][];
6
- paths: any[];
6
+ paths: T[];
7
7
  };
8
8
  export declare function usePaths(props: CascaderProps): {
9
- enforceUpdate: (nextValue: any, isAttachChildren?: boolean) => void;
9
+ enforceUpdate: (nextValue: any, isAttachChildren?: boolean | undefined) => void;
10
10
  columnData: ItemDataType[][];
11
11
  valueToPaths: ItemDataType[];
12
12
  selectedPaths: ItemDataType[];
@@ -77,10 +77,10 @@ var CheckPicker = /*#__PURE__*/React.forwardRef(function (props, ref) {
77
77
  onOpen = props.onOpen,
78
78
  rest = _objectWithoutPropertiesLoose(props, ["as", "appearance", "classPrefix", "countable", "data", "disabledItemValues", "valueKey", "labelKey", "searchable", "virtualized", "cleanable", "placement", "menuAutoWidth", "menuMaxHeight", "menuClassName", "menuStyle", "locale", "placeholder", "disabled", "toggleAs", "style", "sticky", "value", "defaultValue", "groupBy", "listProps", "id", "sort", "searchBy", "renderMenuItem", "renderMenuGroup", "renderValue", "renderExtraFooter", "renderMenu", "onGroupTitleClick", "onSearch", "onEnter", "onEntered", "onExited", "onClean", "onChange", "onSelect", "onClose", "onOpen"]);
79
79
 
80
- var triggerRef = useRef();
81
- var targetRef = useRef();
82
- var overlayRef = useRef();
83
- var searchInputRef = useRef();
80
+ var triggerRef = useRef(null);
81
+ var targetRef = useRef(null);
82
+ var overlayRef = useRef(null);
83
+ var searchInputRef = useRef(null);
84
84
 
85
85
  var _useCustom = useCustom('Picker', overrideLocale),
86
86
  locale = _useCustom.locale;
@@ -4,7 +4,7 @@ import { CheckStateType } from '../utils';
4
4
  export interface CheckTreeNodeProps extends WithAsProps {
5
5
  rtl?: boolean;
6
6
  label?: any;
7
- layer?: number;
7
+ layer: number;
8
8
  value?: any;
9
9
  focus?: boolean;
10
10
  style?: React.CSSProperties;
@@ -5,10 +5,9 @@ import PropTypes from 'prop-types';
5
5
  import ArrowDown from '@rsuite/icons/legacy/ArrowDown';
6
6
  import Spinner from '@rsuite/icons/legacy/Spinner';
7
7
  import DropdownMenuCheckItem from '../Picker/DropdownMenuCheckItem';
8
- import { useClassNames, CHECK_STATE, TREE_NODE_PADDING, TREE_NODE_ROOT_PADDING, reactToString } from '../utils';
8
+ import { getTreeNodeIndent } from '../utils/treeUtils';
9
+ import { useClassNames, CHECK_STATE, reactToString } from '../utils';
9
10
  var CheckTreeNode = /*#__PURE__*/forwardRef(function (_ref, ref) {
10
- var _extends2;
11
-
12
11
  var _ref$as = _ref.as,
13
12
  Component = _ref$as === void 0 ? 'div' : _ref$as,
14
13
  style = _ref.style,
@@ -133,11 +132,9 @@ var CheckTreeNode = /*#__PURE__*/forwardRef(function (_ref, ref) {
133
132
  'all-uncheckable': !!allUncheckable,
134
133
  'text-muted': disabled,
135
134
  focus: focus
136
- })); // layer start from 1
137
-
138
- var padding = (layer - 1) * TREE_NODE_PADDING + TREE_NODE_ROOT_PADDING;
135
+ }));
139
136
 
140
- var styles = _extends({}, style, (_extends2 = {}, _extends2[rtl ? 'paddingRight' : 'paddingLeft'] = padding, _extends2));
137
+ var styles = _extends({}, style, getTreeNodeIndent(rtl, layer - 1));
141
138
 
142
139
  return visible ? /*#__PURE__*/React.createElement(Component, _extends({
143
140
  role: "treeitem",
@@ -12,6 +12,7 @@ import classNames from 'classnames';
12
12
  import { List, AutoSizer } from '../Picker/VirtualizedList';
13
13
  import CheckTreeNode from './CheckTreeNode';
14
14
  import TreeContext from '../Tree/TreeContext';
15
+ import { getTreeNodeIndent } from '../utils/treeUtils';
15
16
  import { createChainedFunction, useCustom, useClassNames, useControlled, KEY_VALUES, mergeRefs, shallowEqual } from '../utils';
16
17
  import { PickerToggle, onMenuKeyDown as _onMenuKeyDown, PickerOverlay, SearchBar, SelectedElement, PickerToggleTrigger, createConcatChildrenFunction, usePickerClassName, usePublicMethods, pickTriggerPropKeys, omitTriggerPropKeys, listPickerPropTypes, useToggleKeyDownEvent } from '../Picker';
17
18
  import { isEveryChildChecked, isSomeNodeHasChildren, isAllSiblingNodeUncheckable, isEveryFirstLevelNodeUncheckable, getFormattedTree, getDisabledState, getCheckTreePickerDefaultValue, getSelectedItems, isNodeUncheckable } from './utils';
@@ -33,6 +34,7 @@ var CheckTreePicker = /*#__PURE__*/React.forwardRef(function (props, ref) {
33
34
  searchBy = props.searchBy,
34
35
  toggleAs = props.toggleAs,
35
36
  searchKeyword = props.searchKeyword,
37
+ showIndentLine = props.showIndentLine,
36
38
  overrideLocale = props.locale,
37
39
  _props$cascade = props.cascade,
38
40
  cascade = _props$cascade === void 0 ? true : _props$cascade,
@@ -86,17 +88,17 @@ var CheckTreePicker = /*#__PURE__*/React.forwardRef(function (props, ref) {
86
88
  renderValue = props.renderValue,
87
89
  renderTreeIcon = props.renderTreeIcon,
88
90
  renderTreeNode = props.renderTreeNode,
89
- rest = _objectWithoutPropertiesLoose(props, ["as", "data", "style", "appearance", "cleanable", "countable", "searchBy", "toggleAs", "searchKeyword", "locale", "cascade", "disabled", "valueKey", "labelKey", "placement", "childrenKey", "placeholder", "value", "defaultValue", "defaultExpandAll", "disabledItemValues", "expandItemValues", "defaultExpandItemValues", "height", "menuStyle", "searchable", "virtualized", "className", "classPrefix", "menuClassName", "menuAutoWidth", "uncheckableItemValues", "id", "listProps", "renderMenu", "getChildren", "renderExtraFooter", "onEntered", "onChange", "onClean", "onClose", "onExited", "onSearch", "onSelect", "onOpen", "onScroll", "onExpand", "renderValue", "renderTreeIcon", "renderTreeNode"]);
91
+ rest = _objectWithoutPropertiesLoose(props, ["as", "data", "style", "appearance", "cleanable", "countable", "searchBy", "toggleAs", "searchKeyword", "showIndentLine", "locale", "cascade", "disabled", "valueKey", "labelKey", "placement", "childrenKey", "placeholder", "value", "defaultValue", "defaultExpandAll", "disabledItemValues", "expandItemValues", "defaultExpandItemValues", "height", "menuStyle", "searchable", "virtualized", "className", "classPrefix", "menuClassName", "menuAutoWidth", "uncheckableItemValues", "id", "listProps", "renderMenu", "getChildren", "renderExtraFooter", "onEntered", "onChange", "onClean", "onClose", "onExited", "onSearch", "onSelect", "onOpen", "onScroll", "onExpand", "renderValue", "renderTreeIcon", "renderTreeNode"]);
90
92
 
91
93
  var _useContext = useContext(TreeContext),
92
94
  inline = _useContext.inline;
93
95
 
94
- var triggerRef = useRef();
95
- var targetRef = useRef();
96
- var listRef = useRef();
97
- var overlayRef = useRef();
98
- var searchInputRef = useRef();
99
- var treeViewRef = useRef();
96
+ var triggerRef = useRef(null);
97
+ var targetRef = useRef(null);
98
+ var listRef = useRef(null);
99
+ var overlayRef = useRef(null);
100
+ var searchInputRef = useRef(null);
101
+ var treeViewRef = useRef(null);
100
102
 
101
103
  var _useCustom = useCustom('Picker', overrideLocale),
102
104
  rtl = _useCustom.rtl,
@@ -192,25 +194,21 @@ var CheckTreePicker = /*#__PURE__*/React.forwardRef(function (props, ref) {
192
194
 
193
195
 
194
196
  var getFormattedNodes = useCallback(function (render) {
195
- var formattedNodes = [];
196
-
197
197
  if (virtualized) {
198
- formattedNodes = formatVirtualizedTreeData(flattenNodes, filteredData, expandItemValues, {
198
+ return formatVirtualizedTreeData(flattenNodes, filteredData, expandItemValues, {
199
199
  cascade: cascade,
200
200
  searchKeyword: searchKeywordState
201
201
  }).filter(function (item) {
202
202
  return item.visible;
203
203
  });
204
- } else {
205
- formattedNodes = getFormattedTree(filteredData, flattenNodes, {
206
- childrenKey: childrenKey,
207
- cascade: cascade
208
- }).map(function (node) {
209
- return render === null || render === void 0 ? void 0 : render(node, 1);
210
- });
211
204
  }
212
205
 
213
- return formattedNodes;
206
+ return getFormattedTree(filteredData, flattenNodes, {
207
+ childrenKey: childrenKey,
208
+ cascade: cascade
209
+ }).map(function (node) {
210
+ return render === null || render === void 0 ? void 0 : render(node, 1);
211
+ });
214
212
  }, [searchKeywordState, expandItemValues, filteredData, flattenNodes, formatVirtualizedTreeData, virtualized, childrenKey, cascade]);
215
213
 
216
214
  var getTreeNodeProps = function getTreeNodeProps(node, layer) {
@@ -406,10 +404,13 @@ var CheckTreePicker = /*#__PURE__*/React.forwardRef(function (props, ref) {
406
404
  }
407
405
  }, [childrenKey, expandItemValues, getChildren, loadChildren, onExpand, setExpandItemValues, valueKey]);
408
406
  usePublicMethods(ref, {
407
+ rootRef: inline ? treeViewRef : undefined,
409
408
  triggerRef: triggerRef,
410
409
  overlayRef: overlayRef,
411
- targetRef: targetRef
412
- }, inline);
410
+ targetRef: targetRef,
411
+ listRef: listRef,
412
+ inline: inline
413
+ });
413
414
  var handleClean = useCallback(function (event) {
414
415
  var target = event.target; // exclude searchBar
415
416
 
@@ -458,11 +459,13 @@ var CheckTreePicker = /*#__PURE__*/React.forwardRef(function (props, ref) {
458
459
  }
459
460
  }, [searchKeywordState, checkTreePrefix, expandItemValues, filteredData, focusItemValue, treeNodesRefs, childrenKey, valueKey, disabledItemValues]);
460
461
  var handleLeftArrow = useCallback(function () {
462
+ if (_isNil(focusItemValue)) return;
461
463
  var focusItem = getActiveItem(focusItemValue, flattenNodes, valueKey);
462
464
  leftArrowHandler({
463
465
  focusItem: focusItem,
464
466
  expand: expandItemValues.includes(focusItem === null || focusItem === void 0 ? void 0 : focusItem[valueKey]),
465
467
  onExpand: handleExpand,
468
+ childrenKey: childrenKey,
466
469
  onFocusItem: function onFocusItem() {
467
470
  var _focusItem$parent, _focusItem$parent2;
468
471
 
@@ -470,8 +473,9 @@ var CheckTreePicker = /*#__PURE__*/React.forwardRef(function (props, ref) {
470
473
  focusTreeNode(focusItem === null || focusItem === void 0 ? void 0 : (_focusItem$parent2 = focusItem.parent) === null || _focusItem$parent2 === void 0 ? void 0 : _focusItem$parent2.refKey, treeNodesRefs, "." + checkTreePrefix('node-label'));
471
474
  }
472
475
  });
473
- }, [checkTreePrefix, expandItemValues, flattenNodes, focusItemValue, handleExpand, treeNodesRefs, valueKey]);
476
+ }, [checkTreePrefix, expandItemValues, flattenNodes, focusItemValue, handleExpand, treeNodesRefs, valueKey, childrenKey]);
474
477
  var handleRightArrow = useCallback(function () {
478
+ if (_isNil(focusItemValue)) return;
475
479
  var focusItem = getActiveItem(focusItemValue, flattenNodes, valueKey);
476
480
  rightArrowHandler({
477
481
  focusItem: focusItem,
@@ -484,6 +488,7 @@ var CheckTreePicker = /*#__PURE__*/React.forwardRef(function (props, ref) {
484
488
  });
485
489
  }, [focusItemValue, flattenNodes, valueKey, expandItemValues, childrenKey, handleExpand, handleFocusItem]);
486
490
  var selectActiveItem = useCallback(function (event) {
491
+ if (_isNil(focusItemValue)) return;
487
492
  var activeItem = getActiveItem(focusItemValue, flattenNodes, valueKey);
488
493
 
489
494
  if (!isNodeUncheckable(activeItem, {
@@ -566,19 +571,22 @@ var CheckTreePicker = /*#__PURE__*/React.forwardRef(function (props, ref) {
566
571
  key: node[valueKey]
567
572
  }, /*#__PURE__*/React.createElement(CheckTreeNode, _extends({}, nodeProps, {
568
573
  ref: function ref(_ref) {
569
- return saveTreeNodeRef(refKey, _ref);
574
+ return saveTreeNodeRef(_ref, refKey);
570
575
  }
571
576
  })), /*#__PURE__*/React.createElement("div", {
572
577
  className: checkTreePrefix('children')
573
578
  }, nodes.map(function (child) {
574
579
  return renderNode(child, layer);
580
+ }), showIndentLine && /*#__PURE__*/React.createElement("span", {
581
+ className: checkTreePrefix('indent-line'),
582
+ style: getTreeNodeIndent(rtl, layer - 1, true)
575
583
  })));
576
584
  }
577
585
 
578
586
  return /*#__PURE__*/React.createElement(CheckTreeNode, _extends({
579
587
  key: node[valueKey],
580
588
  ref: function ref(_ref2) {
581
- return saveTreeNodeRef(refKey, _ref2);
589
+ return saveTreeNodeRef(_ref2, refKey);
582
590
  }
583
591
  }, nodeProps));
584
592
  };
@@ -604,7 +612,7 @@ var CheckTreePicker = /*#__PURE__*/React.forwardRef(function (props, ref) {
604
612
  style: style,
605
613
  key: key,
606
614
  ref: function ref(_ref4) {
607
- return saveTreeNodeRef(refKey, _ref4);
615
+ return saveTreeNodeRef(_ref4, refKey);
608
616
  }
609
617
  }, nodeProps));
610
618
  };
@@ -630,7 +638,7 @@ var CheckTreePicker = /*#__PURE__*/React.forwardRef(function (props, ref) {
630
638
  }, style) : {};
631
639
  return /*#__PURE__*/React.createElement("div", {
632
640
  id: id ? id + "-listbox" : undefined,
633
- ref: inline ? mergeRefs(treeViewRef, ref) : treeViewRef,
641
+ ref: treeViewRef,
634
642
  role: "tree",
635
643
  "aria-multiselectable": true,
636
644
  className: classes,
@@ -14,6 +14,8 @@ export interface TreeNodeType {
14
14
  value?: string | number;
15
15
  groupBy?: string;
16
16
  children?: TreeNodeType[];
17
+ hasChildren?: boolean;
18
+ checkState?: CheckStateType;
17
19
  }
18
20
  export interface TreeNodesType {
19
21
  [key: string]: TreeNodeType;
@@ -38,5 +40,5 @@ export declare function isNodeUncheckable(node: any, props: Partial<CheckTreePic
38
40
  export declare function getFormattedTree(data: any[], nodes: TreeNodesType, props: Partial<CheckTreePickerProps>): any[];
39
41
  export declare function getDisabledState(nodes: TreeNodesType, node: TreeNodeType, props: Partial<CheckTreePickerProps>): boolean;
40
42
  export declare function getCheckTreePickerDefaultValue(value: any[], uncheckableItemValues: any[]): any[];
41
- export declare function getSelectedItems(nodes: TreeNodesType, value: (string | number)[], valueKey: string): any[];
43
+ export declare function getSelectedItems(nodes: TreeNodesType, value: (string | number)[], valueKey: string): TreeNodeType[];
42
44
  export declare function getNodeCheckState({ nodes, node, cascade, childrenKey }: any): CheckStateType;
@@ -4,22 +4,24 @@ import _isNil from "lodash/isNil";
4
4
  import { shallowEqual, CHECK_STATE } from '../utils';
5
5
  import { getChildrenByFlattenNodes } from '../utils/treeUtils';
6
6
  export function isEveryChildChecked(nodes, parent) {
7
- if (_isNil(nodes[parent.refKey])) {
7
+ if (_isNil(parent.refKey) || _isNil(nodes[parent.refKey])) {
8
8
  return false;
9
9
  }
10
10
 
11
11
  var children = getChildrenByFlattenNodes(nodes, parent);
12
12
 
13
13
  if (!children.length) {
14
- return nodes[parent.refKey].check;
14
+ var _nodes$parent$refKey$;
15
+
16
+ return (_nodes$parent$refKey$ = nodes[parent.refKey].check) !== null && _nodes$parent$refKey$ !== void 0 ? _nodes$parent$refKey$ : false;
15
17
  }
16
18
 
17
19
  return children.every(function (child) {
18
- return nodes[child.refKey].check;
20
+ return !_isNil(child.refKey) && nodes[child.refKey].check;
19
21
  });
20
22
  }
21
23
  export function isSomeChildChecked(nodes, parent, childrenKey) {
22
- if (_isNil(nodes[parent.refKey])) {
24
+ if (!_isNil(parent.refKey) && _isNil(nodes[parent.refKey])) {
23
25
  return false;
24
26
  }
25
27
 
@@ -31,7 +33,7 @@ export function isSomeChildChecked(nodes, parent, childrenKey) {
31
33
  return isSomeChildChecked(nodes, child, childrenKey);
32
34
  }
33
35
 
34
- return nodes[child.refKey].check;
36
+ return !_isNil(child.refKey) && nodes[child.refKey].check;
35
37
  });
36
38
  }
37
39
  export function isSomeNodeHasChildren(data, childrenKey) {
@@ -46,7 +48,7 @@ export function isSomeNodeHasChildren(data, childrenKey) {
46
48
 
47
49
  export function isAllSiblingNodeUncheckable(node, nodes, uncheckableItemValues, valueKey) {
48
50
  var list = [];
49
- var parentNodeRefkey = node.parent ? node.parent.refKey : '';
51
+ var parentNodeRefKey = node.parent ? node.parent.refKey : '';
50
52
  Object.keys(nodes).forEach(function (refKey) {
51
53
  var _curNode$parent;
52
54
 
@@ -54,7 +56,7 @@ export function isAllSiblingNodeUncheckable(node, nodes, uncheckableItemValues,
54
56
 
55
57
  if (_isNil(node.parent) && _isNil(curNode.parent)) {
56
58
  list.push(curNode);
57
- } else if (((_curNode$parent = curNode.parent) === null || _curNode$parent === void 0 ? void 0 : _curNode$parent.refKey) === parentNodeRefkey) {
59
+ } else if (((_curNode$parent = curNode.parent) === null || _curNode$parent === void 0 ? void 0 : _curNode$parent.refKey) === parentNodeRefKey) {
58
60
  list.push(curNode);
59
61
  }
60
62
  });
@@ -107,7 +109,7 @@ export function getFormattedTree(data, nodes, props) {
107
109
  var curNode = nodes[node.refKey];
108
110
 
109
111
  if (curNode) {
110
- var _node$childrenKey;
112
+ var _node;
111
113
 
112
114
  var checkState = !_isUndefined(cascade) ? getNodeCheckState({
113
115
  node: curNode,
@@ -121,7 +123,7 @@ export function getFormattedTree(data, nodes, props) {
121
123
  formatted.parent = curNode.parent;
122
124
  formatted.checkState = checkState;
123
125
 
124
- if (((_node$childrenKey = node[childrenKey]) === null || _node$childrenKey === void 0 ? void 0 : _node$childrenKey.length) > 0) {
126
+ if (((_node = node[childrenKey]) === null || _node === void 0 ? void 0 : _node.length) > 0) {
125
127
  formatted[childrenKey] = getFormattedTree(formatted[childrenKey], nodes, props);
126
128
  }
127
129
  }
@@ -134,7 +136,7 @@ export function getDisabledState(nodes, node, props) {
134
136
  disabledItemValues = _props$disabledItemVa === void 0 ? [] : _props$disabledItemVa,
135
137
  valueKey = props.valueKey;
136
138
 
137
- if (_isNil(nodes[node.refKey])) {
139
+ if (!_isNil(node.refKey) && _isNil(nodes[node.refKey])) {
138
140
  return false;
139
141
  }
140
142
 
@@ -31,7 +31,7 @@ export interface CheckboxProps<V = ValueType> extends WithAsProps {
31
31
  /** Used for the name of the form */
32
32
  name?: string;
33
33
  /** Called when the user attempts to change the checked state. */
34
- onChange?: (value: V, checked: boolean, event: React.ChangeEvent<HTMLInputElement>) => void;
34
+ onChange?: (value: V | undefined, checked: boolean, event: React.ChangeEvent<HTMLInputElement>) => void;
35
35
  /** Called when the checkbox or label is clicked. */
36
36
  onClick?: (event: React.SyntheticEvent) => void;
37
37
  /** Called when the checkbox is clicked. */
@@ -65,10 +65,10 @@ var CheckboxGroup = /*#__PURE__*/React.forwardRef(function (props, ref) {
65
65
  }, [disabled, handleChange, inline, isControlled, name, plaintext, readOnly, value]);
66
66
  return /*#__PURE__*/React.createElement(CheckboxGroupContext.Provider, {
67
67
  value: contextValue
68
- }, plaintext ? /*#__PURE__*/React.createElement(Plaintext, {
68
+ }, plaintext ? /*#__PURE__*/React.createElement(Plaintext, _extends({
69
69
  ref: ref,
70
70
  localeKey: "notSelected"
71
- }, value !== null && value !== void 0 && value.length ? children : null) : /*#__PURE__*/React.createElement(Component, _extends({}, rest, {
71
+ }, rest), value !== null && value !== void 0 && value.length ? children : null) : /*#__PURE__*/React.createElement(Component, _extends({}, rest, {
72
72
  ref: ref,
73
73
  role: "group",
74
74
  className: classes
@@ -2,9 +2,9 @@ import React from 'react';
2
2
  import { Locale } from '../locales';
3
3
  export interface CustomValue<T = Locale> {
4
4
  /** Language configuration */
5
- locale?: T;
5
+ locale: T;
6
6
  /** Support right-to-left */
7
- rtl?: boolean;
7
+ rtl: boolean;
8
8
  /**
9
9
  * Return the formatted date string in the given format. The result may vary by locale.
10
10
  *
@@ -18,7 +18,7 @@ export interface CustomValue<T = Locale> {
18
18
  * }
19
19
  *
20
20
  * */
21
- formatDate?: (date: Date | string | number, format?: string) => string;
21
+ formatDate: (date: Date | number, format: string) => string;
22
22
  /**
23
23
  * Return the date parsed from string using the given format string.
24
24
  *
@@ -32,9 +32,9 @@ export interface CustomValue<T = Locale> {
32
32
  * }
33
33
  *
34
34
  * */
35
- parseDate?: (dateString: string, formatString: string) => Date;
35
+ parseDate: (dateString: string, formatString: string) => Date;
36
36
  }
37
- export interface CustomProviderProps<T = Locale> extends CustomValue<T> {
37
+ export interface CustomProviderProps<T = Locale> extends Partial<CustomValue<T>> {
38
38
  /** Supported themes */
39
39
  theme?: 'light' | 'dark' | 'high-contrast';
40
40
  /** The prefix of the component CSS class */
@@ -46,25 +46,12 @@ declare const CustomContext: React.Context<CustomProviderProps<{
46
46
  common?: {
47
47
  loading: string;
48
48
  emptyMessage: string;
49
- };
49
+ } | undefined;
50
50
  Plaintext?: {
51
51
  unfilled: string;
52
52
  notSelected: string;
53
- /**
54
- * Return the date parsed from string using the given format string.
55
- *
56
- * Example:
57
- *
58
- * import parse from 'date-fns/parse';
59
- * import eo from 'date-fns/locale/eo'
60
- *
61
- * function parseDate(date, formatStr) {
62
- * return parse(date, formatStr, new Date(), { locale: eo });
63
- * }
64
- *
65
- * */
66
53
  notUploaded: string;
67
- };
54
+ } | undefined;
68
55
  Pagination?: {
69
56
  more: string;
70
57
  prev: string;
@@ -74,7 +61,7 @@ declare const CustomContext: React.Context<CustomProviderProps<{
74
61
  limit: string;
75
62
  total: string;
76
63
  skip: string;
77
- };
64
+ } | undefined;
78
65
  Calendar?: {
79
66
  sunday: string;
80
67
  monday: string;
@@ -92,7 +79,7 @@ declare const CustomContext: React.Context<CustomProviderProps<{
92
79
  formattedMonthPattern: string;
93
80
  formattedDayPattern: string;
94
81
  dateLocale: any;
95
- };
82
+ } | undefined;
96
83
  DatePicker?: {
97
84
  sunday: string;
98
85
  monday: string;
@@ -110,7 +97,7 @@ declare const CustomContext: React.Context<CustomProviderProps<{
110
97
  formattedMonthPattern: string;
111
98
  formattedDayPattern: string;
112
99
  dateLocale: any;
113
- };
100
+ } | undefined;
114
101
  DateRangePicker?: {
115
102
  last7Days: string;
116
103
  sunday: string;
@@ -129,17 +116,17 @@ declare const CustomContext: React.Context<CustomProviderProps<{
129
116
  formattedMonthPattern: string;
130
117
  formattedDayPattern: string;
131
118
  dateLocale: any;
132
- };
119
+ } | undefined;
133
120
  Picker?: {
134
121
  noResultsText: string;
135
122
  placeholder: string;
136
- searchPlaceholder: string;
123
+ searchPlaceholder: string; /** Supported themes */
137
124
  checkAll: string;
138
- };
125
+ } | undefined;
139
126
  InputPicker?: {
140
127
  newItem: string;
141
128
  createOption: string;
142
- };
129
+ } | undefined;
143
130
  Uploader?: {
144
131
  inited: string;
145
132
  progress: string;
@@ -147,41 +134,28 @@ declare const CustomContext: React.Context<CustomProviderProps<{
147
134
  complete: string;
148
135
  emptyFile: string;
149
136
  upload: string;
150
- };
137
+ } | undefined;
151
138
  CloseButton?: {
152
139
  closeLabel: string;
153
- };
140
+ } | undefined;
154
141
  Breadcrumb?: {
155
142
  expandText: string;
156
- };
143
+ } | undefined;
157
144
  Toggle?: {
158
145
  on: string;
159
146
  off: string;
160
- };
147
+ } | undefined;
161
148
  }>>;
162
149
  declare const Consumer: React.Consumer<CustomProviderProps<{
163
150
  common?: {
164
151
  loading: string;
165
152
  emptyMessage: string;
166
- };
153
+ } | undefined;
167
154
  Plaintext?: {
168
155
  unfilled: string;
169
156
  notSelected: string;
170
- /**
171
- * Return the date parsed from string using the given format string.
172
- *
173
- * Example:
174
- *
175
- * import parse from 'date-fns/parse';
176
- * import eo from 'date-fns/locale/eo'
177
- *
178
- * function parseDate(date, formatStr) {
179
- * return parse(date, formatStr, new Date(), { locale: eo });
180
- * }
181
- *
182
- * */
183
157
  notUploaded: string;
184
- };
158
+ } | undefined;
185
159
  Pagination?: {
186
160
  more: string;
187
161
  prev: string;
@@ -191,7 +165,7 @@ declare const Consumer: React.Consumer<CustomProviderProps<{
191
165
  limit: string;
192
166
  total: string;
193
167
  skip: string;
194
- };
168
+ } | undefined;
195
169
  Calendar?: {
196
170
  sunday: string;
197
171
  monday: string;
@@ -209,7 +183,7 @@ declare const Consumer: React.Consumer<CustomProviderProps<{
209
183
  formattedMonthPattern: string;
210
184
  formattedDayPattern: string;
211
185
  dateLocale: any;
212
- };
186
+ } | undefined;
213
187
  DatePicker?: {
214
188
  sunday: string;
215
189
  monday: string;
@@ -227,7 +201,7 @@ declare const Consumer: React.Consumer<CustomProviderProps<{
227
201
  formattedMonthPattern: string;
228
202
  formattedDayPattern: string;
229
203
  dateLocale: any;
230
- };
204
+ } | undefined;
231
205
  DateRangePicker?: {
232
206
  last7Days: string;
233
207
  sunday: string;
@@ -246,17 +220,17 @@ declare const Consumer: React.Consumer<CustomProviderProps<{
246
220
  formattedMonthPattern: string;
247
221
  formattedDayPattern: string;
248
222
  dateLocale: any;
249
- };
223
+ } | undefined;
250
224
  Picker?: {
251
225
  noResultsText: string;
252
226
  placeholder: string;
253
- searchPlaceholder: string;
227
+ searchPlaceholder: string; /** Supported themes */
254
228
  checkAll: string;
255
- };
229
+ } | undefined;
256
230
  InputPicker?: {
257
231
  newItem: string;
258
232
  createOption: string;
259
- };
233
+ } | undefined;
260
234
  Uploader?: {
261
235
  inited: string;
262
236
  progress: string;
@@ -264,17 +238,17 @@ declare const Consumer: React.Consumer<CustomProviderProps<{
264
238
  complete: string;
265
239
  emptyFile: string;
266
240
  upload: string;
267
- };
241
+ } | undefined;
268
242
  CloseButton?: {
269
243
  closeLabel: string;
270
- };
244
+ } | undefined;
271
245
  Breadcrumb?: {
272
246
  expandText: string;
273
- };
247
+ } | undefined;
274
248
  Toggle?: {
275
249
  on: string;
276
250
  off: string;
277
- };
251
+ } | undefined;
278
252
  }>>;
279
253
  declare const CustomProvider: (props: CustomProviderProps) => JSX.Element;
280
254
  export { CustomContext, Consumer as CustomConsumer };
@@ -16,33 +16,33 @@ declare const DOMHelper: {
16
16
  ownerDocument: (node: Element) => Document;
17
17
  ownerWindow: (componentOrElement: Element) => Window;
18
18
  getWindow: (node: any) => Window;
19
- getContainer: (container: Element | (() => Element), defaultContainer?: Element) => Element;
19
+ getContainer: (container: Element | (() => Element), defaultContainer?: Element | undefined) => Element;
20
20
  canUseDOM: boolean;
21
21
  contains: (context: Element, node: Node & ParentNode) => boolean;
22
- scrollTop: (node: Element, val?: number) => number;
23
- scrollLeft: (node: Element, val?: number) => number;
22
+ scrollTop: (node: Element, val?: number | undefined) => number;
23
+ scrollLeft: (node: Element, val?: number | undefined) => number;
24
24
  getOffset: (node: Element) => {
25
25
  top: number;
26
26
  left: number;
27
27
  height: number;
28
28
  width: number;
29
- } | DOMRect;
29
+ } | DOMRect | null;
30
30
  nodeName: (node: Element) => string;
31
31
  getOffsetParent: (node: Element) => Element;
32
- getPosition: (node: Element, offsetParent?: Element, calcMargin?: boolean) => DOMRect | {
32
+ getPosition: (node: Element, offsetParent?: Element | undefined, calcMargin?: boolean | undefined) => DOMRect | {
33
33
  top: number;
34
34
  left: number;
35
35
  height: number;
36
36
  width: number;
37
- };
37
+ } | null;
38
38
  isOverflowing: (container: Element) => boolean;
39
- getScrollbarSize: (recalc?: boolean) => number | void;
40
- getHeight: (node: Element | Window, client?: Element) => number;
41
- getWidth: (node: Element | Window, client?: Element) => number;
39
+ getScrollbarSize: (recalc?: boolean | undefined) => number | void;
40
+ getHeight: (node: Element | Window, client?: Element | undefined) => number;
41
+ getWidth: (node: Element | Window, client?: Element | undefined) => number;
42
42
  isFocusable: typeof helpers.isFocusable;
43
- getStyle: (node: Element, property?: string) => string | CSSStyleDeclaration;
43
+ getStyle: (node: Element, property?: string | undefined) => string | CSSStyleDeclaration;
44
44
  removeStyle: (node: Element, keys: string | string[]) => void;
45
- addStyle: (node: Element, property: string | import("dom-lib/esm/addStyle").CSSProperty, value?: string | number) => void;
46
- translateDOMPositionXY: (style: CSSStyleDeclaration, x?: number, y?: number) => CSSStyleDeclaration;
45
+ addStyle: (node: Element, property: string | import("dom-lib/esm/addStyle").CSSProperty, value?: string | number | undefined) => void;
46
+ translateDOMPositionXY: (style: CSSStyleDeclaration, x?: number | undefined, y?: number | undefined) => CSSStyleDeclaration;
47
47
  };
48
48
  export default DOMHelper;
@@ -5,7 +5,7 @@ import { FormControlBaseProps, PickerBaseProps, RsRefForwardingComponent } from
5
5
  export type { RangeType } from './Toolbar';
6
6
  export interface DatePickerProps extends PickerBaseProps<DatePickerLocale>, FormControlBaseProps<Date> {
7
7
  /** Configure shortcut options */
8
- ranges?: RangeType[];
8
+ ranges?: RangeType<Date>[];
9
9
  /** Calendar panel default presentation date and time */
10
10
  calendarDefaultDate?: Date;
11
11
  /** Format date */