@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,198 +1,154 @@
1
- 'use client';
2
- import { jsx, jsxs } from 'react/jsx-runtime';
3
- import dayjs from 'dayjs';
4
- import { createVarsResolver, getSize, getFontSize, factory, useProps, useStyles, useResolvedStylesApi, Box } from '@mantine/core';
5
- import { toDateString } from '../../utils/to-date-string/to-date-string.mjs';
6
- import '../DatesProvider/DatesProvider.mjs';
7
- import { useDatesContext } from '../DatesProvider/use-dates-context.mjs';
8
- import { Day } from '../Day/Day.mjs';
9
- import { WeekdaysRow } from '../WeekdaysRow/WeekdaysRow.mjs';
10
- import { getDateInTabOrder } from './get-date-in-tab-order/get-date-in-tab-order.mjs';
11
- import { getMonthDays } from './get-month-days/get-month-days.mjs';
12
- import { getWeekNumber } from './get-week-number/get-week-number.mjs';
13
- import { isAfterMinDate } from './is-after-min-date/is-after-min-date.mjs';
14
- import { isBeforeMaxDate } from './is-before-max-date/is-before-max-date.mjs';
15
- import { isSameMonth } from './is-same-month/is-same-month.mjs';
16
- import classes from './Month.module.css.mjs';
17
-
18
- const defaultProps = {
19
- withCellSpacing: true
20
- };
21
- const varsResolver = createVarsResolver((_, { size }) => ({
22
- weekNumber: {
23
- "--wn-fz": getFontSize(size),
24
- "--wn-size": getSize(size, "wn-size")
25
- }
26
- }));
1
+ "use client";
2
+ import { toDateString } from "../../utils/to-date-string/to-date-string.mjs";
3
+ import { useDatesContext } from "../DatesProvider/use-dates-context.mjs";
4
+ import { Day } from "../Day/Day.mjs";
5
+ import { WeekdaysRow } from "../WeekdaysRow/WeekdaysRow.mjs";
6
+ import { getMonthDays } from "./get-month-days/get-month-days.mjs";
7
+ import { isSameMonth } from "./is-same-month/is-same-month.mjs";
8
+ import { isAfterMinDate } from "./is-after-min-date/is-after-min-date.mjs";
9
+ import { isBeforeMaxDate } from "./is-before-max-date/is-before-max-date.mjs";
10
+ import { getDateInTabOrder } from "./get-date-in-tab-order/get-date-in-tab-order.mjs";
11
+ import { getWeekNumber } from "./get-week-number/get-week-number.mjs";
12
+ import Month_module_default from "./Month.module.mjs";
13
+ import dayjs from "dayjs";
14
+ import { jsx, jsxs } from "react/jsx-runtime";
15
+ import { Box, createVarsResolver, factory, getFontSize, getSize, useProps, useResolvedStylesApi, useStyles } from "@mantine/core";
16
+ //#region packages/@mantine/dates/src/components/Month/Month.tsx
17
+ const defaultProps = { withCellSpacing: true };
18
+ const varsResolver = createVarsResolver((_, { size }) => ({ weekNumber: {
19
+ "--wn-fz": getFontSize(size),
20
+ "--wn-size": getSize(size, "wn-size")
21
+ } }));
27
22
  const Month = factory((_props) => {
28
- const props = useProps("Month", defaultProps, _props);
29
- const {
30
- classNames,
31
- className,
32
- style,
33
- styles,
34
- unstyled,
35
- vars,
36
- __staticSelector,
37
- locale,
38
- firstDayOfWeek,
39
- weekdayFormat,
40
- month,
41
- weekendDays,
42
- getDayProps,
43
- excludeDate,
44
- minDate,
45
- maxDate,
46
- renderDay,
47
- hideOutsideDates,
48
- hideWeekdays,
49
- getDayAriaLabel,
50
- static: isStatic,
51
- __getDayRef,
52
- __onDayKeyDown,
53
- __onDayClick,
54
- __onDayMouseEnter,
55
- __preventFocus,
56
- __stopPropagation,
57
- withCellSpacing,
58
- size,
59
- highlightToday,
60
- withWeekNumbers,
61
- fullWidth,
62
- attributes,
63
- ...others
64
- } = props;
65
- const getStyles = useStyles({
66
- name: __staticSelector || "Month",
67
- classes,
68
- props,
69
- className,
70
- style,
71
- classNames,
72
- styles,
73
- unstyled,
74
- attributes,
75
- vars,
76
- varsResolver,
77
- rootSelector: "month"
78
- });
79
- const ctx = useDatesContext();
80
- const dates = getMonthDays({
81
- month,
82
- firstDayOfWeek: ctx.getFirstDayOfWeek(firstDayOfWeek),
83
- consistentWeeks: ctx.consistentWeeks
84
- });
85
- const dateInTabOrder = getDateInTabOrder({
86
- dates,
87
- minDate: toDateString(minDate),
88
- maxDate: toDateString(maxDate),
89
- getDayProps,
90
- excludeDate,
91
- hideOutsideDates,
92
- month
93
- });
94
- const { resolvedClassNames, resolvedStyles } = useResolvedStylesApi({
95
- classNames,
96
- styles,
97
- props
98
- });
99
- const rows = dates.map((row, rowIndex) => {
100
- const cells = row.map((date, cellIndex) => {
101
- const outside = !isSameMonth(date, month);
102
- const ariaLabel = getDayAriaLabel?.(date) || dayjs(date).locale(locale || ctx.locale).format("D MMMM YYYY");
103
- const dayProps = getDayProps?.(date);
104
- const isDateInTabOrder = dayjs(date).isSame(dateInTabOrder, "date");
105
- return /* @__PURE__ */ jsx(
106
- "td",
107
- {
108
- ...getStyles("monthCell"),
109
- "data-with-spacing": withCellSpacing || void 0,
110
- children: /* @__PURE__ */ jsx(
111
- Day,
112
- {
113
- __staticSelector: __staticSelector || "Month",
114
- classNames: resolvedClassNames,
115
- styles: resolvedStyles,
116
- attributes,
117
- unstyled,
118
- "data-mantine-stop-propagation": __stopPropagation || void 0,
119
- highlightToday,
120
- renderDay,
121
- date,
122
- size,
123
- weekend: ctx.getWeekendDays(weekendDays).includes(dayjs(date).get("day")),
124
- outside,
125
- hidden: hideOutsideDates ? outside : false,
126
- "aria-label": ariaLabel,
127
- static: isStatic,
128
- fullWidth,
129
- disabled: excludeDate?.(date) || !isBeforeMaxDate(date, toDateString(maxDate)) || !isAfterMinDate(date, toDateString(minDate)),
130
- ref: (node) => {
131
- if (node) {
132
- __getDayRef?.(rowIndex, cellIndex, node);
133
- }
134
- },
135
- ...dayProps,
136
- onKeyDown: (event) => {
137
- dayProps?.onKeyDown?.(event);
138
- __onDayKeyDown?.(event, { rowIndex, cellIndex, date });
139
- },
140
- onMouseEnter: (event) => {
141
- dayProps?.onMouseEnter?.(event);
142
- __onDayMouseEnter?.(event, date);
143
- },
144
- onClick: (event) => {
145
- dayProps?.onClick?.(event);
146
- __onDayClick?.(event, date);
147
- },
148
- onMouseDown: (event) => {
149
- dayProps?.onMouseDown?.(event);
150
- __preventFocus && event.preventDefault();
151
- },
152
- tabIndex: __preventFocus || !isDateInTabOrder ? -1 : 0
153
- }
154
- )
155
- },
156
- date.toString()
157
- );
158
- });
159
- return /* @__PURE__ */ jsxs("tr", { ...getStyles("monthRow"), children: [
160
- withWeekNumbers && /* @__PURE__ */ jsx("td", { ...getStyles("weekNumber"), children: getWeekNumber(row) }),
161
- cells
162
- ] }, rowIndex);
163
- });
164
- return /* @__PURE__ */ jsxs(
165
- Box,
166
- {
167
- component: "table",
168
- ...getStyles("month"),
169
- size,
170
- "data-full-width": fullWidth || void 0,
171
- ...others,
172
- children: [
173
- !hideWeekdays && /* @__PURE__ */ jsx("thead", { ...getStyles("monthThead"), children: /* @__PURE__ */ jsx(
174
- WeekdaysRow,
175
- {
176
- __staticSelector: __staticSelector || "Month",
177
- locale,
178
- firstDayOfWeek,
179
- weekdayFormat,
180
- withWeekNumbers,
181
- size,
182
- classNames: resolvedClassNames,
183
- styles: resolvedStyles,
184
- unstyled,
185
- attributes
186
- }
187
- ) }),
188
- /* @__PURE__ */ jsx("tbody", { ...getStyles("monthTbody"), children: rows })
189
- ]
190
- }
191
- );
23
+ const props = useProps("Month", defaultProps, _props);
24
+ const { classNames, className, style, styles, unstyled, vars, __staticSelector, locale, firstDayOfWeek, weekdayFormat, month, weekendDays, getDayProps, excludeDate, minDate, maxDate, renderDay, hideOutsideDates, hideWeekdays, getDayAriaLabel, static: isStatic, __getDayRef, __onDayKeyDown, __onDayClick, __onDayMouseEnter, __preventFocus, __stopPropagation, withCellSpacing, size, highlightToday, withWeekNumbers, fullWidth, attributes, ...others } = props;
25
+ const getStyles = useStyles({
26
+ name: __staticSelector || "Month",
27
+ classes: Month_module_default,
28
+ props,
29
+ className,
30
+ style,
31
+ classNames,
32
+ styles,
33
+ unstyled,
34
+ attributes,
35
+ vars,
36
+ varsResolver,
37
+ rootSelector: "month"
38
+ });
39
+ const ctx = useDatesContext();
40
+ const dates = getMonthDays({
41
+ month,
42
+ firstDayOfWeek: ctx.getFirstDayOfWeek(firstDayOfWeek),
43
+ consistentWeeks: ctx.consistentWeeks
44
+ });
45
+ const dateInTabOrder = getDateInTabOrder({
46
+ dates,
47
+ minDate: toDateString(minDate),
48
+ maxDate: toDateString(maxDate),
49
+ getDayProps,
50
+ excludeDate,
51
+ hideOutsideDates,
52
+ month
53
+ });
54
+ const { resolvedClassNames, resolvedStyles } = useResolvedStylesApi({
55
+ classNames,
56
+ styles,
57
+ props
58
+ });
59
+ const rows = dates.map((row, rowIndex) => {
60
+ const cells = row.map((date, cellIndex) => {
61
+ const outside = !isSameMonth(date, month);
62
+ const ariaLabel = getDayAriaLabel?.(date) || dayjs(date).locale(locale || ctx.locale).format("D MMMM YYYY");
63
+ const dayProps = getDayProps?.(date);
64
+ const isDateInTabOrder = dayjs(date).isSame(dateInTabOrder, "date");
65
+ return /* @__PURE__ */ jsx("td", {
66
+ ...getStyles("monthCell"),
67
+ "data-with-spacing": withCellSpacing || void 0,
68
+ children: /* @__PURE__ */ jsx(Day, {
69
+ __staticSelector: __staticSelector || "Month",
70
+ classNames: resolvedClassNames,
71
+ styles: resolvedStyles,
72
+ attributes,
73
+ unstyled,
74
+ "data-mantine-stop-propagation": __stopPropagation || void 0,
75
+ highlightToday,
76
+ renderDay,
77
+ date,
78
+ size,
79
+ weekend: ctx.getWeekendDays(weekendDays).includes(dayjs(date).get("day")),
80
+ outside,
81
+ hidden: hideOutsideDates ? outside : false,
82
+ "aria-label": ariaLabel,
83
+ static: isStatic,
84
+ fullWidth,
85
+ disabled: excludeDate?.(date) || !isBeforeMaxDate(date, toDateString(maxDate)) || !isAfterMinDate(date, toDateString(minDate)),
86
+ ref: (node) => {
87
+ if (node) __getDayRef?.(rowIndex, cellIndex, node);
88
+ },
89
+ ...dayProps,
90
+ onKeyDown: (event) => {
91
+ dayProps?.onKeyDown?.(event);
92
+ __onDayKeyDown?.(event, {
93
+ rowIndex,
94
+ cellIndex,
95
+ date
96
+ });
97
+ },
98
+ onMouseEnter: (event) => {
99
+ dayProps?.onMouseEnter?.(event);
100
+ __onDayMouseEnter?.(event, date);
101
+ },
102
+ onClick: (event) => {
103
+ dayProps?.onClick?.(event);
104
+ __onDayClick?.(event, date);
105
+ },
106
+ onMouseDown: (event) => {
107
+ dayProps?.onMouseDown?.(event);
108
+ __preventFocus && event.preventDefault();
109
+ },
110
+ tabIndex: __preventFocus || !isDateInTabOrder ? -1 : 0
111
+ })
112
+ }, date.toString());
113
+ });
114
+ return /* @__PURE__ */ jsxs("tr", {
115
+ ...getStyles("monthRow"),
116
+ children: [withWeekNumbers && /* @__PURE__ */ jsx("td", {
117
+ ...getStyles("weekNumber"),
118
+ children: getWeekNumber(row)
119
+ }), cells]
120
+ }, rowIndex);
121
+ });
122
+ return /* @__PURE__ */ jsxs(Box, {
123
+ component: "table",
124
+ ...getStyles("month"),
125
+ size,
126
+ "data-full-width": fullWidth || void 0,
127
+ ...others,
128
+ children: [!hideWeekdays && /* @__PURE__ */ jsx("thead", {
129
+ ...getStyles("monthThead"),
130
+ children: /* @__PURE__ */ jsx(WeekdaysRow, {
131
+ __staticSelector: __staticSelector || "Month",
132
+ locale,
133
+ firstDayOfWeek,
134
+ weekdayFormat,
135
+ withWeekNumbers,
136
+ size,
137
+ classNames: resolvedClassNames,
138
+ styles: resolvedStyles,
139
+ unstyled,
140
+ attributes
141
+ })
142
+ }), /* @__PURE__ */ jsx("tbody", {
143
+ ...getStyles("monthTbody"),
144
+ children: rows
145
+ })]
146
+ });
192
147
  });
193
- Month.classes = classes;
148
+ Month.classes = Month_module_default;
194
149
  Month.varsResolver = varsResolver;
195
150
  Month.displayName = "@mantine/dates/Month";
196
-
151
+ //#endregion
197
152
  export { Month };
198
- //# sourceMappingURL=Month.mjs.map
153
+
154
+ //# sourceMappingURL=Month.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"Month.mjs","sources":["../../../src/components/Month/Month.tsx"],"sourcesContent":["import dayjs from 'dayjs';\nimport {\n Box,\n BoxProps,\n createVarsResolver,\n DataAttributes,\n ElementProps,\n factory,\n Factory,\n getFontSize,\n getSize,\n MantineSize,\n StylesApiProps,\n useProps,\n useResolvedStylesApi,\n useStyles,\n} from '@mantine/core';\nimport { ControlKeydownPayload, DateLabelFormat, DateStringValue, DayOfWeek } from '../../types';\nimport { toDateString } from '../../utils';\nimport { useDatesContext } from '../DatesProvider';\nimport { Day, DayProps, DayStylesNames, RenderDay } from '../Day';\nimport { WeekdaysRow } from '../WeekdaysRow';\nimport { getDateInTabOrder } from './get-date-in-tab-order/get-date-in-tab-order';\nimport { getMonthDays } from './get-month-days/get-month-days';\nimport { getWeekNumber } from './get-week-number/get-week-number';\nimport { isAfterMinDate } from './is-after-min-date/is-after-min-date';\nimport { isBeforeMaxDate } from './is-before-max-date/is-before-max-date';\nimport { isSameMonth } from './is-same-month/is-same-month';\nimport classes from './Month.module.css';\n\nexport type MonthStylesNames =\n | 'month'\n | 'weekday'\n | 'weekdaysRow'\n | 'monthRow'\n | 'month'\n | 'monthThead'\n | 'monthTbody'\n | 'monthCell'\n | 'weekNumber'\n | DayStylesNames;\n\nexport type MonthCssVariables = {\n weekNumber: '--wn-fz' | '--wn-size';\n};\n\nexport interface MonthSettings {\n /** Determines whether propagation for `Escape` key should be stopped */\n __stopPropagation?: boolean;\n\n /** Prevents focus shift when buttons are clicked */\n __preventFocus?: boolean;\n\n /** Called when day is clicked with click event and date */\n __onDayClick?: (event: React.MouseEvent<HTMLButtonElement>, date: DateStringValue) => void;\n\n /** Called when mouse enters day */\n __onDayMouseEnter?: (event: React.MouseEvent<HTMLButtonElement>, date: DateStringValue) => void;\n\n /** Called when any keydown event is registered on day, used for arrows navigation */\n __onDayKeyDown?: (\n event: React.KeyboardEvent<HTMLButtonElement>,\n payload: ControlKeydownPayload\n ) => void;\n\n /** Assigns ref of every day based on its position in the table, used for arrows navigation */\n __getDayRef?: (rowIndex: number, cellIndex: number, node: HTMLButtonElement) => void;\n\n /** `dayjs` locale, the default value is defined by `DatesProvider` */\n locale?: string;\n\n /** Number 0-6, where 0 – Sunday and 6 – Saturday. @default 1 – Monday */\n firstDayOfWeek?: DayOfWeek;\n\n /** `dayjs` format for weekdays names @default 'dd' */\n weekdayFormat?: DateLabelFormat;\n\n /** Indices of weekend days, 0-6, where 0 is Sunday and 6 is Saturday. The default value is defined by `DatesProvider`. */\n weekendDays?: DayOfWeek[];\n\n /** Passes props down to `Day` components */\n getDayProps?: (\n date: DateStringValue\n ) => Omit<Partial<DayProps>, 'classNames' | 'styles' | 'vars'> & DataAttributes;\n\n /** Callback function to determine whether the day should be disabled */\n excludeDate?: (date: DateStringValue) => boolean;\n\n /** Minimum possible date, in `YYYY-MM-DD` format */\n minDate?: DateStringValue | Date;\n\n /** Maximum possible date, in `YYYY-MM-DD` format */\n maxDate?: DateStringValue | Date;\n\n /** Controls day value rendering */\n renderDay?: RenderDay;\n\n /** Determines whether outside dates should be hidden @default false */\n hideOutsideDates?: boolean;\n\n /** Determines whether weekdays row should be hidden @default false */\n hideWeekdays?: boolean;\n\n /** Assigns `aria-label` to `Day` components based on date */\n getDayAriaLabel?: (date: DateStringValue) => string;\n\n /** Controls size */\n size?: MantineSize;\n\n /** Determines whether controls should be separated by space @default true */\n withCellSpacing?: boolean;\n\n /** Determines whether today should be highlighted with a border @default false */\n highlightToday?: boolean;\n\n /** Determines whether week numbers should be displayed @default false */\n withWeekNumbers?: boolean;\n\n /** Determines whether the month should take the full width of its container @default false */\n fullWidth?: boolean;\n}\n\nexport interface MonthProps\n extends BoxProps, MonthSettings, StylesApiProps<MonthFactory>, ElementProps<'table'> {\n __staticSelector?: string;\n\n /** Month to display, value `YYYY-MM-DD` */\n month: DateStringValue;\n\n /** Determines whether days should be static, static days can be used to display month if it is not expected that user will interact with the component in any way */\n static?: boolean;\n}\n\nexport type MonthFactory = Factory<{\n props: MonthProps;\n ref: HTMLTableElement;\n stylesNames: MonthStylesNames;\n vars: MonthCssVariables;\n}>;\n\nconst defaultProps = {\n withCellSpacing: true,\n} satisfies Partial<MonthProps>;\n\nconst varsResolver = createVarsResolver<MonthFactory>((_, { size }) => ({\n weekNumber: {\n '--wn-fz': getFontSize(size),\n '--wn-size': getSize(size, 'wn-size'),\n },\n}));\n\nexport const Month = factory<MonthFactory>((_props) => {\n const props = useProps('Month', defaultProps, _props);\n const {\n classNames,\n className,\n style,\n styles,\n unstyled,\n vars,\n __staticSelector,\n locale,\n firstDayOfWeek,\n weekdayFormat,\n month,\n weekendDays,\n getDayProps,\n excludeDate,\n minDate,\n maxDate,\n renderDay,\n hideOutsideDates,\n hideWeekdays,\n getDayAriaLabel,\n static: isStatic,\n __getDayRef,\n __onDayKeyDown,\n __onDayClick,\n __onDayMouseEnter,\n __preventFocus,\n __stopPropagation,\n withCellSpacing,\n size,\n highlightToday,\n withWeekNumbers,\n fullWidth,\n attributes,\n ...others\n } = props;\n\n const getStyles = useStyles<MonthFactory>({\n name: __staticSelector || 'Month',\n classes,\n props,\n className,\n style,\n classNames,\n styles,\n unstyled,\n attributes,\n vars,\n varsResolver,\n rootSelector: 'month',\n });\n\n const ctx = useDatesContext();\n const dates = getMonthDays({\n month,\n firstDayOfWeek: ctx.getFirstDayOfWeek(firstDayOfWeek),\n consistentWeeks: ctx.consistentWeeks,\n });\n\n const dateInTabOrder = getDateInTabOrder({\n dates,\n minDate: toDateString(minDate) as DateStringValue,\n maxDate: toDateString(maxDate) as DateStringValue,\n getDayProps,\n excludeDate,\n hideOutsideDates,\n month,\n });\n\n const { resolvedClassNames, resolvedStyles } = useResolvedStylesApi<MonthFactory>({\n classNames,\n styles,\n props,\n });\n\n const rows = dates.map((row, rowIndex) => {\n const cells = row.map((date, cellIndex) => {\n const outside = !isSameMonth(date, month);\n const ariaLabel =\n getDayAriaLabel?.(date) ||\n dayjs(date)\n .locale(locale || ctx.locale)\n .format('D MMMM YYYY');\n const dayProps = getDayProps?.(date);\n const isDateInTabOrder = dayjs(date).isSame(dateInTabOrder, 'date');\n\n return (\n <td\n key={date.toString()}\n {...getStyles('monthCell')}\n data-with-spacing={withCellSpacing || undefined}\n >\n <Day\n __staticSelector={__staticSelector || 'Month'}\n classNames={resolvedClassNames}\n styles={resolvedStyles}\n attributes={attributes}\n unstyled={unstyled}\n data-mantine-stop-propagation={__stopPropagation || undefined}\n highlightToday={highlightToday}\n renderDay={renderDay}\n date={date}\n size={size}\n weekend={ctx.getWeekendDays(weekendDays).includes(dayjs(date).get('day') as DayOfWeek)}\n outside={outside}\n hidden={hideOutsideDates ? outside : false}\n aria-label={ariaLabel}\n static={isStatic}\n fullWidth={fullWidth}\n disabled={\n excludeDate?.(date) ||\n !isBeforeMaxDate(date, toDateString(maxDate)!) ||\n !isAfterMinDate(date, toDateString(minDate)!)\n }\n ref={(node) => {\n if (node) {\n __getDayRef?.(rowIndex, cellIndex, node!);\n }\n }}\n {...dayProps}\n onKeyDown={(event) => {\n dayProps?.onKeyDown?.(event);\n __onDayKeyDown?.(event, { rowIndex, cellIndex, date });\n }}\n onMouseEnter={(event) => {\n dayProps?.onMouseEnter?.(event);\n __onDayMouseEnter?.(event, date);\n }}\n onClick={(event) => {\n dayProps?.onClick?.(event);\n\n __onDayClick?.(event, date);\n }}\n onMouseDown={(event) => {\n dayProps?.onMouseDown?.(event);\n __preventFocus && event.preventDefault();\n }}\n tabIndex={__preventFocus || !isDateInTabOrder ? -1 : 0}\n />\n </td>\n );\n });\n\n return (\n <tr key={rowIndex} {...getStyles('monthRow')}>\n {withWeekNumbers && <td {...getStyles('weekNumber')}>{getWeekNumber(row)}</td>}\n {cells}\n </tr>\n );\n });\n\n return (\n <Box\n component=\"table\"\n {...getStyles('month')}\n size={size}\n data-full-width={fullWidth || undefined}\n {...others}\n >\n {!hideWeekdays && (\n <thead {...getStyles('monthThead')}>\n <WeekdaysRow\n __staticSelector={__staticSelector || 'Month'}\n locale={locale}\n firstDayOfWeek={firstDayOfWeek}\n weekdayFormat={weekdayFormat}\n withWeekNumbers={withWeekNumbers}\n size={size}\n classNames={resolvedClassNames}\n styles={resolvedStyles}\n unstyled={unstyled}\n attributes={attributes}\n />\n </thead>\n )}\n <tbody {...getStyles('monthTbody')}>{rows}</tbody>\n </Box>\n );\n});\n\nMonth.classes = classes;\nMonth.varsResolver = varsResolver;\nMonth.displayName = '@mantine/dates/Month';\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AA4IA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,YAAA,CAAA,CAAA,CAAe,CAAA;AAAA,CAAA,CACnB,eAAA,CAAA,CAAiB,CAAA,CAAA,CAAA,CAAA;AACnB,CAAA,CAAA;AAEA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,IAAe,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAiC,CAAC,CAAA,CAAA,CAAG,CAAA,CAAE,CAAA,CAAA,CAAA,GAAK,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAA;AAAA,CAAA,CACtE,UAAA,CAAA,CAAY,CAAA;AAAA,CAAA,CAAA,CAAA,CACV,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAW,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAY,IAAI,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAC3B,WAAA,CAAA,CAAa,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,CAAA,CAAA,CAAA,CAAA,EAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAS,CAAA;AAAA,CAAA,CAAA,CAAA;AAExC,CAAA,CAAE,CAAA,CAAA;AAEK,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,KAAA,CAAA,CAAA,CAAQ,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAsB,CAAC,MAAA,CAAA,CAAA,CAAA,CAAA,CAAW,CAAA;AACrD,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAS,OAAA,CAAA,CAAS,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAc,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA;AACpD,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA;AAAA,CAAA,CAAA,CAAA,CACJ,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CACA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAQ,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CACR,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CA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AA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,GAAkB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAoB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CACtC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CACA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAY,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CACZ,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAQ,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CACR,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CACF,EACF,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,KAED,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAO,CAAA,CAAA,CAAG,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAU,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAY,GAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,IAAA,CAAA,CAAK,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAC5C,CAAA;AAEJ,CAAC,CAAA,CAAA;AAED,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAU,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAChB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAe,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACrB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAc,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;;"}
1
+ {"version":3,"file":"Month.mjs","names":["classes"],"sources":["../../../src/components/Month/Month.tsx"],"sourcesContent":["import dayjs from 'dayjs';\nimport {\n Box,\n BoxProps,\n createVarsResolver,\n DataAttributes,\n ElementProps,\n factory,\n Factory,\n getFontSize,\n getSize,\n MantineSize,\n StylesApiProps,\n useProps,\n useResolvedStylesApi,\n useStyles,\n} from '@mantine/core';\nimport { ControlKeydownPayload, DateLabelFormat, DateStringValue, DayOfWeek } from '../../types';\nimport { toDateString } from '../../utils';\nimport { useDatesContext } from '../DatesProvider';\nimport { Day, DayProps, DayStylesNames, RenderDay } from '../Day';\nimport { WeekdaysRow } from '../WeekdaysRow';\nimport { getDateInTabOrder } from './get-date-in-tab-order/get-date-in-tab-order';\nimport { getMonthDays } from './get-month-days/get-month-days';\nimport { getWeekNumber } from './get-week-number/get-week-number';\nimport { isAfterMinDate } from './is-after-min-date/is-after-min-date';\nimport { isBeforeMaxDate } from './is-before-max-date/is-before-max-date';\nimport { isSameMonth } from './is-same-month/is-same-month';\nimport classes from './Month.module.css';\n\nexport type MonthStylesNames =\n | 'month'\n | 'weekday'\n | 'weekdaysRow'\n | 'monthRow'\n | 'month'\n | 'monthThead'\n | 'monthTbody'\n | 'monthCell'\n | 'weekNumber'\n | DayStylesNames;\n\nexport type MonthCssVariables = {\n weekNumber: '--wn-fz' | '--wn-size';\n};\n\nexport interface MonthSettings {\n /** Determines whether propagation for `Escape` key should be stopped */\n __stopPropagation?: boolean;\n\n /** Prevents focus shift when buttons are clicked */\n __preventFocus?: boolean;\n\n /** Called when day is clicked with click event and date */\n __onDayClick?: (event: React.MouseEvent<HTMLButtonElement>, date: DateStringValue) => void;\n\n /** Called when mouse enters day */\n __onDayMouseEnter?: (event: React.MouseEvent<HTMLButtonElement>, date: DateStringValue) => void;\n\n /** Called when any keydown event is registered on day, used for arrows navigation */\n __onDayKeyDown?: (\n event: React.KeyboardEvent<HTMLButtonElement>,\n payload: ControlKeydownPayload\n ) => void;\n\n /** Assigns ref of every day based on its position in the table, used for arrows navigation */\n __getDayRef?: (rowIndex: number, cellIndex: number, node: HTMLButtonElement) => void;\n\n /** `dayjs` locale, the default value is defined by `DatesProvider` */\n locale?: string;\n\n /** Number 0-6, where 0 – Sunday and 6 – Saturday. @default 1 – Monday */\n firstDayOfWeek?: DayOfWeek;\n\n /** `dayjs` format for weekdays names @default 'dd' */\n weekdayFormat?: DateLabelFormat;\n\n /** Indices of weekend days, 0-6, where 0 is Sunday and 6 is Saturday. The default value is defined by `DatesProvider`. */\n weekendDays?: DayOfWeek[];\n\n /** Passes props down to `Day` components */\n getDayProps?: (\n date: DateStringValue\n ) => Omit<Partial<DayProps>, 'classNames' | 'styles' | 'vars'> & DataAttributes;\n\n /** Callback function to determine whether the day should be disabled */\n excludeDate?: (date: DateStringValue) => boolean;\n\n /** Minimum possible date, in `YYYY-MM-DD` format */\n minDate?: DateStringValue | Date;\n\n /** Maximum possible date, in `YYYY-MM-DD` format */\n maxDate?: DateStringValue | Date;\n\n /** Controls day value rendering */\n renderDay?: RenderDay;\n\n /** Determines whether outside dates should be hidden @default false */\n hideOutsideDates?: boolean;\n\n /** Determines whether weekdays row should be hidden @default false */\n hideWeekdays?: boolean;\n\n /** Assigns `aria-label` to `Day` components based on date */\n getDayAriaLabel?: (date: DateStringValue) => string;\n\n /** Controls size */\n size?: MantineSize;\n\n /** Determines whether controls should be separated by space @default true */\n withCellSpacing?: boolean;\n\n /** Determines whether today should be highlighted with a border @default false */\n highlightToday?: boolean;\n\n /** Determines whether week numbers should be displayed @default false */\n withWeekNumbers?: boolean;\n\n /** Determines whether the month should take the full width of its container @default false */\n fullWidth?: boolean;\n}\n\nexport interface MonthProps\n extends BoxProps, MonthSettings, StylesApiProps<MonthFactory>, ElementProps<'table'> {\n __staticSelector?: string;\n\n /** Month to display, value `YYYY-MM-DD` */\n month: DateStringValue;\n\n /** Determines whether days should be static, static days can be used to display month if it is not expected that user will interact with the component in any way */\n static?: boolean;\n}\n\nexport type MonthFactory = Factory<{\n props: MonthProps;\n ref: HTMLTableElement;\n stylesNames: MonthStylesNames;\n vars: MonthCssVariables;\n}>;\n\nconst defaultProps = {\n withCellSpacing: true,\n} satisfies Partial<MonthProps>;\n\nconst varsResolver = createVarsResolver<MonthFactory>((_, { size }) => ({\n weekNumber: {\n '--wn-fz': getFontSize(size),\n '--wn-size': getSize(size, 'wn-size'),\n },\n}));\n\nexport const Month = factory<MonthFactory>((_props) => {\n const props = useProps('Month', defaultProps, _props);\n const {\n classNames,\n className,\n style,\n styles,\n unstyled,\n vars,\n __staticSelector,\n locale,\n firstDayOfWeek,\n weekdayFormat,\n month,\n weekendDays,\n getDayProps,\n excludeDate,\n minDate,\n maxDate,\n renderDay,\n hideOutsideDates,\n hideWeekdays,\n getDayAriaLabel,\n static: isStatic,\n __getDayRef,\n __onDayKeyDown,\n __onDayClick,\n __onDayMouseEnter,\n __preventFocus,\n __stopPropagation,\n withCellSpacing,\n size,\n highlightToday,\n withWeekNumbers,\n fullWidth,\n attributes,\n ...others\n } = props;\n\n const getStyles = useStyles<MonthFactory>({\n name: __staticSelector || 'Month',\n classes,\n props,\n className,\n style,\n classNames,\n styles,\n unstyled,\n attributes,\n vars,\n varsResolver,\n rootSelector: 'month',\n });\n\n const ctx = useDatesContext();\n const dates = getMonthDays({\n month,\n firstDayOfWeek: ctx.getFirstDayOfWeek(firstDayOfWeek),\n consistentWeeks: ctx.consistentWeeks,\n });\n\n const dateInTabOrder = getDateInTabOrder({\n dates,\n minDate: toDateString(minDate) as DateStringValue,\n maxDate: toDateString(maxDate) as DateStringValue,\n getDayProps,\n excludeDate,\n hideOutsideDates,\n month,\n });\n\n const { resolvedClassNames, resolvedStyles } = useResolvedStylesApi<MonthFactory>({\n classNames,\n styles,\n props,\n });\n\n const rows = dates.map((row, rowIndex) => {\n const cells = row.map((date, cellIndex) => {\n const outside = !isSameMonth(date, month);\n const ariaLabel =\n getDayAriaLabel?.(date) ||\n dayjs(date)\n .locale(locale || ctx.locale)\n .format('D MMMM YYYY');\n const dayProps = getDayProps?.(date);\n const isDateInTabOrder = dayjs(date).isSame(dateInTabOrder, 'date');\n\n return (\n <td\n key={date.toString()}\n {...getStyles('monthCell')}\n data-with-spacing={withCellSpacing || undefined}\n >\n <Day\n __staticSelector={__staticSelector || 'Month'}\n classNames={resolvedClassNames}\n styles={resolvedStyles}\n attributes={attributes}\n unstyled={unstyled}\n data-mantine-stop-propagation={__stopPropagation || undefined}\n highlightToday={highlightToday}\n renderDay={renderDay}\n date={date}\n size={size}\n weekend={ctx.getWeekendDays(weekendDays).includes(dayjs(date).get('day') as DayOfWeek)}\n outside={outside}\n hidden={hideOutsideDates ? outside : false}\n aria-label={ariaLabel}\n static={isStatic}\n fullWidth={fullWidth}\n disabled={\n excludeDate?.(date) ||\n !isBeforeMaxDate(date, toDateString(maxDate)!) ||\n !isAfterMinDate(date, toDateString(minDate)!)\n }\n ref={(node) => {\n if (node) {\n __getDayRef?.(rowIndex, cellIndex, node!);\n }\n }}\n {...dayProps}\n onKeyDown={(event) => {\n dayProps?.onKeyDown?.(event);\n __onDayKeyDown?.(event, { rowIndex, cellIndex, date });\n }}\n onMouseEnter={(event) => {\n dayProps?.onMouseEnter?.(event);\n __onDayMouseEnter?.(event, date);\n }}\n onClick={(event) => {\n dayProps?.onClick?.(event);\n\n __onDayClick?.(event, date);\n }}\n onMouseDown={(event) => {\n dayProps?.onMouseDown?.(event);\n __preventFocus && event.preventDefault();\n }}\n tabIndex={__preventFocus || !isDateInTabOrder ? -1 : 0}\n />\n </td>\n );\n });\n\n return (\n <tr key={rowIndex} {...getStyles('monthRow')}>\n {withWeekNumbers && <td {...getStyles('weekNumber')}>{getWeekNumber(row)}</td>}\n {cells}\n </tr>\n );\n });\n\n return (\n <Box\n component=\"table\"\n {...getStyles('month')}\n size={size}\n data-full-width={fullWidth || undefined}\n {...others}\n >\n {!hideWeekdays && (\n <thead {...getStyles('monthThead')}>\n <WeekdaysRow\n __staticSelector={__staticSelector || 'Month'}\n locale={locale}\n firstDayOfWeek={firstDayOfWeek}\n weekdayFormat={weekdayFormat}\n withWeekNumbers={withWeekNumbers}\n size={size}\n classNames={resolvedClassNames}\n styles={resolvedStyles}\n unstyled={unstyled}\n attributes={attributes}\n />\n </thead>\n )}\n <tbody {...getStyles('monthTbody')}>{rows}</tbody>\n </Box>\n );\n});\n\nMonth.classes = classes;\nMonth.varsResolver = varsResolver;\nMonth.displayName = '@mantine/dates/Month';\n"],"mappings":";;;;;;;;;;;;;;;;AA4IA,MAAM,eAAe,EACnB,iBAAiB,MAClB;AAED,MAAM,eAAe,oBAAkC,GAAG,EAAE,YAAY,EACtE,YAAY;CACV,WAAW,YAAY,KAAK;CAC5B,aAAa,QAAQ,MAAM,UAAU;CACtC,EACF,EAAE;AAEH,MAAa,QAAQ,SAAuB,WAAW;CACrD,MAAM,QAAQ,SAAS,SAAS,cAAc,OAAO;CACrD,MAAM,EACJ,YACA,WACA,OACA,QACA,UACA,MACA,kBACA,QACA,gBACA,eACA,OACA,aACA,aACA,aACA,SACA,SACA,WACA,kBACA,cACA,iBACA,QAAQ,UACR,aACA,gBACA,cACA,mBACA,gBACA,mBACA,iBACA,MACA,gBACA,iBACA,WACA,YACA,GAAG,WACD;CAEJ,MAAM,YAAY,UAAwB;EACxC,MAAM,oBAAoB;EAC1B,SAAA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA,cAAc;EACf,CAAC;CAEF,MAAM,MAAM,iBAAiB;CAC7B,MAAM,QAAQ,aAAa;EACzB;EACA,gBAAgB,IAAI,kBAAkB,eAAe;EACrD,iBAAiB,IAAI;EACtB,CAAC;CAEF,MAAM,iBAAiB,kBAAkB;EACvC;EACA,SAAS,aAAa,QAAQ;EAC9B,SAAS,aAAa,QAAQ;EAC9B;EACA;EACA;EACA;EACD,CAAC;CAEF,MAAM,EAAE,oBAAoB,mBAAmB,qBAAmC;EAChF;EACA;EACA;EACD,CAAC;CAEF,MAAM,OAAO,MAAM,KAAK,KAAK,aAAa;EACxC,MAAM,QAAQ,IAAI,KAAK,MAAM,cAAc;GACzC,MAAM,UAAU,CAAC,YAAY,MAAM,MAAM;GACzC,MAAM,YACJ,kBAAkB,KAAK,IACvB,MAAM,KAAK,CACR,OAAO,UAAU,IAAI,OAAO,CAC5B,OAAO,cAAc;GAC1B,MAAM,WAAW,cAAc,KAAK;GACpC,MAAM,mBAAmB,MAAM,KAAK,CAAC,OAAO,gBAAgB,OAAO;AAEnE,UACE,oBAAC,MAAD;IAEE,GAAI,UAAU,YAAY;IAC1B,qBAAmB,mBAAmB,KAAA;cAEtC,oBAAC,KAAD;KACE,kBAAkB,oBAAoB;KACtC,YAAY;KACZ,QAAQ;KACI;KACF;KACV,iCAA+B,qBAAqB,KAAA;KACpC;KACL;KACL;KACA;KACN,SAAS,IAAI,eAAe,YAAY,CAAC,SAAS,MAAM,KAAK,CAAC,IAAI,MAAM,CAAc;KAC7E;KACT,QAAQ,mBAAmB,UAAU;KACrC,cAAY;KACZ,QAAQ;KACG;KACX,UACE,cAAc,KAAK,IACnB,CAAC,gBAAgB,MAAM,aAAa,QAAQ,CAAE,IAC9C,CAAC,eAAe,MAAM,aAAa,QAAQ,CAAE;KAE/C,MAAM,SAAS;AACb,UAAI,KACF,eAAc,UAAU,WAAW,KAAM;;KAG7C,GAAI;KACJ,YAAY,UAAU;AACpB,gBAAU,YAAY,MAAM;AAC5B,uBAAiB,OAAO;OAAE;OAAU;OAAW;OAAM,CAAC;;KAExD,eAAe,UAAU;AACvB,gBAAU,eAAe,MAAM;AAC/B,0BAAoB,OAAO,KAAK;;KAElC,UAAU,UAAU;AAClB,gBAAU,UAAU,MAAM;AAE1B,qBAAe,OAAO,KAAK;;KAE7B,cAAc,UAAU;AACtB,gBAAU,cAAc,MAAM;AAC9B,wBAAkB,MAAM,gBAAgB;;KAE1C,UAAU,kBAAkB,CAAC,mBAAmB,KAAK;KACrD,CAAA;IACC,EAnDE,KAAK,UAAU,CAmDjB;IAEP;AAEF,SACE,qBAAC,MAAD;GAAmB,GAAI,UAAU,WAAW;aAA5C,CACG,mBAAmB,oBAAC,MAAD;IAAI,GAAI,UAAU,aAAa;cAAG,cAAc,IAAI;IAAM,CAAA,EAC7E,MACE;KAHI,SAGJ;GAEP;AAEF,QACE,qBAAC,KAAD;EACE,WAAU;EACV,GAAI,UAAU,QAAQ;EAChB;EACN,mBAAiB,aAAa,KAAA;EAC9B,GAAI;YALN,CAOG,CAAC,gBACA,oBAAC,SAAD;GAAO,GAAI,UAAU,aAAa;aAChC,oBAAC,aAAD;IACE,kBAAkB,oBAAoB;IAC9B;IACQ;IACD;IACE;IACX;IACN,YAAY;IACZ,QAAQ;IACE;IACE;IACZ,CAAA;GACI,CAAA,EAEV,oBAAC,SAAD;GAAO,GAAI,UAAU,aAAa;aAAG;GAAa,CAAA,CAC9C;;EAER;AAEF,MAAM,UAAUA;AAChB,MAAM,eAAe;AACrB,MAAM,cAAc"}
@@ -0,0 +1,11 @@
1
+ "use client";
2
+ //#region packages/@mantine/dates/src/components/Month/Month.module.css
3
+ var Month_module_default = {
4
+ "month": "m_cc9820d3",
5
+ "monthCell": "m_8f457cd5",
6
+ "weekNumber": "m_6cff9dea"
7
+ };
8
+ //#endregion
9
+ export { Month_module_default as default };
10
+
11
+ //# sourceMappingURL=Month.module.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Month.module.mjs","names":[],"sources":["../../../src/components/Month/Month.module.css"],"sourcesContent":[".month {\n border-collapse: collapse;\n table-layout: fixed;\n\n &[data-full-width] {\n width: 100%;\n }\n}\n\n.monthCell {\n padding: 0;\n\n &:where([data-with-spacing]) {\n padding: 0.5px;\n }\n}\n\n.weekNumber {\n --wn-size-xs: 30px;\n --wn-size-sm: 36px;\n --wn-size-md: 42px;\n --wn-size-lg: 48px;\n --wn-size-xl: 54px;\n\n color: var(--mantine-color-dimmed);\n font-weight: var(--mantine-font-weight-regular);\n font-size: calc(var(--wn-size, var(--wn-size-sm)) / 2.8);\n text-align: center;\n width: var(--wn-size, var(--wn-size-sm));\n}\n"],"mappings":""}
@@ -1,31 +1,18 @@
1
- 'use client';
2
- import dayjs from 'dayjs';
3
- import { isAfterMinDate } from '../is-after-min-date/is-after-min-date.mjs';
4
- import { isBeforeMaxDate } from '../is-before-max-date/is-before-max-date.mjs';
5
- import { isSameMonth } from '../is-same-month/is-same-month.mjs';
6
-
7
- function getDateInTabOrder({
8
- dates,
9
- minDate,
10
- maxDate,
11
- getDayProps,
12
- excludeDate,
13
- hideOutsideDates,
14
- month
15
- }) {
16
- const enabledDates = dates.flat().filter(
17
- (date) => isBeforeMaxDate(date, maxDate) && isAfterMinDate(date, minDate) && !excludeDate?.(date) && !getDayProps?.(date)?.disabled && (!hideOutsideDates || isSameMonth(date, month))
18
- );
19
- const selectedDate = enabledDates.find((date) => getDayProps?.(date)?.selected);
20
- if (selectedDate) {
21
- return selectedDate;
22
- }
23
- const currentDate = enabledDates.find((date) => dayjs().isSame(date, "date"));
24
- if (currentDate) {
25
- return currentDate;
26
- }
27
- return enabledDates[0];
1
+ "use client";
2
+ import { isSameMonth } from "../is-same-month/is-same-month.mjs";
3
+ import { isAfterMinDate } from "../is-after-min-date/is-after-min-date.mjs";
4
+ import { isBeforeMaxDate } from "../is-before-max-date/is-before-max-date.mjs";
5
+ import dayjs from "dayjs";
6
+ //#region packages/@mantine/dates/src/components/Month/get-date-in-tab-order/get-date-in-tab-order.ts
7
+ function getDateInTabOrder({ dates, minDate, maxDate, getDayProps, excludeDate, hideOutsideDates, month }) {
8
+ const enabledDates = dates.flat().filter((date) => isBeforeMaxDate(date, maxDate) && isAfterMinDate(date, minDate) && !excludeDate?.(date) && !getDayProps?.(date)?.disabled && (!hideOutsideDates || isSameMonth(date, month)));
9
+ const selectedDate = enabledDates.find((date) => getDayProps?.(date)?.selected);
10
+ if (selectedDate) return selectedDate;
11
+ const currentDate = enabledDates.find((date) => dayjs().isSame(date, "date"));
12
+ if (currentDate) return currentDate;
13
+ return enabledDates[0];
28
14
  }
29
-
15
+ //#endregion
30
16
  export { getDateInTabOrder };
31
- //# sourceMappingURL=get-date-in-tab-order.mjs.map
17
+
18
+ //# sourceMappingURL=get-date-in-tab-order.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"get-date-in-tab-order.mjs","sources":["../../../../src/components/Month/get-date-in-tab-order/get-date-in-tab-order.ts"],"sourcesContent":["import dayjs from 'dayjs';\nimport { DateStringValue } from '../../../types';\nimport { DayProps } from '../../Day/Day';\nimport { isAfterMinDate } from '../is-after-min-date/is-after-min-date';\nimport { isBeforeMaxDate } from '../is-before-max-date/is-before-max-date';\nimport { isSameMonth } from '../is-same-month/is-same-month';\n\ninterface GetDateInTabOrderInput {\n dates: DateStringValue[][];\n minDate: DateStringValue | undefined;\n maxDate: DateStringValue | undefined;\n getDayProps: ((date: DateStringValue) => Partial<DayProps>) | undefined;\n excludeDate: ((date: DateStringValue) => boolean) | undefined;\n hideOutsideDates: boolean | undefined;\n month: DateStringValue;\n}\n\nexport function getDateInTabOrder({\n dates,\n minDate,\n maxDate,\n getDayProps,\n excludeDate,\n hideOutsideDates,\n month,\n}: GetDateInTabOrderInput) {\n const enabledDates = dates\n .flat()\n .filter(\n (date) =>\n isBeforeMaxDate(date, maxDate) &&\n isAfterMinDate(date, minDate) &&\n !excludeDate?.(date) &&\n !getDayProps?.(date)?.disabled &&\n (!hideOutsideDates || isSameMonth(date, month))\n );\n\n const selectedDate = enabledDates.find((date) => getDayProps?.(date)?.selected);\n\n if (selectedDate) {\n return selectedDate;\n }\n\n const currentDate = enabledDates.find((date) => dayjs().isSame(date, 'date'));\n\n if (currentDate) {\n return currentDate;\n }\n\n return enabledDates[0];\n}\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"get-date-in-tab-order.mjs","names":[],"sources":["../../../../src/components/Month/get-date-in-tab-order/get-date-in-tab-order.ts"],"sourcesContent":["import dayjs from 'dayjs';\nimport { DateStringValue } from '../../../types';\nimport { DayProps } from '../../Day/Day';\nimport { isAfterMinDate } from '../is-after-min-date/is-after-min-date';\nimport { isBeforeMaxDate } from '../is-before-max-date/is-before-max-date';\nimport { isSameMonth } from '../is-same-month/is-same-month';\n\ninterface GetDateInTabOrderInput {\n dates: DateStringValue[][];\n minDate: DateStringValue | undefined;\n maxDate: DateStringValue | undefined;\n getDayProps: ((date: DateStringValue) => Partial<DayProps>) | undefined;\n excludeDate: ((date: DateStringValue) => boolean) | undefined;\n hideOutsideDates: boolean | undefined;\n month: DateStringValue;\n}\n\nexport function getDateInTabOrder({\n dates,\n minDate,\n maxDate,\n getDayProps,\n excludeDate,\n hideOutsideDates,\n month,\n}: GetDateInTabOrderInput) {\n const enabledDates = dates\n .flat()\n .filter(\n (date) =>\n isBeforeMaxDate(date, maxDate) &&\n isAfterMinDate(date, minDate) &&\n !excludeDate?.(date) &&\n !getDayProps?.(date)?.disabled &&\n (!hideOutsideDates || isSameMonth(date, month))\n );\n\n const selectedDate = enabledDates.find((date) => getDayProps?.(date)?.selected);\n\n if (selectedDate) {\n return selectedDate;\n }\n\n const currentDate = enabledDates.find((date) => dayjs().isSame(date, 'date'));\n\n if (currentDate) {\n return currentDate;\n }\n\n return enabledDates[0];\n}\n"],"mappings":";;;;;;AAiBA,SAAgB,kBAAkB,EAChC,OACA,SACA,SACA,aACA,aACA,kBACA,SACyB;CACzB,MAAM,eAAe,MAClB,MAAM,CACN,QACE,SACC,gBAAgB,MAAM,QAAQ,IAC9B,eAAe,MAAM,QAAQ,IAC7B,CAAC,cAAc,KAAK,IACpB,CAAC,cAAc,KAAK,EAAE,aACrB,CAAC,oBAAoB,YAAY,MAAM,MAAM,EACjD;CAEH,MAAM,eAAe,aAAa,MAAM,SAAS,cAAc,KAAK,EAAE,SAAS;AAE/E,KAAI,aACF,QAAO;CAGT,MAAM,cAAc,aAAa,MAAM,SAAS,OAAO,CAAC,OAAO,MAAM,OAAO,CAAC;AAE7E,KAAI,YACF,QAAO;AAGT,QAAO,aAAa"}
@@ -1,17 +1,14 @@
1
- 'use client';
2
- import dayjs from 'dayjs';
3
-
1
+ "use client";
2
+ import dayjs from "dayjs";
3
+ //#region packages/@mantine/dates/src/components/Month/get-end-of-week/get-end-of-week.ts
4
4
  function getEndOfWeek(date, firstDayOfWeek = 1) {
5
- let value = dayjs(date);
6
- if (!value.isValid()) {
7
- return value;
8
- }
9
- const lastDayOfWeek = firstDayOfWeek === 0 ? 6 : firstDayOfWeek - 1;
10
- while (value.day() !== lastDayOfWeek) {
11
- value = value.add(1, "day");
12
- }
13
- return value.format("YYYY-MM-DD");
5
+ let value = dayjs(date);
6
+ if (!value.isValid()) return value;
7
+ const lastDayOfWeek = firstDayOfWeek === 0 ? 6 : firstDayOfWeek - 1;
8
+ while (value.day() !== lastDayOfWeek) value = value.add(1, "day");
9
+ return value.format("YYYY-MM-DD");
14
10
  }
15
-
11
+ //#endregion
16
12
  export { getEndOfWeek };
17
- //# sourceMappingURL=get-end-of-week.mjs.map
13
+
14
+ //# sourceMappingURL=get-end-of-week.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"get-end-of-week.mjs","sources":["../../../../src/components/Month/get-end-of-week/get-end-of-week.ts"],"sourcesContent":["import dayjs from 'dayjs';\nimport type { DateStringValue, DayOfWeek } from '../../../types';\n\nexport function getEndOfWeek(date: DateStringValue, firstDayOfWeek: DayOfWeek = 1) {\n let value = dayjs(date);\n\n if (!value.isValid()) {\n return value;\n }\n\n const lastDayOfWeek = firstDayOfWeek === 0 ? 6 : firstDayOfWeek - 1;\n while (value.day() !== lastDayOfWeek) {\n value = value.add(1, 'day');\n }\n\n return value.format('YYYY-MM-DD');\n}\n"],"names":[],"mappings":";;;AAGO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAS,YAAA,CAAa,CAAA,CAAA,CAAA,CAAA,EAAuB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAA4B,CAAA,CAAA,CAAG,CAAA;AACjF,CAAA,CAAA,IAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,CAAA,CAAA,CAAA,CAAA,EAAM,IAAI,CAAA,CAAA;AAEtB,CAAA,CAAA,IAAI,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAQ,CAAA,CAAG,CAAA;AACpB,CAAA,CAAA,CAAA,CAAA,OAAO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CACT,CAAA;AAEA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAgB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAmB,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAiB,CAAA,CAAA;AAClE,CAAA,CAAA,OAAO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,GAAA,CAAA,CAAI,CAAA,CAAA,CAAA,CAAA,CAAM,aAAA,CAAA,CAAe,CAAA;AACpC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,GAAQ,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,GAAA,CAAI,CAAA,CAAA,CAAG,CAAA,CAAA,CAAA,CAAA,CAAK,CAAA,CAAA;AAAA,CAAA,CAC5B,CAAA;AAEA,CAAA,CAAA,OAAO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAA,CAAA,EAAO,YAAY,CAAA,CAAA;AAClC,CAAA;;"}
1
+ {"version":3,"file":"get-end-of-week.mjs","names":[],"sources":["../../../../src/components/Month/get-end-of-week/get-end-of-week.ts"],"sourcesContent":["import dayjs from 'dayjs';\nimport type { DateStringValue, DayOfWeek } from '../../../types';\n\nexport function getEndOfWeek(date: DateStringValue, firstDayOfWeek: DayOfWeek = 1) {\n let value = dayjs(date);\n\n if (!value.isValid()) {\n return value;\n }\n\n const lastDayOfWeek = firstDayOfWeek === 0 ? 6 : firstDayOfWeek - 1;\n while (value.day() !== lastDayOfWeek) {\n value = value.add(1, 'day');\n }\n\n return value.format('YYYY-MM-DD');\n}\n"],"mappings":";;;AAGA,SAAgB,aAAa,MAAuB,iBAA4B,GAAG;CACjF,IAAI,QAAQ,MAAM,KAAK;AAEvB,KAAI,CAAC,MAAM,SAAS,CAClB,QAAO;CAGT,MAAM,gBAAgB,mBAAmB,IAAI,IAAI,iBAAiB;AAClE,QAAO,MAAM,KAAK,KAAK,cACrB,SAAQ,MAAM,IAAI,GAAG,MAAM;AAG7B,QAAO,MAAM,OAAO,aAAa"}