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
package/cjs/Menu/Menu.js CHANGED
@@ -1,56 +1,41 @@
1
+ 'use client';
1
2
  "use strict";
2
3
 
3
4
  var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard");
4
-
5
5
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
6
-
7
6
  exports.__esModule = true;
8
7
  exports.default = void 0;
9
-
10
8
  var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
11
-
12
9
  var _react = _interopRequireWildcard(require("react"));
13
-
14
10
  var _propTypes = _interopRequireDefault(require("prop-types"));
15
-
16
11
  var _isNil = _interopRequireDefault(require("lodash/isNil"));
17
-
18
12
  var _MenuContext = _interopRequireWildcard(require("./MenuContext"));
19
-
20
13
  var _utils = require("../utils");
21
-
22
14
  var _useUniqueId = _interopRequireDefault(require("../utils/useUniqueId"));
23
-
24
15
  var _useMenu = _interopRequireDefault(require("./useMenu"));
25
-
26
16
  var _useFocus2 = _interopRequireDefault(require("../utils/useFocus"));
27
-
28
17
  var _useClickOutside = _interopRequireDefault(require("../utils/useClickOutside"));
29
-
30
18
  var _events = require("../utils/events");
31
-
32
19
  var _dom = require("../utils/dom");
33
-
34
20
  var defaultOpenMenuOn = ['click'];
21
+
35
22
  /**
36
23
  * Headless ARIA `menu`
37
24
  * @private
38
25
  */
39
-
40
26
  function Menu(_ref) {
41
27
  var _items$activeItemInde;
42
-
43
28
  var disabled = _ref.disabled,
44
- children = _ref.children,
45
- _ref$openMenuOn = _ref.openMenuOn,
46
- openMenuOn = _ref$openMenuOn === void 0 ? defaultOpenMenuOn : _ref$openMenuOn,
47
- _ref$defaultOpen = _ref.defaultOpen,
48
- defaultOpen = _ref$defaultOpen === void 0 ? false : _ref$defaultOpen,
49
- openProp = _ref.open,
50
- menuButtonText = _ref.menuButtonText,
51
- renderMenuButton = _ref.renderMenuButton,
52
- renderMenuPopup = _ref.renderMenuPopup,
53
- onToggleMenu = _ref.onToggleMenu;
29
+ children = _ref.children,
30
+ _ref$openMenuOn = _ref.openMenuOn,
31
+ openMenuOn = _ref$openMenuOn === void 0 ? defaultOpenMenuOn : _ref$openMenuOn,
32
+ _ref$defaultOpen = _ref.defaultOpen,
33
+ defaultOpen = _ref$defaultOpen === void 0 ? false : _ref$defaultOpen,
34
+ openProp = _ref.open,
35
+ menuButtonText = _ref.menuButtonText,
36
+ renderMenuButton = _ref.renderMenuButton,
37
+ renderMenuPopup = _ref.renderMenuPopup,
38
+ onToggleMenu = _ref.onToggleMenu;
54
39
  var buttonElementRef = (0, _react.useRef)(null);
55
40
  var menuElementRef = (0, _react.useRef)(null);
56
41
  var parentMenu = (0, _react.useContext)(_MenuContext.default);
@@ -59,33 +44,27 @@ function Menu(_ref) {
59
44
  open: defaultOpen
60
45
  });
61
46
  var _menu$ = menu[0],
62
- openState = _menu$.open,
63
- items = _menu$.items,
64
- activeItemIndex = _menu$.activeItemIndex,
65
- dispatch = menu[1];
47
+ openState = _menu$.open,
48
+ items = _menu$.items,
49
+ activeItemIndex = _menu$.activeItemIndex,
50
+ dispatch = menu[1];
66
51
  var openControlled = typeof openProp !== 'undefined';
67
52
  var open = openControlled ? openProp : openState;
68
-
69
53
  var _useCustom = (0, _utils.useCustom)('Menu'),
70
- rtl = _useCustom.rtl;
71
-
54
+ rtl = _useCustom.rtl;
72
55
  var activeItem = (0, _isNil.default)(activeItemIndex) ? null : (_items$activeItemInde = items[activeItemIndex]) === null || _items$activeItemInde === void 0 ? void 0 : _items$activeItemInde.element;
73
-
74
56
  var _useFocus = (0, _useFocus2.default)(menuElementRef),
75
- grabFocus = _useFocus.grab;
76
-
57
+ grabFocus = _useFocus.grab;
77
58
  var openMenu = (0, _react.useCallback)(function (event) {
78
59
  dispatch({
79
60
  type: _MenuContext.MenuActionTypes.OpenMenu
80
61
  });
81
-
82
62
  if (!event.isTrusted) {
83
63
  dispatch({
84
64
  type: _MenuContext.MenuActionTypes.MoveFocus,
85
65
  to: _MenuContext.MoveFocusTo.First
86
66
  });
87
67
  }
88
-
89
68
  onToggleMenu === null || onToggleMenu === void 0 ? void 0 : onToggleMenu(true, event);
90
69
  grabFocus();
91
70
  }, [dispatch, onToggleMenu, grabFocus]);
@@ -93,7 +72,6 @@ function Menu(_ref) {
93
72
  if (returnFocusToButton === void 0) {
94
73
  returnFocusToButton = true;
95
74
  }
96
-
97
75
  dispatch({
98
76
  type: _MenuContext.MenuActionTypes.CloseMenu
99
77
  });
@@ -102,10 +80,8 @@ function Menu(_ref) {
102
80
  to: _MenuContext.MoveFocusTo.None
103
81
  });
104
82
  onToggleMenu === null || onToggleMenu === void 0 ? void 0 : onToggleMenu(false, event);
105
-
106
83
  if (returnFocusToButton) {
107
84
  var _buttonElementRef$cur;
108
-
109
85
  (_buttonElementRef$cur = buttonElementRef.current) === null || _buttonElementRef$cur === void 0 ? void 0 : _buttonElementRef$cur.focus({
110
86
  preventScroll: true
111
87
  });
@@ -122,7 +98,6 @@ function Menu(_ref) {
122
98
  enabled: open,
123
99
  isOutside: function isOutside(event) {
124
100
  var _buttonElementRef$cur2, _menuElementRef$curre;
125
-
126
101
  return !((_buttonElementRef$cur2 = buttonElementRef.current) !== null && _buttonElementRef$cur2 !== void 0 && _buttonElementRef$cur2.contains(event.target)) && !((_menuElementRef$curre = menuElementRef.current) !== null && _menuElementRef$curre !== void 0 && _menuElementRef$curre.contains(event.target));
127
102
  },
128
103
  // fixme if clicking on a focusable element, don't move focus to menu button
@@ -130,11 +105,11 @@ function Menu(_ref) {
130
105
  return closeMenu(event, !(0, _dom.isFocusableElement)(event.target));
131
106
  }
132
107
  });
108
+
133
109
  /**
134
110
  * Keyboard interaction on menu button
135
111
  * @see https://www.w3.org/TR/wai-aria-practices-1.2/#keyboard-interaction-13
136
112
  */
137
-
138
113
  var handleButtonKeydown = (0, _react.useCallback)(function (e) {
139
114
  switch (e.key) {
140
115
  // Open the menu
@@ -142,7 +117,6 @@ function Menu(_ref) {
142
117
  case _utils.KEY_VALUES.SPACE:
143
118
  e.preventDefault();
144
119
  e.stopPropagation();
145
-
146
120
  if (!open) {
147
121
  openMenu(e);
148
122
  dispatch({
@@ -152,19 +126,15 @@ function Menu(_ref) {
152
126
  } else {
153
127
  closeMenu(e);
154
128
  }
155
-
156
129
  break;
157
130
  // Open the menu (if closed) and move focus to first item
158
131
  // This is mostly useful after opening the menu with click
159
-
160
132
  case _utils.KEY_VALUES.DOWN:
161
133
  e.preventDefault();
162
134
  e.stopPropagation();
163
-
164
135
  if (!open) {
165
136
  openMenu(e);
166
137
  }
167
-
168
138
  dispatch({
169
139
  type: _MenuContext.MenuActionTypes.MoveFocus,
170
140
  to: _MenuContext.MoveFocusTo.First
@@ -176,13 +146,13 @@ function Menu(_ref) {
176
146
  if (disabled) {
177
147
  return;
178
148
  }
179
-
180
149
  toggleMenu(event);
181
150
  }, [disabled, toggleMenu]);
182
151
  var handleButtonContextMenu = (0, _react.useCallback)(function (event) {
183
152
  // prevents default contextmenu
184
- event.preventDefault(); // Only opens menu on right click. Left click can close the menu opened by a right click
153
+ event.preventDefault();
185
154
 
155
+ // Only opens menu on right click. Left click can close the menu opened by a right click
186
156
  if (open) return;
187
157
  if (disabled) return;
188
158
  openMenu(event);
@@ -191,19 +161,17 @@ function Menu(_ref) {
191
161
  var buttonEventHandlers = {
192
162
  onKeyDown: handleButtonKeydown
193
163
  };
164
+
194
165
  /**
195
166
  * Bind event of trigger,
196
167
  * not used in in the expanded state of '<Sidenav>'
197
168
  */
198
-
199
169
  if (openMenuOn !== null && openMenuOn !== void 0 && openMenuOn.includes('click')) {
200
170
  buttonEventHandlers.onClick = handleButtonClick;
201
171
  }
202
-
203
172
  if (openMenuOn !== null && openMenuOn !== void 0 && openMenuOn.includes('contextmenu')) {
204
173
  buttonEventHandlers.onContextMenu = handleButtonContextMenu;
205
174
  }
206
-
207
175
  return buttonEventHandlers;
208
176
  }, [openMenuOn, handleButtonKeydown, handleButtonClick, handleButtonContextMenu]);
209
177
  var buttonId = (0, _useUniqueId.default)('menubutton-');
@@ -232,11 +200,11 @@ function Menu(_ref) {
232
200
  var buttonElement = customMenuButton !== null && customMenuButton !== void 0 ? customMenuButton : /*#__PURE__*/_react.default.createElement("button", (0, _extends2.default)({
233
201
  ref: buttonElementRef
234
202
  }, buttonProps), menuButtonText);
203
+
235
204
  /**
236
205
  * Keyboard interaction on menu
237
206
  * @see https://www.w3.org/TR/wai-aria-practices-1.2/#keyboard-interaction-12
238
207
  */
239
-
240
208
  var handleMenuKeydown = (0, _react.useCallback)(function (e) {
241
209
  switch (e.key) {
242
210
  // Move focus to previous item
@@ -249,7 +217,6 @@ function Menu(_ref) {
249
217
  });
250
218
  break;
251
219
  // Move focus to next item
252
-
253
220
  case _utils.KEY_VALUES.DOWN:
254
221
  e.preventDefault();
255
222
  e.stopPropagation();
@@ -259,11 +226,9 @@ function Menu(_ref) {
259
226
  });
260
227
  break;
261
228
  // When focus is in a menu and on a menuitem that has a submenu, opens the submenu and places focus on its first item.
262
-
263
229
  case _utils.KEY_VALUES.RIGHT:
264
230
  e.preventDefault();
265
231
  e.stopPropagation();
266
-
267
232
  if (!rtl) {
268
233
  if ((activeItem === null || activeItem === void 0 ? void 0 : activeItem.getAttribute('aria-haspopup')) === 'menu') {
269
234
  activeItem.click();
@@ -273,14 +238,11 @@ function Menu(_ref) {
273
238
  type: _MenuContext.MenuActionTypes.CloseMenu
274
239
  });
275
240
  }
276
-
277
241
  break;
278
242
  // When focus is in a submenu of an item in a menu, closes the submenu and returns focus to the parent menuitem.
279
-
280
243
  case _utils.KEY_VALUES.LEFT:
281
244
  e.preventDefault();
282
245
  e.stopPropagation();
283
-
284
246
  if (!rtl) {
285
247
  if (isSubmenu) {
286
248
  closeMenu(e);
@@ -288,10 +250,8 @@ function Menu(_ref) {
288
250
  } else if ((activeItem === null || activeItem === void 0 ? void 0 : activeItem.getAttribute('aria-haspopup')) === 'menu') {
289
251
  activeItem.click();
290
252
  }
291
-
292
253
  break;
293
254
  // Move focus to the first item
294
-
295
255
  case _utils.KEY_VALUES.HOME:
296
256
  e.preventDefault();
297
257
  e.stopPropagation();
@@ -301,7 +261,6 @@ function Menu(_ref) {
301
261
  });
302
262
  break;
303
263
  // Move focus to the last item
304
-
305
264
  case _utils.KEY_VALUES.END:
306
265
  e.preventDefault();
307
266
  e.stopPropagation();
@@ -312,40 +271,41 @@ function Menu(_ref) {
312
271
  break;
313
272
  // - When focus is on a menuitem that has a submenu, opens the submenu and places focus on its first item.
314
273
  // - Otherwise, activates the item and closes the menu.
315
-
316
274
  case _utils.KEY_VALUES.ENTER:
317
275
  case _utils.KEY_VALUES.SPACE:
318
276
  if (activeItem) {
319
277
  e.preventDefault();
320
278
  e.stopPropagation();
321
279
  activeItem.click();
322
-
323
280
  if (!activeItem.getAttribute('aria-haspopup')) {
324
281
  closeMenu(e);
325
282
  }
326
283
  }
327
-
328
284
  break;
329
285
  // Close the menu that contains focus and return focus to the element or context,
330
286
  // e.g., menu button or parent menuitem, from which the menu was opened.
331
-
332
287
  case _utils.KEY_VALUES.ESC:
333
288
  closeMenu(e);
334
289
  break;
335
290
  }
336
- }, [dispatch, activeItem, isSubmenu, rtl, closeMenu]); // Only used for clicks bubbling from child `menuitem`s.
291
+ }, [dispatch, activeItem, isSubmenu, rtl, closeMenu]);
337
292
 
293
+ // Only used for clicks bubbling from child `menuitem`s.
338
294
  var handleMenuClick = (0, _react.useCallback)(function (event) {
339
- var target = event.target; // Only handle clicks on `menuitem`s
295
+ var target = event.target;
340
296
 
341
- if (target.getAttribute('role') !== 'menuitem') return; // Ignore clicks on `menuitem`s that controls a submenu
297
+ // Only handle clicks on `menuitem`s
298
+ if (target.getAttribute('role') !== 'menuitem') return;
342
299
 
343
- if (target.getAttribute('aria-haspopup') === 'menu') return; // Ignore disabled `menuitem`s
300
+ // Ignore clicks on `menuitem`s that controls a submenu
301
+ if (target.getAttribute('aria-haspopup') === 'menu') return;
344
302
 
303
+ // Ignore disabled `menuitem`s
345
304
  if (target.getAttribute('aria-disabled') === 'true') return;
346
305
  closeMenu(event, !isSubmenu);
347
- }, [closeMenu, isSubmenu]); // Ref: https://www.w3.org/TR/wai-aria-practices-1.2/#wai-aria-roles-states-and-properties-13
306
+ }, [closeMenu, isSubmenu]);
348
307
 
308
+ // Ref: https://www.w3.org/TR/wai-aria-practices-1.2/#wai-aria-roles-states-and-properties-13
349
309
  var menuAriaAttributes = {
350
310
  role: 'menu',
351
311
  'aria-labelledby': buttonId,
@@ -362,8 +322,9 @@ function Menu(_ref) {
362
322
  });
363
323
  var customMenuPopup = renderMenuPopup === null || renderMenuPopup === void 0 ? void 0 : renderMenuPopup((0, _extends2.default)({}, menuProps, {
364
324
  open: open
365
- }), menuElementRef); // fixme Wrong children here
325
+ }), menuElementRef);
366
326
 
327
+ // fixme Wrong children here
367
328
  var menuElement = customMenuPopup !== null && customMenuPopup !== void 0 ? customMenuPopup : /*#__PURE__*/_react.default.createElement("ul", (0, _extends2.default)({
368
329
  ref: menuElementRef
369
330
  }, menuProps, {
@@ -389,12 +350,10 @@ function Menu(_ref) {
389
350
  var rootEventHandlers = {
390
351
  onBlur: handleContainerBlur
391
352
  };
392
-
393
353
  if (openMenuOn !== null && openMenuOn !== void 0 && openMenuOn.includes('mouseover')) {
394
354
  rootEventHandlers.onMouseEnter = handleMouseEnter;
395
355
  rootEventHandlers.onMouseLeave = handleMouseLeave;
396
356
  }
397
-
398
357
  var rootProps = (0, _extends2.default)({}, rootEventHandlers, {
399
358
  children: /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, buttonElement, /*#__PURE__*/_react.default.createElement(_MenuContext.default.Provider, {
400
359
  value: menu
@@ -402,14 +361,11 @@ function Menu(_ref) {
402
361
  // render props
403
362
  open: open
404
363
  });
405
-
406
364
  if (isSubmenu) {
407
365
  rootProps.role = 'none presentation';
408
366
  }
409
-
410
367
  return children(rootProps, rootElementRef);
411
368
  }
412
-
413
369
  Menu.displayName = 'Menu';
414
370
  Menu.propTypes = {
415
371
  children: _propTypes.default.func.isRequired
@@ -1,15 +1,12 @@
1
+ 'use client';
1
2
  "use strict";
2
3
 
3
4
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
5
  exports.__esModule = true;
6
6
  exports.default = exports.MoveFocusTo = exports.MenuActionTypes = void 0;
7
-
8
7
  var _react = _interopRequireDefault(require("react"));
9
-
10
8
  var MenuActionTypes;
11
9
  exports.MenuActionTypes = MenuActionTypes;
12
-
13
10
  (function (MenuActionTypes) {
14
11
  MenuActionTypes[MenuActionTypes["RegisterItem"] = 0] = "RegisterItem";
15
12
  MenuActionTypes[MenuActionTypes["UnregisterItem"] = 1] = "UnregisterItem";
@@ -17,10 +14,8 @@ exports.MenuActionTypes = MenuActionTypes;
17
14
  MenuActionTypes[MenuActionTypes["CloseMenu"] = 3] = "CloseMenu";
18
15
  MenuActionTypes[MenuActionTypes["MoveFocus"] = 4] = "MoveFocus";
19
16
  })(MenuActionTypes || (exports.MenuActionTypes = MenuActionTypes = {}));
20
-
21
17
  var MoveFocusTo;
22
18
  exports.MoveFocusTo = MoveFocusTo;
23
-
24
19
  (function (MoveFocusTo) {
25
20
  MoveFocusTo[MoveFocusTo["Next"] = 0] = "Next";
26
21
  MoveFocusTo[MoveFocusTo["Prev"] = 1] = "Prev";
@@ -29,10 +24,8 @@ exports.MoveFocusTo = MoveFocusTo;
29
24
  MoveFocusTo[MoveFocusTo["Specific"] = 4] = "Specific";
30
25
  MoveFocusTo[MoveFocusTo["None"] = 5] = "None";
31
26
  })(MoveFocusTo || (exports.MoveFocusTo = MoveFocusTo = {}));
32
-
33
27
  // Defaults to null for checking whether a Menu is inside another menu
34
28
  var MenuContext = /*#__PURE__*/_react.default.createContext(null);
35
-
36
29
  MenuContext.displayName = 'MenuContext';
37
30
  var _default = MenuContext;
38
31
  exports.default = _default;
@@ -1,54 +1,44 @@
1
+ 'use client';
1
2
  "use strict";
2
3
 
3
4
  var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard");
4
-
5
5
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
6
-
7
6
  exports.__esModule = true;
8
7
  exports.default = void 0;
9
-
10
8
  var _react = require("react");
11
-
12
9
  var _propTypes = _interopRequireDefault(require("prop-types"));
13
-
14
10
  var _isNil = _interopRequireDefault(require("lodash/isNil"));
15
-
16
11
  var _useUniqueId = _interopRequireDefault(require("../utils/useUniqueId"));
17
-
18
12
  var _MenuContext = _interopRequireWildcard(require("./MenuContext"));
19
-
20
13
  /**
21
14
  * Headless ARIA `menuitem`
22
15
  * @private
23
16
  */
24
17
  function MenuItem(props) {
25
18
  var _menuState$items$menu;
26
-
27
19
  var children = props.children,
28
- _props$selected = props.selected,
29
- selected = _props$selected === void 0 ? false : _props$selected,
30
- _props$disabled = props.disabled,
31
- disabled = _props$disabled === void 0 ? false : _props$disabled,
32
- onActivate = props.onActivate;
20
+ _props$selected = props.selected,
21
+ selected = _props$selected === void 0 ? false : _props$selected,
22
+ _props$disabled = props.disabled,
23
+ disabled = _props$disabled === void 0 ? false : _props$disabled,
24
+ onActivate = props.onActivate;
33
25
  var menuitemRef = (0, _react.useRef)(null);
34
26
  var menuitemId = (0, _useUniqueId.default)('menuitem-');
35
27
  var menu = (0, _react.useContext)(_MenuContext.default);
36
-
37
28
  if (!menu) {
38
29
  throw new Error('<MenuItem> must be rendered within a <Menu>');
39
30
  }
40
-
41
31
  var menuState = menu[0],
42
- dispatch = menu[1]; // Whether this menuitem has focus (indicated by `aria-activedescendant` from parent menu)
43
-
32
+ dispatch = menu[1]; // Whether this menuitem has focus (indicated by `aria-activedescendant` from parent menu)
44
33
  var hasFocus = !(0, _isNil.default)(menuitemRef.current) && !(0, _isNil.default)(menuState.activeItemIndex) && ((_menuState$items$menu = menuState.items[menuState.activeItemIndex]) === null || _menuState$items$menu === void 0 ? void 0 : _menuState$items$menu.element) === menuitemRef.current;
45
34
  var handleClick = (0, _react.useCallback)(function (event) {
46
35
  if (disabled) {
47
36
  return;
48
37
  }
49
-
50
38
  onActivate === null || onActivate === void 0 ? void 0 : onActivate(event);
51
- }, [disabled, onActivate]); // Gain/release focus on mousedown in `menubar`
39
+ }, [disabled, onActivate]);
40
+
41
+ // Gain/release focus on mousedown in `menubar`
52
42
 
53
43
  var handleMouseDown = (0, _react.useCallback)(function () {
54
44
  if (!(0, _isNil.default)(menuitemRef.current) && !hasFocus) {
@@ -58,8 +48,9 @@ function MenuItem(props) {
58
48
  id: menuitemRef.current.id
59
49
  });
60
50
  }
61
- }, [dispatch, hasFocus]); // Gain/release focus on mouseenter/mouseleave in `menu`
51
+ }, [dispatch, hasFocus]);
62
52
 
53
+ // Gain/release focus on mouseenter/mouseleave in `menu`
63
54
  var handleMouseMove = (0, _react.useCallback)(function () {
64
55
  if (!(0, _isNil.default)(menuitemRef.current) && !hasFocus) {
65
56
  dispatch({
@@ -77,7 +68,6 @@ function MenuItem(props) {
77
68
  }, [dispatch]);
78
69
  (0, _react.useEffect)(function () {
79
70
  var menuitemElement = menuitemRef.current;
80
-
81
71
  if (menuitemElement) {
82
72
  dispatch({
83
73
  type: _MenuContext.MenuActionTypes.RegisterItem,
@@ -103,24 +93,23 @@ function MenuItem(props) {
103
93
  tabIndex: -1,
104
94
  onClick: handleClick,
105
95
  // render props
96
+
106
97
  selected: selected,
107
98
  active: hasFocus
108
- }; // Only move focus on hover in a `menu`, not `menubar`
99
+ };
109
100
 
101
+ // Only move focus on hover in a `menu`, not `menubar`
110
102
  if ((menuState === null || menuState === void 0 ? void 0 : menuState.role) === 'menu') {
111
103
  menuitemProps.onMouseMove = handleMouseMove;
112
104
  menuitemProps.onMouseLeave = handleMouseLeave;
113
105
  }
114
-
115
106
  if ((menuState === null || menuState === void 0 ? void 0 : menuState.role) === 'menubar') {
116
107
  menuitemProps.onMouseDown = handleMouseDown;
117
108
  menuitemProps.onMouseOver = handleMouseMove;
118
109
  menuitemProps.onMouseLeave = handleMouseLeave;
119
110
  }
120
-
121
111
  return children(menuitemProps, menuitemRef);
122
112
  }
123
-
124
113
  MenuItem.displayName = 'MenuItem';
125
114
  MenuItem.propTypes = {
126
115
  selected: _propTypes.default.bool,
@@ -1,26 +1,17 @@
1
+ 'use client';
1
2
  "use strict";
2
3
 
3
4
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
5
  var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard");
6
-
7
6
  exports.__esModule = true;
8
7
  exports.default = Menubar;
9
-
10
8
  var _react = _interopRequireWildcard(require("react"));
11
-
12
9
  var _isNil = _interopRequireDefault(require("lodash/isNil"));
13
-
14
10
  var _MenuContext = _interopRequireWildcard(require("./MenuContext"));
15
-
16
11
  var _utils = require("../utils");
17
-
18
12
  var _events = require("../utils/events");
19
-
20
13
  var _useMenu = _interopRequireDefault(require("./useMenu"));
21
-
22
14
  var _dom = require("../utils/dom");
23
-
24
15
  // Headless ARIA `menubar`
25
16
 
26
17
  /**
@@ -28,22 +19,22 @@ var _dom = require("../utils/dom");
28
19
  */
29
20
  function Menubar(_ref) {
30
21
  var _items$activeItemInde3;
31
-
32
22
  var _ref$vertical = _ref.vertical,
33
- vertical = _ref$vertical === void 0 ? false : _ref$vertical,
34
- children = _ref.children,
35
- onActivateItem = _ref.onActivateItem;
23
+ vertical = _ref$vertical === void 0 ? false : _ref$vertical,
24
+ children = _ref.children,
25
+ onActivateItem = _ref.onActivateItem;
36
26
  var menubar = (0, _useMenu.default)({
37
27
  role: 'menubar'
38
28
  });
39
29
  var _menubar$ = menubar[0],
40
- items = _menubar$.items,
41
- activeItemIndex = _menubar$.activeItemIndex,
42
- dispatch = menubar[1];
30
+ items = _menubar$.items,
31
+ activeItemIndex = _menubar$.activeItemIndex,
32
+ dispatch = menubar[1];
43
33
  var menubarElementRef = (0, _react.useRef)(null);
44
34
  var onFocus = (0, _react.useCallback)(function (event) {
45
35
  // Focus moves inside Menubar
46
- if ((0, _events.isFocusEntering)(event) && // Skip if focus is moving to a focusable element within this menu
36
+ if ((0, _events.isFocusEntering)(event) &&
37
+ // Skip if focus is moving to a focusable element within this menu
47
38
  !(event.target !== event.currentTarget && (0, _dom.isFocusableElement)(event.target))) {
48
39
  if (activeItemIndex === null) {
49
40
  dispatch({
@@ -62,15 +53,11 @@ function Menubar(_ref) {
62
53
  });
63
54
  }
64
55
  }, [dispatch]);
65
-
66
56
  var _useCustom = (0, _utils.useCustom)('Menubar'),
67
- rtl = _useCustom.rtl;
68
-
57
+ rtl = _useCustom.rtl;
69
58
  var onKeyDown = (0, _react.useCallback)(function (event) {
70
59
  var _items$activeItemInde, _items$activeItemInde2;
71
-
72
60
  var activeItemElement = (0, _isNil.default)(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;
73
-
74
61
  switch (true) {
75
62
  case !vertical && !rtl && event.key === _utils.KEY_VALUES.RIGHT:
76
63
  case !vertical && rtl && event.key === _utils.KEY_VALUES.LEFT:
@@ -82,7 +69,6 @@ function Menubar(_ref) {
82
69
  to: _MenuContext.MoveFocusTo.Next
83
70
  });
84
71
  break;
85
-
86
72
  case !vertical && !rtl && event.key === _utils.KEY_VALUES.LEFT:
87
73
  case !vertical && rtl && event.key === _utils.KEY_VALUES.RIGHT:
88
74
  case vertical && event.key === _utils.KEY_VALUES.UP:
@@ -93,7 +79,6 @@ function Menubar(_ref) {
93
79
  to: _MenuContext.MoveFocusTo.Prev
94
80
  });
95
81
  break;
96
-
97
82
  case event.key === _utils.KEY_VALUES.HOME:
98
83
  event.preventDefault();
99
84
  event.stopPropagation();
@@ -102,7 +87,6 @@ function Menubar(_ref) {
102
87
  to: _MenuContext.MoveFocusTo.First
103
88
  });
104
89
  break;
105
-
106
90
  case event.key === _utils.KEY_VALUES.END:
107
91
  event.preventDefault();
108
92
  event.stopPropagation();
@@ -111,7 +95,6 @@ function Menubar(_ref) {
111
95
  to: _MenuContext.MoveFocusTo.Last
112
96
  });
113
97
  break;
114
-
115
98
  case !vertical && event.key === _utils.KEY_VALUES.DOWN:
116
99
  case vertical && !rtl && event.key === _utils.KEY_VALUES.RIGHT:
117
100
  case vertical && rtl && event.key === _utils.KEY_VALUES.LEFT:
@@ -120,9 +103,7 @@ function Menubar(_ref) {
120
103
  event.stopPropagation();
121
104
  activeItemElement.click();
122
105
  }
123
-
124
106
  break;
125
-
126
107
  case event.key === _utils.KEY_VALUES.ENTER:
127
108
  case event.key === _utils.KEY_VALUES.SPACE:
128
109
  event.preventDefault();
@@ -130,9 +111,10 @@ function Menubar(_ref) {
130
111
  activeItemElement === null || activeItemElement === void 0 ? void 0 : activeItemElement.click();
131
112
  break;
132
113
  }
133
- }, [rtl, items, activeItemIndex, dispatch, vertical]); // Only used for handling click events bubbling from children
134
- // Which indicates that a child menuitem is being activated
114
+ }, [rtl, items, activeItemIndex, dispatch, vertical]);
135
115
 
116
+ // Only used for handling click events bubbling from children
117
+ // Which indicates that a child menuitem is being activated
136
118
  var onClick = (0, _react.useCallback)(function (event) {
137
119
  if (items.some(function (item) {
138
120
  return item.element === event.target;
@@ -151,6 +133,5 @@ function Menubar(_ref) {
151
133
  onClick: onClick,
152
134
  'aria-activedescendant': (0, _isNil.default)(activeItemIndex) ? undefined : (_items$activeItemInde3 = items[activeItemIndex]) === null || _items$activeItemInde3 === void 0 ? void 0 : _items$activeItemInde3.element.id,
153
135
  'aria-orientation': vertical ? 'vertical' : undefined // implicitly set 'horizontal'
154
-
155
136
  }, menubarElementRef));
156
137
  }
package/cjs/Menu/index.js CHANGED
@@ -1,11 +1,9 @@
1
+ 'use client';
1
2
  "use strict";
2
3
 
3
4
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
5
  exports.__esModule = true;
6
6
  exports.default = void 0;
7
-
8
7
  var _Menu = _interopRequireDefault(require("./Menu"));
9
-
10
8
  var _default = _Menu.default;
11
9
  exports.default = _default;