@mantine/dates 9.0.0-alpha.4 → 9.0.0-alpha.6

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 (486) hide show
  1. package/cjs/_virtual/_rolldown/runtime.cjs +24 -0
  2. package/cjs/components/Calendar/Calendar.cjs +250 -344
  3. package/cjs/components/Calendar/Calendar.cjs.map +1 -1
  4. package/cjs/components/Calendar/clamp-level/clamp-level.cjs +11 -19
  5. package/cjs/components/Calendar/clamp-level/clamp-level.cjs.map +1 -1
  6. package/cjs/components/Calendar/pick-calendar-levels-props/pick-calendar-levels-props.cjs +64 -130
  7. package/cjs/components/Calendar/pick-calendar-levels-props/pick-calendar-levels-props.cjs.map +1 -1
  8. package/cjs/components/CalendarHeader/CalendarHeader.cjs +100 -145
  9. package/cjs/components/CalendarHeader/CalendarHeader.cjs.map +1 -1
  10. package/cjs/components/CalendarHeader/CalendarHeader.module.cjs +12 -0
  11. package/cjs/components/CalendarHeader/CalendarHeader.module.cjs.map +1 -0
  12. package/cjs/components/DateInput/DateInput.cjs +188 -242
  13. package/cjs/components/DateInput/DateInput.cjs.map +1 -1
  14. package/cjs/components/DateInput/date-string-parser/date-string-parser.cjs +12 -19
  15. package/cjs/components/DateInput/date-string-parser/date-string-parser.cjs.map +1 -1
  16. package/cjs/components/DateInput/is-date-valid/is-date-valid.cjs +13 -24
  17. package/cjs/components/DateInput/is-date-valid/is-date-valid.cjs.map +1 -1
  18. package/cjs/components/DatePicker/DatePicker.cjs +121 -154
  19. package/cjs/components/DatePicker/DatePicker.cjs.map +1 -1
  20. package/cjs/components/DatePicker/DatePicker.module.cjs +11 -0
  21. package/cjs/components/DatePicker/DatePicker.module.cjs.map +1 -0
  22. package/cjs/components/DatePickerInput/DatePickerInput.cjs +85 -123
  23. package/cjs/components/DatePickerInput/DatePickerInput.cjs.map +1 -1
  24. package/cjs/components/DateTimePicker/DateTimePicker.cjs +187 -233
  25. package/cjs/components/DateTimePicker/DateTimePicker.cjs.map +1 -1
  26. package/cjs/components/DateTimePicker/DateTimePicker.module.cjs +10 -0
  27. package/cjs/components/DateTimePicker/DateTimePicker.module.cjs.map +1 -0
  28. package/cjs/components/DateTimePicker/get-min-max-time/get-min-max-time.cjs +12 -15
  29. package/cjs/components/DateTimePicker/get-min-max-time/get-min-max-time.cjs.map +1 -1
  30. package/cjs/components/DatesProvider/DatesProvider.cjs +21 -15
  31. package/cjs/components/DatesProvider/DatesProvider.cjs.map +1 -1
  32. package/cjs/components/DatesProvider/use-dates-context.cjs +20 -29
  33. package/cjs/components/DatesProvider/use-dates-context.cjs.map +1 -1
  34. package/cjs/components/Day/Day.cjs +49 -83
  35. package/cjs/components/Day/Day.cjs.map +1 -1
  36. package/cjs/components/Day/Day.module.cjs +7 -0
  37. package/cjs/components/Day/Day.module.cjs.map +1 -0
  38. package/cjs/components/DecadeLevel/DecadeLevel.cjs +75 -124
  39. package/cjs/components/DecadeLevel/DecadeLevel.cjs.map +1 -1
  40. package/cjs/components/DecadeLevel/get-decade-range/get-decade-range.cjs +8 -9
  41. package/cjs/components/DecadeLevel/get-decade-range/get-decade-range.cjs.map +1 -1
  42. package/cjs/components/DecadeLevelGroup/DecadeLevelGroup.cjs +81 -131
  43. package/cjs/components/DecadeLevelGroup/DecadeLevelGroup.cjs.map +1 -1
  44. package/cjs/components/HiddenDatesInput/HiddenDatesInput.cjs +30 -36
  45. package/cjs/components/HiddenDatesInput/HiddenDatesInput.cjs.map +1 -1
  46. package/cjs/components/InlineDateTimePicker/InlineDateTimePicker.cjs +286 -0
  47. package/cjs/components/InlineDateTimePicker/InlineDateTimePicker.cjs.map +1 -0
  48. package/cjs/components/InlineDateTimePicker/InlineDateTimePicker.module.cjs +13 -0
  49. package/cjs/components/InlineDateTimePicker/InlineDateTimePicker.module.cjs.map +1 -0
  50. package/cjs/components/LevelsGroup/LevelsGroup.cjs +30 -38
  51. package/cjs/components/LevelsGroup/LevelsGroup.cjs.map +1 -1
  52. package/cjs/components/LevelsGroup/LevelsGroup.module.cjs +7 -0
  53. package/cjs/components/LevelsGroup/LevelsGroup.module.cjs.map +1 -0
  54. package/cjs/components/MiniCalendar/MiniCalendar.cjs +124 -153
  55. package/cjs/components/MiniCalendar/MiniCalendar.cjs.map +1 -1
  56. package/cjs/components/MiniCalendar/MiniCalendar.module.cjs +14 -0
  57. package/cjs/components/MiniCalendar/MiniCalendar.module.cjs.map +1 -0
  58. package/cjs/components/Month/Month.cjs +152 -200
  59. package/cjs/components/Month/Month.cjs.map +1 -1
  60. package/cjs/components/Month/Month.module.cjs +11 -0
  61. package/cjs/components/Month/Month.module.cjs.map +1 -0
  62. package/cjs/components/Month/get-date-in-tab-order/get-date-in-tab-order.cjs +18 -35
  63. package/cjs/components/Month/get-date-in-tab-order/get-date-in-tab-order.cjs.map +1 -1
  64. package/cjs/components/Month/get-end-of-week/get-end-of-week.cjs +13 -20
  65. package/cjs/components/Month/get-end-of-week/get-end-of-week.cjs.map +1 -1
  66. package/cjs/components/Month/get-month-days/get-month-days.cjs +38 -47
  67. package/cjs/components/Month/get-month-days/get-month-days.cjs.map +1 -1
  68. package/cjs/components/Month/get-start-of-week/get-start-of-week.cjs +11 -16
  69. package/cjs/components/Month/get-start-of-week/get-start-of-week.cjs.map +1 -1
  70. package/cjs/components/Month/get-week-number/get-week-number.cjs +12 -16
  71. package/cjs/components/Month/get-week-number/get-week-number.cjs.map +1 -1
  72. package/cjs/components/Month/is-after-min-date/is-after-min-date.cjs +9 -12
  73. package/cjs/components/Month/is-after-min-date/is-after-min-date.cjs.map +1 -1
  74. package/cjs/components/Month/is-before-max-date/is-before-max-date.cjs +9 -12
  75. package/cjs/components/Month/is-before-max-date/is-before-max-date.cjs.map +1 -1
  76. package/cjs/components/Month/is-same-month/is-same-month.cjs +9 -12
  77. package/cjs/components/Month/is-same-month/is-same-month.cjs.map +1 -1
  78. package/cjs/components/MonthLevel/MonthLevel.cjs +83 -141
  79. package/cjs/components/MonthLevel/MonthLevel.cjs.map +1 -1
  80. package/cjs/components/MonthLevelGroup/MonthLevelGroup.cjs +92 -154
  81. package/cjs/components/MonthLevelGroup/MonthLevelGroup.cjs.map +1 -1
  82. package/cjs/components/MonthPicker/MonthPicker.cjs +49 -75
  83. package/cjs/components/MonthPicker/MonthPicker.cjs.map +1 -1
  84. package/cjs/components/MonthPicker/MonthPicker.module.cjs +11 -0
  85. package/cjs/components/MonthPicker/MonthPicker.module.cjs.map +1 -0
  86. package/cjs/components/MonthPickerInput/MonthPickerInput.cjs +86 -119
  87. package/cjs/components/MonthPickerInput/MonthPickerInput.cjs.map +1 -1
  88. package/cjs/components/MonthsList/MonthsList.cjs +105 -139
  89. package/cjs/components/MonthsList/MonthsList.cjs.map +1 -1
  90. package/cjs/components/MonthsList/MonthsList.module.cjs +10 -0
  91. package/cjs/components/MonthsList/MonthsList.module.cjs.map +1 -0
  92. package/cjs/components/MonthsList/get-month-in-tab-order/get-month-in-tab-order.cjs +20 -30
  93. package/cjs/components/MonthsList/get-month-in-tab-order/get-month-in-tab-order.cjs.map +1 -1
  94. package/cjs/components/MonthsList/get-months-data/get-months-data.cjs +21 -21
  95. package/cjs/components/MonthsList/get-months-data/get-months-data.cjs.map +1 -1
  96. package/cjs/components/MonthsList/is-month-disabled/is-month-disabled.cjs +12 -21
  97. package/cjs/components/MonthsList/is-month-disabled/is-month-disabled.cjs.map +1 -1
  98. package/cjs/components/PickerControl/PickerControl.cjs +43 -65
  99. package/cjs/components/PickerControl/PickerControl.cjs.map +1 -1
  100. package/cjs/components/PickerControl/PickerControl.module.cjs +7 -0
  101. package/cjs/components/PickerControl/PickerControl.module.cjs.map +1 -0
  102. package/cjs/components/PickerInputBase/PickerInputBase.cjs +95 -127
  103. package/cjs/components/PickerInputBase/PickerInputBase.cjs.map +1 -1
  104. package/cjs/components/PickerInputBase/PickerInputBase.module.cjs +7 -0
  105. package/cjs/components/PickerInputBase/PickerInputBase.module.cjs.map +1 -0
  106. package/cjs/components/SpinInput/SpinInput.cjs +83 -111
  107. package/cjs/components/SpinInput/SpinInput.cjs.map +1 -1
  108. package/cjs/components/TimeGrid/TimeGrid.cjs +94 -101
  109. package/cjs/components/TimeGrid/TimeGrid.cjs.map +1 -1
  110. package/cjs/components/TimeGrid/TimeGrid.context.cjs +7 -10
  111. package/cjs/components/TimeGrid/TimeGrid.context.cjs.map +1 -1
  112. package/cjs/components/TimeGrid/TimeGrid.module.cjs +7 -0
  113. package/cjs/components/TimeGrid/TimeGrid.module.cjs.map +1 -0
  114. package/cjs/components/TimeGrid/TimeGridControl.cjs +26 -35
  115. package/cjs/components/TimeGrid/TimeGridControl.cjs.map +1 -1
  116. package/cjs/components/TimeGrid/compare-time.cjs +8 -9
  117. package/cjs/components/TimeGrid/compare-time.cjs.map +1 -1
  118. package/cjs/components/TimeInput/TimeInput.cjs +71 -88
  119. package/cjs/components/TimeInput/TimeInput.cjs.map +1 -1
  120. package/cjs/components/TimeInput/TimeInput.module.cjs +7 -0
  121. package/cjs/components/TimeInput/TimeInput.module.cjs.map +1 -0
  122. package/cjs/components/TimePicker/AmPmInput/AmPmInput.cjs +93 -101
  123. package/cjs/components/TimePicker/AmPmInput/AmPmInput.cjs.map +1 -1
  124. package/cjs/components/TimePicker/TimeControlsList/AmPmControlsList.cjs +19 -12
  125. package/cjs/components/TimePicker/TimeControlsList/AmPmControlsList.cjs.map +1 -1
  126. package/cjs/components/TimePicker/TimeControlsList/TimeControl.cjs +20 -23
  127. package/cjs/components/TimePicker/TimeControlsList/TimeControl.cjs.map +1 -1
  128. package/cjs/components/TimePicker/TimeControlsList/TimeControlsList.cjs +47 -57
  129. package/cjs/components/TimePicker/TimeControlsList/TimeControlsList.cjs.map +1 -1
  130. package/cjs/components/TimePicker/TimePicker.cjs +325 -420
  131. package/cjs/components/TimePicker/TimePicker.cjs.map +1 -1
  132. package/cjs/components/TimePicker/TimePicker.context.cjs +7 -10
  133. package/cjs/components/TimePicker/TimePicker.context.cjs.map +1 -1
  134. package/cjs/components/TimePicker/TimePicker.module.cjs +18 -0
  135. package/cjs/components/TimePicker/TimePicker.module.cjs.map +1 -0
  136. package/cjs/components/TimePicker/TimePresets/TimePresetControl.cjs +23 -28
  137. package/cjs/components/TimePicker/TimePresets/TimePresetControl.cjs.map +1 -1
  138. package/cjs/components/TimePicker/TimePresets/TimePresetGroup.cjs +36 -36
  139. package/cjs/components/TimePicker/TimePresets/TimePresetGroup.cjs.map +1 -1
  140. package/cjs/components/TimePicker/TimePresets/TimePresets.cjs +61 -70
  141. package/cjs/components/TimePicker/TimePresets/TimePresets.cjs.map +1 -1
  142. package/cjs/components/TimePicker/use-time-picker.cjs +201 -193
  143. package/cjs/components/TimePicker/use-time-picker.cjs.map +1 -1
  144. package/cjs/components/TimePicker/utils/clamp-time/clamp-time.cjs +10 -12
  145. package/cjs/components/TimePicker/utils/clamp-time/clamp-time.cjs.map +1 -1
  146. package/cjs/components/TimePicker/utils/get-parsed-time/get-parsed-time.cjs +40 -34
  147. package/cjs/components/TimePicker/utils/get-parsed-time/get-parsed-time.cjs.map +1 -1
  148. package/cjs/components/TimePicker/utils/get-time-range/get-time-range.cjs +12 -15
  149. package/cjs/components/TimePicker/utils/get-time-range/get-time-range.cjs.map +1 -1
  150. package/cjs/components/TimePicker/utils/get-time-string/get-time-string.cjs +39 -48
  151. package/cjs/components/TimePicker/utils/get-time-string/get-time-string.cjs.map +1 -1
  152. package/cjs/components/TimePicker/utils/is-same-time/is-same-time.cjs +10 -13
  153. package/cjs/components/TimePicker/utils/is-same-time/is-same-time.cjs.map +1 -1
  154. package/cjs/components/TimePicker/utils/pad-time/pad-time.cjs +6 -6
  155. package/cjs/components/TimePicker/utils/pad-time/pad-time.cjs.map +1 -1
  156. package/cjs/components/TimePicker/utils/split-time-string/split-time-string.cjs +11 -7
  157. package/cjs/components/TimePicker/utils/split-time-string/split-time-string.cjs.map +1 -1
  158. package/cjs/components/TimePicker/utils/time-to-seconds/time-to-seconds.cjs +17 -18
  159. package/cjs/components/TimePicker/utils/time-to-seconds/time-to-seconds.cjs.map +1 -1
  160. package/cjs/components/TimeValue/TimeValue.cjs +18 -15
  161. package/cjs/components/TimeValue/TimeValue.cjs.map +1 -1
  162. package/cjs/components/TimeValue/get-formatted-time/get-formatted-time.cjs +14 -27
  163. package/cjs/components/TimeValue/get-formatted-time/get-formatted-time.cjs.map +1 -1
  164. package/cjs/components/WeekdaysRow/WeekdaysRow.cjs +51 -61
  165. package/cjs/components/WeekdaysRow/WeekdaysRow.cjs.map +1 -1
  166. package/cjs/components/WeekdaysRow/WeekdaysRow.module.cjs +7 -0
  167. package/cjs/components/WeekdaysRow/WeekdaysRow.module.cjs.map +1 -0
  168. package/cjs/components/WeekdaysRow/get-weekdays-names/get-weekdays-names.cjs +14 -26
  169. package/cjs/components/WeekdaysRow/get-weekdays-names/get-weekdays-names.cjs.map +1 -1
  170. package/cjs/components/YearLevel/YearLevel.cjs +73 -121
  171. package/cjs/components/YearLevel/YearLevel.cjs.map +1 -1
  172. package/cjs/components/YearLevelGroup/YearLevelGroup.cjs +83 -135
  173. package/cjs/components/YearLevelGroup/YearLevelGroup.cjs.map +1 -1
  174. package/cjs/components/YearPicker/YearPicker.cjs +48 -73
  175. package/cjs/components/YearPicker/YearPicker.cjs.map +1 -1
  176. package/cjs/components/YearPicker/YearPicker.module.cjs +11 -0
  177. package/cjs/components/YearPicker/YearPicker.module.cjs.map +1 -0
  178. package/cjs/components/YearPickerInput/YearPickerInput.cjs +86 -119
  179. package/cjs/components/YearPickerInput/YearPickerInput.cjs.map +1 -1
  180. package/cjs/components/YearsList/YearsList.cjs +103 -133
  181. package/cjs/components/YearsList/YearsList.cjs.map +1 -1
  182. package/cjs/components/YearsList/YearsList.module.cjs +10 -0
  183. package/cjs/components/YearsList/YearsList.module.cjs.map +1 -0
  184. package/cjs/components/YearsList/get-year-in-tab-order/get-year-in-tab-order.cjs +20 -30
  185. package/cjs/components/YearsList/get-year-in-tab-order/get-year-in-tab-order.cjs.map +1 -1
  186. package/cjs/components/YearsList/get-years-data/get-years-data.cjs +25 -23
  187. package/cjs/components/YearsList/get-years-data/get-years-data.cjs.map +1 -1
  188. package/cjs/components/YearsList/is-year-disabled/is-year-disabled.cjs +12 -21
  189. package/cjs/components/YearsList/is-year-disabled/is-year-disabled.cjs.map +1 -1
  190. package/cjs/hooks/use-dates-input/use-dates-input.cjs +47 -70
  191. package/cjs/hooks/use-dates-input/use-dates-input.cjs.map +1 -1
  192. package/cjs/hooks/use-dates-state/is-in-range/is-in-range.cjs +10 -13
  193. package/cjs/hooks/use-dates-state/is-in-range/is-in-range.cjs.map +1 -1
  194. package/cjs/hooks/use-dates-state/use-dates-state.cjs +113 -154
  195. package/cjs/hooks/use-dates-state/use-dates-state.cjs.map +1 -1
  196. package/cjs/hooks/use-uncontrolled-dates/use-uncontrolled-dates.cjs +32 -36
  197. package/cjs/hooks/use-uncontrolled-dates/use-uncontrolled-dates.cjs.map +1 -1
  198. package/cjs/index.cjs +94 -99
  199. package/cjs/utils/assign-time/assign-time.cjs +16 -21
  200. package/cjs/utils/assign-time/assign-time.cjs.map +1 -1
  201. package/cjs/utils/clamp-date/clamp-date.cjs +13 -22
  202. package/cjs/utils/clamp-date/clamp-date.cjs.map +1 -1
  203. package/cjs/utils/get-default-clamped-date/get-default-clamped-date.cjs +15 -27
  204. package/cjs/utils/get-default-clamped-date/get-default-clamped-date.cjs.map +1 -1
  205. package/cjs/utils/get-formatted-date/get-formatted-date.cjs +19 -37
  206. package/cjs/utils/get-formatted-date/get-formatted-date.cjs.map +1 -1
  207. package/cjs/utils/handle-control-key-down/handle-control-key-down.cjs +114 -149
  208. package/cjs/utils/handle-control-key-down/handle-control-key-down.cjs.map +1 -1
  209. package/cjs/utils/to-date-string/to-date-string.cjs +10 -13
  210. package/cjs/utils/to-date-string/to-date-string.cjs.map +1 -1
  211. package/esm/components/Calendar/Calendar.mjs +247 -337
  212. package/esm/components/Calendar/Calendar.mjs.map +1 -1
  213. package/esm/components/Calendar/clamp-level/clamp-level.mjs +10 -17
  214. package/esm/components/Calendar/clamp-level/clamp-level.mjs.map +1 -1
  215. package/esm/components/Calendar/pick-calendar-levels-props/pick-calendar-levels-props.mjs +64 -128
  216. package/esm/components/Calendar/pick-calendar-levels-props/pick-calendar-levels-props.mjs.map +1 -1
  217. package/esm/components/CalendarHeader/CalendarHeader.mjs +98 -142
  218. package/esm/components/CalendarHeader/CalendarHeader.mjs.map +1 -1
  219. package/esm/components/CalendarHeader/CalendarHeader.module.mjs +12 -0
  220. package/esm/components/CalendarHeader/CalendarHeader.module.mjs.map +1 -0
  221. package/esm/components/DateInput/DateInput.mjs +185 -235
  222. package/esm/components/DateInput/DateInput.mjs.map +1 -1
  223. package/esm/components/DateInput/date-string-parser/date-string-parser.mjs +10 -13
  224. package/esm/components/DateInput/date-string-parser/date-string-parser.mjs.map +1 -1
  225. package/esm/components/DateInput/is-date-valid/is-date-valid.mjs +11 -18
  226. package/esm/components/DateInput/is-date-valid/is-date-valid.mjs.map +1 -1
  227. package/esm/components/DatePicker/DatePicker.mjs +117 -146
  228. package/esm/components/DatePicker/DatePicker.mjs.map +1 -1
  229. package/esm/components/DatePicker/DatePicker.module.mjs +11 -0
  230. package/esm/components/DatePicker/DatePicker.module.mjs.map +1 -0
  231. package/esm/components/DatePickerInput/DatePickerInput.mjs +84 -121
  232. package/esm/components/DatePickerInput/DatePickerInput.mjs.map +1 -1
  233. package/esm/components/DateTimePicker/DateTimePicker.mjs +184 -226
  234. package/esm/components/DateTimePicker/DateTimePicker.mjs.map +1 -1
  235. package/esm/components/DateTimePicker/DateTimePicker.module.mjs +10 -0
  236. package/esm/components/DateTimePicker/DateTimePicker.module.mjs.map +1 -0
  237. package/esm/components/DateTimePicker/get-min-max-time/get-min-max-time.mjs +10 -9
  238. package/esm/components/DateTimePicker/get-min-max-time/get-min-max-time.mjs.map +1 -1
  239. package/esm/components/DatesProvider/DatesProvider.mjs +19 -12
  240. package/esm/components/DatesProvider/DatesProvider.mjs.map +1 -1
  241. package/esm/components/DatesProvider/use-dates-context.mjs +19 -27
  242. package/esm/components/DatesProvider/use-dates-context.mjs.map +1 -1
  243. package/esm/components/Day/Day.mjs +46 -76
  244. package/esm/components/Day/Day.mjs.map +1 -1
  245. package/esm/components/Day/Day.module.mjs +7 -0
  246. package/esm/components/Day/Day.module.mjs.map +1 -0
  247. package/esm/components/DecadeLevel/DecadeLevel.mjs +72 -117
  248. package/esm/components/DecadeLevel/DecadeLevel.mjs.map +1 -1
  249. package/esm/components/DecadeLevel/get-decade-range/get-decade-range.mjs +8 -7
  250. package/esm/components/DecadeLevel/get-decade-range/get-decade-range.mjs.map +1 -1
  251. package/esm/components/DecadeLevelGroup/DecadeLevelGroup.mjs +78 -124
  252. package/esm/components/DecadeLevelGroup/DecadeLevelGroup.mjs.map +1 -1
  253. package/esm/components/HiddenDatesInput/HiddenDatesInput.mjs +29 -34
  254. package/esm/components/HiddenDatesInput/HiddenDatesInput.mjs.map +1 -1
  255. package/esm/components/InlineDateTimePicker/InlineDateTimePicker.mjs +284 -0
  256. package/esm/components/InlineDateTimePicker/InlineDateTimePicker.mjs.map +1 -0
  257. package/esm/components/InlineDateTimePicker/InlineDateTimePicker.module.mjs +13 -0
  258. package/esm/components/InlineDateTimePicker/InlineDateTimePicker.module.mjs.map +1 -0
  259. package/esm/components/LevelsGroup/LevelsGroup.mjs +28 -35
  260. package/esm/components/LevelsGroup/LevelsGroup.mjs.map +1 -1
  261. package/esm/components/LevelsGroup/LevelsGroup.module.mjs +7 -0
  262. package/esm/components/LevelsGroup/LevelsGroup.module.mjs.map +1 -0
  263. package/esm/components/MiniCalendar/MiniCalendar.mjs +121 -146
  264. package/esm/components/MiniCalendar/MiniCalendar.mjs.map +1 -1
  265. package/esm/components/MiniCalendar/MiniCalendar.module.mjs +14 -0
  266. package/esm/components/MiniCalendar/MiniCalendar.module.mjs.map +1 -0
  267. package/esm/components/Month/Month.mjs +149 -193
  268. package/esm/components/Month/Month.mjs.map +1 -1
  269. package/esm/components/Month/Month.module.mjs +11 -0
  270. package/esm/components/Month/Month.module.mjs.map +1 -0
  271. package/esm/components/Month/get-date-in-tab-order/get-date-in-tab-order.mjs +16 -29
  272. package/esm/components/Month/get-date-in-tab-order/get-date-in-tab-order.mjs.map +1 -1
  273. package/esm/components/Month/get-end-of-week/get-end-of-week.mjs +11 -14
  274. package/esm/components/Month/get-end-of-week/get-end-of-week.mjs.map +1 -1
  275. package/esm/components/Month/get-month-days/get-month-days.mjs +36 -41
  276. package/esm/components/Month/get-month-days/get-month-days.mjs.map +1 -1
  277. package/esm/components/Month/get-start-of-week/get-start-of-week.mjs +9 -10
  278. package/esm/components/Month/get-start-of-week/get-start-of-week.mjs.map +1 -1
  279. package/esm/components/Month/get-week-number/get-week-number.mjs +8 -8
  280. package/esm/components/Month/get-week-number/get-week-number.mjs.map +1 -1
  281. package/esm/components/Month/is-after-min-date/is-after-min-date.mjs +7 -6
  282. package/esm/components/Month/is-after-min-date/is-after-min-date.mjs.map +1 -1
  283. package/esm/components/Month/is-before-max-date/is-before-max-date.mjs +7 -6
  284. package/esm/components/Month/is-before-max-date/is-before-max-date.mjs.map +1 -1
  285. package/esm/components/Month/is-same-month/is-same-month.mjs +7 -6
  286. package/esm/components/Month/is-same-month/is-same-month.mjs.map +1 -1
  287. package/esm/components/MonthLevel/MonthLevel.mjs +80 -134
  288. package/esm/components/MonthLevel/MonthLevel.mjs.map +1 -1
  289. package/esm/components/MonthLevelGroup/MonthLevelGroup.mjs +89 -147
  290. package/esm/components/MonthLevelGroup/MonthLevelGroup.mjs.map +1 -1
  291. package/esm/components/MonthPicker/MonthPicker.mjs +46 -71
  292. package/esm/components/MonthPicker/MonthPicker.mjs.map +1 -1
  293. package/esm/components/MonthPicker/MonthPicker.module.mjs +11 -0
  294. package/esm/components/MonthPicker/MonthPicker.module.mjs.map +1 -0
  295. package/esm/components/MonthPickerInput/MonthPickerInput.mjs +85 -117
  296. package/esm/components/MonthPickerInput/MonthPickerInput.mjs.map +1 -1
  297. package/esm/components/MonthsList/MonthsList.mjs +102 -132
  298. package/esm/components/MonthsList/MonthsList.mjs.map +1 -1
  299. package/esm/components/MonthsList/MonthsList.module.mjs +10 -0
  300. package/esm/components/MonthsList/MonthsList.module.mjs.map +1 -0
  301. package/esm/components/MonthsList/get-month-in-tab-order/get-month-in-tab-order.mjs +18 -24
  302. package/esm/components/MonthsList/get-month-in-tab-order/get-month-in-tab-order.mjs.map +1 -1
  303. package/esm/components/MonthsList/get-months-data/get-months-data.mjs +19 -15
  304. package/esm/components/MonthsList/get-months-data/get-months-data.mjs.map +1 -1
  305. package/esm/components/MonthsList/is-month-disabled/is-month-disabled.mjs +10 -15
  306. package/esm/components/MonthsList/is-month-disabled/is-month-disabled.mjs.map +1 -1
  307. package/esm/components/PickerControl/PickerControl.mjs +41 -62
  308. package/esm/components/PickerControl/PickerControl.mjs.map +1 -1
  309. package/esm/components/PickerControl/PickerControl.module.mjs +7 -0
  310. package/esm/components/PickerControl/PickerControl.module.mjs.map +1 -0
  311. package/esm/components/PickerInputBase/PickerInputBase.mjs +92 -120
  312. package/esm/components/PickerInputBase/PickerInputBase.mjs.map +1 -1
  313. package/esm/components/PickerInputBase/PickerInputBase.module.mjs +7 -0
  314. package/esm/components/PickerInputBase/PickerInputBase.module.mjs.map +1 -0
  315. package/esm/components/SpinInput/SpinInput.mjs +82 -109
  316. package/esm/components/SpinInput/SpinInput.mjs.map +1 -1
  317. package/esm/components/TimeGrid/TimeGrid.context.mjs +7 -8
  318. package/esm/components/TimeGrid/TimeGrid.context.mjs.map +1 -1
  319. package/esm/components/TimeGrid/TimeGrid.mjs +92 -98
  320. package/esm/components/TimeGrid/TimeGrid.mjs.map +1 -1
  321. package/esm/components/TimeGrid/TimeGrid.module.mjs +7 -0
  322. package/esm/components/TimeGrid/TimeGrid.module.mjs.map +1 -0
  323. package/esm/components/TimeGrid/TimeGridControl.mjs +24 -29
  324. package/esm/components/TimeGrid/TimeGridControl.mjs.map +1 -1
  325. package/esm/components/TimeGrid/compare-time.mjs +8 -7
  326. package/esm/components/TimeGrid/compare-time.mjs.map +1 -1
  327. package/esm/components/TimeInput/TimeInput.mjs +67 -80
  328. package/esm/components/TimeInput/TimeInput.mjs.map +1 -1
  329. package/esm/components/TimeInput/TimeInput.module.mjs +7 -0
  330. package/esm/components/TimeInput/TimeInput.module.mjs.map +1 -0
  331. package/esm/components/TimePicker/AmPmInput/AmPmInput.mjs +92 -99
  332. package/esm/components/TimePicker/AmPmInput/AmPmInput.mjs.map +1 -1
  333. package/esm/components/TimePicker/TimeControlsList/AmPmControlsList.mjs +18 -10
  334. package/esm/components/TimePicker/TimeControlsList/AmPmControlsList.mjs.map +1 -1
  335. package/esm/components/TimePicker/TimeControlsList/TimeControl.mjs +19 -21
  336. package/esm/components/TimePicker/TimeControlsList/TimeControl.mjs.map +1 -1
  337. package/esm/components/TimePicker/TimeControlsList/TimeControlsList.mjs +46 -55
  338. package/esm/components/TimePicker/TimeControlsList/TimeControlsList.mjs.map +1 -1
  339. package/esm/components/TimePicker/TimePicker.context.mjs +7 -8
  340. package/esm/components/TimePicker/TimePicker.context.mjs.map +1 -1
  341. package/esm/components/TimePicker/TimePicker.mjs +323 -417
  342. package/esm/components/TimePicker/TimePicker.mjs.map +1 -1
  343. package/esm/components/TimePicker/TimePicker.module.mjs +18 -0
  344. package/esm/components/TimePicker/TimePicker.module.mjs.map +1 -0
  345. package/esm/components/TimePicker/TimePresets/TimePresetControl.mjs +22 -26
  346. package/esm/components/TimePicker/TimePresets/TimePresetControl.mjs.map +1 -1
  347. package/esm/components/TimePicker/TimePresets/TimePresetGroup.mjs +35 -34
  348. package/esm/components/TimePicker/TimePresets/TimePresetGroup.mjs.map +1 -1
  349. package/esm/components/TimePicker/TimePresets/TimePresets.mjs +60 -68
  350. package/esm/components/TimePicker/TimePresets/TimePresets.mjs.map +1 -1
  351. package/esm/components/TimePicker/use-time-picker.mjs +200 -191
  352. package/esm/components/TimePicker/use-time-picker.mjs.map +1 -1
  353. package/esm/components/TimePicker/utils/clamp-time/clamp-time.mjs +10 -10
  354. package/esm/components/TimePicker/utils/clamp-time/clamp-time.mjs.map +1 -1
  355. package/esm/components/TimePicker/utils/get-parsed-time/get-parsed-time.mjs +40 -31
  356. package/esm/components/TimePicker/utils/get-parsed-time/get-parsed-time.mjs.map +1 -1
  357. package/esm/components/TimePicker/utils/get-time-range/get-time-range.mjs +12 -13
  358. package/esm/components/TimePicker/utils/get-time-range/get-time-range.mjs.map +1 -1
  359. package/esm/components/TimePicker/utils/get-time-string/get-time-string.mjs +39 -46
  360. package/esm/components/TimePicker/utils/get-time-string/get-time-string.mjs.map +1 -1
  361. package/esm/components/TimePicker/utils/is-same-time/is-same-time.mjs +10 -11
  362. package/esm/components/TimePicker/utils/is-same-time/is-same-time.mjs.map +1 -1
  363. package/esm/components/TimePicker/utils/pad-time/pad-time.mjs +6 -4
  364. package/esm/components/TimePicker/utils/pad-time/pad-time.mjs.map +1 -1
  365. package/esm/components/TimePicker/utils/split-time-string/split-time-string.mjs +11 -5
  366. package/esm/components/TimePicker/utils/split-time-string/split-time-string.mjs.map +1 -1
  367. package/esm/components/TimePicker/utils/time-to-seconds/time-to-seconds.mjs +17 -16
  368. package/esm/components/TimePicker/utils/time-to-seconds/time-to-seconds.mjs.map +1 -1
  369. package/esm/components/TimeValue/TimeValue.mjs +17 -13
  370. package/esm/components/TimeValue/TimeValue.mjs.map +1 -1
  371. package/esm/components/TimeValue/get-formatted-time/get-formatted-time.mjs +14 -25
  372. package/esm/components/TimeValue/get-formatted-time/get-formatted-time.mjs.map +1 -1
  373. package/esm/components/WeekdaysRow/WeekdaysRow.mjs +49 -58
  374. package/esm/components/WeekdaysRow/WeekdaysRow.mjs.map +1 -1
  375. package/esm/components/WeekdaysRow/WeekdaysRow.module.mjs +7 -0
  376. package/esm/components/WeekdaysRow/WeekdaysRow.module.mjs.map +1 -0
  377. package/esm/components/WeekdaysRow/get-weekdays-names/get-weekdays-names.mjs +12 -20
  378. package/esm/components/WeekdaysRow/get-weekdays-names/get-weekdays-names.mjs.map +1 -1
  379. package/esm/components/YearLevel/YearLevel.mjs +70 -114
  380. package/esm/components/YearLevel/YearLevel.mjs.map +1 -1
  381. package/esm/components/YearLevelGroup/YearLevelGroup.mjs +80 -128
  382. package/esm/components/YearLevelGroup/YearLevelGroup.mjs.map +1 -1
  383. package/esm/components/YearPicker/YearPicker.mjs +45 -69
  384. package/esm/components/YearPicker/YearPicker.mjs.map +1 -1
  385. package/esm/components/YearPicker/YearPicker.module.mjs +11 -0
  386. package/esm/components/YearPicker/YearPicker.module.mjs.map +1 -0
  387. package/esm/components/YearPickerInput/YearPickerInput.mjs +85 -117
  388. package/esm/components/YearPickerInput/YearPickerInput.mjs.map +1 -1
  389. package/esm/components/YearsList/YearsList.mjs +100 -126
  390. package/esm/components/YearsList/YearsList.mjs.map +1 -1
  391. package/esm/components/YearsList/YearsList.module.mjs +10 -0
  392. package/esm/components/YearsList/YearsList.module.mjs.map +1 -0
  393. package/esm/components/YearsList/get-year-in-tab-order/get-year-in-tab-order.mjs +18 -24
  394. package/esm/components/YearsList/get-year-in-tab-order/get-year-in-tab-order.mjs.map +1 -1
  395. package/esm/components/YearsList/get-years-data/get-years-data.mjs +23 -17
  396. package/esm/components/YearsList/get-years-data/get-years-data.mjs.map +1 -1
  397. package/esm/components/YearsList/is-year-disabled/is-year-disabled.mjs +10 -15
  398. package/esm/components/YearsList/is-year-disabled/is-year-disabled.mjs.map +1 -1
  399. package/esm/hooks/use-dates-input/use-dates-input.mjs +45 -64
  400. package/esm/hooks/use-dates-input/use-dates-input.mjs.map +1 -1
  401. package/esm/hooks/use-dates-state/is-in-range/is-in-range.mjs +8 -7
  402. package/esm/hooks/use-dates-state/is-in-range/is-in-range.mjs.map +1 -1
  403. package/esm/hooks/use-dates-state/use-dates-state.mjs +111 -148
  404. package/esm/hooks/use-dates-state/use-dates-state.mjs.map +1 -1
  405. package/esm/hooks/use-uncontrolled-dates/use-uncontrolled-dates.mjs +31 -33
  406. package/esm/hooks/use-uncontrolled-dates/use-uncontrolled-dates.mjs.map +1 -1
  407. package/esm/index.mjs +46 -46
  408. package/esm/utils/assign-time/assign-time.mjs +14 -15
  409. package/esm/utils/assign-time/assign-time.mjs.map +1 -1
  410. package/esm/utils/clamp-date/clamp-date.mjs +11 -16
  411. package/esm/utils/clamp-date/clamp-date.mjs.map +1 -1
  412. package/esm/utils/get-default-clamped-date/get-default-clamped-date.mjs +13 -21
  413. package/esm/utils/get-default-clamped-date/get-default-clamped-date.mjs.map +1 -1
  414. package/esm/utils/get-formatted-date/get-formatted-date.mjs +17 -30
  415. package/esm/utils/get-formatted-date/get-formatted-date.mjs.map +1 -1
  416. package/esm/utils/handle-control-key-down/handle-control-key-down.mjs +114 -147
  417. package/esm/utils/handle-control-key-down/handle-control-key-down.mjs.map +1 -1
  418. package/esm/utils/to-date-string/to-date-string.mjs +8 -7
  419. package/esm/utils/to-date-string/to-date-string.mjs.map +1 -1
  420. package/lib/components/InlineDateTimePicker/InlineDateTimePicker.d.ts +71 -0
  421. package/lib/components/InlineDateTimePicker/index.d.ts +9 -0
  422. package/package.json +7 -7
  423. package/styles.css +1 -1
  424. package/styles.layer.css +1 -1
  425. package/cjs/components/CalendarHeader/CalendarHeader.module.css.cjs +0 -7
  426. package/cjs/components/CalendarHeader/CalendarHeader.module.css.cjs.map +0 -1
  427. package/cjs/components/DatePicker/DatePicker.module.css.cjs +0 -7
  428. package/cjs/components/DatePicker/DatePicker.module.css.cjs.map +0 -1
  429. package/cjs/components/DateTimePicker/DateTimePicker.module.css.cjs +0 -7
  430. package/cjs/components/DateTimePicker/DateTimePicker.module.css.cjs.map +0 -1
  431. package/cjs/components/Day/Day.module.css.cjs +0 -7
  432. package/cjs/components/Day/Day.module.css.cjs.map +0 -1
  433. package/cjs/components/LevelsGroup/LevelsGroup.module.css.cjs +0 -7
  434. package/cjs/components/LevelsGroup/LevelsGroup.module.css.cjs.map +0 -1
  435. package/cjs/components/MiniCalendar/MiniCalendar.module.css.cjs +0 -7
  436. package/cjs/components/MiniCalendar/MiniCalendar.module.css.cjs.map +0 -1
  437. package/cjs/components/Month/Month.module.css.cjs +0 -7
  438. package/cjs/components/Month/Month.module.css.cjs.map +0 -1
  439. package/cjs/components/MonthsList/MonthsList.module.css.cjs +0 -7
  440. package/cjs/components/MonthsList/MonthsList.module.css.cjs.map +0 -1
  441. package/cjs/components/PickerControl/PickerControl.module.css.cjs +0 -7
  442. package/cjs/components/PickerControl/PickerControl.module.css.cjs.map +0 -1
  443. package/cjs/components/PickerInputBase/PickerInputBase.module.css.cjs +0 -7
  444. package/cjs/components/PickerInputBase/PickerInputBase.module.css.cjs.map +0 -1
  445. package/cjs/components/TimeGrid/TimeGrid.module.css.cjs +0 -7
  446. package/cjs/components/TimeGrid/TimeGrid.module.css.cjs.map +0 -1
  447. package/cjs/components/TimeInput/TimeInput.module.css.cjs +0 -7
  448. package/cjs/components/TimeInput/TimeInput.module.css.cjs.map +0 -1
  449. package/cjs/components/TimePicker/TimePicker.module.css.cjs +0 -7
  450. package/cjs/components/TimePicker/TimePicker.module.css.cjs.map +0 -1
  451. package/cjs/components/WeekdaysRow/WeekdaysRow.module.css.cjs +0 -7
  452. package/cjs/components/WeekdaysRow/WeekdaysRow.module.css.cjs.map +0 -1
  453. package/cjs/components/YearsList/YearsList.module.css.cjs +0 -7
  454. package/cjs/components/YearsList/YearsList.module.css.cjs.map +0 -1
  455. package/cjs/index.cjs.map +0 -1
  456. package/esm/components/CalendarHeader/CalendarHeader.module.css.mjs +0 -5
  457. package/esm/components/CalendarHeader/CalendarHeader.module.css.mjs.map +0 -1
  458. package/esm/components/DatePicker/DatePicker.module.css.mjs +0 -5
  459. package/esm/components/DatePicker/DatePicker.module.css.mjs.map +0 -1
  460. package/esm/components/DateTimePicker/DateTimePicker.module.css.mjs +0 -5
  461. package/esm/components/DateTimePicker/DateTimePicker.module.css.mjs.map +0 -1
  462. package/esm/components/Day/Day.module.css.mjs +0 -5
  463. package/esm/components/Day/Day.module.css.mjs.map +0 -1
  464. package/esm/components/LevelsGroup/LevelsGroup.module.css.mjs +0 -5
  465. package/esm/components/LevelsGroup/LevelsGroup.module.css.mjs.map +0 -1
  466. package/esm/components/MiniCalendar/MiniCalendar.module.css.mjs +0 -5
  467. package/esm/components/MiniCalendar/MiniCalendar.module.css.mjs.map +0 -1
  468. package/esm/components/Month/Month.module.css.mjs +0 -5
  469. package/esm/components/Month/Month.module.css.mjs.map +0 -1
  470. package/esm/components/MonthsList/MonthsList.module.css.mjs +0 -5
  471. package/esm/components/MonthsList/MonthsList.module.css.mjs.map +0 -1
  472. package/esm/components/PickerControl/PickerControl.module.css.mjs +0 -5
  473. package/esm/components/PickerControl/PickerControl.module.css.mjs.map +0 -1
  474. package/esm/components/PickerInputBase/PickerInputBase.module.css.mjs +0 -5
  475. package/esm/components/PickerInputBase/PickerInputBase.module.css.mjs.map +0 -1
  476. package/esm/components/TimeGrid/TimeGrid.module.css.mjs +0 -5
  477. package/esm/components/TimeGrid/TimeGrid.module.css.mjs.map +0 -1
  478. package/esm/components/TimeInput/TimeInput.module.css.mjs +0 -5
  479. package/esm/components/TimeInput/TimeInput.module.css.mjs.map +0 -1
  480. package/esm/components/TimePicker/TimePicker.module.css.mjs +0 -5
  481. package/esm/components/TimePicker/TimePicker.module.css.mjs.map +0 -1
  482. package/esm/components/WeekdaysRow/WeekdaysRow.module.css.mjs +0 -5
  483. package/esm/components/WeekdaysRow/WeekdaysRow.module.css.mjs.map +0 -1
  484. package/esm/components/YearsList/YearsList.module.css.mjs +0 -5
  485. package/esm/components/YearsList/YearsList.module.css.mjs.map +0 -1
  486. package/esm/index.mjs.map +0 -1
@@ -1,158 +1,123 @@
1
- 'use client';
2
- 'use strict';
3
-
1
+ "use client";
2
+ //#region packages/@mantine/dates/src/utils/handle-control-key-down/handle-control-key-down.ts
4
3
  function getNextIndex({ direction, levelIndex, rowIndex, cellIndex, size }) {
5
- switch (direction) {
6
- case "up":
7
- if (levelIndex === 0 && rowIndex === 0) {
8
- return null;
9
- }
10
- if (rowIndex === 0) {
11
- return {
12
- levelIndex: levelIndex - 1,
13
- rowIndex: cellIndex <= size[levelIndex - 1][size[levelIndex - 1].length - 1] - 1 ? size[levelIndex - 1].length - 1 : size[levelIndex - 1].length - 2,
14
- cellIndex
15
- };
16
- }
17
- return {
18
- levelIndex,
19
- rowIndex: rowIndex - 1,
20
- cellIndex
21
- };
22
- case "down":
23
- if (rowIndex === size[levelIndex].length - 1) {
24
- return {
25
- levelIndex: levelIndex + 1,
26
- rowIndex: 0,
27
- cellIndex
28
- };
29
- }
30
- if (rowIndex === size[levelIndex].length - 2 && cellIndex >= size[levelIndex][size[levelIndex].length - 1]) {
31
- return {
32
- levelIndex: levelIndex + 1,
33
- rowIndex: 0,
34
- cellIndex
35
- };
36
- }
37
- return {
38
- levelIndex,
39
- rowIndex: rowIndex + 1,
40
- cellIndex
41
- };
42
- case "left":
43
- if (levelIndex === 0 && rowIndex === 0 && cellIndex === 0) {
44
- return null;
45
- }
46
- if (rowIndex === 0 && cellIndex === 0) {
47
- return {
48
- levelIndex: levelIndex - 1,
49
- rowIndex: size[levelIndex - 1].length - 1,
50
- cellIndex: size[levelIndex - 1][size[levelIndex - 1].length - 1] - 1
51
- };
52
- }
53
- if (cellIndex === 0) {
54
- return {
55
- levelIndex,
56
- rowIndex: rowIndex - 1,
57
- cellIndex: size[levelIndex][rowIndex - 1] - 1
58
- };
59
- }
60
- return {
61
- levelIndex,
62
- rowIndex,
63
- cellIndex: cellIndex - 1
64
- };
65
- case "right":
66
- if (rowIndex === size[levelIndex].length - 1 && cellIndex === size[levelIndex][rowIndex] - 1) {
67
- return {
68
- levelIndex: levelIndex + 1,
69
- rowIndex: 0,
70
- cellIndex: 0
71
- };
72
- }
73
- if (cellIndex === size[levelIndex][rowIndex] - 1) {
74
- return {
75
- levelIndex,
76
- rowIndex: rowIndex + 1,
77
- cellIndex: 0
78
- };
79
- }
80
- return {
81
- levelIndex,
82
- rowIndex,
83
- cellIndex: cellIndex + 1
84
- };
85
- default:
86
- return { levelIndex, rowIndex, cellIndex };
87
- }
4
+ switch (direction) {
5
+ case "up":
6
+ if (levelIndex === 0 && rowIndex === 0) return null;
7
+ if (rowIndex === 0) return {
8
+ levelIndex: levelIndex - 1,
9
+ rowIndex: cellIndex <= size[levelIndex - 1][size[levelIndex - 1].length - 1] - 1 ? size[levelIndex - 1].length - 1 : size[levelIndex - 1].length - 2,
10
+ cellIndex
11
+ };
12
+ return {
13
+ levelIndex,
14
+ rowIndex: rowIndex - 1,
15
+ cellIndex
16
+ };
17
+ case "down":
18
+ if (rowIndex === size[levelIndex].length - 1) return {
19
+ levelIndex: levelIndex + 1,
20
+ rowIndex: 0,
21
+ cellIndex
22
+ };
23
+ if (rowIndex === size[levelIndex].length - 2 && cellIndex >= size[levelIndex][size[levelIndex].length - 1]) return {
24
+ levelIndex: levelIndex + 1,
25
+ rowIndex: 0,
26
+ cellIndex
27
+ };
28
+ return {
29
+ levelIndex,
30
+ rowIndex: rowIndex + 1,
31
+ cellIndex
32
+ };
33
+ case "left":
34
+ if (levelIndex === 0 && rowIndex === 0 && cellIndex === 0) return null;
35
+ if (rowIndex === 0 && cellIndex === 0) return {
36
+ levelIndex: levelIndex - 1,
37
+ rowIndex: size[levelIndex - 1].length - 1,
38
+ cellIndex: size[levelIndex - 1][size[levelIndex - 1].length - 1] - 1
39
+ };
40
+ if (cellIndex === 0) return {
41
+ levelIndex,
42
+ rowIndex: rowIndex - 1,
43
+ cellIndex: size[levelIndex][rowIndex - 1] - 1
44
+ };
45
+ return {
46
+ levelIndex,
47
+ rowIndex,
48
+ cellIndex: cellIndex - 1
49
+ };
50
+ case "right":
51
+ if (rowIndex === size[levelIndex].length - 1 && cellIndex === size[levelIndex][rowIndex] - 1) return {
52
+ levelIndex: levelIndex + 1,
53
+ rowIndex: 0,
54
+ cellIndex: 0
55
+ };
56
+ if (cellIndex === size[levelIndex][rowIndex] - 1) return {
57
+ levelIndex,
58
+ rowIndex: rowIndex + 1,
59
+ cellIndex: 0
60
+ };
61
+ return {
62
+ levelIndex,
63
+ rowIndex,
64
+ cellIndex: cellIndex + 1
65
+ };
66
+ default: return {
67
+ levelIndex,
68
+ rowIndex,
69
+ cellIndex
70
+ };
71
+ }
88
72
  }
89
- function focusOnNextFocusableControl({
90
- controlsRef,
91
- direction,
92
- levelIndex,
93
- rowIndex,
94
- cellIndex,
95
- size
96
- }) {
97
- const nextIndex = getNextIndex({ direction, size, rowIndex, cellIndex, levelIndex });
98
- if (!nextIndex) {
99
- return;
100
- }
101
- const controlToFocus = controlsRef.current?.[nextIndex.levelIndex]?.[nextIndex.rowIndex]?.[nextIndex.cellIndex];
102
- if (!controlToFocus) {
103
- return;
104
- }
105
- if (controlToFocus.disabled || controlToFocus.getAttribute("data-hidden") || controlToFocus.getAttribute("data-outside")) {
106
- focusOnNextFocusableControl({
107
- controlsRef,
108
- direction,
109
- levelIndex: nextIndex.levelIndex,
110
- cellIndex: nextIndex.cellIndex,
111
- rowIndex: nextIndex.rowIndex,
112
- size
113
- });
114
- } else {
115
- controlToFocus.focus();
116
- }
73
+ function focusOnNextFocusableControl({ controlsRef, direction, levelIndex, rowIndex, cellIndex, size }) {
74
+ const nextIndex = getNextIndex({
75
+ direction,
76
+ size,
77
+ rowIndex,
78
+ cellIndex,
79
+ levelIndex
80
+ });
81
+ if (!nextIndex) return;
82
+ const controlToFocus = controlsRef.current?.[nextIndex.levelIndex]?.[nextIndex.rowIndex]?.[nextIndex.cellIndex];
83
+ if (!controlToFocus) return;
84
+ if (controlToFocus.disabled || controlToFocus.getAttribute("data-hidden") || controlToFocus.getAttribute("data-outside")) focusOnNextFocusableControl({
85
+ controlsRef,
86
+ direction,
87
+ levelIndex: nextIndex.levelIndex,
88
+ cellIndex: nextIndex.cellIndex,
89
+ rowIndex: nextIndex.rowIndex,
90
+ size
91
+ });
92
+ else controlToFocus.focus();
117
93
  }
118
94
  function getDirection(key) {
119
- switch (key) {
120
- case "ArrowDown":
121
- return "down";
122
- case "ArrowUp":
123
- return "up";
124
- case "ArrowRight":
125
- return "right";
126
- case "ArrowLeft":
127
- return "left";
128
- default:
129
- return null;
130
- }
95
+ switch (key) {
96
+ case "ArrowDown": return "down";
97
+ case "ArrowUp": return "up";
98
+ case "ArrowRight": return "right";
99
+ case "ArrowLeft": return "left";
100
+ default: return null;
101
+ }
131
102
  }
132
103
  function getControlsSize(controlsRef) {
133
- return controlsRef.current?.map((column) => column.map((row) => row.length));
104
+ return controlsRef.current?.map((column) => column.map((row) => row.length));
134
105
  }
135
- function handleControlKeyDown({
136
- controlsRef,
137
- levelIndex,
138
- rowIndex,
139
- cellIndex,
140
- event
141
- }) {
142
- const direction = getDirection(event.key);
143
- if (direction) {
144
- event.preventDefault();
145
- const size = getControlsSize(controlsRef);
146
- focusOnNextFocusableControl({
147
- controlsRef,
148
- direction,
149
- levelIndex,
150
- rowIndex,
151
- cellIndex,
152
- size
153
- });
154
- }
106
+ function handleControlKeyDown({ controlsRef, levelIndex, rowIndex, cellIndex, event }) {
107
+ const direction = getDirection(event.key);
108
+ if (direction) {
109
+ event.preventDefault();
110
+ focusOnNextFocusableControl({
111
+ controlsRef,
112
+ direction,
113
+ levelIndex,
114
+ rowIndex,
115
+ cellIndex,
116
+ size: getControlsSize(controlsRef)
117
+ });
118
+ }
155
119
  }
156
-
120
+ //#endregion
157
121
  exports.handleControlKeyDown = handleControlKeyDown;
158
- //# sourceMappingURL=handle-control-key-down.cjs.map
122
+
123
+ //# sourceMappingURL=handle-control-key-down.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"handle-control-key-down.cjs","sources":["../../../src/utils/handle-control-key-down/handle-control-key-down.ts"],"sourcesContent":["import { RefObject } from 'react';\n\ntype ControlsRef = RefObject<HTMLButtonElement[][][]>;\ntype Direction = 'up' | 'down' | 'left' | 'right';\n\ntype NextIndexInput = Omit<ShiftFocusInput, 'controlsRef'>;\n\nfunction getNextIndex({ direction, levelIndex, rowIndex, cellIndex, size }: NextIndexInput) {\n switch (direction) {\n case 'up':\n if (levelIndex === 0 && rowIndex === 0) {\n return null;\n }\n if (rowIndex === 0) {\n return {\n levelIndex: levelIndex - 1,\n rowIndex:\n cellIndex <= size[levelIndex - 1][size[levelIndex - 1].length - 1] - 1\n ? size[levelIndex - 1].length - 1\n : size[levelIndex - 1].length - 2,\n cellIndex,\n };\n }\n return {\n levelIndex,\n rowIndex: rowIndex - 1,\n cellIndex,\n };\n\n case 'down':\n if (rowIndex === size[levelIndex].length - 1) {\n return {\n levelIndex: levelIndex + 1,\n rowIndex: 0,\n cellIndex,\n };\n }\n if (\n rowIndex === size[levelIndex].length - 2 &&\n cellIndex >= size[levelIndex][size[levelIndex].length - 1]\n ) {\n return {\n levelIndex: levelIndex + 1,\n rowIndex: 0,\n cellIndex,\n };\n }\n return {\n levelIndex,\n rowIndex: rowIndex + 1,\n cellIndex,\n };\n\n case 'left':\n if (levelIndex === 0 && rowIndex === 0 && cellIndex === 0) {\n return null;\n }\n if (rowIndex === 0 && cellIndex === 0) {\n return {\n levelIndex: levelIndex - 1,\n rowIndex: size[levelIndex - 1].length - 1,\n cellIndex: size[levelIndex - 1][size[levelIndex - 1].length - 1] - 1,\n };\n }\n if (cellIndex === 0) {\n return {\n levelIndex,\n rowIndex: rowIndex - 1,\n cellIndex: size[levelIndex][rowIndex - 1] - 1,\n };\n }\n return {\n levelIndex,\n rowIndex,\n cellIndex: cellIndex - 1,\n };\n\n case 'right':\n if (\n rowIndex === size[levelIndex].length - 1 &&\n cellIndex === size[levelIndex][rowIndex] - 1\n ) {\n return {\n levelIndex: levelIndex + 1,\n rowIndex: 0,\n cellIndex: 0,\n };\n }\n if (cellIndex === size[levelIndex][rowIndex] - 1) {\n return {\n levelIndex,\n rowIndex: rowIndex + 1,\n cellIndex: 0,\n };\n }\n return {\n levelIndex,\n rowIndex,\n cellIndex: cellIndex + 1,\n };\n\n default:\n return { levelIndex, rowIndex, cellIndex };\n }\n}\n\ninterface ShiftFocusInput {\n controlsRef: ControlsRef;\n direction: Direction;\n levelIndex: number;\n rowIndex: number;\n cellIndex: number;\n size: number[][];\n}\n\nfunction focusOnNextFocusableControl({\n controlsRef,\n direction,\n levelIndex,\n rowIndex,\n cellIndex,\n size,\n}: ShiftFocusInput) {\n const nextIndex = getNextIndex({ direction, size, rowIndex, cellIndex, levelIndex });\n\n if (!nextIndex) {\n return;\n }\n\n const controlToFocus =\n controlsRef.current?.[nextIndex.levelIndex]?.[nextIndex.rowIndex]?.[nextIndex.cellIndex];\n\n if (!controlToFocus) {\n return;\n }\n\n if (\n controlToFocus.disabled ||\n controlToFocus.getAttribute('data-hidden') ||\n controlToFocus.getAttribute('data-outside')\n ) {\n focusOnNextFocusableControl({\n controlsRef,\n direction,\n levelIndex: nextIndex.levelIndex,\n cellIndex: nextIndex.cellIndex,\n rowIndex: nextIndex.rowIndex,\n size,\n });\n } else {\n controlToFocus.focus();\n }\n}\n\nfunction getDirection(key: KeyboardEvent['key']): Direction {\n switch (key) {\n case 'ArrowDown':\n return 'down';\n case 'ArrowUp':\n return 'up';\n case 'ArrowRight':\n return 'right';\n case 'ArrowLeft':\n return 'left';\n default:\n return null!;\n }\n}\n\nfunction getControlsSize(controlsRef: ControlsRef) {\n return controlsRef.current?.map((column) => column.map((row) => row.length));\n}\n\ninterface HandleControlKeyDownInput {\n controlsRef: ControlsRef;\n levelIndex: number;\n rowIndex: number;\n cellIndex: number;\n event: React.KeyboardEvent<HTMLButtonElement>;\n}\n\nexport function handleControlKeyDown({\n controlsRef,\n levelIndex,\n rowIndex,\n cellIndex,\n event,\n}: HandleControlKeyDownInput) {\n const direction = getDirection(event.key);\n\n if (direction) {\n event.preventDefault();\n\n const size = getControlsSize(controlsRef)!;\n\n focusOnNextFocusableControl({\n controlsRef,\n direction,\n levelIndex,\n rowIndex,\n cellIndex,\n size,\n });\n }\n}\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"handle-control-key-down.cjs","names":[],"sources":["../../../src/utils/handle-control-key-down/handle-control-key-down.ts"],"sourcesContent":["import { RefObject } from 'react';\n\ntype ControlsRef = RefObject<HTMLButtonElement[][][]>;\ntype Direction = 'up' | 'down' | 'left' | 'right';\n\ntype NextIndexInput = Omit<ShiftFocusInput, 'controlsRef'>;\n\nfunction getNextIndex({ direction, levelIndex, rowIndex, cellIndex, size }: NextIndexInput) {\n switch (direction) {\n case 'up':\n if (levelIndex === 0 && rowIndex === 0) {\n return null;\n }\n if (rowIndex === 0) {\n return {\n levelIndex: levelIndex - 1,\n rowIndex:\n cellIndex <= size[levelIndex - 1][size[levelIndex - 1].length - 1] - 1\n ? size[levelIndex - 1].length - 1\n : size[levelIndex - 1].length - 2,\n cellIndex,\n };\n }\n return {\n levelIndex,\n rowIndex: rowIndex - 1,\n cellIndex,\n };\n\n case 'down':\n if (rowIndex === size[levelIndex].length - 1) {\n return {\n levelIndex: levelIndex + 1,\n rowIndex: 0,\n cellIndex,\n };\n }\n if (\n rowIndex === size[levelIndex].length - 2 &&\n cellIndex >= size[levelIndex][size[levelIndex].length - 1]\n ) {\n return {\n levelIndex: levelIndex + 1,\n rowIndex: 0,\n cellIndex,\n };\n }\n return {\n levelIndex,\n rowIndex: rowIndex + 1,\n cellIndex,\n };\n\n case 'left':\n if (levelIndex === 0 && rowIndex === 0 && cellIndex === 0) {\n return null;\n }\n if (rowIndex === 0 && cellIndex === 0) {\n return {\n levelIndex: levelIndex - 1,\n rowIndex: size[levelIndex - 1].length - 1,\n cellIndex: size[levelIndex - 1][size[levelIndex - 1].length - 1] - 1,\n };\n }\n if (cellIndex === 0) {\n return {\n levelIndex,\n rowIndex: rowIndex - 1,\n cellIndex: size[levelIndex][rowIndex - 1] - 1,\n };\n }\n return {\n levelIndex,\n rowIndex,\n cellIndex: cellIndex - 1,\n };\n\n case 'right':\n if (\n rowIndex === size[levelIndex].length - 1 &&\n cellIndex === size[levelIndex][rowIndex] - 1\n ) {\n return {\n levelIndex: levelIndex + 1,\n rowIndex: 0,\n cellIndex: 0,\n };\n }\n if (cellIndex === size[levelIndex][rowIndex] - 1) {\n return {\n levelIndex,\n rowIndex: rowIndex + 1,\n cellIndex: 0,\n };\n }\n return {\n levelIndex,\n rowIndex,\n cellIndex: cellIndex + 1,\n };\n\n default:\n return { levelIndex, rowIndex, cellIndex };\n }\n}\n\ninterface ShiftFocusInput {\n controlsRef: ControlsRef;\n direction: Direction;\n levelIndex: number;\n rowIndex: number;\n cellIndex: number;\n size: number[][];\n}\n\nfunction focusOnNextFocusableControl({\n controlsRef,\n direction,\n levelIndex,\n rowIndex,\n cellIndex,\n size,\n}: ShiftFocusInput) {\n const nextIndex = getNextIndex({ direction, size, rowIndex, cellIndex, levelIndex });\n\n if (!nextIndex) {\n return;\n }\n\n const controlToFocus =\n controlsRef.current?.[nextIndex.levelIndex]?.[nextIndex.rowIndex]?.[nextIndex.cellIndex];\n\n if (!controlToFocus) {\n return;\n }\n\n if (\n controlToFocus.disabled ||\n controlToFocus.getAttribute('data-hidden') ||\n controlToFocus.getAttribute('data-outside')\n ) {\n focusOnNextFocusableControl({\n controlsRef,\n direction,\n levelIndex: nextIndex.levelIndex,\n cellIndex: nextIndex.cellIndex,\n rowIndex: nextIndex.rowIndex,\n size,\n });\n } else {\n controlToFocus.focus();\n }\n}\n\nfunction getDirection(key: KeyboardEvent['key']): Direction {\n switch (key) {\n case 'ArrowDown':\n return 'down';\n case 'ArrowUp':\n return 'up';\n case 'ArrowRight':\n return 'right';\n case 'ArrowLeft':\n return 'left';\n default:\n return null!;\n }\n}\n\nfunction getControlsSize(controlsRef: ControlsRef) {\n return controlsRef.current?.map((column) => column.map((row) => row.length));\n}\n\ninterface HandleControlKeyDownInput {\n controlsRef: ControlsRef;\n levelIndex: number;\n rowIndex: number;\n cellIndex: number;\n event: React.KeyboardEvent<HTMLButtonElement>;\n}\n\nexport function handleControlKeyDown({\n controlsRef,\n levelIndex,\n rowIndex,\n cellIndex,\n event,\n}: HandleControlKeyDownInput) {\n const direction = getDirection(event.key);\n\n if (direction) {\n event.preventDefault();\n\n const size = getControlsSize(controlsRef)!;\n\n focusOnNextFocusableControl({\n controlsRef,\n direction,\n levelIndex,\n rowIndex,\n cellIndex,\n size,\n });\n }\n}\n"],"mappings":";;AAOA,SAAS,aAAa,EAAE,WAAW,YAAY,UAAU,WAAW,QAAwB;AAC1F,SAAQ,WAAR;EACE,KAAK;AACH,OAAI,eAAe,KAAK,aAAa,EACnC,QAAO;AAET,OAAI,aAAa,EACf,QAAO;IACL,YAAY,aAAa;IACzB,UACE,aAAa,KAAK,aAAa,GAAG,KAAK,aAAa,GAAG,SAAS,KAAK,IACjE,KAAK,aAAa,GAAG,SAAS,IAC9B,KAAK,aAAa,GAAG,SAAS;IACpC;IACD;AAEH,UAAO;IACL;IACA,UAAU,WAAW;IACrB;IACD;EAEH,KAAK;AACH,OAAI,aAAa,KAAK,YAAY,SAAS,EACzC,QAAO;IACL,YAAY,aAAa;IACzB,UAAU;IACV;IACD;AAEH,OACE,aAAa,KAAK,YAAY,SAAS,KACvC,aAAa,KAAK,YAAY,KAAK,YAAY,SAAS,GAExD,QAAO;IACL,YAAY,aAAa;IACzB,UAAU;IACV;IACD;AAEH,UAAO;IACL;IACA,UAAU,WAAW;IACrB;IACD;EAEH,KAAK;AACH,OAAI,eAAe,KAAK,aAAa,KAAK,cAAc,EACtD,QAAO;AAET,OAAI,aAAa,KAAK,cAAc,EAClC,QAAO;IACL,YAAY,aAAa;IACzB,UAAU,KAAK,aAAa,GAAG,SAAS;IACxC,WAAW,KAAK,aAAa,GAAG,KAAK,aAAa,GAAG,SAAS,KAAK;IACpE;AAEH,OAAI,cAAc,EAChB,QAAO;IACL;IACA,UAAU,WAAW;IACrB,WAAW,KAAK,YAAY,WAAW,KAAK;IAC7C;AAEH,UAAO;IACL;IACA;IACA,WAAW,YAAY;IACxB;EAEH,KAAK;AACH,OACE,aAAa,KAAK,YAAY,SAAS,KACvC,cAAc,KAAK,YAAY,YAAY,EAE3C,QAAO;IACL,YAAY,aAAa;IACzB,UAAU;IACV,WAAW;IACZ;AAEH,OAAI,cAAc,KAAK,YAAY,YAAY,EAC7C,QAAO;IACL;IACA,UAAU,WAAW;IACrB,WAAW;IACZ;AAEH,UAAO;IACL;IACA;IACA,WAAW,YAAY;IACxB;EAEH,QACE,QAAO;GAAE;GAAY;GAAU;GAAW;;;AAahD,SAAS,4BAA4B,EACnC,aACA,WACA,YACA,UACA,WACA,QACkB;CAClB,MAAM,YAAY,aAAa;EAAE;EAAW;EAAM;EAAU;EAAW;EAAY,CAAC;AAEpF,KAAI,CAAC,UACH;CAGF,MAAM,iBACJ,YAAY,UAAU,UAAU,cAAc,UAAU,YAAY,UAAU;AAEhF,KAAI,CAAC,eACH;AAGF,KACE,eAAe,YACf,eAAe,aAAa,cAAc,IAC1C,eAAe,aAAa,eAAe,CAE3C,6BAA4B;EAC1B;EACA;EACA,YAAY,UAAU;EACtB,WAAW,UAAU;EACrB,UAAU,UAAU;EACpB;EACD,CAAC;KAEF,gBAAe,OAAO;;AAI1B,SAAS,aAAa,KAAsC;AAC1D,SAAQ,KAAR;EACE,KAAK,YACH,QAAO;EACT,KAAK,UACH,QAAO;EACT,KAAK,aACH,QAAO;EACT,KAAK,YACH,QAAO;EACT,QACE,QAAO;;;AAIb,SAAS,gBAAgB,aAA0B;AACjD,QAAO,YAAY,SAAS,KAAK,WAAW,OAAO,KAAK,QAAQ,IAAI,OAAO,CAAC;;AAW9E,SAAgB,qBAAqB,EACnC,aACA,YACA,UACA,WACA,SAC4B;CAC5B,MAAM,YAAY,aAAa,MAAM,IAAI;AAEzC,KAAI,WAAW;AACb,QAAM,gBAAgB;AAItB,8BAA4B;GAC1B;GACA;GACA;GACA;GACA;GACA,MARW,gBAAgB,YAAY;GASxC,CAAC"}
@@ -1,19 +1,16 @@
1
- 'use client';
2
- 'use strict';
3
-
4
- var dayjs = require('dayjs');
5
-
6
- function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
7
-
8
- var dayjs__default = /*#__PURE__*/_interopDefault(dayjs);
9
-
1
+ "use client";
2
+ const require_runtime = require("../../_virtual/_rolldown/runtime.cjs");
3
+ let dayjs = require("dayjs");
4
+ dayjs = require_runtime.__toESM(dayjs);
5
+ //#region packages/@mantine/dates/src/utils/to-date-string/to-date-string.ts
10
6
  function toDateString(value) {
11
- return value == null || value === "" ? value : dayjs__default.default(value).format("YYYY-MM-DD");
7
+ return value == null || value === "" ? value : (0, dayjs.default)(value).format("YYYY-MM-DD");
12
8
  }
13
9
  function toDateTimeString(value) {
14
- return value == null || value === "" ? value : dayjs__default.default(value).format("YYYY-MM-DD HH:mm:ss");
10
+ return value == null || value === "" ? value : (0, dayjs.default)(value).format("YYYY-MM-DD HH:mm:ss");
15
11
  }
16
-
12
+ //#endregion
17
13
  exports.toDateString = toDateString;
18
14
  exports.toDateTimeString = toDateTimeString;
19
- //# sourceMappingURL=to-date-string.cjs.map
15
+
16
+ //# sourceMappingURL=to-date-string.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"to-date-string.cjs","sources":["../../../src/utils/to-date-string/to-date-string.ts"],"sourcesContent":["import dayjs, { Dayjs } from 'dayjs';\nimport { DateStringValue, DateTimeStringValue } from '../../types';\n\n// Helper type to determine the return type based on T and the target main type\ntype ExactOptionalReturn<T, MainType> = T extends undefined\n ? undefined\n : T extends null\n ? null\n : MainType;\n\nexport function toDateString<T extends string | number | Date | Dayjs | undefined | null>(\n value: T\n): ExactOptionalReturn<T, DateStringValue> {\n return (\n value == null || value === '' ? value : dayjs(value).format('YYYY-MM-DD')\n ) as ExactOptionalReturn<T, DateStringValue>;\n}\n\nexport function toDateTimeString<T extends string | number | Date | Dayjs | undefined | null>(\n value: T\n): ExactOptionalReturn<T, DateTimeStringValue> {\n return (\n value == null || value === '' ? value : dayjs(value).format('YYYY-MM-DD HH:mm:ss')\n ) as ExactOptionalReturn<T, DateTimeStringValue>;\n}\n"],"names":["dayjs"],"mappings":";;;;;;;;;AAUO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAS,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EACd,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CACyC,CAAA;AACzC,CAAA,CAAA,OACE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAS,QAAQ,CAAA,CAAA,CAAA,CAAA,CAAA,KAAU,CAAA,CAAA,CAAA,CAAA,CAAK,QAAQA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAA,CAAK,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,YAAY,CAAA,CAAA;AAE5E,CAAA;AAEO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAS,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EACd,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAC6C,CAAA;AAC7C,CAAA,CAAA,OACE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAS,QAAQ,CAAA,CAAA,CAAA,CAAA,CAAA,KAAU,CAAA,CAAA,CAAA,CAAA,CAAK,QAAQA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAA,CAAK,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,qBAAqB,CAAA,CAAA;AAErF,CAAA;;;"}
1
+ {"version":3,"file":"to-date-string.cjs","names":[],"sources":["../../../src/utils/to-date-string/to-date-string.ts"],"sourcesContent":["import dayjs, { Dayjs } from 'dayjs';\nimport { DateStringValue, DateTimeStringValue } from '../../types';\n\n// Helper type to determine the return type based on T and the target main type\ntype ExactOptionalReturn<T, MainType> = T extends undefined\n ? undefined\n : T extends null\n ? null\n : MainType;\n\nexport function toDateString<T extends string | number | Date | Dayjs | undefined | null>(\n value: T\n): ExactOptionalReturn<T, DateStringValue> {\n return (\n value == null || value === '' ? value : dayjs(value).format('YYYY-MM-DD')\n ) as ExactOptionalReturn<T, DateStringValue>;\n}\n\nexport function toDateTimeString<T extends string | number | Date | Dayjs | undefined | null>(\n value: T\n): ExactOptionalReturn<T, DateTimeStringValue> {\n return (\n value == null || value === '' ? value : dayjs(value).format('YYYY-MM-DD HH:mm:ss')\n ) as ExactOptionalReturn<T, DateTimeStringValue>;\n}\n"],"mappings":";;;;;AAUA,SAAgB,aACd,OACyC;AACzC,QACE,SAAS,QAAQ,UAAU,KAAK,SAAA,GAAA,MAAA,SAAc,MAAM,CAAC,OAAO,aAAa;;AAI7E,SAAgB,iBACd,OAC6C;AAC7C,QACE,SAAS,QAAQ,UAAU,KAAK,SAAA,GAAA,MAAA,SAAc,MAAM,CAAC,OAAO,sBAAsB"}