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
@@ -0,0 +1,11 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ exports.__esModule = true;
6
+ exports.default = void 0;
7
+
8
+ var _AvatarGroup = _interopRequireDefault(require("./AvatarGroup"));
9
+
10
+ var _default = _AvatarGroup.default;
11
+ exports.default = _default;
@@ -52,7 +52,7 @@ var Breadcrumb = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
52
52
 
53
53
  var renderSeparator = function renderSeparator(key) {
54
54
  return /*#__PURE__*/_react.default.createElement("span", {
55
- key: key,
55
+ key: "breadcrumb-separator-" + key,
56
56
  "aria-hidden": true,
57
57
  className: prefix(_templateObject || (_templateObject = (0, _taggedTemplateLiteralLoose2.default)(["separator"])))
58
58
  }, separator);
@@ -2,6 +2,8 @@
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
4
 
5
+ var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard");
6
+
5
7
  exports.__esModule = true;
6
8
  exports.default = void 0;
7
9
 
@@ -11,10 +13,12 @@ var _taggedTemplateLiteralLoose2 = _interopRequireDefault(require("@babel/runtim
11
13
 
12
14
  var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutPropertiesLoose"));
13
15
 
14
- var _react = _interopRequireDefault(require("react"));
16
+ var _react = _interopRequireWildcard(require("react"));
15
17
 
16
18
  var _propTypes = _interopRequireDefault(require("prop-types"));
17
19
 
20
+ var _ButtonGroup = require("../ButtonGroup");
21
+
18
22
  var _SafeAnchor = _interopRequireDefault(require("../SafeAnchor"));
19
23
 
20
24
  var _Ripple = _interopRequireDefault(require("../Ripple"));
@@ -38,9 +42,11 @@ var Button = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
38
42
  loading = props.loading,
39
43
  _props$ripple = props.ripple,
40
44
  ripple = _props$ripple === void 0 ? true : _props$ripple,
41
- size = props.size,
45
+ sizeProp = props.size,
42
46
  typeProp = props.type,
43
47
  rest = (0, _objectWithoutPropertiesLoose2.default)(props, ["as", "active", "appearance", "block", "className", "children", "classPrefix", "color", "disabled", "loading", "ripple", "size", "type"]);
48
+ var buttonGroup = (0, _react.useContext)(_ButtonGroup.ButtonGroupContext);
49
+ var size = sizeProp !== null && sizeProp !== void 0 ? sizeProp : buttonGroup === null || buttonGroup === void 0 ? void 0 : buttonGroup.size;
44
50
 
45
51
  var _useClassNames = (0, _utils.useClassNames)(classPrefix),
46
52
  withClassPrefix = _useClassNames.withClassPrefix,
@@ -15,6 +15,8 @@ var _propTypes = _interopRequireDefault(require("prop-types"));
15
15
 
16
16
  var _utils = require("../utils");
17
17
 
18
+ var _ButtonGroupContext = _interopRequireDefault(require("./ButtonGroupContext"));
19
+
18
20
  var ButtonGroup = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
19
21
  var _props$as = props.as,
20
22
  Component = _props$as === void 0 ? 'div' : _props$as,
@@ -39,11 +41,15 @@ var ButtonGroup = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
39
41
  vertical: vertical,
40
42
  justified: justified
41
43
  }));
42
- return /*#__PURE__*/_react.default.createElement(Component, (0, _extends2.default)({}, rest, {
44
+ return /*#__PURE__*/_react.default.createElement(_ButtonGroupContext.default.Provider, {
45
+ value: {
46
+ size: size
47
+ }
48
+ }, /*#__PURE__*/_react.default.createElement(Component, (0, _extends2.default)({}, rest, {
43
49
  role: role,
44
50
  ref: ref,
45
51
  className: classes
46
- }), children);
52
+ }), children));
47
53
  });
48
54
 
49
55
  ButtonGroup.displayName = 'ButtonGroup';
@@ -0,0 +1,7 @@
1
+ import React from 'react';
2
+ import { TypeAttributes } from '../@types/common';
3
+ export interface ButtonGroupContextProps {
4
+ size?: TypeAttributes.Size;
5
+ }
6
+ declare const ButtonGroupContext: React.Context<ButtonGroupContextProps | null>;
7
+ export default ButtonGroupContext;
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ exports.__esModule = true;
6
+ exports.default = void 0;
7
+
8
+ var _react = _interopRequireDefault(require("react"));
9
+
10
+ var ButtonGroupContext = /*#__PURE__*/_react.default.createContext(null);
11
+
12
+ var _default = ButtonGroupContext;
13
+ exports.default = _default;
@@ -1,3 +1,5 @@
1
1
  import ButtonGroup from './ButtonGroup';
2
+ import ButtonGroupContext from './ButtonGroupContext';
2
3
  export type { ButtonGroupProps } from './ButtonGroup';
4
+ export { ButtonGroupContext };
3
5
  export default ButtonGroup;
@@ -7,5 +7,8 @@ exports.default = void 0;
7
7
 
8
8
  var _ButtonGroup = _interopRequireDefault(require("./ButtonGroup"));
9
9
 
10
+ var _ButtonGroupContext = _interopRequireDefault(require("./ButtonGroupContext"));
11
+
12
+ exports.ButtonGroupContext = _ButtonGroupContext.default;
10
13
  var _default = _ButtonGroup.default;
11
14
  exports.default = _default;
@@ -20,7 +20,7 @@ export interface CalendarProps extends WithAsProps, Omit<HTMLAttributes<HTMLDivE
20
20
  /** Hidden seconds */
21
21
  disabledSeconds?: (second: number, date: Date) => boolean;
22
22
  /** Format str */
23
- format?: string;
23
+ format: string;
24
24
  /** Hidden hours */
25
25
  hideHours?: (hour: number, date: Date) => boolean;
26
26
  /** Hidden minutes */
@@ -28,7 +28,7 @@ export interface CalendarProps extends WithAsProps, Omit<HTMLAttributes<HTMLDivE
28
28
  /** Hidden seconds */
29
29
  hideSeconds?: (second: number, date: Date) => boolean;
30
30
  /** The value that mouse hover on in range selection */
31
- hoverRangeValue?: Date[];
31
+ hoverRangeValue?: [Date, Date];
32
32
  /** Is it in the same month as today */
33
33
  inSameMonth?: (date: Date) => boolean;
34
34
  /** ISO 8601 standard, each calendar week begins on Monday and Sunday on the seventh day */
@@ -36,7 +36,7 @@ export interface CalendarProps extends WithAsProps, Omit<HTMLAttributes<HTMLDivE
36
36
  /** Limit showing how many years in the future */
37
37
  limitEndYear?: number;
38
38
  /** Custom locale */
39
- locale?: CalendarLocale;
39
+ locale: CalendarLocale;
40
40
  /** Callback after the date has changed */
41
41
  onChangePageDate?: (nextPageDate: Date, event: React.MouseEvent) => void;
42
42
  /** Callback after the time has changed */
@@ -48,7 +48,7 @@ export interface CalendarProps extends WithAsProps, Omit<HTMLAttributes<HTMLDivE
48
48
  /** Switch to the callback triggered after the next month. */
49
49
  onMoveForward?: (nextPageDate: Date) => void;
50
50
  /** Callback fired before the date selected */
51
- onSelect?: (date: Date, event: React.MouseEvent<HTMLDivElement>) => void;
51
+ onSelect?: (date: Date, event: React.MouseEvent) => void;
52
52
  /** Date displayed on the current page */
53
53
  calendarDate: Date;
54
54
  /** Custom rendering cell*/
@@ -51,7 +51,8 @@ var Calendar = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
51
51
  format = props.format,
52
52
  hoverRangeValue = props.hoverRangeValue,
53
53
  inSameMonth = props.inSameMonth,
54
- isoWeek = props.isoWeek,
54
+ _props$isoWeek = props.isoWeek,
55
+ isoWeek = _props$isoWeek === void 0 ? false : _props$isoWeek,
55
56
  limitEndYear = props.limitEndYear,
56
57
  locale = props.locale,
57
58
  onChangePageDate = props.onChangePageDate,
@@ -77,7 +78,9 @@ var Calendar = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
77
78
  merge = _useClassNames.merge;
78
79
 
79
80
  var isDisabledDate = function isDisabledDate(date) {
80
- return disabledDate === null || disabledDate === void 0 ? void 0 : disabledDate(date);
81
+ var _disabledDate;
82
+
83
+ return (_disabledDate = disabledDate === null || disabledDate === void 0 ? void 0 : disabledDate(date)) !== null && _disabledDate !== void 0 ? _disabledDate : false;
81
84
  };
82
85
 
83
86
  var isTimeDisabled = function isTimeDisabled(date) {
@@ -7,7 +7,7 @@ exports.useCalendarContext = exports.CalendarProvider = exports.default = void 0
7
7
 
8
8
  var _react = _interopRequireWildcard(require("react"));
9
9
 
10
- var CalendarContext = /*#__PURE__*/_react.default.createContext(null);
10
+ var CalendarContext = /*#__PURE__*/_react.default.createContext({});
11
11
 
12
12
  var _default = CalendarContext;
13
13
  exports.default = _default;
@@ -66,7 +66,7 @@ var TableRow = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
66
66
  selectedStartDate = _ref[0],
67
67
  selectedEndDate = _ref[1];
68
68
 
69
- var _ref2 = hoverRangeValue || [],
69
+ var _ref2 = hoverRangeValue !== null && hoverRangeValue !== void 0 ? hoverRangeValue : [],
70
70
  hoverStartDate = _ref2[0],
71
71
  hoverEndDate = _ref2[1];
72
72
 
@@ -17,7 +17,7 @@ var _react = _interopRequireWildcard(require("react"));
17
17
 
18
18
  var _propTypes = _interopRequireDefault(require("prop-types"));
19
19
 
20
- var _getPosition2 = _interopRequireDefault(require("dom-lib/getPosition"));
20
+ var _getPosition = _interopRequireDefault(require("dom-lib/getPosition"));
21
21
 
22
22
  var _scrollTop = _interopRequireDefault(require("dom-lib/scrollTop"));
23
23
 
@@ -101,8 +101,8 @@ var scrollTo = function scrollTo(time, row) {
101
101
  var node = container === null || container === void 0 ? void 0 : container.querySelector("[data-key=\"" + type + "-" + value + "\"]");
102
102
 
103
103
  if (node && container) {
104
- var _getPosition = (0, _getPosition2.default)(node, container),
105
- top = _getPosition.top;
104
+ var _ref2 = (0, _getPosition.default)(node, container),
105
+ top = _ref2.top;
106
106
 
107
107
  (0, _utils.scrollTopAnimation)(container, top, (0, _scrollTop.default)(container) !== 0);
108
108
  }
@@ -116,7 +116,8 @@ var TimeDropdown = /*#__PURE__*/_react.default.forwardRef(function (props, ref)
116
116
  _props$classPrefix = props.classPrefix,
117
117
  classPrefix = _props$classPrefix === void 0 ? 'calendar-time-dropdown' : _props$classPrefix,
118
118
  show = props.show,
119
- showMeridian = props.showMeridian,
119
+ _props$showMeridian = props.showMeridian,
120
+ showMeridian = _props$showMeridian === void 0 ? false : _props$showMeridian,
120
121
  rest = (0, _objectWithoutPropertiesLoose2.default)(props, ["as", "className", "classPrefix", "show", "showMeridian"]);
121
122
 
122
123
  var _useCalendarContext = (0, _CalendarContext.useCalendarContext)(),
@@ -188,7 +189,7 @@ var TimeDropdown = /*#__PURE__*/_react.default.forwardRef(function (props, ref)
188
189
  className: itemClasses,
189
190
  tabIndex: -1,
190
191
  "data-key": type + "-" + i,
191
- onClick: !disabled ? (0, _partial.default)(handleClick, type, i) : null
192
+ onClick: !disabled ? (0, _partial.default)(handleClick, type, i) : undefined
192
193
  }, showMeridian && type === 'hours' && i === 0 ? '12' : i)));
193
194
  }
194
195
  }
@@ -5,9 +5,9 @@ export interface CalendarInnerContextValue {
5
5
  dateRange?: Date[];
6
6
  disabledDate?: (date: Date, selectRangeValue?: Date[], type?: string) => boolean;
7
7
  format?: string;
8
- hoverRangeValue?: Date[];
8
+ hoverRangeValue?: [Date, Date];
9
9
  inSameMonth?: (date: Date) => boolean;
10
- isoWeek?: boolean;
10
+ isoWeek: boolean;
11
11
  onChangePageDate?: (nextPageDate: Date, event: React.MouseEvent) => void;
12
12
  onChangePageTime?: (nextPageTime: Date, event: React.MouseEvent) => void;
13
13
  onMouseMove?: (date: Date) => void;
@@ -1,5 +1,5 @@
1
- declare const useCalendarDate: (value: Date, defaultDate: Date) => {
1
+ declare const useCalendarDate: (value: Date | undefined, defaultDate: Date | undefined) => {
2
2
  calendarDate: Date;
3
- setCalendarDate: (date: Date) => void;
3
+ setCalendarDate: (date: Date | undefined) => void;
4
4
  };
5
5
  export default useCalendarDate;
@@ -10,9 +10,9 @@ export interface CarouselProps extends WithAsProps {
10
10
  /** Button shape */
11
11
  shape?: 'dot' | 'bar';
12
12
  /** Callback fired when the active item changes */
13
- onSelect: (index: number, event: React.ChangeEvent<HTMLInputElement>) => void;
13
+ onSelect?: (index: number, event: React.ChangeEvent<HTMLInputElement>) => void;
14
14
  /** Callback fired when a slide transition starts */
15
- onSlideStart?: (index: number, event: React.ChangeEvent<HTMLInputElement>) => void;
15
+ onSlideStart?: (index: number, event?: React.ChangeEvent<HTMLInputElement>) => void;
16
16
  /** Callback fired when a slide transition ends */
17
17
  onSlideEnd?: (index: number, event: React.TransitionEvent<HTMLDivElement>) => void;
18
18
  }
@@ -75,7 +75,7 @@ var Carousel = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
75
75
 
76
76
  var handleChange = function handleChange(event) {
77
77
  var activeIndex = +event.target.value;
78
- handleSlide(activeIndex);
78
+ handleSlide(activeIndex, event);
79
79
  onSelect === null || onSelect === void 0 ? void 0 : onSelect(activeIndex, event);
80
80
  };
81
81
 
@@ -3,7 +3,7 @@ import { PickerLocale } from '../locales';
3
3
  import { PickerComponent } from '../Picker';
4
4
  import { ItemDataType, FormControlPickerProps } from '../@types/common';
5
5
  export declare type ValueType = number | string;
6
- export interface CascaderProps<T = ValueType> extends FormControlPickerProps<T, PickerLocale, ItemDataType> {
6
+ export interface CascaderProps<T = ValueType> extends FormControlPickerProps<T | null, PickerLocale, ItemDataType> {
7
7
  /** Sets the width of the menu */
8
8
  menuWidth?: number;
9
9
  /** Sets the height of the menu */
@@ -97,10 +97,10 @@ var Cascader = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
97
97
  flattenData = _useState2[0],
98
98
  setFlattenData = _useState2[1];
99
99
 
100
- var triggerRef = (0, _react.useRef)();
101
- var overlayRef = (0, _react.useRef)();
102
- var targetRef = (0, _react.useRef)();
103
- var searchInputRef = (0, _react.useRef)();
100
+ var triggerRef = (0, _react.useRef)(null);
101
+ var overlayRef = (0, _react.useRef)(null);
102
+ var targetRef = (0, _react.useRef)(null);
103
+ var searchInputRef = (0, _react.useRef)(null);
104
104
 
105
105
  var _useControlled = (0, _utils2.useControlled)(valueProp, defaultValue),
106
106
  value = _useControlled[0],
@@ -204,12 +204,12 @@ var Cascader = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
204
204
  setSearchKeyword(value);
205
205
  onSearch === null || onSearch === void 0 ? void 0 : onSearch(value, event);
206
206
 
207
- if (items !== null && items !== void 0 && items[0]) {
208
- setFocusItemValue(items === null || items === void 0 ? void 0 : items[0]);
207
+ if (items.length > 0) {
208
+ setFocusItemValue(items[0][valueKey]);
209
209
  setLayer(0);
210
210
  setKeys([]);
211
211
  }
212
- }, [getSearchResult, onSearch, setFocusItemValue, setKeys, setLayer]);
212
+ }, [getSearchResult, onSearch, setFocusItemValue, setKeys, setLayer, valueKey]);
213
213
  var handleEntered = (0, _react.useCallback)(function () {
214
214
  onOpen === null || onOpen === void 0 ? void 0 : onOpen();
215
215
  setActive(true);
@@ -250,7 +250,7 @@ var Cascader = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
250
250
  }
251
251
 
252
252
  if (!(0, _shallowEqual.default)(value, focusItemValue)) {
253
- onChange === null || onChange === void 0 ? void 0 : onChange(focusItemValue, event);
253
+ onChange === null || onChange === void 0 ? void 0 : onChange(focusItemValue !== null && focusItemValue !== void 0 ? focusItemValue : null, event);
254
254
  }
255
255
 
256
256
  handleClose();
@@ -332,7 +332,7 @@ var Cascader = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
332
332
  setValue(nextValue);
333
333
  setValueToPaths(nodes);
334
334
  enforceUpdate(nextValue);
335
- onSelect === null || onSelect === void 0 ? void 0 : onSelect(node, null, event);
335
+ onSelect === null || onSelect === void 0 ? void 0 : onSelect(node, nodes, event);
336
336
  onChange === null || onChange === void 0 ? void 0 : onChange(nextValue, event);
337
337
  };
338
338
 
@@ -508,7 +508,7 @@ var Cascader = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
508
508
  hasValue: hasValue,
509
509
  active: active,
510
510
  placement: placement,
511
- inputValue: value
511
+ inputValue: value !== null && value !== void 0 ? value : ''
512
512
  }), selectedElement || (locale === null || locale === void 0 ? void 0 : locale.placeholder))));
513
513
  });
514
514
 
@@ -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,17 +1,17 @@
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): {
5
- columns: ItemDataType[][];
6
- paths: any[];
4
+ export declare function getColumnsAndPaths<T extends ItemDataType>(data: T[], value: any, options: any): {
5
+ columns: ItemDataType<string | number>[][];
6
+ paths: T[];
7
7
  };
8
8
  export declare function usePaths(props: CascaderProps): {
9
- enforceUpdate: (nextValue: any, isAttachChildren?: boolean) => void;
10
- columnData: ItemDataType[][];
11
- valueToPaths: ItemDataType[];
12
- selectedPaths: ItemDataType[];
13
- setValueToPaths: import("react").Dispatch<import("react").SetStateAction<ItemDataType[]>>;
14
- setColumnData: import("react").Dispatch<import("react").SetStateAction<ItemDataType[][]>>;
15
- setSelectedPaths: import("react").Dispatch<import("react").SetStateAction<ItemDataType[]>>;
9
+ enforceUpdate: (nextValue: any, isAttachChildren?: boolean | undefined) => void;
10
+ columnData: ItemDataType<string | number>[][];
11
+ valueToPaths: ItemDataType<string | number>[];
12
+ selectedPaths: ItemDataType<string | number>[];
13
+ setValueToPaths: import("react").Dispatch<import("react").SetStateAction<ItemDataType<string | number>[]>>;
14
+ setColumnData: import("react").Dispatch<import("react").SetStateAction<ItemDataType<string | number>[][]>>;
15
+ setSelectedPaths: import("react").Dispatch<import("react").SetStateAction<ItemDataType<string | number>[]>>;
16
16
  addColumn: (column: ItemDataType[], index: number) => void;
17
17
  };
@@ -1,13 +1,18 @@
1
+ import React from 'react';
1
2
  import { PickerLocale } from '../locales';
2
- import { PickerComponent } from '../Picker';
3
3
  import { ItemDataType, FormControlPickerProps } from '../@types/common';
4
- import { SelectProps } from '../SelectPicker';
4
+ import type { MultipleSelectProps } from '../SelectPicker';
5
5
  export declare type ValueType = (number | string)[];
6
- export interface CheckPickerProps<T = ValueType> extends FormControlPickerProps<T, PickerLocale, ItemDataType>, SelectProps<T> {
6
+ export interface CheckPickerProps<T> extends FormControlPickerProps<T[], PickerLocale, ItemDataType<T>>, MultipleSelectProps<T> {
7
7
  /** Top the selected option in the options */
8
8
  sticky?: boolean;
9
9
  /** A picker that can be counted */
10
10
  countable?: boolean;
11
11
  }
12
- declare const CheckPicker: PickerComponent<CheckPickerProps>;
12
+ export interface CheckPickerComponent {
13
+ <T>(props: CheckPickerProps<T>): JSX.Element | null;
14
+ displayName?: string;
15
+ propTypes?: React.WeakValidationMap<CheckPickerProps<any>>;
16
+ }
17
+ declare const CheckPicker: CheckPickerComponent;
13
18
  export default CheckPicker;
@@ -100,10 +100,10 @@ var CheckPicker = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
100
100
  onClose = props.onClose,
101
101
  onOpen = props.onOpen,
102
102
  rest = (0, _objectWithoutPropertiesLoose2.default)(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"]);
103
- var triggerRef = (0, _react.useRef)();
104
- var targetRef = (0, _react.useRef)();
105
- var overlayRef = (0, _react.useRef)();
106
- var searchInputRef = (0, _react.useRef)();
103
+ var triggerRef = (0, _react.useRef)(null);
104
+ var targetRef = (0, _react.useRef)(null);
105
+ var overlayRef = (0, _react.useRef)(null);
106
+ var searchInputRef = (0, _react.useRef)(null);
107
107
 
108
108
  var _useCustom = (0, _utils.useCustom)('Picker', overrideLocale),
109
109
  locale = _useCustom.locale;
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,76 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ var _react = _interopRequireDefault(require("react"));
6
+
7
+ var _tsExpect = require("ts-expect");
8
+
9
+ var _CheckPicker = _interopRequireDefault(require("../CheckPicker"));
10
+
11
+ // Infer value and onChange types from data
12
+ var numberValuedData = [{
13
+ label: 'One',
14
+ value: 1
15
+ }];
16
+
17
+ /*#__PURE__*/
18
+ _react.default.createElement(_CheckPicker.default, {
19
+ data: numberValuedData,
20
+ value: [1]
21
+ }); // @ts-expect-error should not accept single value
22
+
23
+
24
+ /*#__PURE__*/
25
+ _react.default.createElement(_CheckPicker.default, {
26
+ data: numberValuedData,
27
+ value: 1
28
+ }); // @ts-expect-error should not accept string value
29
+
30
+
31
+ /*#__PURE__*/
32
+ _react.default.createElement(_CheckPicker.default, {
33
+ data: numberValuedData,
34
+ value: ['1']
35
+ });
36
+
37
+ /*#__PURE__*/
38
+ _react.default.createElement(_CheckPicker.default, {
39
+ data: numberValuedData,
40
+ onChange: function onChange(newValue) {
41
+ (0, _tsExpect.expectType)(newValue);
42
+ }
43
+ });
44
+
45
+ var stringValuedData = [{
46
+ label: 'One',
47
+ value: 'One'
48
+ }];
49
+
50
+ /*#__PURE__*/
51
+ _react.default.createElement(_CheckPicker.default, {
52
+ data: stringValuedData,
53
+ value: ['1']
54
+ }); // @ts-expect-error should not accept single value
55
+
56
+
57
+ /*#__PURE__*/
58
+ _react.default.createElement(_CheckPicker.default, {
59
+ data: numberValuedData,
60
+ value: "1"
61
+ }); // @ts-expect-error should not accept number value
62
+
63
+
64
+ /*#__PURE__*/
65
+ _react.default.createElement(_CheckPicker.default, {
66
+ data: stringValuedData,
67
+ value: [1]
68
+ });
69
+
70
+ /*#__PURE__*/
71
+ _react.default.createElement(_CheckPicker.default, {
72
+ data: stringValuedData,
73
+ onChange: function onChange(newValue) {
74
+ (0, _tsExpect.expectType)(newValue);
75
+ }
76
+ });
@@ -1,7 +1,5 @@
1
1
  "use strict";
2
2
 
3
- var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard");
4
-
5
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
6
4
 
7
5
  exports.__esModule = true;
@@ -9,18 +7,16 @@ exports.default = void 0;
9
7
 
10
8
  var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
11
9
 
12
- var _react = _interopRequireWildcard(require("react"));
10
+ var _react = _interopRequireDefault(require("react"));
13
11
 
14
12
  var _CheckTreePicker = _interopRequireDefault(require("../CheckTreePicker"));
15
13
 
16
14
  var _TreeContext = _interopRequireDefault(require("../Tree/TreeContext"));
17
15
 
18
16
  var CheckTree = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
19
- var dragNodeRef = (0, _react.useRef)();
20
17
  return /*#__PURE__*/_react.default.createElement(_TreeContext.default.Provider, {
21
18
  value: {
22
- inline: true,
23
- dragNodeRef: dragNodeRef
19
+ inline: true
24
20
  }
25
21
  }, /*#__PURE__*/_react.default.createElement(_CheckTreePicker.default, (0, _extends2.default)({
26
22
  ref: ref
@@ -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;
@@ -7,7 +7,7 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
7
7
  exports.__esModule = true;
8
8
  exports.default = void 0;
9
9
 
10
- var _extends3 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
10
+ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
11
11
 
12
12
  var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutPropertiesLoose"));
13
13
 
@@ -21,11 +21,11 @@ var _Spinner = _interopRequireDefault(require("@rsuite/icons/legacy/Spinner"));
21
21
 
22
22
  var _DropdownMenuCheckItem = _interopRequireDefault(require("../Picker/DropdownMenuCheckItem"));
23
23
 
24
+ var _treeUtils = require("../utils/treeUtils");
25
+
24
26
  var _utils = require("../utils");
25
27
 
26
28
  var CheckTreeNode = /*#__PURE__*/(0, _react.forwardRef)(function (_ref, ref) {
27
- var _extends2;
28
-
29
29
  var _ref$as = _ref.as,
30
30
  Component = _ref$as === void 0 ? 'div' : _ref$as,
31
31
  style = _ref.style,
@@ -88,7 +88,7 @@ var CheckTreeNode = /*#__PURE__*/(0, _react.forwardRef)(function (_ref, ref) {
88
88
  isChecked = false;
89
89
  }
90
90
 
91
- var nextNodeData = (0, _extends3.default)({}, nodeData, {
91
+ var nextNodeData = (0, _extends2.default)({}, nodeData, {
92
92
  check: isChecked
93
93
  });
94
94
  onSelect === null || onSelect === void 0 ? void 0 : onSelect(nextNodeData, event);
@@ -150,11 +150,9 @@ var CheckTreeNode = /*#__PURE__*/(0, _react.forwardRef)(function (_ref, ref) {
150
150
  'all-uncheckable': !!allUncheckable,
151
151
  'text-muted': disabled,
152
152
  focus: focus
153
- })); // layer start from 1
154
-
155
- var padding = (layer - 1) * _utils.TREE_NODE_PADDING + _utils.TREE_NODE_ROOT_PADDING;
156
- var styles = (0, _extends3.default)({}, style, (_extends2 = {}, _extends2[rtl ? 'paddingRight' : 'paddingLeft'] = padding, _extends2));
157
- return visible ? /*#__PURE__*/_react.default.createElement(Component, (0, _extends3.default)({
153
+ }));
154
+ var styles = (0, _extends2.default)({}, style, (0, _treeUtils.getTreeNodeIndent)(rtl, layer - 1));
155
+ return visible ? /*#__PURE__*/_react.default.createElement(Component, (0, _extends2.default)({
158
156
  role: "treeitem",
159
157
  "aria-label": label,
160
158
  "aria-expanded": expand,