rsuite 5.71.0 → 5.72.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (393) hide show
  1. package/Accordion/styles/index.css +20 -6
  2. package/Animation/styles/collapse.less +2 -1
  3. package/Animation/styles/fade.less +1 -1
  4. package/Animation/styles/index.css +8 -0
  5. package/Animation/styles/index.less +1 -0
  6. package/Animation/styles/variables.less +4 -0
  7. package/AutoComplete/styles/index.css +11 -0
  8. package/CHANGELOG.md +17 -0
  9. package/Calendar/styles/index.css +43 -13
  10. package/Calendar/styles/index.less +34 -2
  11. package/Cascader/styles/index.css +11 -0
  12. package/CheckPicker/styles/index.css +11 -0
  13. package/CheckTree/styles/index.css +11 -0
  14. package/CheckTreePicker/styles/index.css +11 -0
  15. package/DatePicker/styles/index.css +61 -15
  16. package/DatePicker/styles/index.less +8 -1
  17. package/DateRangePicker/styles/index.css +65 -17
  18. package/DateRangePicker/styles/index.less +7 -2
  19. package/InputPicker/styles/index.css +11 -0
  20. package/MultiCascadeTree/styles/index.css +11 -0
  21. package/MultiCascader/styles/index.css +11 -0
  22. package/Pagination/styles/index.css +11 -0
  23. package/Panel/styles/index.css +20 -6
  24. package/SelectPicker/styles/index.css +11 -0
  25. package/TagInput/styles/index.css +11 -0
  26. package/TagPicker/styles/index.css +11 -0
  27. package/TimePicker/package.json +7 -0
  28. package/TimePicker/styles/index.css +4161 -0
  29. package/TimePicker/styles/index.less +1 -0
  30. package/TimeRangePicker/package.json +7 -0
  31. package/TimeRangePicker/styles/index.css +4264 -0
  32. package/TimeRangePicker/styles/index.less +1 -0
  33. package/cjs/Calendar/Calendar.d.ts +1 -1
  34. package/cjs/Calendar/Calendar.js +22 -26
  35. package/cjs/Calendar/CalendarBody.js +9 -9
  36. package/cjs/Calendar/CalendarContainer.d.ts +10 -2
  37. package/cjs/Calendar/CalendarContainer.js +40 -68
  38. package/cjs/Calendar/CalendarHeader.d.ts +0 -2
  39. package/cjs/Calendar/CalendarHeader.js +24 -42
  40. package/cjs/Calendar/{CalendarContext.d.ts → CalendarProvider.d.ts} +3 -22
  41. package/cjs/Calendar/CalendarProvider.js +13 -0
  42. package/cjs/Calendar/Grid/Grid.d.ts +6 -0
  43. package/cjs/Calendar/{Table.js → Grid/Grid.js} +11 -17
  44. package/cjs/Calendar/{TableCell.d.ts → Grid/GridCell.d.ts} +4 -4
  45. package/cjs/Calendar/{TableCell.js → Grid/GridCell.js} +13 -13
  46. package/cjs/Calendar/Grid/GridHeaderRow.d.ts +4 -0
  47. package/cjs/Calendar/{TableHeaderRow.js → Grid/GridHeaderRow.js} +11 -11
  48. package/cjs/Calendar/Grid/GridRow.d.ts +7 -0
  49. package/cjs/Calendar/{TableRow.js → Grid/GridRow.js} +21 -21
  50. package/cjs/Calendar/Grid/index.d.ts +2 -0
  51. package/cjs/Calendar/Grid/index.js +8 -0
  52. package/cjs/Calendar/MonthDropdown.d.ts +0 -15
  53. package/cjs/Calendar/MonthDropdown.js +6 -6
  54. package/cjs/Calendar/MonthDropdownItem.js +6 -6
  55. package/cjs/Calendar/TimeDropdown/TimeColumn.d.ts +8 -0
  56. package/cjs/Calendar/TimeDropdown/TimeColumn.js +27 -0
  57. package/{esm/Calendar → cjs/Calendar/TimeDropdown}/TimeDropdown.d.ts +2 -25
  58. package/cjs/Calendar/{TimeDropdown.js → TimeDropdown/TimeDropdown.js} +79 -112
  59. package/cjs/Calendar/TimeDropdown/index.d.ts +2 -0
  60. package/cjs/Calendar/TimeDropdown/index.js +8 -0
  61. package/cjs/Calendar/TimeDropdown/utils/formatWithLeadingZero.d.ts +1 -0
  62. package/cjs/Calendar/TimeDropdown/utils/formatWithLeadingZero.js +8 -0
  63. package/cjs/Calendar/TimeDropdown/utils/getClockTime.d.ts +11 -0
  64. package/cjs/Calendar/TimeDropdown/utils/getClockTime.js +43 -0
  65. package/cjs/Calendar/TimeDropdown/utils/getTimeLimits.d.ts +11 -0
  66. package/cjs/Calendar/TimeDropdown/utils/getTimeLimits.js +24 -0
  67. package/cjs/Calendar/TimeDropdown/utils/index.d.ts +4 -0
  68. package/cjs/Calendar/TimeDropdown/utils/index.js +23 -0
  69. package/cjs/Calendar/TimeDropdown/utils/scrollToTime.d.ts +2 -0
  70. package/cjs/Calendar/TimeDropdown/utils/scrollToTime.js +28 -0
  71. package/cjs/Calendar/hooks/index.d.ts +3 -0
  72. package/cjs/Calendar/hooks/index.js +24 -0
  73. package/cjs/Calendar/hooks/useCalendar.d.ts +2 -0
  74. package/cjs/Calendar/hooks/useCalendar.js +10 -0
  75. package/cjs/Calendar/{useCalendarDate.d.ts → hooks/useCalendarDate.d.ts} +1 -2
  76. package/cjs/Calendar/{useCalendarDate.js → hooks/useCalendarDate.js} +8 -8
  77. package/cjs/Calendar/hooks/useCalendarState.d.ts +22 -0
  78. package/cjs/Calendar/hooks/useCalendarState.js +60 -0
  79. package/cjs/Calendar/index.d.ts +2 -4
  80. package/cjs/Calendar/index.js +2 -4
  81. package/cjs/Calendar/types.d.ts +19 -0
  82. package/cjs/Calendar/types.js +4 -0
  83. package/cjs/Calendar/{utils.js → utils/getAriaLabel.js} +1 -1
  84. package/cjs/Calendar/utils/index.d.ts +1 -0
  85. package/cjs/Calendar/utils/index.js +7 -0
  86. package/cjs/CustomProvider/CustomProvider.d.ts +19 -3
  87. package/cjs/DateInput/DateField.js +2 -2
  88. package/cjs/DateInput/DateInput.js +17 -6
  89. package/cjs/DateInput/hooks/useDateInputState.js +1 -1
  90. package/cjs/DatePicker/DatePicker.d.ts +6 -2
  91. package/cjs/DatePicker/DatePicker.js +46 -55
  92. package/cjs/DatePicker/utils.js +1 -1
  93. package/cjs/DateRangeInput/DateRangeInput.js +16 -5
  94. package/cjs/DateRangePicker/Calendar.d.ts +4 -5
  95. package/cjs/DateRangePicker/Calendar.js +18 -44
  96. package/cjs/DateRangePicker/DateRangePicker.d.ts +21 -4
  97. package/cjs/DateRangePicker/DateRangePicker.js +97 -71
  98. package/cjs/DateRangePicker/DateRangePickerProvider.d.ts +10 -0
  99. package/cjs/DateRangePicker/{DateRangePickerContext.js → DateRangePickerProvider.js} +3 -3
  100. package/cjs/DateRangePicker/hooks/index.d.ts +3 -0
  101. package/cjs/DateRangePicker/hooks/index.js +11 -0
  102. package/cjs/DateRangePicker/hooks/useCalendarHandlers.d.ts +17 -0
  103. package/cjs/DateRangePicker/hooks/useCalendarHandlers.js +43 -0
  104. package/cjs/DateRangePicker/hooks/useDateDisabled.d.ts +1 -1
  105. package/cjs/DateRangePicker/hooks/useDateDisabled.js +1 -0
  106. package/cjs/DateRangePicker/hooks/useDateRangePicker.d.ts +2 -0
  107. package/cjs/DateRangePicker/hooks/useDateRangePicker.js +10 -0
  108. package/cjs/DateRangePicker/utils.js +1 -1
  109. package/cjs/InlineEdit/renderChildren.d.ts +1 -1
  110. package/cjs/InlineEdit/renderChildren.js +13 -4
  111. package/cjs/InlineEdit/useFocusEvent.d.ts +2 -2
  112. package/cjs/InlineEdit/useFocusEvent.js +9 -4
  113. package/cjs/TimePicker/TimePicker.d.ts +81 -0
  114. package/cjs/TimePicker/TimePicker.js +31 -0
  115. package/cjs/TimePicker/index.d.ts +3 -0
  116. package/cjs/TimePicker/index.js +8 -0
  117. package/cjs/TimeRangePicker/TimeRangePicker.d.ts +77 -0
  118. package/cjs/TimeRangePicker/TimeRangePicker.js +23 -0
  119. package/cjs/TimeRangePicker/index.d.ts +3 -0
  120. package/cjs/TimeRangePicker/index.js +8 -0
  121. package/cjs/index.d.ts +4 -0
  122. package/cjs/index.js +6 -1
  123. package/cjs/internals/Picker/Listbox.js +4 -2
  124. package/cjs/internals/hooks/useCustom.js +2 -2
  125. package/cjs/internals/utils/date/extractTimeFormat.d.ts +4 -0
  126. package/cjs/internals/utils/date/extractTimeFormat.js +12 -0
  127. package/cjs/internals/utils/date/formatCheck.d.ts +4 -0
  128. package/cjs/internals/utils/date/formatCheck.js +8 -1
  129. package/cjs/internals/utils/date/index.d.ts +4 -2
  130. package/cjs/internals/utils/date/index.js +72 -7
  131. package/cjs/internals/utils/date/useDateMode.d.ts +16 -0
  132. package/cjs/internals/utils/date/useDateMode.js +57 -0
  133. package/cjs/internals/utils/index.d.ts +0 -1
  134. package/cjs/internals/utils/index.js +1 -4
  135. package/cjs/locales/ar_EG.d.ts +10 -0
  136. package/cjs/locales/ar_EG.js +8 -4
  137. package/cjs/locales/ca_ES.d.ts +10 -0
  138. package/cjs/locales/ca_ES.js +8 -4
  139. package/cjs/locales/cs_CZ.d.ts +10 -0
  140. package/cjs/locales/cs_CZ.js +8 -4
  141. package/cjs/locales/da_DK.d.ts +10 -0
  142. package/cjs/locales/da_DK.js +8 -4
  143. package/cjs/locales/de_DE.d.ts +10 -0
  144. package/cjs/locales/de_DE.js +8 -4
  145. package/cjs/locales/en_GB.d.ts +130 -2
  146. package/cjs/locales/en_GB.js +85 -2
  147. package/cjs/locales/en_US.d.ts +10 -0
  148. package/cjs/locales/en_US.js +8 -4
  149. package/cjs/locales/es_AR.d.ts +10 -0
  150. package/cjs/locales/es_AR.js +8 -4
  151. package/cjs/locales/es_ES.d.ts +10 -0
  152. package/cjs/locales/es_ES.js +8 -4
  153. package/cjs/locales/fa_IR.d.ts +10 -0
  154. package/cjs/locales/fa_IR.js +8 -4
  155. package/cjs/locales/fi_FI.d.ts +10 -0
  156. package/cjs/locales/fi_FI.js +8 -4
  157. package/cjs/locales/fr_FR.d.ts +10 -0
  158. package/cjs/locales/fr_FR.js +8 -4
  159. package/cjs/locales/hu_HU.d.ts +10 -0
  160. package/cjs/locales/hu_HU.js +8 -4
  161. package/cjs/locales/index.d.ts +1 -1
  162. package/cjs/locales/it_IT.d.ts +10 -0
  163. package/cjs/locales/it_IT.js +8 -4
  164. package/cjs/locales/ja_JP.d.ts +10 -0
  165. package/cjs/locales/ja_JP.js +8 -4
  166. package/cjs/locales/kk_KZ.d.ts +10 -0
  167. package/cjs/locales/kk_KZ.js +8 -4
  168. package/cjs/locales/ko_KR.d.ts +10 -0
  169. package/cjs/locales/ko_KR.js +8 -4
  170. package/cjs/locales/ne_NP.d.ts +10 -0
  171. package/cjs/locales/ne_NP.js +8 -4
  172. package/cjs/locales/nl_NL.d.ts +10 -0
  173. package/cjs/locales/nl_NL.js +8 -4
  174. package/cjs/locales/pt_BR.d.ts +10 -0
  175. package/cjs/locales/pt_BR.js +8 -4
  176. package/cjs/locales/ru_RU.d.ts +10 -0
  177. package/cjs/locales/ru_RU.js +8 -4
  178. package/cjs/locales/sv_SE.d.ts +10 -0
  179. package/cjs/locales/sv_SE.js +8 -4
  180. package/cjs/locales/tr_TR.d.ts +10 -0
  181. package/cjs/locales/tr_TR.js +8 -4
  182. package/cjs/locales/zh_CN.d.ts +10 -0
  183. package/cjs/locales/zh_CN.js +8 -4
  184. package/cjs/locales/zh_TW.d.ts +10 -0
  185. package/cjs/locales/zh_TW.js +8 -4
  186. package/dist/rsuite-no-reset-rtl.css +88 -21
  187. package/dist/rsuite-no-reset-rtl.min.css +1 -1
  188. package/dist/rsuite-no-reset-rtl.min.css.map +1 -1
  189. package/dist/rsuite-no-reset.css +88 -21
  190. package/dist/rsuite-no-reset.min.css +1 -1
  191. package/dist/rsuite-no-reset.min.css.map +1 -1
  192. package/dist/rsuite-rtl.css +88 -21
  193. package/dist/rsuite-rtl.min.css +1 -1
  194. package/dist/rsuite-rtl.min.css.map +1 -1
  195. package/dist/rsuite.css +88 -21
  196. package/dist/rsuite.js +361 -141
  197. package/dist/rsuite.js.map +1 -1
  198. package/dist/rsuite.min.css +1 -1
  199. package/dist/rsuite.min.css.map +1 -1
  200. package/dist/rsuite.min.js +1 -1
  201. package/dist/rsuite.min.js.map +1 -1
  202. package/esm/Calendar/Calendar.d.ts +1 -1
  203. package/esm/Calendar/Calendar.js +21 -23
  204. package/esm/Calendar/CalendarBody.js +9 -9
  205. package/esm/Calendar/CalendarContainer.d.ts +10 -2
  206. package/esm/Calendar/CalendarContainer.js +41 -69
  207. package/esm/Calendar/CalendarHeader.d.ts +0 -2
  208. package/esm/Calendar/CalendarHeader.js +25 -43
  209. package/esm/Calendar/{CalendarContext.d.ts → CalendarProvider.d.ts} +3 -22
  210. package/esm/Calendar/CalendarProvider.js +9 -0
  211. package/esm/Calendar/Grid/Grid.d.ts +6 -0
  212. package/esm/Calendar/{Table.js → Grid/Grid.js} +11 -17
  213. package/esm/Calendar/{TableCell.d.ts → Grid/GridCell.d.ts} +4 -4
  214. package/esm/Calendar/{TableCell.js → Grid/GridCell.js} +13 -13
  215. package/esm/Calendar/Grid/GridHeaderRow.d.ts +4 -0
  216. package/esm/Calendar/{TableHeaderRow.js → Grid/GridHeaderRow.js} +11 -11
  217. package/esm/Calendar/Grid/GridRow.d.ts +7 -0
  218. package/esm/Calendar/{TableRow.js → Grid/GridRow.js} +21 -21
  219. package/esm/Calendar/Grid/index.d.ts +2 -0
  220. package/esm/Calendar/Grid/index.js +3 -0
  221. package/esm/Calendar/MonthDropdown.d.ts +0 -15
  222. package/esm/Calendar/MonthDropdown.js +6 -6
  223. package/esm/Calendar/MonthDropdownItem.js +9 -9
  224. package/esm/Calendar/TimeDropdown/TimeColumn.d.ts +8 -0
  225. package/esm/Calendar/TimeDropdown/TimeColumn.js +22 -0
  226. package/{cjs/Calendar → esm/Calendar/TimeDropdown}/TimeDropdown.d.ts +2 -25
  227. package/esm/Calendar/TimeDropdown/TimeDropdown.js +161 -0
  228. package/esm/Calendar/TimeDropdown/index.d.ts +2 -0
  229. package/esm/Calendar/TimeDropdown/index.js +3 -0
  230. package/esm/Calendar/TimeDropdown/utils/formatWithLeadingZero.d.ts +1 -0
  231. package/esm/Calendar/TimeDropdown/utils/formatWithLeadingZero.js +4 -0
  232. package/esm/Calendar/TimeDropdown/utils/getClockTime.d.ts +11 -0
  233. package/esm/Calendar/TimeDropdown/utils/getClockTime.js +39 -0
  234. package/esm/Calendar/TimeDropdown/utils/getTimeLimits.d.ts +11 -0
  235. package/esm/Calendar/TimeDropdown/utils/getTimeLimits.js +20 -0
  236. package/esm/Calendar/TimeDropdown/utils/index.d.ts +4 -0
  237. package/esm/Calendar/TimeDropdown/utils/index.js +5 -0
  238. package/esm/Calendar/TimeDropdown/utils/scrollToTime.d.ts +2 -0
  239. package/esm/Calendar/TimeDropdown/utils/scrollToTime.js +23 -0
  240. package/esm/Calendar/hooks/index.d.ts +3 -0
  241. package/esm/Calendar/hooks/index.js +4 -0
  242. package/esm/Calendar/hooks/useCalendar.d.ts +2 -0
  243. package/esm/Calendar/hooks/useCalendar.js +6 -0
  244. package/esm/Calendar/{useCalendarDate.d.ts → hooks/useCalendarDate.d.ts} +1 -2
  245. package/esm/Calendar/{useCalendarDate.js → hooks/useCalendarDate.js} +7 -7
  246. package/esm/Calendar/hooks/useCalendarState.d.ts +22 -0
  247. package/esm/Calendar/hooks/useCalendarState.js +56 -0
  248. package/esm/Calendar/index.d.ts +2 -4
  249. package/esm/Calendar/index.js +2 -3
  250. package/esm/Calendar/types.d.ts +19 -0
  251. package/esm/Calendar/types.js +2 -0
  252. package/esm/Calendar/{utils.js → utils/getAriaLabel.js} +1 -1
  253. package/esm/Calendar/utils/index.d.ts +1 -0
  254. package/esm/Calendar/utils/index.js +2 -0
  255. package/esm/CustomProvider/CustomProvider.d.ts +19 -3
  256. package/esm/DateInput/DateField.js +2 -2
  257. package/esm/DateInput/DateInput.js +17 -6
  258. package/esm/DateInput/hooks/useDateInputState.js +1 -1
  259. package/esm/DatePicker/DatePicker.d.ts +6 -2
  260. package/esm/DatePicker/DatePicker.js +28 -36
  261. package/esm/DatePicker/hooks/useFocus.js +1 -1
  262. package/esm/DatePicker/utils.js +2 -2
  263. package/esm/DateRangeInput/DateRangeInput.js +16 -5
  264. package/esm/DateRangePicker/Calendar.d.ts +4 -5
  265. package/esm/DateRangePicker/Calendar.js +19 -47
  266. package/esm/DateRangePicker/DateRangePicker.d.ts +21 -4
  267. package/esm/DateRangePicker/DateRangePicker.js +98 -72
  268. package/esm/DateRangePicker/DateRangePickerProvider.d.ts +10 -0
  269. package/esm/DateRangePicker/{DateRangePickerContext.js → DateRangePickerProvider.js} +2 -2
  270. package/esm/DateRangePicker/hooks/index.d.ts +3 -0
  271. package/esm/DateRangePicker/hooks/index.js +4 -0
  272. package/esm/DateRangePicker/hooks/useCalendarHandlers.d.ts +17 -0
  273. package/esm/DateRangePicker/hooks/useCalendarHandlers.js +38 -0
  274. package/esm/DateRangePicker/hooks/useDateDisabled.d.ts +1 -1
  275. package/esm/DateRangePicker/hooks/useDateDisabled.js +1 -1
  276. package/esm/DateRangePicker/hooks/useDateRangePicker.d.ts +2 -0
  277. package/esm/DateRangePicker/hooks/useDateRangePicker.js +6 -0
  278. package/esm/DateRangePicker/utils.js +2 -2
  279. package/esm/InlineEdit/renderChildren.d.ts +1 -1
  280. package/esm/InlineEdit/renderChildren.js +13 -4
  281. package/esm/InlineEdit/useFocusEvent.d.ts +2 -2
  282. package/esm/InlineEdit/useFocusEvent.js +9 -4
  283. package/esm/TimePicker/TimePicker.d.ts +81 -0
  284. package/esm/TimePicker/TimePicker.js +24 -0
  285. package/esm/TimePicker/index.d.ts +3 -0
  286. package/esm/TimePicker/index.js +3 -0
  287. package/esm/TimeRangePicker/TimeRangePicker.d.ts +77 -0
  288. package/esm/TimeRangePicker/TimeRangePicker.js +18 -0
  289. package/esm/TimeRangePicker/index.d.ts +3 -0
  290. package/esm/TimeRangePicker/index.js +3 -0
  291. package/esm/index.d.ts +4 -0
  292. package/esm/index.js +2 -0
  293. package/esm/internals/Picker/Listbox.js +4 -2
  294. package/esm/internals/hooks/useCustom.js +1 -1
  295. package/esm/internals/utils/date/extractTimeFormat.d.ts +4 -0
  296. package/esm/internals/utils/date/extractTimeFormat.js +8 -0
  297. package/esm/internals/utils/date/formatCheck.d.ts +4 -0
  298. package/esm/internals/utils/date/formatCheck.js +7 -0
  299. package/esm/internals/utils/date/index.d.ts +4 -2
  300. package/esm/internals/utils/date/index.js +4 -2
  301. package/esm/internals/utils/date/useDateMode.d.ts +16 -0
  302. package/esm/internals/utils/date/useDateMode.js +54 -0
  303. package/esm/internals/utils/index.d.ts +0 -1
  304. package/esm/internals/utils/index.js +0 -1
  305. package/esm/locales/ar_EG.d.ts +10 -0
  306. package/esm/locales/ar_EG.js +8 -4
  307. package/esm/locales/ca_ES.d.ts +10 -0
  308. package/esm/locales/ca_ES.js +8 -4
  309. package/esm/locales/cs_CZ.d.ts +10 -0
  310. package/esm/locales/cs_CZ.js +8 -4
  311. package/esm/locales/da_DK.d.ts +10 -0
  312. package/esm/locales/da_DK.js +8 -4
  313. package/esm/locales/de_DE.d.ts +10 -0
  314. package/esm/locales/de_DE.js +8 -4
  315. package/esm/locales/en_GB.d.ts +130 -2
  316. package/esm/locales/en_GB.js +85 -2
  317. package/esm/locales/en_US.d.ts +10 -0
  318. package/esm/locales/en_US.js +8 -4
  319. package/esm/locales/es_AR.d.ts +10 -0
  320. package/esm/locales/es_AR.js +8 -4
  321. package/esm/locales/es_ES.d.ts +10 -0
  322. package/esm/locales/es_ES.js +8 -4
  323. package/esm/locales/fa_IR.d.ts +10 -0
  324. package/esm/locales/fa_IR.js +8 -4
  325. package/esm/locales/fi_FI.d.ts +10 -0
  326. package/esm/locales/fi_FI.js +8 -4
  327. package/esm/locales/fr_FR.d.ts +10 -0
  328. package/esm/locales/fr_FR.js +8 -4
  329. package/esm/locales/hu_HU.d.ts +10 -0
  330. package/esm/locales/hu_HU.js +8 -4
  331. package/esm/locales/index.d.ts +1 -1
  332. package/esm/locales/it_IT.d.ts +10 -0
  333. package/esm/locales/it_IT.js +8 -4
  334. package/esm/locales/ja_JP.d.ts +10 -0
  335. package/esm/locales/ja_JP.js +8 -4
  336. package/esm/locales/kk_KZ.d.ts +10 -0
  337. package/esm/locales/kk_KZ.js +8 -4
  338. package/esm/locales/ko_KR.d.ts +10 -0
  339. package/esm/locales/ko_KR.js +8 -4
  340. package/esm/locales/ne_NP.d.ts +10 -0
  341. package/esm/locales/ne_NP.js +8 -4
  342. package/esm/locales/nl_NL.d.ts +10 -0
  343. package/esm/locales/nl_NL.js +8 -4
  344. package/esm/locales/pt_BR.d.ts +10 -0
  345. package/esm/locales/pt_BR.js +8 -4
  346. package/esm/locales/ru_RU.d.ts +10 -0
  347. package/esm/locales/ru_RU.js +8 -4
  348. package/esm/locales/sv_SE.d.ts +10 -0
  349. package/esm/locales/sv_SE.js +8 -4
  350. package/esm/locales/tr_TR.d.ts +10 -0
  351. package/esm/locales/tr_TR.js +8 -4
  352. package/esm/locales/zh_CN.d.ts +10 -0
  353. package/esm/locales/zh_CN.js +8 -4
  354. package/esm/locales/zh_TW.d.ts +10 -0
  355. package/esm/locales/zh_TW.js +8 -4
  356. package/internals/Picker/styles/index.less +17 -0
  357. package/internals/ScrollView/styles/index.less +1 -5
  358. package/package.json +1 -1
  359. package/styles/color-modes/dark.less +5 -0
  360. package/styles/color-modes/high-contrast.less +5 -0
  361. package/styles/color-modes/light.less +5 -0
  362. package/styles/common.less +3 -3
  363. package/styles/variables.less +2 -2
  364. package/cjs/Calendar/CalendarContext.js +0 -22
  365. package/cjs/Calendar/Table.d.ts +0 -6
  366. package/cjs/Calendar/TableHeaderRow.d.ts +0 -4
  367. package/cjs/Calendar/TableRow.d.ts +0 -7
  368. package/cjs/Calendar/useCalendarState.d.ts +0 -11
  369. package/cjs/Calendar/useCalendarState.js +0 -32
  370. package/cjs/DateRangePicker/DateRangePickerContext.d.ts +0 -10
  371. package/cjs/internals/utils/date/getReversedTimeMeridian.d.ts +0 -8
  372. package/cjs/internals/utils/date/getReversedTimeMeridian.js +0 -21
  373. package/cjs/internals/utils/scrollTopAnimation.d.ts +0 -5
  374. package/cjs/internals/utils/scrollTopAnimation.js +0 -32
  375. package/cjs/locales/default.d.ts +0 -120
  376. package/cjs/locales/default.js +0 -87
  377. package/esm/Calendar/CalendarContext.js +0 -17
  378. package/esm/Calendar/Table.d.ts +0 -6
  379. package/esm/Calendar/TableHeaderRow.d.ts +0 -4
  380. package/esm/Calendar/TableRow.d.ts +0 -7
  381. package/esm/Calendar/TimeDropdown.js +0 -192
  382. package/esm/Calendar/useCalendarState.d.ts +0 -11
  383. package/esm/Calendar/useCalendarState.js +0 -28
  384. package/esm/DateRangePicker/DateRangePickerContext.d.ts +0 -10
  385. package/esm/internals/utils/date/getReversedTimeMeridian.d.ts +0 -8
  386. package/esm/internals/utils/date/getReversedTimeMeridian.js +0 -17
  387. package/esm/internals/utils/scrollTopAnimation.d.ts +0 -5
  388. package/esm/internals/utils/scrollTopAnimation.js +0 -27
  389. package/esm/locales/default.d.ts +0 -120
  390. package/esm/locales/default.js +0 -82
  391. package/locales/default/package.json +0 -7
  392. /package/cjs/Calendar/{utils.d.ts → utils/getAriaLabel.d.ts} +0 -0
  393. /package/esm/Calendar/{utils.d.ts → utils/getAriaLabel.d.ts} +0 -0
@@ -0,0 +1,81 @@
1
+ import React from 'react';
2
+ import { RangeType } from '../DatePicker';
3
+ import type { FormControlBaseProps, PickerBaseProps } from '../internals/types';
4
+ import type { PickerComponent } from '../internals/Picker/types';
5
+ import type { DatePickerLocale } from '../locales';
6
+ export interface TimePickerProps extends PickerBaseProps<DatePickerLocale>, FormControlBaseProps<Date | null> {
7
+ /**
8
+ * Custom caret component
9
+ */
10
+ caretAs?: React.ElementType | null;
11
+ /**
12
+ * Calendar panel default presentation date and time
13
+ */
14
+ calendarDefaultDate?: Date;
15
+ /**
16
+ * Whether disabled the component
17
+ */
18
+ disabled?: boolean;
19
+ /**
20
+ * Rendered as an input, the date can be entered via the keyboard
21
+ */
22
+ editable?: boolean;
23
+ /**
24
+ * Format date string
25
+ */
26
+ format?: string;
27
+ /**
28
+ * A label displayed at the beginning of toggle button
29
+ */
30
+ label?: React.ReactNode;
31
+ /**
32
+ * Whether to display a loading state indicator
33
+ */
34
+ loading?: boolean;
35
+ /**
36
+ * Whether plaintext the component
37
+ */
38
+ plaintext?: boolean;
39
+ /**
40
+ * Whether read only the component
41
+ */
42
+ readOnly?: boolean;
43
+ /**
44
+ * Meridiem format for 12-hour time
45
+ */
46
+ showMeridiem?: boolean;
47
+ /**
48
+ * Hide specific hour options
49
+ */
50
+ hideHours?: (hour: number, date: Date) => boolean;
51
+ /**
52
+ * Hide specific minute options
53
+ */
54
+ hideMinutes?: (minute: number, date: Date) => boolean;
55
+ /**
56
+ * Hide specific second options
57
+ */
58
+ hideSeconds?: (second: number, date: Date) => boolean;
59
+ /**
60
+ * Called when the option is selected
61
+ */
62
+ onSelect?: (date: Date, event?: React.SyntheticEvent) => void;
63
+ /**
64
+ * Called after clicking the OK button
65
+ */
66
+ onOk?: (date: Date, event: React.SyntheticEvent) => void;
67
+ /**
68
+ * Called after clicking the shortcut button
69
+ */
70
+ onShortcutClick?: (range: RangeType<Date>, event: React.MouseEvent) => void;
71
+ /**
72
+ * Called when clean
73
+ */
74
+ onClean?: (event: React.MouseEvent) => void;
75
+ /**
76
+ * Custom rendering of the selected date.
77
+ */
78
+ renderValue?: (value: Date, format: string) => string;
79
+ }
80
+ declare const TimePicker: PickerComponent<TimePickerProps>;
81
+ export default TimePicker;
@@ -0,0 +1,31 @@
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 _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
8
+ var _react = _interopRequireWildcard(require("react"));
9
+ var _DatePicker = _interopRequireDefault(require("../DatePicker"));
10
+ var _hooks = require("../internals/hooks");
11
+ 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); }
12
+ 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; }
13
+ var TimePicker = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
14
+ var _useCustom = (0, _hooks.useCustom)('Calendar'),
15
+ locale = _useCustom.locale;
16
+ var defaultRanges = (0, _react.useMemo)(function () {
17
+ return [{
18
+ label: locale.now,
19
+ value: function value() {
20
+ return new Date();
21
+ }
22
+ }];
23
+ }, [locale]);
24
+ return /*#__PURE__*/_react.default.createElement(_DatePicker.default, (0, _extends2.default)({
25
+ ref: ref,
26
+ format: locale.shortTimeFormat,
27
+ ranges: defaultRanges
28
+ }, props));
29
+ });
30
+ TimePicker.displayName = 'TimePicker';
31
+ var _default = exports.default = TimePicker;
@@ -0,0 +1,3 @@
1
+ import TimePicker from './TimePicker';
2
+ export type { TimePickerProps } from './TimePicker';
3
+ export default TimePicker;
@@ -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 _TimePicker = _interopRequireDefault(require("./TimePicker"));
8
+ var _default = exports.default = _TimePicker.default;
@@ -0,0 +1,77 @@
1
+ import React from 'react';
2
+ import { RangeType, DateRange } from '../DateRangePicker';
3
+ import type { FormControlBaseProps, PickerBaseProps } from '../internals/types';
4
+ import type { PickerComponent } from '../internals/Picker/types';
5
+ import type { DatePickerLocale } from '../locales';
6
+ export interface TimeRangePickerProps extends PickerBaseProps<DatePickerLocale>, FormControlBaseProps<DateRange | null> {
7
+ /**
8
+ * Custom caret component
9
+ */
10
+ caretAs?: React.ElementType | null;
11
+ /** Predefined date ranges */
12
+ ranges?: RangeType[];
13
+ /**
14
+ * Format of the date displayed in the input box
15
+ */
16
+ format?: string;
17
+ /**
18
+ * Rendered as an input, the date can be entered via the keyboard.
19
+ * @default true
20
+ */
21
+ editable?: boolean;
22
+ /**
23
+ * A label displayed at the beginning of toggle button
24
+ */
25
+ label?: React.ReactNode;
26
+ /**
27
+ * Whether to display a loading state indicator
28
+ */
29
+ loading?: boolean;
30
+ /**
31
+ * Meridiem format for 12-hour time
32
+ */
33
+ showMeridiem?: boolean;
34
+ /**
35
+ * Whether to display the formatted date range at the header of the calendar
36
+ */
37
+ showHeader?: boolean;
38
+ /**
39
+ * The character that separates two dates
40
+ * @default ' ~ '
41
+ */
42
+ character?: string;
43
+ /**
44
+ * Hide specific hour options
45
+ */
46
+ hideHours?: (hour: number, date: Date) => boolean;
47
+ /**
48
+ * Hide specific minute options
49
+ */
50
+ hideMinutes?: (minute: number, date: Date) => boolean;
51
+ /**
52
+ * Hide specific second options
53
+ */
54
+ hideSeconds?: (second: number, date: Date) => boolean;
55
+ /**
56
+ * Called after clicking the OK button
57
+ */
58
+ onOk?: (date: DateRange, event: React.SyntheticEvent) => void;
59
+ /**
60
+ * Called after clicking the shortcut button
61
+ */
62
+ onShortcutClick?: (range: RangeType, event: React.MouseEvent) => void;
63
+ /**
64
+ * Called when the value is cleared
65
+ */
66
+ onClean?: (event: React.MouseEvent) => void;
67
+ /**
68
+ * Custom rendering of the selected date range.
69
+ */
70
+ renderValue?: (value: DateRange, format: string) => string;
71
+ /**
72
+ * Custom render for calendar title
73
+ */
74
+ renderTitle?: (date: Date) => React.ReactNode;
75
+ }
76
+ declare const TimeRangePicker: PickerComponent<TimeRangePickerProps>;
77
+ export default TimeRangePicker;
@@ -0,0 +1,23 @@
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 _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
8
+ var _react = _interopRequireDefault(require("react"));
9
+ var _hooks = require("../internals/hooks");
10
+ var _DateRangePicker = _interopRequireDefault(require("../DateRangePicker"));
11
+ var defaultRanges = [];
12
+ var TimeRangePicker = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
13
+ var _useCustom = (0, _hooks.useCustom)('Calendar'),
14
+ locale = _useCustom.locale;
15
+ return /*#__PURE__*/_react.default.createElement(_DateRangePicker.default, (0, _extends2.default)({
16
+ ref: ref,
17
+ showHeader: false,
18
+ format: locale.shortTimeFormat,
19
+ ranges: defaultRanges
20
+ }, props));
21
+ });
22
+ TimeRangePicker.displayName = 'TimeRangePicker';
23
+ var _default = exports.default = TimeRangePicker;
@@ -0,0 +1,3 @@
1
+ import TimeRangePicker from './TimeRangePicker';
2
+ export type { TimeRangePickerProps } from './TimeRangePicker';
3
+ export default TimeRangePicker;
@@ -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 _TimeRangePicker = _interopRequireDefault(require("./TimeRangePicker"));
8
+ var _default = exports.default = _TimeRangePicker.default;
package/cjs/index.d.ts CHANGED
@@ -105,10 +105,14 @@ export { default as DateInput } from './DateInput';
105
105
  export type { DateInputProps } from './DateInput';
106
106
  export { default as DatePicker } from './DatePicker';
107
107
  export type { DatePickerProps } from './DatePicker';
108
+ export { default as TimePicker } from './TimePicker';
109
+ export type { TimePickerProps } from './TimePicker';
108
110
  export { default as DateRangeInput } from './DateRangeInput';
109
111
  export type { DateRangeInputProps } from './DateRangeInput';
110
112
  export { default as DateRangePicker } from './DateRangePicker';
111
113
  export type { DateRangePickerProps } from './DateRangePicker';
114
+ export { default as TimeRangePicker } from './TimeRangePicker';
115
+ export type { TimeRangePickerProps } from './TimeRangePicker';
112
116
  export { default as AutoComplete } from './AutoComplete';
113
117
  export type { AutoCompleteProps } from './AutoComplete';
114
118
  export { default as Uploader } from './Uploader';
package/cjs/index.js CHANGED
@@ -3,7 +3,8 @@
3
3
 
4
4
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
5
5
  exports.__esModule = true;
6
- exports.useToaster = exports.useMediaQuery = exports.useFormClassNames = exports.useBreakpointValue = exports.toaster = exports.Whisper = exports.VisuallyHidden = exports.VStack = exports.Uploader = exports.TreePicker = exports.Tree = exports.Tooltip = exports.Toggle = exports.Timeline = exports.Text = exports.TagPicker = exports.TagInput = exports.TagGroup = exports.Tag = exports.Tabs = exports.Table = exports.Steps = exports.Stack = exports.Slider = exports.Sidenav = exports.Sidebar = exports.SelectPicker = exports.Schema = exports.SafeAnchor = exports.Row = exports.Rate = exports.RangeSlider = exports.RadioTileGroup = exports.RadioTile = exports.RadioGroup = exports.Radio = exports.Progress = exports.Popover = exports.Placeholder = exports.PanelGroup = exports.Panel = exports.Pagination = exports.Notification = exports.Navbar = exports.Nav = exports.MultiCascader = exports.MultiCascadeTree = exports.Modal = exports.Message = exports.MaskedInput = exports.Loader = exports.List = exports.InputPicker = exports.InputNumber = exports.InputGroup = exports.Input = exports.InlineEdit = exports.IconButton = exports.Highlight = exports.HeadingGroup = exports.Heading = exports.Header = exports.HStack = exports.Grid = exports.Form = exports.Footer = exports.FlexboxGrid = exports.Dropdown = exports.Drawer = exports.Divider = exports.DateRangePicker = exports.DateRangeInput = exports.DatePicker = exports.DateInput = exports.DOMHelper = exports.CustomProvider = exports.Content = exports.Container = exports.Col = exports.CheckboxGroup = exports.Checkbox = exports.CheckTreePicker = exports.CheckTree = exports.CheckPicker = exports.Cascader = exports.CascadeTree = exports.Carousel = exports.Calendar = exports.ButtonToolbar = exports.ButtonGroup = exports.Button = exports.Breadcrumb = exports.Badge = exports.AvatarGroup = exports.Avatar = exports.AutoComplete = exports.Animation = exports.Affix = exports.Accordion = void 0;
6
+ exports.useMediaQuery = exports.useFormClassNames = exports.useBreakpointValue = exports.toaster = exports.Whisper = exports.VisuallyHidden = exports.VStack = exports.Uploader = exports.TreePicker = exports.Tree = exports.Tooltip = exports.Toggle = exports.Timeline = exports.TimeRangePicker = exports.TimePicker = exports.Text = exports.TagPicker = exports.TagInput = exports.TagGroup = exports.Tag = exports.Tabs = exports.Table = exports.Steps = exports.Stack = exports.Slider = exports.Sidenav = exports.Sidebar = exports.SelectPicker = exports.Schema = exports.SafeAnchor = exports.Row = exports.Rate = exports.RangeSlider = exports.RadioTileGroup = exports.RadioTile = exports.RadioGroup = exports.Radio = exports.Progress = exports.Popover = exports.Placeholder = exports.PanelGroup = exports.Panel = exports.Pagination = exports.Notification = exports.Navbar = exports.Nav = exports.MultiCascader = exports.MultiCascadeTree = exports.Modal = exports.Message = exports.MaskedInput = exports.Loader = exports.List = exports.InputPicker = exports.InputNumber = exports.InputGroup = exports.Input = exports.InlineEdit = exports.IconButton = exports.Highlight = exports.HeadingGroup = exports.Heading = exports.Header = exports.HStack = exports.Grid = exports.Form = exports.Footer = exports.FlexboxGrid = exports.Dropdown = exports.Drawer = exports.Divider = exports.DateRangePicker = exports.DateRangeInput = exports.DatePicker = exports.DateInput = exports.DOMHelper = exports.CustomProvider = exports.Content = exports.Container = exports.Col = exports.CheckboxGroup = exports.Checkbox = exports.CheckTreePicker = exports.CheckTree = exports.CheckPicker = exports.Cascader = exports.CascadeTree = exports.Carousel = exports.Calendar = exports.ButtonToolbar = exports.ButtonGroup = exports.Button = exports.Breadcrumb = exports.Badge = exports.AvatarGroup = exports.Avatar = exports.AutoComplete = exports.Animation = exports.Affix = exports.Accordion = void 0;
7
+ exports.useToaster = void 0;
7
8
  var _Text = _interopRequireDefault(require("./Text"));
8
9
  exports.Text = _Text.default;
9
10
  var _Heading = _interopRequireDefault(require("./Heading"));
@@ -113,10 +114,14 @@ var _DateInput = _interopRequireDefault(require("./DateInput"));
113
114
  exports.DateInput = _DateInput.default;
114
115
  var _DatePicker = _interopRequireDefault(require("./DatePicker"));
115
116
  exports.DatePicker = _DatePicker.default;
117
+ var _TimePicker = _interopRequireDefault(require("./TimePicker"));
118
+ exports.TimePicker = _TimePicker.default;
116
119
  var _DateRangeInput = _interopRequireDefault(require("./DateRangeInput"));
117
120
  exports.DateRangeInput = _DateRangeInput.default;
118
121
  var _DateRangePicker = _interopRequireDefault(require("./DateRangePicker"));
119
122
  exports.DateRangePicker = _DateRangePicker.default;
123
+ var _TimeRangePicker = _interopRequireDefault(require("./TimeRangePicker"));
124
+ exports.TimeRangePicker = _TimeRangePicker.default;
120
125
  var _AutoComplete = _interopRequireDefault(require("./AutoComplete"));
121
126
  exports.AutoComplete = _AutoComplete.default;
122
127
  var _Uploader = _interopRequireDefault(require("./Uploader"));
@@ -75,7 +75,8 @@ var Listbox = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
75
75
  var _useClassNames = (0, _hooks.useClassNames)(classPrefix),
76
76
  withClassPrefix = _useClassNames.withClassPrefix,
77
77
  prefix = _useClassNames.prefix,
78
- merge = _useClassNames.merge;
78
+ merge = _useClassNames.merge,
79
+ rootPrefix = _useClassNames.rootPrefix;
79
80
  var groupable = typeof groupBy !== 'undefined';
80
81
  var classes = merge(className, withClassPrefix('items', {
81
82
  grouped: groupable
@@ -236,7 +237,8 @@ var Listbox = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
236
237
  height: height || maxHeight,
237
238
  itemCount: rowCount,
238
239
  itemData: filteredItems,
239
- itemSize: getRowHeight.bind(_this, filteredItems)
240
+ itemSize: getRowHeight.bind(_this, filteredItems),
241
+ className: rootPrefix('virt-list')
240
242
  }, listProps), renderItem);
241
243
  }) : filteredItems.map(function (item, index) {
242
244
  return renderItem({
@@ -8,7 +8,7 @@ exports.useCustom = useCustom;
8
8
  var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
9
9
  var _react = require("react");
10
10
  var _date = require("../utils/date");
11
- var _default2 = _interopRequireDefault(require("../../locales/default"));
11
+ var _en_GB = _interopRequireDefault(require("../../locales/en_GB"));
12
12
  var _CustomProvider = require("../../CustomProvider/CustomProvider");
13
13
  var mergeObject = function mergeObject(list) {
14
14
  return list.reduce(function (a, b) {
@@ -28,7 +28,7 @@ function useCustom(keys, overrideLocale) {
28
28
  var _locale$Calendar2, _locale$Calendar4;
29
29
  var _useContext = (0, _react.useContext)(_CustomProvider.CustomContext),
30
30
  _useContext$locale = _useContext.locale,
31
- locale = _useContext$locale === void 0 ? _default2.default : _useContext$locale,
31
+ locale = _useContext$locale === void 0 ? _en_GB.default : _useContext$locale,
32
32
  _useContext$rtl = _useContext.rtl,
33
33
  rtl = _useContext$rtl === void 0 ? getDefaultRTL() : _useContext$rtl,
34
34
  formatDate = _useContext.formatDate,
@@ -0,0 +1,4 @@
1
+ /**
2
+ * Extracts the time format from a given date format.
3
+ */
4
+ export declare function extractTimeFormat(format: string): string | null;
@@ -0,0 +1,12 @@
1
+ 'use client';
2
+ "use strict";
3
+
4
+ exports.__esModule = true;
5
+ exports.extractTimeFormat = extractTimeFormat;
6
+ /**
7
+ * Extracts the time format from a given date format.
8
+ */
9
+ function extractTimeFormat(format) {
10
+ var match = format.match(/([hH]{1,2}[:.]mm(?:[:.]ss)?(?: ?aa)?|(?:aa )?[hH]{1,2}[:.]mm(?:[:.]ss)?)/);
11
+ return match ? match[0] : null;
12
+ }
@@ -26,3 +26,7 @@ export declare const shouldRenderDate: (format: string) => boolean;
26
26
  * @returns Whether only the time should be rendered.
27
27
  */
28
28
  export declare const shouldOnlyRenderTime: (format: string) => boolean;
29
+ /**
30
+ * Check if only the month should be rendered based on the format.
31
+ */
32
+ export declare const shouldOnlyRenderMonth: (format: string) => boolean;
@@ -2,7 +2,7 @@
2
2
  "use strict";
3
3
 
4
4
  exports.__esModule = true;
5
- exports.shouldRenderTime = exports.shouldRenderMonth = exports.shouldRenderDate = exports.shouldOnlyRenderTime = void 0;
5
+ exports.shouldRenderTime = exports.shouldRenderMonth = exports.shouldRenderDate = exports.shouldOnlyRenderTime = exports.shouldOnlyRenderMonth = void 0;
6
6
  /**
7
7
  * Check if the time should be rendered based on the format.
8
8
  *
@@ -41,4 +41,11 @@ var shouldRenderDate = exports.shouldRenderDate = function shouldRenderDate(form
41
41
  */
42
42
  var shouldOnlyRenderTime = exports.shouldOnlyRenderTime = function shouldOnlyRenderTime(format) {
43
43
  return /([Hhms])/.test(format) && !/([YyMDd])/.test(format);
44
+ };
45
+
46
+ /**
47
+ * Check if only the month should be rendered based on the format.
48
+ */
49
+ var shouldOnlyRenderMonth = exports.shouldOnlyRenderMonth = function shouldOnlyRenderMonth(format) {
50
+ return shouldRenderMonth(format) && !shouldRenderDate(format);
44
51
  };
@@ -43,13 +43,15 @@ export { default as set } from 'date-fns/set';
43
43
  export { default as differenceInCalendarMonths } from 'date-fns/differenceInCalendarMonths';
44
44
  export { default as isLastDayOfMonth } from 'date-fns/isLastDayOfMonth';
45
45
  export { default as lastDayOfMonth } from 'date-fns/lastDayOfMonth';
46
+ export { default as startOfToday } from 'date-fns/startOfToday';
46
47
  export { getWeekStartDates } from './getWeekStartDates';
47
48
  export { getWeekKeys } from './getWeekKeys';
48
- export { getReversedTimeMeridian } from './getReversedTimeMeridian';
49
49
  export { reverseDateRangeOmitTime } from './reverseDateRangeOmitTime';
50
50
  export { omitHideDisabledProps } from './omitHideDisabledProps';
51
51
  export { copyTime } from './copyTime';
52
52
  export { disableTime } from './disableTime';
53
- export { shouldRenderTime, shouldRenderMonth, shouldRenderDate, shouldOnlyRenderTime } from './formatCheck';
53
+ export { useDateMode, DateMode } from './useDateMode';
54
+ export { extractTimeFormat } from './extractTimeFormat';
55
+ export * from './formatCheck';
54
56
  export type { TimeProp, CalendarOnlyPropsType } from './types';
55
57
  export { calendarOnlyProps } from './types';
@@ -3,7 +3,65 @@
3
3
 
4
4
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
5
5
  exports.__esModule = true;
6
- exports.subDays = exports.startOfWeek = exports.startOfMonth = exports.startOfISOWeek = exports.startOfDay = exports.shouldRenderTime = exports.shouldRenderMonth = exports.shouldRenderDate = exports.shouldOnlyRenderTime = exports.setYear = exports.setSeconds = exports.setMonth = exports.setMinutes = exports.setHours = exports.setDate = exports.set = exports.reverseDateRangeOmitTime = exports.parseISO = exports.parse = exports.omitHideDisabledProps = exports.lastDayOfMonth = exports.isValid = exports.isSameSecond = exports.isSameMonth = exports.isSameDay = exports.isMatch = exports.isLastDayOfMonth = exports.isEqual = exports.isBefore = exports.isAfter = exports.getYear = exports.getWeekStartDates = exports.getWeekKeys = exports.getSeconds = exports.getReversedTimeMeridian = exports.getMonth = exports.getMinutes = exports.getHours = exports.getDaysInMonth = exports.getDay = exports.getDate = exports.format = exports.endOfWeek = exports.endOfMonth = exports.endOfISOWeek = exports.endOfDay = exports.disableTime = exports.differenceInCalendarMonths = exports.copyTime = exports.compareAsc = exports.calendarOnlyProps = exports.addYears = exports.addSeconds = exports.addMonths = exports.addMinutes = exports.addHours = exports.addDays = void 0;
6
+ var _exportNames = {
7
+ addDays: true,
8
+ addMonths: true,
9
+ addYears: true,
10
+ addSeconds: true,
11
+ addMinutes: true,
12
+ addHours: true,
13
+ compareAsc: true,
14
+ endOfDay: true,
15
+ endOfISOWeek: true,
16
+ endOfMonth: true,
17
+ endOfWeek: true,
18
+ format: true,
19
+ getDate: true,
20
+ getDay: true,
21
+ getDaysInMonth: true,
22
+ getHours: true,
23
+ getMinutes: true,
24
+ getMonth: true,
25
+ getSeconds: true,
26
+ getYear: true,
27
+ isAfter: true,
28
+ isBefore: true,
29
+ isEqual: true,
30
+ isSameDay: true,
31
+ isSameMonth: true,
32
+ isSameSecond: true,
33
+ parse: true,
34
+ parseISO: true,
35
+ setDate: true,
36
+ setHours: true,
37
+ setMinutes: true,
38
+ setMonth: true,
39
+ setSeconds: true,
40
+ setYear: true,
41
+ startOfDay: true,
42
+ startOfISOWeek: true,
43
+ startOfMonth: true,
44
+ startOfWeek: true,
45
+ subDays: true,
46
+ isMatch: true,
47
+ isValid: true,
48
+ set: true,
49
+ differenceInCalendarMonths: true,
50
+ isLastDayOfMonth: true,
51
+ lastDayOfMonth: true,
52
+ startOfToday: true,
53
+ getWeekStartDates: true,
54
+ getWeekKeys: true,
55
+ reverseDateRangeOmitTime: true,
56
+ omitHideDisabledProps: true,
57
+ copyTime: true,
58
+ disableTime: true,
59
+ useDateMode: true,
60
+ DateMode: true,
61
+ extractTimeFormat: true,
62
+ calendarOnlyProps: true
63
+ };
64
+ exports.useDateMode = exports.subDays = exports.startOfWeek = exports.startOfToday = exports.startOfMonth = exports.startOfISOWeek = exports.startOfDay = exports.setYear = exports.setSeconds = exports.setMonth = exports.setMinutes = exports.setHours = exports.setDate = exports.set = exports.reverseDateRangeOmitTime = exports.parseISO = exports.parse = exports.omitHideDisabledProps = exports.lastDayOfMonth = exports.isValid = exports.isSameSecond = exports.isSameMonth = exports.isSameDay = exports.isMatch = exports.isLastDayOfMonth = exports.isEqual = exports.isBefore = exports.isAfter = exports.getYear = exports.getWeekStartDates = exports.getWeekKeys = exports.getSeconds = exports.getMonth = exports.getMinutes = exports.getHours = exports.getDaysInMonth = exports.getDay = exports.getDate = exports.format = exports.extractTimeFormat = exports.endOfWeek = exports.endOfMonth = exports.endOfISOWeek = exports.endOfDay = exports.disableTime = exports.differenceInCalendarMonths = exports.copyTime = exports.compareAsc = exports.calendarOnlyProps = exports.addYears = exports.addSeconds = exports.addMonths = exports.addMinutes = exports.addHours = exports.addDays = exports.DateMode = void 0;
7
65
  var _addDays = _interopRequireDefault(require("date-fns/addDays"));
8
66
  exports.addDays = _addDays.default;
9
67
  var _addMonths = _interopRequireDefault(require("date-fns/addMonths"));
@@ -94,12 +152,12 @@ var _isLastDayOfMonth = _interopRequireDefault(require("date-fns/isLastDayOfMont
94
152
  exports.isLastDayOfMonth = _isLastDayOfMonth.default;
95
153
  var _lastDayOfMonth = _interopRequireDefault(require("date-fns/lastDayOfMonth"));
96
154
  exports.lastDayOfMonth = _lastDayOfMonth.default;
155
+ var _startOfToday = _interopRequireDefault(require("date-fns/startOfToday"));
156
+ exports.startOfToday = _startOfToday.default;
97
157
  var _getWeekStartDates = require("./getWeekStartDates");
98
158
  exports.getWeekStartDates = _getWeekStartDates.getWeekStartDates;
99
159
  var _getWeekKeys = require("./getWeekKeys");
100
160
  exports.getWeekKeys = _getWeekKeys.getWeekKeys;
101
- var _getReversedTimeMeridian = require("./getReversedTimeMeridian");
102
- exports.getReversedTimeMeridian = _getReversedTimeMeridian.getReversedTimeMeridian;
103
161
  var _reverseDateRangeOmitTime = require("./reverseDateRangeOmitTime");
104
162
  exports.reverseDateRangeOmitTime = _reverseDateRangeOmitTime.reverseDateRangeOmitTime;
105
163
  var _omitHideDisabledProps = require("./omitHideDisabledProps");
@@ -108,10 +166,17 @@ var _copyTime = require("./copyTime");
108
166
  exports.copyTime = _copyTime.copyTime;
109
167
  var _disableTime = require("./disableTime");
110
168
  exports.disableTime = _disableTime.disableTime;
169
+ var _useDateMode = require("./useDateMode");
170
+ exports.useDateMode = _useDateMode.useDateMode;
171
+ exports.DateMode = _useDateMode.DateMode;
172
+ var _extractTimeFormat = require("./extractTimeFormat");
173
+ exports.extractTimeFormat = _extractTimeFormat.extractTimeFormat;
111
174
  var _formatCheck = require("./formatCheck");
112
- exports.shouldRenderTime = _formatCheck.shouldRenderTime;
113
- exports.shouldRenderMonth = _formatCheck.shouldRenderMonth;
114
- exports.shouldRenderDate = _formatCheck.shouldRenderDate;
115
- exports.shouldOnlyRenderTime = _formatCheck.shouldOnlyRenderTime;
175
+ Object.keys(_formatCheck).forEach(function (key) {
176
+ if (key === "default" || key === "__esModule") return;
177
+ if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
178
+ if (key in exports && exports[key] === _formatCheck[key]) return;
179
+ exports[key] = _formatCheck[key];
180
+ });
116
181
  var _types = require("./types");
117
182
  exports.calendarOnlyProps = _types.calendarOnlyProps;
@@ -0,0 +1,16 @@
1
+ export declare enum DateMode {
2
+ Date = "date",
3
+ Month = "month",
4
+ Time = "time",
5
+ DateTime = "datetime"
6
+ }
7
+ /**
8
+ * Custom hook to determine the date mode and check format parts.
9
+ *
10
+ * @param format - The format string.
11
+ * @returns An object containing the resolved DateMode and a `has` method to check format parts.
12
+ */
13
+ export declare const useDateMode: (format: string) => {
14
+ mode: DateMode;
15
+ has: (part: 'year' | 'month' | 'day' | 'time') => boolean;
16
+ };
@@ -0,0 +1,57 @@
1
+ 'use client';
2
+ "use strict";
3
+
4
+ exports.__esModule = true;
5
+ exports.useDateMode = exports.DateMode = void 0;
6
+ var _react = require("react");
7
+ var _formatCheck = require("./formatCheck");
8
+ var DateMode = exports.DateMode = /*#__PURE__*/function (DateMode) {
9
+ DateMode["Date"] = "date";
10
+ DateMode["Month"] = "month";
11
+ DateMode["Time"] = "time";
12
+ DateMode["DateTime"] = "datetime";
13
+ return DateMode;
14
+ }({});
15
+ /**
16
+ * Custom hook to determine the date mode and check format parts.
17
+ *
18
+ * @param format - The format string.
19
+ * @returns An object containing the resolved DateMode and a `has` method to check format parts.
20
+ */
21
+ var useDateMode = exports.useDateMode = function useDateMode(format) {
22
+ var mode = (0, _react.useMemo)(function () {
23
+ if ((0, _formatCheck.shouldRenderDate)(format) && (0, _formatCheck.shouldRenderTime)(format)) {
24
+ return DateMode.DateTime;
25
+ }
26
+ if ((0, _formatCheck.shouldOnlyRenderMonth)(format)) {
27
+ return DateMode.Month;
28
+ }
29
+ if ((0, _formatCheck.shouldOnlyRenderTime)(format)) {
30
+ return DateMode.Time;
31
+ }
32
+ if ((0, _formatCheck.shouldRenderDate)(format)) {
33
+ return DateMode.Date;
34
+ }
35
+ return DateMode.Date; // Default fallback
36
+ }, [format]);
37
+
38
+ // Use useCallback to memoize the has method
39
+ var has = (0, _react.useCallback)(function (part) {
40
+ switch (part) {
41
+ case 'year':
42
+ return /[Yy]/.test(format);
43
+ case 'month':
44
+ return /[ML]/.test(format);
45
+ case 'day':
46
+ return /[Dd]/.test(format);
47
+ case 'time':
48
+ return /([Hhms])/.test(format);
49
+ default:
50
+ return false;
51
+ }
52
+ }, [format]);
53
+ return {
54
+ mode: mode,
55
+ has: has
56
+ };
57
+ };
@@ -13,7 +13,6 @@ export { placementPolyfill } from './placementPolyfill';
13
13
  export { mergeRefs } from './mergeRefs';
14
14
  export { shallowEqual, shallowEqualArray } from './shallowEqual';
15
15
  export { composeFunctions } from './composeFunctions';
16
- export { scrollTopAnimation } from './scrollTopAnimation';
17
16
  export { render } from './render';
18
17
  export { safeSetSelection } from './safeSetSelection';
19
18
  export { getStringLength } from './getStringLength';
@@ -20,7 +20,6 @@ var _exportNames = {
20
20
  shallowEqual: true,
21
21
  shallowEqualArray: true,
22
22
  composeFunctions: true,
23
- scrollTopAnimation: true,
24
23
  render: true,
25
24
  safeSetSelection: true,
26
25
  getStringLength: true,
@@ -33,7 +32,7 @@ var _exportNames = {
33
32
  isFocusLeaving: true,
34
33
  isFocusableElement: true
35
34
  };
36
- exports.warnOnce = exports.tplTransform = exports.stringifyReactNode = exports.shallowEqualArray = exports.shallowEqual = exports.scrollTopAnimation = exports.safeSetSelection = exports.render = exports.reactToString = exports.prefix = exports.placementPolyfill = exports.mergeRefs = exports.isOneOf = exports.isFocusableElement = exports.isFocusLeaving = exports.isFocusEntering = exports.guid = exports.getStringLength = exports.getSafeRegExpString = exports.getDataGroupBy = exports.getDOMNode = exports.getClassNamePrefix = exports.deprecateComponent = exports.defaultClassPrefix = exports.createComponent = exports.createChainedFunction = exports.composeFunctions = exports.attachParent = exports.ReactChildren = void 0;
35
+ exports.warnOnce = exports.tplTransform = exports.stringifyReactNode = exports.shallowEqualArray = exports.shallowEqual = exports.safeSetSelection = exports.render = exports.reactToString = exports.prefix = exports.placementPolyfill = exports.mergeRefs = exports.isOneOf = exports.isFocusableElement = exports.isFocusLeaving = exports.isFocusEntering = exports.guid = exports.getStringLength = exports.getSafeRegExpString = exports.getDataGroupBy = exports.getDOMNode = exports.getClassNamePrefix = exports.deprecateComponent = exports.defaultClassPrefix = exports.createComponent = exports.createChainedFunction = exports.composeFunctions = exports.attachParent = exports.ReactChildren = void 0;
37
36
  var _BrowserDetection = require("./BrowserDetection");
38
37
  Object.keys(_BrowserDetection).forEach(function (key) {
39
38
  if (key === "default" || key === "__esModule") return;
@@ -78,8 +77,6 @@ exports.shallowEqual = _shallowEqual.shallowEqual;
78
77
  exports.shallowEqualArray = _shallowEqual.shallowEqualArray;
79
78
  var _composeFunctions = require("./composeFunctions");
80
79
  exports.composeFunctions = _composeFunctions.composeFunctions;
81
- var _scrollTopAnimation = require("./scrollTopAnimation");
82
- exports.scrollTopAnimation = _scrollTopAnimation.scrollTopAnimation;
83
80
  var _render = require("./render");
84
81
  exports.render = _render.render;
85
82
  var _safeSetSelection = require("./safeSetSelection");