@mantine/schedule 9.5.2 → 9.6.1

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 (240) hide show
  1. package/cjs/_virtual/_rolldown/runtime.cjs +1 -1
  2. package/cjs/components/AgendaView/AgendaView.cjs +7 -6
  3. package/cjs/components/AgendaView/AgendaView.cjs.map +1 -1
  4. package/cjs/components/AgendaView/get-agenda-view-events.cjs.map +1 -1
  5. package/cjs/components/CurrentTimeIndicator/CurrentTimeIndicator.cjs +3 -2
  6. package/cjs/components/CurrentTimeIndicator/CurrentTimeIndicator.cjs.map +1 -1
  7. package/cjs/components/DayView/DayView.cjs +153 -80
  8. package/cjs/components/DayView/DayView.cjs.map +1 -1
  9. package/cjs/components/DayView/DayView.module.cjs +1 -0
  10. package/cjs/components/DayView/DayView.module.cjs.map +1 -1
  11. package/cjs/components/DayView/get-day-view-events/get-day-positioned-events.cjs +12 -7
  12. package/cjs/components/DayView/get-day-view-events/get-day-positioned-events.cjs.map +1 -1
  13. package/cjs/components/DayView/get-day-view-events/get-day-view-events.cjs +3 -2
  14. package/cjs/components/DayView/get-day-view-events/get-day-view-events.cjs.map +1 -1
  15. package/cjs/components/DragContext/DragContext.cjs.map +1 -1
  16. package/cjs/components/MobileMonthView/MobileMonthView.cjs +7 -6
  17. package/cjs/components/MobileMonthView/MobileMonthView.cjs.map +1 -1
  18. package/cjs/components/MobileMonthView/get-mobile-month-view-events.cjs.map +1 -1
  19. package/cjs/components/MonthView/MonthView.cjs +24 -34
  20. package/cjs/components/MonthView/MonthView.cjs.map +1 -1
  21. package/cjs/components/MonthView/MonthView.module.cjs.map +1 -1
  22. package/cjs/components/MonthView/get-month-view-events/find-available-row.cjs.map +1 -1
  23. package/cjs/components/MonthView/get-month-view-events/get-month-positioned-events.cjs +4 -2
  24. package/cjs/components/MonthView/get-month-view-events/get-month-positioned-events.cjs.map +1 -1
  25. package/cjs/components/MonthView/get-month-view-events/get-month-view-events.cjs.map +1 -1
  26. package/cjs/components/MonthView/get-month-view-events/get-weeks-in-range.cjs +3 -2
  27. package/cjs/components/MonthView/get-month-view-events/get-weeks-in-range.cjs.map +1 -1
  28. package/cjs/components/MonthView/get-renderable-month-event-segments.cjs +1 -1
  29. package/cjs/components/MonthView/get-renderable-month-event-segments.cjs.map +1 -1
  30. package/cjs/components/MoreEvents/MoreEvents.cjs.map +1 -1
  31. package/cjs/components/ResourcesDayView/ResourcesDayView.cjs +137 -53
  32. package/cjs/components/ResourcesDayView/ResourcesDayView.cjs.map +1 -1
  33. package/cjs/components/ResourcesDayView/ResourcesDayView.module.cjs +2 -1
  34. package/cjs/components/ResourcesDayView/ResourcesDayView.module.cjs.map +1 -1
  35. package/cjs/components/ResourcesDayView/ResourcesDayViewColumn.cjs.map +1 -1
  36. package/cjs/components/ResourcesDayView/get-resources-day-view-events/get-resources-day-view-events.cjs.map +1 -1
  37. package/cjs/components/ResourcesMonthView/ResourcesMonthView.cjs.map +1 -1
  38. package/cjs/components/ResourcesSchedule/ResourcesSchedule.cjs +3 -1
  39. package/cjs/components/ResourcesSchedule/ResourcesSchedule.cjs.map +1 -1
  40. package/cjs/components/ResourcesWeekView/ResourcesWeekView.cjs +151 -60
  41. package/cjs/components/ResourcesWeekView/ResourcesWeekView.cjs.map +1 -1
  42. package/cjs/components/ResourcesWeekView/ResourcesWeekView.module.cjs +2 -1
  43. package/cjs/components/ResourcesWeekView/ResourcesWeekView.module.cjs.map +1 -1
  44. package/cjs/components/ResourcesWeekView/ResourcesWeekViewRow.cjs.map +1 -1
  45. package/cjs/components/ResourcesWeekView/get-resources-week-view-events/get-resources-week-view-events.cjs +6 -3
  46. package/cjs/components/ResourcesWeekView/get-resources-week-view-events/get-resources-week-view-events.cjs.map +1 -1
  47. package/cjs/components/Schedule/Schedule.cjs +4 -1
  48. package/cjs/components/Schedule/Schedule.cjs.map +1 -1
  49. package/cjs/components/ScheduleBackgroundEvent/ScheduleBackgroundEvent.cjs +53 -0
  50. package/cjs/components/ScheduleBackgroundEvent/ScheduleBackgroundEvent.cjs.map +1 -0
  51. package/cjs/components/ScheduleEvent/ScheduleEvent.cjs.map +1 -1
  52. package/cjs/components/ScheduleEvent/ScheduleEvent.module.cjs.map +1 -1
  53. package/cjs/components/ScheduleHeader/HeaderControl/HeaderControl.cjs +15 -14
  54. package/cjs/components/ScheduleHeader/HeaderControl/HeaderControl.cjs.map +1 -1
  55. package/cjs/components/ScheduleHeader/MonthYearSelect/MonthYearSelect.cjs.map +1 -1
  56. package/cjs/components/ScheduleHeader/ScheduleHeader.cjs.map +1 -1
  57. package/cjs/components/ScheduleHeader/ScheduleHeaderBase.cjs.map +1 -1
  58. package/cjs/components/ScheduleHeader/ScheduleHeaderContext.cjs.map +1 -1
  59. package/cjs/components/ScheduleHeader/ViewSelect/ViewSelect.cjs.map +1 -1
  60. package/cjs/components/WeekView/WeekView.cjs +168 -84
  61. package/cjs/components/WeekView/WeekView.cjs.map +1 -1
  62. package/cjs/components/WeekView/WeekView.module.cjs +1 -0
  63. package/cjs/components/WeekView/WeekView.module.cjs.map +1 -1
  64. package/cjs/components/WeekView/WeekViewDay.cjs.map +1 -1
  65. package/cjs/components/WeekView/get-week-label/get-week-label.cjs.map +1 -1
  66. package/cjs/components/WeekView/get-week-view-events/calculate-all-day-event-offset.cjs.map +1 -1
  67. package/cjs/components/WeekView/get-week-view-events/calculate-all-day-event-width.cjs.map +1 -1
  68. package/cjs/components/WeekView/get-week-view-events/calculate-event-days.cjs.map +1 -1
  69. package/cjs/components/WeekView/get-week-view-events/get-event-end-date.cjs.map +1 -1
  70. package/cjs/components/WeekView/get-week-view-events/get-hanging-status.cjs.map +1 -1
  71. package/cjs/components/WeekView/get-week-view-events/get-week-positioned-events.cjs +4 -2
  72. package/cjs/components/WeekView/get-week-view-events/get-week-positioned-events.cjs.map +1 -1
  73. package/cjs/components/YearView/YearView.cjs +7 -6
  74. package/cjs/components/YearView/YearView.cjs.map +1 -1
  75. package/cjs/components/YearView/YearViewMonth.cjs.map +1 -1
  76. package/cjs/components/YearView/get-visible-week-days.cjs.map +1 -1
  77. package/cjs/components/YearView/get-year-view-events/get-year-view-events.cjs.map +1 -1
  78. package/cjs/hooks/use-auto-scroll-on-drag.cjs.map +1 -1
  79. package/cjs/hooks/use-day-grid-event-resize.cjs.map +1 -1
  80. package/cjs/hooks/use-drag-drop-handlers.cjs +13 -2
  81. package/cjs/hooks/use-drag-drop-handlers.cjs.map +1 -1
  82. package/cjs/hooks/use-drag-state.cjs.map +1 -1
  83. package/cjs/hooks/use-event-resize.cjs +30 -15
  84. package/cjs/hooks/use-event-resize.cjs.map +1 -1
  85. package/cjs/hooks/use-horizontal-event-resize.cjs +30 -15
  86. package/cjs/hooks/use-horizontal-event-resize.cjs.map +1 -1
  87. package/cjs/hooks/use-slot-drag-select.cjs.map +1 -1
  88. package/cjs/index.cjs +6 -0
  89. package/cjs/utils/apply-cascade-layout/apply-cascade-layout.cjs +21 -0
  90. package/cjs/utils/apply-cascade-layout/apply-cascade-layout.cjs.map +1 -0
  91. package/cjs/utils/calculate-drop-time/calculate-drop-time.cjs +25 -4
  92. package/cjs/utils/calculate-drop-time/calculate-drop-time.cjs.map +1 -1
  93. package/cjs/utils/calculate-month-drop-date/calculate-month-drop-date.cjs.map +1 -1
  94. package/cjs/utils/calculate-month-resize-dates/calculate-month-resize-dates.cjs.map +1 -1
  95. package/cjs/utils/expand-recurring-events/expand-recurring-events.cjs.map +1 -1
  96. package/cjs/utils/format-date/format-date.cjs.map +1 -1
  97. package/cjs/utils/get-current-time-position/get-current-time-position.cjs.map +1 -1
  98. package/cjs/utils/get-day-position/get-day-position.cjs.map +1 -1
  99. package/cjs/utils/get-end-of-week/get-end-of-week.cjs.map +1 -1
  100. package/cjs/utils/get-month-days/get-month-days.cjs +4 -2
  101. package/cjs/utils/get-month-days/get-month-days.cjs.map +1 -1
  102. package/cjs/utils/get-month-range/get-month-range.cjs.map +1 -1
  103. package/cjs/utils/get-months-by-quarter/get-months-by-quarter.cjs.map +1 -1
  104. package/cjs/utils/get-months-list/get-months-list.cjs.map +1 -1
  105. package/cjs/{components/ResourcesDayView → utils}/get-overlap-clusters/get-overlap-clusters.cjs +2 -2
  106. package/cjs/utils/get-overlap-clusters/get-overlap-clusters.cjs.map +1 -0
  107. package/cjs/utils/get-start-of-week/get-start-of-week.cjs.map +1 -1
  108. package/cjs/utils/get-week-days/get-week-days.cjs.map +1 -1
  109. package/cjs/utils/get-week-number/get-week-number.cjs +4 -1
  110. package/cjs/utils/get-week-number/get-week-number.cjs.map +1 -1
  111. package/cjs/utils/get-weekdays-names/get-weekdays-names.cjs.map +1 -1
  112. package/cjs/utils/is-after-min-date/is-after-min-date.cjs.map +1 -1
  113. package/cjs/utils/is-all-day-event/is-all-day-event.cjs.map +1 -1
  114. package/cjs/utils/is-before-max-date/is-before-max-date.cjs.map +1 -1
  115. package/cjs/utils/is-event-in-time-range/is-event-in-time-range.cjs +2 -1
  116. package/cjs/utils/is-event-in-time-range/is-event-in-time-range.cjs.map +1 -1
  117. package/cjs/utils/is-events-overlap/is-events-overlap.cjs.map +1 -1
  118. package/cjs/utils/is-in-time-range/is-in-time-range.cjs.map +1 -1
  119. package/cjs/utils/is-multiday-event/is-multiday-event.cjs.map +1 -1
  120. package/cjs/utils/is-same-month/is-same-month.cjs.map +1 -1
  121. package/cjs/utils/is-within-week/is-within-week.cjs.map +1 -1
  122. package/cjs/utils/next-week/next-week.cjs.map +1 -1
  123. package/cjs/utils/previous-week/previous-week.cjs.map +1 -1
  124. package/cjs/utils/sort-events/sort-events.cjs.map +1 -1
  125. package/cjs/utils/to-date-string/to-date-string.cjs.map +1 -1
  126. package/cjs/utils/validate-event/validate-event.cjs.map +1 -1
  127. package/esm/components/AgendaView/AgendaView.mjs +7 -6
  128. package/esm/components/AgendaView/AgendaView.mjs.map +1 -1
  129. package/esm/components/CurrentTimeIndicator/CurrentTimeIndicator.mjs +4 -3
  130. package/esm/components/CurrentTimeIndicator/CurrentTimeIndicator.mjs.map +1 -1
  131. package/esm/components/DayView/DayView.mjs +154 -81
  132. package/esm/components/DayView/DayView.mjs.map +1 -1
  133. package/esm/components/DayView/DayView.module.mjs +1 -0
  134. package/esm/components/DayView/DayView.module.mjs.map +1 -1
  135. package/esm/components/DayView/get-day-view-events/get-day-positioned-events.mjs +12 -7
  136. package/esm/components/DayView/get-day-view-events/get-day-positioned-events.mjs.map +1 -1
  137. package/esm/components/DayView/get-day-view-events/get-day-view-events.mjs +3 -2
  138. package/esm/components/DayView/get-day-view-events/get-day-view-events.mjs.map +1 -1
  139. package/esm/components/MobileMonthView/MobileMonthView.mjs +7 -6
  140. package/esm/components/MobileMonthView/MobileMonthView.mjs.map +1 -1
  141. package/esm/components/MonthView/MonthView.mjs +25 -35
  142. package/esm/components/MonthView/MonthView.mjs.map +1 -1
  143. package/esm/components/MonthView/MonthView.module.mjs.map +1 -1
  144. package/esm/components/MonthView/get-month-view-events/get-month-positioned-events.mjs +4 -2
  145. package/esm/components/MonthView/get-month-view-events/get-month-positioned-events.mjs.map +1 -1
  146. package/esm/components/MonthView/get-month-view-events/get-weeks-in-range.mjs +3 -2
  147. package/esm/components/MonthView/get-month-view-events/get-weeks-in-range.mjs.map +1 -1
  148. package/esm/components/MonthView/get-renderable-month-event-segments.mjs +1 -1
  149. package/esm/components/MonthView/get-renderable-month-event-segments.mjs.map +1 -1
  150. package/esm/components/MoreEvents/MoreEvents.mjs.map +1 -1
  151. package/esm/components/ResourcesDayView/ResourcesDayView.mjs +139 -55
  152. package/esm/components/ResourcesDayView/ResourcesDayView.mjs.map +1 -1
  153. package/esm/components/ResourcesDayView/ResourcesDayView.module.mjs +2 -1
  154. package/esm/components/ResourcesDayView/ResourcesDayView.module.mjs.map +1 -1
  155. package/esm/components/ResourcesDayView/ResourcesDayViewColumn.mjs.map +1 -1
  156. package/esm/components/ResourcesMonthView/ResourcesMonthView.mjs.map +1 -1
  157. package/esm/components/ResourcesSchedule/ResourcesSchedule.mjs +3 -1
  158. package/esm/components/ResourcesSchedule/ResourcesSchedule.mjs.map +1 -1
  159. package/esm/components/ResourcesWeekView/ResourcesWeekView.mjs +153 -62
  160. package/esm/components/ResourcesWeekView/ResourcesWeekView.mjs.map +1 -1
  161. package/esm/components/ResourcesWeekView/ResourcesWeekView.module.mjs +2 -1
  162. package/esm/components/ResourcesWeekView/ResourcesWeekView.module.mjs.map +1 -1
  163. package/esm/components/ResourcesWeekView/ResourcesWeekViewRow.mjs.map +1 -1
  164. package/esm/components/ResourcesWeekView/get-resources-week-view-events/get-resources-week-view-events.mjs +6 -3
  165. package/esm/components/ResourcesWeekView/get-resources-week-view-events/get-resources-week-view-events.mjs.map +1 -1
  166. package/esm/components/Schedule/Schedule.mjs +4 -1
  167. package/esm/components/Schedule/Schedule.mjs.map +1 -1
  168. package/esm/components/ScheduleBackgroundEvent/ScheduleBackgroundEvent.mjs +53 -0
  169. package/esm/components/ScheduleBackgroundEvent/ScheduleBackgroundEvent.mjs.map +1 -0
  170. package/esm/components/ScheduleEvent/ScheduleEvent.mjs.map +1 -1
  171. package/esm/components/ScheduleEvent/ScheduleEvent.module.mjs.map +1 -1
  172. package/esm/components/ScheduleHeader/HeaderControl/HeaderControl.mjs +15 -14
  173. package/esm/components/ScheduleHeader/HeaderControl/HeaderControl.mjs.map +1 -1
  174. package/esm/components/ScheduleHeader/MonthYearSelect/MonthYearSelect.mjs.map +1 -1
  175. package/esm/components/ScheduleHeader/ScheduleHeader.mjs.map +1 -1
  176. package/esm/components/ScheduleHeader/ScheduleHeaderBase.mjs.map +1 -1
  177. package/esm/components/ScheduleHeader/ViewSelect/ViewSelect.mjs.map +1 -1
  178. package/esm/components/WeekView/WeekView.mjs +169 -85
  179. package/esm/components/WeekView/WeekView.mjs.map +1 -1
  180. package/esm/components/WeekView/WeekView.module.mjs +1 -0
  181. package/esm/components/WeekView/WeekView.module.mjs.map +1 -1
  182. package/esm/components/WeekView/WeekViewDay.mjs.map +1 -1
  183. package/esm/components/WeekView/get-week-view-events/get-week-positioned-events.mjs +4 -2
  184. package/esm/components/WeekView/get-week-view-events/get-week-positioned-events.mjs.map +1 -1
  185. package/esm/components/YearView/YearView.mjs +7 -6
  186. package/esm/components/YearView/YearView.mjs.map +1 -1
  187. package/esm/components/YearView/YearViewMonth.mjs.map +1 -1
  188. package/esm/hooks/use-drag-drop-handlers.mjs +13 -2
  189. package/esm/hooks/use-drag-drop-handlers.mjs.map +1 -1
  190. package/esm/hooks/use-event-resize.mjs +30 -15
  191. package/esm/hooks/use-event-resize.mjs.map +1 -1
  192. package/esm/hooks/use-horizontal-event-resize.mjs +30 -15
  193. package/esm/hooks/use-horizontal-event-resize.mjs.map +1 -1
  194. package/esm/index.mjs +4 -1
  195. package/esm/utils/apply-cascade-layout/apply-cascade-layout.mjs +21 -0
  196. package/esm/utils/apply-cascade-layout/apply-cascade-layout.mjs.map +1 -0
  197. package/esm/utils/calculate-drop-time/calculate-drop-time.mjs +25 -4
  198. package/esm/utils/calculate-drop-time/calculate-drop-time.mjs.map +1 -1
  199. package/esm/utils/get-month-days/get-month-days.mjs +4 -2
  200. package/esm/utils/get-month-days/get-month-days.mjs.map +1 -1
  201. package/esm/{components/ResourcesDayView → utils}/get-overlap-clusters/get-overlap-clusters.mjs +2 -2
  202. package/esm/utils/get-overlap-clusters/get-overlap-clusters.mjs.map +1 -0
  203. package/esm/utils/get-week-number/get-week-number.mjs +4 -1
  204. package/esm/utils/get-week-number/get-week-number.mjs.map +1 -1
  205. package/esm/utils/is-event-in-time-range/is-event-in-time-range.mjs +2 -1
  206. package/esm/utils/is-event-in-time-range/is-event-in-time-range.mjs.map +1 -1
  207. package/lib/components/DayView/DayView.d.ts +12 -2
  208. package/lib/components/DayView/get-day-view-events/get-day-positioned-events.d.ts +4 -2
  209. package/lib/components/DayView/get-day-view-events/get-day-view-events.d.ts +3 -2
  210. package/lib/components/MonthView/MonthView.d.ts +2 -0
  211. package/lib/components/ResourcesDayView/ResourcesDayView.d.ts +7 -1
  212. package/lib/components/ResourcesDayView/ResourcesDayViewColumn.d.ts +1 -1
  213. package/lib/components/ResourcesSchedule/ResourcesSchedule.d.ts +3 -1
  214. package/lib/components/ResourcesWeekView/ResourcesWeekView.d.ts +7 -1
  215. package/lib/components/ResourcesWeekView/ResourcesWeekViewRow.d.ts +1 -1
  216. package/lib/components/Schedule/Schedule.d.ts +3 -1
  217. package/lib/components/ScheduleBackgroundEvent/ScheduleBackgroundEvent.d.ts +19 -0
  218. package/lib/components/ScheduleBackgroundEvent/index.d.ts +2 -0
  219. package/lib/components/ScheduleHeader/HeaderControl/HeaderControl.d.ts +3 -3
  220. package/lib/components/ScheduleHeader/ScheduleHeaderBase.d.ts +1 -1
  221. package/lib/components/WeekView/WeekView.d.ts +12 -2
  222. package/lib/components/WeekView/WeekViewDay.d.ts +1 -1
  223. package/lib/components/WeekView/get-week-view-events/get-week-positioned-events.d.ts +4 -2
  224. package/lib/components/YearView/YearViewMonth.d.ts +1 -1
  225. package/lib/hooks/use-drag-drop-handlers.d.ts +10 -1
  226. package/lib/hooks/use-event-resize.d.ts +2 -1
  227. package/lib/hooks/use-horizontal-event-resize.d.ts +2 -1
  228. package/lib/index.d.mts +1 -0
  229. package/lib/index.d.ts +1 -0
  230. package/lib/types.d.ts +3 -1
  231. package/lib/utils/apply-cascade-layout/apply-cascade-layout.d.ts +6 -0
  232. package/lib/utils/calculate-drop-time/calculate-drop-time.d.ts +11 -1
  233. package/lib/utils/get-overlap-clusters/get-overlap-clusters.d.ts +2 -0
  234. package/lib/utils/index.d.ts +3 -0
  235. package/package.json +8 -5
  236. package/styles.css +221 -0
  237. package/styles.layer.css +221 -0
  238. package/cjs/components/ResourcesDayView/get-overlap-clusters/get-overlap-clusters.cjs.map +0 -1
  239. package/esm/components/ResourcesDayView/get-overlap-clusters/get-overlap-clusters.mjs.map +0 -1
  240. package/lib/components/ResourcesDayView/get-overlap-clusters/get-overlap-clusters.d.ts +0 -2
@@ -12,6 +12,16 @@ export interface CalculateDropTimeInput {
12
12
  slotHeight?: number;
13
13
  /** Minutes per slot */
14
14
  intervalMinutes?: number;
15
+ /** Pointer offset along the time axis within the target slot, in px. Axis-agnostic alias for `mouseYOffset`; when both are set, `slotOffset` wins. */
16
+ slotOffset?: number;
17
+ /** Size of the target slot along the time axis, in px. Axis-agnostic alias for `slotHeight`; when both are set, `slotSize` wins. */
18
+ slotSize?: number;
19
+ /** Snap step for the resulting start time, in minutes. When set, the start snaps to this interval (absolute, from the day boundary) instead of the slot start. */
20
+ dragIntervalMinutes?: number;
21
+ /** Start time boundary of the schedule in HH:mm:ss format. When set together with `dragIntervalMinutes`, the snapped start is clamped to stay within the displayed range (the event may still extend past `endTime`, matching how overflowing events are clipped). */
22
+ startTime?: string;
23
+ /** End time boundary of the schedule in HH:mm:ss format. When set together with `dragIntervalMinutes`, the snapped start is clamped to stay within the displayed range (the event may still extend past `endTime`, matching how overflowing events are clipped). */
24
+ endTime?: string;
15
25
  }
16
26
  export interface CalculateDropTimeResult {
17
27
  /** New start date/time for the event */
@@ -19,4 +29,4 @@ export interface CalculateDropTimeResult {
19
29
  /** New end date/time for the event */
20
30
  end: Date;
21
31
  }
22
- export declare function calculateDropTime({ draggedEvent, targetDate, targetSlotTime, mouseYOffset, slotHeight, intervalMinutes, }: CalculateDropTimeInput): CalculateDropTimeResult;
32
+ export declare function calculateDropTime({ draggedEvent, targetDate, targetSlotTime, mouseYOffset, slotHeight, intervalMinutes, slotOffset, slotSize, dragIntervalMinutes, startTime, endTime, }: CalculateDropTimeInput): CalculateDropTimeResult;
@@ -0,0 +1,2 @@
1
+ import { ScheduleEventData } from '../../types';
2
+ export declare function getOverlapClusters<T extends ScheduleEventData>(events: T[]): T[][];
@@ -47,3 +47,6 @@ export type { HandleResourcesGridKeyDownInput, ResourcesGridControlsRef, } from
47
47
  export { getGroupToResourceIdMap } from './get-group-to-resource-id-map/get-group-to-resource-id-map';
48
48
  export { getIndexFromDragPoint } from './get-index-from-drag-point/get-index-from-drag-point';
49
49
  export { getDayRelativePercent } from './get-day-relative-percent/get-day-relative-percent';
50
+ export { getOverlapClusters } from './get-overlap-clusters/get-overlap-clusters';
51
+ export { applyCascadeLayout } from './apply-cascade-layout/apply-cascade-layout';
52
+ export type { CascadePositionedEvent } from './apply-cascade-layout/apply-cascade-layout';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mantine/schedule",
3
- "version": "9.5.2",
3
+ "version": "9.6.1",
4
4
  "description": "Schedule Mantine component",
5
5
  "homepage": "https://mantine.dev/",
6
6
  "license": "MIT",
@@ -35,9 +35,9 @@
35
35
  "directory": "packages/@mantine/schedule"
36
36
  },
37
37
  "peerDependencies": {
38
- "@mantine/core": "9.5.2",
39
- "@mantine/dates": "9.5.2",
40
- "@mantine/hooks": "9.5.2",
38
+ "@mantine/core": "9.6.1",
39
+ "@mantine/dates": "9.6.1",
40
+ "@mantine/hooks": "9.6.1",
41
41
  "react": "^19.2.0",
42
42
  "react-dom": "^19.2.0"
43
43
  },
@@ -48,6 +48,9 @@
48
48
  "@mantine-tests/core": "workspace:*",
49
49
  "@mantine/core": "workspace:*",
50
50
  "@mantine/dates": "workspace:*",
51
- "@mantine/hooks": "workspace:*"
51
+ "@mantine/hooks": "workspace:*",
52
+ "dayjs": "^1.11.23",
53
+ "react": "19.2.8",
54
+ "react-dom": "19.2.8"
52
55
  }
53
56
  }
package/styles.css CHANGED
@@ -215,6 +215,37 @@
215
215
  cursor: default;
216
216
  }
217
217
 
218
+ .m_1ac94670:where([data-cascade]) {
219
+ z-index: var(--event-z-index, 3);
220
+ transition: z-index 0s;
221
+ }
222
+
223
+ .m_1ac94670:where([data-cascade]) .m_71699dc6 {
224
+ box-shadow: 0 0 0 1px var(--mantine-color-body);
225
+ }
226
+
227
+ @media (hover: hover) {
228
+
229
+ .m_1ac94670:where([data-cascade]):where(:not([data-resizing], [data-dragging])):hover {
230
+ z-index: var(--event-z-index-raised, 9);
231
+ transition-delay: var(--event-raise-delay, 600ms);
232
+ }
233
+ }
234
+
235
+ @media (hover: none) {
236
+
237
+ .m_1ac94670:where([data-cascade]):where(:not([data-resizing], [data-dragging])):active {
238
+ z-index: var(--event-z-index-raised, 9);
239
+ transition-delay: var(--event-raise-delay, 600ms);
240
+ }
241
+ }
242
+
243
+ /* Keyboard focus reveals a covered event immediately, hover waits for the dwell delay */
244
+
245
+ .m_1ac94670:where([data-cascade]):where(:not([data-resizing], [data-dragging])):where(:focus-visible) {
246
+ z-index: var(--event-z-index-raised, 9);
247
+ }
248
+
218
249
  .m_1ac94670:where([data-resizing]) {
219
250
  z-index: 10;
220
251
  }
@@ -233,6 +264,10 @@
233
264
  }
234
265
  }
235
266
 
267
+ .m_1ac94670:where([data-cascade][data-resizing]) {
268
+ z-index: var(--event-cascade-interaction-z-index, 999);
269
+ }
270
+
236
271
  .m_1ac94670:where([data-hanging='start'], [data-hanging='both'])::before {
237
272
  content: '';
238
273
  position: absolute;
@@ -751,6 +786,19 @@
751
786
  position: relative;
752
787
  }
753
788
 
789
+ /* Cascade events stack with an unbounded z-index, keep them out of the sticky header's layer */
790
+
791
+ .m_9389813:where(:has([data-cascade])) {
792
+ isolation: isolate;
793
+
794
+ /* Drag and resize feedback must stay above every cascade column */
795
+ --event-cascade-interaction-z-index: 999;
796
+ }
797
+
798
+ .m_9389813:where(:has([data-cascade])) .m_2d4819df {
799
+ z-index: var(--event-cascade-interaction-z-index);
800
+ }
801
+
754
802
  .m_9389813:where(:first-of-type) .m_cd179e73:where([data-first]) {
755
803
  border-top-color: transparent;
756
804
  }
@@ -916,6 +964,30 @@
916
964
  color: var(--bg-event-color);
917
965
  }
918
966
 
967
+ .m_c5cd9a77:where([data-interactive]) {
968
+ pointer-events: auto;
969
+ cursor: pointer;
970
+ user-select: none;
971
+ }
972
+
973
+ @media (hover: hover) {
974
+
975
+ .m_c5cd9a77:where([data-interactive]):hover {
976
+ background-color: var(--bg-event-hover);
977
+ }
978
+ }
979
+
980
+ @media (hover: none) {
981
+
982
+ .m_c5cd9a77:where([data-interactive]):active {
983
+ background-color: var(--bg-event-hover);
984
+ }
985
+ }
986
+
987
+ .m_3c5fb2d5:where([data-event-interaction], [data-slot-dragging]) .m_c5cd9a77 {
988
+ pointer-events: none;
989
+ }
990
+
919
991
  .m_c6f08d70 {
920
992
  position: relative;
921
993
  height: var(--all-day-slot-height);
@@ -930,6 +1002,15 @@
930
1002
  z-index: 3;
931
1003
  }
932
1004
 
1005
+ .m_2d4819df {
1006
+ pointer-events: none;
1007
+ z-index: 3;
1008
+ border-radius: var(--day-view-radius);
1009
+ border: 1px dashed var(--mantine-color-blue-filled);
1010
+ background-color: var(--mantine-color-blue-light);
1011
+ opacity: 0.6;
1012
+ }
1013
+
933
1014
  .m_70d87f99 {
934
1015
  --mobile-month-view-radius: var(--schedule-radius, var(--mantine-radius-default));
935
1016
  --week-numbers-offset: 0rem;
@@ -1549,6 +1630,30 @@
1549
1630
  color: var(--bg-event-color);
1550
1631
  }
1551
1632
 
1633
+ .m_9e8509af:where([data-interactive]) {
1634
+ pointer-events: auto;
1635
+ cursor: pointer;
1636
+ user-select: none;
1637
+ }
1638
+
1639
+ @media (hover: hover) {
1640
+
1641
+ .m_9e8509af:where([data-interactive]):hover {
1642
+ background-color: var(--bg-event-hover);
1643
+ }
1644
+ }
1645
+
1646
+ @media (hover: none) {
1647
+
1648
+ .m_9e8509af:where([data-interactive]):active {
1649
+ background-color: var(--bg-event-hover);
1650
+ }
1651
+ }
1652
+
1653
+ .m_8eceba9d:where([data-event-interaction], [data-slot-dragging]) .m_9e8509af {
1654
+ pointer-events: none;
1655
+ }
1656
+
1552
1657
  .m_f0fa5e16 {
1553
1658
  position: absolute;
1554
1659
  inset-inline: 0;
@@ -1739,10 +1844,49 @@
1739
1844
  color: var(--bg-event-color);
1740
1845
  }
1741
1846
 
1847
+ .m_41ce8f1f:where([data-interactive]) {
1848
+ pointer-events: auto;
1849
+ cursor: pointer;
1850
+ user-select: none;
1851
+ }
1852
+
1853
+ @media (hover: hover) {
1854
+
1855
+ .m_41ce8f1f:where([data-interactive]):hover {
1856
+ background-color: var(--bg-event-hover);
1857
+ }
1858
+ }
1859
+
1860
+ @media (hover: none) {
1861
+
1862
+ .m_41ce8f1f:where([data-interactive]):active {
1863
+ background-color: var(--bg-event-hover);
1864
+ }
1865
+ }
1866
+
1867
+ .m_42b9032d:where([data-slot-dragging]) .m_41ce8f1f,
1868
+ .m_6b2099af:where([data-event-interaction]) .m_41ce8f1f,
1869
+ .m_6b2099af:where([data-all-day-dragging]) .m_41ce8f1f {
1870
+ pointer-events: none;
1871
+ }
1872
+
1742
1873
  .m_cd58ae46 {
1743
1874
  position: relative;
1744
1875
  }
1745
1876
 
1877
+ /* Cascade events stack with an unbounded z-index, keep them out of the sticky header's layer */
1878
+
1879
+ .m_cd58ae46:where(:has([data-cascade])) {
1880
+ isolation: isolate;
1881
+
1882
+ /* Drag and resize feedback must stay above every cascade column */
1883
+ --event-cascade-interaction-z-index: 999;
1884
+ }
1885
+
1886
+ .m_cd58ae46:where(:has([data-cascade])) .m_e0da287 {
1887
+ z-index: var(--event-cascade-interaction-z-index);
1888
+ }
1889
+
1746
1890
  .m_8ac0cbcd {
1747
1891
  display: block;
1748
1892
  width: 100%;
@@ -1919,6 +2063,15 @@
1919
2063
  pointer-events: all;
1920
2064
  }
1921
2065
 
2066
+ .m_e0da287 {
2067
+ pointer-events: none;
2068
+ z-index: 3;
2069
+ border-radius: var(--week-view-radius);
2070
+ border: 1px dashed var(--mantine-color-blue-filled);
2071
+ background-color: var(--mantine-color-blue-light);
2072
+ opacity: 0.6;
2073
+ }
2074
+
1922
2075
  .m_7301354d {
1923
2076
  --year-view-radius: var(--schedule-radius, var(--mantine-radius-default));
1924
2077
  --year-view-font-size: var(--mantine-font-size-sm);
@@ -2637,6 +2790,26 @@
2637
2790
  color: var(--bg-event-color);
2638
2791
  }
2639
2792
 
2793
+ .m_9cc838bf:where([data-interactive]) {
2794
+ pointer-events: auto;
2795
+ cursor: pointer;
2796
+ user-select: none;
2797
+ }
2798
+
2799
+ @media (hover: hover) {
2800
+
2801
+ .m_9cc838bf:where([data-interactive]):hover {
2802
+ background-color: var(--bg-event-hover);
2803
+ }
2804
+ }
2805
+
2806
+ @media (hover: none) {
2807
+
2808
+ .m_9cc838bf:where([data-interactive]):active {
2809
+ background-color: var(--bg-event-hover);
2810
+ }
2811
+ }
2812
+
2640
2813
  .m_d6d6dd52 {
2641
2814
  position: absolute;
2642
2815
  inset-inline: calc(0.0625rem * var(--mantine-scale));
@@ -2698,6 +2871,11 @@
2698
2871
  pointer-events: none;
2699
2872
  }
2700
2873
 
2874
+ .m_25154d8d:where([data-event-interaction], [data-slot-dragging])
2875
+ .m_9cc838bf {
2876
+ pointer-events: none;
2877
+ }
2878
+
2701
2879
  .m_25154d8d:where([data-resizing]) * {
2702
2880
  cursor: ew-resize !important;
2703
2881
  }
@@ -2710,6 +2888,15 @@
2710
2888
  opacity: 0;
2711
2889
  }
2712
2890
 
2891
+ .m_969d1c27 {
2892
+ pointer-events: none;
2893
+ z-index: 3;
2894
+ border-radius: var(--resources-day-view-radius);
2895
+ border: 1px dashed var(--mantine-color-blue-filled);
2896
+ background-color: var(--mantine-color-blue-light);
2897
+ opacity: 0.6;
2898
+ }
2899
+
2713
2900
  .m_ed4c47cf {
2714
2901
  --resources-week-view-radius: var(--schedule-radius, var(--mantine-radius-default));
2715
2902
  --resources-week-view-resource-label-width: calc(7.5rem * var(--mantine-scale));
@@ -3044,6 +3231,26 @@
3044
3231
  color: var(--bg-event-color);
3045
3232
  }
3046
3233
 
3234
+ .m_3c19323d:where([data-interactive]) {
3235
+ pointer-events: auto;
3236
+ cursor: pointer;
3237
+ user-select: none;
3238
+ }
3239
+
3240
+ @media (hover: hover) {
3241
+
3242
+ .m_3c19323d:where([data-interactive]):hover {
3243
+ background-color: var(--bg-event-hover);
3244
+ }
3245
+ }
3246
+
3247
+ @media (hover: none) {
3248
+
3249
+ .m_3c19323d:where([data-interactive]):active {
3250
+ background-color: var(--bg-event-hover);
3251
+ }
3252
+ }
3253
+
3047
3254
  .m_682c45d0 {
3048
3255
  position: absolute;
3049
3256
  height: var(--resources-week-view-all-day-height);
@@ -3104,6 +3311,11 @@
3104
3311
  pointer-events: none;
3105
3312
  }
3106
3313
 
3314
+ .m_ed4c47cf:where([data-event-interaction], [data-slot-dragging])
3315
+ .m_3c19323d {
3316
+ pointer-events: none;
3317
+ }
3318
+
3107
3319
  .m_ed4c47cf:where([data-resizing]) * {
3108
3320
  cursor: ew-resize !important;
3109
3321
  }
@@ -3178,6 +3390,15 @@
3178
3390
  z-index: 3;
3179
3391
  }
3180
3392
 
3393
+ .m_27f284a5 {
3394
+ pointer-events: none;
3395
+ z-index: 3;
3396
+ border-radius: var(--resources-week-view-radius);
3397
+ border: 1px dashed var(--mantine-color-blue-filled);
3398
+ background-color: var(--mantine-color-blue-light);
3399
+ opacity: 0.6;
3400
+ }
3401
+
3181
3402
  .m_652b3acd {
3182
3403
  --resources-month-view-radius: var(--schedule-radius, var(--mantine-radius-default));
3183
3404
  --resources-month-view-resource-label-width: calc(7.5rem * var(--mantine-scale));
package/styles.layer.css CHANGED
@@ -215,6 +215,37 @@
215
215
  cursor: default;
216
216
  }
217
217
 
218
+ .m_1ac94670:where([data-cascade]) {
219
+ z-index: var(--event-z-index, 3);
220
+ transition: z-index 0s;
221
+ }
222
+
223
+ .m_1ac94670:where([data-cascade]) .m_71699dc6 {
224
+ box-shadow: 0 0 0 1px var(--mantine-color-body);
225
+ }
226
+
227
+ @media (hover: hover) {
228
+
229
+ .m_1ac94670:where([data-cascade]):where(:not([data-resizing], [data-dragging])):hover {
230
+ z-index: var(--event-z-index-raised, 9);
231
+ transition-delay: var(--event-raise-delay, 600ms);
232
+ }
233
+ }
234
+
235
+ @media (hover: none) {
236
+
237
+ .m_1ac94670:where([data-cascade]):where(:not([data-resizing], [data-dragging])):active {
238
+ z-index: var(--event-z-index-raised, 9);
239
+ transition-delay: var(--event-raise-delay, 600ms);
240
+ }
241
+ }
242
+
243
+ /* Keyboard focus reveals a covered event immediately, hover waits for the dwell delay */
244
+
245
+ .m_1ac94670:where([data-cascade]):where(:not([data-resizing], [data-dragging])):where(:focus-visible) {
246
+ z-index: var(--event-z-index-raised, 9);
247
+ }
248
+
218
249
  .m_1ac94670:where([data-resizing]) {
219
250
  z-index: 10;
220
251
  }
@@ -233,6 +264,10 @@
233
264
  }
234
265
  }
235
266
 
267
+ .m_1ac94670:where([data-cascade][data-resizing]) {
268
+ z-index: var(--event-cascade-interaction-z-index, 999);
269
+ }
270
+
236
271
  .m_1ac94670:where([data-hanging='start'], [data-hanging='both'])::before {
237
272
  content: '';
238
273
  position: absolute;
@@ -751,6 +786,19 @@
751
786
  position: relative;
752
787
  }
753
788
 
789
+ /* Cascade events stack with an unbounded z-index, keep them out of the sticky header's layer */
790
+
791
+ .m_9389813:where(:has([data-cascade])) {
792
+ isolation: isolate;
793
+
794
+ /* Drag and resize feedback must stay above every cascade column */
795
+ --event-cascade-interaction-z-index: 999;
796
+ }
797
+
798
+ .m_9389813:where(:has([data-cascade])) .m_2d4819df {
799
+ z-index: var(--event-cascade-interaction-z-index);
800
+ }
801
+
754
802
  .m_9389813:where(:first-of-type) .m_cd179e73:where([data-first]) {
755
803
  border-top-color: transparent;
756
804
  }
@@ -916,6 +964,30 @@
916
964
  color: var(--bg-event-color);
917
965
  }
918
966
 
967
+ .m_c5cd9a77:where([data-interactive]) {
968
+ pointer-events: auto;
969
+ cursor: pointer;
970
+ user-select: none;
971
+ }
972
+
973
+ @media (hover: hover) {
974
+
975
+ .m_c5cd9a77:where([data-interactive]):hover {
976
+ background-color: var(--bg-event-hover);
977
+ }
978
+ }
979
+
980
+ @media (hover: none) {
981
+
982
+ .m_c5cd9a77:where([data-interactive]):active {
983
+ background-color: var(--bg-event-hover);
984
+ }
985
+ }
986
+
987
+ .m_3c5fb2d5:where([data-event-interaction], [data-slot-dragging]) .m_c5cd9a77 {
988
+ pointer-events: none;
989
+ }
990
+
919
991
  .m_c6f08d70 {
920
992
  position: relative;
921
993
  height: var(--all-day-slot-height);
@@ -930,6 +1002,15 @@
930
1002
  z-index: 3;
931
1003
  }
932
1004
 
1005
+ .m_2d4819df {
1006
+ pointer-events: none;
1007
+ z-index: 3;
1008
+ border-radius: var(--day-view-radius);
1009
+ border: 1px dashed var(--mantine-color-blue-filled);
1010
+ background-color: var(--mantine-color-blue-light);
1011
+ opacity: 0.6;
1012
+ }
1013
+
933
1014
  .m_70d87f99 {
934
1015
  --mobile-month-view-radius: var(--schedule-radius, var(--mantine-radius-default));
935
1016
  --week-numbers-offset: 0rem;
@@ -1549,6 +1630,30 @@
1549
1630
  color: var(--bg-event-color);
1550
1631
  }
1551
1632
 
1633
+ .m_9e8509af:where([data-interactive]) {
1634
+ pointer-events: auto;
1635
+ cursor: pointer;
1636
+ user-select: none;
1637
+ }
1638
+
1639
+ @media (hover: hover) {
1640
+
1641
+ .m_9e8509af:where([data-interactive]):hover {
1642
+ background-color: var(--bg-event-hover);
1643
+ }
1644
+ }
1645
+
1646
+ @media (hover: none) {
1647
+
1648
+ .m_9e8509af:where([data-interactive]):active {
1649
+ background-color: var(--bg-event-hover);
1650
+ }
1651
+ }
1652
+
1653
+ .m_8eceba9d:where([data-event-interaction], [data-slot-dragging]) .m_9e8509af {
1654
+ pointer-events: none;
1655
+ }
1656
+
1552
1657
  .m_f0fa5e16 {
1553
1658
  position: absolute;
1554
1659
  inset-inline: 0;
@@ -1739,10 +1844,49 @@
1739
1844
  color: var(--bg-event-color);
1740
1845
  }
1741
1846
 
1847
+ .m_41ce8f1f:where([data-interactive]) {
1848
+ pointer-events: auto;
1849
+ cursor: pointer;
1850
+ user-select: none;
1851
+ }
1852
+
1853
+ @media (hover: hover) {
1854
+
1855
+ .m_41ce8f1f:where([data-interactive]):hover {
1856
+ background-color: var(--bg-event-hover);
1857
+ }
1858
+ }
1859
+
1860
+ @media (hover: none) {
1861
+
1862
+ .m_41ce8f1f:where([data-interactive]):active {
1863
+ background-color: var(--bg-event-hover);
1864
+ }
1865
+ }
1866
+
1867
+ .m_42b9032d:where([data-slot-dragging]) .m_41ce8f1f,
1868
+ .m_6b2099af:where([data-event-interaction]) .m_41ce8f1f,
1869
+ .m_6b2099af:where([data-all-day-dragging]) .m_41ce8f1f {
1870
+ pointer-events: none;
1871
+ }
1872
+
1742
1873
  .m_cd58ae46 {
1743
1874
  position: relative;
1744
1875
  }
1745
1876
 
1877
+ /* Cascade events stack with an unbounded z-index, keep them out of the sticky header's layer */
1878
+
1879
+ .m_cd58ae46:where(:has([data-cascade])) {
1880
+ isolation: isolate;
1881
+
1882
+ /* Drag and resize feedback must stay above every cascade column */
1883
+ --event-cascade-interaction-z-index: 999;
1884
+ }
1885
+
1886
+ .m_cd58ae46:where(:has([data-cascade])) .m_e0da287 {
1887
+ z-index: var(--event-cascade-interaction-z-index);
1888
+ }
1889
+
1746
1890
  .m_8ac0cbcd {
1747
1891
  display: block;
1748
1892
  width: 100%;
@@ -1919,6 +2063,15 @@
1919
2063
  pointer-events: all;
1920
2064
  }
1921
2065
 
2066
+ .m_e0da287 {
2067
+ pointer-events: none;
2068
+ z-index: 3;
2069
+ border-radius: var(--week-view-radius);
2070
+ border: 1px dashed var(--mantine-color-blue-filled);
2071
+ background-color: var(--mantine-color-blue-light);
2072
+ opacity: 0.6;
2073
+ }
2074
+
1922
2075
  .m_7301354d {
1923
2076
  --year-view-radius: var(--schedule-radius, var(--mantine-radius-default));
1924
2077
  --year-view-font-size: var(--mantine-font-size-sm);
@@ -2637,6 +2790,26 @@
2637
2790
  color: var(--bg-event-color);
2638
2791
  }
2639
2792
 
2793
+ .m_9cc838bf:where([data-interactive]) {
2794
+ pointer-events: auto;
2795
+ cursor: pointer;
2796
+ user-select: none;
2797
+ }
2798
+
2799
+ @media (hover: hover) {
2800
+
2801
+ .m_9cc838bf:where([data-interactive]):hover {
2802
+ background-color: var(--bg-event-hover);
2803
+ }
2804
+ }
2805
+
2806
+ @media (hover: none) {
2807
+
2808
+ .m_9cc838bf:where([data-interactive]):active {
2809
+ background-color: var(--bg-event-hover);
2810
+ }
2811
+ }
2812
+
2640
2813
  .m_d6d6dd52 {
2641
2814
  position: absolute;
2642
2815
  inset-inline: calc(0.0625rem * var(--mantine-scale));
@@ -2698,6 +2871,11 @@
2698
2871
  pointer-events: none;
2699
2872
  }
2700
2873
 
2874
+ .m_25154d8d:where([data-event-interaction], [data-slot-dragging])
2875
+ .m_9cc838bf {
2876
+ pointer-events: none;
2877
+ }
2878
+
2701
2879
  .m_25154d8d:where([data-resizing]) * {
2702
2880
  cursor: ew-resize !important;
2703
2881
  }
@@ -2710,6 +2888,15 @@
2710
2888
  opacity: 0;
2711
2889
  }
2712
2890
 
2891
+ .m_969d1c27 {
2892
+ pointer-events: none;
2893
+ z-index: 3;
2894
+ border-radius: var(--resources-day-view-radius);
2895
+ border: 1px dashed var(--mantine-color-blue-filled);
2896
+ background-color: var(--mantine-color-blue-light);
2897
+ opacity: 0.6;
2898
+ }
2899
+
2713
2900
  .m_ed4c47cf {
2714
2901
  --resources-week-view-radius: var(--schedule-radius, var(--mantine-radius-default));
2715
2902
  --resources-week-view-resource-label-width: calc(7.5rem * var(--mantine-scale));
@@ -3044,6 +3231,26 @@
3044
3231
  color: var(--bg-event-color);
3045
3232
  }
3046
3233
 
3234
+ .m_3c19323d:where([data-interactive]) {
3235
+ pointer-events: auto;
3236
+ cursor: pointer;
3237
+ user-select: none;
3238
+ }
3239
+
3240
+ @media (hover: hover) {
3241
+
3242
+ .m_3c19323d:where([data-interactive]):hover {
3243
+ background-color: var(--bg-event-hover);
3244
+ }
3245
+ }
3246
+
3247
+ @media (hover: none) {
3248
+
3249
+ .m_3c19323d:where([data-interactive]):active {
3250
+ background-color: var(--bg-event-hover);
3251
+ }
3252
+ }
3253
+
3047
3254
  .m_682c45d0 {
3048
3255
  position: absolute;
3049
3256
  height: var(--resources-week-view-all-day-height);
@@ -3104,6 +3311,11 @@
3104
3311
  pointer-events: none;
3105
3312
  }
3106
3313
 
3314
+ .m_ed4c47cf:where([data-event-interaction], [data-slot-dragging])
3315
+ .m_3c19323d {
3316
+ pointer-events: none;
3317
+ }
3318
+
3107
3319
  .m_ed4c47cf:where([data-resizing]) * {
3108
3320
  cursor: ew-resize !important;
3109
3321
  }
@@ -3178,6 +3390,15 @@
3178
3390
  z-index: 3;
3179
3391
  }
3180
3392
 
3393
+ .m_27f284a5 {
3394
+ pointer-events: none;
3395
+ z-index: 3;
3396
+ border-radius: var(--resources-week-view-radius);
3397
+ border: 1px dashed var(--mantine-color-blue-filled);
3398
+ background-color: var(--mantine-color-blue-light);
3399
+ opacity: 0.6;
3400
+ }
3401
+
3181
3402
  .m_652b3acd {
3182
3403
  --resources-month-view-radius: var(--schedule-radius, var(--mantine-radius-default));
3183
3404
  --resources-month-view-resource-label-width: calc(7.5rem * var(--mantine-scale));
@@ -1 +0,0 @@
1
- {"version":3,"file":"get-overlap-clusters.cjs","names":["isEventsOverlap"],"sources":["../../../../src/components/ResourcesDayView/get-overlap-clusters/get-overlap-clusters.ts"],"sourcesContent":["import { DayPositionedEventData } from '../../../types';\nimport { isEventsOverlap } from '../../../utils';\n\nexport function getOverlapClusters(events: DayPositionedEventData[]): DayPositionedEventData[][] {\n const clusters: DayPositionedEventData[][] = [];\n const assigned = new Set<number>();\n\n for (let i = 0; i < events.length; i++) {\n if (assigned.has(i)) {\n continue;\n }\n\n const cluster: DayPositionedEventData[] = [events[i]];\n assigned.add(i);\n\n let j = 0;\n while (j < cluster.length) {\n for (let k = 0; k < events.length; k++) {\n if (!assigned.has(k) && isEventsOverlap(cluster[j], events[k])) {\n cluster.push(events[k]);\n assigned.add(k);\n }\n }\n j++;\n }\n\n clusters.push(cluster);\n }\n\n return clusters;\n}\n"],"mappings":";;;AAGA,SAAgB,mBAAmB,QAA8D;CAC/F,MAAM,WAAuC,CAAC;CAC9C,MAAM,2BAAW,IAAI,IAAY;CAEjC,KAAK,IAAI,IAAI,GAAG,IAAI,OAAO,QAAQ,KAAK;EACtC,IAAI,SAAS,IAAI,CAAC,GAChB;EAGF,MAAM,UAAoC,CAAC,OAAO,EAAE;EACpD,SAAS,IAAI,CAAC;EAEd,IAAI,IAAI;EACR,OAAO,IAAI,QAAQ,QAAQ;GACzB,KAAK,IAAI,IAAI,GAAG,IAAI,OAAO,QAAQ,KACjC,IAAI,CAAC,SAAS,IAAI,CAAC,KAAKA,0BAAAA,gBAAgB,QAAQ,IAAI,OAAO,EAAE,GAAG;IAC9D,QAAQ,KAAK,OAAO,EAAE;IACtB,SAAS,IAAI,CAAC;GAChB;GAEF;EACF;EAEA,SAAS,KAAK,OAAO;CACvB;CAEA,OAAO;AACT"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"get-overlap-clusters.mjs","names":[],"sources":["../../../../src/components/ResourcesDayView/get-overlap-clusters/get-overlap-clusters.ts"],"sourcesContent":["import { DayPositionedEventData } from '../../../types';\nimport { isEventsOverlap } from '../../../utils';\n\nexport function getOverlapClusters(events: DayPositionedEventData[]): DayPositionedEventData[][] {\n const clusters: DayPositionedEventData[][] = [];\n const assigned = new Set<number>();\n\n for (let i = 0; i < events.length; i++) {\n if (assigned.has(i)) {\n continue;\n }\n\n const cluster: DayPositionedEventData[] = [events[i]];\n assigned.add(i);\n\n let j = 0;\n while (j < cluster.length) {\n for (let k = 0; k < events.length; k++) {\n if (!assigned.has(k) && isEventsOverlap(cluster[j], events[k])) {\n cluster.push(events[k]);\n assigned.add(k);\n }\n }\n j++;\n }\n\n clusters.push(cluster);\n }\n\n return clusters;\n}\n"],"mappings":";;;AAGA,SAAgB,mBAAmB,QAA8D;CAC/F,MAAM,WAAuC,CAAC;CAC9C,MAAM,2BAAW,IAAI,IAAY;CAEjC,KAAK,IAAI,IAAI,GAAG,IAAI,OAAO,QAAQ,KAAK;EACtC,IAAI,SAAS,IAAI,CAAC,GAChB;EAGF,MAAM,UAAoC,CAAC,OAAO,EAAE;EACpD,SAAS,IAAI,CAAC;EAEd,IAAI,IAAI;EACR,OAAO,IAAI,QAAQ,QAAQ;GACzB,KAAK,IAAI,IAAI,GAAG,IAAI,OAAO,QAAQ,KACjC,IAAI,CAAC,SAAS,IAAI,CAAC,KAAK,gBAAgB,QAAQ,IAAI,OAAO,EAAE,GAAG;IAC9D,QAAQ,KAAK,OAAO,EAAE;IACtB,SAAS,IAAI,CAAC;GAChB;GAEF;EACF;EAEA,SAAS,KAAK,OAAO;CACvB;CAEA,OAAO;AACT"}