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
@@ -13,11 +13,11 @@ var _omit = _interopRequireDefault(require("lodash/omit"));
13
13
  var _pick = _interopRequireDefault(require("lodash/pick"));
14
14
  var _propTypes = _interopRequireDefault(require("prop-types"));
15
15
  var _Calendar = _interopRequireDefault(require("@rsuite/icons/legacy/Calendar"));
16
- var _ClockO = _interopRequireDefault(require("@rsuite/icons/legacy/ClockO"));
16
+ var _Time = _interopRequireDefault(require("@rsuite/icons/Time"));
17
17
  var _Toolbar = _interopRequireDefault(require("../DatePicker/Toolbar"));
18
18
  var _PredefinedRanges = _interopRequireDefault(require("../DatePicker/PredefinedRanges"));
19
19
  var _Stack = _interopRequireDefault(require("../Stack"));
20
- var _DateRangePickerContext = _interopRequireDefault(require("./DateRangePickerContext"));
20
+ var _DateRangePickerProvider = require("./DateRangePickerProvider");
21
21
  var _DateRangeInput = _interopRequireDefault(require("../DateRangeInput"));
22
22
  var _InputGroup = _interopRequireDefault(require("../InputGroup"));
23
23
  var _Header = _interopRequireDefault(require("./Header"));
@@ -32,7 +32,7 @@ var _hooks = require("../internals/hooks");
32
32
  var _utils2 = require("../internals/utils");
33
33
  var _date = require("../internals/utils/date");
34
34
  var _templateObject, _templateObject2;
35
- var _excluded = ["as", "classPrefix", "className", "appearance", "editable", "cleanable", "character", "calendarSnapping", "defaultCalendarValue", "defaultValue", "plaintext", "disabled", "disabledDate", "shouldDisableDate", "format", "hoverRange", "id", "isoWeek", "weekStart", "limitEndYear", "limitStartYear", "locale", "loading", "label", "menuClassName", "menuStyle", "oneTap", "placeholder", "placement", "ranges", "readOnly", "showOneCalendar", "showWeekNumbers", "showMeridian", "showHeader", "style", "size", "caretAs", "value", "monthDropdownProps", "hideHours", "hideMinutes", "hideSeconds", "onChange", "onClean", "onEnter", "onExit", "onOk", "onSelect", "onShortcutClick", "renderTitle", "renderValue"];
35
+ var _excluded = ["as", "classPrefix", "className", "appearance", "editable", "cleanable", "character", "calendarSnapping", "defaultCalendarValue", "defaultValue", "plaintext", "disabled", "disabledDate", "shouldDisableDate", "shouldDisableHour", "shouldDisableMinute", "shouldDisableSecond", "format", "hoverRange", "id", "isoWeek", "weekStart", "limitEndYear", "limitStartYear", "locale", "loading", "label", "menuClassName", "menuStyle", "oneTap", "placeholder", "placement", "ranges", "readOnly", "showOneCalendar", "showWeekNumbers", "showMeridian", "showMeridiem", "showHeader", "style", "size", "caretAs", "value", "monthDropdownProps", "hideHours", "hideMinutes", "hideSeconds", "onChange", "onClean", "onEnter", "onExit", "onOk", "onSelect", "onShortcutClick", "renderTitle", "renderValue"];
36
36
  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
37
37
  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
38
38
  /**
@@ -62,8 +62,10 @@ var DateRangePicker = /*#__PURE__*/_react.default.forwardRef(function (props, re
62
62
  disabled = props.disabled,
63
63
  DEPRECATED_disabledDate = props.disabledDate,
64
64
  shouldDisableDate = props.shouldDisableDate,
65
- _props$format = props.format,
66
- formatStr = _props$format === void 0 ? 'yyyy-MM-dd' : _props$format,
65
+ shouldDisableHour = props.shouldDisableHour,
66
+ shouldDisableMinute = props.shouldDisableMinute,
67
+ shouldDisableSecond = props.shouldDisableSecond,
68
+ format = props.format,
67
69
  hoverRange = props.hoverRange,
68
70
  idProp = props.id,
69
71
  _props$isoWeek = props.isoWeek,
@@ -88,7 +90,9 @@ var DateRangePicker = /*#__PURE__*/_react.default.forwardRef(function (props, re
88
90
  _props$showOneCalenda = props.showOneCalendar,
89
91
  showOneCalendar = _props$showOneCalenda === void 0 ? false : _props$showOneCalenda,
90
92
  showWeekNumbers = props.showWeekNumbers,
91
- showMeridian = props.showMeridian,
93
+ DEPRECATED_showMeridian = props.showMeridian,
94
+ _props$showMeridiem = props.showMeridiem,
95
+ showMeridiem = _props$showMeridiem === void 0 ? DEPRECATED_showMeridian : _props$showMeridiem,
92
96
  _props$showHeader = props.showHeader,
93
97
  showHeader = _props$showHeader === void 0 ? true : _props$showHeader,
94
98
  style = props.style,
@@ -121,16 +125,26 @@ var DateRangePicker = /*#__PURE__*/_react.default.forwardRef(function (props, re
121
125
  var _useCustom = (0, _hooks.useCustom)('DateRangePicker', overrideLocale),
122
126
  locale = _useCustom.locale,
123
127
  formatDate = _useCustom.formatDate;
124
-
125
- // Default gap between two calendars, if `showOneCalendar` is set, the gap is 0
126
- var calendarGap = showOneCalendar ? 0 : 1;
128
+ var formatStr = format || locale.shortDateFormat || 'yyyy-MM-dd';
127
129
  var rangeFormatStr = "" + formatStr + character + formatStr;
128
130
  var _useControlled = (0, _hooks.useControlled)(valueProp, defaultValue !== null && defaultValue !== void 0 ? defaultValue : null),
129
131
  value = _useControlled[0],
130
132
  setValue = _useControlled[1];
133
+ var _useDateMode = (0, _date.useDateMode)(formatStr),
134
+ mode = _useDateMode.mode,
135
+ has = _useDateMode.has;
131
136
 
132
137
  // Show only the calendar month panel. formatStr = 'yyyy-MM'
133
- var onlyShowMonth = (0, _date.shouldRenderMonth)(formatStr) && !(0, _date.shouldRenderDate)(formatStr);
138
+ var onlyShowMonth = mode === _date.DateMode.Month;
139
+
140
+ // Only show the time panel. formatStr = 'HH:mm:ss'
141
+ var onlyShowTime = mode === _date.DateMode.Time;
142
+
143
+ // Allows two calendar panels to display the same month.
144
+ var allowSameMonth = onlyShowMonth || showOneCalendar || onlyShowTime;
145
+
146
+ // Default gap between two calendars, if `showOneCalendar` is set, the gap is 0
147
+ var calendarGap = allowSameMonth ? 0 : 1;
134
148
 
135
149
  /**
136
150
  * Whether to complete the selection.
@@ -161,10 +175,11 @@ var DateRangePicker = /*#__PURE__*/_react.default.forwardRef(function (props, re
161
175
 
162
176
  // The displayed calendar panel is rendered based on this value.
163
177
  var _useState4 = (0, _react.useState)((0, _utils.getSafeCalendarDate)({
164
- value: (_ref2 = value !== null && value !== void 0 ? value : defaultCalendarValue) !== null && _ref2 !== void 0 ? _ref2 : null
178
+ value: (_ref2 = value !== null && value !== void 0 ? value : defaultCalendarValue) !== null && _ref2 !== void 0 ? _ref2 : null,
179
+ allowSameMonth: allowSameMonth
165
180
  })),
166
- calendarDate = _useState4[0],
167
- setCalendarDate = _useState4[1];
181
+ calendarDateRange = _useState4[0],
182
+ setCalendarDateRangeValue = _useState4[1];
168
183
 
169
184
  /**
170
185
  * When hoverRange is set, `selectValue` will be updated during the hover process,
@@ -187,7 +202,7 @@ var DateRangePicker = /*#__PURE__*/_react.default.forwardRef(function (props, re
187
202
  */
188
203
  var getCalendarDatetime = function getCalendarDatetime(calendarKey) {
189
204
  var index = calendarKey === 'start' ? 0 : 1;
190
- return (calendarDate === null || calendarDate === void 0 ? void 0 : calendarDate[index]) || (defaultCalendarValue === null || defaultCalendarValue === void 0 ? void 0 : defaultCalendarValue[index]);
205
+ return (calendarDateRange === null || calendarDateRange === void 0 ? void 0 : calendarDateRange[index]) || (defaultCalendarValue === null || defaultCalendarValue === void 0 ? void 0 : defaultCalendarValue[index]);
191
206
  };
192
207
 
193
208
  /**
@@ -201,7 +216,7 @@ var DateRangePicker = /*#__PURE__*/_react.default.forwardRef(function (props, re
201
216
  var nextValue = dateRange;
202
217
 
203
218
  // The time should remain the same when the dates in the date range are changed.
204
- if ((0, _date.shouldRenderTime)(formatStr) && dateRange !== null && dateRange !== void 0 && dateRange.length && (eventName === 'changeDate' || eventName === 'changeMonth')) {
219
+ if (has('time') && dateRange !== null && dateRange !== void 0 && dateRange.length && (eventName === 'changeDate' || eventName === 'changeMonth')) {
205
220
  var startDate = (0, _date.copyTime)({
206
221
  from: getCalendarDatetime('start'),
207
222
  to: dateRange[0]
@@ -218,11 +233,9 @@ var DateRangePicker = /*#__PURE__*/_react.default.forwardRef(function (props, re
218
233
  var nextCalendarDate = (0, _utils.getSafeCalendarDate)({
219
234
  value: nextValue,
220
235
  calendarKey: calendarKey,
221
- // When only the month is displayed and only one calendar is displayed,
222
- // there is no need to add a month and two calendar panels are allowed to display the same month
223
- allowSameMonth: onlyShowMonth || showOneCalendar
236
+ allowSameMonth: allowSameMonth
224
237
  });
225
- setCalendarDate(nextCalendarDate);
238
+ setCalendarDateRangeValue(nextCalendarDate);
226
239
  if (onlyShowMonth && eventName === 'changeMonth') {
227
240
  setSelectedDates(nextCalendarDate);
228
241
  }
@@ -361,7 +374,7 @@ var DateRangePicker = /*#__PURE__*/_react.default.forwardRef(function (props, re
361
374
  if ((0, _date.isAfter)(nextSelectDates[0], nextSelectDates[1])) {
362
375
  nextSelectDates = (0, _date.reverseDateRangeOmitTime)(nextSelectDates);
363
376
  }
364
- if ((0, _date.shouldRenderTime)(formatStr)) {
377
+ if (has('time')) {
365
378
  nextSelectDates = [(0, _date.copyTime)({
366
379
  from: getCalendarDatetime('start'),
367
380
  to: nextSelectDates[0]
@@ -380,7 +393,7 @@ var DateRangePicker = /*#__PURE__*/_react.default.forwardRef(function (props, re
380
393
  setActiveCalendarKey('start');
381
394
  }
382
395
  setSelectedDates(nextSelectDates);
383
- if (!(0, _date.isSameMonth)(calendarDate[index], date) || calendarSnapping) {
396
+ if (!(0, _date.isSameMonth)(calendarDateRange[index], date) || calendarSnapping) {
384
397
  setCalendarDateRange({
385
398
  dateRange: nextSelectDates,
386
399
  calendarKey: calendarKey,
@@ -403,7 +416,7 @@ var DateRangePicker = /*#__PURE__*/_react.default.forwardRef(function (props, re
403
416
  }, [selectedDates]);
404
417
  var onChangeCalendarMonth = (0, _hooks.useEventCallback)(function (index, date) {
405
418
  var calendarKey = index === 0 ? 'start' : 'end';
406
- var nextCalendarDate = Array.from(calendarDate);
419
+ var nextCalendarDate = Array.from(calendarDateRange);
407
420
  nextCalendarDate[index] = date;
408
421
  setCalendarDateRange({
409
422
  dateRange: nextCalendarDate,
@@ -413,7 +426,7 @@ var DateRangePicker = /*#__PURE__*/_react.default.forwardRef(function (props, re
413
426
  });
414
427
  var onChangeCalendarTime = (0, _hooks.useEventCallback)(function (index, date) {
415
428
  var calendarKey = index === 0 ? 'start' : 'end';
416
- var nextCalendarDate = Array.from(calendarDate);
429
+ var nextCalendarDate = Array.from(calendarDateRange);
417
430
  nextCalendarDate[index] = date;
418
431
  setCalendarDateRange({
419
432
  dateRange: nextCalendarDate,
@@ -431,22 +444,6 @@ var DateRangePicker = /*#__PURE__*/_react.default.forwardRef(function (props, re
431
444
  return next;
432
445
  });
433
446
  });
434
-
435
- /**
436
- * The callback triggered when PM/AM is switched.
437
- */
438
- var onToggleMeridian = (0, _hooks.useEventCallback)(function (index) {
439
- var nextCalendarDate = Array.from(calendarDate);
440
- nextCalendarDate[index] = (0, _date.getReversedTimeMeridian)(nextCalendarDate[index]);
441
- setCalendarDate(nextCalendarDate);
442
-
443
- // If the value already exists, update the value again.
444
- if (selectedDates.length === 2) {
445
- var nextSelectedDates = Array.from(selectedDates);
446
- nextSelectedDates[index] = (0, _date.getReversedTimeMeridian)(nextSelectedDates[index]);
447
- setSelectedDates(nextSelectedDates);
448
- }
449
- });
450
447
  var handleEnter = (0, _hooks.useEventCallback)(function () {
451
448
  var nextCalendarDate;
452
449
  if (value && value.length) {
@@ -456,7 +453,8 @@ var DateRangePicker = /*#__PURE__*/_react.default.forwardRef(function (props, re
456
453
  } else {
457
454
  // Reset the date on the calendar to the default date
458
455
  nextCalendarDate = (0, _utils.getSafeCalendarDate)({
459
- value: defaultCalendarValue !== null && defaultCalendarValue !== void 0 ? defaultCalendarValue : null
456
+ value: defaultCalendarValue !== null && defaultCalendarValue !== void 0 ? defaultCalendarValue : null,
457
+ allowSameMonth: allowSameMonth
460
458
  });
461
459
  }
462
460
  setSelectedDates(value !== null && value !== void 0 ? value : []);
@@ -487,9 +485,20 @@ var DateRangePicker = /*#__PURE__*/_react.default.forwardRef(function (props, re
487
485
  // End unfinished selections.
488
486
  setSelectedIdle(true);
489
487
  });
488
+ var calculateDateRange = function calculateDateRange() {
489
+ var _selectedDates$ = selectedDates[0],
490
+ start = _selectedDates$ === void 0 ? calendarDateRange[0] : _selectedDates$,
491
+ _selectedDates$2 = selectedDates[1],
492
+ end = _selectedDates$2 === void 0 ? calendarDateRange[1] : _selectedDates$2;
493
+ if (onlyShowTime) {
494
+ return [start, end];
495
+ }
496
+ return selectedDates;
497
+ };
490
498
  var handleClickOK = (0, _hooks.useEventCallback)(function (event) {
491
- setDateRange(event, selectedDates);
492
- onOk === null || onOk === void 0 ? void 0 : onOk(selectedDates, event);
499
+ var nextValue = calculateDateRange();
500
+ setDateRange(event, nextValue);
501
+ onOk === null || onOk === void 0 ? void 0 : onOk(nextValue, event);
493
502
  });
494
503
  var handleClean = (0, _hooks.useEventCallback)(function (event) {
495
504
  setCalendarDateRange({
@@ -547,34 +556,48 @@ var DateRangePicker = /*#__PURE__*/_react.default.forwardRef(function (props, re
547
556
  };
548
557
 
549
558
  /**
550
- * Check if the OK button is disabled
559
+ * Determine if the OK button should be disabled
551
560
  */
552
- var isOkButtonDisabled = function isOkButtonDisabled() {
553
- var start = selectedDates[0],
554
- end = selectedDates[1];
555
- if (!start || !end || !isSelectedIdle) {
561
+ var shouldDisableOkButton = function shouldDisableOkButton() {
562
+ var _calculateDateRange = calculateDateRange(),
563
+ startDate = _calculateDateRange[0],
564
+ endDate = _calculateDateRange[1];
565
+
566
+ // Check if start or end dates are missing
567
+ if (!startDate || !endDate) {
568
+ return true;
569
+ }
570
+
571
+ // Additional condition if only showing time
572
+ if (!onlyShowTime && !isSelectedIdle) {
556
573
  return true;
557
574
  }
558
- if (isErrorValue([start, end])) {
575
+
576
+ // Check if there is any error in the selected date range
577
+ if (isErrorValue([startDate, endDate])) {
559
578
  return true;
560
579
  }
561
580
  return false;
562
581
  };
563
582
 
564
583
  /**
565
- * Check if the shortcut button is disabled
584
+ * Check if a shortcut is disabled based on the selected date range
566
585
  */
567
- var isShortcutDisabled = function isShortcutDisabled(value) {
568
- if (value === void 0) {
569
- value = [];
570
- }
571
- var _value = value,
572
- start = _value[0],
573
- end = _value[1];
574
- if (!start || !end) {
586
+ var shouldDisableShortcut = function shouldDisableShortcut(selectedDates) {
587
+ if (selectedDates === void 0) {
588
+ selectedDates = [];
589
+ }
590
+ var _selectedDates = selectedDates,
591
+ startDate = _selectedDates[0],
592
+ endDate = _selectedDates[1];
593
+
594
+ // Disable if either start or end date is missing
595
+ if (!startDate || !endDate) {
575
596
  return true;
576
597
  }
577
- return isRangeDisabled(start, end, _constants.DATERANGE_DISABLED_TARGET.TOOLBAR_SHORTCUT);
598
+
599
+ // Check if the date range is disabled for the shortcut
600
+ return isRangeDisabled(startDate, endDate, _constants.DATERANGE_DISABLED_TARGET.TOOLBAR_SHORTCUT);
578
601
  };
579
602
  var handleClose = (0, _hooks.useEventCallback)(function () {
580
603
  var _trigger$current, _trigger$current$clos;
@@ -607,7 +630,8 @@ var DateRangePicker = /*#__PURE__*/_react.default.forwardRef(function (props, re
607
630
  className = positionProps.className;
608
631
  var classes = merge(className, menuClassName, prefix('popup-daterange'));
609
632
  var panelClasses = prefix('daterange-panel', {
610
- 'daterange-panel-show-one-calendar': showOneCalendar
633
+ 'daterange-panel-show-one-calendar': showOneCalendar,
634
+ 'daterange-panel-only-time': onlyShowTime
611
635
  });
612
636
 
613
637
  /**
@@ -615,7 +639,7 @@ var DateRangePicker = /*#__PURE__*/_react.default.forwardRef(function (props, re
615
639
  * @see https://github.com/rsuite/rsuite/issues/3522
616
640
  */
617
641
  var panelStyles = {
618
- minWidth: showOneCalendar ? 'auto' : 528
642
+ minWidth: showOneCalendar || onlyShowTime ? 'auto' : 528
619
643
  };
620
644
  var styles = (0, _extends2.default)({}, menuStyle, {
621
645
  left: left,
@@ -626,8 +650,8 @@ var DateRangePicker = /*#__PURE__*/_react.default.forwardRef(function (props, re
626
650
  isoWeek: isoWeek,
627
651
  weekStart: weekStart,
628
652
  limitEndYear: limitEndYear,
629
- showMeridian: showMeridian,
630
- calendarDate: calendarDate,
653
+ showMeridiem: showMeridiem,
654
+ calendarDateRange: calendarDateRange,
631
655
  limitStartYear: limitStartYear,
632
656
  showWeekNumbers: showWeekNumbers,
633
657
  format: formatStr,
@@ -637,11 +661,13 @@ var DateRangePicker = /*#__PURE__*/_react.default.forwardRef(function (props, re
637
661
  hideHours: hideHours,
638
662
  hideMinutes: hideMinutes,
639
663
  hideSeconds: hideSeconds,
664
+ disabledHours: shouldDisableHour,
665
+ disabledMinutes: shouldDisableMinute,
666
+ disabledSeconds: shouldDisableSecond,
640
667
  disabledDate: disableCalendarDate,
641
668
  onSelect: handleSelectDate,
642
669
  onChangeCalendarMonth: onChangeCalendarMonth,
643
670
  onChangeCalendarTime: onChangeCalendarTime,
644
- onToggleMeridian: onToggleMeridian,
645
671
  onMouseMove: onMouseMove,
646
672
  renderTitle: renderTitle
647
673
  };
@@ -681,9 +707,9 @@ var DateRangePicker = /*#__PURE__*/_react.default.forwardRef(function (props, re
681
707
  spacing: 0,
682
708
  className: prefix('daterange-predefined'),
683
709
  ranges: sideRanges,
684
- calendarDate: calendarDate,
710
+ calendarDate: calendarDateRange,
685
711
  locale: locale,
686
- disableShortcut: isShortcutDisabled,
712
+ disableShortcut: shouldDisableShortcut,
687
713
  onShortcutClick: handleShortcutPageDate,
688
714
  "data-testid": "daterange-predefined-side"
689
715
  }), /*#__PURE__*/_react.default.createElement(_Stack.default.Item, null, /*#__PURE__*/_react.default.createElement("div", {
@@ -697,15 +723,15 @@ var DateRangePicker = /*#__PURE__*/_react.default.forwardRef(function (props, re
697
723
  onSelect: setActiveCalendarKey
698
724
  }), /*#__PURE__*/_react.default.createElement("div", {
699
725
  className: prefix("daterange-calendar-" + (showOneCalendar ? 'single' : 'group'))
700
- }, /*#__PURE__*/_react.default.createElement(_DateRangePickerContext.default.Provider, {
726
+ }, /*#__PURE__*/_react.default.createElement(_DateRangePickerProvider.DateRangePickerProvider, {
701
727
  value: {
702
728
  isSelectedIdle: isSelectedIdle
703
729
  }
704
730
  }, getCalendars()))), /*#__PURE__*/_react.default.createElement(_Toolbar.default, {
705
731
  locale: locale,
706
732
  calendarDate: selectedDates,
707
- disableOkBtn: isOkButtonDisabled,
708
- disableShortcut: isShortcutDisabled,
733
+ disableOkBtn: shouldDisableOkButton,
734
+ disableShortcut: shouldDisableShortcut,
709
735
  hideOkBtn: oneTap,
710
736
  onOk: handleClickOK,
711
737
  onShortcutClick: handleShortcutPageDate,
@@ -726,8 +752,8 @@ var DateRangePicker = /*#__PURE__*/_react.default.forwardRef(function (props, re
726
752
  if (caretAsProp === null) {
727
753
  return null;
728
754
  }
729
- return caretAsProp || ((0, _date.shouldOnlyRenderTime)(formatStr) ? _ClockO.default : _Calendar.default);
730
- }, [caretAsProp, formatStr]);
755
+ return caretAsProp || (onlyShowTime ? _Time.default : _Calendar.default);
756
+ }, [caretAsProp, onlyShowTime]);
731
757
  var isErrorValue = function isErrorValue(value) {
732
758
  if (!value) {
733
759
  return false;
@@ -845,7 +871,7 @@ DateRangePicker.propTypes = (0, _extends2.default)({}, _Picker.pickerPropTypes,
845
871
  shouldDisableDate: _propTypes.default.func,
846
872
  onSelect: _propTypes.default.func,
847
873
  showWeekNumbers: _propTypes.default.bool,
848
- showMeridian: _propTypes.default.bool,
874
+ showMeridiem: _propTypes.default.bool,
849
875
  showOneCalendar: _propTypes.default.bool
850
876
  });
851
877
  var _default = exports.default = DateRangePicker;
@@ -0,0 +1,10 @@
1
+ import React from 'react';
2
+ export interface DateRangePickerContextValue {
3
+ /**
4
+ * Whether to complete the selection.
5
+ */
6
+ isSelectedIdle?: boolean;
7
+ }
8
+ export declare const DateRangePickerContext: React.Context<DateRangePickerContextValue>;
9
+ export declare const useDateRangePickerContext: () => DateRangePickerContextValue;
10
+ export declare const DateRangePickerProvider: React.Provider<DateRangePickerContextValue>;
@@ -2,12 +2,12 @@
2
2
  "use strict";
3
3
 
4
4
  exports.__esModule = true;
5
- exports.useDateRangePickerContext = exports.default = void 0;
5
+ exports.useDateRangePickerContext = exports.DateRangePickerProvider = exports.DateRangePickerContext = void 0;
6
6
  var _react = _interopRequireWildcard(require("react"));
7
7
  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
8
8
  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
9
- var DateRangePickerContext = /*#__PURE__*/_react.default.createContext({});
9
+ var DateRangePickerContext = exports.DateRangePickerContext = /*#__PURE__*/_react.default.createContext({});
10
10
  var useDateRangePickerContext = exports.useDateRangePickerContext = function useDateRangePickerContext() {
11
11
  return (0, _react.useContext)(DateRangePickerContext) || {};
12
12
  };
13
- var _default = exports.default = DateRangePickerContext;
13
+ var DateRangePickerProvider = exports.DateRangePickerProvider = DateRangePickerContext.Provider;
@@ -0,0 +1,3 @@
1
+ export { useDateRangePicker } from './useDateRangePicker';
2
+ export { useDateDisabled } from './useDateDisabled';
3
+ export { useCalendarHandlers } from './useCalendarHandlers';
@@ -0,0 +1,11 @@
1
+ 'use client';
2
+ "use strict";
3
+
4
+ exports.__esModule = true;
5
+ exports.useDateRangePicker = exports.useDateDisabled = exports.useCalendarHandlers = void 0;
6
+ var _useDateRangePicker = require("./useDateRangePicker");
7
+ exports.useDateRangePicker = _useDateRangePicker.useDateRangePicker;
8
+ var _useDateDisabled = require("./useDateDisabled");
9
+ exports.useDateDisabled = _useDateDisabled.useDateDisabled;
10
+ var _useCalendarHandlers = require("./useCalendarHandlers");
11
+ exports.useCalendarHandlers = _useCalendarHandlers.useCalendarHandlers;
@@ -0,0 +1,17 @@
1
+ /// <reference types="react" />
2
+ interface CalendarHandlerProps {
3
+ index: number;
4
+ calendarDateRange: Date[];
5
+ onChangeCalendarMonth?: (index: number, nextPageDate: Date) => void;
6
+ onChangeCalendarTime?: (index: number, nextPageDate: Date) => void;
7
+ onSelect?: (index: number, date: Date, event: React.SyntheticEvent) => void;
8
+ }
9
+ export declare function useCalendarHandlers({ index, calendarDateRange, onChangeCalendarMonth, onChangeCalendarTime, onSelect }: CalendarHandlerProps): {
10
+ calendarDate: Date;
11
+ onSelect: (...args: any[]) => any;
12
+ onChangeMonth: (...args: any[]) => any;
13
+ onChangeTime: (...args: any[]) => any;
14
+ onMoveForward: (...args: any[]) => any;
15
+ onMoveBackward: (...args: any[]) => any;
16
+ };
17
+ export default useCalendarHandlers;
@@ -0,0 +1,43 @@
1
+ 'use client';
2
+ "use strict";
3
+
4
+ exports.__esModule = true;
5
+ exports.default = void 0;
6
+ exports.useCalendarHandlers = useCalendarHandlers;
7
+ var _react = require("react");
8
+ var _hooks = require("../../internals/hooks");
9
+ var _date = require("../../internals/utils/date");
10
+ function useCalendarHandlers(_ref) {
11
+ var index = _ref.index,
12
+ calendarDateRange = _ref.calendarDateRange,
13
+ onChangeCalendarMonth = _ref.onChangeCalendarMonth,
14
+ onChangeCalendarTime = _ref.onChangeCalendarTime,
15
+ onSelect = _ref.onSelect;
16
+ var calendarDate = (0, _react.useMemo)(function () {
17
+ return calendarDateRange[index];
18
+ }, [calendarDateRange, index]);
19
+ var handleSelect = (0, _hooks.useEventCallback)(function (date, event) {
20
+ onSelect === null || onSelect === void 0 ? void 0 : onSelect(index, date, event);
21
+ });
22
+ var handleChangeMonth = (0, _hooks.useEventCallback)(function (nextPageDate) {
23
+ onChangeCalendarMonth === null || onChangeCalendarMonth === void 0 ? void 0 : onChangeCalendarMonth(index, nextPageDate);
24
+ });
25
+ var handleChangeTime = (0, _hooks.useEventCallback)(function (nextPageDate) {
26
+ onChangeCalendarTime === null || onChangeCalendarTime === void 0 ? void 0 : onChangeCalendarTime(index, nextPageDate);
27
+ });
28
+ var handleMoveForward = (0, _hooks.useEventCallback)(function () {
29
+ onChangeCalendarMonth === null || onChangeCalendarMonth === void 0 ? void 0 : onChangeCalendarMonth(index, (0, _date.addMonths)(calendarDate, 1));
30
+ });
31
+ var handleMoveBackward = (0, _hooks.useEventCallback)(function () {
32
+ onChangeCalendarMonth === null || onChangeCalendarMonth === void 0 ? void 0 : onChangeCalendarMonth(index, (0, _date.addMonths)(calendarDate, -1));
33
+ });
34
+ return {
35
+ calendarDate: calendarDate,
36
+ onSelect: handleSelect,
37
+ onChangeMonth: handleChangeMonth,
38
+ onChangeTime: handleChangeTime,
39
+ onMoveForward: handleMoveForward,
40
+ onMoveBackward: handleMoveBackward
41
+ };
42
+ }
43
+ var _default = exports.default = useCalendarHandlers;
@@ -12,5 +12,5 @@ interface DateDisabledOptions {
12
12
  /**
13
13
  * Returns a function that determines whether a date is disabled and is compatible with the deprecated `disabledDate` prop.
14
14
  */
15
- declare function useDateDisabled(props: UseDateDisabledProps): ((date: Date, options: DateDisabledOptions) => boolean) | undefined;
15
+ export declare function useDateDisabled(props: UseDateDisabledProps): ((date: Date, options: DateDisabledOptions) => boolean) | undefined;
16
16
  export default useDateDisabled;
@@ -3,6 +3,7 @@
3
3
 
4
4
  exports.__esModule = true;
5
5
  exports.default = void 0;
6
+ exports.useDateDisabled = useDateDisabled;
6
7
  var _react = require("react");
7
8
  /**
8
9
  * Returns a function that determines whether a date is disabled and is compatible with the deprecated `disabledDate` prop.
@@ -0,0 +1,2 @@
1
+ import { DateRangePickerContextValue } from '../DateRangePickerProvider';
2
+ export declare const useDateRangePicker: () => DateRangePickerContextValue;
@@ -0,0 +1,10 @@
1
+ 'use client';
2
+ "use strict";
3
+
4
+ exports.__esModule = true;
5
+ exports.useDateRangePicker = void 0;
6
+ var _react = require("react");
7
+ var _DateRangePickerProvider = require("../DateRangePickerProvider");
8
+ var useDateRangePicker = exports.useDateRangePicker = function useDateRangePicker() {
9
+ return (0, _react.useContext)(_DateRangePickerProvider.DateRangePickerContext) || {};
10
+ };
@@ -33,7 +33,7 @@ function getSafeCalendarDate(_ref) {
33
33
  } else if (value[0]) {
34
34
  return [value[0], (0, _date.addMonths)(value[0], gap)];
35
35
  }
36
- var todayDate = new Date();
36
+ var todayDate = (0, _date.startOfToday)();
37
37
  return [todayDate, (0, _date.addMonths)(todayDate, gap)];
38
38
  }
39
39
  var isSameRange = exports.isSameRange = function isSameRange(source, dest, format) {
@@ -6,7 +6,7 @@ export interface ChildrenProps {
6
6
  plaintext?: boolean;
7
7
  value: any;
8
8
  onChange: (value: any, event: React.SyntheticEvent) => void;
9
- onBlur?: (event: React.SyntheticEvent) => void;
9
+ onBlur?: (event?: React.FocusEvent) => void;
10
10
  }
11
11
  export declare function defaultRenderInput(props: ChildrenProps, ref: React.Ref<any>): React.JSX.Element;
12
12
  export declare function renderChildren(children: ((props: ChildrenProps, ref: React.Ref<any>) => React.ReactElement) | React.ReactElement, props: ChildrenProps, ref: React.Ref<any>): React.ReactElement<any, string | React.JSXElementConstructor<any>>;
@@ -9,13 +9,14 @@ var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runt
9
9
  var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
10
10
  var _react = _interopRequireDefault(require("react"));
11
11
  var _Input = _interopRequireDefault(require("../Input"));
12
+ var _utils = require("../internals/utils");
12
13
  var _excluded = ["onBlur"];
13
14
  function defaultRenderInput(props, ref) {
14
15
  return /*#__PURE__*/_react.default.createElement(_Input.default, (0, _extends2.default)({
15
16
  ref: ref
16
17
  }, props));
17
18
  }
18
- var pickers = ['DatePicker', 'DateRangePicker', 'InputPicker', 'TagPicker', 'Cascader', 'MultiCascader', 'SelectPicker', 'CheckPicker', 'CheckTreePicker', 'TreePicker'];
19
+ var pickers = ['DatePicker', 'DateRangePicker', 'TimePicker', 'TimeRangePicker', 'InputPicker', 'TagPicker', 'Cascader', 'MultiCascader', 'SelectPicker', 'CheckPicker', 'CheckTreePicker', 'TreePicker'];
19
20
  function getDisplayName(Component) {
20
21
  var _Component$type;
21
22
  if (typeof (Component === null || Component === void 0 ? void 0 : Component.type) === 'string') {
@@ -30,10 +31,18 @@ function renderChildren(children, props, ref) {
30
31
  if (pickers.includes(getDisplayName(children))) {
31
32
  var onBlur = props.onBlur,
32
33
  rest = (0, _objectWithoutPropertiesLoose2.default)(props, _excluded);
33
-
34
- // if the children is a picker, we should pass the onBlur to the onClose
34
+ var _children$props = children.props,
35
+ onExit = _children$props.onExit,
36
+ onClean = _children$props.onClean;
35
37
  return /*#__PURE__*/_react.default.cloneElement(children, (0, _extends2.default)({}, rest, {
36
- onClose: onBlur,
38
+ // Pass onBlur to the child component to automatically save or cancel after the focus event is processed.
39
+ // Special handling in the Picker component, call onBlur when onExit and onClean
40
+ onExit: (0, _utils.createChainedFunction)(function () {
41
+ return onBlur === null || onBlur === void 0 ? void 0 : onBlur();
42
+ }, onExit),
43
+ onClean: (0, _utils.createChainedFunction)(function () {
44
+ return onBlur === null || onBlur === void 0 ? void 0 : onBlur();
45
+ }, onClean),
37
46
  ref: ref
38
47
  }));
39
48
  }
@@ -3,8 +3,8 @@ import { PickerHandle } from '../internals/Picker/types';
3
3
  interface FocusEventProps {
4
4
  isEditing: boolean;
5
5
  stateOnBlur?: 'save' | 'cancel';
6
- onSave?: (event?: React.FocusEvent) => void;
7
- onCancel?: (event?: React.FocusEvent) => void;
6
+ onSave?: (event?: React.FocusEvent | null) => void;
7
+ onCancel?: (event?: React.FocusEvent | null) => void;
8
8
  }
9
9
  declare const useFocusEvent: ({ isEditing, stateOnBlur, onSave, onCancel }: FocusEventProps) => {
10
10
  target: import("react").RefObject<HTMLInputElement | PickerHandle>;
@@ -19,12 +19,17 @@ var useFocusEvent = function useFocusEvent(_ref) {
19
19
  var focus = function focus() {
20
20
  if (isPicker) {
21
21
  setTimeout(function () {
22
- var _ref$current2, _ref$current2$target, _ref$current2$target$;
23
- (_ref$current2 = ref.current) === null || _ref$current2 === void 0 ? void 0 : (_ref$current2$target = _ref$current2.target) === null || _ref$current2$target === void 0 ? void 0 : (_ref$current2$target$ = _ref$current2$target.focus) === null || _ref$current2$target$ === void 0 ? void 0 : _ref$current2$target$.call(_ref$current2$target);
22
+ var _picker$target, _picker$target$focus, _picker$open;
23
+ var picker = ref.current;
24
+ // Auto focus the search input
25
+ picker === null || picker === void 0 ? void 0 : (_picker$target = picker.target) === null || _picker$target === void 0 ? void 0 : (_picker$target$focus = _picker$target.focus) === null || _picker$target$focus === void 0 ? void 0 : _picker$target$focus.call(_picker$target);
26
+
27
+ // Open the picker
28
+ picker === null || picker === void 0 ? void 0 : (_picker$open = picker.open) === null || _picker$open === void 0 ? void 0 : _picker$open.call(picker);
24
29
  }, 100);
25
30
  } else {
26
- var _ref$current3, _ref$current3$focus;
27
- (_ref$current3 = ref.current) === null || _ref$current3 === void 0 ? void 0 : (_ref$current3$focus = _ref$current3.focus) === null || _ref$current3$focus === void 0 ? void 0 : _ref$current3$focus.call(_ref$current3);
31
+ var _ref$current2, _ref$current2$focus;
32
+ (_ref$current2 = ref.current) === null || _ref$current2 === void 0 ? void 0 : (_ref$current2$focus = _ref$current2.focus) === null || _ref$current2$focus === void 0 ? void 0 : _ref$current2$focus.call(_ref$current2);
28
33
  }
29
34
  };
30
35
  var handleBlur = (0, _hooks.useEventCallback)(function (event) {