@mantine/schedule 9.0.0-alpha.5 → 9.0.0-alpha.7

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 (457) hide show
  1. package/cjs/_virtual/_rolldown/runtime.cjs +24 -0
  2. package/cjs/components/CurrentTimeIndicator/CurrentTimeIndicator.cjs +79 -102
  3. package/cjs/components/CurrentTimeIndicator/CurrentTimeIndicator.cjs.map +1 -1
  4. package/cjs/components/CurrentTimeIndicator/CurrentTimeIndicator.module.cjs +12 -0
  5. package/cjs/components/CurrentTimeIndicator/CurrentTimeIndicator.module.cjs.map +1 -0
  6. package/cjs/components/DayView/DayView.cjs +482 -578
  7. package/cjs/components/DayView/DayView.cjs.map +1 -1
  8. package/cjs/components/DayView/DayView.module.cjs +20 -0
  9. package/cjs/components/DayView/DayView.module.cjs.map +1 -0
  10. package/cjs/components/DayView/get-day-view-events/get-day-positioned-events.cjs +89 -106
  11. package/cjs/components/DayView/get-day-view-events/get-day-positioned-events.cjs.map +1 -1
  12. package/cjs/components/DayView/get-day-view-events/get-day-view-events.cjs +106 -106
  13. package/cjs/components/DayView/get-day-view-events/get-day-view-events.cjs.map +1 -1
  14. package/cjs/components/DragContext/DragContext.cjs +7 -8
  15. package/cjs/components/DragContext/DragContext.cjs.map +1 -1
  16. package/cjs/components/MobileMonthView/MobileMonthView.cjs +261 -297
  17. package/cjs/components/MobileMonthView/MobileMonthView.cjs.map +1 -1
  18. package/cjs/components/MobileMonthView/MobileMonthView.module.cjs +27 -0
  19. package/cjs/components/MobileMonthView/MobileMonthView.module.cjs.map +1 -0
  20. package/cjs/components/MobileMonthView/get-mobile-month-view-events.cjs +35 -53
  21. package/cjs/components/MobileMonthView/get-mobile-month-view-events.cjs.map +1 -1
  22. package/cjs/components/MonthView/MonthView.cjs +365 -467
  23. package/cjs/components/MonthView/MonthView.cjs.map +1 -1
  24. package/cjs/components/MonthView/MonthView.module.cjs +18 -0
  25. package/cjs/components/MonthView/MonthView.module.cjs.map +1 -0
  26. package/cjs/components/MonthView/get-month-view-events/add-event-to-day-groups.cjs +15 -24
  27. package/cjs/components/MonthView/get-month-view-events/add-event-to-day-groups.cjs.map +1 -1
  28. package/cjs/components/MonthView/get-month-view-events/calculate-event-position-in-week.cjs +23 -35
  29. package/cjs/components/MonthView/get-month-view-events/calculate-event-position-in-week.cjs.map +1 -1
  30. package/cjs/components/MonthView/get-month-view-events/find-available-row.cjs +16 -29
  31. package/cjs/components/MonthView/get-month-view-events/find-available-row.cjs.map +1 -1
  32. package/cjs/components/MonthView/get-month-view-events/get-month-positioned-events.cjs +87 -97
  33. package/cjs/components/MonthView/get-month-view-events/get-month-positioned-events.cjs.map +1 -1
  34. package/cjs/components/MonthView/get-month-view-events/get-month-view-events.cjs +36 -45
  35. package/cjs/components/MonthView/get-month-view-events/get-month-view-events.cjs.map +1 -1
  36. package/cjs/components/MonthView/get-month-view-events/get-weeks-in-range.cjs +30 -39
  37. package/cjs/components/MonthView/get-month-view-events/get-weeks-in-range.cjs.map +1 -1
  38. package/cjs/components/MonthView/handle-month-view-key-down.cjs +94 -139
  39. package/cjs/components/MonthView/handle-month-view-key-down.cjs.map +1 -1
  40. package/cjs/components/MoreEvents/MoreEvents.cjs +87 -121
  41. package/cjs/components/MoreEvents/MoreEvents.cjs.map +1 -1
  42. package/cjs/components/MoreEvents/MoreEvents.module.cjs +11 -0
  43. package/cjs/components/MoreEvents/MoreEvents.module.cjs.map +1 -0
  44. package/cjs/components/Schedule/Schedule.cjs +147 -174
  45. package/cjs/components/Schedule/Schedule.cjs.map +1 -1
  46. package/cjs/components/Schedule/Schedule.module.cjs +11 -0
  47. package/cjs/components/Schedule/Schedule.module.cjs.map +1 -0
  48. package/cjs/components/ScheduleEvent/ScheduleEvent.cjs +116 -154
  49. package/cjs/components/ScheduleEvent/ScheduleEvent.cjs.map +1 -1
  50. package/cjs/components/ScheduleEvent/ScheduleEvent.module.cjs +11 -0
  51. package/cjs/components/ScheduleEvent/ScheduleEvent.module.cjs.map +1 -0
  52. package/cjs/components/ScheduleHeader/HeaderControl/HeaderControl.cjs +62 -73
  53. package/cjs/components/ScheduleHeader/HeaderControl/HeaderControl.cjs.map +1 -1
  54. package/cjs/components/ScheduleHeader/HeaderControl/HeaderControl.module.cjs +7 -0
  55. package/cjs/components/ScheduleHeader/HeaderControl/HeaderControl.module.cjs.map +1 -0
  56. package/cjs/components/ScheduleHeader/MonthYearSelect/MonthYearSelect.cjs +152 -190
  57. package/cjs/components/ScheduleHeader/MonthYearSelect/MonthYearSelect.cjs.map +1 -1
  58. package/cjs/components/ScheduleHeader/MonthYearSelect/MonthYearSelect.module.cjs +13 -0
  59. package/cjs/components/ScheduleHeader/MonthYearSelect/MonthYearSelect.module.cjs.map +1 -0
  60. package/cjs/components/ScheduleHeader/ScheduleHeader.cjs +41 -55
  61. package/cjs/components/ScheduleHeader/ScheduleHeader.cjs.map +1 -1
  62. package/cjs/components/ScheduleHeader/ScheduleHeader.module.cjs +13 -0
  63. package/cjs/components/ScheduleHeader/ScheduleHeader.module.cjs.map +1 -0
  64. package/cjs/components/ScheduleHeader/ScheduleHeaderBase.cjs +83 -84
  65. package/cjs/components/ScheduleHeader/ScheduleHeaderBase.cjs.map +1 -1
  66. package/cjs/components/ScheduleHeader/ViewSelect/ViewSelect.cjs +105 -126
  67. package/cjs/components/ScheduleHeader/ViewSelect/ViewSelect.cjs.map +1 -1
  68. package/cjs/components/ScheduleHeader/ViewSelect/ViewSelect.module.cjs +7 -0
  69. package/cjs/components/ScheduleHeader/ViewSelect/ViewSelect.module.cjs.map +1 -0
  70. package/cjs/components/WeekView/WeekView.cjs +630 -748
  71. package/cjs/components/WeekView/WeekView.cjs.map +1 -1
  72. package/cjs/components/WeekView/WeekView.module.cjs +29 -0
  73. package/cjs/components/WeekView/WeekView.module.cjs.map +1 -0
  74. package/cjs/components/WeekView/WeekViewDay.cjs +82 -109
  75. package/cjs/components/WeekView/WeekViewDay.cjs.map +1 -1
  76. package/cjs/components/WeekView/get-week-label/get-week-label.cjs +27 -35
  77. package/cjs/components/WeekView/get-week-label/get-week-label.cjs.map +1 -1
  78. package/cjs/components/WeekView/get-week-view-events/assign-event-rows.cjs +21 -29
  79. package/cjs/components/WeekView/get-week-view-events/assign-event-rows.cjs.map +1 -1
  80. package/cjs/components/WeekView/get-week-view-events/calculate-all-day-event-offset.cjs +13 -29
  81. package/cjs/components/WeekView/get-week-view-events/calculate-all-day-event-offset.cjs.map +1 -1
  82. package/cjs/components/WeekView/get-week-view-events/calculate-all-day-event-width.cjs +14 -31
  83. package/cjs/components/WeekView/get-week-view-events/calculate-all-day-event-width.cjs.map +1 -1
  84. package/cjs/components/WeekView/get-week-view-events/calculate-event-days.cjs +13 -16
  85. package/cjs/components/WeekView/get-week-view-events/calculate-event-days.cjs.map +1 -1
  86. package/cjs/components/WeekView/get-week-view-events/calculate-regular-event-overlaps.cjs +14 -22
  87. package/cjs/components/WeekView/get-week-view-events/calculate-regular-event-overlaps.cjs.map +1 -1
  88. package/cjs/components/WeekView/get-week-view-events/filter-week-view-events.cjs +26 -35
  89. package/cjs/components/WeekView/get-week-view-events/filter-week-view-events.cjs.map +1 -1
  90. package/cjs/components/WeekView/get-week-view-events/find-available-column.cjs +26 -39
  91. package/cjs/components/WeekView/get-week-view-events/find-available-column.cjs.map +1 -1
  92. package/cjs/components/WeekView/get-week-view-events/get-event-end-date.cjs +11 -16
  93. package/cjs/components/WeekView/get-week-view-events/get-event-end-date.cjs.map +1 -1
  94. package/cjs/components/WeekView/get-week-view-events/get-hanging-status.cjs +17 -30
  95. package/cjs/components/WeekView/get-week-view-events/get-hanging-status.cjs.map +1 -1
  96. package/cjs/components/WeekView/get-week-view-events/get-week-positioned-events.cjs +200 -186
  97. package/cjs/components/WeekView/get-week-view-events/get-week-positioned-events.cjs.map +1 -1
  98. package/cjs/components/WeekView/get-week-view-events/get-week-view-events.cjs +11 -9
  99. package/cjs/components/WeekView/get-week-view-events/get-week-view-events.cjs.map +1 -1
  100. package/cjs/components/WeekView/handle-week-view-key-down.cjs +82 -127
  101. package/cjs/components/WeekView/handle-week-view-key-down.cjs.map +1 -1
  102. package/cjs/components/YearView/YearView.cjs +160 -213
  103. package/cjs/components/YearView/YearView.cjs.map +1 -1
  104. package/cjs/components/YearView/YearView.module.cjs +20 -0
  105. package/cjs/components/YearView/YearView.module.cjs.map +1 -0
  106. package/cjs/components/YearView/YearViewMonth.cjs +135 -158
  107. package/cjs/components/YearView/YearViewMonth.cjs.map +1 -1
  108. package/cjs/components/YearView/get-year-view-events/get-year-view-events.cjs +32 -48
  109. package/cjs/components/YearView/get-year-view-events/get-year-view-events.cjs.map +1 -1
  110. package/cjs/components/YearView/handle-year-view-key-down.cjs +143 -202
  111. package/cjs/components/YearView/handle-year-view-key-down.cjs.map +1 -1
  112. package/cjs/hooks/use-auto-scroll-on-drag.cjs +67 -70
  113. package/cjs/hooks/use-auto-scroll-on-drag.cjs.map +1 -1
  114. package/cjs/hooks/use-drag-drop-handlers.cjs +115 -127
  115. package/cjs/hooks/use-drag-drop-handlers.cjs.map +1 -1
  116. package/cjs/hooks/use-drag-state.cjs +38 -42
  117. package/cjs/hooks/use-drag-state.cjs.map +1 -1
  118. package/cjs/hooks/use-event-resize.cjs +137 -163
  119. package/cjs/hooks/use-event-resize.cjs.map +1 -1
  120. package/cjs/hooks/use-slot-drag-select.cjs +75 -88
  121. package/cjs/hooks/use-slot-drag-select.cjs.map +1 -1
  122. package/cjs/index.cjs +98 -103
  123. package/cjs/labels.cjs +30 -28
  124. package/cjs/labels.cjs.map +1 -1
  125. package/cjs/utils/calculate-drop-time/calculate-drop-time.cjs +23 -36
  126. package/cjs/utils/calculate-drop-time/calculate-drop-time.cjs.map +1 -1
  127. package/cjs/utils/calculate-month-drop-date/calculate-month-drop-date.cjs +17 -24
  128. package/cjs/utils/calculate-month-drop-date/calculate-month-drop-date.cjs.map +1 -1
  129. package/cjs/utils/clamp-interval-minutes/clamp-interval-minutes.cjs +9 -8
  130. package/cjs/utils/clamp-interval-minutes/clamp-interval-minutes.cjs.map +1 -1
  131. package/cjs/utils/expand-recurring-events/expand-recurring-events.cjs +103 -141
  132. package/cjs/utils/expand-recurring-events/expand-recurring-events.cjs.map +1 -1
  133. package/cjs/utils/format-date/format-date.cjs +10 -15
  134. package/cjs/utils/format-date/format-date.cjs.map +1 -1
  135. package/cjs/utils/get-business-hours-mod/get-business-hours-mod.cjs +23 -22
  136. package/cjs/utils/get-business-hours-mod/get-business-hours-mod.cjs.map +1 -1
  137. package/cjs/utils/get-current-time-position/get-current-time-position.cjs +19 -25
  138. package/cjs/utils/get-current-time-position/get-current-time-position.cjs.map +1 -1
  139. package/cjs/utils/get-day-position/get-day-position.cjs +26 -35
  140. package/cjs/utils/get-day-position/get-day-position.cjs.map +1 -1
  141. package/cjs/utils/get-day-time-intervals/get-day-time-intervals.cjs +50 -45
  142. package/cjs/utils/get-day-time-intervals/get-day-time-intervals.cjs.map +1 -1
  143. package/cjs/utils/get-end-of-week/get-end-of-week.cjs +13 -20
  144. package/cjs/utils/get-end-of-week/get-end-of-week.cjs.map +1 -1
  145. package/cjs/utils/get-month-days/get-month-days.cjs +41 -47
  146. package/cjs/utils/get-month-days/get-month-days.cjs.map +1 -1
  147. package/cjs/utils/get-month-range/get-month-range.cjs +25 -30
  148. package/cjs/utils/get-month-range/get-month-range.cjs.map +1 -1
  149. package/cjs/utils/get-months-by-quarter/get-months-by-quarter.cjs +21 -21
  150. package/cjs/utils/get-months-by-quarter/get-months-by-quarter.cjs.map +1 -1
  151. package/cjs/utils/get-months-list/get-months-list.cjs +20 -18
  152. package/cjs/utils/get-months-list/get-months-list.cjs.map +1 -1
  153. package/cjs/utils/get-start-of-week/get-start-of-week.cjs +11 -16
  154. package/cjs/utils/get-start-of-week/get-start-of-week.cjs.map +1 -1
  155. package/cjs/utils/get-visible-events/get-visible-events.cjs +13 -15
  156. package/cjs/utils/get-visible-events/get-visible-events.cjs.map +1 -1
  157. package/cjs/utils/get-week-days/get-week-days.cjs +23 -30
  158. package/cjs/utils/get-week-days/get-week-days.cjs.map +1 -1
  159. package/cjs/utils/get-week-number/get-week-number.cjs +13 -19
  160. package/cjs/utils/get-week-number/get-week-number.cjs.map +1 -1
  161. package/cjs/utils/get-weekdays-names/get-weekdays-names.cjs +18 -23
  162. package/cjs/utils/get-weekdays-names/get-weekdays-names.cjs.map +1 -1
  163. package/cjs/utils/get-years-list/get-years-list.cjs +8 -10
  164. package/cjs/utils/get-years-list/get-years-list.cjs.map +1 -1
  165. package/cjs/utils/is-after-min-date/is-after-min-date.cjs +9 -12
  166. package/cjs/utils/is-after-min-date/is-after-min-date.cjs.map +1 -1
  167. package/cjs/utils/is-all-day-event/is-all-day-event.cjs +13 -16
  168. package/cjs/utils/is-all-day-event/is-all-day-event.cjs.map +1 -1
  169. package/cjs/utils/is-before-max-date/is-before-max-date.cjs +9 -12
  170. package/cjs/utils/is-before-max-date/is-before-max-date.cjs.map +1 -1
  171. package/cjs/utils/is-event-in-time-range/is-event-in-time-range.cjs +19 -27
  172. package/cjs/utils/is-event-in-time-range/is-event-in-time-range.cjs.map +1 -1
  173. package/cjs/utils/is-events-overlap/is-events-overlap.cjs +13 -16
  174. package/cjs/utils/is-events-overlap/is-events-overlap.cjs.map +1 -1
  175. package/cjs/utils/is-in-time-range/is-in-time-range.cjs +17 -23
  176. package/cjs/utils/is-in-time-range/is-in-time-range.cjs.map +1 -1
  177. package/cjs/utils/is-multiday-event/is-multiday-event.cjs +10 -14
  178. package/cjs/utils/is-multiday-event/is-multiday-event.cjs.map +1 -1
  179. package/cjs/utils/is-same-month/is-same-month.cjs +9 -12
  180. package/cjs/utils/is-same-month/is-same-month.cjs.map +1 -1
  181. package/cjs/utils/is-within-week/is-within-week.cjs +15 -15
  182. package/cjs/utils/is-within-week/is-within-week.cjs.map +1 -1
  183. package/cjs/utils/next-week/next-week.cjs +15 -15
  184. package/cjs/utils/next-week/next-week.cjs.map +1 -1
  185. package/cjs/utils/parse-time-string/parse-time-string.cjs +11 -7
  186. package/cjs/utils/parse-time-string/parse-time-string.cjs.map +1 -1
  187. package/cjs/utils/previous-week/previous-week.cjs +15 -15
  188. package/cjs/utils/previous-week/previous-week.cjs.map +1 -1
  189. package/cjs/utils/sort-events/sort-events.cjs +14 -18
  190. package/cjs/utils/sort-events/sort-events.cjs.map +1 -1
  191. package/cjs/utils/to-date-string/to-date-string.cjs +9 -12
  192. package/cjs/utils/to-date-string/to-date-string.cjs.map +1 -1
  193. package/cjs/utils/to-time-string/to-time-string.cjs +6 -6
  194. package/cjs/utils/to-time-string/to-time-string.cjs.map +1 -1
  195. package/cjs/utils/validate-event/validate-event.cjs +12 -23
  196. package/cjs/utils/validate-event/validate-event.cjs.map +1 -1
  197. package/esm/components/CurrentTimeIndicator/CurrentTimeIndicator.mjs +76 -95
  198. package/esm/components/CurrentTimeIndicator/CurrentTimeIndicator.mjs.map +1 -1
  199. package/esm/components/CurrentTimeIndicator/CurrentTimeIndicator.module.mjs +12 -0
  200. package/esm/components/CurrentTimeIndicator/CurrentTimeIndicator.module.mjs.map +1 -0
  201. package/esm/components/DayView/DayView.mjs +479 -571
  202. package/esm/components/DayView/DayView.mjs.map +1 -1
  203. package/esm/components/DayView/DayView.module.mjs +20 -0
  204. package/esm/components/DayView/DayView.module.mjs.map +1 -0
  205. package/esm/components/DayView/get-day-view-events/get-day-positioned-events.mjs +89 -104
  206. package/esm/components/DayView/get-day-view-events/get-day-positioned-events.mjs.map +1 -1
  207. package/esm/components/DayView/get-day-view-events/get-day-view-events.mjs +104 -100
  208. package/esm/components/DayView/get-day-view-events/get-day-view-events.mjs.map +1 -1
  209. package/esm/components/DragContext/DragContext.mjs +6 -5
  210. package/esm/components/DragContext/DragContext.mjs.map +1 -1
  211. package/esm/components/MobileMonthView/MobileMonthView.mjs +257 -289
  212. package/esm/components/MobileMonthView/MobileMonthView.mjs.map +1 -1
  213. package/esm/components/MobileMonthView/MobileMonthView.module.mjs +27 -0
  214. package/esm/components/MobileMonthView/MobileMonthView.module.mjs.map +1 -0
  215. package/esm/components/MobileMonthView/get-mobile-month-view-events.mjs +33 -47
  216. package/esm/components/MobileMonthView/get-mobile-month-view-events.mjs.map +1 -1
  217. package/esm/components/MonthView/MonthView.mjs +362 -460
  218. package/esm/components/MonthView/MonthView.mjs.map +1 -1
  219. package/esm/components/MonthView/MonthView.module.mjs +18 -0
  220. package/esm/components/MonthView/MonthView.module.mjs.map +1 -0
  221. package/esm/components/MonthView/get-month-view-events/add-event-to-day-groups.mjs +15 -22
  222. package/esm/components/MonthView/get-month-view-events/add-event-to-day-groups.mjs.map +1 -1
  223. package/esm/components/MonthView/get-month-view-events/calculate-event-position-in-week.mjs +23 -33
  224. package/esm/components/MonthView/get-month-view-events/calculate-event-position-in-week.mjs.map +1 -1
  225. package/esm/components/MonthView/get-month-view-events/find-available-row.mjs +14 -23
  226. package/esm/components/MonthView/get-month-view-events/find-available-row.mjs.map +1 -1
  227. package/esm/components/MonthView/get-month-view-events/get-month-positioned-events.mjs +85 -91
  228. package/esm/components/MonthView/get-month-view-events/get-month-positioned-events.mjs.map +1 -1
  229. package/esm/components/MonthView/get-month-view-events/get-month-view-events.mjs +34 -39
  230. package/esm/components/MonthView/get-month-view-events/get-month-view-events.mjs.map +1 -1
  231. package/esm/components/MonthView/get-month-view-events/get-weeks-in-range.mjs +28 -33
  232. package/esm/components/MonthView/get-month-view-events/get-weeks-in-range.mjs.map +1 -1
  233. package/esm/components/MonthView/handle-month-view-key-down.mjs +94 -137
  234. package/esm/components/MonthView/handle-month-view-key-down.mjs.map +1 -1
  235. package/esm/components/MoreEvents/MoreEvents.mjs +85 -118
  236. package/esm/components/MoreEvents/MoreEvents.mjs.map +1 -1
  237. package/esm/components/MoreEvents/MoreEvents.module.mjs +11 -0
  238. package/esm/components/MoreEvents/MoreEvents.module.mjs.map +1 -0
  239. package/esm/components/Schedule/Schedule.mjs +145 -171
  240. package/esm/components/Schedule/Schedule.mjs.map +1 -1
  241. package/esm/components/Schedule/Schedule.module.mjs +11 -0
  242. package/esm/components/Schedule/Schedule.module.mjs.map +1 -0
  243. package/esm/components/ScheduleEvent/ScheduleEvent.mjs +114 -151
  244. package/esm/components/ScheduleEvent/ScheduleEvent.mjs.map +1 -1
  245. package/esm/components/ScheduleEvent/ScheduleEvent.module.mjs +11 -0
  246. package/esm/components/ScheduleEvent/ScheduleEvent.module.mjs.map +1 -0
  247. package/esm/components/ScheduleHeader/HeaderControl/HeaderControl.mjs +60 -70
  248. package/esm/components/ScheduleHeader/HeaderControl/HeaderControl.mjs.map +1 -1
  249. package/esm/components/ScheduleHeader/HeaderControl/HeaderControl.module.mjs +7 -0
  250. package/esm/components/ScheduleHeader/HeaderControl/HeaderControl.module.mjs.map +1 -0
  251. package/esm/components/ScheduleHeader/MonthYearSelect/MonthYearSelect.mjs +150 -187
  252. package/esm/components/ScheduleHeader/MonthYearSelect/MonthYearSelect.mjs.map +1 -1
  253. package/esm/components/ScheduleHeader/MonthYearSelect/MonthYearSelect.module.mjs +13 -0
  254. package/esm/components/ScheduleHeader/MonthYearSelect/MonthYearSelect.module.mjs.map +1 -0
  255. package/esm/components/ScheduleHeader/ScheduleHeader.mjs +33 -46
  256. package/esm/components/ScheduleHeader/ScheduleHeader.mjs.map +1 -1
  257. package/esm/components/ScheduleHeader/ScheduleHeader.module.mjs +13 -0
  258. package/esm/components/ScheduleHeader/ScheduleHeader.module.mjs.map +1 -0
  259. package/esm/components/ScheduleHeader/ScheduleHeaderBase.mjs +82 -82
  260. package/esm/components/ScheduleHeader/ScheduleHeaderBase.mjs.map +1 -1
  261. package/esm/components/ScheduleHeader/ViewSelect/ViewSelect.mjs +103 -123
  262. package/esm/components/ScheduleHeader/ViewSelect/ViewSelect.mjs.map +1 -1
  263. package/esm/components/ScheduleHeader/ViewSelect/ViewSelect.module.mjs +7 -0
  264. package/esm/components/ScheduleHeader/ViewSelect/ViewSelect.module.mjs.map +1 -0
  265. package/esm/components/WeekView/WeekView.mjs +627 -741
  266. package/esm/components/WeekView/WeekView.mjs.map +1 -1
  267. package/esm/components/WeekView/WeekView.module.mjs +29 -0
  268. package/esm/components/WeekView/WeekView.module.mjs.map +1 -0
  269. package/esm/components/WeekView/WeekViewDay.mjs +80 -103
  270. package/esm/components/WeekView/WeekViewDay.mjs.map +1 -1
  271. package/esm/components/WeekView/get-week-label/get-week-label.mjs +25 -29
  272. package/esm/components/WeekView/get-week-label/get-week-label.mjs.map +1 -1
  273. package/esm/components/WeekView/get-week-view-events/assign-event-rows.mjs +21 -27
  274. package/esm/components/WeekView/get-week-view-events/assign-event-rows.mjs.map +1 -1
  275. package/esm/components/WeekView/get-week-view-events/calculate-all-day-event-offset.mjs +11 -23
  276. package/esm/components/WeekView/get-week-view-events/calculate-all-day-event-offset.mjs.map +1 -1
  277. package/esm/components/WeekView/get-week-view-events/calculate-all-day-event-width.mjs +12 -25
  278. package/esm/components/WeekView/get-week-view-events/calculate-all-day-event-width.mjs.map +1 -1
  279. package/esm/components/WeekView/get-week-view-events/calculate-event-days.mjs +11 -10
  280. package/esm/components/WeekView/get-week-view-events/calculate-event-days.mjs.map +1 -1
  281. package/esm/components/WeekView/get-week-view-events/calculate-regular-event-overlaps.mjs +14 -20
  282. package/esm/components/WeekView/get-week-view-events/calculate-regular-event-overlaps.mjs.map +1 -1
  283. package/esm/components/WeekView/get-week-view-events/filter-week-view-events.mjs +26 -33
  284. package/esm/components/WeekView/get-week-view-events/filter-week-view-events.mjs.map +1 -1
  285. package/esm/components/WeekView/get-week-view-events/find-available-column.mjs +26 -37
  286. package/esm/components/WeekView/get-week-view-events/find-available-column.mjs.map +1 -1
  287. package/esm/components/WeekView/get-week-view-events/get-event-end-date.mjs +9 -10
  288. package/esm/components/WeekView/get-week-view-events/get-event-end-date.mjs.map +1 -1
  289. package/esm/components/WeekView/get-week-view-events/get-hanging-status.mjs +15 -24
  290. package/esm/components/WeekView/get-week-view-events/get-hanging-status.mjs.map +1 -1
  291. package/esm/components/WeekView/get-week-view-events/get-week-positioned-events.mjs +198 -180
  292. package/esm/components/WeekView/get-week-view-events/get-week-positioned-events.mjs.map +1 -1
  293. package/esm/components/WeekView/get-week-view-events/get-week-view-events.mjs +11 -7
  294. package/esm/components/WeekView/get-week-view-events/get-week-view-events.mjs.map +1 -1
  295. package/esm/components/WeekView/handle-week-view-key-down.mjs +82 -125
  296. package/esm/components/WeekView/handle-week-view-key-down.mjs.map +1 -1
  297. package/esm/components/YearView/YearView.mjs +157 -206
  298. package/esm/components/YearView/YearView.mjs.map +1 -1
  299. package/esm/components/YearView/YearView.module.mjs +20 -0
  300. package/esm/components/YearView/YearView.module.mjs.map +1 -0
  301. package/esm/components/YearView/YearViewMonth.mjs +133 -152
  302. package/esm/components/YearView/YearViewMonth.mjs.map +1 -1
  303. package/esm/components/YearView/get-year-view-events/get-year-view-events.mjs +30 -42
  304. package/esm/components/YearView/get-year-view-events/get-year-view-events.mjs.map +1 -1
  305. package/esm/components/YearView/handle-year-view-key-down.mjs +143 -200
  306. package/esm/components/YearView/handle-year-view-key-down.mjs.map +1 -1
  307. package/esm/hooks/use-auto-scroll-on-drag.mjs +66 -68
  308. package/esm/hooks/use-auto-scroll-on-drag.mjs.map +1 -1
  309. package/esm/hooks/use-drag-drop-handlers.mjs +113 -121
  310. package/esm/hooks/use-drag-drop-handlers.mjs.map +1 -1
  311. package/esm/hooks/use-drag-state.mjs +37 -40
  312. package/esm/hooks/use-drag-state.mjs.map +1 -1
  313. package/esm/hooks/use-event-resize.mjs +135 -157
  314. package/esm/hooks/use-event-resize.mjs.map +1 -1
  315. package/esm/hooks/use-slot-drag-select.mjs +74 -86
  316. package/esm/hooks/use-slot-drag-select.mjs.map +1 -1
  317. package/esm/index.mjs +49 -49
  318. package/esm/labels.mjs +30 -26
  319. package/esm/labels.mjs.map +1 -1
  320. package/esm/utils/calculate-drop-time/calculate-drop-time.mjs +21 -30
  321. package/esm/utils/calculate-drop-time/calculate-drop-time.mjs.map +1 -1
  322. package/esm/utils/calculate-month-drop-date/calculate-month-drop-date.mjs +15 -18
  323. package/esm/utils/calculate-month-drop-date/calculate-month-drop-date.mjs.map +1 -1
  324. package/esm/utils/clamp-interval-minutes/clamp-interval-minutes.mjs +9 -6
  325. package/esm/utils/clamp-interval-minutes/clamp-interval-minutes.mjs.map +1 -1
  326. package/esm/utils/expand-recurring-events/expand-recurring-events.mjs +101 -134
  327. package/esm/utils/expand-recurring-events/expand-recurring-events.mjs.map +1 -1
  328. package/esm/utils/format-date/format-date.mjs +8 -9
  329. package/esm/utils/format-date/format-date.mjs.map +1 -1
  330. package/esm/utils/get-business-hours-mod/get-business-hours-mod.mjs +23 -20
  331. package/esm/utils/get-business-hours-mod/get-business-hours-mod.mjs.map +1 -1
  332. package/esm/utils/get-current-time-position/get-current-time-position.mjs +17 -19
  333. package/esm/utils/get-current-time-position/get-current-time-position.mjs.map +1 -1
  334. package/esm/utils/get-day-position/get-day-position.mjs +24 -29
  335. package/esm/utils/get-day-position/get-day-position.mjs.map +1 -1
  336. package/esm/utils/get-day-time-intervals/get-day-time-intervals.mjs +50 -43
  337. package/esm/utils/get-day-time-intervals/get-day-time-intervals.mjs.map +1 -1
  338. package/esm/utils/get-end-of-week/get-end-of-week.mjs +11 -14
  339. package/esm/utils/get-end-of-week/get-end-of-week.mjs.map +1 -1
  340. package/esm/utils/get-month-days/get-month-days.mjs +39 -41
  341. package/esm/utils/get-month-days/get-month-days.mjs.map +1 -1
  342. package/esm/utils/get-month-range/get-month-range.mjs +23 -24
  343. package/esm/utils/get-month-range/get-month-range.mjs.map +1 -1
  344. package/esm/utils/get-months-by-quarter/get-months-by-quarter.mjs +19 -15
  345. package/esm/utils/get-months-by-quarter/get-months-by-quarter.mjs.map +1 -1
  346. package/esm/utils/get-months-list/get-months-list.mjs +18 -12
  347. package/esm/utils/get-months-list/get-months-list.mjs.map +1 -1
  348. package/esm/utils/get-start-of-week/get-start-of-week.mjs +9 -10
  349. package/esm/utils/get-start-of-week/get-start-of-week.mjs.map +1 -1
  350. package/esm/utils/get-visible-events/get-visible-events.mjs +13 -13
  351. package/esm/utils/get-visible-events/get-visible-events.mjs.map +1 -1
  352. package/esm/utils/get-week-days/get-week-days.mjs +21 -24
  353. package/esm/utils/get-week-days/get-week-days.mjs.map +1 -1
  354. package/esm/utils/get-week-number/get-week-number.mjs +9 -11
  355. package/esm/utils/get-week-number/get-week-number.mjs.map +1 -1
  356. package/esm/utils/get-weekdays-names/get-weekdays-names.mjs +16 -17
  357. package/esm/utils/get-weekdays-names/get-weekdays-names.mjs.map +1 -1
  358. package/esm/utils/get-years-list/get-years-list.mjs +8 -8
  359. package/esm/utils/get-years-list/get-years-list.mjs.map +1 -1
  360. package/esm/utils/is-after-min-date/is-after-min-date.mjs +7 -6
  361. package/esm/utils/is-after-min-date/is-after-min-date.mjs.map +1 -1
  362. package/esm/utils/is-all-day-event/is-all-day-event.mjs +11 -10
  363. package/esm/utils/is-all-day-event/is-all-day-event.mjs.map +1 -1
  364. package/esm/utils/is-before-max-date/is-before-max-date.mjs +7 -6
  365. package/esm/utils/is-before-max-date/is-before-max-date.mjs.map +1 -1
  366. package/esm/utils/is-event-in-time-range/is-event-in-time-range.mjs +17 -21
  367. package/esm/utils/is-event-in-time-range/is-event-in-time-range.mjs.map +1 -1
  368. package/esm/utils/is-events-overlap/is-events-overlap.mjs +11 -10
  369. package/esm/utils/is-events-overlap/is-events-overlap.mjs.map +1 -1
  370. package/esm/utils/is-in-time-range/is-in-time-range.mjs +15 -17
  371. package/esm/utils/is-in-time-range/is-in-time-range.mjs.map +1 -1
  372. package/esm/utils/is-multiday-event/is-multiday-event.mjs +8 -8
  373. package/esm/utils/is-multiday-event/is-multiday-event.mjs.map +1 -1
  374. package/esm/utils/is-same-month/is-same-month.mjs +7 -6
  375. package/esm/utils/is-same-month/is-same-month.mjs.map +1 -1
  376. package/esm/utils/is-within-week/is-within-week.mjs +13 -9
  377. package/esm/utils/is-within-week/is-within-week.mjs.map +1 -1
  378. package/esm/utils/next-week/next-week.mjs +13 -9
  379. package/esm/utils/next-week/next-week.mjs.map +1 -1
  380. package/esm/utils/parse-time-string/parse-time-string.mjs +11 -5
  381. package/esm/utils/parse-time-string/parse-time-string.mjs.map +1 -1
  382. package/esm/utils/previous-week/previous-week.mjs +13 -9
  383. package/esm/utils/previous-week/previous-week.mjs.map +1 -1
  384. package/esm/utils/sort-events/sort-events.mjs +12 -12
  385. package/esm/utils/sort-events/sort-events.mjs.map +1 -1
  386. package/esm/utils/to-date-string/to-date-string.mjs +7 -6
  387. package/esm/utils/to-date-string/to-date-string.mjs.map +1 -1
  388. package/esm/utils/to-time-string/to-time-string.mjs +6 -4
  389. package/esm/utils/to-time-string/to-time-string.mjs.map +1 -1
  390. package/esm/utils/validate-event/validate-event.mjs +10 -17
  391. package/esm/utils/validate-event/validate-event.mjs.map +1 -1
  392. package/lib/components/DayView/DayView.d.ts +22 -3
  393. package/lib/components/MobileMonthView/MobileMonthView.d.ts +0 -2
  394. package/lib/components/MonthView/MonthView.d.ts +6 -1
  395. package/lib/components/Schedule/Schedule.d.ts +17 -3
  396. package/lib/components/WeekView/WeekView.d.ts +22 -3
  397. package/lib/components/WeekView/WeekViewDay.d.ts +7 -2
  398. package/lib/hooks/use-drag-drop-handlers.d.ts +6 -1
  399. package/lib/hooks/use-event-resize.d.ts +15 -2
  400. package/lib/labels.d.ts +1 -0
  401. package/package.json +4 -4
  402. package/styles.css +3 -1
  403. package/styles.layer.css +3 -1
  404. package/cjs/components/CurrentTimeIndicator/CurrentTimeIndicator.module.css.cjs +0 -7
  405. package/cjs/components/CurrentTimeIndicator/CurrentTimeIndicator.module.css.cjs.map +0 -1
  406. package/cjs/components/DayView/DayView.module.css.cjs +0 -7
  407. package/cjs/components/DayView/DayView.module.css.cjs.map +0 -1
  408. package/cjs/components/MobileMonthView/MobileMonthView.module.css.cjs +0 -7
  409. package/cjs/components/MobileMonthView/MobileMonthView.module.css.cjs.map +0 -1
  410. package/cjs/components/MonthView/MonthView.module.css.cjs +0 -7
  411. package/cjs/components/MonthView/MonthView.module.css.cjs.map +0 -1
  412. package/cjs/components/MoreEvents/MoreEvents.module.css.cjs +0 -7
  413. package/cjs/components/MoreEvents/MoreEvents.module.css.cjs.map +0 -1
  414. package/cjs/components/Schedule/Schedule.module.css.cjs +0 -7
  415. package/cjs/components/Schedule/Schedule.module.css.cjs.map +0 -1
  416. package/cjs/components/ScheduleEvent/ScheduleEvent.module.css.cjs +0 -7
  417. package/cjs/components/ScheduleEvent/ScheduleEvent.module.css.cjs.map +0 -1
  418. package/cjs/components/ScheduleHeader/HeaderControl/HeaderControl.module.css.cjs +0 -7
  419. package/cjs/components/ScheduleHeader/HeaderControl/HeaderControl.module.css.cjs.map +0 -1
  420. package/cjs/components/ScheduleHeader/MonthYearSelect/MonthYearSelect.module.css.cjs +0 -7
  421. package/cjs/components/ScheduleHeader/MonthYearSelect/MonthYearSelect.module.css.cjs.map +0 -1
  422. package/cjs/components/ScheduleHeader/ScheduleHeader.module.css.cjs +0 -7
  423. package/cjs/components/ScheduleHeader/ScheduleHeader.module.css.cjs.map +0 -1
  424. package/cjs/components/ScheduleHeader/ViewSelect/ViewSelect.module.css.cjs +0 -7
  425. package/cjs/components/ScheduleHeader/ViewSelect/ViewSelect.module.css.cjs.map +0 -1
  426. package/cjs/components/WeekView/WeekView.module.css.cjs +0 -7
  427. package/cjs/components/WeekView/WeekView.module.css.cjs.map +0 -1
  428. package/cjs/components/YearView/YearView.module.css.cjs +0 -7
  429. package/cjs/components/YearView/YearView.module.css.cjs.map +0 -1
  430. package/cjs/index.cjs.map +0 -1
  431. package/esm/components/CurrentTimeIndicator/CurrentTimeIndicator.module.css.mjs +0 -5
  432. package/esm/components/CurrentTimeIndicator/CurrentTimeIndicator.module.css.mjs.map +0 -1
  433. package/esm/components/DayView/DayView.module.css.mjs +0 -5
  434. package/esm/components/DayView/DayView.module.css.mjs.map +0 -1
  435. package/esm/components/MobileMonthView/MobileMonthView.module.css.mjs +0 -5
  436. package/esm/components/MobileMonthView/MobileMonthView.module.css.mjs.map +0 -1
  437. package/esm/components/MonthView/MonthView.module.css.mjs +0 -5
  438. package/esm/components/MonthView/MonthView.module.css.mjs.map +0 -1
  439. package/esm/components/MoreEvents/MoreEvents.module.css.mjs +0 -5
  440. package/esm/components/MoreEvents/MoreEvents.module.css.mjs.map +0 -1
  441. package/esm/components/Schedule/Schedule.module.css.mjs +0 -5
  442. package/esm/components/Schedule/Schedule.module.css.mjs.map +0 -1
  443. package/esm/components/ScheduleEvent/ScheduleEvent.module.css.mjs +0 -5
  444. package/esm/components/ScheduleEvent/ScheduleEvent.module.css.mjs.map +0 -1
  445. package/esm/components/ScheduleHeader/HeaderControl/HeaderControl.module.css.mjs +0 -5
  446. package/esm/components/ScheduleHeader/HeaderControl/HeaderControl.module.css.mjs.map +0 -1
  447. package/esm/components/ScheduleHeader/MonthYearSelect/MonthYearSelect.module.css.mjs +0 -5
  448. package/esm/components/ScheduleHeader/MonthYearSelect/MonthYearSelect.module.css.mjs.map +0 -1
  449. package/esm/components/ScheduleHeader/ScheduleHeader.module.css.mjs +0 -5
  450. package/esm/components/ScheduleHeader/ScheduleHeader.module.css.mjs.map +0 -1
  451. package/esm/components/ScheduleHeader/ViewSelect/ViewSelect.module.css.mjs +0 -5
  452. package/esm/components/ScheduleHeader/ViewSelect/ViewSelect.module.css.mjs.map +0 -1
  453. package/esm/components/WeekView/WeekView.module.css.mjs +0 -5
  454. package/esm/components/WeekView/WeekView.module.css.mjs.map +0 -1
  455. package/esm/components/YearView/YearView.module.css.mjs +0 -5
  456. package/esm/components/YearView/YearView.module.css.mjs.map +0 -1
  457. package/esm/index.mjs.map +0 -1
@@ -1,303 +1,267 @@
1
- 'use client';
2
- 'use strict';
3
-
4
- var jsxRuntime = require('react/jsx-runtime');
5
- var React = require('react');
6
- var dayjs = require('dayjs');
7
- var core = require('@mantine/core');
8
- var dates = require('@mantine/dates');
9
- var hooks = require('@mantine/hooks');
10
- var getWeekdaysNames = require('../../utils/get-weekdays-names/get-weekdays-names.cjs');
11
- var getWeekNumber = require('../../utils/get-week-number/get-week-number.cjs');
12
- var getMonthDays = require('../../utils/get-month-days/get-month-days.cjs');
13
- var isSameMonth = require('../../utils/is-same-month/is-same-month.cjs');
14
- var toDateString = require('../../utils/to-date-string/to-date-string.cjs');
15
- var formatDate = require('../../utils/format-date/format-date.cjs');
16
- var sortEvents = require('../../utils/sort-events/sort-events.cjs');
17
- var expandRecurringEvents = require('../../utils/expand-recurring-events/expand-recurring-events.cjs');
18
- var handleMonthViewKeyDown = require('../MonthView/handle-month-view-key-down.cjs');
19
- var getMobileMonthViewEvents = require('./get-mobile-month-view-events.cjs');
20
- var MobileMonthView_module = require('./MobileMonthView.module.css.cjs');
21
-
22
- function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
23
-
24
- var React__default = /*#__PURE__*/_interopDefault(React);
25
- var dayjs__default = /*#__PURE__*/_interopDefault(dayjs);
26
-
1
+ "use client";
2
+ const require_runtime = require("../../_virtual/_rolldown/runtime.cjs");
3
+ const require_labels = require("../../labels.cjs");
4
+ const require_format_date = require("../../utils/format-date/format-date.cjs");
5
+ const require_get_weekdays_names = require("../../utils/get-weekdays-names/get-weekdays-names.cjs");
6
+ const require_get_week_number = require("../../utils/get-week-number/get-week-number.cjs");
7
+ const require_get_month_days = require("../../utils/get-month-days/get-month-days.cjs");
8
+ const require_is_same_month = require("../../utils/is-same-month/is-same-month.cjs");
9
+ const require_to_date_string = require("../../utils/to-date-string/to-date-string.cjs");
10
+ const require_sort_events = require("../../utils/sort-events/sort-events.cjs");
11
+ const require_expand_recurring_events = require("../../utils/expand-recurring-events/expand-recurring-events.cjs");
12
+ const require_handle_month_view_key_down = require("../MonthView/handle-month-view-key-down.cjs");
13
+ const require_get_mobile_month_view_events = require("./get-mobile-month-view-events.cjs");
14
+ const require_MobileMonthView_module = require("./MobileMonthView.module.cjs");
15
+ let dayjs = require("dayjs");
16
+ dayjs = require_runtime.__toESM(dayjs);
17
+ let _mantine_core = require("@mantine/core");
18
+ let _mantine_hooks = require("@mantine/hooks");
19
+ let react = require("react");
20
+ react = require_runtime.__toESM(react);
21
+ let _mantine_dates = require("@mantine/dates");
22
+ let react_jsx_runtime = require("react/jsx-runtime");
23
+ //#region packages/@mantine/schedule/src/components/MobileMonthView/MobileMonthView.tsx
27
24
  const defaultProps = {
28
- __staticSelector: "MobileMonthView",
29
- withWeekDays: true,
30
- consistentWeeks: true,
31
- highlightToday: true,
32
- mode: "default",
33
- eventsHeaderFormat: "dddd, MMMM D",
34
- noEventsText: "No events"
25
+ __staticSelector: "MobileMonthView",
26
+ withWeekDays: true,
27
+ consistentWeeks: true,
28
+ highlightToday: true,
29
+ mode: "default",
30
+ eventsHeaderFormat: "dddd, MMMM D"
35
31
  };
36
- const varsResolver = core.createVarsResolver((_theme, { radius }) => ({
37
- mobileMonthView: {
38
- "--mobile-month-view-radius": core.getRadius(radius)
39
- }
40
- }));
41
- const MobileMonthView = core.factory((_props) => {
42
- const props = core.useProps("MobileMonthView", defaultProps, _props);
43
- const {
44
- classNames,
45
- className,
46
- style,
47
- styles,
48
- unstyled,
49
- vars,
50
- attributes,
51
- __staticSelector,
52
- date,
53
- onDateChange,
54
- selectedDate,
55
- defaultSelectedDate,
56
- onSelectedDateChange,
57
- withWeekNumbers,
58
- withWeekDays,
59
- locale,
60
- firstDayOfWeek,
61
- weekdayFormat,
62
- weekendDays,
63
- getWeekNumberProps,
64
- getDayProps,
65
- onDayClick,
66
- onWeekNumberClick,
67
- consistentWeeks,
68
- highlightToday,
69
- radius,
70
- withOutsideDays,
71
- events,
72
- labels,
73
- mode,
74
- renderEvent,
75
- eventsHeaderFormat,
76
- noEventsText,
77
- onYearClick,
78
- onEventClick,
79
- renderHeader,
80
- recurrenceExpansionLimit,
81
- ...others
82
- } = props;
83
- const ctx = dates.useDatesContext();
84
- const theme = core.useMantineTheme();
85
- const today = dayjs__default.default();
86
- const [_selectedDate, _setSelectedDate] = hooks.useUncontrolled({
87
- value: selectedDate,
88
- defaultValue: defaultSelectedDate ?? toDateString.toDateString(today),
89
- onChange: (value) => onSelectedDateChange?.(value ? toDateString.toDateString(dayjs__default.default(value)) : null)
90
- });
91
- const getStyles = core.useStyles({
92
- name: __staticSelector,
93
- classes: MobileMonthView_module,
94
- props,
95
- className,
96
- style,
97
- classNames,
98
- styles,
99
- unstyled,
100
- attributes,
101
- vars,
102
- varsResolver,
103
- rootSelector: "mobileMonthView"
104
- });
105
- const daysRef = React.useRef([]);
106
- const firstDayPosition = React.useRef(null);
107
- const expandedEvents = expandRecurringEvents.expandRecurringEvents({
108
- events,
109
- rangeStart: dayjs__default.default(date).startOf("month").toDate(),
110
- rangeEnd: dayjs__default.default(date).endOf("month").toDate(),
111
- expansionLimit: recurrenceExpansionLimit
112
- });
113
- const groupedEvents = getMobileMonthViewEvents.getMobileMonthViewEvents({ date, events: expandedEvents });
114
- const weekdays = withWeekDays ? getWeekdaysNames.getWeekdaysNames({
115
- locale: ctx.getLocale(locale),
116
- format: weekdayFormat,
117
- firstDayOfWeek: ctx.getFirstDayOfWeek(firstDayOfWeek)
118
- }).map((day, index) => /* @__PURE__ */ React.createElement("div", { ...getStyles("mobileMonthViewWeekday"), key: index }, day)) : null;
119
- const weeks = getMonthDays.getMonthDays({
120
- month: dayjs__default.default(date).format("YYYY-MM-DD"),
121
- firstDayOfWeek: ctx.getFirstDayOfWeek(firstDayOfWeek),
122
- consistentWeeks
123
- }).map((week, weekIndex) => {
124
- const days = week.map((dayDate, dayIndex) => {
125
- const outside = !isSameMonth.isSameMonth(dayDate, date);
126
- const weekend = ctx.getWeekendDays(weekendDays).includes(dayjs__default.default(dayDate).day());
127
- const ariaLabel = dayjs__default.default(dayDate).locale(locale || ctx.locale).format("MMMM D, YYYY");
128
- const dayProps = getDayProps?.(dayjs__default.default(dayDate).format("YYYY-MM-DD")) || {};
129
- const isToday = dayjs__default.default(dayDate).isSame(today, "day") && highlightToday;
130
- const isSelected = _selectedDate && dayjs__default.default(dayDate).isSame(dayjs__default.default(_selectedDate), "day");
131
- const dayEvents = groupedEvents[dayjs__default.default(dayDate).format("YYYY-MM-DD")] || [];
132
- const shouldRender = withOutsideDays || !outside;
133
- if (shouldRender && firstDayPosition.current === null) {
134
- firstDayPosition.current = { weekIndex, dayIndex };
135
- }
136
- const isFirstDay = firstDayPosition.current?.weekIndex === weekIndex && firstDayPosition.current?.dayIndex === dayIndex;
137
- const indicators = dayEvents.slice(0, 3).map((event) => /* @__PURE__ */ React.createElement(
138
- "div",
139
- {
140
- ...getStyles("mobileMonthViewDayIndicator", {
141
- style: { backgroundColor: core.getThemeColor(event.color, theme) }
142
- }),
143
- key: event.id
144
- }
145
- ));
146
- const handleDayClick = (event) => {
147
- const dateStr = dayjs__default.default(dayDate).format("YYYY-MM-DD");
148
- _setSelectedDate(dateStr);
149
- onDayClick?.(dateStr, event);
150
- dayProps.onClick?.(event);
151
- };
152
- const handleDayKeyDown = (event) => {
153
- handleMonthViewKeyDown.handleMonthViewKeyDown({
154
- controlsRef: daysRef,
155
- weekIndex,
156
- dayIndex,
157
- event
158
- });
159
- };
160
- return /* @__PURE__ */ React.createElement(
161
- core.UnstyledButton,
162
- {
163
- "aria-label": ariaLabel,
164
- "aria-selected": isSelected || void 0,
165
- ...dayProps,
166
- ...getStyles("mobileMonthViewDay", {
167
- className: dayProps.className,
168
- style: dayProps.style
169
- }),
170
- key: dayDate,
171
- ref: (node) => {
172
- if (node) {
173
- if (!daysRef.current[weekIndex]) {
174
- daysRef.current[weekIndex] = [];
175
- }
176
- daysRef.current[weekIndex][dayIndex] = node;
177
- }
178
- },
179
- mod: [
180
- {
181
- outside,
182
- weekend,
183
- today: isToday,
184
- selected: isSelected,
185
- static: mode === "static",
186
- hidden: !shouldRender
187
- },
188
- dayProps.mod
189
- ],
190
- tabIndex: mode === "static" || !shouldRender ? -1 : isFirstDay ? 0 : -1,
191
- onClick: mode === "static" || !shouldRender ? void 0 : handleDayClick,
192
- onKeyDown: mode === "static" || !shouldRender ? void 0 : handleDayKeyDown
193
- },
194
- shouldRender ? dayjs__default.default(dayDate).format("D") : null,
195
- shouldRender && /* @__PURE__ */ jsxRuntime.jsx("div", { ...getStyles("mobileMonthViewDayIndicators"), children: indicators })
196
- );
197
- });
198
- const weekNumberProps = getWeekNumberProps?.(dayjs__default.default(week[0]).format("YYYY-MM-DD")) || {};
199
- const weekNumber = getWeekNumber.getWeekNumber(week);
200
- return /* @__PURE__ */ React.createElement("div", { ...getStyles("mobileMonthViewWeek"), key: weekIndex }, withWeekNumbers && /* @__PURE__ */ jsxRuntime.jsx(
201
- core.UnstyledButton,
202
- {
203
- "aria-label": `Week ${weekNumber}`,
204
- ...weekNumberProps,
205
- onClick: mode === "static" ? void 0 : (event) => {
206
- onWeekNumberClick?.(dayjs__default.default(week[0]).format("YYYY-MM-DD"), event);
207
- weekNumberProps.onClick?.(event);
208
- },
209
- mod: { static: mode === "static" },
210
- tabIndex: mode === "static" ? -1 : 0,
211
- ...getStyles("mobileMonthViewWeekNumber", {
212
- className: weekNumberProps.className,
213
- style: weekNumberProps.style
214
- }),
215
- children: weekNumber
216
- },
217
- weekNumber
218
- ), days);
219
- });
220
- const selectedDateEvents = _selectedDate ? sortEvents.sortEvents(groupedEvents[dayjs__default.default(_selectedDate).format("YYYY-MM-DD")] || []) : [];
221
- const eventsList = selectedDateEvents.map((event) => {
222
- const startTime = dayjs__default.default(event.start).format("HH:mm");
223
- const endTime = dayjs__default.default(event.end).format("HH:mm");
224
- const isAllDay = startTime === "00:00" && endTime === "00:00";
225
- const eventChildren = /* @__PURE__ */ jsxRuntime.jsxs(core.Box, { ...getStyles("mobileMonthViewEventBody"), children: [
226
- /* @__PURE__ */ jsxRuntime.jsx(
227
- "div",
228
- {
229
- ...getStyles("mobileMonthViewEventColor", {
230
- style: { backgroundColor: core.getThemeColor(event.color, theme) }
231
- })
232
- }
233
- ),
234
- /* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
235
- /* @__PURE__ */ jsxRuntime.jsx(core.Text, { ...getStyles("mobileMonthViewEventTitle"), children: event.title }),
236
- /* @__PURE__ */ jsxRuntime.jsx(core.Text, { ...getStyles("mobileMonthViewEventTime"), size: "xs", c: "dimmed", children: isAllDay ? "All day" : `${startTime} \u2013 ${endTime}` })
237
- ] })
238
- ] });
239
- const rootProps = {
240
- ...getStyles("mobileMonthViewEvent"),
241
- onClick: mode === "static" ? void 0 : (e) => {
242
- onEventClick?.(event, e);
243
- },
244
- tabIndex: mode === "static" ? -1 : 0,
245
- children: eventChildren
246
- };
247
- if (typeof renderEvent === "function") {
248
- return /* @__PURE__ */ jsxRuntime.jsx(React__default.default.Fragment, { children: renderEvent(event, rootProps) }, event.id);
249
- }
250
- return /* @__PURE__ */ React.createElement(core.UnstyledButton, { ...rootProps, key: event.id });
251
- });
252
- const eventsHeader = _selectedDate ? formatDate.formatDate({
253
- locale: ctx.getLocale(locale),
254
- date: _selectedDate,
255
- format: eventsHeaderFormat
256
- }) : "";
257
- const { dir } = core.useDirection();
258
- const headerLabel = formatDate.formatDate({ locale: ctx.getLocale(locale), date, format: "MMMM YYYY" });
259
- const defaultHeader = /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
260
- /* @__PURE__ */ jsxRuntime.jsxs(
261
- core.UnstyledButton,
262
- {
263
- ...getStyles("mobileMonthViewHeaderBackButton"),
264
- onClick: onYearClick,
265
- mod: { static: mode === "static" },
266
- tabIndex: mode === "static" ? -1 : 0,
267
- children: [
268
- /* @__PURE__ */ jsxRuntime.jsx(core.AccordionChevron, { transform: `rotate(${dir === "rtl" ? -90 : 90} 0 0)`, size: 20 }),
269
- dayjs__default.default(date).format("YYYY")
270
- ]
271
- }
272
- ),
273
- /* @__PURE__ */ jsxRuntime.jsx(core.Text, { ...getStyles("mobileMonthViewHeaderLabel"), fw: 600, tt: "capitalize", children: headerLabel })
274
- ] });
275
- return /* @__PURE__ */ jsxRuntime.jsxs(
276
- core.Box,
277
- {
278
- ...getStyles("mobileMonthView"),
279
- mod: { "with-week-numbers": withWeekNumbers },
280
- ...others,
281
- children: [
282
- /* @__PURE__ */ jsxRuntime.jsx("div", { ...getStyles("mobileMonthViewHeader"), children: typeof renderHeader === "function" ? renderHeader({ mode, date, defaultHeader }) : defaultHeader }),
283
- /* @__PURE__ */ jsxRuntime.jsxs(core.Box, { ...getStyles("mobileMonthViewCalendar"), mod: { "with-weekdays": withWeekDays }, children: [
284
- weekdays && /* @__PURE__ */ jsxRuntime.jsxs("div", { ...getStyles("mobileMonthViewWeekdays"), children: [
285
- withWeekNumbers && /* @__PURE__ */ jsxRuntime.jsx("div", { ...getStyles("mobileMonthViewWeekdaysCorner") }),
286
- weekdays
287
- ] }),
288
- weeks
289
- ] }),
290
- /* @__PURE__ */ jsxRuntime.jsxs(core.Box, { ...getStyles("mobileMonthViewEventsList"), children: [
291
- /* @__PURE__ */ jsxRuntime.jsx(core.Text, { ...getStyles("mobileMonthViewEventsHeader"), fw: 600, tt: "capitalize", children: eventsHeader }),
292
- eventsList.length > 0 ? eventsList : /* @__PURE__ */ jsxRuntime.jsx(core.Text, { ...getStyles("mobileMonthViewNoEvents"), c: "dimmed", ta: "center", py: "xl", children: noEventsText })
293
- ] })
294
- ]
295
- }
296
- );
32
+ const varsResolver = (0, _mantine_core.createVarsResolver)((_theme, { radius }) => ({ mobileMonthView: { "--mobile-month-view-radius": (0, _mantine_core.getRadius)(radius) } }));
33
+ const MobileMonthView = (0, _mantine_core.factory)((_props) => {
34
+ const props = (0, _mantine_core.useProps)("MobileMonthView", defaultProps, _props);
35
+ const { classNames, className, style, styles, unstyled, vars, attributes, __staticSelector, date, onDateChange, selectedDate, defaultSelectedDate, onSelectedDateChange, withWeekNumbers, withWeekDays, locale, firstDayOfWeek, weekdayFormat, weekendDays, getWeekNumberProps, getDayProps, onDayClick, onWeekNumberClick, consistentWeeks, highlightToday, radius, withOutsideDays, events, labels, mode, renderEvent, eventsHeaderFormat, onYearClick, onEventClick, renderHeader, recurrenceExpansionLimit, ...others } = props;
36
+ const ctx = (0, _mantine_dates.useDatesContext)();
37
+ const theme = (0, _mantine_core.useMantineTheme)();
38
+ const today = (0, dayjs.default)();
39
+ const [_selectedDate, _setSelectedDate] = (0, _mantine_hooks.useUncontrolled)({
40
+ value: selectedDate,
41
+ defaultValue: defaultSelectedDate ?? require_to_date_string.toDateString(today),
42
+ onChange: (value) => onSelectedDateChange?.(value ? require_to_date_string.toDateString((0, dayjs.default)(value)) : null)
43
+ });
44
+ const getStyles = (0, _mantine_core.useStyles)({
45
+ name: __staticSelector,
46
+ classes: require_MobileMonthView_module.default,
47
+ props,
48
+ className,
49
+ style,
50
+ classNames,
51
+ styles,
52
+ unstyled,
53
+ attributes,
54
+ vars,
55
+ varsResolver,
56
+ rootSelector: "mobileMonthView"
57
+ });
58
+ const daysRef = (0, react.useRef)([]);
59
+ const firstDayPosition = (0, react.useRef)(null);
60
+ const groupedEvents = require_get_mobile_month_view_events.getMobileMonthViewEvents({
61
+ date,
62
+ events: require_expand_recurring_events.expandRecurringEvents({
63
+ events,
64
+ rangeStart: (0, dayjs.default)(date).startOf("month").toDate(),
65
+ rangeEnd: (0, dayjs.default)(date).endOf("month").toDate(),
66
+ expansionLimit: recurrenceExpansionLimit
67
+ })
68
+ });
69
+ const weekdays = withWeekDays ? require_get_weekdays_names.getWeekdaysNames({
70
+ locale: ctx.getLocale(locale),
71
+ format: weekdayFormat,
72
+ firstDayOfWeek: ctx.getFirstDayOfWeek(firstDayOfWeek)
73
+ }).map((day, index) => /* @__PURE__ */ (0, react.createElement)("div", {
74
+ ...getStyles("mobileMonthViewWeekday"),
75
+ key: index
76
+ }, day)) : null;
77
+ const weeks = require_get_month_days.getMonthDays({
78
+ month: (0, dayjs.default)(date).format("YYYY-MM-DD"),
79
+ firstDayOfWeek: ctx.getFirstDayOfWeek(firstDayOfWeek),
80
+ consistentWeeks
81
+ }).map((week, weekIndex) => {
82
+ const days = week.map((dayDate, dayIndex) => {
83
+ const outside = !require_is_same_month.isSameMonth(dayDate, date);
84
+ const weekend = ctx.getWeekendDays(weekendDays).includes((0, dayjs.default)(dayDate).day());
85
+ const ariaLabel = (0, dayjs.default)(dayDate).locale(locale || ctx.locale).format("MMMM D, YYYY");
86
+ const dayProps = getDayProps?.((0, dayjs.default)(dayDate).format("YYYY-MM-DD")) || {};
87
+ const isToday = (0, dayjs.default)(dayDate).isSame(today, "day") && highlightToday;
88
+ const isSelected = _selectedDate && (0, dayjs.default)(dayDate).isSame((0, dayjs.default)(_selectedDate), "day");
89
+ const dayEvents = groupedEvents[(0, dayjs.default)(dayDate).format("YYYY-MM-DD")] || [];
90
+ const shouldRender = withOutsideDays || !outside;
91
+ if (shouldRender && firstDayPosition.current === null) firstDayPosition.current = {
92
+ weekIndex,
93
+ dayIndex
94
+ };
95
+ const isFirstDay = firstDayPosition.current?.weekIndex === weekIndex && firstDayPosition.current?.dayIndex === dayIndex;
96
+ const indicators = dayEvents.slice(0, 3).map((event) => /* @__PURE__ */ (0, react.createElement)("div", {
97
+ ...getStyles("mobileMonthViewDayIndicator", { style: { backgroundColor: (0, _mantine_core.getThemeColor)(event.color, theme) } }),
98
+ key: event.id
99
+ }));
100
+ const handleDayClick = (event) => {
101
+ const dateStr = (0, dayjs.default)(dayDate).format("YYYY-MM-DD");
102
+ _setSelectedDate(dateStr);
103
+ onDayClick?.(dateStr, event);
104
+ dayProps.onClick?.(event);
105
+ };
106
+ const handleDayKeyDown = (event) => {
107
+ require_handle_month_view_key_down.handleMonthViewKeyDown({
108
+ controlsRef: daysRef,
109
+ weekIndex,
110
+ dayIndex,
111
+ event
112
+ });
113
+ };
114
+ return /* @__PURE__ */ (0, react.createElement)(_mantine_core.UnstyledButton, {
115
+ "aria-label": ariaLabel,
116
+ "aria-selected": isSelected || void 0,
117
+ ...dayProps,
118
+ ...getStyles("mobileMonthViewDay", {
119
+ className: dayProps.className,
120
+ style: dayProps.style
121
+ }),
122
+ key: dayDate,
123
+ ref: (node) => {
124
+ if (node) {
125
+ if (!daysRef.current[weekIndex]) daysRef.current[weekIndex] = [];
126
+ daysRef.current[weekIndex][dayIndex] = node;
127
+ }
128
+ },
129
+ mod: [{
130
+ outside,
131
+ weekend,
132
+ today: isToday,
133
+ selected: isSelected,
134
+ static: mode === "static",
135
+ hidden: !shouldRender
136
+ }, dayProps.mod],
137
+ tabIndex: mode === "static" || !shouldRender ? -1 : isFirstDay ? 0 : -1,
138
+ onClick: mode === "static" || !shouldRender ? void 0 : handleDayClick,
139
+ onKeyDown: mode === "static" || !shouldRender ? void 0 : handleDayKeyDown
140
+ }, shouldRender ? (0, dayjs.default)(dayDate).format("D") : null, shouldRender && /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
141
+ ...getStyles("mobileMonthViewDayIndicators"),
142
+ children: indicators
143
+ }));
144
+ });
145
+ const weekNumberProps = getWeekNumberProps?.((0, dayjs.default)(week[0]).format("YYYY-MM-DD")) || {};
146
+ const weekNumber = require_get_week_number.getWeekNumber(week);
147
+ return /* @__PURE__ */ (0, react.createElement)("div", {
148
+ ...getStyles("mobileMonthViewWeek"),
149
+ key: weekIndex
150
+ }, withWeekNumbers && /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_mantine_core.UnstyledButton, {
151
+ "aria-label": `Week ${weekNumber}`,
152
+ ...weekNumberProps,
153
+ onClick: mode === "static" ? void 0 : (event) => {
154
+ onWeekNumberClick?.((0, dayjs.default)(week[0]).format("YYYY-MM-DD"), event);
155
+ weekNumberProps.onClick?.(event);
156
+ },
157
+ mod: { static: mode === "static" },
158
+ tabIndex: mode === "static" ? -1 : 0,
159
+ ...getStyles("mobileMonthViewWeekNumber", {
160
+ className: weekNumberProps.className,
161
+ style: weekNumberProps.style
162
+ }),
163
+ children: weekNumber
164
+ }, weekNumber), days);
165
+ });
166
+ const eventsList = (_selectedDate ? require_sort_events.sortEvents(groupedEvents[(0, dayjs.default)(_selectedDate).format("YYYY-MM-DD")] || []) : []).map((event) => {
167
+ const startTime = (0, dayjs.default)(event.start).format("HH:mm");
168
+ const endTime = (0, dayjs.default)(event.end).format("HH:mm");
169
+ const isAllDay = startTime === "00:00" && endTime === "00:00";
170
+ const eventChildren = /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(_mantine_core.Box, {
171
+ ...getStyles("mobileMonthViewEventBody"),
172
+ children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", { ...getStyles("mobileMonthViewEventColor", { style: { backgroundColor: (0, _mantine_core.getThemeColor)(event.color, theme) } }) }), /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", { children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(_mantine_core.Text, {
173
+ ...getStyles("mobileMonthViewEventTitle"),
174
+ children: event.title
175
+ }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_mantine_core.Text, {
176
+ ...getStyles("mobileMonthViewEventTime"),
177
+ size: "xs",
178
+ c: "dimmed",
179
+ children: isAllDay ? "All day" : `${startTime} – ${endTime}`
180
+ })] })]
181
+ });
182
+ const rootProps = {
183
+ ...getStyles("mobileMonthViewEvent"),
184
+ onClick: mode === "static" ? void 0 : (e) => {
185
+ onEventClick?.(event, e);
186
+ },
187
+ tabIndex: mode === "static" ? -1 : 0,
188
+ children: eventChildren
189
+ };
190
+ if (typeof renderEvent === "function") return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(react.default.Fragment, { children: renderEvent(event, rootProps) }, event.id);
191
+ return /* @__PURE__ */ (0, react.createElement)(_mantine_core.UnstyledButton, {
192
+ ...rootProps,
193
+ key: event.id
194
+ });
195
+ });
196
+ const eventsHeader = _selectedDate ? require_format_date.formatDate({
197
+ locale: ctx.getLocale(locale),
198
+ date: _selectedDate,
199
+ format: eventsHeaderFormat
200
+ }) : "";
201
+ const { dir } = (0, _mantine_core.useDirection)();
202
+ const headerLabel = require_format_date.formatDate({
203
+ locale: ctx.getLocale(locale),
204
+ date,
205
+ format: "MMMM YYYY"
206
+ });
207
+ const defaultHeader = /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(react_jsx_runtime.Fragment, { children: [/* @__PURE__ */ (0, react_jsx_runtime.jsxs)(_mantine_core.UnstyledButton, {
208
+ ...getStyles("mobileMonthViewHeaderBackButton"),
209
+ onClick: onYearClick,
210
+ mod: { static: mode === "static" },
211
+ tabIndex: mode === "static" ? -1 : 0,
212
+ children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(_mantine_core.AccordionChevron, {
213
+ transform: `rotate(${dir === "rtl" ? -90 : 90} 0 0)`,
214
+ size: 20
215
+ }), (0, dayjs.default)(date).format("YYYY")]
216
+ }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_mantine_core.Text, {
217
+ ...getStyles("mobileMonthViewHeaderLabel"),
218
+ fw: 600,
219
+ tt: "capitalize",
220
+ children: headerLabel
221
+ })] });
222
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(_mantine_core.Box, {
223
+ ...getStyles("mobileMonthView"),
224
+ mod: { "with-week-numbers": withWeekNumbers },
225
+ ...others,
226
+ children: [
227
+ /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
228
+ ...getStyles("mobileMonthViewHeader"),
229
+ children: typeof renderHeader === "function" ? renderHeader({
230
+ mode,
231
+ date,
232
+ defaultHeader
233
+ }) : defaultHeader
234
+ }),
235
+ /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(_mantine_core.Box, {
236
+ ...getStyles("mobileMonthViewCalendar"),
237
+ mod: { "with-weekdays": withWeekDays },
238
+ children: [weekdays && /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
239
+ ...getStyles("mobileMonthViewWeekdays"),
240
+ children: [withWeekNumbers && /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", { ...getStyles("mobileMonthViewWeekdaysCorner") }), weekdays]
241
+ }), weeks]
242
+ }),
243
+ /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(_mantine_core.Box, {
244
+ ...getStyles("mobileMonthViewEventsList"),
245
+ children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(_mantine_core.Text, {
246
+ ...getStyles("mobileMonthViewEventsHeader"),
247
+ fw: 600,
248
+ tt: "capitalize",
249
+ children: eventsHeader
250
+ }), eventsList.length > 0 ? eventsList : /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_mantine_core.Text, {
251
+ ...getStyles("mobileMonthViewNoEvents"),
252
+ c: "dimmed",
253
+ ta: "center",
254
+ py: "xl",
255
+ children: require_labels.getLabel("noEvents", labels)
256
+ })]
257
+ })
258
+ ]
259
+ });
297
260
  });
298
261
  MobileMonthView.displayName = "@mantine/schedule/MobileMonthView";
299
- MobileMonthView.classes = MobileMonthView_module;
262
+ MobileMonthView.classes = require_MobileMonthView_module.default;
300
263
  MobileMonthView.varsResolver = varsResolver;
301
-
264
+ //#endregion
302
265
  exports.MobileMonthView = MobileMonthView;
303
- //# sourceMappingURL=MobileMonthView.cjs.map
266
+
267
+ //# sourceMappingURL=MobileMonthView.cjs.map