rsuite 5.40.0 → 5.41.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 (886) hide show
  1. package/CHANGELOG.md +20 -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 +36 -76
  118. package/cjs/Form/FormContext.js +1 -8
  119. package/cjs/Form/index.js +1 -4
  120. package/cjs/Form/useFormClassNames.js +11 -14
  121. package/cjs/Form/useSchemaModel.js +2 -6
  122. package/cjs/FormControl/FormControl.js +50 -82
  123. package/cjs/FormControl/index.js +1 -3
  124. package/cjs/FormControl/useRegisterModel.js +1 -3
  125. package/cjs/FormControlLabel/FormControlLabel.js +10 -22
  126. package/cjs/FormControlLabel/index.js +1 -3
  127. package/cjs/FormErrorMessage/FormErrorMessage.js +12 -27
  128. package/cjs/FormErrorMessage/index.js +1 -3
  129. package/cjs/FormGroup/FormGroup.js +9 -21
  130. package/cjs/FormGroup/index.js +1 -3
  131. package/cjs/FormHelpText/FormHelpText.js +11 -28
  132. package/cjs/FormHelpText/index.js +1 -3
  133. package/cjs/Grid/Grid.js +10 -19
  134. package/cjs/Grid/index.js +1 -3
  135. package/cjs/Header/Header.js +1 -3
  136. package/cjs/Header/index.js +1 -3
  137. package/cjs/IconButton/IconButton.js +11 -21
  138. package/cjs/IconButton/index.js +1 -3
  139. package/cjs/Input/Input.js +26 -43
  140. package/cjs/Input/index.js +1 -3
  141. package/cjs/InputGroup/InputGroup.js +23 -39
  142. package/cjs/InputGroup/InputGroupAddon.js +9 -18
  143. package/cjs/InputGroup/InputGroupButton.js +7 -17
  144. package/cjs/InputGroup/index.js +1 -3
  145. package/cjs/InputNumber/InputNumber.js +42 -88
  146. package/cjs/InputNumber/index.js +1 -3
  147. package/cjs/InputPicker/InputAutosize.js +17 -42
  148. package/cjs/InputPicker/InputPicker.js +149 -250
  149. package/cjs/InputPicker/InputSearch.js +15 -28
  150. package/cjs/InputPicker/index.js +1 -3
  151. package/cjs/List/List.js +37 -51
  152. package/cjs/List/ListContext.js +1 -5
  153. package/cjs/List/ListItem.js +26 -40
  154. package/cjs/List/helper/AutoScroller.js +11 -21
  155. package/cjs/List/helper/useManager.js +1 -8
  156. package/cjs/List/helper/useSortHelper.js +58 -82
  157. package/cjs/List/helper/utils.js +6 -19
  158. package/cjs/List/index.js +1 -3
  159. package/cjs/Loader/Loader.js +17 -26
  160. package/cjs/Loader/index.js +1 -3
  161. package/cjs/MaskedInput/MaskedInput.js +2 -8
  162. package/cjs/MaskedInput/TextMask.js +14 -23
  163. package/cjs/MaskedInput/adjustCaretPosition.js +99 -70
  164. package/cjs/MaskedInput/conformToMask.js +79 -73
  165. package/cjs/MaskedInput/createTextMaskInputElement.js +65 -71
  166. package/cjs/MaskedInput/index.js +1 -3
  167. package/cjs/MaskedInput/types.js +1 -0
  168. package/cjs/MaskedInput/utilities.js +1 -8
  169. package/cjs/Menu/Menu.js +35 -79
  170. package/cjs/Menu/MenuContext.js +1 -8
  171. package/cjs/Menu/MenuItem.js +15 -26
  172. package/cjs/Menu/Menubar.js +13 -32
  173. package/cjs/Menu/index.js +1 -3
  174. package/cjs/Menu/useMenu.js +5 -34
  175. package/cjs/Message/Message.js +23 -45
  176. package/cjs/Message/index.js +1 -3
  177. package/cjs/Modal/Modal.js +70 -91
  178. package/cjs/Modal/ModalBody.js +11 -25
  179. package/cjs/Modal/ModalContext.js +1 -4
  180. package/cjs/Modal/ModalDialog.js +14 -26
  181. package/cjs/Modal/ModalFooter.js +1 -3
  182. package/cjs/Modal/ModalHeader.js +14 -29
  183. package/cjs/Modal/ModalTitle.js +9 -20
  184. package/cjs/Modal/index.js +1 -3
  185. package/cjs/Modal/utils.js +8 -19
  186. package/cjs/MultiCascader/DropdownMenu.js +38 -64
  187. package/cjs/MultiCascader/MultiCascader.js +129 -192
  188. package/cjs/MultiCascader/index.js +1 -3
  189. package/cjs/MultiCascader/utils.js +44 -106
  190. package/cjs/Nav/Nav.js +27 -69
  191. package/cjs/Nav/NavContext.js +1 -4
  192. package/cjs/Nav/NavDropdown.js +28 -60
  193. package/cjs/Nav/NavDropdownItem.js +20 -42
  194. package/cjs/Nav/NavDropdownMenu.js +26 -54
  195. package/cjs/Nav/NavDropdownToggle.js +12 -26
  196. package/cjs/Nav/NavItem.js +20 -39
  197. package/cjs/Nav/NavMenu.js +2 -28
  198. package/cjs/Nav/index.js +1 -3
  199. package/cjs/Navbar/Navbar.js +10 -23
  200. package/cjs/Navbar/NavbarBody.js +1 -6
  201. package/cjs/Navbar/NavbarBrand.js +1 -3
  202. package/cjs/Navbar/NavbarDropdown.js +25 -49
  203. package/cjs/Navbar/NavbarDropdownItem.js +18 -44
  204. package/cjs/Navbar/NavbarDropdownMenu.js +22 -51
  205. package/cjs/Navbar/NavbarDropdownToggle.js +12 -25
  206. package/cjs/Navbar/NavbarHeader.js +1 -6
  207. package/cjs/Navbar/NavbarItem.js +19 -35
  208. package/cjs/Navbar/index.js +1 -3
  209. package/cjs/Notification/Notification.js +20 -43
  210. package/cjs/Notification/index.js +1 -3
  211. package/cjs/Overlay/Modal.js +40 -79
  212. package/cjs/Overlay/ModalManager.js +1 -26
  213. package/cjs/Overlay/Overlay.js +28 -50
  214. package/cjs/Overlay/OverlayContext.js +1 -4
  215. package/cjs/Overlay/OverlayTrigger.js +67 -116
  216. package/cjs/Overlay/Position.js +25 -64
  217. package/cjs/Overlay/index.js +1 -3
  218. package/cjs/Overlay/positionUtils.js +25 -86
  219. package/cjs/Pagination/Pagination.js +30 -70
  220. package/cjs/Pagination/PaginationButton.js +15 -29
  221. package/cjs/Pagination/PaginationGroup.js +38 -63
  222. package/cjs/Pagination/index.js +1 -3
  223. package/cjs/Panel/Panel.js +37 -61
  224. package/cjs/Panel/index.js +1 -3
  225. package/cjs/PanelGroup/PanelGroup.js +16 -29
  226. package/cjs/PanelGroup/index.js +1 -3
  227. package/cjs/Picker/DropdownMenu.js +50 -93
  228. package/cjs/Picker/DropdownMenuCheckItem.js +22 -33
  229. package/cjs/Picker/DropdownMenuGroup.js +10 -22
  230. package/cjs/Picker/DropdownMenuItem.js +15 -26
  231. package/cjs/Picker/PickerOverlay.js +12 -28
  232. package/cjs/Picker/PickerToggle.js +57 -89
  233. package/cjs/Picker/PickerToggleTrigger.js +8 -19
  234. package/cjs/Picker/SearchBar.js +14 -26
  235. package/cjs/Picker/SelectedElement.js +9 -17
  236. package/cjs/Picker/ToggleButton.js +1 -6
  237. package/cjs/Picker/index.js +1 -24
  238. package/cjs/Picker/propTypes.js +1 -7
  239. package/cjs/Picker/types.js +1 -0
  240. package/cjs/Picker/utils.js +94 -200
  241. package/cjs/Placeholder/Placeholder.js +1 -5
  242. package/cjs/Placeholder/PlaceholderGraph.js +13 -22
  243. package/cjs/Placeholder/PlaceholderGrid.js +18 -34
  244. package/cjs/Placeholder/PlaceholderParagraph.js +17 -29
  245. package/cjs/Placeholder/index.js +1 -3
  246. package/cjs/Plaintext/Plaintext.js +14 -23
  247. package/cjs/Plaintext/index.js +1 -3
  248. package/cjs/Popover/Popover.js +16 -27
  249. package/cjs/Popover/index.js +1 -3
  250. package/cjs/Progress/Progress.js +1 -4
  251. package/cjs/Progress/ProgressCircle.js +30 -47
  252. package/cjs/Progress/ProgressLine.js +19 -29
  253. package/cjs/Progress/index.js +1 -3
  254. package/cjs/Radio/Radio.js +42 -62
  255. package/cjs/Radio/index.js +1 -3
  256. package/cjs/RadioGroup/RadioGroup.js +22 -37
  257. package/cjs/RadioGroup/index.js +1 -3
  258. package/cjs/RadioTile/RadioTile.js +30 -47
  259. package/cjs/RadioTile/index.js +1 -3
  260. package/cjs/RadioTileGroup/RadioTileGroup.js +17 -32
  261. package/cjs/RadioTileGroup/index.js +1 -3
  262. package/cjs/RangeSlider/RangeSlider.js +63 -104
  263. package/cjs/RangeSlider/index.js +1 -3
  264. package/cjs/Rate/Character.js +16 -31
  265. package/cjs/Rate/Rate.js +35 -62
  266. package/cjs/Rate/index.js +1 -3
  267. package/cjs/Rate/utils.js +1 -6
  268. package/cjs/Ripple/Ripple.js +16 -40
  269. package/cjs/Ripple/index.js +1 -3
  270. package/cjs/Row/Row.js +11 -22
  271. package/cjs/Row/index.js +1 -3
  272. package/cjs/SafeAnchor/SafeAnchor.js +8 -19
  273. package/cjs/SafeAnchor/index.js +1 -3
  274. package/cjs/Schema/Schema.js +1 -2
  275. package/cjs/Schema/index.js +1 -3
  276. package/cjs/SelectPicker/SelectPicker.js +136 -170
  277. package/cjs/SelectPicker/index.js +1 -3
  278. package/cjs/Sidebar/Sidebar.js +13 -26
  279. package/cjs/Sidebar/index.js +1 -3
  280. package/cjs/Sidenav/ExpandedSidenavDropdown.js +32 -54
  281. package/cjs/Sidenav/ExpandedSidenavDropdownItem.js +19 -41
  282. package/cjs/Sidenav/ExpandedSidenavDropdownMenu.js +22 -46
  283. package/cjs/Sidenav/Node.js +1 -12
  284. package/cjs/Sidenav/Sidenav.js +22 -45
  285. package/cjs/Sidenav/SidenavBody.js +1 -3
  286. package/cjs/Sidenav/SidenavDropdown.js +39 -70
  287. package/cjs/Sidenav/SidenavDropdownCollapse.js +9 -22
  288. package/cjs/Sidenav/SidenavDropdownItem.js +19 -45
  289. package/cjs/Sidenav/SidenavDropdownMenu.js +26 -54
  290. package/cjs/Sidenav/SidenavDropdownToggle.js +12 -25
  291. package/cjs/Sidenav/SidenavHeader.js +1 -3
  292. package/cjs/Sidenav/SidenavItem.js +27 -55
  293. package/cjs/Sidenav/SidenavToggle.js +11 -31
  294. package/cjs/Sidenav/index.js +1 -3
  295. package/cjs/Slider/Graduated.js +14 -29
  296. package/cjs/Slider/Handle.js +27 -52
  297. package/cjs/Slider/Input.js +2 -8
  298. package/cjs/Slider/Mark.js +11 -20
  299. package/cjs/Slider/ProgressBar.js +14 -23
  300. package/cjs/Slider/Slider.js +51 -84
  301. package/cjs/Slider/index.js +1 -3
  302. package/cjs/Slider/utils.js +1 -6
  303. package/cjs/Stack/Stack.js +22 -35
  304. package/cjs/Stack/StackItem.js +11 -17
  305. package/cjs/Stack/index.js +1 -3
  306. package/cjs/Steps/StepItem.js +16 -32
  307. package/cjs/Steps/Steps.js +18 -32
  308. package/cjs/Steps/index.js +1 -3
  309. package/cjs/Table/Table.js +6 -16
  310. package/cjs/Table/index.js +1 -3
  311. package/cjs/Tag/Tag.js +16 -28
  312. package/cjs/Tag/index.js +1 -3
  313. package/cjs/TagGroup/TagGroup.js +1 -3
  314. package/cjs/TagGroup/index.js +1 -3
  315. package/cjs/TagInput/index.js +7 -14
  316. package/cjs/TagPicker/index.js +5 -12
  317. package/cjs/Timeline/Timeline.js +14 -29
  318. package/cjs/Timeline/TimelineItem.js +14 -23
  319. package/cjs/Timeline/index.js +1 -3
  320. package/cjs/Toggle/Toggle.js +26 -45
  321. package/cjs/Toggle/index.js +1 -3
  322. package/cjs/Tooltip/Tooltip.js +13 -22
  323. package/cjs/Tooltip/index.js +1 -3
  324. package/cjs/Tree/Tree.js +1 -10
  325. package/cjs/Tree/TreeContext.js +1 -4
  326. package/cjs/Tree/index.js +1 -3
  327. package/cjs/TreePicker/TreeNode.js +37 -60
  328. package/cjs/TreePicker/TreePicker.js +155 -231
  329. package/cjs/TreePicker/index.js +1 -3
  330. package/cjs/Uploader/UploadFileItem.js +37 -82
  331. package/cjs/Uploader/UploadTrigger.js +24 -46
  332. package/cjs/Uploader/Uploader.js +89 -141
  333. package/cjs/Uploader/index.js +1 -3
  334. package/cjs/Whisper/Whisper.js +8 -20
  335. package/cjs/Whisper/index.js +1 -3
  336. package/cjs/Windowing/AutoSizer.js +13 -33
  337. package/cjs/Windowing/List.d.ts +2 -2
  338. package/cjs/Windowing/List.js +6 -22
  339. package/cjs/Windowing/index.js +1 -7
  340. package/cjs/index.js +1 -164
  341. package/cjs/locales/ar_EG.js +1 -4
  342. package/cjs/locales/da_DK.js +1 -5
  343. package/cjs/locales/de_DE.js +1 -5
  344. package/cjs/locales/default.js +1 -5
  345. package/cjs/locales/en_GB.js +1 -3
  346. package/cjs/locales/en_US.js +1 -4
  347. package/cjs/locales/es_AR.js +1 -5
  348. package/cjs/locales/es_ES.js +1 -5
  349. package/cjs/locales/fa_IR.js +1 -4
  350. package/cjs/locales/fi_FI.js +1 -5
  351. package/cjs/locales/fr_FR.js +1 -4
  352. package/cjs/locales/hu_HU.js +1 -5
  353. package/cjs/locales/index.js +1 -47
  354. package/cjs/locales/it_IT.js +1 -5
  355. package/cjs/locales/ja_JP.js +1 -5
  356. package/cjs/locales/kk_KZ.js +1 -4
  357. package/cjs/locales/ko_KR.js +1 -5
  358. package/cjs/locales/ne_NP.js +1 -5
  359. package/cjs/locales/nl_NL.js +1 -4
  360. package/cjs/locales/pt_BR.js +1 -4
  361. package/cjs/locales/ru_RU.js +1 -4
  362. package/cjs/locales/sv_SE.js +1 -5
  363. package/cjs/locales/tr_TR.js +1 -4
  364. package/cjs/locales/zh_CN.js +1 -4
  365. package/cjs/locales/zh_TW.js +1 -4
  366. package/cjs/toaster/ToastContainer.js +29 -52
  367. package/cjs/toaster/ToastContext.js +1 -4
  368. package/cjs/toaster/index.js +1 -4
  369. package/cjs/toaster/toaster.js +4 -27
  370. package/cjs/toaster/useToaster.js +2 -8
  371. package/cjs/utils/BrowserDetection.js +7 -24
  372. package/cjs/utils/ReactChildren.js +2 -19
  373. package/cjs/utils/ajaxUpload.js +15 -33
  374. package/cjs/utils/appendTooltip.js +3 -9
  375. package/cjs/utils/attachParent.js +1 -1
  376. package/cjs/utils/clone.js +1 -2
  377. package/cjs/utils/composeFunctions.js +1 -3
  378. package/cjs/utils/constants.js +3 -8
  379. package/cjs/utils/createChainedFunction.js +2 -6
  380. package/cjs/utils/createComponent.js +12 -24
  381. package/cjs/utils/dateUtils.js +7 -121
  382. package/cjs/utils/deprecateComponent.js +1 -8
  383. package/cjs/utils/deprecatePropType.js +2 -9
  384. package/cjs/utils/dom.js +3 -2
  385. package/cjs/utils/events.js +2 -3
  386. package/cjs/utils/getDOMNode.js +16 -9
  387. package/cjs/utils/getDataGroupBy.d.ts +0 -23
  388. package/cjs/utils/getDataGroupBy.js +5 -44
  389. package/cjs/utils/getSafeRegExpString.js +1 -1
  390. package/cjs/utils/guid.js +1 -1
  391. package/cjs/utils/htmlPropsUtils.js +23 -20
  392. package/cjs/utils/index.js +1 -86
  393. package/cjs/utils/isOneOf.js +1 -2
  394. package/cjs/utils/mergeRefs.js +1 -2
  395. package/cjs/utils/placementPolyfill.js +2 -5
  396. package/cjs/utils/prefix.js +4 -15
  397. package/cjs/utils/previewFile.js +1 -6
  398. package/cjs/utils/propTypeChecker.js +1 -8
  399. package/cjs/utils/reactToString.js +1 -5
  400. package/cjs/utils/render.js +3 -10
  401. package/cjs/utils/scrollTopAnimation.js +1 -9
  402. package/cjs/utils/shallowEqual.js +8 -14
  403. package/cjs/utils/shallowEqualArray.js +1 -7
  404. package/cjs/utils/statusIcons.js +1 -9
  405. package/cjs/utils/stringToObject.js +1 -7
  406. package/cjs/utils/tplTransform.js +2 -7
  407. package/cjs/utils/treeUtils.js +112 -327
  408. package/cjs/utils/useClassNames.js +9 -15
  409. package/cjs/utils/useClickOutside.js +4 -8
  410. package/cjs/utils/useControlled.js +11 -7
  411. package/cjs/utils/useCustom.js +12 -25
  412. package/cjs/utils/useElementResize.js +1 -6
  413. package/cjs/utils/useEnsuredRef.js +1 -4
  414. package/cjs/utils/useEventCallback.js +1 -4
  415. package/cjs/utils/useEventListener.js +1 -5
  416. package/cjs/utils/useFocus.js +5 -6
  417. package/cjs/utils/useInternalId.js +1 -6
  418. package/cjs/utils/useIsMounted.js +1 -3
  419. package/cjs/utils/useMap.js +5 -7
  420. package/cjs/utils/useMount.js +1 -4
  421. package/cjs/utils/usePortal.js +7 -20
  422. package/cjs/utils/useRootClose.js +9 -19
  423. package/cjs/utils/useTimeout.js +3 -8
  424. package/cjs/utils/useToggleCaret.js +2 -14
  425. package/cjs/utils/useUniqueId.js +2 -9
  426. package/cjs/utils/useUpdateEffect.js +3 -5
  427. package/cjs/utils/useUpdatedRef.js +1 -2
  428. package/cjs/utils/useWillUnmount.js +3 -5
  429. package/cjs/utils/warnOnce.js +2 -2
  430. package/dist/rsuite-no-reset-rtl.css +23 -25
  431. package/dist/rsuite-no-reset-rtl.min.css +1 -1
  432. package/dist/rsuite-no-reset-rtl.min.css.map +1 -1
  433. package/dist/rsuite-no-reset.css +23 -25
  434. package/dist/rsuite-no-reset.min.css +1 -1
  435. package/dist/rsuite-no-reset.min.css.map +1 -1
  436. package/dist/rsuite-rtl.css +23 -25
  437. package/dist/rsuite-rtl.min.css +1 -1
  438. package/dist/rsuite-rtl.min.css.map +1 -1
  439. package/dist/rsuite.css +23 -25
  440. package/dist/rsuite.js +394 -427
  441. package/dist/rsuite.js.map +1 -1
  442. package/dist/rsuite.min.css +1 -1
  443. package/dist/rsuite.min.css.map +1 -1
  444. package/dist/rsuite.min.js +1 -1
  445. package/dist/rsuite.min.js.map +1 -1
  446. package/esm/@types/common.js +1 -0
  447. package/esm/@types/utils.js +14 -2
  448. package/esm/Affix/Affix.js +39 -50
  449. package/esm/Affix/index.js +1 -0
  450. package/esm/Animation/Bounce.js +4 -5
  451. package/esm/Animation/Collapse.js +19 -26
  452. package/esm/Animation/Fade.js +6 -7
  453. package/esm/Animation/Slide.js +6 -7
  454. package/esm/Animation/Transition.js +16 -69
  455. package/esm/Animation/index.js +1 -0
  456. package/esm/Animation/utils.js +1 -2
  457. package/esm/AutoComplete/AutoComplete.js +55 -75
  458. package/esm/AutoComplete/index.js +1 -0
  459. package/esm/AutoComplete/utils.js +1 -4
  460. package/esm/Avatar/Avatar.js +18 -22
  461. package/esm/Avatar/index.js +1 -0
  462. package/esm/AvatarGroup/AvatarGroup.js +13 -16
  463. package/esm/AvatarGroup/index.js +1 -0
  464. package/esm/Badge/Badge.js +14 -19
  465. package/esm/Badge/index.js +1 -0
  466. package/esm/Breadcrumb/Breadcrumb.js +19 -30
  467. package/esm/Breadcrumb/BreadcrumbItem.js +14 -17
  468. package/esm/Breadcrumb/index.js +1 -0
  469. package/esm/Button/Button.js +22 -28
  470. package/esm/Button/index.js +1 -0
  471. package/esm/ButtonGroup/ButtonGroup.js +15 -16
  472. package/esm/ButtonGroup/ButtonGroupContext.js +1 -0
  473. package/esm/ButtonGroup/index.js +1 -0
  474. package/esm/ButtonToolbar/ButtonToolbar.js +10 -12
  475. package/esm/ButtonToolbar/index.js +1 -0
  476. package/esm/Calendar/Calendar.js +24 -29
  477. package/esm/Calendar/CalendarBody.js +14 -18
  478. package/esm/Calendar/CalendarContainer.js +46 -51
  479. package/esm/Calendar/CalendarContext.js +1 -0
  480. package/esm/Calendar/CalendarHeader.js +32 -41
  481. package/esm/Calendar/MonthDropdown.js +22 -27
  482. package/esm/Calendar/MonthDropdownItem.js +16 -20
  483. package/esm/Calendar/Table.js +10 -11
  484. package/esm/Calendar/TableHeaderRow.js +11 -15
  485. package/esm/Calendar/TableRow.js +36 -50
  486. package/esm/Calendar/TimeDropdown.js +24 -48
  487. package/esm/Calendar/index.js +1 -0
  488. package/esm/Calendar/types.js +1 -0
  489. package/esm/Calendar/useCalendarDate.js +3 -11
  490. package/esm/Calendar/useCalendarState.js +3 -6
  491. package/esm/Carousel/Carousel.js +40 -52
  492. package/esm/Carousel/index.js +1 -0
  493. package/esm/Cascader/Cascader.js +126 -178
  494. package/esm/Cascader/DropdownMenu.js +33 -45
  495. package/esm/Cascader/index.js +1 -0
  496. package/esm/Cascader/utils.js +13 -22
  497. package/esm/CheckPicker/CheckPicker.js +105 -139
  498. package/esm/CheckPicker/index.js +1 -0
  499. package/esm/CheckTree/index.js +1 -0
  500. package/esm/CheckTreePicker/CheckTreeNode.js +28 -44
  501. package/esm/CheckTreePicker/CheckTreePicker.js +165 -232
  502. package/esm/CheckTreePicker/index.js +1 -0
  503. package/esm/CheckTreePicker/utils.js +12 -35
  504. package/esm/Checkbox/Checkbox.js +48 -66
  505. package/esm/Checkbox/index.js +1 -0
  506. package/esm/CheckboxGroup/CheckboxGroup.js +20 -25
  507. package/esm/CheckboxGroup/CheckboxGroupContext.js +1 -0
  508. package/esm/CheckboxGroup/index.js +1 -0
  509. package/esm/CloseButton/CloseButton.js +10 -13
  510. package/esm/CloseButton/index.js +1 -0
  511. package/esm/Col/Col.js +10 -13
  512. package/esm/Col/index.js +1 -0
  513. package/esm/Container/Container.js +11 -13
  514. package/esm/Container/index.js +1 -0
  515. package/esm/Content/Content.js +1 -1
  516. package/esm/Content/index.js +1 -0
  517. package/esm/CustomProvider/CustomProvider.js +13 -16
  518. package/esm/CustomProvider/FormattedDate.js +3 -6
  519. package/esm/CustomProvider/index.js +1 -0
  520. package/esm/DOMHelper/index.js +1 -2
  521. package/esm/DOMHelper/isElement.js +1 -1
  522. package/esm/DatePicker/DatePicker.js +108 -131
  523. package/esm/DatePicker/PredefinedRanges.js +12 -19
  524. package/esm/DatePicker/Toolbar.js +20 -26
  525. package/esm/DatePicker/index.js +1 -0
  526. package/esm/DatePicker/types.js +1 -0
  527. package/esm/DatePicker/utils.js +5 -8
  528. package/esm/DateRangePicker/Calendar.js +18 -18
  529. package/esm/DateRangePicker/DateRangePicker.js +128 -184
  530. package/esm/DateRangePicker/DateRangePickerContext.js +1 -0
  531. package/esm/DateRangePicker/disabledDateUtils.js +9 -24
  532. package/esm/DateRangePicker/index.js +1 -0
  533. package/esm/DateRangePicker/types.js +1 -0
  534. package/esm/DateRangePicker/utils.js +7 -12
  535. package/esm/Disclosure/Disclosure.js +13 -24
  536. package/esm/Disclosure/DisclosureButton.js +4 -7
  537. package/esm/Disclosure/DisclosureContent.js +1 -2
  538. package/esm/Disclosure/DisclosureContext.js +1 -2
  539. package/esm/Disclosure/index.js +1 -0
  540. package/esm/Disclosure/useDisclosureContext.js +1 -2
  541. package/esm/Divider/Divider.js +11 -12
  542. package/esm/Divider/index.js +1 -0
  543. package/esm/Drawer/Drawer.js +10 -11
  544. package/esm/Drawer/index.js +1 -0
  545. package/esm/Dropdown/Dropdown.js +35 -50
  546. package/esm/Dropdown/DropdownContext.js +1 -0
  547. package/esm/Dropdown/DropdownItem.js +22 -31
  548. package/esm/Dropdown/DropdownMenu.js +36 -49
  549. package/esm/Dropdown/DropdownSeparator.js +8 -10
  550. package/esm/Dropdown/DropdownState.js +1 -7
  551. package/esm/Dropdown/DropdownToggle.js +17 -17
  552. package/esm/Dropdown/index.js +1 -0
  553. package/esm/Dropdown/useRenderDropdownItem.js +1 -2
  554. package/esm/FlexboxGrid/FlexboxGrid.js +12 -13
  555. package/esm/FlexboxGrid/FlexboxGridItem.js +12 -14
  556. package/esm/FlexboxGrid/index.js +1 -0
  557. package/esm/Footer/Footer.js +1 -0
  558. package/esm/Footer/index.js +1 -0
  559. package/esm/Form/Form.js +36 -63
  560. package/esm/Form/FormContext.js +1 -0
  561. package/esm/Form/index.js +1 -0
  562. package/esm/Form/useFormClassNames.js +11 -13
  563. package/esm/Form/useSchemaModel.js +2 -4
  564. package/esm/FormControl/FormControl.js +48 -68
  565. package/esm/FormControl/index.js +1 -0
  566. package/esm/FormControl/useRegisterModel.js +1 -2
  567. package/esm/FormControlLabel/FormControlLabel.js +10 -12
  568. package/esm/FormControlLabel/index.js +1 -0
  569. package/esm/FormErrorMessage/FormErrorMessage.js +12 -18
  570. package/esm/FormErrorMessage/index.js +1 -0
  571. package/esm/FormGroup/FormGroup.js +9 -10
  572. package/esm/FormGroup/index.js +1 -0
  573. package/esm/FormHelpText/FormHelpText.js +11 -15
  574. package/esm/FormHelpText/index.js +1 -0
  575. package/esm/Grid/Grid.js +10 -11
  576. package/esm/Grid/index.js +1 -0
  577. package/esm/Header/Header.js +1 -0
  578. package/esm/Header/index.js +1 -0
  579. package/esm/IconButton/IconButton.js +11 -12
  580. package/esm/IconButton/index.js +1 -0
  581. package/esm/Input/Input.js +26 -32
  582. package/esm/Input/index.js +1 -0
  583. package/esm/InputGroup/InputGroup.js +23 -26
  584. package/esm/InputGroup/InputGroupAddon.js +9 -10
  585. package/esm/InputGroup/InputGroupButton.js +7 -9
  586. package/esm/InputGroup/index.js +1 -0
  587. package/esm/InputNumber/InputNumber.js +42 -72
  588. package/esm/InputNumber/index.js +1 -0
  589. package/esm/InputPicker/InputAutosize.js +17 -37
  590. package/esm/InputPicker/InputPicker.js +149 -225
  591. package/esm/InputPicker/InputSearch.js +15 -20
  592. package/esm/InputPicker/index.js +1 -0
  593. package/esm/List/List.js +37 -39
  594. package/esm/List/ListContext.js +1 -0
  595. package/esm/List/ListItem.js +26 -30
  596. package/esm/List/helper/AutoScroller.js +11 -21
  597. package/esm/List/helper/useManager.js +1 -6
  598. package/esm/List/helper/useSortHelper.js +58 -74
  599. package/esm/List/helper/utils.js +6 -11
  600. package/esm/List/index.js +1 -0
  601. package/esm/Loader/Loader.js +17 -19
  602. package/esm/Loader/index.js +1 -0
  603. package/esm/MaskedInput/MaskedInput.js +2 -1
  604. package/esm/MaskedInput/TextMask.js +12 -14
  605. package/esm/MaskedInput/adjustCaretPosition.js +99 -69
  606. package/esm/MaskedInput/conformToMask.js +79 -70
  607. package/esm/MaskedInput/createTextMaskInputElement.js +65 -62
  608. package/esm/MaskedInput/index.js +1 -0
  609. package/esm/MaskedInput/types.js +1 -0
  610. package/esm/MaskedInput/utilities.js +1 -6
  611. package/esm/Menu/Menu.js +35 -66
  612. package/esm/Menu/MenuContext.js +1 -4
  613. package/esm/Menu/MenuItem.js +15 -19
  614. package/esm/Menu/Menubar.js +13 -23
  615. package/esm/Menu/index.js +1 -0
  616. package/esm/Menu/useMenu.js +4 -27
  617. package/esm/Message/Message.js +23 -34
  618. package/esm/Message/index.js +1 -0
  619. package/esm/Modal/Modal.js +70 -69
  620. package/esm/Modal/ModalBody.js +11 -13
  621. package/esm/Modal/ModalContext.js +1 -0
  622. package/esm/Modal/ModalDialog.js +14 -18
  623. package/esm/Modal/ModalFooter.js +1 -0
  624. package/esm/Modal/ModalHeader.js +14 -16
  625. package/esm/Modal/ModalTitle.js +9 -10
  626. package/esm/Modal/index.js +1 -0
  627. package/esm/Modal/utils.js +8 -12
  628. package/esm/MultiCascader/DropdownMenu.js +38 -48
  629. package/esm/MultiCascader/MultiCascader.js +129 -174
  630. package/esm/MultiCascader/index.js +1 -0
  631. package/esm/MultiCascader/utils.js +44 -87
  632. package/esm/Nav/Nav.js +27 -45
  633. package/esm/Nav/NavContext.js +1 -0
  634. package/esm/Nav/NavDropdown.js +28 -44
  635. package/esm/Nav/NavDropdownItem.js +20 -31
  636. package/esm/Nav/NavDropdownMenu.js +26 -42
  637. package/esm/Nav/NavDropdownToggle.js +12 -15
  638. package/esm/Nav/NavItem.js +20 -28
  639. package/esm/Nav/NavMenu.js +2 -13
  640. package/esm/Nav/index.js +1 -0
  641. package/esm/Navbar/Navbar.js +10 -11
  642. package/esm/Navbar/NavbarBody.js +1 -0
  643. package/esm/Navbar/NavbarBrand.js +1 -0
  644. package/esm/Navbar/NavbarDropdown.js +25 -33
  645. package/esm/Navbar/NavbarDropdownItem.js +18 -30
  646. package/esm/Navbar/NavbarDropdownMenu.js +22 -37
  647. package/esm/Navbar/NavbarDropdownToggle.js +12 -14
  648. package/esm/Navbar/NavbarHeader.js +1 -0
  649. package/esm/Navbar/NavbarItem.js +19 -23
  650. package/esm/Navbar/index.js +1 -0
  651. package/esm/Notification/Notification.js +20 -32
  652. package/esm/Notification/index.js +1 -0
  653. package/esm/Overlay/Modal.js +40 -64
  654. package/esm/Overlay/ModalManager.js +1 -19
  655. package/esm/Overlay/Overlay.js +28 -37
  656. package/esm/Overlay/OverlayContext.js +1 -0
  657. package/esm/Overlay/OverlayTrigger.js +68 -101
  658. package/esm/Overlay/Position.js +25 -47
  659. package/esm/Overlay/index.js +1 -0
  660. package/esm/Overlay/positionUtils.js +25 -73
  661. package/esm/Pagination/Pagination.js +30 -55
  662. package/esm/Pagination/PaginationButton.js +15 -19
  663. package/esm/Pagination/PaginationGroup.js +38 -49
  664. package/esm/Pagination/index.js +1 -0
  665. package/esm/Panel/Panel.js +37 -49
  666. package/esm/Panel/index.js +1 -0
  667. package/esm/PanelGroup/PanelGroup.js +16 -18
  668. package/esm/PanelGroup/index.js +1 -0
  669. package/esm/Picker/DropdownMenu.js +50 -72
  670. package/esm/Picker/DropdownMenuCheckItem.js +22 -24
  671. package/esm/Picker/DropdownMenuGroup.js +10 -13
  672. package/esm/Picker/DropdownMenuItem.js +15 -18
  673. package/esm/Picker/PickerOverlay.js +12 -17
  674. package/esm/Picker/PickerToggle.js +57 -71
  675. package/esm/Picker/PickerToggleTrigger.js +8 -10
  676. package/esm/Picker/SearchBar.js +14 -15
  677. package/esm/Picker/SelectedElement.js +9 -14
  678. package/esm/Picker/ToggleButton.js +1 -0
  679. package/esm/Picker/index.js +1 -0
  680. package/esm/Picker/propTypes.js +1 -1
  681. package/esm/Picker/types.js +1 -0
  682. package/esm/Picker/utils.js +94 -182
  683. package/esm/Placeholder/Placeholder.js +1 -0
  684. package/esm/Placeholder/PlaceholderGraph.js +13 -16
  685. package/esm/Placeholder/PlaceholderGrid.js +18 -25
  686. package/esm/Placeholder/PlaceholderParagraph.js +17 -20
  687. package/esm/Placeholder/index.js +1 -0
  688. package/esm/Plaintext/Plaintext.js +14 -17
  689. package/esm/Plaintext/index.js +1 -0
  690. package/esm/Popover/Popover.js +16 -21
  691. package/esm/Popover/index.js +1 -0
  692. package/esm/Progress/Progress.js +1 -0
  693. package/esm/Progress/ProgressCircle.js +30 -39
  694. package/esm/Progress/ProgressLine.js +19 -21
  695. package/esm/Progress/index.js +1 -0
  696. package/esm/Radio/Radio.js +42 -52
  697. package/esm/Radio/index.js +1 -0
  698. package/esm/RadioGroup/RadioGroup.js +22 -25
  699. package/esm/RadioGroup/index.js +1 -0
  700. package/esm/RadioTile/RadioTile.js +30 -34
  701. package/esm/RadioTile/index.js +1 -0
  702. package/esm/RadioTileGroup/RadioTileGroup.js +17 -20
  703. package/esm/RadioTileGroup/index.js +1 -0
  704. package/esm/RangeSlider/RangeSlider.js +63 -86
  705. package/esm/RangeSlider/index.js +1 -0
  706. package/esm/Rate/Character.js +16 -21
  707. package/esm/Rate/Rate.js +35 -48
  708. package/esm/Rate/index.js +1 -0
  709. package/esm/Rate/utils.js +1 -2
  710. package/esm/Ripple/Ripple.js +16 -30
  711. package/esm/Ripple/index.js +1 -0
  712. package/esm/Row/Row.js +11 -14
  713. package/esm/Row/index.js +1 -0
  714. package/esm/SafeAnchor/SafeAnchor.js +8 -13
  715. package/esm/SafeAnchor/index.js +1 -0
  716. package/esm/Schema/Schema.js +1 -0
  717. package/esm/Schema/index.js +1 -0
  718. package/esm/SelectPicker/SelectPicker.js +137 -157
  719. package/esm/SelectPicker/index.js +1 -0
  720. package/esm/Sidebar/Sidebar.js +13 -18
  721. package/esm/Sidebar/index.js +1 -0
  722. package/esm/Sidenav/ExpandedSidenavDropdown.js +32 -35
  723. package/esm/Sidenav/ExpandedSidenavDropdownItem.js +19 -27
  724. package/esm/Sidenav/ExpandedSidenavDropdownMenu.js +22 -29
  725. package/esm/Sidenav/Node.js +1 -10
  726. package/esm/Sidenav/Sidenav.js +22 -28
  727. package/esm/Sidenav/SidenavBody.js +1 -0
  728. package/esm/Sidenav/SidenavDropdown.js +39 -52
  729. package/esm/Sidenav/SidenavDropdownCollapse.js +9 -13
  730. package/esm/Sidenav/SidenavDropdownItem.js +19 -31
  731. package/esm/Sidenav/SidenavDropdownMenu.js +26 -41
  732. package/esm/Sidenav/SidenavDropdownToggle.js +12 -14
  733. package/esm/Sidenav/SidenavHeader.js +1 -0
  734. package/esm/Sidenav/SidenavItem.js +27 -37
  735. package/esm/Sidenav/SidenavToggle.js +11 -18
  736. package/esm/Sidenav/index.js +1 -0
  737. package/esm/Slider/Graduated.js +14 -21
  738. package/esm/Slider/Handle.js +27 -39
  739. package/esm/Slider/Input.js +2 -2
  740. package/esm/Slider/Mark.js +11 -14
  741. package/esm/Slider/ProgressBar.js +14 -18
  742. package/esm/Slider/Slider.js +51 -67
  743. package/esm/Slider/index.js +1 -0
  744. package/esm/Slider/utils.js +1 -5
  745. package/esm/Stack/Stack.js +22 -27
  746. package/esm/Stack/StackItem.js +11 -11
  747. package/esm/Stack/index.js +1 -0
  748. package/esm/Steps/StepItem.js +16 -22
  749. package/esm/Steps/Steps.js +18 -22
  750. package/esm/Steps/index.js +1 -0
  751. package/esm/Table/Table.js +6 -7
  752. package/esm/Table/index.js +1 -0
  753. package/esm/Tag/Tag.js +16 -19
  754. package/esm/Tag/index.js +1 -0
  755. package/esm/TagGroup/TagGroup.js +1 -0
  756. package/esm/TagGroup/index.js +1 -0
  757. package/esm/TagInput/index.js +7 -7
  758. package/esm/TagPicker/index.js +5 -5
  759. package/esm/Timeline/Timeline.js +14 -19
  760. package/esm/Timeline/TimelineItem.js +14 -15
  761. package/esm/Timeline/index.js +1 -0
  762. package/esm/Toggle/Toggle.js +26 -35
  763. package/esm/Toggle/index.js +1 -0
  764. package/esm/Tooltip/Tooltip.js +13 -16
  765. package/esm/Tooltip/index.js +1 -0
  766. package/esm/Tree/Tree.js +1 -3
  767. package/esm/Tree/TreeContext.js +1 -0
  768. package/esm/Tree/index.js +1 -0
  769. package/esm/TreePicker/TreeNode.js +37 -49
  770. package/esm/TreePicker/TreePicker.js +155 -218
  771. package/esm/TreePicker/index.js +1 -0
  772. package/esm/Uploader/UploadFileItem.js +37 -68
  773. package/esm/Uploader/UploadTrigger.js +24 -38
  774. package/esm/Uploader/Uploader.js +90 -132
  775. package/esm/Uploader/index.js +1 -0
  776. package/esm/Whisper/Whisper.js +8 -10
  777. package/esm/Whisper/index.js +1 -0
  778. package/esm/Windowing/AutoSizer.js +13 -24
  779. package/esm/Windowing/List.d.ts +2 -2
  780. package/esm/Windowing/List.js +6 -15
  781. package/esm/Windowing/index.js +1 -0
  782. package/esm/index.js +3 -0
  783. package/esm/locales/ar_EG.js +1 -0
  784. package/esm/locales/da_DK.js +1 -1
  785. package/esm/locales/de_DE.js +1 -1
  786. package/esm/locales/default.js +1 -1
  787. package/esm/locales/en_GB.js +1 -0
  788. package/esm/locales/en_US.js +1 -0
  789. package/esm/locales/es_AR.js +1 -1
  790. package/esm/locales/es_ES.js +1 -1
  791. package/esm/locales/fa_IR.js +1 -0
  792. package/esm/locales/fi_FI.js +1 -1
  793. package/esm/locales/fr_FR.js +1 -0
  794. package/esm/locales/hu_HU.js +1 -1
  795. package/esm/locales/index.js +1 -0
  796. package/esm/locales/it_IT.js +1 -1
  797. package/esm/locales/ja_JP.js +1 -1
  798. package/esm/locales/kk_KZ.js +1 -0
  799. package/esm/locales/ko_KR.js +1 -1
  800. package/esm/locales/ne_NP.js +1 -1
  801. package/esm/locales/nl_NL.js +1 -0
  802. package/esm/locales/pt_BR.js +1 -0
  803. package/esm/locales/ru_RU.js +1 -0
  804. package/esm/locales/sv_SE.js +1 -1
  805. package/esm/locales/tr_TR.js +1 -0
  806. package/esm/locales/zh_CN.js +1 -0
  807. package/esm/locales/zh_TW.js +1 -0
  808. package/esm/toaster/ToastContainer.js +29 -42
  809. package/esm/toaster/ToastContext.js +1 -0
  810. package/esm/toaster/index.js +1 -0
  811. package/esm/toaster/toaster.js +4 -22
  812. package/esm/toaster/useToaster.js +3 -5
  813. package/esm/utils/BrowserDetection.js +9 -9
  814. package/esm/utils/ReactChildren.js +2 -8
  815. package/esm/utils/ajaxUpload.js +15 -32
  816. package/esm/utils/appendTooltip.js +3 -3
  817. package/esm/utils/attachParent.js +1 -0
  818. package/esm/utils/clone.js +1 -1
  819. package/esm/utils/composeFunctions.js +1 -1
  820. package/esm/utils/constants.js +4 -7
  821. package/esm/utils/createChainedFunction.js +2 -5
  822. package/esm/utils/createComponent.js +12 -16
  823. package/esm/utils/dateUtils.js +7 -23
  824. package/esm/utils/deprecateComponent.js +2 -2
  825. package/esm/utils/deprecatePropType.js +4 -6
  826. package/esm/utils/dom.js +3 -1
  827. package/esm/utils/events.js +2 -1
  828. package/esm/utils/getDOMNode.js +15 -8
  829. package/esm/utils/getDataGroupBy.d.ts +0 -23
  830. package/esm/utils/getDataGroupBy.js +5 -39
  831. package/esm/utils/getSafeRegExpString.js +1 -0
  832. package/esm/utils/guid.js +1 -0
  833. package/esm/utils/htmlPropsUtils.js +23 -14
  834. package/esm/utils/index.js +2 -1
  835. package/esm/utils/isOneOf.js +1 -1
  836. package/esm/utils/mergeRefs.js +1 -1
  837. package/esm/utils/placementPolyfill.js +2 -4
  838. package/esm/utils/prefix.js +4 -4
  839. package/esm/utils/previewFile.js +1 -3
  840. package/esm/utils/propTypeChecker.js +1 -3
  841. package/esm/utils/reactToString.js +1 -2
  842. package/esm/utils/render.js +3 -5
  843. package/esm/utils/scrollTopAnimation.js +1 -5
  844. package/esm/utils/shallowEqual.js +8 -13
  845. package/esm/utils/shallowEqualArray.js +1 -5
  846. package/esm/utils/statusIcons.js +1 -0
  847. package/esm/utils/stringToObject.js +3 -4
  848. package/esm/utils/tplTransform.js +2 -4
  849. package/esm/utils/treeUtils.js +113 -265
  850. package/esm/utils/useClassNames.js +9 -9
  851. package/esm/utils/useClickOutside.js +4 -6
  852. package/esm/utils/useControlled.js +12 -6
  853. package/esm/utils/useCustom.js +12 -20
  854. package/esm/utils/useElementResize.js +2 -4
  855. package/esm/utils/useEnsuredRef.js +2 -3
  856. package/esm/utils/useEventCallback.js +2 -3
  857. package/esm/utils/useEventListener.js +2 -2
  858. package/esm/utils/useFocus.js +5 -4
  859. package/esm/utils/useInternalId.js +2 -3
  860. package/esm/utils/useIsMounted.js +1 -2
  861. package/esm/utils/useMap.js +5 -5
  862. package/esm/utils/useMount.js +1 -3
  863. package/esm/utils/usePortal.js +7 -13
  864. package/esm/utils/useRootClose.js +9 -13
  865. package/esm/utils/useTimeout.js +3 -7
  866. package/esm/utils/useToggleCaret.js +2 -7
  867. package/esm/utils/useUniqueId.js +2 -4
  868. package/esm/utils/useUpdateEffect.js +3 -4
  869. package/esm/utils/useUpdatedRef.js +2 -1
  870. package/esm/utils/useWillUnmount.js +4 -2
  871. package/esm/utils/warnOnce.js +2 -2
  872. package/package.json +2 -2
  873. package/styles/color-modes/light.less +4 -4
  874. package/styles/mixins/listbox.less +0 -2
  875. package/cjs/SelectPicker/Listbox.d.ts +0 -34
  876. package/cjs/SelectPicker/Listbox.js +0 -263
  877. package/cjs/SelectPicker/ListboxOption.d.ts +0 -11
  878. package/cjs/SelectPicker/ListboxOption.js +0 -50
  879. package/cjs/SelectPicker/ListboxOptionGroup.d.ts +0 -9
  880. package/cjs/SelectPicker/ListboxOptionGroup.js +0 -69
  881. package/esm/SelectPicker/Listbox.d.ts +0 -34
  882. package/esm/SelectPicker/Listbox.js +0 -240
  883. package/esm/SelectPicker/ListboxOption.d.ts +0 -11
  884. package/esm/SelectPicker/ListboxOption.js +0 -37
  885. package/esm/SelectPicker/ListboxOptionGroup.d.ts +0 -9
  886. package/esm/SelectPicker/ListboxOptionGroup.js +0 -53
@@ -1,41 +1,38 @@
1
+ 'use client';
1
2
  import { useCallback, useContext, useEffect, useRef } from 'react';
2
3
  import PropTypes from 'prop-types';
3
4
  import isNil from 'lodash/isNil';
4
5
  import useUniqueId from '../utils/useUniqueId';
5
6
  import MenuContext, { MenuActionTypes, MoveFocusTo } from './MenuContext';
6
-
7
7
  /**
8
8
  * Headless ARIA `menuitem`
9
9
  * @private
10
10
  */
11
11
  function MenuItem(props) {
12
12
  var _menuState$items$menu;
13
-
14
13
  var children = props.children,
15
- _props$selected = props.selected,
16
- selected = _props$selected === void 0 ? false : _props$selected,
17
- _props$disabled = props.disabled,
18
- disabled = _props$disabled === void 0 ? false : _props$disabled,
19
- onActivate = props.onActivate;
14
+ _props$selected = props.selected,
15
+ selected = _props$selected === void 0 ? false : _props$selected,
16
+ _props$disabled = props.disabled,
17
+ disabled = _props$disabled === void 0 ? false : _props$disabled,
18
+ onActivate = props.onActivate;
20
19
  var menuitemRef = useRef(null);
21
20
  var menuitemId = useUniqueId('menuitem-');
22
21
  var menu = useContext(MenuContext);
23
-
24
22
  if (!menu) {
25
23
  throw new Error('<MenuItem> must be rendered within a <Menu>');
26
24
  }
27
-
28
25
  var menuState = menu[0],
29
- dispatch = menu[1]; // Whether this menuitem has focus (indicated by `aria-activedescendant` from parent menu)
30
-
26
+ dispatch = menu[1]; // Whether this menuitem has focus (indicated by `aria-activedescendant` from parent menu)
31
27
  var hasFocus = !isNil(menuitemRef.current) && !isNil(menuState.activeItemIndex) && ((_menuState$items$menu = menuState.items[menuState.activeItemIndex]) === null || _menuState$items$menu === void 0 ? void 0 : _menuState$items$menu.element) === menuitemRef.current;
32
28
  var handleClick = useCallback(function (event) {
33
29
  if (disabled) {
34
30
  return;
35
31
  }
36
-
37
32
  onActivate === null || onActivate === void 0 ? void 0 : onActivate(event);
38
- }, [disabled, onActivate]); // Gain/release focus on mousedown in `menubar`
33
+ }, [disabled, onActivate]);
34
+
35
+ // Gain/release focus on mousedown in `menubar`
39
36
 
40
37
  var handleMouseDown = useCallback(function () {
41
38
  if (!isNil(menuitemRef.current) && !hasFocus) {
@@ -45,8 +42,9 @@ function MenuItem(props) {
45
42
  id: menuitemRef.current.id
46
43
  });
47
44
  }
48
- }, [dispatch, hasFocus]); // Gain/release focus on mouseenter/mouseleave in `menu`
45
+ }, [dispatch, hasFocus]);
49
46
 
47
+ // Gain/release focus on mouseenter/mouseleave in `menu`
50
48
  var handleMouseMove = useCallback(function () {
51
49
  if (!isNil(menuitemRef.current) && !hasFocus) {
52
50
  dispatch({
@@ -64,7 +62,6 @@ function MenuItem(props) {
64
62
  }, [dispatch]);
65
63
  useEffect(function () {
66
64
  var menuitemElement = menuitemRef.current;
67
-
68
65
  if (menuitemElement) {
69
66
  dispatch({
70
67
  type: MenuActionTypes.RegisterItem,
@@ -90,24 +87,23 @@ function MenuItem(props) {
90
87
  tabIndex: -1,
91
88
  onClick: handleClick,
92
89
  // render props
90
+
93
91
  selected: selected,
94
92
  active: hasFocus
95
- }; // Only move focus on hover in a `menu`, not `menubar`
93
+ };
96
94
 
95
+ // Only move focus on hover in a `menu`, not `menubar`
97
96
  if ((menuState === null || menuState === void 0 ? void 0 : menuState.role) === 'menu') {
98
97
  menuitemProps.onMouseMove = handleMouseMove;
99
98
  menuitemProps.onMouseLeave = handleMouseLeave;
100
99
  }
101
-
102
100
  if ((menuState === null || menuState === void 0 ? void 0 : menuState.role) === 'menubar') {
103
101
  menuitemProps.onMouseDown = handleMouseDown;
104
102
  menuitemProps.onMouseOver = handleMouseMove;
105
103
  menuitemProps.onMouseLeave = handleMouseLeave;
106
104
  }
107
-
108
105
  return children(menuitemProps, menuitemRef);
109
106
  }
110
-
111
107
  MenuItem.displayName = 'MenuItem';
112
108
  MenuItem.propTypes = {
113
109
  selected: PropTypes.bool,
@@ -1,3 +1,4 @@
1
+ 'use client';
1
2
  // Headless ARIA `menubar`
2
3
  import React, { useCallback, useRef } from 'react';
3
4
  import isNil from 'lodash/isNil';
@@ -6,28 +7,27 @@ import { KEY_VALUES, useCustom } from '../utils';
6
7
  import { isFocusEntering, isFocusLeaving } from '../utils/events';
7
8
  import useMenu from './useMenu';
8
9
  import { isFocusableElement } from '../utils/dom';
9
-
10
10
  /**
11
11
  * @private
12
12
  */
13
13
  export default function Menubar(_ref) {
14
14
  var _items$activeItemInde3;
15
-
16
15
  var _ref$vertical = _ref.vertical,
17
- vertical = _ref$vertical === void 0 ? false : _ref$vertical,
18
- children = _ref.children,
19
- onActivateItem = _ref.onActivateItem;
16
+ vertical = _ref$vertical === void 0 ? false : _ref$vertical,
17
+ children = _ref.children,
18
+ onActivateItem = _ref.onActivateItem;
20
19
  var menubar = useMenu({
21
20
  role: 'menubar'
22
21
  });
23
22
  var _menubar$ = menubar[0],
24
- items = _menubar$.items,
25
- activeItemIndex = _menubar$.activeItemIndex,
26
- dispatch = menubar[1];
23
+ items = _menubar$.items,
24
+ activeItemIndex = _menubar$.activeItemIndex,
25
+ dispatch = menubar[1];
27
26
  var menubarElementRef = useRef(null);
28
27
  var onFocus = useCallback(function (event) {
29
28
  // Focus moves inside Menubar
30
- if (isFocusEntering(event) && // Skip if focus is moving to a focusable element within this menu
29
+ if (isFocusEntering(event) &&
30
+ // Skip if focus is moving to a focusable element within this menu
31
31
  !(event.target !== event.currentTarget && isFocusableElement(event.target))) {
32
32
  if (activeItemIndex === null) {
33
33
  dispatch({
@@ -46,15 +46,11 @@ export default function Menubar(_ref) {
46
46
  });
47
47
  }
48
48
  }, [dispatch]);
49
-
50
49
  var _useCustom = useCustom('Menubar'),
51
- rtl = _useCustom.rtl;
52
-
50
+ rtl = _useCustom.rtl;
53
51
  var onKeyDown = useCallback(function (event) {
54
52
  var _items$activeItemInde, _items$activeItemInde2;
55
-
56
53
  var activeItemElement = isNil(activeItemIndex) ? null : (_items$activeItemInde = (_items$activeItemInde2 = items[activeItemIndex]) === null || _items$activeItemInde2 === void 0 ? void 0 : _items$activeItemInde2.element) !== null && _items$activeItemInde !== void 0 ? _items$activeItemInde : null;
57
-
58
54
  switch (true) {
59
55
  case !vertical && !rtl && event.key === KEY_VALUES.RIGHT:
60
56
  case !vertical && rtl && event.key === KEY_VALUES.LEFT:
@@ -66,7 +62,6 @@ export default function Menubar(_ref) {
66
62
  to: MoveFocusTo.Next
67
63
  });
68
64
  break;
69
-
70
65
  case !vertical && !rtl && event.key === KEY_VALUES.LEFT:
71
66
  case !vertical && rtl && event.key === KEY_VALUES.RIGHT:
72
67
  case vertical && event.key === KEY_VALUES.UP:
@@ -77,7 +72,6 @@ export default function Menubar(_ref) {
77
72
  to: MoveFocusTo.Prev
78
73
  });
79
74
  break;
80
-
81
75
  case event.key === KEY_VALUES.HOME:
82
76
  event.preventDefault();
83
77
  event.stopPropagation();
@@ -86,7 +80,6 @@ export default function Menubar(_ref) {
86
80
  to: MoveFocusTo.First
87
81
  });
88
82
  break;
89
-
90
83
  case event.key === KEY_VALUES.END:
91
84
  event.preventDefault();
92
85
  event.stopPropagation();
@@ -95,7 +88,6 @@ export default function Menubar(_ref) {
95
88
  to: MoveFocusTo.Last
96
89
  });
97
90
  break;
98
-
99
91
  case !vertical && event.key === KEY_VALUES.DOWN:
100
92
  case vertical && !rtl && event.key === KEY_VALUES.RIGHT:
101
93
  case vertical && rtl && event.key === KEY_VALUES.LEFT:
@@ -104,9 +96,7 @@ export default function Menubar(_ref) {
104
96
  event.stopPropagation();
105
97
  activeItemElement.click();
106
98
  }
107
-
108
99
  break;
109
-
110
100
  case event.key === KEY_VALUES.ENTER:
111
101
  case event.key === KEY_VALUES.SPACE:
112
102
  event.preventDefault();
@@ -114,9 +104,10 @@ export default function Menubar(_ref) {
114
104
  activeItemElement === null || activeItemElement === void 0 ? void 0 : activeItemElement.click();
115
105
  break;
116
106
  }
117
- }, [rtl, items, activeItemIndex, dispatch, vertical]); // Only used for handling click events bubbling from children
118
- // Which indicates that a child menuitem is being activated
107
+ }, [rtl, items, activeItemIndex, dispatch, vertical]);
119
108
 
109
+ // Only used for handling click events bubbling from children
110
+ // Which indicates that a child menuitem is being activated
120
111
  var onClick = useCallback(function (event) {
121
112
  if (items.some(function (item) {
122
113
  return item.element === event.target;
@@ -135,6 +126,5 @@ export default function Menubar(_ref) {
135
126
  onClick: onClick,
136
127
  'aria-activedescendant': isNil(activeItemIndex) ? undefined : (_items$activeItemInde3 = items[activeItemIndex]) === null || _items$activeItemInde3 === void 0 ? void 0 : _items$activeItemInde3.element.id,
137
128
  'aria-orientation': vertical ? 'vertical' : undefined // implicitly set 'horizontal'
138
-
139
129
  }, menubarElementRef));
140
130
  }
package/esm/Menu/index.js CHANGED
@@ -1,2 +1,3 @@
1
+ 'use client';
1
2
  import Menu from './Menu';
2
3
  export default Menu;
@@ -1,3 +1,4 @@
1
+ 'use client';
1
2
  import _extends from "@babel/runtime/helpers/esm/extends";
2
3
  // Inspired by tailwindlabs/headlessui
3
4
  import { useReducer } from 'react';
@@ -10,8 +11,7 @@ export var initialMenuState = {
10
11
  };
11
12
  export function menuReducer(state, action) {
12
13
  var items = state.items,
13
- activeItemIndex = state.activeItemIndex;
14
-
14
+ activeItemIndex = state.activeItemIndex;
15
15
  switch (action.type) {
16
16
  case MenuActionTypes.RegisterItem:
17
17
  return _extends({}, state, {
@@ -20,97 +20,75 @@ export function menuReducer(state, action) {
20
20
  props: action.props
21
21
  }])
22
22
  });
23
-
24
23
  case MenuActionTypes.UnregisterItem:
25
24
  return _extends({}, state, {
26
25
  items: items.filter(function (item) {
27
26
  return item.element.id !== action.id;
28
27
  })
29
28
  });
30
-
31
29
  case MenuActionTypes.OpenMenu:
32
30
  return _extends({}, state, {
33
31
  open: true
34
32
  });
35
-
36
33
  case MenuActionTypes.CloseMenu:
37
34
  return _extends({}, state, {
38
35
  open: false
39
36
  });
40
-
41
37
  case MenuActionTypes.MoveFocus:
42
38
  var nextActiveItemIndex = activeItemIndex;
43
-
44
39
  switch (action.to) {
45
40
  case MoveFocusTo.Next:
46
41
  for (var i = activeItemIndex === null ? 0 : activeItemIndex + 1; i < items.length; i++) {
47
42
  var _items$i$props;
48
-
49
43
  if (!((_items$i$props = items[i].props) !== null && _items$i$props !== void 0 && _items$i$props.disabled)) {
50
44
  nextActiveItemIndex = i;
51
45
  break;
52
46
  }
53
47
  }
54
-
55
48
  break;
56
-
57
49
  case MoveFocusTo.Prev:
58
50
  for (var _i = activeItemIndex === null ? items.length - 1 : activeItemIndex - 1; _i >= 0; _i--) {
59
51
  var _items$_i$props;
60
-
61
52
  if (!((_items$_i$props = items[_i].props) !== null && _items$_i$props !== void 0 && _items$_i$props.disabled)) {
62
53
  nextActiveItemIndex = _i;
63
54
  break;
64
55
  }
65
56
  }
66
-
67
57
  break;
68
-
69
58
  case MoveFocusTo.First:
70
59
  for (var _i2 = 0; _i2 < items.length; _i2++) {
71
60
  var _items$_i2$props;
72
-
73
61
  if (!((_items$_i2$props = items[_i2].props) !== null && _items$_i2$props !== void 0 && _items$_i2$props.disabled)) {
74
62
  nextActiveItemIndex = _i2;
75
63
  break;
76
64
  }
77
65
  }
78
-
79
66
  break;
80
-
81
67
  case MoveFocusTo.Last:
82
68
  for (var _i3 = items.length - 1; _i3 >= 0; _i3--) {
83
69
  var _items$_i3$props;
84
-
85
70
  if (!((_items$_i3$props = items[_i3].props) !== null && _items$_i3$props !== void 0 && _items$_i3$props.disabled)) {
86
71
  nextActiveItemIndex = _i3;
87
72
  break;
88
73
  }
89
74
  }
90
-
91
75
  break;
92
-
93
76
  case MoveFocusTo.Specific:
94
77
  for (var _i4 = 0; _i4 < items.length; _i4++) {
95
78
  var _items$_i4$props;
96
-
97
79
  if (items[_i4].element.id === action.id && !((_items$_i4$props = items[_i4].props) !== null && _items$_i4$props !== void 0 && _items$_i4$props.disabled)) {
98
80
  nextActiveItemIndex = _i4;
99
81
  break;
100
82
  }
101
83
  }
102
-
103
84
  break;
104
-
105
85
  case MoveFocusTo.None:
106
86
  nextActiveItemIndex = null;
107
87
  break;
108
88
  }
109
-
110
89
  return _extends({}, state, {
111
90
  activeItemIndex: nextActiveItemIndex
112
91
  });
113
-
114
92
  default:
115
93
  return state;
116
94
  }
@@ -118,8 +96,7 @@ export function menuReducer(state, action) {
118
96
  export default function useMenu(initialState) {
119
97
  // `menuitem`s
120
98
  var _useReducer = useReducer(menuReducer, _extends({}, initialMenuState, initialState)),
121
- state = _useReducer[0],
122
- dispatch = _useReducer[1];
123
-
99
+ state = _useReducer[0],
100
+ dispatch = _useReducer[1];
124
101
  return [state, dispatch];
125
102
  }
@@ -1,9 +1,8 @@
1
+ 'use client';
1
2
  import _extends from "@babel/runtime/helpers/esm/extends";
2
3
  import _taggedTemplateLiteralLoose from "@babel/runtime/helpers/esm/taggedTemplateLiteralLoose";
3
4
  import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
4
-
5
5
  var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5;
6
-
7
6
  import React, { useState, useCallback, useContext } from 'react';
8
7
  import PropTypes from 'prop-types';
9
8
  import { useClassNames, useTimeout, MESSAGE_STATUS_ICONS, STATUS, useIsMounted } from '../utils';
@@ -11,42 +10,34 @@ import CloseButton from '../CloseButton';
11
10
  import ToastContext from '../toaster/ToastContext';
12
11
  var Message = /*#__PURE__*/React.forwardRef(function (props, ref) {
13
12
  var _withClassPrefix;
14
-
15
13
  var _props$as = props.as,
16
- Component = _props$as === void 0 ? 'div' : _props$as,
17
- className = props.className,
18
- _props$classPrefix = props.classPrefix,
19
- classPrefix = _props$classPrefix === void 0 ? 'message' : _props$classPrefix,
20
- children = props.children,
21
- closable = props.closable,
22
- _props$duration = props.duration,
23
- duration = _props$duration === void 0 ? 2000 : _props$duration,
24
- full = props.full,
25
- header = props.header,
26
- _props$type = props.type,
27
- type = _props$type === void 0 ? 'info' : _props$type,
28
- showIcon = props.showIcon,
29
- onClose = props.onClose,
30
- rest = _objectWithoutPropertiesLoose(props, ["as", "className", "classPrefix", "children", "closable", "duration", "full", "header", "type", "showIcon", "onClose"]);
31
-
14
+ Component = _props$as === void 0 ? 'div' : _props$as,
15
+ className = props.className,
16
+ _props$classPrefix = props.classPrefix,
17
+ classPrefix = _props$classPrefix === void 0 ? 'message' : _props$classPrefix,
18
+ children = props.children,
19
+ closable = props.closable,
20
+ _props$duration = props.duration,
21
+ duration = _props$duration === void 0 ? 2000 : _props$duration,
22
+ full = props.full,
23
+ header = props.header,
24
+ _props$type = props.type,
25
+ type = _props$type === void 0 ? 'info' : _props$type,
26
+ showIcon = props.showIcon,
27
+ onClose = props.onClose,
28
+ rest = _objectWithoutPropertiesLoose(props, ["as", "className", "classPrefix", "children", "closable", "duration", "full", "header", "type", "showIcon", "onClose"]);
32
29
  var _useState = useState('show'),
33
- display = _useState[0],
34
- setDisplay = _useState[1];
35
-
30
+ display = _useState[0],
31
+ setDisplay = _useState[1];
36
32
  var _useClassNames = useClassNames(classPrefix),
37
- withClassPrefix = _useClassNames.withClassPrefix,
38
- merge = _useClassNames.merge,
39
- prefix = _useClassNames.prefix;
40
-
33
+ withClassPrefix = _useClassNames.withClassPrefix,
34
+ merge = _useClassNames.merge,
35
+ prefix = _useClassNames.prefix;
41
36
  var isMounted = useIsMounted();
42
-
43
37
  var _useContext = useContext(ToastContext),
44
- usedToaster = _useContext.usedToaster; // Timed close message
45
-
46
-
38
+ usedToaster = _useContext.usedToaster; // Timed close message
47
39
  var _useTimeout = useTimeout(onClose, duration, usedToaster && duration > 0),
48
- clear = _useTimeout.clear;
49
-
40
+ clear = _useTimeout.clear;
50
41
  var handleClose = useCallback(function (event) {
51
42
  setDisplay('hiding');
52
43
  onClose === null || onClose === void 0 ? void 0 : onClose(event);
@@ -57,11 +48,9 @@ var Message = /*#__PURE__*/React.forwardRef(function (props, ref) {
57
48
  }
58
49
  }, 1000);
59
50
  }, [clear, isMounted, onClose]);
60
-
61
51
  if (display === 'hide') {
62
52
  return null;
63
53
  }
64
-
65
54
  var classes = merge(className, withClassPrefix(type, display, (_withClassPrefix = {
66
55
  full: full
67
56
  }, _withClassPrefix['has-title'] = header, _withClassPrefix['has-icon'] = showIcon, _withClassPrefix)));
@@ -1,2 +1,3 @@
1
+ 'use client';
1
2
  import Message from './Message';
2
3
  export default Message;
@@ -1,9 +1,8 @@
1
+ 'use client';
1
2
  import _extends from "@babel/runtime/helpers/esm/extends";
2
3
  import _taggedTemplateLiteralLoose from "@babel/runtime/helpers/esm/taggedTemplateLiteralLoose";
3
4
  import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
4
-
5
5
  var _templateObject, _templateObject2;
6
-
7
6
  import React, { useRef, useMemo, useState, useCallback } from 'react';
8
7
  import PropTypes from 'prop-types';
9
8
  import pick from 'lodash/pick';
@@ -24,67 +23,63 @@ import deprecatePropType from '../utils/deprecatePropType';
24
23
  var modalSizes = ['xs', 'sm', 'md', 'lg', 'full'];
25
24
  var Modal = /*#__PURE__*/React.forwardRef(function (props, ref) {
26
25
  var className = props.className,
27
- children = props.children,
28
- _props$classPrefix = props.classPrefix,
29
- classPrefix = _props$classPrefix === void 0 ? 'modal' : _props$classPrefix,
30
- dialogClassName = props.dialogClassName,
31
- backdropClassName = props.backdropClassName,
32
- _props$backdrop = props.backdrop,
33
- backdrop = _props$backdrop === void 0 ? true : _props$backdrop,
34
- dialogStyle = props.dialogStyle,
35
- _props$animation = props.animation,
36
- animation = _props$animation === void 0 ? Bounce : _props$animation,
37
- open = props.open,
38
- _props$size = props.size,
39
- size = _props$size === void 0 ? 'sm' : _props$size,
40
- full = props.full,
41
- _props$dialogAs = props.dialogAs,
42
- Dialog = _props$dialogAs === void 0 ? ModalDialog : _props$dialogAs,
43
- animationProps = props.animationProps,
44
- _props$animationTimeo = props.animationTimeout,
45
- animationTimeout = _props$animationTimeo === void 0 ? 300 : _props$animationTimeo,
46
- _props$overflow = props.overflow,
47
- overflow = _props$overflow === void 0 ? true : _props$overflow,
48
- _props$drawer = props.drawer,
49
- drawer = _props$drawer === void 0 ? false : _props$drawer,
50
- onClose = props.onClose,
51
- onEntered = props.onEntered,
52
- onEntering = props.onEntering,
53
- onExited = props.onExited,
54
- _props$role = props.role,
55
- role = _props$role === void 0 ? 'dialog' : _props$role,
56
- idProp = props.id,
57
- ariaLabelledby = props['aria-labelledby'],
58
- ariaDescribedby = props['aria-describedby'],
59
- rest = _objectWithoutPropertiesLoose(props, ["className", "children", "classPrefix", "dialogClassName", "backdropClassName", "backdrop", "dialogStyle", "animation", "open", "size", "full", "dialogAs", "animationProps", "animationTimeout", "overflow", "drawer", "onClose", "onEntered", "onEntering", "onExited", "role", "id", "aria-labelledby", "aria-describedby"]);
60
-
26
+ children = props.children,
27
+ _props$classPrefix = props.classPrefix,
28
+ classPrefix = _props$classPrefix === void 0 ? 'modal' : _props$classPrefix,
29
+ dialogClassName = props.dialogClassName,
30
+ backdropClassName = props.backdropClassName,
31
+ _props$backdrop = props.backdrop,
32
+ backdrop = _props$backdrop === void 0 ? true : _props$backdrop,
33
+ dialogStyle = props.dialogStyle,
34
+ _props$animation = props.animation,
35
+ animation = _props$animation === void 0 ? Bounce : _props$animation,
36
+ open = props.open,
37
+ _props$size = props.size,
38
+ size = _props$size === void 0 ? 'sm' : _props$size,
39
+ full = props.full,
40
+ _props$dialogAs = props.dialogAs,
41
+ Dialog = _props$dialogAs === void 0 ? ModalDialog : _props$dialogAs,
42
+ animationProps = props.animationProps,
43
+ _props$animationTimeo = props.animationTimeout,
44
+ animationTimeout = _props$animationTimeo === void 0 ? 300 : _props$animationTimeo,
45
+ _props$overflow = props.overflow,
46
+ overflow = _props$overflow === void 0 ? true : _props$overflow,
47
+ _props$drawer = props.drawer,
48
+ drawer = _props$drawer === void 0 ? false : _props$drawer,
49
+ onClose = props.onClose,
50
+ onEntered = props.onEntered,
51
+ onEntering = props.onEntering,
52
+ onExited = props.onExited,
53
+ _props$role = props.role,
54
+ role = _props$role === void 0 ? 'dialog' : _props$role,
55
+ idProp = props.id,
56
+ ariaLabelledby = props['aria-labelledby'],
57
+ ariaDescribedby = props['aria-describedby'],
58
+ rest = _objectWithoutPropertiesLoose(props, ["className", "children", "classPrefix", "dialogClassName", "backdropClassName", "backdrop", "dialogStyle", "animation", "open", "size", "full", "dialogAs", "animationProps", "animationTimeout", "overflow", "drawer", "onClose", "onEntered", "onEntering", "onExited", "role", "id", "aria-labelledby", "aria-describedby"]);
61
59
  var inClass = {
62
60
  in: open && !animation
63
61
  };
64
-
65
62
  var _useClassNames = useClassNames(classPrefix),
66
- merge = _useClassNames.merge,
67
- prefix = _useClassNames.prefix;
68
-
63
+ merge = _useClassNames.merge,
64
+ prefix = _useClassNames.prefix;
69
65
  var _useState = useState(false),
70
- shake = _useState[0],
71
- setShake = _useState[1];
72
-
66
+ shake = _useState[0],
67
+ setShake = _useState[1];
73
68
  var classes = merge(className, prefix(size, {
74
69
  full: full
75
70
  }));
76
71
  var dialogRef = useRef(null);
77
- var transitionEndListener = useRef(); // The style of the Modal body will be updated with the size of the window or container.
72
+ var transitionEndListener = useRef();
78
73
 
74
+ // The style of the Modal body will be updated with the size of the window or container.
79
75
  var _useBodyStyles = useBodyStyles(dialogRef, {
80
- overflow: overflow,
81
- drawer: drawer,
82
- prefix: prefix
83
- }),
84
- bodyStyles = _useBodyStyles[0],
85
- onChangeBodyStyles = _useBodyStyles[1],
86
- onDestroyEvents = _useBodyStyles[2];
87
-
76
+ overflow: overflow,
77
+ drawer: drawer,
78
+ prefix: prefix
79
+ }),
80
+ bodyStyles = _useBodyStyles[0],
81
+ onChangeBodyStyles = _useBodyStyles[1],
82
+ onDestroyEvents = _useBodyStyles[2];
88
83
  var dialogId = useUniqueId('dialog-', idProp);
89
84
  var modalContextValue = useMemo(function () {
90
85
  return {
@@ -98,7 +93,6 @@ var Modal = /*#__PURE__*/React.forwardRef(function (props, ref) {
98
93
  }, [dialogId, onClose, bodyStyles, drawer]);
99
94
  var handleExited = useCallback(function (node) {
100
95
  var _transitionEndListene;
101
-
102
96
  onExited === null || onExited === void 0 ? void 0 : onExited(node);
103
97
  onDestroyEvents();
104
98
  (_transitionEndListene = transitionEndListener.current) === null || _transitionEndListene === void 0 ? void 0 : _transitionEndListene.off();
@@ -112,35 +106,42 @@ var Modal = /*#__PURE__*/React.forwardRef(function (props, ref) {
112
106
  onEntering === null || onEntering === void 0 ? void 0 : onEntering(node);
113
107
  onChangeBodyStyles(true);
114
108
  }, [onChangeBodyStyles, onEntering]);
115
- var handleBackdropClick = useCallback(function (e) {
116
- if (e.target !== e.currentTarget) {
109
+ var backdropClick = React.useRef();
110
+ var handleMouseDown = useCallback(function (event) {
111
+ backdropClick.current = event.target === event.currentTarget;
112
+ }, []);
113
+ var handleBackdropClick = useCallback(function (event) {
114
+ // Ignore click events from non-backdrop.
115
+ // fix: https://github.com/rsuite/rsuite/issues/3394
116
+ if (!backdropClick.current) {
117
117
  return;
118
- } // When the value of `backdrop` is `static`, a jitter animation will be added to the dialog when clicked.
118
+ }
119
119
 
120
+ // Ignore click events from dialog.
121
+ if (event.target === dialogRef.current) {
122
+ return;
123
+ }
120
124
 
125
+ // Ignore click events from dialog children.
126
+ if (event.target !== event.currentTarget) {
127
+ return;
128
+ }
129
+
130
+ // When the value of `backdrop` is `static`, a jitter animation will be added to the dialog when clicked.
121
131
  if (backdrop === 'static') {
122
132
  setShake(true);
123
-
124
133
  if (!transitionEndListener.current && dialogRef.current) {
125
134
  //fix: https://github.com/rsuite/rsuite/blob/a93d13c14fb20cc58204babe3331d3c3da3fe1fd/src/Modal/styles/index.less#L59
126
135
  transitionEndListener.current = on(dialogRef.current, getAnimationEnd(), function () {
127
136
  setShake(false);
128
137
  });
129
138
  }
130
-
131
139
  return;
132
140
  }
133
-
134
- onClose === null || onClose === void 0 ? void 0 : onClose(e);
141
+ onClose === null || onClose === void 0 ? void 0 : onClose(event);
135
142
  }, [backdrop, onClose]);
136
- var handleClick = useCallback(function (e) {
137
- if (dialogRef.current && e.target !== dialogRef.current) {
138
- handleBackdropClick(e);
139
- }
140
- }, [handleBackdropClick]);
141
143
  useWillUnmount(function () {
142
144
  var _transitionEndListene2;
143
-
144
145
  (_transitionEndListene2 = transitionEndListener.current) === null || _transitionEndListene2 === void 0 ? void 0 : _transitionEndListene2.off();
145
146
  });
146
147
  return /*#__PURE__*/React.createElement(ModalContext.Provider, {
@@ -163,11 +164,11 @@ var Modal = /*#__PURE__*/React.forwardRef(function (props, ref) {
163
164
  animationProps: animationProps,
164
165
  dialogTransitionTimeout: animationTimeout,
165
166
  backdropTransitionTimeout: 150,
166
- onClick: backdrop ? handleClick : undefined
167
+ onClick: backdrop ? handleBackdropClick : undefined,
168
+ onMouseDown: handleMouseDown
167
169
  }), function (transitionProps, transitionRef) {
168
170
  var transitionClassName = transitionProps.className,
169
- transitionRest = _objectWithoutPropertiesLoose(transitionProps, ["className"]);
170
-
171
+ transitionRest = _objectWithoutPropertiesLoose(transitionProps, ["className"]);
171
172
  return /*#__PURE__*/React.createElement(Dialog, _extends({
172
173
  role: role,
173
174
  id: dialogId,