@mantine/schedule 9.3.2 → 9.4.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 (301) hide show
  1. package/cjs/components/AgendaView/AgendaView.cjs +133 -0
  2. package/cjs/components/AgendaView/AgendaView.cjs.map +1 -0
  3. package/cjs/components/AgendaView/AgendaView.module.cjs +19 -0
  4. package/cjs/components/AgendaView/AgendaView.module.cjs.map +1 -0
  5. package/cjs/components/AgendaView/get-agenda-view-events.cjs +48 -0
  6. package/cjs/components/AgendaView/get-agenda-view-events.cjs.map +1 -0
  7. package/cjs/components/CurrentTimeIndicator/CurrentTimeIndicator.cjs.map +1 -1
  8. package/cjs/components/DayView/DayView.cjs +127 -106
  9. package/cjs/components/DayView/DayView.cjs.map +1 -1
  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.map +1 -1
  12. package/cjs/components/DayView/get-day-view-events/get-day-view-events.cjs.map +1 -1
  13. package/cjs/components/DragContext/DragContext.cjs.map +1 -1
  14. package/cjs/components/MobileMonthView/MobileMonthView.cjs.map +1 -1
  15. package/cjs/components/MobileMonthView/get-mobile-month-view-events.cjs.map +1 -1
  16. package/cjs/components/MonthView/MonthView.cjs +114 -64
  17. package/cjs/components/MonthView/MonthView.cjs.map +1 -1
  18. package/cjs/components/MonthView/MonthView.module.cjs.map +1 -1
  19. package/cjs/components/MonthView/get-month-view-events/add-event-to-day-groups.cjs.map +1 -1
  20. package/cjs/components/MonthView/get-month-view-events/find-available-row.cjs.map +1 -1
  21. package/cjs/components/MonthView/get-month-view-events/get-month-positioned-events.cjs.map +1 -1
  22. package/cjs/components/MonthView/get-month-view-events/get-month-view-events.cjs.map +1 -1
  23. package/cjs/components/MonthView/get-month-view-events/get-weeks-in-range.cjs.map +1 -1
  24. package/cjs/components/MonthView/get-renderable-month-event-segments.cjs +17 -15
  25. package/cjs/components/MonthView/get-renderable-month-event-segments.cjs.map +1 -1
  26. package/cjs/components/MonthView/get-visible-columns.cjs +54 -0
  27. package/cjs/components/MonthView/get-visible-columns.cjs.map +1 -0
  28. package/cjs/components/MonthView/handle-month-view-key-down.cjs.map +1 -1
  29. package/cjs/components/MoreEvents/MoreEvents.cjs.map +1 -1
  30. package/cjs/components/ResourcesDayView/ResourcesDayView.cjs +578 -0
  31. package/cjs/components/ResourcesDayView/ResourcesDayView.cjs.map +1 -0
  32. package/cjs/components/ResourcesDayView/ResourcesDayView.module.cjs +29 -0
  33. package/cjs/components/ResourcesDayView/ResourcesDayView.module.cjs.map +1 -0
  34. package/cjs/components/ResourcesDayView/ResourcesDayViewColumn.cjs +89 -0
  35. package/cjs/components/ResourcesDayView/ResourcesDayViewColumn.cjs.map +1 -0
  36. package/cjs/components/ResourcesDayView/get-overlap-clusters/get-overlap-clusters.cjs +26 -0
  37. package/cjs/components/ResourcesDayView/get-overlap-clusters/get-overlap-clusters.cjs.map +1 -0
  38. package/cjs/components/ResourcesDayView/get-resources-day-view-events/get-resources-day-view-events.cjs +129 -0
  39. package/cjs/components/ResourcesDayView/get-resources-day-view-events/get-resources-day-view-events.cjs.map +1 -0
  40. package/cjs/components/ResourcesMonthView/ResourcesMonthView.cjs +602 -0
  41. package/cjs/components/ResourcesMonthView/ResourcesMonthView.cjs.map +1 -0
  42. package/cjs/components/ResourcesMonthView/ResourcesMonthView.module.cjs +23 -0
  43. package/cjs/components/ResourcesMonthView/ResourcesMonthView.module.cjs.map +1 -0
  44. package/cjs/components/ResourcesSchedule/ResourcesSchedule.cjs +105 -0
  45. package/cjs/components/ResourcesSchedule/ResourcesSchedule.cjs.map +1 -0
  46. package/cjs/components/ResourcesSchedule/ResourcesSchedule.module.cjs +7 -0
  47. package/cjs/components/ResourcesSchedule/ResourcesSchedule.module.cjs.map +1 -0
  48. package/cjs/components/ResourcesWeekView/ResourcesWeekView.cjs +676 -0
  49. package/cjs/components/ResourcesWeekView/ResourcesWeekView.cjs.map +1 -0
  50. package/cjs/components/ResourcesWeekView/ResourcesWeekView.module.cjs +33 -0
  51. package/cjs/components/ResourcesWeekView/ResourcesWeekView.module.cjs.map +1 -0
  52. package/cjs/components/ResourcesWeekView/ResourcesWeekViewRow.cjs +90 -0
  53. package/cjs/components/ResourcesWeekView/ResourcesWeekViewRow.cjs.map +1 -0
  54. package/cjs/components/ResourcesWeekView/get-resources-week-view-events/get-resources-week-view-events.cjs +97 -0
  55. package/cjs/components/ResourcesWeekView/get-resources-week-view-events/get-resources-week-view-events.cjs.map +1 -0
  56. package/cjs/components/Schedule/Schedule.cjs +3 -2
  57. package/cjs/components/Schedule/Schedule.cjs.map +1 -1
  58. package/cjs/components/ScheduleEvent/ScheduleEvent.cjs +1 -1
  59. package/cjs/components/ScheduleEvent/ScheduleEvent.cjs.map +1 -1
  60. package/cjs/components/ScheduleHeader/HeaderControl/HeaderControl.cjs.map +1 -1
  61. package/cjs/components/ScheduleHeader/MonthYearSelect/MonthYearSelect.cjs.map +1 -1
  62. package/cjs/components/ScheduleHeader/ScheduleHeader.cjs.map +1 -1
  63. package/cjs/components/ScheduleHeader/ScheduleHeader.module.cjs +2 -0
  64. package/cjs/components/ScheduleHeader/ScheduleHeader.module.cjs.map +1 -1
  65. package/cjs/components/ScheduleHeader/ScheduleHeaderBase.cjs +29 -11
  66. package/cjs/components/ScheduleHeader/ScheduleHeaderBase.cjs.map +1 -1
  67. package/cjs/components/ScheduleHeader/ScheduleHeaderContext.cjs.map +1 -1
  68. package/cjs/components/ScheduleHeader/ViewSelect/ViewSelect.cjs.map +1 -1
  69. package/cjs/components/WeekView/WeekView.cjs +128 -102
  70. package/cjs/components/WeekView/WeekView.cjs.map +1 -1
  71. package/cjs/components/WeekView/WeekView.module.cjs.map +1 -1
  72. package/cjs/components/WeekView/WeekViewDay.cjs +3 -1
  73. package/cjs/components/WeekView/WeekViewDay.cjs.map +1 -1
  74. package/cjs/components/WeekView/get-week-label/get-week-label.cjs.map +1 -1
  75. package/cjs/components/WeekView/get-week-view-events/calculate-all-day-event-offset.cjs.map +1 -1
  76. package/cjs/components/WeekView/get-week-view-events/calculate-all-day-event-width.cjs.map +1 -1
  77. package/cjs/components/WeekView/get-week-view-events/calculate-event-days.cjs.map +1 -1
  78. package/cjs/components/WeekView/get-week-view-events/find-available-column.cjs.map +1 -1
  79. package/cjs/components/WeekView/get-week-view-events/get-event-end-date.cjs.map +1 -1
  80. package/cjs/components/WeekView/get-week-view-events/get-hanging-status.cjs.map +1 -1
  81. package/cjs/components/WeekView/get-week-view-events/get-week-positioned-events.cjs.map +1 -1
  82. package/cjs/components/WeekView/handle-week-view-key-down.cjs.map +1 -1
  83. package/cjs/components/YearView/YearView.cjs.map +1 -1
  84. package/cjs/components/YearView/YearViewMonth.cjs.map +1 -1
  85. package/cjs/components/YearView/get-year-view-events/get-year-view-events.cjs.map +1 -1
  86. package/cjs/components/YearView/handle-year-view-key-down.cjs.map +1 -1
  87. package/cjs/hooks/use-auto-scroll-on-drag.cjs.map +1 -1
  88. package/cjs/hooks/use-drag-drop-handlers.cjs.map +1 -1
  89. package/cjs/hooks/use-drag-state.cjs.map +1 -1
  90. package/cjs/hooks/use-event-resize.cjs.map +1 -1
  91. package/cjs/hooks/use-horizontal-event-resize.cjs +161 -0
  92. package/cjs/hooks/use-horizontal-event-resize.cjs.map +1 -0
  93. package/cjs/hooks/use-slot-drag-select.cjs.map +1 -1
  94. package/cjs/index.cjs +20 -0
  95. package/cjs/labels.cjs +5 -1
  96. package/cjs/labels.cjs.map +1 -1
  97. package/cjs/utils/calculate-drop-time/calculate-drop-time.cjs.map +1 -1
  98. package/cjs/utils/calculate-month-drop-date/calculate-month-drop-date.cjs.map +1 -1
  99. package/cjs/utils/expand-recurring-events/expand-recurring-events.cjs.map +1 -1
  100. package/cjs/utils/format-date/format-date.cjs.map +1 -1
  101. package/cjs/utils/get-current-time-position/get-current-time-position.cjs.map +1 -1
  102. package/cjs/utils/get-day-position/get-day-position.cjs.map +1 -1
  103. package/cjs/utils/get-day-relative-percent/get-day-relative-percent.cjs +18 -0
  104. package/cjs/utils/get-day-relative-percent/get-day-relative-percent.cjs.map +1 -0
  105. package/cjs/utils/get-end-of-week/get-end-of-week.cjs.map +1 -1
  106. package/cjs/utils/get-group-to-resource-id-map/get-group-to-resource-id-map.cjs +12 -0
  107. package/cjs/utils/get-group-to-resource-id-map/get-group-to-resource-id-map.cjs.map +1 -0
  108. package/cjs/utils/get-index-from-drag-point/get-index-from-drag-point.cjs +27 -0
  109. package/cjs/utils/get-index-from-drag-point/get-index-from-drag-point.cjs.map +1 -0
  110. package/cjs/utils/get-month-days/get-month-days.cjs.map +1 -1
  111. package/cjs/utils/get-month-range/get-month-range.cjs.map +1 -1
  112. package/cjs/utils/get-months-by-quarter/get-months-by-quarter.cjs.map +1 -1
  113. package/cjs/utils/get-months-list/get-months-list.cjs.map +1 -1
  114. package/cjs/utils/get-ordered-resources/get-ordered-resources.cjs +54 -0
  115. package/cjs/utils/get-ordered-resources/get-ordered-resources.cjs.map +1 -0
  116. package/cjs/utils/get-start-of-week/get-start-of-week.cjs.map +1 -1
  117. package/cjs/utils/get-week-days/get-week-days.cjs.map +1 -1
  118. package/cjs/utils/get-week-number/get-week-number.cjs.map +1 -1
  119. package/cjs/utils/get-weekdays-names/get-weekdays-names.cjs.map +1 -1
  120. package/cjs/utils/handle-resources-grid-key-down/handle-resources-grid-key-down.cjs +88 -0
  121. package/cjs/utils/handle-resources-grid-key-down/handle-resources-grid-key-down.cjs.map +1 -0
  122. package/cjs/utils/is-after-min-date/is-after-min-date.cjs.map +1 -1
  123. package/cjs/utils/is-all-day-event/is-all-day-event.cjs.map +1 -1
  124. package/cjs/utils/is-before-max-date/is-before-max-date.cjs.map +1 -1
  125. package/cjs/utils/is-event-in-time-range/is-event-in-time-range.cjs.map +1 -1
  126. package/cjs/utils/is-events-overlap/is-events-overlap.cjs.map +1 -1
  127. package/cjs/utils/is-in-time-range/is-in-time-range.cjs.map +1 -1
  128. package/cjs/utils/is-multiday-event/is-multiday-event.cjs.map +1 -1
  129. package/cjs/utils/is-same-month/is-same-month.cjs.map +1 -1
  130. package/cjs/utils/is-within-week/is-within-week.cjs.map +1 -1
  131. package/cjs/utils/next-week/next-week.cjs.map +1 -1
  132. package/cjs/utils/parse-time-string/parse-time-string.cjs.map +1 -1
  133. package/cjs/utils/previous-week/previous-week.cjs.map +1 -1
  134. package/cjs/utils/sort-events/sort-events.cjs.map +1 -1
  135. package/cjs/utils/to-date-string/to-date-string.cjs.map +1 -1
  136. package/cjs/utils/to-time-string/to-time-string.cjs.map +1 -1
  137. package/cjs/utils/validate-event/validate-event.cjs.map +1 -1
  138. package/esm/components/AgendaView/AgendaView.mjs +130 -0
  139. package/esm/components/AgendaView/AgendaView.mjs.map +1 -0
  140. package/esm/components/AgendaView/AgendaView.module.mjs +19 -0
  141. package/esm/components/AgendaView/AgendaView.module.mjs.map +1 -0
  142. package/esm/components/AgendaView/get-agenda-view-events.mjs +46 -0
  143. package/esm/components/AgendaView/get-agenda-view-events.mjs.map +1 -0
  144. package/esm/components/CurrentTimeIndicator/CurrentTimeIndicator.mjs.map +1 -1
  145. package/esm/components/DayView/DayView.mjs +128 -107
  146. package/esm/components/DayView/DayView.mjs.map +1 -1
  147. package/esm/components/DayView/DayView.module.mjs.map +1 -1
  148. package/esm/components/DayView/get-day-view-events/get-day-positioned-events.mjs.map +1 -1
  149. package/esm/components/DayView/get-day-view-events/get-day-view-events.mjs.map +1 -1
  150. package/esm/components/MobileMonthView/MobileMonthView.mjs.map +1 -1
  151. package/esm/components/MobileMonthView/get-mobile-month-view-events.mjs.map +1 -1
  152. package/esm/components/MonthView/MonthView.mjs +115 -65
  153. package/esm/components/MonthView/MonthView.mjs.map +1 -1
  154. package/esm/components/MonthView/MonthView.module.mjs.map +1 -1
  155. package/esm/components/MonthView/get-month-view-events/add-event-to-day-groups.mjs.map +1 -1
  156. package/esm/components/MonthView/get-month-view-events/find-available-row.mjs.map +1 -1
  157. package/esm/components/MonthView/get-month-view-events/get-month-positioned-events.mjs.map +1 -1
  158. package/esm/components/MonthView/get-month-view-events/get-month-view-events.mjs.map +1 -1
  159. package/esm/components/MonthView/get-renderable-month-event-segments.mjs +17 -15
  160. package/esm/components/MonthView/get-renderable-month-event-segments.mjs.map +1 -1
  161. package/esm/components/MonthView/get-visible-columns.mjs +53 -0
  162. package/esm/components/MonthView/get-visible-columns.mjs.map +1 -0
  163. package/esm/components/MonthView/handle-month-view-key-down.mjs.map +1 -1
  164. package/esm/components/MoreEvents/MoreEvents.mjs.map +1 -1
  165. package/esm/components/ResourcesDayView/ResourcesDayView.mjs +576 -0
  166. package/esm/components/ResourcesDayView/ResourcesDayView.mjs.map +1 -0
  167. package/esm/components/ResourcesDayView/ResourcesDayView.module.mjs +29 -0
  168. package/esm/components/ResourcesDayView/ResourcesDayView.module.mjs.map +1 -0
  169. package/esm/components/ResourcesDayView/ResourcesDayViewColumn.mjs +89 -0
  170. package/esm/components/ResourcesDayView/ResourcesDayViewColumn.mjs.map +1 -0
  171. package/esm/components/ResourcesDayView/get-overlap-clusters/get-overlap-clusters.mjs +26 -0
  172. package/esm/components/ResourcesDayView/get-overlap-clusters/get-overlap-clusters.mjs.map +1 -0
  173. package/esm/components/ResourcesDayView/get-resources-day-view-events/get-resources-day-view-events.mjs +127 -0
  174. package/esm/components/ResourcesDayView/get-resources-day-view-events/get-resources-day-view-events.mjs.map +1 -0
  175. package/esm/components/ResourcesMonthView/ResourcesMonthView.mjs +600 -0
  176. package/esm/components/ResourcesMonthView/ResourcesMonthView.mjs.map +1 -0
  177. package/esm/components/ResourcesMonthView/ResourcesMonthView.module.mjs +23 -0
  178. package/esm/components/ResourcesMonthView/ResourcesMonthView.module.mjs.map +1 -0
  179. package/esm/components/ResourcesSchedule/ResourcesSchedule.mjs +105 -0
  180. package/esm/components/ResourcesSchedule/ResourcesSchedule.mjs.map +1 -0
  181. package/esm/components/ResourcesSchedule/ResourcesSchedule.module.mjs +7 -0
  182. package/esm/components/ResourcesSchedule/ResourcesSchedule.module.mjs.map +1 -0
  183. package/esm/components/ResourcesWeekView/ResourcesWeekView.mjs +674 -0
  184. package/esm/components/ResourcesWeekView/ResourcesWeekView.mjs.map +1 -0
  185. package/esm/components/ResourcesWeekView/ResourcesWeekView.module.mjs +33 -0
  186. package/esm/components/ResourcesWeekView/ResourcesWeekView.module.mjs.map +1 -0
  187. package/esm/components/ResourcesWeekView/ResourcesWeekViewRow.mjs +90 -0
  188. package/esm/components/ResourcesWeekView/ResourcesWeekViewRow.mjs.map +1 -0
  189. package/esm/components/ResourcesWeekView/get-resources-week-view-events/get-resources-week-view-events.mjs +95 -0
  190. package/esm/components/ResourcesWeekView/get-resources-week-view-events/get-resources-week-view-events.mjs.map +1 -0
  191. package/esm/components/Schedule/Schedule.mjs +3 -2
  192. package/esm/components/Schedule/Schedule.mjs.map +1 -1
  193. package/esm/components/ScheduleEvent/ScheduleEvent.mjs +1 -1
  194. package/esm/components/ScheduleEvent/ScheduleEvent.mjs.map +1 -1
  195. package/esm/components/ScheduleHeader/HeaderControl/HeaderControl.mjs.map +1 -1
  196. package/esm/components/ScheduleHeader/MonthYearSelect/MonthYearSelect.mjs.map +1 -1
  197. package/esm/components/ScheduleHeader/ScheduleHeader.module.mjs +2 -0
  198. package/esm/components/ScheduleHeader/ScheduleHeader.module.mjs.map +1 -1
  199. package/esm/components/ScheduleHeader/ScheduleHeaderBase.mjs +29 -11
  200. package/esm/components/ScheduleHeader/ScheduleHeaderBase.mjs.map +1 -1
  201. package/esm/components/ScheduleHeader/ViewSelect/ViewSelect.mjs.map +1 -1
  202. package/esm/components/WeekView/WeekView.mjs +128 -102
  203. package/esm/components/WeekView/WeekView.mjs.map +1 -1
  204. package/esm/components/WeekView/WeekView.module.mjs.map +1 -1
  205. package/esm/components/WeekView/WeekViewDay.mjs +3 -1
  206. package/esm/components/WeekView/WeekViewDay.mjs.map +1 -1
  207. package/esm/components/WeekView/get-week-label/get-week-label.mjs.map +1 -1
  208. package/esm/components/WeekView/get-week-view-events/calculate-all-day-event-offset.mjs.map +1 -1
  209. package/esm/components/WeekView/get-week-view-events/calculate-all-day-event-width.mjs.map +1 -1
  210. package/esm/components/WeekView/get-week-view-events/calculate-event-days.mjs.map +1 -1
  211. package/esm/components/WeekView/get-week-view-events/find-available-column.mjs.map +1 -1
  212. package/esm/components/WeekView/get-week-view-events/get-event-end-date.mjs.map +1 -1
  213. package/esm/components/WeekView/get-week-view-events/get-week-positioned-events.mjs.map +1 -1
  214. package/esm/components/WeekView/handle-week-view-key-down.mjs.map +1 -1
  215. package/esm/components/YearView/YearView.mjs.map +1 -1
  216. package/esm/components/YearView/YearViewMonth.mjs.map +1 -1
  217. package/esm/components/YearView/get-year-view-events/get-year-view-events.mjs.map +1 -1
  218. package/esm/components/YearView/handle-year-view-key-down.mjs.map +1 -1
  219. package/esm/hooks/use-drag-drop-handlers.mjs.map +1 -1
  220. package/esm/hooks/use-event-resize.mjs.map +1 -1
  221. package/esm/hooks/use-horizontal-event-resize.mjs +159 -0
  222. package/esm/hooks/use-horizontal-event-resize.mjs.map +1 -0
  223. package/esm/index.mjs +11 -1
  224. package/esm/labels.mjs +5 -1
  225. package/esm/labels.mjs.map +1 -1
  226. package/esm/utils/calculate-drop-time/calculate-drop-time.mjs.map +1 -1
  227. package/esm/utils/calculate-month-drop-date/calculate-month-drop-date.mjs.map +1 -1
  228. package/esm/utils/expand-recurring-events/expand-recurring-events.mjs.map +1 -1
  229. package/esm/utils/format-date/format-date.mjs.map +1 -1
  230. package/esm/utils/get-current-time-position/get-current-time-position.mjs.map +1 -1
  231. package/esm/utils/get-day-position/get-day-position.mjs.map +1 -1
  232. package/esm/utils/get-day-relative-percent/get-day-relative-percent.mjs +18 -0
  233. package/esm/utils/get-day-relative-percent/get-day-relative-percent.mjs.map +1 -0
  234. package/esm/utils/get-group-to-resource-id-map/get-group-to-resource-id-map.mjs +12 -0
  235. package/esm/utils/get-group-to-resource-id-map/get-group-to-resource-id-map.mjs.map +1 -0
  236. package/esm/utils/get-index-from-drag-point/get-index-from-drag-point.mjs +27 -0
  237. package/esm/utils/get-index-from-drag-point/get-index-from-drag-point.mjs.map +1 -0
  238. package/esm/utils/get-month-days/get-month-days.mjs.map +1 -1
  239. package/esm/utils/get-month-range/get-month-range.mjs.map +1 -1
  240. package/esm/utils/get-months-by-quarter/get-months-by-quarter.mjs.map +1 -1
  241. package/esm/utils/get-months-list/get-months-list.mjs.map +1 -1
  242. package/esm/utils/get-ordered-resources/get-ordered-resources.mjs +54 -0
  243. package/esm/utils/get-ordered-resources/get-ordered-resources.mjs.map +1 -0
  244. package/esm/utils/get-week-number/get-week-number.mjs.map +1 -1
  245. package/esm/utils/get-weekdays-names/get-weekdays-names.mjs.map +1 -1
  246. package/esm/utils/handle-resources-grid-key-down/handle-resources-grid-key-down.mjs +88 -0
  247. package/esm/utils/handle-resources-grid-key-down/handle-resources-grid-key-down.mjs.map +1 -0
  248. package/esm/utils/is-after-min-date/is-after-min-date.mjs.map +1 -1
  249. package/esm/utils/is-all-day-event/is-all-day-event.mjs.map +1 -1
  250. package/esm/utils/is-before-max-date/is-before-max-date.mjs.map +1 -1
  251. package/esm/utils/is-event-in-time-range/is-event-in-time-range.mjs.map +1 -1
  252. package/esm/utils/is-events-overlap/is-events-overlap.mjs.map +1 -1
  253. package/esm/utils/is-in-time-range/is-in-time-range.mjs.map +1 -1
  254. package/esm/utils/is-multiday-event/is-multiday-event.mjs.map +1 -1
  255. package/esm/utils/is-same-month/is-same-month.mjs.map +1 -1
  256. package/esm/utils/is-within-week/is-within-week.mjs.map +1 -1
  257. package/esm/utils/next-week/next-week.mjs.map +1 -1
  258. package/esm/utils/parse-time-string/parse-time-string.mjs.map +1 -1
  259. package/esm/utils/previous-week/previous-week.mjs.map +1 -1
  260. package/esm/utils/sort-events/sort-events.mjs.map +1 -1
  261. package/esm/utils/to-date-string/to-date-string.mjs.map +1 -1
  262. package/esm/utils/to-time-string/to-time-string.mjs.map +1 -1
  263. package/esm/utils/validate-event/validate-event.mjs.map +1 -1
  264. package/lib/components/AgendaView/AgendaView.d.ts +54 -0
  265. package/lib/components/AgendaView/get-agenda-view-events.d.ts +9 -0
  266. package/lib/components/AgendaView/index.d.ts +2 -0
  267. package/lib/components/DayView/DayView.d.ts +6 -1
  268. package/lib/components/MonthView/MonthView.d.ts +6 -1
  269. package/lib/components/MonthView/get-renderable-month-event-segments.d.ts +5 -1
  270. package/lib/components/MonthView/get-visible-columns.d.ts +19 -0
  271. package/lib/components/ResourcesDayView/ResourcesDayView.d.ts +148 -0
  272. package/lib/components/ResourcesDayView/ResourcesDayViewColumn.d.ts +39 -0
  273. package/lib/components/ResourcesDayView/get-overlap-clusters/get-overlap-clusters.d.ts +2 -0
  274. package/lib/components/ResourcesDayView/get-resources-day-view-events/get-resources-day-view-events.d.ts +16 -0
  275. package/lib/components/ResourcesDayView/index.d.ts +9 -0
  276. package/lib/components/ResourcesMonthView/ResourcesMonthView.d.ts +129 -0
  277. package/lib/components/ResourcesMonthView/index.d.ts +9 -0
  278. package/lib/components/ResourcesSchedule/ResourcesSchedule.d.ts +123 -0
  279. package/lib/components/ResourcesSchedule/index.d.ts +3 -0
  280. package/lib/components/ResourcesWeekView/ResourcesWeekView.d.ts +117 -0
  281. package/lib/components/ResourcesWeekView/ResourcesWeekViewRow.d.ts +39 -0
  282. package/lib/components/ResourcesWeekView/get-resources-week-view-events/get-resources-week-view-events.d.ts +29 -0
  283. package/lib/components/ResourcesWeekView/index.d.ts +3 -0
  284. package/lib/components/Schedule/Schedule.d.ts +3 -1
  285. package/lib/components/ScheduleHeader/ScheduleHeaderBase.d.ts +5 -1
  286. package/lib/components/WeekView/WeekView.d.ts +6 -1
  287. package/lib/components/WeekView/WeekViewDay.d.ts +3 -1
  288. package/lib/hooks/use-horizontal-event-resize.d.ts +39 -0
  289. package/lib/index.d.mts +5 -0
  290. package/lib/index.d.ts +5 -0
  291. package/lib/labels.d.ts +4 -0
  292. package/lib/types.d.ts +20 -0
  293. package/lib/utils/get-day-relative-percent/get-day-relative-percent.d.ts +15 -0
  294. package/lib/utils/get-group-to-resource-id-map/get-group-to-resource-id-map.d.ts +3 -0
  295. package/lib/utils/get-index-from-drag-point/get-index-from-drag-point.d.ts +6 -0
  296. package/lib/utils/get-ordered-resources/get-ordered-resources.d.ts +17 -0
  297. package/lib/utils/handle-resources-grid-key-down/handle-resources-grid-key-down.d.ts +10 -0
  298. package/lib/utils/index.d.ts +7 -0
  299. package/package.json +4 -4
  300. package/styles.css +1362 -9
  301. package/styles.layer.css +1363 -10
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ResourcesMonthView.cjs","names":["getOrderedResources","expandRecurringEvents","useDragDropHandlers","calculateMonthDropDate","getGroupToResourceIdMap","useSlotDragSelect","Box","formatDate","getIndexFromDragPoint","ScheduleEvent","MoreEvents","UnstyledButton","ScheduleHeaderBase","toDateString","ScrollArea","getLabel","DragContext","classes"],"sources":["../../../src/components/ResourcesMonthView/ResourcesMonthView.tsx"],"sourcesContent":["import dayjs from 'dayjs';\nimport { useCallback, useMemo, useRef } from 'react';\nimport {\n Box,\n BoxProps,\n createVarsResolver,\n DataAttributes,\n ElementProps,\n factory,\n Factory,\n getRadius,\n MantineRadius,\n rem,\n ScrollArea,\n ScrollAreaProps,\n StylesApiProps,\n UnstyledButton,\n useProps,\n useResolvedStylesApi,\n useStyles,\n} from '@mantine/core';\nimport { useDatesContext } from '@mantine/dates';\nimport { useIsomorphicEffect, useMergedRef } from '@mantine/hooks';\nimport { useDragDropHandlers } from '../../hooks/use-drag-drop-handlers';\nimport { useSlotDragSelect } from '../../hooks/use-slot-drag-select';\nimport { getLabel, ScheduleLabelsOverride } from '../../labels';\nimport {\n DateLabelFormat,\n DateStringValue,\n DateTimeStringValue,\n DayOfWeek,\n ScheduleEventData,\n ScheduleMode,\n ScheduleResourceData,\n ScheduleResourceGroup,\n ScheduleViewLevel,\n} from '../../types';\nimport {\n calculateMonthDropDate,\n expandRecurringEvents,\n formatDate,\n getGroupToResourceIdMap,\n getIndexFromDragPoint,\n getOrderedResources,\n toDateString,\n} from '../../utils';\nimport { DragContext } from '../DragContext/DragContext';\nimport { MoreEvents, MoreEventsProps, MoreEventsStylesNames } from '../MoreEvents/MoreEvents';\nimport { RenderEvent, RenderEventBody, ScheduleEvent } from '../ScheduleEvent/ScheduleEvent';\nimport { MonthYearSelectProps } from '../ScheduleHeader/MonthYearSelect/MonthYearSelect';\nimport { CombinedScheduleHeaderStylesNames } from '../ScheduleHeader/ScheduleHeader';\nimport { ScheduleHeaderBase } from '../ScheduleHeader/ScheduleHeaderBase';\nimport { ViewSelectProps } from '../ScheduleHeader/ViewSelect/ViewSelect';\nimport classes from './ResourcesMonthView.module.css';\n\nexport type ResourcesMonthViewStylesNames =\n | 'resourcesMonthView'\n | 'resourcesMonthViewRoot'\n | 'resourcesMonthViewScrollArea'\n | 'resourcesMonthViewDayLabelsRow'\n | 'resourcesMonthViewCorner'\n | 'resourcesMonthViewDayLabel'\n | 'resourcesMonthViewDayLabelWeekday'\n | 'resourcesMonthViewDayLabelNumber'\n | 'resourcesMonthViewRow'\n | 'resourcesMonthViewResourceLabel'\n | 'resourcesMonthViewRowSlots'\n | 'resourcesMonthViewCell'\n | 'resourcesMonthViewInner'\n | 'resourcesMonthViewGroupColumn'\n | 'resourcesMonthViewGroupColumnEmpty'\n | MoreEventsStylesNames\n | CombinedScheduleHeaderStylesNames;\n\nexport type ResourcesMonthViewCssVariables = {\n resourcesMonthView:\n | '--resources-month-view-radius'\n | '--resources-month-view-day-width'\n | '--resources-month-view-row-height'\n | '--resources-month-view-group-label-width';\n};\n\nexport interface ResourcesMonthViewProps\n extends BoxProps, StylesApiProps<ResourcesMonthViewFactory>, ElementProps<'div'> {\n __staticSelector?: string;\n\n /** Date to display, Date object or date string in `YYYY-MM-DD` format */\n date: Date | string;\n\n /** Called with the new date value when a date is selected */\n onDateChange?: (value: DateStringValue) => void;\n\n /** List of resources to display as rows */\n resources: ScheduleResourceData[];\n\n /** Locale passed down to dayjs */\n locale?: string;\n\n /** `dayjs` format for weekdays in day column headers @default 'dd' */\n weekdayFormat?: DateLabelFormat;\n\n /** Indices of weekend days */\n weekendDays?: DayOfWeek[];\n\n /** If set to false, weekend days are hidden @default true */\n withWeekendDays?: boolean;\n\n /** Date to scroll to on initial render, in `YYYY-MM-DD` format */\n startScrollDate?: string;\n\n /** Called when a cell is clicked, includes resourceId */\n onDayClick?: (data: {\n date: DateStringValue;\n nativeEvent: React.MouseEvent<HTMLButtonElement>;\n resourceId?: string | number;\n }) => void;\n\n /** If set, highlights the current day @default true */\n highlightToday?: boolean;\n\n /** Key of `theme.radius` or any valid CSS value to set `border-radius` @default theme.defaultRadius */\n radius?: MantineRadius;\n\n /** If set, the header is displayed @default true */\n withHeader?: boolean;\n\n /** Props passed down to `MonthYearSelect` component */\n monthYearSelectProps?: Partial<MonthYearSelectProps>;\n\n /** Called when view level select button is clicked */\n onViewChange?: (view: ScheduleViewLevel) => void;\n\n /** Props passed to previous control */\n previousControlProps?: React.ComponentProps<'button'> & DataAttributes;\n\n /** Props passed to next control */\n nextControlProps?: React.ComponentProps<'button'> & DataAttributes;\n\n /** Props passed to today control */\n todayControlProps?: React.ComponentProps<'button'> & DataAttributes;\n\n /** Props passed to view level select */\n viewSelectProps?: Partial<ViewSelectProps> & DataAttributes;\n\n /** Events to display */\n events?: ScheduleEventData[];\n\n /** Width of each day column @default 40px */\n dayWidth?: React.CSSProperties['width'];\n\n /** Height of each resource row @default 48px */\n rowHeight?: React.CSSProperties['height'];\n\n /** Function to customize event body */\n renderEventBody?: RenderEventBody;\n\n /** Function to fully customize event rendering */\n renderEvent?: RenderEvent;\n\n /** Function to customize resource label rendering */\n renderResourceLabel?: (resource: ScheduleResourceData) => React.ReactNode;\n\n /** List of resource groups to display as a column to the left of resource labels */\n groups?: ScheduleResourceGroup[];\n\n /** Function to customize group label rendering */\n renderGroupLabel?: (group: ScheduleResourceGroup) => React.ReactNode;\n\n /** Width of the group label column @default 80px */\n groupLabelWidth?: React.CSSProperties['width'];\n\n /** If true, events can be dragged and dropped @default false */\n withEventsDragAndDrop?: boolean;\n\n /** Called when event is dropped, includes target resourceId */\n onEventDrop?: (data: {\n eventId: string | number;\n newStart: DateTimeStringValue;\n newEnd: DateTimeStringValue;\n event: ScheduleEventData;\n resourceId?: string | number;\n }) => void;\n\n /** Function to determine if event can be dragged */\n canDragEvent?: (event: ScheduleEventData) => boolean;\n\n /** Called when any event drag starts */\n onEventDragStart?: (event: ScheduleEventData) => void;\n\n /** Called when any event drag ends */\n onEventDragEnd?: () => void;\n\n /** Called when event is clicked */\n onEventClick?: (event: ScheduleEventData, e: React.MouseEvent<HTMLButtonElement>) => void;\n\n /** If set, enables drag-to-select day ranges @default false */\n withDragSlotSelect?: boolean;\n\n /** Called when a day range is selected by dragging, includes resourceId */\n onSlotDragEnd?: (data: {\n rangeStart: DateTimeStringValue;\n rangeEnd: DateTimeStringValue;\n resourceId?: string | number;\n }) => void;\n\n /** Labels override for i18n */\n labels?: ScheduleLabelsOverride;\n\n /** Interaction mode @default default */\n mode?: ScheduleMode;\n\n /** Props passed down to `ScrollArea` component */\n scrollAreaProps?: Partial<ScrollAreaProps> & DataAttributes;\n\n /** Called when an external item is dropped */\n onExternalEventDrop?: (data: {\n dataTransfer: DataTransfer;\n dropDateTime: DateTimeStringValue;\n resourceId?: string | number;\n }) => void;\n\n /** Maximum number of events visible per cell before \"+more\" indicator @default 2 */\n maxEventsPerTimeSlot?: number;\n\n /** Props passed down to `MoreEvents` component */\n moreEventsProps?: Partial<MoreEventsProps>;\n\n /** Max number of generated recurring instances @default 2000 */\n recurrenceExpansionLimit?: number;\n}\n\nexport type ResourcesMonthViewFactory = Factory<{\n props: ResourcesMonthViewProps;\n ref: HTMLDivElement;\n stylesNames: ResourcesMonthViewStylesNames;\n vars: ResourcesMonthViewCssVariables;\n}>;\n\nconst varsResolver = createVarsResolver<ResourcesMonthViewFactory>(\n (_theme, { radius, dayWidth, rowHeight, groupLabelWidth }) => ({\n resourcesMonthView: {\n '--resources-month-view-radius': radius ? getRadius(radius) : undefined,\n '--resources-month-view-day-width': rem(dayWidth),\n '--resources-month-view-row-height': rem(rowHeight),\n '--resources-month-view-group-label-width': rem(groupLabelWidth),\n },\n })\n);\n\nconst defaultProps = {\n __staticSelector: 'ResourcesMonthView',\n highlightToday: true,\n withHeader: true,\n weekdayFormat: 'ddd',\n withWeekendDays: true,\n withEventsDragAndDrop: false,\n withDragSlotSelect: false,\n mode: 'default',\n} satisfies Partial<ResourcesMonthViewProps>;\n\nfunction compareCellEvents(a: ScheduleEventData, b: ScheduleEventData): number {\n const aStart = dayjs(a.start);\n const bStart = dayjs(b.start);\n const aSpan = dayjs(a.end).startOf('day').diff(aStart.startOf('day'), 'day');\n const bSpan = dayjs(b.end).startOf('day').diff(bStart.startOf('day'), 'day');\n\n if (aSpan !== bSpan) {\n return bSpan - aSpan;\n }\n\n return aStart.valueOf() - bStart.valueOf();\n}\n\nfunction getFirstAvailableRow(usedRows: Set<number>, maxRows: number): number | null {\n for (let row = 0; row < maxRows; row += 1) {\n if (!usedRows.has(row)) {\n return row;\n }\n }\n\n return null;\n}\n\ninterface ResourcesMonthViewCellLayout {\n visible: { event: ScheduleEventData; row: number }[];\n hiddenCount: number;\n}\n\ninterface ResourcesMonthViewSegment {\n event: ScheduleEventData;\n startDayIndex: number;\n endDayIndex: number;\n row: number;\n clipStart: boolean;\n clipEnd: boolean;\n hanging: 'start' | 'end' | 'both' | 'none';\n\n /** True when any day the segment covers shows a \"+N more\" indicator (those days compress rows) */\n hiddenInSpan: boolean;\n}\n\ninterface ResourcesMonthViewResourceLayout {\n byDay: Record<string, ResourcesMonthViewCellLayout>;\n segments: ResourcesMonthViewSegment[];\n}\n\nfunction isMultiDayEvent(event: ScheduleEventData): boolean {\n return dayjs(event.end).startOf('day').isAfter(dayjs(event.start).startOf('day'));\n}\n\nexport const ResourcesMonthView = factory<ResourcesMonthViewFactory>((_props) => {\n const props = useProps('ResourcesMonthView', defaultProps, _props);\n const {\n classNames,\n className,\n style,\n styles,\n unstyled,\n attributes,\n vars,\n mod,\n date,\n onDateChange,\n resources,\n locale,\n weekdayFormat,\n weekendDays,\n withWeekendDays,\n startScrollDate,\n __staticSelector,\n onDayClick,\n highlightToday,\n radius,\n withHeader,\n monthYearSelectProps,\n onViewChange,\n todayControlProps,\n nextControlProps,\n previousControlProps,\n viewSelectProps,\n events,\n dayWidth,\n rowHeight,\n renderResourceLabel,\n groups,\n renderGroupLabel,\n groupLabelWidth,\n renderEventBody,\n renderEvent,\n withEventsDragAndDrop,\n onEventDrop,\n canDragEvent,\n onEventDragStart,\n onEventDragEnd,\n onEventClick,\n withDragSlotSelect,\n onSlotDragEnd,\n labels,\n mode,\n scrollAreaProps,\n onExternalEventDrop,\n maxEventsPerTimeSlot: _maxEventsPerTimeSlot,\n moreEventsProps,\n recurrenceExpansionLimit,\n ...others\n } = props;\n\n const maxEventsPerTimeSlot = Math.min(10, Math.max(1, _maxEventsPerTimeSlot ?? 2));\n\n const getStyles = useStyles<ResourcesMonthViewFactory>({\n name: __staticSelector,\n classes,\n props,\n className,\n style,\n classNames,\n styles,\n unstyled,\n attributes,\n vars,\n varsResolver,\n rootSelector: 'resourcesMonthView',\n });\n\n const { resolvedClassNames, resolvedStyles } = useResolvedStylesApi<ResourcesMonthViewFactory>({\n classNames,\n styles,\n props,\n });\n\n const stylesApiProps = {\n classNames: resolvedClassNames,\n styles: resolvedStyles,\n attributes,\n __staticSelector,\n radius,\n };\n\n const ctx = useDatesContext();\n const resolvedWeekendDays = ctx.getWeekendDays(weekendDays);\n const { orderedResources, groupRanges, resourceGroupMap } = useMemo(\n () => getOrderedResources(resources, groups),\n [resources, groups]\n );\n const hasGroups = groupRanges.length > 0;\n\n const monthDays = useMemo(() => {\n const start = dayjs(date).startOf('month');\n const daysCount = start.endOf('month').date();\n const weekendDayList = ctx.getWeekendDays(weekendDays);\n const days: string[] = [];\n for (let d = 1; d <= daysCount; d++) {\n const day = start.date(d);\n if (!withWeekendDays && weekendDayList.includes(day.day() as DayOfWeek)) {\n continue;\n }\n days.push(day.format('YYYY-MM-DD'));\n }\n return days;\n }, [date, withWeekendDays, weekendDays, ctx]);\n\n const viewportRef = useRef<HTMLDivElement>(null);\n const mergedViewportRef = useMergedRef(viewportRef, scrollAreaProps?.viewportRef);\n const dayLabelRefs = useRef<(HTMLDivElement | null)[]>([]);\n\n const resourceLabelRef = useRef<HTMLDivElement>(null);\n\n const scrollToDay = useCallback(\n (targetDate: string) => {\n if (!viewportRef.current) {\n return;\n }\n const targetIndex = monthDays.indexOf(targetDate);\n if (targetIndex < 0) {\n return;\n }\n const targetLabel = dayLabelRefs.current[targetIndex];\n if (!targetLabel) {\n return;\n }\n const labelRect = targetLabel.getBoundingClientRect();\n const viewportRect = viewportRef.current.getBoundingClientRect();\n const labelWidth = resourceLabelRef.current?.getBoundingClientRect().width ?? 0;\n viewportRef.current.scrollTo({\n left: labelRect.left - viewportRect.left - labelWidth,\n top: 0,\n });\n },\n [monthDays]\n );\n\n useIsomorphicEffect(() => {\n if (startScrollDate) {\n scrollToDay(startScrollDate);\n }\n }, []);\n\n const expandedEvents = useMemo(\n () =>\n expandRecurringEvents({\n events,\n rangeStart: dayjs(date).startOf('month').toDate(),\n rangeEnd: dayjs(date).endOf('month').toDate(),\n expansionLimit: recurrenceExpansionLimit,\n }),\n [events, date, recurrenceExpansionLimit]\n );\n\n const { eventsByResourceAndDay, eventLayoutByResource } = useMemo(() => {\n const eventsByResourceAndDay: Record<string | number, Record<string, ScheduleEventData[]>> = {};\n for (const resource of resources) {\n eventsByResourceAndDay[resource.id] = {};\n for (const day of monthDays) {\n eventsByResourceAndDay[resource.id][day] = [];\n }\n }\n\n if (expandedEvents) {\n for (const event of expandedEvents) {\n if (event.resourceId === undefined || !(event.resourceId in eventsByResourceAndDay)) {\n continue;\n }\n\n const eventStart = dayjs(event.start);\n const eventEnd = dayjs(event.end);\n\n for (const day of monthDays) {\n const dayStart = dayjs(day).startOf('day');\n const dayEnd = dayjs(day).endOf('day');\n\n if (eventStart.isBefore(dayEnd) && eventEnd.isAfter(dayStart)) {\n eventsByResourceAndDay[event.resourceId][day].push(event);\n }\n }\n }\n }\n\n const eventLayoutByResource: Record<string | number, ResourcesMonthViewResourceLayout> = {};\n const monthRangeStart = dayjs(monthDays[0]).startOf('day');\n const monthEndExclusive = dayjs(monthDays[monthDays.length - 1])\n .add(1, 'day')\n .startOf('day');\n\n for (const resource of resources) {\n const byDay: Record<string, ResourcesMonthViewCellLayout> = {};\n const lastRow = new Map<string | number, number>();\n const rowByEventDay = new Map<string | number, Map<number, number>>();\n const overlapByEvent = new Map<\n string | number,\n { event: ScheduleEventData; days: number[] }\n >();\n\n monthDays.forEach((day, dayIndex) => {\n const dayEvents = eventsByResourceAndDay[resource.id][day];\n dayEvents.sort(compareCellEvents);\n\n for (const event of dayEvents) {\n const overlap = overlapByEvent.get(event.id);\n if (overlap) {\n overlap.days.push(dayIndex);\n } else {\n overlapByEvent.set(event.id, { event, days: [dayIndex] });\n }\n }\n\n const usedRows = new Set<number>();\n const visible: ResourcesMonthViewCellLayout['visible'] = [];\n let hiddenCount = 0;\n\n for (const event of dayEvents) {\n let row: number | null | undefined = lastRow.get(event.id);\n\n if (row === undefined || row >= maxEventsPerTimeSlot || usedRows.has(row)) {\n row = getFirstAvailableRow(usedRows, maxEventsPerTimeSlot);\n }\n\n if (row === null) {\n hiddenCount += 1;\n continue;\n }\n\n usedRows.add(row);\n visible.push({ event, row });\n if (!rowByEventDay.has(event.id)) {\n rowByEventDay.set(event.id, new Map());\n }\n rowByEventDay.get(event.id)!.set(dayIndex, row);\n lastRow.set(event.id, row);\n }\n\n byDay[day] = { visible, hiddenCount };\n });\n\n const segments: ResourcesMonthViewSegment[] = [];\n\n for (const { event, days } of overlapByEvent.values()) {\n if (!isMultiDayEvent(event)) {\n continue;\n }\n\n const firstOverlap = days[0];\n const lastOverlap = days[days.length - 1];\n const rows = rowByEventDay.get(event.id);\n const extendsBefore = dayjs(event.start).isBefore(monthRangeStart);\n const extendsAfter = dayjs(event.end).isAfter(monthEndExclusive);\n let run: { startDayIndex: number; endDayIndex: number; row: number } | null = null;\n\n const flushRun = () => {\n if (!run) {\n return;\n }\n const clipStart = run.startDayIndex > firstOverlap;\n const clipEnd = run.endDayIndex < lastOverlap;\n const hangStart = !clipStart && extendsBefore;\n const hangEnd = !clipEnd && extendsAfter;\n let hiddenInSpan = false;\n for (let dayIndex = run.startDayIndex; dayIndex <= run.endDayIndex; dayIndex += 1) {\n if ((byDay[monthDays[dayIndex]]?.hiddenCount ?? 0) > 0) {\n hiddenInSpan = true;\n break;\n }\n }\n segments.push({\n event,\n startDayIndex: run.startDayIndex,\n endDayIndex: run.endDayIndex,\n row: run.row,\n clipStart,\n clipEnd,\n hanging: hangStart && hangEnd ? 'both' : hangStart ? 'start' : hangEnd ? 'end' : 'none',\n hiddenInSpan,\n });\n run = null;\n };\n\n for (let dayIndex = firstOverlap; dayIndex <= lastOverlap; dayIndex += 1) {\n const row = rows?.get(dayIndex);\n\n if (row === undefined) {\n flushRun();\n continue;\n }\n\n if (run && run.row === row && run.endDayIndex === dayIndex - 1) {\n run.endDayIndex = dayIndex;\n } else {\n flushRun();\n run = { startDayIndex: dayIndex, endDayIndex: dayIndex, row };\n }\n }\n\n flushRun();\n }\n\n eventLayoutByResource[resource.id] = { byDay, segments };\n }\n\n return { eventsByResourceAndDay, eventLayoutByResource };\n }, [resources, monthDays, expandedEvents, maxEventsPerTimeSlot]);\n\n type DropTargetCell = { day: string; resourceId: string | number };\n\n const handleExternalDrop = useCallback(\n (e: React.DragEvent, target: DropTargetCell) => {\n if (!onExternalEventDrop) {\n return;\n }\n onExternalEventDrop({\n dataTransfer: e.dataTransfer,\n dropDateTime: `${dayjs(target.day).format('YYYY-MM-DD')} 00:00:00`,\n resourceId: target.resourceId,\n });\n },\n [onExternalEventDrop]\n );\n\n const dragDrop = useDragDropHandlers<DropTargetCell>({\n enabled: withEventsDragAndDrop,\n mode,\n onEventDrop: (data) => {\n onEventDrop?.({ ...data, resourceId: lastDropResourceId.current });\n },\n canDragEvent,\n onEventDragStart,\n onEventDragEnd,\n calculateDropTarget: (target: DropTargetCell, draggedEvent: ScheduleEventData) => {\n lastDropResourceId.current = target.resourceId;\n return calculateMonthDropDate({ draggedEvent, targetDay: target.day });\n },\n onExternalDrop: onExternalEventDrop ? handleExternalDrop : undefined,\n });\n\n const lastDropResourceId = useRef<string | number | undefined>(undefined);\n\n const withDragHandlers = (withEventsDragAndDrop || !!onExternalEventDrop) && mode !== 'static';\n\n const groupToResourceId = useMemo(() => getGroupToResourceIdMap(resources), [resources]);\n\n const slotDragSelect = useSlotDragSelect({\n enabled: withDragSlotSelect && mode !== 'static',\n onDragEnd: (startIndex, endIndex, group) => {\n if (!onSlotDragEnd) {\n return;\n }\n const startDay = monthDays[startIndex];\n const endDay = monthDays[endIndex];\n if (startDay && endDay) {\n onSlotDragEnd({\n rangeStart: dayjs(startDay).startOf('day').format('YYYY-MM-DD HH:mm:ss'),\n rangeEnd: dayjs(endDay).endOf('day').format('YYYY-MM-DD HH:mm:ss'),\n resourceId: groupToResourceId.get(group) ?? group,\n });\n }\n },\n });\n\n const dayLabels = monthDays.map((day, dayIndex) => {\n const d = dayjs(day);\n const weekend = resolvedWeekendDays.includes(d.day() as DayOfWeek);\n const today = d.isSame(dayjs(), 'day') && highlightToday;\n\n return (\n <Box\n {...getStyles('resourcesMonthViewDayLabel')}\n key={day}\n mod={{ weekend, today }}\n ref={(node) => {\n dayLabelRefs.current[dayIndex] = node;\n }}\n >\n <span {...getStyles('resourcesMonthViewDayLabelWeekday')}>\n {formatDate({ date: d, locale: ctx.getLocale(locale), format: weekdayFormat })}\n </span>\n <span {...getStyles('resourcesMonthViewDayLabelNumber')}>{d.date()}</span>\n </Box>\n );\n });\n\n const cellsRef = useRef<HTMLButtonElement[][]>([]);\n\n const getDayIndexFromDragPoint = useCallback((event: React.DragEvent, resourceIndex: number) => {\n return getIndexFromDragPoint(cellsRef.current[resourceIndex] ?? [], event.clientX);\n }, []);\n\n const handleCellKeyDown = (\n event: React.KeyboardEvent<HTMLButtonElement>,\n resourceIndex: number,\n dayIndex: number\n ) => {\n const key = event.key;\n let nextResourceIndex = resourceIndex;\n let nextDayIndex = dayIndex;\n\n if (key === 'ArrowRight') {\n nextDayIndex = Math.min(dayIndex + 1, monthDays.length - 1);\n } else if (key === 'ArrowLeft') {\n nextDayIndex = Math.max(dayIndex - 1, 0);\n } else if (key === 'ArrowDown') {\n nextResourceIndex = Math.min(resourceIndex + 1, resources.length - 1);\n } else if (key === 'ArrowUp') {\n nextResourceIndex = Math.max(resourceIndex - 1, 0);\n } else {\n return;\n }\n\n event.preventDefault();\n cellsRef.current[nextResourceIndex]?.[nextDayIndex]?.focus();\n };\n\n const rowHeightPercent = 100 / maxEventsPerTimeSlot;\n\n const rows = orderedResources.map((resource, resourceIndex) => {\n if (!cellsRef.current[resourceIndex]) {\n cellsRef.current[resourceIndex] = [];\n }\n\n const slotGroup = String(resource.id);\n const dropTarget = dragDrop.dropTarget;\n\n const totalDays = monthDays.length;\n const eventNodes: React.ReactNode[] = [];\n const moreNodes: React.ReactNode[] = [];\n\n const cells = monthDays.map((day, dayIndex) => {\n const d = dayjs(day);\n const weekend = ctx.getWeekendDays(weekendDays).includes(d.day() as DayOfWeek);\n const isDropTarget =\n dropTarget !== null &&\n typeof dropTarget === 'object' &&\n 'day' in dropTarget &&\n (dropTarget as DropTargetCell).day === day &&\n (dropTarget as DropTargetCell).resourceId === resource.id;\n const isDragSelected = slotDragSelect.isSlotSelected(dayIndex, slotGroup);\n const dayEvents = eventsByResourceAndDay[resource.id]?.[day] || [];\n const layout = eventLayoutByResource[resource.id]?.byDay[day];\n const visibleEvents = layout?.visible ?? [];\n const hiddenEventsCount = layout?.hiddenCount ?? 0;\n const isFirstCell = resourceIndex === 0 && dayIndex === 0;\n const dayLeftPercent = (dayIndex / totalDays) * 100;\n const dayWidthPercent = 100 / totalDays;\n\n const hasHiddenEvents = hiddenEventsCount > 0 && mode !== 'static';\n\n visibleEvents.forEach(({ event, row }) => {\n if (isMultiDayEvent(event)) {\n return;\n }\n\n const isDraggable = dragDrop.isDraggableEvent(event);\n const topValue = hasHiddenEvents\n ? `calc((100% - 18px) * ${row} / ${maxEventsPerTimeSlot} + 1px)`\n : `calc(${row * rowHeightPercent}% + 1px)`;\n const heightValue = hasHiddenEvents\n ? `calc((100% - 18px) / ${maxEventsPerTimeSlot} - 2px)`\n : `calc(${rowHeightPercent}% - 2px)`;\n\n eventNodes.push(\n <ScheduleEvent\n key={`${event.id}-${day}`}\n event={event}\n nowrap\n autoSize\n size=\"sm\"\n draggable={isDraggable}\n renderEventBody={renderEventBody}\n renderEvent={renderEvent}\n radius={radius}\n mode={mode}\n onClick={onEventClick ? (e) => onEventClick(event, e) : undefined}\n style={{\n position: 'absolute',\n top: topValue,\n left: `calc(${dayLeftPercent}% + 1px)`,\n width: `calc(${dayWidthPercent}% - 2px)`,\n height: heightValue,\n zIndex: 3,\n }}\n />\n );\n });\n\n if (hiddenEventsCount > 0 && mode !== 'static') {\n moreNodes.push(\n <MoreEvents\n key={`more-${resource.id}-${day}`}\n events={dayEvents}\n moreEventsCount={hiddenEventsCount}\n mode={mode}\n labels={labels}\n renderEventBody={renderEventBody}\n renderEvent={renderEvent}\n onEventClick={onEventClick}\n style={{\n position: 'absolute',\n bottom: 1,\n left: `calc(${dayLeftPercent}% + 1px)`,\n width: `calc(${dayWidthPercent}% - 2px)`,\n height: 18,\n zIndex: 4,\n }}\n {...stylesApiProps}\n {...moreEventsProps}\n />\n );\n }\n\n return (\n <UnstyledButton\n key={day}\n ref={(node) => {\n if (node) {\n if (!cellsRef.current[resourceIndex]) {\n cellsRef.current[resourceIndex] = [];\n }\n cellsRef.current[resourceIndex][dayIndex] = node;\n }\n }}\n {...getStyles('resourcesMonthViewCell')}\n aria-label={`${resource.label} ${d.format('MMMM D, YYYY')}`}\n data-drag-slot-index={withDragSlotSelect && mode !== 'static' ? dayIndex : undefined}\n data-drag-slot-group={withDragSlotSelect && mode !== 'static' ? slotGroup : undefined}\n mod={{\n weekend,\n 'drop-target': isDropTarget,\n 'drag-selected': isDragSelected,\n static: mode === 'static',\n }}\n tabIndex={mode === 'static' ? -1 : isFirstCell ? 0 : -1}\n onClick={\n mode === 'static'\n ? undefined\n : (e) => onDayClick?.({ date: day, nativeEvent: e, resourceId: resource.id })\n }\n onKeyDown={\n mode === 'static' ? undefined : (e) => handleCellKeyDown(e, resourceIndex, dayIndex)\n }\n onPointerDown={\n withDragSlotSelect && mode !== 'static'\n ? (e) =>\n slotDragSelect.handleSlotPointerDown(\n e as React.PointerEvent<HTMLButtonElement>,\n dayIndex,\n slotGroup\n )\n : undefined\n }\n onDragOver={withDragHandlers ? (e) => e.preventDefault() : undefined}\n />\n );\n });\n\n const resourceSegments = eventLayoutByResource[resource.id]?.segments ?? [];\n\n resourceSegments.forEach((segment) => {\n const isDraggable = dragDrop.isDraggableEvent(segment.event);\n const segmentLeftPercent = (segment.startDayIndex / totalDays) * 100;\n const segmentWidthPercent =\n ((segment.endDayIndex - segment.startDayIndex + 1) / totalDays) * 100;\n const compressed = segment.hiddenInSpan && mode !== 'static';\n const topValue = compressed\n ? `calc((100% - 18px) * ${segment.row} / ${maxEventsPerTimeSlot} + 1px)`\n : `calc(${segment.row * rowHeightPercent}% + 1px)`;\n const heightValue = compressed\n ? `calc((100% - 18px) / ${maxEventsPerTimeSlot} - 2px)`\n : `calc(${rowHeightPercent}% - 2px)`;\n\n eventNodes.push(\n <ScheduleEvent\n key={`${segment.event.id}-segment-${segment.startDayIndex}`}\n event={segment.event}\n nowrap\n autoSize\n size=\"sm\"\n hanging={segment.hanging}\n draggable={isDraggable}\n renderEventBody={renderEventBody}\n renderEvent={renderEvent}\n radius={radius}\n mode={mode}\n mod={{ 'clip-start': segment.clipStart, 'clip-end': segment.clipEnd }}\n onClick={onEventClick ? (e) => onEventClick(segment.event, e) : undefined}\n style={{\n position: 'absolute',\n top: topValue,\n left: `calc(${segmentLeftPercent}% + 1px)`,\n width: `calc(${segmentWidthPercent}% - 2px)`,\n height: heightValue,\n zIndex: 3,\n }}\n />\n );\n });\n\n const groupInfo = hasGroups ? resourceGroupMap[resourceIndex] : undefined;\n const isGroupStart = groupInfo?.position === 'first' || groupInfo?.position === 'only';\n\n const groupCell =\n groupInfo !== undefined ? (\n groupInfo !== null ? (\n <Box\n {...getStyles('resourcesMonthViewGroupColumn')}\n mod={{ 'group-position': groupInfo.position }}\n >\n {isGroupStart && (\n <span\n style={\n groupInfo.count > 1\n ? {\n transform: `translateY(calc((${groupInfo.count - 1} * (var(--resources-month-view-row-height) + 1px)) / 2))`,\n }\n : undefined\n }\n >\n {renderGroupLabel ? renderGroupLabel(groupInfo.group) : groupInfo.group.label}\n </span>\n )}\n </Box>\n ) : (\n <Box {...getStyles('resourcesMonthViewGroupColumnEmpty')} />\n )\n ) : null;\n\n return (\n <div {...getStyles('resourcesMonthViewRow')} key={resource.id}>\n {groupCell}\n <div\n {...getStyles('resourcesMonthViewResourceLabel')}\n data-has-groups={hasGroups || undefined}\n >\n {renderResourceLabel ? renderResourceLabel(resource) : resource.label}\n </div>\n <div\n {...getStyles('resourcesMonthViewRowSlots')}\n onDragOver={\n withDragHandlers\n ? (e) => {\n const dayIndex = getDayIndexFromDragPoint(e, resourceIndex);\n if (dayIndex !== null && monthDays[dayIndex]) {\n dragDrop.handleDragOver(e, {\n day: monthDays[dayIndex],\n resourceId: resource.id,\n });\n }\n }\n : undefined\n }\n onDragLeave={withDragHandlers ? dragDrop.handleDragLeave : undefined}\n onDrop={\n withDragHandlers\n ? (e) => {\n const dayIndex = getDayIndexFromDragPoint(e, resourceIndex);\n if (dayIndex !== null && monthDays[dayIndex]) {\n dragDrop.handleDrop(e, {\n day: monthDays[dayIndex],\n resourceId: resource.id,\n });\n }\n }\n : undefined\n }\n >\n {eventNodes}\n {moreNodes}\n {cells}\n </div>\n </div>\n );\n });\n\n const content = (\n <Box\n mod={[\n {\n static: mode === 'static',\n 'slot-dragging': slotDragSelect.isDragging,\n 'event-interaction': dragDrop.dragContextValue.isDragging,\n },\n mod,\n ]}\n {...getStyles('resourcesMonthView')}\n {...others}\n >\n {withHeader && (\n <ScheduleHeaderBase\n view=\"month\"\n navigationHandlers={{\n previous: () => toDateString(dayjs(date).subtract(1, 'month').startOf('month')),\n next: () => toDateString(dayjs(date).add(1, 'month').startOf('month')),\n today: () => {\n requestAnimationFrame(() => {\n scrollToDay(dayjs().format('YYYY-MM-DD'));\n });\n return toDateString(dayjs());\n },\n }}\n control={{\n monthYearSelect: {\n locale,\n yearValue: dayjs(date).get('year'),\n monthValue: dayjs(date).get('month'),\n onYearChange: (year) =>\n onDateChange?.(toDateString(dayjs(date).set('year', year).startOf('month'))),\n onMonthChange: (month) =>\n onDateChange?.(toDateString(dayjs(date).set('month', month).startOf('month'))),\n ...monthYearSelectProps,\n },\n }}\n labels={labels}\n onDateChange={onDateChange}\n onViewChange={onViewChange}\n previousControlProps={previousControlProps}\n nextControlProps={nextControlProps}\n todayControlProps={todayControlProps}\n viewSelectProps={{ views: ['day', 'week', 'month'] as const, ...viewSelectProps }}\n stylesApiProps={stylesApiProps}\n />\n )}\n\n <Box {...getStyles('resourcesMonthViewRoot')}>\n <ScrollArea\n scrollbars=\"x\"\n scrollbarSize={4}\n {...scrollAreaProps}\n {...getStyles('resourcesMonthViewScrollArea', {\n className: scrollAreaProps?.className,\n style: scrollAreaProps?.style,\n })}\n viewportRef={mergedViewportRef}\n >\n <div {...getStyles('resourcesMonthViewInner')}>\n <div {...getStyles('resourcesMonthViewDayLabelsRow')}>\n <div\n {...getStyles('resourcesMonthViewCorner')}\n key=\"corner\"\n ref={resourceLabelRef}\n style={\n hasGroups\n ? {\n flexBasis:\n 'calc(var(--resources-month-view-resource-label-width) + var(--resources-month-view-group-label-width))',\n minWidth:\n 'calc(var(--resources-month-view-resource-label-width) + var(--resources-month-view-group-label-width))',\n }\n : undefined\n }\n >\n {getLabel('resources', labels)}\n </div>\n {dayLabels}\n </div>\n\n {rows}\n </div>\n </ScrollArea>\n </Box>\n </Box>\n );\n\n if (withEventsDragAndDrop) {\n return <DragContext.Provider value={dragDrop.dragContextValue}>{content}</DragContext.Provider>;\n }\n\n return content;\n});\n\nResourcesMonthView.displayName = '@mantine/schedule/ResourcesMonthView';\nResourcesMonthView.classes = classes;\nResourcesMonthView.varsResolver = varsResolver;\n"],"mappings":"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"}
@@ -0,0 +1,23 @@
1
+ "use client";
2
+ //#region packages/@mantine/schedule/src/components/ResourcesMonthView/ResourcesMonthView.module.css
3
+ var ResourcesMonthView_module_default = {
4
+ "resourcesMonthView": "m_652b3acd",
5
+ "resourcesMonthViewRoot": "m_146e014f",
6
+ "resourcesMonthViewScrollArea": "m_b1cab7a7",
7
+ "resourcesMonthViewInner": "m_78d2db89",
8
+ "resourcesMonthViewDayLabelsRow": "m_eae51c8c",
9
+ "resourcesMonthViewCorner": "m_975b8b82",
10
+ "resourcesMonthViewDayLabel": "m_bc016ea5",
11
+ "resourcesMonthViewDayLabelWeekday": "m_52a1c4c3",
12
+ "resourcesMonthViewDayLabelNumber": "m_88d8e64e",
13
+ "resourcesMonthViewRow": "m_21b0f7cd",
14
+ "resourcesMonthViewResourceLabel": "m_1febcdb9",
15
+ "resourcesMonthViewGroupColumn": "m_1fc335a8",
16
+ "resourcesMonthViewGroupColumnEmpty": "m_d5a3a885",
17
+ "resourcesMonthViewRowSlots": "m_4be74668",
18
+ "resourcesMonthViewCell": "m_146709cf"
19
+ };
20
+ //#endregion
21
+ exports.default = ResourcesMonthView_module_default;
22
+
23
+ //# sourceMappingURL=ResourcesMonthView.module.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ResourcesMonthView.module.cjs","names":[],"sources":["../../../src/components/ResourcesMonthView/ResourcesMonthView.module.css"],"sourcesContent":[".resourcesMonthView {\n --resources-month-view-radius: var(--schedule-radius, var(--mantine-radius-default));\n --resources-month-view-resource-label-width: 120px;\n --resources-month-view-day-width: 80px;\n --resources-month-view-row-height: 64px;\n --resources-month-view-group-label-width: 80px;\n\n @mixin where-light {\n --resources-month-view-border-color: var(--mantine-color-gray-3);\n }\n\n @mixin where-dark {\n --resources-month-view-border-color: var(--mantine-color-dark-4);\n }\n}\n\n.resourcesMonthViewRoot {\n border: 1px solid var(--resources-month-view-border-color);\n border-radius: var(--resources-month-view-radius);\n overflow: hidden;\n max-width: fit-content;\n}\n\n.resourcesMonthViewScrollArea {\n :where([data-mantine-scrollbar]) {\n z-index: 20;\n }\n\n :where([data-scrollarea-viewport]) {\n overscroll-behavior-x: none;\n }\n}\n\n.resourcesMonthViewInner {\n display: inline-flex;\n flex-direction: column;\n}\n\n.resourcesMonthViewDayLabelsRow {\n display: flex;\n position: sticky;\n top: 0;\n z-index: 5;\n background-color: var(--mantine-color-body);\n border-bottom: 1px solid var(--resources-month-view-border-color);\n margin-bottom: -1px;\n}\n\n.resourcesMonthViewCorner {\n flex: 0 0 var(--resources-month-view-resource-label-width);\n min-width: var(--resources-month-view-resource-label-width);\n border-inline-end: 1px solid var(--resources-month-view-border-color);\n position: sticky;\n left: 0;\n z-index: 6;\n display: flex;\n align-items: center;\n justify-content: center;\n font-size: var(--mantine-font-size-sm);\n font-weight: var(--mantine-font-weight-medium);\n user-select: none;\n background-color: var(--mantine-color-body);\n}\n\n.resourcesMonthViewDayLabel {\n flex: 0 0 var(--resources-month-view-day-width);\n min-width: var(--resources-month-view-day-width);\n max-width: var(--resources-month-view-day-width);\n height: 42px;\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n font-size: var(--mantine-font-size-xs);\n user-select: none;\n cursor: default;\n border-inline-end: 1px solid var(--resources-month-view-border-color);\n\n &:where(:last-of-type) {\n border-inline-end: none;\n }\n\n &:where([data-weekend]) {\n color: var(--mantine-color-red-6);\n }\n\n &:where([data-today]) {\n background-color: var(--mantine-primary-color-filled);\n color: var(--mantine-primary-color-contrast);\n }\n}\n\n.resourcesMonthViewDayLabelWeekday {\n font-size: 12px;\n font-weight: var(--mantine-font-weight-medium);\n text-transform: capitalize;\n line-height: 1;\n margin-bottom: 3px;\n}\n\n.resourcesMonthViewDayLabelNumber {\n font-weight: var(--mantine-font-weight-medium);\n font-size: 12px;\n line-height: 1;\n}\n\n.resourcesMonthViewRow {\n display: flex;\n border-top: 1px solid var(--resources-month-view-border-color);\n}\n\n.resourcesMonthViewResourceLabel {\n flex: 0 0 var(--resources-month-view-resource-label-width);\n min-width: var(--resources-month-view-resource-label-width);\n display: flex;\n align-items: center;\n padding: 4px 8px;\n font-size: var(--mantine-font-size-sm);\n font-weight: var(--mantine-font-weight-medium);\n user-select: none;\n border-inline-end: 1px solid var(--resources-month-view-border-color);\n min-height: var(--resources-month-view-row-height);\n position: sticky;\n left: 0;\n z-index: 4;\n background-color: var(--mantine-color-body);\n\n &:where([data-has-groups]) {\n left: var(--resources-month-view-group-label-width);\n }\n}\n\n.resourcesMonthViewGroupColumn {\n flex: 0 0 var(--resources-month-view-group-label-width);\n min-width: var(--resources-month-view-group-label-width);\n min-height: var(--resources-month-view-row-height);\n position: sticky;\n left: 0;\n z-index: 5;\n background-color: var(--mantine-color-body);\n display: flex;\n align-items: center;\n justify-content: center;\n text-align: center;\n overflow-wrap: break-word;\n font-size: var(--mantine-font-size-sm);\n font-weight: var(--mantine-font-weight-medium);\n user-select: none;\n border-inline-end: 1px solid var(--resources-month-view-border-color);\n overflow: visible;\n\n &:where([data-group-position='first']),\n &:where([data-group-position='only']) {\n z-index: 6;\n }\n\n &:where([data-group-position='middle']),\n &:where([data-group-position='last']) {\n margin-top: -1px;\n min-height: calc(var(--resources-month-view-row-height) + 1px);\n }\n}\n\n.resourcesMonthViewGroupColumnEmpty {\n flex: 0 0 var(--resources-month-view-group-label-width);\n min-width: var(--resources-month-view-group-label-width);\n min-height: var(--resources-month-view-row-height);\n position: sticky;\n left: 0;\n z-index: 5;\n background-color: var(--mantine-color-body);\n border-inline-end: 1px solid var(--resources-month-view-border-color);\n}\n\n.resourcesMonthViewRowSlots {\n display: flex;\n position: relative;\n min-height: var(--resources-month-view-row-height);\n}\n\n.resourcesMonthViewCell {\n flex: 0 0 var(--resources-month-view-day-width);\n min-width: var(--resources-month-view-day-width);\n max-width: var(--resources-month-view-day-width);\n min-height: var(--resources-month-view-row-height);\n border-inline-end: 1px solid var(--resources-month-view-border-color);\n cursor: pointer;\n position: relative;\n overflow: hidden;\n\n &:where(:last-of-type) {\n border-inline-end: none;\n }\n\n &:where(:focus) {\n z-index: 1;\n }\n\n @mixin hover {\n &:where(:not([data-static])) {\n @mixin where-light {\n background-color: var(--mantine-color-gray-0);\n }\n\n @mixin where-dark {\n background-color: var(--mantine-color-dark-6);\n }\n }\n }\n\n &:where([data-weekend]) {\n @mixin where-light {\n background-color: var(--mantine-color-gray-0);\n }\n\n @mixin where-dark {\n background-color: var(--mantine-color-dark-8);\n }\n }\n\n &:where([data-drop-target]) {\n @mixin where-light {\n background-color: var(--mantine-color-blue-1);\n }\n\n @mixin where-dark {\n background-color: var(--mantine-color-dark-5);\n }\n\n &::before {\n content: '';\n position: absolute;\n inset: 0;\n pointer-events: none;\n z-index: 2;\n border: 1px solid;\n border-radius: 2px;\n\n @mixin where-light {\n border-color: var(--mantine-color-blue-4);\n }\n\n @mixin where-dark {\n border-color: var(--mantine-color-blue-6);\n }\n }\n }\n\n &:where([data-drag-selected]) {\n &,\n &:hover {\n background-color: var(--mantine-primary-color-light);\n }\n\n &::before {\n content: '';\n position: absolute;\n inset: -1px;\n pointer-events: none;\n z-index: 2;\n border: 1px solid;\n\n @mixin where-light {\n border-color: var(--mantine-primary-color-2);\n }\n\n @mixin where-dark {\n border-color: var(--mantine-primary-color-9);\n }\n }\n }\n\n &:where([data-drag-slot-index]) {\n touch-action: none;\n }\n\n &:where([data-static]) {\n cursor: default;\n pointer-events: none;\n }\n}\n\n.resourcesMonthView:where([data-event-interaction]) .resourcesMonthViewCell {\n pointer-events: none;\n}\n"],"mappings":""}
@@ -0,0 +1,105 @@
1
+ "use client";
2
+ const require_ResourcesDayView = require("../ResourcesDayView/ResourcesDayView.cjs");
3
+ const require_ResourcesWeekView = require("../ResourcesWeekView/ResourcesWeekView.cjs");
4
+ const require_ResourcesMonthView = require("../ResourcesMonthView/ResourcesMonthView.cjs");
5
+ const require_ResourcesSchedule_module = require("./ResourcesSchedule.module.cjs");
6
+ let _mantine_core = require("@mantine/core");
7
+ let _mantine_hooks = require("@mantine/hooks");
8
+ let react_jsx_runtime = require("react/jsx-runtime");
9
+ //#region packages/@mantine/schedule/src/components/ResourcesSchedule/ResourcesSchedule.tsx
10
+ const defaultProps = {
11
+ defaultView: "day",
12
+ mode: "default"
13
+ };
14
+ const ResourcesSchedule = (0, _mantine_core.factory)((_props) => {
15
+ const props = (0, _mantine_core.useProps)("ResourcesSchedule", defaultProps, _props);
16
+ const { classNames, className, style, styles, unstyled, vars, resources, date, defaultDate, onDateChange, view, defaultView, onViewChange, events, locale, radius, labels, renderEventBody, renderResourceLabel, withEventsDragAndDrop, onEventDrop, canDragEvent, onEventDragStart, onEventDragEnd, onTimeSlotClick, onDayClick, onEventClick, withDragSlotSelect, onSlotDragEnd, onExternalEventDrop, withEventResize, onEventResize, canResizeEvent, recurrenceExpansionLimit, mode, dayViewProps, weekViewProps, monthViewProps, __staticSelector, mod, ...others } = props;
17
+ const getStyles = (0, _mantine_core.useStyles)({
18
+ name: __staticSelector || "ResourcesSchedule",
19
+ classes: require_ResourcesSchedule_module.default,
20
+ props,
21
+ className,
22
+ style,
23
+ classNames,
24
+ styles,
25
+ unstyled,
26
+ vars
27
+ });
28
+ const [_view, _setView] = (0, _mantine_hooks.useUncontrolled)({
29
+ value: view,
30
+ defaultValue: defaultView,
31
+ onChange: onViewChange
32
+ });
33
+ const [_date, _setDate] = (0, _mantine_hooks.useUncontrolled)({
34
+ value: date,
35
+ defaultValue: defaultDate ?? /* @__PURE__ */ new Date()
36
+ });
37
+ const handleDateChange = (newDate) => {
38
+ _setDate(newDate);
39
+ onDateChange?.(newDate);
40
+ };
41
+ const handleViewChange = (newView) => {
42
+ if (newView === "day" || newView === "week" || newView === "month") _setView(newView);
43
+ };
44
+ const commonProps = {
45
+ resources,
46
+ date: _date,
47
+ onDateChange: handleDateChange,
48
+ onViewChange: handleViewChange,
49
+ events,
50
+ locale,
51
+ radius,
52
+ labels,
53
+ renderEventBody,
54
+ renderResourceLabel,
55
+ withEventsDragAndDrop: mode === "static" ? false : withEventsDragAndDrop,
56
+ onEventDrop,
57
+ canDragEvent,
58
+ onEventDragStart,
59
+ onEventDragEnd,
60
+ onEventClick,
61
+ withDragSlotSelect,
62
+ onSlotDragEnd,
63
+ onExternalEventDrop,
64
+ recurrenceExpansionLimit,
65
+ mode
66
+ };
67
+ const content = (() => {
68
+ switch (_view) {
69
+ case "day": return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_ResourcesDayView.ResourcesDayView, {
70
+ ...commonProps,
71
+ onTimeSlotClick,
72
+ withEventResize: mode === "static" ? false : withEventResize,
73
+ onEventResize,
74
+ canResizeEvent,
75
+ ...dayViewProps
76
+ });
77
+ case "week": return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_ResourcesWeekView.ResourcesWeekView, {
78
+ ...commonProps,
79
+ onTimeSlotClick,
80
+ withEventResize: mode === "static" ? false : withEventResize,
81
+ onEventResize,
82
+ canResizeEvent,
83
+ ...weekViewProps
84
+ });
85
+ case "month": return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_ResourcesMonthView.ResourcesMonthView, {
86
+ ...commonProps,
87
+ onDayClick,
88
+ ...monthViewProps
89
+ });
90
+ default: return null;
91
+ }
92
+ })();
93
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_mantine_core.Box, {
94
+ ...getStyles("root"),
95
+ mod,
96
+ ...others,
97
+ children: content
98
+ });
99
+ });
100
+ ResourcesSchedule.displayName = "@mantine/schedule/ResourcesSchedule";
101
+ ResourcesSchedule.classes = require_ResourcesSchedule_module.default;
102
+ //#endregion
103
+ exports.ResourcesSchedule = ResourcesSchedule;
104
+
105
+ //# sourceMappingURL=ResourcesSchedule.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ResourcesSchedule.cjs","names":["ResourcesDayView","ResourcesWeekView","ResourcesMonthView","Box","classes"],"sources":["../../../src/components/ResourcesSchedule/ResourcesSchedule.tsx"],"sourcesContent":["import {\n Box,\n BoxProps,\n ElementProps,\n factory,\n Factory,\n MantineRadius,\n StylesApiProps,\n useProps,\n useStyles,\n} from '@mantine/core';\nimport { useUncontrolled } from '@mantine/hooks';\nimport { ScheduleLabelsOverride } from '../../labels';\nimport {\n DateStringValue,\n DateTimeStringValue,\n ScheduleEventData,\n ScheduleMode,\n ScheduleResourceData,\n ScheduleViewLevel,\n} from '../../types';\nimport {\n ResourcesDayView,\n ResourcesDayViewProps,\n ResourcesDayViewStylesNames,\n} from '../ResourcesDayView/ResourcesDayView';\nimport {\n ResourcesMonthView,\n ResourcesMonthViewProps,\n ResourcesMonthViewStylesNames,\n} from '../ResourcesMonthView/ResourcesMonthView';\nimport {\n ResourcesWeekView,\n ResourcesWeekViewProps,\n ResourcesWeekViewStylesNames,\n} from '../ResourcesWeekView/ResourcesWeekView';\nimport { RenderEventBody } from '../ScheduleEvent/ScheduleEvent';\nimport classes from './ResourcesSchedule.module.css';\n\nexport type ResourcesScheduleStylesNames =\n | 'root'\n | ResourcesDayViewStylesNames\n | ResourcesWeekViewStylesNames\n | ResourcesMonthViewStylesNames;\n\nexport type ResourcesScheduleViewLevel = 'day' | 'week' | 'month';\n\ntype ResourcesScheduleCommonProps =\n | 'date'\n | 'onDateChange'\n | 'resources'\n | 'events'\n | 'locale'\n | 'radius'\n | 'labels'\n | 'renderEventBody'\n | 'renderResourceLabel'\n | 'withEventsDragAndDrop'\n | 'onEventDrop'\n | 'canDragEvent'\n | 'onEventDragStart'\n | 'onEventDragEnd'\n | 'onTimeSlotClick'\n | 'onEventClick'\n | 'onDayClick'\n | 'withDragSlotSelect'\n | 'onSlotDragEnd'\n | 'view'\n | 'onViewChange'\n | 'mode'\n | 'onExternalEventDrop'\n | 'withEventResize'\n | 'onEventResize'\n | 'canResizeEvent'\n | 'recurrenceExpansionLimit';\n\ntype ResourcesScheduleViewProps<T> = Partial<Omit<T, ResourcesScheduleCommonProps>>;\n\nexport interface ResourcesScheduleProps\n extends BoxProps, StylesApiProps<ResourcesScheduleFactory>, ElementProps<'div'> {\n __staticSelector?: string;\n\n /** List of resources to display */\n resources: ScheduleResourceData[];\n\n /** Current date to display (controlled) */\n date?: Date | DateStringValue;\n\n /** Default date (uncontrolled) */\n defaultDate?: Date | DateStringValue;\n\n /** Called when date changes via navigation */\n onDateChange?: (date: DateStringValue) => void;\n\n /** Current view level (controlled) */\n view?: ResourcesScheduleViewLevel;\n\n /** Default view level (uncontrolled) @default 'day' */\n defaultView?: ResourcesScheduleViewLevel;\n\n /** Called when view level changes */\n onViewChange?: (view: ResourcesScheduleViewLevel) => void;\n\n /** Events to display across all views */\n events?: ScheduleEventData[];\n\n /** Locale for date formatting */\n locale?: string;\n\n /** Key of theme.radius or any valid CSS value to set border-radius */\n radius?: MantineRadius;\n\n /** Labels override for i18n */\n labels?: ScheduleLabelsOverride;\n\n /** Custom event body renderer */\n renderEventBody?: RenderEventBody;\n\n /** Custom resource label renderer */\n renderResourceLabel?: (resource: ScheduleResourceData) => React.ReactNode;\n\n /** Enable drag and drop for events @default false */\n withEventsDragAndDrop?: boolean;\n\n /** Called when event is dropped */\n onEventDrop?: (data: {\n eventId: string | number;\n newStart: DateTimeStringValue;\n newEnd: DateTimeStringValue;\n event: ScheduleEventData;\n resourceId?: string | number;\n }) => void;\n\n /** Function to determine if event can be dragged */\n canDragEvent?: (event: ScheduleEventData) => boolean;\n\n /** Called when any event drag starts */\n onEventDragStart?: (event: ScheduleEventData) => void;\n\n /** Called when any event drag ends */\n onEventDragEnd?: () => void;\n\n /** Called when time slot is clicked */\n onTimeSlotClick?: (data: {\n slotStart: DateTimeStringValue;\n slotEnd: DateTimeStringValue;\n nativeEvent: React.MouseEvent<HTMLButtonElement>;\n resourceId?: string | number;\n }) => void;\n\n /** Called when day is clicked in month view */\n onDayClick?: (data: {\n date: DateStringValue;\n nativeEvent: React.MouseEvent<HTMLButtonElement>;\n resourceId?: string | number;\n }) => void;\n\n /** Called when event is clicked */\n onEventClick?: (event: ScheduleEventData, e: React.MouseEvent<HTMLButtonElement>) => void;\n\n /** If set, enables drag-to-select slot ranges @default false */\n withDragSlotSelect?: boolean;\n\n /** Called when a slot range is selected by dragging */\n onSlotDragEnd?: (data: {\n rangeStart: DateTimeStringValue;\n rangeEnd: DateTimeStringValue;\n resourceId?: string | number;\n }) => void;\n\n /** Interaction mode @default default */\n mode?: ScheduleMode;\n\n /** Called when an external item is dropped onto the schedule */\n onExternalEventDrop?: (data: {\n dataTransfer: DataTransfer;\n dropDateTime: DateTimeStringValue;\n resourceId?: string | number;\n }) => void;\n\n /** If true, events can be resized @default false */\n withEventResize?: boolean;\n\n /** Called when event is resized */\n onEventResize?: (data: {\n eventId: string | number;\n newStart: DateTimeStringValue;\n newEnd: DateTimeStringValue;\n event: ScheduleEventData;\n }) => void;\n\n /** Function to determine if event can be resized */\n canResizeEvent?: (event: ScheduleEventData) => boolean;\n\n /** Max number of generated recurring instances @default 2000 */\n recurrenceExpansionLimit?: number;\n\n /** Props specific to ResourcesDayView */\n dayViewProps?: ResourcesScheduleViewProps<ResourcesDayViewProps>;\n\n /** Props specific to ResourcesWeekView */\n weekViewProps?: ResourcesScheduleViewProps<ResourcesWeekViewProps>;\n\n /** Props specific to ResourcesMonthView */\n monthViewProps?: ResourcesScheduleViewProps<ResourcesMonthViewProps>;\n}\n\nexport type ResourcesScheduleFactory = Factory<{\n props: ResourcesScheduleProps;\n ref: HTMLDivElement;\n stylesNames: ResourcesScheduleStylesNames;\n}>;\n\nconst defaultProps: Partial<ResourcesScheduleProps> = {\n defaultView: 'day',\n mode: 'default',\n};\n\nexport const ResourcesSchedule = factory<ResourcesScheduleFactory>((_props) => {\n const props = useProps('ResourcesSchedule', defaultProps, _props);\n const {\n classNames,\n className,\n style,\n styles,\n unstyled,\n vars,\n resources,\n date,\n defaultDate,\n onDateChange,\n view,\n defaultView,\n onViewChange,\n events,\n locale,\n radius,\n labels,\n renderEventBody,\n renderResourceLabel,\n withEventsDragAndDrop,\n onEventDrop,\n canDragEvent,\n onEventDragStart,\n onEventDragEnd,\n onTimeSlotClick,\n onDayClick,\n onEventClick,\n withDragSlotSelect,\n onSlotDragEnd,\n onExternalEventDrop,\n withEventResize,\n onEventResize,\n canResizeEvent,\n recurrenceExpansionLimit,\n mode,\n dayViewProps,\n weekViewProps,\n monthViewProps,\n __staticSelector,\n mod,\n ...others\n } = props;\n\n const getStyles = useStyles<ResourcesScheduleFactory>({\n name: __staticSelector || 'ResourcesSchedule',\n classes,\n props,\n className,\n style,\n classNames,\n styles,\n unstyled,\n vars,\n });\n\n const [_view, _setView] = useUncontrolled<ResourcesScheduleViewLevel>({\n value: view,\n defaultValue: defaultView,\n onChange: onViewChange,\n });\n\n const [_date, _setDate] = useUncontrolled<Date | DateStringValue>({\n value: date,\n defaultValue: defaultDate ?? new Date(),\n });\n\n const handleDateChange = (newDate: DateStringValue) => {\n _setDate(newDate);\n onDateChange?.(newDate);\n };\n\n const handleViewChange = (newView: ScheduleViewLevel) => {\n if (newView === 'day' || newView === 'week' || newView === 'month') {\n _setView(newView);\n }\n };\n\n const commonProps = {\n resources,\n date: _date,\n onDateChange: handleDateChange,\n onViewChange: handleViewChange,\n events,\n locale,\n radius,\n labels,\n renderEventBody,\n renderResourceLabel,\n withEventsDragAndDrop: mode === 'static' ? false : withEventsDragAndDrop,\n onEventDrop,\n canDragEvent,\n onEventDragStart,\n onEventDragEnd,\n onEventClick,\n withDragSlotSelect,\n onSlotDragEnd,\n onExternalEventDrop,\n recurrenceExpansionLimit,\n mode,\n };\n\n const content = (() => {\n switch (_view) {\n case 'day':\n return (\n <ResourcesDayView\n {...commonProps}\n onTimeSlotClick={onTimeSlotClick}\n withEventResize={mode === 'static' ? false : withEventResize}\n onEventResize={onEventResize}\n canResizeEvent={canResizeEvent}\n {...dayViewProps}\n />\n );\n case 'week':\n return (\n <ResourcesWeekView\n {...commonProps}\n onTimeSlotClick={onTimeSlotClick}\n withEventResize={mode === 'static' ? false : withEventResize}\n onEventResize={onEventResize}\n canResizeEvent={canResizeEvent}\n {...weekViewProps}\n />\n );\n case 'month':\n return <ResourcesMonthView {...commonProps} onDayClick={onDayClick} {...monthViewProps} />;\n default:\n return null;\n }\n })();\n\n return (\n <Box {...getStyles('root')} mod={mod} {...others}>\n {content}\n </Box>\n );\n});\n\nResourcesSchedule.displayName = '@mantine/schedule/ResourcesSchedule';\nResourcesSchedule.classes = classes;\n\nexport namespace ResourcesSchedule {\n export type Props = ResourcesScheduleProps;\n export type StylesNames = ResourcesScheduleStylesNames;\n export type Factory = ResourcesScheduleFactory;\n export type ViewLevel = ResourcesScheduleViewLevel;\n}\n"],"mappings":";;;;;;;;;AAqNA,MAAM,eAAgD;CACpD,aAAa;CACb,MAAM;AACR;AAEA,MAAa,qBAAA,GAAA,cAAA,QAAA,EAAuD,WAAW;CAC7E,MAAM,SAAA,GAAA,cAAA,SAAA,CAAiB,qBAAqB,cAAc,MAAM;CAChE,MAAM,EACJ,YACA,WACA,OACA,QACA,UACA,MACA,WACA,MACA,aACA,cACA,MACA,aACA,cACA,QACA,QACA,QACA,QACA,iBACA,qBACA,uBACA,aACA,cACA,kBACA,gBACA,iBACA,YACA,cACA,oBACA,eACA,qBACA,iBACA,eACA,gBACA,0BACA,MACA,cACA,eACA,gBACA,kBACA,KACA,GAAG,WACD;CAEJ,MAAM,aAAA,GAAA,cAAA,UAAA,CAAgD;EACpD,MAAM,oBAAoB;EAC1B,SAAA,iCAAA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;CACF,CAAC;CAED,MAAM,CAAC,OAAO,aAAA,GAAA,eAAA,gBAAA,CAAwD;EACpE,OAAO;EACP,cAAc;EACd,UAAU;CACZ,CAAC;CAED,MAAM,CAAC,OAAO,aAAA,GAAA,eAAA,gBAAA,CAAoD;EAChE,OAAO;EACP,cAAc,+BAAe,IAAI,KAAK;CACxC,CAAC;CAED,MAAM,oBAAoB,YAA6B;EACrD,SAAS,OAAO;EAChB,eAAe,OAAO;CACxB;CAEA,MAAM,oBAAoB,YAA+B;EACvD,IAAI,YAAY,SAAS,YAAY,UAAU,YAAY,SACzD,SAAS,OAAO;CAEpB;CAEA,MAAM,cAAc;EAClB;EACA,MAAM;EACN,cAAc;EACd,cAAc;EACd;EACA;EACA;EACA;EACA;EACA;EACA,uBAAuB,SAAS,WAAW,QAAQ;EACnD;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;CACF;CAEA,MAAM,iBAAiB;EACrB,QAAQ,OAAR;GACE,KAAK,OACH,OACE,iBAAA,GAAA,kBAAA,IAAA,CAACA,yBAAAA,kBAAD;IACE,GAAI;IACa;IACjB,iBAAiB,SAAS,WAAW,QAAQ;IAC9B;IACC;IAChB,GAAI;GACL,CAAA;GAEL,KAAK,QACH,OACE,iBAAA,GAAA,kBAAA,IAAA,CAACC,0BAAAA,mBAAD;IACE,GAAI;IACa;IACjB,iBAAiB,SAAS,WAAW,QAAQ;IAC9B;IACC;IAChB,GAAI;GACL,CAAA;GAEL,KAAK,SACH,OAAO,iBAAA,GAAA,kBAAA,IAAA,CAACC,2BAAAA,oBAAD;IAAoB,GAAI;IAAyB;IAAY,GAAI;GAAiB,CAAA;GAC3F,SACE,OAAO;EACX;CACF,EAAA,CAAG;CAEH,OACE,iBAAA,GAAA,kBAAA,IAAA,CAACC,cAAAA,KAAD;EAAK,GAAI,UAAU,MAAM;EAAQ;EAAK,GAAI;YACvC;CACE,CAAA;AAET,CAAC;AAED,kBAAkB,cAAc;AAChC,kBAAkB,UAAUC,iCAAAA"}
@@ -0,0 +1,7 @@
1
+ "use client";
2
+ //#region packages/@mantine/schedule/src/components/ResourcesSchedule/ResourcesSchedule.module.css
3
+ var ResourcesSchedule_module_default = { "root": "m_428e1853" };
4
+ //#endregion
5
+ exports.default = ResourcesSchedule_module_default;
6
+
7
+ //# sourceMappingURL=ResourcesSchedule.module.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ResourcesSchedule.module.cjs","names":[],"sources":["../../../src/components/ResourcesSchedule/ResourcesSchedule.module.css"],"sourcesContent":[".root {\n height: 100%;\n}\n"],"mappings":""}