rsuite 5.2.3 → 5.4.1

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 (495) 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 +63 -0
  6. package/CheckTreePicker/styles/index.less +14 -1
  7. package/Dropdown/styles/index.less +4 -3
  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/Sidenav/styles/index.less +2 -2
  12. package/Stack/package.json +7 -0
  13. package/Stack/styles/index.less +5 -0
  14. package/Table/styles/index.less +0 -4
  15. package/TreePicker/styles/index.less +10 -14
  16. package/cjs/@types/common.d.ts +13 -12
  17. package/cjs/@types/utils.d.ts +12 -0
  18. package/cjs/Affix/Affix.js +5 -5
  19. package/cjs/Animation/Transition.d.ts +21 -12
  20. package/cjs/Animation/Transition.js +4 -1
  21. package/cjs/AutoComplete/AutoComplete.js +1 -1
  22. package/cjs/AutoComplete/utils.d.ts +1 -1
  23. package/cjs/Avatar/Avatar.js +10 -3
  24. package/cjs/AvatarGroup/AvatarGroup.d.ts +15 -0
  25. package/cjs/AvatarGroup/AvatarGroup.js +76 -0
  26. package/cjs/AvatarGroup/index.d.ts +3 -0
  27. package/cjs/AvatarGroup/index.js +11 -0
  28. package/cjs/Breadcrumb/Breadcrumb.js +1 -1
  29. package/cjs/Button/Button.js +8 -2
  30. package/cjs/ButtonGroup/ButtonGroup.js +14 -3
  31. package/cjs/ButtonGroup/ButtonGroupContext.d.ts +7 -0
  32. package/cjs/ButtonGroup/ButtonGroupContext.js +13 -0
  33. package/cjs/ButtonGroup/index.d.ts +2 -0
  34. package/cjs/ButtonGroup/index.js +3 -0
  35. package/cjs/Calendar/Calendar.d.ts +4 -4
  36. package/cjs/Calendar/Calendar.js +26 -22
  37. package/cjs/Calendar/CalendarContext.js +1 -1
  38. package/cjs/Calendar/Header.js +1 -3
  39. package/cjs/Calendar/Table.js +1 -1
  40. package/cjs/Calendar/TableRow.js +13 -8
  41. package/cjs/Calendar/TimeDropdown.js +6 -5
  42. package/cjs/Calendar/View.js +9 -5
  43. package/cjs/Calendar/types.d.ts +2 -2
  44. package/cjs/Calendar/useCalendarDate.d.ts +2 -2
  45. package/cjs/Carousel/Carousel.d.ts +2 -2
  46. package/cjs/Carousel/Carousel.js +1 -1
  47. package/cjs/Cascader/Cascader.d.ts +1 -1
  48. package/cjs/Cascader/Cascader.js +10 -10
  49. package/cjs/Cascader/DropdownMenu.d.ts +5 -4
  50. package/cjs/Cascader/utils.d.ts +10 -10
  51. package/cjs/CheckPicker/CheckPicker.d.ts +9 -4
  52. package/cjs/CheckPicker/CheckPicker.js +4 -4
  53. package/cjs/CheckPicker/test/CheckPicker.test.d.ts +1 -0
  54. package/cjs/CheckPicker/test/CheckPicker.test.js +76 -0
  55. package/cjs/CheckTree/index.js +6 -5
  56. package/cjs/CheckTreePicker/CheckTreeNode.d.ts +1 -1
  57. package/cjs/CheckTreePicker/CheckTreeNode.js +7 -9
  58. package/cjs/CheckTreePicker/CheckTreePicker.js +34 -27
  59. package/cjs/CheckTreePicker/utils.d.ts +3 -1
  60. package/cjs/CheckTreePicker/utils.js +12 -10
  61. package/cjs/Checkbox/Checkbox.d.ts +1 -1
  62. package/cjs/Container/Container.js +6 -3
  63. package/cjs/CustomProvider/CustomProvider.d.ts +31 -57
  64. package/cjs/DOMHelper/index.d.ts +12 -12
  65. package/cjs/DatePicker/DatePicker.d.ts +1 -1
  66. package/cjs/DatePicker/DatePicker.js +19 -11
  67. package/cjs/DatePicker/Toolbar.d.ts +12 -9
  68. package/cjs/DatePicker/Toolbar.js +6 -8
  69. package/cjs/DatePicker/types.d.ts +4 -4
  70. package/cjs/DatePicker/utils.d.ts +4 -3
  71. package/cjs/DateRangePicker/Calendar.d.ts +9 -7
  72. package/cjs/DateRangePicker/Calendar.js +27 -6
  73. package/cjs/DateRangePicker/DateRangePicker.d.ts +8 -6
  74. package/cjs/DateRangePicker/DateRangePicker.js +133 -110
  75. package/cjs/DateRangePicker/types.d.ts +2 -1
  76. package/cjs/DateRangePicker/utils.d.ts +6 -6
  77. package/cjs/DateRangePicker/utils.js +7 -2
  78. package/cjs/Disclosure/Disclosure.js +6 -4
  79. package/cjs/Disclosure/DisclosureButton.js +9 -7
  80. package/cjs/Disclosure/DisclosureContent.js +4 -6
  81. package/cjs/Disclosure/DisclosureContext.d.ts +2 -2
  82. package/cjs/Disclosure/useDisclosureContext.d.ts +2 -0
  83. package/cjs/Disclosure/useDisclosureContext.js +20 -0
  84. package/cjs/Dropdown/Dropdown.d.ts +1 -1
  85. package/cjs/Dropdown/DropdownContext.d.ts +2 -2
  86. package/cjs/Dropdown/DropdownItem.js +1 -1
  87. package/cjs/Dropdown/DropdownMenu.d.ts +3 -3
  88. package/cjs/Dropdown/DropdownMenu.js +9 -6
  89. package/cjs/Dropdown/DropdownState.d.ts +1 -1
  90. package/cjs/Dropdown/DropdownToggle.js +10 -2
  91. package/cjs/Dropdown/useRenderDropdownItem.d.ts +1 -1
  92. package/cjs/Form/Form.js +1 -1
  93. package/cjs/Form/FormContext.d.ts +1 -1
  94. package/cjs/FormControl/FormControl.d.ts +1 -1
  95. package/cjs/FormControl/FormControl.js +5 -4
  96. package/cjs/FormGroup/FormGroup.d.ts +1 -1
  97. package/cjs/FormGroup/FormGroup.js +9 -4
  98. package/cjs/Input/Input.d.ts +3 -2
  99. package/cjs/InputGroup/InputGroup.d.ts +1 -1
  100. package/cjs/InputNumber/InputNumber.js +6 -2
  101. package/cjs/InputPicker/InputAutosize.js +4 -4
  102. package/cjs/InputPicker/InputPicker.d.ts +2 -2
  103. package/cjs/InputPicker/InputPicker.js +15 -10
  104. package/cjs/List/ListContext.d.ts +1 -1
  105. package/cjs/List/ListContext.js +8 -1
  106. package/cjs/List/helper/AutoScroller.js +4 -2
  107. package/cjs/List/helper/useManager.d.ts +3 -3
  108. package/cjs/List/helper/useManager.js +1 -1
  109. package/cjs/List/helper/useSortHelper.d.ts +3 -3
  110. package/cjs/List/helper/useSortHelper.js +6 -4
  111. package/cjs/List/helper/utils.d.ts +2 -2
  112. package/cjs/MaskedInput/TextMask.d.ts +5 -5
  113. package/cjs/MaskedInput/adjustCaretPosition.d.ts +6 -6
  114. package/cjs/MaskedInput/conformToMask.js +5 -4
  115. package/cjs/MaskedInput/createTextMaskInputElement.d.ts +2 -2
  116. package/cjs/MaskedInput/utilities.d.ts +1 -1
  117. package/cjs/Menu/Menu.js +14 -7
  118. package/cjs/Menu/MenuContext.d.ts +1 -1
  119. package/cjs/Menu/MenuItem.d.ts +1 -1
  120. package/cjs/Menu/MenuItem.js +19 -15
  121. package/cjs/Menu/Menubar.js +8 -8
  122. package/cjs/Menu/useMenu.js +17 -7
  123. package/cjs/Modal/Modal.js +12 -6
  124. package/cjs/Modal/ModalContext.d.ts +2 -2
  125. package/cjs/Modal/utils.d.ts +1 -1
  126. package/cjs/Modal/utils.js +3 -5
  127. package/cjs/MultiCascader/DropdownMenu.d.ts +4 -4
  128. package/cjs/MultiCascader/MultiCascader.js +6 -6
  129. package/cjs/MultiCascader/utils.d.ts +17 -17
  130. package/cjs/Nav/Nav.d.ts +1 -1
  131. package/cjs/Nav/Nav.js +10 -12
  132. package/cjs/Nav/NavContext.d.ts +7 -1
  133. package/cjs/Nav/NavContext.js +1 -0
  134. package/cjs/Nav/NavItem.d.ts +1 -1
  135. package/cjs/Navbar/Navbar.js +1 -1
  136. package/cjs/Navbar/NavbarItem.d.ts +1 -1
  137. package/cjs/Overlay/Modal.d.ts +2 -2
  138. package/cjs/Overlay/Modal.js +70 -45
  139. package/cjs/Overlay/ModalManager.d.ts +17 -8
  140. package/cjs/Overlay/ModalManager.js +11 -20
  141. package/cjs/Overlay/Overlay.d.ts +3 -3
  142. package/cjs/Overlay/Overlay.js +8 -2
  143. package/cjs/Overlay/OverlayContext.d.ts +6 -0
  144. package/cjs/Overlay/OverlayContext.js +14 -0
  145. package/cjs/Overlay/OverlayTrigger.d.ts +11 -11
  146. package/cjs/Overlay/OverlayTrigger.js +21 -7
  147. package/cjs/Overlay/Position.d.ts +4 -4
  148. package/cjs/Overlay/Position.js +14 -8
  149. package/cjs/Overlay/positionUtils.d.ts +1 -1
  150. package/cjs/Overlay/positionUtils.js +8 -8
  151. package/cjs/Pagination/Pagination.d.ts +1 -1
  152. package/cjs/Pagination/PaginationButton.d.ts +3 -3
  153. package/cjs/Pagination/PaginationGroup.js +5 -3
  154. package/cjs/Panel/Panel.d.ts +1 -1
  155. package/cjs/Panel/Panel.js +2 -2
  156. package/cjs/PanelGroup/PanelGroup.d.ts +2 -2
  157. package/cjs/PanelGroup/PanelGroup.js +8 -5
  158. package/cjs/Picker/DropdownMenu.d.ts +8 -5
  159. package/cjs/Picker/DropdownMenu.js +5 -5
  160. package/cjs/Picker/PickerOverlay.js +4 -3
  161. package/cjs/Picker/PickerToggle.js +4 -3
  162. package/cjs/Picker/PickerToggleTrigger.d.ts +2 -6
  163. package/cjs/Picker/SearchBar.d.ts +1 -1
  164. package/cjs/Picker/SelectedElement.js +2 -1
  165. package/cjs/Picker/VirtualizedList.d.ts +29 -2
  166. package/cjs/Picker/propTypes.d.ts +5 -7
  167. package/cjs/Picker/propTypes.js +4 -3
  168. package/cjs/Picker/utils.d.ts +15 -23
  169. package/cjs/Picker/utils.js +71 -46
  170. package/cjs/Placeholder/PlaceholderGrid.js +1 -1
  171. package/cjs/Plaintext/Plaintext.js +2 -1
  172. package/cjs/Radio/Radio.d.ts +1 -1
  173. package/cjs/RadioGroup/RadioGroup.d.ts +2 -2
  174. package/cjs/RadioGroup/RadioGroup.js +1 -1
  175. package/cjs/RangeSlider/RangeSlider.d.ts +2 -2
  176. package/cjs/RangeSlider/RangeSlider.js +6 -4
  177. package/cjs/Rate/Character.js +4 -2
  178. package/cjs/Rate/Rate.js +2 -1
  179. package/cjs/Ripple/Ripple.js +1 -1
  180. package/cjs/SelectPicker/SelectPicker.d.ts +12 -5
  181. package/cjs/SelectPicker/SelectPicker.js +8 -8
  182. package/cjs/SelectPicker/index.d.ts +1 -1
  183. package/cjs/SelectPicker/test/SelectPicker.test.d.ts +1 -0
  184. package/cjs/SelectPicker/test/SelectPicker.test.js +62 -0
  185. package/cjs/Sidenav/Node.d.ts +1 -1
  186. package/cjs/Sidenav/Sidenav.d.ts +4 -4
  187. package/cjs/Sidenav/Sidenav.js +5 -2
  188. package/cjs/Sidenav/SidenavDropdown.js +11 -8
  189. package/cjs/Sidenav/SidenavDropdownItem.js +10 -5
  190. package/cjs/Sidenav/SidenavDropdownMenu.js +9 -5
  191. package/cjs/Sidenav/SidenavItem.d.ts +1 -1
  192. package/cjs/Sidenav/SidenavItem.js +4 -0
  193. package/cjs/Slider/Graduated.d.ts +5 -5
  194. package/cjs/Slider/Handle.d.ts +1 -1
  195. package/cjs/Slider/Handle.js +10 -6
  196. package/cjs/Slider/Mark.d.ts +1 -1
  197. package/cjs/Slider/Slider.d.ts +1 -1
  198. package/cjs/Slider/Slider.js +2 -2
  199. package/cjs/Slider/utils.d.ts +2 -1
  200. package/cjs/Slider/utils.js +4 -5
  201. package/cjs/Stack/Stack.d.ts +26 -0
  202. package/cjs/Stack/Stack.js +86 -0
  203. package/cjs/Stack/index.d.ts +3 -0
  204. package/cjs/Stack/index.js +11 -0
  205. package/cjs/Steps/StepItem.js +1 -1
  206. package/cjs/TagInput/index.js +1 -1
  207. package/cjs/Toggle/Toggle.js +5 -4
  208. package/cjs/Tree/Tree.d.ts +3 -2
  209. package/cjs/Tree/Tree.js +6 -5
  210. package/cjs/Tree/TreeContext.d.ts +0 -1
  211. package/cjs/TreePicker/TreeNode.js +7 -22
  212. package/cjs/TreePicker/TreePicker.js +37 -54
  213. package/cjs/Uploader/UploadFileItem.d.ts +1 -1
  214. package/cjs/Uploader/UploadFileItem.js +2 -2
  215. package/cjs/Uploader/UploadTrigger.d.ts +1 -1
  216. package/cjs/Uploader/UploadTrigger.js +2 -3
  217. package/cjs/Uploader/Uploader.d.ts +5 -5
  218. package/cjs/Uploader/Uploader.js +1 -2
  219. package/cjs/index.d.ts +6 -2
  220. package/cjs/index.js +13 -5
  221. package/cjs/locales/index.d.ts +3 -3
  222. package/cjs/toaster/ToastContainer.d.ts +1 -1
  223. package/cjs/toaster/ToastContainer.js +1 -1
  224. package/cjs/toaster/toaster.js +3 -1
  225. package/cjs/utils/BrowserDetection.js +1 -1
  226. package/cjs/utils/ReactChildren.d.ts +2 -2
  227. package/cjs/utils/ajaxUpload.d.ts +1 -1
  228. package/cjs/utils/ajaxUpload.js +5 -4
  229. package/cjs/utils/appendTooltip.d.ts +1 -1
  230. package/cjs/utils/constants.d.ts +4 -4
  231. package/cjs/utils/createChainedFunction.d.ts +1 -1
  232. package/cjs/utils/getDataGroupBy.d.ts +1 -1
  233. package/cjs/utils/mergeRefs.d.ts +2 -2
  234. package/cjs/utils/previewFile.d.ts +1 -1
  235. package/cjs/utils/propTypeChecker.d.ts +6 -2
  236. package/cjs/utils/propTypeChecker.js +7 -6
  237. package/cjs/utils/reactToString.d.ts +2 -1
  238. package/cjs/utils/statusIcons.d.ts +1 -1
  239. package/cjs/utils/stringToObject.d.ts +1 -1
  240. package/cjs/utils/treeUtils.d.ts +35 -32
  241. package/cjs/utils/treeUtils.js +46 -23
  242. package/cjs/utils/useControlled.d.ts +6 -1
  243. package/cjs/utils/useControlled.js +0 -8
  244. package/cjs/utils/useCustom.js +6 -4
  245. package/cjs/utils/useFocus.d.ts +2 -2
  246. package/cjs/utils/usePortal.d.ts +2 -2
  247. package/cjs/utils/useRootClose.d.ts +2 -2
  248. package/cjs/utils/useTimeout.d.ts +1 -1
  249. package/cjs/utils/useTimeout.js +5 -3
  250. package/dist/rsuite-rtl.css +63 -193
  251. package/dist/rsuite-rtl.min.css +1 -1
  252. package/dist/rsuite-rtl.min.css.map +1 -1
  253. package/dist/rsuite.css +63 -193
  254. package/dist/rsuite.js +194 -117
  255. package/dist/rsuite.js.map +1 -1
  256. package/dist/rsuite.min.css +1 -1
  257. package/dist/rsuite.min.css.map +1 -1
  258. package/dist/rsuite.min.js +1 -1
  259. package/dist/rsuite.min.js.map +1 -1
  260. package/esm/@types/common.d.ts +13 -12
  261. package/esm/@types/utils.d.ts +12 -0
  262. package/esm/Affix/Affix.js +5 -5
  263. package/esm/Animation/Transition.d.ts +21 -12
  264. package/esm/Animation/Transition.js +4 -1
  265. package/esm/AutoComplete/AutoComplete.js +1 -1
  266. package/esm/AutoComplete/utils.d.ts +1 -1
  267. package/esm/Avatar/Avatar.js +7 -3
  268. package/esm/AvatarGroup/AvatarGroup.d.ts +15 -0
  269. package/esm/AvatarGroup/AvatarGroup.js +57 -0
  270. package/esm/AvatarGroup/index.d.ts +3 -0
  271. package/esm/AvatarGroup/index.js +2 -0
  272. package/esm/Breadcrumb/Breadcrumb.js +1 -1
  273. package/esm/Button/Button.js +6 -2
  274. package/esm/ButtonGroup/ButtonGroup.js +11 -3
  275. package/esm/ButtonGroup/ButtonGroupContext.d.ts +7 -0
  276. package/esm/ButtonGroup/ButtonGroupContext.js +3 -0
  277. package/esm/ButtonGroup/index.d.ts +2 -0
  278. package/esm/ButtonGroup/index.js +2 -0
  279. package/esm/Calendar/Calendar.d.ts +4 -4
  280. package/esm/Calendar/Calendar.js +27 -23
  281. package/esm/Calendar/CalendarContext.js +1 -1
  282. package/esm/Calendar/Header.js +1 -3
  283. package/esm/Calendar/Table.js +1 -1
  284. package/esm/Calendar/TableRow.js +14 -9
  285. package/esm/Calendar/TimeDropdown.js +5 -4
  286. package/esm/Calendar/View.js +10 -6
  287. package/esm/Calendar/types.d.ts +2 -2
  288. package/esm/Calendar/useCalendarDate.d.ts +2 -2
  289. package/esm/Carousel/Carousel.d.ts +2 -2
  290. package/esm/Carousel/Carousel.js +1 -1
  291. package/esm/Cascader/Cascader.d.ts +1 -1
  292. package/esm/Cascader/Cascader.js +10 -10
  293. package/esm/Cascader/DropdownMenu.d.ts +5 -4
  294. package/esm/Cascader/utils.d.ts +10 -10
  295. package/esm/CheckPicker/CheckPicker.d.ts +9 -4
  296. package/esm/CheckPicker/CheckPicker.js +4 -4
  297. package/esm/CheckPicker/test/CheckPicker.test.d.ts +1 -0
  298. package/esm/CheckPicker/test/CheckPicker.test.js +64 -0
  299. package/esm/CheckTree/index.js +7 -6
  300. package/esm/CheckTreePicker/CheckTreeNode.d.ts +1 -1
  301. package/esm/CheckTreePicker/CheckTreeNode.js +4 -7
  302. package/esm/CheckTreePicker/CheckTreePicker.js +33 -25
  303. package/esm/CheckTreePicker/utils.d.ts +3 -1
  304. package/esm/CheckTreePicker/utils.js +12 -10
  305. package/esm/Checkbox/Checkbox.d.ts +1 -1
  306. package/esm/Container/Container.js +7 -4
  307. package/esm/CustomProvider/CustomProvider.d.ts +31 -57
  308. package/esm/DOMHelper/index.d.ts +12 -12
  309. package/esm/DatePicker/DatePicker.d.ts +1 -1
  310. package/esm/DatePicker/DatePicker.js +18 -11
  311. package/esm/DatePicker/Toolbar.d.ts +12 -9
  312. package/esm/DatePicker/Toolbar.js +6 -8
  313. package/esm/DatePicker/types.d.ts +4 -4
  314. package/esm/DatePicker/utils.d.ts +4 -3
  315. package/esm/DateRangePicker/Calendar.d.ts +9 -7
  316. package/esm/DateRangePicker/Calendar.js +28 -6
  317. package/esm/DateRangePicker/DateRangePicker.d.ts +8 -6
  318. package/esm/DateRangePicker/DateRangePicker.js +131 -110
  319. package/esm/DateRangePicker/types.d.ts +2 -1
  320. package/esm/DateRangePicker/utils.d.ts +6 -6
  321. package/esm/DateRangePicker/utils.js +6 -2
  322. package/esm/Disclosure/Disclosure.js +6 -4
  323. package/esm/Disclosure/DisclosureButton.js +8 -7
  324. package/esm/Disclosure/DisclosureContent.js +5 -7
  325. package/esm/Disclosure/DisclosureContext.d.ts +2 -2
  326. package/esm/Disclosure/useDisclosureContext.d.ts +2 -0
  327. package/esm/Disclosure/useDisclosureContext.js +11 -0
  328. package/esm/Dropdown/Dropdown.d.ts +1 -1
  329. package/esm/Dropdown/DropdownContext.d.ts +2 -2
  330. package/esm/Dropdown/DropdownItem.js +1 -1
  331. package/esm/Dropdown/DropdownMenu.d.ts +3 -3
  332. package/esm/Dropdown/DropdownMenu.js +10 -7
  333. package/esm/Dropdown/DropdownState.d.ts +1 -1
  334. package/esm/Dropdown/DropdownToggle.js +9 -2
  335. package/esm/Dropdown/useRenderDropdownItem.d.ts +1 -1
  336. package/esm/Form/Form.js +1 -1
  337. package/esm/Form/FormContext.d.ts +1 -1
  338. package/esm/FormControl/FormControl.d.ts +1 -1
  339. package/esm/FormControl/FormControl.js +5 -4
  340. package/esm/FormGroup/FormGroup.d.ts +1 -1
  341. package/esm/FormGroup/FormGroup.js +7 -4
  342. package/esm/Input/Input.d.ts +3 -2
  343. package/esm/InputGroup/InputGroup.d.ts +1 -1
  344. package/esm/InputNumber/InputNumber.js +6 -2
  345. package/esm/InputPicker/InputAutosize.js +4 -4
  346. package/esm/InputPicker/InputPicker.d.ts +2 -2
  347. package/esm/InputPicker/InputPicker.js +15 -10
  348. package/esm/List/ListContext.d.ts +1 -1
  349. package/esm/List/ListContext.js +7 -1
  350. package/esm/List/helper/AutoScroller.js +4 -2
  351. package/esm/List/helper/useManager.d.ts +3 -3
  352. package/esm/List/helper/useManager.js +1 -1
  353. package/esm/List/helper/useSortHelper.d.ts +3 -3
  354. package/esm/List/helper/useSortHelper.js +6 -4
  355. package/esm/List/helper/utils.d.ts +2 -2
  356. package/esm/MaskedInput/TextMask.d.ts +5 -5
  357. package/esm/MaskedInput/adjustCaretPosition.d.ts +6 -6
  358. package/esm/MaskedInput/conformToMask.js +5 -4
  359. package/esm/MaskedInput/createTextMaskInputElement.d.ts +2 -2
  360. package/esm/MaskedInput/utilities.d.ts +1 -1
  361. package/esm/Menu/Menu.js +13 -7
  362. package/esm/Menu/MenuContext.d.ts +1 -1
  363. package/esm/Menu/MenuItem.d.ts +1 -1
  364. package/esm/Menu/MenuItem.js +18 -15
  365. package/esm/Menu/Menubar.js +7 -8
  366. package/esm/Menu/useMenu.js +17 -7
  367. package/esm/Modal/Modal.js +12 -6
  368. package/esm/Modal/ModalContext.d.ts +2 -2
  369. package/esm/Modal/utils.d.ts +1 -1
  370. package/esm/Modal/utils.js +3 -5
  371. package/esm/MultiCascader/DropdownMenu.d.ts +4 -4
  372. package/esm/MultiCascader/MultiCascader.js +6 -6
  373. package/esm/MultiCascader/utils.d.ts +17 -17
  374. package/esm/Nav/Nav.d.ts +1 -1
  375. package/esm/Nav/Nav.js +11 -13
  376. package/esm/Nav/NavContext.d.ts +7 -1
  377. package/esm/Nav/NavContext.js +1 -0
  378. package/esm/Nav/NavItem.d.ts +1 -1
  379. package/esm/Navbar/Navbar.js +1 -1
  380. package/esm/Navbar/NavbarItem.d.ts +1 -1
  381. package/esm/Overlay/Modal.d.ts +2 -2
  382. package/esm/Overlay/Modal.js +71 -46
  383. package/esm/Overlay/ModalManager.d.ts +17 -8
  384. package/esm/Overlay/ModalManager.js +11 -20
  385. package/esm/Overlay/Overlay.d.ts +3 -3
  386. package/esm/Overlay/Overlay.js +8 -3
  387. package/esm/Overlay/OverlayContext.d.ts +6 -0
  388. package/esm/Overlay/OverlayContext.js +4 -0
  389. package/esm/Overlay/OverlayTrigger.d.ts +11 -11
  390. package/esm/Overlay/OverlayTrigger.js +21 -8
  391. package/esm/Overlay/Position.d.ts +4 -4
  392. package/esm/Overlay/Position.js +14 -8
  393. package/esm/Overlay/positionUtils.d.ts +1 -1
  394. package/esm/Overlay/positionUtils.js +6 -6
  395. package/esm/Pagination/Pagination.d.ts +1 -1
  396. package/esm/Pagination/PaginationButton.d.ts +3 -3
  397. package/esm/Pagination/PaginationGroup.js +5 -3
  398. package/esm/Panel/Panel.d.ts +1 -1
  399. package/esm/Panel/Panel.js +2 -2
  400. package/esm/PanelGroup/PanelGroup.d.ts +2 -2
  401. package/esm/PanelGroup/PanelGroup.js +9 -6
  402. package/esm/Picker/DropdownMenu.d.ts +8 -5
  403. package/esm/Picker/DropdownMenu.js +5 -5
  404. package/esm/Picker/PickerOverlay.js +4 -3
  405. package/esm/Picker/PickerToggle.js +4 -3
  406. package/esm/Picker/PickerToggleTrigger.d.ts +2 -6
  407. package/esm/Picker/SearchBar.d.ts +1 -1
  408. package/esm/Picker/SelectedElement.js +2 -1
  409. package/esm/Picker/VirtualizedList.d.ts +29 -2
  410. package/esm/Picker/propTypes.d.ts +5 -7
  411. package/esm/Picker/propTypes.js +4 -3
  412. package/esm/Picker/utils.d.ts +15 -23
  413. package/esm/Picker/utils.js +70 -46
  414. package/esm/Placeholder/PlaceholderGrid.js +1 -1
  415. package/esm/Plaintext/Plaintext.js +2 -1
  416. package/esm/Radio/Radio.d.ts +1 -1
  417. package/esm/RadioGroup/RadioGroup.d.ts +2 -2
  418. package/esm/RadioGroup/RadioGroup.js +1 -1
  419. package/esm/RangeSlider/RangeSlider.d.ts +2 -2
  420. package/esm/RangeSlider/RangeSlider.js +5 -4
  421. package/esm/Rate/Character.js +3 -2
  422. package/esm/Rate/Rate.js +2 -1
  423. package/esm/Ripple/Ripple.js +1 -1
  424. package/esm/SelectPicker/SelectPicker.d.ts +12 -5
  425. package/esm/SelectPicker/SelectPicker.js +8 -8
  426. package/esm/SelectPicker/index.d.ts +1 -1
  427. package/esm/SelectPicker/test/SelectPicker.test.d.ts +1 -0
  428. package/esm/SelectPicker/test/SelectPicker.test.js +52 -0
  429. package/esm/Sidenav/Node.d.ts +1 -1
  430. package/esm/Sidenav/Sidenav.d.ts +4 -4
  431. package/esm/Sidenav/Sidenav.js +5 -2
  432. package/esm/Sidenav/SidenavDropdown.js +11 -7
  433. package/esm/Sidenav/SidenavDropdownItem.js +11 -5
  434. package/esm/Sidenav/SidenavDropdownMenu.js +9 -5
  435. package/esm/Sidenav/SidenavItem.d.ts +1 -1
  436. package/esm/Sidenav/SidenavItem.js +4 -0
  437. package/esm/Slider/Graduated.d.ts +5 -5
  438. package/esm/Slider/Handle.d.ts +1 -1
  439. package/esm/Slider/Handle.js +10 -6
  440. package/esm/Slider/Mark.d.ts +1 -1
  441. package/esm/Slider/Slider.d.ts +1 -1
  442. package/esm/Slider/Slider.js +2 -2
  443. package/esm/Slider/utils.d.ts +2 -1
  444. package/esm/Slider/utils.js +5 -2
  445. package/esm/Stack/Stack.d.ts +26 -0
  446. package/esm/Stack/Stack.js +71 -0
  447. package/esm/Stack/index.d.ts +3 -0
  448. package/esm/Stack/index.js +2 -0
  449. package/esm/Steps/StepItem.js +1 -1
  450. package/esm/TagInput/index.js +1 -1
  451. package/esm/Toggle/Toggle.js +5 -4
  452. package/esm/Tree/Tree.d.ts +3 -2
  453. package/esm/Tree/Tree.js +7 -6
  454. package/esm/Tree/TreeContext.d.ts +0 -1
  455. package/esm/TreePicker/TreeNode.js +6 -21
  456. package/esm/TreePicker/TreePicker.js +36 -52
  457. package/esm/Uploader/UploadFileItem.d.ts +1 -1
  458. package/esm/Uploader/UploadFileItem.js +2 -2
  459. package/esm/Uploader/UploadTrigger.d.ts +1 -1
  460. package/esm/Uploader/UploadTrigger.js +2 -3
  461. package/esm/Uploader/Uploader.d.ts +5 -5
  462. package/esm/Uploader/Uploader.js +1 -2
  463. package/esm/index.d.ts +6 -2
  464. package/esm/index.js +3 -1
  465. package/esm/locales/index.d.ts +3 -3
  466. package/esm/toaster/ToastContainer.d.ts +1 -1
  467. package/esm/toaster/ToastContainer.js +1 -1
  468. package/esm/toaster/toaster.js +3 -1
  469. package/esm/utils/BrowserDetection.js +1 -1
  470. package/esm/utils/ReactChildren.d.ts +2 -2
  471. package/esm/utils/ajaxUpload.d.ts +1 -1
  472. package/esm/utils/ajaxUpload.js +5 -4
  473. package/esm/utils/appendTooltip.d.ts +1 -1
  474. package/esm/utils/constants.d.ts +4 -4
  475. package/esm/utils/createChainedFunction.d.ts +1 -1
  476. package/esm/utils/getDataGroupBy.d.ts +1 -1
  477. package/esm/utils/mergeRefs.d.ts +2 -2
  478. package/esm/utils/previewFile.d.ts +1 -1
  479. package/esm/utils/propTypeChecker.d.ts +6 -2
  480. package/esm/utils/propTypeChecker.js +7 -6
  481. package/esm/utils/reactToString.d.ts +2 -1
  482. package/esm/utils/statusIcons.d.ts +1 -1
  483. package/esm/utils/stringToObject.d.ts +1 -1
  484. package/esm/utils/treeUtils.d.ts +35 -32
  485. package/esm/utils/treeUtils.js +45 -21
  486. package/esm/utils/useControlled.d.ts +6 -1
  487. package/esm/utils/useControlled.js +0 -8
  488. package/esm/utils/useCustom.js +6 -4
  489. package/esm/utils/useFocus.d.ts +2 -2
  490. package/esm/utils/usePortal.d.ts +2 -2
  491. package/esm/utils/useRootClose.d.ts +2 -2
  492. package/esm/utils/useTimeout.d.ts +1 -1
  493. package/esm/utils/useTimeout.js +5 -3
  494. package/package.json +3 -3
  495. package/styles/index.less +2 -0
@@ -3,7 +3,7 @@ import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWith
3
3
  import React, { useCallback } from 'react';
4
4
  import PropTypes from 'prop-types';
5
5
  import partial from 'lodash/partial';
6
- import { DateUtils, useClassNames, DATERANGE_DISABLED_TARGET } from '../utils';
6
+ import { DateUtils, useClassNames, DATERANGE_DISABLED_TARGET, useCustom } from '../utils';
7
7
  import { useCalendarContext } from './CalendarContext';
8
8
  var TableRow = /*#__PURE__*/React.forwardRef(function (props, ref) {
9
9
  var _props$as = props.as,
@@ -20,16 +20,19 @@ var TableRow = /*#__PURE__*/React.forwardRef(function (props, ref) {
20
20
  selected = _useCalendarContext$d === void 0 ? new Date() : _useCalendarContext$d,
21
21
  dateRange = _useCalendarContext.dateRange,
22
22
  disabledDate = _useCalendarContext.disabledDate,
23
- formatDate = _useCalendarContext.formatDate,
24
23
  hoverRangeValue = _useCalendarContext.hoverRangeValue,
25
24
  inSameMonth = _useCalendarContext.inSameMonth,
26
25
  isoWeek = _useCalendarContext.isoWeek,
27
26
  onMouseMove = _useCalendarContext.onMouseMove,
28
27
  onSelect = _useCalendarContext.onSelect,
29
28
  renderCell = _useCalendarContext.renderCell,
30
- locale = _useCalendarContext.locale,
29
+ overrideLocale = _useCalendarContext.locale,
31
30
  showWeekNumbers = _useCalendarContext.showWeekNumbers;
32
31
 
32
+ var _useCustom = useCustom('Calendar', overrideLocale),
33
+ locale = _useCustom.locale,
34
+ formatDate = _useCustom.formatDate;
35
+
33
36
  var _useClassNames = useClassNames(classPrefix),
34
37
  prefix = _useClassNames.prefix,
35
38
  merge = _useClassNames.merge;
@@ -43,14 +46,14 @@ var TableRow = /*#__PURE__*/React.forwardRef(function (props, ref) {
43
46
  }, [onSelect]);
44
47
 
45
48
  var renderDays = function renderDays() {
46
- var formatStr = (locale === null || locale === void 0 ? void 0 : locale.formattedDayPattern) || 'yyyy-MM-dd';
49
+ var formatStr = locale.formattedDayPattern;
47
50
  var days = [];
48
51
 
49
52
  var _ref = dateRange || [],
50
53
  selectedStartDate = _ref[0],
51
54
  selectedEndDate = _ref[1];
52
55
 
53
- var _ref2 = hoverRangeValue || [],
56
+ var _ref2 = hoverRangeValue !== null && hoverRangeValue !== void 0 ? hoverRangeValue : [],
54
57
  hoverStartDate = _ref2[0],
55
58
  hoverEndDate = _ref2[1];
56
59
 
@@ -64,7 +67,7 @@ var TableRow = /*#__PURE__*/React.forwardRef(function (props, ref) {
64
67
  var unSameMonth = !(inSameMonth !== null && inSameMonth !== void 0 && inSameMonth(thisDate));
65
68
  var isStartSelected = !unSameMonth && selectedStartDate && DateUtils.isSameDay(thisDate, selectedStartDate);
66
69
  var isEndSelected = !unSameMonth && selectedEndDate && DateUtils.isSameDay(thisDate, selectedEndDate);
67
- var isSelected = isStartSelected || isEndSelected;
70
+ var isSelected = isRangeSelectionMode ? isStartSelected || isEndSelected : DateUtils.isSameDay(thisDate, selected);
68
71
  var inRange = false; // for Selected
69
72
 
70
73
  if (selectedStartDate && selectedEndDate) {
@@ -91,7 +94,7 @@ var TableRow = /*#__PURE__*/React.forwardRef(function (props, ref) {
91
94
  var _classes = prefix('cell', {
92
95
  'cell-un-same-month': unSameMonth,
93
96
  'cell-is-today': isToday,
94
- 'cell-selected': isRangeSelectionMode ? isSelected : DateUtils.isSameDay(thisDate, selected),
97
+ 'cell-selected': isSelected,
95
98
  'cell-selected-start': isStartSelected,
96
99
  'cell-selected-end': isEndSelected,
97
100
  'cell-in-range': !unSameMonth && inRange,
@@ -100,8 +103,10 @@ var TableRow = /*#__PURE__*/React.forwardRef(function (props, ref) {
100
103
 
101
104
  var title = formatDate ? formatDate(thisDate, formatStr) : DateUtils.format(thisDate, formatStr);
102
105
  days.push( /*#__PURE__*/React.createElement("div", {
103
- role: "cell",
106
+ role: "gridcell",
104
107
  key: title,
108
+ "aria-label": title,
109
+ "aria-selected": isSelected || undefined,
105
110
  className: _classes
106
111
  }, /*#__PURE__*/React.createElement("div", {
107
112
  role: "button",
@@ -125,7 +130,7 @@ var TableRow = /*#__PURE__*/React.forwardRef(function (props, ref) {
125
130
  className: classes
126
131
  }), showWeekNumbers && /*#__PURE__*/React.createElement("div", {
127
132
  className: prefix('cell-week-number'),
128
- role: "cell"
133
+ role: "rowheader"
129
134
  }, DateUtils.format(weekendDate, isoWeek ? 'I' : 'w')), renderDays());
130
135
  });
131
136
  TableRow.displayName = 'TableRow';
@@ -78,8 +78,8 @@ var scrollTo = function scrollTo(time, row) {
78
78
  var node = container === null || container === void 0 ? void 0 : container.querySelector("[data-key=\"" + type + "-" + value + "\"]");
79
79
 
80
80
  if (node && container) {
81
- var _getPosition = getPosition(node, container),
82
- top = _getPosition.top;
81
+ var _ref2 = getPosition(node, container),
82
+ top = _ref2.top;
83
83
 
84
84
  scrollTopAnimation(container, top, scrollTop(container) !== 0);
85
85
  }
@@ -93,7 +93,8 @@ var TimeDropdown = /*#__PURE__*/React.forwardRef(function (props, ref) {
93
93
  _props$classPrefix = props.classPrefix,
94
94
  classPrefix = _props$classPrefix === void 0 ? 'calendar-time-dropdown' : _props$classPrefix,
95
95
  show = props.show,
96
- showMeridian = props.showMeridian,
96
+ _props$showMeridian = props.showMeridian,
97
+ showMeridian = _props$showMeridian === void 0 ? false : _props$showMeridian,
97
98
  rest = _objectWithoutPropertiesLoose(props, ["as", "className", "classPrefix", "show", "showMeridian"]);
98
99
 
99
100
  var _useCalendarContext = useCalendarContext(),
@@ -165,7 +166,7 @@ var TimeDropdown = /*#__PURE__*/React.forwardRef(function (props, ref) {
165
166
  className: itemClasses,
166
167
  tabIndex: -1,
167
168
  "data-key": type + "-" + i,
168
- onClick: !disabled ? partial(handleClick, type, i) : null
169
+ onClick: !disabled ? partial(handleClick, type, i) : undefined
169
170
  }, showMeridian && type === 'hours' && i === 0 ? '12' : i)));
170
171
  }
171
172
  }
@@ -2,7 +2,7 @@ import _extends from "@babel/runtime/helpers/esm/extends";
2
2
  import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
3
3
  import React from 'react';
4
4
  import PropTypes from 'prop-types';
5
- import { DateUtils, useClassNames } from '../utils';
5
+ import { DateUtils, useClassNames, useCustom } from '../utils';
6
6
  import Table from './Table';
7
7
  import { useCalendarContext } from './CalendarContext';
8
8
  var View = /*#__PURE__*/React.forwardRef(function (props, ref) {
@@ -16,7 +16,12 @@ var View = /*#__PURE__*/React.forwardRef(function (props, ref) {
16
16
  var _useCalendarContext = useCalendarContext(),
17
17
  _useCalendarContext$d = _useCalendarContext.date,
18
18
  date = _useCalendarContext$d === void 0 ? new Date() : _useCalendarContext$d,
19
- isoWeek = _useCalendarContext.isoWeek;
19
+ isoWeek = _useCalendarContext.isoWeek,
20
+ overrideLocale = _useCalendarContext.locale;
21
+
22
+ var _useCustom = useCustom('Calendar', overrideLocale),
23
+ locale = _useCustom.locale,
24
+ formatDate = _useCustom.formatDate;
20
25
 
21
26
  var thisMonthDate = DateUtils.setDate(date, 1);
22
27
 
@@ -25,13 +30,12 @@ var View = /*#__PURE__*/React.forwardRef(function (props, ref) {
25
30
  withClassPrefix = _useClassNames.withClassPrefix;
26
31
 
27
32
  var classes = merge(className, withClassPrefix());
28
- return /*#__PURE__*/React.createElement(Component, _extends({
29
- role: "row"
30
- }, rest, {
33
+ return /*#__PURE__*/React.createElement(Component, _extends({}, rest, {
31
34
  ref: ref,
32
35
  className: classes
33
36
  }), /*#__PURE__*/React.createElement(Table, {
34
- rows: DateUtils.getMonthView(thisMonthDate, isoWeek)
37
+ rows: DateUtils.getMonthView(thisMonthDate, isoWeek),
38
+ "aria-label": formatDate(thisMonthDate, locale.formattedMonthPattern)
35
39
  }));
36
40
  });
37
41
  View.displayName = 'View';
@@ -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
  }
@@ -59,7 +59,7 @@ var Carousel = /*#__PURE__*/React.forwardRef(function (props, ref) {
59
59
 
60
60
  var handleChange = function handleChange(event) {
61
61
  var activeIndex = +event.target.value;
62
- handleSlide(activeIndex);
62
+ handleSlide(activeIndex, event);
63
63
  onSelect === null || onSelect === void 0 ? void 0 : onSelect(activeIndex, event);
64
64
  };
65
65
 
@@ -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 */
@@ -74,10 +74,10 @@ var Cascader = /*#__PURE__*/React.forwardRef(function (props, ref) {
74
74
  flattenData = _useState2[0],
75
75
  setFlattenData = _useState2[1];
76
76
 
77
- var triggerRef = useRef();
78
- var overlayRef = useRef();
79
- var targetRef = useRef();
80
- var searchInputRef = useRef();
77
+ var triggerRef = useRef(null);
78
+ var overlayRef = useRef(null);
79
+ var targetRef = useRef(null);
80
+ var searchInputRef = useRef(null);
81
81
 
82
82
  var _useControlled = useControlled(valueProp, defaultValue),
83
83
  value = _useControlled[0],
@@ -181,12 +181,12 @@ var Cascader = /*#__PURE__*/React.forwardRef(function (props, ref) {
181
181
  setSearchKeyword(value);
182
182
  onSearch === null || onSearch === void 0 ? void 0 : onSearch(value, event);
183
183
 
184
- if (items !== null && items !== void 0 && items[0]) {
185
- setFocusItemValue(items === null || items === void 0 ? void 0 : items[0]);
184
+ if (items.length > 0) {
185
+ setFocusItemValue(items[0][valueKey]);
186
186
  setLayer(0);
187
187
  setKeys([]);
188
188
  }
189
- }, [getSearchResult, onSearch, setFocusItemValue, setKeys, setLayer]);
189
+ }, [getSearchResult, onSearch, setFocusItemValue, setKeys, setLayer, valueKey]);
190
190
  var handleEntered = useCallback(function () {
191
191
  onOpen === null || onOpen === void 0 ? void 0 : onOpen();
192
192
  setActive(true);
@@ -227,7 +227,7 @@ var Cascader = /*#__PURE__*/React.forwardRef(function (props, ref) {
227
227
  }
228
228
 
229
229
  if (!shallowEqual(value, focusItemValue)) {
230
- onChange === null || onChange === void 0 ? void 0 : onChange(focusItemValue, event);
230
+ onChange === null || onChange === void 0 ? void 0 : onChange(focusItemValue !== null && focusItemValue !== void 0 ? focusItemValue : null, event);
231
231
  }
232
232
 
233
233
  handleClose();
@@ -309,7 +309,7 @@ var Cascader = /*#__PURE__*/React.forwardRef(function (props, ref) {
309
309
  setValue(nextValue);
310
310
  setValueToPaths(nodes);
311
311
  enforceUpdate(nextValue);
312
- onSelect === null || onSelect === void 0 ? void 0 : onSelect(node, null, event);
312
+ onSelect === null || onSelect === void 0 ? void 0 : onSelect(node, nodes, event);
313
313
  onChange === null || onChange === void 0 ? void 0 : onChange(nextValue, event);
314
314
  };
315
315
 
@@ -486,7 +486,7 @@ var Cascader = /*#__PURE__*/React.forwardRef(function (props, ref) {
486
486
  hasValue: hasValue,
487
487
  active: active,
488
488
  placement: placement,
489
- inputValue: value
489
+ inputValue: value !== null && value !== void 0 ? value : ''
490
490
  }), selectedElement || (locale === null || locale === void 0 ? void 0 : locale.placeholder))));
491
491
  });
492
492
  Cascader.displayName = 'Cascader';
@@ -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;
@@ -77,10 +77,10 @@ var CheckPicker = /*#__PURE__*/React.forwardRef(function (props, ref) {
77
77
  onOpen = props.onOpen,
78
78
  rest = _objectWithoutPropertiesLoose(props, ["as", "appearance", "classPrefix", "countable", "data", "disabledItemValues", "valueKey", "labelKey", "searchable", "virtualized", "cleanable", "placement", "menuAutoWidth", "menuMaxHeight", "menuClassName", "menuStyle", "locale", "placeholder", "disabled", "toggleAs", "style", "sticky", "value", "defaultValue", "groupBy", "listProps", "id", "sort", "searchBy", "renderMenuItem", "renderMenuGroup", "renderValue", "renderExtraFooter", "renderMenu", "onGroupTitleClick", "onSearch", "onEnter", "onEntered", "onExited", "onClean", "onChange", "onSelect", "onClose", "onOpen"]);
79
79
 
80
- var triggerRef = useRef();
81
- var targetRef = useRef();
82
- var overlayRef = useRef();
83
- var searchInputRef = useRef();
80
+ var triggerRef = useRef(null);
81
+ var targetRef = useRef(null);
82
+ var overlayRef = useRef(null);
83
+ var searchInputRef = useRef(null);
84
84
 
85
85
  var _useCustom = useCustom('Picker', overrideLocale),
86
86
  locale = _useCustom.locale;
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,64 @@
1
+ import React from 'react';
2
+ import { expectType } from 'ts-expect';
3
+ import CheckPicker from '../CheckPicker'; // Infer value and onChange types from data
4
+
5
+ var numberValuedData = [{
6
+ label: 'One',
7
+ value: 1
8
+ }];
9
+
10
+ /*#__PURE__*/
11
+ React.createElement(CheckPicker, {
12
+ data: numberValuedData,
13
+ value: [1]
14
+ }); // @ts-expect-error should not accept single value
15
+
16
+ /*#__PURE__*/
17
+ React.createElement(CheckPicker, {
18
+ data: numberValuedData,
19
+ value: 1
20
+ }); // @ts-expect-error should not accept string value
21
+
22
+ /*#__PURE__*/
23
+ React.createElement(CheckPicker, {
24
+ data: numberValuedData,
25
+ value: ['1']
26
+ });
27
+
28
+ /*#__PURE__*/
29
+ React.createElement(CheckPicker, {
30
+ data: numberValuedData,
31
+ onChange: function onChange(newValue) {
32
+ expectType(newValue);
33
+ }
34
+ });
35
+ var stringValuedData = [{
36
+ label: 'One',
37
+ value: 'One'
38
+ }];
39
+
40
+ /*#__PURE__*/
41
+ React.createElement(CheckPicker, {
42
+ data: stringValuedData,
43
+ value: ['1']
44
+ }); // @ts-expect-error should not accept single value
45
+
46
+ /*#__PURE__*/
47
+ React.createElement(CheckPicker, {
48
+ data: numberValuedData,
49
+ value: "1"
50
+ }); // @ts-expect-error should not accept number value
51
+
52
+ /*#__PURE__*/
53
+ React.createElement(CheckPicker, {
54
+ data: stringValuedData,
55
+ value: [1]
56
+ });
57
+
58
+ /*#__PURE__*/
59
+ React.createElement(CheckPicker, {
60
+ data: stringValuedData,
61
+ onChange: function onChange(newValue) {
62
+ expectType(newValue);
63
+ }
64
+ });
@@ -1,14 +1,15 @@
1
1
  import _extends from "@babel/runtime/helpers/esm/extends";
2
- import React, { useRef } from 'react';
2
+ import React, { useMemo } from 'react';
3
3
  import CheckTreePicker from '../CheckTreePicker';
4
4
  import TreeContext from '../Tree/TreeContext';
5
5
  var CheckTree = /*#__PURE__*/React.forwardRef(function (props, ref) {
6
- var dragNodeRef = useRef();
6
+ var contextValue = useMemo(function () {
7
+ return {
8
+ inline: true
9
+ };
10
+ }, []);
7
11
  return /*#__PURE__*/React.createElement(TreeContext.Provider, {
8
- value: {
9
- inline: true,
10
- dragNodeRef: dragNodeRef
11
- }
12
+ value: contextValue
12
13
  }, /*#__PURE__*/React.createElement(CheckTreePicker, _extends({
13
14
  ref: ref
14
15
  }, props)));
@@ -4,7 +4,7 @@ import { CheckStateType } from '../utils';
4
4
  export interface CheckTreeNodeProps extends WithAsProps {
5
5
  rtl?: boolean;
6
6
  label?: any;
7
- layer?: number;
7
+ layer: number;
8
8
  value?: any;
9
9
  focus?: boolean;
10
10
  style?: React.CSSProperties;
@@ -5,10 +5,9 @@ import PropTypes from 'prop-types';
5
5
  import ArrowDown from '@rsuite/icons/legacy/ArrowDown';
6
6
  import Spinner from '@rsuite/icons/legacy/Spinner';
7
7
  import DropdownMenuCheckItem from '../Picker/DropdownMenuCheckItem';
8
- import { useClassNames, CHECK_STATE, TREE_NODE_PADDING, TREE_NODE_ROOT_PADDING, reactToString } from '../utils';
8
+ import { getTreeNodeIndent } from '../utils/treeUtils';
9
+ import { useClassNames, CHECK_STATE, reactToString } from '../utils';
9
10
  var CheckTreeNode = /*#__PURE__*/forwardRef(function (_ref, ref) {
10
- var _extends2;
11
-
12
11
  var _ref$as = _ref.as,
13
12
  Component = _ref$as === void 0 ? 'div' : _ref$as,
14
13
  style = _ref.style,
@@ -133,11 +132,9 @@ var CheckTreeNode = /*#__PURE__*/forwardRef(function (_ref, ref) {
133
132
  'all-uncheckable': !!allUncheckable,
134
133
  'text-muted': disabled,
135
134
  focus: focus
136
- })); // layer start from 1
137
-
138
- var padding = (layer - 1) * TREE_NODE_PADDING + TREE_NODE_ROOT_PADDING;
135
+ }));
139
136
 
140
- var styles = _extends({}, style, (_extends2 = {}, _extends2[rtl ? 'paddingRight' : 'paddingLeft'] = padding, _extends2));
137
+ var styles = _extends({}, style, getTreeNodeIndent(rtl, layer - 1));
141
138
 
142
139
  return visible ? /*#__PURE__*/React.createElement(Component, _extends({
143
140
  role: "treeitem",