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
@@ -31,7 +31,7 @@ var _getHeight = _interopRequireDefault(require("dom-lib/getHeight"));
31
31
 
32
32
  var _classnames = _interopRequireDefault(require("classnames"));
33
33
 
34
- var _VirtualizedList = require("./VirtualizedList");
34
+ var _Windowing = require("../Windowing");
35
35
 
36
36
  var _shallowEqual = _interopRequireDefault(require("../utils/shallowEqual"));
37
37
 
@@ -61,6 +61,7 @@ var DropdownMenu = /*#__PURE__*/_react.default.forwardRef(function (props, ref)
61
61
  labelKey = _props$labelKey === void 0 ? 'label' : _props$labelKey,
62
62
  virtualized = props.virtualized,
63
63
  listProps = props.listProps,
64
+ virtualizedListRef = props.listRef,
64
65
  className = props.className,
65
66
  style = props.style,
66
67
  focusItemValue = props.focusItemValue,
@@ -74,7 +75,7 @@ var DropdownMenu = /*#__PURE__*/_react.default.forwardRef(function (props, ref)
74
75
  renderMenuItem = props.renderMenuItem,
75
76
  onGroupTitleClick = props.onGroupTitleClick,
76
77
  onSelect = props.onSelect,
77
- rest = (0, _objectWithoutPropertiesLoose2.default)(props, ["data", "group", "maxHeight", "activeItemValues", "disabledItemValues", "classPrefix", "valueKey", "labelKey", "virtualized", "listProps", "className", "style", "focusItemValue", "dropdownMenuItemClassPrefix", "dropdownMenuItemAs", "rowHeight", "rowGroupHeight", "renderMenuGroup", "renderMenuItem", "onGroupTitleClick", "onSelect"]);
78
+ rest = (0, _objectWithoutPropertiesLoose2.default)(props, ["data", "group", "maxHeight", "activeItemValues", "disabledItemValues", "classPrefix", "valueKey", "labelKey", "virtualized", "listProps", "listRef", "className", "style", "focusItemValue", "dropdownMenuItemClassPrefix", "dropdownMenuItemAs", "rowHeight", "rowGroupHeight", "renderMenuGroup", "renderMenuItem", "onGroupTitleClick", "onSelect"]);
78
79
 
79
80
  var _useClassNames = (0, _utils.useClassNames)(classPrefix),
80
81
  withClassPrefix = _useClassNames.withClassPrefix,
@@ -84,10 +85,8 @@ var DropdownMenu = /*#__PURE__*/_react.default.forwardRef(function (props, ref)
84
85
  var classes = merge(className, withClassPrefix('items', {
85
86
  grouped: group
86
87
  }));
87
- var styles = (0, _extends2.default)({}, style, {
88
- maxHeight: maxHeight
89
- });
90
88
  var menuBodyContainerRef = (0, _react.useRef)(null);
89
+ var listRef = (0, _react.useRef)(null);
91
90
 
92
91
  var _useState = (0, _react.useState)([]),
93
92
  foldedGroupKeys = _useState[0],
@@ -109,8 +108,7 @@ var DropdownMenu = /*#__PURE__*/_react.default.forwardRef(function (props, ref)
109
108
  onSelect === null || onSelect === void 0 ? void 0 : onSelect(value, item, event, checked);
110
109
  }, [onSelect]);
111
110
 
112
- var getRowHeight = function getRowHeight(list, _ref) {
113
- var index = _ref.index;
111
+ var getRowHeight = function getRowHeight(list, index) {
114
112
  var item = list[index];
115
113
 
116
114
  if (group && item[_getDataGroupBy.KEY_GROUP] && index !== 0) {
@@ -148,10 +146,13 @@ var DropdownMenu = /*#__PURE__*/_react.default.forwardRef(function (props, ref)
148
146
  }
149
147
  }, [focusItemValue, menuBodyContainerRef, prefix]);
150
148
 
151
- var renderItem = function renderItem(list, _ref2) {
152
- var index = _ref2.index,
153
- style = _ref2.style;
154
- var item = list[index];
149
+ var renderItem = function renderItem(_ref) {
150
+ var _ref$index = _ref.index,
151
+ index = _ref$index === void 0 ? 0 : _ref$index,
152
+ style = _ref.style,
153
+ data = _ref.data,
154
+ itemData = _ref.item;
155
+ var item = itemData || data[index];
155
156
  var value = item[valueKey];
156
157
  var label = item[labelKey];
157
158
 
@@ -210,40 +211,45 @@ var DropdownMenu = /*#__PURE__*/_react.default.forwardRef(function (props, ref)
210
211
  return key === ((_item$parent = item.parent) === null || _item$parent === void 0 ? void 0 : _item$parent[_getDataGroupBy.KEY_GROUP_TITLE]);
211
212
  }));
212
213
  }) : data;
213
- var rowCount = filteredItems.length; // Check whether the height of the data exceeds the height of the container.
214
+ var rowCount = filteredItems.length;
215
+ (0, _utils.useMount)(function () {
216
+ var _listRef$current, _listRef$current$scro;
214
217
 
215
- var useVirtualized = virtualized && rowCount * rowHeight > maxHeight;
218
+ var itemIndex = (0, _findIndex.default)(filteredItems, function (item) {
219
+ return item[valueKey] === (activeItemValues === null || activeItemValues === void 0 ? void 0 : activeItemValues[0]);
220
+ });
221
+ (_listRef$current = listRef.current) === null || _listRef$current === void 0 ? void 0 : (_listRef$current$scro = _listRef$current.scrollToItem) === null || _listRef$current$scro === void 0 ? void 0 : _listRef$current$scro.call(_listRef$current, itemIndex);
222
+ });
216
223
  return /*#__PURE__*/_react.default.createElement("div", (0, _extends2.default)({
217
- role: !useVirtualized ? 'listbox' : undefined
224
+ role: "listbox"
218
225
  }, rest, {
219
226
  className: classes,
220
227
  ref: (0, _utils.mergeRefs)(menuBodyContainerRef, ref),
221
- style: styles
222
- }), useVirtualized ? /*#__PURE__*/_react.default.createElement(_VirtualizedList.AutoSizer, {
228
+ style: (0, _extends2.default)({}, style, {
229
+ maxHeight: maxHeight
230
+ })
231
+ }), virtualized ? /*#__PURE__*/_react.default.createElement(_Windowing.AutoSizer, {
223
232
  defaultHeight: maxHeight,
224
233
  style: {
225
234
  width: 'auto',
226
235
  height: 'auto'
227
236
  }
228
- }, function (_ref3) {
229
- var height = _ref3.height,
230
- width = _ref3.width;
231
- return /*#__PURE__*/_react.default.createElement(_VirtualizedList.List, (0, _extends2.default)({
232
- role: "listbox",
233
- containerRole: '',
234
- "aria-readonly": undefined,
237
+ }, function (_ref2) {
238
+ var height = _ref2.height,
239
+ width = _ref2.width;
240
+ return /*#__PURE__*/_react.default.createElement(_Windowing.List, (0, _extends2.default)({
241
+ as: _Windowing.VariableSizeList,
242
+ ref: (0, _utils.mergeRefs)(listRef, virtualizedListRef),
235
243
  width: width,
236
244
  height: height || maxHeight,
237
- scrollToIndex: (0, _findIndex.default)(data, function (item) {
238
- return item[valueKey] === (activeItemValues === null || activeItemValues === void 0 ? void 0 : activeItemValues[0]);
239
- }),
240
- rowCount: rowCount,
241
- rowHeight: getRowHeight.bind(_this, filteredItems),
242
- rowRenderer: renderItem.bind(null, filteredItems)
243
- }, listProps));
244
- }) : filteredItems.map(function (_item, index) {
245
- return renderItem(filteredItems, {
246
- index: index
245
+ itemCount: rowCount,
246
+ itemData: filteredItems,
247
+ itemSize: getRowHeight.bind(_this, filteredItems)
248
+ }, listProps), renderItem);
249
+ }) : filteredItems.map(function (item, index) {
250
+ return renderItem({
251
+ index: index,
252
+ item: item
247
253
  });
248
254
  }));
249
255
  });
@@ -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)[];
@@ -33,6 +33,10 @@ var _TextMask = _interopRequireDefault(require("../MaskedInput/TextMask"));
33
33
 
34
34
  var _deprecatePropType = _interopRequireDefault(require("../utils/deprecatePropType"));
35
35
 
36
+ var _Loader = _interopRequireDefault(require("../Loader"));
37
+
38
+ var _Stack = _interopRequireDefault(require("../Stack"));
39
+
36
40
  var _templateObject, _templateObject2;
37
41
 
38
42
  var defaultInputMask = [];
@@ -52,6 +56,8 @@ var PickerToggle = /*#__PURE__*/_react.default.forwardRef(function (props, ref)
52
56
  plaintext = props.plaintext,
53
57
  hasValue = props.hasValue,
54
58
  editable = props.editable,
59
+ _props$loading = props.loading,
60
+ loading = _props$loading === void 0 ? false : _props$loading,
55
61
  cleanableProp = props.cleanable,
56
62
  _props$tabIndex = props.tabIndex,
57
63
  tabIndexProp = _props$tabIndex === void 0 ? editable ? -1 : 0 : _props$tabIndex,
@@ -74,7 +80,7 @@ var PickerToggle = /*#__PURE__*/_react.default.forwardRef(function (props, ref)
74
80
  _props$caretAs = props.caretAs,
75
81
  caretAs = _props$caretAs === void 0 ? caretComponent : _props$caretAs,
76
82
  label = props.label,
77
- rest = (0, _objectWithoutPropertiesLoose2.default)(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"]);
83
+ rest = (0, _objectWithoutPropertiesLoose2.default)(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"]);
78
84
  var inputRef = (0, _react.useRef)(null);
79
85
  var comboboxRef = (0, _react.useRef)(null);
80
86
 
@@ -106,7 +112,9 @@ var PickerToggle = /*#__PURE__*/_react.default.forwardRef(function (props, ref)
106
112
  active: activeProp || activeState
107
113
  }));
108
114
  var handleFocus = (0, _react.useCallback)(function (event) {
109
- setActive(true);
115
+ if (!loading) {
116
+ setActive(true);
117
+ }
110
118
 
111
119
  if (editable) {
112
120
  // Avoid firing the onFocus event twice when DatePicker and DateRangePicker allow keyboard input.
@@ -123,7 +131,7 @@ var PickerToggle = /*#__PURE__*/_react.default.forwardRef(function (props, ref)
123
131
  } else {
124
132
  onFocus === null || onFocus === void 0 ? void 0 : onFocus(event);
125
133
  }
126
- }, [editable, onFocus]);
134
+ }, [editable, loading, onFocus]);
127
135
  var handleBlur = (0, _react.useCallback)(function (event) {
128
136
  if (inputRef.current && !editable) {
129
137
  setActive(false);
@@ -198,7 +206,20 @@ var PickerToggle = /*#__PURE__*/_react.default.forwardRef(function (props, ref)
198
206
  onFocus: !disabled ? handleFocus : null // The debounce is set to 200 to solve the flicker caused by the switch between input and div.
199
207
  ,
200
208
  onBlur: !disabled ? (0, _debounce.default)(handleBlur, 200) : null
201
- }), /*#__PURE__*/_react.default.createElement(_TextMask.default, {
209
+ }), /*#__PURE__*/_react.default.createElement(_Stack.default, null, label && /*#__PURE__*/_react.default.createElement(_Stack.default.Item, null, /*#__PURE__*/_react.default.createElement("span", {
210
+ className: prefix('label')
211
+ }, label)), /*#__PURE__*/_react.default.createElement(_Stack.default.Item, {
212
+ grow: 1,
213
+ style: {
214
+ overflow: 'hidden'
215
+ }
216
+ }, loading ? /*#__PURE__*/_react.default.createElement(_Loader.default, {
217
+ style: {
218
+ display: 'block',
219
+ padding: '1px 0'
220
+ },
221
+ "data-testid": "spinner"
222
+ }) : /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_TextMask.default, {
202
223
  mask: inputMask,
203
224
  value: Array.isArray(inputValue) ? inputValue.toString() : inputValue,
204
225
  onBlur: handleInputBlur,
@@ -219,9 +240,7 @@ var PickerToggle = /*#__PURE__*/_react.default.forwardRef(function (props, ref)
219
240
  }), children ? /*#__PURE__*/_react.default.createElement("span", {
220
241
  className: prefix(hasValue ? 'value' : 'placeholder'),
221
242
  "aria-placeholder": typeof children === 'string' ? children : undefined
222
- }, label && /*#__PURE__*/_react.default.createElement("span", {
223
- className: prefix('label')
224
- }, label), children) : null, showCleanButton && /*#__PURE__*/_react.default.createElement(_CloseButton.default, {
243
+ }, children) : null)), showCleanButton && /*#__PURE__*/_react.default.createElement(_CloseButton.default, {
225
244
  className: prefix(_templateObject || (_templateObject = (0, _taggedTemplateLiteralLoose2.default)(["clean"]))),
226
245
  tabIndex: -1,
227
246
  locale: {
@@ -230,7 +249,7 @@ var PickerToggle = /*#__PURE__*/_react.default.forwardRef(function (props, ref)
230
249
  onClick: handleClean
231
250
  }), caret && /*#__PURE__*/_react.default.createElement(Caret, {
232
251
  className: prefix(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteralLoose2.default)(["caret"])))
233
- }));
252
+ })));
234
253
  });
235
254
 
236
255
  PickerToggle.displayName = 'PickerToggle';
@@ -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;
@@ -21,7 +21,7 @@ var _CustomProvider = require("../CustomProvider");
21
21
 
22
22
  var omitTriggerPropKeys = ['onEntered', 'onExited', 'onEnter', 'onEntering', 'onExit', 'onExiting', 'open', 'defaultOpen', 'onHide', 'container', 'containerPadding', 'preventOverflow'];
23
23
  exports.omitTriggerPropKeys = omitTriggerPropKeys;
24
- var pickTriggerPropKeys = [].concat(omitTriggerPropKeys, ['disabled', 'plaintext', 'readOnly']);
24
+ var pickTriggerPropKeys = [].concat(omitTriggerPropKeys, ['disabled', 'plaintext', 'readOnly', 'loading']);
25
25
  exports.pickTriggerPropKeys = pickTriggerPropKeys;
26
26
 
27
27
  var PickerToggleTrigger = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
@@ -31,8 +31,10 @@ var PickerToggleTrigger = /*#__PURE__*/_react.default.forwardRef(function (props
31
31
  _props$trigger = props.trigger,
32
32
  trigger = _props$trigger === void 0 ? 'click' : _props$trigger,
33
33
  rest = (0, _objectWithoutPropertiesLoose2.default)(props, ["pickerProps", "speaker", "placement", "trigger"]);
34
+ var pickerTriggerProps = (0, _pick.default)(pickerProps, pickTriggerPropKeys);
34
35
  return /*#__PURE__*/_react.default.createElement(_CustomProvider.CustomConsumer, null, function (context) {
35
- return /*#__PURE__*/_react.default.createElement(_OverlayTrigger.default, (0, _extends2.default)({}, rest, (0, _pick.default)(pickerProps, pickTriggerPropKeys), {
36
+ return /*#__PURE__*/_react.default.createElement(_OverlayTrigger.default, (0, _extends2.default)({}, rest, pickerTriggerProps, {
37
+ disabled: pickerTriggerProps.disabled || pickerTriggerProps.loading,
36
38
  ref: ref,
37
39
  trigger: trigger,
38
40
  placement: (0, _utils.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 {};
@@ -553,6 +553,10 @@ function usePublicMethods(ref, parmas) {
553
553
  get overlay() {
554
554
  var _overlayRef$current;
555
555
 
556
+ if (!(overlayRef !== null && overlayRef !== void 0 && overlayRef.current)) {
557
+ throw new Error('The overlay is not found. Please confirm whether the picker is open.');
558
+ }
559
+
556
560
  return (_overlayRef$current = overlayRef === null || overlayRef === void 0 ? void 0 : overlayRef.current) !== null && _overlayRef$current !== void 0 ? _overlayRef$current : null;
557
561
  },
558
562
 
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/cjs/Rate/index.js CHANGED
File without changes
File without changes
package/cjs/Row/Row.js CHANGED
File without changes
package/cjs/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>>;
@@ -94,6 +94,7 @@ var SelectPicker = /*#__PURE__*/_react.default.forwardRef(function (props, ref)
94
94
  var targetRef = (0, _react.useRef)(null);
95
95
  var overlayRef = (0, _react.useRef)(null);
96
96
  var searchInputRef = (0, _react.useRef)(null);
97
+ var listRef = (0, _react.useRef)(null);
97
98
 
98
99
  var _useCustom = (0, _utils.useCustom)('Picker', overrideLocale),
99
100
  locale = _useCustom.locale;
@@ -213,7 +214,8 @@ var SelectPicker = /*#__PURE__*/_react.default.forwardRef(function (props, ref)
213
214
  (0, _Picker.usePublicMethods)(ref, {
214
215
  triggerRef: triggerRef,
215
216
  overlayRef: overlayRef,
216
- targetRef: targetRef
217
+ targetRef: targetRef,
218
+ listRef: listRef
217
219
  }); // Find active `MenuItem` by `value`
218
220
 
219
221
  var activeItem = data.find(function (item) {
@@ -264,6 +266,7 @@ var SelectPicker = /*#__PURE__*/_react.default.forwardRef(function (props, ref)
264
266
  var menu = items.length ? /*#__PURE__*/_react.default.createElement(_Picker.DropdownMenu, {
265
267
  id: id ? id + "-listbox" : undefined,
266
268
  listProps: listProps,
269
+ listRef: listRef,
267
270
  disabledItemValues: disabledItemValues,
268
271
  valueKey: valueKey,
269
272
  labelKey: labelKey,
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
package/cjs/Tag/Tag.js CHANGED
File without changes
package/cjs/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/cjs/Tree/index.js CHANGED
File without changes