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
File without changes
File without changes
File without changes
File without changes
File without changes
@@ -36,7 +36,7 @@ interface TransitionState {
36
36
  }
37
37
  export declare const transitionPropTypes: {
38
38
  animation: PropTypes.Requireable<boolean>;
39
- children: PropTypes.Requireable<string | number | boolean | {} | PropTypes.ReactElementLike | PropTypes.ReactNodeArray>;
39
+ children: PropTypes.Requireable<string | number | boolean | ((...args: any[]) => any) | PropTypes.ReactElementLike | PropTypes.ReactNodeArray>;
40
40
  className: PropTypes.Requireable<string>;
41
41
  in: PropTypes.Requireable<boolean>;
42
42
  unmountOnExit: PropTypes.Requireable<boolean>;
@@ -59,7 +59,7 @@ declare type EventToken = {
59
59
  declare class Transition extends React.Component<TransitionProps, TransitionState> {
60
60
  static propTypes: {
61
61
  animation: PropTypes.Requireable<boolean>;
62
- children: PropTypes.Requireable<string | number | boolean | {} | PropTypes.ReactElementLike | PropTypes.ReactNodeArray>;
62
+ children: PropTypes.Requireable<string | number | boolean | ((...args: any[]) => any) | PropTypes.ReactElementLike | PropTypes.ReactNodeArray>;
63
63
  className: PropTypes.Requireable<string>;
64
64
  in: PropTypes.Requireable<boolean>;
65
65
  unmountOnExit: PropTypes.Requireable<boolean>;
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
@@ -2,6 +2,7 @@ import React from 'react';
2
2
  import { RsRefForwardingComponent, WithAsProps } from '../@types/common';
3
3
  export interface MonthDropdownProps extends WithAsProps {
4
4
  show?: boolean;
5
+ limitStartYear?: number;
5
6
  limitEndYear?: number;
6
7
  height?: number;
7
8
  width?: number;
@@ -1,35 +1,19 @@
1
1
  import _extends from "@babel/runtime/helpers/esm/extends";
2
2
  import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
3
- import React, { useCallback } from 'react';
3
+ import React, { useCallback, useMemo } from 'react';
4
4
  import PropTypes from 'prop-types';
5
- import { AutoSizer, List } from '../Picker/VirtualizedList';
5
+ import { AutoSizer, FixedSizeList } from '../Windowing';
6
6
  import { DateUtils, useClassNames } from '../utils';
7
7
  import MonthDropdownItem from './MonthDropdownItem';
8
8
  import { useCalendarContext } from './CalendarContext';
9
9
  var monthMap = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11];
10
- /**
11
- * Set the row height.
12
- * Add 1px to the first and last lines.
13
- */
14
-
15
- function getRowHeight(count) {
16
- return function (_ref) {
17
- var index = _ref.index;
18
-
19
- if (index === 0 || count - 1 === index) {
20
- return 75 + 1;
21
- }
22
-
23
- return 75;
24
- };
25
- }
26
-
27
10
  var MonthDropdown = /*#__PURE__*/React.forwardRef(function (props, ref) {
28
11
  var _props$as = props.as,
29
12
  Component = _props$as === void 0 ? 'div' : _props$as,
30
13
  className = props.className,
31
14
  _props$classPrefix = props.classPrefix,
32
15
  classPrefix = _props$classPrefix === void 0 ? 'calendar-month-dropdown' : _props$classPrefix,
16
+ limitStartYear = props.limitStartYear,
33
17
  _props$limitEndYear = props.limitEndYear,
34
18
  limitEndYear = _props$limitEndYear === void 0 ? 5 : _props$limitEndYear,
35
19
  show = props.show,
@@ -38,7 +22,7 @@ var MonthDropdown = /*#__PURE__*/React.forwardRef(function (props, ref) {
38
22
  _props$width = props.width,
39
23
  defaultWidth = _props$width === void 0 ? 256 : _props$width,
40
24
  disabledMonth = props.disabledMonth,
41
- rest = _objectWithoutPropertiesLoose(props, ["as", "className", "classPrefix", "limitEndYear", "show", "height", "width", "disabledMonth"]);
25
+ rest = _objectWithoutPropertiesLoose(props, ["as", "className", "classPrefix", "limitStartYear", "limitEndYear", "show", "height", "width", "disabledMonth"]);
42
26
 
43
27
  var _useCalendarContext = useCalendarContext(),
44
28
  _useCalendarContext$d = _useCalendarContext.date,
@@ -49,9 +33,12 @@ var MonthDropdown = /*#__PURE__*/React.forwardRef(function (props, ref) {
49
33
  merge = _useClassNames.merge,
50
34
  withClassPrefix = _useClassNames.withClassPrefix;
51
35
 
52
- var getRowCount = useCallback(function () {
53
- return DateUtils.getYear(new Date()) + limitEndYear;
54
- }, [limitEndYear]);
36
+ var thisYear = DateUtils.getYear(new Date());
37
+ var startYear = limitStartYear ? thisYear - limitStartYear : 1900;
38
+ var rowCount = useMemo(function () {
39
+ var endYear = thisYear + limitEndYear;
40
+ return endYear - startYear;
41
+ }, [limitEndYear, startYear, thisYear]);
55
42
  var isMonthDisabled = useCallback(function (year, month) {
56
43
  if (disabledMonth) {
57
44
  var days = DateUtils.getDaysInMonth(new Date(year, month)); // If all dates in a month are disabled, disable the current month
@@ -68,26 +55,23 @@ var MonthDropdown = /*#__PURE__*/React.forwardRef(function (props, ref) {
68
55
  return false;
69
56
  }, [disabledMonth]);
70
57
 
71
- var rowRenderer = function rowRenderer(_ref2) {
72
- var index = _ref2.index,
73
- key = _ref2.key,
74
- style = _ref2.style;
58
+ var rowRenderer = function rowRenderer(_ref) {
59
+ var index = _ref.index,
60
+ style = _ref.style;
75
61
  var selectedMonth = DateUtils.getMonth(date);
76
62
  var selectedYear = DateUtils.getYear(date);
77
- var year = index + 1;
63
+ var year = startYear + index;
78
64
  var isSelectedYear = year === selectedYear;
79
- var count = getRowCount();
80
65
  var titleClassName = prefix('year', {
81
66
  'year-active': isSelectedYear
82
67
  });
83
68
  var rowClassName = merge(prefix('row'), {
84
69
  'first-row': index === 0,
85
- 'last-row': index === count - 1
70
+ 'last-row': index === rowCount - 1
86
71
  });
87
72
  return /*#__PURE__*/React.createElement("div", {
88
73
  className: rowClassName,
89
74
  role: "row",
90
- key: key,
91
75
  style: style
92
76
  }, /*#__PURE__*/React.createElement("div", {
93
77
  className: titleClassName,
@@ -106,10 +90,12 @@ var MonthDropdown = /*#__PURE__*/React.forwardRef(function (props, ref) {
106
90
  })));
107
91
  };
108
92
 
109
- var count = getRowCount();
110
93
  var classes = merge(className, withClassPrefix(), {
111
94
  show: show
112
95
  });
96
+ var itemSize = 75;
97
+ var initialItemIndex = DateUtils.getYear(date) - startYear;
98
+ var initialScrollOffset = itemSize * initialItemIndex;
113
99
  return /*#__PURE__*/React.createElement(Component, _extends({
114
100
  role: "menu"
115
101
  }, rest, {
@@ -122,18 +108,17 @@ var MonthDropdown = /*#__PURE__*/React.forwardRef(function (props, ref) {
122
108
  }, show && /*#__PURE__*/React.createElement(AutoSizer, {
123
109
  defaultHeight: defaultHeight,
124
110
  defaultWidth: defaultWidth
125
- }, function (_ref3) {
126
- var height = _ref3.height,
127
- width = _ref3.width;
128
- return /*#__PURE__*/React.createElement(List, {
111
+ }, function (_ref2) {
112
+ var height = _ref2.height,
113
+ width = _ref2.width;
114
+ return /*#__PURE__*/React.createElement(FixedSizeList, {
129
115
  className: prefix('row-wrapper'),
130
116
  width: width || defaultWidth,
131
117
  height: height || defaultHeight,
132
- rowHeight: getRowHeight(count),
133
- rowCount: count,
134
- scrollToIndex: DateUtils.getYear(date),
135
- rowRenderer: rowRenderer
136
- });
118
+ itemSize: itemSize,
119
+ itemCount: rowCount,
120
+ initialScrollOffset: initialScrollOffset
121
+ }, rowRenderer);
137
122
  }))));
138
123
  });
139
124
  MonthDropdown.displayName = 'MonthDropdown';
File without changes
@@ -1,6 +1,6 @@
1
1
  import React from 'react';
2
2
  import { PickerLocale } from '../locales';
3
- import { PickerInstance } from '../Picker';
3
+ import { PickerHandle } from '../Picker';
4
4
  import { ItemDataType, FormControlPickerProps } from '../@types/common';
5
5
  export declare type ValueType = number | string;
6
6
  export interface CascaderProps<T = ValueType> extends FormControlPickerProps<T | null, PickerLocale, ItemDataType<T>> {
@@ -33,7 +33,7 @@ export interface CascaderProps<T = ValueType> extends FormControlPickerProps<T |
33
33
  }
34
34
  export interface CascaderComponent {
35
35
  <T>(props: CascaderProps<T> & {
36
- ref?: React.Ref<PickerInstance>;
36
+ ref?: React.Ref<PickerHandle>;
37
37
  }): JSX.Element | null;
38
38
  displayName?: string;
39
39
  propTypes?: React.WeakValidationMap<CascaderProps<any>>;
@@ -94,6 +94,7 @@ var Cascader = /*#__PURE__*/React.forwardRef(function (props, ref) {
94
94
  valueToPaths = _usePaths.valueToPaths,
95
95
  columnData = _usePaths.columnData,
96
96
  addColumn = _usePaths.addColumn,
97
+ romoveColumnByIndex = _usePaths.romoveColumnByIndex,
97
98
  setValueToPaths = _usePaths.setValueToPaths,
98
99
  setColumnData = _usePaths.setColumnData,
99
100
  setSelectedPaths = _usePaths.setSelectedPaths,
@@ -257,9 +258,10 @@ var Cascader = /*#__PURE__*/React.forwardRef(function (props, ref) {
257
258
  var handleSelect = function handleSelect(node, cascadePaths, isLeafNode, event) {
258
259
  var _node$childrenKey, _node$childrenKey2, _triggerRef$current2;
259
260
 
260
- var nextValue = node[valueKey];
261
261
  onSelect === null || onSelect === void 0 ? void 0 : onSelect(node, cascadePaths, event);
262
- setSelectedPaths(cascadePaths); // Lazy load node's children
262
+ setSelectedPaths(cascadePaths);
263
+ var nextValue = node[valueKey];
264
+ var columnIndex = cascadePaths.length; // Lazy load node's children
263
265
 
264
266
  if (typeof getChildren === 'function' && ((_node$childrenKey = node[childrenKey]) === null || _node$childrenKey === void 0 ? void 0 : _node$childrenKey.length) === 0) {
265
267
  node.loading = true;
@@ -271,16 +273,19 @@ var Cascader = /*#__PURE__*/React.forwardRef(function (props, ref) {
271
273
  node[childrenKey] = data;
272
274
 
273
275
  if (targetRef.current) {
274
- addColumn(data, cascadePaths.length);
276
+ addColumn(data, columnIndex);
275
277
  }
276
278
  });
277
279
  } else {
278
280
  node.loading = false;
279
281
  node[childrenKey] = children;
280
- addColumn(children, cascadePaths.length);
282
+ addColumn(children, columnIndex);
281
283
  }
282
284
  } else if ((_node$childrenKey2 = node[childrenKey]) !== null && _node$childrenKey2 !== void 0 && _node$childrenKey2.length) {
283
- addColumn(node[childrenKey], cascadePaths.length);
285
+ addColumn(node[childrenKey], columnIndex);
286
+ } else {
287
+ // Removes subsequent columns of the current column when the clicked node is a leaf node.
288
+ romoveColumnByIndex(columnIndex);
284
289
  }
285
290
 
286
291
  if (isLeafNode) {
@@ -45,7 +45,10 @@ var DropdownMenu = /*#__PURE__*/React.forwardRef(function (props, ref) {
45
45
 
46
46
  var classes = merge(className, prefix('items'));
47
47
  var rootRef = useRef();
48
- var rtl = useCustom('DropdownMenu');
48
+
49
+ var _useCustom = useCustom('DropdownMenu'),
50
+ rtl = _useCustom.rtl;
51
+
49
52
  useEffect(function () {
50
53
  var _rootRef$current;
51
54
 
@@ -96,7 +99,7 @@ var DropdownMenu = /*#__PURE__*/React.forwardRef(function (props, ref) {
96
99
  }); // Use `value` in keys when If `value` is string or number
97
100
 
98
101
  var onlyKey = typeof value === 'number' || typeof value === 'string' ? value : index;
99
- var Icon = node.loading ? SpinnerIcon : rtl ? AngleRightIcon : AngleLeftIcon;
102
+ var Icon = node.loading ? SpinnerIcon : rtl ? AngleLeftIcon : AngleRightIcon;
100
103
  return /*#__PURE__*/React.createElement(DropdownMenuItem, {
101
104
  classPrefix: "picker-cascader-menu-item",
102
105
  as: 'li',
File without changes
@@ -14,4 +14,5 @@ export declare function usePaths(props: CascaderProps): {
14
14
  setColumnData: import("react").Dispatch<import("react").SetStateAction<ItemDataType<string | number>[][]>>;
15
15
  setSelectedPaths: import("react").Dispatch<import("react").SetStateAction<ItemDataType<string | number>[]>>;
16
16
  addColumn: (column: ItemDataType[], index: number) => void;
17
+ romoveColumnByIndex: (index: number) => void;
17
18
  };
@@ -111,6 +111,15 @@ export function usePaths(props) {
111
111
  function addColumn(column, index) {
112
112
  setColumnData([].concat(slice(columnData, 0, index), [column]));
113
113
  }
114
+ /**
115
+ * Remove subsequent columns of the specified column
116
+ * @param index
117
+ */
118
+
119
+
120
+ function romoveColumnByIndex(index) {
121
+ setColumnData([].concat(slice(columnData, 0, index)));
122
+ }
114
123
  /**
115
124
  * Enforce update of columns and paths.
116
125
  * @param nextValue Selected value
@@ -146,6 +155,7 @@ export function usePaths(props) {
146
155
  setValueToPaths: setValueToPaths,
147
156
  setColumnData: setColumnData,
148
157
  setSelectedPaths: setSelectedPaths,
149
- addColumn: addColumn
158
+ addColumn: addColumn,
159
+ romoveColumnByIndex: romoveColumnByIndex
150
160
  };
151
161
  }
@@ -1,6 +1,6 @@
1
1
  import React, { Ref } from 'react';
2
2
  import { PickerLocale } from '../locales';
3
- import { PickerInstance, PickerToggleProps } from '../Picker';
3
+ import { PickerHandle, PickerToggleProps } from '../Picker';
4
4
  import { ItemDataType, FormControlPickerProps } from '../@types/common';
5
5
  import type { MultipleSelectProps } from '../SelectPicker';
6
6
  export declare type ValueType = (number | string)[];
@@ -12,7 +12,7 @@ export interface CheckPickerProps<T> extends FormControlPickerProps<T[], PickerL
12
12
  }
13
13
  export interface CheckPickerComponent {
14
14
  <T>(props: CheckPickerProps<T> & {
15
- ref?: Ref<PickerInstance>;
15
+ ref?: Ref<PickerHandle>;
16
16
  }): JSX.Element | null;
17
17
  displayName?: string;
18
18
  propTypes?: React.WeakValidationMap<CheckPickerProps<any>>;
@@ -81,6 +81,7 @@ var CheckPicker = /*#__PURE__*/React.forwardRef(function (props, ref) {
81
81
  var targetRef = useRef(null);
82
82
  var overlayRef = useRef(null);
83
83
  var searchInputRef = useRef(null);
84
+ var listRef = useRef(null);
84
85
 
85
86
  var _useCustom = useCustom('Picker', overrideLocale),
86
87
  locale = _useCustom.locale;
@@ -235,7 +236,8 @@ var CheckPicker = /*#__PURE__*/React.forwardRef(function (props, ref) {
235
236
  usePublicMethods(ref, {
236
237
  triggerRef: triggerRef,
237
238
  overlayRef: overlayRef,
238
- targetRef: targetRef
239
+ targetRef: targetRef,
240
+ listRef: listRef
239
241
  });
240
242
  var selectedItems = data.filter(function (item) {
241
243
  return value === null || value === void 0 ? void 0 : value.some(function (val) {
@@ -308,6 +310,7 @@ var CheckPicker = /*#__PURE__*/React.forwardRef(function (props, ref) {
308
310
  var menu = items.length || filteredStickyItems.length ? /*#__PURE__*/React.createElement(DropdownMenu, {
309
311
  id: id ? id + "-listbox" : undefined,
310
312
  listProps: listProps,
313
+ listRef: listRef,
311
314
  disabledItemValues: disabledItemValues,
312
315
  valueKey: valueKey,
313
316
  labelKey: labelKey,
File without changes
@@ -6,19 +6,23 @@ import _omit from "lodash/omit";
6
6
  import _isFunction from "lodash/isFunction";
7
7
  import _pick from "lodash/pick";
8
8
  import _isNil from "lodash/isNil";
9
- import React, { useState, useRef, useEffect, useCallback, useContext } from 'react';
9
+ import React, { useState, useRef, useEffect, useCallback, useContext, useMemo } from 'react';
10
10
  import PropTypes from 'prop-types';
11
11
  import classNames from 'classnames';
12
- import { List, AutoSizer } from '../Picker/VirtualizedList';
12
+ import { List, AutoSizer } from '../Windowing';
13
13
  import CheckTreeNode from './CheckTreeNode';
14
14
  import TreeContext from '../Tree/TreeContext';
15
15
  import { getTreeNodeIndent } from '../utils/treeUtils';
16
- import { createChainedFunction, useCustom, useClassNames, useControlled, KEY_VALUES, mergeRefs, shallowEqual } from '../utils';
16
+ import { createChainedFunction, useCustom, useClassNames, useControlled, KEY_VALUES, mergeRefs } from '../utils';
17
17
  import { PickerToggle, onMenuKeyDown as _onMenuKeyDown, PickerOverlay, SearchBar, SelectedElement, PickerToggleTrigger, createConcatChildrenFunction, usePickerClassName, usePublicMethods, pickTriggerPropKeys, omitTriggerPropKeys, listPickerPropTypes, useToggleKeyDownEvent } from '../Picker';
18
18
  import { isEveryChildChecked, isSomeNodeHasChildren, isAllSiblingNodeUncheckable, isEveryFirstLevelNodeUncheckable, getFormattedTree, getDisabledState, getCheckTreePickerDefaultValue, getSelectedItems, isNodeUncheckable } from './utils';
19
19
  import { hasVisibleChildren, getExpandWhenSearching, useTreeSearch, useTreeNodeRefs, getDefaultExpandItemValues, useFlattenTreeData, focusNextItem, getFocusableItems, focusPreviousItem, toggleExpand, getActiveItem, useGetTreeNodeChildren, focusToActiveTreeNode, focusTreeNode, leftArrowHandler, rightArrowHandler, isSearching } from '../utils/treeUtils';
20
- import { maxTreeHeight } from '../TreePicker/TreePicker';
21
20
  var emptyArray = [];
21
+
22
+ var itemSize = function itemSize() {
23
+ return 36;
24
+ };
25
+
22
26
  var CheckTreePicker = /*#__PURE__*/React.forwardRef(function (props, ref) {
23
27
  var _props$as = props.as,
24
28
  Component = _props$as === void 0 ? 'div' : _props$as,
@@ -60,6 +64,8 @@ var CheckTreePicker = /*#__PURE__*/React.forwardRef(function (props, ref) {
60
64
  defaultExpandItemValues = _props$defaultExpandI === void 0 ? emptyArray : _props$defaultExpandI,
61
65
  _props$height = props.height,
62
66
  height = _props$height === void 0 ? 360 : _props$height,
67
+ _props$menuMaxHeight = props.menuMaxHeight,
68
+ menuMaxHeight = _props$menuMaxHeight === void 0 ? 320 : _props$menuMaxHeight,
63
69
  menuStyle = props.menuStyle,
64
70
  _props$searchable = props.searchable,
65
71
  searchable = _props$searchable === void 0 ? true : _props$searchable,
@@ -91,7 +97,7 @@ var CheckTreePicker = /*#__PURE__*/React.forwardRef(function (props, ref) {
91
97
  renderValue = props.renderValue,
92
98
  renderTreeIcon = props.renderTreeIcon,
93
99
  renderTreeNode = props.renderTreeNode,
94
- rest = _objectWithoutPropertiesLoose(props, ["as", "data", "style", "appearance", "cleanable", "countable", "searchBy", "toggleAs", "searchKeyword", "showIndentLine", "locale", "cascade", "disabled", "valueKey", "labelKey", "placement", "childrenKey", "placeholder", "value", "defaultValue", "defaultExpandAll", "disabledItemValues", "expandItemValues", "defaultExpandItemValues", "height", "menuStyle", "searchable", "virtualized", "className", "classPrefix", "menuClassName", "menuAutoWidth", "uncheckableItemValues", "id", "listProps", "renderMenu", "getChildren", "renderExtraFooter", "onEntered", "onChange", "onClean", "onClose", "onExited", "onSearch", "onSelect", "onOpen", "onScroll", "onExpand", "renderValue", "renderTreeIcon", "renderTreeNode"]);
100
+ rest = _objectWithoutPropertiesLoose(props, ["as", "data", "style", "appearance", "cleanable", "countable", "searchBy", "toggleAs", "searchKeyword", "showIndentLine", "locale", "cascade", "disabled", "valueKey", "labelKey", "placement", "childrenKey", "placeholder", "value", "defaultValue", "defaultExpandAll", "disabledItemValues", "expandItemValues", "defaultExpandItemValues", "height", "menuMaxHeight", "menuStyle", "searchable", "virtualized", "className", "classPrefix", "menuClassName", "menuAutoWidth", "uncheckableItemValues", "id", "listProps", "renderMenu", "getChildren", "renderExtraFooter", "onEntered", "onChange", "onClean", "onClose", "onExited", "onSearch", "onSelect", "onOpen", "onScroll", "onExpand", "renderValue", "renderTreeIcon", "renderTreeNode"]);
95
101
 
96
102
  var _useContext = useContext(TreeContext),
97
103
  inline = _useContext.inline;
@@ -221,11 +227,11 @@ var CheckTreePicker = /*#__PURE__*/React.forwardRef(function (props, ref) {
221
227
  value: node[valueKey],
222
228
  label: node[labelKey],
223
229
  layer: layer,
224
- focus: shallowEqual(focusItemValue, node[valueKey]),
230
+ focus: focusItemValue === node[valueKey],
225
231
  expand: node.expand,
226
232
  visible: node.visible,
227
233
  loading: loadingNodeValues.some(function (item) {
228
- return shallowEqual(item, node[valueKey]);
234
+ return item === node[valueKey];
229
235
  }),
230
236
  disabled: getDisabledState(flattenNodes, node, {
231
237
  disabledItemValues: disabledItemValues,
@@ -363,18 +369,6 @@ var CheckTreePicker = /*#__PURE__*/React.forwardRef(function (props, ref) {
363
369
  onChange === null || onChange === void 0 ? void 0 : onChange(selectedValues, event);
364
370
  onSelect === null || onSelect === void 0 ? void 0 : onSelect(node, selectedValues, event);
365
371
  }, [cascade, valueKey, flattenNodes, isControlled, uncheckableItemValues, setValue, onChange, onSelect, toggleChecked, unSerializeList]);
366
-
367
- var hasValue = function hasValue() {
368
- var selectedValues = Object.keys(flattenNodes).map(function (refKey) {
369
- return flattenNodes[refKey][valueKey];
370
- }).filter(function (item) {
371
- return value.some(function (v) {
372
- return shallowEqual(v, item);
373
- });
374
- });
375
- return !!selectedValues.length;
376
- };
377
-
378
372
  var handleOpen = useCallback(function () {
379
373
  var _triggerRef$current, _triggerRef$current$o;
380
374
 
@@ -426,22 +420,26 @@ var CheckTreePicker = /*#__PURE__*/React.forwardRef(function (props, ref) {
426
420
  var handleClean = useCallback(function (event) {
427
421
  var target = event.target; // exclude searchBar
428
422
 
429
- if (target.matches('div[role="searchbox"] > input')) {
423
+ if (target.matches('div[role="searchbox"] > input') || disabled || !cleanable) {
430
424
  return;
431
425
  }
432
426
 
433
427
  setActiveNode(null);
434
- setValue([]);
435
428
  setFocusItemValue(null);
436
- unSerializeList({
437
- nodes: flattenNodes,
438
- key: 'check',
439
- value: [],
440
- cascade: cascade,
441
- uncheckableItemValues: uncheckableItemValues
442
- });
429
+
430
+ if (!isControlled) {
431
+ setValue([]);
432
+ unSerializeList({
433
+ nodes: flattenNodes,
434
+ key: 'check',
435
+ value: [],
436
+ cascade: cascade,
437
+ uncheckableItemValues: uncheckableItemValues
438
+ });
439
+ }
440
+
443
441
  onChange === null || onChange === void 0 ? void 0 : onChange([], event);
444
- }, [cascade, flattenNodes, onChange, setValue, unSerializeList, uncheckableItemValues]);
442
+ }, [cascade, cleanable, disabled, flattenNodes, onChange, setValue, unSerializeList, uncheckableItemValues, isControlled]);
445
443
  var handleFocusItem = useCallback(function (key) {
446
444
  var focusableItems = getFocusableItems(filteredData, {
447
445
  disabledItemValues: disabledItemValues,
@@ -567,7 +565,7 @@ var CheckTreePicker = /*#__PURE__*/React.forwardRef(function (props, ref) {
567
565
 
568
566
  var nodeProps = _extends({}, getTreeNodeProps(_extends({}, node, {
569
567
  /**
570
- * spread operator dont copy unenumerable properties
568
+ * spread operator don't copy unenumerable properties
571
569
  * so we need to copy them manually
572
570
  */
573
571
  parent: node.parent,
@@ -608,31 +606,33 @@ var CheckTreePicker = /*#__PURE__*/React.forwardRef(function (props, ref) {
608
606
  }, nodeProps));
609
607
  };
610
608
 
611
- var renderVirtualListNode = function renderVirtualListNode(nodes) {
612
- return function (_ref3) {
613
- var key = _ref3.key,
614
- index = _ref3.index,
615
- style = _ref3.style;
616
- var node = nodes[index];
617
- var layer = node.layer,
618
- refKey = node.refKey,
619
- visible = node.visible;
620
- var expand = getExpandWhenSearching(searchKeywordState, expandItemValues.includes(node[valueKey]));
621
-
622
- var nodeProps = _extends({}, getTreeNodeProps(_extends({}, node, {
623
- expand: expand
624
- }), layer), {
625
- hasChildren: node.hasChildren
626
- });
609
+ var renderVirtualListNode = function renderVirtualListNode(_ref3) {
610
+ var index = _ref3.index,
611
+ style = _ref3.style,
612
+ data = _ref3.data;
613
+ var node = data[index];
614
+ var layer = node.layer,
615
+ refKey = node.refKey,
616
+ visible = node.visible;
617
+ var expand = getExpandWhenSearching(searchKeywordState, expandItemValues.includes(node[valueKey]));
627
618
 
628
- return visible && /*#__PURE__*/React.createElement(CheckTreeNode, _extends({
629
- style: style,
630
- key: key,
631
- ref: function ref(_ref4) {
632
- return saveTreeNodeRef(_ref4, refKey);
633
- }
634
- }, nodeProps));
635
- };
619
+ var nodeProps = _extends({}, getTreeNodeProps(_extends({}, node, {
620
+ /**
621
+ * spread operator don't copy unenumerable properties
622
+ * so we need to copy them manually
623
+ */
624
+ parent: node.parent,
625
+ expand: expand
626
+ }), layer), {
627
+ hasChildren: node.hasChildren
628
+ });
629
+
630
+ return visible && /*#__PURE__*/React.createElement(CheckTreeNode, _extends({
631
+ style: style,
632
+ ref: function ref(_ref4) {
633
+ return saveTreeNodeRef(_ref4, refKey);
634
+ }
635
+ }, nodeProps));
636
636
  };
637
637
 
638
638
  var renderCheckTree = function renderCheckTree() {
@@ -665,7 +665,7 @@ var CheckTreePicker = /*#__PURE__*/React.forwardRef(function (props, ref) {
665
665
  }, /*#__PURE__*/React.createElement("div", {
666
666
  className: treeNodesClass
667
667
  }, virtualized ? /*#__PURE__*/React.createElement(AutoSizer, {
668
- defaultHeight: inline ? height : maxTreeHeight,
668
+ defaultHeight: inline ? height : menuMaxHeight,
669
669
  style: {
670
670
  width: 'auto',
671
671
  height: 'auto'
@@ -677,11 +677,10 @@ var CheckTreePicker = /*#__PURE__*/React.forwardRef(function (props, ref) {
677
677
  ref: listRef,
678
678
  width: width,
679
679
  height: height,
680
- rowHeight: 36,
681
- rowCount: formattedNodes.length,
682
- rowRenderer: renderVirtualListNode(formattedNodes),
683
- scrollToAlignment: "center"
684
- }, listProps));
680
+ itemSize: itemSize,
681
+ itemCount: formattedNodes.length,
682
+ itemData: formattedNodes
683
+ }, listProps), renderVirtualListNode);
685
684
  }) : formattedNodes));
686
685
  };
687
686
 
@@ -696,13 +695,10 @@ var CheckTreePicker = /*#__PURE__*/React.forwardRef(function (props, ref) {
696
695
  top: top
697
696
  });
698
697
 
699
- var styles = virtualized ? _extends({
700
- height: height
701
- }, mergedMenuStyle) : _extends({}, mergedMenuStyle);
702
698
  return /*#__PURE__*/React.createElement(PickerOverlay, {
703
699
  autoWidth: menuAutoWidth,
704
700
  className: classes,
705
- style: styles,
701
+ style: mergedMenuStyle,
706
702
  ref: mergeRefs(overlayRef, speakerRef),
707
703
  onKeyDown: onPickerKeydown,
708
704
  target: triggerRef
@@ -713,16 +709,18 @@ var CheckTreePicker = /*#__PURE__*/React.forwardRef(function (props, ref) {
713
709
  inputRef: searchInputRef
714
710
  }) : null, renderMenu ? renderMenu(renderCheckTree()) : renderCheckTree(), renderExtraFooter === null || renderExtraFooter === void 0 ? void 0 : renderExtraFooter());
715
711
  };
712
+
713
+ var selectedItems = useMemo(function () {
714
+ return getSelectedItems(flattenNodes, value);
715
+ }, [flattenNodes, value]);
716
716
  /**
717
717
  * 1.Have a value and the value is valid.
718
718
  * 2.Regardless of whether the value is valid, as long as renderValue is set, it is judged to have a value.
719
719
  */
720
720
 
721
-
722
- var hasValidValue = hasValue() || value.length > 0 && _isFunction(renderValue);
721
+ var hasValidValue = selectedItems.length > 0 || value.length > 0 && _isFunction(renderValue);
723
722
 
724
723
  var selectedElement = placeholder;
725
- var selectedItems = getSelectedItems(flattenNodes, value, valueKey);
726
724
 
727
725
  if (hasValidValue) {
728
726
  selectedElement = /*#__PURE__*/React.createElement(SelectedElement, {
File without changes
@@ -1,5 +1,5 @@
1
1
  /// <reference types="react" />
2
- import { CheckTreePickerProps } from './CheckTreePicker';
2
+ import { CheckTreePickerProps, ValueType } from './CheckTreePicker';
3
3
  import { CheckStateType } from '../utils';
4
4
  export interface TreeNodeType {
5
5
  uncheckable?: boolean;
@@ -40,5 +40,5 @@ export declare function isNodeUncheckable(node: any, props: Required<Pick<CheckT
40
40
  export declare function getFormattedTree(data: any[], nodes: TreeNodesType, props: Required<Pick<CheckTreePickerProps, 'childrenKey' | 'cascade'>>): any[];
41
41
  export declare function getDisabledState(nodes: TreeNodesType, node: TreeNodeType, props: Required<Pick<CheckTreePickerProps, 'disabledItemValues' | 'valueKey'>>): boolean;
42
42
  export declare function getCheckTreePickerDefaultValue(value: any[], uncheckableItemValues: any[]): any[];
43
- export declare function getSelectedItems(nodes: TreeNodesType, value: (string | number)[], valueKey: string): TreeNodeType[];
43
+ export declare function getSelectedItems(nodes: TreeNodesType, values: ValueType): TreeNodeType[];
44
44
  export declare function getNodeCheckState({ nodes, node, cascade, childrenKey }: any): CheckStateType;