@mantine/dates 7.17.0 → 8.0.0-alpha.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 (411) hide show
  1. package/cjs/components/Calendar/Calendar.cjs +13 -17
  2. package/cjs/components/Calendar/Calendar.cjs.map +1 -1
  3. package/cjs/components/CalendarHeader/CalendarHeader.cjs.map +1 -1
  4. package/cjs/components/DateInput/DateInput.cjs +3 -9
  5. package/cjs/components/DateInput/DateInput.cjs.map +1 -1
  6. package/cjs/components/DateInput/date-string-parser/date-string-parser.cjs +8 -5
  7. package/cjs/components/DateInput/date-string-parser/date-string-parser.cjs.map +1 -1
  8. package/cjs/components/DateInput/is-date-valid/is-date-valid.cjs +1 -1
  9. package/cjs/components/DateInput/is-date-valid/is-date-valid.cjs.map +1 -1
  10. package/cjs/components/DatePicker/DatePicker.cjs +3 -10
  11. package/cjs/components/DatePicker/DatePicker.cjs.map +1 -1
  12. package/cjs/components/DatePickerInput/DatePickerInput.cjs +3 -9
  13. package/cjs/components/DatePickerInput/DatePickerInput.cjs.map +1 -1
  14. package/cjs/components/DateTimePicker/DateTimePicker.cjs +34 -34
  15. package/cjs/components/DateTimePicker/DateTimePicker.cjs.map +1 -1
  16. package/cjs/components/DateTimePicker/get-min-max-time/get-min-max-time.cjs +21 -0
  17. package/cjs/components/DateTimePicker/get-min-max-time/get-min-max-time.cjs.map +1 -0
  18. package/cjs/components/DatesProvider/DatesProvider.cjs +0 -1
  19. package/cjs/components/DatesProvider/DatesProvider.cjs.map +1 -1
  20. package/cjs/components/DatesProvider/use-dates-context.cjs +0 -5
  21. package/cjs/components/DatesProvider/use-dates-context.cjs.map +1 -1
  22. package/cjs/components/Day/Day.cjs +1 -5
  23. package/cjs/components/Day/Day.cjs.map +1 -1
  24. package/cjs/components/DecadeLevel/DecadeLevel.cjs.map +1 -1
  25. package/cjs/components/DecadeLevel/get-decade-range/get-decade-range.cjs.map +1 -1
  26. package/cjs/components/DecadeLevelGroup/DecadeLevelGroup.cjs +2 -3
  27. package/cjs/components/DecadeLevelGroup/DecadeLevelGroup.cjs.map +1 -1
  28. package/cjs/components/HiddenDatesInput/HiddenDatesInput.cjs +17 -15
  29. package/cjs/components/HiddenDatesInput/HiddenDatesInput.cjs.map +1 -1
  30. package/cjs/components/Month/Month.cjs +7 -6
  31. package/cjs/components/Month/Month.cjs.map +1 -1
  32. package/cjs/components/Month/get-date-in-tab-order/get-date-in-tab-order.cjs +11 -3
  33. package/cjs/components/Month/get-date-in-tab-order/get-date-in-tab-order.cjs.map +1 -1
  34. package/cjs/components/Month/get-end-of-week/get-end-of-week.cjs +1 -1
  35. package/cjs/components/Month/get-end-of-week/get-end-of-week.cjs.map +1 -1
  36. package/cjs/components/Month/get-month-days/get-month-days.cjs +10 -11
  37. package/cjs/components/Month/get-month-days/get-month-days.cjs.map +1 -1
  38. package/cjs/components/Month/get-start-of-week/get-start-of-week.cjs +1 -1
  39. package/cjs/components/Month/get-start-of-week/get-start-of-week.cjs.map +1 -1
  40. package/cjs/components/Month/get-week-number/get-week-number.cjs.map +1 -1
  41. package/cjs/components/Month/is-after-min-date/is-after-min-date.cjs +1 -1
  42. package/cjs/components/Month/is-after-min-date/is-after-min-date.cjs.map +1 -1
  43. package/cjs/components/Month/is-before-max-date/is-before-max-date.cjs +1 -1
  44. package/cjs/components/Month/is-before-max-date/is-before-max-date.cjs.map +1 -1
  45. package/cjs/components/MonthLevel/MonthLevel.cjs.map +1 -1
  46. package/cjs/components/MonthLevelGroup/MonthLevelGroup.cjs +2 -3
  47. package/cjs/components/MonthLevelGroup/MonthLevelGroup.cjs.map +1 -1
  48. package/cjs/components/MonthPicker/MonthPicker.cjs +3 -10
  49. package/cjs/components/MonthPicker/MonthPicker.cjs.map +1 -1
  50. package/cjs/components/MonthPickerInput/MonthPickerInput.cjs +2 -8
  51. package/cjs/components/MonthPickerInput/MonthPickerInput.cjs.map +1 -1
  52. package/cjs/components/MonthsList/MonthsList.cjs +12 -2
  53. package/cjs/components/MonthsList/MonthsList.cjs.map +1 -1
  54. package/cjs/components/MonthsList/get-month-in-tab-order/get-month-in-tab-order.cjs +7 -2
  55. package/cjs/components/MonthsList/get-month-in-tab-order/get-month-in-tab-order.cjs.map +1 -1
  56. package/cjs/components/MonthsList/get-months-data/get-months-data.cjs +1 -1
  57. package/cjs/components/MonthsList/get-months-data/get-months-data.cjs.map +1 -1
  58. package/cjs/components/MonthsList/is-month-disabled/is-month-disabled.cjs +1 -1
  59. package/cjs/components/MonthsList/is-month-disabled/is-month-disabled.cjs.map +1 -1
  60. package/cjs/components/PickerControl/PickerControl.cjs.map +1 -1
  61. package/cjs/components/PickerInputBase/PickerInputBase.cjs +4 -1
  62. package/cjs/components/PickerInputBase/PickerInputBase.cjs.map +1 -1
  63. package/cjs/components/SpinInput/SpinInput.cjs +115 -0
  64. package/cjs/components/SpinInput/SpinInput.cjs.map +1 -0
  65. package/cjs/components/TimeGrid/TimeGrid.cjs +104 -0
  66. package/cjs/components/TimeGrid/TimeGrid.cjs.map +1 -0
  67. package/cjs/components/TimeGrid/TimeGrid.context.cjs +12 -0
  68. package/cjs/components/TimeGrid/TimeGrid.context.cjs.map +1 -0
  69. package/cjs/components/TimeGrid/TimeGrid.module.css.cjs +7 -0
  70. package/cjs/components/TimeGrid/TimeGrid.module.css.cjs.map +1 -0
  71. package/cjs/components/TimeGrid/TimeGridControl.cjs +37 -0
  72. package/cjs/components/TimeGrid/TimeGridControl.cjs.map +1 -0
  73. package/cjs/components/TimeGrid/compare-time.cjs +15 -0
  74. package/cjs/components/TimeGrid/compare-time.cjs.map +1 -0
  75. package/cjs/components/TimeInput/TimeInput.cjs.map +1 -1
  76. package/cjs/components/TimePicker/AmPmInput/AmPmInput.cjs +72 -0
  77. package/cjs/components/TimePicker/AmPmInput/AmPmInput.cjs.map +1 -0
  78. package/cjs/components/TimePicker/TimeControlsList/AmPmControlsList.cjs +16 -0
  79. package/cjs/components/TimePicker/TimeControlsList/AmPmControlsList.cjs.map +1 -0
  80. package/cjs/components/TimePicker/TimeControlsList/TimeControl.cjs +27 -0
  81. package/cjs/components/TimePicker/TimeControlsList/TimeControl.cjs.map +1 -0
  82. package/cjs/components/TimePicker/TimeControlsList/TimeControlsList.cjs +54 -0
  83. package/cjs/components/TimePicker/TimeControlsList/TimeControlsList.cjs.map +1 -0
  84. package/cjs/components/TimePicker/TimePicker.cjs +387 -0
  85. package/cjs/components/TimePicker/TimePicker.cjs.map +1 -0
  86. package/cjs/components/TimePicker/TimePicker.context.cjs +12 -0
  87. package/cjs/components/TimePicker/TimePicker.context.cjs.map +1 -0
  88. package/cjs/components/TimePicker/TimePicker.module.css.cjs +7 -0
  89. package/cjs/components/TimePicker/TimePicker.module.css.cjs.map +1 -0
  90. package/cjs/components/TimePicker/TimePresets/TimePresetControl.cjs +31 -0
  91. package/cjs/components/TimePicker/TimePresets/TimePresetControl.cjs.map +1 -0
  92. package/cjs/components/TimePicker/TimePresets/TimePresetGroup.cjs +39 -0
  93. package/cjs/components/TimePicker/TimePresets/TimePresetGroup.cjs.map +1 -0
  94. package/cjs/components/TimePicker/TimePresets/TimePresets.cjs +73 -0
  95. package/cjs/components/TimePicker/TimePresets/TimePresets.cjs.map +1 -0
  96. package/cjs/components/TimePicker/use-time-picker.cjs +164 -0
  97. package/cjs/components/TimePicker/use-time-picker.cjs.map +1 -0
  98. package/cjs/components/TimePicker/utils/clamp-time/clamp-time.cjs +15 -0
  99. package/cjs/components/TimePicker/utils/clamp-time/clamp-time.cjs.map +1 -0
  100. package/cjs/components/TimePicker/utils/get-parsed-time/get-parsed-time.cjs +38 -0
  101. package/cjs/components/TimePicker/utils/get-parsed-time/get-parsed-time.cjs.map +1 -0
  102. package/cjs/components/TimePicker/utils/get-time-range/get-time-range.cjs +18 -0
  103. package/cjs/components/TimePicker/utils/get-time-range/get-time-range.cjs.map +1 -0
  104. package/cjs/components/TimePicker/utils/get-time-string/get-time-string.cjs +51 -0
  105. package/cjs/components/TimePicker/utils/get-time-string/get-time-string.cjs.map +1 -0
  106. package/cjs/components/TimePicker/utils/is-same-time/is-same-time.cjs +16 -0
  107. package/cjs/components/TimePicker/utils/is-same-time/is-same-time.cjs.map +1 -0
  108. package/cjs/components/TimePicker/utils/pad-time/pad-time.cjs +9 -0
  109. package/cjs/components/TimePicker/utils/pad-time/pad-time.cjs.map +1 -0
  110. package/cjs/components/TimePicker/utils/split-time-string/split-time-string.cjs +10 -0
  111. package/cjs/components/TimePicker/utils/split-time-string/split-time-string.cjs.map +1 -0
  112. package/cjs/components/TimePicker/utils/time-to-seconds/time-to-seconds.cjs +24 -0
  113. package/cjs/components/TimePicker/utils/time-to-seconds/time-to-seconds.cjs.map +1 -0
  114. package/cjs/components/TimeValue/TimeValue.cjs +18 -0
  115. package/cjs/components/TimeValue/TimeValue.cjs.map +1 -0
  116. package/cjs/components/TimeValue/get-formatted-time/get-formatted-time.cjs +31 -0
  117. package/cjs/components/TimeValue/get-formatted-time/get-formatted-time.cjs.map +1 -0
  118. package/cjs/components/WeekdaysRow/WeekdaysRow.cjs.map +1 -1
  119. package/cjs/components/WeekdaysRow/get-weekdays-names/get-weekdays-names.cjs +1 -1
  120. package/cjs/components/WeekdaysRow/get-weekdays-names/get-weekdays-names.cjs.map +1 -1
  121. package/cjs/components/YearLevel/YearLevel.cjs.map +1 -1
  122. package/cjs/components/YearLevelGroup/YearLevelGroup.cjs +2 -3
  123. package/cjs/components/YearLevelGroup/YearLevelGroup.cjs.map +1 -1
  124. package/cjs/components/YearPicker/YearPicker.cjs +3 -10
  125. package/cjs/components/YearPicker/YearPicker.cjs.map +1 -1
  126. package/cjs/components/YearPickerInput/YearPickerInput.cjs +3 -9
  127. package/cjs/components/YearPickerInput/YearPickerInput.cjs.map +1 -1
  128. package/cjs/components/YearsList/YearsList.cjs +7 -2
  129. package/cjs/components/YearsList/YearsList.cjs.map +1 -1
  130. package/cjs/components/YearsList/get-year-in-tab-order/get-year-in-tab-order.cjs +7 -2
  131. package/cjs/components/YearsList/get-year-in-tab-order/get-year-in-tab-order.cjs.map +1 -1
  132. package/cjs/components/YearsList/get-years-data/get-years-data.cjs +8 -2
  133. package/cjs/components/YearsList/get-years-data/get-years-data.cjs.map +1 -1
  134. package/cjs/components/YearsList/is-year-disabled/is-year-disabled.cjs +1 -1
  135. package/cjs/components/YearsList/is-year-disabled/is-year-disabled.cjs.map +1 -1
  136. package/cjs/hooks/use-dates-input/use-dates-input.cjs +7 -4
  137. package/cjs/hooks/use-dates-input/use-dates-input.cjs.map +1 -1
  138. package/cjs/hooks/use-dates-state/is-in-range/is-in-range.cjs +1 -1
  139. package/cjs/hooks/use-dates-state/is-in-range/is-in-range.cjs.map +1 -1
  140. package/cjs/hooks/use-dates-state/use-dates-state.cjs +10 -12
  141. package/cjs/hooks/use-dates-state/use-dates-state.cjs.map +1 -1
  142. package/cjs/hooks/use-uncontrolled-dates/use-uncontrolled-dates.cjs +10 -34
  143. package/cjs/hooks/use-uncontrolled-dates/use-uncontrolled-dates.cjs.map +1 -1
  144. package/cjs/index.cjs +19 -5
  145. package/cjs/index.cjs.map +1 -1
  146. package/cjs/utils/assign-time/assign-time.cjs +16 -13
  147. package/cjs/utils/assign-time/assign-time.cjs.map +1 -1
  148. package/cjs/utils/clamp-date/clamp-date.cjs +25 -0
  149. package/cjs/utils/clamp-date/clamp-date.cjs.map +1 -0
  150. package/cjs/utils/get-default-clamped-date/get-default-clamped-date.cjs +29 -0
  151. package/cjs/utils/get-default-clamped-date/get-default-clamped-date.cjs.map +1 -0
  152. package/cjs/utils/get-formatted-date/get-formatted-date.cjs +41 -0
  153. package/cjs/utils/get-formatted-date/get-formatted-date.cjs.map +1 -0
  154. package/cjs/utils/handle-control-key-down/handle-control-key-down.cjs +158 -0
  155. package/cjs/utils/handle-control-key-down/handle-control-key-down.cjs.map +1 -0
  156. package/cjs/utils/to-date-string/to-date-string.cjs +19 -0
  157. package/cjs/utils/to-date-string/to-date-string.cjs.map +1 -0
  158. package/esm/components/Calendar/Calendar.mjs +13 -17
  159. package/esm/components/Calendar/Calendar.mjs.map +1 -1
  160. package/esm/components/CalendarHeader/CalendarHeader.mjs.map +1 -1
  161. package/esm/components/DateInput/DateInput.mjs +3 -9
  162. package/esm/components/DateInput/DateInput.mjs.map +1 -1
  163. package/esm/components/DateInput/date-string-parser/date-string-parser.mjs +4 -5
  164. package/esm/components/DateInput/date-string-parser/date-string-parser.mjs.map +1 -1
  165. package/esm/components/DateInput/is-date-valid/is-date-valid.mjs +1 -1
  166. package/esm/components/DateInput/is-date-valid/is-date-valid.mjs.map +1 -1
  167. package/esm/components/DatePicker/DatePicker.mjs +3 -10
  168. package/esm/components/DatePicker/DatePicker.mjs.map +1 -1
  169. package/esm/components/DatePickerInput/DatePickerInput.mjs +3 -9
  170. package/esm/components/DatePickerInput/DatePickerInput.mjs.map +1 -1
  171. package/esm/components/DateTimePicker/DateTimePicker.mjs +34 -34
  172. package/esm/components/DateTimePicker/DateTimePicker.mjs.map +1 -1
  173. package/esm/components/DateTimePicker/get-min-max-time/get-min-max-time.mjs +14 -0
  174. package/esm/components/DateTimePicker/get-min-max-time/get-min-max-time.mjs.map +1 -0
  175. package/esm/components/DatesProvider/DatesProvider.mjs +0 -1
  176. package/esm/components/DatesProvider/DatesProvider.mjs.map +1 -1
  177. package/esm/components/DatesProvider/use-dates-context.mjs +0 -5
  178. package/esm/components/DatesProvider/use-dates-context.mjs.map +1 -1
  179. package/esm/components/Day/Day.mjs +1 -5
  180. package/esm/components/Day/Day.mjs.map +1 -1
  181. package/esm/components/DecadeLevel/DecadeLevel.mjs.map +1 -1
  182. package/esm/components/DecadeLevel/get-decade-range/get-decade-range.mjs.map +1 -1
  183. package/esm/components/DecadeLevelGroup/DecadeLevelGroup.mjs +2 -3
  184. package/esm/components/DecadeLevelGroup/DecadeLevelGroup.mjs.map +1 -1
  185. package/esm/components/HiddenDatesInput/HiddenDatesInput.mjs +17 -15
  186. package/esm/components/HiddenDatesInput/HiddenDatesInput.mjs.map +1 -1
  187. package/esm/components/Month/Month.mjs +7 -6
  188. package/esm/components/Month/Month.mjs.map +1 -1
  189. package/esm/components/Month/get-date-in-tab-order/get-date-in-tab-order.mjs +11 -3
  190. package/esm/components/Month/get-date-in-tab-order/get-date-in-tab-order.mjs.map +1 -1
  191. package/esm/components/Month/get-end-of-week/get-end-of-week.mjs +1 -1
  192. package/esm/components/Month/get-end-of-week/get-end-of-week.mjs.map +1 -1
  193. package/esm/components/Month/get-month-days/get-month-days.mjs +10 -11
  194. package/esm/components/Month/get-month-days/get-month-days.mjs.map +1 -1
  195. package/esm/components/Month/get-start-of-week/get-start-of-week.mjs +1 -1
  196. package/esm/components/Month/get-start-of-week/get-start-of-week.mjs.map +1 -1
  197. package/esm/components/Month/get-week-number/get-week-number.mjs.map +1 -1
  198. package/esm/components/Month/is-after-min-date/is-after-min-date.mjs +1 -1
  199. package/esm/components/Month/is-after-min-date/is-after-min-date.mjs.map +1 -1
  200. package/esm/components/Month/is-before-max-date/is-before-max-date.mjs +1 -1
  201. package/esm/components/Month/is-before-max-date/is-before-max-date.mjs.map +1 -1
  202. package/esm/components/MonthLevel/MonthLevel.mjs.map +1 -1
  203. package/esm/components/MonthLevelGroup/MonthLevelGroup.mjs +2 -3
  204. package/esm/components/MonthLevelGroup/MonthLevelGroup.mjs.map +1 -1
  205. package/esm/components/MonthPicker/MonthPicker.mjs +3 -10
  206. package/esm/components/MonthPicker/MonthPicker.mjs.map +1 -1
  207. package/esm/components/MonthPickerInput/MonthPickerInput.mjs +2 -8
  208. package/esm/components/MonthPickerInput/MonthPickerInput.mjs.map +1 -1
  209. package/esm/components/MonthsList/MonthsList.mjs +12 -2
  210. package/esm/components/MonthsList/MonthsList.mjs.map +1 -1
  211. package/esm/components/MonthsList/get-month-in-tab-order/get-month-in-tab-order.mjs +7 -2
  212. package/esm/components/MonthsList/get-month-in-tab-order/get-month-in-tab-order.mjs.map +1 -1
  213. package/esm/components/MonthsList/get-months-data/get-months-data.mjs +1 -1
  214. package/esm/components/MonthsList/get-months-data/get-months-data.mjs.map +1 -1
  215. package/esm/components/MonthsList/is-month-disabled/is-month-disabled.mjs +1 -1
  216. package/esm/components/MonthsList/is-month-disabled/is-month-disabled.mjs.map +1 -1
  217. package/esm/components/PickerControl/PickerControl.mjs.map +1 -1
  218. package/esm/components/PickerInputBase/PickerInputBase.mjs +4 -1
  219. package/esm/components/PickerInputBase/PickerInputBase.mjs.map +1 -1
  220. package/esm/components/SpinInput/SpinInput.mjs +113 -0
  221. package/esm/components/SpinInput/SpinInput.mjs.map +1 -0
  222. package/esm/components/TimeGrid/TimeGrid.context.mjs +9 -0
  223. package/esm/components/TimeGrid/TimeGrid.context.mjs.map +1 -0
  224. package/esm/components/TimeGrid/TimeGrid.mjs +102 -0
  225. package/esm/components/TimeGrid/TimeGrid.mjs.map +1 -0
  226. package/esm/components/TimeGrid/TimeGrid.module.css.mjs +5 -0
  227. package/esm/components/TimeGrid/TimeGrid.module.css.mjs.map +1 -0
  228. package/esm/components/TimeGrid/TimeGridControl.mjs +31 -0
  229. package/esm/components/TimeGrid/TimeGridControl.mjs.map +1 -0
  230. package/esm/components/TimeGrid/compare-time.mjs +12 -0
  231. package/esm/components/TimeGrid/compare-time.mjs.map +1 -0
  232. package/esm/components/TimeInput/TimeInput.mjs.map +1 -1
  233. package/esm/components/TimePicker/AmPmInput/AmPmInput.mjs +70 -0
  234. package/esm/components/TimePicker/AmPmInput/AmPmInput.mjs.map +1 -0
  235. package/esm/components/TimePicker/TimeControlsList/AmPmControlsList.mjs +14 -0
  236. package/esm/components/TimePicker/TimeControlsList/AmPmControlsList.mjs.map +1 -0
  237. package/esm/components/TimePicker/TimeControlsList/TimeControl.mjs +25 -0
  238. package/esm/components/TimePicker/TimeControlsList/TimeControl.mjs.map +1 -0
  239. package/esm/components/TimePicker/TimeControlsList/TimeControlsList.mjs +52 -0
  240. package/esm/components/TimePicker/TimeControlsList/TimeControlsList.mjs.map +1 -0
  241. package/esm/components/TimePicker/TimePicker.context.mjs +9 -0
  242. package/esm/components/TimePicker/TimePicker.context.mjs.map +1 -0
  243. package/esm/components/TimePicker/TimePicker.mjs +385 -0
  244. package/esm/components/TimePicker/TimePicker.mjs.map +1 -0
  245. package/esm/components/TimePicker/TimePicker.module.css.mjs +5 -0
  246. package/esm/components/TimePicker/TimePicker.module.css.mjs.map +1 -0
  247. package/esm/components/TimePicker/TimePresets/TimePresetControl.mjs +29 -0
  248. package/esm/components/TimePicker/TimePresets/TimePresetControl.mjs.map +1 -0
  249. package/esm/components/TimePicker/TimePresets/TimePresetGroup.mjs +37 -0
  250. package/esm/components/TimePicker/TimePresets/TimePresetGroup.mjs.map +1 -0
  251. package/esm/components/TimePicker/TimePresets/TimePresets.mjs +71 -0
  252. package/esm/components/TimePicker/TimePresets/TimePresets.mjs.map +1 -0
  253. package/esm/components/TimePicker/use-time-picker.mjs +162 -0
  254. package/esm/components/TimePicker/use-time-picker.mjs.map +1 -0
  255. package/esm/components/TimePicker/utils/clamp-time/clamp-time.mjs +13 -0
  256. package/esm/components/TimePicker/utils/clamp-time/clamp-time.mjs.map +1 -0
  257. package/esm/components/TimePicker/utils/get-parsed-time/get-parsed-time.mjs +35 -0
  258. package/esm/components/TimePicker/utils/get-parsed-time/get-parsed-time.mjs.map +1 -0
  259. package/esm/components/TimePicker/utils/get-time-range/get-time-range.mjs +16 -0
  260. package/esm/components/TimePicker/utils/get-time-range/get-time-range.mjs.map +1 -0
  261. package/esm/components/TimePicker/utils/get-time-string/get-time-string.mjs +49 -0
  262. package/esm/components/TimePicker/utils/get-time-string/get-time-string.mjs.map +1 -0
  263. package/esm/components/TimePicker/utils/is-same-time/is-same-time.mjs +14 -0
  264. package/esm/components/TimePicker/utils/is-same-time/is-same-time.mjs.map +1 -0
  265. package/esm/components/TimePicker/utils/pad-time/pad-time.mjs +7 -0
  266. package/esm/components/TimePicker/utils/pad-time/pad-time.mjs.map +1 -0
  267. package/esm/components/TimePicker/utils/split-time-string/split-time-string.mjs +8 -0
  268. package/esm/components/TimePicker/utils/split-time-string/split-time-string.mjs.map +1 -0
  269. package/esm/components/TimePicker/utils/time-to-seconds/time-to-seconds.mjs +21 -0
  270. package/esm/components/TimePicker/utils/time-to-seconds/time-to-seconds.mjs.map +1 -0
  271. package/esm/components/TimeValue/TimeValue.mjs +16 -0
  272. package/esm/components/TimeValue/TimeValue.mjs.map +1 -0
  273. package/esm/components/TimeValue/get-formatted-time/get-formatted-time.mjs +29 -0
  274. package/esm/components/TimeValue/get-formatted-time/get-formatted-time.mjs.map +1 -0
  275. package/esm/components/WeekdaysRow/WeekdaysRow.mjs.map +1 -1
  276. package/esm/components/WeekdaysRow/get-weekdays-names/get-weekdays-names.mjs +1 -1
  277. package/esm/components/WeekdaysRow/get-weekdays-names/get-weekdays-names.mjs.map +1 -1
  278. package/esm/components/YearLevel/YearLevel.mjs.map +1 -1
  279. package/esm/components/YearLevelGroup/YearLevelGroup.mjs +2 -3
  280. package/esm/components/YearLevelGroup/YearLevelGroup.mjs.map +1 -1
  281. package/esm/components/YearPicker/YearPicker.mjs +3 -10
  282. package/esm/components/YearPicker/YearPicker.mjs.map +1 -1
  283. package/esm/components/YearPickerInput/YearPickerInput.mjs +3 -9
  284. package/esm/components/YearPickerInput/YearPickerInput.mjs.map +1 -1
  285. package/esm/components/YearsList/YearsList.mjs +7 -2
  286. package/esm/components/YearsList/YearsList.mjs.map +1 -1
  287. package/esm/components/YearsList/get-year-in-tab-order/get-year-in-tab-order.mjs +7 -2
  288. package/esm/components/YearsList/get-year-in-tab-order/get-year-in-tab-order.mjs.map +1 -1
  289. package/esm/components/YearsList/get-years-data/get-years-data.mjs +4 -2
  290. package/esm/components/YearsList/get-years-data/get-years-data.mjs.map +1 -1
  291. package/esm/components/YearsList/is-year-disabled/is-year-disabled.mjs +1 -1
  292. package/esm/components/YearsList/is-year-disabled/is-year-disabled.mjs.map +1 -1
  293. package/esm/hooks/use-dates-input/use-dates-input.mjs +3 -4
  294. package/esm/hooks/use-dates-input/use-dates-input.mjs.map +1 -1
  295. package/esm/hooks/use-dates-state/is-in-range/is-in-range.mjs +1 -1
  296. package/esm/hooks/use-dates-state/is-in-range/is-in-range.mjs.map +1 -1
  297. package/esm/hooks/use-dates-state/use-dates-state.mjs +10 -12
  298. package/esm/hooks/use-dates-state/use-dates-state.mjs.map +1 -1
  299. package/esm/hooks/use-uncontrolled-dates/use-uncontrolled-dates.mjs +10 -35
  300. package/esm/hooks/use-uncontrolled-dates/use-uncontrolled-dates.mjs.map +1 -1
  301. package/esm/index.mjs +10 -4
  302. package/esm/index.mjs.map +1 -1
  303. package/esm/utils/assign-time/assign-time.mjs +12 -13
  304. package/esm/utils/assign-time/assign-time.mjs.map +1 -1
  305. package/esm/utils/clamp-date/clamp-date.mjs +19 -0
  306. package/esm/utils/clamp-date/clamp-date.mjs.map +1 -0
  307. package/esm/utils/get-default-clamped-date/get-default-clamped-date.mjs +23 -0
  308. package/esm/utils/get-default-clamped-date/get-default-clamped-date.mjs.map +1 -0
  309. package/esm/utils/get-formatted-date/get-formatted-date.mjs +34 -0
  310. package/esm/utils/get-formatted-date/get-formatted-date.mjs.map +1 -0
  311. package/esm/utils/handle-control-key-down/handle-control-key-down.mjs +156 -0
  312. package/esm/utils/handle-control-key-down/handle-control-key-down.mjs.map +1 -0
  313. package/esm/utils/to-date-string/to-date-string.mjs +12 -0
  314. package/esm/utils/to-date-string/to-date-string.mjs.map +1 -0
  315. package/lib/components/Calendar/Calendar.d.ts +31 -33
  316. package/lib/components/CalendarHeader/CalendarHeader.d.ts +12 -12
  317. package/lib/components/DateInput/DateInput.d.ts +18 -20
  318. package/lib/components/DateInput/date-string-parser/date-string-parser.d.ts +2 -1
  319. package/lib/components/DateInput/is-date-valid/is-date-valid.d.ts +4 -3
  320. package/lib/components/DateInputMask/DateInputMask.d.ts +63 -0
  321. package/lib/components/DateInputMask/use-date-input-mask.d.ts +1 -0
  322. package/lib/components/DatePicker/DatePicker.d.ts +3 -3
  323. package/lib/components/DatePickerInput/DatePickerInput.d.ts +1 -1
  324. package/lib/components/DateTimePicker/DateTimePicker.d.ts +9 -11
  325. package/lib/components/DateTimePicker/get-min-max-time/get-min-max-time.d.ts +12 -0
  326. package/lib/components/DatesProvider/DatesProvider.d.ts +0 -1
  327. package/lib/components/DatesProvider/use-dates-context.d.ts +0 -2
  328. package/lib/components/Day/Day.d.ts +7 -5
  329. package/lib/components/Day/index.d.ts +1 -1
  330. package/lib/components/DecadeLevel/DecadeLevel.d.ts +6 -5
  331. package/lib/components/DecadeLevel/get-decade-range/get-decade-range.d.ts +2 -1
  332. package/lib/components/DecadeLevelGroup/DecadeLevelGroup.d.ts +6 -5
  333. package/lib/components/HiddenDatesInput/HiddenDatesInput.d.ts +2 -1
  334. package/lib/components/Month/Month.d.ts +25 -25
  335. package/lib/components/Month/get-date-in-tab-order/get-date-in-tab-order.d.ts +12 -1
  336. package/lib/components/Month/get-end-of-week/get-end-of-week.d.ts +2 -2
  337. package/lib/components/Month/get-month-days/get-month-days.d.ts +3 -3
  338. package/lib/components/Month/get-start-of-week/get-start-of-week.d.ts +2 -2
  339. package/lib/components/Month/get-week-number/get-week-number.d.ts +2 -1
  340. package/lib/components/Month/is-after-min-date/is-after-min-date.d.ts +2 -1
  341. package/lib/components/Month/is-before-max-date/is-before-max-date.d.ts +2 -1
  342. package/lib/components/MonthLevel/MonthLevel.d.ts +4 -3
  343. package/lib/components/MonthLevelGroup/MonthLevelGroup.d.ts +7 -6
  344. package/lib/components/MonthPicker/MonthPicker.d.ts +8 -8
  345. package/lib/components/MonthPickerInput/MonthPickerInput.d.ts +1 -1
  346. package/lib/components/MonthsList/MonthsList.d.ts +8 -8
  347. package/lib/components/MonthsList/get-month-in-tab-order/get-month-in-tab-order.d.ts +9 -1
  348. package/lib/components/MonthsList/get-months-data/get-months-data.d.ts +2 -1
  349. package/lib/components/MonthsList/is-month-disabled/is-month-disabled.d.ts +8 -1
  350. package/lib/components/PickerControl/PickerControl.d.ts +5 -5
  351. package/lib/components/PickerInputBase/PickerInputBase.d.ts +11 -8
  352. package/lib/components/SpinInput/SpinInput.d.ts +12 -0
  353. package/lib/components/SpinInput/index.d.ts +1 -0
  354. package/lib/components/TimeGrid/TimeGrid.context.d.ts +10 -0
  355. package/lib/components/TimeGrid/TimeGrid.d.ts +52 -0
  356. package/lib/components/TimeGrid/TimeGridControl.d.ts +10 -0
  357. package/lib/components/TimeGrid/compare-time.d.ts +2 -0
  358. package/lib/components/TimeGrid/index.d.ts +3 -0
  359. package/lib/components/TimeInput/TimeInput.d.ts +3 -3
  360. package/lib/components/TimePicker/AmPmInput/AmPmInput.d.ts +13 -0
  361. package/lib/components/TimePicker/TimeControlsList/AmPmControlsList.d.ts +13 -0
  362. package/lib/components/TimePicker/TimeControlsList/TimeControl.d.ts +10 -0
  363. package/lib/components/TimePicker/TimeControlsList/TimeControlsList.d.ts +12 -0
  364. package/lib/components/TimePicker/TimePicker.context.d.ts +12 -0
  365. package/lib/components/TimePicker/TimePicker.d.ts +98 -0
  366. package/lib/components/TimePicker/TimePicker.types.d.ts +22 -0
  367. package/lib/components/TimePicker/TimePresets/TimePresetControl.d.ts +14 -0
  368. package/lib/components/TimePicker/TimePresets/TimePresetGroup.d.ts +14 -0
  369. package/lib/components/TimePicker/TimePresets/TimePresets.d.ts +14 -0
  370. package/lib/components/TimePicker/index.d.ts +4 -0
  371. package/lib/components/TimePicker/use-time-picker.d.ts +40 -0
  372. package/lib/components/TimePicker/utils/clamp-time/clamp-time.d.ts +6 -0
  373. package/lib/components/TimePicker/utils/get-parsed-time/get-parsed-time.d.ts +35 -0
  374. package/lib/components/TimePicker/utils/get-time-range/get-time-range.d.ts +7 -0
  375. package/lib/components/TimePicker/utils/get-time-string/get-time-string.d.ts +15 -0
  376. package/lib/components/TimePicker/utils/is-same-time/is-same-time.d.ts +7 -0
  377. package/lib/components/TimePicker/utils/pad-time/pad-time.d.ts +1 -0
  378. package/lib/components/TimePicker/utils/split-time-string/split-time-string.d.ts +5 -0
  379. package/lib/components/TimePicker/utils/time-to-seconds/time-to-seconds.d.ts +7 -0
  380. package/lib/components/TimeValue/TimeValue.d.ts +15 -0
  381. package/lib/components/TimeValue/get-formatted-time/get-formatted-time.d.ts +8 -0
  382. package/lib/components/TimeValue/index.d.ts +2 -0
  383. package/lib/components/WeekdaysRow/WeekdaysRow.d.ts +7 -7
  384. package/lib/components/WeekdaysRow/get-weekdays-names/get-weekdays-names.d.ts +2 -2
  385. package/lib/components/YearLevel/YearLevel.d.ts +6 -5
  386. package/lib/components/YearLevelGroup/YearLevelGroup.d.ts +6 -5
  387. package/lib/components/YearPicker/YearPicker.d.ts +2 -2
  388. package/lib/components/YearPickerInput/YearPickerInput.d.ts +1 -1
  389. package/lib/components/YearsList/YearsList.d.ts +7 -7
  390. package/lib/components/YearsList/get-year-in-tab-order/get-year-in-tab-order.d.ts +9 -1
  391. package/lib/components/YearsList/get-years-data/get-years-data.d.ts +2 -1
  392. package/lib/components/YearsList/is-year-disabled/is-year-disabled.d.ts +8 -1
  393. package/lib/hooks/use-dates-state/is-in-range/is-in-range.d.ts +2 -1
  394. package/lib/hooks/use-dates-state/use-dates-state.d.ts +5 -6
  395. package/lib/hooks/use-uncontrolled-dates/use-uncontrolled-dates.d.ts +5 -4
  396. package/lib/index.d.mts +3 -0
  397. package/lib/index.d.ts +3 -0
  398. package/lib/types/ControlsGroupSettings.d.ts +7 -7
  399. package/lib/types/DatePickerValue.d.ts +4 -3
  400. package/lib/types/GeneralTypes.d.ts +4 -1
  401. package/lib/types/PickerBaseProps.d.ts +2 -1
  402. package/lib/utils/assign-time/assign-time.d.ts +3 -1
  403. package/lib/utils/clamp-date/clamp-date.d.ts +2 -0
  404. package/lib/utils/get-default-clamped-date/get-default-clamped-date.d.ts +7 -0
  405. package/lib/utils/get-formatted-date/get-formatted-date.d.ts +15 -0
  406. package/lib/utils/handle-control-key-down/handle-control-key-down.d.ts +11 -0
  407. package/lib/utils/index.d.ts +6 -5
  408. package/lib/utils/to-date-string/to-date-string.d.ts +4 -0
  409. package/package.json +4 -4
  410. package/styles.css +241 -4
  411. package/styles.layer.css +241 -4
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TimePresetGroup.mjs","sources":["../../../../src/components/TimePicker/TimePresets/TimePresetGroup.tsx"],"sourcesContent":["import { SimpleGrid } from '@mantine/core';\nimport { useTimePickerContext } from '../TimePicker.context';\nimport { TimePickerAmPmLabels, TimePickerFormat, TimePickerPresetGroup } from '../TimePicker.types';\nimport { isSameTime } from '../utils/is-same-time/is-same-time';\nimport { TimePresetControl } from './TimePresetControl';\n\ninterface TimePresetGroupProps {\n value: string;\n data: TimePickerPresetGroup;\n onChange: (value: string) => void;\n format: TimePickerFormat;\n amPmLabels: TimePickerAmPmLabels;\n withSeconds: boolean;\n}\n\nexport function TimePresetGroup({\n value,\n data,\n onChange,\n format,\n amPmLabels,\n withSeconds,\n}: TimePresetGroupProps) {\n const ctx = useTimePickerContext();\n\n const items = data.values.map((item) => (\n <TimePresetControl\n key={item}\n value={item}\n format={format}\n amPmLabels={amPmLabels}\n withSeconds={withSeconds}\n active={isSameTime({ time: item, compare: value, withSeconds })}\n onChange={onChange}\n />\n ));\n\n return (\n <div {...ctx.getStyles('presetsGroup')}>\n <div {...ctx.getStyles('presetsGroupLabel')}>{data.label}</div>\n <SimpleGrid cols={withSeconds ? 2 : 3} spacing={4}>\n {items}\n </SimpleGrid>\n </div>\n );\n}\n\nTimePresetGroup.displayName = '@mantine/dates/TimePresetGroup';\n"],"names":[],"mappings":"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"}
@@ -0,0 +1,71 @@
1
+ 'use client';
2
+ import { jsx } from 'react/jsx-runtime';
3
+ import { ScrollArea, SimpleGrid } from '@mantine/core';
4
+ import { useTimePickerContext } from '../TimePicker.context.mjs';
5
+ import { isSameTime } from '../utils/is-same-time/is-same-time.mjs';
6
+ import { TimePresetControl } from './TimePresetControl.mjs';
7
+ import { TimePresetGroup } from './TimePresetGroup.mjs';
8
+
9
+ function TimePresets({
10
+ presets,
11
+ format,
12
+ amPmLabels,
13
+ withSeconds,
14
+ value,
15
+ onChange
16
+ }) {
17
+ const ctx = useTimePickerContext();
18
+ if (presets.length === 0) {
19
+ return null;
20
+ }
21
+ if (typeof presets[0] === "string") {
22
+ const items = presets.map((item) => /* @__PURE__ */ jsx(
23
+ TimePresetControl,
24
+ {
25
+ value: item,
26
+ format,
27
+ amPmLabels,
28
+ withSeconds,
29
+ active: isSameTime({ time: item, compare: value, withSeconds }),
30
+ onChange
31
+ },
32
+ item
33
+ ));
34
+ return /* @__PURE__ */ jsx(
35
+ ScrollArea.Autosize,
36
+ {
37
+ mah: ctx.maxDropdownContentHeight,
38
+ type: "never",
39
+ ...ctx.getStyles("scrollarea"),
40
+ ...ctx.scrollAreaProps,
41
+ children: /* @__PURE__ */ jsx("div", { ...ctx.getStyles("presetsRoot"), children: /* @__PURE__ */ jsx(SimpleGrid, { cols: withSeconds ? 2 : 3, spacing: 4, children: items }) })
42
+ }
43
+ );
44
+ }
45
+ const groups = presets.map((group, index) => /* @__PURE__ */ jsx(
46
+ TimePresetGroup,
47
+ {
48
+ data: group,
49
+ value,
50
+ format,
51
+ amPmLabels,
52
+ withSeconds,
53
+ onChange
54
+ },
55
+ index
56
+ ));
57
+ return /* @__PURE__ */ jsx(
58
+ ScrollArea.Autosize,
59
+ {
60
+ mah: ctx.maxDropdownContentHeight,
61
+ type: "never",
62
+ ...ctx.getStyles("scrollarea"),
63
+ ...ctx.scrollAreaProps,
64
+ children: /* @__PURE__ */ jsx("div", { ...ctx.getStyles("presetsRoot"), children: groups })
65
+ }
66
+ );
67
+ }
68
+ TimePresets.displayName = "@mantine/dates/TimePresets";
69
+
70
+ export { TimePresets };
71
+ //# sourceMappingURL=TimePresets.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TimePresets.mjs","sources":["../../../../src/components/TimePicker/TimePresets/TimePresets.tsx"],"sourcesContent":["import { ScrollArea, SimpleGrid } from '@mantine/core';\nimport { useTimePickerContext } from '../TimePicker.context';\nimport {\n TimePickerAmPmLabels,\n TimePickerFormat,\n TimePickerPresetGroup,\n TimePickerPresets,\n} from '../TimePicker.types';\nimport { isSameTime } from '../utils/is-same-time/is-same-time';\nimport { TimePresetControl } from './TimePresetControl';\nimport { TimePresetGroup } from './TimePresetGroup';\n\ninterface TimePresetsProps {\n presets: TimePickerPresets;\n format: TimePickerFormat;\n amPmLabels: TimePickerAmPmLabels;\n value: string;\n withSeconds: boolean;\n onChange: (value: string) => void;\n}\n\nexport function TimePresets({\n presets,\n format,\n amPmLabels,\n withSeconds,\n value,\n onChange,\n}: TimePresetsProps) {\n const ctx = useTimePickerContext();\n\n if (presets.length === 0) {\n return null;\n }\n\n if (typeof presets[0] === 'string') {\n const items = (presets as string[]).map((item) => (\n <TimePresetControl\n key={item}\n value={item}\n format={format}\n amPmLabels={amPmLabels}\n withSeconds={withSeconds}\n active={isSameTime({ time: item, compare: value, withSeconds })}\n onChange={onChange}\n />\n ));\n\n return (\n <ScrollArea.Autosize\n mah={ctx.maxDropdownContentHeight}\n type=\"never\"\n {...ctx.getStyles('scrollarea')}\n {...ctx.scrollAreaProps}\n >\n <div {...ctx.getStyles('presetsRoot')}>\n <SimpleGrid cols={withSeconds ? 2 : 3} spacing={4}>\n {items}\n </SimpleGrid>\n </div>\n </ScrollArea.Autosize>\n );\n }\n\n const groups = (presets as TimePickerPresetGroup[]).map((group, index) => (\n <TimePresetGroup\n key={index}\n data={group}\n value={value}\n format={format}\n amPmLabels={amPmLabels}\n withSeconds={withSeconds}\n onChange={onChange}\n />\n ));\n\n return (\n <ScrollArea.Autosize\n mah={ctx.maxDropdownContentHeight}\n type=\"never\"\n {...ctx.getStyles('scrollarea')}\n {...ctx.scrollAreaProps}\n >\n <div {...ctx.getStyles('presetsRoot')}>{groups}</div>\n </ScrollArea.Autosize>\n );\n}\n\nTimePresets.displayName = '@mantine/dates/TimePresets';\n"],"names":[],"mappings":";;;;;;;;AAqBO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAS,WAAY,CAAA,CAAA;AAAA,CAAA,CAC1B,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACF,CAAqB,CAAA,CAAA,CAAA;AACnB,CAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAqB,CAAA,CAAA,CAAA;AAEjC,CAAA,CAAI,IAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,WAAW,CAAG,CAAA,CAAA,CAAA;AACxB,CAAA,CAAA,CAAA,CAAO,OAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA;AAGT,CAAA,CAAA,CAAA,CAAA,CAAA,CAAI,OAAO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,QAAU,CAAA,CAAA,CAAA;AAClC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAS,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAqB,GAAI,CAAA,CAAC,CACvC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAEC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CACP,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,WAAW,EAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,MAAM,OAAS,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,GAAa,CAAA,CAAA;AAAA,CAC9D,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CANK,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAQR,CAAA,CAAA;AAED,CAAA,CAAA,CAAA,CACE,uBAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAW,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAX,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CACC,KAAK,CAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CACT,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAK,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CACJ,GAAG,CAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAU,YAAY,CAAA,CAAA;AAAA,CAC7B,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAG,CAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAER,8BAAC,CAAA,CAAA,CAAA,CAAA,CAAK,EAAA,CAAA,CAAA,CAAA,CAAA,CAAG,CAAI,CAAA,CAAA,CAAA,SAAA,CAAU,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAa,CAClC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,kBAAA,CAAA,CAAA,CAAA,CAAC,CAAW,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,YAAc,CAAA,CAAA,CAAI,GAAA,CAAA,CAAA,CAAG,CAAS,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAC7C,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,UACH,CACF,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CACF,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA;AAIJ,CAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAU,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAoC,CAAA,CAAA,CAAI,CAAA,CAAC,OAAO,CAC9D,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAEC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CACN,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CANK,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAQR,CAAA,CAAA;AAED,CAAA,CACE,uBAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAW,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAX,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CACC,KAAK,CAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CACT,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAK,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CACJ,GAAG,CAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAU,YAAY,CAAA,CAAA;AAAA,CAC7B,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAG,CAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAER,8BAAC,CAAK,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAG,CAAA,CAAA,CAAA,CAAA,EAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAU,CAAA,CAAa,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,GAAI,CAAO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,MAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CACjD,CAAA,CAAA,CAAA;AAEJ,CAAA;AAEA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAY,CAAc,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;;"}
@@ -0,0 +1,162 @@
1
+ 'use client';
2
+ import { useRef, useState, useEffect } from 'react';
3
+ import { clampTime } from './utils/clamp-time/clamp-time.mjs';
4
+ import { getParsedTime, convertTimeTo12HourFormat } from './utils/get-parsed-time/get-parsed-time.mjs';
5
+ import { getTimeString } from './utils/get-time-string/get-time-string.mjs';
6
+
7
+ function useTimePicker({
8
+ value,
9
+ defaultValue,
10
+ onChange,
11
+ format,
12
+ amPmLabels,
13
+ withSeconds = false,
14
+ min,
15
+ max,
16
+ clearable,
17
+ readOnly,
18
+ disabled,
19
+ pasteSplit
20
+ }) {
21
+ const parsedTime = getParsedTime({
22
+ time: value || defaultValue || "",
23
+ amPmLabels,
24
+ format
25
+ });
26
+ const acceptChange = useRef(true);
27
+ const [hours, setHours] = useState(parsedTime.hours);
28
+ const [minutes, setMinutes] = useState(parsedTime.minutes);
29
+ const [seconds, setSeconds] = useState(parsedTime.seconds);
30
+ const [amPm, setAmPm] = useState(parsedTime.amPm);
31
+ const isClearable = clearable && !readOnly && !disabled && (hours !== null || minutes !== null || seconds !== null || amPm !== null);
32
+ const hoursRef = useRef(null);
33
+ const minutesRef = useRef(null);
34
+ const secondsRef = useRef(null);
35
+ const amPmRef = useRef(null);
36
+ const focus = (field) => {
37
+ if (field === "hours") {
38
+ hoursRef.current?.focus();
39
+ }
40
+ if (field === "minutes") {
41
+ minutesRef.current?.focus();
42
+ }
43
+ if (field === "seconds") {
44
+ secondsRef.current?.focus();
45
+ }
46
+ if (field === "amPm") {
47
+ amPmRef.current?.focus();
48
+ }
49
+ };
50
+ const handleTimeChange = (field, val) => {
51
+ const computedValue = { hours, minutes, seconds, amPm, [field]: val };
52
+ const timeString = getTimeString({ ...computedValue, format, withSeconds, amPmLabels });
53
+ if (timeString.valid) {
54
+ acceptChange.current = false;
55
+ const clamped = clampTime(timeString.value, min || "00:00:00", max || "23:59:59");
56
+ const converted = format === "12h" ? convertTimeTo12HourFormat({
57
+ hours: clamped.hours,
58
+ minutes: clamped.minutes,
59
+ seconds: clamped.seconds,
60
+ amPmLabels
61
+ }) : clamped;
62
+ setHours(converted.hours);
63
+ setMinutes(converted.minutes);
64
+ setSeconds(converted.seconds);
65
+ onChange?.(clamped.timeString);
66
+ } else {
67
+ acceptChange.current = false;
68
+ if (typeof value === "string" && value !== "") {
69
+ onChange?.("");
70
+ }
71
+ }
72
+ };
73
+ const setTimeString = (timeString) => {
74
+ acceptChange.current = false;
75
+ const parsedTime2 = getParsedTime({ time: timeString, amPmLabels, format });
76
+ setHours(parsedTime2.hours);
77
+ setMinutes(parsedTime2.minutes);
78
+ setSeconds(parsedTime2.seconds);
79
+ setAmPm(parsedTime2.amPm);
80
+ onChange?.(timeString);
81
+ };
82
+ const onHoursChange = (value2) => {
83
+ setHours(value2);
84
+ handleTimeChange("hours", value2);
85
+ focus("hours");
86
+ };
87
+ const onMinutesChange = (value2) => {
88
+ setMinutes(value2);
89
+ handleTimeChange("minutes", value2);
90
+ focus("minutes");
91
+ };
92
+ const onSecondsChange = (value2) => {
93
+ setSeconds(value2);
94
+ handleTimeChange("seconds", value2);
95
+ focus("seconds");
96
+ };
97
+ const onAmPmChange = (value2) => {
98
+ setAmPm(value2);
99
+ handleTimeChange("amPm", value2);
100
+ focus("amPm");
101
+ };
102
+ const clear = () => {
103
+ acceptChange.current = false;
104
+ setHours(null);
105
+ setMinutes(null);
106
+ setSeconds(null);
107
+ setAmPm(null);
108
+ onChange?.("");
109
+ focus("hours");
110
+ };
111
+ const onPaste = (event) => {
112
+ event.preventDefault();
113
+ const pastedValue = event.clipboardData.getData("text");
114
+ const parsedTime2 = (pasteSplit || getParsedTime)({ time: pastedValue, format, amPmLabels });
115
+ const timeString = getTimeString({ ...parsedTime2, format, withSeconds, amPmLabels });
116
+ if (timeString.valid) {
117
+ acceptChange.current = false;
118
+ const clamped = clampTime(timeString.value, min || "00:00:00", max || "23:59:59");
119
+ onChange?.(clamped.timeString);
120
+ setHours(parsedTime2.hours);
121
+ setMinutes(parsedTime2.minutes);
122
+ setSeconds(parsedTime2.seconds);
123
+ setAmPm(parsedTime2.amPm);
124
+ }
125
+ };
126
+ const hiddenInputValue = getTimeString({
127
+ hours,
128
+ minutes,
129
+ seconds,
130
+ format,
131
+ withSeconds,
132
+ amPm,
133
+ amPmLabels
134
+ });
135
+ useEffect(() => {
136
+ if (acceptChange.current && typeof value === "string") {
137
+ const parsedTime2 = getParsedTime({ time: value || "", amPmLabels, format });
138
+ setHours(parsedTime2.hours);
139
+ setMinutes(parsedTime2.minutes);
140
+ setSeconds(parsedTime2.seconds);
141
+ setAmPm(parsedTime2.amPm);
142
+ }
143
+ acceptChange.current = true;
144
+ }, [value]);
145
+ return {
146
+ refs: { hours: hoursRef, minutes: minutesRef, seconds: secondsRef, amPm: amPmRef },
147
+ values: { hours, minutes, seconds, amPm },
148
+ setHours: onHoursChange,
149
+ setMinutes: onMinutesChange,
150
+ setSeconds: onSecondsChange,
151
+ setAmPm: onAmPmChange,
152
+ focus,
153
+ clear,
154
+ onPaste,
155
+ setTimeString,
156
+ isClearable,
157
+ hiddenInputValue: hiddenInputValue.value
158
+ };
159
+ }
160
+
161
+ export { useTimePicker };
162
+ //# sourceMappingURL=use-time-picker.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-time-picker.mjs","sources":["../../../src/components/TimePicker/use-time-picker.ts"],"sourcesContent":["import { useEffect, useRef, useState } from 'react';\nimport type {\n TimePickerAmPmLabels,\n TimePickerFormat,\n TimePickerPasteSplit,\n} from './TimePicker.types';\nimport { clampTime } from './utils/clamp-time/clamp-time';\nimport { convertTimeTo12HourFormat, getParsedTime } from './utils/get-parsed-time/get-parsed-time';\nimport { getTimeString } from './utils/get-time-string/get-time-string';\n\ninterface UseTimePickerInput {\n value: string | undefined;\n defaultValue: string | undefined;\n onChange: ((value: string) => void) | undefined;\n format: TimePickerFormat;\n amPmLabels: TimePickerAmPmLabels;\n withSeconds: boolean | undefined;\n min: string | undefined;\n max: string | undefined;\n readOnly: boolean | undefined;\n disabled: boolean | undefined;\n clearable: boolean | undefined;\n pasteSplit: TimePickerPasteSplit | undefined;\n}\n\nexport function useTimePicker({\n value,\n defaultValue,\n onChange,\n format,\n amPmLabels,\n withSeconds = false,\n min,\n max,\n clearable,\n readOnly,\n disabled,\n pasteSplit,\n}: UseTimePickerInput) {\n const parsedTime = getParsedTime({\n time: value || defaultValue || '',\n amPmLabels,\n format,\n });\n\n const acceptChange = useRef(true);\n\n const [hours, setHours] = useState<number | null>(parsedTime.hours);\n const [minutes, setMinutes] = useState<number | null>(parsedTime.minutes);\n const [seconds, setSeconds] = useState<number | null>(parsedTime.seconds);\n const [amPm, setAmPm] = useState<string | null>(parsedTime.amPm);\n\n const isClearable =\n clearable &&\n !readOnly &&\n !disabled &&\n (hours !== null || minutes !== null || seconds !== null || amPm !== null);\n\n const hoursRef = useRef<HTMLInputElement>(null);\n const minutesRef = useRef<HTMLInputElement>(null);\n const secondsRef = useRef<HTMLInputElement>(null);\n const amPmRef = useRef<HTMLSelectElement>(null);\n\n const focus = (field: 'hours' | 'minutes' | 'seconds' | 'amPm') => {\n if (field === 'hours') {\n hoursRef.current?.focus();\n }\n\n if (field === 'minutes') {\n minutesRef.current?.focus();\n }\n\n if (field === 'seconds') {\n secondsRef.current?.focus();\n }\n\n if (field === 'amPm') {\n amPmRef.current?.focus();\n }\n };\n\n const handleTimeChange = (field: 'hours' | 'minutes' | 'seconds' | 'amPm', val: any) => {\n const computedValue = { hours, minutes, seconds, amPm, [field]: val };\n\n const timeString = getTimeString({ ...computedValue, format, withSeconds, amPmLabels });\n\n if (timeString.valid) {\n acceptChange.current = false;\n const clamped = clampTime(timeString.value, min || '00:00:00', max || '23:59:59');\n const converted =\n format === '12h'\n ? convertTimeTo12HourFormat({\n hours: clamped.hours,\n minutes: clamped.minutes,\n seconds: clamped.seconds,\n amPmLabels,\n })\n : clamped;\n setHours(converted.hours);\n setMinutes(converted.minutes);\n setSeconds(converted.seconds);\n onChange?.(clamped.timeString);\n } else {\n acceptChange.current = false;\n if (typeof value === 'string' && value !== '') {\n onChange?.('');\n }\n }\n };\n\n const setTimeString = (timeString: string) => {\n acceptChange.current = false;\n\n const parsedTime = getParsedTime({ time: timeString, amPmLabels, format });\n setHours(parsedTime.hours);\n setMinutes(parsedTime.minutes);\n setSeconds(parsedTime.seconds);\n setAmPm(parsedTime.amPm);\n\n onChange?.(timeString);\n };\n\n const onHoursChange = (value: number | null) => {\n setHours(value);\n handleTimeChange('hours', value);\n focus('hours');\n };\n\n const onMinutesChange = (value: number | null) => {\n setMinutes(value);\n handleTimeChange('minutes', value);\n focus('minutes');\n };\n\n const onSecondsChange = (value: number | null) => {\n setSeconds(value);\n handleTimeChange('seconds', value);\n focus('seconds');\n };\n\n const onAmPmChange = (value: string | null) => {\n setAmPm(value);\n handleTimeChange('amPm', value);\n focus('amPm');\n };\n\n const clear = () => {\n acceptChange.current = false;\n setHours(null);\n setMinutes(null);\n setSeconds(null);\n setAmPm(null);\n onChange?.('');\n focus('hours');\n };\n\n const onPaste = (event: React.ClipboardEvent<any>) => {\n event.preventDefault();\n const pastedValue = event.clipboardData.getData('text');\n const parsedTime = (pasteSplit || getParsedTime)({ time: pastedValue, format, amPmLabels });\n const timeString = getTimeString({ ...parsedTime, format, withSeconds, amPmLabels });\n if (timeString.valid) {\n acceptChange.current = false;\n const clamped = clampTime(timeString.value, min || '00:00:00', max || '23:59:59');\n onChange?.(clamped.timeString);\n setHours(parsedTime.hours);\n setMinutes(parsedTime.minutes);\n setSeconds(parsedTime.seconds);\n setAmPm(parsedTime.amPm);\n }\n };\n\n const hiddenInputValue = getTimeString({\n hours,\n minutes,\n seconds,\n format,\n withSeconds,\n amPm,\n amPmLabels: amPmLabels!,\n });\n\n useEffect(() => {\n if (acceptChange.current && typeof value === 'string') {\n const parsedTime = getParsedTime({ time: value || '', amPmLabels, format });\n setHours(parsedTime.hours);\n setMinutes(parsedTime.minutes);\n setSeconds(parsedTime.seconds);\n setAmPm(parsedTime.amPm);\n }\n acceptChange.current = true;\n }, [value]);\n\n return {\n refs: { hours: hoursRef, minutes: minutesRef, seconds: secondsRef, amPm: amPmRef },\n values: { hours, minutes, seconds, amPm },\n setHours: onHoursChange,\n setMinutes: onMinutesChange,\n setSeconds: onSecondsChange,\n setAmPm: onAmPmChange,\n focus,\n clear,\n onPaste,\n setTimeString,\n isClearable,\n hiddenInputValue: hiddenInputValue.value,\n };\n}\n"],"names":["parsedTime","value"],"mappings":"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"}
@@ -0,0 +1,13 @@
1
+ 'use client';
2
+ import { timeToSeconds, secondsToTime } from '../time-to-seconds/time-to-seconds.mjs';
3
+
4
+ function clampTime(time, min, max) {
5
+ const timeInSeconds = timeToSeconds(time);
6
+ const minInSeconds = timeToSeconds(min);
7
+ const maxInSeconds = timeToSeconds(max);
8
+ const clampedSeconds = Math.max(minInSeconds, Math.min(timeInSeconds, maxInSeconds));
9
+ return secondsToTime(clampedSeconds);
10
+ }
11
+
12
+ export { clampTime };
13
+ //# sourceMappingURL=clamp-time.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"clamp-time.mjs","sources":["../../../../../src/components/TimePicker/utils/clamp-time/clamp-time.ts"],"sourcesContent":["import { secondsToTime, timeToSeconds } from '../time-to-seconds/time-to-seconds';\n\nexport function clampTime(time: string, min: string, max: string) {\n const timeInSeconds = timeToSeconds(time);\n const minInSeconds = timeToSeconds(min);\n const maxInSeconds = timeToSeconds(max);\n\n const clampedSeconds = Math.max(minInSeconds, Math.min(timeInSeconds, maxInSeconds));\n return secondsToTime(clampedSeconds);\n}\n"],"names":[],"mappings":";;;AAEgB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,SAAA,CAAU,CAAA,CAAA,CAAA,CAAc,EAAA,CAAA,CAAA,CAAA,CAAA,CAAa,GAAa,CAAA,CAAA,CAAA;AAChE,CAAA,CAAM,MAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAgB,cAAc,IAAI,CAAA,CAAA;AACxC,CAAA,CAAM,MAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAe,cAAc,GAAG,CAAA,CAAA;AACtC,CAAA,CAAM,MAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAe,cAAc,GAAG,CAAA,CAAA;AAEtC,CAAA,CAAM,MAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAiB,KAAK,GAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAc,CAAA,CAAA,CAAA,CAAA,EAAK,CAAI,CAAA,CAAA,CAAA,aAAA,CAAe,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAY,CAAC,CAAA,CAAA;AACnF,CAAA,CAAA,CAAO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAc,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAc,CAAA,CAAA;AACrC,CAAA;;"}
@@ -0,0 +1,35 @@
1
+ 'use client';
2
+ import { splitTimeString } from '../split-time-string/split-time-string.mjs';
3
+
4
+ function convertTimeTo12HourFormat({
5
+ hours,
6
+ minutes,
7
+ seconds,
8
+ amPmLabels
9
+ }) {
10
+ if (hours === null) {
11
+ return { hours: null, minutes: null, seconds: null, amPm: null };
12
+ }
13
+ const amPm = hours >= 12 ? amPmLabels.pm : amPmLabels.am;
14
+ const hour12 = hours % 12 === 0 ? 12 : hours % 12;
15
+ return {
16
+ hours: hour12,
17
+ minutes: typeof minutes === "number" ? minutes : null,
18
+ seconds: typeof seconds === "number" ? seconds : null,
19
+ amPm
20
+ };
21
+ }
22
+ function getParsedTime({ time, format, amPmLabels }) {
23
+ if (time === "") {
24
+ return { hours: null, minutes: null, seconds: null, amPm: null };
25
+ }
26
+ const { hours, minutes, seconds } = splitTimeString(time);
27
+ const parsed = { hours, minutes, seconds };
28
+ if (format === "12h") {
29
+ return convertTimeTo12HourFormat({ ...parsed, amPmLabels });
30
+ }
31
+ return { ...parsed, amPm: null };
32
+ }
33
+
34
+ export { convertTimeTo12HourFormat, getParsedTime };
35
+ //# sourceMappingURL=get-parsed-time.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-parsed-time.mjs","sources":["../../../../../src/components/TimePicker/utils/get-parsed-time/get-parsed-time.ts"],"sourcesContent":["import { TimePickerAmPmLabels, TimePickerFormat } from '../../TimePicker.types';\nimport { splitTimeString } from '../split-time-string/split-time-string';\n\ninterface GetParsedTimeInput {\n time: string;\n format: TimePickerFormat;\n amPmLabels: TimePickerAmPmLabels;\n}\n\ninterface ConvertTimeTo12HourFormatInput {\n hours: number | null;\n minutes: number | null;\n seconds: number | null;\n amPmLabels: TimePickerAmPmLabels;\n}\n\nexport function convertTimeTo12HourFormat({\n hours,\n minutes,\n seconds,\n amPmLabels,\n}: ConvertTimeTo12HourFormatInput) {\n if (hours === null) {\n return { hours: null, minutes: null, seconds: null, amPm: null };\n }\n\n const amPm = hours >= 12 ? amPmLabels.pm : amPmLabels.am;\n const hour12 = hours % 12 === 0 ? 12 : hours % 12;\n\n return {\n hours: hour12,\n minutes: typeof minutes === 'number' ? minutes : null,\n seconds: typeof seconds === 'number' ? seconds : null,\n amPm,\n };\n}\n\nexport function getParsedTime({ time, format, amPmLabels }: GetParsedTimeInput) {\n if (time === '') {\n return { hours: null, minutes: null, seconds: null, amPm: null };\n }\n\n const { hours, minutes, seconds } = splitTimeString(time);\n\n const parsed = { hours, minutes, seconds };\n\n if (format === '12h') {\n return convertTimeTo12HourFormat({ ...parsed, amPmLabels });\n }\n\n return { ...parsed, amPm: null };\n}\n"],"names":[],"mappings":"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"}
@@ -0,0 +1,16 @@
1
+ 'use client';
2
+ import { timeToSeconds, secondsToTime } from '../time-to-seconds/time-to-seconds.mjs';
3
+
4
+ function getTimeRange({ startTime, endTime, interval }) {
5
+ const timeRange = [];
6
+ const startInSeconds = timeToSeconds(startTime);
7
+ const endInSeconds = timeToSeconds(endTime);
8
+ const intervalInSeconds = timeToSeconds(interval);
9
+ for (let current = startInSeconds; current <= endInSeconds; current += intervalInSeconds) {
10
+ timeRange.push(secondsToTime(current).timeString);
11
+ }
12
+ return timeRange;
13
+ }
14
+
15
+ export { getTimeRange };
16
+ //# sourceMappingURL=get-time-range.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-time-range.mjs","sources":["../../../../../src/components/TimePicker/utils/get-time-range/get-time-range.ts"],"sourcesContent":["import { secondsToTime, timeToSeconds } from '../time-to-seconds/time-to-seconds';\n\ninterface GetTimeRangeInput {\n startTime: string;\n endTime: string;\n interval: string;\n}\n\nexport function getTimeRange({ startTime, endTime, interval }: GetTimeRangeInput): string[] {\n const timeRange: string[] = [];\n const startInSeconds = timeToSeconds(startTime);\n const endInSeconds = timeToSeconds(endTime);\n const intervalInSeconds = timeToSeconds(interval);\n\n for (let current = startInSeconds; current <= endInSeconds; current += intervalInSeconds) {\n timeRange.push(secondsToTime(current).timeString);\n }\n\n return timeRange;\n}\n"],"names":[],"mappings":";;;AAQO,CAAS,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAa,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAW,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAS,UAAyC,CAAA,CAAA,CAAA;AAC1F,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,YAAsB,CAAC,CAAA,CAAA;AAC7B,CAAA,CAAM,MAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAiB,cAAc,SAAS,CAAA,CAAA;AAC9C,CAAA,CAAM,MAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAe,cAAc,OAAO,CAAA,CAAA;AAC1C,CAAA,CAAM,MAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAoB,cAAc,QAAQ,CAAA,CAAA;AAEhD,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAS,CAAU,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAgB,CAAW,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAc,WAAW,iBAAmB,CAAA,CAAA,CAAA;AACxF,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAU,CAAA,CAAA,CAAA,CAAK,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAc,CAAO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAU,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA;AAGlD,CAAA,CAAO,OAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACT,CAAA;;"}
@@ -0,0 +1,49 @@
1
+ 'use client';
2
+ import { padTime } from '../pad-time/pad-time.mjs';
3
+
4
+ function convertTo24HourFormat({
5
+ hours,
6
+ minutes,
7
+ seconds,
8
+ amPm,
9
+ amPmLabels,
10
+ withSeconds
11
+ }) {
12
+ let _hours = hours;
13
+ if (amPm === amPmLabels.pm && hours !== 12) {
14
+ _hours += 12;
15
+ } else if (amPm === amPmLabels.am && hours === 12) {
16
+ _hours = 0;
17
+ }
18
+ return `${padTime(_hours)}:${padTime(minutes)}${withSeconds ? `:${padTime(seconds || 0)}` : ""}`;
19
+ }
20
+ function getTimeString({
21
+ hours,
22
+ minutes,
23
+ seconds,
24
+ format,
25
+ withSeconds,
26
+ amPm,
27
+ amPmLabels
28
+ }) {
29
+ if (hours === null || minutes === null) {
30
+ return { valid: false, value: "" };
31
+ }
32
+ if (withSeconds && seconds === null) {
33
+ return { valid: false, value: "" };
34
+ }
35
+ if (format === "24h") {
36
+ const value = `${padTime(hours)}:${padTime(minutes)}${withSeconds ? `:${padTime(seconds)}` : ""}`;
37
+ return { valid: true, value };
38
+ }
39
+ if (amPm === null) {
40
+ return { valid: false, value: "" };
41
+ }
42
+ return {
43
+ valid: true,
44
+ value: convertTo24HourFormat({ hours, minutes, seconds, amPm, amPmLabels, withSeconds })
45
+ };
46
+ }
47
+
48
+ export { getTimeString };
49
+ //# sourceMappingURL=get-time-string.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-time-string.mjs","sources":["../../../../../src/components/TimePicker/utils/get-time-string/get-time-string.ts"],"sourcesContent":["import { TimePickerAmPmLabels, TimePickerFormat } from '../../TimePicker.types';\nimport { padTime } from '../pad-time/pad-time';\n\ninterface Time12HourFormat {\n hours: number;\n minutes: number;\n seconds: number | null;\n withSeconds: boolean;\n amPm: string;\n amPmLabels: TimePickerAmPmLabels;\n}\n\nfunction convertTo24HourFormat({\n hours,\n minutes,\n seconds,\n amPm,\n amPmLabels,\n withSeconds,\n}: Time12HourFormat): string {\n let _hours = hours;\n\n if (amPm === amPmLabels.pm && hours !== 12) {\n _hours += 12;\n } else if (amPm === amPmLabels.am && hours === 12) {\n _hours = 0;\n }\n\n return `${padTime(_hours)}:${padTime(minutes)}${withSeconds ? `:${padTime(seconds || 0)}` : ''}`;\n}\n\ninterface GetTimeStringInput {\n hours: number | null;\n minutes: number | null;\n seconds: number | null;\n format: TimePickerFormat;\n withSeconds: boolean;\n amPm: string | null;\n amPmLabels: TimePickerAmPmLabels;\n}\n\nexport function getTimeString({\n hours,\n minutes,\n seconds,\n format,\n withSeconds,\n amPm,\n amPmLabels,\n}: GetTimeStringInput) {\n if (hours === null || minutes === null) {\n return { valid: false, value: '' };\n }\n\n if (withSeconds && seconds === null) {\n return { valid: false, value: '' };\n }\n\n if (format === '24h') {\n const value = `${padTime(hours)}:${padTime(minutes)}${withSeconds ? `:${padTime(seconds!)}` : ''}`;\n return { valid: true, value };\n }\n\n if (amPm === null) {\n return { valid: false, value: '' };\n }\n\n return {\n valid: true,\n value: convertTo24HourFormat({ hours, minutes, seconds, amPm, amPmLabels, withSeconds }),\n };\n}\n"],"names":[],"mappings":"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"}
@@ -0,0 +1,14 @@
1
+ 'use client';
2
+ import { splitTimeString } from '../split-time-string/split-time-string.mjs';
3
+
4
+ function isSameTime({ time, compare, withSeconds }) {
5
+ const timeParts = splitTimeString(time);
6
+ const compareParts = splitTimeString(compare);
7
+ if (withSeconds) {
8
+ return timeParts.hours === compareParts.hours && timeParts.minutes === compareParts.minutes && timeParts.seconds === compareParts.seconds;
9
+ }
10
+ return timeParts.hours === compareParts.hours && timeParts.minutes === compareParts.minutes;
11
+ }
12
+
13
+ export { isSameTime };
14
+ //# sourceMappingURL=is-same-time.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"is-same-time.mjs","sources":["../../../../../src/components/TimePicker/utils/is-same-time/is-same-time.ts"],"sourcesContent":["import { splitTimeString } from '../split-time-string/split-time-string';\n\ninterface IsSameTimeInput {\n time: string;\n compare: string;\n withSeconds: boolean;\n}\n\nexport function isSameTime({ time, compare, withSeconds }: IsSameTimeInput) {\n const timeParts = splitTimeString(time);\n const compareParts = splitTimeString(compare);\n\n if (withSeconds) {\n return (\n timeParts.hours === compareParts.hours &&\n timeParts.minutes === compareParts.minutes &&\n timeParts.seconds === compareParts.seconds\n );\n }\n\n return timeParts.hours === compareParts.hours && timeParts.minutes === compareParts.minutes;\n}\n"],"names":[],"mappings":";;;AAQO,CAAS,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAW,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAM,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAS,aAAgC,CAAA,CAAA,CAAA;AAC1E,CAAA,CAAM,MAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAY,gBAAgB,IAAI,CAAA,CAAA;AACtC,CAAA,CAAM,MAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAe,gBAAgB,OAAO,CAAA,CAAA;AAE5C,CAAA,CAAA,CAAA,CAAA,CAAA,CAAI,WAAa,CAAA,CAAA,CAAA;AACf,CACE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,SAAA,CAAU,CAAA,CAAA,CAAA,CAAA,CAAU,KAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAa,CACjC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAU,QAAY,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAa,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CACnC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAU,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAY,CAAa,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA;AAIvC,CAAA,CAAA,CAAO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAU,CAAA,CAAA,CAAA,CAAA,CAAU,KAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAa,CAAS,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,SAAA,CAAU,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAY,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAa,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACtF,CAAA;;"}
@@ -0,0 +1,7 @@
1
+ 'use client';
2
+ function padTime(value) {
3
+ return value < 10 ? `0${value}` : `${value}`;
4
+ }
5
+
6
+ export { padTime };
7
+ //# sourceMappingURL=pad-time.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pad-time.mjs","sources":["../../../../../src/components/TimePicker/utils/pad-time/pad-time.ts"],"sourcesContent":["export function padTime(value: number) {\n return value < 10 ? `0${value}` : `${value}`;\n}\n"],"names":[],"mappings":";AAAO,CAAS,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAQ,CAAA,CAAA,CAAA,CAAA,CAAe,CAAA,CAAA,CAAA;AACrC,CAAA,CAAA,OAAO,QAAQ,CAAK,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAI,CAAK,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAK,CAAA,CAAA,EAAG,CAAA,CAAA,CAAA,CAAA,CAAA,CAAK,CAAA,CAAA,CAAA;AAC5C,CAAA;;"}
@@ -0,0 +1,8 @@
1
+ 'use client';
2
+ function splitTimeString(timeString) {
3
+ const [hours = null, minutes = null, seconds = null] = timeString.split(":").map(Number);
4
+ return { hours, minutes, seconds };
5
+ }
6
+
7
+ export { splitTimeString };
8
+ //# sourceMappingURL=split-time-string.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"split-time-string.mjs","sources":["../../../../../src/components/TimePicker/utils/split-time-string/split-time-string.ts"],"sourcesContent":["export function splitTimeString(timeString: string) {\n const [hours = null, minutes = null, seconds = null] = timeString.split(':').map(Number);\n return { hours, minutes, seconds };\n}\n"],"names":[],"mappings":";AAAO,CAAS,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAgB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAoB,CAAA,CAAA,CAAA;AAClD,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAU,CAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAU,IAAI,CAAA,CAAA,CAAA,CAAI,CAAW,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAG,CAAA,CAAA,CAAA,CAAE,CAAA,CAAA,EAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA;AACvF,CAAA,CAAO,OAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAS,OAAQ,CAAA,CAAA,CAAA;AACnC,CAAA;;"}
@@ -0,0 +1,21 @@
1
+ 'use client';
2
+ import { padTime } from '../pad-time/pad-time.mjs';
3
+
4
+ function timeToSeconds(timeStr) {
5
+ const [hours = 0, minutes = 0, seconds = 0] = timeStr.split(":").map(Number);
6
+ return hours * 3600 + minutes * 60 + seconds;
7
+ }
8
+ function secondsToTime(seconds) {
9
+ const hours = Math.floor(seconds / 3600);
10
+ const minutes = Math.floor(seconds % 3600 / 60);
11
+ const secs = seconds % 60;
12
+ return {
13
+ timeString: `${padTime(hours)}:${padTime(minutes)}:${padTime(secs)}`,
14
+ hours,
15
+ minutes,
16
+ seconds: secs
17
+ };
18
+ }
19
+
20
+ export { secondsToTime, timeToSeconds };
21
+ //# sourceMappingURL=time-to-seconds.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"time-to-seconds.mjs","sources":["../../../../../src/components/TimePicker/utils/time-to-seconds/time-to-seconds.ts"],"sourcesContent":["import { padTime } from '../pad-time/pad-time';\n\nexport function timeToSeconds(timeStr: string): number {\n const [hours = 0, minutes = 0, seconds = 0] = timeStr.split(':').map(Number);\n return hours * 3600 + minutes * 60 + seconds;\n}\n\nexport function secondsToTime(seconds: number) {\n const hours = Math.floor(seconds / 3600);\n const minutes = Math.floor((seconds % 3600) / 60);\n const secs = seconds % 60;\n\n return {\n timeString: `${padTime(hours)}:${padTime(minutes)}:${padTime(secs)}`,\n hours,\n minutes,\n seconds: secs,\n };\n}\n"],"names":[],"mappings":"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"}
@@ -0,0 +1,16 @@
1
+ 'use client';
2
+ import { jsx, Fragment } from 'react/jsx-runtime';
3
+ import { getFormattedTime } from './get-formatted-time/get-formatted-time.mjs';
4
+
5
+ function TimeValue({
6
+ value,
7
+ format = "24h",
8
+ amPmLabels = { am: "AM", pm: "PM" },
9
+ withSeconds = false
10
+ }) {
11
+ return /* @__PURE__ */ jsx(Fragment, { children: getFormattedTime({ value, format, amPmLabels, withSeconds }) });
12
+ }
13
+ TimeValue.displayName = "@mantine/dates/TimeValue";
14
+
15
+ export { TimeValue };
16
+ //# sourceMappingURL=TimeValue.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TimeValue.mjs","sources":["../../../src/components/TimeValue/TimeValue.tsx"],"sourcesContent":["import type { TimePickerAmPmLabels, TimePickerFormat } from '../TimePicker';\nimport { getFormattedTime } from './get-formatted-time/get-formatted-time';\n\nexport interface TimeValueProps {\n /** Time to format */\n value: string | Date;\n\n /** Time format, `'24h'` by default */\n format?: TimePickerFormat;\n\n /** AM/PM labels, `{ am: 'AM', pm: 'PM' }` by default */\n amPmLabels?: TimePickerAmPmLabels;\n\n /** Determines whether seconds should be displayed, `false` by default */\n withSeconds?: boolean;\n}\n\nexport function TimeValue({\n value,\n format = '24h',\n amPmLabels = { am: 'AM', pm: 'PM' },\n withSeconds = false,\n}: TimeValueProps) {\n return <>{getFormattedTime({ value, format, amPmLabels, withSeconds })}</>;\n}\n\nTimeValue.displayName = '@mantine/dates/TimeValue';\n"],"names":[],"mappings":";;;;AAiBO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAS,SAAU,CAAA,CAAA;AAAA,CAAA,CACxB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAS,GAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CACT,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAa,CAAA,CAAA,CAAA,CAAA,CAAE,CAAI,CAAA,CAAA,CAAA,IAAA,CAAM,CAAA,CAAA,EAAI,CAAA,CAAA,CAAA,CAAA,CAAK,CAAA,CAAA,CAAA;AAAA,CAAA,CAClC,WAAc,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAChB,CAAmB,CAAA,CAAA,CAAA;AACjB,CAAO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,GAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAG,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,oBAAiB,EAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,OAAQ,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAY,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAa,CAAE,CAAA,CAAA,CAAA,CAAA;AACzE,CAAA;AAEA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAU,CAAc,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;;"}
@@ -0,0 +1,29 @@
1
+ 'use client';
2
+ import { padTime } from '../../TimePicker/utils/pad-time/pad-time.mjs';
3
+ import { splitTimeString } from '../../TimePicker/utils/split-time-string/split-time-string.mjs';
4
+
5
+ function getTimeFromDate(date, withSeconds) {
6
+ return `${date.getHours()}:${date.getMinutes()}${withSeconds ? `:${date.getSeconds()}` : ""}`;
7
+ }
8
+ function getFormattedTime({
9
+ value,
10
+ format,
11
+ amPmLabels,
12
+ withSeconds
13
+ }) {
14
+ const splitted = splitTimeString(
15
+ typeof value === "string" ? value : getTimeFromDate(value, withSeconds)
16
+ );
17
+ if (splitted.hours === null || splitted.minutes === null) {
18
+ return null;
19
+ }
20
+ if (format === "24h") {
21
+ return `${padTime(splitted.hours)}:${padTime(splitted.minutes)}${withSeconds ? `:${padTime(splitted.seconds || 0)}` : ""}`;
22
+ }
23
+ const isPm = splitted.hours >= 12;
24
+ const hours = splitted.hours % 12 === 0 ? 12 : splitted.hours % 12;
25
+ return `${hours}:${padTime(splitted.minutes)}${withSeconds ? `:${padTime(splitted.seconds || 0)}` : ""} ${isPm ? amPmLabels.pm : amPmLabels.am}`;
26
+ }
27
+
28
+ export { getFormattedTime };
29
+ //# sourceMappingURL=get-formatted-time.mjs.map