rsuite 5.18.0 → 5.18.1-beta.4

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/Windowing/package.json +7 -0
  76. package/cjs/@types/global.d.ts +0 -0
  77. package/cjs/Affix/index.js +0 -0
  78. package/cjs/Animation/Bounce.js +0 -0
  79. package/cjs/Animation/Fade.js +0 -0
  80. package/cjs/Animation/Slide.js +0 -0
  81. package/cjs/Animation/index.js +0 -0
  82. package/cjs/Animation/utils.js +0 -0
  83. package/cjs/AutoComplete/index.js +0 -0
  84. package/cjs/Avatar/index.js +0 -0
  85. package/cjs/Badge/index.js +0 -0
  86. package/cjs/Breadcrumb/index.js +0 -0
  87. package/cjs/Button/index.js +0 -0
  88. package/cjs/ButtonToolbar/ButtonToolbar.js +0 -0
  89. package/cjs/ButtonToolbar/index.js +0 -0
  90. package/cjs/Calendar/Calendar.d.ts +20 -55
  91. package/cjs/Calendar/Calendar.js +84 -163
  92. package/cjs/Calendar/CalendarBody.d.ts +4 -0
  93. package/cjs/Calendar/{View.js → CalendarBody.js} +5 -5
  94. package/cjs/Calendar/CalendarContainer.d.ts +61 -0
  95. package/cjs/Calendar/CalendarContainer.js +233 -0
  96. package/{esm/Calendar/Header.d.ts → cjs/Calendar/CalendarHeader.d.ts} +9 -7
  97. package/cjs/Calendar/{Header.js → CalendarHeader.js} +4 -4
  98. package/cjs/Calendar/MonthDropdown.d.ts +1 -0
  99. package/cjs/Calendar/MonthDropdown.js +27 -40
  100. package/cjs/Calendar/Table.js +1 -1
  101. package/cjs/Calendar/TableHeaderRow.js +1 -1
  102. package/cjs/Calendar/TableRow.js +1 -1
  103. package/cjs/Calendar/index.d.ts +6 -5
  104. package/cjs/Calendar/index.js +8 -7
  105. package/cjs/Calendar/useCalendarState.d.ts +11 -0
  106. package/cjs/Calendar/useCalendarState.js +39 -0
  107. package/cjs/Carousel/index.js +0 -0
  108. package/cjs/Cascader/Cascader.d.ts +2 -2
  109. package/cjs/Cascader/DropdownMenu.js +5 -2
  110. package/cjs/Cascader/index.js +0 -0
  111. package/cjs/CheckPicker/CheckPicker.d.ts +2 -2
  112. package/cjs/CheckPicker/CheckPicker.js +4 -1
  113. package/cjs/CheckPicker/index.js +0 -0
  114. package/cjs/CheckTreePicker/CheckTreePicker.js +31 -31
  115. package/cjs/CheckTreePicker/index.js +0 -0
  116. package/cjs/Checkbox/index.js +0 -0
  117. package/cjs/CloseButton/CloseButton.js +0 -0
  118. package/cjs/CloseButton/index.js +0 -0
  119. package/cjs/Col/index.js +0 -0
  120. package/cjs/Container/index.js +0 -0
  121. package/cjs/Content/Content.js +0 -0
  122. package/cjs/Content/index.js +0 -0
  123. package/cjs/CustomProvider/FormattedDate.js +0 -0
  124. package/cjs/CustomProvider/index.js +0 -0
  125. package/cjs/DatePicker/DatePicker.js +10 -47
  126. package/cjs/DatePicker/index.js +0 -0
  127. package/cjs/DatePicker/utils.d.ts +1 -8
  128. package/cjs/DatePicker/utils.js +24 -64
  129. package/cjs/DateRangePicker/Calendar.d.ts +1 -1
  130. package/cjs/DateRangePicker/Calendar.js +2 -17
  131. package/cjs/DateRangePicker/DateRangePicker.js +3 -3
  132. package/cjs/DateRangePicker/disabledDateUtils.js +0 -0
  133. package/cjs/DateRangePicker/utils.d.ts +1 -3
  134. package/cjs/DateRangePicker/utils.js +14 -42
  135. package/cjs/Disclosure/Disclosure.d.ts +2 -2
  136. package/cjs/Disclosure/Disclosure.js +6 -6
  137. package/cjs/Disclosure/index.js +0 -0
  138. package/cjs/Divider/index.js +0 -0
  139. package/cjs/Drawer/index.js +0 -0
  140. package/cjs/Dropdown/DropdownState.js +0 -0
  141. package/cjs/Dropdown/index.js +0 -0
  142. package/cjs/FlexboxGrid/index.js +0 -0
  143. package/cjs/Footer/Footer.js +0 -0
  144. package/cjs/Footer/index.js +0 -0
  145. package/cjs/FormControl/index.js +0 -0
  146. package/cjs/FormControlLabel/FormControlLabel.js +0 -0
  147. package/cjs/FormControlLabel/index.js +0 -0
  148. package/cjs/FormErrorMessage/FormErrorMessage.js +0 -0
  149. package/cjs/FormErrorMessage/index.js +0 -0
  150. package/cjs/FormGroup/index.js +0 -0
  151. package/cjs/FormHelpText/index.js +0 -0
  152. package/cjs/Grid/Grid.js +0 -0
  153. package/cjs/Grid/index.js +0 -0
  154. package/cjs/Header/Header.js +0 -0
  155. package/cjs/Header/index.js +0 -0
  156. package/cjs/IconButton/index.js +0 -0
  157. package/cjs/Input/index.js +0 -0
  158. package/cjs/InputGroup/InputGroupButton.js +0 -0
  159. package/cjs/InputGroup/index.js +0 -0
  160. package/cjs/InputNumber/index.js +0 -0
  161. package/cjs/InputPicker/InputPicker.js +4 -1
  162. package/cjs/InputPicker/index.js +0 -0
  163. package/cjs/List/ListItem.d.ts +1 -0
  164. package/cjs/List/ListItem.js +5 -2
  165. package/cjs/List/index.js +0 -0
  166. package/cjs/Loader/index.js +0 -0
  167. package/cjs/Menu/MenuContext.js +0 -0
  168. package/cjs/Menu/index.js +0 -0
  169. package/cjs/Message/index.js +0 -0
  170. package/cjs/Modal/ModalFooter.js +0 -0
  171. package/cjs/Modal/index.js +0 -0
  172. package/cjs/MultiCascader/DropdownMenu.js +5 -2
  173. package/cjs/MultiCascader/index.js +0 -0
  174. package/cjs/Nav/index.js +0 -0
  175. package/cjs/Navbar/NavbarBody.js +0 -0
  176. package/cjs/Navbar/NavbarBrand.js +0 -0
  177. package/cjs/Navbar/NavbarDropdownMenu.js +16 -10
  178. package/cjs/Navbar/NavbarHeader.js +0 -0
  179. package/cjs/Notification/index.js +0 -0
  180. package/cjs/Overlay/OverlayTrigger.d.ts +2 -2
  181. package/cjs/Overlay/index.js +0 -0
  182. package/cjs/Pagination/index.js +0 -0
  183. package/cjs/Panel/index.js +0 -0
  184. package/cjs/PanelGroup/index.js +0 -0
  185. package/cjs/Picker/DropdownMenu.d.ts +2 -1
  186. package/cjs/Picker/DropdownMenu.js +39 -33
  187. package/cjs/Picker/PickerOverlay.d.ts +2 -2
  188. package/cjs/Picker/PickerToggleTrigger.d.ts +2 -2
  189. package/cjs/Picker/index.d.ts +3 -3
  190. package/cjs/Picker/types.d.ts +7 -5
  191. package/cjs/Picker/utils.d.ts +11 -12
  192. package/cjs/Picker/utils.js +4 -0
  193. package/cjs/Placeholder/Placeholder.js +0 -0
  194. package/cjs/Placeholder/index.js +0 -0
  195. package/cjs/Plaintext/index.js +0 -0
  196. package/cjs/Popover/index.js +0 -0
  197. package/cjs/Progress/Progress.js +0 -0
  198. package/cjs/Progress/index.js +0 -0
  199. package/cjs/Radio/index.js +0 -0
  200. package/cjs/RadioGroup/index.js +0 -0
  201. package/cjs/RangeSlider/index.js +0 -0
  202. package/cjs/Rate/index.js +0 -0
  203. package/cjs/Ripple/index.js +0 -0
  204. package/cjs/Row/Row.js +0 -0
  205. package/cjs/Row/index.js +0 -0
  206. package/cjs/SafeAnchor/index.js +0 -0
  207. package/cjs/Schema/Schema.js +0 -0
  208. package/cjs/Schema/index.js +0 -0
  209. package/cjs/SelectPicker/SelectPicker.d.ts +4 -5
  210. package/cjs/SelectPicker/SelectPicker.js +4 -1
  211. package/cjs/Sidebar/index.js +0 -0
  212. package/cjs/Sidenav/SidenavBody.js +0 -0
  213. package/cjs/Sidenav/SidenavHeader.js +0 -0
  214. package/cjs/Sidenav/index.js +0 -0
  215. package/cjs/Slider/index.js +0 -0
  216. package/cjs/Stack/Stack.js +1 -1
  217. package/cjs/Steps/index.js +0 -0
  218. package/cjs/Table/index.js +0 -0
  219. package/cjs/Tag/Tag.js +0 -0
  220. package/cjs/Tag/index.js +0 -0
  221. package/cjs/TagGroup/TagGroup.js +0 -0
  222. package/cjs/TagGroup/index.js +0 -0
  223. package/cjs/Timeline/index.js +0 -0
  224. package/cjs/Toggle/index.js +0 -0
  225. package/cjs/Tooltip/index.js +0 -0
  226. package/cjs/Tree/Tree.d.ts +2 -5
  227. package/cjs/Tree/index.js +0 -0
  228. package/cjs/TreePicker/TreePicker.js +34 -34
  229. package/cjs/TreePicker/index.js +0 -0
  230. package/cjs/TreePicker/test/TreePicker.test.js +14 -0
  231. package/cjs/Whisper/Whisper.d.ts +3 -3
  232. package/cjs/Whisper/index.js +0 -0
  233. package/cjs/Windowing/AutoSizer.d.ts +25 -0
  234. package/cjs/Windowing/AutoSizer.js +107 -0
  235. package/cjs/Windowing/List.d.ts +45 -0
  236. package/cjs/Windowing/List.js +72 -0
  237. package/cjs/Windowing/index.d.ts +5 -0
  238. package/cjs/Windowing/index.js +19 -0
  239. package/cjs/index.d.ts +2 -1
  240. package/cjs/locales/ar_EG.js +0 -0
  241. package/cjs/locales/da_DK.js +0 -0
  242. package/cjs/locales/de_DE.js +0 -0
  243. package/cjs/locales/default.js +0 -0
  244. package/cjs/locales/en_GB.js +0 -0
  245. package/cjs/locales/en_US.js +0 -0
  246. package/cjs/locales/es_AR.js +0 -0
  247. package/cjs/locales/es_ES.js +0 -0
  248. package/cjs/locales/fi_FI.js +0 -0
  249. package/cjs/locales/it_IT.js +0 -0
  250. package/cjs/locales/ko_KR.js +0 -0
  251. package/cjs/locales/pt_BR.js +0 -0
  252. package/cjs/locales/ru_RU.js +0 -0
  253. package/cjs/locales/sv_SE.js +0 -0
  254. package/cjs/locales/zh_CN.js +0 -0
  255. package/cjs/locales/zh_TW.js +0 -0
  256. package/cjs/toaster/ToastContainer.d.ts +2 -1
  257. package/cjs/toaster/ToastContainer.js +27 -26
  258. package/cjs/toaster/toaster.d.ts +1 -1
  259. package/cjs/toaster/toaster.js +43 -13
  260. package/cjs/toaster/useToaster.d.ts +1 -1
  261. package/cjs/utils/BrowserDetection.d.ts +7 -0
  262. package/cjs/utils/BrowserDetection.js +52 -2
  263. package/cjs/utils/clone.js +0 -0
  264. package/cjs/utils/dateUtils.d.ts +4 -4
  265. package/cjs/utils/dateUtils.js +9 -9
  266. package/cjs/utils/events.js +0 -0
  267. package/cjs/utils/getDOMNode.js +0 -0
  268. package/cjs/utils/getSafeRegExpString.js +0 -0
  269. package/cjs/utils/guid.js +0 -0
  270. package/cjs/utils/htmlPropsUtils.js +0 -0
  271. package/cjs/utils/index.d.ts +1 -0
  272. package/cjs/utils/index.js +6 -1
  273. package/cjs/utils/isOneOf.js +0 -0
  274. package/cjs/utils/prefix.js +0 -0
  275. package/cjs/utils/render.d.ts +3 -0
  276. package/cjs/utils/render.js +49 -0
  277. package/cjs/utils/shallowEqual.js +0 -0
  278. package/cjs/utils/shallowEqualArray.js +0 -0
  279. package/cjs/utils/statusIcons.js +0 -0
  280. package/cjs/utils/stringToObject.js +0 -0
  281. package/cjs/utils/tplTransform.js +0 -0
  282. package/cjs/utils/treeUtils.d.ts +2 -2
  283. package/cjs/utils/useClassNames.js +0 -0
  284. package/cjs/utils/useEnsuredRef.js +0 -0
  285. package/cjs/utils/useEventCallback.js +0 -0
  286. package/cjs/utils/useToggleCaret.js +0 -0
  287. package/cjs/utils/useUniqueId.js +10 -2
  288. package/cjs/utils/useUpdateEffect.js +0 -0
  289. package/cjs/utils/useUpdatedRef.js +0 -0
  290. package/cjs/utils/useWillUnmount.js +0 -0
  291. package/dist/rsuite-rtl.css +43 -20
  292. package/dist/rsuite-rtl.min.css +1 -1
  293. package/dist/rsuite-rtl.min.css.map +1 -1
  294. package/dist/rsuite.css +43 -20
  295. package/dist/rsuite.js +313 -551
  296. package/dist/rsuite.js.map +1 -1
  297. package/dist/rsuite.min.css +1 -1
  298. package/dist/rsuite.min.css.map +1 -1
  299. package/dist/rsuite.min.js +1 -1
  300. package/dist/rsuite.min.js.LICENSE.txt +2 -0
  301. package/dist/rsuite.min.js.map +1 -1
  302. package/esm/@types/global.d.ts +0 -0
  303. package/esm/Affix/index.js +0 -0
  304. package/esm/Animation/Bounce.js +0 -0
  305. package/esm/Animation/Fade.js +0 -0
  306. package/esm/Animation/Slide.js +0 -0
  307. package/esm/Animation/index.js +0 -0
  308. package/esm/Animation/utils.js +0 -0
  309. package/esm/AutoComplete/index.js +0 -0
  310. package/esm/Avatar/index.js +0 -0
  311. package/esm/Badge/index.js +0 -0
  312. package/esm/Breadcrumb/index.js +0 -0
  313. package/esm/Button/index.js +0 -0
  314. package/esm/ButtonToolbar/ButtonToolbar.js +0 -0
  315. package/esm/ButtonToolbar/index.js +0 -0
  316. package/esm/Calendar/Calendar.d.ts +20 -55
  317. package/esm/Calendar/Calendar.js +82 -154
  318. package/esm/Calendar/CalendarBody.d.ts +4 -0
  319. package/esm/Calendar/{View.js → CalendarBody.js} +5 -5
  320. package/esm/Calendar/CalendarContainer.d.ts +61 -0
  321. package/esm/Calendar/CalendarContainer.js +208 -0
  322. package/{cjs/Calendar/Header.d.ts → esm/Calendar/CalendarHeader.d.ts} +9 -7
  323. package/esm/Calendar/{Header.js → CalendarHeader.js} +4 -4
  324. package/esm/Calendar/MonthDropdown.d.ts +1 -0
  325. package/esm/Calendar/MonthDropdown.js +26 -41
  326. package/esm/Calendar/Table.js +1 -1
  327. package/esm/Calendar/TableHeaderRow.js +1 -1
  328. package/esm/Calendar/TableRow.js +1 -1
  329. package/esm/Calendar/index.d.ts +6 -5
  330. package/esm/Calendar/index.js +5 -4
  331. package/esm/Calendar/useCalendarState.d.ts +11 -0
  332. package/esm/Calendar/useCalendarState.js +31 -0
  333. package/esm/Carousel/index.js +0 -0
  334. package/esm/Cascader/Cascader.d.ts +2 -2
  335. package/esm/Cascader/DropdownMenu.js +5 -2
  336. package/esm/Cascader/index.js +0 -0
  337. package/esm/CheckPicker/CheckPicker.d.ts +2 -2
  338. package/esm/CheckPicker/CheckPicker.js +4 -1
  339. package/esm/CheckPicker/index.js +0 -0
  340. package/esm/CheckTreePicker/CheckTreePicker.js +31 -30
  341. package/esm/CheckTreePicker/index.js +0 -0
  342. package/esm/Checkbox/index.js +0 -0
  343. package/esm/CloseButton/CloseButton.js +0 -0
  344. package/esm/CloseButton/index.js +0 -0
  345. package/esm/Col/index.js +0 -0
  346. package/esm/Container/index.js +0 -0
  347. package/esm/Content/Content.js +0 -0
  348. package/esm/Content/index.js +0 -0
  349. package/esm/CustomProvider/FormattedDate.js +0 -0
  350. package/esm/CustomProvider/index.js +0 -0
  351. package/esm/DatePicker/DatePicker.js +10 -46
  352. package/esm/DatePicker/index.js +0 -0
  353. package/esm/DatePicker/utils.d.ts +1 -8
  354. package/esm/DatePicker/utils.js +23 -57
  355. package/esm/DateRangePicker/Calendar.d.ts +1 -1
  356. package/esm/DateRangePicker/Calendar.js +2 -16
  357. package/esm/DateRangePicker/DateRangePicker.js +5 -5
  358. package/esm/DateRangePicker/disabledDateUtils.js +0 -0
  359. package/esm/DateRangePicker/utils.d.ts +1 -3
  360. package/esm/DateRangePicker/utils.js +13 -33
  361. package/esm/Disclosure/Disclosure.d.ts +2 -2
  362. package/esm/Disclosure/Disclosure.js +6 -6
  363. package/esm/Disclosure/index.js +0 -0
  364. package/esm/Divider/index.js +0 -0
  365. package/esm/Drawer/index.js +0 -0
  366. package/esm/Dropdown/DropdownState.js +0 -0
  367. package/esm/Dropdown/index.js +0 -0
  368. package/esm/FlexboxGrid/index.js +0 -0
  369. package/esm/Footer/Footer.js +0 -0
  370. package/esm/Footer/index.js +0 -0
  371. package/esm/FormControl/index.js +0 -0
  372. package/esm/FormControlLabel/FormControlLabel.js +0 -0
  373. package/esm/FormControlLabel/index.js +0 -0
  374. package/esm/FormErrorMessage/FormErrorMessage.js +0 -0
  375. package/esm/FormErrorMessage/index.js +0 -0
  376. package/esm/FormGroup/index.js +0 -0
  377. package/esm/FormHelpText/index.js +0 -0
  378. package/esm/Grid/Grid.js +0 -0
  379. package/esm/Grid/index.js +0 -0
  380. package/esm/Header/Header.js +0 -0
  381. package/esm/Header/index.js +0 -0
  382. package/esm/IconButton/index.js +0 -0
  383. package/esm/Input/index.js +0 -0
  384. package/esm/InputGroup/InputGroupButton.js +0 -0
  385. package/esm/InputGroup/index.js +0 -0
  386. package/esm/InputNumber/index.js +0 -0
  387. package/esm/InputPicker/InputPicker.js +4 -1
  388. package/esm/InputPicker/index.js +0 -0
  389. package/esm/List/ListItem.d.ts +1 -0
  390. package/esm/List/ListItem.js +5 -2
  391. package/esm/List/index.js +0 -0
  392. package/esm/Loader/index.js +0 -0
  393. package/esm/Menu/MenuContext.js +0 -0
  394. package/esm/Menu/index.js +0 -0
  395. package/esm/Message/index.js +0 -0
  396. package/esm/Modal/ModalFooter.js +0 -0
  397. package/esm/Modal/index.js +0 -0
  398. package/esm/MultiCascader/DropdownMenu.js +5 -2
  399. package/esm/MultiCascader/index.js +0 -0
  400. package/esm/Nav/index.js +0 -0
  401. package/esm/Navbar/NavbarBody.js +0 -0
  402. package/esm/Navbar/NavbarBrand.js +0 -0
  403. package/esm/Navbar/NavbarDropdownMenu.js +14 -8
  404. package/esm/Navbar/NavbarHeader.js +0 -0
  405. package/esm/Notification/index.js +0 -0
  406. package/esm/Overlay/OverlayTrigger.d.ts +2 -2
  407. package/esm/Overlay/index.js +0 -0
  408. package/esm/Pagination/index.js +0 -0
  409. package/esm/Panel/index.js +0 -0
  410. package/esm/PanelGroup/index.js +0 -0
  411. package/esm/Picker/DropdownMenu.d.ts +2 -1
  412. package/esm/Picker/DropdownMenu.js +39 -35
  413. package/esm/Picker/PickerOverlay.d.ts +2 -2
  414. package/esm/Picker/PickerToggleTrigger.d.ts +2 -2
  415. package/esm/Picker/index.d.ts +3 -3
  416. package/esm/Picker/types.d.ts +7 -5
  417. package/esm/Picker/utils.d.ts +11 -12
  418. package/esm/Picker/utils.js +4 -0
  419. package/esm/Placeholder/Placeholder.js +0 -0
  420. package/esm/Placeholder/index.js +0 -0
  421. package/esm/Plaintext/index.js +0 -0
  422. package/esm/Popover/index.js +0 -0
  423. package/esm/Progress/Progress.js +0 -0
  424. package/esm/Progress/index.js +0 -0
  425. package/esm/Radio/index.js +0 -0
  426. package/esm/RadioGroup/index.js +0 -0
  427. package/esm/RangeSlider/index.js +0 -0
  428. package/esm/Rate/index.js +0 -0
  429. package/esm/Ripple/index.js +0 -0
  430. package/esm/Row/Row.js +0 -0
  431. package/esm/Row/index.js +0 -0
  432. package/esm/SafeAnchor/index.js +0 -0
  433. package/esm/Schema/Schema.js +0 -0
  434. package/esm/Schema/index.js +0 -0
  435. package/esm/SelectPicker/SelectPicker.d.ts +4 -5
  436. package/esm/SelectPicker/SelectPicker.js +4 -1
  437. package/esm/Sidebar/index.js +0 -0
  438. package/esm/Sidenav/SidenavBody.js +0 -0
  439. package/esm/Sidenav/SidenavHeader.js +0 -0
  440. package/esm/Sidenav/index.js +0 -0
  441. package/esm/Slider/index.js +0 -0
  442. package/esm/Stack/Stack.js +2 -2
  443. package/esm/Steps/index.js +0 -0
  444. package/esm/Table/index.js +0 -0
  445. package/esm/Tag/Tag.js +0 -0
  446. package/esm/Tag/index.js +0 -0
  447. package/esm/TagGroup/TagGroup.js +0 -0
  448. package/esm/TagGroup/index.js +0 -0
  449. package/esm/Timeline/index.js +0 -0
  450. package/esm/Toggle/index.js +0 -0
  451. package/esm/Tooltip/index.js +0 -0
  452. package/esm/Tree/Tree.d.ts +2 -5
  453. package/esm/Tree/index.js +0 -0
  454. package/esm/TreePicker/TreePicker.js +33 -32
  455. package/esm/TreePicker/index.js +0 -0
  456. package/esm/TreePicker/test/TreePicker.test.js +14 -0
  457. package/esm/Whisper/Whisper.d.ts +3 -3
  458. package/esm/Whisper/index.js +0 -0
  459. package/esm/Windowing/AutoSizer.d.ts +25 -0
  460. package/esm/Windowing/AutoSizer.js +92 -0
  461. package/esm/Windowing/List.d.ts +45 -0
  462. package/esm/Windowing/List.js +58 -0
  463. package/esm/Windowing/index.d.ts +5 -0
  464. package/esm/Windowing/index.js +3 -0
  465. package/esm/index.d.ts +2 -1
  466. package/esm/locales/ar_EG.js +0 -0
  467. package/esm/locales/da_DK.js +0 -0
  468. package/esm/locales/de_DE.js +0 -0
  469. package/esm/locales/default.js +0 -0
  470. package/esm/locales/en_GB.js +0 -0
  471. package/esm/locales/en_US.js +0 -0
  472. package/esm/locales/es_AR.js +0 -0
  473. package/esm/locales/es_ES.js +0 -0
  474. package/esm/locales/fi_FI.js +0 -0
  475. package/esm/locales/it_IT.js +0 -0
  476. package/esm/locales/ko_KR.js +0 -0
  477. package/esm/locales/pt_BR.js +0 -0
  478. package/esm/locales/ru_RU.js +0 -0
  479. package/esm/locales/sv_SE.js +0 -0
  480. package/esm/locales/zh_CN.js +0 -0
  481. package/esm/locales/zh_TW.js +0 -0
  482. package/esm/toaster/ToastContainer.d.ts +2 -1
  483. package/esm/toaster/ToastContainer.js +28 -26
  484. package/esm/toaster/toaster.d.ts +1 -1
  485. package/esm/toaster/toaster.js +41 -13
  486. package/esm/toaster/useToaster.d.ts +1 -1
  487. package/esm/utils/BrowserDetection.d.ts +7 -0
  488. package/esm/utils/BrowserDetection.js +41 -0
  489. package/esm/utils/clone.js +0 -0
  490. package/esm/utils/dateUtils.d.ts +4 -4
  491. package/esm/utils/dateUtils.js +4 -4
  492. package/esm/utils/events.js +0 -0
  493. package/esm/utils/getDOMNode.js +0 -0
  494. package/esm/utils/getSafeRegExpString.js +0 -0
  495. package/esm/utils/guid.js +0 -0
  496. package/esm/utils/htmlPropsUtils.js +0 -0
  497. package/esm/utils/index.d.ts +1 -0
  498. package/esm/utils/index.js +1 -0
  499. package/esm/utils/isOneOf.js +0 -0
  500. package/esm/utils/prefix.js +0 -0
  501. package/esm/utils/render.d.ts +3 -0
  502. package/esm/utils/render.js +37 -0
  503. package/esm/utils/shallowEqual.js +0 -0
  504. package/esm/utils/shallowEqualArray.js +0 -0
  505. package/esm/utils/statusIcons.js +0 -0
  506. package/esm/utils/stringToObject.js +0 -0
  507. package/esm/utils/tplTransform.js +0 -0
  508. package/esm/utils/treeUtils.d.ts +2 -2
  509. package/esm/utils/useClassNames.js +0 -0
  510. package/esm/utils/useEnsuredRef.js +0 -0
  511. package/esm/utils/useEventCallback.js +0 -0
  512. package/esm/utils/useToggleCaret.js +0 -0
  513. package/esm/utils/useUniqueId.js +7 -2
  514. package/esm/utils/useUpdateEffect.js +0 -0
  515. package/esm/utils/useUpdatedRef.js +0 -0
  516. package/esm/utils/useWillUnmount.js +0 -0
  517. package/package.json +4 -4
  518. package/styles/color-modes.less +0 -0
  519. package/styles/colors/light.less +0 -0
  520. package/styles/common.less +0 -0
  521. package/styles/mixins/color-modes.less +0 -0
  522. package/styles/mixins/hacks.less +0 -0
  523. package/styles/mixins/listbox.less +0 -0
  524. package/styles/mixins/menu.less +0 -0
  525. package/styles/normalize.less +0 -0
  526. package/styles/scaffolding.less +0 -0
  527. package/styles/typography.less +0 -0
  528. package/toaster/styles/animation.less +0 -0
  529. package/toaster/styles/index.less +0 -0
  530. package/cjs/Calendar/CalendarPanel.d.ts +0 -26
  531. package/cjs/Calendar/CalendarPanel.js +0 -139
  532. package/cjs/Calendar/View.d.ts +0 -4
  533. package/cjs/Picker/VirtualizedList.d.ts +0 -37
  534. package/cjs/Picker/VirtualizedList.js +0 -15
  535. package/esm/Calendar/CalendarPanel.d.ts +0 -26
  536. package/esm/Calendar/CalendarPanel.js +0 -119
  537. package/esm/Calendar/View.d.ts +0 -4
  538. package/esm/Picker/VirtualizedList.d.ts +0 -37
  539. package/esm/Picker/VirtualizedList.js +0 -4
@@ -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,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';
@@ -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 { 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>>;
@@ -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
@@ -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