rsuite 5.71.0 → 5.72.0

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 (393) hide show
  1. package/Accordion/styles/index.css +20 -6
  2. package/Animation/styles/collapse.less +2 -1
  3. package/Animation/styles/fade.less +1 -1
  4. package/Animation/styles/index.css +8 -0
  5. package/Animation/styles/index.less +1 -0
  6. package/Animation/styles/variables.less +4 -0
  7. package/AutoComplete/styles/index.css +11 -0
  8. package/CHANGELOG.md +17 -0
  9. package/Calendar/styles/index.css +43 -13
  10. package/Calendar/styles/index.less +34 -2
  11. package/Cascader/styles/index.css +11 -0
  12. package/CheckPicker/styles/index.css +11 -0
  13. package/CheckTree/styles/index.css +11 -0
  14. package/CheckTreePicker/styles/index.css +11 -0
  15. package/DatePicker/styles/index.css +61 -15
  16. package/DatePicker/styles/index.less +8 -1
  17. package/DateRangePicker/styles/index.css +65 -17
  18. package/DateRangePicker/styles/index.less +7 -2
  19. package/InputPicker/styles/index.css +11 -0
  20. package/MultiCascadeTree/styles/index.css +11 -0
  21. package/MultiCascader/styles/index.css +11 -0
  22. package/Pagination/styles/index.css +11 -0
  23. package/Panel/styles/index.css +20 -6
  24. package/SelectPicker/styles/index.css +11 -0
  25. package/TagInput/styles/index.css +11 -0
  26. package/TagPicker/styles/index.css +11 -0
  27. package/TimePicker/package.json +7 -0
  28. package/TimePicker/styles/index.css +4161 -0
  29. package/TimePicker/styles/index.less +1 -0
  30. package/TimeRangePicker/package.json +7 -0
  31. package/TimeRangePicker/styles/index.css +4264 -0
  32. package/TimeRangePicker/styles/index.less +1 -0
  33. package/cjs/Calendar/Calendar.d.ts +1 -1
  34. package/cjs/Calendar/Calendar.js +22 -26
  35. package/cjs/Calendar/CalendarBody.js +9 -9
  36. package/cjs/Calendar/CalendarContainer.d.ts +10 -2
  37. package/cjs/Calendar/CalendarContainer.js +40 -68
  38. package/cjs/Calendar/CalendarHeader.d.ts +0 -2
  39. package/cjs/Calendar/CalendarHeader.js +24 -42
  40. package/cjs/Calendar/{CalendarContext.d.ts → CalendarProvider.d.ts} +3 -22
  41. package/cjs/Calendar/CalendarProvider.js +13 -0
  42. package/cjs/Calendar/Grid/Grid.d.ts +6 -0
  43. package/cjs/Calendar/{Table.js → Grid/Grid.js} +11 -17
  44. package/cjs/Calendar/{TableCell.d.ts → Grid/GridCell.d.ts} +4 -4
  45. package/cjs/Calendar/{TableCell.js → Grid/GridCell.js} +13 -13
  46. package/cjs/Calendar/Grid/GridHeaderRow.d.ts +4 -0
  47. package/cjs/Calendar/{TableHeaderRow.js → Grid/GridHeaderRow.js} +11 -11
  48. package/cjs/Calendar/Grid/GridRow.d.ts +7 -0
  49. package/cjs/Calendar/{TableRow.js → Grid/GridRow.js} +21 -21
  50. package/cjs/Calendar/Grid/index.d.ts +2 -0
  51. package/cjs/Calendar/Grid/index.js +8 -0
  52. package/cjs/Calendar/MonthDropdown.d.ts +0 -15
  53. package/cjs/Calendar/MonthDropdown.js +6 -6
  54. package/cjs/Calendar/MonthDropdownItem.js +6 -6
  55. package/cjs/Calendar/TimeDropdown/TimeColumn.d.ts +8 -0
  56. package/cjs/Calendar/TimeDropdown/TimeColumn.js +27 -0
  57. package/{esm/Calendar → cjs/Calendar/TimeDropdown}/TimeDropdown.d.ts +2 -25
  58. package/cjs/Calendar/{TimeDropdown.js → TimeDropdown/TimeDropdown.js} +79 -112
  59. package/cjs/Calendar/TimeDropdown/index.d.ts +2 -0
  60. package/cjs/Calendar/TimeDropdown/index.js +8 -0
  61. package/cjs/Calendar/TimeDropdown/utils/formatWithLeadingZero.d.ts +1 -0
  62. package/cjs/Calendar/TimeDropdown/utils/formatWithLeadingZero.js +8 -0
  63. package/cjs/Calendar/TimeDropdown/utils/getClockTime.d.ts +11 -0
  64. package/cjs/Calendar/TimeDropdown/utils/getClockTime.js +43 -0
  65. package/cjs/Calendar/TimeDropdown/utils/getTimeLimits.d.ts +11 -0
  66. package/cjs/Calendar/TimeDropdown/utils/getTimeLimits.js +24 -0
  67. package/cjs/Calendar/TimeDropdown/utils/index.d.ts +4 -0
  68. package/cjs/Calendar/TimeDropdown/utils/index.js +23 -0
  69. package/cjs/Calendar/TimeDropdown/utils/scrollToTime.d.ts +2 -0
  70. package/cjs/Calendar/TimeDropdown/utils/scrollToTime.js +28 -0
  71. package/cjs/Calendar/hooks/index.d.ts +3 -0
  72. package/cjs/Calendar/hooks/index.js +24 -0
  73. package/cjs/Calendar/hooks/useCalendar.d.ts +2 -0
  74. package/cjs/Calendar/hooks/useCalendar.js +10 -0
  75. package/cjs/Calendar/{useCalendarDate.d.ts → hooks/useCalendarDate.d.ts} +1 -2
  76. package/cjs/Calendar/{useCalendarDate.js → hooks/useCalendarDate.js} +8 -8
  77. package/cjs/Calendar/hooks/useCalendarState.d.ts +22 -0
  78. package/cjs/Calendar/hooks/useCalendarState.js +60 -0
  79. package/cjs/Calendar/index.d.ts +2 -4
  80. package/cjs/Calendar/index.js +2 -4
  81. package/cjs/Calendar/types.d.ts +19 -0
  82. package/cjs/Calendar/types.js +4 -0
  83. package/cjs/Calendar/{utils.js → utils/getAriaLabel.js} +1 -1
  84. package/cjs/Calendar/utils/index.d.ts +1 -0
  85. package/cjs/Calendar/utils/index.js +7 -0
  86. package/cjs/CustomProvider/CustomProvider.d.ts +19 -3
  87. package/cjs/DateInput/DateField.js +2 -2
  88. package/cjs/DateInput/DateInput.js +17 -6
  89. package/cjs/DateInput/hooks/useDateInputState.js +1 -1
  90. package/cjs/DatePicker/DatePicker.d.ts +6 -2
  91. package/cjs/DatePicker/DatePicker.js +46 -55
  92. package/cjs/DatePicker/utils.js +1 -1
  93. package/cjs/DateRangeInput/DateRangeInput.js +16 -5
  94. package/cjs/DateRangePicker/Calendar.d.ts +4 -5
  95. package/cjs/DateRangePicker/Calendar.js +18 -44
  96. package/cjs/DateRangePicker/DateRangePicker.d.ts +21 -4
  97. package/cjs/DateRangePicker/DateRangePicker.js +97 -71
  98. package/cjs/DateRangePicker/DateRangePickerProvider.d.ts +10 -0
  99. package/cjs/DateRangePicker/{DateRangePickerContext.js → DateRangePickerProvider.js} +3 -3
  100. package/cjs/DateRangePicker/hooks/index.d.ts +3 -0
  101. package/cjs/DateRangePicker/hooks/index.js +11 -0
  102. package/cjs/DateRangePicker/hooks/useCalendarHandlers.d.ts +17 -0
  103. package/cjs/DateRangePicker/hooks/useCalendarHandlers.js +43 -0
  104. package/cjs/DateRangePicker/hooks/useDateDisabled.d.ts +1 -1
  105. package/cjs/DateRangePicker/hooks/useDateDisabled.js +1 -0
  106. package/cjs/DateRangePicker/hooks/useDateRangePicker.d.ts +2 -0
  107. package/cjs/DateRangePicker/hooks/useDateRangePicker.js +10 -0
  108. package/cjs/DateRangePicker/utils.js +1 -1
  109. package/cjs/InlineEdit/renderChildren.d.ts +1 -1
  110. package/cjs/InlineEdit/renderChildren.js +13 -4
  111. package/cjs/InlineEdit/useFocusEvent.d.ts +2 -2
  112. package/cjs/InlineEdit/useFocusEvent.js +9 -4
  113. package/cjs/TimePicker/TimePicker.d.ts +81 -0
  114. package/cjs/TimePicker/TimePicker.js +31 -0
  115. package/cjs/TimePicker/index.d.ts +3 -0
  116. package/cjs/TimePicker/index.js +8 -0
  117. package/cjs/TimeRangePicker/TimeRangePicker.d.ts +77 -0
  118. package/cjs/TimeRangePicker/TimeRangePicker.js +23 -0
  119. package/cjs/TimeRangePicker/index.d.ts +3 -0
  120. package/cjs/TimeRangePicker/index.js +8 -0
  121. package/cjs/index.d.ts +4 -0
  122. package/cjs/index.js +6 -1
  123. package/cjs/internals/Picker/Listbox.js +4 -2
  124. package/cjs/internals/hooks/useCustom.js +2 -2
  125. package/cjs/internals/utils/date/extractTimeFormat.d.ts +4 -0
  126. package/cjs/internals/utils/date/extractTimeFormat.js +12 -0
  127. package/cjs/internals/utils/date/formatCheck.d.ts +4 -0
  128. package/cjs/internals/utils/date/formatCheck.js +8 -1
  129. package/cjs/internals/utils/date/index.d.ts +4 -2
  130. package/cjs/internals/utils/date/index.js +72 -7
  131. package/cjs/internals/utils/date/useDateMode.d.ts +16 -0
  132. package/cjs/internals/utils/date/useDateMode.js +57 -0
  133. package/cjs/internals/utils/index.d.ts +0 -1
  134. package/cjs/internals/utils/index.js +1 -4
  135. package/cjs/locales/ar_EG.d.ts +10 -0
  136. package/cjs/locales/ar_EG.js +8 -4
  137. package/cjs/locales/ca_ES.d.ts +10 -0
  138. package/cjs/locales/ca_ES.js +8 -4
  139. package/cjs/locales/cs_CZ.d.ts +10 -0
  140. package/cjs/locales/cs_CZ.js +8 -4
  141. package/cjs/locales/da_DK.d.ts +10 -0
  142. package/cjs/locales/da_DK.js +8 -4
  143. package/cjs/locales/de_DE.d.ts +10 -0
  144. package/cjs/locales/de_DE.js +8 -4
  145. package/cjs/locales/en_GB.d.ts +130 -2
  146. package/cjs/locales/en_GB.js +85 -2
  147. package/cjs/locales/en_US.d.ts +10 -0
  148. package/cjs/locales/en_US.js +8 -4
  149. package/cjs/locales/es_AR.d.ts +10 -0
  150. package/cjs/locales/es_AR.js +8 -4
  151. package/cjs/locales/es_ES.d.ts +10 -0
  152. package/cjs/locales/es_ES.js +8 -4
  153. package/cjs/locales/fa_IR.d.ts +10 -0
  154. package/cjs/locales/fa_IR.js +8 -4
  155. package/cjs/locales/fi_FI.d.ts +10 -0
  156. package/cjs/locales/fi_FI.js +8 -4
  157. package/cjs/locales/fr_FR.d.ts +10 -0
  158. package/cjs/locales/fr_FR.js +8 -4
  159. package/cjs/locales/hu_HU.d.ts +10 -0
  160. package/cjs/locales/hu_HU.js +8 -4
  161. package/cjs/locales/index.d.ts +1 -1
  162. package/cjs/locales/it_IT.d.ts +10 -0
  163. package/cjs/locales/it_IT.js +8 -4
  164. package/cjs/locales/ja_JP.d.ts +10 -0
  165. package/cjs/locales/ja_JP.js +8 -4
  166. package/cjs/locales/kk_KZ.d.ts +10 -0
  167. package/cjs/locales/kk_KZ.js +8 -4
  168. package/cjs/locales/ko_KR.d.ts +10 -0
  169. package/cjs/locales/ko_KR.js +8 -4
  170. package/cjs/locales/ne_NP.d.ts +10 -0
  171. package/cjs/locales/ne_NP.js +8 -4
  172. package/cjs/locales/nl_NL.d.ts +10 -0
  173. package/cjs/locales/nl_NL.js +8 -4
  174. package/cjs/locales/pt_BR.d.ts +10 -0
  175. package/cjs/locales/pt_BR.js +8 -4
  176. package/cjs/locales/ru_RU.d.ts +10 -0
  177. package/cjs/locales/ru_RU.js +8 -4
  178. package/cjs/locales/sv_SE.d.ts +10 -0
  179. package/cjs/locales/sv_SE.js +8 -4
  180. package/cjs/locales/tr_TR.d.ts +10 -0
  181. package/cjs/locales/tr_TR.js +8 -4
  182. package/cjs/locales/zh_CN.d.ts +10 -0
  183. package/cjs/locales/zh_CN.js +8 -4
  184. package/cjs/locales/zh_TW.d.ts +10 -0
  185. package/cjs/locales/zh_TW.js +8 -4
  186. package/dist/rsuite-no-reset-rtl.css +88 -21
  187. package/dist/rsuite-no-reset-rtl.min.css +1 -1
  188. package/dist/rsuite-no-reset-rtl.min.css.map +1 -1
  189. package/dist/rsuite-no-reset.css +88 -21
  190. package/dist/rsuite-no-reset.min.css +1 -1
  191. package/dist/rsuite-no-reset.min.css.map +1 -1
  192. package/dist/rsuite-rtl.css +88 -21
  193. package/dist/rsuite-rtl.min.css +1 -1
  194. package/dist/rsuite-rtl.min.css.map +1 -1
  195. package/dist/rsuite.css +88 -21
  196. package/dist/rsuite.js +361 -141
  197. package/dist/rsuite.js.map +1 -1
  198. package/dist/rsuite.min.css +1 -1
  199. package/dist/rsuite.min.css.map +1 -1
  200. package/dist/rsuite.min.js +1 -1
  201. package/dist/rsuite.min.js.map +1 -1
  202. package/esm/Calendar/Calendar.d.ts +1 -1
  203. package/esm/Calendar/Calendar.js +21 -23
  204. package/esm/Calendar/CalendarBody.js +9 -9
  205. package/esm/Calendar/CalendarContainer.d.ts +10 -2
  206. package/esm/Calendar/CalendarContainer.js +41 -69
  207. package/esm/Calendar/CalendarHeader.d.ts +0 -2
  208. package/esm/Calendar/CalendarHeader.js +25 -43
  209. package/esm/Calendar/{CalendarContext.d.ts → CalendarProvider.d.ts} +3 -22
  210. package/esm/Calendar/CalendarProvider.js +9 -0
  211. package/esm/Calendar/Grid/Grid.d.ts +6 -0
  212. package/esm/Calendar/{Table.js → Grid/Grid.js} +11 -17
  213. package/esm/Calendar/{TableCell.d.ts → Grid/GridCell.d.ts} +4 -4
  214. package/esm/Calendar/{TableCell.js → Grid/GridCell.js} +13 -13
  215. package/esm/Calendar/Grid/GridHeaderRow.d.ts +4 -0
  216. package/esm/Calendar/{TableHeaderRow.js → Grid/GridHeaderRow.js} +11 -11
  217. package/esm/Calendar/Grid/GridRow.d.ts +7 -0
  218. package/esm/Calendar/{TableRow.js → Grid/GridRow.js} +21 -21
  219. package/esm/Calendar/Grid/index.d.ts +2 -0
  220. package/esm/Calendar/Grid/index.js +3 -0
  221. package/esm/Calendar/MonthDropdown.d.ts +0 -15
  222. package/esm/Calendar/MonthDropdown.js +6 -6
  223. package/esm/Calendar/MonthDropdownItem.js +9 -9
  224. package/esm/Calendar/TimeDropdown/TimeColumn.d.ts +8 -0
  225. package/esm/Calendar/TimeDropdown/TimeColumn.js +22 -0
  226. package/{cjs/Calendar → esm/Calendar/TimeDropdown}/TimeDropdown.d.ts +2 -25
  227. package/esm/Calendar/TimeDropdown/TimeDropdown.js +161 -0
  228. package/esm/Calendar/TimeDropdown/index.d.ts +2 -0
  229. package/esm/Calendar/TimeDropdown/index.js +3 -0
  230. package/esm/Calendar/TimeDropdown/utils/formatWithLeadingZero.d.ts +1 -0
  231. package/esm/Calendar/TimeDropdown/utils/formatWithLeadingZero.js +4 -0
  232. package/esm/Calendar/TimeDropdown/utils/getClockTime.d.ts +11 -0
  233. package/esm/Calendar/TimeDropdown/utils/getClockTime.js +39 -0
  234. package/esm/Calendar/TimeDropdown/utils/getTimeLimits.d.ts +11 -0
  235. package/esm/Calendar/TimeDropdown/utils/getTimeLimits.js +20 -0
  236. package/esm/Calendar/TimeDropdown/utils/index.d.ts +4 -0
  237. package/esm/Calendar/TimeDropdown/utils/index.js +5 -0
  238. package/esm/Calendar/TimeDropdown/utils/scrollToTime.d.ts +2 -0
  239. package/esm/Calendar/TimeDropdown/utils/scrollToTime.js +23 -0
  240. package/esm/Calendar/hooks/index.d.ts +3 -0
  241. package/esm/Calendar/hooks/index.js +4 -0
  242. package/esm/Calendar/hooks/useCalendar.d.ts +2 -0
  243. package/esm/Calendar/hooks/useCalendar.js +6 -0
  244. package/esm/Calendar/{useCalendarDate.d.ts → hooks/useCalendarDate.d.ts} +1 -2
  245. package/esm/Calendar/{useCalendarDate.js → hooks/useCalendarDate.js} +7 -7
  246. package/esm/Calendar/hooks/useCalendarState.d.ts +22 -0
  247. package/esm/Calendar/hooks/useCalendarState.js +56 -0
  248. package/esm/Calendar/index.d.ts +2 -4
  249. package/esm/Calendar/index.js +2 -3
  250. package/esm/Calendar/types.d.ts +19 -0
  251. package/esm/Calendar/types.js +2 -0
  252. package/esm/Calendar/{utils.js → utils/getAriaLabel.js} +1 -1
  253. package/esm/Calendar/utils/index.d.ts +1 -0
  254. package/esm/Calendar/utils/index.js +2 -0
  255. package/esm/CustomProvider/CustomProvider.d.ts +19 -3
  256. package/esm/DateInput/DateField.js +2 -2
  257. package/esm/DateInput/DateInput.js +17 -6
  258. package/esm/DateInput/hooks/useDateInputState.js +1 -1
  259. package/esm/DatePicker/DatePicker.d.ts +6 -2
  260. package/esm/DatePicker/DatePicker.js +28 -36
  261. package/esm/DatePicker/hooks/useFocus.js +1 -1
  262. package/esm/DatePicker/utils.js +2 -2
  263. package/esm/DateRangeInput/DateRangeInput.js +16 -5
  264. package/esm/DateRangePicker/Calendar.d.ts +4 -5
  265. package/esm/DateRangePicker/Calendar.js +19 -47
  266. package/esm/DateRangePicker/DateRangePicker.d.ts +21 -4
  267. package/esm/DateRangePicker/DateRangePicker.js +98 -72
  268. package/esm/DateRangePicker/DateRangePickerProvider.d.ts +10 -0
  269. package/esm/DateRangePicker/{DateRangePickerContext.js → DateRangePickerProvider.js} +2 -2
  270. package/esm/DateRangePicker/hooks/index.d.ts +3 -0
  271. package/esm/DateRangePicker/hooks/index.js +4 -0
  272. package/esm/DateRangePicker/hooks/useCalendarHandlers.d.ts +17 -0
  273. package/esm/DateRangePicker/hooks/useCalendarHandlers.js +38 -0
  274. package/esm/DateRangePicker/hooks/useDateDisabled.d.ts +1 -1
  275. package/esm/DateRangePicker/hooks/useDateDisabled.js +1 -1
  276. package/esm/DateRangePicker/hooks/useDateRangePicker.d.ts +2 -0
  277. package/esm/DateRangePicker/hooks/useDateRangePicker.js +6 -0
  278. package/esm/DateRangePicker/utils.js +2 -2
  279. package/esm/InlineEdit/renderChildren.d.ts +1 -1
  280. package/esm/InlineEdit/renderChildren.js +13 -4
  281. package/esm/InlineEdit/useFocusEvent.d.ts +2 -2
  282. package/esm/InlineEdit/useFocusEvent.js +9 -4
  283. package/esm/TimePicker/TimePicker.d.ts +81 -0
  284. package/esm/TimePicker/TimePicker.js +24 -0
  285. package/esm/TimePicker/index.d.ts +3 -0
  286. package/esm/TimePicker/index.js +3 -0
  287. package/esm/TimeRangePicker/TimeRangePicker.d.ts +77 -0
  288. package/esm/TimeRangePicker/TimeRangePicker.js +18 -0
  289. package/esm/TimeRangePicker/index.d.ts +3 -0
  290. package/esm/TimeRangePicker/index.js +3 -0
  291. package/esm/index.d.ts +4 -0
  292. package/esm/index.js +2 -0
  293. package/esm/internals/Picker/Listbox.js +4 -2
  294. package/esm/internals/hooks/useCustom.js +1 -1
  295. package/esm/internals/utils/date/extractTimeFormat.d.ts +4 -0
  296. package/esm/internals/utils/date/extractTimeFormat.js +8 -0
  297. package/esm/internals/utils/date/formatCheck.d.ts +4 -0
  298. package/esm/internals/utils/date/formatCheck.js +7 -0
  299. package/esm/internals/utils/date/index.d.ts +4 -2
  300. package/esm/internals/utils/date/index.js +4 -2
  301. package/esm/internals/utils/date/useDateMode.d.ts +16 -0
  302. package/esm/internals/utils/date/useDateMode.js +54 -0
  303. package/esm/internals/utils/index.d.ts +0 -1
  304. package/esm/internals/utils/index.js +0 -1
  305. package/esm/locales/ar_EG.d.ts +10 -0
  306. package/esm/locales/ar_EG.js +8 -4
  307. package/esm/locales/ca_ES.d.ts +10 -0
  308. package/esm/locales/ca_ES.js +8 -4
  309. package/esm/locales/cs_CZ.d.ts +10 -0
  310. package/esm/locales/cs_CZ.js +8 -4
  311. package/esm/locales/da_DK.d.ts +10 -0
  312. package/esm/locales/da_DK.js +8 -4
  313. package/esm/locales/de_DE.d.ts +10 -0
  314. package/esm/locales/de_DE.js +8 -4
  315. package/esm/locales/en_GB.d.ts +130 -2
  316. package/esm/locales/en_GB.js +85 -2
  317. package/esm/locales/en_US.d.ts +10 -0
  318. package/esm/locales/en_US.js +8 -4
  319. package/esm/locales/es_AR.d.ts +10 -0
  320. package/esm/locales/es_AR.js +8 -4
  321. package/esm/locales/es_ES.d.ts +10 -0
  322. package/esm/locales/es_ES.js +8 -4
  323. package/esm/locales/fa_IR.d.ts +10 -0
  324. package/esm/locales/fa_IR.js +8 -4
  325. package/esm/locales/fi_FI.d.ts +10 -0
  326. package/esm/locales/fi_FI.js +8 -4
  327. package/esm/locales/fr_FR.d.ts +10 -0
  328. package/esm/locales/fr_FR.js +8 -4
  329. package/esm/locales/hu_HU.d.ts +10 -0
  330. package/esm/locales/hu_HU.js +8 -4
  331. package/esm/locales/index.d.ts +1 -1
  332. package/esm/locales/it_IT.d.ts +10 -0
  333. package/esm/locales/it_IT.js +8 -4
  334. package/esm/locales/ja_JP.d.ts +10 -0
  335. package/esm/locales/ja_JP.js +8 -4
  336. package/esm/locales/kk_KZ.d.ts +10 -0
  337. package/esm/locales/kk_KZ.js +8 -4
  338. package/esm/locales/ko_KR.d.ts +10 -0
  339. package/esm/locales/ko_KR.js +8 -4
  340. package/esm/locales/ne_NP.d.ts +10 -0
  341. package/esm/locales/ne_NP.js +8 -4
  342. package/esm/locales/nl_NL.d.ts +10 -0
  343. package/esm/locales/nl_NL.js +8 -4
  344. package/esm/locales/pt_BR.d.ts +10 -0
  345. package/esm/locales/pt_BR.js +8 -4
  346. package/esm/locales/ru_RU.d.ts +10 -0
  347. package/esm/locales/ru_RU.js +8 -4
  348. package/esm/locales/sv_SE.d.ts +10 -0
  349. package/esm/locales/sv_SE.js +8 -4
  350. package/esm/locales/tr_TR.d.ts +10 -0
  351. package/esm/locales/tr_TR.js +8 -4
  352. package/esm/locales/zh_CN.d.ts +10 -0
  353. package/esm/locales/zh_CN.js +8 -4
  354. package/esm/locales/zh_TW.d.ts +10 -0
  355. package/esm/locales/zh_TW.js +8 -4
  356. package/internals/Picker/styles/index.less +17 -0
  357. package/internals/ScrollView/styles/index.less +1 -5
  358. package/package.json +1 -1
  359. package/styles/color-modes/dark.less +5 -0
  360. package/styles/color-modes/high-contrast.less +5 -0
  361. package/styles/color-modes/light.less +5 -0
  362. package/styles/common.less +3 -3
  363. package/styles/variables.less +2 -2
  364. package/cjs/Calendar/CalendarContext.js +0 -22
  365. package/cjs/Calendar/Table.d.ts +0 -6
  366. package/cjs/Calendar/TableHeaderRow.d.ts +0 -4
  367. package/cjs/Calendar/TableRow.d.ts +0 -7
  368. package/cjs/Calendar/useCalendarState.d.ts +0 -11
  369. package/cjs/Calendar/useCalendarState.js +0 -32
  370. package/cjs/DateRangePicker/DateRangePickerContext.d.ts +0 -10
  371. package/cjs/internals/utils/date/getReversedTimeMeridian.d.ts +0 -8
  372. package/cjs/internals/utils/date/getReversedTimeMeridian.js +0 -21
  373. package/cjs/internals/utils/scrollTopAnimation.d.ts +0 -5
  374. package/cjs/internals/utils/scrollTopAnimation.js +0 -32
  375. package/cjs/locales/default.d.ts +0 -120
  376. package/cjs/locales/default.js +0 -87
  377. package/esm/Calendar/CalendarContext.js +0 -17
  378. package/esm/Calendar/Table.d.ts +0 -6
  379. package/esm/Calendar/TableHeaderRow.d.ts +0 -4
  380. package/esm/Calendar/TableRow.d.ts +0 -7
  381. package/esm/Calendar/TimeDropdown.js +0 -192
  382. package/esm/Calendar/useCalendarState.d.ts +0 -11
  383. package/esm/Calendar/useCalendarState.js +0 -28
  384. package/esm/DateRangePicker/DateRangePickerContext.d.ts +0 -10
  385. package/esm/internals/utils/date/getReversedTimeMeridian.d.ts +0 -8
  386. package/esm/internals/utils/date/getReversedTimeMeridian.js +0 -17
  387. package/esm/internals/utils/scrollTopAnimation.d.ts +0 -5
  388. package/esm/internals/utils/scrollTopAnimation.js +0 -27
  389. package/esm/locales/default.d.ts +0 -120
  390. package/esm/locales/default.js +0 -82
  391. package/locales/default/package.json +0 -7
  392. /package/cjs/Calendar/{utils.d.ts → utils/getAriaLabel.d.ts} +0 -0
  393. /package/esm/Calendar/{utils.d.ts → utils/getAriaLabel.d.ts} +0 -0
@@ -2,7 +2,7 @@ import React from 'react';
2
2
  import CalendarContainer from './CalendarContainer';
3
3
  import type { CalendarLocale } from '../locales';
4
4
  import type { RsRefForwardingComponent, WithAsProps } from '../internals/types';
5
- import type { MonthDropdownProps } from './CalendarContext';
5
+ import type { MonthDropdownProps } from './types';
6
6
  export interface CalendarProps extends WithAsProps {
7
7
  /**
8
8
  * Controlled value
@@ -2,14 +2,14 @@
2
2
  import _extends from "@babel/runtime/helpers/esm/extends";
3
3
  import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
4
4
  var _excluded = ["as", "bordered", "className", "classPrefix", "compact", "defaultValue", "isoWeek", "weekStart", "locale", "onChange", "onMonthChange", "onSelect", "renderCell", "value", "cellClassName"];
5
- import React, { useCallback } from 'react';
5
+ import React from 'react';
6
6
  import PropTypes from 'prop-types';
7
- import isSameMonth from 'date-fns/isSameMonth';
7
+ import { isSameMonth, startOfDay } from "../internals/utils/date/index.js";
8
8
  import CalendarContainer from "./CalendarContainer.js";
9
- import useCalendarDate from "./useCalendarDate.js";
10
9
  import Button from "../Button/index.js";
11
10
  import { FormattedDate } from "../CustomProvider/index.js";
12
- import { useClassNames, useCustom } from "../internals/hooks/index.js";
11
+ import { useClassNames, useCustom, useEventCallback } from "../internals/hooks/index.js";
12
+ import { useCalendarDate } from "./hooks/index.js";
13
13
  /**
14
14
  * The Calendar component is used to select dates.
15
15
  * @see https://rsuitejs.com/components/calendar
@@ -23,7 +23,7 @@ var Calendar = /*#__PURE__*/React.forwardRef(function (props, ref) {
23
23
  classPrefix = _props$classPrefix === void 0 ? 'calendar' : _props$classPrefix,
24
24
  compact = props.compact,
25
25
  _props$defaultValue = props.defaultValue,
26
- defaultValue = _props$defaultValue === void 0 ? new Date() : _props$defaultValue,
26
+ defaultValue = _props$defaultValue === void 0 ? startOfDay(new Date()) : _props$defaultValue,
27
27
  isoWeek = props.isoWeek,
28
28
  _props$weekStart = props.weekStart,
29
29
  weekStart = _props$weekStart === void 0 ? 0 : _props$weekStart,
@@ -40,34 +40,37 @@ var Calendar = /*#__PURE__*/React.forwardRef(function (props, ref) {
40
40
  setCalendarDate = _useCalendarDate.setCalendarDate;
41
41
  var _useCustom = useCustom('Calendar', overrideLocale),
42
42
  locale = _useCustom.locale;
43
- var handleChange = useCallback(function (nextValue) {
43
+ var handleChange = useEventCallback(function (nextValue) {
44
44
  setCalendarDate(nextValue);
45
45
  onChange === null || onChange === void 0 ? void 0 : onChange(nextValue);
46
46
  if (!isSameMonth(nextValue, calendarDate)) {
47
47
  onMonthChange === null || onMonthChange === void 0 ? void 0 : onMonthChange(nextValue);
48
48
  }
49
- }, [setCalendarDate, onChange, calendarDate, onMonthChange]);
50
- var handleClickToday = useCallback(function () {
49
+ });
50
+ var handleClickToday = useEventCallback(function () {
51
51
  handleChange(new Date());
52
- }, [handleChange]);
53
- var handleSelect = useCallback(function (nextValue) {
52
+ });
53
+ var handleSelect = useEventCallback(function (nextValue) {
54
54
  onSelect === null || onSelect === void 0 ? void 0 : onSelect(nextValue);
55
55
  handleChange(nextValue);
56
- }, [handleChange, onSelect]);
56
+ });
57
57
  var _useClassNames = useClassNames(classPrefix),
58
58
  prefix = _useClassNames.prefix,
59
59
  merge = _useClassNames.merge,
60
60
  withClassPrefix = _useClassNames.withClassPrefix;
61
- var renderToolbar = useCallback(function () {
61
+ var renderToolbar = function renderToolbar() {
62
62
  return /*#__PURE__*/React.createElement(Button, {
63
63
  className: prefix('btn-today'),
64
64
  size: "sm",
65
65
  onClick: handleClickToday
66
66
  }, locale.today || 'Today');
67
- }, [handleClickToday, locale.today, prefix]);
68
- var customRenderCell = useCallback(function (date) {
69
- return renderCell === null || renderCell === void 0 ? void 0 : renderCell(date);
70
- }, [renderCell]);
67
+ };
68
+ var renderTitle = function renderTitle(date) {
69
+ return /*#__PURE__*/React.createElement(FormattedDate, {
70
+ date: date,
71
+ formatStr: locale.formattedMonthPattern || 'MMMM yyyy'
72
+ });
73
+ };
71
74
  var classes = merge(className, withClassPrefix('panel', {
72
75
  bordered: bordered,
73
76
  compact: compact
@@ -82,14 +85,9 @@ var Calendar = /*#__PURE__*/React.forwardRef(function (props, ref) {
82
85
  calendarDate: calendarDate,
83
86
  limitEndYear: 1000,
84
87
  locale: locale,
85
- renderTitle: function renderTitle(date) {
86
- return /*#__PURE__*/React.createElement(FormattedDate, {
87
- date: date,
88
- formatStr: locale.formattedMonthPattern || 'MMMM yyyy'
89
- });
90
- },
88
+ renderTitle: renderTitle,
91
89
  renderToolbar: renderToolbar,
92
- renderCell: customRenderCell,
90
+ renderCell: renderCell,
93
91
  cellClassName: cellClassName,
94
92
  onMoveForward: handleChange,
95
93
  onMoveBackward: handleChange,
@@ -5,8 +5,8 @@ var _excluded = ["as", "className", "classPrefix"];
5
5
  import React from 'react';
6
6
  import { getWeekStartDates, setDate } from "../internals/utils/date/index.js";
7
7
  import { useClassNames, useCustom } from "../internals/hooks/index.js";
8
- import Table from "./Table.js";
9
- import { useCalendarContext } from "./CalendarContext.js";
8
+ import Grid from "./Grid/index.js";
9
+ import { useCalendar } from "./hooks/index.js";
10
10
  var CalendarBody = /*#__PURE__*/React.forwardRef(function (props, ref) {
11
11
  var _props$as = props.as,
12
12
  Component = _props$as === void 0 ? 'div' : _props$as,
@@ -14,12 +14,12 @@ var CalendarBody = /*#__PURE__*/React.forwardRef(function (props, ref) {
14
14
  _props$classPrefix = props.classPrefix,
15
15
  classPrefix = _props$classPrefix === void 0 ? 'calendar-body' : _props$classPrefix,
16
16
  rest = _objectWithoutPropertiesLoose(props, _excluded);
17
- var _useCalendarContext = useCalendarContext(),
18
- _useCalendarContext$d = _useCalendarContext.date,
19
- date = _useCalendarContext$d === void 0 ? new Date() : _useCalendarContext$d,
20
- isoWeek = _useCalendarContext.isoWeek,
21
- overrideLocale = _useCalendarContext.locale,
22
- weekStart = _useCalendarContext.weekStart;
17
+ var _useCalendar = useCalendar(),
18
+ _useCalendar$date = _useCalendar.date,
19
+ date = _useCalendar$date === void 0 ? new Date() : _useCalendar$date,
20
+ isoWeek = _useCalendar.isoWeek,
21
+ overrideLocale = _useCalendar.locale,
22
+ weekStart = _useCalendar.weekStart;
23
23
  var _useCustom = useCustom('Calendar', overrideLocale),
24
24
  locale = _useCustom.locale,
25
25
  formatDate = _useCustom.formatDate;
@@ -31,7 +31,7 @@ var CalendarBody = /*#__PURE__*/React.forwardRef(function (props, ref) {
31
31
  return /*#__PURE__*/React.createElement(Component, _extends({}, rest, {
32
32
  ref: ref,
33
33
  className: classes
34
- }), /*#__PURE__*/React.createElement(Table, {
34
+ }), /*#__PURE__*/React.createElement(Grid, {
35
35
  rows: getWeekStartDates(thisMonthDate, {
36
36
  isoWeek: isoWeek,
37
37
  weekStart: weekStart,
@@ -2,8 +2,8 @@ import React, { HTMLAttributes } from 'react';
2
2
  import { CalendarHeaderProps } from './CalendarHeader';
3
3
  import { RsRefForwardingComponent, WithAsProps } from '../internals/types';
4
4
  import { CalendarLocale } from '../locales';
5
- import { MonthDropdownProps } from './CalendarContext';
6
- import { CalendarState } from './useCalendarState';
5
+ import { CalendarState } from './hooks';
6
+ import { MonthDropdownProps } from './types';
7
7
  export interface CalendarProps extends WithAsProps, Omit<HTMLAttributes<HTMLDivElement>, 'onSelect' | 'onChange' | 'onMouseMove'>, CalendarHeaderProps {
8
8
  /**
9
9
  * The panel render based on date range
@@ -21,6 +21,10 @@ export interface CalendarProps extends WithAsProps, Omit<HTMLAttributes<HTMLDivE
21
21
  * Whether to show week numbers
22
22
  */
23
23
  showWeekNumbers?: boolean;
24
+ /**
25
+ * Whether to show meridiem
26
+ */
27
+ showMeridiem?: boolean;
24
28
  /**
25
29
  * Whether inline mode
26
30
  */
@@ -71,6 +75,10 @@ export interface CalendarProps extends WithAsProps, Omit<HTMLAttributes<HTMLDivE
71
75
  * @see https://en.wikipedia.org/wiki/ISO_week_date
72
76
  */
73
77
  isoWeek?: boolean;
78
+ /**
79
+ * The index of the calendar
80
+ */
81
+ index?: number;
74
82
  /**
75
83
  * the index of the first day of the week (0 - Sunday)
76
84
  * If `isoWeek` is `true`, the value of `weekStart` is ignored.
@@ -1,18 +1,18 @@
1
1
  'use client';
2
2
  import _extends from "@babel/runtime/helpers/esm/extends";
3
3
  import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
4
- var _excluded = ["as", "className", "classPrefix", "calendarDate", "dateRange", "disabledBackward", "defaultState", "disabledForward", "format", "hoverRangeValue", "inline", "isoWeek", "weekStart", "targetId", "limitEndYear", "limitStartYear", "locale", "monthDropdownProps", "showMeridian", "showWeekNumbers", "cellClassName", "disabledDate", "onChangeMonth", "onChangeTime", "onMouseMove", "onMoveBackward", "onMoveForward", "onSelect", "onToggleMeridian", "onToggleMonthDropdown", "onToggleTimeDropdown", "renderCell", "renderCellOnPicker", "renderTitle", "renderToolbar"];
4
+ var _excluded = ["as", "className", "classPrefix", "calendarDate", "dateRange", "disabledBackward", "defaultState", "disabledForward", "format", "hoverRangeValue", "inline", "isoWeek", "weekStart", "targetId", "limitEndYear", "limitStartYear", "locale", "monthDropdownProps", "showMeridiem", "showWeekNumbers", "cellClassName", "disabledDate", "onChangeMonth", "onChangeTime", "onMouseMove", "onMoveBackward", "onMoveForward", "onSelect", "onToggleMonthDropdown", "onToggleTimeDropdown", "renderCell", "renderCellOnPicker", "renderTitle", "renderToolbar"];
5
5
  import React, { useMemo } from 'react';
6
6
  import pick from 'lodash/pick';
7
7
  import MonthDropdown from "./MonthDropdown.js";
8
- import TimeDropdown from "./TimeDropdown.js";
8
+ import TimeDropdown from "./TimeDropdown/index.js";
9
9
  import CalendarBody from "./CalendarBody.js";
10
10
  import CalendarHeader from "./CalendarHeader.js";
11
11
  import { useClassNames, useEventCallback } from "../internals/hooks/index.js";
12
- import { disableTime, addMonths, shouldRenderDate, shouldRenderTime, shouldRenderMonth, isSameMonth, calendarOnlyProps, omitHideDisabledProps, isValid } from "../internals/utils/date/index.js";
13
- import { CalendarProvider } from "./CalendarContext.js";
14
- import useCalendarState, { CalendarState } from "./useCalendarState.js";
15
- import AngleUpIcon from '@rsuite/icons/legacy/AngleUp';
12
+ import { startOfToday, disableTime, isSameMonth, calendarOnlyProps, omitHideDisabledProps, DateMode, useDateMode, isValid } from "../internals/utils/date/index.js";
13
+ import { CalendarProvider } from "./CalendarProvider.js";
14
+ import { useCalendarState, CalendarState } from "./hooks/index.js";
15
+ import ArrowUpIcon from '@rsuite/icons/ArrowUp';
16
16
  var CalendarContainer = /*#__PURE__*/React.forwardRef(function (props, ref) {
17
17
  var _props$as = props.as,
18
18
  Component = _props$as === void 0 ? 'div' : _props$as,
@@ -36,7 +36,7 @@ var CalendarContainer = /*#__PURE__*/React.forwardRef(function (props, ref) {
36
36
  limitStartYear = props.limitStartYear,
37
37
  locale = props.locale,
38
38
  monthDropdownProps = props.monthDropdownProps,
39
- showMeridian = props.showMeridian,
39
+ showMeridiem = props.showMeridiem,
40
40
  showWeekNumbers = props.showWeekNumbers,
41
41
  cellClassName = props.cellClassName,
42
42
  disabledDate = props.disabledDate,
@@ -46,7 +46,6 @@ var CalendarContainer = /*#__PURE__*/React.forwardRef(function (props, ref) {
46
46
  onMoveBackward = props.onMoveBackward,
47
47
  onMoveForward = props.onMoveForward,
48
48
  onSelect = props.onSelect,
49
- onToggleMeridian = props.onToggleMeridian,
50
49
  onToggleMonthDropdown = props.onToggleMonthDropdown,
51
50
  onToggleTimeDropdown = props.onToggleTimeDropdown,
52
51
  renderCell = props.renderCell,
@@ -58,63 +57,42 @@ var CalendarContainer = /*#__PURE__*/React.forwardRef(function (props, ref) {
58
57
  withClassPrefix = _useClassNames.withClassPrefix,
59
58
  merge = _useClassNames.merge,
60
59
  prefix = _useClassNames.prefix;
61
- var _useCalendarState = useCalendarState(defaultState),
62
- calendarState = _useCalendarState.calendarState,
63
- reset = _useCalendarState.reset,
64
- openMonth = _useCalendarState.openMonth,
65
- openTime = _useCalendarState.openTime;
66
60
  var calendarDate = useMemo(function () {
67
- return isValid(calendarDateProp) ? calendarDateProp : new Date();
61
+ return isValid(calendarDateProp) ? calendarDateProp : startOfToday();
68
62
  }, [calendarDateProp]);
69
- var isDateDisabled = useEventCallback(function (date) {
63
+ var _useCalendarState = useCalendarState({
64
+ defaultState: defaultState,
65
+ calendarDate: calendarDate,
66
+ onMoveForward: onMoveForward,
67
+ onMoveBackward: onMoveBackward,
68
+ onToggleTimeDropdown: onToggleTimeDropdown,
69
+ onToggleMonthDropdown: onToggleMonthDropdown
70
+ }),
71
+ calendarState = _useCalendarState.calendarState,
72
+ reset = _useCalendarState.reset,
73
+ handlers = _useCalendarState.handlers;
74
+ var isDateDisabled = function isDateDisabled(date) {
70
75
  var _disabledDate;
71
76
  return (_disabledDate = disabledDate === null || disabledDate === void 0 ? void 0 : disabledDate(date)) !== null && _disabledDate !== void 0 ? _disabledDate : false;
72
- });
77
+ };
73
78
  var isTimeDisabled = function isTimeDisabled(date) {
74
79
  return disableTime(props, date);
75
80
  };
76
- var handleMoveForward = useEventCallback(function () {
77
- onMoveForward === null || onMoveForward === void 0 ? void 0 : onMoveForward(addMonths(calendarDate, 1));
78
- });
79
- var handleMoveBackward = useEventCallback(function () {
80
- onMoveBackward === null || onMoveBackward === void 0 ? void 0 : onMoveBackward(addMonths(calendarDate, -1));
81
- });
82
-
83
- // It is displayed as the month to be selected.
84
- var toggleMonthView = useEventCallback(function () {
85
- if (calendarState === CalendarState.MONTH) {
86
- reset();
87
- } else {
88
- openMonth();
89
- }
90
- onToggleMonthDropdown === null || onToggleMonthDropdown === void 0 ? void 0 : onToggleMonthDropdown(calendarState !== CalendarState.MONTH);
91
- });
92
-
93
- // It is displayed as a time to be selected.
94
- var toggleTimeView = useEventCallback(function () {
95
- if (calendarState === CalendarState.TIME) {
96
- reset();
97
- } else {
98
- openTime();
99
- }
100
- onToggleTimeDropdown === null || onToggleTimeDropdown === void 0 ? void 0 : onToggleTimeDropdown(calendarState !== CalendarState.TIME);
101
- });
102
81
  var handleCloseDropdown = useEventCallback(function () {
103
82
  return reset();
104
83
  });
105
- var renderDate = shouldRenderDate(format);
106
- var renderTime = shouldRenderTime(format);
107
- var renderMonth = shouldRenderMonth(format);
108
- var onlyShowTime = renderTime && !renderDate && !renderMonth;
109
- var onlyShowMonth = renderMonth && !renderDate && !renderTime;
110
- var showTime = calendarState === CalendarState.TIME || onlyShowTime;
111
- var showMonth = calendarState === CalendarState.MONTH || onlyShowMonth;
84
+ var _useDateMode = useDateMode(format),
85
+ mode = _useDateMode.mode,
86
+ has = _useDateMode.has;
87
+ var timeMode = calendarState === CalendarState.TIME || mode === DateMode.Time;
88
+ var monthMode = calendarState === CalendarState.MONTH || mode === DateMode.Month;
112
89
  var inSameThisMonthDate = function inSameThisMonthDate(date) {
113
90
  return isSameMonth(calendarDate, date);
114
91
  };
115
92
  var calendarClasses = merge(className, withClassPrefix({
116
- 'time-view': showTime,
117
- 'month-view': showMonth,
93
+ 'time-view': timeMode,
94
+ 'month-view': monthMode,
95
+ 'only-time': mode === DateMode.Time,
118
96
  'show-week-numbers': showWeekNumbers
119
97
  }));
120
98
  var timeDropdownProps = pick(rest, calendarOnlyProps);
@@ -151,34 +129,28 @@ var CalendarContainer = /*#__PURE__*/React.forwardRef(function (props, ref) {
151
129
  }, omitHideDisabledProps(rest), {
152
130
  className: calendarClasses,
153
131
  ref: ref
154
- }), /*#__PURE__*/React.createElement(CalendarHeader, {
155
- showMonth: renderMonth,
156
- showDate: renderDate,
157
- showTime: renderTime,
158
- showMeridian: showMeridian,
132
+ }), mode !== DateMode.Time && /*#__PURE__*/React.createElement(CalendarHeader, _extends({}, handlers, {
133
+ showMonth: has('month'),
134
+ showDate: has('day'),
135
+ showTime: has('time'),
159
136
  disabledTime: isTimeDisabled,
160
- onMoveForward: handleMoveForward,
161
- onMoveBackward: handleMoveBackward,
162
- onToggleMonthDropdown: toggleMonthView,
163
- onToggleTimeDropdown: toggleTimeView,
164
- onToggleMeridian: onToggleMeridian,
165
137
  renderTitle: renderTitle,
166
138
  renderToolbar: renderToolbar,
167
139
  disabledBackward: disabledBackward,
168
140
  disabledForward: disabledForward
169
- }), renderDate && /*#__PURE__*/React.createElement(CalendarBody, null), renderMonth && /*#__PURE__*/React.createElement(MonthDropdown, {
170
- show: showMonth,
141
+ })), has('day') && /*#__PURE__*/React.createElement(CalendarBody, null), has('month') && /*#__PURE__*/React.createElement(MonthDropdown, {
142
+ show: monthMode,
171
143
  limitEndYear: limitEndYear,
172
144
  limitStartYear: limitStartYear,
173
145
  disabledMonth: isDateDisabled
174
- }), renderTime && /*#__PURE__*/React.createElement(TimeDropdown, _extends({}, timeDropdownProps, {
175
- show: showTime,
176
- showMeridian: showMeridian
177
- })), (showMonth || showTime) && renderDate && /*#__PURE__*/React.createElement("button", {
146
+ }), has('time') && /*#__PURE__*/React.createElement(TimeDropdown, _extends({}, timeDropdownProps, {
147
+ show: timeMode,
148
+ showMeridiem: showMeridiem
149
+ })), (monthMode || timeMode) && has('day') && /*#__PURE__*/React.createElement("button", {
178
150
  className: prefix('btn-close'),
179
151
  onClick: handleCloseDropdown,
180
- "aria-label": "Collapse " + (showMonth ? 'month' : 'time') + " view"
181
- }, /*#__PURE__*/React.createElement(AngleUpIcon, null))));
152
+ "aria-label": "Collapse " + (monthMode ? 'month' : 'time') + " view"
153
+ }, /*#__PURE__*/React.createElement(ArrowUpIcon, null))));
182
154
  });
183
155
  CalendarContainer.displayName = 'CalendarContainer';
184
156
  export default CalendarContainer;
@@ -3,8 +3,6 @@ import { RsRefForwardingComponent, WithAsProps } from '../internals/types';
3
3
  export interface CalendarHeaderProps {
4
4
  disabledBackward?: boolean;
5
5
  disabledForward?: boolean;
6
- showMeridian?: boolean;
7
- onToggleMeridian?: (event: React.MouseEvent) => void;
8
6
  renderTitle?: (date: Date) => React.ReactNode;
9
7
  renderToolbar?: (date: Date) => React.ReactNode;
10
8
  }
@@ -1,16 +1,17 @@
1
1
  'use client';
2
2
  import _extends from "@babel/runtime/helpers/esm/extends";
3
3
  import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
4
- var _excluded = ["as", "className", "classPrefix", "disabledBackward", "disabledForward", "showDate", "showMeridian", "showMonth", "showTime", "disabledTime", "onMoveBackward", "onMoveForward", "onToggleMeridian", "onToggleMonthDropdown", "onToggleTimeDropdown", "renderTitle", "renderToolbar"];
5
- import React, { useCallback } from 'react';
4
+ var _excluded = ["as", "className", "classPrefix", "disabledBackward", "disabledForward", "showDate", "showMonth", "showTime", "disabledTime", "onMoveBackward", "onMoveForward", "onToggleMonthDropdown", "onToggleTimeDropdown", "renderTitle", "renderToolbar"];
5
+ import React, { useMemo } from 'react';
6
6
  import AngleLeftIcon from '@rsuite/icons/legacy/AngleLeft';
7
7
  import AngleRightIcon from '@rsuite/icons/legacy/AngleRight';
8
8
  import IconButton from "../IconButton/index.js";
9
9
  import Button from "../Button/index.js";
10
10
  import { useClassNames } from "../internals/hooks/index.js";
11
+ import { extractTimeFormat } from "../internals/utils/date/index.js";
11
12
  import { FormattedDate } from "../CustomProvider/index.js";
12
- import { useCalendarContext } from "./CalendarContext.js";
13
- import { useDateRangePickerContext } from "../DateRangePicker/DateRangePickerContext.js";
13
+ import { useCalendar } from "./hooks/index.js";
14
+ import { useDateRangePicker } from "../DateRangePicker/hooks/index.js";
14
15
  var CalendarHeader = /*#__PURE__*/React.forwardRef(function (props, ref) {
15
16
  var _props$as = props.as,
16
17
  Component = _props$as === void 0 ? 'div' : _props$as,
@@ -20,28 +21,26 @@ var CalendarHeader = /*#__PURE__*/React.forwardRef(function (props, ref) {
20
21
  disabledBackward = props.disabledBackward,
21
22
  disabledForward = props.disabledForward,
22
23
  showDate = props.showDate,
23
- showMeridian = props.showMeridian,
24
24
  showMonth = props.showMonth,
25
25
  showTime = props.showTime,
26
26
  disabledTime = props.disabledTime,
27
27
  onMoveBackward = props.onMoveBackward,
28
28
  onMoveForward = props.onMoveForward,
29
- onToggleMeridian = props.onToggleMeridian,
30
29
  onToggleMonthDropdown = props.onToggleMonthDropdown,
31
30
  onToggleTimeDropdown = props.onToggleTimeDropdown,
32
31
  renderTitleProp = props.renderTitle,
33
32
  renderToolbar = props.renderToolbar,
34
33
  rest = _objectWithoutPropertiesLoose(props, _excluded);
35
- var _useCalendarContext = useCalendarContext(),
36
- locale = _useCalendarContext.locale,
37
- _useCalendarContext$d = _useCalendarContext.date,
38
- date = _useCalendarContext$d === void 0 ? new Date() : _useCalendarContext$d,
39
- format = _useCalendarContext.format,
40
- inline = _useCalendarContext.inline,
41
- disabledDate = _useCalendarContext.disabledDate,
42
- targetId = _useCalendarContext.targetId;
43
- var _useDateRangePickerCo = useDateRangePickerContext(),
44
- isSelectedIdle = _useDateRangePickerCo.isSelectedIdle;
34
+ var _useCalendar = useCalendar(),
35
+ locale = _useCalendar.locale,
36
+ _useCalendar$date = _useCalendar.date,
37
+ date = _useCalendar$date === void 0 ? new Date() : _useCalendar$date,
38
+ format = _useCalendar.format,
39
+ inline = _useCalendar.inline,
40
+ disabledDate = _useCalendar.disabledDate,
41
+ targetId = _useCalendar.targetId;
42
+ var _useDateRangePicker = useDateRangePicker(),
43
+ isSelectedIdle = _useDateRangePicker.isSelectedIdle;
45
44
  var _useClassNames = useClassNames(classPrefix),
46
45
  prefix = _useClassNames.prefix,
47
46
  withClassPrefix = _useClassNames.withClassPrefix,
@@ -50,35 +49,26 @@ var CalendarHeader = /*#__PURE__*/React.forwardRef(function (props, ref) {
50
49
  appearance: 'subtle',
51
50
  size: inline ? 'sm' : 'xs'
52
51
  };
53
- var getTimeFormat = useCallback(function () {
54
- var timeFormat = [];
52
+ var timeFormat = useMemo(function () {
53
+ var defaultTimeFormat = (locale === null || locale === void 0 ? void 0 : locale.shortTimeFormat) || 'HH:mm';
55
54
  if (!format) {
56
- return '';
55
+ return defaultTimeFormat;
57
56
  }
58
- if (/([Hh])/.test(format)) {
59
- timeFormat.push(showMeridian ? 'hh' : 'HH');
60
- }
61
- if (/m/.test(format)) {
62
- timeFormat.push('mm');
63
- }
64
- if (/s/.test(format)) {
65
- timeFormat.push('ss');
66
- }
67
- return timeFormat.join(':');
68
- }, [format, showMeridian]);
69
- var getDateFormat = useCallback(function () {
57
+ return extractTimeFormat(format) || defaultTimeFormat;
58
+ }, [format, locale]);
59
+ var dateFormat = useMemo(function () {
70
60
  if (showMonth) {
71
61
  return (locale === null || locale === void 0 ? void 0 : locale.formattedMonthPattern) || 'yyyy-MM';
72
62
  }
73
63
  return 'yyyy';
74
64
  }, [locale, showMonth]);
75
- var renderTitle = useCallback(function () {
65
+ var renderTitle = function renderTitle() {
76
66
  var _renderTitleProp;
77
67
  return (_renderTitleProp = renderTitleProp === null || renderTitleProp === void 0 ? void 0 : renderTitleProp(date)) !== null && _renderTitleProp !== void 0 ? _renderTitleProp : date && /*#__PURE__*/React.createElement(FormattedDate, {
78
68
  date: date,
79
- formatStr: getDateFormat()
69
+ formatStr: dateFormat
80
70
  });
81
- }, [date, getDateFormat, renderTitleProp]);
71
+ };
82
72
  var dateTitleClasses = prefix('title', 'title-date', {
83
73
  error: disabledDate === null || disabledDate === void 0 ? void 0 : disabledDate(date)
84
74
  });
@@ -130,15 +120,7 @@ var CalendarHeader = /*#__PURE__*/React.forwardRef(function (props, ref) {
130
120
  disabled: disableSelectTime
131
121
  }), date && /*#__PURE__*/React.createElement(FormattedDate, {
132
122
  date: date,
133
- formatStr: getTimeFormat()
134
- })), showMeridian && /*#__PURE__*/React.createElement(Button, _extends({}, btnProps, {
135
- "aria-label": "Toggle meridian",
136
- className: prefix('meridian'),
137
- onClick: onToggleMeridian,
138
- disabled: disableSelectTime
139
- }), date && /*#__PURE__*/React.createElement(FormattedDate, {
140
- date: date,
141
- formatStr: "a"
123
+ formatStr: timeFormat
142
124
  }))), renderToolbar === null || renderToolbar === void 0 ? void 0 : renderToolbar(date));
143
125
  });
144
126
  CalendarHeader.displayName = 'CalendarHeader';
@@ -1,7 +1,7 @@
1
1
  import React from 'react';
2
2
  import { CalendarLocale } from '../locales';
3
3
  import { format } from '../internals/utils/date';
4
- import type { FixedSizeListProps } from '../internals/Windowing';
4
+ import type { MonthDropdownProps } from './types';
5
5
  /**
6
6
  * Represents the inner context value for the Calendar component.
7
7
  */
@@ -9,7 +9,7 @@ export interface CalendarInnerContextValue {
9
9
  /**
10
10
  * The current date of the calendar.
11
11
  */
12
- date: Date;
12
+ date?: Date;
13
13
  /**
14
14
  * The date range selected in the calendar.
15
15
  */
@@ -103,28 +103,9 @@ export interface CalendarInnerContextValue {
103
103
  */
104
104
  cellClassName?: (date: Date) => string | undefined;
105
105
  }
106
- /**
107
- * Props for the MonthDropdown component.
108
- */
109
- export interface MonthDropdownProps extends Partial<FixedSizeListProps> {
110
- /**
111
- * The HTML element or React component to render as the root element of the MonthDropdown.
112
- */
113
- as?: React.ElementType;
114
- /**
115
- * The HTML element or React component to render as each item in the MonthDropdown.
116
- */
117
- itemAs?: React.ElementType;
118
- /**
119
- * The CSS class name to apply to each item in the MonthDropdown.
120
- */
121
- itemClassName?: string;
122
- }
123
106
  export interface CalendarContextValue extends CalendarInnerContextValue {
124
107
  locale: CalendarLocale;
125
108
  formatDate?: typeof format;
126
109
  }
127
- declare const CalendarContext: React.Context<CalendarContextValue>;
110
+ export declare const CalendarContext: React.Context<CalendarContextValue>;
128
111
  export declare const CalendarProvider: React.Provider<CalendarContextValue>;
129
- export declare const useCalendarContext: () => CalendarContextValue;
130
- export default CalendarContext;
@@ -0,0 +1,9 @@
1
+ 'use client';
2
+ import React from 'react';
3
+
4
+ /**
5
+ * Represents the inner context value for the Calendar component.
6
+ */
7
+
8
+ export var CalendarContext = /*#__PURE__*/React.createContext({});
9
+ export var CalendarProvider = CalendarContext.Provider;
@@ -0,0 +1,6 @@
1
+ import { RsRefForwardingComponent, WithAsProps } from '../../internals/types';
2
+ export interface GridProps extends WithAsProps {
3
+ rows: any[];
4
+ }
5
+ declare const Grid: RsRefForwardingComponent<'div', GridProps>;
6
+ export default Grid;
@@ -3,12 +3,11 @@ import _extends from "@babel/runtime/helpers/esm/extends";
3
3
  import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
4
4
  var _excluded = ["as", "className", "classPrefix", "rows"];
5
5
  import React from 'react';
6
- import PropTypes from 'prop-types';
7
- import TableRow from "./TableRow.js";
8
- import TableHeaderRow from "./TableHeaderRow.js";
9
- import { useClassNames } from "../internals/hooks/index.js";
10
- import { useCalendarContext } from "./CalendarContext.js";
11
- var Table = /*#__PURE__*/React.forwardRef(function (props, ref) {
6
+ import GridRow from "./GridRow.js";
7
+ import GridHeaderRow from "./GridHeaderRow.js";
8
+ import { useClassNames } from "../../internals/hooks/index.js";
9
+ import { useCalendar } from "../hooks/index.js";
10
+ var Grid = /*#__PURE__*/React.forwardRef(function (props, ref) {
12
11
  var _props$as = props.as,
13
12
  Component = _props$as === void 0 ? 'div' : _props$as,
14
13
  className = props.className,
@@ -21,8 +20,8 @@ var Table = /*#__PURE__*/React.forwardRef(function (props, ref) {
21
20
  merge = _useClassNames.merge,
22
21
  withClassPrefix = _useClassNames.withClassPrefix;
23
22
  var classes = merge(className, withClassPrefix());
24
- var _useCalendarContext = useCalendarContext(),
25
- targetId = _useCalendarContext.targetId;
23
+ var _useCalendar = useCalendar(),
24
+ targetId = _useCalendar.targetId;
26
25
  return /*#__PURE__*/React.createElement(Component, _extends({
27
26
  role: "grid",
28
27
  tabIndex: -1,
@@ -30,18 +29,13 @@ var Table = /*#__PURE__*/React.forwardRef(function (props, ref) {
30
29
  }, rest, {
31
30
  ref: ref,
32
31
  className: classes
33
- }), /*#__PURE__*/React.createElement(TableHeaderRow, null), rows.map(function (week, index) {
34
- return /*#__PURE__*/React.createElement(TableRow, {
32
+ }), /*#__PURE__*/React.createElement(GridHeaderRow, null), rows.map(function (week, index) {
33
+ return /*#__PURE__*/React.createElement(GridRow, {
35
34
  key: index,
36
35
  weekendDate: week,
37
36
  rowIndex: index + 1
38
37
  });
39
38
  }));
40
39
  });
41
- Table.displayName = 'CalendarTable';
42
- Table.propTypes = {
43
- rows: PropTypes.array,
44
- className: PropTypes.string,
45
- classPrefix: PropTypes.string
46
- };
47
- export default Table;
40
+ Grid.displayName = 'CalendarGrid';
41
+ export default Grid;
@@ -1,6 +1,6 @@
1
1
  import React from 'react';
2
- import { RsRefForwardingComponent, WithAsProps } from '../internals/types';
3
- export interface TableCellProps extends WithAsProps {
2
+ import { RsRefForwardingComponent, WithAsProps } from '../../internals/types';
3
+ export interface GridCellProps extends WithAsProps {
4
4
  date: Date;
5
5
  disabled?: boolean;
6
6
  selected?: boolean;
@@ -10,5 +10,5 @@ export interface TableCellProps extends WithAsProps {
10
10
  inRange?: boolean;
11
11
  onSelect?: (date: Date, disabled: boolean | void, event: React.MouseEvent) => void;
12
12
  }
13
- declare const TableCell: RsRefForwardingComponent<'div', TableCellProps>;
14
- export default TableCell;
13
+ declare const GridCell: RsRefForwardingComponent<'div', GridCellProps>;
14
+ export default GridCell;