rsuite 5.70.3 → 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 (395) 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 +31 -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 +9 -5
  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 +33 -4
  97. package/cjs/DateRangePicker/DateRangePicker.js +106 -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/Form/hooks/useFormValidate.js +2 -1
  110. package/cjs/InlineEdit/renderChildren.d.ts +1 -1
  111. package/cjs/InlineEdit/renderChildren.js +13 -4
  112. package/cjs/InlineEdit/useFocusEvent.d.ts +2 -2
  113. package/cjs/InlineEdit/useFocusEvent.js +9 -4
  114. package/cjs/TimePicker/TimePicker.d.ts +81 -0
  115. package/cjs/TimePicker/TimePicker.js +31 -0
  116. package/cjs/TimePicker/index.d.ts +3 -0
  117. package/cjs/TimePicker/index.js +8 -0
  118. package/cjs/TimeRangePicker/TimeRangePicker.d.ts +77 -0
  119. package/cjs/TimeRangePicker/TimeRangePicker.js +23 -0
  120. package/cjs/TimeRangePicker/index.d.ts +3 -0
  121. package/cjs/TimeRangePicker/index.js +8 -0
  122. package/cjs/index.d.ts +4 -0
  123. package/cjs/index.js +6 -1
  124. package/cjs/internals/Picker/Listbox.js +4 -2
  125. package/cjs/internals/hooks/useCustom.js +2 -2
  126. package/cjs/internals/utils/date/extractTimeFormat.d.ts +4 -0
  127. package/cjs/internals/utils/date/extractTimeFormat.js +12 -0
  128. package/cjs/internals/utils/date/formatCheck.d.ts +4 -0
  129. package/cjs/internals/utils/date/formatCheck.js +8 -1
  130. package/cjs/internals/utils/date/index.d.ts +4 -2
  131. package/cjs/internals/utils/date/index.js +72 -7
  132. package/cjs/internals/utils/date/useDateMode.d.ts +16 -0
  133. package/cjs/internals/utils/date/useDateMode.js +57 -0
  134. package/cjs/internals/utils/index.d.ts +0 -1
  135. package/cjs/internals/utils/index.js +1 -4
  136. package/cjs/locales/ar_EG.d.ts +10 -0
  137. package/cjs/locales/ar_EG.js +8 -4
  138. package/cjs/locales/ca_ES.d.ts +10 -0
  139. package/cjs/locales/ca_ES.js +8 -4
  140. package/cjs/locales/cs_CZ.d.ts +10 -0
  141. package/cjs/locales/cs_CZ.js +8 -4
  142. package/cjs/locales/da_DK.d.ts +10 -0
  143. package/cjs/locales/da_DK.js +8 -4
  144. package/cjs/locales/de_DE.d.ts +10 -0
  145. package/cjs/locales/de_DE.js +8 -4
  146. package/cjs/locales/en_GB.d.ts +130 -2
  147. package/cjs/locales/en_GB.js +85 -2
  148. package/cjs/locales/en_US.d.ts +10 -0
  149. package/cjs/locales/en_US.js +8 -4
  150. package/cjs/locales/es_AR.d.ts +10 -0
  151. package/cjs/locales/es_AR.js +8 -4
  152. package/cjs/locales/es_ES.d.ts +10 -0
  153. package/cjs/locales/es_ES.js +8 -4
  154. package/cjs/locales/fa_IR.d.ts +10 -0
  155. package/cjs/locales/fa_IR.js +8 -4
  156. package/cjs/locales/fi_FI.d.ts +10 -0
  157. package/cjs/locales/fi_FI.js +8 -4
  158. package/cjs/locales/fr_FR.d.ts +10 -0
  159. package/cjs/locales/fr_FR.js +8 -4
  160. package/cjs/locales/hu_HU.d.ts +10 -0
  161. package/cjs/locales/hu_HU.js +8 -4
  162. package/cjs/locales/index.d.ts +1 -1
  163. package/cjs/locales/it_IT.d.ts +10 -0
  164. package/cjs/locales/it_IT.js +8 -4
  165. package/cjs/locales/ja_JP.d.ts +10 -0
  166. package/cjs/locales/ja_JP.js +8 -4
  167. package/cjs/locales/kk_KZ.d.ts +10 -0
  168. package/cjs/locales/kk_KZ.js +8 -4
  169. package/cjs/locales/ko_KR.d.ts +10 -0
  170. package/cjs/locales/ko_KR.js +8 -4
  171. package/cjs/locales/ne_NP.d.ts +10 -0
  172. package/cjs/locales/ne_NP.js +8 -4
  173. package/cjs/locales/nl_NL.d.ts +10 -0
  174. package/cjs/locales/nl_NL.js +8 -4
  175. package/cjs/locales/pt_BR.d.ts +10 -0
  176. package/cjs/locales/pt_BR.js +8 -4
  177. package/cjs/locales/ru_RU.d.ts +10 -0
  178. package/cjs/locales/ru_RU.js +8 -4
  179. package/cjs/locales/sv_SE.d.ts +10 -0
  180. package/cjs/locales/sv_SE.js +8 -4
  181. package/cjs/locales/tr_TR.d.ts +10 -0
  182. package/cjs/locales/tr_TR.js +8 -4
  183. package/cjs/locales/zh_CN.d.ts +10 -0
  184. package/cjs/locales/zh_CN.js +8 -4
  185. package/cjs/locales/zh_TW.d.ts +10 -0
  186. package/cjs/locales/zh_TW.js +8 -4
  187. package/dist/rsuite-no-reset-rtl.css +88 -21
  188. package/dist/rsuite-no-reset-rtl.min.css +1 -1
  189. package/dist/rsuite-no-reset-rtl.min.css.map +1 -1
  190. package/dist/rsuite-no-reset.css +88 -21
  191. package/dist/rsuite-no-reset.min.css +1 -1
  192. package/dist/rsuite-no-reset.min.css.map +1 -1
  193. package/dist/rsuite-rtl.css +88 -21
  194. package/dist/rsuite-rtl.min.css +1 -1
  195. package/dist/rsuite-rtl.min.css.map +1 -1
  196. package/dist/rsuite.css +88 -21
  197. package/dist/rsuite.js +362 -142
  198. package/dist/rsuite.js.map +1 -1
  199. package/dist/rsuite.min.css +1 -1
  200. package/dist/rsuite.min.css.map +1 -1
  201. package/dist/rsuite.min.js +1 -1
  202. package/dist/rsuite.min.js.map +1 -1
  203. package/esm/Calendar/Calendar.d.ts +1 -1
  204. package/esm/Calendar/Calendar.js +21 -23
  205. package/esm/Calendar/CalendarBody.js +9 -9
  206. package/esm/Calendar/CalendarContainer.d.ts +10 -2
  207. package/esm/Calendar/CalendarContainer.js +41 -69
  208. package/esm/Calendar/CalendarHeader.d.ts +0 -2
  209. package/esm/Calendar/CalendarHeader.js +25 -43
  210. package/esm/Calendar/{CalendarContext.d.ts → CalendarProvider.d.ts} +3 -22
  211. package/esm/Calendar/CalendarProvider.js +9 -0
  212. package/esm/Calendar/Grid/Grid.d.ts +6 -0
  213. package/esm/Calendar/{Table.js → Grid/Grid.js} +11 -17
  214. package/esm/Calendar/{TableCell.d.ts → Grid/GridCell.d.ts} +4 -4
  215. package/esm/Calendar/{TableCell.js → Grid/GridCell.js} +13 -13
  216. package/esm/Calendar/Grid/GridHeaderRow.d.ts +4 -0
  217. package/esm/Calendar/{TableHeaderRow.js → Grid/GridHeaderRow.js} +11 -11
  218. package/esm/Calendar/Grid/GridRow.d.ts +7 -0
  219. package/esm/Calendar/{TableRow.js → Grid/GridRow.js} +21 -21
  220. package/esm/Calendar/Grid/index.d.ts +2 -0
  221. package/esm/Calendar/Grid/index.js +3 -0
  222. package/esm/Calendar/MonthDropdown.d.ts +0 -15
  223. package/esm/Calendar/MonthDropdown.js +6 -6
  224. package/esm/Calendar/MonthDropdownItem.js +9 -9
  225. package/esm/Calendar/TimeDropdown/TimeColumn.d.ts +8 -0
  226. package/esm/Calendar/TimeDropdown/TimeColumn.js +22 -0
  227. package/{cjs/Calendar → esm/Calendar/TimeDropdown}/TimeDropdown.d.ts +2 -25
  228. package/esm/Calendar/TimeDropdown/TimeDropdown.js +161 -0
  229. package/esm/Calendar/TimeDropdown/index.d.ts +2 -0
  230. package/esm/Calendar/TimeDropdown/index.js +3 -0
  231. package/esm/Calendar/TimeDropdown/utils/formatWithLeadingZero.d.ts +1 -0
  232. package/esm/Calendar/TimeDropdown/utils/formatWithLeadingZero.js +4 -0
  233. package/esm/Calendar/TimeDropdown/utils/getClockTime.d.ts +11 -0
  234. package/esm/Calendar/TimeDropdown/utils/getClockTime.js +39 -0
  235. package/esm/Calendar/TimeDropdown/utils/getTimeLimits.d.ts +11 -0
  236. package/esm/Calendar/TimeDropdown/utils/getTimeLimits.js +20 -0
  237. package/esm/Calendar/TimeDropdown/utils/index.d.ts +4 -0
  238. package/esm/Calendar/TimeDropdown/utils/index.js +5 -0
  239. package/esm/Calendar/TimeDropdown/utils/scrollToTime.d.ts +2 -0
  240. package/esm/Calendar/TimeDropdown/utils/scrollToTime.js +23 -0
  241. package/esm/Calendar/hooks/index.d.ts +3 -0
  242. package/esm/Calendar/hooks/index.js +4 -0
  243. package/esm/Calendar/hooks/useCalendar.d.ts +2 -0
  244. package/esm/Calendar/hooks/useCalendar.js +6 -0
  245. package/esm/Calendar/{useCalendarDate.d.ts → hooks/useCalendarDate.d.ts} +1 -2
  246. package/esm/Calendar/{useCalendarDate.js → hooks/useCalendarDate.js} +7 -7
  247. package/esm/Calendar/hooks/useCalendarState.d.ts +22 -0
  248. package/esm/Calendar/hooks/useCalendarState.js +56 -0
  249. package/esm/Calendar/index.d.ts +2 -4
  250. package/esm/Calendar/index.js +2 -3
  251. package/esm/Calendar/types.d.ts +19 -0
  252. package/esm/Calendar/types.js +2 -0
  253. package/esm/Calendar/{utils.js → utils/getAriaLabel.js} +1 -1
  254. package/esm/Calendar/utils/index.d.ts +1 -0
  255. package/esm/Calendar/utils/index.js +2 -0
  256. package/esm/CustomProvider/CustomProvider.d.ts +19 -3
  257. package/esm/DateInput/DateField.js +2 -2
  258. package/esm/DateInput/DateInput.js +17 -6
  259. package/esm/DateInput/hooks/useDateInputState.js +1 -1
  260. package/esm/DatePicker/DatePicker.d.ts +9 -5
  261. package/esm/DatePicker/DatePicker.js +28 -36
  262. package/esm/DatePicker/hooks/useFocus.js +1 -1
  263. package/esm/DatePicker/utils.js +2 -2
  264. package/esm/DateRangeInput/DateRangeInput.js +16 -5
  265. package/esm/DateRangePicker/Calendar.d.ts +4 -5
  266. package/esm/DateRangePicker/Calendar.js +19 -47
  267. package/esm/DateRangePicker/DateRangePicker.d.ts +33 -4
  268. package/esm/DateRangePicker/DateRangePicker.js +107 -72
  269. package/esm/DateRangePicker/DateRangePickerProvider.d.ts +10 -0
  270. package/esm/DateRangePicker/{DateRangePickerContext.js → DateRangePickerProvider.js} +2 -2
  271. package/esm/DateRangePicker/hooks/index.d.ts +3 -0
  272. package/esm/DateRangePicker/hooks/index.js +4 -0
  273. package/esm/DateRangePicker/hooks/useCalendarHandlers.d.ts +17 -0
  274. package/esm/DateRangePicker/hooks/useCalendarHandlers.js +38 -0
  275. package/esm/DateRangePicker/hooks/useDateDisabled.d.ts +1 -1
  276. package/esm/DateRangePicker/hooks/useDateDisabled.js +1 -1
  277. package/esm/DateRangePicker/hooks/useDateRangePicker.d.ts +2 -0
  278. package/esm/DateRangePicker/hooks/useDateRangePicker.js +6 -0
  279. package/esm/DateRangePicker/utils.js +2 -2
  280. package/esm/Form/hooks/useFormValidate.js +2 -1
  281. package/esm/InlineEdit/renderChildren.d.ts +1 -1
  282. package/esm/InlineEdit/renderChildren.js +13 -4
  283. package/esm/InlineEdit/useFocusEvent.d.ts +2 -2
  284. package/esm/InlineEdit/useFocusEvent.js +9 -4
  285. package/esm/TimePicker/TimePicker.d.ts +81 -0
  286. package/esm/TimePicker/TimePicker.js +24 -0
  287. package/esm/TimePicker/index.d.ts +3 -0
  288. package/esm/TimePicker/index.js +3 -0
  289. package/esm/TimeRangePicker/TimeRangePicker.d.ts +77 -0
  290. package/esm/TimeRangePicker/TimeRangePicker.js +18 -0
  291. package/esm/TimeRangePicker/index.d.ts +3 -0
  292. package/esm/TimeRangePicker/index.js +3 -0
  293. package/esm/index.d.ts +4 -0
  294. package/esm/index.js +2 -0
  295. package/esm/internals/Picker/Listbox.js +4 -2
  296. package/esm/internals/hooks/useCustom.js +1 -1
  297. package/esm/internals/utils/date/extractTimeFormat.d.ts +4 -0
  298. package/esm/internals/utils/date/extractTimeFormat.js +8 -0
  299. package/esm/internals/utils/date/formatCheck.d.ts +4 -0
  300. package/esm/internals/utils/date/formatCheck.js +7 -0
  301. package/esm/internals/utils/date/index.d.ts +4 -2
  302. package/esm/internals/utils/date/index.js +4 -2
  303. package/esm/internals/utils/date/useDateMode.d.ts +16 -0
  304. package/esm/internals/utils/date/useDateMode.js +54 -0
  305. package/esm/internals/utils/index.d.ts +0 -1
  306. package/esm/internals/utils/index.js +0 -1
  307. package/esm/locales/ar_EG.d.ts +10 -0
  308. package/esm/locales/ar_EG.js +8 -4
  309. package/esm/locales/ca_ES.d.ts +10 -0
  310. package/esm/locales/ca_ES.js +8 -4
  311. package/esm/locales/cs_CZ.d.ts +10 -0
  312. package/esm/locales/cs_CZ.js +8 -4
  313. package/esm/locales/da_DK.d.ts +10 -0
  314. package/esm/locales/da_DK.js +8 -4
  315. package/esm/locales/de_DE.d.ts +10 -0
  316. package/esm/locales/de_DE.js +8 -4
  317. package/esm/locales/en_GB.d.ts +130 -2
  318. package/esm/locales/en_GB.js +85 -2
  319. package/esm/locales/en_US.d.ts +10 -0
  320. package/esm/locales/en_US.js +8 -4
  321. package/esm/locales/es_AR.d.ts +10 -0
  322. package/esm/locales/es_AR.js +8 -4
  323. package/esm/locales/es_ES.d.ts +10 -0
  324. package/esm/locales/es_ES.js +8 -4
  325. package/esm/locales/fa_IR.d.ts +10 -0
  326. package/esm/locales/fa_IR.js +8 -4
  327. package/esm/locales/fi_FI.d.ts +10 -0
  328. package/esm/locales/fi_FI.js +8 -4
  329. package/esm/locales/fr_FR.d.ts +10 -0
  330. package/esm/locales/fr_FR.js +8 -4
  331. package/esm/locales/hu_HU.d.ts +10 -0
  332. package/esm/locales/hu_HU.js +8 -4
  333. package/esm/locales/index.d.ts +1 -1
  334. package/esm/locales/it_IT.d.ts +10 -0
  335. package/esm/locales/it_IT.js +8 -4
  336. package/esm/locales/ja_JP.d.ts +10 -0
  337. package/esm/locales/ja_JP.js +8 -4
  338. package/esm/locales/kk_KZ.d.ts +10 -0
  339. package/esm/locales/kk_KZ.js +8 -4
  340. package/esm/locales/ko_KR.d.ts +10 -0
  341. package/esm/locales/ko_KR.js +8 -4
  342. package/esm/locales/ne_NP.d.ts +10 -0
  343. package/esm/locales/ne_NP.js +8 -4
  344. package/esm/locales/nl_NL.d.ts +10 -0
  345. package/esm/locales/nl_NL.js +8 -4
  346. package/esm/locales/pt_BR.d.ts +10 -0
  347. package/esm/locales/pt_BR.js +8 -4
  348. package/esm/locales/ru_RU.d.ts +10 -0
  349. package/esm/locales/ru_RU.js +8 -4
  350. package/esm/locales/sv_SE.d.ts +10 -0
  351. package/esm/locales/sv_SE.js +8 -4
  352. package/esm/locales/tr_TR.d.ts +10 -0
  353. package/esm/locales/tr_TR.js +8 -4
  354. package/esm/locales/zh_CN.d.ts +10 -0
  355. package/esm/locales/zh_CN.js +8 -4
  356. package/esm/locales/zh_TW.d.ts +10 -0
  357. package/esm/locales/zh_TW.js +8 -4
  358. package/internals/Picker/styles/index.less +17 -0
  359. package/internals/ScrollView/styles/index.less +1 -5
  360. package/package.json +1 -1
  361. package/styles/color-modes/dark.less +5 -0
  362. package/styles/color-modes/high-contrast.less +5 -0
  363. package/styles/color-modes/light.less +5 -0
  364. package/styles/common.less +3 -3
  365. package/styles/variables.less +2 -2
  366. package/cjs/Calendar/CalendarContext.js +0 -22
  367. package/cjs/Calendar/Table.d.ts +0 -6
  368. package/cjs/Calendar/TableHeaderRow.d.ts +0 -4
  369. package/cjs/Calendar/TableRow.d.ts +0 -7
  370. package/cjs/Calendar/useCalendarState.d.ts +0 -11
  371. package/cjs/Calendar/useCalendarState.js +0 -32
  372. package/cjs/DateRangePicker/DateRangePickerContext.d.ts +0 -10
  373. package/cjs/internals/utils/date/getReversedTimeMeridian.d.ts +0 -8
  374. package/cjs/internals/utils/date/getReversedTimeMeridian.js +0 -21
  375. package/cjs/internals/utils/scrollTopAnimation.d.ts +0 -5
  376. package/cjs/internals/utils/scrollTopAnimation.js +0 -32
  377. package/cjs/locales/default.d.ts +0 -120
  378. package/cjs/locales/default.js +0 -87
  379. package/esm/Calendar/CalendarContext.js +0 -17
  380. package/esm/Calendar/Table.d.ts +0 -6
  381. package/esm/Calendar/TableHeaderRow.d.ts +0 -4
  382. package/esm/Calendar/TableRow.d.ts +0 -7
  383. package/esm/Calendar/TimeDropdown.js +0 -192
  384. package/esm/Calendar/useCalendarState.d.ts +0 -11
  385. package/esm/Calendar/useCalendarState.js +0 -28
  386. package/esm/DateRangePicker/DateRangePickerContext.d.ts +0 -10
  387. package/esm/internals/utils/date/getReversedTimeMeridian.d.ts +0 -8
  388. package/esm/internals/utils/date/getReversedTimeMeridian.js +0 -17
  389. package/esm/internals/utils/scrollTopAnimation.d.ts +0 -5
  390. package/esm/internals/utils/scrollTopAnimation.js +0 -27
  391. package/esm/locales/default.d.ts +0 -120
  392. package/esm/locales/default.js +0 -82
  393. package/locales/default/package.json +0 -7
  394. /package/cjs/Calendar/{utils.d.ts → utils/getAriaLabel.d.ts} +0 -0
  395. /package/esm/Calendar/{utils.d.ts → utils/getAriaLabel.d.ts} +0 -0
@@ -4,11 +4,11 @@ import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWith
4
4
  var _excluded = ["as", "classPrefix", "disabled", "selected", "date", "onSelect", "unSameMonth", "rangeStart", "rangeEnd", "inRange"];
5
5
  import React from 'react';
6
6
  import partial from 'lodash/partial';
7
- import { isSameDay, getDate } from "../internals/utils/date/index.js";
8
- import { useClassNames, useCustom } from "../internals/hooks/index.js";
9
- import { useCalendarContext } from "./CalendarContext.js";
10
- import { getAriaLabel } from "./utils.js";
11
- var TableCell = /*#__PURE__*/React.forwardRef(function (props, ref) {
7
+ import { isSameDay, getDate } from "../../internals/utils/date/index.js";
8
+ import { useClassNames, useCustom } from "../../internals/hooks/index.js";
9
+ import { useCalendar } from "../hooks/index.js";
10
+ import { getAriaLabel } from "../utils/index.js";
11
+ var GridCell = /*#__PURE__*/React.forwardRef(function (props, ref) {
12
12
  var _props$as = props.as,
13
13
  Component = _props$as === void 0 ? 'div' : _props$as,
14
14
  _props$classPrefix = props.classPrefix,
@@ -22,12 +22,12 @@ var TableCell = /*#__PURE__*/React.forwardRef(function (props, ref) {
22
22
  rangeEnd = props.rangeEnd,
23
23
  inRange = props.inRange,
24
24
  rest = _objectWithoutPropertiesLoose(props, _excluded);
25
- var _useCalendarContext = useCalendarContext(),
26
- onMouseMove = _useCalendarContext.onMouseMove,
27
- cellClassName = _useCalendarContext.cellClassName,
28
- renderCell = _useCalendarContext.renderCell,
29
- renderCellOnPicker = _useCalendarContext.renderCellOnPicker,
30
- overrideLocale = _useCalendarContext.locale;
25
+ var _useCalendar = useCalendar(),
26
+ onMouseMove = _useCalendar.onMouseMove,
27
+ cellClassName = _useCalendar.cellClassName,
28
+ renderCell = _useCalendar.renderCell,
29
+ renderCellOnPicker = _useCalendar.renderCellOnPicker,
30
+ overrideLocale = _useCalendar.locale;
31
31
  var _useClassNames = useClassNames(classPrefix),
32
32
  prefix = _useClassNames.prefix,
33
33
  merge = _useClassNames.merge;
@@ -64,5 +64,5 @@ var TableCell = /*#__PURE__*/React.forwardRef(function (props, ref) {
64
64
  className: prefix('cell-day')
65
65
  }, getDate(date)), renderCell === null || renderCell === void 0 ? void 0 : renderCell(date)));
66
66
  });
67
- TableCell.displayName = 'CalendarTableCell';
68
- export default TableCell;
67
+ GridCell.displayName = 'CalendarGridCell';
68
+ export default GridCell;
@@ -0,0 +1,4 @@
1
+ import { RsRefForwardingComponent, WithAsProps } from '../../internals/types';
2
+ export type GridHeaderRowProps = WithAsProps;
3
+ declare const GridHeaderRow: RsRefForwardingComponent<'div', GridHeaderRowProps>;
4
+ export default GridHeaderRow;
@@ -4,21 +4,21 @@ import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWith
4
4
  var _excluded = ["as", "className", "classPrefix"];
5
5
  import React from 'react';
6
6
  import upperFirst from 'lodash/upperFirst';
7
- import { getWeekKeys } from "../internals/utils/date/index.js";
8
- import { useClassNames } from "../internals/hooks/index.js";
9
- import { useCalendarContext } from "./CalendarContext.js";
10
- var TableHeaderRow = /*#__PURE__*/React.forwardRef(function (props, ref) {
7
+ import { getWeekKeys } from "../../internals/utils/date/index.js";
8
+ import { useClassNames } from "../../internals/hooks/index.js";
9
+ import { useCalendar } from "../hooks/index.js";
10
+ var GridHeaderRow = /*#__PURE__*/React.forwardRef(function (props, ref) {
11
11
  var _props$as = props.as,
12
12
  Component = _props$as === void 0 ? 'div' : _props$as,
13
13
  className = props.className,
14
14
  _props$classPrefix = props.classPrefix,
15
15
  classPrefix = _props$classPrefix === void 0 ? 'calendar-table' : _props$classPrefix,
16
16
  rest = _objectWithoutPropertiesLoose(props, _excluded);
17
- var _useCalendarContext = useCalendarContext(),
18
- locale = _useCalendarContext.locale,
19
- showWeekNumbers = _useCalendarContext.showWeekNumbers,
20
- isoWeek = _useCalendarContext.isoWeek,
21
- weekStart = _useCalendarContext.weekStart;
17
+ var _useCalendar = useCalendar(),
18
+ locale = _useCalendar.locale,
19
+ showWeekNumbers = _useCalendar.showWeekNumbers,
20
+ isoWeek = _useCalendar.isoWeek,
21
+ weekStart = _useCalendar.weekStart;
22
22
  var _useClassNames = useClassNames(classPrefix),
23
23
  merge = _useClassNames.merge,
24
24
  prefix = _useClassNames.prefix;
@@ -43,5 +43,5 @@ var TableHeaderRow = /*#__PURE__*/React.forwardRef(function (props, ref) {
43
43
  }, locale === null || locale === void 0 ? void 0 : locale[key]));
44
44
  }));
45
45
  });
46
- TableHeaderRow.displayName = 'CalendarTableHeaderRow';
47
- export default TableHeaderRow;
46
+ GridHeaderRow.displayName = 'CalendarGridHeaderRow';
47
+ export default GridHeaderRow;
@@ -0,0 +1,7 @@
1
+ import { RsRefForwardingComponent, WithAsProps } from '../../internals/types';
2
+ export interface GridRowProps extends WithAsProps {
3
+ weekendDate?: Date;
4
+ rowIndex?: number;
5
+ }
6
+ declare const GridRow: RsRefForwardingComponent<'div', GridRowProps>;
7
+ export default GridRow;
@@ -3,12 +3,12 @@ import _extends from "@babel/runtime/helpers/esm/extends";
3
3
  import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
4
4
  var _excluded = ["as", "className", "classPrefix", "weekendDate", "rowIndex"];
5
5
  import React, { useCallback } from 'react';
6
- import { isSameDay, addDays, isBefore, isAfter, format } from "../internals/utils/date/index.js";
7
- import { DATERANGE_DISABLED_TARGET } from "../internals/constants/index.js";
8
- import { useClassNames } from "../internals/hooks/index.js";
9
- import { useCalendarContext } from "./CalendarContext.js";
10
- import TableCell from "./TableCell.js";
11
- var TableRow = /*#__PURE__*/React.forwardRef(function (props, ref) {
6
+ import { isSameDay, addDays, isBefore, isAfter, format } from "../../internals/utils/date/index.js";
7
+ import { DATERANGE_DISABLED_TARGET } from "../../internals/constants/index.js";
8
+ import { useClassNames } from "../../internals/hooks/index.js";
9
+ import { useCalendar } from "../hooks/index.js";
10
+ import GridCell from "./GridCell.js";
11
+ var GridRow = /*#__PURE__*/React.forwardRef(function (props, ref) {
12
12
  var _locale$dateLocale$op, _locale$dateLocale;
13
13
  var _props$as = props.as,
14
14
  Component = _props$as === void 0 ? 'div' : _props$as,
@@ -19,18 +19,18 @@ var TableRow = /*#__PURE__*/React.forwardRef(function (props, ref) {
19
19
  weekendDate = _props$weekendDate === void 0 ? new Date() : _props$weekendDate,
20
20
  rowIndex = props.rowIndex,
21
21
  rest = _objectWithoutPropertiesLoose(props, _excluded);
22
- var _useCalendarContext = useCalendarContext(),
23
- _useCalendarContext$d = _useCalendarContext.date,
24
- selected = _useCalendarContext$d === void 0 ? new Date() : _useCalendarContext$d,
25
- dateRange = _useCalendarContext.dateRange,
26
- hoverRangeValue = _useCalendarContext.hoverRangeValue,
27
- isoWeek = _useCalendarContext.isoWeek,
28
- weekStart = _useCalendarContext.weekStart,
29
- showWeekNumbers = _useCalendarContext.showWeekNumbers,
30
- locale = _useCalendarContext.locale,
31
- inSameMonth = _useCalendarContext.inSameMonth,
32
- disabledDate = _useCalendarContext.disabledDate,
33
- onSelect = _useCalendarContext.onSelect;
22
+ var _useCalendar = useCalendar(),
23
+ _useCalendar$date = _useCalendar.date,
24
+ selected = _useCalendar$date === void 0 ? new Date() : _useCalendar$date,
25
+ dateRange = _useCalendar.dateRange,
26
+ hoverRangeValue = _useCalendar.hoverRangeValue,
27
+ isoWeek = _useCalendar.isoWeek,
28
+ weekStart = _useCalendar.weekStart,
29
+ showWeekNumbers = _useCalendar.showWeekNumbers,
30
+ locale = _useCalendar.locale,
31
+ inSameMonth = _useCalendar.inSameMonth,
32
+ disabledDate = _useCalendar.disabledDate,
33
+ onSelect = _useCalendar.onSelect;
34
34
  var _useClassNames = useClassNames(classPrefix),
35
35
  prefix = _useClassNames.prefix,
36
36
  merge = _useClassNames.merge;
@@ -79,7 +79,7 @@ var TableRow = /*#__PURE__*/React.forwardRef(function (props, ref) {
79
79
  inRange = true;
80
80
  }
81
81
  }
82
- days.push( /*#__PURE__*/React.createElement(TableCell, {
82
+ days.push( /*#__PURE__*/React.createElement(GridCell, {
83
83
  key: format(thisDate, 'yyyy-MM-dd'),
84
84
  date: thisDate,
85
85
  disabled: disabled,
@@ -113,5 +113,5 @@ var TableRow = /*#__PURE__*/React.forwardRef(function (props, ref) {
113
113
  className: prefix('cell-week-number')
114
114
  }, week), renderDays());
115
115
  });
116
- TableRow.displayName = 'CalendarTableRow';
117
- export default TableRow;
116
+ GridRow.displayName = 'CalendarGridRow';
117
+ export default GridRow;
@@ -0,0 +1,2 @@
1
+ import Grid from './Grid';
2
+ export default Grid;
@@ -0,0 +1,3 @@
1
+ 'use client';
2
+ import Grid from "./Grid.js";
3
+ export default Grid;
@@ -1,4 +1,3 @@
1
- import React from 'react';
2
1
  import { RsRefForwardingComponent, WithAsProps } from '../internals/types';
3
2
  export interface MonthDropdownProps extends WithAsProps {
4
3
  show?: boolean;
@@ -8,20 +7,6 @@ export interface MonthDropdownProps extends WithAsProps {
8
7
  width?: number;
9
8
  disabledMonth?: (date: Date) => boolean;
10
9
  }
11
- export interface RowProps {
12
- /** Index of row */
13
- index: number;
14
- /** The List is currently being scrolled */
15
- isScrolling: boolean;
16
- /** This row is visible within the List (eg it is not an overscanned row) */
17
- isVisible: boolean;
18
- /** Unique key within array of rendered rows */
19
- key?: any;
20
- /** Reference to the parent List (instance) */
21
- parent: any;
22
- /** Style object to be applied to row (to position it); */
23
- style?: React.CSSProperties;
24
- }
25
10
  export declare function isEveryDateInMonth(year: number, month: number, predicate: (date: Date) => boolean): boolean;
26
11
  declare const MonthDropdown: RsRefForwardingComponent<'div', MonthDropdownProps>;
27
12
  export default MonthDropdown;
@@ -8,7 +8,7 @@ import { getDaysInMonth, getMonth, getYear } from "../internals/utils/date/index
8
8
  import { AutoSizer, FixedSizeList } from "../internals/Windowing/index.js";
9
9
  import { useClassNames } from "../internals/hooks/index.js";
10
10
  import MonthDropdownItem from "./MonthDropdownItem.js";
11
- import { useCalendarContext } from "./CalendarContext.js";
11
+ import { useCalendar } from "./hooks/index.js";
12
12
  var monthMap = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11];
13
13
  export function isEveryDateInMonth(year, month, predicate) {
14
14
  var days = getDaysInMonth(new Date(year, month));
@@ -35,11 +35,11 @@ var MonthDropdown = /*#__PURE__*/React.forwardRef(function (props, ref) {
35
35
  defaultWidth = _props$width === void 0 ? 256 : _props$width,
36
36
  disabledMonth = props.disabledMonth,
37
37
  rest = _objectWithoutPropertiesLoose(props, _excluded);
38
- var _useCalendarContext = useCalendarContext(),
39
- _useCalendarContext$d = _useCalendarContext.date,
40
- date = _useCalendarContext$d === void 0 ? new Date() : _useCalendarContext$d,
41
- targetId = _useCalendarContext.targetId,
42
- monthDropdownProps = _useCalendarContext.monthDropdownProps;
38
+ var _useCalendar = useCalendar(),
39
+ _useCalendar$date = _useCalendar.date,
40
+ date = _useCalendar$date === void 0 ? new Date() : _useCalendar$date,
41
+ targetId = _useCalendar.targetId,
42
+ monthDropdownProps = _useCalendar.monthDropdownProps;
43
43
  var _useClassNames = useClassNames(classPrefix),
44
44
  prefix = _useClassNames.prefix,
45
45
  merge = _useClassNames.merge,
@@ -2,12 +2,12 @@
2
2
  import _extends from "@babel/runtime/helpers/esm/extends";
3
3
  import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
4
4
  var _excluded = ["as", "className", "classPrefix", "active", "disabled", "month", "year"];
5
- import React, { useCallback, useMemo } from 'react';
5
+ import React, { useMemo } from 'react';
6
6
  import { setMonth, setYear } from "../internals/utils/date/index.js";
7
- import { useClassNames, useCustom } from "../internals/hooks/index.js";
7
+ import { useClassNames, useCustom, useEventCallback } from "../internals/hooks/index.js";
8
8
  import { composeFunctions } from "../internals/utils/index.js";
9
- import { useCalendarContext } from "./CalendarContext.js";
10
- import { getAriaLabel } from "./utils.js";
9
+ import { useCalendar } from "./hooks/index.js";
10
+ import { getAriaLabel } from "./utils/index.js";
11
11
  var MonthDropdownItem = /*#__PURE__*/React.forwardRef(function (props, ref) {
12
12
  var _props$as = props.as,
13
13
  Component = _props$as === void 0 ? 'div' : _props$as,
@@ -20,9 +20,9 @@ var MonthDropdownItem = /*#__PURE__*/React.forwardRef(function (props, ref) {
20
20
  month = _props$month === void 0 ? 0 : _props$month,
21
21
  year = props.year,
22
22
  rest = _objectWithoutPropertiesLoose(props, _excluded);
23
- var _useCalendarContext = useCalendarContext(),
24
- date = _useCalendarContext.date,
25
- onSelect = _useCalendarContext.onChangeMonth;
23
+ var _useCalendar = useCalendar(),
24
+ date = _useCalendar.date,
25
+ onSelect = _useCalendar.onChangeMonth;
26
26
  var _useCustom = useCustom('Calendar'),
27
27
  locale = _useCustom.locale,
28
28
  formatDate = _useCustom.formatDate;
@@ -37,12 +37,12 @@ var MonthDropdownItem = /*#__PURE__*/React.forwardRef(function (props, ref) {
37
37
  }
38
38
  return date;
39
39
  }, [date, month, year]);
40
- var handleClick = useCallback(function (event) {
40
+ var handleClick = useEventCallback(function (event) {
41
41
  if (disabled) {
42
42
  return;
43
43
  }
44
44
  onSelect === null || onSelect === void 0 ? void 0 : onSelect(currentMonth, event);
45
- }, [currentMonth, disabled, onSelect]);
45
+ });
46
46
  var _useClassNames = useClassNames(classPrefix),
47
47
  prefix = _useClassNames.prefix,
48
48
  merge = _useClassNames.merge,
@@ -0,0 +1,8 @@
1
+ import React from 'react';
2
+ interface TimeColumnProps {
3
+ prefix: (name: string) => string;
4
+ title: React.ReactNode;
5
+ children: React.ReactNode;
6
+ }
7
+ declare const TimeColumn: (props: TimeColumnProps) => React.JSX.Element;
8
+ export default TimeColumn;
@@ -0,0 +1,22 @@
1
+ 'use client';
2
+ import _extends from "@babel/runtime/helpers/esm/extends";
3
+ import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
4
+ var _excluded = ["prefix", "title", "children"];
5
+ import React from 'react';
6
+ import ScrollView from "../../internals/ScrollView/index.js";
7
+ var TimeColumn = function TimeColumn(props) {
8
+ var prefix = props.prefix,
9
+ title = props.title,
10
+ children = props.children,
11
+ rest = _objectWithoutPropertiesLoose(props, _excluded);
12
+ return /*#__PURE__*/React.createElement("div", {
13
+ className: prefix('column')
14
+ }, /*#__PURE__*/React.createElement("div", {
15
+ className: prefix('column-title')
16
+ }, title), /*#__PURE__*/React.createElement(ScrollView, _extends({
17
+ customScrollbar: true,
18
+ as: "ul",
19
+ role: "listbox"
20
+ }, rest), children));
21
+ };
22
+ export default TimeColumn;
@@ -1,7 +1,7 @@
1
- import { RsRefForwardingComponent, WithAsProps } from '../internals/types';
1
+ import { RsRefForwardingComponent, WithAsProps } from '../../internals/types';
2
2
  export interface TimeDropdownProps extends WithAsProps {
3
3
  show?: boolean;
4
- showMeridian?: boolean;
4
+ showMeridiem?: boolean;
5
5
  disabledDate?: (date: Date) => boolean;
6
6
  disabledHours?: (hour: number, date: Date) => boolean;
7
7
  disabledMinutes?: (minute: number, date: Date) => boolean;
@@ -10,28 +10,5 @@ export interface TimeDropdownProps extends WithAsProps {
10
10
  hideMinutes?: (minute: number, date: Date) => boolean;
11
11
  hideSeconds?: (second: number, date: Date) => boolean;
12
12
  }
13
- /**
14
- * Get the effective range of hours, minutes and seconds
15
- * @param meridian
16
- */
17
- export declare function getRanges(meridian: boolean): {
18
- hours: {
19
- start: number;
20
- end: number;
21
- };
22
- minutes: {
23
- start: number;
24
- end: number;
25
- };
26
- seconds: {
27
- start: number;
28
- end: number;
29
- };
30
- };
31
- /**
32
- * Convert the 24-hour clock to the 12-hour clock
33
- * @param hours
34
- */
35
- export declare function getMeridianHours(hours: number): number;
36
13
  declare const TimeDropdown: RsRefForwardingComponent<'div', TimeDropdownProps>;
37
14
  export default TimeDropdown;
@@ -0,0 +1,161 @@
1
+ 'use client';
2
+ import _extends from "@babel/runtime/helpers/esm/extends";
3
+ import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
4
+ var _excluded = ["as", "className", "classPrefix", "show", "showMeridiem"];
5
+ import React, { useEffect, useRef } from 'react';
6
+ import partial from 'lodash/partial';
7
+ import camelCase from 'lodash/camelCase';
8
+ import isNumber from 'lodash/isNumber';
9
+ import { useClassNames, useEventCallback } from "../../internals/hooks/index.js";
10
+ import { startOfToday, getHours, setHours, setMinutes, setSeconds, omitHideDisabledProps } from "../../internals/utils/date/index.js";
11
+ import { useCalendar } from "../hooks/index.js";
12
+ import TimeColumn from "./TimeColumn.js";
13
+ import { getTimeLimits, getClockTime, scrollToTime, formatWithLeadingZero } from "./utils/index.js";
14
+ var TimeDropdown = /*#__PURE__*/React.forwardRef(function (props, ref) {
15
+ var _props$as = props.as,
16
+ Component = _props$as === void 0 ? 'div' : _props$as,
17
+ className = props.className,
18
+ _props$classPrefix = props.classPrefix,
19
+ classPrefix = _props$classPrefix === void 0 ? 'calendar-time-dropdown' : _props$classPrefix,
20
+ show = props.show,
21
+ _props$showMeridiem = props.showMeridiem,
22
+ showMeridiem = _props$showMeridiem === void 0 ? false : _props$showMeridiem,
23
+ rest = _objectWithoutPropertiesLoose(props, _excluded);
24
+ var _useCalendar = useCalendar(),
25
+ locale = _useCalendar.locale,
26
+ format = _useCalendar.format,
27
+ date = _useCalendar.date,
28
+ onSelect = _useCalendar.onChangeTime,
29
+ targetId = _useCalendar.targetId;
30
+ var rowRef = useRef(null);
31
+ useEffect(function () {
32
+ var time = getClockTime({
33
+ format: format,
34
+ date: date,
35
+ showMeridiem: showMeridiem
36
+ });
37
+ // The currently selected time scrolls to the visible range.
38
+ if (show && rowRef.current) {
39
+ scrollToTime(time, rowRef.current);
40
+ }
41
+ }, [date, format, show, showMeridiem]);
42
+ var handleClick = useEventCallback(function (type, d, event) {
43
+ var nextDate = date || startOfToday();
44
+ switch (type) {
45
+ case 'hours':
46
+ nextDate = setHours(nextDate, showMeridiem && getHours(nextDate) >= 12 ? d + 12 : d);
47
+ break;
48
+ case 'minutes':
49
+ nextDate = setMinutes(nextDate, d);
50
+ break;
51
+ case 'seconds':
52
+ nextDate = setSeconds(nextDate, d);
53
+ break;
54
+ }
55
+ onSelect === null || onSelect === void 0 ? void 0 : onSelect(nextDate, event);
56
+ });
57
+ var handleClickMeridiem = useEventCallback(function (meridiem, event) {
58
+ var tempDate = date || startOfToday();
59
+ var hours = getHours(tempDate);
60
+ var isAM = hours < 12;
61
+ var adjustHours = function adjustHours(meridiem, hours) {
62
+ if (meridiem === 'AM') {
63
+ return isAM ? hours : hours - 12;
64
+ }
65
+ return isAM ? hours + 12 : hours;
66
+ };
67
+ var nextHours = adjustHours(meridiem, hours);
68
+ var nextDate = setHours(tempDate, nextHours);
69
+ onSelect === null || onSelect === void 0 ? void 0 : onSelect(nextDate, event);
70
+ });
71
+ var _useClassNames = useClassNames(classPrefix),
72
+ prefix = _useClassNames.prefix,
73
+ rootPrefix = _useClassNames.rootPrefix,
74
+ merge = _useClassNames.merge;
75
+ var renderColumn = function renderColumn(type, value) {
76
+ if (!isNumber(value)) {
77
+ return null;
78
+ }
79
+ var _getTimeLimits$type = getTimeLimits(showMeridiem)[type],
80
+ start = _getTimeLimits$type.start,
81
+ end = _getTimeLimits$type.end;
82
+ var items = [];
83
+ var hideFunc = props[camelCase("hide_" + type)];
84
+ var disabledFunc = props[camelCase("disabled_" + type)];
85
+ for (var i = start; i <= end; i += 1) {
86
+ if (!(hideFunc !== null && hideFunc !== void 0 && hideFunc(i, date))) {
87
+ var disabled = disabledFunc === null || disabledFunc === void 0 ? void 0 : disabledFunc(i, date);
88
+ var itemClasses = prefix('cell', {
89
+ 'cell-active': value === i,
90
+ 'cell-disabled': disabled
91
+ });
92
+ items.push( /*#__PURE__*/React.createElement("li", {
93
+ key: i,
94
+ role: "option",
95
+ tabIndex: -1,
96
+ "aria-label": i + " " + type,
97
+ "aria-selected": value === i,
98
+ "aria-disabled": disabled,
99
+ "data-key": type + "-" + i,
100
+ onClick: !disabled ? partial(handleClick, type, i) : undefined
101
+ }, /*#__PURE__*/React.createElement("span", {
102
+ className: itemClasses
103
+ }, showMeridiem && type === 'hours' && i === 0 ? 12 : formatWithLeadingZero(i))));
104
+ }
105
+ }
106
+ return /*#__PURE__*/React.createElement(TimeColumn, {
107
+ prefix: prefix,
108
+ title: locale === null || locale === void 0 ? void 0 : locale[type],
109
+ "data-type": type,
110
+ "aria-label": "Select " + type
111
+ }, items);
112
+ };
113
+ var renderMeridiemColumn = function renderMeridiemColumn() {
114
+ var columns = ['AM', 'PM'];
115
+ return /*#__PURE__*/React.createElement(TimeColumn, {
116
+ prefix: prefix,
117
+ title: 'AM/PM',
118
+ "data-type": "meridiem",
119
+ "aria-label": "Select meridiem"
120
+ }, columns.map(function (meridiem, index) {
121
+ var ampm = date && (getHours(date) >= 12 ? 'PM' : 'AM');
122
+ var itemClasses = prefix('cell', {
123
+ 'cell-active': ampm === meridiem
124
+ });
125
+ return /*#__PURE__*/React.createElement("li", {
126
+ key: index,
127
+ role: "option",
128
+ tabIndex: -1,
129
+ "aria-label": meridiem,
130
+ "aria-selected": ampm === meridiem,
131
+ "data-key": "meridiem-" + meridiem,
132
+ onClick: partial(handleClickMeridiem, meridiem)
133
+ }, /*#__PURE__*/React.createElement("span", {
134
+ className: itemClasses
135
+ }, meridiem));
136
+ }));
137
+ };
138
+ var time = getClockTime({
139
+ format: format,
140
+ date: date,
141
+ showMeridiem: showMeridiem
142
+ });
143
+ var classes = merge(className, rootPrefix(classPrefix), {
144
+ show: show
145
+ });
146
+ return /*#__PURE__*/React.createElement(Component, _extends({
147
+ role: "group",
148
+ tabIndex: -1,
149
+ id: targetId ? targetId + "-" + classPrefix : undefined
150
+ }, omitHideDisabledProps(rest), {
151
+ ref: ref,
152
+ className: classes
153
+ }), /*#__PURE__*/React.createElement("div", {
154
+ className: prefix('content')
155
+ }, /*#__PURE__*/React.createElement("div", {
156
+ className: prefix('row'),
157
+ ref: rowRef
158
+ }, renderColumn('hours', time.hours), renderColumn('minutes', time.minutes), renderColumn('seconds', time.seconds), showMeridiem && renderMeridiemColumn())));
159
+ });
160
+ TimeDropdown.displayName = 'TimeDropdown';
161
+ export default TimeDropdown;
@@ -0,0 +1,2 @@
1
+ import TimeDropdown from './TimeDropdown';
2
+ export default TimeDropdown;
@@ -0,0 +1,3 @@
1
+ 'use client';
2
+ import TimeDropdown from "./TimeDropdown.js";
3
+ export default TimeDropdown;
@@ -0,0 +1 @@
1
+ export declare const formatWithLeadingZero: (number: number) => string;
@@ -0,0 +1,4 @@
1
+ 'use client';
2
+ export var formatWithLeadingZero = function formatWithLeadingZero(number) {
3
+ return String(number).padStart(2, '0');
4
+ };
@@ -0,0 +1,11 @@
1
+ export interface ClockTime {
2
+ hours?: number | null;
3
+ minutes?: number | null;
4
+ seconds?: number | null;
5
+ meridiem?: 'AM' | 'PM' | null;
6
+ }
7
+ export declare function getClockTime(props: {
8
+ date?: Date;
9
+ format?: string;
10
+ showMeridiem: boolean;
11
+ }): ClockTime;
@@ -0,0 +1,39 @@
1
+ 'use client';
2
+ import { getHours, getMinutes, getSeconds } from "../../../internals/utils/date/index.js";
3
+ /**
4
+ * Convert the 24-hour clock to the 12-hour clock
5
+ * @param hours
6
+ */
7
+ function getMeridiemHours(hours) {
8
+ return hours >= 12 ? hours - 12 : hours;
9
+ }
10
+ export function getClockTime(props) {
11
+ var format = props.format,
12
+ date = props.date,
13
+ showMeridiem = props.showMeridiem;
14
+ var clockTime = {
15
+ hours: null,
16
+ minutes: null,
17
+ seconds: null,
18
+ meridiem: null
19
+ };
20
+ if (!format) {
21
+ return clockTime;
22
+ }
23
+
24
+ // If date is provided, extract hours and meridiem
25
+ if (/(H|h)/.test(format) && date) {
26
+ var hours = getHours(date);
27
+ clockTime.hours = showMeridiem ? getMeridiemHours(hours) : hours;
28
+ clockTime.meridiem = hours >= 12 ? 'PM' : 'AM';
29
+ }
30
+ // Extract minutes if 'm' is present in format and date is provided
31
+ if (/m/.test(format) && date) {
32
+ clockTime.minutes = getMinutes(date);
33
+ }
34
+ // // Extract seconds if 's' is present in format and date is provided
35
+ if (/s/.test(format) && date) {
36
+ clockTime.seconds = getSeconds(date);
37
+ }
38
+ return clockTime;
39
+ }
@@ -0,0 +1,11 @@
1
+ interface TimeRange {
2
+ start: number;
3
+ end: number;
4
+ }
5
+ interface TimeLimits {
6
+ hours: TimeRange;
7
+ minutes: TimeRange;
8
+ seconds: TimeRange;
9
+ }
10
+ export declare function getTimeLimits(isMeridiem: boolean): TimeLimits;
11
+ export {};
@@ -0,0 +1,20 @@
1
+ 'use client';
2
+ export function getTimeLimits(isMeridiem) {
3
+ var HOURS_24H = {
4
+ start: 0,
5
+ end: 23
6
+ };
7
+ var HOURS_12H = {
8
+ start: 0,
9
+ end: 11
10
+ };
11
+ var MINUTES_SECONDS = {
12
+ start: 0,
13
+ end: 59
14
+ };
15
+ return {
16
+ hours: isMeridiem ? HOURS_12H : HOURS_24H,
17
+ minutes: MINUTES_SECONDS,
18
+ seconds: MINUTES_SECONDS
19
+ };
20
+ }
@@ -0,0 +1,4 @@
1
+ export { getTimeLimits } from './getTimeLimits';
2
+ export { formatWithLeadingZero } from './formatWithLeadingZero';
3
+ export { scrollToTime } from './scrollToTime';
4
+ export * from './getClockTime';
@@ -0,0 +1,5 @@
1
+ 'use client';
2
+ export { getTimeLimits } from "./getTimeLimits.js";
3
+ export { formatWithLeadingZero } from "./formatWithLeadingZero.js";
4
+ export { scrollToTime } from "./scrollToTime.js";
5
+ export * from "./getClockTime.js";
@@ -0,0 +1,2 @@
1
+ import type { ClockTime } from './getClockTime';
2
+ export declare function scrollToTime(time: ClockTime, row: HTMLDivElement | null): void;