rsuite 5.2.4 → 5.4.2

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 (511) 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 +4 -3
  8. package/Modal/styles/index.less +23 -22
  9. package/Nav/styles/index.less +1 -0
  10. package/Navbar/styles/index.less +19 -5
  11. package/Radio/styles/index.less +6 -0
  12. package/Sidenav/styles/index.less +2 -2
  13. package/Stack/package.json +7 -0
  14. package/Stack/styles/index.less +5 -0
  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 +8 -6
  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 +1 -1
  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 +29 -25
  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 +8 -7
  72. package/cjs/DateRangePicker/Calendar.js +1 -1
  73. package/cjs/DateRangePicker/DateRangePicker.d.ts +6 -6
  74. package/cjs/DateRangePicker/DateRangePicker.js +112 -111
  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.d.ts +8 -5
  79. package/cjs/Disclosure/Disclosure.js +55 -13
  80. package/cjs/Disclosure/DisclosureButton.d.ts +2 -2
  81. package/cjs/Disclosure/DisclosureButton.js +9 -7
  82. package/cjs/Disclosure/DisclosureContent.js +4 -6
  83. package/cjs/Disclosure/DisclosureContext.d.ts +8 -3
  84. package/cjs/Disclosure/useDisclosureContext.d.ts +2 -0
  85. package/cjs/Disclosure/useDisclosureContext.js +20 -0
  86. package/cjs/Dropdown/Dropdown.d.ts +1 -1
  87. package/cjs/Dropdown/Dropdown.js +1 -1
  88. package/cjs/Dropdown/DropdownContext.d.ts +2 -2
  89. package/cjs/Dropdown/DropdownItem.js +10 -11
  90. package/cjs/Dropdown/DropdownMenu.d.ts +3 -3
  91. package/cjs/Dropdown/DropdownMenu.js +81 -23
  92. package/cjs/Dropdown/DropdownState.d.ts +1 -1
  93. package/cjs/Dropdown/DropdownToggle.js +10 -2
  94. package/cjs/Dropdown/useRenderDropdownItem.d.ts +1 -1
  95. package/cjs/Form/Form.js +1 -1
  96. package/cjs/Form/FormContext.d.ts +1 -1
  97. package/cjs/FormControl/FormControl.d.ts +1 -1
  98. package/cjs/FormControl/FormControl.js +5 -4
  99. package/cjs/FormGroup/FormGroup.d.ts +1 -1
  100. package/cjs/FormGroup/FormGroup.js +9 -4
  101. package/cjs/Input/Input.d.ts +3 -2
  102. package/cjs/InputGroup/InputGroup.d.ts +1 -1
  103. package/cjs/InputNumber/InputNumber.js +6 -2
  104. package/cjs/InputPicker/InputAutosize.js +4 -4
  105. package/cjs/InputPicker/InputPicker.d.ts +2 -2
  106. package/cjs/InputPicker/InputPicker.js +15 -10
  107. package/cjs/List/ListContext.d.ts +1 -1
  108. package/cjs/List/ListContext.js +8 -1
  109. package/cjs/List/helper/AutoScroller.js +4 -2
  110. package/cjs/List/helper/useManager.d.ts +3 -3
  111. package/cjs/List/helper/useManager.js +1 -1
  112. package/cjs/List/helper/useSortHelper.d.ts +3 -3
  113. package/cjs/List/helper/useSortHelper.js +6 -4
  114. package/cjs/List/helper/utils.d.ts +2 -2
  115. package/cjs/MaskedInput/TextMask.d.ts +5 -5
  116. package/cjs/MaskedInput/adjustCaretPosition.d.ts +6 -6
  117. package/cjs/MaskedInput/conformToMask.js +5 -4
  118. package/cjs/MaskedInput/createTextMaskInputElement.d.ts +2 -2
  119. package/cjs/MaskedInput/utilities.d.ts +1 -1
  120. package/cjs/Menu/Menu.js +14 -7
  121. package/cjs/Menu/MenuContext.d.ts +1 -1
  122. package/cjs/Menu/MenuItem.d.ts +1 -1
  123. package/cjs/Menu/MenuItem.js +19 -15
  124. package/cjs/Menu/Menubar.js +8 -8
  125. package/cjs/Menu/useMenu.js +17 -7
  126. package/cjs/Modal/Modal.js +39 -21
  127. package/cjs/Modal/ModalContext.d.ts +2 -2
  128. package/cjs/Modal/utils.d.ts +1 -1
  129. package/cjs/Modal/utils.js +3 -5
  130. package/cjs/MultiCascader/DropdownMenu.d.ts +4 -4
  131. package/cjs/MultiCascader/MultiCascader.js +6 -6
  132. package/cjs/MultiCascader/utils.d.ts +17 -17
  133. package/cjs/Nav/Nav.d.ts +1 -1
  134. package/cjs/Nav/Nav.js +10 -12
  135. package/cjs/Nav/NavContext.d.ts +7 -1
  136. package/cjs/Nav/NavContext.js +1 -0
  137. package/cjs/Nav/NavItem.d.ts +1 -1
  138. package/cjs/Navbar/Navbar.js +1 -1
  139. package/cjs/Navbar/NavbarItem.d.ts +1 -1
  140. package/cjs/Navbar/index.d.ts +1 -0
  141. package/cjs/Navbar/index.js +4 -3
  142. package/cjs/Overlay/Modal.d.ts +2 -2
  143. package/cjs/Overlay/Modal.js +71 -63
  144. package/cjs/Overlay/ModalManager.d.ts +17 -8
  145. package/cjs/Overlay/ModalManager.js +11 -20
  146. package/cjs/Overlay/Overlay.d.ts +3 -3
  147. package/cjs/Overlay/Overlay.js +8 -2
  148. package/cjs/Overlay/OverlayContext.d.ts +6 -0
  149. package/cjs/Overlay/OverlayContext.js +14 -0
  150. package/cjs/Overlay/OverlayTrigger.d.ts +11 -11
  151. package/cjs/Overlay/OverlayTrigger.js +21 -7
  152. package/cjs/Overlay/Position.d.ts +4 -4
  153. package/cjs/Overlay/Position.js +14 -8
  154. package/cjs/Overlay/positionUtils.d.ts +1 -1
  155. package/cjs/Overlay/positionUtils.js +8 -8
  156. package/cjs/Pagination/Pagination.d.ts +1 -1
  157. package/cjs/Pagination/PaginationButton.d.ts +3 -3
  158. package/cjs/Pagination/PaginationGroup.js +5 -3
  159. package/cjs/Panel/Panel.d.ts +1 -1
  160. package/cjs/Panel/Panel.js +2 -2
  161. package/cjs/PanelGroup/PanelGroup.d.ts +2 -2
  162. package/cjs/PanelGroup/PanelGroup.js +8 -5
  163. package/cjs/Picker/DropdownMenu.d.ts +8 -5
  164. package/cjs/Picker/DropdownMenu.js +5 -5
  165. package/cjs/Picker/PickerOverlay.js +4 -3
  166. package/cjs/Picker/PickerToggle.js +4 -3
  167. package/cjs/Picker/PickerToggleTrigger.d.ts +2 -6
  168. package/cjs/Picker/SearchBar.d.ts +1 -1
  169. package/cjs/Picker/SelectedElement.js +2 -1
  170. package/cjs/Picker/propTypes.d.ts +5 -7
  171. package/cjs/Picker/propTypes.js +4 -3
  172. package/cjs/Picker/utils.d.ts +11 -11
  173. package/cjs/Picker/utils.js +22 -18
  174. package/cjs/Placeholder/PlaceholderGrid.js +1 -1
  175. package/cjs/Plaintext/Plaintext.js +2 -1
  176. package/cjs/Radio/Radio.d.ts +1 -1
  177. package/cjs/RadioGroup/RadioGroup.d.ts +2 -2
  178. package/cjs/RadioGroup/RadioGroup.js +1 -1
  179. package/cjs/RangeSlider/RangeSlider.d.ts +2 -2
  180. package/cjs/RangeSlider/RangeSlider.js +6 -4
  181. package/cjs/Rate/Character.js +4 -2
  182. package/cjs/Rate/Rate.js +2 -1
  183. package/cjs/Ripple/Ripple.js +1 -1
  184. package/cjs/SelectPicker/SelectPicker.d.ts +12 -5
  185. package/cjs/SelectPicker/SelectPicker.js +8 -8
  186. package/cjs/SelectPicker/index.d.ts +1 -1
  187. package/cjs/SelectPicker/test/SelectPicker.test.d.ts +1 -0
  188. package/cjs/SelectPicker/test/SelectPicker.test.js +62 -0
  189. package/cjs/Sidenav/Node.d.ts +1 -1
  190. package/cjs/Sidenav/Sidenav.d.ts +4 -4
  191. package/cjs/Sidenav/Sidenav.js +5 -2
  192. package/cjs/Sidenav/SidenavDropdown.js +11 -8
  193. package/cjs/Sidenav/SidenavDropdownItem.js +10 -5
  194. package/cjs/Sidenav/SidenavDropdownMenu.js +9 -5
  195. package/cjs/Sidenav/SidenavItem.d.ts +1 -1
  196. package/cjs/Sidenav/SidenavItem.js +4 -0
  197. package/cjs/Slider/Graduated.d.ts +5 -5
  198. package/cjs/Slider/Handle.d.ts +1 -1
  199. package/cjs/Slider/Handle.js +10 -6
  200. package/cjs/Slider/Mark.d.ts +1 -1
  201. package/cjs/Slider/Slider.d.ts +1 -1
  202. package/cjs/Slider/Slider.js +2 -2
  203. package/cjs/Slider/utils.d.ts +2 -1
  204. package/cjs/Slider/utils.js +4 -5
  205. package/cjs/Stack/Stack.d.ts +26 -0
  206. package/cjs/Stack/Stack.js +86 -0
  207. package/cjs/Stack/index.d.ts +3 -0
  208. package/cjs/Stack/index.js +11 -0
  209. package/cjs/Steps/StepItem.js +1 -1
  210. package/cjs/TagInput/index.js +1 -1
  211. package/cjs/Toggle/Toggle.js +5 -4
  212. package/cjs/Tree/Tree.d.ts +3 -2
  213. package/cjs/Tree/Tree.js +6 -5
  214. package/cjs/Tree/TreeContext.d.ts +0 -1
  215. package/cjs/TreePicker/TreeNode.js +7 -22
  216. package/cjs/TreePicker/TreePicker.js +32 -52
  217. package/cjs/Uploader/UploadFileItem.d.ts +1 -1
  218. package/cjs/Uploader/UploadFileItem.js +2 -2
  219. package/cjs/Uploader/UploadTrigger.d.ts +1 -1
  220. package/cjs/Uploader/UploadTrigger.js +2 -3
  221. package/cjs/Uploader/Uploader.d.ts +5 -5
  222. package/cjs/Uploader/Uploader.js +1 -2
  223. package/cjs/index.d.ts +6 -2
  224. package/cjs/index.js +13 -5
  225. package/cjs/locales/index.d.ts +3 -3
  226. package/cjs/toaster/ToastContainer.d.ts +1 -1
  227. package/cjs/toaster/ToastContainer.js +1 -1
  228. package/cjs/toaster/toaster.js +3 -1
  229. package/cjs/utils/BrowserDetection.js +1 -1
  230. package/cjs/utils/ReactChildren.d.ts +2 -2
  231. package/cjs/utils/ajaxUpload.d.ts +1 -1
  232. package/cjs/utils/ajaxUpload.js +5 -4
  233. package/cjs/utils/appendTooltip.d.ts +1 -1
  234. package/cjs/utils/constants.d.ts +4 -4
  235. package/cjs/utils/createChainedFunction.d.ts +1 -1
  236. package/cjs/utils/getDataGroupBy.d.ts +1 -1
  237. package/cjs/utils/index.d.ts +1 -0
  238. package/cjs/utils/index.js +7 -2
  239. package/cjs/utils/mergeRefs.d.ts +2 -2
  240. package/cjs/utils/previewFile.d.ts +1 -1
  241. package/cjs/utils/propTypeChecker.d.ts +6 -2
  242. package/cjs/utils/propTypeChecker.js +7 -6
  243. package/cjs/utils/reactToString.d.ts +2 -1
  244. package/cjs/utils/statusIcons.d.ts +1 -1
  245. package/cjs/utils/stringToObject.d.ts +1 -1
  246. package/cjs/utils/treeUtils.d.ts +35 -32
  247. package/cjs/utils/treeUtils.js +46 -23
  248. package/cjs/utils/useControlled.d.ts +6 -1
  249. package/cjs/utils/useControlled.js +0 -8
  250. package/cjs/utils/useCustom.js +6 -4
  251. package/cjs/utils/useFocus.d.ts +2 -2
  252. package/cjs/utils/useMount.d.ts +2 -0
  253. package/cjs/utils/useMount.js +19 -0
  254. package/cjs/utils/usePortal.d.ts +2 -2
  255. package/cjs/utils/useRootClose.d.ts +2 -2
  256. package/cjs/utils/useTimeout.d.ts +1 -1
  257. package/cjs/utils/useTimeout.js +5 -3
  258. package/dist/rsuite-rtl.css +95 -210
  259. package/dist/rsuite-rtl.min.css +1 -1
  260. package/dist/rsuite-rtl.min.css.map +1 -1
  261. package/dist/rsuite.css +95 -210
  262. package/dist/rsuite.js +214 -115
  263. package/dist/rsuite.js.map +1 -1
  264. package/dist/rsuite.min.css +1 -1
  265. package/dist/rsuite.min.css.map +1 -1
  266. package/dist/rsuite.min.js +1 -1
  267. package/dist/rsuite.min.js.map +1 -1
  268. package/esm/@types/common.d.ts +13 -12
  269. package/esm/@types/utils.d.ts +12 -0
  270. package/esm/Affix/Affix.js +9 -7
  271. package/esm/Animation/Transition.d.ts +21 -12
  272. package/esm/Animation/Transition.js +4 -1
  273. package/esm/AutoComplete/AutoComplete.js +1 -1
  274. package/esm/AutoComplete/utils.d.ts +1 -1
  275. package/esm/Avatar/Avatar.js +7 -3
  276. package/esm/AvatarGroup/AvatarGroup.d.ts +15 -0
  277. package/esm/AvatarGroup/AvatarGroup.js +57 -0
  278. package/esm/AvatarGroup/index.d.ts +3 -0
  279. package/esm/AvatarGroup/index.js +2 -0
  280. package/esm/Breadcrumb/Breadcrumb.js +1 -1
  281. package/esm/Button/Button.js +6 -2
  282. package/esm/ButtonGroup/ButtonGroup.js +11 -3
  283. package/esm/ButtonGroup/ButtonGroupContext.d.ts +7 -0
  284. package/esm/ButtonGroup/ButtonGroupContext.js +3 -0
  285. package/esm/ButtonGroup/index.d.ts +2 -0
  286. package/esm/ButtonGroup/index.js +2 -0
  287. package/esm/Calendar/Calendar.d.ts +4 -4
  288. package/esm/Calendar/Calendar.js +27 -23
  289. package/esm/Calendar/CalendarContext.js +1 -1
  290. package/esm/Calendar/Header.js +1 -3
  291. package/esm/Calendar/Table.js +1 -1
  292. package/esm/Calendar/TableRow.js +14 -9
  293. package/esm/Calendar/TimeDropdown.js +5 -4
  294. package/esm/Calendar/View.js +10 -6
  295. package/esm/Calendar/types.d.ts +2 -2
  296. package/esm/Calendar/useCalendarDate.d.ts +2 -2
  297. package/esm/Carousel/Carousel.d.ts +1 -1
  298. package/esm/Carousel/Carousel.js +1 -1
  299. package/esm/Cascader/Cascader.d.ts +1 -1
  300. package/esm/Cascader/Cascader.js +10 -10
  301. package/esm/Cascader/DropdownMenu.d.ts +5 -4
  302. package/esm/Cascader/utils.d.ts +10 -10
  303. package/esm/CheckPicker/CheckPicker.d.ts +9 -4
  304. package/esm/CheckPicker/CheckPicker.js +4 -4
  305. package/esm/CheckPicker/test/CheckPicker.test.d.ts +1 -0
  306. package/esm/CheckPicker/test/CheckPicker.test.js +64 -0
  307. package/esm/CheckTree/index.js +7 -6
  308. package/esm/CheckTreePicker/CheckTreeNode.d.ts +1 -1
  309. package/esm/CheckTreePicker/CheckTreeNode.js +4 -7
  310. package/esm/CheckTreePicker/CheckTreePicker.js +28 -23
  311. package/esm/CheckTreePicker/utils.d.ts +3 -1
  312. package/esm/CheckTreePicker/utils.js +12 -10
  313. package/esm/Checkbox/Checkbox.d.ts +1 -1
  314. package/esm/Container/Container.js +7 -4
  315. package/esm/CustomProvider/CustomProvider.d.ts +31 -57
  316. package/esm/DOMHelper/index.d.ts +12 -12
  317. package/esm/DatePicker/DatePicker.d.ts +1 -1
  318. package/esm/DatePicker/DatePicker.js +18 -11
  319. package/esm/DatePicker/Toolbar.d.ts +12 -9
  320. package/esm/DatePicker/Toolbar.js +6 -8
  321. package/esm/DatePicker/types.d.ts +4 -4
  322. package/esm/DatePicker/utils.d.ts +4 -3
  323. package/esm/DateRangePicker/Calendar.d.ts +8 -7
  324. package/esm/DateRangePicker/Calendar.js +1 -1
  325. package/esm/DateRangePicker/DateRangePicker.d.ts +6 -6
  326. package/esm/DateRangePicker/DateRangePicker.js +112 -111
  327. package/esm/DateRangePicker/types.d.ts +2 -1
  328. package/esm/DateRangePicker/utils.d.ts +6 -6
  329. package/esm/DateRangePicker/utils.js +6 -2
  330. package/esm/Disclosure/Disclosure.d.ts +8 -5
  331. package/esm/Disclosure/Disclosure.js +56 -15
  332. package/esm/Disclosure/DisclosureButton.d.ts +2 -2
  333. package/esm/Disclosure/DisclosureButton.js +8 -7
  334. package/esm/Disclosure/DisclosureContent.js +5 -7
  335. package/esm/Disclosure/DisclosureContext.d.ts +8 -3
  336. package/esm/Disclosure/useDisclosureContext.d.ts +2 -0
  337. package/esm/Disclosure/useDisclosureContext.js +11 -0
  338. package/esm/Dropdown/Dropdown.d.ts +1 -1
  339. package/esm/Dropdown/Dropdown.js +1 -1
  340. package/esm/Dropdown/DropdownContext.d.ts +2 -2
  341. package/esm/Dropdown/DropdownItem.js +10 -10
  342. package/esm/Dropdown/DropdownMenu.d.ts +3 -3
  343. package/esm/Dropdown/DropdownMenu.js +82 -24
  344. package/esm/Dropdown/DropdownState.d.ts +1 -1
  345. package/esm/Dropdown/DropdownToggle.js +9 -2
  346. package/esm/Dropdown/useRenderDropdownItem.d.ts +1 -1
  347. package/esm/Form/Form.js +1 -1
  348. package/esm/Form/FormContext.d.ts +1 -1
  349. package/esm/FormControl/FormControl.d.ts +1 -1
  350. package/esm/FormControl/FormControl.js +5 -4
  351. package/esm/FormGroup/FormGroup.d.ts +1 -1
  352. package/esm/FormGroup/FormGroup.js +7 -4
  353. package/esm/Input/Input.d.ts +3 -2
  354. package/esm/InputGroup/InputGroup.d.ts +1 -1
  355. package/esm/InputNumber/InputNumber.js +6 -2
  356. package/esm/InputPicker/InputAutosize.js +4 -4
  357. package/esm/InputPicker/InputPicker.d.ts +2 -2
  358. package/esm/InputPicker/InputPicker.js +15 -10
  359. package/esm/List/ListContext.d.ts +1 -1
  360. package/esm/List/ListContext.js +7 -1
  361. package/esm/List/helper/AutoScroller.js +4 -2
  362. package/esm/List/helper/useManager.d.ts +3 -3
  363. package/esm/List/helper/useManager.js +1 -1
  364. package/esm/List/helper/useSortHelper.d.ts +3 -3
  365. package/esm/List/helper/useSortHelper.js +6 -4
  366. package/esm/List/helper/utils.d.ts +2 -2
  367. package/esm/MaskedInput/TextMask.d.ts +5 -5
  368. package/esm/MaskedInput/adjustCaretPosition.d.ts +6 -6
  369. package/esm/MaskedInput/conformToMask.js +5 -4
  370. package/esm/MaskedInput/createTextMaskInputElement.d.ts +2 -2
  371. package/esm/MaskedInput/utilities.d.ts +1 -1
  372. package/esm/Menu/Menu.js +13 -7
  373. package/esm/Menu/MenuContext.d.ts +1 -1
  374. package/esm/Menu/MenuItem.d.ts +1 -1
  375. package/esm/Menu/MenuItem.js +18 -15
  376. package/esm/Menu/Menubar.js +7 -8
  377. package/esm/Menu/useMenu.js +17 -7
  378. package/esm/Modal/Modal.js +41 -23
  379. package/esm/Modal/ModalContext.d.ts +2 -2
  380. package/esm/Modal/utils.d.ts +1 -1
  381. package/esm/Modal/utils.js +3 -5
  382. package/esm/MultiCascader/DropdownMenu.d.ts +4 -4
  383. package/esm/MultiCascader/MultiCascader.js +6 -6
  384. package/esm/MultiCascader/utils.d.ts +17 -17
  385. package/esm/Nav/Nav.d.ts +1 -1
  386. package/esm/Nav/Nav.js +11 -13
  387. package/esm/Nav/NavContext.d.ts +7 -1
  388. package/esm/Nav/NavContext.js +1 -0
  389. package/esm/Nav/NavItem.d.ts +1 -1
  390. package/esm/Navbar/Navbar.js +1 -1
  391. package/esm/Navbar/NavbarItem.d.ts +1 -1
  392. package/esm/Navbar/index.d.ts +1 -0
  393. package/esm/Navbar/index.js +1 -0
  394. package/esm/Overlay/Modal.d.ts +2 -2
  395. package/esm/Overlay/Modal.js +72 -64
  396. package/esm/Overlay/ModalManager.d.ts +17 -8
  397. package/esm/Overlay/ModalManager.js +11 -20
  398. package/esm/Overlay/Overlay.d.ts +3 -3
  399. package/esm/Overlay/Overlay.js +8 -3
  400. package/esm/Overlay/OverlayContext.d.ts +6 -0
  401. package/esm/Overlay/OverlayContext.js +4 -0
  402. package/esm/Overlay/OverlayTrigger.d.ts +11 -11
  403. package/esm/Overlay/OverlayTrigger.js +21 -8
  404. package/esm/Overlay/Position.d.ts +4 -4
  405. package/esm/Overlay/Position.js +14 -8
  406. package/esm/Overlay/positionUtils.d.ts +1 -1
  407. package/esm/Overlay/positionUtils.js +6 -6
  408. package/esm/Pagination/Pagination.d.ts +1 -1
  409. package/esm/Pagination/PaginationButton.d.ts +3 -3
  410. package/esm/Pagination/PaginationGroup.js +5 -3
  411. package/esm/Panel/Panel.d.ts +1 -1
  412. package/esm/Panel/Panel.js +2 -2
  413. package/esm/PanelGroup/PanelGroup.d.ts +2 -2
  414. package/esm/PanelGroup/PanelGroup.js +9 -6
  415. package/esm/Picker/DropdownMenu.d.ts +8 -5
  416. package/esm/Picker/DropdownMenu.js +5 -5
  417. package/esm/Picker/PickerOverlay.js +4 -3
  418. package/esm/Picker/PickerToggle.js +4 -3
  419. package/esm/Picker/PickerToggleTrigger.d.ts +2 -6
  420. package/esm/Picker/SearchBar.d.ts +1 -1
  421. package/esm/Picker/SelectedElement.js +2 -1
  422. package/esm/Picker/propTypes.d.ts +5 -7
  423. package/esm/Picker/propTypes.js +4 -3
  424. package/esm/Picker/utils.d.ts +11 -11
  425. package/esm/Picker/utils.js +21 -18
  426. package/esm/Placeholder/PlaceholderGrid.js +1 -1
  427. package/esm/Plaintext/Plaintext.js +2 -1
  428. package/esm/Radio/Radio.d.ts +1 -1
  429. package/esm/RadioGroup/RadioGroup.d.ts +2 -2
  430. package/esm/RadioGroup/RadioGroup.js +1 -1
  431. package/esm/RangeSlider/RangeSlider.d.ts +2 -2
  432. package/esm/RangeSlider/RangeSlider.js +5 -4
  433. package/esm/Rate/Character.js +3 -2
  434. package/esm/Rate/Rate.js +2 -1
  435. package/esm/Ripple/Ripple.js +1 -1
  436. package/esm/SelectPicker/SelectPicker.d.ts +12 -5
  437. package/esm/SelectPicker/SelectPicker.js +8 -8
  438. package/esm/SelectPicker/index.d.ts +1 -1
  439. package/esm/SelectPicker/test/SelectPicker.test.d.ts +1 -0
  440. package/esm/SelectPicker/test/SelectPicker.test.js +52 -0
  441. package/esm/Sidenav/Node.d.ts +1 -1
  442. package/esm/Sidenav/Sidenav.d.ts +4 -4
  443. package/esm/Sidenav/Sidenav.js +5 -2
  444. package/esm/Sidenav/SidenavDropdown.js +11 -7
  445. package/esm/Sidenav/SidenavDropdownItem.js +11 -5
  446. package/esm/Sidenav/SidenavDropdownMenu.js +9 -5
  447. package/esm/Sidenav/SidenavItem.d.ts +1 -1
  448. package/esm/Sidenav/SidenavItem.js +4 -0
  449. package/esm/Slider/Graduated.d.ts +5 -5
  450. package/esm/Slider/Handle.d.ts +1 -1
  451. package/esm/Slider/Handle.js +10 -6
  452. package/esm/Slider/Mark.d.ts +1 -1
  453. package/esm/Slider/Slider.d.ts +1 -1
  454. package/esm/Slider/Slider.js +2 -2
  455. package/esm/Slider/utils.d.ts +2 -1
  456. package/esm/Slider/utils.js +5 -2
  457. package/esm/Stack/Stack.d.ts +26 -0
  458. package/esm/Stack/Stack.js +71 -0
  459. package/esm/Stack/index.d.ts +3 -0
  460. package/esm/Stack/index.js +2 -0
  461. package/esm/Steps/StepItem.js +1 -1
  462. package/esm/TagInput/index.js +1 -1
  463. package/esm/Toggle/Toggle.js +5 -4
  464. package/esm/Tree/Tree.d.ts +3 -2
  465. package/esm/Tree/Tree.js +7 -6
  466. package/esm/Tree/TreeContext.d.ts +0 -1
  467. package/esm/TreePicker/TreeNode.js +6 -21
  468. package/esm/TreePicker/TreePicker.js +31 -50
  469. package/esm/Uploader/UploadFileItem.d.ts +1 -1
  470. package/esm/Uploader/UploadFileItem.js +2 -2
  471. package/esm/Uploader/UploadTrigger.d.ts +1 -1
  472. package/esm/Uploader/UploadTrigger.js +2 -3
  473. package/esm/Uploader/Uploader.d.ts +5 -5
  474. package/esm/Uploader/Uploader.js +1 -2
  475. package/esm/index.d.ts +6 -2
  476. package/esm/index.js +3 -1
  477. package/esm/locales/index.d.ts +3 -3
  478. package/esm/toaster/ToastContainer.d.ts +1 -1
  479. package/esm/toaster/ToastContainer.js +1 -1
  480. package/esm/toaster/toaster.js +3 -1
  481. package/esm/utils/BrowserDetection.js +1 -1
  482. package/esm/utils/ReactChildren.d.ts +2 -2
  483. package/esm/utils/ajaxUpload.d.ts +1 -1
  484. package/esm/utils/ajaxUpload.js +5 -4
  485. package/esm/utils/appendTooltip.d.ts +1 -1
  486. package/esm/utils/constants.d.ts +4 -4
  487. package/esm/utils/createChainedFunction.d.ts +1 -1
  488. package/esm/utils/getDataGroupBy.d.ts +1 -1
  489. package/esm/utils/index.d.ts +1 -0
  490. package/esm/utils/index.js +2 -1
  491. package/esm/utils/mergeRefs.d.ts +2 -2
  492. package/esm/utils/previewFile.d.ts +1 -1
  493. package/esm/utils/propTypeChecker.d.ts +6 -2
  494. package/esm/utils/propTypeChecker.js +7 -6
  495. package/esm/utils/reactToString.d.ts +2 -1
  496. package/esm/utils/statusIcons.d.ts +1 -1
  497. package/esm/utils/stringToObject.d.ts +1 -1
  498. package/esm/utils/treeUtils.d.ts +35 -32
  499. package/esm/utils/treeUtils.js +45 -21
  500. package/esm/utils/useControlled.d.ts +6 -1
  501. package/esm/utils/useControlled.js +0 -8
  502. package/esm/utils/useCustom.js +6 -4
  503. package/esm/utils/useFocus.d.ts +2 -2
  504. package/esm/utils/useMount.d.ts +2 -0
  505. package/esm/utils/useMount.js +13 -0
  506. package/esm/utils/usePortal.d.ts +2 -2
  507. package/esm/utils/useRootClose.d.ts +2 -2
  508. package/esm/utils/useTimeout.d.ts +1 -1
  509. package/esm/utils/useTimeout.js +5 -3
  510. package/package.json +2 -2
  511. package/styles/index.less +2 -0
@@ -4,12 +4,12 @@ import { ValueType } from '../Radio';
4
4
  export interface RadioContextProps {
5
5
  inline?: boolean;
6
6
  name?: string;
7
- value?: ValueType;
7
+ value?: ValueType | null;
8
8
  controlled?: boolean;
9
9
  disabled?: boolean;
10
10
  readOnly?: boolean;
11
11
  plaintext?: boolean;
12
- onChange?: (value: ValueType, event: React.ChangeEvent<HTMLInputElement>) => void;
12
+ onChange?: (value: ValueType | undefined, event: React.ChangeEvent<HTMLInputElement>) => void;
13
13
  }
14
14
  export interface RadioGroupProps<T = ValueType> extends WithAsProps, FormControlBaseProps<T> {
15
15
  /** A radio group can have different appearances */
@@ -57,7 +57,7 @@ var RadioGroup = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
57
57
 
58
58
  var handleChange = (0, _react.useCallback)(function (nextValue, event) {
59
59
  setValue(nextValue);
60
- onChange === null || onChange === void 0 ? void 0 : onChange(nextValue, event);
60
+ onChange === null || onChange === void 0 ? void 0 : onChange(nextValue !== null && nextValue !== void 0 ? nextValue : '', event);
61
61
  }, [onChange, setValue]);
62
62
  var contextValue = (0, _react.useMemo)(function () {
63
63
  return {
@@ -1,6 +1,6 @@
1
1
  import React from 'react';
2
2
  import { SliderProps } from '../Slider';
3
- export declare type ValueType = number[];
4
- export declare type RangeSliderProps = SliderProps<ValueType>;
3
+ export declare type Range = [number, number];
4
+ export declare type RangeSliderProps = SliderProps<Range>;
5
5
  declare const RangeSlider: React.ForwardRefExoticComponent<RangeSliderProps & React.RefAttributes<unknown>>;
6
6
  export default RangeSlider;
@@ -33,6 +33,8 @@ var _Graduated = _interopRequireDefault(require("../Slider/Graduated"));
33
33
 
34
34
  var _utils2 = require("../Slider/utils");
35
35
 
36
+ var _propTypeChecker = require("../utils/propTypeChecker");
37
+
36
38
  var defaultDefaultValue = [0, 0];
37
39
 
38
40
  var RangeSlider = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
@@ -70,7 +72,7 @@ var RangeSlider = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
70
72
  onChange = props.onChange,
71
73
  onChangeCommitted = props.onChangeCommitted,
72
74
  rest = (0, _objectWithoutPropertiesLoose2.default)(props, ["aria-label", "aria-labelledby", "aria-valuetext", "as", "barClassName", "className", "defaultValue", "graduated", "progress", "vertical", "disabled", "classPrefix", "min", "max", "step", "value", "handleClassName", "handleStyle", "handleTitle", "tooltip", "getAriaValueText", "renderTooltip", "renderMark", "onChange", "onChangeCommitted"]);
73
- var barRef = (0, _react.useRef)(); // Define the parameter position of the handle
75
+ var barRef = (0, _react.useRef)(null); // Define the parameter position of the handle
74
76
 
75
77
  var handleIndexs = (0, _react.useRef)([0, 1]);
76
78
 
@@ -286,7 +288,7 @@ var RangeSlider = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
286
288
  onDragMove: handleDragMove,
287
289
  onDragEnd: handleChangeCommitted,
288
290
  onKeyDown: handleKeyDown,
289
- tabIndex: disabled ? null : 0,
291
+ tabIndex: disabled ? undefined : 0,
290
292
  'aria-orientation': vertical ? 'vertical' : 'horizontal',
291
293
  'aria-disabled': disabled,
292
294
  'aria-valuemax': max,
@@ -322,8 +324,8 @@ var RangeSlider = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
322
324
 
323
325
  RangeSlider.displayName = 'RangeSlider';
324
326
  RangeSlider.propTypes = (0, _extends2.default)({}, _Slider.sliderPropTypes, {
325
- value: _propTypes.default.arrayOf(_propTypes.default.number),
326
- defaultValue: _propTypes.default.arrayOf(_propTypes.default.number)
327
+ value: (0, _propTypeChecker.tupleType)(_propTypes.default.number.isRequired, _propTypes.default.number.isRequired),
328
+ defaultValue: (0, _propTypeChecker.tupleType)(_propTypes.default.number.isRequired, _propTypes.default.number.isRequired)
327
329
  });
328
330
  var _default = RangeSlider;
329
331
  exports.default = _default;
@@ -11,6 +11,8 @@ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends")
11
11
 
12
12
  var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutPropertiesLoose"));
13
13
 
14
+ var _isNil2 = _interopRequireDefault(require("lodash/isNil"));
15
+
14
16
  var _react = _interopRequireWildcard(require("react"));
15
17
 
16
18
  var _propTypes = _interopRequireDefault(require("prop-types"));
@@ -47,8 +49,8 @@ var Character = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
47
49
  prefix = _useClassNames.prefix,
48
50
  withClassPrefix = _useClassNames.withClassPrefix;
49
51
 
50
- var beforeRef = (0, _react.useRef)();
51
- var classes = merge(className, withClassPrefix(characterStatus[status]));
52
+ var beforeRef = (0, _react.useRef)(null);
53
+ var classes = merge(className, withClassPrefix(!(0, _isNil2.default)(status) && characterStatus[status]));
52
54
  var handleMouseMove = (0, _react.useCallback)(function (event) {
53
55
  onMouseMove === null || onMouseMove === void 0 ? void 0 : onMouseMove(getKey(beforeRef.current, event.target), event);
54
56
  }, [onMouseMove]);
package/cjs/Rate/Rate.js CHANGED
@@ -43,7 +43,8 @@ var Rate = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
43
43
  _props$size = props.size,
44
44
  size = _props$size === void 0 ? 'md' : _props$size,
45
45
  color = props.color,
46
- allowHalf = props.allowHalf,
46
+ _props$allowHalf = props.allowHalf,
47
+ allowHalf = _props$allowHalf === void 0 ? false : _props$allowHalf,
47
48
  valueProp = props.value,
48
49
  _props$defaultValue = props.defaultValue,
49
50
  defaultValue = _props$defaultValue === void 0 ? 0 : _props$defaultValue,
@@ -53,7 +53,7 @@ var Ripple = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
53
53
  withClassPrefix = _useClassNames.withClassPrefix;
54
54
 
55
55
  var classes = merge(className, prefix('pond'));
56
- var triggerRef = (0, _react.useRef)();
56
+ var triggerRef = (0, _react.useRef)(null);
57
57
 
58
58
  var _useState = (0, _react.useState)(false),
59
59
  rippling = _useState[0],
@@ -1,10 +1,8 @@
1
1
  import React from 'react';
2
2
  import { PickerLocale } from '../locales';
3
- import { PickerComponent } from '../Picker';
4
3
  import { FormControlPickerProps, ItemDataType } from '../@types/common';
5
4
  import { ListProps } from 'react-virtualized/dist/commonjs/List';
6
- export declare type ValueType = number | string;
7
- export interface SelectProps<T = ValueType> {
5
+ export interface SelectProps<T> {
8
6
  /** Set group condition key in data */
9
7
  groupBy?: string;
10
8
  /** Whether dispaly search input box */
@@ -37,7 +35,16 @@ export interface SelectProps<T = ValueType> {
37
35
  /** Called when clean */
38
36
  onClean?: (event: React.SyntheticEvent) => void;
39
37
  }
40
- export interface SelectPickerProps<T = ValueType> extends FormControlPickerProps<T, PickerLocale, ItemDataType>, SelectProps<T> {
38
+ export interface MultipleSelectProps<T> extends Omit<SelectProps<T>, 'renderValue'> {
39
+ /** Custom render selected items */
40
+ renderValue?: (value: T[], item: ItemDataType<T>[], selectedElement: React.ReactNode) => React.ReactNode;
41
+ }
42
+ export interface SelectPickerProps<T> extends FormControlPickerProps<T, PickerLocale, ItemDataType<T>>, SelectProps<T> {
43
+ }
44
+ export interface SelectPickerComponent {
45
+ <T>(props: SelectPickerProps<T>): JSX.Element | null;
46
+ displayName?: string;
47
+ propTypes?: React.WeakValidationMap<SelectPickerProps<any>>;
41
48
  }
42
- declare const SelectPicker: PickerComponent<SelectPickerProps>;
49
+ declare const SelectPicker: SelectPickerComponent;
43
50
  export default SelectPicker;
@@ -90,17 +90,17 @@ var SelectPicker = /*#__PURE__*/_react.default.forwardRef(function (props, ref)
90
90
  renderMenuItem = props.renderMenuItem,
91
91
  renderExtraFooter = props.renderExtraFooter,
92
92
  rest = (0, _objectWithoutPropertiesLoose2.default)(props, ["as", "appearance", "data", "valueKey", "labelKey", "value", "classPrefix", "placeholder", "defaultValue", "disabled", "cleanable", "placement", "menuClassName", "menuAutoWidth", "menuMaxHeight", "menuStyle", "groupBy", "locale", "toggleAs", "style", "searchable", "disabledItemValues", "virtualized", "listProps", "id", "onGroupTitleClick", "searchBy", "onEntered", "onExited", "onClean", "onChange", "onSelect", "onSearch", "onClose", "onOpen", "sort", "renderValue", "renderMenu", "renderMenuGroup", "renderMenuItem", "renderExtraFooter"]);
93
- var triggerRef = (0, _react.useRef)();
94
- var targetRef = (0, _react.useRef)();
95
- var overlayRef = (0, _react.useRef)();
96
- var searchInputRef = (0, _react.useRef)();
93
+ var triggerRef = (0, _react.useRef)(null);
94
+ var targetRef = (0, _react.useRef)(null);
95
+ var overlayRef = (0, _react.useRef)(null);
96
+ var searchInputRef = (0, _react.useRef)(null);
97
97
 
98
98
  var _useCustom = (0, _utils.useCustom)('Picker', overrideLocale),
99
99
  locale = _useCustom.locale;
100
100
 
101
- var _useControlled = (0, _utils.useControlled)(valueProp, defaultValue),
102
- value = _useControlled[0],
103
- setValue = _useControlled[1]; // Used to hover the focus item when trigger `onKeydown`
101
+ var _ref = (0, _utils.useControlled)(valueProp, defaultValue),
102
+ value = _ref[0],
103
+ setValue = _ref[1]; // Used to hover the focus item when trigger `onKeydown`
104
104
 
105
105
 
106
106
  var _useFocusItemValue = (0, _Picker.useFocusItemValue)(value, {
@@ -327,7 +327,7 @@ var SelectPicker = /*#__PURE__*/_react.default.forwardRef(function (props, ref)
327
327
  disabled: disabled,
328
328
  cleanable: cleanable && !disabled,
329
329
  hasValue: hasValue,
330
- inputValue: value,
330
+ inputValue: value !== null && value !== void 0 ? value : '',
331
331
  active: active,
332
332
  placement: placement
333
333
  }), selectedElement || (locale === null || locale === void 0 ? void 0 : locale.placeholder))));
@@ -1,3 +1,3 @@
1
1
  import SelectPicker from './SelectPicker';
2
- export type { SelectProps, SelectPickerProps } from './SelectPicker';
2
+ export type { SelectProps, MultipleSelectProps, SelectPickerProps } from './SelectPicker';
3
3
  export default SelectPicker;
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,62 @@
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 _SelectPicker = _interopRequireDefault(require("../SelectPicker"));
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(_SelectPicker.default, {
19
+ data: numberValuedData,
20
+ value: 1
21
+ }); // @ts-expect-error should not accept string value
22
+
23
+
24
+ /*#__PURE__*/
25
+ _react.default.createElement(_SelectPicker.default, {
26
+ data: numberValuedData,
27
+ value: "1"
28
+ });
29
+
30
+ /*#__PURE__*/
31
+ _react.default.createElement(_SelectPicker.default, {
32
+ data: numberValuedData,
33
+ onChange: function onChange(newValue) {
34
+ (0, _tsExpect.expectType)(newValue);
35
+ }
36
+ });
37
+
38
+ var stringValuedData = [{
39
+ label: 'One',
40
+ value: 'One'
41
+ }];
42
+
43
+ /*#__PURE__*/
44
+ _react.default.createElement(_SelectPicker.default, {
45
+ data: stringValuedData,
46
+ value: "1"
47
+ }); // @ts-expect-error should not accept number value
48
+
49
+
50
+ /*#__PURE__*/
51
+ _react.default.createElement(_SelectPicker.default, {
52
+ data: stringValuedData,
53
+ value: 1
54
+ });
55
+
56
+ /*#__PURE__*/
57
+ _react.default.createElement(_SelectPicker.default, {
58
+ data: stringValuedData,
59
+ onChange: function onChange(newValue) {
60
+ (0, _tsExpect.expectType)(newValue);
61
+ }
62
+ });
@@ -4,7 +4,7 @@
4
4
  * Ref: https://developer.mozilla.org/zh-CN/docs/Web/API/Node
5
5
  */
6
6
  export declare class Node {
7
- id: string;
7
+ id: string | null;
8
8
  nodeValue: string | null;
9
9
  parent: string | null;
10
10
  parentNode: Node | null;
@@ -23,16 +23,16 @@ export interface SidenavProps<T = string> extends WithAsProps {
23
23
  * Select the callback function for the menu
24
24
  * @deprecated Use <Sidenav onSelect> instead
25
25
  */
26
- onSelect?: (eventKey: T, event: React.SyntheticEvent) => void;
26
+ onSelect?: (eventKey: T | undefined, event: React.SyntheticEvent) => void;
27
27
  }
28
- export declare const SidenavContext: React.Context<SidenavContextType<string>>;
28
+ export declare const SidenavContext: React.Context<SidenavContextType<string> | null>;
29
29
  export interface SidenavContextType<T = string> {
30
30
  openKeys: T[];
31
- activeKey: T;
31
+ activeKey: T | null;
32
32
  sidenav: boolean;
33
33
  expanded: boolean;
34
34
  onOpenChange: (eventKey: T, event: React.SyntheticEvent) => void;
35
- onSelect?: (eventKey: T, event: React.SyntheticEvent) => void;
35
+ onSelect?: (eventKey: T | undefined, event: React.SyntheticEvent) => void;
36
36
  }
37
37
  export interface SidenavComponent extends RsRefForwardingComponent<'div', SidenavProps> {
38
38
  Header: typeof SidenavHeader;
@@ -34,6 +34,7 @@ var _deprecatePropType = _interopRequireDefault(require("../utils/deprecatePropT
34
34
  var SidenavContext = /*#__PURE__*/_react.default.createContext(null);
35
35
 
36
36
  exports.SidenavContext = SidenavContext;
37
+ var emptyArray = [];
37
38
 
38
39
  var Sidenav = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
39
40
  var _props$as = props.as,
@@ -45,8 +46,10 @@ var Sidenav = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
45
46
  appearance = _props$appearance === void 0 ? 'default' : _props$appearance,
46
47
  _props$expanded = props.expanded,
47
48
  expanded = _props$expanded === void 0 ? true : _props$expanded,
48
- activeKey = props.activeKey,
49
- defaultOpenKeys = props.defaultOpenKeys,
49
+ _props$activeKey = props.activeKey,
50
+ activeKey = _props$activeKey === void 0 ? null : _props$activeKey,
51
+ _props$defaultOpenKey = props.defaultOpenKeys,
52
+ defaultOpenKeys = _props$defaultOpenKey === void 0 ? emptyArray : _props$defaultOpenKey,
50
53
  openKeysProp = props.openKeys,
51
54
  onSelect = props.onSelect,
52
55
  onOpenChange = props.onOpenChange,
@@ -60,14 +60,8 @@ var SidenavDropdown = /*#__PURE__*/_react.default.forwardRef(function (props, re
60
60
  openProp = props.open,
61
61
  onToggle = props.onToggle,
62
62
  rest = (0, _objectWithoutPropertiesLoose2.default)(props, ["as", "title", "children", "className", "menuStyle", "disabled", "renderTitle", "renderToggle", "classPrefix", "placement", "toggleClassName", "icon", "eventKey", "toggleAs", "noCaret", "style", "onOpen", "onClose", "open", "onToggle"]);
63
-
64
- var _useContext = (0, _react.useContext)(_Sidenav.SidenavContext),
65
- _useContext$openKeys = _useContext.openKeys,
66
- openKeys = _useContext$openKeys === void 0 ? [] : _useContext$openKeys,
67
- onOpenChange = _useContext.onOpenChange;
68
-
69
- var _useContext2 = (0, _react.useContext)(_DropdownContext.default),
70
- hasSelectedItem = _useContext2.hasSelectedItem;
63
+ var sidenavContext = (0, _react.useContext)(_Sidenav.SidenavContext);
64
+ var dropdownContext = (0, _react.useContext)(_DropdownContext.default);
71
65
 
72
66
  var _useClassNames = (0, _utils.useClassNames)(classPrefix),
73
67
  merge = _useClassNames.merge,
@@ -75,6 +69,15 @@ var SidenavDropdown = /*#__PURE__*/_react.default.forwardRef(function (props, re
75
69
 
76
70
  var internalId = (0, _useInternalId.default)('SidenavDropdown');
77
71
  var uniqueKey = eventKey !== null && eventKey !== void 0 ? eventKey : internalId;
72
+
73
+ if (!sidenavContext || !dropdownContext) {
74
+ throw new Error('<SidenavDropdown> component is not supposed to be used standalone. Use <Dropdown> inside <Sidenav> instead.');
75
+ }
76
+
77
+ var _sidenavContext$openK = sidenavContext.openKeys,
78
+ openKeys = _sidenavContext$openK === void 0 ? [] : _sidenavContext$openK,
79
+ onOpenChange = sidenavContext.onOpenChange;
80
+ var hasSelectedItem = dropdownContext.hasSelectedItem;
78
81
  var handleToggleDisclosure = (0, _react.useCallback)(function (open, event) {
79
82
  if (open) {
80
83
  onClose === null || onClose === void 0 ? void 0 : onClose();
@@ -52,13 +52,16 @@ var SidenavDropdownItem = /*#__PURE__*/_react.default.forwardRef(function (props
52
52
  onClick = props.onClick,
53
53
  onSelect = props.onSelect,
54
54
  rest = (0, _objectWithoutPropertiesLoose2.default)(props, ["as", "active", "children", "disabled", "divider", "panel", "className", "style", "classPrefix", "icon", "eventKey", "onClick", "onSelect"]);
55
+ var sidenavContext = (0, _react.useContext)(_Sidenav.SidenavContext);
56
+ var dropdown = (0, _react.useContext)(_DropdownContext.default);
55
57
 
56
- var _useContext = (0, _react.useContext)(_Sidenav.SidenavContext),
57
- activeKey = _useContext.activeKey,
58
- onSidenavSelect = _useContext.onSelect;
58
+ if (!sidenavContext || !dropdown) {
59
+ throw new Error('<SidenavDropdownItem> component is not supposed to be used standalone. Use <Dropdown.Item> within <Sidenav> instead.');
60
+ }
59
61
 
62
+ var activeKey = sidenavContext.activeKey,
63
+ onSidenavSelect = sidenavContext.onSelect;
60
64
  var nav = (0, _react.useContext)(_NavContext.default);
61
- var dropdown = (0, _react.useContext)(_DropdownContext.default);
62
65
 
63
66
  var _useClassNames = (0, _utils.useClassNames)(classPrefix),
64
67
  merge = _useClassNames.merge,
@@ -72,9 +75,11 @@ var SidenavDropdownItem = /*#__PURE__*/_react.default.forwardRef(function (props
72
75
  disabled: disabled
73
76
  }));
74
77
  var handleClick = (0, _react.useCallback)(function (event) {
78
+ var _dropdown$onSelect;
79
+
75
80
  if (disabled) return;
76
81
  onSelect === null || onSelect === void 0 ? void 0 : onSelect(eventKey, event);
77
- dropdown === null || dropdown === void 0 ? void 0 : dropdown.onSelect(eventKey, event);
82
+ (_dropdown$onSelect = dropdown.onSelect) === null || _dropdown$onSelect === void 0 ? void 0 : _dropdown$onSelect.call(dropdown, eventKey, event);
78
83
  onSidenavSelect === null || onSidenavSelect === void 0 ? void 0 : onSidenavSelect(eventKey, event);
79
84
  }, [disabled, onSelect, onSidenavSelect, eventKey, dropdown]);
80
85
  var menuitemEventHandlers = {
@@ -68,12 +68,16 @@ var SidenavDropdownMenu = /*#__PURE__*/_react.default.forwardRef(function (props
68
68
  withClassPrefix = _useClassNames.withClassPrefix,
69
69
  prefix = _useClassNames.prefix;
70
70
 
71
- var _useContext = (0, _react.useContext)(_Sidenav.SidenavContext),
72
- _useContext$openKeys = _useContext.openKeys,
73
- openKeys = _useContext$openKeys === void 0 ? [] : _useContext$openKeys,
74
- onOpenChange = _useContext.onOpenChange,
75
- onSidenavSelect = _useContext.onSelect;
71
+ var sidenavContext = (0, _react.useContext)(_Sidenav.SidenavContext);
76
72
 
73
+ if (!sidenavContext) {
74
+ throw new Error('<SidenavDropdownMenu> component is not supposed to be used standalone. Use <Dropdown.Item> inside <Sidenav> instead.');
75
+ }
76
+
77
+ var _sidenavContext$openK = sidenavContext.openKeys,
78
+ openKeys = _sidenavContext$openK === void 0 ? [] : _sidenavContext$openK,
79
+ onOpenChange = sidenavContext.onOpenChange,
80
+ onSidenavSelect = sidenavContext.onSelect;
77
81
  var handleClick = (0, _react.useCallback)(function (event) {
78
82
  if (disabled) return;
79
83
  onSelect === null || onSelect === void 0 ? void 0 : onSelect(eventKey, event);
@@ -11,7 +11,7 @@ export interface SidenavItemProps<T = any> extends WithAsProps, Omit<React.HTMLA
11
11
  /** The value of the current option */
12
12
  eventKey?: T;
13
13
  /** Selected callback function */
14
- onSelect?: (eventKey: T, event: React.MouseEvent<HTMLElement>) => void;
14
+ onSelect?: (eventKey: T, event: React.MouseEvent) => void;
15
15
  divider?: boolean;
16
16
  panel?: boolean;
17
17
  }
@@ -50,6 +50,10 @@ var SidenavItem = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
50
50
  rest = (0, _objectWithoutPropertiesLoose2.default)(props, ["as", "active", "children", "className", "disabled", "classPrefix", "icon", "eventKey", "style", "onClick", "onSelect", "divider", "panel"]);
51
51
  var sidenav = (0, _react.useContext)(_Sidenav.SidenavContext);
52
52
 
53
+ if (!sidenav) {
54
+ throw new Error('<SidenavItem> component is not supposed to be used standalone. Use <Nav.Item> inside <Sidenav> instead.');
55
+ }
56
+
53
57
  var _useContext = (0, _react.useContext)(_NavContext.default),
54
58
  activeKey = _useContext.activeKey,
55
59
  onSelectFromNav = _useContext.onSelect;
@@ -1,11 +1,11 @@
1
1
  import React from 'react';
2
2
  import { WithAsProps, RsRefForwardingComponent } from '../@types/common';
3
3
  export interface GraduatedProps extends WithAsProps {
4
- step?: number;
5
- min?: number;
6
- max?: number;
7
- count?: number;
8
- value?: number | number[];
4
+ step: number;
5
+ min: number;
6
+ max: number;
7
+ count: number;
8
+ value: number | number[];
9
9
  renderMark?: (mark: number) => React.ReactNode;
10
10
  }
11
11
  declare const Graduated: RsRefForwardingComponent<'div', GraduatedProps>;
@@ -7,7 +7,7 @@ export interface HandleProps extends WithAsProps, React.HTMLAttributes<HTMLDivEl
7
7
  rtl?: boolean;
8
8
  position?: number;
9
9
  value?: number;
10
- renderTooltip?: (value: number) => React.ReactNode;
10
+ renderTooltip?: (value: number | undefined) => React.ReactNode;
11
11
  onDragMove?: (event: React.DragEvent, dataset?: DOMStringMap) => void;
12
12
  onDragStart?: (event: React.MouseEvent) => void;
13
13
  onDragEnd?: (event: React.MouseEvent, dataset?: DOMStringMap) => void;
@@ -58,7 +58,7 @@ var Handle = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
58
58
  active = _useState[0],
59
59
  setActive = _useState[1];
60
60
 
61
- var rootRef = (0, _react.useRef)();
61
+ var rootRef = (0, _react.useRef)(null);
62
62
  var horizontalKey = rtl ? 'right' : 'left';
63
63
  var direction = vertical ? 'bottom' : horizontalKey;
64
64
  var styles = (0, _extends3.default)({}, style, (_extends2 = {}, _extends2[direction] = position + "%", _extends2));
@@ -70,7 +70,7 @@ var Handle = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
70
70
  var handleClasses = merge(className, prefix('handle'), {
71
71
  active: active
72
72
  });
73
- var tooltipRef = (0, _react.useRef)();
73
+ var tooltipRef = (0, _react.useRef)(null);
74
74
  var mouseMoveTracker = (0, _react.useRef)();
75
75
  var releaseMouseMoves = (0, _react.useCallback)(function () {
76
76
  var _mouseMoveTracker$cur;
@@ -90,20 +90,24 @@ var Handle = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
90
90
  var _mouseMoveTracker$cur2;
91
91
 
92
92
  if ((_mouseMoveTracker$cur2 = mouseMoveTracker.current) !== null && _mouseMoveTracker$cur2 !== void 0 && _mouseMoveTracker$cur2.isDragging()) {
93
- onDragMove === null || onDragMove === void 0 ? void 0 : onDragMove(event, rootRef.current.dataset);
93
+ var _rootRef$current;
94
+
95
+ onDragMove === null || onDragMove === void 0 ? void 0 : onDragMove(event, (_rootRef$current = rootRef.current) === null || _rootRef$current === void 0 ? void 0 : _rootRef$current.dataset);
94
96
  setTooltipPosition();
95
97
  }
96
98
  }, [onDragMove, setTooltipPosition]);
97
99
  var handleDragEnd = (0, _react.useCallback)(function (event) {
100
+ var _rootRef$current2;
101
+
98
102
  setActive(false);
99
103
  releaseMouseMoves();
100
- onDragEnd === null || onDragEnd === void 0 ? void 0 : onDragEnd(event, rootRef.current.dataset);
104
+ onDragEnd === null || onDragEnd === void 0 ? void 0 : onDragEnd(event, (_rootRef$current2 = rootRef.current) === null || _rootRef$current2 === void 0 ? void 0 : _rootRef$current2.dataset);
101
105
  }, [onDragEnd, releaseMouseMoves]);
102
106
  var getMouseMoveTracker = (0, _react.useCallback)(function () {
103
107
  return mouseMoveTracker.current || new _DOMMouseMoveTracker.default(handleDragMove, handleDragEnd, document.body);
104
108
  }, [handleDragEnd, handleDragMove]);
105
109
  var handleMouseDown = (0, _react.useCallback)(function (event) {
106
- var _mouseMoveTracker$cur3, _rootRef$current;
110
+ var _mouseMoveTracker$cur3, _rootRef$current3;
107
111
 
108
112
  if (disabled) {
109
113
  return;
@@ -111,7 +115,7 @@ var Handle = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
111
115
 
112
116
  mouseMoveTracker.current = getMouseMoveTracker();
113
117
  (_mouseMoveTracker$cur3 = mouseMoveTracker.current) === null || _mouseMoveTracker$cur3 === void 0 ? void 0 : _mouseMoveTracker$cur3.captureMouseMoves(event);
114
- (_rootRef$current = rootRef.current) === null || _rootRef$current === void 0 ? void 0 : _rootRef$current.focus();
118
+ (_rootRef$current3 = rootRef.current) === null || _rootRef$current3 === void 0 ? void 0 : _rootRef$current3.focus();
115
119
  setActive(true);
116
120
  onDragStart === null || onDragStart === void 0 ? void 0 : onDragStart(event);
117
121
  }, [disabled, getMouseMoveTracker, onDragStart]);
@@ -1,7 +1,7 @@
1
1
  import React from 'react';
2
2
  import { WithAsProps, RsRefForwardingComponent } from '../@types/common';
3
3
  export interface MarkProps extends WithAsProps {
4
- mark?: number;
4
+ mark: number;
5
5
  last?: boolean;
6
6
  renderMark?: (mark: number) => React.ReactNode;
7
7
  }
@@ -45,7 +45,7 @@ export interface SliderProps<T = number> extends WithAsProps, FormControlBasePro
45
45
  /** Customize labels on the render ruler */
46
46
  renderMark?: (mark: number) => React.ReactNode;
47
47
  /** Customize the content of the rendered Tooltip. */
48
- renderTooltip?: (value: number) => React.ReactNode;
48
+ renderTooltip?: (value: number | undefined) => React.ReactNode;
49
49
  /** Accepts a function which returns a string value that provides a user-friendly name for the current value of the slider. */
50
50
  getAriaValueText?: (value: number, eventKey?: 'start' | 'end') => string;
51
51
  /** Callback function that is fired when the mouseup is triggered. */
@@ -96,7 +96,7 @@ var Slider = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
96
96
  onChange = props.onChange,
97
97
  onChangeCommitted = props.onChangeCommitted,
98
98
  rest = (0, _objectWithoutPropertiesLoose2.default)(props, ["aria-label", "aria-labelledby", "aria-valuetext", "as", "graduated", "className", "barClassName", "progress", "vertical", "disabled", "readOnly", "plaintext", "classPrefix", "min", "handleClassName", "handleStyle", "handleTitle", "tooltip", "step", "defaultValue", "value", "max", "getAriaValueText", "renderTooltip", "renderMark", "onChange", "onChangeCommitted"]);
99
- var barRef = (0, _react.useRef)();
99
+ var barRef = (0, _react.useRef)(null);
100
100
 
101
101
  var _useClassNames = (0, _utils.useClassNames)(classPrefix),
102
102
  merge = _useClassNames.merge,
@@ -265,7 +265,7 @@ var Slider = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
265
265
  onDragMove: handleChangeValue,
266
266
  onKeyDown: handleKeyDown,
267
267
  onDragEnd: handleChangeCommitted,
268
- tabIndex: disabled || readOnly ? null : 0,
268
+ tabIndex: disabled || readOnly ? undefined : 0,
269
269
  "aria-orientation": vertical ? 'vertical' : 'horizontal',
270
270
  "aria-valuenow": value,
271
271
  "aria-disabled": disabled,
@@ -1,2 +1,3 @@
1
1
  export declare const precisionMath: (value: any) => number;
2
- export declare const checkValue: (value: number, min: number, max: number) => number;
2
+ declare function checkValue<T extends number | undefined>(value: T, min: number, max: number): T extends undefined ? undefined : number;
3
+ export { checkValue };
@@ -1,7 +1,8 @@
1
1
  "use strict";
2
2
 
3
3
  exports.__esModule = true;
4
- exports.checkValue = exports.precisionMath = void 0;
4
+ exports.checkValue = checkValue;
5
+ exports.precisionMath = void 0;
5
6
 
6
7
  var precisionMath = function precisionMath(value) {
7
8
  return parseFloat(value.toFixed(10));
@@ -9,7 +10,7 @@ var precisionMath = function precisionMath(value) {
9
10
 
10
11
  exports.precisionMath = precisionMath;
11
12
 
12
- var checkValue = function checkValue(value, min, max) {
13
+ function checkValue(value, min, max) {
13
14
  if (typeof value === 'undefined') {
14
15
  return value;
15
16
  }
@@ -23,6 +24,4 @@ var checkValue = function checkValue(value, min, max) {
23
24
  }
24
25
 
25
26
  return value;
26
- };
27
-
28
- exports.checkValue = checkValue;
27
+ }
@@ -0,0 +1,26 @@
1
+ import React from 'react';
2
+ import { WithAsProps } from '../@types/common';
3
+ export interface StackProps extends WithAsProps {
4
+ /**
5
+ * The direction of the children in the stack.
6
+ */
7
+ direction?: 'row' | 'row-reverse' | 'column' | 'column-reverse';
8
+ /**
9
+ * Define the alignment of the children in the stack on the cross axis
10
+ */
11
+ alignItems?: 'flex-start' | 'center' | 'flex-end' | 'stretch' | 'baseline';
12
+ /**
13
+ * Define the alignment of the children in the stack on the inline axis
14
+ */
15
+ justifyContent?: 'flex-start' | 'center' | 'flex-end' | 'space-between' | 'space-around';
16
+ /** Define the spacing between immediate children */
17
+ spacing?: number | string | (number | string)[];
18
+ /** Add an element between each child */
19
+ divider?: React.ReactNode;
20
+ /**
21
+ * Define whether the children in the stack are forced onto one line or can wrap onto multiple lines
22
+ */
23
+ wrap?: boolean;
24
+ }
25
+ declare const Stack: React.ForwardRefExoticComponent<StackProps & React.RefAttributes<HTMLDivElement>>;
26
+ export default Stack;