rsuite 5.18.0-beta.3 → 5.18.1

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 (539) 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 +12 -0
  10. package/Calendar/styles/index.less +30 -11
  11. package/Cascader/styles/index.less +0 -0
  12. package/CheckPicker/styles/index.less +0 -0
  13. package/Checkbox/styles/index.less +0 -0
  14. package/Checkbox/styles/mixin.less +0 -0
  15. package/CheckboxGroup/styles/index.less +0 -0
  16. package/CloseButton/styles/index.less +0 -0
  17. package/Container/styles/index.less +0 -0
  18. package/Content/styles/index.less +0 -0
  19. package/DateRangePicker/styles/index.less +1 -1
  20. package/Divider/styles/index.less +0 -0
  21. package/Drawer/styles/mixin.less +0 -0
  22. package/FlexboxGrid/styles/index.less +0 -0
  23. package/Footer/styles/index.less +0 -0
  24. package/Form/styles/index.less +0 -0
  25. package/FormControlLabel/styles/index.less +0 -0
  26. package/FormErrorMessage/styles/animation.less +0 -0
  27. package/FormErrorMessage/styles/index.less +0 -0
  28. package/FormGroup/styles/index.less +0 -0
  29. package/FormHelpText/styles/index.less +0 -0
  30. package/Grid/styles/grid-framework.less +0 -0
  31. package/Grid/styles/mixin.less +0 -0
  32. package/Header/styles/index.less +0 -0
  33. package/Input/styles/index.less +0 -0
  34. package/InputNumber/styles/index.less +0 -0
  35. package/InputNumber/styles/mixin.less +0 -0
  36. package/InputPicker/styles/index.less +0 -0
  37. package/LICENSE +0 -0
  38. package/List/styles/index.less +0 -0
  39. package/Loader/styles/index.less +0 -0
  40. package/Loader/styles/mixin.less +0 -0
  41. package/Message/styles/index.less +0 -0
  42. package/Message/styles/mixin.less +0 -0
  43. package/Modal/styles/animation.less +0 -0
  44. package/Nav/styles/index.less +1 -0
  45. package/Notification/styles/index.less +0 -0
  46. package/Notification/styles/mixin.less +0 -0
  47. package/Pagination/styles/index.less +0 -0
  48. package/Pagination/styles/mixin.less +0 -0
  49. package/Pagination/styles/pagination-group.less +0 -0
  50. package/Panel/styles/index.less +0 -0
  51. package/Placeholder/styles/index.less +0 -0
  52. package/Popover/styles/index.less +0 -0
  53. package/Popover/styles/mixins.less +0 -0
  54. package/Progress/styles/animation.less +0 -0
  55. package/Progress/styles/index.less +0 -0
  56. package/Radio/styles/mixin.less +0 -0
  57. package/RadioGroup/styles/index.less +0 -0
  58. package/Rate/styles/index.less +0 -0
  59. package/Ripple/styles/index.less +0 -0
  60. package/Ripple/styles/mixins.less +0 -0
  61. package/Row/styles/index.less +0 -0
  62. package/SelectPicker/styles/index.less +0 -0
  63. package/Sidebar/styles/index.less +0 -0
  64. package/Sidenav/styles/mixin.less +0 -0
  65. package/Steps/styles/index.less +0 -0
  66. package/Table/styles/mixin.less +0 -0
  67. package/Tag/styles/index.less +0 -0
  68. package/TagInput/styles/index.less +0 -0
  69. package/TagPicker/styles/index.less +0 -0
  70. package/Timeline/styles/index.less +0 -0
  71. package/Timeline/styles/mixin.less +0 -0
  72. package/Tooltip/styles/mixins.less +0 -0
  73. package/TreePicker/styles/mixin.less +0 -0
  74. package/Uploader/styles/mixin.less +0 -0
  75. package/cjs/@types/global.d.ts +0 -0
  76. package/cjs/Affix/index.js +0 -0
  77. package/cjs/Animation/Bounce.js +0 -0
  78. package/cjs/Animation/Fade.js +0 -0
  79. package/cjs/Animation/Slide.js +0 -0
  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/Calendar.d.ts +20 -55
  90. package/cjs/Calendar/Calendar.js +84 -163
  91. package/cjs/Calendar/CalendarBody.d.ts +4 -0
  92. package/cjs/Calendar/{View.js → CalendarBody.js} +5 -5
  93. package/cjs/Calendar/CalendarContainer.d.ts +61 -0
  94. package/cjs/Calendar/CalendarContainer.js +233 -0
  95. package/{esm/Calendar/Header.d.ts → cjs/Calendar/CalendarHeader.d.ts} +9 -7
  96. package/cjs/Calendar/{Header.js → CalendarHeader.js} +4 -4
  97. package/cjs/Calendar/MonthDropdown.d.ts +0 -1
  98. package/cjs/Calendar/MonthDropdown.js +40 -27
  99. package/cjs/Calendar/Table.js +1 -1
  100. package/cjs/Calendar/TableHeaderRow.js +1 -1
  101. package/cjs/Calendar/TableRow.js +1 -1
  102. package/cjs/Calendar/index.d.ts +6 -5
  103. package/cjs/Calendar/index.js +8 -7
  104. package/cjs/Calendar/useCalendarState.d.ts +11 -0
  105. package/cjs/Calendar/useCalendarState.js +39 -0
  106. package/cjs/Carousel/index.js +0 -0
  107. package/cjs/Cascader/Cascader.d.ts +2 -2
  108. package/cjs/Cascader/DropdownMenu.js +2 -5
  109. package/cjs/Cascader/index.js +0 -0
  110. package/cjs/CheckPicker/CheckPicker.d.ts +2 -2
  111. package/cjs/CheckPicker/CheckPicker.js +1 -4
  112. package/cjs/CheckPicker/index.js +0 -0
  113. package/cjs/CheckTreePicker/CheckTreePicker.js +31 -31
  114. package/cjs/CheckTreePicker/index.js +0 -0
  115. package/cjs/Checkbox/index.js +0 -0
  116. package/cjs/CloseButton/CloseButton.js +0 -0
  117. package/cjs/CloseButton/index.js +0 -0
  118. package/cjs/Col/index.js +0 -0
  119. package/cjs/Container/index.js +0 -0
  120. package/cjs/Content/Content.js +0 -0
  121. package/cjs/Content/index.js +0 -0
  122. package/cjs/CustomProvider/FormattedDate.js +0 -0
  123. package/cjs/CustomProvider/index.js +0 -0
  124. package/cjs/DatePicker/DatePicker.js +10 -47
  125. package/cjs/DatePicker/index.js +0 -0
  126. package/cjs/DatePicker/utils.d.ts +1 -8
  127. package/cjs/DatePicker/utils.js +24 -64
  128. package/cjs/DateRangePicker/Calendar.d.ts +1 -1
  129. package/cjs/DateRangePicker/Calendar.js +2 -17
  130. package/cjs/DateRangePicker/DateRangePicker.js +3 -3
  131. package/cjs/DateRangePicker/disabledDateUtils.js +0 -0
  132. package/cjs/DateRangePicker/utils.d.ts +1 -3
  133. package/cjs/DateRangePicker/utils.js +14 -42
  134. package/cjs/Disclosure/Disclosure.d.ts +2 -2
  135. package/cjs/Disclosure/Disclosure.js +6 -6
  136. package/cjs/Disclosure/index.js +0 -0
  137. package/cjs/Divider/index.js +0 -0
  138. package/cjs/Drawer/index.js +0 -0
  139. package/cjs/Dropdown/DropdownState.js +0 -0
  140. package/cjs/Dropdown/index.js +0 -0
  141. package/cjs/FlexboxGrid/index.js +0 -0
  142. package/cjs/Footer/Footer.js +0 -0
  143. package/cjs/Footer/index.js +0 -0
  144. package/cjs/FormControl/index.js +0 -0
  145. package/cjs/FormControlLabel/FormControlLabel.js +0 -0
  146. package/cjs/FormControlLabel/index.js +0 -0
  147. package/cjs/FormErrorMessage/FormErrorMessage.js +0 -0
  148. package/cjs/FormErrorMessage/index.js +0 -0
  149. package/cjs/FormGroup/index.js +0 -0
  150. package/cjs/FormHelpText/index.js +0 -0
  151. package/cjs/Grid/Grid.js +0 -0
  152. package/cjs/Grid/index.js +0 -0
  153. package/cjs/Header/Header.js +0 -0
  154. package/cjs/Header/index.js +0 -0
  155. package/cjs/IconButton/index.js +0 -0
  156. package/cjs/Input/index.js +0 -0
  157. package/cjs/InputGroup/InputGroupButton.js +0 -0
  158. package/cjs/InputGroup/index.js +0 -0
  159. package/cjs/InputNumber/index.js +0 -0
  160. package/cjs/InputPicker/InputPicker.js +1 -4
  161. package/cjs/InputPicker/index.js +0 -0
  162. package/cjs/List/ListItem.d.ts +1 -0
  163. package/cjs/List/ListItem.js +5 -2
  164. package/cjs/List/index.js +0 -0
  165. package/cjs/Loader/index.js +0 -0
  166. package/cjs/Menu/MenuContext.js +0 -0
  167. package/cjs/Menu/index.js +0 -0
  168. package/cjs/Message/index.js +0 -0
  169. package/cjs/Modal/ModalFooter.js +0 -0
  170. package/cjs/Modal/index.js +0 -0
  171. package/cjs/MultiCascader/DropdownMenu.js +2 -5
  172. package/cjs/MultiCascader/index.js +0 -0
  173. package/cjs/Nav/index.js +0 -0
  174. package/cjs/Navbar/NavbarBody.js +0 -0
  175. package/cjs/Navbar/NavbarBrand.js +0 -0
  176. package/cjs/Navbar/NavbarDropdownMenu.js +10 -16
  177. package/cjs/Navbar/NavbarHeader.js +0 -0
  178. package/cjs/Notification/index.js +0 -0
  179. package/cjs/Overlay/OverlayTrigger.d.ts +2 -2
  180. package/cjs/Overlay/index.js +0 -0
  181. package/cjs/Pagination/index.js +0 -0
  182. package/cjs/Panel/index.js +0 -0
  183. package/cjs/PanelGroup/index.js +0 -0
  184. package/cjs/Picker/DropdownMenu.d.ts +1 -2
  185. package/cjs/Picker/DropdownMenu.js +33 -39
  186. package/cjs/Picker/PickerOverlay.d.ts +2 -2
  187. package/cjs/Picker/PickerToggleTrigger.d.ts +2 -2
  188. package/cjs/Picker/VirtualizedList.d.ts +37 -0
  189. package/cjs/Picker/VirtualizedList.js +15 -0
  190. package/cjs/Picker/index.d.ts +3 -3
  191. package/cjs/Picker/types.d.ts +5 -7
  192. package/cjs/Picker/utils.d.ts +12 -11
  193. package/cjs/Picker/utils.js +0 -4
  194. package/cjs/Placeholder/Placeholder.js +0 -0
  195. package/cjs/Placeholder/index.js +0 -0
  196. package/cjs/Plaintext/index.js +0 -0
  197. package/cjs/Popover/index.js +0 -0
  198. package/cjs/Progress/Progress.js +0 -0
  199. package/cjs/Progress/index.js +0 -0
  200. package/cjs/Radio/index.js +0 -0
  201. package/cjs/RadioGroup/index.js +0 -0
  202. package/cjs/RangeSlider/index.js +0 -0
  203. package/cjs/Rate/index.js +0 -0
  204. package/cjs/Ripple/index.js +0 -0
  205. package/cjs/Row/Row.js +0 -0
  206. package/cjs/Row/index.js +0 -0
  207. package/cjs/SafeAnchor/index.js +0 -0
  208. package/cjs/Schema/Schema.js +0 -0
  209. package/cjs/Schema/index.js +0 -0
  210. package/cjs/SelectPicker/SelectPicker.d.ts +5 -4
  211. package/cjs/SelectPicker/SelectPicker.js +1 -4
  212. package/cjs/Sidebar/index.js +0 -0
  213. package/cjs/Sidenav/SidenavBody.js +0 -0
  214. package/cjs/Sidenav/SidenavHeader.js +0 -0
  215. package/cjs/Sidenav/index.js +0 -0
  216. package/cjs/Slider/index.js +0 -0
  217. package/cjs/Stack/Stack.js +1 -1
  218. package/cjs/Steps/index.js +0 -0
  219. package/cjs/Table/index.js +0 -0
  220. package/cjs/Tag/Tag.js +0 -0
  221. package/cjs/Tag/index.js +0 -0
  222. package/cjs/TagGroup/TagGroup.js +0 -0
  223. package/cjs/TagGroup/index.js +0 -0
  224. package/cjs/Timeline/index.js +0 -0
  225. package/cjs/Toggle/index.js +0 -0
  226. package/cjs/Tooltip/index.js +0 -0
  227. package/cjs/Tree/Tree.d.ts +5 -2
  228. package/cjs/Tree/index.js +0 -0
  229. package/cjs/TreePicker/TreePicker.js +34 -34
  230. package/cjs/TreePicker/index.js +0 -0
  231. package/cjs/TreePicker/test/TreePicker.test.js +0 -14
  232. package/cjs/Whisper/Whisper.d.ts +3 -3
  233. package/cjs/Whisper/index.js +0 -0
  234. package/cjs/index.d.ts +1 -2
  235. package/cjs/locales/ar_EG.js +0 -0
  236. package/cjs/locales/da_DK.js +0 -0
  237. package/cjs/locales/de_DE.js +0 -0
  238. package/cjs/locales/default.js +0 -0
  239. package/cjs/locales/en_GB.js +0 -0
  240. package/cjs/locales/en_US.js +0 -0
  241. package/cjs/locales/es_AR.js +0 -0
  242. package/cjs/locales/es_ES.js +0 -0
  243. package/cjs/locales/fi_FI.js +0 -0
  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 +1 -2
  252. package/cjs/toaster/ToastContainer.js +26 -27
  253. package/cjs/toaster/toaster.d.ts +1 -1
  254. package/cjs/toaster/toaster.js +13 -43
  255. package/cjs/toaster/useToaster.d.ts +1 -1
  256. package/cjs/utils/BrowserDetection.d.ts +7 -0
  257. package/cjs/utils/BrowserDetection.js +52 -2
  258. package/cjs/utils/clone.js +0 -0
  259. package/cjs/utils/dateUtils.d.ts +4 -4
  260. package/cjs/utils/dateUtils.js +9 -9
  261. package/cjs/utils/events.js +0 -0
  262. package/cjs/utils/getDOMNode.js +0 -0
  263. package/cjs/utils/getSafeRegExpString.js +0 -0
  264. package/cjs/utils/guid.js +0 -0
  265. package/cjs/utils/htmlPropsUtils.js +0 -0
  266. package/cjs/utils/index.d.ts +0 -1
  267. package/cjs/utils/index.js +1 -6
  268. package/cjs/utils/isOneOf.js +0 -0
  269. package/cjs/utils/prefix.js +0 -0
  270. package/cjs/utils/shallowEqual.js +0 -0
  271. package/cjs/utils/shallowEqualArray.js +0 -0
  272. package/cjs/utils/statusIcons.js +0 -0
  273. package/cjs/utils/stringToObject.js +0 -0
  274. package/cjs/utils/tplTransform.js +0 -0
  275. package/cjs/utils/treeUtils.d.ts +2 -2
  276. package/cjs/utils/useClassNames.js +0 -0
  277. package/cjs/utils/useEnsuredRef.js +0 -0
  278. package/cjs/utils/useEventCallback.js +0 -0
  279. package/cjs/utils/useToggleCaret.js +0 -0
  280. package/cjs/utils/useUniqueId.js +2 -10
  281. package/cjs/utils/useUpdateEffect.js +0 -0
  282. package/cjs/utils/useUpdatedRef.js +0 -0
  283. package/cjs/utils/useWillUnmount.js +0 -0
  284. package/dist/rsuite-rtl.css +43 -20
  285. package/dist/rsuite-rtl.min.css +1 -1
  286. package/dist/rsuite-rtl.min.css.map +1 -1
  287. package/dist/rsuite.css +43 -20
  288. package/dist/rsuite.js +562 -302
  289. package/dist/rsuite.js.map +1 -1
  290. package/dist/rsuite.min.css +1 -1
  291. package/dist/rsuite.min.css.map +1 -1
  292. package/dist/rsuite.min.js +1 -1
  293. package/dist/rsuite.min.js.LICENSE.txt +0 -2
  294. package/dist/rsuite.min.js.map +1 -1
  295. package/esm/@types/global.d.ts +0 -0
  296. package/esm/Affix/index.js +0 -0
  297. package/esm/Animation/Bounce.js +0 -0
  298. package/esm/Animation/Fade.js +0 -0
  299. package/esm/Animation/Slide.js +0 -0
  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/Calendar.d.ts +20 -55
  310. package/esm/Calendar/Calendar.js +82 -154
  311. package/esm/Calendar/CalendarBody.d.ts +4 -0
  312. package/esm/Calendar/{View.js → CalendarBody.js} +5 -5
  313. package/esm/Calendar/CalendarContainer.d.ts +61 -0
  314. package/esm/Calendar/CalendarContainer.js +208 -0
  315. package/{cjs/Calendar/Header.d.ts → esm/Calendar/CalendarHeader.d.ts} +9 -7
  316. package/esm/Calendar/{Header.js → CalendarHeader.js} +4 -4
  317. package/esm/Calendar/MonthDropdown.d.ts +0 -1
  318. package/esm/Calendar/MonthDropdown.js +41 -26
  319. package/esm/Calendar/Table.js +1 -1
  320. package/esm/Calendar/TableHeaderRow.js +1 -1
  321. package/esm/Calendar/TableRow.js +1 -1
  322. package/esm/Calendar/index.d.ts +6 -5
  323. package/esm/Calendar/index.js +5 -4
  324. package/esm/Calendar/useCalendarState.d.ts +11 -0
  325. package/esm/Calendar/useCalendarState.js +31 -0
  326. package/esm/Carousel/index.js +0 -0
  327. package/esm/Cascader/Cascader.d.ts +2 -2
  328. package/esm/Cascader/DropdownMenu.js +2 -5
  329. package/esm/Cascader/index.js +0 -0
  330. package/esm/CheckPicker/CheckPicker.d.ts +2 -2
  331. package/esm/CheckPicker/CheckPicker.js +1 -4
  332. package/esm/CheckPicker/index.js +0 -0
  333. package/esm/CheckTreePicker/CheckTreePicker.js +30 -31
  334. package/esm/CheckTreePicker/index.js +0 -0
  335. package/esm/Checkbox/index.js +0 -0
  336. package/esm/CloseButton/CloseButton.js +0 -0
  337. package/esm/CloseButton/index.js +0 -0
  338. package/esm/Col/index.js +0 -0
  339. package/esm/Container/index.js +0 -0
  340. package/esm/Content/Content.js +0 -0
  341. package/esm/Content/index.js +0 -0
  342. package/esm/CustomProvider/FormattedDate.js +0 -0
  343. package/esm/CustomProvider/index.js +0 -0
  344. package/esm/DatePicker/DatePicker.js +10 -46
  345. package/esm/DatePicker/index.js +0 -0
  346. package/esm/DatePicker/utils.d.ts +1 -8
  347. package/esm/DatePicker/utils.js +23 -57
  348. package/esm/DateRangePicker/Calendar.d.ts +1 -1
  349. package/esm/DateRangePicker/Calendar.js +2 -16
  350. package/esm/DateRangePicker/DateRangePicker.js +5 -5
  351. package/esm/DateRangePicker/disabledDateUtils.js +0 -0
  352. package/esm/DateRangePicker/utils.d.ts +1 -3
  353. package/esm/DateRangePicker/utils.js +13 -33
  354. package/esm/Disclosure/Disclosure.d.ts +2 -2
  355. package/esm/Disclosure/Disclosure.js +6 -6
  356. package/esm/Disclosure/index.js +0 -0
  357. package/esm/Divider/index.js +0 -0
  358. package/esm/Drawer/index.js +0 -0
  359. package/esm/Dropdown/DropdownState.js +0 -0
  360. package/esm/Dropdown/index.js +0 -0
  361. package/esm/FlexboxGrid/index.js +0 -0
  362. package/esm/Footer/Footer.js +0 -0
  363. package/esm/Footer/index.js +0 -0
  364. package/esm/FormControl/index.js +0 -0
  365. package/esm/FormControlLabel/FormControlLabel.js +0 -0
  366. package/esm/FormControlLabel/index.js +0 -0
  367. package/esm/FormErrorMessage/FormErrorMessage.js +0 -0
  368. package/esm/FormErrorMessage/index.js +0 -0
  369. package/esm/FormGroup/index.js +0 -0
  370. package/esm/FormHelpText/index.js +0 -0
  371. package/esm/Grid/Grid.js +0 -0
  372. package/esm/Grid/index.js +0 -0
  373. package/esm/Header/Header.js +0 -0
  374. package/esm/Header/index.js +0 -0
  375. package/esm/IconButton/index.js +0 -0
  376. package/esm/Input/index.js +0 -0
  377. package/esm/InputGroup/InputGroupButton.js +0 -0
  378. package/esm/InputGroup/index.js +0 -0
  379. package/esm/InputNumber/index.js +0 -0
  380. package/esm/InputPicker/InputPicker.js +1 -4
  381. package/esm/InputPicker/index.js +0 -0
  382. package/esm/List/ListItem.d.ts +1 -0
  383. package/esm/List/ListItem.js +5 -2
  384. package/esm/List/index.js +0 -0
  385. package/esm/Loader/index.js +0 -0
  386. package/esm/Menu/MenuContext.js +0 -0
  387. package/esm/Menu/index.js +0 -0
  388. package/esm/Message/index.js +0 -0
  389. package/esm/Modal/ModalFooter.js +0 -0
  390. package/esm/Modal/index.js +0 -0
  391. package/esm/MultiCascader/DropdownMenu.js +2 -5
  392. package/esm/MultiCascader/index.js +0 -0
  393. package/esm/Nav/index.js +0 -0
  394. package/esm/Navbar/NavbarBody.js +0 -0
  395. package/esm/Navbar/NavbarBrand.js +0 -0
  396. package/esm/Navbar/NavbarDropdownMenu.js +8 -14
  397. package/esm/Navbar/NavbarHeader.js +0 -0
  398. package/esm/Notification/index.js +0 -0
  399. package/esm/Overlay/OverlayTrigger.d.ts +2 -2
  400. package/esm/Overlay/index.js +0 -0
  401. package/esm/Pagination/index.js +0 -0
  402. package/esm/Panel/index.js +0 -0
  403. package/esm/PanelGroup/index.js +0 -0
  404. package/esm/Picker/DropdownMenu.d.ts +1 -2
  405. package/esm/Picker/DropdownMenu.js +35 -39
  406. package/esm/Picker/PickerOverlay.d.ts +2 -2
  407. package/esm/Picker/PickerToggleTrigger.d.ts +2 -2
  408. package/esm/Picker/VirtualizedList.d.ts +37 -0
  409. package/esm/Picker/VirtualizedList.js +4 -0
  410. package/esm/Picker/index.d.ts +3 -3
  411. package/esm/Picker/types.d.ts +5 -7
  412. package/esm/Picker/utils.d.ts +12 -11
  413. package/esm/Picker/utils.js +0 -4
  414. package/esm/Placeholder/Placeholder.js +0 -0
  415. package/esm/Placeholder/index.js +0 -0
  416. package/esm/Plaintext/index.js +0 -0
  417. package/esm/Popover/index.js +0 -0
  418. package/esm/Progress/Progress.js +0 -0
  419. package/esm/Progress/index.js +0 -0
  420. package/esm/Radio/index.js +0 -0
  421. package/esm/RadioGroup/index.js +0 -0
  422. package/esm/RangeSlider/index.js +0 -0
  423. package/esm/Rate/index.js +0 -0
  424. package/esm/Ripple/index.js +0 -0
  425. package/esm/Row/Row.js +0 -0
  426. package/esm/Row/index.js +0 -0
  427. package/esm/SafeAnchor/index.js +0 -0
  428. package/esm/Schema/Schema.js +0 -0
  429. package/esm/Schema/index.js +0 -0
  430. package/esm/SelectPicker/SelectPicker.d.ts +5 -4
  431. package/esm/SelectPicker/SelectPicker.js +1 -4
  432. package/esm/Sidebar/index.js +0 -0
  433. package/esm/Sidenav/SidenavBody.js +0 -0
  434. package/esm/Sidenav/SidenavHeader.js +0 -0
  435. package/esm/Sidenav/index.js +0 -0
  436. package/esm/Slider/index.js +0 -0
  437. package/esm/Stack/Stack.js +2 -2
  438. package/esm/Steps/index.js +0 -0
  439. package/esm/Table/index.js +0 -0
  440. package/esm/Tag/Tag.js +0 -0
  441. package/esm/Tag/index.js +0 -0
  442. package/esm/TagGroup/TagGroup.js +0 -0
  443. package/esm/TagGroup/index.js +0 -0
  444. package/esm/Timeline/index.js +0 -0
  445. package/esm/Toggle/index.js +0 -0
  446. package/esm/Tooltip/index.js +0 -0
  447. package/esm/Tree/Tree.d.ts +5 -2
  448. package/esm/Tree/index.js +0 -0
  449. package/esm/TreePicker/TreePicker.js +32 -33
  450. package/esm/TreePicker/index.js +0 -0
  451. package/esm/TreePicker/test/TreePicker.test.js +0 -14
  452. package/esm/Whisper/Whisper.d.ts +3 -3
  453. package/esm/Whisper/index.js +0 -0
  454. package/esm/index.d.ts +1 -2
  455. package/esm/locales/ar_EG.js +0 -0
  456. package/esm/locales/da_DK.js +0 -0
  457. package/esm/locales/de_DE.js +0 -0
  458. package/esm/locales/default.js +0 -0
  459. package/esm/locales/en_GB.js +0 -0
  460. package/esm/locales/en_US.js +0 -0
  461. package/esm/locales/es_AR.js +0 -0
  462. package/esm/locales/es_ES.js +0 -0
  463. package/esm/locales/fi_FI.js +0 -0
  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 +1 -2
  472. package/esm/toaster/ToastContainer.js +26 -28
  473. package/esm/toaster/toaster.d.ts +1 -1
  474. package/esm/toaster/toaster.js +13 -41
  475. package/esm/toaster/useToaster.d.ts +1 -1
  476. package/esm/utils/BrowserDetection.d.ts +7 -0
  477. package/esm/utils/BrowserDetection.js +41 -0
  478. package/esm/utils/clone.js +0 -0
  479. package/esm/utils/dateUtils.d.ts +4 -4
  480. package/esm/utils/dateUtils.js +4 -4
  481. package/esm/utils/events.js +0 -0
  482. package/esm/utils/getDOMNode.js +0 -0
  483. package/esm/utils/getSafeRegExpString.js +0 -0
  484. package/esm/utils/guid.js +0 -0
  485. package/esm/utils/htmlPropsUtils.js +0 -0
  486. package/esm/utils/index.d.ts +0 -1
  487. package/esm/utils/index.js +0 -1
  488. package/esm/utils/isOneOf.js +0 -0
  489. package/esm/utils/prefix.js +0 -0
  490. package/esm/utils/shallowEqual.js +0 -0
  491. package/esm/utils/shallowEqualArray.js +0 -0
  492. package/esm/utils/statusIcons.js +0 -0
  493. package/esm/utils/stringToObject.js +0 -0
  494. package/esm/utils/tplTransform.js +0 -0
  495. package/esm/utils/treeUtils.d.ts +2 -2
  496. package/esm/utils/useClassNames.js +0 -0
  497. package/esm/utils/useEnsuredRef.js +0 -0
  498. package/esm/utils/useEventCallback.js +0 -0
  499. package/esm/utils/useToggleCaret.js +0 -0
  500. package/esm/utils/useUniqueId.js +2 -7
  501. package/esm/utils/useUpdateEffect.js +0 -0
  502. package/esm/utils/useUpdatedRef.js +0 -0
  503. package/esm/utils/useWillUnmount.js +0 -0
  504. package/package.json +4 -4
  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/listbox.less +0 -0
  511. package/styles/mixins/menu.less +0 -0
  512. package/styles/normalize.less +0 -0
  513. package/styles/scaffolding.less +0 -0
  514. package/styles/typography.less +0 -0
  515. package/toaster/styles/animation.less +0 -0
  516. package/toaster/styles/index.less +0 -0
  517. package/Windowing/package.json +0 -7
  518. package/cjs/Calendar/CalendarPanel.d.ts +0 -26
  519. package/cjs/Calendar/CalendarPanel.js +0 -139
  520. package/cjs/Calendar/View.d.ts +0 -4
  521. package/cjs/Windowing/AutoSizer.d.ts +0 -25
  522. package/cjs/Windowing/AutoSizer.js +0 -107
  523. package/cjs/Windowing/List.d.ts +0 -45
  524. package/cjs/Windowing/List.js +0 -72
  525. package/cjs/Windowing/index.d.ts +0 -5
  526. package/cjs/Windowing/index.js +0 -19
  527. package/cjs/utils/render.d.ts +0 -3
  528. package/cjs/utils/render.js +0 -49
  529. package/esm/Calendar/CalendarPanel.d.ts +0 -26
  530. package/esm/Calendar/CalendarPanel.js +0 -119
  531. package/esm/Calendar/View.d.ts +0 -4
  532. package/esm/Windowing/AutoSizer.d.ts +0 -25
  533. package/esm/Windowing/AutoSizer.js +0 -92
  534. package/esm/Windowing/List.d.ts +0 -45
  535. package/esm/Windowing/List.js +0 -58
  536. package/esm/Windowing/index.d.ts +0 -5
  537. package/esm/Windowing/index.js +0 -3
  538. package/esm/utils/render.d.ts +0 -3
  539. package/esm/utils/render.js +0 -37
@@ -0,0 +1,208 @@
1
+ import _extends from "@babel/runtime/helpers/esm/extends";
2
+ import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
3
+ import React, { useCallback, useMemo } from 'react';
4
+ import PropTypes from 'prop-types';
5
+ import pick from 'lodash/pick';
6
+ import MonthDropdown from './MonthDropdown';
7
+ import TimeDropdown from './TimeDropdown';
8
+ import CalendarBody from './CalendarBody';
9
+ import CalendarHeader from './CalendarHeader';
10
+ import { useClassNames, composeFunctions } from '../utils';
11
+ import { disabledTime, addMonths, shouldRenderDate, shouldRenderTime, shouldRenderMonth, setDate, isSameMonth, calendarOnlyProps, omitHideDisabledProps } from '../utils/dateUtils';
12
+ import { CalendarProvider } from './CalendarContext';
13
+ import useCalendarState, { CalendarState } from './useCalendarState';
14
+ import AngleUpIcon from '@rsuite/icons/legacy/AngleUp';
15
+ var CalendarContainer = /*#__PURE__*/React.forwardRef(function (props, ref) {
16
+ var _props$as = props.as,
17
+ Component = _props$as === void 0 ? 'div' : _props$as,
18
+ className = props.className,
19
+ _props$classPrefix = props.classPrefix,
20
+ classPrefix = _props$classPrefix === void 0 ? 'calendar' : _props$classPrefix,
21
+ dateRange = props.dateRange,
22
+ disabledBackward = props.disabledBackward,
23
+ defaultState = props.defaultState,
24
+ disabledDate = props.disabledDate,
25
+ disabledForward = props.disabledForward,
26
+ format = props.format,
27
+ hoverRangeValue = props.hoverRangeValue,
28
+ inSameMonth = props.inSameMonth,
29
+ _props$isoWeek = props.isoWeek,
30
+ isoWeek = _props$isoWeek === void 0 ? false : _props$isoWeek,
31
+ limitEndYear = props.limitEndYear,
32
+ locale = props.locale,
33
+ onChangePageDate = props.onChangePageDate,
34
+ onChangePageTime = props.onChangePageTime,
35
+ onMouseMove = props.onMouseMove,
36
+ onMoveBackward = props.onMoveBackward,
37
+ onMoveForward = props.onMoveForward,
38
+ onSelect = props.onSelect,
39
+ onToggleMeridian = props.onToggleMeridian,
40
+ onToggleMonthDropdown = props.onToggleMonthDropdown,
41
+ onToggleTimeDropdown = props.onToggleTimeDropdown,
42
+ calendarDate = props.calendarDate,
43
+ renderCell = props.renderCell,
44
+ renderTitle = props.renderTitle,
45
+ renderToolbar = props.renderToolbar,
46
+ showMeridian = props.showMeridian,
47
+ showWeekNumbers = props.showWeekNumbers,
48
+ inline = props.inline,
49
+ rest = _objectWithoutPropertiesLoose(props, ["as", "className", "classPrefix", "dateRange", "disabledBackward", "defaultState", "disabledDate", "disabledForward", "format", "hoverRangeValue", "inSameMonth", "isoWeek", "limitEndYear", "locale", "onChangePageDate", "onChangePageTime", "onMouseMove", "onMoveBackward", "onMoveForward", "onSelect", "onToggleMeridian", "onToggleMonthDropdown", "onToggleTimeDropdown", "calendarDate", "renderCell", "renderTitle", "renderToolbar", "showMeridian", "showWeekNumbers", "inline"]);
50
+
51
+ var _useClassNames = useClassNames(classPrefix),
52
+ withClassPrefix = _useClassNames.withClassPrefix,
53
+ merge = _useClassNames.merge,
54
+ prefix = _useClassNames.prefix;
55
+
56
+ var _useCalendarState = useCalendarState(defaultState),
57
+ calendarState = _useCalendarState.calendarState,
58
+ reset = _useCalendarState.reset,
59
+ openMonth = _useCalendarState.openMonth,
60
+ openTime = _useCalendarState.openTime;
61
+
62
+ var isDisabledDate = useCallback(function (date) {
63
+ var _disabledDate;
64
+
65
+ return (_disabledDate = disabledDate === null || disabledDate === void 0 ? void 0 : disabledDate(date)) !== null && _disabledDate !== void 0 ? _disabledDate : false;
66
+ }, [disabledDate]);
67
+
68
+ var isTimeDisabled = function isTimeDisabled(date) {
69
+ return disabledTime(props, date);
70
+ };
71
+
72
+ var handleMoveForward = useCallback(function () {
73
+ onMoveForward === null || onMoveForward === void 0 ? void 0 : onMoveForward(addMonths(calendarDate, 1));
74
+ }, [onMoveForward, calendarDate]);
75
+ var handleMoveBackward = useCallback(function () {
76
+ onMoveBackward === null || onMoveBackward === void 0 ? void 0 : onMoveBackward(addMonths(calendarDate, -1));
77
+ }, [onMoveBackward, calendarDate]); // It is displayed as the month to be selected.
78
+
79
+ var toggleMonthView = useCallback(function () {
80
+ if (calendarState === CalendarState.MONTH) {
81
+ reset();
82
+ } else {
83
+ openMonth();
84
+ }
85
+
86
+ onToggleMonthDropdown === null || onToggleMonthDropdown === void 0 ? void 0 : onToggleMonthDropdown(calendarState !== CalendarState.MONTH);
87
+ }, [calendarState, onToggleMonthDropdown, openMonth, reset]); // It is displayed as a time to be selected.
88
+
89
+ var toggleTimeView = useCallback(function () {
90
+ if (calendarState === CalendarState.TIME) {
91
+ reset();
92
+ } else {
93
+ openTime();
94
+ }
95
+
96
+ onToggleTimeDropdown === null || onToggleTimeDropdown === void 0 ? void 0 : onToggleTimeDropdown(calendarState !== CalendarState.TIME);
97
+ }, [calendarState, onToggleTimeDropdown, openTime, reset]);
98
+ var handleCloseDropdown = useCallback(function () {
99
+ return reset();
100
+ }, [reset]);
101
+ var renderDate = shouldRenderDate(format);
102
+ var renderTime = shouldRenderTime(format);
103
+ var renderMonth = shouldRenderMonth(format);
104
+ var onlyShowTime = renderTime && !renderDate && !renderMonth;
105
+ var onlyShowMonth = renderMonth && !renderDate && !renderTime;
106
+ var showTime = calendarState === CalendarState.TIME || onlyShowTime;
107
+ var showMonth = calendarState === CalendarState.MONTH || onlyShowMonth;
108
+ var inSameThisMonthDate = useCallback(function (date) {
109
+ return composeFunctions(function (d) {
110
+ return setDate(d, 1);
111
+ }, function (d) {
112
+ return isSameMonth(d, date);
113
+ })(date);
114
+ }, []);
115
+ var calendarClasses = merge(className, withClassPrefix({
116
+ 'time-view': showTime,
117
+ 'month-view': showMonth,
118
+ 'show-week-numbers': showWeekNumbers
119
+ }));
120
+ var timeDropdownProps = pick(rest, calendarOnlyProps);
121
+ var handleChangePageDate = useCallback(function (date, event) {
122
+ reset();
123
+ onChangePageDate === null || onChangePageDate === void 0 ? void 0 : onChangePageDate(date, event);
124
+ }, [onChangePageDate, reset]);
125
+ var contextValue = useMemo(function () {
126
+ return {
127
+ date: calendarDate,
128
+ dateRange: dateRange,
129
+ disabledDate: isDisabledDate,
130
+ format: format,
131
+ hoverRangeValue: hoverRangeValue,
132
+ inSameMonth: inSameMonth !== null && inSameMonth !== void 0 ? inSameMonth : inSameThisMonthDate,
133
+ isoWeek: isoWeek,
134
+ locale: locale,
135
+ onChangePageDate: handleChangePageDate,
136
+ onChangePageTime: onChangePageTime,
137
+ onMouseMove: onMouseMove,
138
+ onSelect: onSelect,
139
+ renderCell: renderCell,
140
+ showWeekNumbers: showWeekNumbers,
141
+ inline: inline
142
+ };
143
+ }, [calendarDate, dateRange, format, handleChangePageDate, hoverRangeValue, inSameMonth, inSameThisMonthDate, inline, isDisabledDate, isoWeek, locale, onChangePageTime, onMouseMove, onSelect, renderCell, showWeekNumbers]);
144
+ return /*#__PURE__*/React.createElement(CalendarProvider, {
145
+ value: contextValue
146
+ }, /*#__PURE__*/React.createElement(Component, _extends({}, omitHideDisabledProps(rest), {
147
+ className: calendarClasses,
148
+ ref: ref
149
+ }), /*#__PURE__*/React.createElement(CalendarHeader, {
150
+ showMonth: renderMonth,
151
+ showDate: renderDate,
152
+ showTime: renderTime,
153
+ showMeridian: showMeridian,
154
+ disabledTime: isTimeDisabled,
155
+ onMoveForward: handleMoveForward,
156
+ onMoveBackward: handleMoveBackward,
157
+ onToggleMonthDropdown: toggleMonthView,
158
+ onToggleTimeDropdown: toggleTimeView,
159
+ onToggleMeridian: onToggleMeridian,
160
+ renderTitle: renderTitle,
161
+ renderToolbar: renderToolbar,
162
+ disabledBackward: disabledBackward,
163
+ disabledForward: disabledForward
164
+ }), renderDate && /*#__PURE__*/React.createElement(CalendarBody, null), renderMonth && /*#__PURE__*/React.createElement(MonthDropdown, {
165
+ show: showMonth,
166
+ limitEndYear: limitEndYear,
167
+ disabledMonth: isDisabledDate
168
+ }), renderTime && /*#__PURE__*/React.createElement(TimeDropdown, _extends({}, timeDropdownProps, {
169
+ show: showTime,
170
+ showMeridian: showMeridian
171
+ })), (showMonth || showTime) && renderDate && /*#__PURE__*/React.createElement("button", {
172
+ className: prefix('btn-close'),
173
+ onClick: handleCloseDropdown,
174
+ "aria-label": "Collapse " + (showMonth ? 'month' : 'time') + " view"
175
+ }, /*#__PURE__*/React.createElement(AngleUpIcon, null))));
176
+ });
177
+ CalendarContainer.displayName = 'CalendarContainer';
178
+ CalendarContainer.propTypes = {
179
+ className: PropTypes.string,
180
+ classPrefix: PropTypes.string,
181
+ disabledDate: PropTypes.func,
182
+ disabledHours: PropTypes.func,
183
+ disabledMinutes: PropTypes.func,
184
+ disabledSeconds: PropTypes.func,
185
+ format: PropTypes.string,
186
+ hideHours: PropTypes.func,
187
+ hideMinutes: PropTypes.func,
188
+ hideSeconds: PropTypes.func,
189
+ inSameMonth: PropTypes.func,
190
+ isoWeek: PropTypes.bool,
191
+ limitEndYear: PropTypes.number,
192
+ locale: PropTypes.object,
193
+ onChangePageDate: PropTypes.func,
194
+ onChangePageTime: PropTypes.func,
195
+ onMoveBackward: PropTypes.func,
196
+ onMoveForward: PropTypes.func,
197
+ onSelect: PropTypes.func,
198
+ onToggleMeridian: PropTypes.func,
199
+ onToggleMonthDropdown: PropTypes.func,
200
+ onToggleTimeDropdown: PropTypes.func,
201
+ calendarDate: PropTypes.instanceOf(Date),
202
+ renderCell: PropTypes.func,
203
+ renderTitle: PropTypes.func,
204
+ renderToolbar: PropTypes.func,
205
+ showMeridian: PropTypes.bool,
206
+ showWeekNumbers: PropTypes.bool
207
+ };
208
+ export default CalendarContainer;
@@ -1,20 +1,22 @@
1
1
  import React from 'react';
2
2
  import { RsRefForwardingComponent, WithAsProps } from '../@types/common';
3
- export interface HeaderProps extends WithAsProps {
3
+ export interface CalendarHeaderProps {
4
4
  disabledBackward?: boolean;
5
5
  disabledForward?: boolean;
6
- showDate?: boolean;
7
6
  showMeridian?: boolean;
7
+ onToggleMeridian?: (event: React.MouseEvent) => void;
8
+ renderTitle?: (date: Date) => React.ReactNode;
9
+ renderToolbar?: (date: Date) => React.ReactNode;
10
+ }
11
+ interface CalendarHeaderPrivateProps extends CalendarHeaderProps, WithAsProps {
12
+ showDate?: boolean;
8
13
  showMonth?: boolean;
9
14
  showTime?: boolean;
10
15
  disabledTime?: (date: Date) => boolean;
11
16
  onMoveBackward?: () => void;
12
17
  onMoveForward?: () => void;
13
- onToggleMeridian?: (event: React.MouseEvent) => void;
14
18
  onToggleMonthDropdown?: (event: React.MouseEvent) => void;
15
19
  onToggleTimeDropdown?: (event: React.MouseEvent) => void;
16
- renderTitle?: (date: Date) => React.ReactNode;
17
- renderToolbar?: (date: Date) => React.ReactNode;
18
20
  }
19
- declare const Header: RsRefForwardingComponent<'div', HeaderProps>;
20
- export default Header;
21
+ declare const CalendarHeader: RsRefForwardingComponent<'div', CalendarHeaderPrivateProps>;
22
+ export default CalendarHeader;
@@ -9,7 +9,7 @@ import Button from '../Button';
9
9
  import { useClassNames } from '../utils';
10
10
  import { FormattedDate } from '../CustomProvider';
11
11
  import { useCalendarContext } from './CalendarContext';
12
- var Header = /*#__PURE__*/React.forwardRef(function (props, ref) {
12
+ var CalendarHeader = /*#__PURE__*/React.forwardRef(function (props, ref) {
13
13
  var _props$as = props.as,
14
14
  Component = _props$as === void 0 ? 'div' : _props$as,
15
15
  className = props.className,
@@ -134,8 +134,8 @@ var Header = /*#__PURE__*/React.forwardRef(function (props, ref) {
134
134
  formatStr: "a"
135
135
  }))), renderToolbar === null || renderToolbar === void 0 ? void 0 : renderToolbar(date));
136
136
  });
137
- Header.displayName = 'Header';
138
- Header.propTypes = {
137
+ CalendarHeader.displayName = 'CalendarHeader';
138
+ CalendarHeader.propTypes = {
139
139
  className: PropTypes.string,
140
140
  classPrefix: PropTypes.string,
141
141
  disabledBackward: PropTypes.bool,
@@ -153,4 +153,4 @@ Header.propTypes = {
153
153
  showMonth: PropTypes.bool,
154
154
  showTime: PropTypes.bool
155
155
  };
156
- export default Header;
156
+ export default CalendarHeader;
@@ -2,7 +2,6 @@ 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;
6
5
  limitEndYear?: number;
7
6
  height?: number;
8
7
  width?: number;
@@ -1,19 +1,35 @@
1
1
  import _extends from "@babel/runtime/helpers/esm/extends";
2
2
  import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
3
- import React, { useCallback, useMemo } from 'react';
3
+ import React, { useCallback } from 'react';
4
4
  import PropTypes from 'prop-types';
5
- import { AutoSizer, FixedSizeList } from '../Windowing';
5
+ import { AutoSizer, List } from '../Picker/VirtualizedList';
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
+
10
27
  var MonthDropdown = /*#__PURE__*/React.forwardRef(function (props, ref) {
11
28
  var _props$as = props.as,
12
29
  Component = _props$as === void 0 ? 'div' : _props$as,
13
30
  className = props.className,
14
31
  _props$classPrefix = props.classPrefix,
15
32
  classPrefix = _props$classPrefix === void 0 ? 'calendar-month-dropdown' : _props$classPrefix,
16
- limitStartYear = props.limitStartYear,
17
33
  _props$limitEndYear = props.limitEndYear,
18
34
  limitEndYear = _props$limitEndYear === void 0 ? 5 : _props$limitEndYear,
19
35
  show = props.show,
@@ -22,7 +38,7 @@ var MonthDropdown = /*#__PURE__*/React.forwardRef(function (props, ref) {
22
38
  _props$width = props.width,
23
39
  defaultWidth = _props$width === void 0 ? 256 : _props$width,
24
40
  disabledMonth = props.disabledMonth,
25
- rest = _objectWithoutPropertiesLoose(props, ["as", "className", "classPrefix", "limitStartYear", "limitEndYear", "show", "height", "width", "disabledMonth"]);
41
+ rest = _objectWithoutPropertiesLoose(props, ["as", "className", "classPrefix", "limitEndYear", "show", "height", "width", "disabledMonth"]);
26
42
 
27
43
  var _useCalendarContext = useCalendarContext(),
28
44
  _useCalendarContext$d = _useCalendarContext.date,
@@ -33,12 +49,9 @@ var MonthDropdown = /*#__PURE__*/React.forwardRef(function (props, ref) {
33
49
  merge = _useClassNames.merge,
34
50
  withClassPrefix = _useClassNames.withClassPrefix;
35
51
 
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]);
52
+ var getRowCount = useCallback(function () {
53
+ return DateUtils.getYear(new Date()) + limitEndYear;
54
+ }, [limitEndYear]);
42
55
  var isMonthDisabled = useCallback(function (year, month) {
43
56
  if (disabledMonth) {
44
57
  var days = DateUtils.getDaysInMonth(new Date(year, month)); // If all dates in a month are disabled, disable the current month
@@ -55,23 +68,26 @@ var MonthDropdown = /*#__PURE__*/React.forwardRef(function (props, ref) {
55
68
  return false;
56
69
  }, [disabledMonth]);
57
70
 
58
- var rowRenderer = function rowRenderer(_ref) {
59
- var index = _ref.index,
60
- style = _ref.style;
71
+ var rowRenderer = function rowRenderer(_ref2) {
72
+ var index = _ref2.index,
73
+ key = _ref2.key,
74
+ style = _ref2.style;
61
75
  var selectedMonth = DateUtils.getMonth(date);
62
76
  var selectedYear = DateUtils.getYear(date);
63
- var year = startYear + index;
77
+ var year = index + 1;
64
78
  var isSelectedYear = year === selectedYear;
79
+ var count = getRowCount();
65
80
  var titleClassName = prefix('year', {
66
81
  'year-active': isSelectedYear
67
82
  });
68
83
  var rowClassName = merge(prefix('row'), {
69
84
  'first-row': index === 0,
70
- 'last-row': index === rowCount - 1
85
+ 'last-row': index === count - 1
71
86
  });
72
87
  return /*#__PURE__*/React.createElement("div", {
73
88
  className: rowClassName,
74
89
  role: "row",
90
+ key: key,
75
91
  style: style
76
92
  }, /*#__PURE__*/React.createElement("div", {
77
93
  className: titleClassName,
@@ -90,12 +106,10 @@ var MonthDropdown = /*#__PURE__*/React.forwardRef(function (props, ref) {
90
106
  })));
91
107
  };
92
108
 
109
+ var count = getRowCount();
93
110
  var classes = merge(className, withClassPrefix(), {
94
111
  show: show
95
112
  });
96
- var itemSize = 75;
97
- var initialItemIndex = DateUtils.getYear(date) - startYear;
98
- var initialScrollOffset = itemSize * initialItemIndex;
99
113
  return /*#__PURE__*/React.createElement(Component, _extends({
100
114
  role: "menu"
101
115
  }, rest, {
@@ -108,17 +122,18 @@ var MonthDropdown = /*#__PURE__*/React.forwardRef(function (props, ref) {
108
122
  }, show && /*#__PURE__*/React.createElement(AutoSizer, {
109
123
  defaultHeight: defaultHeight,
110
124
  defaultWidth: defaultWidth
111
- }, function (_ref2) {
112
- var height = _ref2.height,
113
- width = _ref2.width;
114
- return /*#__PURE__*/React.createElement(FixedSizeList, {
125
+ }, function (_ref3) {
126
+ var height = _ref3.height,
127
+ width = _ref3.width;
128
+ return /*#__PURE__*/React.createElement(List, {
115
129
  className: prefix('row-wrapper'),
116
130
  width: width || defaultWidth,
117
131
  height: height || defaultHeight,
118
- itemSize: itemSize,
119
- itemCount: rowCount,
120
- initialScrollOffset: initialScrollOffset
121
- }, rowRenderer);
132
+ rowHeight: getRowHeight(count),
133
+ rowCount: count,
134
+ scrollToIndex: DateUtils.getYear(date),
135
+ rowRenderer: rowRenderer
136
+ });
122
137
  }))));
123
138
  });
124
139
  MonthDropdown.displayName = 'MonthDropdown';
@@ -32,7 +32,7 @@ var Table = /*#__PURE__*/React.forwardRef(function (props, ref) {
32
32
  });
33
33
  }));
34
34
  });
35
- Table.displayName = 'Table';
35
+ Table.displayName = 'CalendarTable';
36
36
  Table.propTypes = {
37
37
  rows: PropTypes.array,
38
38
  className: PropTypes.string,
@@ -50,7 +50,7 @@ var TableHeaderRow = /*#__PURE__*/React.forwardRef(function (props, ref) {
50
50
  }, locale === null || locale === void 0 ? void 0 : locale[key]));
51
51
  }));
52
52
  });
53
- TableHeaderRow.displayName = 'TableHeaderRow';
53
+ TableHeaderRow.displayName = 'CalendarTableHeaderRow';
54
54
  TableHeaderRow.propTypes = {
55
55
  as: PropTypes.elementType,
56
56
  className: PropTypes.string,
@@ -133,7 +133,7 @@ var TableRow = /*#__PURE__*/React.forwardRef(function (props, ref) {
133
133
  role: "rowheader"
134
134
  }, DateUtils.format(weekendDate, isoWeek ? 'I' : 'w')), renderDays());
135
135
  });
136
- TableRow.displayName = 'TableRow';
136
+ TableRow.displayName = 'CalendarTableRow';
137
137
  TableRow.propTypes = {
138
138
  weekendDate: PropTypes.instanceOf(Date),
139
139
  className: PropTypes.string,
@@ -1,8 +1,9 @@
1
- import CalendarPanel from './CalendarPanel';
2
- import Calendar, { CalendarState } from './Calendar';
1
+ import Calendar from './Calendar';
2
+ import CalendarContainer from './CalendarContainer';
3
+ import { CalendarState } from './useCalendarState';
3
4
  import CalendarContext from './CalendarContext';
4
5
  import { CalendarContextValue } from './types';
5
- export { Calendar, CalendarContext, CalendarState };
6
+ export { CalendarContainer, CalendarContext, CalendarState };
6
7
  export type { CalendarContextValue };
7
- export type { CalendarPanelProps } from './CalendarPanel';
8
- export default CalendarPanel;
8
+ export type { CalendarProps } from './Calendar';
9
+ export default Calendar;
@@ -1,5 +1,6 @@
1
- import CalendarPanel from './CalendarPanel';
2
- import Calendar, { CalendarState } from './Calendar';
1
+ import Calendar from './Calendar';
2
+ import CalendarContainer from './CalendarContainer';
3
+ import { CalendarState } from './useCalendarState';
3
4
  import CalendarContext from './CalendarContext';
4
- export { Calendar, CalendarContext, CalendarState };
5
- export default CalendarPanel;
5
+ export { CalendarContainer, CalendarContext, CalendarState };
6
+ export default Calendar;
@@ -0,0 +1,11 @@
1
+ export declare enum CalendarState {
2
+ 'TIME' = "TIME",
3
+ 'MONTH' = "MONTH"
4
+ }
5
+ declare const useCalendarState: (defaultState?: CalendarState) => {
6
+ calendarState: CalendarState | undefined;
7
+ reset: () => void;
8
+ openMonth: () => void;
9
+ openTime: () => void;
10
+ };
11
+ export default useCalendarState;
@@ -0,0 +1,31 @@
1
+ import { useCallback, useState } from 'react';
2
+ export var CalendarState;
3
+
4
+ (function (CalendarState) {
5
+ CalendarState["TIME"] = "TIME";
6
+ CalendarState["MONTH"] = "MONTH";
7
+ })(CalendarState || (CalendarState = {}));
8
+
9
+ var useCalendarState = function useCalendarState(defaultState) {
10
+ var _useState = useState(defaultState),
11
+ calendarState = _useState[0],
12
+ setCalendarState = _useState[1];
13
+
14
+ var reset = useCallback(function () {
15
+ setCalendarState(undefined);
16
+ }, []);
17
+ var openMonth = useCallback(function () {
18
+ setCalendarState(CalendarState.MONTH);
19
+ }, []);
20
+ var openTime = useCallback(function () {
21
+ setCalendarState(CalendarState.TIME);
22
+ }, []);
23
+ return {
24
+ calendarState: calendarState,
25
+ reset: reset,
26
+ openMonth: openMonth,
27
+ openTime: openTime
28
+ };
29
+ };
30
+
31
+ export default useCalendarState;
File without changes
@@ -1,6 +1,6 @@
1
1
  import React from 'react';
2
2
  import { PickerLocale } from '../locales';
3
- import { PickerHandle } from '../Picker';
3
+ import { PickerInstance } 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<PickerHandle>;
36
+ ref?: React.Ref<PickerInstance>;
37
37
  }): JSX.Element | null;
38
38
  displayName?: string;
39
39
  propTypes?: React.WeakValidationMap<CascaderProps<any>>;
@@ -45,10 +45,7 @@ var DropdownMenu = /*#__PURE__*/React.forwardRef(function (props, ref) {
45
45
 
46
46
  var classes = merge(className, prefix('items'));
47
47
  var rootRef = useRef();
48
-
49
- var _useCustom = useCustom('DropdownMenu'),
50
- rtl = _useCustom.rtl;
51
-
48
+ var rtl = useCustom('DropdownMenu');
52
49
  useEffect(function () {
53
50
  var _rootRef$current;
54
51
 
@@ -99,7 +96,7 @@ var DropdownMenu = /*#__PURE__*/React.forwardRef(function (props, ref) {
99
96
  }); // Use `value` in keys when If `value` is string or number
100
97
 
101
98
  var onlyKey = typeof value === 'number' || typeof value === 'string' ? value : index;
102
- var Icon = node.loading ? SpinnerIcon : rtl ? AngleLeftIcon : AngleRightIcon;
99
+ var Icon = node.loading ? SpinnerIcon : rtl ? AngleRightIcon : AngleLeftIcon;
103
100
  return /*#__PURE__*/React.createElement(DropdownMenuItem, {
104
101
  classPrefix: "picker-cascader-menu-item",
105
102
  as: 'li',
File without changes
@@ -1,6 +1,6 @@
1
1
  import React, { Ref } from 'react';
2
2
  import { PickerLocale } from '../locales';
3
- import { PickerHandle, PickerToggleProps } from '../Picker';
3
+ import { PickerInstance, 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<PickerHandle>;
15
+ ref?: Ref<PickerInstance>;
16
16
  }): JSX.Element | null;
17
17
  displayName?: string;
18
18
  propTypes?: React.WeakValidationMap<CheckPickerProps<any>>;
@@ -81,7 +81,6 @@ 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);
85
84
 
86
85
  var _useCustom = useCustom('Picker', overrideLocale),
87
86
  locale = _useCustom.locale;
@@ -236,8 +235,7 @@ var CheckPicker = /*#__PURE__*/React.forwardRef(function (props, ref) {
236
235
  usePublicMethods(ref, {
237
236
  triggerRef: triggerRef,
238
237
  overlayRef: overlayRef,
239
- targetRef: targetRef,
240
- listRef: listRef
238
+ targetRef: targetRef
241
239
  });
242
240
  var selectedItems = data.filter(function (item) {
243
241
  return value === null || value === void 0 ? void 0 : value.some(function (val) {
@@ -310,7 +308,6 @@ var CheckPicker = /*#__PURE__*/React.forwardRef(function (props, ref) {
310
308
  var menu = items.length || filteredStickyItems.length ? /*#__PURE__*/React.createElement(DropdownMenu, {
311
309
  id: id ? id + "-listbox" : undefined,
312
310
  listProps: listProps,
313
- listRef: listRef,
314
311
  disabledItemValues: disabledItemValues,
315
312
  valueKey: valueKey,
316
313
  labelKey: labelKey,
File without changes