rsuite 5.2.2 → 5.4.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 (485) 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 +61 -0
  6. package/CheckTreePicker/styles/index.less +14 -1
  7. package/Dropdown/styles/index.less +1 -0
  8. package/Nav/styles/index.less +1 -0
  9. package/Navbar/styles/index.less +7 -0
  10. package/Radio/styles/index.less +6 -0
  11. package/Stack/package.json +7 -0
  12. package/Stack/styles/index.less +5 -0
  13. package/Table/styles/index.less +0 -4
  14. package/TreePicker/styles/index.less +10 -14
  15. package/cjs/@types/common.d.ts +13 -12
  16. package/cjs/@types/utils.d.ts +12 -0
  17. package/cjs/Affix/Affix.js +5 -5
  18. package/cjs/Animation/Transition.d.ts +21 -12
  19. package/cjs/Animation/Transition.js +4 -1
  20. package/cjs/AutoComplete/AutoComplete.js +1 -1
  21. package/cjs/AutoComplete/utils.d.ts +1 -1
  22. package/cjs/Avatar/Avatar.js +10 -3
  23. package/cjs/AvatarGroup/AvatarGroup.d.ts +15 -0
  24. package/cjs/AvatarGroup/AvatarGroup.js +71 -0
  25. package/cjs/AvatarGroup/index.d.ts +3 -0
  26. package/cjs/AvatarGroup/index.js +11 -0
  27. package/cjs/Breadcrumb/Breadcrumb.js +1 -1
  28. package/cjs/Button/Button.js +8 -2
  29. package/cjs/ButtonGroup/ButtonGroup.js +8 -2
  30. package/cjs/ButtonGroup/ButtonGroupContext.d.ts +7 -0
  31. package/cjs/ButtonGroup/ButtonGroupContext.js +13 -0
  32. package/cjs/ButtonGroup/index.d.ts +2 -0
  33. package/cjs/ButtonGroup/index.js +3 -0
  34. package/cjs/Calendar/Calendar.d.ts +4 -4
  35. package/cjs/Calendar/Calendar.js +5 -2
  36. package/cjs/Calendar/CalendarContext.js +1 -1
  37. package/cjs/Calendar/TableRow.js +1 -1
  38. package/cjs/Calendar/TimeDropdown.js +6 -5
  39. package/cjs/Calendar/types.d.ts +2 -2
  40. package/cjs/Calendar/useCalendarDate.d.ts +2 -2
  41. package/cjs/Carousel/Carousel.d.ts +2 -2
  42. package/cjs/Carousel/Carousel.js +1 -1
  43. package/cjs/Cascader/Cascader.d.ts +1 -1
  44. package/cjs/Cascader/Cascader.js +10 -10
  45. package/cjs/Cascader/DropdownMenu.d.ts +5 -4
  46. package/cjs/Cascader/utils.d.ts +10 -10
  47. package/cjs/CheckPicker/CheckPicker.d.ts +9 -4
  48. package/cjs/CheckPicker/CheckPicker.js +4 -4
  49. package/cjs/CheckPicker/test/CheckPicker.test.d.ts +1 -0
  50. package/cjs/CheckPicker/test/CheckPicker.test.js +76 -0
  51. package/cjs/CheckTree/index.js +2 -6
  52. package/cjs/CheckTreePicker/CheckTreeNode.d.ts +1 -1
  53. package/cjs/CheckTreePicker/CheckTreeNode.js +7 -9
  54. package/cjs/CheckTreePicker/CheckTreePicker.js +34 -27
  55. package/cjs/CheckTreePicker/utils.d.ts +3 -1
  56. package/cjs/CheckTreePicker/utils.js +12 -10
  57. package/cjs/Checkbox/Checkbox.d.ts +1 -1
  58. package/cjs/CheckboxGroup/CheckboxGroup.js +2 -2
  59. package/cjs/CustomProvider/CustomProvider.d.ts +31 -57
  60. package/cjs/DOMHelper/index.d.ts +12 -12
  61. package/cjs/DatePicker/DatePicker.d.ts +1 -1
  62. package/cjs/DatePicker/DatePicker.js +17 -11
  63. package/cjs/DatePicker/Toolbar.d.ts +12 -9
  64. package/cjs/DatePicker/Toolbar.js +6 -8
  65. package/cjs/DatePicker/types.d.ts +4 -4
  66. package/cjs/DatePicker/utils.d.ts +4 -3
  67. package/cjs/DateRangePicker/Calendar.d.ts +9 -7
  68. package/cjs/DateRangePicker/Calendar.js +27 -6
  69. package/cjs/DateRangePicker/DateRangePicker.d.ts +8 -6
  70. package/cjs/DateRangePicker/DateRangePicker.js +131 -108
  71. package/cjs/DateRangePicker/types.d.ts +2 -1
  72. package/cjs/DateRangePicker/utils.d.ts +6 -6
  73. package/cjs/DateRangePicker/utils.js +7 -2
  74. package/cjs/Disclosure/Disclosure.js +4 -2
  75. package/cjs/Disclosure/DisclosureButton.js +9 -7
  76. package/cjs/Disclosure/DisclosureContent.js +4 -6
  77. package/cjs/Disclosure/DisclosureContext.d.ts +2 -2
  78. package/cjs/Disclosure/useDisclosureContext.d.ts +2 -0
  79. package/cjs/Disclosure/useDisclosureContext.js +20 -0
  80. package/cjs/Dropdown/Dropdown.d.ts +1 -1
  81. package/cjs/Dropdown/DropdownContext.d.ts +2 -2
  82. package/cjs/Dropdown/DropdownItem.js +1 -1
  83. package/cjs/Dropdown/DropdownMenu.d.ts +3 -3
  84. package/cjs/Dropdown/DropdownState.d.ts +1 -1
  85. package/cjs/Dropdown/DropdownToggle.js +10 -2
  86. package/cjs/Dropdown/useRenderDropdownItem.d.ts +1 -1
  87. package/cjs/Form/Form.js +1 -1
  88. package/cjs/Form/FormContext.d.ts +1 -1
  89. package/cjs/FormControl/FormControl.d.ts +1 -1
  90. package/cjs/FormControl/FormControl.js +5 -4
  91. package/cjs/FormGroup/FormGroup.d.ts +1 -1
  92. package/cjs/Input/Input.d.ts +3 -2
  93. package/cjs/InputGroup/InputGroup.d.ts +1 -1
  94. package/cjs/InputNumber/InputNumber.js +6 -2
  95. package/cjs/InputPicker/InputAutosize.js +4 -4
  96. package/cjs/InputPicker/InputPicker.d.ts +2 -2
  97. package/cjs/InputPicker/InputPicker.js +16 -11
  98. package/cjs/List/ListContext.d.ts +1 -1
  99. package/cjs/List/ListContext.js +8 -1
  100. package/cjs/List/helper/AutoScroller.js +4 -2
  101. package/cjs/List/helper/useManager.d.ts +3 -3
  102. package/cjs/List/helper/useManager.js +1 -1
  103. package/cjs/List/helper/useSortHelper.d.ts +3 -3
  104. package/cjs/List/helper/useSortHelper.js +6 -4
  105. package/cjs/List/helper/utils.d.ts +2 -2
  106. package/cjs/MaskedInput/TextMask.d.ts +5 -5
  107. package/cjs/MaskedInput/adjustCaretPosition.d.ts +6 -6
  108. package/cjs/MaskedInput/conformToMask.js +5 -4
  109. package/cjs/MaskedInput/createTextMaskInputElement.d.ts +2 -2
  110. package/cjs/MaskedInput/utilities.d.ts +1 -1
  111. package/cjs/Menu/Menu.js +60 -41
  112. package/cjs/Menu/MenuContext.d.ts +1 -1
  113. package/cjs/Menu/MenuItem.d.ts +1 -1
  114. package/cjs/Menu/MenuItem.js +31 -23
  115. package/cjs/Menu/Menubar.js +8 -8
  116. package/cjs/Menu/useMenu.js +17 -7
  117. package/cjs/Modal/Modal.js +12 -6
  118. package/cjs/Modal/ModalContext.d.ts +2 -2
  119. package/cjs/Modal/utils.d.ts +1 -1
  120. package/cjs/Modal/utils.js +3 -5
  121. package/cjs/MultiCascader/DropdownMenu.d.ts +4 -4
  122. package/cjs/MultiCascader/MultiCascader.js +6 -6
  123. package/cjs/MultiCascader/utils.d.ts +17 -17
  124. package/cjs/Nav/Nav.d.ts +1 -1
  125. package/cjs/Nav/Nav.js +3 -0
  126. package/cjs/Nav/NavContext.d.ts +7 -1
  127. package/cjs/Nav/NavContext.js +1 -0
  128. package/cjs/Nav/NavItem.d.ts +1 -1
  129. package/cjs/Navbar/Navbar.js +1 -1
  130. package/cjs/Navbar/NavbarItem.d.ts +1 -1
  131. package/cjs/Overlay/Modal.d.ts +2 -2
  132. package/cjs/Overlay/Modal.js +67 -45
  133. package/cjs/Overlay/ModalManager.d.ts +17 -8
  134. package/cjs/Overlay/ModalManager.js +11 -20
  135. package/cjs/Overlay/Overlay.d.ts +3 -3
  136. package/cjs/Overlay/Overlay.js +8 -2
  137. package/cjs/Overlay/OverlayContext.d.ts +6 -0
  138. package/cjs/Overlay/OverlayContext.js +14 -0
  139. package/cjs/Overlay/OverlayTrigger.d.ts +11 -11
  140. package/cjs/Overlay/OverlayTrigger.js +21 -7
  141. package/cjs/Overlay/Position.d.ts +4 -4
  142. package/cjs/Overlay/Position.js +14 -8
  143. package/cjs/Overlay/positionUtils.d.ts +1 -1
  144. package/cjs/Overlay/positionUtils.js +8 -8
  145. package/cjs/Pagination/Pagination.d.ts +1 -1
  146. package/cjs/Pagination/PaginationButton.d.ts +3 -3
  147. package/cjs/Pagination/PaginationGroup.js +5 -3
  148. package/cjs/Panel/Panel.d.ts +1 -1
  149. package/cjs/Panel/Panel.js +2 -2
  150. package/cjs/PanelGroup/PanelGroup.d.ts +2 -2
  151. package/cjs/Picker/DropdownMenu.d.ts +8 -5
  152. package/cjs/Picker/DropdownMenu.js +5 -5
  153. package/cjs/Picker/PickerOverlay.js +4 -3
  154. package/cjs/Picker/PickerToggle.js +9 -6
  155. package/cjs/Picker/PickerToggleTrigger.d.ts +2 -6
  156. package/cjs/Picker/SearchBar.d.ts +1 -1
  157. package/cjs/Picker/SelectedElement.js +2 -1
  158. package/cjs/Picker/VirtualizedList.d.ts +29 -2
  159. package/cjs/Picker/propTypes.d.ts +5 -7
  160. package/cjs/Picker/propTypes.js +4 -3
  161. package/cjs/Picker/utils.d.ts +15 -23
  162. package/cjs/Picker/utils.js +71 -46
  163. package/cjs/Placeholder/PlaceholderGrid.js +1 -1
  164. package/cjs/Plaintext/Plaintext.js +2 -1
  165. package/cjs/Radio/Radio.d.ts +1 -1
  166. package/cjs/RadioGroup/RadioGroup.d.ts +2 -2
  167. package/cjs/RadioGroup/RadioGroup.js +3 -3
  168. package/cjs/RangeSlider/RangeSlider.d.ts +2 -2
  169. package/cjs/RangeSlider/RangeSlider.js +6 -4
  170. package/cjs/Rate/Character.js +4 -2
  171. package/cjs/Rate/Rate.js +5 -2
  172. package/cjs/Ripple/Ripple.js +1 -1
  173. package/cjs/SelectPicker/SelectPicker.d.ts +12 -5
  174. package/cjs/SelectPicker/SelectPicker.js +8 -8
  175. package/cjs/SelectPicker/index.d.ts +1 -1
  176. package/cjs/SelectPicker/test/SelectPicker.test.d.ts +1 -0
  177. package/cjs/SelectPicker/test/SelectPicker.test.js +62 -0
  178. package/cjs/Sidenav/Node.d.ts +1 -1
  179. package/cjs/Sidenav/Sidenav.d.ts +4 -4
  180. package/cjs/Sidenav/Sidenav.js +5 -2
  181. package/cjs/Sidenav/SidenavDropdown.js +11 -8
  182. package/cjs/Sidenav/SidenavDropdownItem.js +10 -5
  183. package/cjs/Sidenav/SidenavDropdownMenu.js +9 -5
  184. package/cjs/Sidenav/SidenavItem.d.ts +1 -1
  185. package/cjs/Sidenav/SidenavItem.js +4 -0
  186. package/cjs/Slider/Graduated.d.ts +5 -5
  187. package/cjs/Slider/Handle.d.ts +1 -1
  188. package/cjs/Slider/Handle.js +10 -6
  189. package/cjs/Slider/Mark.d.ts +1 -1
  190. package/cjs/Slider/Slider.d.ts +1 -1
  191. package/cjs/Slider/Slider.js +2 -2
  192. package/cjs/Slider/utils.d.ts +2 -1
  193. package/cjs/Slider/utils.js +4 -5
  194. package/cjs/Stack/Stack.d.ts +26 -0
  195. package/cjs/Stack/Stack.js +86 -0
  196. package/cjs/Stack/index.d.ts +3 -0
  197. package/cjs/Stack/index.js +11 -0
  198. package/cjs/Steps/StepItem.js +1 -1
  199. package/cjs/TagInput/index.js +1 -1
  200. package/cjs/Toggle/Toggle.js +3 -3
  201. package/cjs/Tree/Tree.d.ts +3 -2
  202. package/cjs/Tree/Tree.js +2 -6
  203. package/cjs/Tree/TreeContext.d.ts +0 -1
  204. package/cjs/TreePicker/TreeNode.js +7 -22
  205. package/cjs/TreePicker/TreePicker.js +37 -54
  206. package/cjs/Uploader/UploadFileItem.d.ts +1 -1
  207. package/cjs/Uploader/UploadFileItem.js +2 -2
  208. package/cjs/Uploader/UploadTrigger.d.ts +1 -1
  209. package/cjs/Uploader/UploadTrigger.js +2 -3
  210. package/cjs/Uploader/Uploader.d.ts +5 -5
  211. package/cjs/Uploader/Uploader.js +1 -2
  212. package/cjs/index.d.ts +6 -2
  213. package/cjs/index.js +13 -5
  214. package/cjs/locales/index.d.ts +3 -3
  215. package/cjs/toaster/ToastContainer.d.ts +1 -1
  216. package/cjs/toaster/ToastContainer.js +1 -1
  217. package/cjs/toaster/toaster.js +3 -1
  218. package/cjs/utils/BrowserDetection.js +1 -1
  219. package/cjs/utils/ReactChildren.d.ts +2 -2
  220. package/cjs/utils/ajaxUpload.d.ts +1 -1
  221. package/cjs/utils/ajaxUpload.js +5 -4
  222. package/cjs/utils/appendTooltip.d.ts +1 -1
  223. package/cjs/utils/constants.d.ts +4 -4
  224. package/cjs/utils/createChainedFunction.d.ts +1 -1
  225. package/cjs/utils/getDataGroupBy.d.ts +1 -1
  226. package/cjs/utils/mergeRefs.d.ts +2 -2
  227. package/cjs/utils/previewFile.d.ts +1 -1
  228. package/cjs/utils/propTypeChecker.d.ts +6 -2
  229. package/cjs/utils/propTypeChecker.js +7 -6
  230. package/cjs/utils/reactToString.d.ts +2 -1
  231. package/cjs/utils/statusIcons.d.ts +1 -1
  232. package/cjs/utils/stringToObject.d.ts +1 -1
  233. package/cjs/utils/treeUtils.d.ts +35 -32
  234. package/cjs/utils/treeUtils.js +46 -23
  235. package/cjs/utils/useControlled.d.ts +6 -1
  236. package/cjs/utils/useControlled.js +0 -8
  237. package/cjs/utils/useCustom.js +6 -4
  238. package/cjs/utils/useElementResize.js +6 -3
  239. package/cjs/utils/useFocus.d.ts +2 -2
  240. package/cjs/utils/usePortal.d.ts +2 -2
  241. package/cjs/utils/useRootClose.d.ts +2 -2
  242. package/cjs/utils/useTimeout.d.ts +1 -1
  243. package/cjs/utils/useTimeout.js +5 -3
  244. package/dist/rsuite-rtl.css +60 -178
  245. package/dist/rsuite-rtl.min.css +1 -1
  246. package/dist/rsuite-rtl.min.css.map +1 -1
  247. package/dist/rsuite.css +60 -178
  248. package/dist/rsuite.js +216 -117
  249. package/dist/rsuite.js.map +1 -1
  250. package/dist/rsuite.min.css +1 -1
  251. package/dist/rsuite.min.css.map +1 -1
  252. package/dist/rsuite.min.js +1 -1
  253. package/dist/rsuite.min.js.LICENSE.txt +9 -0
  254. package/dist/rsuite.min.js.map +1 -1
  255. package/esm/@types/common.d.ts +13 -12
  256. package/esm/@types/utils.d.ts +12 -0
  257. package/esm/Affix/Affix.js +5 -5
  258. package/esm/Animation/Transition.d.ts +21 -12
  259. package/esm/Animation/Transition.js +4 -1
  260. package/esm/AutoComplete/AutoComplete.js +1 -1
  261. package/esm/AutoComplete/utils.d.ts +1 -1
  262. package/esm/Avatar/Avatar.js +7 -3
  263. package/esm/AvatarGroup/AvatarGroup.d.ts +15 -0
  264. package/esm/AvatarGroup/AvatarGroup.js +54 -0
  265. package/esm/AvatarGroup/index.d.ts +3 -0
  266. package/esm/AvatarGroup/index.js +2 -0
  267. package/esm/Breadcrumb/Breadcrumb.js +1 -1
  268. package/esm/Button/Button.js +6 -2
  269. package/esm/ButtonGroup/ButtonGroup.js +7 -2
  270. package/esm/ButtonGroup/ButtonGroupContext.d.ts +7 -0
  271. package/esm/ButtonGroup/ButtonGroupContext.js +3 -0
  272. package/esm/ButtonGroup/index.d.ts +2 -0
  273. package/esm/ButtonGroup/index.js +2 -0
  274. package/esm/Calendar/Calendar.d.ts +4 -4
  275. package/esm/Calendar/Calendar.js +5 -2
  276. package/esm/Calendar/CalendarContext.js +1 -1
  277. package/esm/Calendar/TableRow.js +1 -1
  278. package/esm/Calendar/TimeDropdown.js +5 -4
  279. package/esm/Calendar/types.d.ts +2 -2
  280. package/esm/Calendar/useCalendarDate.d.ts +2 -2
  281. package/esm/Carousel/Carousel.d.ts +2 -2
  282. package/esm/Carousel/Carousel.js +1 -1
  283. package/esm/Cascader/Cascader.d.ts +1 -1
  284. package/esm/Cascader/Cascader.js +10 -10
  285. package/esm/Cascader/DropdownMenu.d.ts +5 -4
  286. package/esm/Cascader/utils.d.ts +10 -10
  287. package/esm/CheckPicker/CheckPicker.d.ts +9 -4
  288. package/esm/CheckPicker/CheckPicker.js +4 -4
  289. package/esm/CheckPicker/test/CheckPicker.test.d.ts +1 -0
  290. package/esm/CheckPicker/test/CheckPicker.test.js +64 -0
  291. package/esm/CheckTree/index.js +2 -4
  292. package/esm/CheckTreePicker/CheckTreeNode.d.ts +1 -1
  293. package/esm/CheckTreePicker/CheckTreeNode.js +4 -7
  294. package/esm/CheckTreePicker/CheckTreePicker.js +33 -25
  295. package/esm/CheckTreePicker/utils.d.ts +3 -1
  296. package/esm/CheckTreePicker/utils.js +12 -10
  297. package/esm/Checkbox/Checkbox.d.ts +1 -1
  298. package/esm/CheckboxGroup/CheckboxGroup.js +2 -2
  299. package/esm/CustomProvider/CustomProvider.d.ts +31 -57
  300. package/esm/DOMHelper/index.d.ts +12 -12
  301. package/esm/DatePicker/DatePicker.d.ts +1 -1
  302. package/esm/DatePicker/DatePicker.js +16 -11
  303. package/esm/DatePicker/Toolbar.d.ts +12 -9
  304. package/esm/DatePicker/Toolbar.js +6 -8
  305. package/esm/DatePicker/types.d.ts +4 -4
  306. package/esm/DatePicker/utils.d.ts +4 -3
  307. package/esm/DateRangePicker/Calendar.d.ts +9 -7
  308. package/esm/DateRangePicker/Calendar.js +28 -6
  309. package/esm/DateRangePicker/DateRangePicker.d.ts +8 -6
  310. package/esm/DateRangePicker/DateRangePicker.js +129 -108
  311. package/esm/DateRangePicker/types.d.ts +2 -1
  312. package/esm/DateRangePicker/utils.d.ts +6 -6
  313. package/esm/DateRangePicker/utils.js +6 -2
  314. package/esm/Disclosure/Disclosure.js +4 -2
  315. package/esm/Disclosure/DisclosureButton.js +8 -7
  316. package/esm/Disclosure/DisclosureContent.js +5 -7
  317. package/esm/Disclosure/DisclosureContext.d.ts +2 -2
  318. package/esm/Disclosure/useDisclosureContext.d.ts +2 -0
  319. package/esm/Disclosure/useDisclosureContext.js +11 -0
  320. package/esm/Dropdown/Dropdown.d.ts +1 -1
  321. package/esm/Dropdown/DropdownContext.d.ts +2 -2
  322. package/esm/Dropdown/DropdownItem.js +1 -1
  323. package/esm/Dropdown/DropdownMenu.d.ts +3 -3
  324. package/esm/Dropdown/DropdownState.d.ts +1 -1
  325. package/esm/Dropdown/DropdownToggle.js +9 -2
  326. package/esm/Dropdown/useRenderDropdownItem.d.ts +1 -1
  327. package/esm/Form/Form.js +1 -1
  328. package/esm/Form/FormContext.d.ts +1 -1
  329. package/esm/FormControl/FormControl.d.ts +1 -1
  330. package/esm/FormControl/FormControl.js +5 -4
  331. package/esm/FormGroup/FormGroup.d.ts +1 -1
  332. package/esm/Input/Input.d.ts +3 -2
  333. package/esm/InputGroup/InputGroup.d.ts +1 -1
  334. package/esm/InputNumber/InputNumber.js +6 -2
  335. package/esm/InputPicker/InputAutosize.js +4 -4
  336. package/esm/InputPicker/InputPicker.d.ts +2 -2
  337. package/esm/InputPicker/InputPicker.js +16 -11
  338. package/esm/List/ListContext.d.ts +1 -1
  339. package/esm/List/ListContext.js +7 -1
  340. package/esm/List/helper/AutoScroller.js +4 -2
  341. package/esm/List/helper/useManager.d.ts +3 -3
  342. package/esm/List/helper/useManager.js +1 -1
  343. package/esm/List/helper/useSortHelper.d.ts +3 -3
  344. package/esm/List/helper/useSortHelper.js +6 -4
  345. package/esm/List/helper/utils.d.ts +2 -2
  346. package/esm/MaskedInput/TextMask.d.ts +5 -5
  347. package/esm/MaskedInput/adjustCaretPosition.d.ts +6 -6
  348. package/esm/MaskedInput/conformToMask.js +5 -4
  349. package/esm/MaskedInput/createTextMaskInputElement.d.ts +2 -2
  350. package/esm/MaskedInput/utilities.d.ts +1 -1
  351. package/esm/Menu/Menu.js +59 -43
  352. package/esm/Menu/MenuContext.d.ts +1 -1
  353. package/esm/Menu/MenuItem.d.ts +1 -1
  354. package/esm/Menu/MenuItem.js +30 -23
  355. package/esm/Menu/Menubar.js +7 -8
  356. package/esm/Menu/useMenu.js +17 -7
  357. package/esm/Modal/Modal.js +12 -6
  358. package/esm/Modal/ModalContext.d.ts +2 -2
  359. package/esm/Modal/utils.d.ts +1 -1
  360. package/esm/Modal/utils.js +3 -5
  361. package/esm/MultiCascader/DropdownMenu.d.ts +4 -4
  362. package/esm/MultiCascader/MultiCascader.js +6 -6
  363. package/esm/MultiCascader/utils.d.ts +17 -17
  364. package/esm/Nav/Nav.d.ts +1 -1
  365. package/esm/Nav/Nav.js +3 -0
  366. package/esm/Nav/NavContext.d.ts +7 -1
  367. package/esm/Nav/NavContext.js +1 -0
  368. package/esm/Nav/NavItem.d.ts +1 -1
  369. package/esm/Navbar/Navbar.js +1 -1
  370. package/esm/Navbar/NavbarItem.d.ts +1 -1
  371. package/esm/Overlay/Modal.d.ts +2 -2
  372. package/esm/Overlay/Modal.js +67 -45
  373. package/esm/Overlay/ModalManager.d.ts +17 -8
  374. package/esm/Overlay/ModalManager.js +11 -20
  375. package/esm/Overlay/Overlay.d.ts +3 -3
  376. package/esm/Overlay/Overlay.js +8 -3
  377. package/esm/Overlay/OverlayContext.d.ts +6 -0
  378. package/esm/Overlay/OverlayContext.js +4 -0
  379. package/esm/Overlay/OverlayTrigger.d.ts +11 -11
  380. package/esm/Overlay/OverlayTrigger.js +21 -8
  381. package/esm/Overlay/Position.d.ts +4 -4
  382. package/esm/Overlay/Position.js +14 -8
  383. package/esm/Overlay/positionUtils.d.ts +1 -1
  384. package/esm/Overlay/positionUtils.js +6 -6
  385. package/esm/Pagination/Pagination.d.ts +1 -1
  386. package/esm/Pagination/PaginationButton.d.ts +3 -3
  387. package/esm/Pagination/PaginationGroup.js +5 -3
  388. package/esm/Panel/Panel.d.ts +1 -1
  389. package/esm/Panel/Panel.js +2 -2
  390. package/esm/PanelGroup/PanelGroup.d.ts +2 -2
  391. package/esm/Picker/DropdownMenu.d.ts +8 -5
  392. package/esm/Picker/DropdownMenu.js +5 -5
  393. package/esm/Picker/PickerOverlay.js +4 -3
  394. package/esm/Picker/PickerToggle.js +9 -6
  395. package/esm/Picker/PickerToggleTrigger.d.ts +2 -6
  396. package/esm/Picker/SearchBar.d.ts +1 -1
  397. package/esm/Picker/SelectedElement.js +2 -1
  398. package/esm/Picker/VirtualizedList.d.ts +29 -2
  399. package/esm/Picker/propTypes.d.ts +5 -7
  400. package/esm/Picker/propTypes.js +4 -3
  401. package/esm/Picker/utils.d.ts +15 -23
  402. package/esm/Picker/utils.js +70 -46
  403. package/esm/Placeholder/PlaceholderGrid.js +1 -1
  404. package/esm/Plaintext/Plaintext.js +2 -1
  405. package/esm/Radio/Radio.d.ts +1 -1
  406. package/esm/RadioGroup/RadioGroup.d.ts +2 -2
  407. package/esm/RadioGroup/RadioGroup.js +3 -3
  408. package/esm/RangeSlider/RangeSlider.d.ts +2 -2
  409. package/esm/RangeSlider/RangeSlider.js +5 -4
  410. package/esm/Rate/Character.js +3 -2
  411. package/esm/Rate/Rate.js +4 -2
  412. package/esm/Ripple/Ripple.js +1 -1
  413. package/esm/SelectPicker/SelectPicker.d.ts +12 -5
  414. package/esm/SelectPicker/SelectPicker.js +8 -8
  415. package/esm/SelectPicker/index.d.ts +1 -1
  416. package/esm/SelectPicker/test/SelectPicker.test.d.ts +1 -0
  417. package/esm/SelectPicker/test/SelectPicker.test.js +52 -0
  418. package/esm/Sidenav/Node.d.ts +1 -1
  419. package/esm/Sidenav/Sidenav.d.ts +4 -4
  420. package/esm/Sidenav/Sidenav.js +5 -2
  421. package/esm/Sidenav/SidenavDropdown.js +11 -7
  422. package/esm/Sidenav/SidenavDropdownItem.js +11 -5
  423. package/esm/Sidenav/SidenavDropdownMenu.js +9 -5
  424. package/esm/Sidenav/SidenavItem.d.ts +1 -1
  425. package/esm/Sidenav/SidenavItem.js +4 -0
  426. package/esm/Slider/Graduated.d.ts +5 -5
  427. package/esm/Slider/Handle.d.ts +1 -1
  428. package/esm/Slider/Handle.js +10 -6
  429. package/esm/Slider/Mark.d.ts +1 -1
  430. package/esm/Slider/Slider.d.ts +1 -1
  431. package/esm/Slider/Slider.js +2 -2
  432. package/esm/Slider/utils.d.ts +2 -1
  433. package/esm/Slider/utils.js +5 -2
  434. package/esm/Stack/Stack.d.ts +26 -0
  435. package/esm/Stack/Stack.js +71 -0
  436. package/esm/Stack/index.d.ts +3 -0
  437. package/esm/Stack/index.js +2 -0
  438. package/esm/Steps/StepItem.js +1 -1
  439. package/esm/TagInput/index.js +1 -1
  440. package/esm/Toggle/Toggle.js +3 -3
  441. package/esm/Tree/Tree.d.ts +3 -2
  442. package/esm/Tree/Tree.js +2 -4
  443. package/esm/Tree/TreeContext.d.ts +0 -1
  444. package/esm/TreePicker/TreeNode.js +6 -21
  445. package/esm/TreePicker/TreePicker.js +36 -52
  446. package/esm/Uploader/UploadFileItem.d.ts +1 -1
  447. package/esm/Uploader/UploadFileItem.js +2 -2
  448. package/esm/Uploader/UploadTrigger.d.ts +1 -1
  449. package/esm/Uploader/UploadTrigger.js +2 -3
  450. package/esm/Uploader/Uploader.d.ts +5 -5
  451. package/esm/Uploader/Uploader.js +1 -2
  452. package/esm/index.d.ts +6 -2
  453. package/esm/index.js +3 -1
  454. package/esm/locales/index.d.ts +3 -3
  455. package/esm/toaster/ToastContainer.d.ts +1 -1
  456. package/esm/toaster/ToastContainer.js +1 -1
  457. package/esm/toaster/toaster.js +3 -1
  458. package/esm/utils/BrowserDetection.js +1 -1
  459. package/esm/utils/ReactChildren.d.ts +2 -2
  460. package/esm/utils/ajaxUpload.d.ts +1 -1
  461. package/esm/utils/ajaxUpload.js +5 -4
  462. package/esm/utils/appendTooltip.d.ts +1 -1
  463. package/esm/utils/constants.d.ts +4 -4
  464. package/esm/utils/createChainedFunction.d.ts +1 -1
  465. package/esm/utils/getDataGroupBy.d.ts +1 -1
  466. package/esm/utils/mergeRefs.d.ts +2 -2
  467. package/esm/utils/previewFile.d.ts +1 -1
  468. package/esm/utils/propTypeChecker.d.ts +6 -2
  469. package/esm/utils/propTypeChecker.js +7 -6
  470. package/esm/utils/reactToString.d.ts +2 -1
  471. package/esm/utils/statusIcons.d.ts +1 -1
  472. package/esm/utils/stringToObject.d.ts +1 -1
  473. package/esm/utils/treeUtils.d.ts +35 -32
  474. package/esm/utils/treeUtils.js +45 -21
  475. package/esm/utils/useControlled.d.ts +6 -1
  476. package/esm/utils/useControlled.js +0 -8
  477. package/esm/utils/useCustom.js +6 -4
  478. package/esm/utils/useElementResize.js +6 -3
  479. package/esm/utils/useFocus.d.ts +2 -2
  480. package/esm/utils/usePortal.d.ts +2 -2
  481. package/esm/utils/useRootClose.d.ts +2 -2
  482. package/esm/utils/useTimeout.d.ts +1 -1
  483. package/esm/utils/useTimeout.js +5 -3
  484. package/package.json +3 -3
  485. package/styles/index.less +2 -0
@@ -35,14 +35,14 @@ var _CheckTreeNode = _interopRequireDefault(require("./CheckTreeNode"));
35
35
 
36
36
  var _TreeContext = _interopRequireDefault(require("../Tree/TreeContext"));
37
37
 
38
+ var _treeUtils = require("../utils/treeUtils");
39
+
38
40
  var _utils = require("../utils");
39
41
 
40
42
  var _Picker = require("../Picker");
41
43
 
42
44
  var _utils2 = require("./utils");
43
45
 
44
- var _treeUtils = require("../utils/treeUtils");
45
-
46
46
  var _TreePicker = require("../TreePicker/TreePicker");
47
47
 
48
48
  var emptyArray = [];
@@ -62,6 +62,7 @@ var CheckTreePicker = /*#__PURE__*/_react.default.forwardRef(function (props, re
62
62
  searchBy = props.searchBy,
63
63
  toggleAs = props.toggleAs,
64
64
  searchKeyword = props.searchKeyword,
65
+ showIndentLine = props.showIndentLine,
65
66
  overrideLocale = props.locale,
66
67
  _props$cascade = props.cascade,
67
68
  cascade = _props$cascade === void 0 ? true : _props$cascade,
@@ -115,17 +116,17 @@ var CheckTreePicker = /*#__PURE__*/_react.default.forwardRef(function (props, re
115
116
  renderValue = props.renderValue,
116
117
  renderTreeIcon = props.renderTreeIcon,
117
118
  renderTreeNode = props.renderTreeNode,
118
- rest = (0, _objectWithoutPropertiesLoose2.default)(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"]);
119
+ rest = (0, _objectWithoutPropertiesLoose2.default)(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"]);
119
120
 
120
121
  var _useContext = (0, _react.useContext)(_TreeContext.default),
121
122
  inline = _useContext.inline;
122
123
 
123
- var triggerRef = (0, _react.useRef)();
124
- var targetRef = (0, _react.useRef)();
125
- var listRef = (0, _react.useRef)();
126
- var overlayRef = (0, _react.useRef)();
127
- var searchInputRef = (0, _react.useRef)();
128
- var treeViewRef = (0, _react.useRef)();
124
+ var triggerRef = (0, _react.useRef)(null);
125
+ var targetRef = (0, _react.useRef)(null);
126
+ var listRef = (0, _react.useRef)(null);
127
+ var overlayRef = (0, _react.useRef)(null);
128
+ var searchInputRef = (0, _react.useRef)(null);
129
+ var treeViewRef = (0, _react.useRef)(null);
129
130
 
130
131
  var _useCustom = (0, _utils.useCustom)('Picker', overrideLocale),
131
132
  rtl = _useCustom.rtl,
@@ -221,25 +222,21 @@ var CheckTreePicker = /*#__PURE__*/_react.default.forwardRef(function (props, re
221
222
 
222
223
 
223
224
  var getFormattedNodes = (0, _react.useCallback)(function (render) {
224
- var formattedNodes = [];
225
-
226
225
  if (virtualized) {
227
- formattedNodes = formatVirtualizedTreeData(flattenNodes, filteredData, expandItemValues, {
226
+ return formatVirtualizedTreeData(flattenNodes, filteredData, expandItemValues, {
228
227
  cascade: cascade,
229
228
  searchKeyword: searchKeywordState
230
229
  }).filter(function (item) {
231
230
  return item.visible;
232
231
  });
233
- } else {
234
- formattedNodes = (0, _utils2.getFormattedTree)(filteredData, flattenNodes, {
235
- childrenKey: childrenKey,
236
- cascade: cascade
237
- }).map(function (node) {
238
- return render === null || render === void 0 ? void 0 : render(node, 1);
239
- });
240
232
  }
241
233
 
242
- return formattedNodes;
234
+ return (0, _utils2.getFormattedTree)(filteredData, flattenNodes, {
235
+ childrenKey: childrenKey,
236
+ cascade: cascade
237
+ }).map(function (node) {
238
+ return render === null || render === void 0 ? void 0 : render(node, 1);
239
+ });
243
240
  }, [searchKeywordState, expandItemValues, filteredData, flattenNodes, formatVirtualizedTreeData, virtualized, childrenKey, cascade]);
244
241
 
245
242
  var getTreeNodeProps = function getTreeNodeProps(node, layer) {
@@ -434,10 +431,13 @@ var CheckTreePicker = /*#__PURE__*/_react.default.forwardRef(function (props, re
434
431
  }
435
432
  }, [childrenKey, expandItemValues, getChildren, loadChildren, onExpand, setExpandItemValues, valueKey]);
436
433
  (0, _Picker.usePublicMethods)(ref, {
434
+ rootRef: inline ? treeViewRef : undefined,
437
435
  triggerRef: triggerRef,
438
436
  overlayRef: overlayRef,
439
- targetRef: targetRef
440
- }, inline);
437
+ targetRef: targetRef,
438
+ listRef: listRef,
439
+ inline: inline
440
+ });
441
441
  var handleClean = (0, _react.useCallback)(function (event) {
442
442
  var target = event.target; // exclude searchBar
443
443
 
@@ -486,11 +486,13 @@ var CheckTreePicker = /*#__PURE__*/_react.default.forwardRef(function (props, re
486
486
  }
487
487
  }, [searchKeywordState, checkTreePrefix, expandItemValues, filteredData, focusItemValue, treeNodesRefs, childrenKey, valueKey, disabledItemValues]);
488
488
  var handleLeftArrow = (0, _react.useCallback)(function () {
489
+ if ((0, _isNil2.default)(focusItemValue)) return;
489
490
  var focusItem = (0, _treeUtils.getActiveItem)(focusItemValue, flattenNodes, valueKey);
490
491
  (0, _treeUtils.leftArrowHandler)({
491
492
  focusItem: focusItem,
492
493
  expand: expandItemValues.includes(focusItem === null || focusItem === void 0 ? void 0 : focusItem[valueKey]),
493
494
  onExpand: handleExpand,
495
+ childrenKey: childrenKey,
494
496
  onFocusItem: function onFocusItem() {
495
497
  var _focusItem$parent, _focusItem$parent2;
496
498
 
@@ -498,8 +500,9 @@ var CheckTreePicker = /*#__PURE__*/_react.default.forwardRef(function (props, re
498
500
  (0, _treeUtils.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'));
499
501
  }
500
502
  });
501
- }, [checkTreePrefix, expandItemValues, flattenNodes, focusItemValue, handleExpand, treeNodesRefs, valueKey]);
503
+ }, [checkTreePrefix, expandItemValues, flattenNodes, focusItemValue, handleExpand, treeNodesRefs, valueKey, childrenKey]);
502
504
  var handleRightArrow = (0, _react.useCallback)(function () {
505
+ if ((0, _isNil2.default)(focusItemValue)) return;
503
506
  var focusItem = (0, _treeUtils.getActiveItem)(focusItemValue, flattenNodes, valueKey);
504
507
  (0, _treeUtils.rightArrowHandler)({
505
508
  focusItem: focusItem,
@@ -512,6 +515,7 @@ var CheckTreePicker = /*#__PURE__*/_react.default.forwardRef(function (props, re
512
515
  });
513
516
  }, [focusItemValue, flattenNodes, valueKey, expandItemValues, childrenKey, handleExpand, handleFocusItem]);
514
517
  var selectActiveItem = (0, _react.useCallback)(function (event) {
518
+ if ((0, _isNil2.default)(focusItemValue)) return;
515
519
  var activeItem = (0, _treeUtils.getActiveItem)(focusItemValue, flattenNodes, valueKey);
516
520
 
517
521
  if (!(0, _utils2.isNodeUncheckable)(activeItem, {
@@ -593,19 +597,22 @@ var CheckTreePicker = /*#__PURE__*/_react.default.forwardRef(function (props, re
593
597
  key: node[valueKey]
594
598
  }, /*#__PURE__*/_react.default.createElement(_CheckTreeNode.default, (0, _extends2.default)({}, nodeProps, {
595
599
  ref: function ref(_ref) {
596
- return saveTreeNodeRef(refKey, _ref);
600
+ return saveTreeNodeRef(_ref, refKey);
597
601
  }
598
602
  })), /*#__PURE__*/_react.default.createElement("div", {
599
603
  className: checkTreePrefix('children')
600
604
  }, nodes.map(function (child) {
601
605
  return renderNode(child, layer);
606
+ }), showIndentLine && /*#__PURE__*/_react.default.createElement("span", {
607
+ className: checkTreePrefix('indent-line'),
608
+ style: (0, _treeUtils.getTreeNodeIndent)(rtl, layer - 1, true)
602
609
  })));
603
610
  }
604
611
 
605
612
  return /*#__PURE__*/_react.default.createElement(_CheckTreeNode.default, (0, _extends2.default)({
606
613
  key: node[valueKey],
607
614
  ref: function ref(_ref2) {
608
- return saveTreeNodeRef(refKey, _ref2);
615
+ return saveTreeNodeRef(_ref2, refKey);
609
616
  }
610
617
  }, nodeProps));
611
618
  };
@@ -629,7 +636,7 @@ var CheckTreePicker = /*#__PURE__*/_react.default.forwardRef(function (props, re
629
636
  style: style,
630
637
  key: key,
631
638
  ref: function ref(_ref4) {
632
- return saveTreeNodeRef(refKey, _ref4);
639
+ return saveTreeNodeRef(_ref4, refKey);
633
640
  }
634
641
  }, nodeProps));
635
642
  };
@@ -655,7 +662,7 @@ var CheckTreePicker = /*#__PURE__*/_react.default.forwardRef(function (props, re
655
662
  }, style) : {};
656
663
  return /*#__PURE__*/_react.default.createElement("div", {
657
664
  id: id ? id + "-listbox" : undefined,
658
- ref: inline ? (0, _utils.mergeRefs)(treeViewRef, ref) : treeViewRef,
665
+ ref: treeViewRef,
659
666
  role: "tree",
660
667
  "aria-multiselectable": true,
661
668
  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;
@@ -26,23 +26,25 @@ var _utils = require("../utils");
26
26
  var _treeUtils = require("../utils/treeUtils");
27
27
 
28
28
  function isEveryChildChecked(nodes, parent) {
29
- if ((0, _isNil2.default)(nodes[parent.refKey])) {
29
+ if ((0, _isNil2.default)(parent.refKey) || (0, _isNil2.default)(nodes[parent.refKey])) {
30
30
  return false;
31
31
  }
32
32
 
33
33
  var children = (0, _treeUtils.getChildrenByFlattenNodes)(nodes, parent);
34
34
 
35
35
  if (!children.length) {
36
- return nodes[parent.refKey].check;
36
+ var _nodes$parent$refKey$;
37
+
38
+ return (_nodes$parent$refKey$ = nodes[parent.refKey].check) !== null && _nodes$parent$refKey$ !== void 0 ? _nodes$parent$refKey$ : false;
37
39
  }
38
40
 
39
41
  return children.every(function (child) {
40
- return nodes[child.refKey].check;
42
+ return !(0, _isNil2.default)(child.refKey) && nodes[child.refKey].check;
41
43
  });
42
44
  }
43
45
 
44
46
  function isSomeChildChecked(nodes, parent, childrenKey) {
45
- if ((0, _isNil2.default)(nodes[parent.refKey])) {
47
+ if (!(0, _isNil2.default)(parent.refKey) && (0, _isNil2.default)(nodes[parent.refKey])) {
46
48
  return false;
47
49
  }
48
50
 
@@ -54,7 +56,7 @@ function isSomeChildChecked(nodes, parent, childrenKey) {
54
56
  return isSomeChildChecked(nodes, child, childrenKey);
55
57
  }
56
58
 
57
- return nodes[child.refKey].check;
59
+ return !(0, _isNil2.default)(child.refKey) && nodes[child.refKey].check;
58
60
  });
59
61
  }
60
62
 
@@ -71,7 +73,7 @@ function isSomeNodeHasChildren(data, childrenKey) {
71
73
 
72
74
  function isAllSiblingNodeUncheckable(node, nodes, uncheckableItemValues, valueKey) {
73
75
  var list = [];
74
- var parentNodeRefkey = node.parent ? node.parent.refKey : '';
76
+ var parentNodeRefKey = node.parent ? node.parent.refKey : '';
75
77
  Object.keys(nodes).forEach(function (refKey) {
76
78
  var _curNode$parent;
77
79
 
@@ -79,7 +81,7 @@ function isAllSiblingNodeUncheckable(node, nodes, uncheckableItemValues, valueKe
79
81
 
80
82
  if ((0, _isNil2.default)(node.parent) && (0, _isNil2.default)(curNode.parent)) {
81
83
  list.push(curNode);
82
- } else if (((_curNode$parent = curNode.parent) === null || _curNode$parent === void 0 ? void 0 : _curNode$parent.refKey) === parentNodeRefkey) {
84
+ } else if (((_curNode$parent = curNode.parent) === null || _curNode$parent === void 0 ? void 0 : _curNode$parent.refKey) === parentNodeRefKey) {
83
85
  list.push(curNode);
84
86
  }
85
87
  });
@@ -134,7 +136,7 @@ function getFormattedTree(data, nodes, props) {
134
136
  var curNode = nodes[node.refKey];
135
137
 
136
138
  if (curNode) {
137
- var _node$childrenKey;
139
+ var _node;
138
140
 
139
141
  var checkState = !(0, _isUndefined2.default)(cascade) ? getNodeCheckState({
140
142
  node: curNode,
@@ -148,7 +150,7 @@ function getFormattedTree(data, nodes, props) {
148
150
  formatted.parent = curNode.parent;
149
151
  formatted.checkState = checkState;
150
152
 
151
- if (((_node$childrenKey = node[childrenKey]) === null || _node$childrenKey === void 0 ? void 0 : _node$childrenKey.length) > 0) {
153
+ if (((_node = node[childrenKey]) === null || _node === void 0 ? void 0 : _node.length) > 0) {
152
154
  formatted[childrenKey] = getFormattedTree(formatted[childrenKey], nodes, props);
153
155
  }
154
156
  }
@@ -162,7 +164,7 @@ function getDisabledState(nodes, node, props) {
162
164
  disabledItemValues = _props$disabledItemVa === void 0 ? [] : _props$disabledItemVa,
163
165
  valueKey = props.valueKey;
164
166
 
165
- if ((0, _isNil2.default)(nodes[node.refKey])) {
167
+ if (!(0, _isNil2.default)(node.refKey) && (0, _isNil2.default)(nodes[node.refKey])) {
166
168
  return false;
167
169
  }
168
170
 
@@ -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. */
@@ -83,10 +83,10 @@ var CheckboxGroup = /*#__PURE__*/_react.default.forwardRef(function (props, ref)
83
83
  }, [disabled, handleChange, inline, isControlled, name, plaintext, readOnly, value]);
84
84
  return /*#__PURE__*/_react.default.createElement(_CheckboxGroupContext.CheckboxGroupContext.Provider, {
85
85
  value: contextValue
86
- }, plaintext ? /*#__PURE__*/_react.default.createElement(_Plaintext.default, {
86
+ }, plaintext ? /*#__PURE__*/_react.default.createElement(_Plaintext.default, (0, _extends2.default)({
87
87
  ref: ref,
88
88
  localeKey: "notSelected"
89
- }, value !== null && value !== void 0 && value.length ? children : null) : /*#__PURE__*/_react.default.createElement(Component, (0, _extends2.default)({}, rest, {
89
+ }, rest), value !== null && value !== void 0 && value.length ? children : null) : /*#__PURE__*/_react.default.createElement(Component, (0, _extends2.default)({}, rest, {
90
90
  ref: ref,
91
91
  role: "group",
92
92
  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 */
@@ -15,6 +15,8 @@ var _react = _interopRequireWildcard(require("react"));
15
15
 
16
16
  var _propTypes = _interopRequireDefault(require("prop-types"));
17
17
 
18
+ var _isNil = _interopRequireDefault(require("lodash/isNil"));
19
+
18
20
  var _mapValues = _interopRequireDefault(require("lodash/mapValues"));
19
21
 
20
22
  var _pick = _interopRequireDefault(require("lodash/pick"));
@@ -116,10 +118,10 @@ var DatePicker = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
116
118
  active = _useState2[0],
117
119
  setActive = _useState2[1];
118
120
 
119
- var triggerRef = (0, _react.useRef)();
120
- var rootRef = (0, _react.useRef)();
121
- var targetRef = (0, _react.useRef)();
122
- var overlayRef = (0, _react.useRef)();
121
+ var triggerRef = (0, _react.useRef)(null);
122
+ var rootRef = (0, _react.useRef)(null);
123
+ var targetRef = (0, _react.useRef)(null);
124
+ var overlayRef = (0, _react.useRef)(null);
123
125
  (0, _Picker.usePublicMethods)(ref, {
124
126
  rootRef: rootRef,
125
127
  triggerRef: triggerRef,
@@ -192,7 +194,7 @@ var DatePicker = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
192
194
  closeOverlay = true;
193
195
  }
194
196
 
195
- var nextValue = typeof nextPageDate !== 'undefined' ? nextPageDate : calendarDate;
197
+ var nextValue = !(0, _isNil.default)(nextPageDate) ? nextPageDate : calendarDate;
196
198
  setCalendarDate(nextValue || new Date());
197
199
  setValue(nextValue);
198
200
 
@@ -289,7 +291,9 @@ var DatePicker = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
289
291
  }
290
292
  }, [formatStr, handleDateChange, oneTap, calendarDate, setCalendarDate, updateValue]);
291
293
  var disabledDate = (0, _react.useCallback)(function (date) {
292
- return disabledDateProp === null || disabledDateProp === void 0 ? void 0 : disabledDateProp(date);
294
+ var _disabledDateProp;
295
+
296
+ return (_disabledDateProp = disabledDateProp === null || disabledDateProp === void 0 ? void 0 : disabledDateProp(date)) !== null && _disabledDateProp !== void 0 ? _disabledDateProp : false;
293
297
  }, [disabledDateProp]);
294
298
  /**
295
299
  * Callback after the input box value is changed.
@@ -346,9 +350,9 @@ var DatePicker = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
346
350
  }, [onClose, reset]); // Check whether the time is within the time range of the shortcut option in the toolbar.
347
351
 
348
352
  var disabledToolbarHandle = (0, _react.useCallback)(function (date) {
349
- var _disabledDateProp;
353
+ var _disabledDateProp2;
350
354
 
351
- var allowDate = (_disabledDateProp = disabledDateProp === null || disabledDateProp === void 0 ? void 0 : disabledDateProp(date)) !== null && _disabledDateProp !== void 0 ? _disabledDateProp : false;
355
+ var allowDate = (_disabledDateProp2 = disabledDateProp === null || disabledDateProp === void 0 ? void 0 : disabledDateProp(date)) !== null && _disabledDateProp2 !== void 0 ? _disabledDateProp2 : false;
352
356
 
353
357
  var allowTime = _utils.DateUtils.disabledTime(props, date);
354
358
 
@@ -357,7 +361,9 @@ var DatePicker = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
357
361
  var calendarProps = (0, _react.useMemo)(function () {
358
362
  return (0, _mapValues.default)((0, _pick.default)(props, _utils.DateUtils.calendarOnlyProps), function (disabledOrHiddenTimeFunc) {
359
363
  return function (next, date) {
360
- return disabledOrHiddenTimeFunc(next, date);
364
+ var _disabledOrHiddenTime;
365
+
366
+ return (_disabledOrHiddenTime = disabledOrHiddenTimeFunc === null || disabledOrHiddenTimeFunc === void 0 ? void 0 : disabledOrHiddenTimeFunc(next, date)) !== null && _disabledOrHiddenTime !== void 0 ? _disabledOrHiddenTime : false;
361
367
  };
362
368
  });
363
369
  }, [props]);
@@ -433,7 +439,7 @@ var DatePicker = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
433
439
 
434
440
  return (_renderValue = renderValue === null || renderValue === void 0 ? void 0 : renderValue(value, formatStr)) !== null && _renderValue !== void 0 ? _renderValue : formatDate(value, formatStr);
435
441
  }, [formatStr, formatDate, placeholder, renderValue, value]);
436
- var caretComponent = (0, _react.useMemo)(function () {
442
+ var caretAs = (0, _react.useMemo)(function () {
437
443
  return _utils.DateUtils.shouldOnlyTime(formatStr) ? _ClockO.default : _Calendar.default;
438
444
  }, [formatStr]);
439
445
  return /*#__PURE__*/_react.default.createElement(_Picker.PickerToggleTrigger, {
@@ -469,7 +475,7 @@ var DatePicker = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
469
475
  active: active,
470
476
  placement: placement,
471
477
  disabled: disabled,
472
- caretComponent: caretComponent
478
+ caretAs: caretAs
473
479
  }), renderDate())));
474
480
  });
475
481