@mantine/schedule 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 (468) hide show
  1. package/cjs/_virtual/_rolldown/runtime.cjs +24 -0
  2. package/cjs/components/CurrentTimeIndicator/CurrentTimeIndicator.cjs +79 -101
  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 +462 -480
  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 -105
  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 -49
  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 -289
  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 -49
  21. package/cjs/components/MobileMonthView/get-mobile-month-view-events.cjs.map +1 -1
  22. package/cjs/components/MonthView/MonthView.cjs +365 -416
  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 -81
  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 -44
  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 -38
  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 -165
  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 -130
  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 -189
  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 +617 -632
  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 +71 -106
  75. package/cjs/components/WeekView/WeekViewDay.cjs.map +1 -1
  76. package/cjs/components/WeekView/get-week-label/get-week-label.cjs +27 -34
  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 -28
  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 -21
  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 -34
  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 -38
  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 -140
  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 -210
  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 -156
  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 -47
  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 +110 -126
  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 +134 -0
  119. package/cjs/hooks/use-event-resize.cjs.map +1 -0
  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 -101
  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 +120 -0
  132. package/cjs/utils/expand-recurring-events/expand-recurring-events.cjs.map +1 -0
  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 -94
  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 +459 -473
  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 -103
  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 -43
  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 -281
  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 -43
  216. package/esm/components/MobileMonthView/get-mobile-month-view-events.mjs.map +1 -1
  217. package/esm/components/MonthView/MonthView.mjs +362 -409
  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 -75
  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 -38
  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 -32
  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 -162
  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 -127
  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 -186
  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 +614 -625
  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 +69 -100
  270. package/esm/components/WeekView/WeekViewDay.mjs.map +1 -1
  271. package/esm/components/WeekView/get-week-label/get-week-label.mjs +25 -28
  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 -26
  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 -19
  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 -32
  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 -36
  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 -134
  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 -203
  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 -150
  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 -41
  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 +108 -120
  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 +132 -0
  314. package/esm/hooks/use-event-resize.mjs.map +1 -0
  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 -48
  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 +118 -0
  327. package/esm/utils/expand-recurring-events/expand-recurring-events.mjs.map +1 -0
  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 +10 -2
  393. package/lib/components/DayView/get-day-view-events/get-day-positioned-events.d.ts +1 -1
  394. package/lib/components/DayView/get-day-view-events/get-day-view-events.d.ts +4 -2
  395. package/lib/components/MobileMonthView/MobileMonthView.d.ts +2 -2
  396. package/lib/components/MonthView/MonthView.d.ts +7 -3
  397. package/lib/components/MonthView/get-month-view-events/get-month-positioned-events.d.ts +4 -0
  398. package/lib/components/Schedule/Schedule.d.ts +10 -2
  399. package/lib/components/ScheduleEvent/ScheduleEvent.d.ts +7 -1
  400. package/lib/components/WeekView/WeekView.d.ts +10 -2
  401. package/lib/components/WeekView/WeekViewDay.d.ts +3 -1
  402. package/lib/components/WeekView/get-week-view-events/get-week-positioned-events.d.ts +1 -0
  403. package/lib/components/YearView/YearView.d.ts +3 -1
  404. package/lib/hooks/use-drag-drop-handlers.d.ts +1 -1
  405. package/lib/hooks/use-event-resize.d.ts +22 -0
  406. package/lib/labels.d.ts +1 -0
  407. package/lib/test-utils.d.ts +1 -1
  408. package/lib/types.d.ts +58 -8
  409. package/lib/utils/expand-recurring-events/expand-recurring-events.d.ts +10 -0
  410. package/lib/utils/index.d.ts +1 -0
  411. package/lib/utils/validate-event/validate-event.d.ts +1 -1
  412. package/package.json +9 -6
  413. package/styles.css +185 -79
  414. package/styles.layer.css +185 -79
  415. package/cjs/components/CurrentTimeIndicator/CurrentTimeIndicator.module.css.cjs +0 -7
  416. package/cjs/components/CurrentTimeIndicator/CurrentTimeIndicator.module.css.cjs.map +0 -1
  417. package/cjs/components/DayView/DayView.module.css.cjs +0 -7
  418. package/cjs/components/DayView/DayView.module.css.cjs.map +0 -1
  419. package/cjs/components/MobileMonthView/MobileMonthView.module.css.cjs +0 -7
  420. package/cjs/components/MobileMonthView/MobileMonthView.module.css.cjs.map +0 -1
  421. package/cjs/components/MonthView/MonthView.module.css.cjs +0 -7
  422. package/cjs/components/MonthView/MonthView.module.css.cjs.map +0 -1
  423. package/cjs/components/MoreEvents/MoreEvents.module.css.cjs +0 -7
  424. package/cjs/components/MoreEvents/MoreEvents.module.css.cjs.map +0 -1
  425. package/cjs/components/Schedule/Schedule.module.css.cjs +0 -7
  426. package/cjs/components/Schedule/Schedule.module.css.cjs.map +0 -1
  427. package/cjs/components/ScheduleEvent/ScheduleEvent.module.css.cjs +0 -7
  428. package/cjs/components/ScheduleEvent/ScheduleEvent.module.css.cjs.map +0 -1
  429. package/cjs/components/ScheduleHeader/HeaderControl/HeaderControl.module.css.cjs +0 -7
  430. package/cjs/components/ScheduleHeader/HeaderControl/HeaderControl.module.css.cjs.map +0 -1
  431. package/cjs/components/ScheduleHeader/MonthYearSelect/MonthYearSelect.module.css.cjs +0 -7
  432. package/cjs/components/ScheduleHeader/MonthYearSelect/MonthYearSelect.module.css.cjs.map +0 -1
  433. package/cjs/components/ScheduleHeader/ScheduleHeader.module.css.cjs +0 -7
  434. package/cjs/components/ScheduleHeader/ScheduleHeader.module.css.cjs.map +0 -1
  435. package/cjs/components/ScheduleHeader/ViewSelect/ViewSelect.module.css.cjs +0 -7
  436. package/cjs/components/ScheduleHeader/ViewSelect/ViewSelect.module.css.cjs.map +0 -1
  437. package/cjs/components/WeekView/WeekView.module.css.cjs +0 -7
  438. package/cjs/components/WeekView/WeekView.module.css.cjs.map +0 -1
  439. package/cjs/components/YearView/YearView.module.css.cjs +0 -7
  440. package/cjs/components/YearView/YearView.module.css.cjs.map +0 -1
  441. package/cjs/index.cjs.map +0 -1
  442. package/esm/components/CurrentTimeIndicator/CurrentTimeIndicator.module.css.mjs +0 -5
  443. package/esm/components/CurrentTimeIndicator/CurrentTimeIndicator.module.css.mjs.map +0 -1
  444. package/esm/components/DayView/DayView.module.css.mjs +0 -5
  445. package/esm/components/DayView/DayView.module.css.mjs.map +0 -1
  446. package/esm/components/MobileMonthView/MobileMonthView.module.css.mjs +0 -5
  447. package/esm/components/MobileMonthView/MobileMonthView.module.css.mjs.map +0 -1
  448. package/esm/components/MonthView/MonthView.module.css.mjs +0 -5
  449. package/esm/components/MonthView/MonthView.module.css.mjs.map +0 -1
  450. package/esm/components/MoreEvents/MoreEvents.module.css.mjs +0 -5
  451. package/esm/components/MoreEvents/MoreEvents.module.css.mjs.map +0 -1
  452. package/esm/components/Schedule/Schedule.module.css.mjs +0 -5
  453. package/esm/components/Schedule/Schedule.module.css.mjs.map +0 -1
  454. package/esm/components/ScheduleEvent/ScheduleEvent.module.css.mjs +0 -5
  455. package/esm/components/ScheduleEvent/ScheduleEvent.module.css.mjs.map +0 -1
  456. package/esm/components/ScheduleHeader/HeaderControl/HeaderControl.module.css.mjs +0 -5
  457. package/esm/components/ScheduleHeader/HeaderControl/HeaderControl.module.css.mjs.map +0 -1
  458. package/esm/components/ScheduleHeader/MonthYearSelect/MonthYearSelect.module.css.mjs +0 -5
  459. package/esm/components/ScheduleHeader/MonthYearSelect/MonthYearSelect.module.css.mjs.map +0 -1
  460. package/esm/components/ScheduleHeader/ScheduleHeader.module.css.mjs +0 -5
  461. package/esm/components/ScheduleHeader/ScheduleHeader.module.css.mjs.map +0 -1
  462. package/esm/components/ScheduleHeader/ViewSelect/ViewSelect.module.css.mjs +0 -5
  463. package/esm/components/ScheduleHeader/ViewSelect/ViewSelect.module.css.mjs.map +0 -1
  464. package/esm/components/WeekView/WeekView.module.css.mjs +0 -5
  465. package/esm/components/WeekView/WeekView.module.css.mjs.map +0 -1
  466. package/esm/components/YearView/YearView.module.css.mjs +0 -5
  467. package/esm/components/YearView/YearView.module.css.mjs.map +0 -1
  468. package/esm/index.mjs.map +0 -1
@@ -1,295 +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 handleMonthViewKeyDown = require('../MonthView/handle-month-view-key-down.cjs');
18
- var getMobileMonthViewEvents = require('./get-mobile-month-view-events.cjs');
19
- var MobileMonthView_module = require('./MobileMonthView.module.css.cjs');
20
-
21
- function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
22
-
23
- var React__default = /*#__PURE__*/_interopDefault(React);
24
- var dayjs__default = /*#__PURE__*/_interopDefault(dayjs);
25
-
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
26
24
  const defaultProps = {
27
- __staticSelector: "MobileMonthView",
28
- withWeekDays: true,
29
- consistentWeeks: true,
30
- highlightToday: true,
31
- mode: "default",
32
- eventsHeaderFormat: "dddd, MMMM D",
33
- noEventsText: "No events"
25
+ __staticSelector: "MobileMonthView",
26
+ withWeekDays: true,
27
+ consistentWeeks: true,
28
+ highlightToday: true,
29
+ mode: "default",
30
+ eventsHeaderFormat: "dddd, MMMM D"
34
31
  };
35
- const varsResolver = core.createVarsResolver((_theme, { radius }) => ({
36
- mobileMonthView: {
37
- "--mobile-month-view-radius": core.getRadius(radius)
38
- }
39
- }));
40
- const MobileMonthView = core.factory((_props) => {
41
- const props = core.useProps("MobileMonthView", defaultProps, _props);
42
- const {
43
- classNames,
44
- className,
45
- style,
46
- styles,
47
- unstyled,
48
- vars,
49
- attributes,
50
- __staticSelector,
51
- date,
52
- onDateChange,
53
- selectedDate,
54
- defaultSelectedDate,
55
- onSelectedDateChange,
56
- withWeekNumbers,
57
- withWeekDays,
58
- locale,
59
- firstDayOfWeek,
60
- weekdayFormat,
61
- weekendDays,
62
- getWeekNumberProps,
63
- getDayProps,
64
- onDayClick,
65
- onWeekNumberClick,
66
- consistentWeeks,
67
- highlightToday,
68
- radius,
69
- withOutsideDays,
70
- events,
71
- labels,
72
- mode,
73
- renderEvent,
74
- eventsHeaderFormat,
75
- noEventsText,
76
- onYearClick,
77
- onEventClick,
78
- renderHeader,
79
- ...others
80
- } = props;
81
- const ctx = dates.useDatesContext();
82
- const theme = core.useMantineTheme();
83
- const today = dayjs__default.default();
84
- const [_selectedDate, _setSelectedDate] = hooks.useUncontrolled({
85
- value: selectedDate,
86
- defaultValue: defaultSelectedDate ?? toDateString.toDateString(today),
87
- onChange: (value) => onSelectedDateChange?.(value ? toDateString.toDateString(dayjs__default.default(value)) : null)
88
- });
89
- const getStyles = core.useStyles({
90
- name: __staticSelector,
91
- classes: MobileMonthView_module,
92
- props,
93
- className,
94
- style,
95
- classNames,
96
- styles,
97
- unstyled,
98
- attributes,
99
- vars,
100
- varsResolver,
101
- rootSelector: "mobileMonthView"
102
- });
103
- const daysRef = React.useRef([]);
104
- const firstDayPosition = React.useRef(null);
105
- const groupedEvents = getMobileMonthViewEvents.getMobileMonthViewEvents({ date, events });
106
- const weekdays = withWeekDays ? getWeekdaysNames.getWeekdaysNames({
107
- locale: ctx.getLocale(locale),
108
- format: weekdayFormat,
109
- firstDayOfWeek: ctx.getFirstDayOfWeek(firstDayOfWeek)
110
- }).map((day, index) => /* @__PURE__ */ React.createElement("div", { ...getStyles("mobileMonthViewWeekday"), key: index }, day)) : null;
111
- const weeks = getMonthDays.getMonthDays({
112
- month: dayjs__default.default(date).format("YYYY-MM-DD"),
113
- firstDayOfWeek: ctx.getFirstDayOfWeek(firstDayOfWeek),
114
- consistentWeeks
115
- }).map((week, weekIndex) => {
116
- const days = week.map((dayDate, dayIndex) => {
117
- const outside = !isSameMonth.isSameMonth(dayDate, date);
118
- const weekend = ctx.getWeekendDays(weekendDays).includes(dayjs__default.default(dayDate).day());
119
- const ariaLabel = dayjs__default.default(dayDate).locale(locale || ctx.locale).format("MMMM D, YYYY");
120
- const dayProps = getDayProps?.(dayjs__default.default(dayDate).format("YYYY-MM-DD")) || {};
121
- const isToday = dayjs__default.default(dayDate).isSame(today, "day") && highlightToday;
122
- const isSelected = _selectedDate && dayjs__default.default(dayDate).isSame(dayjs__default.default(_selectedDate), "day");
123
- const dayEvents = groupedEvents[dayjs__default.default(dayDate).format("YYYY-MM-DD")] || [];
124
- const shouldRender = withOutsideDays || !outside;
125
- if (shouldRender && firstDayPosition.current === null) {
126
- firstDayPosition.current = { weekIndex, dayIndex };
127
- }
128
- const isFirstDay = firstDayPosition.current?.weekIndex === weekIndex && firstDayPosition.current?.dayIndex === dayIndex;
129
- const indicators = dayEvents.slice(0, 3).map((event) => /* @__PURE__ */ React.createElement(
130
- "div",
131
- {
132
- ...getStyles("mobileMonthViewDayIndicator", {
133
- style: { backgroundColor: core.getThemeColor(event.color, theme) }
134
- }),
135
- key: event.id
136
- }
137
- ));
138
- const handleDayClick = (event) => {
139
- const dateStr = dayjs__default.default(dayDate).format("YYYY-MM-DD");
140
- _setSelectedDate(dateStr);
141
- onDayClick?.(dateStr, event);
142
- dayProps.onClick?.(event);
143
- };
144
- const handleDayKeyDown = (event) => {
145
- handleMonthViewKeyDown.handleMonthViewKeyDown({
146
- controlsRef: daysRef,
147
- weekIndex,
148
- dayIndex,
149
- event
150
- });
151
- };
152
- return /* @__PURE__ */ React.createElement(
153
- core.UnstyledButton,
154
- {
155
- "aria-label": ariaLabel,
156
- "aria-selected": isSelected || void 0,
157
- ...dayProps,
158
- ...getStyles("mobileMonthViewDay", {
159
- className: dayProps.className,
160
- style: dayProps.style
161
- }),
162
- key: dayDate,
163
- ref: (node) => {
164
- if (node) {
165
- if (!daysRef.current[weekIndex]) {
166
- daysRef.current[weekIndex] = [];
167
- }
168
- daysRef.current[weekIndex][dayIndex] = node;
169
- }
170
- },
171
- mod: [
172
- {
173
- outside,
174
- weekend,
175
- today: isToday,
176
- selected: isSelected,
177
- static: mode === "static",
178
- hidden: !shouldRender
179
- },
180
- dayProps.mod
181
- ],
182
- tabIndex: mode === "static" || !shouldRender ? -1 : isFirstDay ? 0 : -1,
183
- onClick: mode === "static" || !shouldRender ? void 0 : handleDayClick,
184
- onKeyDown: mode === "static" || !shouldRender ? void 0 : handleDayKeyDown
185
- },
186
- shouldRender ? dayjs__default.default(dayDate).format("D") : null,
187
- shouldRender && /* @__PURE__ */ jsxRuntime.jsx("div", { ...getStyles("mobileMonthViewDayIndicators"), children: indicators })
188
- );
189
- });
190
- const weekNumberProps = getWeekNumberProps?.(dayjs__default.default(week[0]).format("YYYY-MM-DD")) || {};
191
- const weekNumber = getWeekNumber.getWeekNumber(week);
192
- return /* @__PURE__ */ React.createElement("div", { ...getStyles("mobileMonthViewWeek"), key: weekIndex }, withWeekNumbers && /* @__PURE__ */ jsxRuntime.jsx(
193
- core.UnstyledButton,
194
- {
195
- "aria-label": `Week ${weekNumber}`,
196
- ...weekNumberProps,
197
- onClick: mode === "static" ? void 0 : (event) => {
198
- onWeekNumberClick?.(dayjs__default.default(week[0]).format("YYYY-MM-DD"), event);
199
- weekNumberProps.onClick?.(event);
200
- },
201
- mod: { static: mode === "static" },
202
- tabIndex: mode === "static" ? -1 : 0,
203
- ...getStyles("mobileMonthViewWeekNumber", {
204
- className: weekNumberProps.className,
205
- style: weekNumberProps.style
206
- }),
207
- children: weekNumber
208
- },
209
- weekNumber
210
- ), days);
211
- });
212
- const selectedDateEvents = _selectedDate ? sortEvents.sortEvents(groupedEvents[dayjs__default.default(_selectedDate).format("YYYY-MM-DD")] || []) : [];
213
- const eventsList = selectedDateEvents.map((event) => {
214
- const startTime = dayjs__default.default(event.start).format("HH:mm");
215
- const endTime = dayjs__default.default(event.end).format("HH:mm");
216
- const isAllDay = startTime === "00:00" && endTime === "00:00";
217
- const eventChildren = /* @__PURE__ */ jsxRuntime.jsxs(core.Box, { ...getStyles("mobileMonthViewEventBody"), children: [
218
- /* @__PURE__ */ jsxRuntime.jsx(
219
- "div",
220
- {
221
- ...getStyles("mobileMonthViewEventColor", {
222
- style: { backgroundColor: core.getThemeColor(event.color, theme) }
223
- })
224
- }
225
- ),
226
- /* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
227
- /* @__PURE__ */ jsxRuntime.jsx(core.Text, { ...getStyles("mobileMonthViewEventTitle"), children: event.title }),
228
- /* @__PURE__ */ jsxRuntime.jsx(core.Text, { ...getStyles("mobileMonthViewEventTime"), size: "xs", c: "dimmed", children: isAllDay ? "All day" : `${startTime} \u2013 ${endTime}` })
229
- ] })
230
- ] });
231
- const rootProps = {
232
- ...getStyles("mobileMonthViewEvent"),
233
- onClick: mode === "static" ? void 0 : (e) => {
234
- onEventClick?.(event, e);
235
- },
236
- tabIndex: mode === "static" ? -1 : 0,
237
- children: eventChildren
238
- };
239
- if (typeof renderEvent === "function") {
240
- return /* @__PURE__ */ jsxRuntime.jsx(React__default.default.Fragment, { children: renderEvent(event, rootProps) }, event.id);
241
- }
242
- return /* @__PURE__ */ React.createElement(core.UnstyledButton, { ...rootProps, key: event.id });
243
- });
244
- const eventsHeader = _selectedDate ? formatDate.formatDate({
245
- locale: ctx.getLocale(locale),
246
- date: _selectedDate,
247
- format: eventsHeaderFormat
248
- }) : "";
249
- const { dir } = core.useDirection();
250
- const headerLabel = formatDate.formatDate({ locale: ctx.getLocale(locale), date, format: "MMMM YYYY" });
251
- const defaultHeader = /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
252
- /* @__PURE__ */ jsxRuntime.jsxs(
253
- core.UnstyledButton,
254
- {
255
- ...getStyles("mobileMonthViewHeaderBackButton"),
256
- onClick: onYearClick,
257
- mod: { static: mode === "static" },
258
- tabIndex: mode === "static" ? -1 : 0,
259
- children: [
260
- /* @__PURE__ */ jsxRuntime.jsx(core.AccordionChevron, { transform: `rotate(${dir === "rtl" ? -90 : 90} 0 0)`, size: 20 }),
261
- dayjs__default.default(date).format("YYYY")
262
- ]
263
- }
264
- ),
265
- /* @__PURE__ */ jsxRuntime.jsx(core.Text, { ...getStyles("mobileMonthViewHeaderLabel"), fw: 600, tt: "capitalize", children: headerLabel })
266
- ] });
267
- return /* @__PURE__ */ jsxRuntime.jsxs(
268
- core.Box,
269
- {
270
- ...getStyles("mobileMonthView"),
271
- mod: { "with-week-numbers": withWeekNumbers },
272
- ...others,
273
- children: [
274
- /* @__PURE__ */ jsxRuntime.jsx("div", { ...getStyles("mobileMonthViewHeader"), children: typeof renderHeader === "function" ? renderHeader({ mode, date, defaultHeader }) : defaultHeader }),
275
- /* @__PURE__ */ jsxRuntime.jsxs(core.Box, { ...getStyles("mobileMonthViewCalendar"), mod: { "with-weekdays": withWeekDays }, children: [
276
- weekdays && /* @__PURE__ */ jsxRuntime.jsxs("div", { ...getStyles("mobileMonthViewWeekdays"), children: [
277
- withWeekNumbers && /* @__PURE__ */ jsxRuntime.jsx("div", { ...getStyles("mobileMonthViewWeekdaysCorner") }),
278
- weekdays
279
- ] }),
280
- weeks
281
- ] }),
282
- /* @__PURE__ */ jsxRuntime.jsxs(core.Box, { ...getStyles("mobileMonthViewEventsList"), children: [
283
- /* @__PURE__ */ jsxRuntime.jsx(core.Text, { ...getStyles("mobileMonthViewEventsHeader"), fw: 600, tt: "capitalize", children: eventsHeader }),
284
- eventsList.length > 0 ? eventsList : /* @__PURE__ */ jsxRuntime.jsx(core.Text, { ...getStyles("mobileMonthViewNoEvents"), c: "dimmed", ta: "center", py: "xl", children: noEventsText })
285
- ] })
286
- ]
287
- }
288
- );
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
+ });
289
260
  });
290
261
  MobileMonthView.displayName = "@mantine/schedule/MobileMonthView";
291
- MobileMonthView.classes = MobileMonthView_module;
262
+ MobileMonthView.classes = require_MobileMonthView_module.default;
292
263
  MobileMonthView.varsResolver = varsResolver;
293
-
264
+ //#endregion
294
265
  exports.MobileMonthView = MobileMonthView;
295
- //# sourceMappingURL=MobileMonthView.cjs.map
266
+
267
+ //# sourceMappingURL=MobileMonthView.cjs.map