rsuite 5.71.0 → 5.73.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 (478) 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 +34 -0
  9. package/Calendar/styles/index.css +71 -44
  10. package/Calendar/styles/index.less +54 -28
  11. package/Cascader/styles/index.css +11 -0
  12. package/CheckPicker/styles/index.css +11 -1
  13. package/CheckTree/styles/index.css +11 -0
  14. package/CheckTreePicker/styles/index.css +11 -0
  15. package/DatePicker/styles/index.css +89 -49
  16. package/DatePicker/styles/index.less +8 -5
  17. package/DateRangePicker/styles/index.css +93 -54
  18. package/DateRangePicker/styles/index.less +7 -6
  19. package/InputPicker/styles/index.css +11 -1
  20. package/MultiCascadeTree/styles/index.css +11 -0
  21. package/MultiCascader/styles/index.css +11 -0
  22. package/Pagination/styles/index.css +11 -1
  23. package/Panel/styles/index.css +20 -6
  24. package/SelectPicker/styles/index.css +11 -1
  25. package/TagInput/styles/index.css +11 -1
  26. package/TagPicker/styles/index.css +11 -1
  27. package/TimePicker/package.json +7 -0
  28. package/TimePicker/styles/index.css +4155 -0
  29. package/TimePicker/styles/index.less +1 -0
  30. package/TimeRangePicker/package.json +7 -0
  31. package/TimeRangePicker/styles/index.css +4255 -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 +28 -46
  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/{esm/Calendar/TableCell.d.ts → cjs/Calendar/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/MonthDropdown.d.ts +11 -0
  53. package/cjs/Calendar/{MonthDropdown.js → MonthDropdown/MonthDropdown.js} +19 -25
  54. package/cjs/Calendar/{MonthDropdownItem.d.ts → MonthDropdown/MonthDropdownItem.d.ts} +1 -1
  55. package/cjs/Calendar/{MonthDropdownItem.js → MonthDropdown/MonthDropdownItem.js} +11 -11
  56. package/cjs/Calendar/MonthDropdown/index.d.ts +2 -0
  57. package/cjs/Calendar/MonthDropdown/index.js +8 -0
  58. package/cjs/Calendar/TimeDropdown/TimeColumn.d.ts +8 -0
  59. package/cjs/Calendar/TimeDropdown/TimeColumn.js +27 -0
  60. package/{esm/Calendar → cjs/Calendar/TimeDropdown}/TimeDropdown.d.ts +2 -25
  61. package/cjs/Calendar/{TimeDropdown.js → TimeDropdown/TimeDropdown.js} +79 -112
  62. package/cjs/Calendar/TimeDropdown/index.d.ts +2 -0
  63. package/cjs/Calendar/TimeDropdown/index.js +8 -0
  64. package/cjs/Calendar/TimeDropdown/utils/formatWithLeadingZero.d.ts +1 -0
  65. package/cjs/Calendar/TimeDropdown/utils/formatWithLeadingZero.js +8 -0
  66. package/cjs/Calendar/TimeDropdown/utils/getClockTime.d.ts +11 -0
  67. package/cjs/Calendar/TimeDropdown/utils/getClockTime.js +43 -0
  68. package/cjs/Calendar/TimeDropdown/utils/getTimeLimits.d.ts +11 -0
  69. package/cjs/Calendar/TimeDropdown/utils/getTimeLimits.js +24 -0
  70. package/cjs/Calendar/TimeDropdown/utils/index.d.ts +4 -0
  71. package/cjs/Calendar/TimeDropdown/utils/index.js +23 -0
  72. package/cjs/Calendar/TimeDropdown/utils/scrollToTime.d.ts +2 -0
  73. package/cjs/Calendar/TimeDropdown/utils/scrollToTime.js +28 -0
  74. package/cjs/Calendar/hooks/index.d.ts +3 -0
  75. package/cjs/Calendar/hooks/index.js +24 -0
  76. package/cjs/Calendar/hooks/useCalendar.d.ts +2 -0
  77. package/cjs/Calendar/hooks/useCalendar.js +10 -0
  78. package/cjs/Calendar/{useCalendarDate.d.ts → hooks/useCalendarDate.d.ts} +1 -2
  79. package/cjs/Calendar/{useCalendarDate.js → hooks/useCalendarDate.js} +8 -8
  80. package/cjs/Calendar/hooks/useCalendarState.d.ts +22 -0
  81. package/cjs/Calendar/hooks/useCalendarState.js +60 -0
  82. package/cjs/Calendar/index.d.ts +2 -4
  83. package/cjs/Calendar/index.js +2 -4
  84. package/cjs/Calendar/types.d.ts +19 -0
  85. package/cjs/Calendar/types.js +4 -0
  86. package/cjs/Calendar/{utils.js → utils/getAriaLabel.js} +1 -1
  87. package/cjs/Calendar/utils/index.d.ts +2 -0
  88. package/cjs/Calendar/utils/index.js +9 -0
  89. package/cjs/Calendar/utils/isEveryDateInMonth.d.ts +1 -0
  90. package/cjs/Calendar/utils/isEveryDateInMonth.js +15 -0
  91. package/cjs/CascadeTree/TreeView.js +3 -3
  92. package/cjs/CustomProvider/CustomProvider.d.ts +38 -4
  93. package/cjs/CustomProvider/CustomProvider.js +20 -6
  94. package/cjs/DateInput/DateField.js +2 -2
  95. package/cjs/DateInput/DateInput.js +17 -6
  96. package/cjs/DateInput/hooks/useDateInputState.js +1 -1
  97. package/cjs/DatePicker/DatePicker.d.ts +6 -2
  98. package/cjs/DatePicker/DatePicker.js +58 -67
  99. package/cjs/DatePicker/utils.js +1 -1
  100. package/cjs/DateRangeInput/DateRangeInput.js +16 -5
  101. package/cjs/DateRangePicker/Calendar.d.ts +4 -5
  102. package/cjs/DateRangePicker/Calendar.js +18 -44
  103. package/cjs/DateRangePicker/DateRangePicker.d.ts +21 -4
  104. package/cjs/DateRangePicker/DateRangePicker.js +98 -72
  105. package/cjs/DateRangePicker/DateRangePickerProvider.d.ts +10 -0
  106. package/cjs/DateRangePicker/{DateRangePickerContext.js → DateRangePickerProvider.js} +3 -3
  107. package/cjs/DateRangePicker/hooks/index.d.ts +3 -0
  108. package/cjs/DateRangePicker/hooks/index.js +11 -0
  109. package/cjs/DateRangePicker/hooks/useCalendarHandlers.d.ts +17 -0
  110. package/cjs/DateRangePicker/hooks/useCalendarHandlers.js +43 -0
  111. package/cjs/DateRangePicker/hooks/useDateDisabled.d.ts +1 -1
  112. package/cjs/DateRangePicker/hooks/useDateDisabled.js +1 -0
  113. package/cjs/DateRangePicker/hooks/useDateRangePicker.d.ts +2 -0
  114. package/cjs/DateRangePicker/hooks/useDateRangePicker.js +10 -0
  115. package/cjs/DateRangePicker/utils.js +1 -1
  116. package/cjs/Dropdown/Dropdown.d.ts +1 -1
  117. package/cjs/Dropdown/DropdownItem.d.ts +1 -1
  118. package/cjs/Dropdown/DropdownMenu.d.ts +1 -1
  119. package/cjs/Dropdown/DropdownMenu.js +3 -3
  120. package/cjs/Dropdown/DropdownToggle.d.ts +1 -1
  121. package/cjs/FormHelpText/FormHelpText.js +2 -2
  122. package/cjs/IconButton/IconButton.d.ts +1 -1
  123. package/cjs/InlineEdit/renderChildren.d.ts +1 -1
  124. package/cjs/InlineEdit/renderChildren.js +13 -4
  125. package/cjs/InlineEdit/useFocusEvent.d.ts +2 -2
  126. package/cjs/InlineEdit/useFocusEvent.js +9 -4
  127. package/cjs/MultiCascadeTree/TreeView.js +3 -3
  128. package/cjs/Nav/NavDropdownItem.d.ts +1 -1
  129. package/cjs/Nav/NavDropdownMenu.d.ts +1 -1
  130. package/cjs/Nav/NavDropdownMenu.js +3 -3
  131. package/cjs/Nav/NavItem.d.ts +1 -1
  132. package/cjs/Navbar/NavbarDropdown.d.ts +1 -1
  133. package/cjs/Navbar/NavbarDropdownItem.d.ts +1 -1
  134. package/cjs/Navbar/NavbarDropdownMenu.d.ts +1 -1
  135. package/cjs/Navbar/NavbarDropdownMenu.js +3 -3
  136. package/cjs/Navbar/NavbarItem.d.ts +1 -1
  137. package/cjs/Pagination/Pagination.js +5 -5
  138. package/cjs/Panel/AccordionButton.js +2 -2
  139. package/cjs/Sidenav/ExpandedSidenavDropdown.d.ts +1 -1
  140. package/cjs/Sidenav/ExpandedSidenavDropdownItem.d.ts +1 -1
  141. package/cjs/Sidenav/ExpandedSidenavDropdownMenu.d.ts +1 -1
  142. package/cjs/Sidenav/SidenavDropdown.d.ts +1 -1
  143. package/cjs/Sidenav/SidenavDropdownItem.d.ts +1 -1
  144. package/cjs/Sidenav/SidenavDropdownMenu.d.ts +1 -1
  145. package/cjs/Sidenav/SidenavItem.d.ts +1 -1
  146. package/cjs/Sidenav/SidenavToggle.js +3 -3
  147. package/cjs/Steps/StepItem.d.ts +1 -1
  148. package/cjs/TimePicker/TimePicker.d.ts +81 -0
  149. package/cjs/TimePicker/TimePicker.js +31 -0
  150. package/cjs/TimePicker/index.d.ts +3 -0
  151. package/cjs/TimePicker/index.js +8 -0
  152. package/cjs/TimeRangePicker/TimeRangePicker.d.ts +77 -0
  153. package/cjs/TimeRangePicker/TimeRangePicker.js +23 -0
  154. package/cjs/TimeRangePicker/index.d.ts +3 -0
  155. package/cjs/TimeRangePicker/index.js +8 -0
  156. package/cjs/index.d.ts +4 -0
  157. package/cjs/index.js +6 -1
  158. package/cjs/internals/Picker/ListItemGroup.js +1 -1
  159. package/cjs/internals/Picker/Listbox.js +4 -2
  160. package/cjs/internals/Picker/PickerIndicator.js +2 -2
  161. package/cjs/internals/Picker/PickerToggle.d.ts +1 -1
  162. package/cjs/internals/SearchBox/SearchBox.js +1 -1
  163. package/cjs/internals/constants/statusIcons.js +7 -7
  164. package/cjs/internals/hooks/useCustom.js +2 -2
  165. package/cjs/internals/hooks/useToggleCaret.d.ts +1 -1
  166. package/cjs/internals/utils/date/extractTimeFormat.d.ts +4 -0
  167. package/cjs/internals/utils/date/extractTimeFormat.js +12 -0
  168. package/cjs/internals/utils/date/formatCheck.d.ts +4 -0
  169. package/cjs/internals/utils/date/formatCheck.js +8 -1
  170. package/cjs/internals/utils/date/index.d.ts +4 -2
  171. package/cjs/internals/utils/date/index.js +72 -7
  172. package/cjs/internals/utils/date/useDateMode.d.ts +16 -0
  173. package/cjs/internals/utils/date/useDateMode.js +57 -0
  174. package/cjs/internals/utils/index.d.ts +0 -1
  175. package/cjs/internals/utils/index.js +1 -4
  176. package/cjs/locales/ar_EG.d.ts +10 -0
  177. package/cjs/locales/ar_EG.js +8 -4
  178. package/cjs/locales/ca_ES.d.ts +10 -0
  179. package/cjs/locales/ca_ES.js +8 -4
  180. package/cjs/locales/cs_CZ.d.ts +10 -0
  181. package/cjs/locales/cs_CZ.js +8 -4
  182. package/cjs/locales/da_DK.d.ts +10 -0
  183. package/cjs/locales/da_DK.js +8 -4
  184. package/cjs/locales/de_DE.d.ts +10 -0
  185. package/cjs/locales/de_DE.js +8 -4
  186. package/cjs/locales/en_GB.d.ts +130 -2
  187. package/cjs/locales/en_GB.js +85 -2
  188. package/cjs/locales/en_US.d.ts +10 -0
  189. package/cjs/locales/en_US.js +8 -4
  190. package/cjs/locales/es_AR.d.ts +10 -0
  191. package/cjs/locales/es_AR.js +8 -4
  192. package/cjs/locales/es_ES.d.ts +10 -0
  193. package/cjs/locales/es_ES.js +8 -4
  194. package/cjs/locales/fa_IR.d.ts +10 -0
  195. package/cjs/locales/fa_IR.js +8 -4
  196. package/cjs/locales/fi_FI.d.ts +10 -0
  197. package/cjs/locales/fi_FI.js +8 -4
  198. package/cjs/locales/fr_FR.d.ts +10 -0
  199. package/cjs/locales/fr_FR.js +8 -4
  200. package/cjs/locales/hu_HU.d.ts +12 -0
  201. package/cjs/locales/hu_HU.js +11 -5
  202. package/cjs/locales/index.d.ts +1 -1
  203. package/cjs/locales/it_IT.d.ts +10 -0
  204. package/cjs/locales/it_IT.js +8 -4
  205. package/cjs/locales/ja_JP.d.ts +10 -0
  206. package/cjs/locales/ja_JP.js +8 -4
  207. package/cjs/locales/kk_KZ.d.ts +10 -0
  208. package/cjs/locales/kk_KZ.js +8 -4
  209. package/cjs/locales/ko_KR.d.ts +10 -0
  210. package/cjs/locales/ko_KR.js +8 -4
  211. package/cjs/locales/ne_NP.d.ts +10 -0
  212. package/cjs/locales/ne_NP.js +8 -4
  213. package/cjs/locales/nl_NL.d.ts +10 -0
  214. package/cjs/locales/nl_NL.js +8 -4
  215. package/cjs/locales/pt_BR.d.ts +10 -0
  216. package/cjs/locales/pt_BR.js +8 -4
  217. package/cjs/locales/ru_RU.d.ts +10 -0
  218. package/cjs/locales/ru_RU.js +8 -4
  219. package/cjs/locales/sv_SE.d.ts +10 -0
  220. package/cjs/locales/sv_SE.js +8 -4
  221. package/cjs/locales/tr_TR.d.ts +10 -0
  222. package/cjs/locales/tr_TR.js +8 -4
  223. package/cjs/locales/zh_CN.d.ts +10 -0
  224. package/cjs/locales/zh_CN.js +8 -4
  225. package/cjs/locales/zh_TW.d.ts +10 -0
  226. package/cjs/locales/zh_TW.js +8 -4
  227. package/dist/rsuite-no-reset-rtl.css +116 -60
  228. package/dist/rsuite-no-reset-rtl.min.css +1 -1
  229. package/dist/rsuite-no-reset-rtl.min.css.map +1 -1
  230. package/dist/rsuite-no-reset.css +116 -60
  231. package/dist/rsuite-no-reset.min.css +1 -1
  232. package/dist/rsuite-no-reset.min.css.map +1 -1
  233. package/dist/rsuite-rtl.css +116 -60
  234. package/dist/rsuite-rtl.min.css +1 -1
  235. package/dist/rsuite-rtl.min.css.map +1 -1
  236. package/dist/rsuite.css +116 -60
  237. package/dist/rsuite.js +822 -5375
  238. package/dist/rsuite.js.map +1 -1
  239. package/dist/rsuite.min.css +1 -1
  240. package/dist/rsuite.min.css.map +1 -1
  241. package/dist/rsuite.min.js +1 -1
  242. package/dist/rsuite.min.js.map +1 -1
  243. package/esm/Calendar/Calendar.d.ts +1 -1
  244. package/esm/Calendar/Calendar.js +21 -23
  245. package/esm/Calendar/CalendarBody.js +9 -9
  246. package/esm/Calendar/CalendarContainer.d.ts +10 -2
  247. package/esm/Calendar/CalendarContainer.js +42 -70
  248. package/esm/Calendar/CalendarHeader.d.ts +0 -2
  249. package/esm/Calendar/CalendarHeader.js +29 -47
  250. package/esm/Calendar/{CalendarContext.d.ts → CalendarProvider.d.ts} +3 -22
  251. package/esm/Calendar/CalendarProvider.js +9 -0
  252. package/esm/Calendar/Grid/Grid.d.ts +6 -0
  253. package/esm/Calendar/{Table.js → Grid/Grid.js} +11 -17
  254. package/{cjs/Calendar/TableCell.d.ts → esm/Calendar/Grid/GridCell.d.ts} +4 -4
  255. package/esm/Calendar/{TableCell.js → Grid/GridCell.js} +13 -13
  256. package/esm/Calendar/Grid/GridHeaderRow.d.ts +4 -0
  257. package/esm/Calendar/{TableHeaderRow.js → Grid/GridHeaderRow.js} +11 -11
  258. package/esm/Calendar/Grid/GridRow.d.ts +7 -0
  259. package/esm/Calendar/{TableRow.js → Grid/GridRow.js} +21 -21
  260. package/esm/Calendar/Grid/index.d.ts +2 -0
  261. package/esm/Calendar/Grid/index.js +3 -0
  262. package/esm/Calendar/MonthDropdown/MonthDropdown.d.ts +11 -0
  263. package/esm/Calendar/{MonthDropdown.js → MonthDropdown/MonthDropdown.js} +18 -23
  264. package/esm/Calendar/{MonthDropdownItem.d.ts → MonthDropdown/MonthDropdownItem.d.ts} +1 -1
  265. package/esm/Calendar/{MonthDropdownItem.js → MonthDropdown/MonthDropdownItem.js} +12 -12
  266. package/esm/Calendar/MonthDropdown/index.d.ts +2 -0
  267. package/esm/Calendar/MonthDropdown/index.js +3 -0
  268. package/esm/Calendar/TimeDropdown/TimeColumn.d.ts +8 -0
  269. package/esm/Calendar/TimeDropdown/TimeColumn.js +22 -0
  270. package/{cjs/Calendar → esm/Calendar/TimeDropdown}/TimeDropdown.d.ts +2 -25
  271. package/esm/Calendar/TimeDropdown/TimeDropdown.js +161 -0
  272. package/esm/Calendar/TimeDropdown/index.d.ts +2 -0
  273. package/esm/Calendar/TimeDropdown/index.js +3 -0
  274. package/esm/Calendar/TimeDropdown/utils/formatWithLeadingZero.d.ts +1 -0
  275. package/esm/Calendar/TimeDropdown/utils/formatWithLeadingZero.js +4 -0
  276. package/esm/Calendar/TimeDropdown/utils/getClockTime.d.ts +11 -0
  277. package/esm/Calendar/TimeDropdown/utils/getClockTime.js +39 -0
  278. package/esm/Calendar/TimeDropdown/utils/getTimeLimits.d.ts +11 -0
  279. package/esm/Calendar/TimeDropdown/utils/getTimeLimits.js +20 -0
  280. package/esm/Calendar/TimeDropdown/utils/index.d.ts +4 -0
  281. package/esm/Calendar/TimeDropdown/utils/index.js +5 -0
  282. package/esm/Calendar/TimeDropdown/utils/scrollToTime.d.ts +2 -0
  283. package/esm/Calendar/TimeDropdown/utils/scrollToTime.js +23 -0
  284. package/esm/Calendar/hooks/index.d.ts +3 -0
  285. package/esm/Calendar/hooks/index.js +4 -0
  286. package/esm/Calendar/hooks/useCalendar.d.ts +2 -0
  287. package/esm/Calendar/hooks/useCalendar.js +6 -0
  288. package/esm/Calendar/{useCalendarDate.d.ts → hooks/useCalendarDate.d.ts} +1 -2
  289. package/esm/Calendar/{useCalendarDate.js → hooks/useCalendarDate.js} +7 -7
  290. package/esm/Calendar/hooks/useCalendarState.d.ts +22 -0
  291. package/esm/Calendar/hooks/useCalendarState.js +56 -0
  292. package/esm/Calendar/index.d.ts +2 -4
  293. package/esm/Calendar/index.js +2 -3
  294. package/esm/Calendar/types.d.ts +19 -0
  295. package/esm/Calendar/types.js +2 -0
  296. package/esm/Calendar/{utils.js → utils/getAriaLabel.js} +1 -1
  297. package/esm/Calendar/utils/index.d.ts +2 -0
  298. package/esm/Calendar/utils/index.js +3 -0
  299. package/esm/Calendar/utils/isEveryDateInMonth.d.ts +1 -0
  300. package/esm/Calendar/utils/isEveryDateInMonth.js +11 -0
  301. package/esm/CascadeTree/TreeView.js +3 -3
  302. package/esm/CustomProvider/CustomProvider.d.ts +38 -4
  303. package/esm/CustomProvider/CustomProvider.js +20 -6
  304. package/esm/DateInput/DateField.js +2 -2
  305. package/esm/DateInput/DateInput.js +17 -6
  306. package/esm/DateInput/hooks/useDateInputState.js +1 -1
  307. package/esm/DatePicker/DatePicker.d.ts +6 -2
  308. package/esm/DatePicker/DatePicker.js +30 -38
  309. package/esm/DatePicker/hooks/useFocus.js +1 -1
  310. package/esm/DatePicker/utils.js +2 -2
  311. package/esm/DateRangeInput/DateRangeInput.js +16 -5
  312. package/esm/DateRangePicker/Calendar.d.ts +4 -5
  313. package/esm/DateRangePicker/Calendar.js +19 -47
  314. package/esm/DateRangePicker/DateRangePicker.d.ts +21 -4
  315. package/esm/DateRangePicker/DateRangePicker.js +99 -73
  316. package/esm/DateRangePicker/DateRangePickerProvider.d.ts +10 -0
  317. package/esm/DateRangePicker/{DateRangePickerContext.js → DateRangePickerProvider.js} +2 -2
  318. package/esm/DateRangePicker/hooks/index.d.ts +3 -0
  319. package/esm/DateRangePicker/hooks/index.js +4 -0
  320. package/esm/DateRangePicker/hooks/useCalendarHandlers.d.ts +17 -0
  321. package/esm/DateRangePicker/hooks/useCalendarHandlers.js +38 -0
  322. package/esm/DateRangePicker/hooks/useDateDisabled.d.ts +1 -1
  323. package/esm/DateRangePicker/hooks/useDateDisabled.js +1 -1
  324. package/esm/DateRangePicker/hooks/useDateRangePicker.d.ts +2 -0
  325. package/esm/DateRangePicker/hooks/useDateRangePicker.js +6 -0
  326. package/esm/DateRangePicker/utils.js +2 -2
  327. package/esm/Dropdown/Dropdown.d.ts +1 -1
  328. package/esm/Dropdown/DropdownItem.d.ts +1 -1
  329. package/esm/Dropdown/DropdownMenu.d.ts +1 -1
  330. package/esm/Dropdown/DropdownMenu.js +3 -3
  331. package/esm/Dropdown/DropdownToggle.d.ts +1 -1
  332. package/esm/FormHelpText/FormHelpText.js +2 -2
  333. package/esm/IconButton/IconButton.d.ts +1 -1
  334. package/esm/InlineEdit/renderChildren.d.ts +1 -1
  335. package/esm/InlineEdit/renderChildren.js +13 -4
  336. package/esm/InlineEdit/useFocusEvent.d.ts +2 -2
  337. package/esm/InlineEdit/useFocusEvent.js +9 -4
  338. package/esm/MultiCascadeTree/TreeView.js +3 -3
  339. package/esm/Nav/NavDropdownItem.d.ts +1 -1
  340. package/esm/Nav/NavDropdownMenu.d.ts +1 -1
  341. package/esm/Nav/NavDropdownMenu.js +3 -3
  342. package/esm/Nav/NavItem.d.ts +1 -1
  343. package/esm/Navbar/NavbarDropdown.d.ts +1 -1
  344. package/esm/Navbar/NavbarDropdownItem.d.ts +1 -1
  345. package/esm/Navbar/NavbarDropdownMenu.d.ts +1 -1
  346. package/esm/Navbar/NavbarDropdownMenu.js +3 -3
  347. package/esm/Navbar/NavbarItem.d.ts +1 -1
  348. package/esm/Pagination/Pagination.js +10 -10
  349. package/esm/Panel/AccordionButton.js +1 -1
  350. package/esm/Sidenav/ExpandedSidenavDropdown.d.ts +1 -1
  351. package/esm/Sidenav/ExpandedSidenavDropdownItem.d.ts +1 -1
  352. package/esm/Sidenav/ExpandedSidenavDropdownMenu.d.ts +1 -1
  353. package/esm/Sidenav/SidenavDropdown.d.ts +1 -1
  354. package/esm/Sidenav/SidenavDropdownItem.d.ts +1 -1
  355. package/esm/Sidenav/SidenavDropdownMenu.d.ts +1 -1
  356. package/esm/Sidenav/SidenavItem.d.ts +1 -1
  357. package/esm/Sidenav/SidenavToggle.js +3 -3
  358. package/esm/Steps/StepItem.d.ts +1 -1
  359. package/esm/TimePicker/TimePicker.d.ts +81 -0
  360. package/esm/TimePicker/TimePicker.js +24 -0
  361. package/esm/TimePicker/index.d.ts +3 -0
  362. package/esm/TimePicker/index.js +3 -0
  363. package/esm/TimeRangePicker/TimeRangePicker.d.ts +77 -0
  364. package/esm/TimeRangePicker/TimeRangePicker.js +18 -0
  365. package/esm/TimeRangePicker/index.d.ts +3 -0
  366. package/esm/TimeRangePicker/index.js +3 -0
  367. package/esm/index.d.ts +4 -0
  368. package/esm/index.js +2 -0
  369. package/esm/internals/Picker/ListItemGroup.js +2 -2
  370. package/esm/internals/Picker/Listbox.js +4 -2
  371. package/esm/internals/Picker/PickerIndicator.js +1 -1
  372. package/esm/internals/Picker/PickerToggle.d.ts +1 -1
  373. package/esm/internals/SearchBox/SearchBox.js +2 -2
  374. package/esm/internals/constants/statusIcons.js +7 -7
  375. package/esm/internals/hooks/useCustom.js +1 -1
  376. package/esm/internals/hooks/useToggleCaret.d.ts +1 -1
  377. package/esm/internals/utils/date/extractTimeFormat.d.ts +4 -0
  378. package/esm/internals/utils/date/extractTimeFormat.js +8 -0
  379. package/esm/internals/utils/date/formatCheck.d.ts +4 -0
  380. package/esm/internals/utils/date/formatCheck.js +7 -0
  381. package/esm/internals/utils/date/index.d.ts +4 -2
  382. package/esm/internals/utils/date/index.js +4 -2
  383. package/esm/internals/utils/date/useDateMode.d.ts +16 -0
  384. package/esm/internals/utils/date/useDateMode.js +54 -0
  385. package/esm/internals/utils/index.d.ts +0 -1
  386. package/esm/internals/utils/index.js +0 -1
  387. package/esm/locales/ar_EG.d.ts +10 -0
  388. package/esm/locales/ar_EG.js +8 -4
  389. package/esm/locales/ca_ES.d.ts +10 -0
  390. package/esm/locales/ca_ES.js +8 -4
  391. package/esm/locales/cs_CZ.d.ts +10 -0
  392. package/esm/locales/cs_CZ.js +8 -4
  393. package/esm/locales/da_DK.d.ts +10 -0
  394. package/esm/locales/da_DK.js +8 -4
  395. package/esm/locales/de_DE.d.ts +10 -0
  396. package/esm/locales/de_DE.js +8 -4
  397. package/esm/locales/en_GB.d.ts +130 -2
  398. package/esm/locales/en_GB.js +85 -2
  399. package/esm/locales/en_US.d.ts +10 -0
  400. package/esm/locales/en_US.js +8 -4
  401. package/esm/locales/es_AR.d.ts +10 -0
  402. package/esm/locales/es_AR.js +8 -4
  403. package/esm/locales/es_ES.d.ts +10 -0
  404. package/esm/locales/es_ES.js +8 -4
  405. package/esm/locales/fa_IR.d.ts +10 -0
  406. package/esm/locales/fa_IR.js +8 -4
  407. package/esm/locales/fi_FI.d.ts +10 -0
  408. package/esm/locales/fi_FI.js +8 -4
  409. package/esm/locales/fr_FR.d.ts +10 -0
  410. package/esm/locales/fr_FR.js +8 -4
  411. package/esm/locales/hu_HU.d.ts +12 -0
  412. package/esm/locales/hu_HU.js +11 -5
  413. package/esm/locales/index.d.ts +1 -1
  414. package/esm/locales/it_IT.d.ts +10 -0
  415. package/esm/locales/it_IT.js +8 -4
  416. package/esm/locales/ja_JP.d.ts +10 -0
  417. package/esm/locales/ja_JP.js +8 -4
  418. package/esm/locales/kk_KZ.d.ts +10 -0
  419. package/esm/locales/kk_KZ.js +8 -4
  420. package/esm/locales/ko_KR.d.ts +10 -0
  421. package/esm/locales/ko_KR.js +8 -4
  422. package/esm/locales/ne_NP.d.ts +10 -0
  423. package/esm/locales/ne_NP.js +8 -4
  424. package/esm/locales/nl_NL.d.ts +10 -0
  425. package/esm/locales/nl_NL.js +8 -4
  426. package/esm/locales/pt_BR.d.ts +10 -0
  427. package/esm/locales/pt_BR.js +8 -4
  428. package/esm/locales/ru_RU.d.ts +10 -0
  429. package/esm/locales/ru_RU.js +8 -4
  430. package/esm/locales/sv_SE.d.ts +10 -0
  431. package/esm/locales/sv_SE.js +8 -4
  432. package/esm/locales/tr_TR.d.ts +10 -0
  433. package/esm/locales/tr_TR.js +8 -4
  434. package/esm/locales/zh_CN.d.ts +10 -0
  435. package/esm/locales/zh_CN.js +8 -4
  436. package/esm/locales/zh_TW.d.ts +10 -0
  437. package/esm/locales/zh_TW.js +8 -4
  438. package/internals/Picker/styles/index.less +17 -0
  439. package/internals/Picker/styles/mixin.less +0 -1
  440. package/internals/ScrollView/styles/index.less +1 -5
  441. package/package.json +2 -2
  442. package/styles/color-modes/dark.less +5 -0
  443. package/styles/color-modes/high-contrast.less +5 -0
  444. package/styles/color-modes/light.less +5 -0
  445. package/styles/common.less +3 -3
  446. package/styles/variables.less +3 -3
  447. package/cjs/Calendar/CalendarContext.js +0 -22
  448. package/cjs/Calendar/MonthDropdown.d.ts +0 -27
  449. package/cjs/Calendar/Table.d.ts +0 -6
  450. package/cjs/Calendar/TableHeaderRow.d.ts +0 -4
  451. package/cjs/Calendar/TableRow.d.ts +0 -7
  452. package/cjs/Calendar/useCalendarState.d.ts +0 -11
  453. package/cjs/Calendar/useCalendarState.js +0 -32
  454. package/cjs/DateRangePicker/DateRangePickerContext.d.ts +0 -10
  455. package/cjs/internals/utils/date/getReversedTimeMeridian.d.ts +0 -8
  456. package/cjs/internals/utils/date/getReversedTimeMeridian.js +0 -21
  457. package/cjs/internals/utils/scrollTopAnimation.d.ts +0 -5
  458. package/cjs/internals/utils/scrollTopAnimation.js +0 -32
  459. package/cjs/locales/default.d.ts +0 -120
  460. package/cjs/locales/default.js +0 -87
  461. package/esm/Calendar/CalendarContext.js +0 -17
  462. package/esm/Calendar/MonthDropdown.d.ts +0 -27
  463. package/esm/Calendar/Table.d.ts +0 -6
  464. package/esm/Calendar/TableHeaderRow.d.ts +0 -4
  465. package/esm/Calendar/TableRow.d.ts +0 -7
  466. package/esm/Calendar/TimeDropdown.js +0 -192
  467. package/esm/Calendar/useCalendarState.d.ts +0 -11
  468. package/esm/Calendar/useCalendarState.js +0 -28
  469. package/esm/DateRangePicker/DateRangePickerContext.d.ts +0 -10
  470. package/esm/internals/utils/date/getReversedTimeMeridian.d.ts +0 -8
  471. package/esm/internals/utils/date/getReversedTimeMeridian.js +0 -17
  472. package/esm/internals/utils/scrollTopAnimation.d.ts +0 -5
  473. package/esm/internals/utils/scrollTopAnimation.js +0 -27
  474. package/esm/locales/default.d.ts +0 -120
  475. package/esm/locales/default.js +0 -82
  476. package/locales/default/package.json +0 -7
  477. /package/cjs/Calendar/{utils.d.ts → utils/getAriaLabel.d.ts} +0 -0
  478. /package/esm/Calendar/{utils.d.ts → utils/getAriaLabel.d.ts} +0 -0
@@ -3,15 +3,16 @@ import _taggedTemplateLiteralLoose from "@babel/runtime/helpers/esm/taggedTempla
3
3
  import _extends from "@babel/runtime/helpers/esm/extends";
4
4
  import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
5
5
  var _templateObject, _templateObject2;
6
- var _excluded = ["as", "className", "classPrefix", "calendarDefaultDate", "cleanable", "caretAs", "editable", "defaultValue", "disabled", "readOnly", "plaintext", "format", "id", "isoWeek", "weekStart", "limitEndYear", "limitStartYear", "locale", "loading", "label", "menuClassName", "menuStyle", "appearance", "placement", "oneTap", "placeholder", "ranges", "value", "showMeridian", "showWeekNumbers", "style", "size", "monthDropdownProps", "shouldDisableDate", "shouldDisableHour", "shouldDisableMinute", "shouldDisableSecond", "onChange", "onChangeCalendarDate", "onClean", "onEnter", "onExit", "onNextMonth", "onOk", "onPrevMonth", "onSelect", "onToggleMonthDropdown", "onToggleTimeDropdown", "onShortcutClick", "renderCell", "renderValue", "disabledDate", "disabledHours", "disabledMinutes", "disabledSeconds"];
6
+ var _excluded = ["as", "className", "classPrefix", "calendarDefaultDate", "cleanable", "caretAs", "editable", "defaultValue", "disabled", "readOnly", "plaintext", "format", "id", "isoWeek", "weekStart", "limitEndYear", "limitStartYear", "locale", "loading", "label", "menuClassName", "menuStyle", "appearance", "placement", "oneTap", "placeholder", "ranges", "value", "showMeridian", "showMeridiem", "showWeekNumbers", "style", "size", "monthDropdownProps", "shouldDisableDate", "shouldDisableHour", "shouldDisableMinute", "shouldDisableSecond", "onChange", "onChangeCalendarDate", "onClean", "onEnter", "onExit", "onNextMonth", "onOk", "onPrevMonth", "onSelect", "onToggleMonthDropdown", "onToggleTimeDropdown", "onShortcutClick", "renderCell", "renderValue", "disabledDate", "disabledHours", "disabledMinutes", "disabledSeconds"];
7
7
  import React, { useMemo } from 'react';
8
8
  import PropTypes from 'prop-types';
9
9
  import mapValues from 'lodash/mapValues';
10
10
  import pick from 'lodash/pick';
11
- import IconCalendar from '@rsuite/icons/legacy/Calendar';
12
- import IconClockO from '@rsuite/icons/legacy/ClockO';
11
+ import CalendarIcon from '@rsuite/icons/Calendar';
12
+ import TimeIcon from '@rsuite/icons/Time';
13
13
  import CalendarContainer from "../Calendar/CalendarContainer.js";
14
- import useCalendarDate from "../Calendar/useCalendarDate.js";
14
+ import { useCalendarDate } from "../Calendar/hooks/index.js";
15
+ import { isEveryDateInMonth } from "../Calendar/utils/index.js";
15
16
  import Toolbar from "./Toolbar.js";
16
17
  import Stack from "../Stack/index.js";
17
18
  import PredefinedRanges from "./PredefinedRanges.js";
@@ -20,13 +21,13 @@ import InputGroup from "../InputGroup/index.js";
20
21
  import useMonthView from "./hooks/useMonthView.js";
21
22
  import useFocus from "./hooks/useFocus.js";
22
23
  import useCustomizedInput from "./hooks/useCustomizedInput.js";
23
- import { isEveryDateInMonth } from "../Calendar/MonthDropdown.js";
24
24
  import { mergeRefs, partitionHTMLProps, createChainedFunction } from "../internals/utils/index.js";
25
25
  import { useClassNames, useControlled, useCustom, useUniqueId, useEventCallback } from "../internals/hooks/index.js";
26
- import { shouldRenderMonth, shouldRenderDate, shouldRenderTime, shouldOnlyRenderTime, setHours, getHours, isValid, copyTime, disableTime, calendarOnlyProps } from "../internals/utils/date/index.js";
26
+ import { isValid, copyTime, disableTime, DateMode, useDateMode, calendarOnlyProps } from "../internals/utils/date/index.js";
27
27
  import { PickerPopup, PickerLabel, PickerIndicator, PickerToggleTrigger, pickerPropTypes, pickTriggerPropKeys, usePickerClassName, usePickerRef, onMenuKeyDown } from "../internals/Picker/index.js";
28
28
  import { OverlayCloseCause } from "../internals/Overlay/OverlayTrigger.js";
29
29
  import { splitRanges, deprecatedPropTypes, getRestProps } from "./utils.js";
30
+ import { startOfToday } from "../internals/utils/date/index.js";
30
31
  /**
31
32
  * A date picker allows users to select a date from a calendar.
32
33
  *
@@ -49,8 +50,7 @@ var DatePicker = /*#__PURE__*/React.forwardRef(function (props, ref) {
49
50
  disabled = props.disabled,
50
51
  readOnly = props.readOnly,
51
52
  plaintext = props.plaintext,
52
- _props$format = props.format,
53
- formatStr = _props$format === void 0 ? 'yyyy-MM-dd' : _props$format,
53
+ format = props.format,
54
54
  idProp = props.id,
55
55
  isoWeek = props.isoWeek,
56
56
  _props$weekStart = props.weekStart,
@@ -72,7 +72,9 @@ var DatePicker = /*#__PURE__*/React.forwardRef(function (props, ref) {
72
72
  placeholder = _props$placeholder === void 0 ? '' : _props$placeholder,
73
73
  ranges = props.ranges,
74
74
  valueProp = props.value,
75
- showMeridian = props.showMeridian,
75
+ DEPRECATED_showMeridian = props.showMeridian,
76
+ _props$showMeridiem = props.showMeridiem,
77
+ showMeridiem = _props$showMeridiem === void 0 ? DEPRECATED_showMeridian : _props$showMeridiem,
76
78
  showWeekNumbers = props.showWeekNumbers,
77
79
  style = props.style,
78
80
  size = props.size,
@@ -108,6 +110,7 @@ var DatePicker = /*#__PURE__*/React.forwardRef(function (props, ref) {
108
110
  overlay = _usePickerRef.overlay;
109
111
  var _useCustom = useCustom('DatePicker', overrideLocale),
110
112
  locale = _useCustom.locale;
113
+ var formatStr = format || locale.shortDateFormat || 'yyyy-MM-dd';
111
114
  var _useClassNames = useClassNames(classPrefix),
112
115
  merge = _useClassNames.merge,
113
116
  prefix = _useClassNames.prefix;
@@ -124,10 +127,11 @@ var DatePicker = /*#__PURE__*/React.forwardRef(function (props, ref) {
124
127
  setMonthView = _useMonthView.setMonthView,
125
128
  monthView = _useMonthView.monthView,
126
129
  toggleMonthView = _useMonthView.toggleMonthView;
130
+ var _useDateMode = useDateMode(formatStr),
131
+ mode = _useDateMode.mode;
127
132
 
128
133
  // Show only the calendar month panel. formatStr = 'yyyy-MM'
129
- var onlyShowMonth = shouldRenderMonth(formatStr) && !shouldRenderDate(formatStr);
130
- var showMonth = onlyShowMonth || monthView;
134
+ var showMonth = mode === DateMode.Month || monthView;
131
135
  var _useFocus = useFocus({
132
136
  target: target,
133
137
  showMonth: showMonth,
@@ -173,7 +177,7 @@ var DatePicker = /*#__PURE__*/React.forwardRef(function (props, ref) {
173
177
  * - If format is month, disable ok button if all dates in the month of selected date are disabled
174
178
  */
175
179
  var isOkButtonDisabled = function isOkButtonDisabled(selectedDate) {
176
- if (shouldRenderMonth(formatStr) && !shouldRenderDate(formatStr)) {
180
+ if (mode === DateMode.Month) {
177
181
  return isMonthDisabled(selectedDate);
178
182
  }
179
183
  return isDatetimeDisabled(selectedDate);
@@ -228,22 +232,12 @@ var DatePicker = /*#__PURE__*/React.forwardRef(function (props, ref) {
228
232
  var _trigger$current, _trigger$current$clos;
229
233
  (_trigger$current = trigger.current) === null || _trigger$current === void 0 ? void 0 : (_trigger$current$clos = _trigger$current.close) === null || _trigger$current$clos === void 0 ? void 0 : _trigger$current$clos.call(_trigger$current);
230
234
  });
231
-
232
- /**
233
- * The callback triggered when PM/AM is switched.
234
- */
235
- var handleToggleMeridian = useEventCallback(function () {
236
- var hours = getHours(calendarDate);
237
- var nextHours = hours >= 12 ? hours - 12 : hours + 12;
238
- var nextDate = setHours(calendarDate, nextHours);
239
- handleChangeTime(nextDate);
240
- });
241
235
  var updateValue = function updateValue(event, date, closeOverlay) {
242
236
  if (closeOverlay === void 0) {
243
237
  closeOverlay = true;
244
238
  }
245
239
  var nextValue = typeof date !== 'undefined' ? date : calendarDate;
246
- setCalendarDate(nextValue || new Date());
240
+ setCalendarDate(nextValue || startOfToday());
247
241
  setValue(nextValue);
248
242
  if (nextValue !== value) {
249
243
  onChange === null || onChange === void 0 ? void 0 : onChange(nextValue, event);
@@ -303,16 +297,15 @@ var DatePicker = /*#__PURE__*/React.forwardRef(function (props, ref) {
303
297
  /**
304
298
  * Callback after the date is selected.
305
299
  */
306
- var handleSelect = useEventCallback(function (nextValue, event, updatableValue) {
300
+ var handleCalendarSelect = useEventCallback(function (date, event, updatableValue) {
307
301
  if (updatableValue === void 0) {
308
302
  updatableValue = true;
309
303
  }
310
- setCalendarDate(
311
- // Determine whether the current value contains time, if not, use calendarDate.
312
- shouldRenderTime(formatStr) ? nextValue : copyTime({
304
+ var nextValue = copyTime({
313
305
  from: calendarDate,
314
- to: nextValue
315
- }));
306
+ to: date
307
+ });
308
+ setCalendarDate(nextValue);
316
309
  handleDateChange(nextValue);
317
310
  if (oneTap && updatableValue) {
318
311
  updateValue(event, nextValue);
@@ -327,7 +320,7 @@ var DatePicker = /*#__PURE__*/React.forwardRef(function (props, ref) {
327
320
  setCalendarDate(nextPageDate);
328
321
  handleDateChange(nextPageDate);
329
322
  focusSelectedDate();
330
- if (oneTap && onlyShowMonth) {
323
+ if (oneTap && mode === DateMode.Month) {
331
324
  updateValue(event, nextPageDate);
332
325
  focusInput();
333
326
  }
@@ -338,7 +331,7 @@ var DatePicker = /*#__PURE__*/React.forwardRef(function (props, ref) {
338
331
  */
339
332
  var handleInputChange = useEventCallback(function (value, event) {
340
333
  if (!isErrorValue(value)) {
341
- handleSelect(value, event);
334
+ handleCalendarSelect(value, event);
342
335
  }
343
336
  updateValue(event, value, false);
344
337
  });
@@ -403,7 +396,7 @@ var DatePicker = /*#__PURE__*/React.forwardRef(function (props, ref) {
403
396
  targetId: id,
404
397
  locale: locale,
405
398
  showWeekNumbers: showWeekNumbers,
406
- showMeridian: showMeridian,
399
+ showMeridiem: showMeridiem,
407
400
  disabledDate: isDateDisabled,
408
401
  disabledHours: shouldDisableHour !== null && shouldDisableHour !== void 0 ? shouldDisableHour : DEPRECATED_disabledHours,
409
402
  disabledMinutes: shouldDisableMinute !== null && shouldDisableMinute !== void 0 ? shouldDisableMinute : DEPRECATED_disabledMinutes,
@@ -418,12 +411,11 @@ var DatePicker = /*#__PURE__*/React.forwardRef(function (props, ref) {
418
411
  renderCellOnPicker: renderCell,
419
412
  onMoveForward: handleMoveForward,
420
413
  onMoveBackward: handleMoveBackward,
421
- onSelect: handleSelect,
414
+ onSelect: handleCalendarSelect,
422
415
  onToggleMonthDropdown: toggleMonthView,
423
416
  onToggleTimeDropdown: onToggleTimeDropdown,
424
417
  onChangeMonth: handleChangeMonth,
425
- onChangeTime: handleChangeTime,
426
- onToggleMeridian: handleToggleMeridian
418
+ onChangeTime: handleChangeTime
427
419
  })), /*#__PURE__*/React.createElement(Toolbar, {
428
420
  locale: locale,
429
421
  ranges: bottomRanges,
@@ -449,8 +441,8 @@ var DatePicker = /*#__PURE__*/React.forwardRef(function (props, ref) {
449
441
  if (caretAsProp === null) {
450
442
  return null;
451
443
  }
452
- return caretAsProp || (shouldOnlyRenderTime(formatStr) ? IconClockO : IconCalendar);
453
- }, [caretAsProp, formatStr]);
444
+ return caretAsProp || (mode === DateMode.Time ? TimeIcon : CalendarIcon);
445
+ }, [caretAsProp, mode]);
454
446
  var handleTriggerClose = useEventCallback(function (cause) {
455
447
  var _props$onClose;
456
448
  // Unless overlay is closing on user clicking "OK" button,
@@ -555,7 +547,7 @@ DatePicker.propTypes = _extends({}, pickerPropTypes, deprecatedPropTypes, {
555
547
  onToggleTimeDropdown: PropTypes.func,
556
548
  oneTap: PropTypes.bool,
557
549
  ranges: PropTypes.array,
558
- showMeridian: PropTypes.bool,
550
+ showMeridiem: PropTypes.bool,
559
551
  showWeekNumbers: PropTypes.bool,
560
552
  value: PropTypes.instanceOf(Date)
561
553
  });
@@ -3,7 +3,7 @@ import delay from 'lodash/delay';
3
3
  import addMonths from 'date-fns/addMonths';
4
4
  import addDays from 'date-fns/addDays';
5
5
  import { useEventCallback, useCustom } from "../../internals/hooks/index.js";
6
- import { getAriaLabel } from "../../Calendar/utils.js";
6
+ import { getAriaLabel } from "../../Calendar/utils/index.js";
7
7
  import { onMenuKeyDown } from "../../internals/Picker/utils.js";
8
8
  function useFocus(props) {
9
9
  var target = props.target,
@@ -6,9 +6,9 @@ import PropTypes from 'prop-types';
6
6
  import omit from 'lodash/omit';
7
7
  import { deprecatePropTypeNew } from "../internals/propTypes/index.js";
8
8
  import { omitTriggerPropKeys } from "../internals/Picker/index.js";
9
- import { subDays, startOfDay, endOfDay, calendarOnlyProps } from "../internals/utils/date/index.js";
9
+ import { subDays, startOfDay, endOfDay, calendarOnlyProps, startOfToday } from "../internals/utils/date/index.js";
10
10
  export function getDefaultRanges(value) {
11
- var today = new Date();
11
+ var today = startOfToday();
12
12
 
13
13
  /**
14
14
  * If it is an array type, it returns the default shortcut key suitable for DateRangePicker Toolbar,
@@ -16,13 +16,16 @@ import { getInputSelectedState, DateType, getDateType, isSwitchDateType } from "
16
16
  * @see https://rsuitejs.com/components/date-range-input/
17
17
  */
18
18
  var DateRangeInput = /*#__PURE__*/React.forwardRef(function (props, ref) {
19
+ var _useCustom = useCustom('Calendar'),
20
+ locale = _useCustom.locale,
21
+ parseDate = _useCustom.parseDate;
19
22
  var className = props.className,
20
23
  _props$classPrefix = props.classPrefix,
21
24
  classPrefix = _props$classPrefix === void 0 ? 'date-range-input' : _props$classPrefix,
22
25
  _props$character = props.character,
23
26
  character = _props$character === void 0 ? ' ~ ' : _props$character,
24
27
  _props$format = props.format,
25
- formatStr = _props$format === void 0 ? 'yyyy-MM-dd' : _props$format,
28
+ formatStr = _props$format === void 0 ? locale.shortDateFormat : _props$format,
26
29
  valueProp = props.value,
27
30
  _props$defaultValue = props.defaultValue,
28
31
  defaultValue = _props$defaultValue === void 0 ? [] : _props$defaultValue,
@@ -41,9 +44,6 @@ var DateRangeInput = /*#__PURE__*/React.forwardRef(function (props, ref) {
41
44
  var _useSelectedState = useSelectedState(),
42
45
  selectedState = _useSelectedState.selectedState,
43
46
  setSelectedState = _useSelectedState.setSelectedState;
44
- var _useCustom = useCustom('Calendar'),
45
- locale = _useCustom.locale,
46
- parseDate = _useCustom.parseDate;
47
47
  var rangeFormatStr = "" + formatStr + character + formatStr;
48
48
  var dateLocale = locale.dateLocale;
49
49
  var _useControlled = useControlled(valueProp, defaultValue),
@@ -103,6 +103,14 @@ var DateRangeInput = /*#__PURE__*/React.forwardRef(function (props, ref) {
103
103
  onChange === null || onChange === void 0 ? void 0 : onChange(nextValue, event);
104
104
  setValue(nextValue);
105
105
  });
106
+ var handleClear = useEventCallback(function (event) {
107
+ startDateState.setNewDate(null);
108
+ endDateState.setNewDate(null);
109
+ setSelectionRange(0, 0);
110
+ reset();
111
+ setValue(null);
112
+ onChange === null || onChange === void 0 ? void 0 : onChange(null, event);
113
+ });
106
114
  var onSegmentChange = useEventCallback(function (event, nextDirection) {
107
115
  var input = event.target;
108
116
  var key = event.key;
@@ -182,7 +190,10 @@ var DateRangeInput = /*#__PURE__*/React.forwardRef(function (props, ref) {
182
190
  });
183
191
  var onSegmentValueRemove = useEventCallback(function (event) {
184
192
  var input = event.target;
185
- if (selectedState.selectedPattern) {
193
+ var value = input.value;
194
+ if (input.selectionStart === 0 && value && input.selectionEnd === value.length) {
195
+ handleClear(event);
196
+ } else if (selectedState.selectedPattern) {
186
197
  var nextState = getInputSelectedState(_extends({}, keyPressOptions, {
187
198
  input: input,
188
199
  valueOffset: null
@@ -1,12 +1,12 @@
1
1
  import React from 'react';
2
- import { CalendarProps as CalendarCoreProps } from '../Calendar/CalendarContainer';
2
+ import { CalendarProps as CalendarContainerProps } from '../Calendar/CalendarContainer';
3
3
  import { DATERANGE_DISABLED_TARGET } from '../internals/constants';
4
4
  import { DateRange } from './types';
5
5
  import { RsRefForwardingComponent, WithAsProps } from '../internals/types';
6
6
  import { DatePickerLocale } from '../locales';
7
- type OmitCalendarCoreTypes = 'disabledDate' | 'onSelect' | 'onMouseMove' | 'calendarDate' | 'format' | 'locale' | 'onToggleMeridian';
8
- export interface CalendarProps extends WithAsProps, Omit<CalendarCoreProps, OmitCalendarCoreTypes> {
9
- calendarDate?: DateRange;
7
+ type OmitCalendarCoreTypes = 'disabledDate' | 'onSelect' | 'onMouseMove' | 'calendarDate' | 'format' | 'locale';
8
+ export interface CalendarProps extends WithAsProps, Omit<CalendarContainerProps, OmitCalendarCoreTypes> {
9
+ calendarDateRange?: DateRange;
10
10
  disabledDate?: (date: Date, selectValue: [] | [Date] | [Date, Date], type: DATERANGE_DISABLED_TARGET) => boolean;
11
11
  format?: string;
12
12
  hoverRangeValue?: DateRange;
@@ -20,7 +20,6 @@ export interface CalendarProps extends WithAsProps, Omit<CalendarCoreProps, Omit
20
20
  value?: [] | [Date] | [Date, Date];
21
21
  onChangeCalendarMonth?: (index: number, date: Date) => void;
22
22
  onChangeCalendarTime?: (index: number, date: Date) => void;
23
- onToggleMeridian: (index: number, event: React.MouseEvent) => void;
24
23
  onSelect?: (index: number, date: Date, event: React.SyntheticEvent) => void;
25
24
  onMouseMove?: (date: Date) => void;
26
25
  }
@@ -1,17 +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", "calendarDate", "format", "disabledDate", "index", "limitEndYear", "limitStartYear", "onChangeCalendarMonth", "onChangeCalendarTime", "onToggleMeridian", "onSelect", "value"];
5
- import React from 'react';
6
- import CalendarCore from "../Calendar/CalendarContainer.js";
7
- import { addMonths } from "../internals/utils/date/index.js";
4
+ var _excluded = ["as", "calendarDateRange", "format", "disabledDate", "index", "limitEndYear", "limitStartYear", "onChangeCalendarMonth", "onChangeCalendarTime", "onSelect", "value"];
5
+ import React, { useCallback } from 'react';
6
+ import CalendarContainer from "../Calendar/CalendarContainer.js";
7
+ import { addMonths, startOfToday } from "../internals/utils/date/index.js";
8
8
  import { DATERANGE_DISABLED_TARGET } from "../internals/constants/index.js";
9
- import { useEventCallback } from "../internals/hooks/index.js";
9
+ import { useCalendarHandlers } from "./hooks/index.js";
10
10
  var Calendar = /*#__PURE__*/React.forwardRef(function (props, ref) {
11
11
  var _props$as = props.as,
12
- Component = _props$as === void 0 ? CalendarCore : _props$as,
13
- _props$calendarDate = props.calendarDate,
14
- calendarDate = _props$calendarDate === void 0 ? [new Date(), addMonths(new Date(), 1)] : _props$calendarDate,
12
+ Component = _props$as === void 0 ? CalendarContainer : _props$as,
13
+ _props$calendarDateRa = props.calendarDateRange,
14
+ calendarDateRange = _props$calendarDateRa === void 0 ? [startOfToday(), addMonths(startOfToday(), 1)] : _props$calendarDateRa,
15
15
  _props$format = props.format,
16
16
  format = _props$format === void 0 ? 'yyyy-MM-dd' : _props$format,
17
17
  disabledDate = props.disabledDate,
@@ -21,57 +21,29 @@ var Calendar = /*#__PURE__*/React.forwardRef(function (props, ref) {
21
21
  limitStartYear = props.limitStartYear,
22
22
  onChangeCalendarMonth = props.onChangeCalendarMonth,
23
23
  onChangeCalendarTime = props.onChangeCalendarTime,
24
- onToggleMeridian = props.onToggleMeridian,
25
24
  onSelect = props.onSelect,
26
25
  _props$value = props.value,
27
26
  value = _props$value === void 0 ? [] : _props$value,
28
27
  rest = _objectWithoutPropertiesLoose(props, _excluded);
29
- var onMoveForward = useEventCallback(function (nextPageDate) {
30
- onChangeCalendarMonth === null || onChangeCalendarMonth === void 0 ? void 0 : onChangeCalendarMonth(index, nextPageDate);
31
- });
32
- var onMoveBackward = useEventCallback(function (nextPageDate) {
33
- onChangeCalendarMonth === null || onChangeCalendarMonth === void 0 ? void 0 : onChangeCalendarMonth(index, nextPageDate);
34
- });
35
- var handleSelect = useEventCallback(function (date, event) {
36
- onSelect === null || onSelect === void 0 ? void 0 : onSelect(index, date, event);
37
- });
38
- var handleChangeMonth = useEventCallback(function (nextPageDate) {
39
- onChangeCalendarMonth === null || onChangeCalendarMonth === void 0 ? void 0 : onChangeCalendarMonth(index, nextPageDate);
40
- });
41
- var handleChangeTime = useEventCallback(function (nextPageDate) {
42
- onChangeCalendarTime === null || onChangeCalendarTime === void 0 ? void 0 : onChangeCalendarTime(index, nextPageDate);
43
- });
44
- var handleToggleMeridian = useEventCallback(function (event) {
45
- onToggleMeridian(index, event);
46
- });
47
- var getCalendarDate = function getCalendarDate() {
48
- return calendarDate[index];
49
- };
50
- var handleMoveForward = useEventCallback(function () {
51
- onMoveForward === null || onMoveForward === void 0 ? void 0 : onMoveForward(addMonths(getCalendarDate(), 1));
52
- });
53
- var handleMoveBackward = useEventCallback(function () {
54
- onMoveBackward === null || onMoveBackward === void 0 ? void 0 : onMoveBackward(addMonths(getCalendarDate(), -1));
28
+ var calendarHandlers = useCalendarHandlers({
29
+ index: index,
30
+ calendarDateRange: calendarDateRange,
31
+ onChangeCalendarMonth: onChangeCalendarMonth,
32
+ onChangeCalendarTime: onChangeCalendarTime,
33
+ onSelect: onSelect
55
34
  });
56
- var disabledMonth = function disabledMonth(date) {
35
+ var disableCalendarDate = useCallback(function (date) {
57
36
  return disabledDate === null || disabledDate === void 0 ? void 0 : disabledDate(date, value, DATERANGE_DISABLED_TARGET.CALENDAR);
58
- };
37
+ }, [disabledDate, value]);
59
38
  return /*#__PURE__*/React.createElement(Component, _extends({
60
39
  "data-testid": "calendar-" + (index === 0 ? 'start' : 'end')
61
- }, rest, {
40
+ }, rest, calendarHandlers, {
41
+ index: index,
62
42
  format: format,
63
43
  dateRange: value,
64
- disabledDate: disabledMonth,
65
- index: index,
44
+ disabledDate: disableCalendarDate,
66
45
  limitEndYear: limitEndYear,
67
46
  limitStartYear: limitStartYear,
68
- onChangeMonth: handleChangeMonth,
69
- onChangeTime: handleChangeTime,
70
- onMoveBackward: handleMoveBackward,
71
- onMoveForward: handleMoveForward,
72
- onToggleMeridian: handleToggleMeridian,
73
- onSelect: handleSelect,
74
- calendarDate: getCalendarDate(),
75
47
  ref: ref
76
48
  }));
77
49
  });
@@ -3,17 +3,18 @@ import { PickerComponent } from '../internals/Picker';
3
3
  import type { DisabledDateFunction, RangeType, DateRange } from './types';
4
4
  import type { FormControlBaseProps, PickerBaseProps } from '../internals/types';
5
5
  import type { DateRangePickerLocale } from '../locales';
6
- import type { MonthDropdownProps } from '../Calendar/CalendarContext';
6
+ import type { MonthDropdownProps } from '../Calendar/types';
7
7
  export interface DateRangePickerProps extends PickerBaseProps<DateRangePickerLocale>, FormControlBaseProps<DateRange | null> {
8
8
  /**
9
9
  * Custom caret component
10
10
  */
11
11
  caretAs?: React.ElementType | null;
12
- /** Predefined date ranges */
12
+ /**
13
+ * Predefined date ranges
14
+ */
13
15
  ranges?: RangeType[];
14
16
  /**
15
17
  * Format of the date displayed in the input box
16
- * @default 'yyyy-MM-dd'
17
18
  */
18
19
  format?: string;
19
20
  /**
@@ -68,9 +69,13 @@ export interface DateRangePickerProps extends PickerBaseProps<DateRangePickerLoc
68
69
  */
69
70
  showOneCalendar?: boolean;
70
71
  /**
71
- * Meridian format
72
+ * @deprecated Use `showMeridiem` instead
72
73
  */
73
74
  showMeridian?: boolean;
75
+ /**
76
+ * Meridiem format for 12-hour time
77
+ */
78
+ showMeridiem?: boolean;
74
79
  /**
75
80
  * Whether to display the formatted date range at the header of the calendar
76
81
  * @default true
@@ -118,6 +123,18 @@ export interface DateRangePickerProps extends PickerBaseProps<DateRangePickerLoc
118
123
  * Whether a date cell is disabled
119
124
  */
120
125
  shouldDisableDate?: DisabledDateFunction;
126
+ /**
127
+ * Disabled hours on the time view
128
+ */
129
+ shouldDisableHour?: (hour: number, date: Date) => boolean;
130
+ /**
131
+ * Disabled minutes on the time view
132
+ */
133
+ shouldDisableMinute?: (minute: number, date: Date) => boolean;
134
+ /**
135
+ * Disabled seconds on the time view
136
+ */
137
+ shouldDisableSecond?: (second: number, date: Date) => boolean;
121
138
  /**
122
139
  * Called when the option is selected
123
140
  */