rsuite 5.19.1 → 5.20.0-beta.6

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 (482) hide show
  1. package/Animation/styles/animation.less +0 -0
  2. package/Animation/styles/index.less +0 -0
  3. package/Animation/styles/mixin.less +0 -0
  4. package/AutoComplete/styles/index.less +0 -0
  5. package/Avatar/styles/mixin.less +0 -0
  6. package/Badge/styles/index.less +0 -0
  7. package/Breadcrumb/styles/index.less +0 -0
  8. package/Button/styles/mixin.less +0 -0
  9. package/CHANGELOG.md +11 -0
  10. package/Cascader/styles/index.less +0 -0
  11. package/CheckPicker/styles/index.less +0 -0
  12. package/Checkbox/styles/index.less +0 -0
  13. package/Checkbox/styles/mixin.less +0 -0
  14. package/CheckboxGroup/styles/index.less +0 -0
  15. package/CloseButton/styles/index.less +0 -0
  16. package/Container/styles/index.less +0 -0
  17. package/Content/styles/index.less +0 -0
  18. package/Divider/styles/index.less +0 -0
  19. package/Drawer/styles/mixin.less +0 -0
  20. package/FlexboxGrid/styles/index.less +0 -0
  21. package/Footer/styles/index.less +0 -0
  22. package/Form/styles/index.less +0 -0
  23. package/FormControlLabel/styles/index.less +0 -0
  24. package/FormErrorMessage/styles/animation.less +0 -0
  25. package/FormErrorMessage/styles/index.less +0 -0
  26. package/FormGroup/styles/index.less +0 -0
  27. package/FormHelpText/styles/index.less +0 -0
  28. package/Grid/styles/grid-framework.less +0 -0
  29. package/Grid/styles/mixin.less +0 -0
  30. package/Header/styles/index.less +0 -0
  31. package/Input/styles/index.less +0 -0
  32. package/InputNumber/styles/index.less +0 -0
  33. package/InputNumber/styles/mixin.less +0 -0
  34. package/InputPicker/styles/index.less +0 -0
  35. package/LICENSE +0 -0
  36. package/List/styles/index.less +0 -0
  37. package/Loader/styles/index.less +0 -0
  38. package/Loader/styles/mixin.less +0 -0
  39. package/Message/styles/index.less +0 -0
  40. package/Message/styles/mixin.less +0 -0
  41. package/Modal/styles/animation.less +0 -0
  42. package/Notification/styles/index.less +0 -0
  43. package/Notification/styles/mixin.less +0 -0
  44. package/Pagination/styles/index.less +0 -0
  45. package/Pagination/styles/mixin.less +0 -0
  46. package/Pagination/styles/pagination-group.less +0 -0
  47. package/Panel/styles/index.less +0 -0
  48. package/Picker/styles/index.less +4 -0
  49. package/Placeholder/styles/index.less +0 -0
  50. package/Popover/styles/index.less +0 -0
  51. package/Popover/styles/mixins.less +0 -0
  52. package/Progress/styles/animation.less +0 -0
  53. package/Progress/styles/index.less +0 -0
  54. package/Radio/styles/mixin.less +0 -0
  55. package/RadioGroup/styles/index.less +0 -0
  56. package/Rate/styles/index.less +0 -0
  57. package/Ripple/styles/index.less +0 -0
  58. package/Ripple/styles/mixins.less +0 -0
  59. package/Row/styles/index.less +0 -0
  60. package/SelectPicker/styles/index.less +0 -0
  61. package/Sidebar/styles/index.less +0 -0
  62. package/Sidenav/styles/mixin.less +0 -0
  63. package/Steps/styles/index.less +0 -0
  64. package/Table/styles/mixin.less +0 -0
  65. package/Tag/styles/index.less +0 -0
  66. package/TagInput/styles/index.less +0 -0
  67. package/TagPicker/styles/index.less +0 -0
  68. package/Timeline/styles/index.less +0 -0
  69. package/Timeline/styles/mixin.less +0 -0
  70. package/Tooltip/styles/mixins.less +0 -0
  71. package/TreePicker/styles/mixin.less +0 -0
  72. package/Uploader/styles/mixin.less +0 -0
  73. package/Windowing/package.json +7 -0
  74. package/cjs/@types/global.d.ts +0 -0
  75. package/cjs/Affix/index.js +0 -0
  76. package/cjs/Animation/Bounce.js +0 -0
  77. package/cjs/Animation/Fade.js +0 -0
  78. package/cjs/Animation/Slide.js +0 -0
  79. package/cjs/Animation/index.js +0 -0
  80. package/cjs/Animation/utils.js +0 -0
  81. package/cjs/AutoComplete/index.js +0 -0
  82. package/cjs/Avatar/index.js +0 -0
  83. package/cjs/Badge/index.js +0 -0
  84. package/cjs/Breadcrumb/index.js +0 -0
  85. package/cjs/Button/index.js +0 -0
  86. package/cjs/ButtonToolbar/ButtonToolbar.js +0 -0
  87. package/cjs/ButtonToolbar/index.js +0 -0
  88. package/cjs/Calendar/MonthDropdown.d.ts +1 -0
  89. package/cjs/Calendar/MonthDropdown.js +27 -40
  90. package/cjs/Carousel/index.js +0 -0
  91. package/cjs/Cascader/Cascader.d.ts +2 -2
  92. package/cjs/Cascader/DropdownMenu.js +5 -2
  93. package/cjs/Cascader/index.js +0 -0
  94. package/cjs/CheckPicker/CheckPicker.d.ts +2 -2
  95. package/cjs/CheckPicker/CheckPicker.js +4 -1
  96. package/cjs/CheckPicker/index.js +0 -0
  97. package/cjs/CheckTreePicker/CheckTreePicker.js +36 -36
  98. package/cjs/CheckTreePicker/index.js +0 -0
  99. package/cjs/Checkbox/index.js +0 -0
  100. package/cjs/CloseButton/CloseButton.js +0 -0
  101. package/cjs/CloseButton/index.js +0 -0
  102. package/cjs/Col/index.js +0 -0
  103. package/cjs/Container/index.js +0 -0
  104. package/cjs/Content/Content.js +0 -0
  105. package/cjs/Content/index.js +0 -0
  106. package/cjs/CustomProvider/FormattedDate.js +0 -0
  107. package/cjs/CustomProvider/index.js +0 -0
  108. package/cjs/DatePicker/DatePicker.js +9 -0
  109. package/cjs/DatePicker/index.js +0 -0
  110. package/cjs/DateRangePicker/disabledDateUtils.js +0 -0
  111. package/cjs/Disclosure/Disclosure.d.ts +2 -2
  112. package/cjs/Disclosure/Disclosure.js +6 -6
  113. package/cjs/Disclosure/index.js +0 -0
  114. package/cjs/Divider/index.js +0 -0
  115. package/cjs/Drawer/index.js +0 -0
  116. package/cjs/Dropdown/DropdownState.js +0 -0
  117. package/cjs/Dropdown/index.js +0 -0
  118. package/cjs/FlexboxGrid/index.js +0 -0
  119. package/cjs/Footer/Footer.js +0 -0
  120. package/cjs/Footer/index.js +0 -0
  121. package/cjs/Form/Form.js +44 -38
  122. package/cjs/FormControl/index.js +0 -0
  123. package/cjs/FormControlLabel/FormControlLabel.js +0 -0
  124. package/cjs/FormControlLabel/index.js +0 -0
  125. package/cjs/FormErrorMessage/FormErrorMessage.js +0 -0
  126. package/cjs/FormErrorMessage/index.js +0 -0
  127. package/cjs/FormGroup/index.js +0 -0
  128. package/cjs/FormHelpText/index.js +0 -0
  129. package/cjs/Grid/Grid.js +0 -0
  130. package/cjs/Grid/index.js +0 -0
  131. package/cjs/Header/Header.js +0 -0
  132. package/cjs/Header/index.js +0 -0
  133. package/cjs/IconButton/index.js +0 -0
  134. package/cjs/Input/index.js +0 -0
  135. package/cjs/InputGroup/InputGroupButton.js +0 -0
  136. package/cjs/InputGroup/index.js +0 -0
  137. package/cjs/InputNumber/index.js +0 -0
  138. package/cjs/InputPicker/InputPicker.js +4 -1
  139. package/cjs/InputPicker/index.js +0 -0
  140. package/cjs/List/index.js +0 -0
  141. package/cjs/Loader/index.js +0 -0
  142. package/cjs/Menu/MenuContext.js +0 -0
  143. package/cjs/Menu/index.js +0 -0
  144. package/cjs/Message/index.js +0 -0
  145. package/cjs/Modal/ModalFooter.js +0 -0
  146. package/cjs/Modal/index.js +0 -0
  147. package/cjs/MultiCascader/DropdownMenu.js +5 -2
  148. package/cjs/MultiCascader/index.js +0 -0
  149. package/cjs/Nav/index.js +0 -0
  150. package/cjs/Navbar/NavbarBody.js +0 -0
  151. package/cjs/Navbar/NavbarBrand.js +0 -0
  152. package/cjs/Navbar/NavbarDropdownMenu.js +16 -10
  153. package/cjs/Navbar/NavbarHeader.js +0 -0
  154. package/cjs/Notification/index.js +0 -0
  155. package/cjs/Overlay/OverlayTrigger.d.ts +12 -3
  156. package/cjs/Overlay/OverlayTrigger.js +26 -4
  157. package/cjs/Overlay/index.js +0 -0
  158. package/cjs/Pagination/index.js +0 -0
  159. package/cjs/Panel/index.js +0 -0
  160. package/cjs/PanelGroup/index.js +0 -0
  161. package/cjs/Picker/DropdownMenu.d.ts +2 -1
  162. package/cjs/Picker/DropdownMenu.js +39 -33
  163. package/cjs/Picker/PickerOverlay.d.ts +2 -2
  164. package/cjs/Picker/PickerToggle.d.ts +1 -0
  165. package/cjs/Picker/PickerToggle.js +27 -8
  166. package/cjs/Picker/PickerToggleTrigger.d.ts +3 -3
  167. package/cjs/Picker/PickerToggleTrigger.js +4 -2
  168. package/cjs/Picker/index.d.ts +3 -3
  169. package/cjs/Picker/types.d.ts +7 -5
  170. package/cjs/Picker/utils.d.ts +11 -12
  171. package/cjs/Picker/utils.js +4 -0
  172. package/cjs/Placeholder/Placeholder.js +0 -0
  173. package/cjs/Placeholder/index.js +0 -0
  174. package/cjs/Plaintext/index.js +0 -0
  175. package/cjs/Popover/index.js +0 -0
  176. package/cjs/Progress/Progress.js +0 -0
  177. package/cjs/Progress/index.js +0 -0
  178. package/cjs/Radio/index.js +0 -0
  179. package/cjs/RadioGroup/index.js +0 -0
  180. package/cjs/RangeSlider/index.js +0 -0
  181. package/cjs/Rate/index.js +0 -0
  182. package/cjs/Ripple/index.js +0 -0
  183. package/cjs/Row/Row.js +0 -0
  184. package/cjs/Row/index.js +0 -0
  185. package/cjs/SafeAnchor/index.js +0 -0
  186. package/cjs/Schema/Schema.js +0 -0
  187. package/cjs/Schema/index.js +0 -0
  188. package/cjs/SelectPicker/SelectPicker.d.ts +6 -5
  189. package/cjs/SelectPicker/SelectPicker.js +4 -1
  190. package/cjs/Sidebar/index.js +0 -0
  191. package/cjs/Sidenav/SidenavBody.js +0 -0
  192. package/cjs/Sidenav/SidenavHeader.js +0 -0
  193. package/cjs/Sidenav/index.js +0 -0
  194. package/cjs/Slider/index.js +0 -0
  195. package/cjs/Steps/index.js +0 -0
  196. package/cjs/Table/index.js +0 -0
  197. package/cjs/Tag/Tag.js +0 -0
  198. package/cjs/Tag/index.js +0 -0
  199. package/cjs/TagGroup/TagGroup.js +0 -0
  200. package/cjs/TagGroup/index.js +0 -0
  201. package/cjs/Timeline/index.js +0 -0
  202. package/cjs/Toggle/index.js +0 -0
  203. package/cjs/Tooltip/index.js +0 -0
  204. package/cjs/Tree/Tree.d.ts +2 -5
  205. package/cjs/Tree/index.js +0 -0
  206. package/cjs/TreePicker/TreePicker.js +34 -34
  207. package/cjs/TreePicker/index.js +0 -0
  208. package/cjs/TreePicker/test/TreePicker.test.js +14 -0
  209. package/cjs/Whisper/Whisper.d.ts +3 -3
  210. package/cjs/Whisper/index.js +0 -0
  211. package/cjs/Windowing/AutoSizer.d.ts +25 -0
  212. package/cjs/Windowing/AutoSizer.js +103 -0
  213. package/cjs/Windowing/List.d.ts +45 -0
  214. package/cjs/Windowing/List.js +72 -0
  215. package/cjs/Windowing/index.d.ts +5 -0
  216. package/cjs/Windowing/index.js +19 -0
  217. package/cjs/index.d.ts +1 -0
  218. package/cjs/locales/ar_EG.js +0 -0
  219. package/cjs/locales/da_DK.js +0 -0
  220. package/cjs/locales/de_DE.js +0 -0
  221. package/cjs/locales/default.js +0 -0
  222. package/cjs/locales/en_GB.js +0 -0
  223. package/cjs/locales/en_US.js +0 -0
  224. package/cjs/locales/es_AR.js +0 -0
  225. package/cjs/locales/es_ES.js +0 -0
  226. package/cjs/locales/fi_FI.js +0 -0
  227. package/cjs/locales/it_IT.js +0 -0
  228. package/cjs/locales/ko_KR.js +0 -0
  229. package/cjs/locales/pt_BR.js +0 -0
  230. package/cjs/locales/ru_RU.js +0 -0
  231. package/cjs/locales/sv_SE.js +0 -0
  232. package/cjs/locales/zh_CN.js +0 -0
  233. package/cjs/locales/zh_TW.js +0 -0
  234. package/cjs/toaster/ToastContainer.d.ts +2 -1
  235. package/cjs/toaster/ToastContainer.js +27 -26
  236. package/cjs/toaster/toaster.d.ts +1 -1
  237. package/cjs/toaster/toaster.js +43 -13
  238. package/cjs/toaster/useToaster.d.ts +1 -1
  239. package/cjs/utils/clone.js +0 -0
  240. package/cjs/utils/events.js +0 -0
  241. package/cjs/utils/getDOMNode.js +0 -0
  242. package/cjs/utils/getSafeRegExpString.js +0 -0
  243. package/cjs/utils/guid.js +0 -0
  244. package/cjs/utils/htmlPropsUtils.js +0 -0
  245. package/cjs/utils/index.d.ts +1 -0
  246. package/cjs/utils/index.js +6 -1
  247. package/cjs/utils/isOneOf.js +0 -0
  248. package/cjs/utils/prefix.js +0 -0
  249. package/cjs/utils/render.d.ts +3 -0
  250. package/cjs/utils/render.js +49 -0
  251. package/cjs/utils/shallowEqual.js +0 -0
  252. package/cjs/utils/shallowEqualArray.js +0 -0
  253. package/cjs/utils/statusIcons.js +0 -0
  254. package/cjs/utils/stringToObject.js +0 -0
  255. package/cjs/utils/tplTransform.js +0 -0
  256. package/cjs/utils/treeUtils.d.ts +2 -2
  257. package/cjs/utils/useClassNames.js +0 -0
  258. package/cjs/utils/useEnsuredRef.js +0 -0
  259. package/cjs/utils/useEventCallback.js +0 -0
  260. package/cjs/utils/useToggleCaret.js +0 -0
  261. package/cjs/utils/useUniqueId.js +10 -2
  262. package/cjs/utils/useUpdateEffect.js +0 -0
  263. package/cjs/utils/useUpdatedRef.js +0 -0
  264. package/cjs/utils/useWillUnmount.js +0 -0
  265. package/dist/rsuite-rtl.css +3 -0
  266. package/dist/rsuite-rtl.min.css +1 -1
  267. package/dist/rsuite-rtl.min.css.map +1 -1
  268. package/dist/rsuite.css +3 -0
  269. package/dist/rsuite.js +303 -562
  270. package/dist/rsuite.js.map +1 -1
  271. package/dist/rsuite.min.css +1 -1
  272. package/dist/rsuite.min.css.map +1 -1
  273. package/dist/rsuite.min.js +1 -1
  274. package/dist/rsuite.min.js.LICENSE.txt +2 -0
  275. package/dist/rsuite.min.js.map +1 -1
  276. package/esm/@types/global.d.ts +0 -0
  277. package/esm/Affix/index.js +0 -0
  278. package/esm/Animation/Bounce.js +0 -0
  279. package/esm/Animation/Fade.js +0 -0
  280. package/esm/Animation/Slide.js +0 -0
  281. package/esm/Animation/index.js +0 -0
  282. package/esm/Animation/utils.js +0 -0
  283. package/esm/AutoComplete/index.js +0 -0
  284. package/esm/Avatar/index.js +0 -0
  285. package/esm/Badge/index.js +0 -0
  286. package/esm/Breadcrumb/index.js +0 -0
  287. package/esm/Button/index.js +0 -0
  288. package/esm/ButtonToolbar/ButtonToolbar.js +0 -0
  289. package/esm/ButtonToolbar/index.js +0 -0
  290. package/esm/Calendar/MonthDropdown.d.ts +1 -0
  291. package/esm/Calendar/MonthDropdown.js +26 -41
  292. package/esm/Carousel/index.js +0 -0
  293. package/esm/Cascader/Cascader.d.ts +2 -2
  294. package/esm/Cascader/DropdownMenu.js +5 -2
  295. package/esm/Cascader/index.js +0 -0
  296. package/esm/CheckPicker/CheckPicker.d.ts +2 -2
  297. package/esm/CheckPicker/CheckPicker.js +4 -1
  298. package/esm/CheckPicker/index.js +0 -0
  299. package/esm/CheckTreePicker/CheckTreePicker.js +36 -35
  300. package/esm/CheckTreePicker/index.js +0 -0
  301. package/esm/Checkbox/index.js +0 -0
  302. package/esm/CloseButton/CloseButton.js +0 -0
  303. package/esm/CloseButton/index.js +0 -0
  304. package/esm/Col/index.js +0 -0
  305. package/esm/Container/index.js +0 -0
  306. package/esm/Content/Content.js +0 -0
  307. package/esm/Content/index.js +0 -0
  308. package/esm/CustomProvider/FormattedDate.js +0 -0
  309. package/esm/CustomProvider/index.js +0 -0
  310. package/esm/DatePicker/DatePicker.js +8 -0
  311. package/esm/DatePicker/index.js +0 -0
  312. package/esm/DateRangePicker/disabledDateUtils.js +0 -0
  313. package/esm/Disclosure/Disclosure.d.ts +2 -2
  314. package/esm/Disclosure/Disclosure.js +6 -6
  315. package/esm/Disclosure/index.js +0 -0
  316. package/esm/Divider/index.js +0 -0
  317. package/esm/Drawer/index.js +0 -0
  318. package/esm/Dropdown/DropdownState.js +0 -0
  319. package/esm/Dropdown/index.js +0 -0
  320. package/esm/FlexboxGrid/index.js +0 -0
  321. package/esm/Footer/Footer.js +0 -0
  322. package/esm/Footer/index.js +0 -0
  323. package/esm/Form/Form.js +44 -38
  324. package/esm/FormControl/index.js +0 -0
  325. package/esm/FormControlLabel/FormControlLabel.js +0 -0
  326. package/esm/FormControlLabel/index.js +0 -0
  327. package/esm/FormErrorMessage/FormErrorMessage.js +0 -0
  328. package/esm/FormErrorMessage/index.js +0 -0
  329. package/esm/FormGroup/index.js +0 -0
  330. package/esm/FormHelpText/index.js +0 -0
  331. package/esm/Grid/Grid.js +0 -0
  332. package/esm/Grid/index.js +0 -0
  333. package/esm/Header/Header.js +0 -0
  334. package/esm/Header/index.js +0 -0
  335. package/esm/IconButton/index.js +0 -0
  336. package/esm/Input/index.js +0 -0
  337. package/esm/InputGroup/InputGroupButton.js +0 -0
  338. package/esm/InputGroup/index.js +0 -0
  339. package/esm/InputNumber/index.js +0 -0
  340. package/esm/InputPicker/InputPicker.js +4 -1
  341. package/esm/InputPicker/index.js +0 -0
  342. package/esm/List/index.js +0 -0
  343. package/esm/Loader/index.js +0 -0
  344. package/esm/Menu/MenuContext.js +0 -0
  345. package/esm/Menu/index.js +0 -0
  346. package/esm/Message/index.js +0 -0
  347. package/esm/Modal/ModalFooter.js +0 -0
  348. package/esm/Modal/index.js +0 -0
  349. package/esm/MultiCascader/DropdownMenu.js +5 -2
  350. package/esm/MultiCascader/index.js +0 -0
  351. package/esm/Nav/index.js +0 -0
  352. package/esm/Navbar/NavbarBody.js +0 -0
  353. package/esm/Navbar/NavbarBrand.js +0 -0
  354. package/esm/Navbar/NavbarDropdownMenu.js +14 -8
  355. package/esm/Navbar/NavbarHeader.js +0 -0
  356. package/esm/Notification/index.js +0 -0
  357. package/esm/Overlay/OverlayTrigger.d.ts +12 -3
  358. package/esm/Overlay/OverlayTrigger.js +23 -3
  359. package/esm/Overlay/index.js +0 -0
  360. package/esm/Pagination/index.js +0 -0
  361. package/esm/Panel/index.js +0 -0
  362. package/esm/PanelGroup/index.js +0 -0
  363. package/esm/Picker/DropdownMenu.d.ts +2 -1
  364. package/esm/Picker/DropdownMenu.js +39 -35
  365. package/esm/Picker/PickerOverlay.d.ts +2 -2
  366. package/esm/Picker/PickerToggle.d.ts +1 -0
  367. package/esm/Picker/PickerToggle.js +25 -8
  368. package/esm/Picker/PickerToggleTrigger.d.ts +3 -3
  369. package/esm/Picker/PickerToggleTrigger.js +4 -2
  370. package/esm/Picker/index.d.ts +3 -3
  371. package/esm/Picker/types.d.ts +7 -5
  372. package/esm/Picker/utils.d.ts +11 -12
  373. package/esm/Picker/utils.js +4 -0
  374. package/esm/Placeholder/Placeholder.js +0 -0
  375. package/esm/Placeholder/index.js +0 -0
  376. package/esm/Plaintext/index.js +0 -0
  377. package/esm/Popover/index.js +0 -0
  378. package/esm/Progress/Progress.js +0 -0
  379. package/esm/Progress/index.js +0 -0
  380. package/esm/Radio/index.js +0 -0
  381. package/esm/RadioGroup/index.js +0 -0
  382. package/esm/RangeSlider/index.js +0 -0
  383. package/esm/Rate/index.js +0 -0
  384. package/esm/Ripple/index.js +0 -0
  385. package/esm/Row/Row.js +0 -0
  386. package/esm/Row/index.js +0 -0
  387. package/esm/SafeAnchor/index.js +0 -0
  388. package/esm/Schema/Schema.js +0 -0
  389. package/esm/Schema/index.js +0 -0
  390. package/esm/SelectPicker/SelectPicker.d.ts +6 -5
  391. package/esm/SelectPicker/SelectPicker.js +4 -1
  392. package/esm/Sidebar/index.js +0 -0
  393. package/esm/Sidenav/SidenavBody.js +0 -0
  394. package/esm/Sidenav/SidenavHeader.js +0 -0
  395. package/esm/Sidenav/index.js +0 -0
  396. package/esm/Slider/index.js +0 -0
  397. package/esm/Steps/index.js +0 -0
  398. package/esm/Table/index.js +0 -0
  399. package/esm/Tag/Tag.js +0 -0
  400. package/esm/Tag/index.js +0 -0
  401. package/esm/TagGroup/TagGroup.js +0 -0
  402. package/esm/TagGroup/index.js +0 -0
  403. package/esm/Timeline/index.js +0 -0
  404. package/esm/Toggle/index.js +0 -0
  405. package/esm/Tooltip/index.js +0 -0
  406. package/esm/Tree/Tree.d.ts +2 -5
  407. package/esm/Tree/index.js +0 -0
  408. package/esm/TreePicker/TreePicker.js +33 -32
  409. package/esm/TreePicker/index.js +0 -0
  410. package/esm/TreePicker/test/TreePicker.test.js +14 -0
  411. package/esm/Whisper/Whisper.d.ts +3 -3
  412. package/esm/Whisper/index.js +0 -0
  413. package/esm/Windowing/AutoSizer.d.ts +25 -0
  414. package/esm/Windowing/AutoSizer.js +88 -0
  415. package/esm/Windowing/List.d.ts +45 -0
  416. package/esm/Windowing/List.js +58 -0
  417. package/esm/Windowing/index.d.ts +5 -0
  418. package/esm/Windowing/index.js +3 -0
  419. package/esm/index.d.ts +1 -0
  420. package/esm/locales/ar_EG.js +0 -0
  421. package/esm/locales/da_DK.js +0 -0
  422. package/esm/locales/de_DE.js +0 -0
  423. package/esm/locales/default.js +0 -0
  424. package/esm/locales/en_GB.js +0 -0
  425. package/esm/locales/en_US.js +0 -0
  426. package/esm/locales/es_AR.js +0 -0
  427. package/esm/locales/es_ES.js +0 -0
  428. package/esm/locales/fi_FI.js +0 -0
  429. package/esm/locales/it_IT.js +0 -0
  430. package/esm/locales/ko_KR.js +0 -0
  431. package/esm/locales/pt_BR.js +0 -0
  432. package/esm/locales/ru_RU.js +0 -0
  433. package/esm/locales/sv_SE.js +0 -0
  434. package/esm/locales/zh_CN.js +0 -0
  435. package/esm/locales/zh_TW.js +0 -0
  436. package/esm/toaster/ToastContainer.d.ts +2 -1
  437. package/esm/toaster/ToastContainer.js +28 -26
  438. package/esm/toaster/toaster.d.ts +1 -1
  439. package/esm/toaster/toaster.js +41 -13
  440. package/esm/toaster/useToaster.d.ts +1 -1
  441. package/esm/utils/clone.js +0 -0
  442. package/esm/utils/events.js +0 -0
  443. package/esm/utils/getDOMNode.js +0 -0
  444. package/esm/utils/getSafeRegExpString.js +0 -0
  445. package/esm/utils/guid.js +0 -0
  446. package/esm/utils/htmlPropsUtils.js +0 -0
  447. package/esm/utils/index.d.ts +1 -0
  448. package/esm/utils/index.js +1 -0
  449. package/esm/utils/isOneOf.js +0 -0
  450. package/esm/utils/prefix.js +0 -0
  451. package/esm/utils/render.d.ts +3 -0
  452. package/esm/utils/render.js +37 -0
  453. package/esm/utils/shallowEqual.js +0 -0
  454. package/esm/utils/shallowEqualArray.js +0 -0
  455. package/esm/utils/statusIcons.js +0 -0
  456. package/esm/utils/stringToObject.js +0 -0
  457. package/esm/utils/tplTransform.js +0 -0
  458. package/esm/utils/treeUtils.d.ts +2 -2
  459. package/esm/utils/useClassNames.js +0 -0
  460. package/esm/utils/useEnsuredRef.js +0 -0
  461. package/esm/utils/useEventCallback.js +0 -0
  462. package/esm/utils/useToggleCaret.js +0 -0
  463. package/esm/utils/useUniqueId.js +7 -2
  464. package/esm/utils/useUpdateEffect.js +0 -0
  465. package/esm/utils/useUpdatedRef.js +0 -0
  466. package/esm/utils/useWillUnmount.js +0 -0
  467. package/package.json +5 -5
  468. package/styles/color-modes.less +0 -0
  469. package/styles/colors/light.less +0 -0
  470. package/styles/common.less +0 -0
  471. package/styles/mixins/color-modes.less +0 -0
  472. package/styles/mixins/hacks.less +0 -0
  473. package/styles/mixins/menu.less +0 -0
  474. package/styles/normalize.less +0 -0
  475. package/styles/scaffolding.less +0 -0
  476. package/styles/typography.less +0 -0
  477. package/toaster/styles/animation.less +0 -0
  478. package/toaster/styles/index.less +0 -0
  479. package/cjs/Picker/VirtualizedList.d.ts +0 -37
  480. package/cjs/Picker/VirtualizedList.js +0 -15
  481. package/esm/Picker/VirtualizedList.d.ts +0 -37
  482. package/esm/Picker/VirtualizedList.js +0 -4
File without changes
@@ -35,6 +35,8 @@ var _utils = require("../utils");
35
35
 
36
36
  var _Picker = require("../Picker");
37
37
 
38
+ var _OverlayTrigger = require("../Overlay/OverlayTrigger");
39
+
38
40
  var DatePicker = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
39
41
  var _props$as = props.as,
40
42
  Component = _props$as === void 0 ? 'div' : _props$as,
@@ -419,6 +421,13 @@ var DatePicker = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
419
421
  pickerProps: (0, _pick.default)(props, _Picker.pickTriggerPropKeys),
420
422
  ref: triggerRef,
421
423
  placement: placement,
424
+ onClose: function onClose(cause) {
425
+ // Unless overlay is closing on user clicking "OK" button,
426
+ // reset the selected date on calendar panel
427
+ if (cause !== _OverlayTrigger.OverlayCloseCause.ImperativeHandle) {
428
+ resetCalendarDate();
429
+ }
430
+ },
422
431
  onEntered: (0, _utils.createChainedFunction)(handleEntered, onEntered),
423
432
  onExited: (0, _utils.createChainedFunction)(handleExited, onExited),
424
433
  speaker: renderDropdownMenu
File without changes
File without changes
@@ -1,8 +1,8 @@
1
1
  import React from 'react';
2
2
  import DisclosureButton from './DisclosureButton';
3
3
  import DisclosureContent from './DisclosureContent';
4
- export declare type DisclosureTrigger = 'click' | 'mouseover';
5
- export interface DisclosureRenderProps extends Pick<React.HTMLAttributes<HTMLElement>, 'onMouseOver' | 'onMouseOut'> {
4
+ export declare type DisclosureTrigger = 'click' | 'hover';
5
+ export interface DisclosureRenderProps extends Pick<React.HTMLAttributes<HTMLElement>, 'onMouseEnter' | 'onMouseLeave'> {
6
6
  open: boolean;
7
7
  }
8
8
  export interface DisclosureProps {
@@ -74,7 +74,7 @@ var Disclosure = /*#__PURE__*/_react.default.memo(function (props) {
74
74
  });
75
75
  }
76
76
  });
77
- var onMouseOver = (0, _react.useCallback)(function (event) {
77
+ var onMouseEnter = (0, _react.useCallback)(function (event) {
78
78
  if (!open) {
79
79
  dispatch({
80
80
  type: _DisclosureContext.DisclosureActionTypes.Show
@@ -82,7 +82,7 @@ var Disclosure = /*#__PURE__*/_react.default.memo(function (props) {
82
82
  onToggle === null || onToggle === void 0 ? void 0 : onToggle(true, event);
83
83
  }
84
84
  }, [open, dispatch, onToggle]);
85
- var onMouseOut = (0, _react.useCallback)(function (event) {
85
+ var onMouseLeave = (0, _react.useCallback)(function (event) {
86
86
  if (open) {
87
87
  dispatch({
88
88
  type: _DisclosureContext.DisclosureActionTypes.Hide
@@ -113,13 +113,13 @@ var Disclosure = /*#__PURE__*/_react.default.memo(function (props) {
113
113
  open: open
114
114
  };
115
115
 
116
- if (trigger.includes('mouseover')) {
117
- renderProps.onMouseOver = onMouseOver;
118
- renderProps.onMouseOut = onMouseOut;
116
+ if (trigger.includes('hover')) {
117
+ renderProps.onMouseEnter = onMouseEnter;
118
+ renderProps.onMouseLeave = onMouseLeave;
119
119
  }
120
120
 
121
121
  return renderProps;
122
- }, [open, trigger, onMouseOver, onMouseOut]);
122
+ }, [open, trigger, onMouseEnter, onMouseLeave]);
123
123
  return /*#__PURE__*/_react.default.createElement(_DisclosureContext.default.Provider, {
124
124
  value: contextValue
125
125
  }, children(renderProps, containerElementRef));
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
package/cjs/Form/Form.js CHANGED
@@ -15,8 +15,6 @@ var _react = _interopRequireWildcard(require("react"));
15
15
 
16
16
  var _propTypes = _interopRequireDefault(require("prop-types"));
17
17
 
18
- var _isUndefined = _interopRequireDefault(require("lodash/isUndefined"));
19
-
20
18
  var _omit = _interopRequireDefault(require("lodash/omit"));
21
19
 
22
20
  var _schemaTyped = require("schema-typed");
@@ -37,6 +35,8 @@ var _useFormClassNames = require("./useFormClassNames");
37
35
 
38
36
  var _useSchemaModel2 = _interopRequireDefault(require("./useSchemaModel"));
39
37
 
38
+ var _utils = require("../utils");
39
+
40
40
  var Form = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
41
41
  var _props$checkTrigger = props.checkTrigger,
42
42
  checkTrigger = _props$checkTrigger === void 0 ? 'change' : _props$checkTrigger,
@@ -79,20 +79,18 @@ var Form = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
79
79
  disabled: disabled
80
80
  });
81
81
 
82
- var _useState = (0, _react.useState)(formDefaultValue),
83
- _formValue = _useState[0],
84
- setFormValue = _useState[1];
82
+ var _useControlled = (0, _utils.useControlled)(formValue, formDefaultValue),
83
+ realFormValue = _useControlled[0],
84
+ setFormValue = _useControlled[1];
85
85
 
86
- var _useState2 = (0, _react.useState)(formError || {}),
87
- _formError = _useState2[0],
88
- setFormError = _useState2[1];
86
+ var _useControlled2 = (0, _utils.useControlled)(formError, {}),
87
+ realFormError = _useControlled2[0],
88
+ setFormError = _useControlled2[1];
89
89
 
90
- var getFormValue = (0, _react.useCallback)(function () {
91
- return (0, _isUndefined.default)(formValue) ? _formValue : formValue;
92
- }, [_formValue, formValue]);
93
- var getFormError = (0, _react.useCallback)(function () {
94
- return (0, _isUndefined.default)(formError) ? _formError : formError;
95
- }, [formError, _formError]);
90
+ var realFormValueRef = (0, _react.useRef)(realFormValue);
91
+ realFormValueRef.current = realFormValue;
92
+ var realFormErrorRef = (0, _react.useRef)(realFormError);
93
+ realFormErrorRef.current = realFormError;
96
94
  /**
97
95
  * Validate the form data and return a boolean.
98
96
  * The error message after verification is returned in the callback.
@@ -100,7 +98,7 @@ var Form = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
100
98
  */
101
99
 
102
100
  var check = (0, _react.useCallback)(function (callback) {
103
- var formValue = getFormValue() || {};
101
+ var formValue = realFormValue || {};
104
102
  var formError = {};
105
103
  var errorCount = 0;
106
104
  var model = getCombinedModel();
@@ -122,7 +120,7 @@ var Form = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
122
120
  }
123
121
 
124
122
  return true;
125
- }, [getFormValue, getCombinedModel, onCheck, onError]);
123
+ }, [realFormValue, getCombinedModel, setFormError, onCheck, onError]);
126
124
  /**
127
125
  * Check the data field
128
126
  * @param fieldName
@@ -132,10 +130,10 @@ var Form = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
132
130
  var checkForField = (0, _react.useCallback)(function (fieldName, callback) {
133
131
  var _extends2;
134
132
 
135
- var formValue = getFormValue() || {};
133
+ var formValue = realFormValue || {};
136
134
  var model = getCombinedModel();
137
135
  var checkResult = model.checkForField(fieldName, formValue);
138
- var formError = (0, _extends6.default)({}, getFormError(), (_extends2 = {}, _extends2[fieldName] = (checkResult === null || checkResult === void 0 ? void 0 : checkResult.errorMessage) || checkResult, _extends2));
136
+ var formError = (0, _extends6.default)({}, realFormError, (_extends2 = {}, _extends2[fieldName] = (checkResult === null || checkResult === void 0 ? void 0 : checkResult.errorMessage) || checkResult, _extends2));
139
137
  setFormError(formError);
140
138
  onCheck === null || onCheck === void 0 ? void 0 : onCheck(formError);
141
139
  callback === null || callback === void 0 ? void 0 : callback(checkResult);
@@ -145,13 +143,13 @@ var Form = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
145
143
  }
146
144
 
147
145
  return !checkResult.hasError;
148
- }, [getFormValue, getCombinedModel, getFormError, onCheck, onError]);
146
+ }, [realFormValue, getCombinedModel, realFormError, setFormError, onCheck, onError]);
149
147
  /**
150
148
  * Check form data asynchronously and return a Promise
151
149
  */
152
150
 
153
151
  var checkAsync = (0, _react.useCallback)(function () {
154
- var formValue = getFormValue() || {};
152
+ var formValue = realFormValue || {};
155
153
  var promises = [];
156
154
  var keys = [];
157
155
  var model = getCombinedModel();
@@ -182,19 +180,19 @@ var Form = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
182
180
  formError: formError
183
181
  };
184
182
  });
185
- }, [getFormValue, getCombinedModel, onCheck, onError]);
183
+ }, [realFormValue, getCombinedModel, onCheck, setFormError, onError]);
186
184
  /**
187
185
  * Asynchronously check form fields and return Promise
188
186
  * @param fieldName
189
187
  */
190
188
 
191
189
  var checkForFieldAsync = (0, _react.useCallback)(function (fieldName) {
192
- var formValue = getFormValue() || {};
190
+ var formValue = realFormValue || {};
193
191
  var model = getCombinedModel();
194
192
  return model.checkForFieldAsync(fieldName, formValue).then(function (checkResult) {
195
193
  var _extends3;
196
194
 
197
- var formError = (0, _extends6.default)({}, getFormError(), (_extends3 = {}, _extends3[fieldName] = checkResult.errorMessage, _extends3));
195
+ var formError = (0, _extends6.default)({}, realFormError, (_extends3 = {}, _extends3[fieldName] = checkResult.errorMessage, _extends3));
198
196
  onCheck === null || onCheck === void 0 ? void 0 : onCheck(formError);
199
197
  setFormError(formError);
200
198
 
@@ -204,20 +202,20 @@ var Form = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
204
202
 
205
203
  return checkResult;
206
204
  });
207
- }, [getFormValue, getCombinedModel, getFormError, onCheck, onError]);
205
+ }, [realFormValue, getCombinedModel, realFormError, onCheck, setFormError, onError]);
208
206
  var cleanErrors = (0, _react.useCallback)(function () {
209
207
  setFormError({});
210
- }, []);
208
+ }, [setFormError]);
211
209
  var cleanErrorForField = (0, _react.useCallback)(function (fieldName) {
212
- setFormError((0, _omit.default)(_formError, [fieldName]));
213
- }, [_formError]);
210
+ setFormError((0, _omit.default)(realFormError, [fieldName]));
211
+ }, [realFormError, setFormError]);
214
212
  var resetErrors = (0, _react.useCallback)(function (formError) {
215
213
  if (formError === void 0) {
216
214
  formError = {};
217
215
  }
218
216
 
219
217
  setFormError(formError);
220
- }, []);
218
+ }, [setFormError]);
221
219
  (0, _react.useImperativeHandle)(ref, function () {
222
220
  return {
223
221
  root: rootRef.current,
@@ -231,15 +229,23 @@ var Form = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
231
229
  };
232
230
  });
233
231
  var removeFieldError = (0, _react.useCallback)(function (name) {
234
- var formError = (0, _omit.default)(getFormError(), [name]);
232
+ /**
233
+ * when this function is called when the children component is unmount, it's an old render frame
234
+ * so use Ref to get future error
235
+ */
236
+ var formError = (0, _omit.default)(realFormErrorRef.current, [name]);
235
237
  setFormError(formError);
236
238
  onCheck === null || onCheck === void 0 ? void 0 : onCheck(formError);
237
- }, [getFormError, onCheck]);
239
+ }, [onCheck, setFormError]);
238
240
  var removeFieldValue = (0, _react.useCallback)(function (name) {
239
- var formValue = (0, _omit.default)(getFormValue(), [name]);
241
+ /**
242
+ * when this function is called when the children component is unmount, it's an old render frame
243
+ * so use Ref to get future value
244
+ */
245
+ var formValue = (0, _omit.default)(realFormValueRef.current, [name]);
240
246
  setFormValue(formValue);
241
247
  onChange === null || onChange === void 0 ? void 0 : onChange(formValue);
242
- }, [getFormValue, onChange]);
248
+ }, [onChange, setFormValue]);
243
249
  var handleSubmit = (0, _react.useCallback)(function (event) {
244
250
  if (disabled || readOnly || plaintext) {
245
251
  return;
@@ -253,22 +259,22 @@ var Form = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
253
259
  var handleFieldError = (0, _react.useCallback)(function (name, errorMessage) {
254
260
  var _extends4;
255
261
 
256
- var formError = (0, _extends6.default)({}, getFormError(), (_extends4 = {}, _extends4[name] = errorMessage, _extends4));
262
+ var formError = (0, _extends6.default)({}, realFormError, (_extends4 = {}, _extends4[name] = errorMessage, _extends4));
257
263
  setFormError(formError);
258
264
  onError === null || onError === void 0 ? void 0 : onError(formError);
259
265
  onCheck === null || onCheck === void 0 ? void 0 : onCheck(formError);
260
- }, [onError, onCheck, getFormError]);
266
+ }, [realFormError, setFormError, onError, onCheck]);
261
267
  var handleFieldSuccess = (0, _react.useCallback)(function (name) {
262
268
  removeFieldError(name);
263
269
  }, [removeFieldError]);
264
270
  var handleFieldChange = (0, _react.useCallback)(function (name, value, event) {
265
271
  var _extends5;
266
272
 
267
- var formValue = getFormValue();
273
+ var formValue = realFormValue;
268
274
  var nextFormValue = (0, _extends6.default)({}, formValue, (_extends5 = {}, _extends5[name] = value, _extends5));
269
275
  setFormValue(nextFormValue);
270
276
  onChange === null || onChange === void 0 ? void 0 : onChange(nextFormValue, event);
271
- }, [onChange, getFormValue]);
277
+ }, [realFormValue, setFormValue, onChange]);
272
278
  var rootRef = (0, _react.useRef)(null);
273
279
  var formContextValue = (0, _react.useMemo)(function () {
274
280
  return {
@@ -279,7 +285,7 @@ var Form = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
279
285
  readOnly: readOnly,
280
286
  plaintext: plaintext,
281
287
  disabled: disabled,
282
- formError: getFormError(),
288
+ formError: realFormError,
283
289
  removeFieldValue: removeFieldValue,
284
290
  removeFieldError: removeFieldError,
285
291
  pushFieldRule: pushFieldRule,
@@ -288,7 +294,7 @@ var Form = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
288
294
  onFieldError: handleFieldError,
289
295
  onFieldSuccess: handleFieldSuccess
290
296
  };
291
- }, [getCombinedModel, checkTrigger, formDefaultValue, errorFromContext, readOnly, plaintext, disabled, getFormError, removeFieldValue, removeFieldError, pushFieldRule, removeFieldRule, handleFieldChange, handleFieldError, handleFieldSuccess]);
297
+ }, [getCombinedModel, checkTrigger, formDefaultValue, errorFromContext, readOnly, plaintext, disabled, realFormError, removeFieldValue, removeFieldError, pushFieldRule, removeFieldRule, handleFieldChange, handleFieldError, handleFieldSuccess]);
292
298
  return /*#__PURE__*/_react.default.createElement("form", (0, _extends6.default)({}, rest, {
293
299
  ref: rootRef,
294
300
  onSubmit: handleSubmit,
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
package/cjs/Grid/Grid.js CHANGED
File without changes
package/cjs/Grid/index.js CHANGED
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
@@ -145,6 +145,7 @@ var InputPicker = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
145
145
  var targetRef = (0, _react.useRef)(null);
146
146
  var triggerRef = (0, _react.useRef)(null);
147
147
  var inputRef = (0, _react.useRef)();
148
+ var listRef = (0, _react.useRef)(null);
148
149
 
149
150
  var _useCustom = (0, _utils.useCustom)(['Picker', 'InputPicker'], overrideLocale),
150
151
  locale = _useCustom.locale;
@@ -436,7 +437,8 @@ var InputPicker = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
436
437
  (0, _Picker.usePublicMethods)(ref, {
437
438
  triggerRef: triggerRef,
438
439
  overlayRef: overlayRef,
439
- targetRef: targetRef
440
+ targetRef: targetRef,
441
+ listRef: listRef
440
442
  });
441
443
  /**
442
444
  * Remove the last item, after pressing the back key on the keyboard.
@@ -635,6 +637,7 @@ var InputPicker = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
635
637
  var menu = items.length ? /*#__PURE__*/_react.default.createElement(_Picker.DropdownMenu, {
636
638
  id: id ? id + "-listbox" : undefined,
637
639
  listProps: listProps,
640
+ listRef: listRef,
638
641
  disabledItemValues: disabledItemValues,
639
642
  valueKey: valueKey,
640
643
  labelKey: labelKey,
File without changes
package/cjs/List/index.js CHANGED
File without changes
File without changes
File without changes
package/cjs/Menu/index.js CHANGED
File without changes
File without changes
File without changes
File without changes
@@ -69,7 +69,10 @@ var DropdownMenu = /*#__PURE__*/_react.default.forwardRef(function (props, ref)
69
69
  prefix = _useClassNames.prefix;
70
70
 
71
71
  var classes = merge(className, prefix('items'));
72
- var rtl = (0, _utils.useCustom)('DropdownMenu');
72
+
73
+ var _useCustom = (0, _utils.useCustom)('DropdownMenu'),
74
+ rtl = _useCustom.rtl;
75
+
73
76
  var getCascadePaths = (0, _react.useCallback)(function (layer, node) {
74
77
  var paths = [];
75
78
 
@@ -96,7 +99,7 @@ var DropdownMenu = /*#__PURE__*/_react.default.forwardRef(function (props, ref)
96
99
  }); // Use `value` in keys when If `value` is string or number
97
100
 
98
101
  var onlyKey = typeof value === 'number' || typeof value === 'string' ? value : index;
99
- var Icon = node.loading ? _Spinner.default : rtl ? _AngleRight.default : _AngleLeft.default;
102
+ var Icon = node.loading ? _Spinner.default : rtl ? _AngleLeft.default : _AngleRight.default;
100
103
  var active = value.some(function (v) {
101
104
  return v === nodeValue;
102
105
  });
File without changes
package/cjs/Nav/index.js CHANGED
File without changes
File without changes
File without changes
@@ -15,17 +15,17 @@ var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runt
15
15
 
16
16
  var _react = _interopRequireWildcard(require("react"));
17
17
 
18
- var _omit2 = _interopRequireDefault(require("lodash/omit"));
18
+ var _propTypes = _interopRequireDefault(require("prop-types"));
19
19
 
20
- var _utils = require("../utils");
20
+ var _omit2 = _interopRequireDefault(require("lodash/omit"));
21
21
 
22
- var _propTypes = _interopRequireDefault(require("prop-types"));
22
+ var _isNil = _interopRequireDefault(require("lodash/isNil"));
23
23
 
24
24
  var _AngleLeft = _interopRequireDefault(require("@rsuite/icons/legacy/AngleLeft"));
25
25
 
26
26
  var _AngleRight = _interopRequireDefault(require("@rsuite/icons/legacy/AngleRight"));
27
27
 
28
- var _useCustom2 = _interopRequireDefault(require("../utils/useCustom"));
28
+ var _utils = require("../utils");
29
29
 
30
30
  var _ = require(".");
31
31
 
@@ -68,7 +68,7 @@ var NavbarDropdownMenu = /*#__PURE__*/_react.default.forwardRef(function (props,
68
68
  openDirection = _props$openDirection === void 0 ? 'end' : _props$openDirection,
69
69
  rest = (0, _objectWithoutPropertiesLoose2.default)(props, ["onToggle", "eventKey", "title", "classPrefix", "children", "openDirection"]);
70
70
 
71
- var _useCustom = (0, _useCustom2.default)('DropdownMenu'),
71
+ var _useCustom = (0, _utils.useCustom)('DropdownMenu'),
72
72
  rtl = _useCustom.rtl;
73
73
 
74
74
  var _useClassNames = (0, _utils.useClassNames)(classPrefix),
@@ -94,7 +94,7 @@ var NavbarDropdownMenu = /*#__PURE__*/_react.default.forwardRef(function (props,
94
94
  var Icon = rtl ? _AngleLeft.default : _AngleRight.default;
95
95
  return /*#__PURE__*/_react.default.createElement(_Disclosure.default, {
96
96
  hideOnClickOutside: true,
97
- trigger: ['click', 'mouseover'],
97
+ trigger: ['click', 'hover'],
98
98
  onToggle: function onToggle(open, event) {
99
99
  return _onToggle === null || _onToggle === void 0 ? void 0 : _onToggle(open, undefined, event);
100
100
  }
@@ -117,12 +117,18 @@ var NavbarDropdownMenu = /*#__PURE__*/_react.default.forwardRef(function (props,
117
117
  open: open,
118
118
  disabled: disabled
119
119
  }));
120
+ var dataAttributes = {
121
+ 'data-event-key': eventKey
122
+ };
123
+
124
+ if (!(0, _isNil.default)(eventKey) && typeof eventKey !== 'string') {
125
+ dataAttributes['data-event-key-type'] = typeof eventKey;
126
+ }
127
+
120
128
  return /*#__PURE__*/_react.default.createElement("div", (0, _extends2.default)({
121
129
  ref: (0, _utils.mergeRefs)(buttonRef, buttonRef),
122
- className: classes,
123
- "data-event-key": eventKey,
124
- "data-event-key-type": typeof eventKey
125
- }, buttonProps), icon && /*#__PURE__*/_react.default.cloneElement(icon, {
130
+ className: classes
131
+ }, dataAttributes, buttonProps), icon && /*#__PURE__*/_react.default.cloneElement(icon, {
126
132
  className: prefix('menu-icon')
127
133
  }), title, /*#__PURE__*/_react.default.createElement(Icon, {
128
134
  className: prefix(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteralLoose2.default)(["toggle-icon"])))
File without changes
File without changes
@@ -59,15 +59,24 @@ export interface OverlayTriggerProps extends StandardProps, AnimationEventProps
59
59
  /** Callback fired when open component */
60
60
  onOpen?: () => void;
61
61
  /** Callback fired when close component */
62
- onClose?: () => void;
62
+ onClose?: (cause?: OverlayCloseCause) => void;
63
63
  /** Whether speaker to follow the cursor */
64
64
  followCursor?: boolean;
65
65
  }
66
- export interface OverlayTriggerInstance {
66
+ /**
67
+ * The reason that triggers closing of an overlay
68
+ * - Clicking outside of the overlay
69
+ * - Direct invocation of triggerRef.current.close()
70
+ */
71
+ export declare enum OverlayCloseCause {
72
+ ClickOutside = 0,
73
+ ImperativeHandle = 1
74
+ }
75
+ export interface OverlayTriggerHandle {
67
76
  root: HTMLElement | undefined;
68
77
  updatePosition: () => void;
69
78
  open: (delay?: number) => void;
70
79
  close: (delay?: number) => void;
71
80
  }
72
- declare const OverlayTrigger: React.ForwardRefExoticComponent<OverlayTriggerProps & React.RefAttributes<OverlayTriggerInstance>>;
81
+ declare const OverlayTrigger: React.ForwardRefExoticComponent<OverlayTriggerProps & React.RefAttributes<OverlayTriggerHandle>>;
73
82
  export default OverlayTrigger;
@@ -5,7 +5,7 @@ var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWild
5
5
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
6
6
 
7
7
  exports.__esModule = true;
8
- exports.default = void 0;
8
+ exports.default = exports.OverlayCloseCause = void 0;
9
9
 
10
10
  var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
11
11
 
@@ -49,6 +49,12 @@ function mergeEvents(events, props) {
49
49
  return nextEvents;
50
50
  }
51
51
 
52
+ /**
53
+ * The reason that triggers closing of an overlay
54
+ * - Clicking outside of the overlay
55
+ * - Direct invocation of triggerRef.current.close()
56
+ */
57
+ var OverlayCloseCause;
52
58
  /**
53
59
  * Useful for mouseover and mouseout.
54
60
  * In order to resolve the node entering the mouseover element, a mouseout event and a mouseover event will be triggered.
@@ -56,6 +62,14 @@ function mergeEvents(events, props) {
56
62
  * @param handler
57
63
  * @param event
58
64
  */
65
+
66
+ exports.OverlayCloseCause = OverlayCloseCause;
67
+
68
+ (function (OverlayCloseCause) {
69
+ OverlayCloseCause[OverlayCloseCause["ClickOutside"] = 0] = "ClickOutside";
70
+ OverlayCloseCause[OverlayCloseCause["ImperativeHandle"] = 1] = "ImperativeHandle";
71
+ })(OverlayCloseCause || (exports.OverlayCloseCause = OverlayCloseCause = {}));
72
+
59
73
  function onMouseEventHandler(handler, event, delay) {
60
74
  var target = event.currentTarget;
61
75
  var related = event.relatedTarget || (0, _get.default)(event, ['nativeEvent', 'toElement']);
@@ -153,17 +167,19 @@ var OverlayTrigger = /*#__PURE__*/_react.default.forwardRef(function (props, ref
153
167
 
154
168
  setOpen(true);
155
169
  }, [delayOpen, setOpen]);
156
- var handleClose = (0, _react.useCallback)(function (delay) {
170
+ var handleClose = (0, _react.useCallback)(function (delay, callback) {
157
171
  var ms = (0, _isUndefined2.default)(delay) ? delayClose : delay;
158
172
 
159
173
  if (ms && typeof ms === 'number') {
160
174
  return delayCloseTimer.current = setTimeout(function () {
161
175
  delayCloseTimer.current = null;
162
176
  setOpen(false);
177
+ callback === null || callback === void 0 ? void 0 : callback();
163
178
  }, ms);
164
179
  }
165
180
 
166
181
  setOpen(false);
182
+ callback === null || callback === void 0 ? void 0 : callback();
167
183
  }, [delayClose, setOpen]);
168
184
  var handleExited = (0, _react.useCallback)(function () {
169
185
  setCursorPosition(null);
@@ -181,7 +197,11 @@ var OverlayTrigger = /*#__PURE__*/_react.default.forwardRef(function (props, ref
181
197
  },
182
198
 
183
199
  open: handleOpen,
184
- close: handleClose,
200
+ close: function close(delay) {
201
+ return handleClose(delay, function () {
202
+ return onClose === null || onClose === void 0 ? void 0 : onClose(OverlayCloseCause.ImperativeHandle);
203
+ });
204
+ },
185
205
  updatePosition: function updatePosition() {
186
206
  var _overlayRef$current2, _overlayRef$current2$;
187
207
 
@@ -342,7 +362,9 @@ var OverlayTrigger = /*#__PURE__*/_react.default.forwardRef(function (props, ref
342
362
  var overlayProps = (0, _extends2.default)({}, rest, {
343
363
  rootClose: rootClose,
344
364
  triggerTarget: triggerRef,
345
- onClose: trigger !== 'none' ? (0, _utils.createChainedFunction)(handleClose, onClose) : undefined,
365
+ onClose: trigger !== 'none' ? (0, _utils.createChainedFunction)(handleClose, function () {
366
+ return onClose === null || onClose === void 0 ? void 0 : onClose(OverlayCloseCause.ClickOutside);
367
+ }) : undefined,
346
368
  onExited: (0, _utils.createChainedFunction)(followCursor ? handleExited : undefined, onExited),
347
369
  placement: placement,
348
370
  container: container,
File without changes
File without changes
File without changes
File without changes
@@ -1,6 +1,6 @@
1
1
  import React from 'react';
2
2
  import PropTypes from 'prop-types';
3
- import { ListProps } from './VirtualizedList';
3
+ import { ListProps, ListHandle } from '../Windowing';
4
4
  import { StandardProps, ItemDataType } from '../@types/common';
5
5
  export interface DropdownMenuProps<Multiple = false> extends StandardProps, Omit<React.HTMLAttributes<HTMLDivElement>, 'onSelect'> {
6
6
  classPrefix: string;
@@ -20,6 +20,7 @@ export interface DropdownMenuProps<Multiple = false> extends StandardProps, Omit
20
20
  rowGroupHeight?: number;
21
21
  virtualized?: boolean;
22
22
  listProps?: Partial<ListProps>;
23
+ listRef?: React.Ref<ListHandle>;
23
24
  /** Custom selected option */
24
25
  renderMenuItem?: (itemLabel: React.ReactNode, item: any) => React.ReactNode;
25
26
  renderMenuGroup?: (title: React.ReactNode, item: any) => React.ReactNode;