@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,66 +1,47 @@
1
- 'use client';
2
- import dayjs from 'dayjs';
3
- import { useDisclosure } from '@mantine/hooks';
4
- import '../../components/DatesProvider/DatesProvider.mjs';
5
- import { useDatesContext } from '../../components/DatesProvider/use-dates-context.mjs';
6
- import { getFormattedDate } from '../../utils/get-formatted-date/get-formatted-date.mjs';
7
- import { useUncontrolledDates } from '../use-uncontrolled-dates/use-uncontrolled-dates.mjs';
8
-
9
- function useDatesInput({
10
- type,
11
- value,
12
- defaultValue,
13
- onChange,
14
- locale,
15
- format,
16
- closeOnChange,
17
- sortDates,
18
- labelSeparator,
19
- valueFormatter
20
- }) {
21
- const ctx = useDatesContext();
22
- const [dropdownOpened, dropdownHandlers] = useDisclosure(false);
23
- const [_value, _setValue] = useUncontrolledDates({
24
- type,
25
- value,
26
- defaultValue,
27
- onChange
28
- });
29
- const formattedValue = getFormattedDate({
30
- type,
31
- date: _value,
32
- locale: ctx.getLocale(locale),
33
- format,
34
- labelSeparator: ctx.getLabelSeparator(labelSeparator),
35
- formatter: valueFormatter
36
- });
37
- const setValue = (val) => {
38
- if (closeOnChange) {
39
- if (type === "default") {
40
- dropdownHandlers.close();
41
- }
42
- if (type === "range" && val[0] && val[1]) {
43
- dropdownHandlers.close();
44
- }
45
- }
46
- if (sortDates && type === "multiple") {
47
- _setValue([...val].sort((a, b) => dayjs(a).isAfter(dayjs(b)) ? 1 : -1));
48
- } else {
49
- _setValue(val);
50
- }
51
- };
52
- const onClear = () => setValue(type === "range" ? [null, null] : type === "multiple" ? [] : null);
53
- const shouldClear = type === "range" ? !!_value[0] : type === "multiple" ? _value.length > 0 : _value !== null;
54
- return {
55
- _value,
56
- setValue,
57
- onClear,
58
- shouldClear,
59
- formattedValue,
60
- dropdownOpened,
61
- dropdownHandlers
62
- };
1
+ "use client";
2
+ import { getFormattedDate } from "../../utils/get-formatted-date/get-formatted-date.mjs";
3
+ import { useDatesContext } from "../../components/DatesProvider/use-dates-context.mjs";
4
+ import { useUncontrolledDates } from "../use-uncontrolled-dates/use-uncontrolled-dates.mjs";
5
+ import dayjs from "dayjs";
6
+ import { useDisclosure } from "@mantine/hooks";
7
+ //#region packages/@mantine/dates/src/hooks/use-dates-input/use-dates-input.ts
8
+ function useDatesInput({ type, value, defaultValue, onChange, locale, format, closeOnChange, sortDates, labelSeparator, valueFormatter }) {
9
+ const ctx = useDatesContext();
10
+ const [dropdownOpened, dropdownHandlers] = useDisclosure(false);
11
+ const [_value, _setValue] = useUncontrolledDates({
12
+ type,
13
+ value,
14
+ defaultValue,
15
+ onChange
16
+ });
17
+ const formattedValue = getFormattedDate({
18
+ type,
19
+ date: _value,
20
+ locale: ctx.getLocale(locale),
21
+ format,
22
+ labelSeparator: ctx.getLabelSeparator(labelSeparator),
23
+ formatter: valueFormatter
24
+ });
25
+ const setValue = (val) => {
26
+ if (closeOnChange) {
27
+ if (type === "default") dropdownHandlers.close();
28
+ if (type === "range" && val[0] && val[1]) dropdownHandlers.close();
29
+ }
30
+ if (sortDates && type === "multiple") _setValue([...val].sort((a, b) => dayjs(a).isAfter(dayjs(b)) ? 1 : -1));
31
+ else _setValue(val);
32
+ };
33
+ const onClear = () => setValue(type === "range" ? [null, null] : type === "multiple" ? [] : null);
34
+ return {
35
+ _value,
36
+ setValue,
37
+ onClear,
38
+ shouldClear: type === "range" ? !!_value[0] : type === "multiple" ? _value.length > 0 : _value !== null,
39
+ formattedValue,
40
+ dropdownOpened,
41
+ dropdownHandlers
42
+ };
63
43
  }
64
-
44
+ //#endregion
65
45
  export { useDatesInput };
66
- //# sourceMappingURL=use-dates-input.mjs.map
46
+
47
+ //# sourceMappingURL=use-dates-input.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"use-dates-input.mjs","sources":["../../../src/hooks/use-dates-input/use-dates-input.ts"],"sourcesContent":["import dayjs from 'dayjs';\nimport { useDisclosure } from '@mantine/hooks';\nimport { useDatesContext } from '../../components/DatesProvider';\nimport { DatePickerType, DatePickerValue } from '../../types';\nimport { DateFormatter, getFormattedDate } from '../../utils';\nimport { useUncontrolledDates } from '../use-uncontrolled-dates/use-uncontrolled-dates';\n\ninterface UseDatesInput<Type extends DatePickerType = 'default'> {\n type: Type;\n value: DatePickerValue<Type> | undefined;\n defaultValue: DatePickerValue<Type> | undefined;\n onChange: ((value: DatePickerValue<Type>) => void) | undefined;\n locale: string | undefined;\n format: string | undefined;\n closeOnChange: boolean | undefined;\n sortDates: boolean | undefined;\n labelSeparator: string | undefined;\n valueFormatter: DateFormatter | undefined;\n}\n\nexport function useDatesInput<Type extends DatePickerType = 'default'>({\n type,\n value,\n defaultValue,\n onChange,\n locale,\n format,\n closeOnChange,\n sortDates,\n labelSeparator,\n valueFormatter,\n}: UseDatesInput<Type>) {\n const ctx = useDatesContext();\n\n const [dropdownOpened, dropdownHandlers] = useDisclosure(false);\n\n const [_value, _setValue] = useUncontrolledDates({\n type,\n value,\n defaultValue,\n onChange,\n });\n\n const formattedValue = getFormattedDate({\n type,\n date: _value,\n locale: ctx.getLocale(locale),\n format: format!,\n labelSeparator: ctx.getLabelSeparator(labelSeparator),\n formatter: valueFormatter,\n });\n\n const setValue = (val: any) => {\n if (closeOnChange) {\n if (type === 'default') {\n dropdownHandlers.close();\n }\n\n if (type === 'range' && val[0] && val[1]) {\n dropdownHandlers.close();\n }\n }\n\n if (sortDates && type === 'multiple') {\n _setValue([...val].sort((a, b) => (dayjs(a).isAfter(dayjs(b)) ? 1 : -1)));\n } else {\n _setValue(val);\n }\n };\n\n const onClear = () => setValue(type === 'range' ? [null, null] : type === 'multiple' ? [] : null);\n const shouldClear =\n type === 'range' ? !!_value[0] : type === 'multiple' ? _value.length > 0 : _value !== null;\n\n return {\n _value,\n setValue,\n onClear,\n shouldClear,\n formattedValue,\n dropdownOpened,\n dropdownHandlers,\n };\n}\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"use-dates-input.mjs","names":[],"sources":["../../../src/hooks/use-dates-input/use-dates-input.ts"],"sourcesContent":["import dayjs from 'dayjs';\nimport { useDisclosure } from '@mantine/hooks';\nimport { useDatesContext } from '../../components/DatesProvider';\nimport { DatePickerType, DatePickerValue } from '../../types';\nimport { DateFormatter, getFormattedDate } from '../../utils';\nimport { useUncontrolledDates } from '../use-uncontrolled-dates/use-uncontrolled-dates';\n\ninterface UseDatesInput<Type extends DatePickerType = 'default'> {\n type: Type;\n value: DatePickerValue<Type> | undefined;\n defaultValue: DatePickerValue<Type> | undefined;\n onChange: ((value: DatePickerValue<Type>) => void) | undefined;\n locale: string | undefined;\n format: string | undefined;\n closeOnChange: boolean | undefined;\n sortDates: boolean | undefined;\n labelSeparator: string | undefined;\n valueFormatter: DateFormatter | undefined;\n}\n\nexport function useDatesInput<Type extends DatePickerType = 'default'>({\n type,\n value,\n defaultValue,\n onChange,\n locale,\n format,\n closeOnChange,\n sortDates,\n labelSeparator,\n valueFormatter,\n}: UseDatesInput<Type>) {\n const ctx = useDatesContext();\n\n const [dropdownOpened, dropdownHandlers] = useDisclosure(false);\n\n const [_value, _setValue] = useUncontrolledDates({\n type,\n value,\n defaultValue,\n onChange,\n });\n\n const formattedValue = getFormattedDate({\n type,\n date: _value,\n locale: ctx.getLocale(locale),\n format: format!,\n labelSeparator: ctx.getLabelSeparator(labelSeparator),\n formatter: valueFormatter,\n });\n\n const setValue = (val: any) => {\n if (closeOnChange) {\n if (type === 'default') {\n dropdownHandlers.close();\n }\n\n if (type === 'range' && val[0] && val[1]) {\n dropdownHandlers.close();\n }\n }\n\n if (sortDates && type === 'multiple') {\n _setValue([...val].sort((a, b) => (dayjs(a).isAfter(dayjs(b)) ? 1 : -1)));\n } else {\n _setValue(val);\n }\n };\n\n const onClear = () => setValue(type === 'range' ? [null, null] : type === 'multiple' ? [] : null);\n const shouldClear =\n type === 'range' ? !!_value[0] : type === 'multiple' ? _value.length > 0 : _value !== null;\n\n return {\n _value,\n setValue,\n onClear,\n shouldClear,\n formattedValue,\n dropdownOpened,\n dropdownHandlers,\n };\n}\n"],"mappings":";;;;;;;AAoBA,SAAgB,cAAuD,EACrE,MACA,OACA,cACA,UACA,QACA,QACA,eACA,WACA,gBACA,kBACsB;CACtB,MAAM,MAAM,iBAAiB;CAE7B,MAAM,CAAC,gBAAgB,oBAAoB,cAAc,MAAM;CAE/D,MAAM,CAAC,QAAQ,aAAa,qBAAqB;EAC/C;EACA;EACA;EACA;EACD,CAAC;CAEF,MAAM,iBAAiB,iBAAiB;EACtC;EACA,MAAM;EACN,QAAQ,IAAI,UAAU,OAAO;EACrB;EACR,gBAAgB,IAAI,kBAAkB,eAAe;EACrD,WAAW;EACZ,CAAC;CAEF,MAAM,YAAY,QAAa;AAC7B,MAAI,eAAe;AACjB,OAAI,SAAS,UACX,kBAAiB,OAAO;AAG1B,OAAI,SAAS,WAAW,IAAI,MAAM,IAAI,GACpC,kBAAiB,OAAO;;AAI5B,MAAI,aAAa,SAAS,WACxB,WAAU,CAAC,GAAG,IAAI,CAAC,MAAM,GAAG,MAAO,MAAM,EAAE,CAAC,QAAQ,MAAM,EAAE,CAAC,GAAG,IAAI,GAAI,CAAC;MAEzE,WAAU,IAAI;;CAIlB,MAAM,gBAAgB,SAAS,SAAS,UAAU,CAAC,MAAM,KAAK,GAAG,SAAS,aAAa,EAAE,GAAG,KAAK;AAIjG,QAAO;EACL;EACA;EACA;EACA,aANA,SAAS,UAAU,CAAC,CAAC,OAAO,KAAK,SAAS,aAAa,OAAO,SAAS,IAAI,WAAW;EAOtF;EACA;EACA;EACD"}
@@ -1,10 +1,11 @@
1
- 'use client';
2
- import dayjs from 'dayjs';
3
-
1
+ "use client";
2
+ import dayjs from "dayjs";
3
+ //#region packages/@mantine/dates/src/hooks/use-dates-state/is-in-range/is-in-range.ts
4
4
  function isInRange(date, range) {
5
- const _range = [...range].sort((a, b) => dayjs(a).isAfter(dayjs(b)) ? 1 : -1);
6
- return dayjs(_range[0]).startOf("day").subtract(1, "ms").isBefore(date) && dayjs(_range[1]).endOf("day").add(1, "ms").isAfter(date);
5
+ const _range = [...range].sort((a, b) => dayjs(a).isAfter(dayjs(b)) ? 1 : -1);
6
+ return dayjs(_range[0]).startOf("day").subtract(1, "ms").isBefore(date) && dayjs(_range[1]).endOf("day").add(1, "ms").isAfter(date);
7
7
  }
8
-
8
+ //#endregion
9
9
  export { isInRange };
10
- //# sourceMappingURL=is-in-range.mjs.map
10
+
11
+ //# sourceMappingURL=is-in-range.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"is-in-range.mjs","sources":["../../../../src/hooks/use-dates-state/is-in-range/is-in-range.ts"],"sourcesContent":["import dayjs from 'dayjs';\nimport { DateStringValue } from '../../../types';\n\nexport function isInRange(date: DateStringValue, range: [DateStringValue, DateStringValue]) {\n const _range = [...range].sort((a, b) => (dayjs(a).isAfter(dayjs(b)) ? 1 : -1));\n return (\n dayjs(_range[0]).startOf('day').subtract(1, 'ms').isBefore(date) &&\n dayjs(_range[1]).endOf('day').add(1, 'ms').isAfter(date)\n );\n}\n"],"names":[],"mappings":";;;AAGO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAS,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAU,CAAA,CAAA,CAAA,GAAuB,KAAA,CAAA,CAA2C,CAAA;AAC1F,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAA,CAAA,IAAS,CAAC,CAAA,CAAA,CAAG,CAAA,CAAA,CAAA,CAAA,CAAK,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAK,CAAC,CAAA,EAAG,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAC,EAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAC,CAAC,CAAA,CAAA,CAAA,CAAI,IAAI,EAAG,CAAA,CAAA;AAC9E,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CACE,KAAA,CAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAC,CAAC,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,KAAK,CAAA,CAAE,QAAA,CAAS,CAAA,EAAG,CAAA,CAAA,CAAA,CAAI,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAS,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAA,CAAA,CAC/D,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAC,CAAC,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAA,CAAK,CAAA,CAAE,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAG,CAAA,CAAA,CAAA,CAAI,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA;AAE3D,CAAA;;"}
1
+ {"version":3,"file":"is-in-range.mjs","names":[],"sources":["../../../../src/hooks/use-dates-state/is-in-range/is-in-range.ts"],"sourcesContent":["import dayjs from 'dayjs';\nimport { DateStringValue } from '../../../types';\n\nexport function isInRange(date: DateStringValue, range: [DateStringValue, DateStringValue]) {\n const _range = [...range].sort((a, b) => (dayjs(a).isAfter(dayjs(b)) ? 1 : -1));\n return (\n dayjs(_range[0]).startOf('day').subtract(1, 'ms').isBefore(date) &&\n dayjs(_range[1]).endOf('day').add(1, 'ms').isAfter(date)\n );\n}\n"],"mappings":";;;AAGA,SAAgB,UAAU,MAAuB,OAA2C;CAC1F,MAAM,SAAS,CAAC,GAAG,MAAM,CAAC,MAAM,GAAG,MAAO,MAAM,EAAE,CAAC,QAAQ,MAAM,EAAE,CAAC,GAAG,IAAI,GAAI;AAC/E,QACE,MAAM,OAAO,GAAG,CAAC,QAAQ,MAAM,CAAC,SAAS,GAAG,KAAK,CAAC,SAAS,KAAK,IAChE,MAAM,OAAO,GAAG,CAAC,MAAM,MAAM,CAAC,IAAI,GAAG,KAAK,CAAC,QAAQ,KAAK"}
@@ -1,150 +1,113 @@
1
- 'use client';
2
- import dayjs from 'dayjs';
3
- import { useState, useEffect } from 'react';
4
- import { useUncontrolledDates } from '../use-uncontrolled-dates/use-uncontrolled-dates.mjs';
5
- import { isInRange } from './is-in-range/is-in-range.mjs';
6
-
7
- function useDatesState({
8
- type,
9
- level,
10
- value,
11
- defaultValue,
12
- onChange,
13
- allowSingleDateInRange,
14
- allowDeselect,
15
- onMouseLeave
16
- }) {
17
- const [_value, setValue] = useUncontrolledDates({
18
- type,
19
- value,
20
- defaultValue,
21
- onChange
22
- });
23
- const [pickedDate, setPickedDate] = useState(
24
- type === "range" ? _value[0] && !_value[1] ? _value[0] : null : null
25
- );
26
- const [hoveredDate, setHoveredDate] = useState(null);
27
- const onDateChange = (date) => {
28
- if (type === "range") {
29
- if (pickedDate && !_value[1]) {
30
- if (dayjs(date).isSame(pickedDate, level) && !allowSingleDateInRange) {
31
- setPickedDate(null);
32
- setHoveredDate(null);
33
- setValue([null, null]);
34
- return;
35
- }
36
- const result = [date, pickedDate];
37
- result.sort((a, b) => dayjs(a).isAfter(dayjs(b)) ? 1 : -1);
38
- setValue(result);
39
- setHoveredDate(null);
40
- setPickedDate(null);
41
- return;
42
- }
43
- if (_value[0] && !_value[1] && dayjs(date).isSame(_value[0], level) && !allowSingleDateInRange) {
44
- setPickedDate(null);
45
- setHoveredDate(null);
46
- setValue([null, null]);
47
- return;
48
- }
49
- setValue([date, null]);
50
- setHoveredDate(null);
51
- setPickedDate(date);
52
- return;
53
- }
54
- if (type === "multiple") {
55
- if (_value.some((selected) => dayjs(selected).isSame(date, level))) {
56
- setValue(_value.filter((selected) => !dayjs(selected).isSame(date, level)));
57
- } else {
58
- setValue([..._value, date]);
59
- }
60
- return;
61
- }
62
- if (_value && allowDeselect && dayjs(date).isSame(_value, level)) {
63
- setValue(null);
64
- } else {
65
- setValue(date);
66
- }
67
- };
68
- const isDateInRange = (date) => {
69
- if (pickedDate && hoveredDate) {
70
- return isInRange(date, [hoveredDate, pickedDate]);
71
- }
72
- if (_value[0] && _value[1]) {
73
- return isInRange(date, _value);
74
- }
75
- return false;
76
- };
77
- const onRootMouseLeave = type === "range" ? (event) => {
78
- onMouseLeave?.(event);
79
- setHoveredDate(null);
80
- } : onMouseLeave;
81
- const isFirstInRange = (date) => {
82
- if (!_value[0]) {
83
- return false;
84
- }
85
- if (dayjs(date).isSame(_value[0], level)) {
86
- return !(hoveredDate && dayjs(hoveredDate).isBefore(_value[0]));
87
- }
88
- return false;
89
- };
90
- const isLastInRange = (date) => {
91
- if (_value[1]) {
92
- return dayjs(date).isSame(_value[1], level);
93
- }
94
- if (!_value[0] || !hoveredDate) {
95
- return false;
96
- }
97
- return dayjs(hoveredDate).isBefore(_value[0]) && dayjs(date).isSame(_value[0], level);
98
- };
99
- const getControlProps = (date) => {
100
- if (type === "range") {
101
- return {
102
- selected: _value.some(
103
- (selection) => selection && dayjs(selection).isSame(date, level)
104
- ),
105
- inRange: isDateInRange(date),
106
- firstInRange: isFirstInRange(date),
107
- lastInRange: isLastInRange(date),
108
- "data-autofocus": !!_value[0] && dayjs(_value[0]).isSame(date, level) || void 0
109
- };
110
- }
111
- if (type === "multiple") {
112
- return {
113
- selected: _value.some(
114
- (selection) => selection && dayjs(selection).isSame(date, level)
115
- ),
116
- "data-autofocus": !!_value[0] && dayjs(_value[0]).isSame(date, level) || void 0
117
- };
118
- }
119
- const selected = dayjs(_value).isSame(date, level);
120
- return { selected, "data-autofocus": selected || void 0 };
121
- };
122
- const onHoveredDateChange = type === "range" && pickedDate ? setHoveredDate : () => {
123
- };
124
- useEffect(() => {
125
- if (type !== "range") {
126
- return;
127
- }
128
- if (_value[0] && !_value[1]) {
129
- setPickedDate(_value[0]);
130
- } else {
131
- const isNeitherSelected = _value[0] == null && _value[1] == null;
132
- const isBothSelected = _value[0] != null && _value[1] != null;
133
- if (isNeitherSelected || isBothSelected) {
134
- setPickedDate(null);
135
- setHoveredDate(null);
136
- }
137
- }
138
- }, [_value]);
139
- return {
140
- onDateChange,
141
- onRootMouseLeave,
142
- onHoveredDateChange,
143
- getControlProps,
144
- _value,
145
- setValue
146
- };
1
+ "use client";
2
+ import { useUncontrolledDates } from "../use-uncontrolled-dates/use-uncontrolled-dates.mjs";
3
+ import { isInRange } from "./is-in-range/is-in-range.mjs";
4
+ import dayjs from "dayjs";
5
+ import { useEffect, useState } from "react";
6
+ //#region packages/@mantine/dates/src/hooks/use-dates-state/use-dates-state.ts
7
+ function useDatesState({ type, level, value, defaultValue, onChange, allowSingleDateInRange, allowDeselect, onMouseLeave }) {
8
+ const [_value, setValue] = useUncontrolledDates({
9
+ type,
10
+ value,
11
+ defaultValue,
12
+ onChange
13
+ });
14
+ const [pickedDate, setPickedDate] = useState(type === "range" ? _value[0] && !_value[1] ? _value[0] : null : null);
15
+ const [hoveredDate, setHoveredDate] = useState(null);
16
+ const onDateChange = (date) => {
17
+ if (type === "range") {
18
+ if (pickedDate && !_value[1]) {
19
+ if (dayjs(date).isSame(pickedDate, level) && !allowSingleDateInRange) {
20
+ setPickedDate(null);
21
+ setHoveredDate(null);
22
+ setValue([null, null]);
23
+ return;
24
+ }
25
+ const result = [date, pickedDate];
26
+ result.sort((a, b) => dayjs(a).isAfter(dayjs(b)) ? 1 : -1);
27
+ setValue(result);
28
+ setHoveredDate(null);
29
+ setPickedDate(null);
30
+ return;
31
+ }
32
+ if (_value[0] && !_value[1] && dayjs(date).isSame(_value[0], level) && !allowSingleDateInRange) {
33
+ setPickedDate(null);
34
+ setHoveredDate(null);
35
+ setValue([null, null]);
36
+ return;
37
+ }
38
+ setValue([date, null]);
39
+ setHoveredDate(null);
40
+ setPickedDate(date);
41
+ return;
42
+ }
43
+ if (type === "multiple") {
44
+ if (_value.some((selected) => dayjs(selected).isSame(date, level))) setValue(_value.filter((selected) => !dayjs(selected).isSame(date, level)));
45
+ else setValue([..._value, date]);
46
+ return;
47
+ }
48
+ if (_value && allowDeselect && dayjs(date).isSame(_value, level)) setValue(null);
49
+ else setValue(date);
50
+ };
51
+ const isDateInRange = (date) => {
52
+ if (pickedDate && hoveredDate) return isInRange(date, [hoveredDate, pickedDate]);
53
+ if (_value[0] && _value[1]) return isInRange(date, _value);
54
+ return false;
55
+ };
56
+ const onRootMouseLeave = type === "range" ? (event) => {
57
+ onMouseLeave?.(event);
58
+ setHoveredDate(null);
59
+ } : onMouseLeave;
60
+ const isFirstInRange = (date) => {
61
+ if (!_value[0]) return false;
62
+ if (dayjs(date).isSame(_value[0], level)) return !(hoveredDate && dayjs(hoveredDate).isBefore(_value[0]));
63
+ return false;
64
+ };
65
+ const isLastInRange = (date) => {
66
+ if (_value[1]) return dayjs(date).isSame(_value[1], level);
67
+ if (!_value[0] || !hoveredDate) return false;
68
+ return dayjs(hoveredDate).isBefore(_value[0]) && dayjs(date).isSame(_value[0], level);
69
+ };
70
+ const getControlProps = (date) => {
71
+ if (type === "range") return {
72
+ selected: _value.some((selection) => selection && dayjs(selection).isSame(date, level)),
73
+ inRange: isDateInRange(date),
74
+ firstInRange: isFirstInRange(date),
75
+ lastInRange: isLastInRange(date),
76
+ "data-autofocus": !!_value[0] && dayjs(_value[0]).isSame(date, level) || void 0
77
+ };
78
+ if (type === "multiple") return {
79
+ selected: _value.some((selection) => selection && dayjs(selection).isSame(date, level)),
80
+ "data-autofocus": !!_value[0] && dayjs(_value[0]).isSame(date, level) || void 0
81
+ };
82
+ const selected = dayjs(_value).isSame(date, level);
83
+ return {
84
+ selected,
85
+ "data-autofocus": selected || void 0
86
+ };
87
+ };
88
+ const onHoveredDateChange = type === "range" && pickedDate ? setHoveredDate : () => {};
89
+ useEffect(() => {
90
+ if (type !== "range") return;
91
+ if (_value[0] && !_value[1]) setPickedDate(_value[0]);
92
+ else {
93
+ const isNeitherSelected = _value[0] == null && _value[1] == null;
94
+ const isBothSelected = _value[0] != null && _value[1] != null;
95
+ if (isNeitherSelected || isBothSelected) {
96
+ setPickedDate(null);
97
+ setHoveredDate(null);
98
+ }
99
+ }
100
+ }, [_value]);
101
+ return {
102
+ onDateChange,
103
+ onRootMouseLeave,
104
+ onHoveredDateChange,
105
+ getControlProps,
106
+ _value,
107
+ setValue
108
+ };
147
109
  }
148
-
110
+ //#endregion
149
111
  export { useDatesState };
150
- //# sourceMappingURL=use-dates-state.mjs.map
112
+
113
+ //# sourceMappingURL=use-dates-state.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"use-dates-state.mjs","sources":["../../../src/hooks/use-dates-state/use-dates-state.ts"],"sourcesContent":["import dayjs from 'dayjs';\nimport { useEffect, useState } from 'react';\nimport { DatePickerType, DateStringValue, PickerBaseProps } from '../../types';\nimport { useUncontrolledDates } from '../use-uncontrolled-dates/use-uncontrolled-dates';\nimport { isInRange } from './is-in-range/is-in-range';\n\ninterface UseDatesRangeInput<\n Type extends DatePickerType = 'default',\n> extends PickerBaseProps<Type> {\n level: 'year' | 'month' | 'day';\n type: Type;\n onMouseLeave?: (event: React.MouseEvent<HTMLDivElement>) => void;\n}\n\nexport function useDatesState<Type extends DatePickerType = 'default'>({\n type,\n level,\n value,\n defaultValue,\n onChange,\n allowSingleDateInRange,\n allowDeselect,\n onMouseLeave,\n}: UseDatesRangeInput<Type>) {\n const [_value, setValue] = useUncontrolledDates({\n type,\n value,\n defaultValue,\n onChange,\n });\n\n const [pickedDate, setPickedDate] = useState<DateStringValue | null>(\n type === 'range' ? (_value[0] && !_value[1] ? _value[0] : null) : null\n );\n const [hoveredDate, setHoveredDate] = useState<DateStringValue | null>(null);\n\n const onDateChange = (date: DateStringValue) => {\n if (type === 'range') {\n if (pickedDate && !_value[1]) {\n if (dayjs(date).isSame(pickedDate, level) && !allowSingleDateInRange) {\n setPickedDate(null);\n setHoveredDate(null);\n setValue([null, null]);\n return;\n }\n\n const result: [DateStringValue, DateStringValue] = [date, pickedDate];\n result.sort((a, b) => (dayjs(a).isAfter(dayjs(b)) ? 1 : -1));\n setValue(result);\n setHoveredDate(null);\n setPickedDate(null);\n return;\n }\n\n if (\n _value[0] &&\n !_value[1] &&\n dayjs(date).isSame(_value[0], level) &&\n !allowSingleDateInRange\n ) {\n setPickedDate(null);\n setHoveredDate(null);\n setValue([null, null]);\n return;\n }\n\n setValue([date, null]);\n setHoveredDate(null);\n setPickedDate(date);\n return;\n }\n\n if (type === 'multiple') {\n if (_value.some((selected: Date) => dayjs(selected).isSame(date, level))) {\n setValue(_value.filter((selected: Date) => !dayjs(selected).isSame(date, level)));\n } else {\n setValue([..._value, date]);\n }\n\n return;\n }\n\n if (_value && allowDeselect && dayjs(date).isSame(_value, level)) {\n setValue(null);\n } else {\n setValue(date);\n }\n };\n\n const isDateInRange = (date: DateStringValue) => {\n if (pickedDate && hoveredDate) {\n return isInRange(date, [hoveredDate, pickedDate]);\n }\n\n if (_value[0] && _value[1]) {\n return isInRange(date, _value);\n }\n\n return false;\n };\n\n const onRootMouseLeave =\n type === 'range'\n ? (event: React.MouseEvent<HTMLDivElement>) => {\n onMouseLeave?.(event);\n setHoveredDate(null);\n }\n : onMouseLeave;\n\n const isFirstInRange = (date: DateStringValue) => {\n if (!_value[0]) {\n return false;\n }\n\n if (dayjs(date).isSame(_value[0], level)) {\n return !(hoveredDate && dayjs(hoveredDate).isBefore(_value[0]));\n }\n\n return false;\n };\n\n const isLastInRange = (date: DateStringValue) => {\n if (_value[1]) {\n return dayjs(date).isSame(_value[1], level);\n }\n\n if (!_value[0] || !hoveredDate) {\n return false;\n }\n\n return dayjs(hoveredDate).isBefore(_value[0]) && dayjs(date).isSame(_value[0], level);\n };\n\n const getControlProps = (date: DateStringValue) => {\n if (type === 'range') {\n return {\n selected: _value.some(\n (selection: DateStringValue) => selection && dayjs(selection).isSame(date, level)\n ),\n inRange: isDateInRange(date),\n firstInRange: isFirstInRange(date),\n lastInRange: isLastInRange(date),\n 'data-autofocus': (!!_value[0] && dayjs(_value[0]).isSame(date, level)) || undefined,\n };\n }\n\n if (type === 'multiple') {\n return {\n selected: _value.some(\n (selection: DateStringValue) => selection && dayjs(selection).isSame(date, level)\n ),\n 'data-autofocus': (!!_value[0] && dayjs(_value[0]).isSame(date, level)) || undefined,\n };\n }\n\n const selected = dayjs(_value).isSame(date, level);\n return { selected, 'data-autofocus': selected || undefined };\n };\n\n const onHoveredDateChange = type === 'range' && pickedDate ? setHoveredDate : () => {};\n\n useEffect(() => {\n if (type !== 'range') {\n return;\n }\n\n if (_value[0] && !_value[1]) {\n setPickedDate(_value[0]);\n } else {\n const isNeitherSelected = _value[0] == null && _value[1] == null;\n const isBothSelected = _value[0] != null && _value[1] != null;\n if (isNeitherSelected || isBothSelected) {\n setPickedDate(null);\n setHoveredDate(null);\n }\n }\n }, [_value]);\n\n return {\n onDateChange,\n onRootMouseLeave,\n onHoveredDateChange,\n getControlProps,\n _value,\n setValue,\n };\n}\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"use-dates-state.mjs","names":[],"sources":["../../../src/hooks/use-dates-state/use-dates-state.ts"],"sourcesContent":["import dayjs from 'dayjs';\nimport { useEffect, useState } from 'react';\nimport { DatePickerType, DateStringValue, PickerBaseProps } from '../../types';\nimport { useUncontrolledDates } from '../use-uncontrolled-dates/use-uncontrolled-dates';\nimport { isInRange } from './is-in-range/is-in-range';\n\ninterface UseDatesRangeInput<\n Type extends DatePickerType = 'default',\n> extends PickerBaseProps<Type> {\n level: 'year' | 'month' | 'day';\n type: Type;\n onMouseLeave?: (event: React.MouseEvent<HTMLDivElement>) => void;\n}\n\nexport function useDatesState<Type extends DatePickerType = 'default'>({\n type,\n level,\n value,\n defaultValue,\n onChange,\n allowSingleDateInRange,\n allowDeselect,\n onMouseLeave,\n}: UseDatesRangeInput<Type>) {\n const [_value, setValue] = useUncontrolledDates({\n type,\n value,\n defaultValue,\n onChange,\n });\n\n const [pickedDate, setPickedDate] = useState<DateStringValue | null>(\n type === 'range' ? (_value[0] && !_value[1] ? _value[0] : null) : null\n );\n const [hoveredDate, setHoveredDate] = useState<DateStringValue | null>(null);\n\n const onDateChange = (date: DateStringValue) => {\n if (type === 'range') {\n if (pickedDate && !_value[1]) {\n if (dayjs(date).isSame(pickedDate, level) && !allowSingleDateInRange) {\n setPickedDate(null);\n setHoveredDate(null);\n setValue([null, null]);\n return;\n }\n\n const result: [DateStringValue, DateStringValue] = [date, pickedDate];\n result.sort((a, b) => (dayjs(a).isAfter(dayjs(b)) ? 1 : -1));\n setValue(result);\n setHoveredDate(null);\n setPickedDate(null);\n return;\n }\n\n if (\n _value[0] &&\n !_value[1] &&\n dayjs(date).isSame(_value[0], level) &&\n !allowSingleDateInRange\n ) {\n setPickedDate(null);\n setHoveredDate(null);\n setValue([null, null]);\n return;\n }\n\n setValue([date, null]);\n setHoveredDate(null);\n setPickedDate(date);\n return;\n }\n\n if (type === 'multiple') {\n if (_value.some((selected: Date) => dayjs(selected).isSame(date, level))) {\n setValue(_value.filter((selected: Date) => !dayjs(selected).isSame(date, level)));\n } else {\n setValue([..._value, date]);\n }\n\n return;\n }\n\n if (_value && allowDeselect && dayjs(date).isSame(_value, level)) {\n setValue(null);\n } else {\n setValue(date);\n }\n };\n\n const isDateInRange = (date: DateStringValue) => {\n if (pickedDate && hoveredDate) {\n return isInRange(date, [hoveredDate, pickedDate]);\n }\n\n if (_value[0] && _value[1]) {\n return isInRange(date, _value);\n }\n\n return false;\n };\n\n const onRootMouseLeave =\n type === 'range'\n ? (event: React.MouseEvent<HTMLDivElement>) => {\n onMouseLeave?.(event);\n setHoveredDate(null);\n }\n : onMouseLeave;\n\n const isFirstInRange = (date: DateStringValue) => {\n if (!_value[0]) {\n return false;\n }\n\n if (dayjs(date).isSame(_value[0], level)) {\n return !(hoveredDate && dayjs(hoveredDate).isBefore(_value[0]));\n }\n\n return false;\n };\n\n const isLastInRange = (date: DateStringValue) => {\n if (_value[1]) {\n return dayjs(date).isSame(_value[1], level);\n }\n\n if (!_value[0] || !hoveredDate) {\n return false;\n }\n\n return dayjs(hoveredDate).isBefore(_value[0]) && dayjs(date).isSame(_value[0], level);\n };\n\n const getControlProps = (date: DateStringValue) => {\n if (type === 'range') {\n return {\n selected: _value.some(\n (selection: DateStringValue) => selection && dayjs(selection).isSame(date, level)\n ),\n inRange: isDateInRange(date),\n firstInRange: isFirstInRange(date),\n lastInRange: isLastInRange(date),\n 'data-autofocus': (!!_value[0] && dayjs(_value[0]).isSame(date, level)) || undefined,\n };\n }\n\n if (type === 'multiple') {\n return {\n selected: _value.some(\n (selection: DateStringValue) => selection && dayjs(selection).isSame(date, level)\n ),\n 'data-autofocus': (!!_value[0] && dayjs(_value[0]).isSame(date, level)) || undefined,\n };\n }\n\n const selected = dayjs(_value).isSame(date, level);\n return { selected, 'data-autofocus': selected || undefined };\n };\n\n const onHoveredDateChange = type === 'range' && pickedDate ? setHoveredDate : () => {};\n\n useEffect(() => {\n if (type !== 'range') {\n return;\n }\n\n if (_value[0] && !_value[1]) {\n setPickedDate(_value[0]);\n } else {\n const isNeitherSelected = _value[0] == null && _value[1] == null;\n const isBothSelected = _value[0] != null && _value[1] != null;\n if (isNeitherSelected || isBothSelected) {\n setPickedDate(null);\n setHoveredDate(null);\n }\n }\n }, [_value]);\n\n return {\n onDateChange,\n onRootMouseLeave,\n onHoveredDateChange,\n getControlProps,\n _value,\n setValue,\n };\n}\n"],"mappings":"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"}
@@ -1,38 +1,36 @@
1
- 'use client';
2
- import { useRef } from 'react';
3
- import { useUncontrolled } from '@mantine/hooks';
4
- import 'dayjs';
5
- import { toDateTimeString, toDateString } from '../../utils/to-date-string/to-date-string.mjs';
6
-
1
+ "use client";
2
+ import { toDateString, toDateTimeString } from "../../utils/to-date-string/to-date-string.mjs";
3
+ import { useRef } from "react";
4
+ import { useUncontrolled } from "@mantine/hooks";
5
+ //#region packages/@mantine/dates/src/hooks/use-uncontrolled-dates/use-uncontrolled-dates.ts
7
6
  const getEmptyValue = (type) => type === "range" ? [null, null] : type === "multiple" ? [] : null;
8
7
  const convertDatesValue = (value, withTime) => {
9
- const converter = withTime ? toDateTimeString : toDateString;
10
- return Array.isArray(value) ? value.map(converter) : converter(value);
8
+ const converter = withTime ? toDateTimeString : toDateString;
9
+ return Array.isArray(value) ? value.map(converter) : converter(value);
11
10
  };
12
- function useUncontrolledDates({
13
- type,
14
- value,
15
- defaultValue,
16
- onChange,
17
- withTime = false
18
- }) {
19
- const storedType = useRef(type);
20
- const [_value, _setValue, controlled] = useUncontrolled({
21
- value: convertDatesValue(value, withTime),
22
- defaultValue: convertDatesValue(defaultValue, withTime),
23
- finalValue: getEmptyValue(type),
24
- onChange
25
- });
26
- let _finalValue = _value;
27
- if (storedType.current !== type) {
28
- storedType.current = type;
29
- if (value === void 0) {
30
- _finalValue = defaultValue !== void 0 ? defaultValue : getEmptyValue(type);
31
- _setValue(_finalValue);
32
- }
33
- }
34
- return [_finalValue, _setValue, controlled];
11
+ function useUncontrolledDates({ type, value, defaultValue, onChange, withTime = false }) {
12
+ const storedType = useRef(type);
13
+ const [_value, _setValue, controlled] = useUncontrolled({
14
+ value: convertDatesValue(value, withTime),
15
+ defaultValue: convertDatesValue(defaultValue, withTime),
16
+ finalValue: getEmptyValue(type),
17
+ onChange
18
+ });
19
+ let _finalValue = _value;
20
+ if (storedType.current !== type) {
21
+ storedType.current = type;
22
+ if (value === void 0) {
23
+ _finalValue = defaultValue !== void 0 ? defaultValue : getEmptyValue(type);
24
+ _setValue(_finalValue);
25
+ }
26
+ }
27
+ return [
28
+ _finalValue,
29
+ _setValue,
30
+ controlled
31
+ ];
35
32
  }
33
+ //#endregion
34
+ export { useUncontrolledDates };
36
35
 
37
- export { convertDatesValue, useUncontrolledDates };
38
- //# sourceMappingURL=use-uncontrolled-dates.mjs.map
36
+ //# sourceMappingURL=use-uncontrolled-dates.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"use-uncontrolled-dates.mjs","sources":["../../../src/hooks/use-uncontrolled-dates/use-uncontrolled-dates.ts"],"sourcesContent":["import { useRef } from 'react';\nimport { useUncontrolled } from '@mantine/hooks';\nimport { DatePickerType, DatePickerValue, DateStringValue } from '../../types';\nimport { toDateString, toDateTimeString } from '../../utils';\n\ninterface UseUncontrolledDates<Type extends DatePickerType = 'default'> {\n type: Type;\n value: DatePickerValue<Type> | undefined;\n defaultValue: DatePickerValue<Type> | undefined;\n onChange: ((value: DatePickerValue<Type, DateStringValue>) => void) | undefined;\n withTime?: boolean;\n}\n\nconst getEmptyValue = <Type extends DatePickerType = 'default'>(type: Type) =>\n type === 'range' ? [null, null] : type === 'multiple' ? [] : null;\n\nexport const convertDatesValue = (value: any, withTime: boolean) => {\n const converter = withTime ? toDateTimeString : toDateString;\n return Array.isArray(value) ? value.map(converter) : converter(value);\n};\n\nexport function useUncontrolledDates<Type extends DatePickerType = 'default'>({\n type,\n value,\n defaultValue,\n onChange,\n withTime = false,\n}: UseUncontrolledDates<Type>) {\n const storedType = useRef<Type>(type);\n const [_value, _setValue, controlled] = useUncontrolled<any>({\n value: convertDatesValue(value, withTime),\n defaultValue: convertDatesValue(defaultValue, withTime),\n finalValue: getEmptyValue(type),\n onChange,\n });\n\n let _finalValue = _value;\n\n if (storedType.current !== type) {\n storedType.current = type;\n\n if (value === undefined) {\n _finalValue = defaultValue !== undefined ? defaultValue : getEmptyValue(type);\n _setValue(_finalValue);\n }\n }\n\n return [_finalValue, _setValue, controlled];\n}\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"use-uncontrolled-dates.mjs","names":[],"sources":["../../../src/hooks/use-uncontrolled-dates/use-uncontrolled-dates.ts"],"sourcesContent":["import { useRef } from 'react';\nimport { useUncontrolled } from '@mantine/hooks';\nimport { DatePickerType, DatePickerValue, DateStringValue } from '../../types';\nimport { toDateString, toDateTimeString } from '../../utils';\n\ninterface UseUncontrolledDates<Type extends DatePickerType = 'default'> {\n type: Type;\n value: DatePickerValue<Type> | undefined;\n defaultValue: DatePickerValue<Type> | undefined;\n onChange: ((value: DatePickerValue<Type, DateStringValue>) => void) | undefined;\n withTime?: boolean;\n}\n\nconst getEmptyValue = <Type extends DatePickerType = 'default'>(type: Type) =>\n type === 'range' ? [null, null] : type === 'multiple' ? [] : null;\n\nexport const convertDatesValue = (value: any, withTime: boolean) => {\n const converter = withTime ? toDateTimeString : toDateString;\n return Array.isArray(value) ? value.map(converter) : converter(value);\n};\n\nexport function useUncontrolledDates<Type extends DatePickerType = 'default'>({\n type,\n value,\n defaultValue,\n onChange,\n withTime = false,\n}: UseUncontrolledDates<Type>) {\n const storedType = useRef<Type>(type);\n const [_value, _setValue, controlled] = useUncontrolled<any>({\n value: convertDatesValue(value, withTime),\n defaultValue: convertDatesValue(defaultValue, withTime),\n finalValue: getEmptyValue(type),\n onChange,\n });\n\n let _finalValue = _value;\n\n if (storedType.current !== type) {\n storedType.current = type;\n\n if (value === undefined) {\n _finalValue = defaultValue !== undefined ? defaultValue : getEmptyValue(type);\n _setValue(_finalValue);\n }\n }\n\n return [_finalValue, _setValue, controlled];\n}\n"],"mappings":";;;;;AAaA,MAAM,iBAA0D,SAC9D,SAAS,UAAU,CAAC,MAAM,KAAK,GAAG,SAAS,aAAa,EAAE,GAAG;AAE/D,MAAa,qBAAqB,OAAY,aAAsB;CAClE,MAAM,YAAY,WAAW,mBAAmB;AAChD,QAAO,MAAM,QAAQ,MAAM,GAAG,MAAM,IAAI,UAAU,GAAG,UAAU,MAAM;;AAGvE,SAAgB,qBAA8D,EAC5E,MACA,OACA,cACA,UACA,WAAW,SACkB;CAC7B,MAAM,aAAa,OAAa,KAAK;CACrC,MAAM,CAAC,QAAQ,WAAW,cAAc,gBAAqB;EAC3D,OAAO,kBAAkB,OAAO,SAAS;EACzC,cAAc,kBAAkB,cAAc,SAAS;EACvD,YAAY,cAAc,KAAK;EAC/B;EACD,CAAC;CAEF,IAAI,cAAc;AAElB,KAAI,WAAW,YAAY,MAAM;AAC/B,aAAW,UAAU;AAErB,MAAI,UAAU,KAAA,GAAW;AACvB,iBAAc,iBAAiB,KAAA,IAAY,eAAe,cAAc,KAAK;AAC7E,aAAU,YAAY;;;AAI1B,QAAO;EAAC;EAAa;EAAW;EAAW"}