rsuite 5.40.0 → 5.42.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (894) hide show
  1. package/CHANGELOG.md +30 -0
  2. package/Navbar/styles/index.less +1 -1
  3. package/SelectPicker/styles/index.less +4 -8
  4. package/cjs/@types/common.js +1 -0
  5. package/cjs/@types/utils.js +12 -2
  6. package/cjs/Affix/Affix.js +39 -59
  7. package/cjs/Affix/index.js +1 -3
  8. package/cjs/Animation/Bounce.js +4 -13
  9. package/cjs/Animation/Collapse.js +19 -40
  10. package/cjs/Animation/Fade.js +6 -15
  11. package/cjs/Animation/Slide.js +6 -15
  12. package/cjs/Animation/Transition.js +16 -83
  13. package/cjs/Animation/index.js +1 -7
  14. package/cjs/Animation/utils.js +1 -6
  15. package/cjs/AutoComplete/AutoComplete.js +55 -90
  16. package/cjs/AutoComplete/index.js +1 -3
  17. package/cjs/AutoComplete/utils.js +1 -9
  18. package/cjs/Avatar/Avatar.js +18 -32
  19. package/cjs/Avatar/index.js +1 -3
  20. package/cjs/AvatarGroup/AvatarGroup.js +13 -27
  21. package/cjs/AvatarGroup/index.js +1 -3
  22. package/cjs/Badge/Badge.js +14 -27
  23. package/cjs/Badge/index.js +1 -3
  24. package/cjs/Breadcrumb/Breadcrumb.js +19 -41
  25. package/cjs/Breadcrumb/BreadcrumbItem.js +14 -26
  26. package/cjs/Breadcrumb/index.js +1 -3
  27. package/cjs/Button/Button.js +22 -40
  28. package/cjs/Button/index.js +1 -3
  29. package/cjs/ButtonGroup/ButtonGroup.js +15 -26
  30. package/cjs/ButtonGroup/ButtonGroupContext.js +1 -4
  31. package/cjs/ButtonGroup/index.js +1 -4
  32. package/cjs/ButtonToolbar/ButtonToolbar.js +10 -20
  33. package/cjs/ButtonToolbar/index.js +1 -3
  34. package/cjs/Calendar/Calendar.js +24 -43
  35. package/cjs/Calendar/CalendarBody.js +14 -28
  36. package/cjs/Calendar/CalendarContainer.js +46 -69
  37. package/cjs/Calendar/CalendarContext.js +1 -6
  38. package/cjs/Calendar/CalendarHeader.js +32 -59
  39. package/cjs/Calendar/MonthDropdown.js +22 -45
  40. package/cjs/Calendar/MonthDropdownItem.js +16 -31
  41. package/cjs/Calendar/Table.js +10 -21
  42. package/cjs/Calendar/TableHeaderRow.js +11 -25
  43. package/cjs/Calendar/TableRow.js +35 -66
  44. package/cjs/Calendar/TimeDropdown.js +24 -64
  45. package/cjs/Calendar/index.js +1 -8
  46. package/cjs/Calendar/types.js +1 -0
  47. package/cjs/Calendar/useCalendarDate.js +3 -13
  48. package/cjs/Calendar/useCalendarState.js +3 -8
  49. package/cjs/Carousel/Carousel.js +40 -65
  50. package/cjs/Carousel/index.js +1 -3
  51. package/cjs/Cascader/Cascader.js +126 -197
  52. package/cjs/Cascader/DropdownMenu.js +33 -65
  53. package/cjs/Cascader/index.js +1 -3
  54. package/cjs/Cascader/utils.js +13 -24
  55. package/cjs/CheckPicker/CheckPicker.js +105 -156
  56. package/cjs/CheckPicker/index.js +1 -3
  57. package/cjs/CheckTree/index.js +1 -8
  58. package/cjs/CheckTreePicker/CheckTreeNode.js +28 -54
  59. package/cjs/CheckTreePicker/CheckTreePicker.js +165 -247
  60. package/cjs/CheckTreePicker/index.js +1 -3
  61. package/cjs/CheckTreePicker/utils.js +12 -52
  62. package/cjs/Checkbox/Checkbox.js +48 -77
  63. package/cjs/Checkbox/index.js +1 -3
  64. package/cjs/CheckboxGroup/CheckboxGroup.js +20 -38
  65. package/cjs/CheckboxGroup/CheckboxGroupContext.js +1 -4
  66. package/cjs/CheckboxGroup/index.js +1 -4
  67. package/cjs/CloseButton/CloseButton.js +10 -20
  68. package/cjs/CloseButton/index.js +1 -3
  69. package/cjs/Col/Col.js +10 -23
  70. package/cjs/Col/index.js +1 -3
  71. package/cjs/Container/Container.js +11 -24
  72. package/cjs/Container/index.js +1 -3
  73. package/cjs/Content/Content.js +1 -3
  74. package/cjs/Content/index.js +1 -3
  75. package/cjs/CustomProvider/CustomProvider.js +13 -28
  76. package/cjs/CustomProvider/FormattedDate.js +3 -9
  77. package/cjs/CustomProvider/index.js +1 -6
  78. package/cjs/DOMHelper/index.js +1 -7
  79. package/cjs/DOMHelper/isElement.js +1 -2
  80. package/cjs/DatePicker/DatePicker.js +108 -161
  81. package/cjs/DatePicker/PredefinedRanges.js +12 -29
  82. package/cjs/DatePicker/Toolbar.js +20 -36
  83. package/cjs/DatePicker/index.js +1 -3
  84. package/cjs/DatePicker/types.js +1 -0
  85. package/cjs/DatePicker/utils.js +5 -13
  86. package/cjs/DateRangePicker/Calendar.js +18 -28
  87. package/cjs/DateRangePicker/DateRangePicker.js +128 -207
  88. package/cjs/DateRangePicker/DateRangePickerContext.js +1 -6
  89. package/cjs/DateRangePicker/disabledDateUtils.js +9 -32
  90. package/cjs/DateRangePicker/index.js +1 -3
  91. package/cjs/DateRangePicker/types.js +1 -0
  92. package/cjs/DateRangePicker/utils.js +7 -20
  93. package/cjs/Disclosure/Disclosure.js +14 -34
  94. package/cjs/Disclosure/DisclosureButton.js +4 -12
  95. package/cjs/Disclosure/DisclosureContent.js +1 -5
  96. package/cjs/Disclosure/DisclosureContext.js +1 -6
  97. package/cjs/Disclosure/index.js +1 -3
  98. package/cjs/Disclosure/useDisclosureContext.js +1 -6
  99. package/cjs/Divider/Divider.js +11 -20
  100. package/cjs/Divider/index.js +1 -3
  101. package/cjs/Drawer/Drawer.js +10 -27
  102. package/cjs/Drawer/index.js +1 -3
  103. package/cjs/Dropdown/Dropdown.js +35 -68
  104. package/cjs/Dropdown/DropdownContext.js +1 -4
  105. package/cjs/Dropdown/DropdownItem.js +22 -49
  106. package/cjs/Dropdown/DropdownMenu.js +36 -63
  107. package/cjs/Dropdown/DropdownSeparator.js +8 -17
  108. package/cjs/Dropdown/DropdownState.js +1 -10
  109. package/cjs/Dropdown/DropdownToggle.js +17 -29
  110. package/cjs/Dropdown/index.js +1 -3
  111. package/cjs/Dropdown/useRenderDropdownItem.js +1 -5
  112. package/cjs/FlexboxGrid/FlexboxGrid.js +12 -22
  113. package/cjs/FlexboxGrid/FlexboxGridItem.js +12 -22
  114. package/cjs/FlexboxGrid/index.js +1 -3
  115. package/cjs/Footer/Footer.js +1 -3
  116. package/cjs/Footer/index.js +1 -3
  117. package/cjs/Form/Form.js +38 -79
  118. package/cjs/Form/FormContext.d.ts +2 -3
  119. package/cjs/Form/FormContext.js +1 -8
  120. package/cjs/Form/index.js +1 -4
  121. package/cjs/Form/useFormClassNames.js +11 -14
  122. package/cjs/Form/useSchemaModel.js +2 -6
  123. package/cjs/FormControl/FormControl.js +48 -84
  124. package/cjs/FormControl/index.js +1 -3
  125. package/cjs/FormControl/useRegisterModel.js +1 -3
  126. package/cjs/FormControlLabel/FormControlLabel.js +10 -22
  127. package/cjs/FormControlLabel/index.js +1 -3
  128. package/cjs/FormErrorMessage/FormErrorMessage.js +12 -27
  129. package/cjs/FormErrorMessage/index.js +1 -3
  130. package/cjs/FormGroup/FormGroup.js +9 -21
  131. package/cjs/FormGroup/index.js +1 -3
  132. package/cjs/FormHelpText/FormHelpText.js +11 -28
  133. package/cjs/FormHelpText/index.js +1 -3
  134. package/cjs/Grid/Grid.js +10 -19
  135. package/cjs/Grid/index.js +1 -3
  136. package/cjs/Header/Header.js +1 -3
  137. package/cjs/Header/index.js +1 -3
  138. package/cjs/IconButton/IconButton.js +11 -21
  139. package/cjs/IconButton/index.js +1 -3
  140. package/cjs/Input/Input.js +26 -43
  141. package/cjs/Input/index.js +1 -3
  142. package/cjs/InputGroup/InputGroup.js +23 -39
  143. package/cjs/InputGroup/InputGroupAddon.js +9 -18
  144. package/cjs/InputGroup/InputGroupButton.js +7 -17
  145. package/cjs/InputGroup/index.js +1 -3
  146. package/cjs/InputNumber/InputNumber.js +42 -88
  147. package/cjs/InputNumber/index.js +1 -3
  148. package/cjs/InputPicker/InputAutosize.js +17 -42
  149. package/cjs/InputPicker/InputPicker.d.ts +2 -0
  150. package/cjs/InputPicker/InputPicker.js +152 -251
  151. package/cjs/InputPicker/InputSearch.js +15 -28
  152. package/cjs/InputPicker/index.js +1 -3
  153. package/cjs/List/List.js +37 -51
  154. package/cjs/List/ListContext.js +1 -5
  155. package/cjs/List/ListItem.js +26 -40
  156. package/cjs/List/helper/AutoScroller.js +11 -21
  157. package/cjs/List/helper/useManager.js +1 -8
  158. package/cjs/List/helper/useSortHelper.js +58 -82
  159. package/cjs/List/helper/utils.js +6 -19
  160. package/cjs/List/index.js +1 -3
  161. package/cjs/Loader/Loader.js +17 -26
  162. package/cjs/Loader/index.js +1 -3
  163. package/cjs/MaskedInput/MaskedInput.js +2 -8
  164. package/cjs/MaskedInput/TextMask.js +14 -23
  165. package/cjs/MaskedInput/adjustCaretPosition.js +99 -70
  166. package/cjs/MaskedInput/conformToMask.js +79 -73
  167. package/cjs/MaskedInput/createTextMaskInputElement.js +65 -71
  168. package/cjs/MaskedInput/index.js +1 -3
  169. package/cjs/MaskedInput/types.js +1 -0
  170. package/cjs/MaskedInput/utilities.js +1 -8
  171. package/cjs/Menu/Menu.js +35 -79
  172. package/cjs/Menu/MenuContext.js +1 -8
  173. package/cjs/Menu/MenuItem.js +15 -26
  174. package/cjs/Menu/Menubar.js +13 -32
  175. package/cjs/Menu/index.js +1 -3
  176. package/cjs/Menu/useMenu.js +5 -34
  177. package/cjs/Message/Message.js +23 -45
  178. package/cjs/Message/index.js +1 -3
  179. package/cjs/Modal/Modal.js +70 -91
  180. package/cjs/Modal/ModalBody.js +11 -25
  181. package/cjs/Modal/ModalContext.js +1 -4
  182. package/cjs/Modal/ModalDialog.js +14 -26
  183. package/cjs/Modal/ModalFooter.js +1 -3
  184. package/cjs/Modal/ModalHeader.js +14 -29
  185. package/cjs/Modal/ModalTitle.js +9 -20
  186. package/cjs/Modal/index.js +1 -3
  187. package/cjs/Modal/utils.js +8 -19
  188. package/cjs/MultiCascader/DropdownMenu.js +38 -64
  189. package/cjs/MultiCascader/MultiCascader.js +129 -192
  190. package/cjs/MultiCascader/index.js +1 -3
  191. package/cjs/MultiCascader/utils.js +44 -106
  192. package/cjs/Nav/Nav.js +27 -69
  193. package/cjs/Nav/NavContext.js +1 -4
  194. package/cjs/Nav/NavDropdown.js +28 -60
  195. package/cjs/Nav/NavDropdownItem.js +20 -42
  196. package/cjs/Nav/NavDropdownMenu.js +26 -54
  197. package/cjs/Nav/NavDropdownToggle.js +12 -26
  198. package/cjs/Nav/NavItem.js +20 -39
  199. package/cjs/Nav/NavMenu.js +2 -28
  200. package/cjs/Nav/index.js +1 -3
  201. package/cjs/Navbar/Navbar.js +10 -23
  202. package/cjs/Navbar/NavbarBody.js +1 -6
  203. package/cjs/Navbar/NavbarBrand.js +1 -3
  204. package/cjs/Navbar/NavbarDropdown.js +25 -49
  205. package/cjs/Navbar/NavbarDropdownItem.js +18 -44
  206. package/cjs/Navbar/NavbarDropdownMenu.js +22 -51
  207. package/cjs/Navbar/NavbarDropdownToggle.js +12 -25
  208. package/cjs/Navbar/NavbarHeader.js +1 -6
  209. package/cjs/Navbar/NavbarItem.js +19 -35
  210. package/cjs/Navbar/index.js +1 -3
  211. package/cjs/Notification/Notification.js +20 -43
  212. package/cjs/Notification/index.js +1 -3
  213. package/cjs/Overlay/Modal.js +40 -79
  214. package/cjs/Overlay/ModalManager.js +1 -26
  215. package/cjs/Overlay/Overlay.js +28 -50
  216. package/cjs/Overlay/OverlayContext.js +1 -4
  217. package/cjs/Overlay/OverlayTrigger.js +67 -116
  218. package/cjs/Overlay/Position.js +25 -64
  219. package/cjs/Overlay/index.js +1 -3
  220. package/cjs/Overlay/positionUtils.js +25 -86
  221. package/cjs/Pagination/Pagination.js +30 -70
  222. package/cjs/Pagination/PaginationButton.js +15 -29
  223. package/cjs/Pagination/PaginationGroup.js +38 -63
  224. package/cjs/Pagination/index.js +1 -3
  225. package/cjs/Panel/Panel.js +37 -61
  226. package/cjs/Panel/index.js +1 -3
  227. package/cjs/PanelGroup/PanelGroup.js +16 -29
  228. package/cjs/PanelGroup/index.js +1 -3
  229. package/cjs/Picker/DropdownMenu.js +50 -93
  230. package/cjs/Picker/DropdownMenuCheckItem.js +22 -33
  231. package/cjs/Picker/DropdownMenuGroup.js +10 -22
  232. package/cjs/Picker/DropdownMenuItem.js +15 -26
  233. package/cjs/Picker/PickerOverlay.js +12 -28
  234. package/cjs/Picker/PickerToggle.js +57 -89
  235. package/cjs/Picker/PickerToggleTrigger.js +8 -19
  236. package/cjs/Picker/SearchBar.js +14 -26
  237. package/cjs/Picker/SelectedElement.js +9 -17
  238. package/cjs/Picker/ToggleButton.js +1 -6
  239. package/cjs/Picker/index.js +1 -24
  240. package/cjs/Picker/propTypes.js +1 -7
  241. package/cjs/Picker/types.js +1 -0
  242. package/cjs/Picker/utils.js +94 -200
  243. package/cjs/Placeholder/Placeholder.js +1 -5
  244. package/cjs/Placeholder/PlaceholderGraph.js +13 -22
  245. package/cjs/Placeholder/PlaceholderGrid.js +18 -34
  246. package/cjs/Placeholder/PlaceholderParagraph.js +17 -29
  247. package/cjs/Placeholder/index.js +1 -3
  248. package/cjs/Plaintext/Plaintext.js +14 -23
  249. package/cjs/Plaintext/index.js +1 -3
  250. package/cjs/Popover/Popover.js +16 -27
  251. package/cjs/Popover/index.js +1 -3
  252. package/cjs/Progress/Progress.js +1 -4
  253. package/cjs/Progress/ProgressCircle.js +30 -47
  254. package/cjs/Progress/ProgressLine.js +19 -29
  255. package/cjs/Progress/index.js +1 -3
  256. package/cjs/Radio/Radio.js +42 -62
  257. package/cjs/Radio/index.js +1 -3
  258. package/cjs/RadioGroup/RadioGroup.js +22 -37
  259. package/cjs/RadioGroup/index.js +1 -3
  260. package/cjs/RadioTile/RadioTile.js +30 -47
  261. package/cjs/RadioTile/index.js +1 -3
  262. package/cjs/RadioTileGroup/RadioTileGroup.js +17 -32
  263. package/cjs/RadioTileGroup/index.js +1 -3
  264. package/cjs/RangeSlider/RangeSlider.js +63 -104
  265. package/cjs/RangeSlider/index.js +1 -3
  266. package/cjs/Rate/Character.js +16 -31
  267. package/cjs/Rate/Rate.js +35 -62
  268. package/cjs/Rate/index.js +1 -3
  269. package/cjs/Rate/utils.js +1 -6
  270. package/cjs/Ripple/Ripple.js +16 -40
  271. package/cjs/Ripple/index.js +1 -3
  272. package/cjs/Row/Row.js +11 -22
  273. package/cjs/Row/index.js +1 -3
  274. package/cjs/SafeAnchor/SafeAnchor.js +8 -19
  275. package/cjs/SafeAnchor/index.js +1 -3
  276. package/cjs/Schema/Schema.js +1 -2
  277. package/cjs/Schema/index.js +1 -3
  278. package/cjs/SelectPicker/SelectPicker.js +136 -170
  279. package/cjs/SelectPicker/index.js +1 -3
  280. package/cjs/Sidebar/Sidebar.js +13 -26
  281. package/cjs/Sidebar/index.js +1 -3
  282. package/cjs/Sidenav/ExpandedSidenavDropdown.js +32 -54
  283. package/cjs/Sidenav/ExpandedSidenavDropdownItem.js +19 -41
  284. package/cjs/Sidenav/ExpandedSidenavDropdownMenu.js +22 -46
  285. package/cjs/Sidenav/Node.js +1 -12
  286. package/cjs/Sidenav/Sidenav.js +22 -45
  287. package/cjs/Sidenav/SidenavBody.js +1 -3
  288. package/cjs/Sidenav/SidenavDropdown.js +39 -70
  289. package/cjs/Sidenav/SidenavDropdownCollapse.js +9 -22
  290. package/cjs/Sidenav/SidenavDropdownItem.js +19 -45
  291. package/cjs/Sidenav/SidenavDropdownMenu.js +26 -54
  292. package/cjs/Sidenav/SidenavDropdownToggle.js +12 -25
  293. package/cjs/Sidenav/SidenavHeader.js +1 -3
  294. package/cjs/Sidenav/SidenavItem.js +27 -55
  295. package/cjs/Sidenav/SidenavToggle.js +11 -31
  296. package/cjs/Sidenav/index.js +1 -3
  297. package/cjs/Slider/Graduated.js +14 -29
  298. package/cjs/Slider/Handle.js +27 -52
  299. package/cjs/Slider/Input.js +2 -8
  300. package/cjs/Slider/Mark.js +11 -20
  301. package/cjs/Slider/ProgressBar.js +14 -23
  302. package/cjs/Slider/Slider.js +51 -84
  303. package/cjs/Slider/index.js +1 -3
  304. package/cjs/Slider/utils.js +1 -6
  305. package/cjs/Stack/Stack.js +22 -35
  306. package/cjs/Stack/StackItem.js +11 -17
  307. package/cjs/Stack/index.js +1 -3
  308. package/cjs/Steps/StepItem.js +16 -32
  309. package/cjs/Steps/Steps.js +18 -32
  310. package/cjs/Steps/index.js +1 -3
  311. package/cjs/Table/Table.js +6 -16
  312. package/cjs/Table/index.js +1 -3
  313. package/cjs/Tag/Tag.js +16 -28
  314. package/cjs/Tag/index.js +1 -3
  315. package/cjs/TagGroup/TagGroup.js +1 -3
  316. package/cjs/TagGroup/index.js +1 -3
  317. package/cjs/TagInput/index.d.ts +3 -0
  318. package/cjs/TagInput/index.js +11 -16
  319. package/cjs/TagPicker/index.d.ts +3 -0
  320. package/cjs/TagPicker/index.js +9 -14
  321. package/cjs/Timeline/Timeline.js +14 -29
  322. package/cjs/Timeline/TimelineItem.js +14 -23
  323. package/cjs/Timeline/index.js +1 -3
  324. package/cjs/Toggle/Toggle.js +26 -45
  325. package/cjs/Toggle/index.js +1 -3
  326. package/cjs/Tooltip/Tooltip.js +13 -22
  327. package/cjs/Tooltip/index.js +1 -3
  328. package/cjs/Tree/Tree.js +1 -10
  329. package/cjs/Tree/TreeContext.js +1 -4
  330. package/cjs/Tree/index.js +1 -3
  331. package/cjs/TreePicker/TreeNode.js +37 -60
  332. package/cjs/TreePicker/TreePicker.js +155 -231
  333. package/cjs/TreePicker/index.js +1 -3
  334. package/cjs/Uploader/UploadFileItem.js +37 -82
  335. package/cjs/Uploader/UploadTrigger.js +24 -46
  336. package/cjs/Uploader/Uploader.js +89 -141
  337. package/cjs/Uploader/index.js +1 -3
  338. package/cjs/Whisper/Whisper.js +8 -20
  339. package/cjs/Whisper/index.js +1 -3
  340. package/cjs/Windowing/AutoSizer.js +13 -33
  341. package/cjs/Windowing/List.d.ts +2 -2
  342. package/cjs/Windowing/List.js +6 -22
  343. package/cjs/Windowing/index.js +1 -7
  344. package/cjs/index.js +1 -164
  345. package/cjs/locales/ar_EG.js +1 -4
  346. package/cjs/locales/da_DK.js +1 -5
  347. package/cjs/locales/de_DE.js +1 -5
  348. package/cjs/locales/default.js +1 -5
  349. package/cjs/locales/en_GB.js +1 -3
  350. package/cjs/locales/en_US.js +1 -4
  351. package/cjs/locales/es_AR.js +1 -5
  352. package/cjs/locales/es_ES.js +1 -5
  353. package/cjs/locales/fa_IR.js +1 -4
  354. package/cjs/locales/fi_FI.js +1 -5
  355. package/cjs/locales/fr_FR.js +1 -4
  356. package/cjs/locales/hu_HU.js +1 -5
  357. package/cjs/locales/index.js +1 -47
  358. package/cjs/locales/it_IT.js +1 -5
  359. package/cjs/locales/ja_JP.js +1 -5
  360. package/cjs/locales/kk_KZ.js +1 -4
  361. package/cjs/locales/ko_KR.js +1 -5
  362. package/cjs/locales/ne_NP.js +1 -5
  363. package/cjs/locales/nl_NL.js +1 -4
  364. package/cjs/locales/pt_BR.js +1 -4
  365. package/cjs/locales/ru_RU.js +1 -4
  366. package/cjs/locales/sv_SE.js +1 -5
  367. package/cjs/locales/tr_TR.js +1 -4
  368. package/cjs/locales/zh_CN.js +1 -4
  369. package/cjs/locales/zh_TW.js +1 -4
  370. package/cjs/toaster/ToastContainer.js +29 -52
  371. package/cjs/toaster/ToastContext.js +1 -4
  372. package/cjs/toaster/index.js +1 -4
  373. package/cjs/toaster/toaster.js +4 -27
  374. package/cjs/toaster/useToaster.js +2 -8
  375. package/cjs/utils/BrowserDetection.js +7 -24
  376. package/cjs/utils/ReactChildren.js +2 -19
  377. package/cjs/utils/ajaxUpload.js +15 -33
  378. package/cjs/utils/appendTooltip.js +3 -9
  379. package/cjs/utils/attachParent.js +1 -1
  380. package/cjs/utils/clone.js +1 -2
  381. package/cjs/utils/composeFunctions.js +1 -3
  382. package/cjs/utils/constants.js +3 -8
  383. package/cjs/utils/createChainedFunction.js +2 -6
  384. package/cjs/utils/createComponent.js +12 -24
  385. package/cjs/utils/dateUtils.js +7 -121
  386. package/cjs/utils/deprecateComponent.js +1 -8
  387. package/cjs/utils/deprecatePropType.js +2 -9
  388. package/cjs/utils/dom.js +3 -2
  389. package/cjs/utils/events.js +2 -3
  390. package/cjs/utils/getDOMNode.js +16 -9
  391. package/cjs/utils/getDataGroupBy.d.ts +0 -23
  392. package/cjs/utils/getDataGroupBy.js +5 -44
  393. package/cjs/utils/getSafeRegExpString.js +1 -1
  394. package/cjs/utils/guid.js +1 -1
  395. package/cjs/utils/htmlPropsUtils.js +23 -20
  396. package/cjs/utils/index.js +1 -86
  397. package/cjs/utils/isOneOf.js +1 -2
  398. package/cjs/utils/mergeRefs.js +1 -2
  399. package/cjs/utils/placementPolyfill.js +2 -5
  400. package/cjs/utils/prefix.js +4 -15
  401. package/cjs/utils/previewFile.js +1 -6
  402. package/cjs/utils/propTypeChecker.js +1 -8
  403. package/cjs/utils/reactToString.js +1 -5
  404. package/cjs/utils/render.js +3 -10
  405. package/cjs/utils/scrollTopAnimation.js +1 -9
  406. package/cjs/utils/shallowEqual.js +8 -14
  407. package/cjs/utils/shallowEqualArray.js +1 -7
  408. package/cjs/utils/statusIcons.js +1 -9
  409. package/cjs/utils/stringToObject.js +1 -7
  410. package/cjs/utils/tplTransform.js +2 -7
  411. package/cjs/utils/treeUtils.js +112 -327
  412. package/cjs/utils/useClassNames.js +9 -15
  413. package/cjs/utils/useClickOutside.js +4 -8
  414. package/cjs/utils/useControlled.js +11 -7
  415. package/cjs/utils/useCustom.js +12 -25
  416. package/cjs/utils/useElementResize.js +1 -6
  417. package/cjs/utils/useEnsuredRef.js +1 -4
  418. package/cjs/utils/useEventCallback.js +1 -4
  419. package/cjs/utils/useEventListener.js +1 -5
  420. package/cjs/utils/useFocus.js +5 -6
  421. package/cjs/utils/useInternalId.js +1 -6
  422. package/cjs/utils/useIsMounted.js +1 -3
  423. package/cjs/utils/useMap.js +5 -7
  424. package/cjs/utils/useMount.js +1 -4
  425. package/cjs/utils/usePortal.js +7 -20
  426. package/cjs/utils/useRootClose.js +9 -19
  427. package/cjs/utils/useTimeout.js +3 -8
  428. package/cjs/utils/useToggleCaret.js +2 -14
  429. package/cjs/utils/useUniqueId.js +2 -9
  430. package/cjs/utils/useUpdateEffect.js +3 -5
  431. package/cjs/utils/useUpdatedRef.js +1 -2
  432. package/cjs/utils/useWillUnmount.js +3 -5
  433. package/cjs/utils/warnOnce.js +2 -2
  434. package/dist/rsuite-no-reset-rtl.css +23 -25
  435. package/dist/rsuite-no-reset-rtl.min.css +1 -1
  436. package/dist/rsuite-no-reset-rtl.min.css.map +1 -1
  437. package/dist/rsuite-no-reset.css +23 -25
  438. package/dist/rsuite-no-reset.min.css +1 -1
  439. package/dist/rsuite-no-reset.min.css.map +1 -1
  440. package/dist/rsuite-rtl.css +23 -25
  441. package/dist/rsuite-rtl.min.css +1 -1
  442. package/dist/rsuite-rtl.min.css.map +1 -1
  443. package/dist/rsuite.css +23 -25
  444. package/dist/rsuite.js +438 -471
  445. package/dist/rsuite.js.map +1 -1
  446. package/dist/rsuite.min.css +1 -1
  447. package/dist/rsuite.min.css.map +1 -1
  448. package/dist/rsuite.min.js +1 -1
  449. package/dist/rsuite.min.js.map +1 -1
  450. package/esm/@types/common.js +1 -0
  451. package/esm/@types/utils.js +14 -2
  452. package/esm/Affix/Affix.js +39 -50
  453. package/esm/Affix/index.js +1 -0
  454. package/esm/Animation/Bounce.js +4 -5
  455. package/esm/Animation/Collapse.js +19 -26
  456. package/esm/Animation/Fade.js +6 -7
  457. package/esm/Animation/Slide.js +6 -7
  458. package/esm/Animation/Transition.js +16 -69
  459. package/esm/Animation/index.js +1 -0
  460. package/esm/Animation/utils.js +1 -2
  461. package/esm/AutoComplete/AutoComplete.js +55 -75
  462. package/esm/AutoComplete/index.js +1 -0
  463. package/esm/AutoComplete/utils.js +1 -4
  464. package/esm/Avatar/Avatar.js +18 -22
  465. package/esm/Avatar/index.js +1 -0
  466. package/esm/AvatarGroup/AvatarGroup.js +13 -16
  467. package/esm/AvatarGroup/index.js +1 -0
  468. package/esm/Badge/Badge.js +14 -19
  469. package/esm/Badge/index.js +1 -0
  470. package/esm/Breadcrumb/Breadcrumb.js +19 -30
  471. package/esm/Breadcrumb/BreadcrumbItem.js +14 -17
  472. package/esm/Breadcrumb/index.js +1 -0
  473. package/esm/Button/Button.js +22 -28
  474. package/esm/Button/index.js +1 -0
  475. package/esm/ButtonGroup/ButtonGroup.js +15 -16
  476. package/esm/ButtonGroup/ButtonGroupContext.js +1 -0
  477. package/esm/ButtonGroup/index.js +1 -0
  478. package/esm/ButtonToolbar/ButtonToolbar.js +10 -12
  479. package/esm/ButtonToolbar/index.js +1 -0
  480. package/esm/Calendar/Calendar.js +24 -29
  481. package/esm/Calendar/CalendarBody.js +14 -18
  482. package/esm/Calendar/CalendarContainer.js +46 -51
  483. package/esm/Calendar/CalendarContext.js +1 -0
  484. package/esm/Calendar/CalendarHeader.js +32 -41
  485. package/esm/Calendar/MonthDropdown.js +22 -27
  486. package/esm/Calendar/MonthDropdownItem.js +16 -20
  487. package/esm/Calendar/Table.js +10 -11
  488. package/esm/Calendar/TableHeaderRow.js +11 -15
  489. package/esm/Calendar/TableRow.js +36 -50
  490. package/esm/Calendar/TimeDropdown.js +24 -48
  491. package/esm/Calendar/index.js +1 -0
  492. package/esm/Calendar/types.js +1 -0
  493. package/esm/Calendar/useCalendarDate.js +3 -11
  494. package/esm/Calendar/useCalendarState.js +3 -6
  495. package/esm/Carousel/Carousel.js +40 -52
  496. package/esm/Carousel/index.js +1 -0
  497. package/esm/Cascader/Cascader.js +126 -178
  498. package/esm/Cascader/DropdownMenu.js +33 -45
  499. package/esm/Cascader/index.js +1 -0
  500. package/esm/Cascader/utils.js +13 -22
  501. package/esm/CheckPicker/CheckPicker.js +105 -139
  502. package/esm/CheckPicker/index.js +1 -0
  503. package/esm/CheckTree/index.js +1 -0
  504. package/esm/CheckTreePicker/CheckTreeNode.js +28 -44
  505. package/esm/CheckTreePicker/CheckTreePicker.js +165 -232
  506. package/esm/CheckTreePicker/index.js +1 -0
  507. package/esm/CheckTreePicker/utils.js +12 -35
  508. package/esm/Checkbox/Checkbox.js +48 -66
  509. package/esm/Checkbox/index.js +1 -0
  510. package/esm/CheckboxGroup/CheckboxGroup.js +20 -25
  511. package/esm/CheckboxGroup/CheckboxGroupContext.js +1 -0
  512. package/esm/CheckboxGroup/index.js +1 -0
  513. package/esm/CloseButton/CloseButton.js +10 -13
  514. package/esm/CloseButton/index.js +1 -0
  515. package/esm/Col/Col.js +10 -13
  516. package/esm/Col/index.js +1 -0
  517. package/esm/Container/Container.js +11 -13
  518. package/esm/Container/index.js +1 -0
  519. package/esm/Content/Content.js +1 -1
  520. package/esm/Content/index.js +1 -0
  521. package/esm/CustomProvider/CustomProvider.js +13 -16
  522. package/esm/CustomProvider/FormattedDate.js +3 -6
  523. package/esm/CustomProvider/index.js +1 -0
  524. package/esm/DOMHelper/index.js +1 -2
  525. package/esm/DOMHelper/isElement.js +1 -1
  526. package/esm/DatePicker/DatePicker.js +108 -131
  527. package/esm/DatePicker/PredefinedRanges.js +12 -19
  528. package/esm/DatePicker/Toolbar.js +20 -26
  529. package/esm/DatePicker/index.js +1 -0
  530. package/esm/DatePicker/types.js +1 -0
  531. package/esm/DatePicker/utils.js +5 -8
  532. package/esm/DateRangePicker/Calendar.js +18 -18
  533. package/esm/DateRangePicker/DateRangePicker.js +128 -184
  534. package/esm/DateRangePicker/DateRangePickerContext.js +1 -0
  535. package/esm/DateRangePicker/disabledDateUtils.js +9 -24
  536. package/esm/DateRangePicker/index.js +1 -0
  537. package/esm/DateRangePicker/types.js +1 -0
  538. package/esm/DateRangePicker/utils.js +7 -12
  539. package/esm/Disclosure/Disclosure.js +13 -24
  540. package/esm/Disclosure/DisclosureButton.js +4 -7
  541. package/esm/Disclosure/DisclosureContent.js +1 -2
  542. package/esm/Disclosure/DisclosureContext.js +1 -2
  543. package/esm/Disclosure/index.js +1 -0
  544. package/esm/Disclosure/useDisclosureContext.js +1 -2
  545. package/esm/Divider/Divider.js +11 -12
  546. package/esm/Divider/index.js +1 -0
  547. package/esm/Drawer/Drawer.js +10 -11
  548. package/esm/Drawer/index.js +1 -0
  549. package/esm/Dropdown/Dropdown.js +35 -50
  550. package/esm/Dropdown/DropdownContext.js +1 -0
  551. package/esm/Dropdown/DropdownItem.js +22 -31
  552. package/esm/Dropdown/DropdownMenu.js +36 -49
  553. package/esm/Dropdown/DropdownSeparator.js +8 -10
  554. package/esm/Dropdown/DropdownState.js +1 -7
  555. package/esm/Dropdown/DropdownToggle.js +17 -17
  556. package/esm/Dropdown/index.js +1 -0
  557. package/esm/Dropdown/useRenderDropdownItem.js +1 -2
  558. package/esm/FlexboxGrid/FlexboxGrid.js +12 -13
  559. package/esm/FlexboxGrid/FlexboxGridItem.js +12 -14
  560. package/esm/FlexboxGrid/index.js +1 -0
  561. package/esm/Footer/Footer.js +1 -0
  562. package/esm/Footer/index.js +1 -0
  563. package/esm/Form/Form.js +38 -66
  564. package/esm/Form/FormContext.d.ts +2 -3
  565. package/esm/Form/FormContext.js +1 -0
  566. package/esm/Form/index.js +1 -0
  567. package/esm/Form/useFormClassNames.js +11 -13
  568. package/esm/Form/useSchemaModel.js +2 -4
  569. package/esm/FormControl/FormControl.js +46 -70
  570. package/esm/FormControl/index.js +1 -0
  571. package/esm/FormControl/useRegisterModel.js +1 -2
  572. package/esm/FormControlLabel/FormControlLabel.js +10 -12
  573. package/esm/FormControlLabel/index.js +1 -0
  574. package/esm/FormErrorMessage/FormErrorMessage.js +12 -18
  575. package/esm/FormErrorMessage/index.js +1 -0
  576. package/esm/FormGroup/FormGroup.js +9 -10
  577. package/esm/FormGroup/index.js +1 -0
  578. package/esm/FormHelpText/FormHelpText.js +11 -15
  579. package/esm/FormHelpText/index.js +1 -0
  580. package/esm/Grid/Grid.js +10 -11
  581. package/esm/Grid/index.js +1 -0
  582. package/esm/Header/Header.js +1 -0
  583. package/esm/Header/index.js +1 -0
  584. package/esm/IconButton/IconButton.js +11 -12
  585. package/esm/IconButton/index.js +1 -0
  586. package/esm/Input/Input.js +26 -32
  587. package/esm/Input/index.js +1 -0
  588. package/esm/InputGroup/InputGroup.js +23 -26
  589. package/esm/InputGroup/InputGroupAddon.js +9 -10
  590. package/esm/InputGroup/InputGroupButton.js +7 -9
  591. package/esm/InputGroup/index.js +1 -0
  592. package/esm/InputNumber/InputNumber.js +42 -72
  593. package/esm/InputNumber/index.js +1 -0
  594. package/esm/InputPicker/InputAutosize.js +17 -37
  595. package/esm/InputPicker/InputPicker.d.ts +2 -0
  596. package/esm/InputPicker/InputPicker.js +152 -226
  597. package/esm/InputPicker/InputSearch.js +15 -20
  598. package/esm/InputPicker/index.js +1 -0
  599. package/esm/List/List.js +37 -39
  600. package/esm/List/ListContext.js +1 -0
  601. package/esm/List/ListItem.js +26 -30
  602. package/esm/List/helper/AutoScroller.js +11 -21
  603. package/esm/List/helper/useManager.js +1 -6
  604. package/esm/List/helper/useSortHelper.js +58 -74
  605. package/esm/List/helper/utils.js +6 -11
  606. package/esm/List/index.js +1 -0
  607. package/esm/Loader/Loader.js +17 -19
  608. package/esm/Loader/index.js +1 -0
  609. package/esm/MaskedInput/MaskedInput.js +2 -1
  610. package/esm/MaskedInput/TextMask.js +12 -14
  611. package/esm/MaskedInput/adjustCaretPosition.js +99 -69
  612. package/esm/MaskedInput/conformToMask.js +79 -70
  613. package/esm/MaskedInput/createTextMaskInputElement.js +65 -62
  614. package/esm/MaskedInput/index.js +1 -0
  615. package/esm/MaskedInput/types.js +1 -0
  616. package/esm/MaskedInput/utilities.js +1 -6
  617. package/esm/Menu/Menu.js +35 -66
  618. package/esm/Menu/MenuContext.js +1 -4
  619. package/esm/Menu/MenuItem.js +15 -19
  620. package/esm/Menu/Menubar.js +13 -23
  621. package/esm/Menu/index.js +1 -0
  622. package/esm/Menu/useMenu.js +4 -27
  623. package/esm/Message/Message.js +23 -34
  624. package/esm/Message/index.js +1 -0
  625. package/esm/Modal/Modal.js +70 -69
  626. package/esm/Modal/ModalBody.js +11 -13
  627. package/esm/Modal/ModalContext.js +1 -0
  628. package/esm/Modal/ModalDialog.js +14 -18
  629. package/esm/Modal/ModalFooter.js +1 -0
  630. package/esm/Modal/ModalHeader.js +14 -16
  631. package/esm/Modal/ModalTitle.js +9 -10
  632. package/esm/Modal/index.js +1 -0
  633. package/esm/Modal/utils.js +8 -12
  634. package/esm/MultiCascader/DropdownMenu.js +38 -48
  635. package/esm/MultiCascader/MultiCascader.js +129 -174
  636. package/esm/MultiCascader/index.js +1 -0
  637. package/esm/MultiCascader/utils.js +44 -87
  638. package/esm/Nav/Nav.js +27 -45
  639. package/esm/Nav/NavContext.js +1 -0
  640. package/esm/Nav/NavDropdown.js +28 -44
  641. package/esm/Nav/NavDropdownItem.js +20 -31
  642. package/esm/Nav/NavDropdownMenu.js +26 -42
  643. package/esm/Nav/NavDropdownToggle.js +12 -15
  644. package/esm/Nav/NavItem.js +20 -28
  645. package/esm/Nav/NavMenu.js +2 -13
  646. package/esm/Nav/index.js +1 -0
  647. package/esm/Navbar/Navbar.js +10 -11
  648. package/esm/Navbar/NavbarBody.js +1 -0
  649. package/esm/Navbar/NavbarBrand.js +1 -0
  650. package/esm/Navbar/NavbarDropdown.js +25 -33
  651. package/esm/Navbar/NavbarDropdownItem.js +18 -30
  652. package/esm/Navbar/NavbarDropdownMenu.js +22 -37
  653. package/esm/Navbar/NavbarDropdownToggle.js +12 -14
  654. package/esm/Navbar/NavbarHeader.js +1 -0
  655. package/esm/Navbar/NavbarItem.js +19 -23
  656. package/esm/Navbar/index.js +1 -0
  657. package/esm/Notification/Notification.js +20 -32
  658. package/esm/Notification/index.js +1 -0
  659. package/esm/Overlay/Modal.js +40 -64
  660. package/esm/Overlay/ModalManager.js +1 -19
  661. package/esm/Overlay/Overlay.js +28 -37
  662. package/esm/Overlay/OverlayContext.js +1 -0
  663. package/esm/Overlay/OverlayTrigger.js +68 -101
  664. package/esm/Overlay/Position.js +25 -47
  665. package/esm/Overlay/index.js +1 -0
  666. package/esm/Overlay/positionUtils.js +25 -73
  667. package/esm/Pagination/Pagination.js +30 -55
  668. package/esm/Pagination/PaginationButton.js +15 -19
  669. package/esm/Pagination/PaginationGroup.js +38 -49
  670. package/esm/Pagination/index.js +1 -0
  671. package/esm/Panel/Panel.js +37 -49
  672. package/esm/Panel/index.js +1 -0
  673. package/esm/PanelGroup/PanelGroup.js +16 -18
  674. package/esm/PanelGroup/index.js +1 -0
  675. package/esm/Picker/DropdownMenu.js +50 -72
  676. package/esm/Picker/DropdownMenuCheckItem.js +22 -24
  677. package/esm/Picker/DropdownMenuGroup.js +10 -13
  678. package/esm/Picker/DropdownMenuItem.js +15 -18
  679. package/esm/Picker/PickerOverlay.js +12 -17
  680. package/esm/Picker/PickerToggle.js +57 -71
  681. package/esm/Picker/PickerToggleTrigger.js +8 -10
  682. package/esm/Picker/SearchBar.js +14 -15
  683. package/esm/Picker/SelectedElement.js +9 -14
  684. package/esm/Picker/ToggleButton.js +1 -0
  685. package/esm/Picker/index.js +1 -0
  686. package/esm/Picker/propTypes.js +1 -1
  687. package/esm/Picker/types.js +1 -0
  688. package/esm/Picker/utils.js +94 -182
  689. package/esm/Placeholder/Placeholder.js +1 -0
  690. package/esm/Placeholder/PlaceholderGraph.js +13 -16
  691. package/esm/Placeholder/PlaceholderGrid.js +18 -25
  692. package/esm/Placeholder/PlaceholderParagraph.js +17 -20
  693. package/esm/Placeholder/index.js +1 -0
  694. package/esm/Plaintext/Plaintext.js +14 -17
  695. package/esm/Plaintext/index.js +1 -0
  696. package/esm/Popover/Popover.js +16 -21
  697. package/esm/Popover/index.js +1 -0
  698. package/esm/Progress/Progress.js +1 -0
  699. package/esm/Progress/ProgressCircle.js +30 -39
  700. package/esm/Progress/ProgressLine.js +19 -21
  701. package/esm/Progress/index.js +1 -0
  702. package/esm/Radio/Radio.js +42 -52
  703. package/esm/Radio/index.js +1 -0
  704. package/esm/RadioGroup/RadioGroup.js +22 -25
  705. package/esm/RadioGroup/index.js +1 -0
  706. package/esm/RadioTile/RadioTile.js +30 -34
  707. package/esm/RadioTile/index.js +1 -0
  708. package/esm/RadioTileGroup/RadioTileGroup.js +17 -20
  709. package/esm/RadioTileGroup/index.js +1 -0
  710. package/esm/RangeSlider/RangeSlider.js +63 -86
  711. package/esm/RangeSlider/index.js +1 -0
  712. package/esm/Rate/Character.js +16 -21
  713. package/esm/Rate/Rate.js +35 -48
  714. package/esm/Rate/index.js +1 -0
  715. package/esm/Rate/utils.js +1 -2
  716. package/esm/Ripple/Ripple.js +16 -30
  717. package/esm/Ripple/index.js +1 -0
  718. package/esm/Row/Row.js +11 -14
  719. package/esm/Row/index.js +1 -0
  720. package/esm/SafeAnchor/SafeAnchor.js +8 -13
  721. package/esm/SafeAnchor/index.js +1 -0
  722. package/esm/Schema/Schema.js +1 -0
  723. package/esm/Schema/index.js +1 -0
  724. package/esm/SelectPicker/SelectPicker.js +137 -157
  725. package/esm/SelectPicker/index.js +1 -0
  726. package/esm/Sidebar/Sidebar.js +13 -18
  727. package/esm/Sidebar/index.js +1 -0
  728. package/esm/Sidenav/ExpandedSidenavDropdown.js +32 -35
  729. package/esm/Sidenav/ExpandedSidenavDropdownItem.js +19 -27
  730. package/esm/Sidenav/ExpandedSidenavDropdownMenu.js +22 -29
  731. package/esm/Sidenav/Node.js +1 -10
  732. package/esm/Sidenav/Sidenav.js +22 -28
  733. package/esm/Sidenav/SidenavBody.js +1 -0
  734. package/esm/Sidenav/SidenavDropdown.js +39 -52
  735. package/esm/Sidenav/SidenavDropdownCollapse.js +9 -13
  736. package/esm/Sidenav/SidenavDropdownItem.js +19 -31
  737. package/esm/Sidenav/SidenavDropdownMenu.js +26 -41
  738. package/esm/Sidenav/SidenavDropdownToggle.js +12 -14
  739. package/esm/Sidenav/SidenavHeader.js +1 -0
  740. package/esm/Sidenav/SidenavItem.js +27 -37
  741. package/esm/Sidenav/SidenavToggle.js +11 -18
  742. package/esm/Sidenav/index.js +1 -0
  743. package/esm/Slider/Graduated.js +14 -21
  744. package/esm/Slider/Handle.js +27 -39
  745. package/esm/Slider/Input.js +2 -2
  746. package/esm/Slider/Mark.js +11 -14
  747. package/esm/Slider/ProgressBar.js +14 -18
  748. package/esm/Slider/Slider.js +51 -67
  749. package/esm/Slider/index.js +1 -0
  750. package/esm/Slider/utils.js +1 -5
  751. package/esm/Stack/Stack.js +22 -27
  752. package/esm/Stack/StackItem.js +11 -11
  753. package/esm/Stack/index.js +1 -0
  754. package/esm/Steps/StepItem.js +16 -22
  755. package/esm/Steps/Steps.js +18 -22
  756. package/esm/Steps/index.js +1 -0
  757. package/esm/Table/Table.js +6 -7
  758. package/esm/Table/index.js +1 -0
  759. package/esm/Tag/Tag.js +16 -19
  760. package/esm/Tag/index.js +1 -0
  761. package/esm/TagGroup/TagGroup.js +1 -0
  762. package/esm/TagGroup/index.js +1 -0
  763. package/esm/TagInput/index.d.ts +3 -0
  764. package/esm/TagInput/index.js +11 -9
  765. package/esm/TagPicker/index.d.ts +3 -0
  766. package/esm/TagPicker/index.js +9 -7
  767. package/esm/Timeline/Timeline.js +14 -19
  768. package/esm/Timeline/TimelineItem.js +14 -15
  769. package/esm/Timeline/index.js +1 -0
  770. package/esm/Toggle/Toggle.js +26 -35
  771. package/esm/Toggle/index.js +1 -0
  772. package/esm/Tooltip/Tooltip.js +13 -16
  773. package/esm/Tooltip/index.js +1 -0
  774. package/esm/Tree/Tree.js +1 -3
  775. package/esm/Tree/TreeContext.js +1 -0
  776. package/esm/Tree/index.js +1 -0
  777. package/esm/TreePicker/TreeNode.js +37 -49
  778. package/esm/TreePicker/TreePicker.js +155 -218
  779. package/esm/TreePicker/index.js +1 -0
  780. package/esm/Uploader/UploadFileItem.js +37 -68
  781. package/esm/Uploader/UploadTrigger.js +24 -38
  782. package/esm/Uploader/Uploader.js +90 -132
  783. package/esm/Uploader/index.js +1 -0
  784. package/esm/Whisper/Whisper.js +8 -10
  785. package/esm/Whisper/index.js +1 -0
  786. package/esm/Windowing/AutoSizer.js +13 -24
  787. package/esm/Windowing/List.d.ts +2 -2
  788. package/esm/Windowing/List.js +6 -15
  789. package/esm/Windowing/index.js +1 -0
  790. package/esm/index.js +3 -0
  791. package/esm/locales/ar_EG.js +1 -0
  792. package/esm/locales/da_DK.js +1 -1
  793. package/esm/locales/de_DE.js +1 -1
  794. package/esm/locales/default.js +1 -1
  795. package/esm/locales/en_GB.js +1 -0
  796. package/esm/locales/en_US.js +1 -0
  797. package/esm/locales/es_AR.js +1 -1
  798. package/esm/locales/es_ES.js +1 -1
  799. package/esm/locales/fa_IR.js +1 -0
  800. package/esm/locales/fi_FI.js +1 -1
  801. package/esm/locales/fr_FR.js +1 -0
  802. package/esm/locales/hu_HU.js +1 -1
  803. package/esm/locales/index.js +1 -0
  804. package/esm/locales/it_IT.js +1 -1
  805. package/esm/locales/ja_JP.js +1 -1
  806. package/esm/locales/kk_KZ.js +1 -0
  807. package/esm/locales/ko_KR.js +1 -1
  808. package/esm/locales/ne_NP.js +1 -1
  809. package/esm/locales/nl_NL.js +1 -0
  810. package/esm/locales/pt_BR.js +1 -0
  811. package/esm/locales/ru_RU.js +1 -0
  812. package/esm/locales/sv_SE.js +1 -1
  813. package/esm/locales/tr_TR.js +1 -0
  814. package/esm/locales/zh_CN.js +1 -0
  815. package/esm/locales/zh_TW.js +1 -0
  816. package/esm/toaster/ToastContainer.js +29 -42
  817. package/esm/toaster/ToastContext.js +1 -0
  818. package/esm/toaster/index.js +1 -0
  819. package/esm/toaster/toaster.js +4 -22
  820. package/esm/toaster/useToaster.js +3 -5
  821. package/esm/utils/BrowserDetection.js +9 -9
  822. package/esm/utils/ReactChildren.js +2 -8
  823. package/esm/utils/ajaxUpload.js +15 -32
  824. package/esm/utils/appendTooltip.js +3 -3
  825. package/esm/utils/attachParent.js +1 -0
  826. package/esm/utils/clone.js +1 -1
  827. package/esm/utils/composeFunctions.js +1 -1
  828. package/esm/utils/constants.js +4 -7
  829. package/esm/utils/createChainedFunction.js +2 -5
  830. package/esm/utils/createComponent.js +12 -16
  831. package/esm/utils/dateUtils.js +7 -23
  832. package/esm/utils/deprecateComponent.js +2 -2
  833. package/esm/utils/deprecatePropType.js +4 -6
  834. package/esm/utils/dom.js +3 -1
  835. package/esm/utils/events.js +2 -1
  836. package/esm/utils/getDOMNode.js +15 -8
  837. package/esm/utils/getDataGroupBy.d.ts +0 -23
  838. package/esm/utils/getDataGroupBy.js +5 -39
  839. package/esm/utils/getSafeRegExpString.js +1 -0
  840. package/esm/utils/guid.js +1 -0
  841. package/esm/utils/htmlPropsUtils.js +23 -14
  842. package/esm/utils/index.js +2 -1
  843. package/esm/utils/isOneOf.js +1 -1
  844. package/esm/utils/mergeRefs.js +1 -1
  845. package/esm/utils/placementPolyfill.js +2 -4
  846. package/esm/utils/prefix.js +4 -4
  847. package/esm/utils/previewFile.js +1 -3
  848. package/esm/utils/propTypeChecker.js +1 -3
  849. package/esm/utils/reactToString.js +1 -2
  850. package/esm/utils/render.js +3 -5
  851. package/esm/utils/scrollTopAnimation.js +1 -5
  852. package/esm/utils/shallowEqual.js +8 -13
  853. package/esm/utils/shallowEqualArray.js +1 -5
  854. package/esm/utils/statusIcons.js +1 -0
  855. package/esm/utils/stringToObject.js +3 -4
  856. package/esm/utils/tplTransform.js +2 -4
  857. package/esm/utils/treeUtils.js +113 -265
  858. package/esm/utils/useClassNames.js +9 -9
  859. package/esm/utils/useClickOutside.js +4 -6
  860. package/esm/utils/useControlled.js +12 -6
  861. package/esm/utils/useCustom.js +12 -20
  862. package/esm/utils/useElementResize.js +2 -4
  863. package/esm/utils/useEnsuredRef.js +2 -3
  864. package/esm/utils/useEventCallback.js +2 -3
  865. package/esm/utils/useEventListener.js +2 -2
  866. package/esm/utils/useFocus.js +5 -4
  867. package/esm/utils/useInternalId.js +2 -3
  868. package/esm/utils/useIsMounted.js +1 -2
  869. package/esm/utils/useMap.js +5 -5
  870. package/esm/utils/useMount.js +1 -3
  871. package/esm/utils/usePortal.js +7 -13
  872. package/esm/utils/useRootClose.js +9 -13
  873. package/esm/utils/useTimeout.js +3 -7
  874. package/esm/utils/useToggleCaret.js +2 -7
  875. package/esm/utils/useUniqueId.js +2 -4
  876. package/esm/utils/useUpdateEffect.js +3 -4
  877. package/esm/utils/useUpdatedRef.js +2 -1
  878. package/esm/utils/useWillUnmount.js +4 -2
  879. package/esm/utils/warnOnce.js +2 -2
  880. package/package.json +2 -2
  881. package/styles/color-modes/light.less +4 -4
  882. package/styles/mixins/listbox.less +0 -2
  883. package/cjs/SelectPicker/Listbox.d.ts +0 -34
  884. package/cjs/SelectPicker/Listbox.js +0 -263
  885. package/cjs/SelectPicker/ListboxOption.d.ts +0 -11
  886. package/cjs/SelectPicker/ListboxOption.js +0 -50
  887. package/cjs/SelectPicker/ListboxOptionGroup.d.ts +0 -9
  888. package/cjs/SelectPicker/ListboxOptionGroup.js +0 -69
  889. package/esm/SelectPicker/Listbox.d.ts +0 -34
  890. package/esm/SelectPicker/Listbox.js +0 -240
  891. package/esm/SelectPicker/ListboxOption.d.ts +0 -11
  892. package/esm/SelectPicker/ListboxOption.js +0 -37
  893. package/esm/SelectPicker/ListboxOptionGroup.d.ts +0 -9
  894. package/esm/SelectPicker/ListboxOptionGroup.js +0 -53
@@ -1,15 +1,17 @@
1
+ 'use client';
1
2
  import useUpdatedRef from './useUpdatedRef';
2
3
  import { useEffect } from 'react';
4
+
3
5
  /**
4
6
  * Attach a callback that fires when a component unmounts
5
7
  *
6
8
  * @param fn Handler to run when the component unmounts
7
9
  * @category effects
8
10
  */
9
-
10
11
  export default function useWillUnmount(fn) {
11
- var onUnmount = useUpdatedRef(fn); // eslint-disable-next-line react-hooks/exhaustive-deps
12
+ var onUnmount = useUpdatedRef(fn);
12
13
 
14
+ // eslint-disable-next-line react-hooks/exhaustive-deps
13
15
  useEffect(function () {
14
16
  return function () {
15
17
  return onUnmount.current();
@@ -1,16 +1,16 @@
1
+ 'use client';
1
2
  var warned = {};
3
+
2
4
  /**
3
5
  * Logs a warning message
4
6
  * but dont warn a same message twice
5
7
  */
6
-
7
8
  export default function warnOnce(message) {
8
9
  if (!warned[message]) {
9
10
  console.warn(message);
10
11
  warned[message] = true;
11
12
  }
12
13
  }
13
-
14
14
  warnOnce._resetWarned = function () {
15
15
  for (var _message in warned) {
16
16
  delete warned[_message];
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "rsuite",
3
- "version": "5.40.0",
3
+ "version": "5.42.0",
4
4
  "description": "A suite of react components",
5
5
  "main": "cjs/index.js",
6
6
  "module": "esm/index.js",
@@ -38,7 +38,7 @@
38
38
  "prop-types": "^15.8.1",
39
39
  "react-use-set": "^1.0.0",
40
40
  "react-window": "^1.8.8",
41
- "rsuite-table": "^5.12.0",
41
+ "rsuite-table": "^5.15.0",
42
42
  "schema-typed": "^2.1.3"
43
43
  },
44
44
  "peerDependencies": {
@@ -90,7 +90,7 @@
90
90
  --rs-btn-primary-text: @B000;
91
91
  --rs-btn-primary-hover-bg: @H600;
92
92
  --rs-btn-primary-active-bg: @H700;
93
- --rs-btn-subtle-text: @B600;
93
+ --rs-btn-subtle-text: @B800;
94
94
  --rs-btn-subtle-hover-bg: @B200;
95
95
  --rs-btn-subtle-hover-text: @B800;
96
96
  --rs-btn-subtle-active-bg: @B200;
@@ -184,7 +184,7 @@
184
184
  --rs-steps-icon-state-error: @red;
185
185
 
186
186
  // Nav
187
- --rs-navs-text: @B600;
187
+ --rs-navs-text: @B800;
188
188
  --rs-navs-text-hover: @B800;
189
189
  --rs-navs-bg-hover: @B200;
190
190
  --rs-navs-text-active: @B900;
@@ -205,7 +205,7 @@
205
205
  --rs-navbar-inverse-hover-bg: @H600;
206
206
  --rs-navbar-inverse-hover-text: #fff;
207
207
  --rs-navbar-subtle-bg: #fff;
208
- --rs-navbar-subtle-text: @B600;
208
+ --rs-navbar-subtle-text: @B800;
209
209
  --rs-navbar-subtle-selected-text: @H700;
210
210
  --rs-navbar-subtle-hover-bg: @B050;
211
211
  --rs-navbar-subtle-hover-text: @B800;
@@ -223,7 +223,7 @@
223
223
  --rs-sidenav-inverse-hover-bg: @H600;
224
224
  --rs-sidenav-inverse-footer-border: @H600;
225
225
  --rs-sidenav-subtle-bg: #fff;
226
- --rs-sidenav-subtle-text: @B600;
226
+ --rs-sidenav-subtle-text: @B800;
227
227
  --rs-sidenav-subtle-selected-text: @H700;
228
228
  --rs-sidenav-subtle-hover-bg: @B050;
229
229
  --rs-sidenav-subtle-hover-text: @B800;
@@ -32,8 +32,6 @@
32
32
  font-weight: normal;
33
33
  line-height: @line-height-base;
34
34
  color: var(--rs-text-primary);
35
- // FIXME-Doma
36
- // No need to use pointer, just use default
37
35
  cursor: pointer;
38
36
  text-decoration: none;
39
37
  width: 100%;
@@ -1,34 +0,0 @@
1
- import React from 'react';
2
- import { ListProps, ListHandle } from '../Windowing';
3
- import { CompareFn, Group } from '../utils/getDataGroupBy';
4
- import { StandardProps } from '../@types/common';
5
- interface ListboxProps<T, K> extends StandardProps, Omit<React.HTMLAttributes<HTMLDivElement>, 'onSelect'> {
6
- classPrefix: string;
7
- options: readonly T[];
8
- getOptionKey?: (option: T) => K;
9
- sort?: <B extends boolean>(isGroup: B) => B extends true ? CompareFn<Group<T>> : CompareFn<T>;
10
- groupBy?: string;
11
- disabledOptionKeys?: readonly K[];
12
- selectedOptionKey?: K;
13
- activeOptionKey?: K;
14
- maxHeight?: number;
15
- labelKey?: string;
16
- className?: string;
17
- style?: React.CSSProperties;
18
- optionClassPrefix?: string;
19
- rowHeight?: number;
20
- rowGroupHeight?: number;
21
- virtualized?: boolean;
22
- listProps?: Partial<ListProps>;
23
- listRef?: React.Ref<ListHandle>;
24
- /** Custom selected option */
25
- renderMenuItem?: (itemLabel: React.ReactNode, item: any) => React.ReactNode;
26
- renderMenuGroup?: (title: React.ReactNode, item: any) => React.ReactNode;
27
- onSelect?: (value: K, item: T, event: React.MouseEvent) => void;
28
- onGroupTitleClick?: (event: React.MouseEvent) => void;
29
- }
30
- declare type ListboxComponent = <T, K>(p: ListboxProps<T, K> & {
31
- ref?: React.ForwardedRef<HTMLDivElement>;
32
- }) => JSX.Element;
33
- declare const Listbox: ListboxComponent;
34
- export default Listbox;
@@ -1,263 +0,0 @@
1
- "use strict";
2
-
3
- var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard");
4
-
5
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
6
-
7
- exports.__esModule = true;
8
- exports.default = void 0;
9
-
10
- var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
11
-
12
- var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutPropertiesLoose"));
13
-
14
- var _react = _interopRequireWildcard(require("react"));
15
-
16
- var _isUndefined = _interopRequireDefault(require("lodash/isUndefined"));
17
-
18
- var _getPosition = _interopRequireDefault(require("dom-lib/getPosition"));
19
-
20
- var _scrollTop = _interopRequireDefault(require("dom-lib/scrollTop"));
21
-
22
- var _getHeight = _interopRequireDefault(require("dom-lib/getHeight"));
23
-
24
- var _Windowing = require("../Windowing");
25
-
26
- var _shallowEqual = _interopRequireDefault(require("../utils/shallowEqual"));
27
-
28
- var _utils = require("../utils");
29
-
30
- var _ListboxOptionGroup = _interopRequireDefault(require("./ListboxOptionGroup"));
31
-
32
- var _getDataGroupBy = require("../utils/getDataGroupBy");
33
-
34
- var _ListboxOption = _interopRequireDefault(require("./ListboxOption"));
35
-
36
- var Listbox = /*#__PURE__*/_react.default.forwardRef(function Listbox(props, ref) {
37
- var _props$options = props.options,
38
- options = _props$options === void 0 ? [] : _props$options,
39
- getOptionKey = props.getOptionKey,
40
- groupBy = props.groupBy,
41
- sort = props.sort,
42
- _props$maxHeight = props.maxHeight,
43
- maxHeight = _props$maxHeight === void 0 ? 320 : _props$maxHeight,
44
- selectedOptionKey = props.selectedOptionKey,
45
- _props$disabledOption = props.disabledOptionKeys,
46
- disabledOptionKeys = _props$disabledOption === void 0 ? [] : _props$disabledOption,
47
- _props$classPrefix = props.classPrefix,
48
- classPrefix = _props$classPrefix === void 0 ? 'dropdown-menu' : _props$classPrefix,
49
- _props$labelKey = props.labelKey,
50
- labelKey = _props$labelKey === void 0 ? 'label' : _props$labelKey,
51
- virtualized = props.virtualized,
52
- listProps = props.listProps,
53
- virtualizedListRef = props.listRef,
54
- className = props.className,
55
- style = props.style,
56
- activeOptionKey = props.activeOptionKey,
57
- optionClassPrefix = props.optionClassPrefix,
58
- _props$rowHeight = props.rowHeight,
59
- rowHeight = _props$rowHeight === void 0 ? 36 : _props$rowHeight,
60
- _props$rowGroupHeight = props.rowGroupHeight,
61
- rowGroupHeight = _props$rowGroupHeight === void 0 ? 48 : _props$rowGroupHeight,
62
- renderMenuGroup = props.renderMenuGroup,
63
- renderMenuItem = props.renderMenuItem,
64
- onGroupTitleClick = props.onGroupTitleClick,
65
- onSelect = props.onSelect,
66
- rest = (0, _objectWithoutPropertiesLoose2.default)(props, ["options", "getOptionKey", "groupBy", "sort", "maxHeight", "selectedOptionKey", "disabledOptionKeys", "classPrefix", "labelKey", "virtualized", "listProps", "listRef", "className", "style", "activeOptionKey", "optionClassPrefix", "rowHeight", "rowGroupHeight", "renderMenuGroup", "renderMenuItem", "onGroupTitleClick", "onSelect"]);
67
- var group = typeof groupBy !== 'undefined';
68
-
69
- var _useClassNames = (0, _utils.useClassNames)(classPrefix),
70
- withClassPrefix = _useClassNames.withClassPrefix,
71
- prefix = _useClassNames.prefix,
72
- merge = _useClassNames.merge;
73
-
74
- var classes = merge(className, withClassPrefix('items', {
75
- grouped: group
76
- }));
77
- var menuBodyContainerRef = (0, _react.useRef)(null);
78
- var listRef = (0, _react.useRef)(null);
79
-
80
- var _useState = (0, _react.useState)([]),
81
- foldedGroupKeys = _useState[0],
82
- setFoldedGroupKeys = _useState[1];
83
-
84
- var handleGroupTitleClick = (0, _react.useCallback)(function (key, event) {
85
- var _listRef$current;
86
-
87
- var nextGroupKeys = foldedGroupKeys.filter(function (item) {
88
- return item !== key;
89
- });
90
-
91
- if (nextGroupKeys.length === foldedGroupKeys.length) {
92
- nextGroupKeys.push(key);
93
- }
94
-
95
- setFoldedGroupKeys(nextGroupKeys);
96
- onGroupTitleClick === null || onGroupTitleClick === void 0 ? void 0 : onGroupTitleClick(event); // See example https://codesandbox.io/s/grouped-list-with-sticky-headers-shgok?fontsize=14&file=/index.js:1314-1381
97
-
98
- (_listRef$current = listRef.current) === null || _listRef$current === void 0 ? void 0 : _listRef$current.resetAfterIndex(0); // use group index to reduce calculation
99
- }, [onGroupTitleClick, foldedGroupKeys]);
100
- (0, _react.useEffect)(function () {
101
- var container = menuBodyContainerRef.current;
102
-
103
- if (!container) {
104
- return;
105
- }
106
-
107
- var activeItem = container.querySelector("." + prefix('item-focus'));
108
-
109
- if (!activeItem) {
110
- activeItem = container.querySelector("." + prefix('item-active'));
111
- }
112
-
113
- if (!activeItem) {
114
- return;
115
- }
116
-
117
- var position = (0, _getPosition.default)(activeItem, container);
118
- var sTop = (0, _scrollTop.default)(container);
119
- var sHeight = (0, _getHeight.default)(container);
120
-
121
- if (sTop > position.top) {
122
- (0, _scrollTop.default)(container, Math.max(0, position.top - 20));
123
- } else if (position.top > sTop + sHeight) {
124
- (0, _scrollTop.default)(container, Math.max(0, position.top - sHeight + 32));
125
- }
126
- }, [activeOptionKey, menuBodyContainerRef, prefix]);
127
- (0, _utils.useMount)(function scrollToSelectedOption() {
128
- if (virtualized && selectedOptionKey) {
129
- if (typeof groupBy === 'undefined') {
130
- var _listRef$current2;
131
-
132
- var selectedOptionIndex = options.findIndex(function (option) {
133
- return (getOptionKey === null || getOptionKey === void 0 ? void 0 : getOptionKey(option)) === selectedOptionKey;
134
- });
135
- (_listRef$current2 = listRef.current) === null || _listRef$current2 === void 0 ? void 0 : _listRef$current2.scrollToItem(selectedOptionIndex);
136
- } else {
137
- var _listRef$current3;
138
-
139
- var groups = (0, _getDataGroupBy.groupOptions)(options, groupBy, sort === null || sort === void 0 ? void 0 : sort(false), sort === null || sort === void 0 ? void 0 : sort(true));
140
- var selectedGroupIndex = groups.findIndex(function (group) {
141
- return group.key === selectedOptionKey;
142
- }); // TODO-Doma
143
- // This only scrolls the list to the group, not to the selected item within the group
144
- // .scrollToItem does not support specifying an px offset
145
- // Find a way to scroll to the selected item within the group
146
-
147
- (_listRef$current3 = listRef.current) === null || _listRef$current3 === void 0 ? void 0 : _listRef$current3.scrollToItem(selectedGroupIndex);
148
- }
149
- }
150
- });
151
- var renderOption = (0, _react.useCallback)(function (option) {
152
- var _getOptionKey;
153
-
154
- var optionKey = (_getOptionKey = getOptionKey === null || getOptionKey === void 0 ? void 0 : getOptionKey(option)) !== null && _getOptionKey !== void 0 ? _getOptionKey : JSON.stringify(option);
155
- var label = option[labelKey];
156
- var disabled = disabledOptionKeys === null || disabledOptionKeys === void 0 ? void 0 : disabledOptionKeys.some(function (disabledValue) {
157
- return (0, _shallowEqual.default)(disabledValue, optionKey);
158
- });
159
- var selected = (0, _shallowEqual.default)(selectedOptionKey, optionKey);
160
- var focus = !(0, _isUndefined.default)(activeOptionKey) && (0, _shallowEqual.default)(activeOptionKey, optionKey);
161
- return /*#__PURE__*/_react.default.createElement(_ListboxOption.default, {
162
- key: optionKey,
163
- disabled: disabled,
164
- selected: selected,
165
- active: focus,
166
- "data-key": optionKey,
167
- classPrefix: optionClassPrefix,
168
- onClick: function onClick(event) {
169
- if (!disabled) {
170
- onSelect === null || onSelect === void 0 ? void 0 : onSelect(optionKey, option, event);
171
- }
172
- }
173
- }, renderMenuItem ? renderMenuItem(label, option) : label);
174
- }, [getOptionKey, labelKey, disabledOptionKeys, selectedOptionKey, activeOptionKey, optionClassPrefix, renderMenuItem, onSelect]);
175
- var renderOptions = (0, _react.useCallback)(function (options) {
176
- return options.map(function (option) {
177
- return renderOption(option);
178
- });
179
- }, [renderOption]);
180
- var renderOptionGroup = (0, _react.useCallback)(function (group) {
181
- var groupKey = group.key;
182
- var expanded = !foldedGroupKeys.includes(groupKey);
183
- return /*#__PURE__*/_react.default.createElement(_ListboxOptionGroup.default, {
184
- key: groupKey,
185
- title: renderMenuGroup ? renderMenuGroup(groupKey, group) : groupKey,
186
- classPrefix: 'picker-menu-group',
187
- expanded: expanded,
188
- onClickTitle: function onClickTitle(e) {
189
- return handleGroupTitleClick(group.key, e);
190
- }
191
- }, renderOptions(group.options));
192
- }, [foldedGroupKeys, handleGroupTitleClick, renderMenuGroup, renderOptions]);
193
- var renderOptionGroups = (0, _react.useCallback)(function (groupKey) {
194
- var groups = (0, _getDataGroupBy.groupOptions)(options, groupKey, sort === null || sort === void 0 ? void 0 : sort(false), sort === null || sort === void 0 ? void 0 : sort(true));
195
- return groups.map(function (group) {
196
- return renderOptionGroup(group);
197
- });
198
- }, [options, renderOptionGroup, sort]);
199
- var renderVirtualizedOptions = (0, _react.useCallback)(function () {
200
- return /*#__PURE__*/_react.default.createElement(_Windowing.AutoSizer, {
201
- defaultHeight: maxHeight,
202
- style: {
203
- width: 'auto',
204
- height: 'auto'
205
- }
206
- }, function (_ref) {
207
- var height = _ref.height;
208
- return /*#__PURE__*/_react.default.createElement(_Windowing.List, (0, _extends2.default)({
209
- ref: (0, _utils.mergeRefs)(listRef, virtualizedListRef),
210
- height: height || maxHeight,
211
- itemCount: options.length,
212
- itemSize: rowHeight
213
- }, listProps), function (_ref2) {
214
- var index = _ref2.index;
215
- return renderOption(options[index]);
216
- });
217
- });
218
- }, [listProps, maxHeight, options, renderOption, rowHeight, virtualizedListRef]); // Example of rendering option groups in VariableSizeList
219
- // https://github.com/bvaughn/react-window/issues/358
220
-
221
- var renderVirtualizedOptionGroups = (0, _react.useCallback)(function (groupKey) {
222
- var groups = (0, _getDataGroupBy.groupOptions)(options, groupKey, sort === null || sort === void 0 ? void 0 : sort(false), sort === null || sort === void 0 ? void 0 : sort(true));
223
- return /*#__PURE__*/_react.default.createElement(_Windowing.AutoSizer, {
224
- defaultHeight: maxHeight,
225
- style: {
226
- width: 'auto',
227
- height: 'auto'
228
- }
229
- }, function (_ref3) {
230
- var height = _ref3.height;
231
- return /*#__PURE__*/_react.default.createElement(_Windowing.List, (0, _extends2.default)({
232
- ref: (0, _utils.mergeRefs)(listRef, virtualizedListRef),
233
- height: height || maxHeight,
234
- itemCount: groups.length,
235
- itemSize: function itemSize(index) {
236
- var item = groups[index];
237
- var expanded = !foldedGroupKeys.includes(item.key);
238
-
239
- if (expanded) {
240
- return item.options.length * rowHeight + rowGroupHeight;
241
- }
242
-
243
- return rowGroupHeight;
244
- }
245
- }, listProps), function (_ref4) {
246
- var index = _ref4.index;
247
- return renderOptionGroup(groups[index]);
248
- });
249
- });
250
- }, [foldedGroupKeys, listProps, maxHeight, options, renderOptionGroup, rowGroupHeight, rowHeight, sort, virtualizedListRef]);
251
- return /*#__PURE__*/_react.default.createElement("div", (0, _extends2.default)({
252
- role: "listbox"
253
- }, rest, {
254
- className: classes,
255
- ref: (0, _utils.mergeRefs)(menuBodyContainerRef, ref),
256
- style: (0, _extends2.default)({}, style, {
257
- maxHeight: maxHeight
258
- })
259
- }), typeof groupBy === 'undefined' ? virtualized ? renderVirtualizedOptions() : renderOptions(options) : virtualized ? renderVirtualizedOptionGroups(groupBy) : renderOptionGroups(groupBy));
260
- });
261
-
262
- var _default = Listbox;
263
- exports.default = _default;
@@ -1,11 +0,0 @@
1
- import React from 'react';
2
- import { StandardProps } from '../@types/common';
3
- interface ListboxOptionProps extends StandardProps, React.HTMLAttributes<HTMLDivElement> {
4
- selected?: boolean;
5
- disabled?: boolean;
6
- active?: boolean;
7
- title?: string;
8
- onKeyDown?: (event: React.KeyboardEvent) => void;
9
- }
10
- declare const ListboxOption: React.ForwardRefExoticComponent<ListboxOptionProps & React.RefAttributes<HTMLDivElement>>;
11
- export default ListboxOption;
@@ -1,50 +0,0 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
- exports.__esModule = true;
6
- exports.default = void 0;
7
-
8
- var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
9
-
10
- var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutPropertiesLoose"));
11
-
12
- var _react = _interopRequireDefault(require("react"));
13
-
14
- var _utils = require("../utils");
15
-
16
- var ListboxOption = /*#__PURE__*/_react.default.forwardRef(function ListboxOption(props, ref) {
17
- var selected = props.selected,
18
- _props$classPrefix = props.classPrefix,
19
- classPrefix = _props$classPrefix === void 0 ? 'dropdown-menu-item' : _props$classPrefix,
20
- children = props.children,
21
- className = props.className,
22
- disabled = props.disabled,
23
- active = props.active,
24
- onKeyDown = props.onKeyDown,
25
- rest = (0, _objectWithoutPropertiesLoose2.default)(props, ["selected", "classPrefix", "children", "className", "disabled", "active", "onKeyDown"]);
26
-
27
- var _useClassNames = (0, _utils.useClassNames)(classPrefix),
28
- withClassPrefix = _useClassNames.withClassPrefix;
29
-
30
- var classes = withClassPrefix({
31
- active: selected,
32
- focus: active,
33
- disabled: disabled
34
- });
35
- return /*#__PURE__*/_react.default.createElement("div", (0, _extends2.default)({
36
- ref: ref,
37
- role: "option",
38
- "aria-selected": selected || undefined,
39
- "aria-disabled": disabled
40
- }, rest, {
41
- className: className,
42
- onKeyDown: disabled ? undefined : onKeyDown
43
- }), /*#__PURE__*/_react.default.createElement("span", {
44
- className: classes
45
- }, children));
46
- });
47
-
48
- ListboxOption.displayName = 'Listbox.Option';
49
- var _default = ListboxOption;
50
- exports.default = _default;
@@ -1,9 +0,0 @@
1
- import React from 'react';
2
- import { StandardProps } from '../@types/common';
3
- interface ListboxOptionGroupProps extends StandardProps, Omit<React.HTMLAttributes<HTMLDivElement>, 'title'> {
4
- title?: React.ReactNode;
5
- expanded?: boolean;
6
- onClickTitle?: React.MouseEventHandler;
7
- }
8
- declare const ListboxOptionGroup: React.ForwardRefExoticComponent<ListboxOptionGroupProps & React.RefAttributes<HTMLDivElement>>;
9
- export default ListboxOptionGroup;
@@ -1,69 +0,0 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
- exports.__esModule = true;
6
- exports.default = void 0;
7
-
8
- var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
9
-
10
- var _taggedTemplateLiteralLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteralLoose"));
11
-
12
- var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutPropertiesLoose"));
13
-
14
- var _react = _interopRequireDefault(require("react"));
15
-
16
- var _classnames = _interopRequireDefault(require("classnames"));
17
-
18
- var _utils = require("../utils");
19
-
20
- var _ArrowDown = _interopRequireDefault(require("@rsuite/icons/legacy/ArrowDown"));
21
-
22
- var _useUniqueId = _interopRequireDefault(require("../utils/useUniqueId"));
23
-
24
- var _templateObject, _templateObject2;
25
-
26
- var ListboxOptionGroup = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
27
- var _props$classPrefix = props.classPrefix,
28
- classPrefix = _props$classPrefix === void 0 ? 'dropdown-menu-group' : _props$classPrefix,
29
- title = props.title,
30
- children = props.children,
31
- className = props.className,
32
- _props$expanded = props.expanded,
33
- expanded = _props$expanded === void 0 ? true : _props$expanded,
34
- onClickTitle = props.onClickTitle,
35
- rest = (0, _objectWithoutPropertiesLoose2.default)(props, ["classPrefix", "title", "children", "className", "expanded", "onClickTitle"]);
36
-
37
- var _useClassNames = (0, _utils.useClassNames)(classPrefix),
38
- withClassPrefix = _useClassNames.withClassPrefix,
39
- prefix = _useClassNames.prefix,
40
- merge = _useClassNames.merge;
41
-
42
- var classes = merge(className, withClassPrefix());
43
- var groupId = (0, _useUniqueId.default)('listbox-group-');
44
- var labelId = groupId + '-label';
45
- return /*#__PURE__*/_react.default.createElement("div", (0, _extends2.default)({
46
- role: "group",
47
- id: groupId,
48
- "aria-expanded": expanded,
49
- "aria-labelledby": labelId
50
- }, rest, {
51
- ref: ref,
52
- className: (0, _classnames.default)(classes, {
53
- folded: !expanded
54
- })
55
- }), /*#__PURE__*/_react.default.createElement("div", {
56
- className: prefix(_templateObject || (_templateObject = (0, _taggedTemplateLiteralLoose2.default)(["title"]))),
57
- tabIndex: -1,
58
- onClick: onClickTitle
59
- }, /*#__PURE__*/_react.default.createElement("span", {
60
- id: labelId
61
- }, title), /*#__PURE__*/_react.default.createElement(_ArrowDown.default, {
62
- "aria-hidden": true,
63
- className: prefix(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteralLoose2.default)(["caret"])))
64
- })), children);
65
- });
66
-
67
- ListboxOptionGroup.displayName = 'Listbox.OptionGroup';
68
- var _default = ListboxOptionGroup;
69
- exports.default = _default;
@@ -1,34 +0,0 @@
1
- import React from 'react';
2
- import { ListProps, ListHandle } from '../Windowing';
3
- import { CompareFn, Group } from '../utils/getDataGroupBy';
4
- import { StandardProps } from '../@types/common';
5
- interface ListboxProps<T, K> extends StandardProps, Omit<React.HTMLAttributes<HTMLDivElement>, 'onSelect'> {
6
- classPrefix: string;
7
- options: readonly T[];
8
- getOptionKey?: (option: T) => K;
9
- sort?: <B extends boolean>(isGroup: B) => B extends true ? CompareFn<Group<T>> : CompareFn<T>;
10
- groupBy?: string;
11
- disabledOptionKeys?: readonly K[];
12
- selectedOptionKey?: K;
13
- activeOptionKey?: K;
14
- maxHeight?: number;
15
- labelKey?: string;
16
- className?: string;
17
- style?: React.CSSProperties;
18
- optionClassPrefix?: string;
19
- rowHeight?: number;
20
- rowGroupHeight?: number;
21
- virtualized?: boolean;
22
- listProps?: Partial<ListProps>;
23
- listRef?: React.Ref<ListHandle>;
24
- /** Custom selected option */
25
- renderMenuItem?: (itemLabel: React.ReactNode, item: any) => React.ReactNode;
26
- renderMenuGroup?: (title: React.ReactNode, item: any) => React.ReactNode;
27
- onSelect?: (value: K, item: T, event: React.MouseEvent) => void;
28
- onGroupTitleClick?: (event: React.MouseEvent) => void;
29
- }
30
- declare type ListboxComponent = <T, K>(p: ListboxProps<T, K> & {
31
- ref?: React.ForwardedRef<HTMLDivElement>;
32
- }) => JSX.Element;
33
- declare const Listbox: ListboxComponent;
34
- export default Listbox;