rsuite 5.71.0 → 5.73.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (478) hide show
  1. package/Accordion/styles/index.css +20 -6
  2. package/Animation/styles/collapse.less +2 -1
  3. package/Animation/styles/fade.less +1 -1
  4. package/Animation/styles/index.css +8 -0
  5. package/Animation/styles/index.less +1 -0
  6. package/Animation/styles/variables.less +4 -0
  7. package/AutoComplete/styles/index.css +11 -0
  8. package/CHANGELOG.md +34 -0
  9. package/Calendar/styles/index.css +71 -44
  10. package/Calendar/styles/index.less +54 -28
  11. package/Cascader/styles/index.css +11 -0
  12. package/CheckPicker/styles/index.css +11 -1
  13. package/CheckTree/styles/index.css +11 -0
  14. package/CheckTreePicker/styles/index.css +11 -0
  15. package/DatePicker/styles/index.css +89 -49
  16. package/DatePicker/styles/index.less +8 -5
  17. package/DateRangePicker/styles/index.css +93 -54
  18. package/DateRangePicker/styles/index.less +7 -6
  19. package/InputPicker/styles/index.css +11 -1
  20. package/MultiCascadeTree/styles/index.css +11 -0
  21. package/MultiCascader/styles/index.css +11 -0
  22. package/Pagination/styles/index.css +11 -1
  23. package/Panel/styles/index.css +20 -6
  24. package/SelectPicker/styles/index.css +11 -1
  25. package/TagInput/styles/index.css +11 -1
  26. package/TagPicker/styles/index.css +11 -1
  27. package/TimePicker/package.json +7 -0
  28. package/TimePicker/styles/index.css +4155 -0
  29. package/TimePicker/styles/index.less +1 -0
  30. package/TimeRangePicker/package.json +7 -0
  31. package/TimeRangePicker/styles/index.css +4255 -0
  32. package/TimeRangePicker/styles/index.less +1 -0
  33. package/cjs/Calendar/Calendar.d.ts +1 -1
  34. package/cjs/Calendar/Calendar.js +22 -26
  35. package/cjs/Calendar/CalendarBody.js +9 -9
  36. package/cjs/Calendar/CalendarContainer.d.ts +10 -2
  37. package/cjs/Calendar/CalendarContainer.js +40 -68
  38. package/cjs/Calendar/CalendarHeader.d.ts +0 -2
  39. package/cjs/Calendar/CalendarHeader.js +28 -46
  40. package/cjs/Calendar/{CalendarContext.d.ts → CalendarProvider.d.ts} +3 -22
  41. package/cjs/Calendar/CalendarProvider.js +13 -0
  42. package/cjs/Calendar/Grid/Grid.d.ts +6 -0
  43. package/cjs/Calendar/{Table.js → Grid/Grid.js} +11 -17
  44. package/{esm/Calendar/TableCell.d.ts → cjs/Calendar/Grid/GridCell.d.ts} +4 -4
  45. package/cjs/Calendar/{TableCell.js → Grid/GridCell.js} +13 -13
  46. package/cjs/Calendar/Grid/GridHeaderRow.d.ts +4 -0
  47. package/cjs/Calendar/{TableHeaderRow.js → Grid/GridHeaderRow.js} +11 -11
  48. package/cjs/Calendar/Grid/GridRow.d.ts +7 -0
  49. package/cjs/Calendar/{TableRow.js → Grid/GridRow.js} +21 -21
  50. package/cjs/Calendar/Grid/index.d.ts +2 -0
  51. package/cjs/Calendar/Grid/index.js +8 -0
  52. package/cjs/Calendar/MonthDropdown/MonthDropdown.d.ts +11 -0
  53. package/cjs/Calendar/{MonthDropdown.js → MonthDropdown/MonthDropdown.js} +19 -25
  54. package/cjs/Calendar/{MonthDropdownItem.d.ts → MonthDropdown/MonthDropdownItem.d.ts} +1 -1
  55. package/cjs/Calendar/{MonthDropdownItem.js → MonthDropdown/MonthDropdownItem.js} +11 -11
  56. package/cjs/Calendar/MonthDropdown/index.d.ts +2 -0
  57. package/cjs/Calendar/MonthDropdown/index.js +8 -0
  58. package/cjs/Calendar/TimeDropdown/TimeColumn.d.ts +8 -0
  59. package/cjs/Calendar/TimeDropdown/TimeColumn.js +27 -0
  60. package/{esm/Calendar → cjs/Calendar/TimeDropdown}/TimeDropdown.d.ts +2 -25
  61. package/cjs/Calendar/{TimeDropdown.js → TimeDropdown/TimeDropdown.js} +79 -112
  62. package/cjs/Calendar/TimeDropdown/index.d.ts +2 -0
  63. package/cjs/Calendar/TimeDropdown/index.js +8 -0
  64. package/cjs/Calendar/TimeDropdown/utils/formatWithLeadingZero.d.ts +1 -0
  65. package/cjs/Calendar/TimeDropdown/utils/formatWithLeadingZero.js +8 -0
  66. package/cjs/Calendar/TimeDropdown/utils/getClockTime.d.ts +11 -0
  67. package/cjs/Calendar/TimeDropdown/utils/getClockTime.js +43 -0
  68. package/cjs/Calendar/TimeDropdown/utils/getTimeLimits.d.ts +11 -0
  69. package/cjs/Calendar/TimeDropdown/utils/getTimeLimits.js +24 -0
  70. package/cjs/Calendar/TimeDropdown/utils/index.d.ts +4 -0
  71. package/cjs/Calendar/TimeDropdown/utils/index.js +23 -0
  72. package/cjs/Calendar/TimeDropdown/utils/scrollToTime.d.ts +2 -0
  73. package/cjs/Calendar/TimeDropdown/utils/scrollToTime.js +28 -0
  74. package/cjs/Calendar/hooks/index.d.ts +3 -0
  75. package/cjs/Calendar/hooks/index.js +24 -0
  76. package/cjs/Calendar/hooks/useCalendar.d.ts +2 -0
  77. package/cjs/Calendar/hooks/useCalendar.js +10 -0
  78. package/cjs/Calendar/{useCalendarDate.d.ts → hooks/useCalendarDate.d.ts} +1 -2
  79. package/cjs/Calendar/{useCalendarDate.js → hooks/useCalendarDate.js} +8 -8
  80. package/cjs/Calendar/hooks/useCalendarState.d.ts +22 -0
  81. package/cjs/Calendar/hooks/useCalendarState.js +60 -0
  82. package/cjs/Calendar/index.d.ts +2 -4
  83. package/cjs/Calendar/index.js +2 -4
  84. package/cjs/Calendar/types.d.ts +19 -0
  85. package/cjs/Calendar/types.js +4 -0
  86. package/cjs/Calendar/{utils.js → utils/getAriaLabel.js} +1 -1
  87. package/cjs/Calendar/utils/index.d.ts +2 -0
  88. package/cjs/Calendar/utils/index.js +9 -0
  89. package/cjs/Calendar/utils/isEveryDateInMonth.d.ts +1 -0
  90. package/cjs/Calendar/utils/isEveryDateInMonth.js +15 -0
  91. package/cjs/CascadeTree/TreeView.js +3 -3
  92. package/cjs/CustomProvider/CustomProvider.d.ts +38 -4
  93. package/cjs/CustomProvider/CustomProvider.js +20 -6
  94. package/cjs/DateInput/DateField.js +2 -2
  95. package/cjs/DateInput/DateInput.js +17 -6
  96. package/cjs/DateInput/hooks/useDateInputState.js +1 -1
  97. package/cjs/DatePicker/DatePicker.d.ts +6 -2
  98. package/cjs/DatePicker/DatePicker.js +58 -67
  99. package/cjs/DatePicker/utils.js +1 -1
  100. package/cjs/DateRangeInput/DateRangeInput.js +16 -5
  101. package/cjs/DateRangePicker/Calendar.d.ts +4 -5
  102. package/cjs/DateRangePicker/Calendar.js +18 -44
  103. package/cjs/DateRangePicker/DateRangePicker.d.ts +21 -4
  104. package/cjs/DateRangePicker/DateRangePicker.js +98 -72
  105. package/cjs/DateRangePicker/DateRangePickerProvider.d.ts +10 -0
  106. package/cjs/DateRangePicker/{DateRangePickerContext.js → DateRangePickerProvider.js} +3 -3
  107. package/cjs/DateRangePicker/hooks/index.d.ts +3 -0
  108. package/cjs/DateRangePicker/hooks/index.js +11 -0
  109. package/cjs/DateRangePicker/hooks/useCalendarHandlers.d.ts +17 -0
  110. package/cjs/DateRangePicker/hooks/useCalendarHandlers.js +43 -0
  111. package/cjs/DateRangePicker/hooks/useDateDisabled.d.ts +1 -1
  112. package/cjs/DateRangePicker/hooks/useDateDisabled.js +1 -0
  113. package/cjs/DateRangePicker/hooks/useDateRangePicker.d.ts +2 -0
  114. package/cjs/DateRangePicker/hooks/useDateRangePicker.js +10 -0
  115. package/cjs/DateRangePicker/utils.js +1 -1
  116. package/cjs/Dropdown/Dropdown.d.ts +1 -1
  117. package/cjs/Dropdown/DropdownItem.d.ts +1 -1
  118. package/cjs/Dropdown/DropdownMenu.d.ts +1 -1
  119. package/cjs/Dropdown/DropdownMenu.js +3 -3
  120. package/cjs/Dropdown/DropdownToggle.d.ts +1 -1
  121. package/cjs/FormHelpText/FormHelpText.js +2 -2
  122. package/cjs/IconButton/IconButton.d.ts +1 -1
  123. package/cjs/InlineEdit/renderChildren.d.ts +1 -1
  124. package/cjs/InlineEdit/renderChildren.js +13 -4
  125. package/cjs/InlineEdit/useFocusEvent.d.ts +2 -2
  126. package/cjs/InlineEdit/useFocusEvent.js +9 -4
  127. package/cjs/MultiCascadeTree/TreeView.js +3 -3
  128. package/cjs/Nav/NavDropdownItem.d.ts +1 -1
  129. package/cjs/Nav/NavDropdownMenu.d.ts +1 -1
  130. package/cjs/Nav/NavDropdownMenu.js +3 -3
  131. package/cjs/Nav/NavItem.d.ts +1 -1
  132. package/cjs/Navbar/NavbarDropdown.d.ts +1 -1
  133. package/cjs/Navbar/NavbarDropdownItem.d.ts +1 -1
  134. package/cjs/Navbar/NavbarDropdownMenu.d.ts +1 -1
  135. package/cjs/Navbar/NavbarDropdownMenu.js +3 -3
  136. package/cjs/Navbar/NavbarItem.d.ts +1 -1
  137. package/cjs/Pagination/Pagination.js +5 -5
  138. package/cjs/Panel/AccordionButton.js +2 -2
  139. package/cjs/Sidenav/ExpandedSidenavDropdown.d.ts +1 -1
  140. package/cjs/Sidenav/ExpandedSidenavDropdownItem.d.ts +1 -1
  141. package/cjs/Sidenav/ExpandedSidenavDropdownMenu.d.ts +1 -1
  142. package/cjs/Sidenav/SidenavDropdown.d.ts +1 -1
  143. package/cjs/Sidenav/SidenavDropdownItem.d.ts +1 -1
  144. package/cjs/Sidenav/SidenavDropdownMenu.d.ts +1 -1
  145. package/cjs/Sidenav/SidenavItem.d.ts +1 -1
  146. package/cjs/Sidenav/SidenavToggle.js +3 -3
  147. package/cjs/Steps/StepItem.d.ts +1 -1
  148. package/cjs/TimePicker/TimePicker.d.ts +81 -0
  149. package/cjs/TimePicker/TimePicker.js +31 -0
  150. package/cjs/TimePicker/index.d.ts +3 -0
  151. package/cjs/TimePicker/index.js +8 -0
  152. package/cjs/TimeRangePicker/TimeRangePicker.d.ts +77 -0
  153. package/cjs/TimeRangePicker/TimeRangePicker.js +23 -0
  154. package/cjs/TimeRangePicker/index.d.ts +3 -0
  155. package/cjs/TimeRangePicker/index.js +8 -0
  156. package/cjs/index.d.ts +4 -0
  157. package/cjs/index.js +6 -1
  158. package/cjs/internals/Picker/ListItemGroup.js +1 -1
  159. package/cjs/internals/Picker/Listbox.js +4 -2
  160. package/cjs/internals/Picker/PickerIndicator.js +2 -2
  161. package/cjs/internals/Picker/PickerToggle.d.ts +1 -1
  162. package/cjs/internals/SearchBox/SearchBox.js +1 -1
  163. package/cjs/internals/constants/statusIcons.js +7 -7
  164. package/cjs/internals/hooks/useCustom.js +2 -2
  165. package/cjs/internals/hooks/useToggleCaret.d.ts +1 -1
  166. package/cjs/internals/utils/date/extractTimeFormat.d.ts +4 -0
  167. package/cjs/internals/utils/date/extractTimeFormat.js +12 -0
  168. package/cjs/internals/utils/date/formatCheck.d.ts +4 -0
  169. package/cjs/internals/utils/date/formatCheck.js +8 -1
  170. package/cjs/internals/utils/date/index.d.ts +4 -2
  171. package/cjs/internals/utils/date/index.js +72 -7
  172. package/cjs/internals/utils/date/useDateMode.d.ts +16 -0
  173. package/cjs/internals/utils/date/useDateMode.js +57 -0
  174. package/cjs/internals/utils/index.d.ts +0 -1
  175. package/cjs/internals/utils/index.js +1 -4
  176. package/cjs/locales/ar_EG.d.ts +10 -0
  177. package/cjs/locales/ar_EG.js +8 -4
  178. package/cjs/locales/ca_ES.d.ts +10 -0
  179. package/cjs/locales/ca_ES.js +8 -4
  180. package/cjs/locales/cs_CZ.d.ts +10 -0
  181. package/cjs/locales/cs_CZ.js +8 -4
  182. package/cjs/locales/da_DK.d.ts +10 -0
  183. package/cjs/locales/da_DK.js +8 -4
  184. package/cjs/locales/de_DE.d.ts +10 -0
  185. package/cjs/locales/de_DE.js +8 -4
  186. package/cjs/locales/en_GB.d.ts +130 -2
  187. package/cjs/locales/en_GB.js +85 -2
  188. package/cjs/locales/en_US.d.ts +10 -0
  189. package/cjs/locales/en_US.js +8 -4
  190. package/cjs/locales/es_AR.d.ts +10 -0
  191. package/cjs/locales/es_AR.js +8 -4
  192. package/cjs/locales/es_ES.d.ts +10 -0
  193. package/cjs/locales/es_ES.js +8 -4
  194. package/cjs/locales/fa_IR.d.ts +10 -0
  195. package/cjs/locales/fa_IR.js +8 -4
  196. package/cjs/locales/fi_FI.d.ts +10 -0
  197. package/cjs/locales/fi_FI.js +8 -4
  198. package/cjs/locales/fr_FR.d.ts +10 -0
  199. package/cjs/locales/fr_FR.js +8 -4
  200. package/cjs/locales/hu_HU.d.ts +12 -0
  201. package/cjs/locales/hu_HU.js +11 -5
  202. package/cjs/locales/index.d.ts +1 -1
  203. package/cjs/locales/it_IT.d.ts +10 -0
  204. package/cjs/locales/it_IT.js +8 -4
  205. package/cjs/locales/ja_JP.d.ts +10 -0
  206. package/cjs/locales/ja_JP.js +8 -4
  207. package/cjs/locales/kk_KZ.d.ts +10 -0
  208. package/cjs/locales/kk_KZ.js +8 -4
  209. package/cjs/locales/ko_KR.d.ts +10 -0
  210. package/cjs/locales/ko_KR.js +8 -4
  211. package/cjs/locales/ne_NP.d.ts +10 -0
  212. package/cjs/locales/ne_NP.js +8 -4
  213. package/cjs/locales/nl_NL.d.ts +10 -0
  214. package/cjs/locales/nl_NL.js +8 -4
  215. package/cjs/locales/pt_BR.d.ts +10 -0
  216. package/cjs/locales/pt_BR.js +8 -4
  217. package/cjs/locales/ru_RU.d.ts +10 -0
  218. package/cjs/locales/ru_RU.js +8 -4
  219. package/cjs/locales/sv_SE.d.ts +10 -0
  220. package/cjs/locales/sv_SE.js +8 -4
  221. package/cjs/locales/tr_TR.d.ts +10 -0
  222. package/cjs/locales/tr_TR.js +8 -4
  223. package/cjs/locales/zh_CN.d.ts +10 -0
  224. package/cjs/locales/zh_CN.js +8 -4
  225. package/cjs/locales/zh_TW.d.ts +10 -0
  226. package/cjs/locales/zh_TW.js +8 -4
  227. package/dist/rsuite-no-reset-rtl.css +116 -60
  228. package/dist/rsuite-no-reset-rtl.min.css +1 -1
  229. package/dist/rsuite-no-reset-rtl.min.css.map +1 -1
  230. package/dist/rsuite-no-reset.css +116 -60
  231. package/dist/rsuite-no-reset.min.css +1 -1
  232. package/dist/rsuite-no-reset.min.css.map +1 -1
  233. package/dist/rsuite-rtl.css +116 -60
  234. package/dist/rsuite-rtl.min.css +1 -1
  235. package/dist/rsuite-rtl.min.css.map +1 -1
  236. package/dist/rsuite.css +116 -60
  237. package/dist/rsuite.js +822 -5375
  238. package/dist/rsuite.js.map +1 -1
  239. package/dist/rsuite.min.css +1 -1
  240. package/dist/rsuite.min.css.map +1 -1
  241. package/dist/rsuite.min.js +1 -1
  242. package/dist/rsuite.min.js.map +1 -1
  243. package/esm/Calendar/Calendar.d.ts +1 -1
  244. package/esm/Calendar/Calendar.js +21 -23
  245. package/esm/Calendar/CalendarBody.js +9 -9
  246. package/esm/Calendar/CalendarContainer.d.ts +10 -2
  247. package/esm/Calendar/CalendarContainer.js +42 -70
  248. package/esm/Calendar/CalendarHeader.d.ts +0 -2
  249. package/esm/Calendar/CalendarHeader.js +29 -47
  250. package/esm/Calendar/{CalendarContext.d.ts → CalendarProvider.d.ts} +3 -22
  251. package/esm/Calendar/CalendarProvider.js +9 -0
  252. package/esm/Calendar/Grid/Grid.d.ts +6 -0
  253. package/esm/Calendar/{Table.js → Grid/Grid.js} +11 -17
  254. package/{cjs/Calendar/TableCell.d.ts → esm/Calendar/Grid/GridCell.d.ts} +4 -4
  255. package/esm/Calendar/{TableCell.js → Grid/GridCell.js} +13 -13
  256. package/esm/Calendar/Grid/GridHeaderRow.d.ts +4 -0
  257. package/esm/Calendar/{TableHeaderRow.js → Grid/GridHeaderRow.js} +11 -11
  258. package/esm/Calendar/Grid/GridRow.d.ts +7 -0
  259. package/esm/Calendar/{TableRow.js → Grid/GridRow.js} +21 -21
  260. package/esm/Calendar/Grid/index.d.ts +2 -0
  261. package/esm/Calendar/Grid/index.js +3 -0
  262. package/esm/Calendar/MonthDropdown/MonthDropdown.d.ts +11 -0
  263. package/esm/Calendar/{MonthDropdown.js → MonthDropdown/MonthDropdown.js} +18 -23
  264. package/esm/Calendar/{MonthDropdownItem.d.ts → MonthDropdown/MonthDropdownItem.d.ts} +1 -1
  265. package/esm/Calendar/{MonthDropdownItem.js → MonthDropdown/MonthDropdownItem.js} +12 -12
  266. package/esm/Calendar/MonthDropdown/index.d.ts +2 -0
  267. package/esm/Calendar/MonthDropdown/index.js +3 -0
  268. package/esm/Calendar/TimeDropdown/TimeColumn.d.ts +8 -0
  269. package/esm/Calendar/TimeDropdown/TimeColumn.js +22 -0
  270. package/{cjs/Calendar → esm/Calendar/TimeDropdown}/TimeDropdown.d.ts +2 -25
  271. package/esm/Calendar/TimeDropdown/TimeDropdown.js +161 -0
  272. package/esm/Calendar/TimeDropdown/index.d.ts +2 -0
  273. package/esm/Calendar/TimeDropdown/index.js +3 -0
  274. package/esm/Calendar/TimeDropdown/utils/formatWithLeadingZero.d.ts +1 -0
  275. package/esm/Calendar/TimeDropdown/utils/formatWithLeadingZero.js +4 -0
  276. package/esm/Calendar/TimeDropdown/utils/getClockTime.d.ts +11 -0
  277. package/esm/Calendar/TimeDropdown/utils/getClockTime.js +39 -0
  278. package/esm/Calendar/TimeDropdown/utils/getTimeLimits.d.ts +11 -0
  279. package/esm/Calendar/TimeDropdown/utils/getTimeLimits.js +20 -0
  280. package/esm/Calendar/TimeDropdown/utils/index.d.ts +4 -0
  281. package/esm/Calendar/TimeDropdown/utils/index.js +5 -0
  282. package/esm/Calendar/TimeDropdown/utils/scrollToTime.d.ts +2 -0
  283. package/esm/Calendar/TimeDropdown/utils/scrollToTime.js +23 -0
  284. package/esm/Calendar/hooks/index.d.ts +3 -0
  285. package/esm/Calendar/hooks/index.js +4 -0
  286. package/esm/Calendar/hooks/useCalendar.d.ts +2 -0
  287. package/esm/Calendar/hooks/useCalendar.js +6 -0
  288. package/esm/Calendar/{useCalendarDate.d.ts → hooks/useCalendarDate.d.ts} +1 -2
  289. package/esm/Calendar/{useCalendarDate.js → hooks/useCalendarDate.js} +7 -7
  290. package/esm/Calendar/hooks/useCalendarState.d.ts +22 -0
  291. package/esm/Calendar/hooks/useCalendarState.js +56 -0
  292. package/esm/Calendar/index.d.ts +2 -4
  293. package/esm/Calendar/index.js +2 -3
  294. package/esm/Calendar/types.d.ts +19 -0
  295. package/esm/Calendar/types.js +2 -0
  296. package/esm/Calendar/{utils.js → utils/getAriaLabel.js} +1 -1
  297. package/esm/Calendar/utils/index.d.ts +2 -0
  298. package/esm/Calendar/utils/index.js +3 -0
  299. package/esm/Calendar/utils/isEveryDateInMonth.d.ts +1 -0
  300. package/esm/Calendar/utils/isEveryDateInMonth.js +11 -0
  301. package/esm/CascadeTree/TreeView.js +3 -3
  302. package/esm/CustomProvider/CustomProvider.d.ts +38 -4
  303. package/esm/CustomProvider/CustomProvider.js +20 -6
  304. package/esm/DateInput/DateField.js +2 -2
  305. package/esm/DateInput/DateInput.js +17 -6
  306. package/esm/DateInput/hooks/useDateInputState.js +1 -1
  307. package/esm/DatePicker/DatePicker.d.ts +6 -2
  308. package/esm/DatePicker/DatePicker.js +30 -38
  309. package/esm/DatePicker/hooks/useFocus.js +1 -1
  310. package/esm/DatePicker/utils.js +2 -2
  311. package/esm/DateRangeInput/DateRangeInput.js +16 -5
  312. package/esm/DateRangePicker/Calendar.d.ts +4 -5
  313. package/esm/DateRangePicker/Calendar.js +19 -47
  314. package/esm/DateRangePicker/DateRangePicker.d.ts +21 -4
  315. package/esm/DateRangePicker/DateRangePicker.js +99 -73
  316. package/esm/DateRangePicker/DateRangePickerProvider.d.ts +10 -0
  317. package/esm/DateRangePicker/{DateRangePickerContext.js → DateRangePickerProvider.js} +2 -2
  318. package/esm/DateRangePicker/hooks/index.d.ts +3 -0
  319. package/esm/DateRangePicker/hooks/index.js +4 -0
  320. package/esm/DateRangePicker/hooks/useCalendarHandlers.d.ts +17 -0
  321. package/esm/DateRangePicker/hooks/useCalendarHandlers.js +38 -0
  322. package/esm/DateRangePicker/hooks/useDateDisabled.d.ts +1 -1
  323. package/esm/DateRangePicker/hooks/useDateDisabled.js +1 -1
  324. package/esm/DateRangePicker/hooks/useDateRangePicker.d.ts +2 -0
  325. package/esm/DateRangePicker/hooks/useDateRangePicker.js +6 -0
  326. package/esm/DateRangePicker/utils.js +2 -2
  327. package/esm/Dropdown/Dropdown.d.ts +1 -1
  328. package/esm/Dropdown/DropdownItem.d.ts +1 -1
  329. package/esm/Dropdown/DropdownMenu.d.ts +1 -1
  330. package/esm/Dropdown/DropdownMenu.js +3 -3
  331. package/esm/Dropdown/DropdownToggle.d.ts +1 -1
  332. package/esm/FormHelpText/FormHelpText.js +2 -2
  333. package/esm/IconButton/IconButton.d.ts +1 -1
  334. package/esm/InlineEdit/renderChildren.d.ts +1 -1
  335. package/esm/InlineEdit/renderChildren.js +13 -4
  336. package/esm/InlineEdit/useFocusEvent.d.ts +2 -2
  337. package/esm/InlineEdit/useFocusEvent.js +9 -4
  338. package/esm/MultiCascadeTree/TreeView.js +3 -3
  339. package/esm/Nav/NavDropdownItem.d.ts +1 -1
  340. package/esm/Nav/NavDropdownMenu.d.ts +1 -1
  341. package/esm/Nav/NavDropdownMenu.js +3 -3
  342. package/esm/Nav/NavItem.d.ts +1 -1
  343. package/esm/Navbar/NavbarDropdown.d.ts +1 -1
  344. package/esm/Navbar/NavbarDropdownItem.d.ts +1 -1
  345. package/esm/Navbar/NavbarDropdownMenu.d.ts +1 -1
  346. package/esm/Navbar/NavbarDropdownMenu.js +3 -3
  347. package/esm/Navbar/NavbarItem.d.ts +1 -1
  348. package/esm/Pagination/Pagination.js +10 -10
  349. package/esm/Panel/AccordionButton.js +1 -1
  350. package/esm/Sidenav/ExpandedSidenavDropdown.d.ts +1 -1
  351. package/esm/Sidenav/ExpandedSidenavDropdownItem.d.ts +1 -1
  352. package/esm/Sidenav/ExpandedSidenavDropdownMenu.d.ts +1 -1
  353. package/esm/Sidenav/SidenavDropdown.d.ts +1 -1
  354. package/esm/Sidenav/SidenavDropdownItem.d.ts +1 -1
  355. package/esm/Sidenav/SidenavDropdownMenu.d.ts +1 -1
  356. package/esm/Sidenav/SidenavItem.d.ts +1 -1
  357. package/esm/Sidenav/SidenavToggle.js +3 -3
  358. package/esm/Steps/StepItem.d.ts +1 -1
  359. package/esm/TimePicker/TimePicker.d.ts +81 -0
  360. package/esm/TimePicker/TimePicker.js +24 -0
  361. package/esm/TimePicker/index.d.ts +3 -0
  362. package/esm/TimePicker/index.js +3 -0
  363. package/esm/TimeRangePicker/TimeRangePicker.d.ts +77 -0
  364. package/esm/TimeRangePicker/TimeRangePicker.js +18 -0
  365. package/esm/TimeRangePicker/index.d.ts +3 -0
  366. package/esm/TimeRangePicker/index.js +3 -0
  367. package/esm/index.d.ts +4 -0
  368. package/esm/index.js +2 -0
  369. package/esm/internals/Picker/ListItemGroup.js +2 -2
  370. package/esm/internals/Picker/Listbox.js +4 -2
  371. package/esm/internals/Picker/PickerIndicator.js +1 -1
  372. package/esm/internals/Picker/PickerToggle.d.ts +1 -1
  373. package/esm/internals/SearchBox/SearchBox.js +2 -2
  374. package/esm/internals/constants/statusIcons.js +7 -7
  375. package/esm/internals/hooks/useCustom.js +1 -1
  376. package/esm/internals/hooks/useToggleCaret.d.ts +1 -1
  377. package/esm/internals/utils/date/extractTimeFormat.d.ts +4 -0
  378. package/esm/internals/utils/date/extractTimeFormat.js +8 -0
  379. package/esm/internals/utils/date/formatCheck.d.ts +4 -0
  380. package/esm/internals/utils/date/formatCheck.js +7 -0
  381. package/esm/internals/utils/date/index.d.ts +4 -2
  382. package/esm/internals/utils/date/index.js +4 -2
  383. package/esm/internals/utils/date/useDateMode.d.ts +16 -0
  384. package/esm/internals/utils/date/useDateMode.js +54 -0
  385. package/esm/internals/utils/index.d.ts +0 -1
  386. package/esm/internals/utils/index.js +0 -1
  387. package/esm/locales/ar_EG.d.ts +10 -0
  388. package/esm/locales/ar_EG.js +8 -4
  389. package/esm/locales/ca_ES.d.ts +10 -0
  390. package/esm/locales/ca_ES.js +8 -4
  391. package/esm/locales/cs_CZ.d.ts +10 -0
  392. package/esm/locales/cs_CZ.js +8 -4
  393. package/esm/locales/da_DK.d.ts +10 -0
  394. package/esm/locales/da_DK.js +8 -4
  395. package/esm/locales/de_DE.d.ts +10 -0
  396. package/esm/locales/de_DE.js +8 -4
  397. package/esm/locales/en_GB.d.ts +130 -2
  398. package/esm/locales/en_GB.js +85 -2
  399. package/esm/locales/en_US.d.ts +10 -0
  400. package/esm/locales/en_US.js +8 -4
  401. package/esm/locales/es_AR.d.ts +10 -0
  402. package/esm/locales/es_AR.js +8 -4
  403. package/esm/locales/es_ES.d.ts +10 -0
  404. package/esm/locales/es_ES.js +8 -4
  405. package/esm/locales/fa_IR.d.ts +10 -0
  406. package/esm/locales/fa_IR.js +8 -4
  407. package/esm/locales/fi_FI.d.ts +10 -0
  408. package/esm/locales/fi_FI.js +8 -4
  409. package/esm/locales/fr_FR.d.ts +10 -0
  410. package/esm/locales/fr_FR.js +8 -4
  411. package/esm/locales/hu_HU.d.ts +12 -0
  412. package/esm/locales/hu_HU.js +11 -5
  413. package/esm/locales/index.d.ts +1 -1
  414. package/esm/locales/it_IT.d.ts +10 -0
  415. package/esm/locales/it_IT.js +8 -4
  416. package/esm/locales/ja_JP.d.ts +10 -0
  417. package/esm/locales/ja_JP.js +8 -4
  418. package/esm/locales/kk_KZ.d.ts +10 -0
  419. package/esm/locales/kk_KZ.js +8 -4
  420. package/esm/locales/ko_KR.d.ts +10 -0
  421. package/esm/locales/ko_KR.js +8 -4
  422. package/esm/locales/ne_NP.d.ts +10 -0
  423. package/esm/locales/ne_NP.js +8 -4
  424. package/esm/locales/nl_NL.d.ts +10 -0
  425. package/esm/locales/nl_NL.js +8 -4
  426. package/esm/locales/pt_BR.d.ts +10 -0
  427. package/esm/locales/pt_BR.js +8 -4
  428. package/esm/locales/ru_RU.d.ts +10 -0
  429. package/esm/locales/ru_RU.js +8 -4
  430. package/esm/locales/sv_SE.d.ts +10 -0
  431. package/esm/locales/sv_SE.js +8 -4
  432. package/esm/locales/tr_TR.d.ts +10 -0
  433. package/esm/locales/tr_TR.js +8 -4
  434. package/esm/locales/zh_CN.d.ts +10 -0
  435. package/esm/locales/zh_CN.js +8 -4
  436. package/esm/locales/zh_TW.d.ts +10 -0
  437. package/esm/locales/zh_TW.js +8 -4
  438. package/internals/Picker/styles/index.less +17 -0
  439. package/internals/Picker/styles/mixin.less +0 -1
  440. package/internals/ScrollView/styles/index.less +1 -5
  441. package/package.json +2 -2
  442. package/styles/color-modes/dark.less +5 -0
  443. package/styles/color-modes/high-contrast.less +5 -0
  444. package/styles/color-modes/light.less +5 -0
  445. package/styles/common.less +3 -3
  446. package/styles/variables.less +3 -3
  447. package/cjs/Calendar/CalendarContext.js +0 -22
  448. package/cjs/Calendar/MonthDropdown.d.ts +0 -27
  449. package/cjs/Calendar/Table.d.ts +0 -6
  450. package/cjs/Calendar/TableHeaderRow.d.ts +0 -4
  451. package/cjs/Calendar/TableRow.d.ts +0 -7
  452. package/cjs/Calendar/useCalendarState.d.ts +0 -11
  453. package/cjs/Calendar/useCalendarState.js +0 -32
  454. package/cjs/DateRangePicker/DateRangePickerContext.d.ts +0 -10
  455. package/cjs/internals/utils/date/getReversedTimeMeridian.d.ts +0 -8
  456. package/cjs/internals/utils/date/getReversedTimeMeridian.js +0 -21
  457. package/cjs/internals/utils/scrollTopAnimation.d.ts +0 -5
  458. package/cjs/internals/utils/scrollTopAnimation.js +0 -32
  459. package/cjs/locales/default.d.ts +0 -120
  460. package/cjs/locales/default.js +0 -87
  461. package/esm/Calendar/CalendarContext.js +0 -17
  462. package/esm/Calendar/MonthDropdown.d.ts +0 -27
  463. package/esm/Calendar/Table.d.ts +0 -6
  464. package/esm/Calendar/TableHeaderRow.d.ts +0 -4
  465. package/esm/Calendar/TableRow.d.ts +0 -7
  466. package/esm/Calendar/TimeDropdown.js +0 -192
  467. package/esm/Calendar/useCalendarState.d.ts +0 -11
  468. package/esm/Calendar/useCalendarState.js +0 -28
  469. package/esm/DateRangePicker/DateRangePickerContext.d.ts +0 -10
  470. package/esm/internals/utils/date/getReversedTimeMeridian.d.ts +0 -8
  471. package/esm/internals/utils/date/getReversedTimeMeridian.js +0 -17
  472. package/esm/internals/utils/scrollTopAnimation.d.ts +0 -5
  473. package/esm/internals/utils/scrollTopAnimation.js +0 -27
  474. package/esm/locales/default.d.ts +0 -120
  475. package/esm/locales/default.js +0 -82
  476. package/locales/default/package.json +0 -7
  477. /package/cjs/Calendar/{utils.d.ts → utils/getAriaLabel.d.ts} +0 -0
  478. /package/esm/Calendar/{utils.d.ts → utils/getAriaLabel.d.ts} +0 -0
@@ -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;
@@ -0,0 +1,11 @@
1
+ import { RsRefForwardingComponent, WithAsProps } from '../../internals/types';
2
+ export interface MonthDropdownProps extends WithAsProps {
3
+ show?: boolean;
4
+ limitStartYear?: number;
5
+ limitEndYear?: number;
6
+ height?: number;
7
+ width?: number;
8
+ disabledMonth?: (date: Date) => boolean;
9
+ }
10
+ declare const MonthDropdown: RsRefForwardingComponent<'div', MonthDropdownProps>;
11
+ export default MonthDropdown;
@@ -4,21 +4,17 @@ import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWith
4
4
  var _excluded = ["as", "className", "classPrefix", "limitStartYear", "limitEndYear", "show", "height", "width", "disabledMonth"],
5
5
  _excluded2 = ["className", "itemClassName", "as", "itemAs"];
6
6
  import React, { useCallback, useMemo } from 'react';
7
- import { getDaysInMonth, getMonth, getYear } from "../internals/utils/date/index.js";
8
- import { AutoSizer, FixedSizeList } from "../internals/Windowing/index.js";
9
- import { useClassNames } from "../internals/hooks/index.js";
7
+ import { getMonth, getYear } from "../../internals/utils/date/index.js";
8
+ import { AutoSizer, FixedSizeList } from "../../internals/Windowing/index.js";
9
+ import { useClassNames } from "../../internals/hooks/index.js";
10
10
  import MonthDropdownItem from "./MonthDropdownItem.js";
11
- import { useCalendarContext } from "./CalendarContext.js";
12
- var monthMap = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11];
13
- export function isEveryDateInMonth(year, month, predicate) {
14
- var days = getDaysInMonth(new Date(year, month));
15
- for (var i = 1; i <= days; i++) {
16
- if (!predicate(new Date(year, month, i))) {
17
- return false;
18
- }
19
- }
20
- return true;
21
- }
11
+ import { useCalendar } from "../hooks/index.js";
12
+ import { isEveryDateInMonth } from "../utils/index.js";
13
+ // Array representing the index of each month
14
+ var MONTHS_INDEX = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11];
15
+
16
+ // The height of each item
17
+ var ITEM_SIZE = 108;
22
18
  var MonthDropdown = /*#__PURE__*/React.forwardRef(function (props, ref) {
23
19
  var _props$as = props.as,
24
20
  Component = _props$as === void 0 ? 'div' : _props$as,
@@ -35,11 +31,11 @@ var MonthDropdown = /*#__PURE__*/React.forwardRef(function (props, ref) {
35
31
  defaultWidth = _props$width === void 0 ? 256 : _props$width,
36
32
  disabledMonth = props.disabledMonth,
37
33
  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;
34
+ var _useCalendar = useCalendar(),
35
+ _useCalendar$date = _useCalendar.date,
36
+ date = _useCalendar$date === void 0 ? new Date() : _useCalendar$date,
37
+ targetId = _useCalendar.targetId,
38
+ monthDropdownProps = _useCalendar.monthDropdownProps;
43
39
  var _useClassNames = useClassNames(classPrefix),
44
40
  prefix = _useClassNames.prefix,
45
41
  merge = _useClassNames.merge,
@@ -86,7 +82,7 @@ var MonthDropdown = /*#__PURE__*/React.forwardRef(function (props, ref) {
86
82
  role: "rowheader"
87
83
  }, year), /*#__PURE__*/React.createElement("div", {
88
84
  className: prefix('list')
89
- }, monthMap.map(function (item, month) {
85
+ }, MONTHS_INDEX.map(function (item, month) {
90
86
  return /*#__PURE__*/React.createElement(MonthDropdownItem, {
91
87
  disabled: isMonthDisabled(year, month),
92
88
  active: isSelectedYear && month === selectedMonth,
@@ -99,9 +95,8 @@ var MonthDropdown = /*#__PURE__*/React.forwardRef(function (props, ref) {
99
95
  var classes = merge(className, withClassPrefix(), {
100
96
  show: show
101
97
  });
102
- var itemSize = 75;
103
98
  var initialItemIndex = getYear(date) - startYear;
104
- var initialScrollOffset = itemSize * initialItemIndex;
99
+ var initialScrollOffset = ITEM_SIZE * initialItemIndex;
105
100
  if (!show) {
106
101
  return null;
107
102
  }
@@ -125,7 +120,7 @@ var MonthDropdown = /*#__PURE__*/React.forwardRef(function (props, ref) {
125
120
  className: merge(prefix('row-wrapper'), listClassName),
126
121
  width: width || defaultWidth,
127
122
  height: height || defaultHeight,
128
- itemSize: itemSize,
123
+ itemSize: ITEM_SIZE,
129
124
  itemCount: rowCount,
130
125
  initialScrollOffset: initialScrollOffset,
131
126
  innerElementType: List
@@ -1,4 +1,4 @@
1
- import { RsRefForwardingComponent, WithAsProps } from '../internals/types';
1
+ import { RsRefForwardingComponent, WithAsProps } from '../../internals/types';
2
2
  export interface MonthDropdownItemProps extends WithAsProps {
3
3
  month?: number;
4
4
  year?: number;
@@ -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';
6
- import { setMonth, setYear } from "../internals/utils/date/index.js";
7
- import { useClassNames, useCustom } from "../internals/hooks/index.js";
8
- import { composeFunctions } from "../internals/utils/index.js";
9
- import { useCalendarContext } from "./CalendarContext.js";
10
- import { getAriaLabel } from "./utils.js";
5
+ import React, { useMemo } from 'react';
6
+ import { setMonth, setYear } from "../../internals/utils/date/index.js";
7
+ import { useClassNames, useCustom, useEventCallback } from "../../internals/hooks/index.js";
8
+ import { composeFunctions } from "../../internals/utils/index.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,
@@ -65,7 +65,7 @@ var MonthDropdownItem = /*#__PURE__*/React.forwardRef(function (props, ref) {
65
65
  onClick: handleClick
66
66
  }, rest), /*#__PURE__*/React.createElement("span", {
67
67
  className: prefix('content')
68
- }, month));
68
+ }, formatDate(currentMonth, 'MMM')));
69
69
  });
70
70
  MonthDropdownItem.displayName = 'MonthDropdownItem';
71
71
  export default MonthDropdownItem;
@@ -0,0 +1,2 @@
1
+ import MonthDropdown from './MonthDropdown';
2
+ export default MonthDropdown;
@@ -0,0 +1,3 @@
1
+ 'use client';
2
+ import MonthDropdown from "./MonthDropdown.js";
3
+ export default MonthDropdown;
@@ -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
+ }