rsuite 5.19.0 → 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 (519) 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 +30 -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/Transition.d.ts +2 -2
  80. package/cjs/Animation/index.js +0 -0
  81. package/cjs/Animation/utils.js +0 -0
  82. package/cjs/AutoComplete/index.js +0 -0
  83. package/cjs/Avatar/index.js +0 -0
  84. package/cjs/Badge/index.js +0 -0
  85. package/cjs/Breadcrumb/index.js +0 -0
  86. package/cjs/Button/index.js +0 -0
  87. package/cjs/ButtonToolbar/ButtonToolbar.js +0 -0
  88. package/cjs/ButtonToolbar/index.js +0 -0
  89. package/cjs/Calendar/MonthDropdown.d.ts +1 -0
  90. package/cjs/Calendar/MonthDropdown.js +27 -40
  91. package/cjs/Carousel/index.js +0 -0
  92. package/cjs/Cascader/Cascader.d.ts +2 -2
  93. package/cjs/Cascader/Cascader.js +10 -5
  94. package/cjs/Cascader/DropdownMenu.js +5 -2
  95. package/cjs/Cascader/index.js +0 -0
  96. package/cjs/Cascader/utils.d.ts +1 -0
  97. package/cjs/Cascader/utils.js +11 -1
  98. package/cjs/CheckPicker/CheckPicker.d.ts +2 -2
  99. package/cjs/CheckPicker/CheckPicker.js +4 -1
  100. package/cjs/CheckPicker/index.js +0 -0
  101. package/cjs/CheckTreePicker/CheckTreePicker.js +63 -67
  102. package/cjs/CheckTreePicker/index.js +0 -0
  103. package/cjs/CheckTreePicker/utils.d.ts +2 -2
  104. package/cjs/CheckTreePicker/utils.js +9 -10
  105. package/cjs/Checkbox/index.js +0 -0
  106. package/cjs/CloseButton/CloseButton.js +0 -0
  107. package/cjs/CloseButton/index.js +0 -0
  108. package/cjs/Col/index.js +0 -0
  109. package/cjs/Container/index.js +0 -0
  110. package/cjs/Content/Content.js +0 -0
  111. package/cjs/Content/index.js +0 -0
  112. package/cjs/CustomProvider/FormattedDate.js +0 -0
  113. package/cjs/CustomProvider/index.js +0 -0
  114. package/cjs/DOMHelper/index.d.ts +3 -2
  115. package/cjs/DatePicker/DatePicker.js +9 -0
  116. package/cjs/DatePicker/PredefinedRanges.js +5 -0
  117. package/cjs/DatePicker/index.js +0 -0
  118. package/cjs/DateRangePicker/DateRangePicker.js +9 -7
  119. package/cjs/DateRangePicker/disabledDateUtils.js +0 -0
  120. package/cjs/Disclosure/Disclosure.d.ts +2 -2
  121. package/cjs/Disclosure/Disclosure.js +6 -6
  122. package/cjs/Disclosure/index.js +0 -0
  123. package/cjs/Divider/index.js +0 -0
  124. package/cjs/Drawer/index.js +0 -0
  125. package/cjs/Dropdown/DropdownState.js +0 -0
  126. package/cjs/Dropdown/index.js +0 -0
  127. package/cjs/FlexboxGrid/index.js +0 -0
  128. package/cjs/Footer/Footer.js +0 -0
  129. package/cjs/Footer/index.js +0 -0
  130. package/cjs/Form/Form.js +44 -38
  131. package/cjs/FormControl/index.js +0 -0
  132. package/cjs/FormControlLabel/FormControlLabel.js +0 -0
  133. package/cjs/FormControlLabel/index.js +0 -0
  134. package/cjs/FormErrorMessage/FormErrorMessage.js +0 -0
  135. package/cjs/FormErrorMessage/index.js +0 -0
  136. package/cjs/FormGroup/index.js +0 -0
  137. package/cjs/FormHelpText/index.js +0 -0
  138. package/cjs/Grid/Grid.js +0 -0
  139. package/cjs/Grid/index.js +0 -0
  140. package/cjs/Header/Header.js +0 -0
  141. package/cjs/Header/index.js +0 -0
  142. package/cjs/IconButton/index.js +0 -0
  143. package/cjs/Input/index.js +0 -0
  144. package/cjs/InputGroup/InputGroupButton.js +0 -0
  145. package/cjs/InputGroup/index.js +0 -0
  146. package/cjs/InputNumber/index.js +0 -0
  147. package/cjs/InputPicker/InputPicker.js +4 -1
  148. package/cjs/InputPicker/index.js +0 -0
  149. package/cjs/List/index.js +0 -0
  150. package/cjs/Loader/index.js +0 -0
  151. package/cjs/Menu/MenuContext.js +0 -0
  152. package/cjs/Menu/index.js +0 -0
  153. package/cjs/Message/index.js +0 -0
  154. package/cjs/Modal/ModalFooter.js +0 -0
  155. package/cjs/Modal/index.js +0 -0
  156. package/cjs/MultiCascader/DropdownMenu.js +5 -2
  157. package/cjs/MultiCascader/MultiCascader.js +10 -5
  158. package/cjs/MultiCascader/index.js +0 -0
  159. package/cjs/MultiCascader/utils.d.ts +1 -0
  160. package/cjs/MultiCascader/utils.js +10 -0
  161. package/cjs/Nav/index.js +0 -0
  162. package/cjs/Navbar/NavbarBody.js +0 -0
  163. package/cjs/Navbar/NavbarBrand.js +0 -0
  164. package/cjs/Navbar/NavbarDropdownMenu.js +16 -10
  165. package/cjs/Navbar/NavbarHeader.js +0 -0
  166. package/cjs/Notification/index.js +0 -0
  167. package/cjs/Overlay/OverlayTrigger.d.ts +12 -3
  168. package/cjs/Overlay/OverlayTrigger.js +26 -4
  169. package/cjs/Overlay/index.js +0 -0
  170. package/cjs/Pagination/index.js +0 -0
  171. package/cjs/Panel/index.js +0 -0
  172. package/cjs/PanelGroup/index.js +0 -0
  173. package/cjs/Picker/DropdownMenu.d.ts +2 -1
  174. package/cjs/Picker/DropdownMenu.js +39 -33
  175. package/cjs/Picker/PickerOverlay.d.ts +2 -2
  176. package/cjs/Picker/PickerToggle.d.ts +1 -0
  177. package/cjs/Picker/PickerToggle.js +27 -8
  178. package/cjs/Picker/PickerToggleTrigger.d.ts +3 -3
  179. package/cjs/Picker/PickerToggleTrigger.js +4 -2
  180. package/cjs/Picker/index.d.ts +3 -3
  181. package/cjs/Picker/types.d.ts +7 -5
  182. package/cjs/Picker/utils.d.ts +11 -12
  183. package/cjs/Picker/utils.js +4 -0
  184. package/cjs/Placeholder/Placeholder.js +0 -0
  185. package/cjs/Placeholder/index.js +0 -0
  186. package/cjs/Plaintext/index.js +0 -0
  187. package/cjs/Popover/index.js +0 -0
  188. package/cjs/Progress/Progress.js +0 -0
  189. package/cjs/Progress/index.js +0 -0
  190. package/cjs/Radio/index.js +0 -0
  191. package/cjs/RadioGroup/index.js +0 -0
  192. package/cjs/RangeSlider/index.js +0 -0
  193. package/cjs/Rate/index.js +0 -0
  194. package/cjs/Ripple/index.js +0 -0
  195. package/cjs/Row/Row.js +0 -0
  196. package/cjs/Row/index.js +0 -0
  197. package/cjs/SafeAnchor/index.js +0 -0
  198. package/cjs/Schema/Schema.js +0 -0
  199. package/cjs/Schema/index.js +0 -0
  200. package/cjs/SelectPicker/SelectPicker.d.ts +6 -5
  201. package/cjs/SelectPicker/SelectPicker.js +4 -1
  202. package/cjs/Sidebar/index.js +0 -0
  203. package/cjs/Sidenav/SidenavBody.js +0 -0
  204. package/cjs/Sidenav/SidenavHeader.js +0 -0
  205. package/cjs/Sidenav/index.js +0 -0
  206. package/cjs/Slider/index.js +0 -0
  207. package/cjs/Steps/index.js +0 -0
  208. package/cjs/Table/index.js +0 -0
  209. package/cjs/Tag/Tag.js +0 -0
  210. package/cjs/Tag/index.js +0 -0
  211. package/cjs/TagGroup/TagGroup.js +0 -0
  212. package/cjs/TagGroup/index.js +0 -0
  213. package/cjs/Timeline/index.js +0 -0
  214. package/cjs/Toggle/index.js +0 -0
  215. package/cjs/Tooltip/index.js +0 -0
  216. package/cjs/Tree/Tree.d.ts +2 -5
  217. package/cjs/Tree/index.js +0 -0
  218. package/cjs/TreePicker/TreePicker.d.ts +0 -1
  219. package/cjs/TreePicker/TreePicker.js +47 -48
  220. package/cjs/TreePicker/index.js +0 -0
  221. package/cjs/TreePicker/test/TreePicker.test.js +14 -0
  222. package/cjs/Whisper/Whisper.d.ts +3 -3
  223. package/cjs/Whisper/index.js +0 -0
  224. package/cjs/Windowing/AutoSizer.d.ts +25 -0
  225. package/cjs/Windowing/AutoSizer.js +103 -0
  226. package/cjs/Windowing/List.d.ts +45 -0
  227. package/cjs/Windowing/List.js +72 -0
  228. package/cjs/Windowing/index.d.ts +5 -0
  229. package/cjs/Windowing/index.js +19 -0
  230. package/cjs/index.d.ts +1 -0
  231. package/cjs/locales/ar_EG.js +0 -0
  232. package/cjs/locales/da_DK.js +0 -0
  233. package/cjs/locales/de_DE.js +0 -0
  234. package/cjs/locales/default.js +0 -0
  235. package/cjs/locales/en_GB.js +0 -0
  236. package/cjs/locales/en_US.js +0 -0
  237. package/cjs/locales/es_AR.js +0 -0
  238. package/cjs/locales/es_ES.js +0 -0
  239. package/cjs/locales/fi_FI.js +0 -0
  240. package/cjs/locales/fr_FR.d.ts +105 -0
  241. package/cjs/locales/fr_FR.js +84 -0
  242. package/cjs/locales/index.d.ts +1 -0
  243. package/cjs/locales/index.js +6 -2
  244. package/cjs/locales/it_IT.js +0 -0
  245. package/cjs/locales/ko_KR.js +0 -0
  246. package/cjs/locales/pt_BR.js +0 -0
  247. package/cjs/locales/ru_RU.js +0 -0
  248. package/cjs/locales/sv_SE.js +0 -0
  249. package/cjs/locales/zh_CN.js +0 -0
  250. package/cjs/locales/zh_TW.js +0 -0
  251. package/cjs/toaster/ToastContainer.d.ts +2 -1
  252. package/cjs/toaster/ToastContainer.js +27 -26
  253. package/cjs/toaster/toaster.d.ts +1 -1
  254. package/cjs/toaster/toaster.js +43 -13
  255. package/cjs/toaster/useToaster.d.ts +1 -1
  256. package/cjs/utils/clone.js +0 -0
  257. package/cjs/utils/events.js +0 -0
  258. package/cjs/utils/getDOMNode.js +0 -0
  259. package/cjs/utils/getSafeRegExpString.js +0 -0
  260. package/cjs/utils/guid.js +0 -0
  261. package/cjs/utils/htmlPropsUtils.js +0 -0
  262. package/cjs/utils/index.d.ts +1 -0
  263. package/cjs/utils/index.js +6 -1
  264. package/cjs/utils/isOneOf.js +0 -0
  265. package/cjs/utils/prefix.js +0 -0
  266. package/cjs/utils/render.d.ts +3 -0
  267. package/cjs/utils/render.js +49 -0
  268. package/cjs/utils/shallowEqual.js +0 -0
  269. package/cjs/utils/shallowEqualArray.js +0 -0
  270. package/cjs/utils/statusIcons.js +0 -0
  271. package/cjs/utils/stringToObject.js +0 -0
  272. package/cjs/utils/tplTransform.js +0 -0
  273. package/cjs/utils/treeUtils.d.ts +9 -3
  274. package/cjs/utils/treeUtils.js +24 -5
  275. package/cjs/utils/useClassNames.js +0 -0
  276. package/cjs/utils/useEnsuredRef.js +0 -0
  277. package/cjs/utils/useEventCallback.js +0 -0
  278. package/cjs/utils/useToggleCaret.js +0 -0
  279. package/cjs/utils/useUniqueId.js +10 -2
  280. package/cjs/utils/useUpdateEffect.js +0 -0
  281. package/cjs/utils/useUpdatedRef.js +0 -0
  282. package/cjs/utils/useWillUnmount.js +0 -0
  283. package/dist/rsuite-rtl.css +3 -0
  284. package/dist/rsuite-rtl.min.css +1 -1
  285. package/dist/rsuite-rtl.min.css.map +1 -1
  286. package/dist/rsuite.css +3 -0
  287. package/dist/rsuite.js +311 -570
  288. package/dist/rsuite.js.map +1 -1
  289. package/dist/rsuite.min.css +1 -1
  290. package/dist/rsuite.min.css.map +1 -1
  291. package/dist/rsuite.min.js +1 -1
  292. package/dist/rsuite.min.js.LICENSE.txt +2 -0
  293. package/dist/rsuite.min.js.map +1 -1
  294. package/esm/@types/global.d.ts +0 -0
  295. package/esm/Affix/index.js +0 -0
  296. package/esm/Animation/Bounce.js +0 -0
  297. package/esm/Animation/Fade.js +0 -0
  298. package/esm/Animation/Slide.js +0 -0
  299. package/esm/Animation/Transition.d.ts +2 -2
  300. package/esm/Animation/index.js +0 -0
  301. package/esm/Animation/utils.js +0 -0
  302. package/esm/AutoComplete/index.js +0 -0
  303. package/esm/Avatar/index.js +0 -0
  304. package/esm/Badge/index.js +0 -0
  305. package/esm/Breadcrumb/index.js +0 -0
  306. package/esm/Button/index.js +0 -0
  307. package/esm/ButtonToolbar/ButtonToolbar.js +0 -0
  308. package/esm/ButtonToolbar/index.js +0 -0
  309. package/esm/Calendar/MonthDropdown.d.ts +1 -0
  310. package/esm/Calendar/MonthDropdown.js +26 -41
  311. package/esm/Carousel/index.js +0 -0
  312. package/esm/Cascader/Cascader.d.ts +2 -2
  313. package/esm/Cascader/Cascader.js +10 -5
  314. package/esm/Cascader/DropdownMenu.js +5 -2
  315. package/esm/Cascader/index.js +0 -0
  316. package/esm/Cascader/utils.d.ts +1 -0
  317. package/esm/Cascader/utils.js +11 -1
  318. package/esm/CheckPicker/CheckPicker.d.ts +2 -2
  319. package/esm/CheckPicker/CheckPicker.js +4 -1
  320. package/esm/CheckPicker/index.js +0 -0
  321. package/esm/CheckTreePicker/CheckTreePicker.js +65 -67
  322. package/esm/CheckTreePicker/index.js +0 -0
  323. package/esm/CheckTreePicker/utils.d.ts +2 -2
  324. package/esm/CheckTreePicker/utils.js +11 -12
  325. package/esm/Checkbox/index.js +0 -0
  326. package/esm/CloseButton/CloseButton.js +0 -0
  327. package/esm/CloseButton/index.js +0 -0
  328. package/esm/Col/index.js +0 -0
  329. package/esm/Container/index.js +0 -0
  330. package/esm/Content/Content.js +0 -0
  331. package/esm/Content/index.js +0 -0
  332. package/esm/CustomProvider/FormattedDate.js +0 -0
  333. package/esm/CustomProvider/index.js +0 -0
  334. package/esm/DOMHelper/index.d.ts +3 -2
  335. package/esm/DatePicker/DatePicker.js +8 -0
  336. package/esm/DatePicker/PredefinedRanges.js +5 -0
  337. package/esm/DatePicker/index.js +0 -0
  338. package/esm/DateRangePicker/DateRangePicker.js +9 -7
  339. package/esm/DateRangePicker/disabledDateUtils.js +0 -0
  340. package/esm/Disclosure/Disclosure.d.ts +2 -2
  341. package/esm/Disclosure/Disclosure.js +6 -6
  342. package/esm/Disclosure/index.js +0 -0
  343. package/esm/Divider/index.js +0 -0
  344. package/esm/Drawer/index.js +0 -0
  345. package/esm/Dropdown/DropdownState.js +0 -0
  346. package/esm/Dropdown/index.js +0 -0
  347. package/esm/FlexboxGrid/index.js +0 -0
  348. package/esm/Footer/Footer.js +0 -0
  349. package/esm/Footer/index.js +0 -0
  350. package/esm/Form/Form.js +44 -38
  351. package/esm/FormControl/index.js +0 -0
  352. package/esm/FormControlLabel/FormControlLabel.js +0 -0
  353. package/esm/FormControlLabel/index.js +0 -0
  354. package/esm/FormErrorMessage/FormErrorMessage.js +0 -0
  355. package/esm/FormErrorMessage/index.js +0 -0
  356. package/esm/FormGroup/index.js +0 -0
  357. package/esm/FormHelpText/index.js +0 -0
  358. package/esm/Grid/Grid.js +0 -0
  359. package/esm/Grid/index.js +0 -0
  360. package/esm/Header/Header.js +0 -0
  361. package/esm/Header/index.js +0 -0
  362. package/esm/IconButton/index.js +0 -0
  363. package/esm/Input/index.js +0 -0
  364. package/esm/InputGroup/InputGroupButton.js +0 -0
  365. package/esm/InputGroup/index.js +0 -0
  366. package/esm/InputNumber/index.js +0 -0
  367. package/esm/InputPicker/InputPicker.js +4 -1
  368. package/esm/InputPicker/index.js +0 -0
  369. package/esm/List/index.js +0 -0
  370. package/esm/Loader/index.js +0 -0
  371. package/esm/Menu/MenuContext.js +0 -0
  372. package/esm/Menu/index.js +0 -0
  373. package/esm/Message/index.js +0 -0
  374. package/esm/Modal/ModalFooter.js +0 -0
  375. package/esm/Modal/index.js +0 -0
  376. package/esm/MultiCascader/DropdownMenu.js +5 -2
  377. package/esm/MultiCascader/MultiCascader.js +10 -5
  378. package/esm/MultiCascader/index.js +0 -0
  379. package/esm/MultiCascader/utils.d.ts +1 -0
  380. package/esm/MultiCascader/utils.js +10 -0
  381. package/esm/Nav/index.js +0 -0
  382. package/esm/Navbar/NavbarBody.js +0 -0
  383. package/esm/Navbar/NavbarBrand.js +0 -0
  384. package/esm/Navbar/NavbarDropdownMenu.js +14 -8
  385. package/esm/Navbar/NavbarHeader.js +0 -0
  386. package/esm/Notification/index.js +0 -0
  387. package/esm/Overlay/OverlayTrigger.d.ts +12 -3
  388. package/esm/Overlay/OverlayTrigger.js +23 -3
  389. package/esm/Overlay/index.js +0 -0
  390. package/esm/Pagination/index.js +0 -0
  391. package/esm/Panel/index.js +0 -0
  392. package/esm/PanelGroup/index.js +0 -0
  393. package/esm/Picker/DropdownMenu.d.ts +2 -1
  394. package/esm/Picker/DropdownMenu.js +39 -35
  395. package/esm/Picker/PickerOverlay.d.ts +2 -2
  396. package/esm/Picker/PickerToggle.d.ts +1 -0
  397. package/esm/Picker/PickerToggle.js +25 -8
  398. package/esm/Picker/PickerToggleTrigger.d.ts +3 -3
  399. package/esm/Picker/PickerToggleTrigger.js +4 -2
  400. package/esm/Picker/index.d.ts +3 -3
  401. package/esm/Picker/types.d.ts +7 -5
  402. package/esm/Picker/utils.d.ts +11 -12
  403. package/esm/Picker/utils.js +4 -0
  404. package/esm/Placeholder/Placeholder.js +0 -0
  405. package/esm/Placeholder/index.js +0 -0
  406. package/esm/Plaintext/index.js +0 -0
  407. package/esm/Popover/index.js +0 -0
  408. package/esm/Progress/Progress.js +0 -0
  409. package/esm/Progress/index.js +0 -0
  410. package/esm/Radio/index.js +0 -0
  411. package/esm/RadioGroup/index.js +0 -0
  412. package/esm/RangeSlider/index.js +0 -0
  413. package/esm/Rate/index.js +0 -0
  414. package/esm/Ripple/index.js +0 -0
  415. package/esm/Row/Row.js +0 -0
  416. package/esm/Row/index.js +0 -0
  417. package/esm/SafeAnchor/index.js +0 -0
  418. package/esm/Schema/Schema.js +0 -0
  419. package/esm/Schema/index.js +0 -0
  420. package/esm/SelectPicker/SelectPicker.d.ts +6 -5
  421. package/esm/SelectPicker/SelectPicker.js +4 -1
  422. package/esm/Sidebar/index.js +0 -0
  423. package/esm/Sidenav/SidenavBody.js +0 -0
  424. package/esm/Sidenav/SidenavHeader.js +0 -0
  425. package/esm/Sidenav/index.js +0 -0
  426. package/esm/Slider/index.js +0 -0
  427. package/esm/Steps/index.js +0 -0
  428. package/esm/Table/index.js +0 -0
  429. package/esm/Tag/Tag.js +0 -0
  430. package/esm/Tag/index.js +0 -0
  431. package/esm/TagGroup/TagGroup.js +0 -0
  432. package/esm/TagGroup/index.js +0 -0
  433. package/esm/Timeline/index.js +0 -0
  434. package/esm/Toggle/index.js +0 -0
  435. package/esm/Tooltip/index.js +0 -0
  436. package/esm/Tree/Tree.d.ts +2 -5
  437. package/esm/Tree/index.js +0 -0
  438. package/esm/TreePicker/TreePicker.d.ts +0 -1
  439. package/esm/TreePicker/TreePicker.js +46 -45
  440. package/esm/TreePicker/index.js +0 -0
  441. package/esm/TreePicker/test/TreePicker.test.js +14 -0
  442. package/esm/Whisper/Whisper.d.ts +3 -3
  443. package/esm/Whisper/index.js +0 -0
  444. package/esm/Windowing/AutoSizer.d.ts +25 -0
  445. package/esm/Windowing/AutoSizer.js +88 -0
  446. package/esm/Windowing/List.d.ts +45 -0
  447. package/esm/Windowing/List.js +58 -0
  448. package/esm/Windowing/index.d.ts +5 -0
  449. package/esm/Windowing/index.js +3 -0
  450. package/esm/index.d.ts +1 -0
  451. package/esm/locales/ar_EG.js +0 -0
  452. package/esm/locales/da_DK.js +0 -0
  453. package/esm/locales/de_DE.js +0 -0
  454. package/esm/locales/default.js +0 -0
  455. package/esm/locales/en_GB.js +0 -0
  456. package/esm/locales/en_US.js +0 -0
  457. package/esm/locales/es_AR.js +0 -0
  458. package/esm/locales/es_ES.js +0 -0
  459. package/esm/locales/fi_FI.js +0 -0
  460. package/esm/locales/fr_FR.d.ts +105 -0
  461. package/esm/locales/fr_FR.js +74 -0
  462. package/esm/locales/index.d.ts +1 -0
  463. package/esm/locales/index.js +2 -1
  464. package/esm/locales/it_IT.js +0 -0
  465. package/esm/locales/ko_KR.js +0 -0
  466. package/esm/locales/pt_BR.js +0 -0
  467. package/esm/locales/ru_RU.js +0 -0
  468. package/esm/locales/sv_SE.js +0 -0
  469. package/esm/locales/zh_CN.js +0 -0
  470. package/esm/locales/zh_TW.js +0 -0
  471. package/esm/toaster/ToastContainer.d.ts +2 -1
  472. package/esm/toaster/ToastContainer.js +28 -26
  473. package/esm/toaster/toaster.d.ts +1 -1
  474. package/esm/toaster/toaster.js +41 -13
  475. package/esm/toaster/useToaster.d.ts +1 -1
  476. package/esm/utils/clone.js +0 -0
  477. package/esm/utils/events.js +0 -0
  478. package/esm/utils/getDOMNode.js +0 -0
  479. package/esm/utils/getSafeRegExpString.js +0 -0
  480. package/esm/utils/guid.js +0 -0
  481. package/esm/utils/htmlPropsUtils.js +0 -0
  482. package/esm/utils/index.d.ts +1 -0
  483. package/esm/utils/index.js +1 -0
  484. package/esm/utils/isOneOf.js +0 -0
  485. package/esm/utils/prefix.js +0 -0
  486. package/esm/utils/render.d.ts +3 -0
  487. package/esm/utils/render.js +37 -0
  488. package/esm/utils/shallowEqual.js +0 -0
  489. package/esm/utils/shallowEqualArray.js +0 -0
  490. package/esm/utils/statusIcons.js +0 -0
  491. package/esm/utils/stringToObject.js +0 -0
  492. package/esm/utils/tplTransform.js +0 -0
  493. package/esm/utils/treeUtils.d.ts +9 -3
  494. package/esm/utils/treeUtils.js +22 -5
  495. package/esm/utils/useClassNames.js +0 -0
  496. package/esm/utils/useEnsuredRef.js +0 -0
  497. package/esm/utils/useEventCallback.js +0 -0
  498. package/esm/utils/useToggleCaret.js +0 -0
  499. package/esm/utils/useUniqueId.js +7 -2
  500. package/esm/utils/useUpdateEffect.js +0 -0
  501. package/esm/utils/useUpdatedRef.js +0 -0
  502. package/esm/utils/useWillUnmount.js +0 -0
  503. package/locales/fr_FR/package.json +7 -0
  504. package/package.json +9 -9
  505. package/styles/color-modes.less +0 -0
  506. package/styles/colors/light.less +0 -0
  507. package/styles/common.less +0 -0
  508. package/styles/mixins/color-modes.less +0 -0
  509. package/styles/mixins/hacks.less +0 -0
  510. package/styles/mixins/menu.less +0 -0
  511. package/styles/normalize.less +0 -0
  512. package/styles/scaffolding.less +0 -0
  513. package/styles/typography.less +0 -0
  514. package/toaster/styles/animation.less +0 -0
  515. package/toaster/styles/index.less +0 -0
  516. package/cjs/Picker/VirtualizedList.d.ts +0 -37
  517. package/cjs/Picker/VirtualizedList.js +0 -15
  518. package/esm/Picker/VirtualizedList.d.ts +0 -37
  519. package/esm/Picker/VirtualizedList.js +0 -4
@@ -203,6 +203,15 @@ export function useColumnData(flattenData) {
203
203
  function addColumn(column, index) {
204
204
  setColumnData([].concat(slice(columnData, 0, index), [column]));
205
205
  }
206
+ /**
207
+ * Remove subsequent columns of the specified column
208
+ * @param index
209
+ */
210
+
211
+
212
+ function romoveColumnByIndex(index) {
213
+ setColumnData([].concat(slice(columnData, 0, index)));
214
+ }
206
215
 
207
216
  function enforceUpdateColumnData(nextData) {
208
217
  var nextFlattenData = flattenTree(nextData);
@@ -214,6 +223,7 @@ export function useColumnData(flattenData) {
214
223
  return {
215
224
  columnData: columnData,
216
225
  addColumn: addColumn,
226
+ romoveColumnByIndex: romoveColumnByIndex,
217
227
  setColumnData: setColumnData,
218
228
  enforceUpdateColumnData: enforceUpdateColumnData
219
229
  };
package/esm/Nav/index.js CHANGED
File without changes
File without changes
File without changes
@@ -5,12 +5,12 @@ import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWith
5
5
  var _templateObject, _templateObject2;
6
6
 
7
7
  import React, { useContext } from 'react';
8
- import omit from 'lodash/omit';
9
- import { mergeRefs, useClassNames } from '../utils';
10
8
  import PropTypes from 'prop-types';
9
+ import omit from 'lodash/omit';
10
+ import isNil from 'lodash/isNil';
11
11
  import AngleLeft from '@rsuite/icons/legacy/AngleLeft';
12
12
  import AngleRight from '@rsuite/icons/legacy/AngleRight';
13
- import useCustom from '../utils/useCustom';
13
+ import { mergeRefs, useClassNames, useCustom } from '../utils';
14
14
  import { NavbarContext } from '.';
15
15
  import Disclosure from '../Disclosure';
16
16
  import NavContext from '../Nav/NavContext';
@@ -73,7 +73,7 @@ var NavbarDropdownMenu = /*#__PURE__*/React.forwardRef(function (props, ref) {
73
73
  var Icon = rtl ? AngleLeft : AngleRight;
74
74
  return /*#__PURE__*/React.createElement(Disclosure, {
75
75
  hideOnClickOutside: true,
76
- trigger: ['click', 'mouseover'],
76
+ trigger: ['click', 'hover'],
77
77
  onToggle: function onToggle(open, event) {
78
78
  return _onToggle === null || _onToggle === void 0 ? void 0 : _onToggle(open, undefined, event);
79
79
  }
@@ -98,12 +98,18 @@ var NavbarDropdownMenu = /*#__PURE__*/React.forwardRef(function (props, ref) {
98
98
  open: open,
99
99
  disabled: disabled
100
100
  }));
101
+ var dataAttributes = {
102
+ 'data-event-key': eventKey
103
+ };
104
+
105
+ if (!isNil(eventKey) && typeof eventKey !== 'string') {
106
+ dataAttributes['data-event-key-type'] = typeof eventKey;
107
+ }
108
+
101
109
  return /*#__PURE__*/React.createElement("div", _extends({
102
110
  ref: mergeRefs(buttonRef, buttonRef),
103
- className: classes,
104
- "data-event-key": eventKey,
105
- "data-event-key-type": typeof eventKey
106
- }, buttonProps), icon && /*#__PURE__*/React.cloneElement(icon, {
111
+ className: classes
112
+ }, dataAttributes, buttonProps), icon && /*#__PURE__*/React.cloneElement(icon, {
107
113
  className: prefix('menu-icon')
108
114
  }), title, /*#__PURE__*/React.createElement(Icon, {
109
115
  className: prefix(_templateObject2 || (_templateObject2 = _taggedTemplateLiteralLoose(["toggle-icon"])))
File without changes
File without changes
@@ -59,15 +59,24 @@ export interface OverlayTriggerProps extends StandardProps, AnimationEventProps
59
59
  /** Callback fired when open component */
60
60
  onOpen?: () => void;
61
61
  /** Callback fired when close component */
62
- onClose?: () => void;
62
+ onClose?: (cause?: OverlayCloseCause) => void;
63
63
  /** Whether speaker to follow the cursor */
64
64
  followCursor?: boolean;
65
65
  }
66
- export interface OverlayTriggerInstance {
66
+ /**
67
+ * The reason that triggers closing of an overlay
68
+ * - Clicking outside of the overlay
69
+ * - Direct invocation of triggerRef.current.close()
70
+ */
71
+ export declare enum OverlayCloseCause {
72
+ ClickOutside = 0,
73
+ ImperativeHandle = 1
74
+ }
75
+ export interface OverlayTriggerHandle {
67
76
  root: HTMLElement | undefined;
68
77
  updatePosition: () => void;
69
78
  open: (delay?: number) => void;
70
79
  close: (delay?: number) => void;
71
80
  }
72
- declare const OverlayTrigger: React.ForwardRefExoticComponent<OverlayTriggerProps & React.RefAttributes<OverlayTriggerInstance>>;
81
+ declare const OverlayTrigger: React.ForwardRefExoticComponent<OverlayTriggerProps & React.RefAttributes<OverlayTriggerHandle>>;
73
82
  export default OverlayTrigger;
@@ -30,6 +30,12 @@ function mergeEvents(events, props) {
30
30
  return nextEvents;
31
31
  }
32
32
 
33
+ /**
34
+ * The reason that triggers closing of an overlay
35
+ * - Clicking outside of the overlay
36
+ * - Direct invocation of triggerRef.current.close()
37
+ */
38
+ export var OverlayCloseCause;
33
39
  /**
34
40
  * Useful for mouseover and mouseout.
35
41
  * In order to resolve the node entering the mouseover element, a mouseout event and a mouseover event will be triggered.
@@ -37,6 +43,12 @@ function mergeEvents(events, props) {
37
43
  * @param handler
38
44
  * @param event
39
45
  */
46
+
47
+ (function (OverlayCloseCause) {
48
+ OverlayCloseCause[OverlayCloseCause["ClickOutside"] = 0] = "ClickOutside";
49
+ OverlayCloseCause[OverlayCloseCause["ImperativeHandle"] = 1] = "ImperativeHandle";
50
+ })(OverlayCloseCause || (OverlayCloseCause = {}));
51
+
40
52
  function onMouseEventHandler(handler, event, delay) {
41
53
  var target = event.currentTarget;
42
54
  var related = event.relatedTarget || get(event, ['nativeEvent', 'toElement']);
@@ -133,17 +145,19 @@ var OverlayTrigger = /*#__PURE__*/React.forwardRef(function (props, ref) {
133
145
 
134
146
  setOpen(true);
135
147
  }, [delayOpen, setOpen]);
136
- var handleClose = useCallback(function (delay) {
148
+ var handleClose = useCallback(function (delay, callback) {
137
149
  var ms = _isUndefined(delay) ? delayClose : delay;
138
150
 
139
151
  if (ms && typeof ms === 'number') {
140
152
  return delayCloseTimer.current = setTimeout(function () {
141
153
  delayCloseTimer.current = null;
142
154
  setOpen(false);
155
+ callback === null || callback === void 0 ? void 0 : callback();
143
156
  }, ms);
144
157
  }
145
158
 
146
159
  setOpen(false);
160
+ callback === null || callback === void 0 ? void 0 : callback();
147
161
  }, [delayClose, setOpen]);
148
162
  var handleExited = useCallback(function () {
149
163
  setCursorPosition(null);
@@ -161,7 +175,11 @@ var OverlayTrigger = /*#__PURE__*/React.forwardRef(function (props, ref) {
161
175
  },
162
176
 
163
177
  open: handleOpen,
164
- close: handleClose,
178
+ close: function close(delay) {
179
+ return handleClose(delay, function () {
180
+ return onClose === null || onClose === void 0 ? void 0 : onClose(OverlayCloseCause.ImperativeHandle);
181
+ });
182
+ },
165
183
  updatePosition: function updatePosition() {
166
184
  var _overlayRef$current2, _overlayRef$current2$;
167
185
 
@@ -322,7 +340,9 @@ var OverlayTrigger = /*#__PURE__*/React.forwardRef(function (props, ref) {
322
340
  var overlayProps = _extends({}, rest, {
323
341
  rootClose: rootClose,
324
342
  triggerTarget: triggerRef,
325
- onClose: trigger !== 'none' ? createChainedFunction(handleClose, onClose) : undefined,
343
+ onClose: trigger !== 'none' ? createChainedFunction(handleClose, function () {
344
+ return onClose === null || onClose === void 0 ? void 0 : onClose(OverlayCloseCause.ClickOutside);
345
+ }) : undefined,
326
346
  onExited: createChainedFunction(followCursor ? handleExited : undefined, onExited),
327
347
  placement: placement,
328
348
  container: container,
File without changes
File without changes
File without changes
File without changes
@@ -1,6 +1,6 @@
1
1
  import React from 'react';
2
2
  import PropTypes from 'prop-types';
3
- import { ListProps } from './VirtualizedList';
3
+ import { ListProps, ListHandle } from '../Windowing';
4
4
  import { StandardProps, ItemDataType } from '../@types/common';
5
5
  export interface DropdownMenuProps<Multiple = false> extends StandardProps, Omit<React.HTMLAttributes<HTMLDivElement>, 'onSelect'> {
6
6
  classPrefix: string;
@@ -20,6 +20,7 @@ export interface DropdownMenuProps<Multiple = false> extends StandardProps, Omit
20
20
  rowGroupHeight?: number;
21
21
  virtualized?: boolean;
22
22
  listProps?: Partial<ListProps>;
23
+ listRef?: React.Ref<ListHandle>;
23
24
  /** Custom selected option */
24
25
  renderMenuItem?: (itemLabel: React.ReactNode, item: any) => React.ReactNode;
25
26
  renderMenuGroup?: (title: React.ReactNode, item: any) => React.ReactNode;
@@ -13,9 +13,9 @@ import getPosition from 'dom-lib/getPosition';
13
13
  import scrollTop from 'dom-lib/scrollTop';
14
14
  import getHeight from 'dom-lib/getHeight';
15
15
  import classNames from 'classnames';
16
- import { List, AutoSizer } from './VirtualizedList';
16
+ import { List, AutoSizer, VariableSizeList } from '../Windowing';
17
17
  import shallowEqual from '../utils/shallowEqual';
18
- import { mergeRefs, useClassNames } from '../utils';
18
+ import { mergeRefs, useClassNames, useMount } from '../utils';
19
19
  import DropdownMenuGroup from './DropdownMenuGroup';
20
20
  import { KEY_GROUP, KEY_GROUP_TITLE } from '../utils/getDataGroupBy';
21
21
  var DropdownMenu = /*#__PURE__*/React.forwardRef(function (props, ref) {
@@ -36,6 +36,7 @@ var DropdownMenu = /*#__PURE__*/React.forwardRef(function (props, ref) {
36
36
  labelKey = _props$labelKey === void 0 ? 'label' : _props$labelKey,
37
37
  virtualized = props.virtualized,
38
38
  listProps = props.listProps,
39
+ virtualizedListRef = props.listRef,
39
40
  className = props.className,
40
41
  style = props.style,
41
42
  focusItemValue = props.focusItemValue,
@@ -49,7 +50,7 @@ var DropdownMenu = /*#__PURE__*/React.forwardRef(function (props, ref) {
49
50
  renderMenuItem = props.renderMenuItem,
50
51
  onGroupTitleClick = props.onGroupTitleClick,
51
52
  onSelect = props.onSelect,
52
- rest = _objectWithoutPropertiesLoose(props, ["data", "group", "maxHeight", "activeItemValues", "disabledItemValues", "classPrefix", "valueKey", "labelKey", "virtualized", "listProps", "className", "style", "focusItemValue", "dropdownMenuItemClassPrefix", "dropdownMenuItemAs", "rowHeight", "rowGroupHeight", "renderMenuGroup", "renderMenuItem", "onGroupTitleClick", "onSelect"]);
53
+ rest = _objectWithoutPropertiesLoose(props, ["data", "group", "maxHeight", "activeItemValues", "disabledItemValues", "classPrefix", "valueKey", "labelKey", "virtualized", "listProps", "listRef", "className", "style", "focusItemValue", "dropdownMenuItemClassPrefix", "dropdownMenuItemAs", "rowHeight", "rowGroupHeight", "renderMenuGroup", "renderMenuItem", "onGroupTitleClick", "onSelect"]);
53
54
 
54
55
  var _useClassNames = useClassNames(classPrefix),
55
56
  withClassPrefix = _useClassNames.withClassPrefix,
@@ -59,12 +60,8 @@ var DropdownMenu = /*#__PURE__*/React.forwardRef(function (props, ref) {
59
60
  var classes = merge(className, withClassPrefix('items', {
60
61
  grouped: group
61
62
  }));
62
-
63
- var styles = _extends({}, style, {
64
- maxHeight: maxHeight
65
- });
66
-
67
63
  var menuBodyContainerRef = useRef(null);
64
+ var listRef = useRef(null);
68
65
 
69
66
  var _useState = useState([]),
70
67
  foldedGroupKeys = _useState[0],
@@ -86,8 +83,7 @@ var DropdownMenu = /*#__PURE__*/React.forwardRef(function (props, ref) {
86
83
  onSelect === null || onSelect === void 0 ? void 0 : onSelect(value, item, event, checked);
87
84
  }, [onSelect]);
88
85
 
89
- var getRowHeight = function getRowHeight(list, _ref) {
90
- var index = _ref.index;
86
+ var getRowHeight = function getRowHeight(list, index) {
91
87
  var item = list[index];
92
88
 
93
89
  if (group && item[KEY_GROUP] && index !== 0) {
@@ -125,10 +121,13 @@ var DropdownMenu = /*#__PURE__*/React.forwardRef(function (props, ref) {
125
121
  }
126
122
  }, [focusItemValue, menuBodyContainerRef, prefix]);
127
123
 
128
- var renderItem = function renderItem(list, _ref2) {
129
- var index = _ref2.index,
130
- style = _ref2.style;
131
- var item = list[index];
124
+ var renderItem = function renderItem(_ref) {
125
+ var _ref$index = _ref.index,
126
+ index = _ref$index === void 0 ? 0 : _ref$index,
127
+ style = _ref.style,
128
+ data = _ref.data,
129
+ itemData = _ref.item;
130
+ var item = itemData || data[index];
132
131
  var value = item[valueKey];
133
132
  var label = item[labelKey];
134
133
 
@@ -187,40 +186,45 @@ var DropdownMenu = /*#__PURE__*/React.forwardRef(function (props, ref) {
187
186
  return key === ((_item$parent = item.parent) === null || _item$parent === void 0 ? void 0 : _item$parent[KEY_GROUP_TITLE]);
188
187
  }));
189
188
  }) : data;
190
- var rowCount = filteredItems.length; // Check whether the height of the data exceeds the height of the container.
189
+ var rowCount = filteredItems.length;
190
+ useMount(function () {
191
+ var _listRef$current, _listRef$current$scro;
191
192
 
192
- var useVirtualized = virtualized && rowCount * rowHeight > maxHeight;
193
+ var itemIndex = findIndex(filteredItems, function (item) {
194
+ return item[valueKey] === (activeItemValues === null || activeItemValues === void 0 ? void 0 : activeItemValues[0]);
195
+ });
196
+ (_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);
197
+ });
193
198
  return /*#__PURE__*/React.createElement("div", _extends({
194
- role: !useVirtualized ? 'listbox' : undefined
199
+ role: "listbox"
195
200
  }, rest, {
196
201
  className: classes,
197
202
  ref: mergeRefs(menuBodyContainerRef, ref),
198
- style: styles
199
- }), useVirtualized ? /*#__PURE__*/React.createElement(AutoSizer, {
203
+ style: _extends({}, style, {
204
+ maxHeight: maxHeight
205
+ })
206
+ }), virtualized ? /*#__PURE__*/React.createElement(AutoSizer, {
200
207
  defaultHeight: maxHeight,
201
208
  style: {
202
209
  width: 'auto',
203
210
  height: 'auto'
204
211
  }
205
- }, function (_ref3) {
206
- var height = _ref3.height,
207
- width = _ref3.width;
212
+ }, function (_ref2) {
213
+ var height = _ref2.height,
214
+ width = _ref2.width;
208
215
  return /*#__PURE__*/React.createElement(List, _extends({
209
- role: "listbox",
210
- containerRole: '',
211
- "aria-readonly": undefined,
216
+ as: VariableSizeList,
217
+ ref: mergeRefs(listRef, virtualizedListRef),
212
218
  width: width,
213
219
  height: height || maxHeight,
214
- scrollToIndex: findIndex(data, function (item) {
215
- return item[valueKey] === (activeItemValues === null || activeItemValues === void 0 ? void 0 : activeItemValues[0]);
216
- }),
217
- rowCount: rowCount,
218
- rowHeight: getRowHeight.bind(_this, filteredItems),
219
- rowRenderer: renderItem.bind(null, filteredItems)
220
- }, listProps));
221
- }) : filteredItems.map(function (_item, index) {
222
- return renderItem(filteredItems, {
223
- index: index
220
+ itemCount: rowCount,
221
+ itemData: filteredItems,
222
+ itemSize: getRowHeight.bind(_this, filteredItems)
223
+ }, listProps), renderItem);
224
+ }) : filteredItems.map(function (item, index) {
225
+ return renderItem({
226
+ index: index,
227
+ item: item
224
228
  });
225
229
  }));
226
230
  });
@@ -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