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
@@ -25,7 +25,7 @@ var _react = _interopRequireWildcard(require("react"));
25
25
 
26
26
  var _propTypes = _interopRequireDefault(require("prop-types"));
27
27
 
28
- var _VirtualizedList = require("../Picker/VirtualizedList");
28
+ var _Windowing = require("../Windowing");
29
29
 
30
30
  var _TreeNode = _interopRequireDefault(require("./TreeNode"));
31
31
 
@@ -39,6 +39,10 @@ var _TreeContext = _interopRequireDefault(require("../Tree/TreeContext"));
39
39
 
40
40
  var emptyArray = [];
41
41
 
42
+ var itemSize = function itemSize() {
43
+ return 36;
44
+ };
45
+
42
46
  var TreePicker = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
43
47
  var _props$as = props.as,
44
48
  Component = _props$as === void 0 ? 'div' : _props$as,
@@ -599,33 +603,30 @@ var TreePicker = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
599
603
  }, nodeProps));
600
604
  };
601
605
 
602
- var renderVirtualListNode = function renderVirtualListNode(nodes) {
603
- return function (_ref3) {
604
- var key = _ref3.key,
605
- index = _ref3.index,
606
- style = _ref3.style;
607
- var node = nodes[index];
608
- var layer = node.layer,
609
- visible = node.visible;
610
- var expand = (0, _treeUtils.getExpandWhenSearching)(searchKeywordState, expandItemValues.includes(node[valueKey]));
611
-
612
- if (!node.visible) {
613
- return null;
614
- }
606
+ var renderVirtualListNode = function renderVirtualListNode(_ref3) {
607
+ var index = _ref3.index,
608
+ style = _ref3.style,
609
+ data = _ref3.data;
610
+ var node = data[index];
611
+ var layer = node.layer,
612
+ visible = node.visible;
613
+ var expand = (0, _treeUtils.getExpandWhenSearching)(searchKeywordState, expandItemValues.includes(node[valueKey]));
615
614
 
616
- var nodeProps = (0, _extends2.default)({}, getTreeNodeProps((0, _extends2.default)({}, node, {
617
- expand: expand
618
- }), layer), {
619
- style: style,
620
- hasChildren: node.hasChildren
621
- });
622
- return visible && /*#__PURE__*/_react.default.createElement(_TreeNode.default, (0, _extends2.default)({
623
- ref: function ref(_ref4) {
624
- return saveTreeNodeRef(_ref4, node.refKey);
625
- },
626
- key: key
627
- }, nodeProps));
628
- };
615
+ if (!node.visible) {
616
+ return null;
617
+ }
618
+
619
+ var nodeProps = (0, _extends2.default)({}, getTreeNodeProps((0, _extends2.default)({}, node, {
620
+ expand: expand
621
+ }), layer), {
622
+ style: style,
623
+ hasChildren: node.hasChildren
624
+ });
625
+ return visible && /*#__PURE__*/_react.default.createElement(_TreeNode.default, (0, _extends2.default)({
626
+ ref: function ref(_ref4) {
627
+ return saveTreeNodeRef(_ref4, node.refKey);
628
+ }
629
+ }, nodeProps));
629
630
  };
630
631
 
631
632
  var renderTree = function renderTree() {
@@ -645,7 +646,7 @@ var TreePicker = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
645
646
  onKeyDown: inline ? handleTreeKeyDown : undefined
646
647
  }, /*#__PURE__*/_react.default.createElement("div", {
647
648
  className: treePrefix('nodes')
648
- }, virtualized ? /*#__PURE__*/_react.default.createElement(_VirtualizedList.AutoSizer, {
649
+ }, virtualized ? /*#__PURE__*/_react.default.createElement(_Windowing.AutoSizer, {
649
650
  defaultHeight: inline ? height : menuMaxHeight,
650
651
  style: {
651
652
  width: 'auto',
@@ -654,15 +655,14 @@ var TreePicker = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
654
655
  }, function (_ref5) {
655
656
  var height = _ref5.height,
656
657
  width = _ref5.width;
657
- return /*#__PURE__*/_react.default.createElement(_VirtualizedList.List, (0, _extends2.default)({
658
+ return /*#__PURE__*/_react.default.createElement(_Windowing.List, (0, _extends2.default)({
658
659
  ref: listRef,
659
660
  width: width,
660
661
  height: height,
661
- rowHeight: 36,
662
- rowCount: formattedNodes.length,
663
- rowRenderer: renderVirtualListNode(formattedNodes),
664
- scrollToAlignment: "center"
665
- }, listProps));
662
+ itemSize: itemSize,
663
+ itemCount: formattedNodes.length,
664
+ itemData: formattedNodes
665
+ }, listProps), renderVirtualListNode);
666
666
  }) : formattedNodes));
667
667
  };
668
668
 
File without changes
@@ -12,4 +12,18 @@ _react.default.createElement(_TreePicker.default, {
12
12
  return /*#__PURE__*/_react.default.createElement("div", null);
13
13
  },
14
14
  data: []
15
+ });
16
+
17
+ /*#__PURE__*/
18
+ _react.default.createElement(_TreePicker.default, {
19
+ data: [],
20
+ listProps: {
21
+ itemSize: 30,
22
+ onItemsRendered: function onItemsRendered() {
23
+ console.log('onItemsRendered');
24
+ },
25
+ onScroll: function onScroll() {
26
+ console.log('onScroll');
27
+ }
28
+ }
15
29
  });
@@ -1,7 +1,7 @@
1
1
  import React from 'react';
2
- import { OverlayTriggerInstance } from '../Overlay/OverlayTrigger';
2
+ import { OverlayTriggerHandle } from '../Overlay/OverlayTrigger';
3
3
  import { OverlayTriggerProps } from '../Overlay/OverlayTrigger';
4
4
  export declare type WhisperProps = OverlayTriggerProps;
5
- export declare type WhisperInstance = OverlayTriggerInstance;
6
- declare const Whisper: React.ForwardRefExoticComponent<OverlayTriggerProps & React.RefAttributes<OverlayTriggerInstance>>;
5
+ export declare type WhisperInstance = OverlayTriggerHandle;
6
+ declare const Whisper: React.ForwardRefExoticComponent<OverlayTriggerProps & React.RefAttributes<OverlayTriggerHandle>>;
7
7
  export default Whisper;
File without changes
@@ -0,0 +1,25 @@
1
+ import React from 'react';
2
+ export interface Size {
3
+ height: number;
4
+ width: number;
5
+ }
6
+ export interface AutoSizerProps {
7
+ /** Function responsible for rendering children. */
8
+ children: (size: Size) => React.ReactNode;
9
+ /** Optional custom CSS class name to attach to root AutoSizer element. */
10
+ className?: string | undefined;
11
+ /** Default height to use for initial render; useful for SSR */
12
+ defaultHeight?: number | undefined;
13
+ /** Default width to use for initial render; useful for SSR */
14
+ defaultWidth?: number | undefined;
15
+ /** Disable dynamic :height property */
16
+ disableHeight?: boolean | undefined;
17
+ /** Disable dynamic :width property */
18
+ disableWidth?: boolean | undefined;
19
+ /** Optional inline style */
20
+ style?: React.CSSProperties | undefined;
21
+ /** Callback to be invoked on-resize */
22
+ onResize?: ((size: Size) => void) | undefined;
23
+ }
24
+ declare const AutoSizer: React.ForwardRefExoticComponent<AutoSizerProps & React.RefAttributes<HTMLDivElement>>;
25
+ export default AutoSizer;
@@ -0,0 +1,103 @@
1
+ "use strict";
2
+
3
+ var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard");
4
+
5
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
6
+
7
+ exports.__esModule = true;
8
+ exports.default = void 0;
9
+
10
+ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
11
+
12
+ var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutPropertiesLoose"));
13
+
14
+ var _react = _interopRequireWildcard(require("react"));
15
+
16
+ var _getStyle = _interopRequireDefault(require("dom-lib/getStyle"));
17
+
18
+ var _utils = require("../utils");
19
+
20
+ var AutoSizer = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
21
+ var children = props.children,
22
+ className = props.className,
23
+ disableHeight = props.disableHeight,
24
+ disableWidth = props.disableWidth,
25
+ defaultHeight = props.defaultHeight,
26
+ defaultWidth = props.defaultWidth,
27
+ style = props.style,
28
+ onResize = props.onResize,
29
+ rest = (0, _objectWithoutPropertiesLoose2.default)(props, ["children", "className", "disableHeight", "disableWidth", "defaultHeight", "defaultWidth", "style", "onResize"]);
30
+
31
+ var _useState = (0, _react.useState)(defaultHeight || 0),
32
+ height = _useState[0],
33
+ setHeight = _useState[1];
34
+
35
+ var _useState2 = (0, _react.useState)(defaultWidth || 0),
36
+ width = _useState2[0],
37
+ setWidth = _useState2[1];
38
+
39
+ var rootRef = (0, _react.useRef)(null);
40
+ var getParentNode = (0, _react.useCallback)(function () {
41
+ var _rootRef$current;
42
+
43
+ if ((_rootRef$current = rootRef.current) !== null && _rootRef$current !== void 0 && _rootRef$current.parentNode && rootRef.current.parentNode.ownerDocument && rootRef.current.parentNode.ownerDocument.defaultView && rootRef.current.parentNode instanceof rootRef.current.parentNode.ownerDocument.defaultView.HTMLElement) {
44
+ return rootRef.current.parentNode;
45
+ }
46
+
47
+ return null;
48
+ }, []);
49
+ var handleResize = (0, _react.useCallback)(function () {
50
+ var parentNode = getParentNode();
51
+
52
+ if (parentNode) {
53
+ var offsetHeight = parentNode.offsetHeight || 0;
54
+ var offsetWidth = parentNode.offsetWidth || 0;
55
+
56
+ var _style = (0, _getStyle.default)(parentNode);
57
+
58
+ var paddingLeft = parseInt(_style.paddingLeft, 10) || 0;
59
+ var paddingRight = parseInt(_style.paddingRight, 10) || 0;
60
+ var paddingTop = parseInt(_style.paddingTop, 10) || 0;
61
+ var paddingBottom = parseInt(_style.paddingBottom, 10) || 0;
62
+ var newHeight = offsetHeight - paddingTop - paddingBottom;
63
+ var newWidth = offsetWidth - paddingLeft - paddingRight;
64
+
65
+ if (!disableHeight && height !== newHeight || !disableWidth && width !== newWidth) {
66
+ setHeight(offsetHeight - paddingTop - paddingBottom);
67
+ setWidth(offsetWidth - paddingLeft - paddingRight);
68
+ onResize === null || onResize === void 0 ? void 0 : onResize({
69
+ height: offsetHeight,
70
+ width: offsetWidth
71
+ });
72
+ }
73
+ }
74
+ }, [disableHeight, disableWidth, getParentNode, height, onResize, width]);
75
+ (0, _utils.useMount)(handleResize);
76
+ (0, _utils.useElementResize)(getParentNode(), handleResize);
77
+ var outerStyle = {
78
+ overflow: 'visible'
79
+ };
80
+ var childParams = {
81
+ width: 0,
82
+ height: 0
83
+ };
84
+
85
+ if (!disableHeight) {
86
+ outerStyle.height = 0;
87
+ childParams.height = height;
88
+ }
89
+
90
+ if (!disableWidth) {
91
+ outerStyle.width = 0;
92
+ childParams.width = width;
93
+ }
94
+
95
+ return /*#__PURE__*/_react.default.createElement("div", (0, _extends2.default)({
96
+ className: className,
97
+ ref: (0, _utils.mergeRefs)(rootRef, ref),
98
+ style: (0, _extends2.default)({}, outerStyle, style)
99
+ }, rest), children(childParams));
100
+ });
101
+
102
+ var _default = AutoSizer;
103
+ exports.default = _default;
@@ -0,0 +1,45 @@
1
+ import { VariableSizeList, ListItemKeySelector, ListOnScrollProps, ListOnItemsRenderedProps } from 'react-window';
2
+ import { WithAsProps, RsRefForwardingComponent } from '../@types/common';
3
+ export interface ListProps<T = any> extends WithAsProps {
4
+ /**
5
+ * @deprecated use itemSize instead
6
+ * Either a fixed row height (number) or a function that returns the height of a row given its index: ({ index: number }): number
7
+ */
8
+ rowHeight?: number | (({ index: number }: {
9
+ index: any;
10
+ }) => number);
11
+ /**
12
+ * Size of a item in the direction being windowed.
13
+ */
14
+ itemSize: number | ((index: number) => number);
15
+ /**
16
+ * Scroll offset for initial render.
17
+ */
18
+ initialScrollOffset?: number;
19
+ /**
20
+ * By default, lists will use an item's index as its key. This is okay if:
21
+ *
22
+ * - Your collections of items is never sorted or modified
23
+ * - Your item renderer is not stateful and does not extend PureComponent
24
+ *
25
+ * If your list does not satisfy the above constraints, use the itemKey property to specify your own keys for items
26
+ */
27
+ itemKey?: ListItemKeySelector<T>;
28
+ /**
29
+ * Called when the items rendered by the list change.
30
+ */
31
+ onItemsRendered?: (props: ListOnItemsRenderedProps) => void;
32
+ /**
33
+ * Called when the list scroll positions changes, as a result of user scrolling or scroll-to method calls.
34
+ */
35
+ onScroll?: (props: ListOnScrollProps) => void;
36
+ }
37
+ export interface ListHandle extends Partial<VariableSizeList> {
38
+ /**
39
+ * @deprecated use scrollToItem instead
40
+ * Ensure row is visible. This method can be used to safely scroll back to a cell that a user has scrolled away from even if it was previously scrolled to.
41
+ */
42
+ scrollToRow?: (index: number) => void;
43
+ }
44
+ declare const List: RsRefForwardingComponent<'div', ListProps>;
45
+ export default List;
@@ -0,0 +1,72 @@
1
+ "use strict";
2
+
3
+ var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard");
4
+
5
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
6
+
7
+ exports.__esModule = true;
8
+ exports.default = void 0;
9
+
10
+ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
11
+
12
+ var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutPropertiesLoose"));
13
+
14
+ var _react = _interopRequireWildcard(require("react"));
15
+
16
+ var _reactWindow = require("react-window");
17
+
18
+ var _utils = require("../utils");
19
+
20
+ var List = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
21
+ var rowHeight = props.rowHeight,
22
+ _props$as = props.as,
23
+ Component = _props$as === void 0 ? _reactWindow.VariableSizeList : _props$as,
24
+ rest = (0, _objectWithoutPropertiesLoose2.default)(props, ["rowHeight", "as"]);
25
+ var listRef = (0, _react.useRef)(null);
26
+
27
+ var _useCustom = (0, _utils.useCustom)(),
28
+ rtl = _useCustom.rtl;
29
+
30
+ (0, _react.useImperativeHandle)(ref, function () {
31
+ return {
32
+ resetAfterIndex: function resetAfterIndex(index, shouldForceUpdate) {
33
+ var _listRef$current, _listRef$current$rese;
34
+
35
+ (_listRef$current = listRef.current) === null || _listRef$current === void 0 ? void 0 : (_listRef$current$rese = _listRef$current.resetAfterIndex) === null || _listRef$current$rese === void 0 ? void 0 : _listRef$current$rese.call(_listRef$current, index, shouldForceUpdate);
36
+ },
37
+ scrollTo: function scrollTo(scrollOffset) {
38
+ var _listRef$current2, _listRef$current2$scr;
39
+
40
+ (_listRef$current2 = listRef.current) === null || _listRef$current2 === void 0 ? void 0 : (_listRef$current2$scr = _listRef$current2.scrollTo) === null || _listRef$current2$scr === void 0 ? void 0 : _listRef$current2$scr.call(_listRef$current2, scrollOffset);
41
+ },
42
+ scrollToItem: function scrollToItem(index, align) {
43
+ var _listRef$current3, _listRef$current3$scr;
44
+
45
+ (_listRef$current3 = listRef.current) === null || _listRef$current3 === void 0 ? void 0 : (_listRef$current3$scr = _listRef$current3.scrollToItem) === null || _listRef$current3$scr === void 0 ? void 0 : _listRef$current3$scr.call(_listRef$current3, index, align);
46
+ },
47
+ scrollToRow: function scrollToRow(index) {
48
+ var _listRef$current4, _listRef$current4$scr;
49
+
50
+ (_listRef$current4 = listRef.current) === null || _listRef$current4 === void 0 ? void 0 : (_listRef$current4$scr = _listRef$current4.scrollToItem) === null || _listRef$current4$scr === void 0 ? void 0 : _listRef$current4$scr.call(_listRef$current4, index);
51
+ }
52
+ };
53
+ });
54
+ var setRowHeight = (0, _react.useCallback)(function (index) {
55
+ return typeof rowHeight === 'function' ? rowHeight({
56
+ index: index
57
+ }) : rowHeight || 0;
58
+ }, [rowHeight]);
59
+ var compatibleProps = (0, _extends2.default)({}, rest);
60
+
61
+ if (rowHeight) {
62
+ compatibleProps.itemSize = Component === _reactWindow.VariableSizeList ? setRowHeight : rowHeight;
63
+ }
64
+
65
+ return /*#__PURE__*/_react.default.createElement(Component, (0, _extends2.default)({
66
+ ref: listRef,
67
+ direction: rtl ? 'rtl' : 'ltr'
68
+ }, compatibleProps));
69
+ });
70
+
71
+ var _default = List;
72
+ exports.default = _default;
@@ -0,0 +1,5 @@
1
+ export { default as AutoSizer } from './AutoSizer';
2
+ export { default as List } from './List';
3
+ export { FixedSizeList, VariableSizeList } from 'react-window';
4
+ export type { ListChildComponentProps } from 'react-window';
5
+ export type { ListProps, ListHandle } from './List';
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ exports.__esModule = true;
6
+ exports.VariableSizeList = exports.FixedSizeList = exports.List = exports.AutoSizer = void 0;
7
+
8
+ var _AutoSizer = _interopRequireDefault(require("./AutoSizer"));
9
+
10
+ exports.AutoSizer = _AutoSizer.default;
11
+
12
+ var _List = _interopRequireDefault(require("./List"));
13
+
14
+ exports.List = _List.default;
15
+
16
+ var _reactWindow = require("react-window");
17
+
18
+ exports.FixedSizeList = _reactWindow.FixedSizeList;
19
+ exports.VariableSizeList = _reactWindow.VariableSizeList;
package/cjs/index.d.ts CHANGED
@@ -155,3 +155,4 @@ export type { AffixProps } from './Affix';
155
155
  export { default as CustomProvider } from './CustomProvider';
156
156
  export type { CustomProviderProps } from './CustomProvider';
157
157
  export type { Locale, CalendarLocale, PlaintextLocale, PaginationLocale, TableLocale, DatePickerLocale, DateRangePickerLocale, PickerLocale, InputPickerLocale, UploaderLocale, BreadcrumbLocale, ToggleLocale } from './locales';
158
+ export type { PickerHandle } from './Picker';
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
@@ -7,6 +7,7 @@ export interface ToastContainerProps extends WithAsProps {
7
7
  placement?: PlacementType;
8
8
  /** Set the message to appear in the specified container */
9
9
  container?: HTMLElement | (() => HTMLElement);
10
+ callback?: (ref: React.RefObject<ToastContainerInstance>) => void;
10
11
  }
11
12
  export interface ToastContainerInstance {
12
13
  root: HTMLElement;
@@ -19,7 +20,7 @@ export interface NodeProps extends WithAsProps {
19
20
  onClose?: (event?: React.MouseEvent<HTMLDivElement>) => void;
20
21
  }
21
22
  interface ToastContainerComponent extends RsRefForwardingComponent<'div', ToastContainerProps> {
22
- getInstance: (props: ToastContainerProps) => [React.RefObject<ToastContainerInstance>, () => void];
23
+ getInstance: (props: ToastContainerProps) => Promise<[React.RefObject<ToastContainerInstance>, () => void]>;
23
24
  }
24
25
  declare const ToastContainer: ToastContainerComponent;
25
26
  export default ToastContainer;
@@ -13,8 +13,6 @@ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends")
13
13
 
14
14
  var _react = _interopRequireWildcard(require("react"));
15
15
 
16
- var _reactDom = require("react-dom");
17
-
18
16
  var _propTypes = _interopRequireDefault(require("prop-types"));
19
17
 
20
18
  var _kebabCase = _interopRequireDefault(require("lodash/kebabCase"));
@@ -40,13 +38,15 @@ var useMessages = function useMessages() {
40
38
  }, [messages]);
41
39
  var push = (0, _react.useCallback)(function (message) {
42
40
  var key = (0, _utils.guid)();
43
- setMessages([].concat(messages, [{
44
- key: key,
45
- visible: true,
46
- node: message
47
- }]));
41
+ setMessages(function (prevMessages) {
42
+ return [].concat(prevMessages, [{
43
+ key: key,
44
+ visible: true,
45
+ node: message
46
+ }]);
47
+ });
48
48
  return key;
49
- }, [messages]);
49
+ }, []);
50
50
  var clear = (0, _react.useCallback)(function () {
51
51
  // Set all existing messages to be invisible.
52
52
  setMessages(messages.map(function (msg) {
@@ -93,7 +93,8 @@ var ToastContainer = /*#__PURE__*/_react.default.forwardRef(function (props, ref
93
93
  classPrefix = _props$classPrefix === void 0 ? 'toast-container' : _props$classPrefix,
94
94
  _props$placement = props.placement,
95
95
  placement = _props$placement === void 0 ? 'topCenter' : _props$placement,
96
- rest = (0, _objectWithoutPropertiesLoose2.default)(props, ["as", "className", "classPrefix", "placement"]);
96
+ callback = props.callback,
97
+ rest = (0, _objectWithoutPropertiesLoose2.default)(props, ["as", "className", "classPrefix", "placement", "callback"]);
97
98
 
98
99
  var _useClassNames = (0, _utils.useClassNames)(classPrefix),
99
100
  withClassPrefix = _useClassNames.withClassPrefix,
@@ -141,7 +142,10 @@ var ToastContainer = /*#__PURE__*/_react.default.forwardRef(function (props, ref
141
142
  });
142
143
  });
143
144
  return /*#__PURE__*/_react.default.createElement(Component, (0, _extends2.default)({}, rest, {
144
- ref: rootRef,
145
+ ref: function ref(selfRef) {
146
+ rootRef.current = selfRef;
147
+ callback === null || callback === void 0 ? void 0 : callback(selfRef);
148
+ },
145
149
  className: classes
146
150
  }), elements);
147
151
  });
@@ -152,22 +156,18 @@ ToastContainer.getInstance = function (props) {
152
156
 
153
157
  var containerRef = /*#__PURE__*/_react.default.createRef();
154
158
 
155
- var mountElement = document.createElement('div');
156
- var containerElement = typeof container === 'function' ? container() : container; // Parent is document.body or the existing dom element
157
-
158
- var parentElement = containerElement || document.body; // Add the detached element to the parent
159
-
160
- parentElement.appendChild(mountElement);
161
-
162
- function destroy() {
163
- (0, _reactDom.unmountComponentAtNode)(mountElement);
164
- parentElement.removeChild(mountElement);
165
- }
159
+ var containerElement = (typeof container === 'function' ? container() : container) || document.body;
160
+ return new Promise(function (resolve) {
161
+ var renderCallback = function renderCallback() {
162
+ resolve([containerRef, unmount]);
163
+ };
166
164
 
167
- (0, _reactDom.render)( /*#__PURE__*/_react.default.createElement(ToastContainer, (0, _extends2.default)({}, rest, {
168
- ref: containerRef
169
- })), mountElement);
170
- return [containerRef, destroy];
165
+ var _render = (0, _utils.render)( /*#__PURE__*/_react.default.createElement(ToastContainer, (0, _extends2.default)({}, rest, {
166
+ ref: containerRef,
167
+ callback: renderCallback
168
+ })), containerElement),
169
+ unmount = _render.unmount;
170
+ });
171
171
  };
172
172
 
173
173
  ToastContainer.displayName = 'ToastContainer';
@@ -175,7 +175,8 @@ ToastContainer.propTypes = {
175
175
  className: _propTypes.default.string,
176
176
  classPrefix: _propTypes.default.string,
177
177
  placement: _propTypes.default.elementType,
178
- container: _propTypes.default.oneOfType([_propTypes.default.node, _propTypes.default.func])
178
+ container: _propTypes.default.oneOfType([_propTypes.default.node, _propTypes.default.func]),
179
+ callback: _propTypes.default.func
179
180
  };
180
181
  var _default = ToastContainer;
181
182
  exports.default = _default;
@@ -7,7 +7,7 @@ export interface Toaster {
7
7
  * @param message
8
8
  * @param options
9
9
  */
10
- push(message: React.ReactNode, options?: ToastContainerProps): string | undefined;
10
+ push(message: React.ReactNode, options?: ToastContainerProps): string | undefined | Promise<string | undefined>;
11
11
  /**
12
12
  * Remove a message by key
13
13
  * @param key