@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,102 +1,71 @@
1
- 'use client';
2
- import { jsx, jsxs } from 'react/jsx-runtime';
3
- import dayjs from 'dayjs';
4
- import { UnstyledButton, Box } from '@mantine/core';
5
- import { useDatesContext } from '@mantine/dates';
6
- import { getLabel } from '../../labels.mjs';
7
- import '../../utils/get-week-number/get-week-number.mjs';
8
- import { getBusinessHoursMod } from '../../utils/get-business-hours-mod/get-business-hours-mod.mjs';
9
-
10
- function WeekViewDay({
11
- day,
12
- dayIndex,
13
- slots,
14
- getStyles,
15
- weekendDays,
16
- children,
17
- labels,
18
- highlightBusinessHours,
19
- businessHours,
20
- withEventsDragAndDrop,
21
- onDaySlotsDragOver,
22
- onDaySlotsDragLeave,
23
- onDaySlotsDrop,
24
- onSlotClick,
25
- dropTargetSlotIndex,
26
- mode,
27
- slotsRef,
28
- firstSlotIndex,
29
- onSlotKeyDown,
30
- onFirstSlotArrowUp,
31
- withDragSlotSelect,
32
- onSlotPointerDown,
33
- isSlotDragSelected
34
- }) {
35
- const ctx = useDatesContext();
36
- const weekend = ctx.getWeekendDays(weekendDays).includes(dayjs(day).day());
37
- const today = dayjs(day).isSame(dayjs(), "day");
38
- const dayGroup = dayjs(day).format("YYYY-MM-DD");
39
- const items = slots.map((slot, slotIndex) => {
40
- const isDropTarget = dropTargetSlotIndex === slotIndex;
41
- const isFirstSlot = firstSlotIndex?.dayIndex === dayIndex && firstSlotIndex?.slotIndex === slotIndex;
42
- const isDragSelected = isSlotDragSelected?.(slotIndex, dayGroup) || false;
43
- return /* @__PURE__ */ jsx(
44
- UnstyledButton,
45
- {
46
- ref: (node) => {
47
- if (node && slotsRef?.current) {
48
- if (!slotsRef.current[dayIndex]) {
49
- slotsRef.current[dayIndex] = [];
50
- }
51
- slotsRef.current[dayIndex][slotIndex] = node;
52
- }
53
- },
54
- ...getStyles("weekViewDaySlot"),
55
- mod: {
56
- "hour-start": slot.isHourStart,
57
- ...getBusinessHoursMod({
58
- time: slot.startTime,
59
- businessHours,
60
- highlightBusinessHours
61
- }),
62
- "drop-target": isDropTarget,
63
- "drag-selected": isDragSelected,
64
- static: mode === "static"
65
- },
66
- "aria-label": `${getLabel("timeSlot", labels)} ${dayGroup} ${slot.startTime} - ${slot.endTime}`,
67
- tabIndex: mode === "static" ? -1 : isFirstSlot ? 0 : -1,
68
- "data-drag-slot-index": withDragSlotSelect && mode !== "static" ? slotIndex : void 0,
69
- "data-drag-slot-group": withDragSlotSelect && mode !== "static" ? dayGroup : void 0,
70
- onKeyDown: (e) => {
71
- if (slotIndex === 0 && e.key === "ArrowUp" && onFirstSlotArrowUp) {
72
- e.preventDefault();
73
- onFirstSlotArrowUp(dayIndex);
74
- } else if (onSlotKeyDown) {
75
- onSlotKeyDown(e, dayIndex, slotIndex);
76
- }
77
- },
78
- onPointerDown: withDragSlotSelect && mode !== "static" ? (e) => onSlotPointerDown?.(e, slotIndex, dayGroup) : void 0,
79
- onClick: mode === "static" || !onSlotClick ? void 0 : (e) => onSlotClick(String(day), slot.startTime, e),
80
- onDragOver: withEventsDragAndDrop && mode !== "static" ? (e) => e.preventDefault() : void 0
81
- },
82
- slot.startTime
83
- );
84
- });
85
- return /* @__PURE__ */ jsx(Box, { ...getStyles("weekViewDay"), mod: { today, weekend }, children: /* @__PURE__ */ jsxs(
86
- Box,
87
- {
88
- mod: { today },
89
- ...getStyles("weekViewDaySlots"),
90
- onDragOver: withEventsDragAndDrop && mode !== "static" ? (e) => onDaySlotsDragOver?.(e, String(day), dayIndex) : void 0,
91
- onDragLeave: withEventsDragAndDrop && mode !== "static" ? onDaySlotsDragLeave : void 0,
92
- onDrop: withEventsDragAndDrop && mode !== "static" ? (e) => onDaySlotsDrop?.(e, String(day), dayIndex) : void 0,
93
- children: [
94
- children,
95
- items
96
- ]
97
- }
98
- ) });
1
+ "use client";
2
+ import { getLabel } from "../../labels.mjs";
3
+ import { getBusinessHoursMod } from "../../utils/get-business-hours-mod/get-business-hours-mod.mjs";
4
+ import dayjs from "dayjs";
5
+ import { Box, UnstyledButton } from "@mantine/core";
6
+ import { useDatesContext } from "@mantine/dates";
7
+ import { jsx, jsxs } from "react/jsx-runtime";
8
+ //#region packages/@mantine/schedule/src/components/WeekView/WeekViewDay.tsx
9
+ function WeekViewDay({ day, dayIndex, slots, getStyles, weekendDays, children, labels, highlightBusinessHours, businessHours, withEventsDragAndDrop, onDaySlotsDragOver, onDaySlotsDragLeave, onDaySlotsDrop, onSlotClick, dropTargetSlotIndex, mode, slotsRef, firstSlotIndex, onSlotKeyDown, onFirstSlotArrowUp, withDragSlotSelect, onSlotPointerDown, isSlotDragSelected, daySlotsContainerRef }) {
10
+ const weekend = useDatesContext().getWeekendDays(weekendDays).includes(dayjs(day).day());
11
+ const today = dayjs(day).isSame(dayjs(), "day");
12
+ const dayGroup = dayjs(day).format("YYYY-MM-DD");
13
+ const items = slots.map((slot, slotIndex) => {
14
+ const isDropTarget = dropTargetSlotIndex === slotIndex;
15
+ const isFirstSlot = firstSlotIndex?.dayIndex === dayIndex && firstSlotIndex?.slotIndex === slotIndex;
16
+ const isDragSelected = isSlotDragSelected?.(slotIndex, dayGroup) || false;
17
+ return /* @__PURE__ */ jsx(UnstyledButton, {
18
+ ref: (node) => {
19
+ if (node && slotsRef?.current) {
20
+ if (!slotsRef.current[dayIndex]) slotsRef.current[dayIndex] = [];
21
+ slotsRef.current[dayIndex][slotIndex] = node;
22
+ }
23
+ },
24
+ ...getStyles("weekViewDaySlot"),
25
+ mod: {
26
+ "hour-start": slot.isHourStart,
27
+ ...getBusinessHoursMod({
28
+ time: slot.startTime,
29
+ businessHours,
30
+ highlightBusinessHours
31
+ }),
32
+ "drop-target": isDropTarget,
33
+ "drag-selected": isDragSelected,
34
+ static: mode === "static"
35
+ },
36
+ "aria-label": `${getLabel("timeSlot", labels)} ${dayGroup} ${slot.startTime} - ${slot.endTime}`,
37
+ tabIndex: mode === "static" ? -1 : isFirstSlot ? 0 : -1,
38
+ "data-drag-slot-index": withDragSlotSelect && mode !== "static" ? slotIndex : void 0,
39
+ "data-drag-slot-group": withDragSlotSelect && mode !== "static" ? dayGroup : void 0,
40
+ onKeyDown: (e) => {
41
+ if (slotIndex === 0 && e.key === "ArrowUp" && onFirstSlotArrowUp) {
42
+ e.preventDefault();
43
+ onFirstSlotArrowUp(dayIndex);
44
+ } else if (onSlotKeyDown) onSlotKeyDown(e, dayIndex, slotIndex);
45
+ },
46
+ onPointerDown: withDragSlotSelect && mode !== "static" ? (e) => onSlotPointerDown?.(e, slotIndex, dayGroup) : void 0,
47
+ onClick: mode === "static" || !onSlotClick ? void 0 : (e) => onSlotClick(String(day), slot.startTime, e),
48
+ onDragOver: withEventsDragAndDrop && mode !== "static" ? (e) => e.preventDefault() : void 0
49
+ }, slot.startTime);
50
+ });
51
+ return /* @__PURE__ */ jsx(Box, {
52
+ ...getStyles("weekViewDay"),
53
+ mod: {
54
+ today,
55
+ weekend
56
+ },
57
+ children: /* @__PURE__ */ jsxs(Box, {
58
+ ref: daySlotsContainerRef,
59
+ mod: { today },
60
+ ...getStyles("weekViewDaySlots"),
61
+ onDragOver: withEventsDragAndDrop && mode !== "static" ? (e) => onDaySlotsDragOver?.(e, String(day), dayIndex) : void 0,
62
+ onDragLeave: withEventsDragAndDrop && mode !== "static" ? onDaySlotsDragLeave : void 0,
63
+ onDrop: withEventsDragAndDrop && mode !== "static" ? (e) => onDaySlotsDrop?.(e, String(day), dayIndex) : void 0,
64
+ children: [children, items]
65
+ })
66
+ });
99
67
  }
100
-
68
+ //#endregion
101
69
  export { WeekViewDay };
102
- //# sourceMappingURL=WeekViewDay.mjs.map
70
+
71
+ //# sourceMappingURL=WeekViewDay.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"WeekViewDay.mjs","sources":["../../../src/components/WeekView/WeekViewDay.tsx"],"sourcesContent":["import dayjs from 'dayjs';\nimport { Box, GetStylesApi, UnstyledButton } from '@mantine/core';\nimport { useDatesContext } from '@mantine/dates';\nimport { getLabel, ScheduleLabelsOverride } from '../../labels';\nimport { DateStringValue, DayOfWeek, ScheduleMode } from '../../types';\nimport { DayTimeInterval, getBusinessHoursMod } from '../../utils';\nimport type { WeekViewControlsRef } from './handle-week-view-key-down';\nimport type { WeekViewFactory } from './WeekView';\n\nexport interface WeekViewDayProps {\n /** Date to display */\n day: Date | DateStringValue;\n\n /** Index of this day in the week */\n dayIndex: number;\n\n /** Slots intervals */\n slots: DayTimeInterval[];\n\n /** `useStyles` return value of `WeekView` */\n getStyles: GetStylesApi<WeekViewFactory>;\n\n /** Indices of weekend days, 0-6, where 0 is Sunday and 6 is Saturday. The default value is defined by `DatesProvider`. */\n weekendDays?: DayOfWeek[];\n\n /** Events list */\n children?: React.ReactNode;\n\n /** Labels override */\n labels?: ScheduleLabelsOverride;\n\n /** If set to true, highlights business hours with white background */\n highlightBusinessHours?: boolean;\n\n /** Business hours range in `HH:mm:ss` format */\n businessHours?: [string, string];\n\n /** If true, slots are drop targets for drag and drop */\n withEventsDragAndDrop?: boolean;\n\n /** Called when dragging over day slots container */\n onDaySlotsDragOver?: (e: React.DragEvent<HTMLDivElement>, day: string, dayIndex: number) => void;\n\n /** Called when dragging leaves day slots container */\n onDaySlotsDragLeave?: () => void;\n\n /** Called when dropping on day slots container */\n onDaySlotsDrop?: (e: React.DragEvent<HTMLDivElement>, day: string, dayIndex: number) => void;\n\n /** Called when slot is clicked */\n onSlotClick?: (day: string, slotTime: string, event: React.MouseEvent<HTMLButtonElement>) => void;\n\n /** Index of the slot that is currently a drop target */\n dropTargetSlotIndex?: number;\n\n /** Interaction mode: 'default' allows all interactions, 'static' disables event interactions */\n mode?: ScheduleMode;\n\n /** Ref for keyboard navigation */\n slotsRef?: WeekViewControlsRef;\n\n /** Index of the first focusable slot */\n firstSlotIndex?: { dayIndex: number; slotIndex: number };\n\n /** Keyboard event handler for slots */\n onSlotKeyDown?: (\n event: React.KeyboardEvent<HTMLButtonElement>,\n dayIndex: number,\n slotIndex: number\n ) => void;\n\n /** Called when Arrow Up is pressed on the first slot, used to navigate to all-day slot */\n onFirstSlotArrowUp?: (dayIndex: number) => void;\n\n /** If set, enables drag-to-select time slot ranges */\n withDragSlotSelect?: boolean;\n\n /** Called when pointer down on a slot for drag selection */\n onSlotPointerDown?: (\n event: React.PointerEvent<HTMLButtonElement>,\n index: number,\n group: string\n ) => void;\n\n /** Function to check if a slot is drag-selected */\n isSlotDragSelected?: (index: number, group: string) => boolean;\n}\n\nexport function WeekViewDay({\n day,\n dayIndex,\n slots,\n getStyles,\n weekendDays,\n children,\n labels,\n highlightBusinessHours,\n businessHours,\n withEventsDragAndDrop,\n onDaySlotsDragOver,\n onDaySlotsDragLeave,\n onDaySlotsDrop,\n onSlotClick,\n dropTargetSlotIndex,\n mode,\n slotsRef,\n firstSlotIndex,\n onSlotKeyDown,\n onFirstSlotArrowUp,\n withDragSlotSelect,\n onSlotPointerDown,\n isSlotDragSelected,\n}: WeekViewDayProps) {\n const ctx = useDatesContext();\n const weekend = ctx.getWeekendDays(weekendDays).includes(dayjs(day).day() as DayOfWeek);\n const today = dayjs(day).isSame(dayjs(), 'day');\n\n const dayGroup = dayjs(day).format('YYYY-MM-DD');\n\n const items = slots.map((slot, slotIndex) => {\n const isDropTarget = dropTargetSlotIndex === slotIndex;\n const isFirstSlot =\n firstSlotIndex?.dayIndex === dayIndex && firstSlotIndex?.slotIndex === slotIndex;\n const isDragSelected = isSlotDragSelected?.(slotIndex, dayGroup) || false;\n\n return (\n <UnstyledButton\n key={slot.startTime}\n ref={(node) => {\n if (node && slotsRef?.current) {\n if (!slotsRef.current[dayIndex]) {\n slotsRef.current[dayIndex] = [];\n }\n slotsRef.current[dayIndex][slotIndex] = node;\n }\n }}\n {...getStyles('weekViewDaySlot')}\n mod={{\n 'hour-start': slot.isHourStart,\n ...getBusinessHoursMod({\n time: slot.startTime,\n businessHours,\n highlightBusinessHours,\n }),\n 'drop-target': isDropTarget,\n 'drag-selected': isDragSelected,\n static: mode === 'static',\n }}\n aria-label={`${getLabel('timeSlot', labels)} ${dayGroup} ${slot.startTime} - ${slot.endTime}`}\n tabIndex={mode === 'static' ? -1 : isFirstSlot ? 0 : -1}\n data-drag-slot-index={withDragSlotSelect && mode !== 'static' ? slotIndex : undefined}\n data-drag-slot-group={withDragSlotSelect && mode !== 'static' ? dayGroup : undefined}\n onKeyDown={(e) => {\n if (slotIndex === 0 && e.key === 'ArrowUp' && onFirstSlotArrowUp) {\n e.preventDefault();\n onFirstSlotArrowUp(dayIndex);\n } else if (onSlotKeyDown) {\n onSlotKeyDown(e, dayIndex, slotIndex);\n }\n }}\n onPointerDown={\n withDragSlotSelect && mode !== 'static'\n ? (e) => onSlotPointerDown?.(e, slotIndex, dayGroup)\n : undefined\n }\n onClick={\n mode === 'static' || !onSlotClick\n ? undefined\n : (e) => onSlotClick(String(day), slot.startTime, e)\n }\n onDragOver={\n withEventsDragAndDrop && mode !== 'static' ? (e) => e.preventDefault() : undefined\n }\n />\n );\n });\n\n return (\n <Box {...getStyles('weekViewDay')} mod={{ today, weekend }}>\n <Box\n mod={{ today }}\n {...getStyles('weekViewDaySlots')}\n onDragOver={\n withEventsDragAndDrop && mode !== 'static'\n ? (e) => onDaySlotsDragOver?.(e, String(day), dayIndex)\n : undefined\n }\n onDragLeave={withEventsDragAndDrop && mode !== 'static' ? onDaySlotsDragLeave : undefined}\n onDrop={\n withEventsDragAndDrop && mode !== 'static'\n ? (e) => onDaySlotsDrop?.(e, String(day), dayIndex)\n : undefined\n }\n >\n {children}\n {items}\n </Box>\n </Box>\n );\n}\n"],"names":[],"mappings":";;;;;;;;;AAwFO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAS,WAAA,CAAY,CAAA;AAAA,CAAA,CAC1B,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA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"}
1
+ {"version":3,"file":"WeekViewDay.mjs","names":[],"sources":["../../../src/components/WeekView/WeekViewDay.tsx"],"sourcesContent":["import dayjs from 'dayjs';\nimport { Box, GetStylesApi, UnstyledButton } from '@mantine/core';\nimport { useDatesContext } from '@mantine/dates';\nimport { getLabel, ScheduleLabelsOverride } from '../../labels';\nimport { DateStringValue, DayOfWeek, ScheduleMode } from '../../types';\nimport { DayTimeInterval, getBusinessHoursMod } from '../../utils';\nimport type { WeekViewControlsRef } from './handle-week-view-key-down';\nimport type { WeekViewFactory } from './WeekView';\n\nexport interface WeekViewDayProps {\n /** Date to display */\n day: Date | DateStringValue;\n\n /** Index of this day in the week */\n dayIndex: number;\n\n /** Slots intervals */\n slots: DayTimeInterval[];\n\n /** `useStyles` return value of `WeekView` */\n getStyles: GetStylesApi<WeekViewFactory>;\n\n /** Indices of weekend days, 0-6, where 0 is Sunday and 6 is Saturday. The default value is defined by `DatesProvider`. */\n weekendDays?: DayOfWeek[];\n\n /** Events list */\n children?: React.ReactNode;\n\n /** Labels override */\n labels?: ScheduleLabelsOverride;\n\n /** If set to true, highlights business hours with white background */\n highlightBusinessHours?: boolean;\n\n /** Business hours range in `HH:mm:ss` format */\n businessHours?: [string, string];\n\n /** If true, slots are drop targets for drag and drop */\n withEventsDragAndDrop?: boolean;\n\n /** Called when dragging over day slots container */\n onDaySlotsDragOver?: (e: React.DragEvent<HTMLDivElement>, day: string, dayIndex: number) => void;\n\n /** Called when dragging leaves day slots container */\n onDaySlotsDragLeave?: () => void;\n\n /** Called when dropping on day slots container */\n onDaySlotsDrop?: (e: React.DragEvent<HTMLDivElement>, day: string, dayIndex: number) => void;\n\n /** Called when slot is clicked */\n onSlotClick?: (day: string, slotTime: string, event: React.MouseEvent<HTMLButtonElement>) => void;\n\n /** Index of the slot that is currently a drop target */\n dropTargetSlotIndex?: number;\n\n /** Interaction mode: 'default' allows all interactions, 'static' disables event interactions */\n mode?: ScheduleMode;\n\n /** Ref for keyboard navigation */\n slotsRef?: WeekViewControlsRef;\n\n /** Index of the first focusable slot */\n firstSlotIndex?: { dayIndex: number; slotIndex: number };\n\n /** Keyboard event handler for slots */\n onSlotKeyDown?: (\n event: React.KeyboardEvent<HTMLButtonElement>,\n dayIndex: number,\n slotIndex: number\n ) => void;\n\n /** Called when Arrow Up is pressed on the first slot, used to navigate to all-day slot */\n onFirstSlotArrowUp?: (dayIndex: number) => void;\n\n /** If set, enables drag-to-select time slot ranges */\n withDragSlotSelect?: boolean;\n\n /** Called when pointer down on a slot for drag selection */\n onSlotPointerDown?: (\n event: React.PointerEvent<HTMLButtonElement>,\n index: number,\n group: string\n ) => void;\n\n /** Function to check if a slot is drag-selected */\n isSlotDragSelected?: (index: number, group: string) => boolean;\n\n /** Ref callback for the day slots container */\n daySlotsContainerRef?: (node: HTMLDivElement | null) => void;\n}\n\nexport function WeekViewDay({\n day,\n dayIndex,\n slots,\n getStyles,\n weekendDays,\n children,\n labels,\n highlightBusinessHours,\n businessHours,\n withEventsDragAndDrop,\n onDaySlotsDragOver,\n onDaySlotsDragLeave,\n onDaySlotsDrop,\n onSlotClick,\n dropTargetSlotIndex,\n mode,\n slotsRef,\n firstSlotIndex,\n onSlotKeyDown,\n onFirstSlotArrowUp,\n withDragSlotSelect,\n onSlotPointerDown,\n isSlotDragSelected,\n daySlotsContainerRef,\n}: WeekViewDayProps) {\n const ctx = useDatesContext();\n const weekend = ctx.getWeekendDays(weekendDays).includes(dayjs(day).day() as DayOfWeek);\n const today = dayjs(day).isSame(dayjs(), 'day');\n\n const dayGroup = dayjs(day).format('YYYY-MM-DD');\n\n const items = slots.map((slot, slotIndex) => {\n const isDropTarget = dropTargetSlotIndex === slotIndex;\n const isFirstSlot =\n firstSlotIndex?.dayIndex === dayIndex && firstSlotIndex?.slotIndex === slotIndex;\n const isDragSelected = isSlotDragSelected?.(slotIndex, dayGroup) || false;\n\n return (\n <UnstyledButton\n key={slot.startTime}\n ref={(node) => {\n if (node && slotsRef?.current) {\n if (!slotsRef.current[dayIndex]) {\n slotsRef.current[dayIndex] = [];\n }\n slotsRef.current[dayIndex][slotIndex] = node;\n }\n }}\n {...getStyles('weekViewDaySlot')}\n mod={{\n 'hour-start': slot.isHourStart,\n ...getBusinessHoursMod({\n time: slot.startTime,\n businessHours,\n highlightBusinessHours,\n }),\n 'drop-target': isDropTarget,\n 'drag-selected': isDragSelected,\n static: mode === 'static',\n }}\n aria-label={`${getLabel('timeSlot', labels)} ${dayGroup} ${slot.startTime} - ${slot.endTime}`}\n tabIndex={mode === 'static' ? -1 : isFirstSlot ? 0 : -1}\n data-drag-slot-index={withDragSlotSelect && mode !== 'static' ? slotIndex : undefined}\n data-drag-slot-group={withDragSlotSelect && mode !== 'static' ? dayGroup : undefined}\n onKeyDown={(e) => {\n if (slotIndex === 0 && e.key === 'ArrowUp' && onFirstSlotArrowUp) {\n e.preventDefault();\n onFirstSlotArrowUp(dayIndex);\n } else if (onSlotKeyDown) {\n onSlotKeyDown(e, dayIndex, slotIndex);\n }\n }}\n onPointerDown={\n withDragSlotSelect && mode !== 'static'\n ? (e) => onSlotPointerDown?.(e, slotIndex, dayGroup)\n : undefined\n }\n onClick={\n mode === 'static' || !onSlotClick\n ? undefined\n : (e) => onSlotClick(String(day), slot.startTime, e)\n }\n onDragOver={\n withEventsDragAndDrop && mode !== 'static' ? (e) => e.preventDefault() : undefined\n }\n />\n );\n });\n\n return (\n <Box {...getStyles('weekViewDay')} mod={{ today, weekend }}>\n <Box\n ref={daySlotsContainerRef}\n mod={{ today }}\n {...getStyles('weekViewDaySlots')}\n onDragOver={\n withEventsDragAndDrop && mode !== 'static'\n ? (e) => onDaySlotsDragOver?.(e, String(day), dayIndex)\n : undefined\n }\n onDragLeave={withEventsDragAndDrop && mode !== 'static' ? onDaySlotsDragLeave : undefined}\n onDrop={\n withEventsDragAndDrop && mode !== 'static'\n ? (e) => onDaySlotsDrop?.(e, String(day), dayIndex)\n : undefined\n }\n >\n {children}\n {items}\n </Box>\n </Box>\n );\n}\n"],"mappings":";;;;;;;;AA2FA,SAAgB,YAAY,EAC1B,KACA,UACA,OACA,WACA,aACA,UACA,QACA,wBACA,eACA,uBACA,oBACA,qBACA,gBACA,aACA,qBACA,MACA,UACA,gBACA,eACA,oBACA,oBACA,mBACA,oBACA,wBACmB;CAEnB,MAAM,UADM,iBAAiB,CACT,eAAe,YAAY,CAAC,SAAS,MAAM,IAAI,CAAC,KAAK,CAAc;CACvF,MAAM,QAAQ,MAAM,IAAI,CAAC,OAAO,OAAO,EAAE,MAAM;CAE/C,MAAM,WAAW,MAAM,IAAI,CAAC,OAAO,aAAa;CAEhD,MAAM,QAAQ,MAAM,KAAK,MAAM,cAAc;EAC3C,MAAM,eAAe,wBAAwB;EAC7C,MAAM,cACJ,gBAAgB,aAAa,YAAY,gBAAgB,cAAc;EACzE,MAAM,iBAAiB,qBAAqB,WAAW,SAAS,IAAI;AAEpE,SACE,oBAAC,gBAAD;GAEE,MAAM,SAAS;AACb,QAAI,QAAQ,UAAU,SAAS;AAC7B,SAAI,CAAC,SAAS,QAAQ,UACpB,UAAS,QAAQ,YAAY,EAAE;AAEjC,cAAS,QAAQ,UAAU,aAAa;;;GAG5C,GAAI,UAAU,kBAAkB;GAChC,KAAK;IACH,cAAc,KAAK;IACnB,GAAG,oBAAoB;KACrB,MAAM,KAAK;KACX;KACA;KACD,CAAC;IACF,eAAe;IACf,iBAAiB;IACjB,QAAQ,SAAS;IAClB;GACD,cAAY,GAAG,SAAS,YAAY,OAAO,CAAC,GAAG,SAAS,GAAG,KAAK,UAAU,KAAK,KAAK;GACpF,UAAU,SAAS,WAAW,KAAK,cAAc,IAAI;GACrD,wBAAsB,sBAAsB,SAAS,WAAW,YAAY,KAAA;GAC5E,wBAAsB,sBAAsB,SAAS,WAAW,WAAW,KAAA;GAC3E,YAAY,MAAM;AAChB,QAAI,cAAc,KAAK,EAAE,QAAQ,aAAa,oBAAoB;AAChE,OAAE,gBAAgB;AAClB,wBAAmB,SAAS;eACnB,cACT,eAAc,GAAG,UAAU,UAAU;;GAGzC,eACE,sBAAsB,SAAS,YAC1B,MAAM,oBAAoB,GAAG,WAAW,SAAS,GAClD,KAAA;GAEN,SACE,SAAS,YAAY,CAAC,cAClB,KAAA,KACC,MAAM,YAAY,OAAO,IAAI,EAAE,KAAK,WAAW,EAAE;GAExD,YACE,yBAAyB,SAAS,YAAY,MAAM,EAAE,gBAAgB,GAAG,KAAA;GAE3E,EA9CK,KAAK,UA8CV;GAEJ;AAEF,QACE,oBAAC,KAAD;EAAK,GAAI,UAAU,cAAc;EAAE,KAAK;GAAE;GAAO;GAAS;YACxD,qBAAC,KAAD;GACE,KAAK;GACL,KAAK,EAAE,OAAO;GACd,GAAI,UAAU,mBAAmB;GACjC,YACE,yBAAyB,SAAS,YAC7B,MAAM,qBAAqB,GAAG,OAAO,IAAI,EAAE,SAAS,GACrD,KAAA;GAEN,aAAa,yBAAyB,SAAS,WAAW,sBAAsB,KAAA;GAChF,QACE,yBAAyB,SAAS,YAC7B,MAAM,iBAAiB,GAAG,OAAO,IAAI,EAAE,SAAS,GACjD,KAAA;aAbR,CAgBG,UACA,MACG;;EACF,CAAA"}
@@ -1,30 +1,27 @@
1
- 'use client';
2
- import dayjs from 'dayjs';
3
- import { formatDate } from '../../../utils/format-date/format-date.mjs';
4
- import '../../../utils/get-week-number/get-week-number.mjs';
5
-
6
- function getWeekLabel({
7
- weekdays,
8
- locale,
9
- weekLabelFormat,
10
- renderWeekLabel
11
- }) {
12
- if (renderWeekLabel) {
13
- return renderWeekLabel({
14
- weekStart: dayjs(weekdays[0]).format("YYYY-MM-DD"),
15
- weekEnd: dayjs(weekdays[weekdays.length - 1]).format("YYYY-MM-DD")
16
- });
17
- }
18
- return `${formatDate({
19
- locale,
20
- date: weekdays[0],
21
- format: weekLabelFormat
22
- })} \u2013 ${formatDate({
23
- locale,
24
- date: weekdays[weekdays.length - 1],
25
- format: weekLabelFormat
26
- })}, ${formatDate({ locale, date: weekdays[0], format: "YYYY" })}`;
1
+ "use client";
2
+ import { formatDate } from "../../../utils/format-date/format-date.mjs";
3
+ import dayjs from "dayjs";
4
+ //#region packages/@mantine/schedule/src/components/WeekView/get-week-label/get-week-label.ts
5
+ function getWeekLabel({ weekdays, locale, weekLabelFormat, renderWeekLabel }) {
6
+ if (renderWeekLabel) return renderWeekLabel({
7
+ weekStart: dayjs(weekdays[0]).format("YYYY-MM-DD"),
8
+ weekEnd: dayjs(weekdays[weekdays.length - 1]).format("YYYY-MM-DD")
9
+ });
10
+ return `${formatDate({
11
+ locale,
12
+ date: weekdays[0],
13
+ format: weekLabelFormat
14
+ })} – ${formatDate({
15
+ locale,
16
+ date: weekdays[weekdays.length - 1],
17
+ format: weekLabelFormat
18
+ })}, ${formatDate({
19
+ locale,
20
+ date: weekdays[0],
21
+ format: "YYYY"
22
+ })}`;
27
23
  }
28
-
24
+ //#endregion
29
25
  export { getWeekLabel };
30
- //# sourceMappingURL=get-week-label.mjs.map
26
+
27
+ //# sourceMappingURL=get-week-label.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"get-week-label.mjs","sources":["../../../../src/components/WeekView/get-week-label/get-week-label.ts"],"sourcesContent":["import dayjs from 'dayjs';\nimport type { ReactNode } from 'react';\nimport { DateLabelFormat, DateStringValue } from '../../../types';\nimport { formatDate } from '../../../utils';\n\ninterface GetWeekLabelInput {\n weekdays: Date[] | string[];\n locale: string;\n weekLabelFormat: DateLabelFormat;\n renderWeekLabel?: (params: { weekStart: DateStringValue; weekEnd: DateStringValue }) => ReactNode;\n}\n\nexport function getWeekLabel({\n weekdays,\n locale,\n weekLabelFormat,\n renderWeekLabel,\n}: GetWeekLabelInput) {\n if (renderWeekLabel) {\n return renderWeekLabel({\n weekStart: dayjs(weekdays[0]).format('YYYY-MM-DD'),\n weekEnd: dayjs(weekdays[weekdays.length - 1]).format('YYYY-MM-DD'),\n });\n }\n\n return `${formatDate({\n locale,\n date: weekdays[0],\n format: weekLabelFormat,\n })} – ${formatDate({\n locale,\n date: weekdays[weekdays.length - 1],\n format: weekLabelFormat,\n })}, ${formatDate({ locale, date: weekdays[0], format: 'YYYY' })}`;\n}\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"get-week-label.mjs","names":[],"sources":["../../../../src/components/WeekView/get-week-label/get-week-label.ts"],"sourcesContent":["import dayjs from 'dayjs';\nimport type { ReactNode } from 'react';\nimport { DateLabelFormat, DateStringValue } from '../../../types';\nimport { formatDate } from '../../../utils';\n\ninterface GetWeekLabelInput {\n weekdays: Date[] | string[];\n locale: string;\n weekLabelFormat: DateLabelFormat;\n renderWeekLabel?: (params: { weekStart: DateStringValue; weekEnd: DateStringValue }) => ReactNode;\n}\n\nexport function getWeekLabel({\n weekdays,\n locale,\n weekLabelFormat,\n renderWeekLabel,\n}: GetWeekLabelInput) {\n if (renderWeekLabel) {\n return renderWeekLabel({\n weekStart: dayjs(weekdays[0]).format('YYYY-MM-DD'),\n weekEnd: dayjs(weekdays[weekdays.length - 1]).format('YYYY-MM-DD'),\n });\n }\n\n return `${formatDate({\n locale,\n date: weekdays[0],\n format: weekLabelFormat,\n })} – ${formatDate({\n locale,\n date: weekdays[weekdays.length - 1],\n format: weekLabelFormat,\n })}, ${formatDate({ locale, date: weekdays[0], format: 'YYYY' })}`;\n}\n"],"mappings":";;;;AAYA,SAAgB,aAAa,EAC3B,UACA,QACA,iBACA,mBACoB;AACpB,KAAI,gBACF,QAAO,gBAAgB;EACrB,WAAW,MAAM,SAAS,GAAG,CAAC,OAAO,aAAa;EAClD,SAAS,MAAM,SAAS,SAAS,SAAS,GAAG,CAAC,OAAO,aAAa;EACnE,CAAC;AAGJ,QAAO,GAAG,WAAW;EACnB;EACA,MAAM,SAAS;EACf,QAAQ;EACT,CAAC,CAAC,KAAK,WAAW;EACjB;EACA,MAAM,SAAS,SAAS,SAAS;EACjC,QAAQ;EACT,CAAC,CAAC,IAAI,WAAW;EAAE;EAAQ,MAAM,SAAS;EAAI,QAAQ;EAAQ,CAAC"}
@@ -1,29 +1,24 @@
1
- 'use client';
2
- import 'dayjs';
3
- import '../../../utils/get-week-number/get-week-number.mjs';
4
- import { isEventsOverlap } from '../../../utils/is-events-overlap/is-events-overlap.mjs';
5
-
1
+ "use client";
2
+ import { isEventsOverlap } from "../../../utils/is-events-overlap/is-events-overlap.mjs";
3
+ //#region packages/@mantine/schedule/src/components/WeekView/get-week-view-events/assign-event-rows.ts
6
4
  function assignEventRows(events) {
7
- const eventRows = /* @__PURE__ */ new Map();
8
- for (const event of events) {
9
- let row = 0;
10
- while (true) {
11
- let hasConflict = false;
12
- for (const [otherEvent, otherRow] of eventRows.entries()) {
13
- if (otherRow === row && isEventsOverlap(event, otherEvent)) {
14
- hasConflict = true;
15
- break;
16
- }
17
- }
18
- if (!hasConflict) {
19
- break;
20
- }
21
- row++;
22
- }
23
- eventRows.set(event, row);
24
- }
25
- return eventRows;
5
+ const eventRows = /* @__PURE__ */ new Map();
6
+ for (const event of events) {
7
+ let row = 0;
8
+ while (true) {
9
+ let hasConflict = false;
10
+ for (const [otherEvent, otherRow] of eventRows.entries()) if (otherRow === row && isEventsOverlap(event, otherEvent)) {
11
+ hasConflict = true;
12
+ break;
13
+ }
14
+ if (!hasConflict) break;
15
+ row++;
16
+ }
17
+ eventRows.set(event, row);
18
+ }
19
+ return eventRows;
26
20
  }
27
-
21
+ //#endregion
28
22
  export { assignEventRows };
29
- //# sourceMappingURL=assign-event-rows.mjs.map
23
+
24
+ //# sourceMappingURL=assign-event-rows.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"assign-event-rows.mjs","sources":["../../../../src/components/WeekView/get-week-view-events/assign-event-rows.ts"],"sourcesContent":["import { ScheduleEventData, WeekPositionedEventData } from '../../../types';\nimport { isEventsOverlap } from '../../../utils';\n\nexport function assignEventRows(events: WeekPositionedEventData[]): Map<ScheduleEventData, number> {\n const eventRows = new Map<ScheduleEventData, number>();\n\n for (const event of events) {\n let row = 0;\n\n while (true) {\n let hasConflict = false;\n\n for (const [otherEvent, otherRow] of eventRows.entries()) {\n if (otherRow === row && isEventsOverlap(event, otherEvent)) {\n hasConflict = true;\n break;\n }\n }\n\n if (!hasConflict) {\n break;\n }\n\n row++;\n }\n\n eventRows.set(event, row);\n }\n\n return eventRows;\n}\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"assign-event-rows.mjs","names":[],"sources":["../../../../src/components/WeekView/get-week-view-events/assign-event-rows.ts"],"sourcesContent":["import { ScheduleEventData, WeekPositionedEventData } from '../../../types';\nimport { isEventsOverlap } from '../../../utils';\n\nexport function assignEventRows(events: WeekPositionedEventData[]): Map<ScheduleEventData, number> {\n const eventRows = new Map<ScheduleEventData, number>();\n\n for (const event of events) {\n let row = 0;\n\n while (true) {\n let hasConflict = false;\n\n for (const [otherEvent, otherRow] of eventRows.entries()) {\n if (otherRow === row && isEventsOverlap(event, otherEvent)) {\n hasConflict = true;\n break;\n }\n }\n\n if (!hasConflict) {\n break;\n }\n\n row++;\n }\n\n eventRows.set(event, row);\n }\n\n return eventRows;\n}\n"],"mappings":";;;AAGA,SAAgB,gBAAgB,QAAmE;CACjG,MAAM,4BAAY,IAAI,KAAgC;AAEtD,MAAK,MAAM,SAAS,QAAQ;EAC1B,IAAI,MAAM;AAEV,SAAO,MAAM;GACX,IAAI,cAAc;AAElB,QAAK,MAAM,CAAC,YAAY,aAAa,UAAU,SAAS,CACtD,KAAI,aAAa,OAAO,gBAAgB,OAAO,WAAW,EAAE;AAC1D,kBAAc;AACd;;AAIJ,OAAI,CAAC,YACH;AAGF;;AAGF,YAAU,IAAI,OAAO,IAAI;;AAG3B,QAAO"}
@@ -1,25 +1,13 @@
1
- 'use client';
2
- import dayjs from 'dayjs';
3
-
4
- function calculateAllDayEventOffset({
5
- eventStartDate,
6
- weekStartDate,
7
- weekDays,
8
- visibleDaysCount,
9
- hangingStart
10
- }) {
11
- let displayStartDate = eventStartDate;
12
- if (hangingStart) {
13
- displayStartDate = weekStartDate;
14
- }
15
- if (!weekDays.some((day) => dayjs(day).isSame(displayStartDate, "day"))) {
16
- displayStartDate = dayjs(weekDays[0]);
17
- }
18
- const visibleDaysBeforeEvent = weekDays.filter(
19
- (day) => dayjs(day).isBefore(displayStartDate) || dayjs(day).isSame(displayStartDate, "day")
20
- ).length - 1;
21
- return visibleDaysBeforeEvent / visibleDaysCount * 100;
1
+ "use client";
2
+ import dayjs from "dayjs";
3
+ //#region packages/@mantine/schedule/src/components/WeekView/get-week-view-events/calculate-all-day-event-offset.ts
4
+ function calculateAllDayEventOffset({ eventStartDate, weekStartDate, weekDays, visibleDaysCount, hangingStart }) {
5
+ let displayStartDate = eventStartDate;
6
+ if (hangingStart) displayStartDate = weekStartDate;
7
+ if (!weekDays.some((day) => dayjs(day).isSame(displayStartDate, "day"))) displayStartDate = dayjs(weekDays[0]);
8
+ return (weekDays.filter((day) => dayjs(day).isBefore(displayStartDate) || dayjs(day).isSame(displayStartDate, "day")).length - 1) / visibleDaysCount * 100;
22
9
  }
23
-
10
+ //#endregion
24
11
  export { calculateAllDayEventOffset };
25
- //# sourceMappingURL=calculate-all-day-event-offset.mjs.map
12
+
13
+ //# sourceMappingURL=calculate-all-day-event-offset.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"calculate-all-day-event-offset.mjs","sources":["../../../../src/components/WeekView/get-week-view-events/calculate-all-day-event-offset.ts"],"sourcesContent":["import dayjs, { Dayjs } from 'dayjs';\nimport { DateStringValue } from '../../../types';\n\ninterface CalculateAllDayEventOffsetInput {\n eventStartDate: Dayjs;\n weekStartDate: Dayjs;\n weekDays: DateStringValue[];\n visibleDaysCount: number;\n hangingStart: boolean;\n}\n\nexport function calculateAllDayEventOffset({\n eventStartDate,\n weekStartDate,\n weekDays,\n visibleDaysCount,\n hangingStart,\n}: CalculateAllDayEventOffsetInput): number {\n let displayStartDate = eventStartDate;\n\n if (hangingStart) {\n displayStartDate = weekStartDate;\n }\n\n if (!weekDays.some((day) => dayjs(day).isSame(displayStartDate, 'day'))) {\n displayStartDate = dayjs(weekDays[0]);\n }\n\n const visibleDaysBeforeEvent =\n weekDays.filter(\n (day) => dayjs(day).isBefore(displayStartDate) || dayjs(day).isSame(displayStartDate, 'day')\n ).length - 1;\n\n return (visibleDaysBeforeEvent / visibleDaysCount) * 100;\n}\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"calculate-all-day-event-offset.mjs","names":[],"sources":["../../../../src/components/WeekView/get-week-view-events/calculate-all-day-event-offset.ts"],"sourcesContent":["import dayjs, { Dayjs } from 'dayjs';\nimport { DateStringValue } from '../../../types';\n\ninterface CalculateAllDayEventOffsetInput {\n eventStartDate: Dayjs;\n weekStartDate: Dayjs;\n weekDays: DateStringValue[];\n visibleDaysCount: number;\n hangingStart: boolean;\n}\n\nexport function calculateAllDayEventOffset({\n eventStartDate,\n weekStartDate,\n weekDays,\n visibleDaysCount,\n hangingStart,\n}: CalculateAllDayEventOffsetInput): number {\n let displayStartDate = eventStartDate;\n\n if (hangingStart) {\n displayStartDate = weekStartDate;\n }\n\n if (!weekDays.some((day) => dayjs(day).isSame(displayStartDate, 'day'))) {\n displayStartDate = dayjs(weekDays[0]);\n }\n\n const visibleDaysBeforeEvent =\n weekDays.filter(\n (day) => dayjs(day).isBefore(displayStartDate) || dayjs(day).isSame(displayStartDate, 'day')\n ).length - 1;\n\n return (visibleDaysBeforeEvent / visibleDaysCount) * 100;\n}\n"],"mappings":";;;AAWA,SAAgB,2BAA2B,EACzC,gBACA,eACA,UACA,kBACA,gBAC0C;CAC1C,IAAI,mBAAmB;AAEvB,KAAI,aACF,oBAAmB;AAGrB,KAAI,CAAC,SAAS,MAAM,QAAQ,MAAM,IAAI,CAAC,OAAO,kBAAkB,MAAM,CAAC,CACrE,oBAAmB,MAAM,SAAS,GAAG;AAQvC,SAJE,SAAS,QACN,QAAQ,MAAM,IAAI,CAAC,SAAS,iBAAiB,IAAI,MAAM,IAAI,CAAC,OAAO,kBAAkB,MAAM,CAC7F,CAAC,SAAS,KAEoB,mBAAoB"}
@@ -1,27 +1,14 @@
1
- 'use client';
2
- import dayjs from 'dayjs';
3
-
4
- function calculateAllDayEventWidth({
5
- eventStartDate,
6
- actualEndDate,
7
- weekStartDate,
8
- weekEndDate,
9
- weekDays,
10
- visibleDaysCount
11
- }) {
12
- let displayStartDate = eventStartDate;
13
- if (eventStartDate.isBefore(weekStartDate)) {
14
- displayStartDate = weekStartDate;
15
- }
16
- let displayEndDate = actualEndDate;
17
- if (actualEndDate.isAfter(weekEndDate)) {
18
- displayEndDate = weekEndDate;
19
- }
20
- const visibleDaysSpanned = weekDays.filter(
21
- (day) => (dayjs(day).isAfter(displayStartDate) || dayjs(day).isSame(displayStartDate, "day")) && (dayjs(day).isBefore(displayEndDate) || dayjs(day).isSame(displayEndDate, "day"))
22
- ).length;
23
- return visibleDaysSpanned / visibleDaysCount * 100;
1
+ "use client";
2
+ import dayjs from "dayjs";
3
+ //#region packages/@mantine/schedule/src/components/WeekView/get-week-view-events/calculate-all-day-event-width.ts
4
+ function calculateAllDayEventWidth({ eventStartDate, actualEndDate, weekStartDate, weekEndDate, weekDays, visibleDaysCount }) {
5
+ let displayStartDate = eventStartDate;
6
+ if (eventStartDate.isBefore(weekStartDate)) displayStartDate = weekStartDate;
7
+ let displayEndDate = actualEndDate;
8
+ if (actualEndDate.isAfter(weekEndDate)) displayEndDate = weekEndDate;
9
+ return weekDays.filter((day) => (dayjs(day).isAfter(displayStartDate) || dayjs(day).isSame(displayStartDate, "day")) && (dayjs(day).isBefore(displayEndDate) || dayjs(day).isSame(displayEndDate, "day"))).length / visibleDaysCount * 100;
24
10
  }
25
-
11
+ //#endregion
26
12
  export { calculateAllDayEventWidth };
27
- //# sourceMappingURL=calculate-all-day-event-width.mjs.map
13
+
14
+ //# sourceMappingURL=calculate-all-day-event-width.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"calculate-all-day-event-width.mjs","sources":["../../../../src/components/WeekView/get-week-view-events/calculate-all-day-event-width.ts"],"sourcesContent":["import dayjs, { Dayjs } from 'dayjs';\nimport { DateStringValue } from '../../../types';\n\ninterface CalculateAllDayEventWidthInput {\n eventStartDate: Dayjs;\n actualEndDate: Dayjs;\n weekStartDate: Dayjs;\n weekEndDate: Dayjs;\n weekDays: DateStringValue[];\n visibleDaysCount: number;\n}\n\nexport function calculateAllDayEventWidth({\n eventStartDate,\n actualEndDate,\n weekStartDate,\n weekEndDate,\n weekDays,\n visibleDaysCount,\n}: CalculateAllDayEventWidthInput): number {\n let displayStartDate = eventStartDate;\n if (eventStartDate.isBefore(weekStartDate)) {\n displayStartDate = weekStartDate;\n }\n\n let displayEndDate = actualEndDate;\n if (actualEndDate.isAfter(weekEndDate)) {\n displayEndDate = weekEndDate;\n }\n\n const visibleDaysSpanned = weekDays.filter(\n (day) =>\n (dayjs(day).isAfter(displayStartDate) || dayjs(day).isSame(displayStartDate, 'day')) &&\n (dayjs(day).isBefore(displayEndDate) || dayjs(day).isSame(displayEndDate, 'day'))\n ).length;\n\n return (visibleDaysSpanned / visibleDaysCount) * 100;\n}\n"],"names":[],"mappings":";;;AAYO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAS,yBAAA,CAA0B,CAAA;AAAA,CAAA,CACxC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACF,CAAA,CAAA,CAA2C,CAAA;AACzC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAmB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACvB,CAAA,CAAA,IAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAe,QAAA,CAAS,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAa,CAAA,CAAA,CAAG,CAAA;AAC1C,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,GAAmB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CACrB,CAAA;AAEA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAiB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACrB,CAAA,CAAA,IAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAc,OAAA,CAAQ,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAW,CAAA,CAAA,CAAG,CAAA;AACtC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,GAAiB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CACnB,CAAA;AAEA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,IAAqB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAS,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAClC,CAAC,GAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CACE,KAAA,CAAM,CAAA,CAAA,CAAG,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAgB,CAAA,IAAK,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,GAAG,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAkB,KAAK,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CACjF,KAAA,CAAM,CAAA,CAAA,CAAG,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAS,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAc,CAAA,IAAK,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,GAAG,CAAA,CAAE,MAAA,CAAO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAgB,CAAA,CAAA,CAAA,CAAA,CAAK,CAAA,CAAA;AAAA,CAAA,CAAA,CACnF,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAEF,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,IAAqB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,GAAoB,CAAA,CAAA,CAAA,CAAA;AACnD,CAAA;;"}
1
+ {"version":3,"file":"calculate-all-day-event-width.mjs","names":[],"sources":["../../../../src/components/WeekView/get-week-view-events/calculate-all-day-event-width.ts"],"sourcesContent":["import dayjs, { Dayjs } from 'dayjs';\nimport { DateStringValue } from '../../../types';\n\ninterface CalculateAllDayEventWidthInput {\n eventStartDate: Dayjs;\n actualEndDate: Dayjs;\n weekStartDate: Dayjs;\n weekEndDate: Dayjs;\n weekDays: DateStringValue[];\n visibleDaysCount: number;\n}\n\nexport function calculateAllDayEventWidth({\n eventStartDate,\n actualEndDate,\n weekStartDate,\n weekEndDate,\n weekDays,\n visibleDaysCount,\n}: CalculateAllDayEventWidthInput): number {\n let displayStartDate = eventStartDate;\n if (eventStartDate.isBefore(weekStartDate)) {\n displayStartDate = weekStartDate;\n }\n\n let displayEndDate = actualEndDate;\n if (actualEndDate.isAfter(weekEndDate)) {\n displayEndDate = weekEndDate;\n }\n\n const visibleDaysSpanned = weekDays.filter(\n (day) =>\n (dayjs(day).isAfter(displayStartDate) || dayjs(day).isSame(displayStartDate, 'day')) &&\n (dayjs(day).isBefore(displayEndDate) || dayjs(day).isSame(displayEndDate, 'day'))\n ).length;\n\n return (visibleDaysSpanned / visibleDaysCount) * 100;\n}\n"],"mappings":";;;AAYA,SAAgB,0BAA0B,EACxC,gBACA,eACA,eACA,aACA,UACA,oBACyC;CACzC,IAAI,mBAAmB;AACvB,KAAI,eAAe,SAAS,cAAc,CACxC,oBAAmB;CAGrB,IAAI,iBAAiB;AACrB,KAAI,cAAc,QAAQ,YAAY,CACpC,kBAAiB;AASnB,QAN2B,SAAS,QACjC,SACE,MAAM,IAAI,CAAC,QAAQ,iBAAiB,IAAI,MAAM,IAAI,CAAC,OAAO,kBAAkB,MAAM,MAClF,MAAM,IAAI,CAAC,SAAS,eAAe,IAAI,MAAM,IAAI,CAAC,OAAO,gBAAgB,MAAM,EACnF,CAAC,SAE2B,mBAAoB"}
@@ -1,13 +1,14 @@
1
- 'use client';
2
- import dayjs from 'dayjs';
3
-
1
+ "use client";
2
+ import dayjs from "dayjs";
3
+ //#region packages/@mantine/schedule/src/components/WeekView/get-week-view-events/calculate-event-days.ts
4
4
  function calculateEventDays({ event, weekDays, actualEndDate }) {
5
- const eventStartDate = dayjs(event.start).startOf("day");
6
- return weekDays.filter((day) => {
7
- const dayDate = dayjs(day).startOf("day");
8
- return (dayDate.isAfter(eventStartDate) || dayDate.isSame(eventStartDate)) && (dayDate.isBefore(actualEndDate) || dayDate.isSame(actualEndDate));
9
- });
5
+ const eventStartDate = dayjs(event.start).startOf("day");
6
+ return weekDays.filter((day) => {
7
+ const dayDate = dayjs(day).startOf("day");
8
+ return (dayDate.isAfter(eventStartDate) || dayDate.isSame(eventStartDate)) && (dayDate.isBefore(actualEndDate) || dayDate.isSame(actualEndDate));
9
+ });
10
10
  }
11
-
11
+ //#endregion
12
12
  export { calculateEventDays };
13
- //# sourceMappingURL=calculate-event-days.mjs.map
13
+
14
+ //# sourceMappingURL=calculate-event-days.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"calculate-event-days.mjs","sources":["../../../../src/components/WeekView/get-week-view-events/calculate-event-days.ts"],"sourcesContent":["import dayjs, { Dayjs } from 'dayjs';\nimport { DateStringValue, ScheduleEventData } from '../../../types';\n\ninterface CalculateEventDaysInput {\n event: ScheduleEventData;\n weekDays: DateStringValue[];\n actualEndDate: Dayjs;\n}\n\nexport function calculateEventDays({ event, weekDays, actualEndDate }: CalculateEventDaysInput) {\n const eventStartDate = dayjs(event.start).startOf('day');\n\n return weekDays.filter((day) => {\n const dayDate = dayjs(day).startOf('day');\n return (\n (dayDate.isAfter(eventStartDate) || dayDate.isSame(eventStartDate)) &&\n (dayDate.isBefore(actualEndDate) || dayDate.isSame(actualEndDate))\n );\n });\n}\n"],"names":[],"mappings":";;;AASO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAS,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAmB,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,EAAO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAU,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,GAAc,CAAA,CAA4B,CAAA;AAC9F,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,IAAiB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAA,CAAK,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAQ,KAAK,CAAA,CAAA;AAEvD,CAAA,CAAA,OAAO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAS,MAAA,CAAO,CAAC,GAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,CAAA;AAC9B,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAU,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAG,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAQ,CAAA,CAAA,CAAA,CAAA,CAAK,CAAA,CAAA;AACxC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CACG,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAc,CAAA,CAAA,CAAA,CAAA,CAAK,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAQ,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAc,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAChE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAS,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAa,CAAA,CAAA,CAAA,CAAA,CAAK,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,CAAA,CAAA,CAAA,CAAA,CAAA,EAAO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAa,CAAA,CAAA,CAAA;AAAA,CAAA,CAEpE,CAAC,CAAA,CAAA;AACH,CAAA;;"}
1
+ {"version":3,"file":"calculate-event-days.mjs","names":[],"sources":["../../../../src/components/WeekView/get-week-view-events/calculate-event-days.ts"],"sourcesContent":["import dayjs, { Dayjs } from 'dayjs';\nimport { DateStringValue, ScheduleEventData } from '../../../types';\n\ninterface CalculateEventDaysInput {\n event: ScheduleEventData;\n weekDays: DateStringValue[];\n actualEndDate: Dayjs;\n}\n\nexport function calculateEventDays({ event, weekDays, actualEndDate }: CalculateEventDaysInput) {\n const eventStartDate = dayjs(event.start).startOf('day');\n\n return weekDays.filter((day) => {\n const dayDate = dayjs(day).startOf('day');\n return (\n (dayDate.isAfter(eventStartDate) || dayDate.isSame(eventStartDate)) &&\n (dayDate.isBefore(actualEndDate) || dayDate.isSame(actualEndDate))\n );\n });\n}\n"],"mappings":";;;AASA,SAAgB,mBAAmB,EAAE,OAAO,UAAU,iBAA0C;CAC9F,MAAM,iBAAiB,MAAM,MAAM,MAAM,CAAC,QAAQ,MAAM;AAExD,QAAO,SAAS,QAAQ,QAAQ;EAC9B,MAAM,UAAU,MAAM,IAAI,CAAC,QAAQ,MAAM;AACzC,UACG,QAAQ,QAAQ,eAAe,IAAI,QAAQ,OAAO,eAAe,MACjE,QAAQ,SAAS,cAAc,IAAI,QAAQ,OAAO,cAAc;GAEnE"}
@@ -1,22 +1,17 @@
1
- 'use client';
2
- import 'dayjs';
3
- import '../../../utils/get-week-number/get-week-number.mjs';
4
- import { isEventsOverlap } from '../../../utils/is-events-overlap/is-events-overlap.mjs';
5
-
1
+ "use client";
2
+ import { isEventsOverlap } from "../../../utils/is-events-overlap/is-events-overlap.mjs";
3
+ //#region packages/@mantine/schedule/src/components/WeekView/get-week-view-events/calculate-regular-event-overlaps.ts
6
4
  function calculateRegularEventOverlaps(events) {
7
- for (const event of events) {
8
- let maxOverlappingColumn = event.position.column;
9
- for (const otherEvent of events) {
10
- if (isEventsOverlap(event, otherEvent)) {
11
- maxOverlappingColumn = Math.max(maxOverlappingColumn, otherEvent.position.column);
12
- }
13
- }
14
- const overlaps = maxOverlappingColumn + 1;
15
- event.position.overlaps = overlaps;
16
- event.position.width = 100 / overlaps;
17
- event.position.offset = event.position.column * 100 / overlaps;
18
- }
5
+ for (const event of events) {
6
+ let maxOverlappingColumn = event.position.column;
7
+ for (const otherEvent of events) if (isEventsOverlap(event, otherEvent)) maxOverlappingColumn = Math.max(maxOverlappingColumn, otherEvent.position.column);
8
+ const overlaps = maxOverlappingColumn + 1;
9
+ event.position.overlaps = overlaps;
10
+ event.position.width = 100 / overlaps;
11
+ event.position.offset = event.position.column * 100 / overlaps;
12
+ }
19
13
  }
20
-
14
+ //#endregion
21
15
  export { calculateRegularEventOverlaps };
22
- //# sourceMappingURL=calculate-regular-event-overlaps.mjs.map
16
+
17
+ //# sourceMappingURL=calculate-regular-event-overlaps.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"calculate-regular-event-overlaps.mjs","sources":["../../../../src/components/WeekView/get-week-view-events/calculate-regular-event-overlaps.ts"],"sourcesContent":["import { WeekPositionedEventData } from '../../../types';\nimport { isEventsOverlap } from '../../../utils';\n\nexport function calculateRegularEventOverlaps(events: WeekPositionedEventData[]): void {\n for (const event of events) {\n let maxOverlappingColumn = event.position.column;\n\n for (const otherEvent of events) {\n if (isEventsOverlap(event, otherEvent)) {\n maxOverlappingColumn = Math.max(maxOverlappingColumn, otherEvent.position.column);\n }\n }\n\n const overlaps = maxOverlappingColumn + 1;\n event.position.overlaps = overlaps;\n event.position.width = 100 / overlaps;\n event.position.offset = (event.position.column * 100) / overlaps;\n }\n}\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"calculate-regular-event-overlaps.mjs","names":[],"sources":["../../../../src/components/WeekView/get-week-view-events/calculate-regular-event-overlaps.ts"],"sourcesContent":["import { WeekPositionedEventData } from '../../../types';\nimport { isEventsOverlap } from '../../../utils';\n\nexport function calculateRegularEventOverlaps(events: WeekPositionedEventData[]): void {\n for (const event of events) {\n let maxOverlappingColumn = event.position.column;\n\n for (const otherEvent of events) {\n if (isEventsOverlap(event, otherEvent)) {\n maxOverlappingColumn = Math.max(maxOverlappingColumn, otherEvent.position.column);\n }\n }\n\n const overlaps = maxOverlappingColumn + 1;\n event.position.overlaps = overlaps;\n event.position.width = 100 / overlaps;\n event.position.offset = (event.position.column * 100) / overlaps;\n }\n}\n"],"mappings":";;;AAGA,SAAgB,8BAA8B,QAAyC;AACrF,MAAK,MAAM,SAAS,QAAQ;EAC1B,IAAI,uBAAuB,MAAM,SAAS;AAE1C,OAAK,MAAM,cAAc,OACvB,KAAI,gBAAgB,OAAO,WAAW,CACpC,wBAAuB,KAAK,IAAI,sBAAsB,WAAW,SAAS,OAAO;EAIrF,MAAM,WAAW,uBAAuB;AACxC,QAAM,SAAS,WAAW;AAC1B,QAAM,SAAS,QAAQ,MAAM;AAC7B,QAAM,SAAS,SAAU,MAAM,SAAS,SAAS,MAAO"}