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
@@ -1,11 +1,11 @@
1
1
  import React from 'react';
2
2
  import { WithAsProps, RsRefForwardingComponent } from '../@types/common';
3
- import { OverlayTriggerInstance } from '../Picker';
3
+ import { OverlayTriggerHandle } from '../Picker';
4
4
  export interface PickerOverlayProps extends WithAsProps {
5
5
  placement?: string;
6
6
  autoWidth?: boolean;
7
7
  children?: React.ReactNode;
8
- target?: React.RefObject<OverlayTriggerInstance>;
8
+ target?: React.RefObject<OverlayTriggerHandle>;
9
9
  onKeyDown?: (event: React.KeyboardEvent) => void;
10
10
  }
11
11
  declare const PickerOverlay: RsRefForwardingComponent<'div', PickerOverlayProps>;
@@ -15,6 +15,7 @@ export interface PickerToggleProps extends ToggleButtonProps {
15
15
  readOnly?: boolean;
16
16
  plaintext?: boolean;
17
17
  tabIndex?: number;
18
+ loading?: boolean;
18
19
  editable?: boolean;
19
20
  inputPlaceholder?: string;
20
21
  inputMask?: (string | RegExp)[];
@@ -14,6 +14,8 @@ import Plaintext from '../Plaintext';
14
14
  import useToggleCaret from '../utils/useToggleCaret';
15
15
  import TextMask from '../MaskedInput/TextMask';
16
16
  import deprecatePropType from '../utils/deprecatePropType';
17
+ import Loader from '../Loader';
18
+ import Stack from '../Stack';
17
19
  var defaultInputMask = [];
18
20
  var PickerToggle = /*#__PURE__*/React.forwardRef(function (props, ref) {
19
21
  var activeProp = props.active,
@@ -30,6 +32,8 @@ var PickerToggle = /*#__PURE__*/React.forwardRef(function (props, ref) {
30
32
  plaintext = props.plaintext,
31
33
  hasValue = props.hasValue,
32
34
  editable = props.editable,
35
+ _props$loading = props.loading,
36
+ loading = _props$loading === void 0 ? false : _props$loading,
33
37
  cleanableProp = props.cleanable,
34
38
  _props$tabIndex = props.tabIndex,
35
39
  tabIndexProp = _props$tabIndex === void 0 ? editable ? -1 : 0 : _props$tabIndex,
@@ -52,7 +56,7 @@ var PickerToggle = /*#__PURE__*/React.forwardRef(function (props, ref) {
52
56
  _props$caretAs = props.caretAs,
53
57
  caretAs = _props$caretAs === void 0 ? caretComponent : _props$caretAs,
54
58
  label = props.label,
55
- rest = _objectWithoutPropertiesLoose(props, ["active", "as", "classPrefix", "children", "caret", "className", "disabled", "readOnly", "plaintext", "hasValue", "editable", "cleanable", "tabIndex", "id", "value", "inputPlaceholder", "inputValue", "inputMask", "onInputChange", "onInputPressEnter", "onInputBlur", "onInputFocus", "onClean", "onFocus", "onBlur", "placement", "caretComponent", "caretAs", "label"]);
59
+ rest = _objectWithoutPropertiesLoose(props, ["active", "as", "classPrefix", "children", "caret", "className", "disabled", "readOnly", "plaintext", "hasValue", "editable", "loading", "cleanable", "tabIndex", "id", "value", "inputPlaceholder", "inputValue", "inputMask", "onInputChange", "onInputPressEnter", "onInputBlur", "onInputFocus", "onClean", "onFocus", "onBlur", "placement", "caretComponent", "caretAs", "label"]);
56
60
 
57
61
  var inputRef = useRef(null);
58
62
  var comboboxRef = useRef(null);
@@ -85,7 +89,9 @@ var PickerToggle = /*#__PURE__*/React.forwardRef(function (props, ref) {
85
89
  active: activeProp || activeState
86
90
  }));
87
91
  var handleFocus = useCallback(function (event) {
88
- setActive(true);
92
+ if (!loading) {
93
+ setActive(true);
94
+ }
89
95
 
90
96
  if (editable) {
91
97
  // Avoid firing the onFocus event twice when DatePicker and DateRangePicker allow keyboard input.
@@ -102,7 +108,7 @@ var PickerToggle = /*#__PURE__*/React.forwardRef(function (props, ref) {
102
108
  } else {
103
109
  onFocus === null || onFocus === void 0 ? void 0 : onFocus(event);
104
110
  }
105
- }, [editable, onFocus]);
111
+ }, [editable, loading, onFocus]);
106
112
  var handleBlur = useCallback(function (event) {
107
113
  if (inputRef.current && !editable) {
108
114
  setActive(false);
@@ -177,7 +183,20 @@ var PickerToggle = /*#__PURE__*/React.forwardRef(function (props, ref) {
177
183
  onFocus: !disabled ? handleFocus : null // The debounce is set to 200 to solve the flicker caused by the switch between input and div.
178
184
  ,
179
185
  onBlur: !disabled ? debounce(handleBlur, 200) : null
180
- }), /*#__PURE__*/React.createElement(TextMask, {
186
+ }), /*#__PURE__*/React.createElement(Stack, null, label && /*#__PURE__*/React.createElement(Stack.Item, null, /*#__PURE__*/React.createElement("span", {
187
+ className: prefix('label')
188
+ }, label)), /*#__PURE__*/React.createElement(Stack.Item, {
189
+ grow: 1,
190
+ style: {
191
+ overflow: 'hidden'
192
+ }
193
+ }, loading ? /*#__PURE__*/React.createElement(Loader, {
194
+ style: {
195
+ display: 'block',
196
+ padding: '1px 0'
197
+ },
198
+ "data-testid": "spinner"
199
+ }) : /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(TextMask, {
181
200
  mask: inputMask,
182
201
  value: Array.isArray(inputValue) ? inputValue.toString() : inputValue,
183
202
  onBlur: handleInputBlur,
@@ -198,9 +217,7 @@ var PickerToggle = /*#__PURE__*/React.forwardRef(function (props, ref) {
198
217
  }), children ? /*#__PURE__*/React.createElement("span", {
199
218
  className: prefix(hasValue ? 'value' : 'placeholder'),
200
219
  "aria-placeholder": typeof children === 'string' ? children : undefined
201
- }, label && /*#__PURE__*/React.createElement("span", {
202
- className: prefix('label')
203
- }, label), children) : null, showCleanButton && /*#__PURE__*/React.createElement(CloseButton, {
220
+ }, children) : null)), showCleanButton && /*#__PURE__*/React.createElement(CloseButton, {
204
221
  className: prefix(_templateObject || (_templateObject = _taggedTemplateLiteralLoose(["clean"]))),
205
222
  tabIndex: -1,
206
223
  locale: {
@@ -209,7 +226,7 @@ var PickerToggle = /*#__PURE__*/React.forwardRef(function (props, ref) {
209
226
  onClick: handleClean
210
227
  }), caret && /*#__PURE__*/React.createElement(Caret, {
211
228
  className: prefix(_templateObject2 || (_templateObject2 = _taggedTemplateLiteralLoose(["caret"])))
212
- }));
229
+ })));
213
230
  });
214
231
  PickerToggle.displayName = 'PickerToggle';
215
232
  PickerToggle.propTypes = {
@@ -1,9 +1,9 @@
1
1
  import React from 'react';
2
- import { OverlayTriggerInstance, OverlayTriggerProps, OverlayTriggerType } from '../Overlay/OverlayTrigger';
2
+ import { OverlayTriggerHandle, OverlayTriggerProps, OverlayTriggerType } from '../Overlay/OverlayTrigger';
3
3
  import { PositionChildProps } from '../Overlay/Position';
4
4
  import { TypeAttributes, AnimationEventProps } from '../@types/common';
5
- export type { OverlayTriggerInstance, PositionChildProps };
6
- export interface PickerToggleTriggerProps extends Omit<AnimationEventProps, 'onEntering' | 'onExiting'>, Pick<OverlayTriggerProps, 'speaker'> {
5
+ export type { OverlayTriggerHandle, PositionChildProps };
6
+ export interface PickerToggleTriggerProps extends Omit<AnimationEventProps, 'onEntering' | 'onExiting'>, Pick<OverlayTriggerProps, 'speaker' | 'onClose'> {
7
7
  placement?: TypeAttributes.Placement;
8
8
  pickerProps: any;
9
9
  open?: boolean;
@@ -6,7 +6,7 @@ import OverlayTrigger from '../Overlay/OverlayTrigger';
6
6
  import { placementPolyfill } from '../utils';
7
7
  import { CustomConsumer } from '../CustomProvider';
8
8
  export var omitTriggerPropKeys = ['onEntered', 'onExited', 'onEnter', 'onEntering', 'onExit', 'onExiting', 'open', 'defaultOpen', 'onHide', 'container', 'containerPadding', 'preventOverflow'];
9
- export var pickTriggerPropKeys = [].concat(omitTriggerPropKeys, ['disabled', 'plaintext', 'readOnly']);
9
+ export var pickTriggerPropKeys = [].concat(omitTriggerPropKeys, ['disabled', 'plaintext', 'readOnly', 'loading']);
10
10
  var PickerToggleTrigger = /*#__PURE__*/React.forwardRef(function (props, ref) {
11
11
  var pickerProps = props.pickerProps,
12
12
  speaker = props.speaker,
@@ -15,8 +15,10 @@ var PickerToggleTrigger = /*#__PURE__*/React.forwardRef(function (props, ref) {
15
15
  trigger = _props$trigger === void 0 ? 'click' : _props$trigger,
16
16
  rest = _objectWithoutPropertiesLoose(props, ["pickerProps", "speaker", "placement", "trigger"]);
17
17
 
18
+ var pickerTriggerProps = pick(pickerProps, pickTriggerPropKeys);
18
19
  return /*#__PURE__*/React.createElement(CustomConsumer, null, function (context) {
19
- return /*#__PURE__*/React.createElement(OverlayTrigger, _extends({}, rest, pick(pickerProps, pickTriggerPropKeys), {
20
+ return /*#__PURE__*/React.createElement(OverlayTrigger, _extends({}, rest, pickerTriggerProps, {
21
+ disabled: pickerTriggerProps.disabled || pickerTriggerProps.loading,
20
22
  ref: ref,
21
23
  trigger: trigger,
22
24
  placement: placementPolyfill(placement, context === null || context === void 0 ? void 0 : context.rtl),
@@ -1,6 +1,6 @@
1
- import { pickTriggerPropKeys, omitTriggerPropKeys, OverlayTriggerInstance, PositionChildProps } from './PickerToggleTrigger';
1
+ import { pickTriggerPropKeys, omitTriggerPropKeys, OverlayTriggerHandle, PositionChildProps } from './PickerToggleTrigger';
2
2
  import { PickerToggleProps } from './PickerToggle';
3
- import { PickerInstance, PickerComponent } from './types';
3
+ import { PickerHandle, PickerComponent } from './types';
4
4
  export { default as DropdownMenu } from './DropdownMenu';
5
5
  export { default as DropdownMenuCheckItem } from './DropdownMenuCheckItem';
6
6
  export { default as DropdownMenuGroup } from './DropdownMenuGroup';
@@ -11,6 +11,6 @@ export { default as PickerToggleTrigger } from './PickerToggleTrigger';
11
11
  export { default as SearchBar } from './SearchBar';
12
12
  export { default as SelectedElement } from './SelectedElement';
13
13
  export { pickTriggerPropKeys, omitTriggerPropKeys };
14
- export type { OverlayTriggerInstance, PositionChildProps, PickerInstance, PickerComponent, PickerToggleProps };
14
+ export type { OverlayTriggerHandle, PositionChildProps, PickerHandle, PickerComponent, PickerToggleProps };
15
15
  export * from './utils';
16
16
  export * from './propTypes';
@@ -1,13 +1,15 @@
1
1
  /// <reference types="react" />
2
2
  import { RsRefForwardingComponent } from '../@types/common';
3
- export interface PickerInstance {
4
- root?: Element;
5
- overlay?: Element;
6
- target?: HTMLElement;
3
+ import type { ListHandle } from '../Windowing';
4
+ export interface PickerHandle {
5
+ root: HTMLElement | null;
6
+ list?: ListHandle;
7
+ overlay?: HTMLElement | null;
8
+ target?: HTMLElement | null;
7
9
  updatePosition?: () => void;
8
10
  open?: () => void;
9
11
  close?: () => void;
10
12
  }
11
13
  export declare type PickerComponent<P> = RsRefForwardingComponent<'div', P & {
12
- ref?: React.Ref<PickerInstance>;
14
+ ref?: React.Ref<PickerHandle>;
13
15
  }>;
@@ -1,14 +1,14 @@
1
1
  import React from 'react';
2
- import { OverlayTriggerInstance } from './PickerToggleTrigger';
2
+ import { OverlayTriggerHandle } from './PickerToggleTrigger';
3
3
  import { TypeAttributes, ItemDataType } from '../@types/common';
4
- import { ListInstance } from './VirtualizedList';
5
- interface NodeKeys {
4
+ import type { ListHandle } from '../Windowing';
5
+ export interface NodeKeys {
6
6
  valueKey: string;
7
7
  childrenKey: string;
8
8
  }
9
9
  export declare function createConcatChildrenFunction<T = any>(node: any, nodeValue?: any, nodeKeys?: NodeKeys): (data: T[], children: T[]) => T[];
10
10
  export declare function shouldDisplay(label: React.ReactNode, searchKeyword: string): boolean;
11
- interface PickerClassNameProps {
11
+ export interface PickerClassNameProps {
12
12
  name?: string;
13
13
  classPrefix: string;
14
14
  className?: string;
@@ -27,7 +27,7 @@ interface PickerClassNameProps {
27
27
  * The className of the assembled Toggle is on the Picker.
28
28
  */
29
29
  export declare function usePickerClassName(props: PickerClassNameProps): [string, string[]];
30
- interface EventsProps {
30
+ export interface EventsProps {
31
31
  down?: React.KeyboardEventHandler;
32
32
  up?: React.KeyboardEventHandler;
33
33
  enter?: React.KeyboardEventHandler;
@@ -42,7 +42,7 @@ interface EventsProps {
42
42
  * @param events Event callback functions
43
43
  */
44
44
  export declare function onMenuKeyDown(event: React.KeyboardEvent, events: EventsProps): void;
45
- interface FocusItemValueProps {
45
+ export interface FocusItemValueProps {
46
46
  target: HTMLElement | null | (() => HTMLElement | null);
47
47
  data?: any[];
48
48
  valueKey?: string;
@@ -65,7 +65,7 @@ export declare const useFocusItemValue: <T>(defaultFocusItemValue: T | null | un
65
65
  setKeys: React.Dispatch<React.SetStateAction<any[]>>;
66
66
  onKeyDown: (event: any) => void;
67
67
  };
68
- interface ToggleKeyDownEventProps {
68
+ export interface ToggleKeyDownEventProps {
69
69
  toggle?: boolean;
70
70
  triggerRef: React.RefObject<any>;
71
71
  targetRef: React.RefObject<any>;
@@ -86,7 +86,7 @@ interface ToggleKeyDownEventProps {
86
86
  * @param props
87
87
  */
88
88
  export declare const useToggleKeyDownEvent: (props: ToggleKeyDownEventProps) => (event: React.KeyboardEvent) => void;
89
- interface SearchProps {
89
+ export interface SearchProps {
90
90
  labelKey: string;
91
91
  data: ItemDataType[];
92
92
  searchBy?: (keyword: any, label: any, item: any) => boolean;
@@ -104,16 +104,15 @@ export declare function useSearch(props: SearchProps): {
104
104
  checkShouldDisplay: (item: ItemDataType, keyword?: string) => boolean;
105
105
  handleSearch: (searchKeyword: string, event: React.SyntheticEvent) => void;
106
106
  };
107
- interface PickerDependentParameters {
108
- triggerRef?: React.RefObject<OverlayTriggerInstance>;
107
+ export interface PickerDependentParameters {
108
+ triggerRef?: React.RefObject<OverlayTriggerHandle>;
109
109
  rootRef?: React.RefObject<HTMLElement>;
110
110
  overlayRef?: React.RefObject<HTMLElement>;
111
111
  targetRef?: React.RefObject<HTMLElement>;
112
- listRef?: React.RefObject<ListInstance>;
112
+ listRef?: React.RefObject<ListHandle>;
113
113
  inline?: boolean;
114
114
  }
115
115
  /**
116
116
  * A hook of the exposed method of Picker
117
117
  */
118
118
  export declare function usePublicMethods(ref: any, parmas: PickerDependentParameters): void;
119
- export {};
@@ -522,6 +522,10 @@ export function usePublicMethods(ref, parmas) {
522
522
  get overlay() {
523
523
  var _overlayRef$current;
524
524
 
525
+ if (!(overlayRef !== null && overlayRef !== void 0 && overlayRef.current)) {
526
+ throw new Error('The overlay is not found. Please confirm whether the picker is open.');
527
+ }
528
+
525
529
  return (_overlayRef$current = overlayRef === null || overlayRef === void 0 ? void 0 : overlayRef.current) !== null && _overlayRef$current !== void 0 ? _overlayRef$current : null;
526
530
  },
527
531
 
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
package/esm/Rate/index.js CHANGED
File without changes
File without changes
package/esm/Row/Row.js CHANGED
File without changes
package/esm/Row/index.js CHANGED
File without changes
File without changes
File without changes
File without changes
@@ -1,18 +1,19 @@
1
1
  import React, { Ref } from 'react';
2
2
  import { PickerLocale } from '../locales';
3
- import { PickerInstance, PickerToggleProps } from '../Picker';
4
- import { ListProps } from '../Picker/VirtualizedList';
3
+ import { PickerHandle, PickerToggleProps } from '../Picker';
4
+ import { ListProps } from '../Windowing';
5
5
  import { FormControlPickerProps, ItemDataType } from '../@types/common';
6
6
  export interface SelectProps<T> {
7
7
  /** Set group condition key in data */
8
8
  groupBy?: string;
9
+ /** Whether to display an loading indicator on toggle button */
10
+ loading?: boolean;
9
11
  /** Whether dispaly search input box */
10
12
  searchable?: boolean;
11
13
  /** Whether using virtualized list */
12
14
  virtualized?: boolean;
13
15
  /**
14
- * List-related properties in `react-virtualized`
15
- * https://github.com/bvaughn/react-virtualized/blob/master/docs/List.md#prop-types
16
+ * Virtualized List Props
16
17
  */
17
18
  listProps?: Partial<ListProps>;
18
19
  /** Custom search rules. */
@@ -50,7 +51,7 @@ export interface SelectPickerProps<T> extends Omit<FormControlPickerProps<T, Pic
50
51
  }
51
52
  export interface SelectPickerComponent {
52
53
  <T>(props: SelectPickerProps<T> & {
53
- ref?: Ref<PickerInstance>;
54
+ ref?: Ref<PickerHandle>;
54
55
  }): JSX.Element | null;
55
56
  displayName?: string;
56
57
  propTypes?: React.WeakValidationMap<SelectPickerProps<any>>;
@@ -74,6 +74,7 @@ var SelectPicker = /*#__PURE__*/React.forwardRef(function (props, ref) {
74
74
  var targetRef = useRef(null);
75
75
  var overlayRef = useRef(null);
76
76
  var searchInputRef = useRef(null);
77
+ var listRef = useRef(null);
77
78
 
78
79
  var _useCustom = useCustom('Picker', overrideLocale),
79
80
  locale = _useCustom.locale;
@@ -193,7 +194,8 @@ var SelectPicker = /*#__PURE__*/React.forwardRef(function (props, ref) {
193
194
  usePublicMethods(ref, {
194
195
  triggerRef: triggerRef,
195
196
  overlayRef: overlayRef,
196
- targetRef: targetRef
197
+ targetRef: targetRef,
198
+ listRef: listRef
197
199
  }); // Find active `MenuItem` by `value`
198
200
 
199
201
  var activeItem = data.find(function (item) {
@@ -246,6 +248,7 @@ var SelectPicker = /*#__PURE__*/React.forwardRef(function (props, ref) {
246
248
  var menu = items.length ? /*#__PURE__*/React.createElement(DropdownMenu, {
247
249
  id: id ? id + "-listbox" : undefined,
248
250
  listProps: listProps,
251
+ listRef: listRef,
249
252
  disabledItemValues: disabledItemValues,
250
253
  valueKey: valueKey,
251
254
  labelKey: labelKey,
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
package/esm/Tag/Tag.js CHANGED
File without changes
package/esm/Tag/index.js CHANGED
File without changes
File without changes
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 { StandardProps, ItemDataType, RsRefForwardingComponent } from '../@types/common';
3
- import { ListProps } from '../Picker/VirtualizedList';
3
+ import { ListProps } from '../Windowing';
4
4
  /**
5
5
  * Tree Node Drag Type
6
6
  */
@@ -46,10 +46,7 @@ export interface TreeBaseProps<ValueType = string | number, ItemDataType = Recor
46
46
  showIndentLine?: boolean;
47
47
  /** Whether using virtualized list */
48
48
  virtualized?: boolean;
49
- /**
50
- * List-related properties in `react-virtualized`
51
- * https://github.com/bvaughn/react-virtualized/blob/master/docs/List.md#prop-types
52
- */
49
+ /** Virtualized List props */
53
50
  listProps?: Partial<ListProps>;
54
51
  /** Expand all nodes By default */
55
52
  defaultExpandAll?: boolean;
package/esm/Tree/index.js CHANGED
File without changes
@@ -7,7 +7,7 @@ import _omit from "lodash/omit";
7
7
  import _pick from "lodash/pick";
8
8
  import React, { useState, useRef, useEffect, useCallback, useContext } from 'react';
9
9
  import PropTypes from 'prop-types';
10
- import { List, AutoSizer } from '../Picker/VirtualizedList';
10
+ import { List, AutoSizer } from '../Windowing';
11
11
  import TreeNode from './TreeNode';
12
12
  import { getTreeNodeIndent } from '../utils/treeUtils';
13
13
  import { createChainedFunction, useClassNames, useCustom, useControlled, TREE_NODE_DROP_POSITION, KEY_VALUES, mergeRefs, shallowEqual } from '../utils';
@@ -15,6 +15,11 @@ import { getExpandWhenSearching, hasVisibleChildren, getDragNodeKeys, calDropNod
15
15
  import { PickerToggle, PickerOverlay, SearchBar, PickerToggleTrigger, createConcatChildrenFunction, usePickerClassName, onMenuKeyDown as _onMenuKeyDown, usePublicMethods, listPickerPropTypes, pickTriggerPropKeys, omitTriggerPropKeys, useToggleKeyDownEvent } from '../Picker';
16
16
  import TreeContext from '../Tree/TreeContext';
17
17
  var emptyArray = [];
18
+
19
+ var itemSize = function itemSize() {
20
+ return 36;
21
+ };
22
+
18
23
  var TreePicker = /*#__PURE__*/React.forwardRef(function (props, ref) {
19
24
  var _props$as = props.as,
20
25
  Component = _props$as === void 0 ? 'div' : _props$as,
@@ -577,34 +582,31 @@ var TreePicker = /*#__PURE__*/React.forwardRef(function (props, ref) {
577
582
  }, nodeProps));
578
583
  };
579
584
 
580
- var renderVirtualListNode = function renderVirtualListNode(nodes) {
581
- return function (_ref3) {
582
- var key = _ref3.key,
583
- index = _ref3.index,
584
- style = _ref3.style;
585
- var node = nodes[index];
586
- var layer = node.layer,
587
- visible = node.visible;
588
- var expand = getExpandWhenSearching(searchKeywordState, expandItemValues.includes(node[valueKey]));
589
-
590
- if (!node.visible) {
591
- return null;
592
- }
585
+ var renderVirtualListNode = function renderVirtualListNode(_ref3) {
586
+ var index = _ref3.index,
587
+ style = _ref3.style,
588
+ data = _ref3.data;
589
+ var node = data[index];
590
+ var layer = node.layer,
591
+ visible = node.visible;
592
+ var expand = getExpandWhenSearching(searchKeywordState, expandItemValues.includes(node[valueKey]));
593
593
 
594
- var nodeProps = _extends({}, getTreeNodeProps(_extends({}, node, {
595
- expand: expand
596
- }), layer), {
597
- style: style,
598
- hasChildren: node.hasChildren
599
- });
594
+ if (!node.visible) {
595
+ return null;
596
+ }
600
597
 
601
- return visible && /*#__PURE__*/React.createElement(TreeNode, _extends({
602
- ref: function ref(_ref4) {
603
- return saveTreeNodeRef(_ref4, node.refKey);
604
- },
605
- key: key
606
- }, nodeProps));
607
- };
598
+ var nodeProps = _extends({}, getTreeNodeProps(_extends({}, node, {
599
+ expand: expand
600
+ }), layer), {
601
+ style: style,
602
+ hasChildren: node.hasChildren
603
+ });
604
+
605
+ return visible && /*#__PURE__*/React.createElement(TreeNode, _extends({
606
+ ref: function ref(_ref4) {
607
+ return saveTreeNodeRef(_ref4, node.refKey);
608
+ }
609
+ }, nodeProps));
608
610
  };
609
611
 
610
612
  var renderTree = function renderTree() {
@@ -637,11 +639,10 @@ var TreePicker = /*#__PURE__*/React.forwardRef(function (props, ref) {
637
639
  ref: listRef,
638
640
  width: width,
639
641
  height: height,
640
- rowHeight: 36,
641
- rowCount: formattedNodes.length,
642
- rowRenderer: renderVirtualListNode(formattedNodes),
643
- scrollToAlignment: "center"
644
- }, listProps));
642
+ itemSize: itemSize,
643
+ itemCount: formattedNodes.length,
644
+ itemData: formattedNodes
645
+ }, listProps), renderVirtualListNode);
645
646
  }) : formattedNodes));
646
647
  };
647
648
 
File without changes
@@ -7,4 +7,18 @@ React.createElement(TreePicker, {
7
7
  return /*#__PURE__*/React.createElement("div", null);
8
8
  },
9
9
  data: []
10
+ });
11
+
12
+ /*#__PURE__*/
13
+ React.createElement(TreePicker, {
14
+ data: [],
15
+ listProps: {
16
+ itemSize: 30,
17
+ onItemsRendered: function onItemsRendered() {
18
+ console.log('onItemsRendered');
19
+ },
20
+ onScroll: function onScroll() {
21
+ console.log('onScroll');
22
+ }
23
+ }
10
24
  });
@@ -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;