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,89 +4,20 @@
4
4
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
5
5
  exports.__esModule = true;
6
6
  exports.default = void 0;
7
- exports.getMeridianHours = getMeridianHours;
8
- exports.getRanges = getRanges;
9
7
  var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
10
8
  var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutPropertiesLoose"));
11
9
  var _react = _interopRequireWildcard(require("react"));
12
- var _getPosition = _interopRequireDefault(require("dom-lib/getPosition"));
13
- var _scrollTop = _interopRequireDefault(require("dom-lib/scrollTop"));
14
10
  var _partial = _interopRequireDefault(require("lodash/partial"));
15
11
  var _camelCase = _interopRequireDefault(require("lodash/camelCase"));
16
12
  var _isNumber = _interopRequireDefault(require("lodash/isNumber"));
17
- var _utils = require("../internals/utils");
18
- var _hooks = require("../internals/hooks");
19
- var DateUtils = _interopRequireWildcard(require("../internals/utils/date"));
20
- var _CalendarContext = require("./CalendarContext");
21
- var _excluded = ["as", "className", "classPrefix", "show", "showMeridian"];
13
+ var _hooks = require("../../internals/hooks");
14
+ var _date = require("../../internals/utils/date");
15
+ var _hooks2 = require("../hooks");
16
+ var _TimeColumn = _interopRequireDefault(require("./TimeColumn"));
17
+ var _utils = require("./utils");
18
+ var _excluded = ["as", "className", "classPrefix", "show", "showMeridiem"];
22
19
  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
23
20
  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
24
- /**
25
- * Get the effective range of hours, minutes and seconds
26
- * @param meridian
27
- */
28
- function getRanges(meridian) {
29
- return {
30
- hours: {
31
- start: 0,
32
- end: meridian ? 11 : 23
33
- },
34
- minutes: {
35
- start: 0,
36
- end: 59
37
- },
38
- seconds: {
39
- start: 0,
40
- end: 59
41
- }
42
- };
43
- }
44
-
45
- /**
46
- * Convert the 24-hour clock to the 12-hour clock
47
- * @param hours
48
- */
49
- function getMeridianHours(hours) {
50
- return hours >= 12 ? hours - 12 : hours;
51
- }
52
- var getTime = function getTime(props) {
53
- var format = props.format,
54
- date = props.date,
55
- showMeridian = props.showMeridian;
56
- var time = date || new Date();
57
- var nextTime = {};
58
- if (!format) {
59
- return nextTime;
60
- }
61
- if (/(H|h)/.test(format)) {
62
- var hours = DateUtils.getHours(time);
63
- nextTime.hours = showMeridian ? getMeridianHours(hours) : hours;
64
- }
65
- if (/m/.test(format)) {
66
- nextTime.minutes = DateUtils.getMinutes(time);
67
- }
68
- if (/s/.test(format)) {
69
- nextTime.seconds = DateUtils.getSeconds(time);
70
- }
71
- return nextTime;
72
- };
73
- var scrollTo = function scrollTo(time, row) {
74
- if (!row) {
75
- return;
76
- }
77
- Object.entries(time).forEach(function (_ref) {
78
- var type = _ref[0],
79
- value = _ref[1];
80
- var container = row.querySelector("[data-type=\"" + type + "\"]");
81
- var node = container === null || container === void 0 ? void 0 : container.querySelector("[data-key=\"" + type + "-" + value + "\"]");
82
- if (node && container) {
83
- var position = (0, _getPosition.default)(node, container);
84
- if (position) {
85
- (0, _utils.scrollTopAnimation)(container, position.top, (0, _scrollTop.default)(container) !== 0);
86
- }
87
- }
88
- });
89
- };
90
21
  var TimeDropdown = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
91
22
  var _props$as = props.as,
92
23
  Component = _props$as === void 0 ? 'div' : _props$as,
@@ -94,53 +25,67 @@ var TimeDropdown = /*#__PURE__*/_react.default.forwardRef(function (props, ref)
94
25
  _props$classPrefix = props.classPrefix,
95
26
  classPrefix = _props$classPrefix === void 0 ? 'calendar-time-dropdown' : _props$classPrefix,
96
27
  show = props.show,
97
- _props$showMeridian = props.showMeridian,
98
- showMeridian = _props$showMeridian === void 0 ? false : _props$showMeridian,
28
+ _props$showMeridiem = props.showMeridiem,
29
+ showMeridiem = _props$showMeridiem === void 0 ? false : _props$showMeridiem,
99
30
  rest = (0, _objectWithoutPropertiesLoose2.default)(props, _excluded);
100
- var _useCalendarContext = (0, _CalendarContext.useCalendarContext)(),
101
- locale = _useCalendarContext.locale,
102
- format = _useCalendarContext.format,
103
- date = _useCalendarContext.date,
104
- onSelect = _useCalendarContext.onChangeTime,
105
- targetId = _useCalendarContext.targetId;
31
+ var _useCalendar = (0, _hooks2.useCalendar)(),
32
+ locale = _useCalendar.locale,
33
+ format = _useCalendar.format,
34
+ date = _useCalendar.date,
35
+ onSelect = _useCalendar.onChangeTime,
36
+ targetId = _useCalendar.targetId;
106
37
  var rowRef = (0, _react.useRef)(null);
107
38
  (0, _react.useEffect)(function () {
108
- var time = getTime({
39
+ var time = (0, _utils.getClockTime)({
109
40
  format: format,
110
41
  date: date,
111
- showMeridian: showMeridian
42
+ showMeridiem: showMeridiem
112
43
  });
113
44
  // The currently selected time scrolls to the visible range.
114
45
  if (show && rowRef.current) {
115
- scrollTo(time, rowRef.current);
46
+ (0, _utils.scrollToTime)(time, rowRef.current);
116
47
  }
117
- }, [date, format, show, showMeridian]);
118
- var handleClick = function handleClick(type, d, event) {
119
- var nextDate = date || new Date();
48
+ }, [date, format, show, showMeridiem]);
49
+ var handleClick = (0, _hooks.useEventCallback)(function (type, d, event) {
50
+ var nextDate = date || (0, _date.startOfToday)();
120
51
  switch (type) {
121
52
  case 'hours':
122
- nextDate = DateUtils.setHours(date, showMeridian && DateUtils.getHours(nextDate) >= 12 ? d + 12 : d);
53
+ nextDate = (0, _date.setHours)(nextDate, showMeridiem && (0, _date.getHours)(nextDate) >= 12 ? d + 12 : d);
123
54
  break;
124
55
  case 'minutes':
125
- nextDate = DateUtils.setMinutes(date, d);
56
+ nextDate = (0, _date.setMinutes)(nextDate, d);
126
57
  break;
127
58
  case 'seconds':
128
- nextDate = DateUtils.setSeconds(date, d);
59
+ nextDate = (0, _date.setSeconds)(nextDate, d);
129
60
  break;
130
61
  }
131
62
  onSelect === null || onSelect === void 0 ? void 0 : onSelect(nextDate, event);
132
- };
63
+ });
64
+ var handleClickMeridiem = (0, _hooks.useEventCallback)(function (meridiem, event) {
65
+ var tempDate = date || (0, _date.startOfToday)();
66
+ var hours = (0, _date.getHours)(tempDate);
67
+ var isAM = hours < 12;
68
+ var adjustHours = function adjustHours(meridiem, hours) {
69
+ if (meridiem === 'AM') {
70
+ return isAM ? hours : hours - 12;
71
+ }
72
+ return isAM ? hours + 12 : hours;
73
+ };
74
+ var nextHours = adjustHours(meridiem, hours);
75
+ var nextDate = (0, _date.setHours)(tempDate, nextHours);
76
+ onSelect === null || onSelect === void 0 ? void 0 : onSelect(nextDate, event);
77
+ });
133
78
  var _useClassNames = (0, _hooks.useClassNames)(classPrefix),
134
79
  prefix = _useClassNames.prefix,
135
80
  rootPrefix = _useClassNames.rootPrefix,
136
81
  merge = _useClassNames.merge;
137
- var renderColumn = function renderColumn(type, active) {
138
- if (!(0, _isNumber.default)(active)) {
82
+ var renderColumn = function renderColumn(type, value) {
83
+ if (!(0, _isNumber.default)(value)) {
139
84
  return null;
140
85
  }
141
- var _getRanges$type = getRanges(showMeridian)[type],
142
- start = _getRanges$type.start,
143
- end = _getRanges$type.end;
86
+ var _getTimeLimits$type = (0, _utils.getTimeLimits)(showMeridiem)[type],
87
+ start = _getTimeLimits$type.start,
88
+ end = _getTimeLimits$type.end;
144
89
  var items = [];
145
90
  var hideFunc = props[(0, _camelCase.default)("hide_" + type)];
146
91
  var disabledFunc = props[(0, _camelCase.default)("disabled_" + type)];
@@ -148,7 +93,7 @@ var TimeDropdown = /*#__PURE__*/_react.default.forwardRef(function (props, ref)
148
93
  if (!(hideFunc !== null && hideFunc !== void 0 && hideFunc(i, date))) {
149
94
  var disabled = disabledFunc === null || disabledFunc === void 0 ? void 0 : disabledFunc(i, date);
150
95
  var itemClasses = prefix('cell', {
151
- 'cell-active': active === i,
96
+ 'cell-active': value === i,
152
97
  'cell-disabled': disabled
153
98
  });
154
99
  items.push( /*#__PURE__*/_react.default.createElement("li", {
@@ -156,29 +101,51 @@ var TimeDropdown = /*#__PURE__*/_react.default.forwardRef(function (props, ref)
156
101
  role: "option",
157
102
  tabIndex: -1,
158
103
  "aria-label": i + " " + type,
159
- "aria-selected": active === i,
104
+ "aria-selected": value === i,
160
105
  "aria-disabled": disabled,
161
106
  "data-key": type + "-" + i,
162
107
  onClick: !disabled ? (0, _partial.default)(handleClick, type, i) : undefined
163
108
  }, /*#__PURE__*/_react.default.createElement("span", {
164
109
  className: itemClasses
165
- }, showMeridian && type === 'hours' && i === 0 ? '12' : i)));
110
+ }, showMeridiem && type === 'hours' && i === 0 ? 12 : (0, _utils.formatWithLeadingZero)(i))));
166
111
  }
167
112
  }
168
- return /*#__PURE__*/_react.default.createElement("div", {
169
- className: prefix('column')
170
- }, /*#__PURE__*/_react.default.createElement("div", {
171
- className: prefix('column-title')
172
- }, locale === null || locale === void 0 ? void 0 : locale[type]), /*#__PURE__*/_react.default.createElement("ul", {
113
+ return /*#__PURE__*/_react.default.createElement(_TimeColumn.default, {
114
+ prefix: prefix,
115
+ title: locale === null || locale === void 0 ? void 0 : locale[type],
173
116
  "data-type": type,
174
- role: "listbox",
175
117
  "aria-label": "Select " + type
176
- }, items));
118
+ }, items);
119
+ };
120
+ var renderMeridiemColumn = function renderMeridiemColumn() {
121
+ var columns = ['AM', 'PM'];
122
+ return /*#__PURE__*/_react.default.createElement(_TimeColumn.default, {
123
+ prefix: prefix,
124
+ title: 'AM/PM',
125
+ "data-type": "meridiem",
126
+ "aria-label": "Select meridiem"
127
+ }, columns.map(function (meridiem, index) {
128
+ var ampm = date && ((0, _date.getHours)(date) >= 12 ? 'PM' : 'AM');
129
+ var itemClasses = prefix('cell', {
130
+ 'cell-active': ampm === meridiem
131
+ });
132
+ return /*#__PURE__*/_react.default.createElement("li", {
133
+ key: index,
134
+ role: "option",
135
+ tabIndex: -1,
136
+ "aria-label": meridiem,
137
+ "aria-selected": ampm === meridiem,
138
+ "data-key": "meridiem-" + meridiem,
139
+ onClick: (0, _partial.default)(handleClickMeridiem, meridiem)
140
+ }, /*#__PURE__*/_react.default.createElement("span", {
141
+ className: itemClasses
142
+ }, meridiem));
143
+ }));
177
144
  };
178
- var time = getTime({
145
+ var time = (0, _utils.getClockTime)({
179
146
  format: format,
180
147
  date: date,
181
- showMeridian: showMeridian
148
+ showMeridiem: showMeridiem
182
149
  });
183
150
  var classes = merge(className, rootPrefix(classPrefix), {
184
151
  show: show
@@ -187,7 +154,7 @@ var TimeDropdown = /*#__PURE__*/_react.default.forwardRef(function (props, ref)
187
154
  role: "group",
188
155
  tabIndex: -1,
189
156
  id: targetId ? targetId + "-" + classPrefix : undefined
190
- }, DateUtils.omitHideDisabledProps(rest), {
157
+ }, (0, _date.omitHideDisabledProps)(rest), {
191
158
  ref: ref,
192
159
  className: classes
193
160
  }), /*#__PURE__*/_react.default.createElement("div", {
@@ -195,7 +162,7 @@ var TimeDropdown = /*#__PURE__*/_react.default.forwardRef(function (props, ref)
195
162
  }, /*#__PURE__*/_react.default.createElement("div", {
196
163
  className: prefix('row'),
197
164
  ref: rowRef
198
- }, renderColumn('hours', time.hours), renderColumn('minutes', time.minutes), renderColumn('seconds', time.seconds))));
165
+ }, renderColumn('hours', time.hours), renderColumn('minutes', time.minutes), renderColumn('seconds', time.seconds), showMeridiem && renderMeridiemColumn())));
199
166
  });
200
167
  TimeDropdown.displayName = 'TimeDropdown';
201
168
  var _default = exports.default = TimeDropdown;
@@ -0,0 +1,2 @@
1
+ import TimeDropdown from './TimeDropdown';
2
+ export default TimeDropdown;
@@ -0,0 +1,8 @@
1
+ 'use client';
2
+ "use strict";
3
+
4
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
5
+ exports.__esModule = true;
6
+ exports.default = void 0;
7
+ var _TimeDropdown = _interopRequireDefault(require("./TimeDropdown"));
8
+ var _default = exports.default = _TimeDropdown.default;
@@ -0,0 +1 @@
1
+ export declare const formatWithLeadingZero: (number: number) => string;
@@ -0,0 +1,8 @@
1
+ 'use client';
2
+ "use strict";
3
+
4
+ exports.__esModule = true;
5
+ exports.formatWithLeadingZero = void 0;
6
+ var formatWithLeadingZero = exports.formatWithLeadingZero = function formatWithLeadingZero(number) {
7
+ return String(number).padStart(2, '0');
8
+ };
@@ -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,43 @@
1
+ 'use client';
2
+ "use strict";
3
+
4
+ exports.__esModule = true;
5
+ exports.getClockTime = getClockTime;
6
+ var _date = require("../../../internals/utils/date");
7
+ /**
8
+ * Convert the 24-hour clock to the 12-hour clock
9
+ * @param hours
10
+ */
11
+ function getMeridiemHours(hours) {
12
+ return hours >= 12 ? hours - 12 : hours;
13
+ }
14
+ function getClockTime(props) {
15
+ var format = props.format,
16
+ date = props.date,
17
+ showMeridiem = props.showMeridiem;
18
+ var clockTime = {
19
+ hours: null,
20
+ minutes: null,
21
+ seconds: null,
22
+ meridiem: null
23
+ };
24
+ if (!format) {
25
+ return clockTime;
26
+ }
27
+
28
+ // If date is provided, extract hours and meridiem
29
+ if (/(H|h)/.test(format) && date) {
30
+ var hours = (0, _date.getHours)(date);
31
+ clockTime.hours = showMeridiem ? getMeridiemHours(hours) : hours;
32
+ clockTime.meridiem = hours >= 12 ? 'PM' : 'AM';
33
+ }
34
+ // Extract minutes if 'm' is present in format and date is provided
35
+ if (/m/.test(format) && date) {
36
+ clockTime.minutes = (0, _date.getMinutes)(date);
37
+ }
38
+ // // Extract seconds if 's' is present in format and date is provided
39
+ if (/s/.test(format) && date) {
40
+ clockTime.seconds = (0, _date.getSeconds)(date);
41
+ }
42
+ return clockTime;
43
+ }
@@ -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,24 @@
1
+ 'use client';
2
+ "use strict";
3
+
4
+ exports.__esModule = true;
5
+ exports.getTimeLimits = getTimeLimits;
6
+ function getTimeLimits(isMeridiem) {
7
+ var HOURS_24H = {
8
+ start: 0,
9
+ end: 23
10
+ };
11
+ var HOURS_12H = {
12
+ start: 0,
13
+ end: 11
14
+ };
15
+ var MINUTES_SECONDS = {
16
+ start: 0,
17
+ end: 59
18
+ };
19
+ return {
20
+ hours: isMeridiem ? HOURS_12H : HOURS_24H,
21
+ minutes: MINUTES_SECONDS,
22
+ seconds: MINUTES_SECONDS
23
+ };
24
+ }
@@ -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,23 @@
1
+ 'use client';
2
+ "use strict";
3
+
4
+ exports.__esModule = true;
5
+ var _exportNames = {
6
+ getTimeLimits: true,
7
+ formatWithLeadingZero: true,
8
+ scrollToTime: true
9
+ };
10
+ exports.scrollToTime = exports.getTimeLimits = exports.formatWithLeadingZero = void 0;
11
+ var _getTimeLimits = require("./getTimeLimits");
12
+ exports.getTimeLimits = _getTimeLimits.getTimeLimits;
13
+ var _formatWithLeadingZero = require("./formatWithLeadingZero");
14
+ exports.formatWithLeadingZero = _formatWithLeadingZero.formatWithLeadingZero;
15
+ var _scrollToTime = require("./scrollToTime");
16
+ exports.scrollToTime = _scrollToTime.scrollToTime;
17
+ var _getClockTime = require("./getClockTime");
18
+ Object.keys(_getClockTime).forEach(function (key) {
19
+ if (key === "default" || key === "__esModule") return;
20
+ if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
21
+ if (key in exports && exports[key] === _getClockTime[key]) return;
22
+ exports[key] = _getClockTime[key];
23
+ });
@@ -0,0 +1,2 @@
1
+ import type { ClockTime } from './getClockTime';
2
+ export declare function scrollToTime(time: ClockTime, row: HTMLDivElement | null): void;
@@ -0,0 +1,28 @@
1
+ 'use client';
2
+ "use strict";
3
+
4
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
5
+ exports.__esModule = true;
6
+ exports.scrollToTime = scrollToTime;
7
+ var _getPosition = _interopRequireDefault(require("dom-lib/getPosition"));
8
+ var _scrollTop = _interopRequireDefault(require("dom-lib/scrollTop"));
9
+ function scrollToTime(time, row) {
10
+ if (!row) return;
11
+ var scrollToPosition = function scrollToPosition(container, value, type) {
12
+ var node = container.querySelector("[data-key=\"" + type + "-" + value + "\"]");
13
+ if (node) {
14
+ var position = (0, _getPosition.default)(node, container);
15
+ if (position) {
16
+ (0, _scrollTop.default)(container, position.top);
17
+ }
18
+ }
19
+ };
20
+ Object.entries(time).forEach(function (_ref) {
21
+ var type = _ref[0],
22
+ value = _ref[1];
23
+ var container = row.querySelector("[data-type=\"" + type + "\"]");
24
+ if (container) {
25
+ scrollToPosition(container, value, type);
26
+ }
27
+ });
28
+ }
@@ -0,0 +1,3 @@
1
+ export * from './useCalendarState';
2
+ export * from './useCalendarDate';
3
+ export { useCalendar } from './useCalendar';
@@ -0,0 +1,24 @@
1
+ 'use client';
2
+ "use strict";
3
+
4
+ exports.__esModule = true;
5
+ var _exportNames = {
6
+ useCalendar: true
7
+ };
8
+ exports.useCalendar = void 0;
9
+ var _useCalendarState = require("./useCalendarState");
10
+ Object.keys(_useCalendarState).forEach(function (key) {
11
+ if (key === "default" || key === "__esModule") return;
12
+ if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
13
+ if (key in exports && exports[key] === _useCalendarState[key]) return;
14
+ exports[key] = _useCalendarState[key];
15
+ });
16
+ var _useCalendarDate = require("./useCalendarDate");
17
+ Object.keys(_useCalendarDate).forEach(function (key) {
18
+ if (key === "default" || key === "__esModule") return;
19
+ if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
20
+ if (key in exports && exports[key] === _useCalendarDate[key]) return;
21
+ exports[key] = _useCalendarDate[key];
22
+ });
23
+ var _useCalendar = require("./useCalendar");
24
+ exports.useCalendar = _useCalendar.useCalendar;
@@ -0,0 +1,2 @@
1
+ import { CalendarContextValue } from '../CalendarProvider';
2
+ export declare const useCalendar: () => CalendarContextValue;
@@ -0,0 +1,10 @@
1
+ 'use client';
2
+ "use strict";
3
+
4
+ exports.__esModule = true;
5
+ exports.useCalendar = void 0;
6
+ var _react = require("react");
7
+ var _CalendarProvider = require("../CalendarProvider");
8
+ var useCalendar = exports.useCalendar = function useCalendar() {
9
+ return (0, _react.useContext)(_CalendarProvider.CalendarContext);
10
+ };
@@ -1,6 +1,5 @@
1
- declare const useCalendarDate: (value: Date | null | undefined, defaultDate: Date | undefined) => {
1
+ export declare const useCalendarDate: (value: Date | null | undefined, defaultDate: Date | undefined) => {
2
2
  calendarDate: Date;
3
3
  setCalendarDate: (date: React.SetStateAction<Date> | undefined) => void;
4
4
  resetCalendarDate: (nextValue?: any) => void;
5
5
  };
6
- export default useCalendarDate;
@@ -2,13 +2,14 @@
2
2
  "use strict";
3
3
 
4
4
  exports.__esModule = true;
5
- exports.default = void 0;
5
+ exports.useCalendarDate = void 0;
6
6
  var _react = require("react");
7
- var _hooks = require("../internals/hooks");
8
- var useCalendarDate = function useCalendarDate(value, defaultDate) {
7
+ var _hooks = require("../../internals/hooks");
8
+ var _date = require("../../internals/utils/date");
9
+ var useCalendarDate = exports.useCalendarDate = function useCalendarDate(value, defaultDate) {
9
10
  var _ref;
10
11
  var valueRef = (0, _react.useRef)(value);
11
- var _useState = (0, _react.useState)((_ref = value !== null && value !== void 0 ? value : defaultDate) !== null && _ref !== void 0 ? _ref : new Date()),
12
+ var _useState = (0, _react.useState)((_ref = value !== null && value !== void 0 ? value : defaultDate) !== null && _ref !== void 0 ? _ref : (0, _date.startOfToday)()),
12
13
  calendarDate = _useState[0],
13
14
  setValue = _useState[1];
14
15
  var setCalendarDate = (0, _react.useCallback)(function (date) {
@@ -21,13 +22,13 @@ var useCalendarDate = function useCalendarDate(value, defaultDate) {
21
22
  if (nextValue === void 0) {
22
23
  nextValue = value;
23
24
  }
24
- setValue((_ref2 = (_nextValue = nextValue) !== null && _nextValue !== void 0 ? _nextValue : defaultDate) !== null && _ref2 !== void 0 ? _ref2 : new Date());
25
+ setValue((_ref2 = (_nextValue = nextValue) !== null && _nextValue !== void 0 ? _nextValue : defaultDate) !== null && _ref2 !== void 0 ? _ref2 : (0, _date.startOfToday)());
25
26
  }, [defaultDate, value]);
26
27
  (0, _hooks.useUpdateEffect)(function () {
27
28
  var _valueRef$current;
28
29
  if ((value === null || value === void 0 ? void 0 : value.valueOf()) !== ((_valueRef$current = valueRef.current) === null || _valueRef$current === void 0 ? void 0 : _valueRef$current.valueOf())) {
29
30
  var _ref3;
30
- setCalendarDate((_ref3 = value !== null && value !== void 0 ? value : defaultDate) !== null && _ref3 !== void 0 ? _ref3 : new Date());
31
+ setCalendarDate((_ref3 = value !== null && value !== void 0 ? value : defaultDate) !== null && _ref3 !== void 0 ? _ref3 : (0, _date.startOfToday)());
31
32
  valueRef.current = value;
32
33
  }
33
34
  }, [value, defaultDate]);
@@ -36,5 +37,4 @@ var useCalendarDate = function useCalendarDate(value, defaultDate) {
36
37
  setCalendarDate: setCalendarDate,
37
38
  resetCalendarDate: resetCalendarDate
38
39
  };
39
- };
40
- var _default = exports.default = useCalendarDate;
40
+ };
@@ -0,0 +1,22 @@
1
+ export declare enum CalendarState {
2
+ 'TIME' = "TIME",
3
+ 'MONTH' = "MONTH"
4
+ }
5
+ export interface CalendarStateProps {
6
+ defaultState?: CalendarState;
7
+ calendarDate: Date;
8
+ onMoveForward?: (date: Date) => void;
9
+ onMoveBackward?: (date: Date) => void;
10
+ onToggleTimeDropdown?: (toggle: boolean) => void;
11
+ onToggleMonthDropdown?: (toggle: boolean) => void;
12
+ }
13
+ export declare const useCalendarState: (props: CalendarStateProps) => {
14
+ calendarState: CalendarState | undefined;
15
+ handlers: {
16
+ onMoveForward: (...args: any[]) => any;
17
+ onMoveBackward: (...args: any[]) => any;
18
+ onToggleTimeDropdown: (...args: any[]) => any;
19
+ onToggleMonthDropdown: (...args: any[]) => any;
20
+ };
21
+ reset: () => void;
22
+ };
@@ -0,0 +1,60 @@
1
+ 'use client';
2
+ "use strict";
3
+
4
+ exports.__esModule = true;
5
+ exports.useCalendarState = exports.CalendarState = void 0;
6
+ var _react = require("react");
7
+ var _date = require("../../internals/utils/date");
8
+ var _hooks = require("../../internals/hooks");
9
+ var CalendarState = exports.CalendarState = /*#__PURE__*/function (CalendarState) {
10
+ CalendarState["TIME"] = "TIME";
11
+ CalendarState["MONTH"] = "MONTH";
12
+ return CalendarState;
13
+ }({});
14
+ var useCalendarState = exports.useCalendarState = function useCalendarState(props) {
15
+ var _useState = (0, _react.useState)(props.defaultState),
16
+ calendarState = _useState[0],
17
+ setCalendarState = _useState[1];
18
+ var reset = (0, _react.useCallback)(function () {
19
+ setCalendarState(undefined);
20
+ }, []);
21
+ var onMoveForward = (0, _hooks.useEventCallback)(function () {
22
+ var _props$onMoveForward;
23
+ (_props$onMoveForward = props.onMoveForward) === null || _props$onMoveForward === void 0 ? void 0 : _props$onMoveForward.call(props, (0, _date.addMonths)(props.calendarDate, 1));
24
+ });
25
+ var onMoveBackward = (0, _hooks.useEventCallback)(function () {
26
+ var _props$onMoveBackward;
27
+ (_props$onMoveBackward = props.onMoveBackward) === null || _props$onMoveBackward === void 0 ? void 0 : _props$onMoveBackward.call(props, (0, _date.addMonths)(props.calendarDate, -1));
28
+ });
29
+ var onToggleTimeDropdown = (0, _hooks.useEventCallback)(function () {
30
+ var _props$onToggleTimeDr;
31
+ if (calendarState === CalendarState.TIME) {
32
+ reset();
33
+ } else {
34
+ setCalendarState(CalendarState.TIME);
35
+ }
36
+ (_props$onToggleTimeDr = props.onToggleTimeDropdown) === null || _props$onToggleTimeDr === void 0 ? void 0 : _props$onToggleTimeDr.call(props, calendarState !== CalendarState.TIME);
37
+ });
38
+ var onToggleMonthDropdown = (0, _hooks.useEventCallback)(function () {
39
+ var _props$onToggleMonthD;
40
+ if (calendarState === CalendarState.MONTH) {
41
+ reset();
42
+ } else {
43
+ setCalendarState(CalendarState.MONTH);
44
+ }
45
+ (_props$onToggleMonthD = props.onToggleMonthDropdown) === null || _props$onToggleMonthD === void 0 ? void 0 : _props$onToggleMonthD.call(props, calendarState !== CalendarState.MONTH);
46
+ });
47
+ var handlers = (0, _react.useMemo)(function () {
48
+ return {
49
+ onMoveForward: onMoveForward,
50
+ onMoveBackward: onMoveBackward,
51
+ onToggleTimeDropdown: onToggleTimeDropdown,
52
+ onToggleMonthDropdown: onToggleMonthDropdown
53
+ };
54
+ }, [onMoveBackward, onMoveForward, onToggleMonthDropdown, onToggleTimeDropdown]);
55
+ return {
56
+ calendarState: calendarState,
57
+ handlers: handlers,
58
+ reset: reset
59
+ };
60
+ };
@@ -1,8 +1,6 @@
1
1
  import Calendar from './Calendar';
2
2
  import CalendarContainer from './CalendarContainer';
3
- import { CalendarState } from './useCalendarState';
4
- import CalendarContext, { CalendarContextValue } from './CalendarContext';
5
- export { CalendarContainer, CalendarContext, CalendarState };
6
- export type { CalendarContextValue };
3
+ import { CalendarState } from './hooks';
4
+ export { CalendarContainer, CalendarState };
7
5
  export type { CalendarProps } from './Calendar';
8
6
  export default Calendar;