@mantine/schedule 9.5.1 → 9.6.0

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 (222) 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 +144 -78
  8. package/cjs/components/DayView/DayView.cjs.map +1 -1
  9. package/cjs/components/DayView/DayView.module.cjs +2 -1
  10. package/cjs/components/DayView/DayView.module.cjs.map +1 -1
  11. package/cjs/components/DayView/get-day-view-events/get-day-view-events.cjs.map +1 -1
  12. package/cjs/components/DragContext/DragContext.cjs.map +1 -1
  13. package/cjs/components/MobileMonthView/MobileMonthView.cjs +7 -6
  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 +24 -34
  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/find-available-row.cjs.map +1 -1
  20. package/cjs/components/MonthView/get-month-view-events/get-month-positioned-events.cjs +4 -2
  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 +3 -2
  24. package/cjs/components/MonthView/get-month-view-events/get-weeks-in-range.cjs.map +1 -1
  25. package/cjs/components/MonthView/get-renderable-month-event-segments.cjs +1 -1
  26. package/cjs/components/MonthView/get-renderable-month-event-segments.cjs.map +1 -1
  27. package/cjs/components/MoreEvents/MoreEvents.cjs.map +1 -1
  28. package/cjs/components/ResourcesDayView/ResourcesDayView.cjs +136 -52
  29. package/cjs/components/ResourcesDayView/ResourcesDayView.cjs.map +1 -1
  30. package/cjs/components/ResourcesDayView/ResourcesDayView.module.cjs +2 -1
  31. package/cjs/components/ResourcesDayView/ResourcesDayView.module.cjs.map +1 -1
  32. package/cjs/components/ResourcesDayView/ResourcesDayViewColumn.cjs.map +1 -1
  33. package/cjs/components/ResourcesDayView/get-resources-day-view-events/get-resources-day-view-events.cjs.map +1 -1
  34. package/cjs/components/ResourcesMonthView/ResourcesMonthView.cjs.map +1 -1
  35. package/cjs/components/ResourcesSchedule/ResourcesSchedule.cjs +3 -1
  36. package/cjs/components/ResourcesSchedule/ResourcesSchedule.cjs.map +1 -1
  37. package/cjs/components/ResourcesWeekView/ResourcesWeekView.cjs +150 -59
  38. package/cjs/components/ResourcesWeekView/ResourcesWeekView.cjs.map +1 -1
  39. package/cjs/components/ResourcesWeekView/ResourcesWeekView.module.cjs +2 -1
  40. package/cjs/components/ResourcesWeekView/ResourcesWeekView.module.cjs.map +1 -1
  41. package/cjs/components/ResourcesWeekView/ResourcesWeekViewRow.cjs.map +1 -1
  42. package/cjs/components/ResourcesWeekView/get-resources-week-view-events/get-resources-week-view-events.cjs +6 -3
  43. package/cjs/components/ResourcesWeekView/get-resources-week-view-events/get-resources-week-view-events.cjs.map +1 -1
  44. package/cjs/components/Schedule/Schedule.cjs +4 -1
  45. package/cjs/components/Schedule/Schedule.cjs.map +1 -1
  46. package/cjs/components/ScheduleBackgroundEvent/ScheduleBackgroundEvent.cjs +53 -0
  47. package/cjs/components/ScheduleBackgroundEvent/ScheduleBackgroundEvent.cjs.map +1 -0
  48. package/cjs/components/ScheduleEvent/ScheduleEvent.cjs.map +1 -1
  49. package/cjs/components/ScheduleHeader/HeaderControl/HeaderControl.cjs +15 -14
  50. package/cjs/components/ScheduleHeader/HeaderControl/HeaderControl.cjs.map +1 -1
  51. package/cjs/components/ScheduleHeader/MonthYearSelect/MonthYearSelect.cjs.map +1 -1
  52. package/cjs/components/ScheduleHeader/ScheduleHeader.cjs.map +1 -1
  53. package/cjs/components/ScheduleHeader/ScheduleHeaderBase.cjs.map +1 -1
  54. package/cjs/components/ScheduleHeader/ScheduleHeaderContext.cjs.map +1 -1
  55. package/cjs/components/ScheduleHeader/ViewSelect/ViewSelect.cjs.map +1 -1
  56. package/cjs/components/WeekView/WeekView.cjs +159 -82
  57. package/cjs/components/WeekView/WeekView.cjs.map +1 -1
  58. package/cjs/components/WeekView/WeekView.module.cjs +2 -1
  59. package/cjs/components/WeekView/WeekView.module.cjs.map +1 -1
  60. package/cjs/components/WeekView/WeekViewDay.cjs.map +1 -1
  61. package/cjs/components/WeekView/get-week-label/get-week-label.cjs.map +1 -1
  62. package/cjs/components/WeekView/get-week-view-events/calculate-all-day-event-offset.cjs.map +1 -1
  63. package/cjs/components/WeekView/get-week-view-events/calculate-all-day-event-width.cjs.map +1 -1
  64. package/cjs/components/WeekView/get-week-view-events/calculate-event-days.cjs.map +1 -1
  65. package/cjs/components/WeekView/get-week-view-events/find-available-column.cjs +5 -10
  66. package/cjs/components/WeekView/get-week-view-events/find-available-column.cjs.map +1 -1
  67. package/cjs/components/WeekView/get-week-view-events/get-event-end-date.cjs.map +1 -1
  68. package/cjs/components/WeekView/get-week-view-events/get-hanging-status.cjs.map +1 -1
  69. package/cjs/components/WeekView/get-week-view-events/get-week-positioned-events.cjs +5 -3
  70. package/cjs/components/WeekView/get-week-view-events/get-week-positioned-events.cjs.map +1 -1
  71. package/cjs/components/YearView/YearView.cjs +7 -6
  72. package/cjs/components/YearView/YearView.cjs.map +1 -1
  73. package/cjs/components/YearView/YearViewMonth.cjs.map +1 -1
  74. package/cjs/components/YearView/get-visible-week-days.cjs.map +1 -1
  75. package/cjs/components/YearView/get-year-view-events/get-year-view-events.cjs.map +1 -1
  76. package/cjs/hooks/use-auto-scroll-on-drag.cjs.map +1 -1
  77. package/cjs/hooks/use-day-grid-event-resize.cjs.map +1 -1
  78. package/cjs/hooks/use-drag-drop-handlers.cjs +13 -2
  79. package/cjs/hooks/use-drag-drop-handlers.cjs.map +1 -1
  80. package/cjs/hooks/use-drag-state.cjs.map +1 -1
  81. package/cjs/hooks/use-event-resize.cjs +30 -15
  82. package/cjs/hooks/use-event-resize.cjs.map +1 -1
  83. package/cjs/hooks/use-horizontal-event-resize.cjs +30 -15
  84. package/cjs/hooks/use-horizontal-event-resize.cjs.map +1 -1
  85. package/cjs/hooks/use-slot-drag-select.cjs.map +1 -1
  86. package/cjs/index.cjs +2 -0
  87. package/cjs/utils/calculate-drop-time/calculate-drop-time.cjs +25 -4
  88. package/cjs/utils/calculate-drop-time/calculate-drop-time.cjs.map +1 -1
  89. package/cjs/utils/calculate-month-drop-date/calculate-month-drop-date.cjs.map +1 -1
  90. package/cjs/utils/calculate-month-resize-dates/calculate-month-resize-dates.cjs.map +1 -1
  91. package/cjs/utils/expand-recurring-events/expand-recurring-events.cjs +20 -8
  92. package/cjs/utils/expand-recurring-events/expand-recurring-events.cjs.map +1 -1
  93. package/cjs/utils/format-date/format-date.cjs.map +1 -1
  94. package/cjs/utils/get-current-time-position/get-current-time-position.cjs.map +1 -1
  95. package/cjs/utils/get-day-position/get-day-position.cjs.map +1 -1
  96. package/cjs/utils/get-end-of-week/get-end-of-week.cjs.map +1 -1
  97. package/cjs/utils/get-month-days/get-month-days.cjs +4 -2
  98. package/cjs/utils/get-month-days/get-month-days.cjs.map +1 -1
  99. package/cjs/utils/get-month-range/get-month-range.cjs.map +1 -1
  100. package/cjs/utils/get-months-by-quarter/get-months-by-quarter.cjs.map +1 -1
  101. package/cjs/utils/get-months-list/get-months-list.cjs.map +1 -1
  102. package/cjs/utils/get-start-of-week/get-start-of-week.cjs.map +1 -1
  103. package/cjs/utils/get-week-days/get-week-days.cjs.map +1 -1
  104. package/cjs/utils/get-week-number/get-week-number.cjs +4 -1
  105. package/cjs/utils/get-week-number/get-week-number.cjs.map +1 -1
  106. package/cjs/utils/get-weekdays-names/get-weekdays-names.cjs.map +1 -1
  107. package/cjs/utils/is-after-min-date/is-after-min-date.cjs.map +1 -1
  108. package/cjs/utils/is-all-day-event/is-all-day-event.cjs.map +1 -1
  109. package/cjs/utils/is-before-max-date/is-before-max-date.cjs.map +1 -1
  110. package/cjs/utils/is-event-in-time-range/is-event-in-time-range.cjs.map +1 -1
  111. package/cjs/utils/is-events-overlap/is-events-overlap.cjs +16 -4
  112. package/cjs/utils/is-events-overlap/is-events-overlap.cjs.map +1 -1
  113. package/cjs/utils/is-in-time-range/is-in-time-range.cjs.map +1 -1
  114. package/cjs/utils/is-multiday-event/is-multiday-event.cjs.map +1 -1
  115. package/cjs/utils/is-same-month/is-same-month.cjs.map +1 -1
  116. package/cjs/utils/is-within-week/is-within-week.cjs.map +1 -1
  117. package/cjs/utils/next-week/next-week.cjs.map +1 -1
  118. package/cjs/utils/previous-week/previous-week.cjs.map +1 -1
  119. package/cjs/utils/sort-events/sort-events.cjs.map +1 -1
  120. package/cjs/utils/to-date-string/to-date-string.cjs.map +1 -1
  121. package/cjs/utils/validate-event/validate-event.cjs.map +1 -1
  122. package/esm/components/AgendaView/AgendaView.mjs +7 -6
  123. package/esm/components/AgendaView/AgendaView.mjs.map +1 -1
  124. package/esm/components/CurrentTimeIndicator/CurrentTimeIndicator.mjs +4 -3
  125. package/esm/components/CurrentTimeIndicator/CurrentTimeIndicator.mjs.map +1 -1
  126. package/esm/components/DayView/DayView.mjs +145 -79
  127. package/esm/components/DayView/DayView.mjs.map +1 -1
  128. package/esm/components/DayView/DayView.module.mjs +2 -1
  129. package/esm/components/DayView/DayView.module.mjs.map +1 -1
  130. package/esm/components/MobileMonthView/MobileMonthView.mjs +7 -6
  131. package/esm/components/MobileMonthView/MobileMonthView.mjs.map +1 -1
  132. package/esm/components/MonthView/MonthView.mjs +25 -35
  133. package/esm/components/MonthView/MonthView.mjs.map +1 -1
  134. package/esm/components/MonthView/MonthView.module.mjs.map +1 -1
  135. package/esm/components/MonthView/get-month-view-events/get-month-positioned-events.mjs +4 -2
  136. package/esm/components/MonthView/get-month-view-events/get-month-positioned-events.mjs.map +1 -1
  137. package/esm/components/MonthView/get-month-view-events/get-weeks-in-range.mjs +3 -2
  138. package/esm/components/MonthView/get-month-view-events/get-weeks-in-range.mjs.map +1 -1
  139. package/esm/components/MonthView/get-renderable-month-event-segments.mjs +1 -1
  140. package/esm/components/MonthView/get-renderable-month-event-segments.mjs.map +1 -1
  141. package/esm/components/MoreEvents/MoreEvents.mjs.map +1 -1
  142. package/esm/components/ResourcesDayView/ResourcesDayView.mjs +138 -54
  143. package/esm/components/ResourcesDayView/ResourcesDayView.mjs.map +1 -1
  144. package/esm/components/ResourcesDayView/ResourcesDayView.module.mjs +2 -1
  145. package/esm/components/ResourcesDayView/ResourcesDayView.module.mjs.map +1 -1
  146. package/esm/components/ResourcesDayView/ResourcesDayViewColumn.mjs.map +1 -1
  147. package/esm/components/ResourcesMonthView/ResourcesMonthView.mjs.map +1 -1
  148. package/esm/components/ResourcesSchedule/ResourcesSchedule.mjs +3 -1
  149. package/esm/components/ResourcesSchedule/ResourcesSchedule.mjs.map +1 -1
  150. package/esm/components/ResourcesWeekView/ResourcesWeekView.mjs +152 -61
  151. package/esm/components/ResourcesWeekView/ResourcesWeekView.mjs.map +1 -1
  152. package/esm/components/ResourcesWeekView/ResourcesWeekView.module.mjs +2 -1
  153. package/esm/components/ResourcesWeekView/ResourcesWeekView.module.mjs.map +1 -1
  154. package/esm/components/ResourcesWeekView/ResourcesWeekViewRow.mjs.map +1 -1
  155. package/esm/components/ResourcesWeekView/get-resources-week-view-events/get-resources-week-view-events.mjs +6 -3
  156. package/esm/components/ResourcesWeekView/get-resources-week-view-events/get-resources-week-view-events.mjs.map +1 -1
  157. package/esm/components/Schedule/Schedule.mjs +4 -1
  158. package/esm/components/Schedule/Schedule.mjs.map +1 -1
  159. package/esm/components/ScheduleBackgroundEvent/ScheduleBackgroundEvent.mjs +53 -0
  160. package/esm/components/ScheduleBackgroundEvent/ScheduleBackgroundEvent.mjs.map +1 -0
  161. package/esm/components/ScheduleEvent/ScheduleEvent.mjs.map +1 -1
  162. package/esm/components/ScheduleHeader/HeaderControl/HeaderControl.mjs +15 -14
  163. package/esm/components/ScheduleHeader/HeaderControl/HeaderControl.mjs.map +1 -1
  164. package/esm/components/ScheduleHeader/MonthYearSelect/MonthYearSelect.mjs.map +1 -1
  165. package/esm/components/ScheduleHeader/ScheduleHeader.mjs.map +1 -1
  166. package/esm/components/ScheduleHeader/ScheduleHeaderBase.mjs.map +1 -1
  167. package/esm/components/ScheduleHeader/ViewSelect/ViewSelect.mjs.map +1 -1
  168. package/esm/components/WeekView/WeekView.mjs +160 -83
  169. package/esm/components/WeekView/WeekView.mjs.map +1 -1
  170. package/esm/components/WeekView/WeekView.module.mjs +2 -1
  171. package/esm/components/WeekView/WeekView.module.mjs.map +1 -1
  172. package/esm/components/WeekView/WeekViewDay.mjs.map +1 -1
  173. package/esm/components/WeekView/get-week-view-events/find-available-column.mjs +5 -10
  174. package/esm/components/WeekView/get-week-view-events/find-available-column.mjs.map +1 -1
  175. package/esm/components/WeekView/get-week-view-events/get-week-positioned-events.mjs +5 -3
  176. package/esm/components/WeekView/get-week-view-events/get-week-positioned-events.mjs.map +1 -1
  177. package/esm/components/YearView/YearView.mjs +7 -6
  178. package/esm/components/YearView/YearView.mjs.map +1 -1
  179. package/esm/components/YearView/YearViewMonth.mjs.map +1 -1
  180. package/esm/hooks/use-drag-drop-handlers.mjs +13 -2
  181. package/esm/hooks/use-drag-drop-handlers.mjs.map +1 -1
  182. package/esm/hooks/use-event-resize.mjs +30 -15
  183. package/esm/hooks/use-event-resize.mjs.map +1 -1
  184. package/esm/hooks/use-horizontal-event-resize.mjs +30 -15
  185. package/esm/hooks/use-horizontal-event-resize.mjs.map +1 -1
  186. package/esm/index.mjs +2 -1
  187. package/esm/utils/calculate-drop-time/calculate-drop-time.mjs +25 -4
  188. package/esm/utils/calculate-drop-time/calculate-drop-time.mjs.map +1 -1
  189. package/esm/utils/expand-recurring-events/expand-recurring-events.mjs +20 -8
  190. package/esm/utils/expand-recurring-events/expand-recurring-events.mjs.map +1 -1
  191. package/esm/utils/get-month-days/get-month-days.mjs +4 -2
  192. package/esm/utils/get-month-days/get-month-days.mjs.map +1 -1
  193. package/esm/utils/get-week-number/get-week-number.mjs +4 -1
  194. package/esm/utils/get-week-number/get-week-number.mjs.map +1 -1
  195. package/esm/utils/is-events-overlap/is-events-overlap.mjs +16 -4
  196. package/esm/utils/is-events-overlap/is-events-overlap.mjs.map +1 -1
  197. package/lib/components/DayView/DayView.d.ts +7 -1
  198. package/lib/components/MonthView/MonthView.d.ts +2 -0
  199. package/lib/components/ResourcesDayView/ResourcesDayView.d.ts +7 -1
  200. package/lib/components/ResourcesDayView/ResourcesDayViewColumn.d.ts +1 -1
  201. package/lib/components/ResourcesSchedule/ResourcesSchedule.d.ts +3 -1
  202. package/lib/components/ResourcesWeekView/ResourcesWeekView.d.ts +7 -1
  203. package/lib/components/ResourcesWeekView/ResourcesWeekViewRow.d.ts +1 -1
  204. package/lib/components/Schedule/Schedule.d.ts +3 -1
  205. package/lib/components/ScheduleBackgroundEvent/ScheduleBackgroundEvent.d.ts +19 -0
  206. package/lib/components/ScheduleBackgroundEvent/index.d.ts +2 -0
  207. package/lib/components/ScheduleHeader/HeaderControl/HeaderControl.d.ts +3 -3
  208. package/lib/components/ScheduleHeader/ScheduleHeaderBase.d.ts +1 -1
  209. package/lib/components/WeekView/WeekView.d.ts +7 -1
  210. package/lib/components/WeekView/WeekViewDay.d.ts +1 -1
  211. package/lib/components/WeekView/get-week-view-events/find-available-column.d.ts +7 -3
  212. package/lib/components/YearView/YearViewMonth.d.ts +1 -1
  213. package/lib/hooks/use-drag-drop-handlers.d.ts +10 -1
  214. package/lib/hooks/use-event-resize.d.ts +2 -1
  215. package/lib/hooks/use-horizontal-event-resize.d.ts +2 -1
  216. package/lib/index.d.mts +1 -0
  217. package/lib/index.d.ts +1 -0
  218. package/lib/types.d.ts +1 -1
  219. package/lib/utils/calculate-drop-time/calculate-drop-time.d.ts +11 -1
  220. package/package.json +8 -5
  221. package/styles.css +160 -0
  222. package/styles.layer.css +160 -0
@@ -1 +1 @@
1
- {"version":3,"file":"ScheduleHeader.cjs","names":["ScheduleHeaderLabelsContext","Box","classes","HeaderControl","ScheduleHeaderNext","ScheduleHeaderPrevious","ScheduleHeaderToday","ViewSelect","MonthYearSelect"],"sources":["../../../src/components/ScheduleHeader/ScheduleHeader.tsx"],"sourcesContent":["import {\n Box,\n BoxProps,\n createVarsResolver,\n ElementProps,\n factory,\n Factory,\n StylesApiProps,\n useProps,\n useStyles,\n} from '@mantine/core';\nimport { ScheduleLabelsOverride } from '../../labels';\nimport {\n HeaderControl,\n HeaderControlStylesNames,\n ScheduleHeaderNext,\n ScheduleHeaderPrevious,\n ScheduleHeaderToday,\n} from './HeaderControl/HeaderControl';\nimport { MonthYearSelect, MonthYearSelectStylesNames } from './MonthYearSelect/MonthYearSelect';\nimport { ScheduleHeaderLabelsContext } from './ScheduleHeaderContext';\nimport { ViewSelect, ViewSelectStylesNames } from './ViewSelect/ViewSelect';\nimport classes from './ScheduleHeader.module.css';\n\nexport type CombinedScheduleHeaderStylesNames =\n | ScheduleHeaderStylesNames\n | ViewSelectStylesNames\n | HeaderControlStylesNames\n | MonthYearSelectStylesNames;\n\nexport type ScheduleHeaderStylesNames = 'header';\nexport type ScheduleHeaderCssVariables = {\n scheduleHeader: '--test';\n};\n\nexport interface ScheduleHeaderProps\n extends BoxProps, StylesApiProps<ScheduleHeaderFactory>, ElementProps<'div'> {\n __staticSelector?: string;\n\n /** Labels override shared with compound components rendered inside */\n labels?: ScheduleLabelsOverride;\n}\n\nexport type ScheduleHeaderFactory = Factory<{\n props: ScheduleHeaderProps;\n ref: HTMLDivElement;\n stylesNames: ScheduleHeaderStylesNames;\n vars: ScheduleHeaderCssVariables;\n staticComponents: {\n Control: typeof HeaderControl;\n Previous: typeof ScheduleHeaderPrevious;\n Next: typeof ScheduleHeaderNext;\n Today: typeof ScheduleHeaderToday;\n ViewSelect: typeof ViewSelect;\n MonthYearSelect: typeof MonthYearSelect;\n };\n}>;\n\nconst defaultProps = {\n __staticSelector: 'ScheduleHeader',\n} satisfies Partial<ScheduleHeaderProps>;\n\nconst varsResolver = createVarsResolver<ScheduleHeaderFactory>(() => ({\n scheduleHeader: {\n '--test': 'test',\n },\n}));\n\nexport const ScheduleHeader = factory<ScheduleHeaderFactory>((_props) => {\n const props = useProps('ScheduleHeader', defaultProps, _props);\n const {\n classNames,\n className,\n style,\n styles,\n unstyled,\n vars,\n attributes,\n __staticSelector,\n labels,\n ...others\n } = props;\n\n const getStyles = useStyles<ScheduleHeaderFactory>({\n name: __staticSelector,\n classes,\n props,\n className,\n style,\n classNames,\n styles,\n unstyled,\n vars,\n varsResolver,\n attributes,\n rootSelector: 'header',\n });\n\n return (\n <ScheduleHeaderLabelsContext.Provider value={labels}>\n <Box {...getStyles('header')} {...others} />\n </ScheduleHeaderLabelsContext.Provider>\n );\n});\n\nScheduleHeader.displayName = '@mantine/schedule/ScheduleHeader';\nScheduleHeader.classes = classes;\nScheduleHeader.varsResolver = varsResolver;\nScheduleHeader.Control = HeaderControl;\nScheduleHeader.Next = ScheduleHeaderNext;\nScheduleHeader.Previous = ScheduleHeaderPrevious;\nScheduleHeader.Today = ScheduleHeaderToday;\nScheduleHeader.ViewSelect = ViewSelect;\nScheduleHeader.MonthYearSelect = MonthYearSelect;\n"],"mappings":";;;;;;;;;AA0DA,MAAM,eAAe,EACnB,kBAAkB,iBACpB;AAEA,MAAM,gBAAA,GAAA,cAAA,mBAAA,QAAgE,EACpE,gBAAgB,EACd,UAAU,OACZ,EACF,EAAE;AAEF,MAAa,kBAAA,GAAA,cAAA,QAAA,EAAiD,WAAW;CACvE,MAAM,SAAA,GAAA,cAAA,SAAA,CAAiB,kBAAkB,cAAc,MAAM;CAC7D,MAAM,EACJ,YACA,WACA,OACA,QACA,UACA,MACA,YACA,kBACA,QACA,GAAG,WACD;CAEJ,MAAM,aAAA,GAAA,cAAA,UAAA,CAA6C;EACjD,MAAM;EACN,SAAA,8BAAA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA,cAAc;CAChB,CAAC;CAED,OACE,iBAAA,GAAA,kBAAA,IAAA,CAACA,8BAAAA,4BAA4B,UAA7B;EAAsC,OAAO;YAC3C,iBAAA,GAAA,kBAAA,IAAA,CAACC,cAAAA,KAAD;GAAK,GAAI,UAAU,QAAQ;GAAG,GAAI;EAAS,CAAA;CACP,CAAA;AAE1C,CAAC;AAED,eAAe,cAAc;AAC7B,eAAe,UAAUC,8BAAAA;AACzB,eAAe,eAAe;AAC9B,eAAe,UAAUC,sBAAAA;AACzB,eAAe,OAAOC,sBAAAA;AACtB,eAAe,WAAWC,sBAAAA;AAC1B,eAAe,QAAQC,sBAAAA;AACvB,eAAe,aAAaC,mBAAAA;AAC5B,eAAe,kBAAkBC,wBAAAA"}
1
+ {"version":3,"file":"ScheduleHeader.cjs","names":["createVarsResolver","factory","useProps","useStyles","ScheduleHeaderLabelsContext","Box","classes","HeaderControl","ScheduleHeaderNext","ScheduleHeaderPrevious","ScheduleHeaderToday","ViewSelect","MonthYearSelect"],"sources":["../../../src/components/ScheduleHeader/ScheduleHeader.tsx"],"sourcesContent":["import {\n Box,\n BoxProps,\n createVarsResolver,\n ElementProps,\n factory,\n Factory,\n StylesApiProps,\n useProps,\n useStyles,\n} from '@mantine/core';\nimport { ScheduleLabelsOverride } from '../../labels';\nimport {\n HeaderControl,\n HeaderControlStylesNames,\n ScheduleHeaderNext,\n ScheduleHeaderPrevious,\n ScheduleHeaderToday,\n} from './HeaderControl/HeaderControl';\nimport { MonthYearSelect, MonthYearSelectStylesNames } from './MonthYearSelect/MonthYearSelect';\nimport { ScheduleHeaderLabelsContext } from './ScheduleHeaderContext';\nimport { ViewSelect, ViewSelectStylesNames } from './ViewSelect/ViewSelect';\nimport classes from './ScheduleHeader.module.css';\n\nexport type CombinedScheduleHeaderStylesNames =\n | ScheduleHeaderStylesNames\n | ViewSelectStylesNames\n | HeaderControlStylesNames\n | MonthYearSelectStylesNames;\n\nexport type ScheduleHeaderStylesNames = 'header';\nexport type ScheduleHeaderCssVariables = {\n scheduleHeader: '--test';\n};\n\nexport interface ScheduleHeaderProps\n extends BoxProps, StylesApiProps<ScheduleHeaderFactory>, ElementProps<'div'> {\n __staticSelector?: string;\n\n /** Labels override shared with compound components rendered inside */\n labels?: ScheduleLabelsOverride;\n}\n\nexport type ScheduleHeaderFactory = Factory<{\n props: ScheduleHeaderProps;\n ref: HTMLDivElement;\n stylesNames: ScheduleHeaderStylesNames;\n vars: ScheduleHeaderCssVariables;\n staticComponents: {\n Control: typeof HeaderControl;\n Previous: typeof ScheduleHeaderPrevious;\n Next: typeof ScheduleHeaderNext;\n Today: typeof ScheduleHeaderToday;\n ViewSelect: typeof ViewSelect;\n MonthYearSelect: typeof MonthYearSelect;\n };\n}>;\n\nconst defaultProps = {\n __staticSelector: 'ScheduleHeader',\n} satisfies Partial<ScheduleHeaderProps>;\n\nconst varsResolver = createVarsResolver<ScheduleHeaderFactory>(() => ({\n scheduleHeader: {\n '--test': 'test',\n },\n}));\n\nexport const ScheduleHeader = factory<ScheduleHeaderFactory>((_props) => {\n const props = useProps('ScheduleHeader', defaultProps, _props);\n const {\n classNames,\n className,\n style,\n styles,\n unstyled,\n vars,\n attributes,\n __staticSelector,\n labels,\n ...others\n } = props;\n\n const getStyles = useStyles<ScheduleHeaderFactory>({\n name: __staticSelector,\n classes,\n props,\n className,\n style,\n classNames,\n styles,\n unstyled,\n vars,\n varsResolver,\n attributes,\n rootSelector: 'header',\n });\n\n return (\n <ScheduleHeaderLabelsContext.Provider value={labels}>\n <Box {...getStyles('header')} {...others} />\n </ScheduleHeaderLabelsContext.Provider>\n );\n});\n\nScheduleHeader.displayName = '@mantine/schedule/ScheduleHeader';\nScheduleHeader.classes = classes;\nScheduleHeader.varsResolver = varsResolver;\nScheduleHeader.Control = HeaderControl;\nScheduleHeader.Next = ScheduleHeaderNext;\nScheduleHeader.Previous = ScheduleHeaderPrevious;\nScheduleHeader.Today = ScheduleHeaderToday;\nScheduleHeader.ViewSelect = ViewSelect;\nScheduleHeader.MonthYearSelect = MonthYearSelect;\n"],"mappings":";;;;;;;;;AA0DA,MAAM,eAAe,EACnB,kBAAkB,iBACpB;AAEA,MAAM,gBAAA,GAAeA,cAAAA,mBAAAA,QAAiD,EACpE,gBAAgB,EACd,UAAU,OACZ,EACF,EAAE;AAEF,MAAa,kBAAA,GAAiBC,cAAAA,QAAAA,EAAgC,WAAW;CACvE,MAAM,SAAA,GAAQC,cAAAA,SAAAA,CAAS,kBAAkB,cAAc,MAAM;CAC7D,MAAM,EACJ,YACA,WACA,OACA,QACA,UACA,MACA,YACA,kBACA,QACA,GAAG,WACD;CAEJ,MAAM,aAAA,GAAYC,cAAAA,UAAAA,CAAiC;EACjD,MAAM;EACN,SAAA,8BAAA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA,cAAc;CAChB,CAAC;CAED,OACE,iBAAA,GAAA,kBAAA,IAAA,CAACC,8BAAAA,4BAA4B,UAA7B;EAAsC,OAAO;EAC3C,UAAA,iBAAA,GAAA,kBAAA,IAAA,CAACC,cAAAA,KAAD;GAAK,GAAI,UAAU,QAAQ;GAAG,GAAI;EAAS,CAAA;CACP,CAAA;AAE1C,CAAC;AAED,eAAe,cAAc;AAC7B,eAAe,UAAUC,8BAAAA;AACzB,eAAe,eAAe;AAC9B,eAAe,UAAUC,sBAAAA;AACzB,eAAe,OAAOC,sBAAAA;AACtB,eAAe,WAAWC,sBAAAA;AAC1B,eAAe,QAAQC,sBAAAA;AACvB,eAAe,aAAaC,mBAAAA;AAC5B,eAAe,kBAAkBC,wBAAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"ScheduleHeaderBase.cjs","names":["ScheduleHeader","getLabel","classes","NativeSelect"],"sources":["../../../src/components/ScheduleHeader/ScheduleHeaderBase.tsx"],"sourcesContent":["import { NativeSelect, StylesApiProps } from '@mantine/core';\nimport { getLabel, ScheduleLabelsOverride } from '../../labels';\nimport { DateStringValue, ScheduleViewLevel } from '../../types';\nimport { MonthYearSelectProps } from './MonthYearSelect/MonthYearSelect';\nimport { ScheduleHeader } from './ScheduleHeader';\nimport { ViewSelectProps } from './ViewSelect/ViewSelect';\nimport classes from './ScheduleHeader.module.css';\n\ninterface NavigationHandlers {\n /** Handler for previous button click, returns new date */\n previous: () => DateStringValue;\n\n /** Handler for next button click, returns new date */\n next: () => DateStringValue;\n\n /** Handler for today button click, returns new date */\n today: () => DateStringValue;\n}\n\ninterface HeaderControlOptions {\n /** Title to render in a simple control (used by DayView, WeekView) */\n title?: React.ReactNode;\n /** MonthYearSelect props (used by MonthView, YearView) */\n monthYearSelect?: {\n yearValue: number;\n monthValue: number;\n onYearChange?: (year: number) => void;\n onMonthChange?: (month: number) => void;\n withMonths?: boolean;\n } & Partial<MonthYearSelectProps>;\n /** Minimum width for control */\n miw?: React.CSSProperties['minWidth'];\n}\n\nexport interface ScheduleHeaderBaseProps {\n /** Current view level */\n view: ScheduleViewLevel;\n\n /** Navigation handlers for previous, next, and today */\n navigationHandlers: NavigationHandlers;\n\n /** Central control configuration (either title or monthYearSelect) */\n control: HeaderControlOptions;\n\n /** Label overrides */\n labels?: ScheduleLabelsOverride;\n\n /** Called when date is changed */\n onDateChange?: (date: DateStringValue) => void;\n\n /** Called when view is changed */\n onViewChange?: (view: ScheduleViewLevel) => void;\n\n /** Props passed to previous control button */\n previousControlProps?: React.ComponentProps<'button'>;\n\n /** Props passed to next control button */\n nextControlProps?: React.ComponentProps<'button'>;\n\n /** Props passed to today control button */\n todayControlProps?: React.ComponentProps<'button'>;\n\n /** Props passed to view select */\n viewSelectProps?: Partial<ViewSelectProps>;\n\n /** Styles API props to pass through */\n stylesApiProps?: StylesApiProps<any>;\n\n /** Called when agenda button is clicked */\n onAgendaClick?: () => void;\n\n /** Whether the agenda view is currently active */\n agendaActive?: boolean;\n}\n\nconst VIEW_LEVELS: ScheduleViewLevel[] = ['day', 'week', 'month', 'year'];\n\nexport function ScheduleHeaderBase({\n view,\n navigationHandlers,\n control,\n labels,\n onDateChange,\n onViewChange,\n previousControlProps,\n nextControlProps,\n todayControlProps,\n viewSelectProps,\n stylesApiProps,\n onAgendaClick,\n agendaActive,\n}: ScheduleHeaderBaseProps) {\n const centralControl = control.monthYearSelect ? (\n <ScheduleHeader.MonthYearSelect\n {...stylesApiProps}\n labels={labels}\n {...control.monthYearSelect}\n />\n ) : (\n <ScheduleHeader.Control {...stylesApiProps} interactive={false} miw={control.miw}>\n {control.title}\n </ScheduleHeader.Control>\n );\n\n const views = viewSelectProps?.views || VIEW_LEVELS;\n const compactViewSelectData = views.map((v) => ({\n value: v,\n label: getLabel(v, labels) as string,\n }));\n\n return (\n <ScheduleHeader {...stylesApiProps} labels={labels}>\n <div className={classes.navigationGroup}>\n <ScheduleHeader.Previous\n {...stylesApiProps}\n onClick={() => onDateChange?.(navigationHandlers.previous())}\n labels={labels}\n {...previousControlProps}\n />\n\n {centralControl}\n\n <ScheduleHeader.Next\n {...stylesApiProps}\n onClick={() => onDateChange?.(navigationHandlers.next())}\n labels={labels}\n {...nextControlProps}\n />\n </div>\n\n <div className={classes.todayControl}>\n <ScheduleHeader.Today\n {...stylesApiProps}\n onClick={() => onDateChange?.(navigationHandlers.today())}\n labels={labels}\n {...todayControlProps}\n />\n {onAgendaClick && (\n <ScheduleHeader.Control\n {...stylesApiProps}\n data-type=\"agenda\"\n active={agendaActive}\n onClick={onAgendaClick}\n aria-label={getLabel('agenda', labels) as string}\n >\n {getLabel('agenda', labels)}\n </ScheduleHeader.Control>\n )}\n </div>\n\n <div className={classes.compactControls}>\n {onAgendaClick && (\n <ScheduleHeader.Control\n {...stylesApiProps}\n data-type=\"agenda\"\n active={agendaActive}\n onClick={onAgendaClick}\n aria-label={getLabel('agenda', labels) as string}\n className={classes.compactAgendaControl}\n >\n {getLabel('agenda', labels)}\n </ScheduleHeader.Control>\n )}\n <NativeSelect\n className={classes.compactViewSelect}\n data={compactViewSelectData}\n value={view}\n onChange={(event) => onViewChange?.(event.currentTarget.value as ScheduleViewLevel)}\n aria-label={getLabel('viewSelectLabel', labels) as string}\n size=\"sm\"\n />\n </div>\n\n <div className={classes.viewSelect} style={{ marginInlineStart: 'auto' }}>\n <ScheduleHeader.ViewSelect\n value={view}\n onChange={onViewChange}\n labels={labels}\n {...stylesApiProps}\n {...viewSelectProps}\n />\n </div>\n </ScheduleHeader>\n );\n}\n"],"mappings":";;;;;;;AA2EA,MAAM,cAAmC;CAAC;CAAO;CAAQ;CAAS;AAAM;AAExE,SAAgB,mBAAmB,EACjC,MACA,oBACA,SACA,QACA,cACA,cACA,sBACA,kBACA,mBACA,iBACA,gBACA,eACA,gBAC0B;CAC1B,MAAM,iBAAiB,QAAQ,kBAC7B,iBAAA,GAAA,kBAAA,IAAA,CAACA,uBAAAA,eAAe,iBAAhB;EACE,GAAI;EACI;EACR,GAAI,QAAQ;CACb,CAAA,IAED,iBAAA,GAAA,kBAAA,IAAA,CAACA,uBAAAA,eAAe,SAAhB;EAAwB,GAAI;EAAgB,aAAa;EAAO,KAAK,QAAQ;YAC1E,QAAQ;CACa,CAAA;CAI1B,MAAM,yBADQ,iBAAiB,SAAS,YAAA,CACJ,KAAK,OAAO;EAC9C,OAAO;EACP,OAAOC,eAAAA,SAAS,GAAG,MAAM;CAC3B,EAAE;CAEF,OACE,iBAAA,GAAA,kBAAA,KAAA,CAACD,uBAAAA,gBAAD;EAAgB,GAAI;EAAwB;YAA5C;GACE,iBAAA,GAAA,kBAAA,KAAA,CAAC,OAAD;IAAK,WAAWE,8BAAAA,QAAQ;cAAxB;KACE,iBAAA,GAAA,kBAAA,IAAA,CAACF,uBAAAA,eAAe,UAAhB;MACE,GAAI;MACJ,eAAe,eAAe,mBAAmB,SAAS,CAAC;MACnD;MACR,GAAI;KACL,CAAA;KAEA;KAED,iBAAA,GAAA,kBAAA,IAAA,CAACA,uBAAAA,eAAe,MAAhB;MACE,GAAI;MACJ,eAAe,eAAe,mBAAmB,KAAK,CAAC;MAC/C;MACR,GAAI;KACL,CAAA;IACE;;GAEL,iBAAA,GAAA,kBAAA,KAAA,CAAC,OAAD;IAAK,WAAWE,8BAAAA,QAAQ;cAAxB,CACE,iBAAA,GAAA,kBAAA,IAAA,CAACF,uBAAAA,eAAe,OAAhB;KACE,GAAI;KACJ,eAAe,eAAe,mBAAmB,MAAM,CAAC;KAChD;KACR,GAAI;IACL,CAAA,GACA,iBACC,iBAAA,GAAA,kBAAA,IAAA,CAACA,uBAAAA,eAAe,SAAhB;KACE,GAAI;KACJ,aAAU;KACV,QAAQ;KACR,SAAS;KACT,cAAYC,eAAAA,SAAS,UAAU,MAAM;eAEpCA,eAAAA,SAAS,UAAU,MAAM;IACJ,CAAA,CAEvB;;GAEL,iBAAA,GAAA,kBAAA,KAAA,CAAC,OAAD;IAAK,WAAWC,8BAAAA,QAAQ;cAAxB,CACG,iBACC,iBAAA,GAAA,kBAAA,IAAA,CAACF,uBAAAA,eAAe,SAAhB;KACE,GAAI;KACJ,aAAU;KACV,QAAQ;KACR,SAAS;KACT,cAAYC,eAAAA,SAAS,UAAU,MAAM;KACrC,WAAWC,8BAAAA,QAAQ;eAElBD,eAAAA,SAAS,UAAU,MAAM;IACJ,CAAA,GAE1B,iBAAA,GAAA,kBAAA,IAAA,CAACE,cAAAA,cAAD;KACE,WAAWD,8BAAAA,QAAQ;KACnB,MAAM;KACN,OAAO;KACP,WAAW,UAAU,eAAe,MAAM,cAAc,KAA0B;KAClF,cAAYD,eAAAA,SAAS,mBAAmB,MAAM;KAC9C,MAAK;IACN,CAAA,CACE;;GAEL,iBAAA,GAAA,kBAAA,IAAA,CAAC,OAAD;IAAK,WAAWC,8BAAAA,QAAQ;IAAY,OAAO,EAAE,mBAAmB,OAAO;cACrE,iBAAA,GAAA,kBAAA,IAAA,CAACF,uBAAAA,eAAe,YAAhB;KACE,OAAO;KACP,UAAU;KACF;KACR,GAAI;KACJ,GAAI;IACL,CAAA;GACE,CAAA;EACS;;AAEpB"}
1
+ {"version":3,"file":"ScheduleHeaderBase.cjs","names":["ScheduleHeader","getLabel","classes","NativeSelect"],"sources":["../../../src/components/ScheduleHeader/ScheduleHeaderBase.tsx"],"sourcesContent":["import { NativeSelect, StylesApiProps } from '@mantine/core';\nimport { getLabel, ScheduleLabelsOverride } from '../../labels';\nimport { DateStringValue, ScheduleViewLevel } from '../../types';\nimport { MonthYearSelectProps } from './MonthYearSelect/MonthYearSelect';\nimport { ScheduleHeader } from './ScheduleHeader';\nimport { ViewSelectProps } from './ViewSelect/ViewSelect';\nimport classes from './ScheduleHeader.module.css';\n\ninterface NavigationHandlers {\n /** Handler for previous button click, returns new date */\n previous: () => DateStringValue;\n\n /** Handler for next button click, returns new date */\n next: () => DateStringValue;\n\n /** Handler for today button click, returns new date */\n today: () => DateStringValue;\n}\n\ninterface HeaderControlOptions {\n /** Title to render in a simple control (used by DayView, WeekView) */\n title?: React.ReactNode;\n /** MonthYearSelect props (used by MonthView, YearView) */\n monthYearSelect?: {\n yearValue: number;\n monthValue: number;\n onYearChange?: (year: number) => void;\n onMonthChange?: (month: number) => void;\n withMonths?: boolean;\n } & Partial<MonthYearSelectProps>;\n /** Minimum width for control */\n miw?: React.CSSProperties['minWidth'];\n}\n\nexport interface ScheduleHeaderBaseProps {\n /** Current view level */\n view: ScheduleViewLevel;\n\n /** Navigation handlers for previous, next, and today */\n navigationHandlers: NavigationHandlers;\n\n /** Central control configuration (either title or monthYearSelect) */\n control: HeaderControlOptions;\n\n /** Label overrides */\n labels?: ScheduleLabelsOverride;\n\n /** Called when date is changed */\n onDateChange?: (date: DateStringValue) => void;\n\n /** Called when view is changed */\n onViewChange?: (view: ScheduleViewLevel) => void;\n\n /** Props passed to previous control button */\n previousControlProps?: React.ComponentProps<'button'>;\n\n /** Props passed to next control button */\n nextControlProps?: React.ComponentProps<'button'>;\n\n /** Props passed to today control button */\n todayControlProps?: React.ComponentProps<'button'>;\n\n /** Props passed to view select */\n viewSelectProps?: Partial<ViewSelectProps>;\n\n /** Styles API props to pass through */\n stylesApiProps?: StylesApiProps<any>;\n\n /** Called when agenda button is clicked */\n onAgendaClick?: () => void;\n\n /** Whether the agenda view is currently active */\n agendaActive?: boolean;\n}\n\nconst VIEW_LEVELS: ScheduleViewLevel[] = ['day', 'week', 'month', 'year'];\n\nexport function ScheduleHeaderBase({\n view,\n navigationHandlers,\n control,\n labels,\n onDateChange,\n onViewChange,\n previousControlProps,\n nextControlProps,\n todayControlProps,\n viewSelectProps,\n stylesApiProps,\n onAgendaClick,\n agendaActive,\n}: ScheduleHeaderBaseProps) {\n const centralControl = control.monthYearSelect ? (\n <ScheduleHeader.MonthYearSelect\n {...stylesApiProps}\n labels={labels}\n {...control.monthYearSelect}\n />\n ) : (\n <ScheduleHeader.Control {...stylesApiProps} interactive={false} miw={control.miw}>\n {control.title}\n </ScheduleHeader.Control>\n );\n\n const views = viewSelectProps?.views || VIEW_LEVELS;\n const compactViewSelectData = views.map((v) => ({\n value: v,\n label: getLabel(v, labels) as string,\n }));\n\n return (\n <ScheduleHeader {...stylesApiProps} labels={labels}>\n <div className={classes.navigationGroup}>\n <ScheduleHeader.Previous\n {...stylesApiProps}\n onClick={() => onDateChange?.(navigationHandlers.previous())}\n labels={labels}\n {...previousControlProps}\n />\n\n {centralControl}\n\n <ScheduleHeader.Next\n {...stylesApiProps}\n onClick={() => onDateChange?.(navigationHandlers.next())}\n labels={labels}\n {...nextControlProps}\n />\n </div>\n\n <div className={classes.todayControl}>\n <ScheduleHeader.Today\n {...stylesApiProps}\n onClick={() => onDateChange?.(navigationHandlers.today())}\n labels={labels}\n {...todayControlProps}\n />\n {onAgendaClick && (\n <ScheduleHeader.Control\n {...stylesApiProps}\n data-type=\"agenda\"\n active={agendaActive}\n onClick={onAgendaClick}\n aria-label={getLabel('agenda', labels) as string}\n >\n {getLabel('agenda', labels)}\n </ScheduleHeader.Control>\n )}\n </div>\n\n <div className={classes.compactControls}>\n {onAgendaClick && (\n <ScheduleHeader.Control\n {...stylesApiProps}\n data-type=\"agenda\"\n active={agendaActive}\n onClick={onAgendaClick}\n aria-label={getLabel('agenda', labels) as string}\n className={classes.compactAgendaControl}\n >\n {getLabel('agenda', labels)}\n </ScheduleHeader.Control>\n )}\n <NativeSelect\n className={classes.compactViewSelect}\n data={compactViewSelectData}\n value={view}\n onChange={(event) => onViewChange?.(event.currentTarget.value as ScheduleViewLevel)}\n aria-label={getLabel('viewSelectLabel', labels) as string}\n size=\"sm\"\n />\n </div>\n\n <div className={classes.viewSelect} style={{ marginInlineStart: 'auto' }}>\n <ScheduleHeader.ViewSelect\n value={view}\n onChange={onViewChange}\n labels={labels}\n {...stylesApiProps}\n {...viewSelectProps}\n />\n </div>\n </ScheduleHeader>\n );\n}\n"],"mappings":";;;;;;;AA2EA,MAAM,cAAmC;CAAC;CAAO;CAAQ;CAAS;AAAM;AAExE,SAAgB,mBAAmB,EACjC,MACA,oBACA,SACA,QACA,cACA,cACA,sBACA,kBACA,mBACA,iBACA,gBACA,eACA,gBAC0B;CAC1B,MAAM,iBAAiB,QAAQ,kBAC7B,iBAAA,GAAA,kBAAA,IAAA,CAACA,uBAAAA,eAAe,iBAAhB;EACE,GAAI;EACI;EACR,GAAI,QAAQ;CACb,CAAA,IAED,iBAAA,GAAA,kBAAA,IAAA,CAACA,uBAAAA,eAAe,SAAhB;EAAwB,GAAI;EAAgB,aAAa;EAAO,KAAK,QAAQ;EAC1E,UAAA,QAAQ;CACa,CAAA;CAI1B,MAAM,yBADQ,iBAAiB,SAAS,YAAA,CACJ,KAAK,OAAO;EAC9C,OAAO;EACP,OAAOC,eAAAA,SAAS,GAAG,MAAM;CAC3B,EAAE;CAEF,OACE,iBAAA,GAAA,kBAAA,KAAA,CAACD,uBAAAA,gBAAD;EAAgB,GAAI;EAAwB;EAA5C,UAAA;GACE,iBAAA,GAAA,kBAAA,KAAA,CAAC,OAAD;IAAK,WAAWE,8BAAAA,QAAQ;IAAxB,UAAA;KACE,iBAAA,GAAA,kBAAA,IAAA,CAACF,uBAAAA,eAAe,UAAhB;MACE,GAAI;MACJ,eAAe,eAAe,mBAAmB,SAAS,CAAC;MACnD;MACR,GAAI;KACL,CAAA;KAEA;KAED,iBAAA,GAAA,kBAAA,IAAA,CAACA,uBAAAA,eAAe,MAAhB;MACE,GAAI;MACJ,eAAe,eAAe,mBAAmB,KAAK,CAAC;MAC/C;MACR,GAAI;KACL,CAAA;IACE;;GAEL,iBAAA,GAAA,kBAAA,KAAA,CAAC,OAAD;IAAK,WAAWE,8BAAAA,QAAQ;IAAxB,UAAA,CACE,iBAAA,GAAA,kBAAA,IAAA,CAACF,uBAAAA,eAAe,OAAhB;KACE,GAAI;KACJ,eAAe,eAAe,mBAAmB,MAAM,CAAC;KAChD;KACR,GAAI;IACL,CAAA,GACA,iBACC,iBAAA,GAAA,kBAAA,IAAA,CAACA,uBAAAA,eAAe,SAAhB;KACE,GAAI;KACJ,aAAU;KACV,QAAQ;KACR,SAAS;KACT,cAAYC,eAAAA,SAAS,UAAU,MAAM;KAEpCA,UAAAA,eAAAA,SAAS,UAAU,MAAM;IACJ,CAAA,CAEvB;;GAEL,iBAAA,GAAA,kBAAA,KAAA,CAAC,OAAD;IAAK,WAAWC,8BAAAA,QAAQ;IAAxB,UAAA,CACG,iBACC,iBAAA,GAAA,kBAAA,IAAA,CAACF,uBAAAA,eAAe,SAAhB;KACE,GAAI;KACJ,aAAU;KACV,QAAQ;KACR,SAAS;KACT,cAAYC,eAAAA,SAAS,UAAU,MAAM;KACrC,WAAWC,8BAAAA,QAAQ;KAElBD,UAAAA,eAAAA,SAAS,UAAU,MAAM;IACJ,CAAA,GAE1B,iBAAA,GAAA,kBAAA,IAAA,CAACE,cAAAA,cAAD;KACE,WAAWD,8BAAAA,QAAQ;KACnB,MAAM;KACN,OAAO;KACP,WAAW,UAAU,eAAe,MAAM,cAAc,KAA0B;KAClF,cAAYD,eAAAA,SAAS,mBAAmB,MAAM;KAC9C,MAAK;IACN,CAAA,CACE;;GAEL,iBAAA,GAAA,kBAAA,IAAA,CAAC,OAAD;IAAK,WAAWC,8BAAAA,QAAQ;IAAY,OAAO,EAAE,mBAAmB,OAAO;IACrE,UAAA,iBAAA,GAAA,kBAAA,IAAA,CAACF,uBAAAA,eAAe,YAAhB;KACE,OAAO;KACP,UAAU;KACF;KACR,GAAI;KACJ,GAAI;IACL,CAAA;GACE,CAAA;EACS;;AAEpB"}
@@ -1 +1 @@
1
- {"version":3,"file":"ScheduleHeaderContext.cjs","names":[],"sources":["../../../src/components/ScheduleHeader/ScheduleHeaderContext.ts"],"sourcesContent":["import { createContext, useContext } from 'react';\nimport type { ScheduleLabelsOverride } from '../../labels';\n\nexport const ScheduleHeaderLabelsContext = createContext<ScheduleLabelsOverride | undefined>(\n undefined\n);\nScheduleHeaderLabelsContext.displayName = '@mantine/schedule/ScheduleHeaderLabelsContext';\n\nexport function useScheduleHeaderLabels(\n override?: ScheduleLabelsOverride\n): ScheduleLabelsOverride | undefined {\n const contextLabels = useContext(ScheduleHeaderLabelsContext);\n if (!override) {\n return contextLabels;\n }\n if (!contextLabels) {\n return override;\n }\n return { ...contextLabels, ...override };\n}\n"],"mappings":";;;AAGA,MAAa,+BAAA,GAAA,MAAA,cAAA,CACX,KAAA,CACF;AACA,4BAA4B,cAAc;AAE1C,SAAgB,wBACd,UACoC;CACpC,MAAM,iBAAA,GAAA,MAAA,WAAA,CAA2B,2BAA2B;CAC5D,IAAI,CAAC,UACH,OAAO;CAET,IAAI,CAAC,eACH,OAAO;CAET,OAAO;EAAE,GAAG;EAAe,GAAG;CAAS;AACzC"}
1
+ {"version":3,"file":"ScheduleHeaderContext.cjs","names":["createContext","useContext"],"sources":["../../../src/components/ScheduleHeader/ScheduleHeaderContext.ts"],"sourcesContent":["import { createContext, useContext } from 'react';\nimport type { ScheduleLabelsOverride } from '../../labels';\n\nexport const ScheduleHeaderLabelsContext = createContext<ScheduleLabelsOverride | undefined>(\n undefined\n);\nScheduleHeaderLabelsContext.displayName = '@mantine/schedule/ScheduleHeaderLabelsContext';\n\nexport function useScheduleHeaderLabels(\n override?: ScheduleLabelsOverride\n): ScheduleLabelsOverride | undefined {\n const contextLabels = useContext(ScheduleHeaderLabelsContext);\n if (!override) {\n return contextLabels;\n }\n if (!contextLabels) {\n return override;\n }\n return { ...contextLabels, ...override };\n}\n"],"mappings":";;;AAGA,MAAa,+BAAA,GAA8BA,MAAAA,cAAAA,CACzC,KAAA,CACF;AACA,4BAA4B,cAAc;AAE1C,SAAgB,wBACd,UACoC;CACpC,MAAM,iBAAA,GAAgBC,MAAAA,WAAAA,CAAW,2BAA2B;CAC5D,IAAI,CAAC,UACH,OAAO;CAET,IAAI,CAAC,eACH,OAAO;CAET,OAAO;EAAE,GAAG;EAAe,GAAG;CAAS;AACzC"}
@@ -1 +1 @@
1
- {"version":3,"file":"ViewSelect.cjs","names":["useScheduleHeaderLabels","HeaderControl","getLabel","Box","classes"],"sources":["../../../../src/components/ScheduleHeader/ViewSelect/ViewSelect.tsx"],"sourcesContent":["import { useEffect, useRef } from 'react';\nimport {\n Box,\n BoxProps,\n ElementProps,\n factory,\n Factory,\n MantineRadius,\n StylesApiProps,\n useDirection,\n useProps,\n useResolvedStylesApi,\n useStyles,\n} from '@mantine/core';\nimport { getLabel, ScheduleLabels, ScheduleLabelsOverride } from '../../../labels';\nimport { ScheduleViewLevel } from '../../../types';\nimport { HeaderControl } from '../HeaderControl/HeaderControl';\nimport { useScheduleHeaderLabels } from '../ScheduleHeaderContext';\nimport classes from './ViewSelect.module.css';\n\nexport type ViewSelectStylesNames = 'viewSelect';\n\nexport interface ViewSelectProps\n extends BoxProps, StylesApiProps<ViewSelectFactory>, ElementProps<'div', 'value' | 'onChange'> {\n __staticSelector?: string;\n\n /** A list of views to display @default ['day', 'week', 'month', 'year'] */\n views?: readonly ScheduleViewLevel[];\n\n /** Selected view type */\n value?: ScheduleViewLevel;\n\n /** Called when view type changes */\n onChange?: (value: ScheduleViewLevel) => void;\n\n /** Key of `theme.radius` or any valid CSS value to set `border-radius` @default theme.defaultRadius */\n radius?: MantineRadius;\n\n /** Labels override */\n labels?: ScheduleLabelsOverride;\n}\n\nexport type ViewSelectFactory = Factory<{\n props: ViewSelectProps;\n ref: HTMLDivElement;\n stylesNames: ViewSelectStylesNames;\n}>;\n\nconst defaultProps = {\n __staticSelector: 'ViewSelect',\n views: ['day', 'week', 'month', 'year'],\n} satisfies Partial<ViewSelectProps>;\n\nexport const ViewSelect = factory<ViewSelectFactory>((_props) => {\n const props = useProps('ViewSelect', defaultProps, _props);\n const {\n classNames,\n className,\n style,\n styles,\n unstyled,\n vars,\n attributes,\n value,\n onChange,\n views,\n __staticSelector,\n radius,\n labels,\n ...others\n } = props;\n\n const getStyles = useStyles<ViewSelectFactory>({\n name: __staticSelector,\n classes,\n props,\n className,\n style,\n classNames,\n styles,\n unstyled,\n attributes,\n vars,\n rootSelector: 'viewSelect',\n });\n\n const resolvedLabels = useScheduleHeaderLabels(labels);\n\n const { resolvedClassNames, resolvedStyles } = useResolvedStylesApi<ViewSelectFactory>({\n classNames,\n styles,\n props,\n });\n\n const { dir } = useDirection();\n const controlsRef = useRef<(HTMLButtonElement | null)[]>([]);\n const activatedWithKeyboardRef = useRef(false);\n\n // Restore focus to the selected tab when the component mounts\n // This handles the case where focus is lost due to view switch (header unmount/remount)\n // Only restore focus if the view was activated via keyboard (Enter/Space)\n useEffect(() => {\n if (activatedWithKeyboardRef.current && document.activeElement === document.body) {\n const selectedIndex = views!.findIndex((view) => view === value);\n if (selectedIndex !== -1) {\n controlsRef.current[selectedIndex]?.focus();\n }\n }\n activatedWithKeyboardRef.current = false;\n }, []);\n\n const handleKeyDown = (event: React.KeyboardEvent<HTMLButtonElement>, index: number) => {\n const isRtl = dir === 'rtl';\n const nextKey = isRtl ? 'ArrowLeft' : 'ArrowRight';\n const prevKey = isRtl ? 'ArrowRight' : 'ArrowLeft';\n\n if (event.key === nextKey) {\n event.preventDefault();\n const nextIndex = index < views!.length - 1 ? index + 1 : 0;\n controlsRef.current[nextIndex]?.focus();\n } else if (event.key === prevKey) {\n event.preventDefault();\n const prevIndex = index > 0 ? index - 1 : views!.length - 1;\n controlsRef.current[prevIndex]?.focus();\n } else if (event.key === 'Home') {\n event.preventDefault();\n controlsRef.current[0]?.focus();\n } else if (event.key === 'End') {\n event.preventDefault();\n controlsRef.current[views!.length - 1]?.focus();\n } else if (event.key === 'Enter' || event.key === ' ') {\n activatedWithKeyboardRef.current = true;\n }\n };\n\n const switchToLabelKeys: Record<ScheduleViewLevel, keyof ScheduleLabels> = {\n day: 'switchToDayView',\n week: 'switchToWeekView',\n month: 'switchToMonthView',\n year: 'switchToYearView',\n };\n\n const items = views!.map((view, index) => {\n const isSelected = value === view;\n return (\n <HeaderControl\n key={view}\n ref={(node) => {\n controlsRef.current[index] = node;\n }}\n data-type={view}\n active={isSelected}\n onClick={() => onChange?.(view)}\n onKeyDown={(event) => handleKeyDown(event, index)}\n classNames={resolvedClassNames}\n styles={resolvedStyles}\n __staticSelector={__staticSelector}\n radius={radius}\n role=\"tab\"\n aria-label={getLabel(switchToLabelKeys[view], resolvedLabels) as string}\n aria-selected={isSelected}\n tabIndex={isSelected ? 0 : -1}\n >\n {getLabel(view, resolvedLabels)}\n </HeaderControl>\n );\n });\n\n return (\n <Box\n {...getStyles('viewSelect')}\n role=\"tablist\"\n aria-label={getLabel('viewSelectLabel', resolvedLabels)}\n {...others}\n >\n {items}\n </Box>\n );\n});\n\nViewSelect.displayName = '@mantine/schedule/ViewSelect';\nViewSelect.classes = classes;\n"],"mappings":"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"}
1
+ {"version":3,"file":"ViewSelect.cjs","names":["factory","useProps","useStyles","useScheduleHeaderLabels","useResolvedStylesApi","useDirection","useRef","HeaderControl","getLabel","Box","classes"],"sources":["../../../../src/components/ScheduleHeader/ViewSelect/ViewSelect.tsx"],"sourcesContent":["import { useEffect, useRef } from 'react';\nimport {\n Box,\n BoxProps,\n ElementProps,\n factory,\n Factory,\n MantineRadius,\n StylesApiProps,\n useDirection,\n useProps,\n useResolvedStylesApi,\n useStyles,\n} from '@mantine/core';\nimport { getLabel, ScheduleLabels, ScheduleLabelsOverride } from '../../../labels';\nimport { ScheduleViewLevel } from '../../../types';\nimport { HeaderControl } from '../HeaderControl/HeaderControl';\nimport { useScheduleHeaderLabels } from '../ScheduleHeaderContext';\nimport classes from './ViewSelect.module.css';\n\nexport type ViewSelectStylesNames = 'viewSelect';\n\nexport interface ViewSelectProps\n extends BoxProps, StylesApiProps<ViewSelectFactory>, ElementProps<'div', 'value' | 'onChange'> {\n __staticSelector?: string;\n\n /** A list of views to display @default ['day', 'week', 'month', 'year'] */\n views?: readonly ScheduleViewLevel[];\n\n /** Selected view type */\n value?: ScheduleViewLevel;\n\n /** Called when view type changes */\n onChange?: (value: ScheduleViewLevel) => void;\n\n /** Key of `theme.radius` or any valid CSS value to set `border-radius` @default theme.defaultRadius */\n radius?: MantineRadius;\n\n /** Labels override */\n labels?: ScheduleLabelsOverride;\n}\n\nexport type ViewSelectFactory = Factory<{\n props: ViewSelectProps;\n ref: HTMLDivElement;\n stylesNames: ViewSelectStylesNames;\n}>;\n\nconst defaultProps = {\n __staticSelector: 'ViewSelect',\n views: ['day', 'week', 'month', 'year'],\n} satisfies Partial<ViewSelectProps>;\n\nexport const ViewSelect = factory<ViewSelectFactory>((_props) => {\n const props = useProps('ViewSelect', defaultProps, _props);\n const {\n classNames,\n className,\n style,\n styles,\n unstyled,\n vars,\n attributes,\n value,\n onChange,\n views,\n __staticSelector,\n radius,\n labels,\n ...others\n } = props;\n\n const getStyles = useStyles<ViewSelectFactory>({\n name: __staticSelector,\n classes,\n props,\n className,\n style,\n classNames,\n styles,\n unstyled,\n attributes,\n vars,\n rootSelector: 'viewSelect',\n });\n\n const resolvedLabels = useScheduleHeaderLabels(labels);\n\n const { resolvedClassNames, resolvedStyles } = useResolvedStylesApi<ViewSelectFactory>({\n classNames,\n styles,\n props,\n });\n\n const { dir } = useDirection();\n const controlsRef = useRef<(HTMLButtonElement | null)[]>([]);\n const activatedWithKeyboardRef = useRef(false);\n\n // Restore focus to the selected tab when the component mounts\n // This handles the case where focus is lost due to view switch (header unmount/remount)\n // Only restore focus if the view was activated via keyboard (Enter/Space)\n useEffect(() => {\n if (activatedWithKeyboardRef.current && document.activeElement === document.body) {\n const selectedIndex = views!.findIndex((view) => view === value);\n if (selectedIndex !== -1) {\n controlsRef.current[selectedIndex]?.focus();\n }\n }\n activatedWithKeyboardRef.current = false;\n }, []);\n\n const handleKeyDown = (event: React.KeyboardEvent<HTMLButtonElement>, index: number) => {\n const isRtl = dir === 'rtl';\n const nextKey = isRtl ? 'ArrowLeft' : 'ArrowRight';\n const prevKey = isRtl ? 'ArrowRight' : 'ArrowLeft';\n\n if (event.key === nextKey) {\n event.preventDefault();\n const nextIndex = index < views!.length - 1 ? index + 1 : 0;\n controlsRef.current[nextIndex]?.focus();\n } else if (event.key === prevKey) {\n event.preventDefault();\n const prevIndex = index > 0 ? index - 1 : views!.length - 1;\n controlsRef.current[prevIndex]?.focus();\n } else if (event.key === 'Home') {\n event.preventDefault();\n controlsRef.current[0]?.focus();\n } else if (event.key === 'End') {\n event.preventDefault();\n controlsRef.current[views!.length - 1]?.focus();\n } else if (event.key === 'Enter' || event.key === ' ') {\n activatedWithKeyboardRef.current = true;\n }\n };\n\n const switchToLabelKeys: Record<ScheduleViewLevel, keyof ScheduleLabels> = {\n day: 'switchToDayView',\n week: 'switchToWeekView',\n month: 'switchToMonthView',\n year: 'switchToYearView',\n };\n\n const items = views!.map((view, index) => {\n const isSelected = value === view;\n return (\n <HeaderControl\n key={view}\n ref={(node) => {\n controlsRef.current[index] = node;\n }}\n data-type={view}\n active={isSelected}\n onClick={() => onChange?.(view)}\n onKeyDown={(event) => handleKeyDown(event, index)}\n classNames={resolvedClassNames}\n styles={resolvedStyles}\n __staticSelector={__staticSelector}\n radius={radius}\n role=\"tab\"\n aria-label={getLabel(switchToLabelKeys[view], resolvedLabels) as string}\n aria-selected={isSelected}\n tabIndex={isSelected ? 0 : -1}\n >\n {getLabel(view, resolvedLabels)}\n </HeaderControl>\n );\n });\n\n return (\n <Box\n {...getStyles('viewSelect')}\n role=\"tablist\"\n aria-label={getLabel('viewSelectLabel', resolvedLabels)}\n {...others}\n >\n {items}\n </Box>\n );\n});\n\nViewSelect.displayName = '@mantine/schedule/ViewSelect';\nViewSelect.classes = classes;\n"],"mappings":";;;;;;;;;AAgDA,MAAM,eAAe;CACnB,kBAAkB;CAClB,OAAO;EAAC;EAAO;EAAQ;EAAS;CAAM;AACxC;AAEA,MAAa,cAAA,GAAaA,cAAAA,QAAAA,EAA4B,WAAW;CAC/D,MAAM,SAAA,GAAQC,cAAAA,SAAAA,CAAS,cAAc,cAAc,MAAM;CACzD,MAAM,EACJ,YACA,WACA,OACA,QACA,UACA,MACA,YACA,OACA,UACA,OACA,kBACA,QACA,QACA,GAAG,WACD;CAEJ,MAAM,aAAA,GAAYC,cAAAA,UAAAA,CAA6B;EAC7C,MAAM;EACN,SAAA,0BAAA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA,cAAc;CAChB,CAAC;CAED,MAAM,iBAAiBC,8BAAAA,wBAAwB,MAAM;CAErD,MAAM,EAAE,oBAAoB,oBAAA,GAAmBC,cAAAA,qBAAAA,CAAwC;EACrF;EACA;EACA;CACF,CAAC;CAED,MAAM,EAAE,SAAA,GAAQC,cAAAA,aAAAA,CAAa;CAC7B,MAAM,eAAA,GAAcC,MAAAA,OAAAA,CAAqC,CAAC,CAAC;CAC3D,MAAM,4BAAA,GAA2BA,MAAAA,OAAAA,CAAO,KAAK;CAK7C,CAAA,GAAA,MAAA,UAAA,OAAgB;EACd,IAAI,yBAAyB,WAAW,SAAS,kBAAkB,SAAS,MAAM;GAChF,MAAM,gBAAgB,MAAO,WAAW,SAAS,SAAS,KAAK;GAC/D,IAAI,kBAAkB,IACpB,YAAY,QAAQ,cAAc,EAAE,MAAM;EAE9C;EACA,yBAAyB,UAAU;CACrC,GAAG,CAAC,CAAC;CAEL,MAAM,iBAAiB,OAA+C,UAAkB;EACtF,MAAM,QAAQ,QAAQ;EACtB,MAAM,UAAU,QAAQ,cAAc;EACtC,MAAM,UAAU,QAAQ,eAAe;EAEvC,IAAI,MAAM,QAAQ,SAAS;GACzB,MAAM,eAAe;GACrB,MAAM,YAAY,QAAQ,MAAO,SAAS,IAAI,QAAQ,IAAI;GAC1D,YAAY,QAAQ,UAAU,EAAE,MAAM;EACxC,OAAO,IAAI,MAAM,QAAQ,SAAS;GAChC,MAAM,eAAe;GACrB,MAAM,YAAY,QAAQ,IAAI,QAAQ,IAAI,MAAO,SAAS;GAC1D,YAAY,QAAQ,UAAU,EAAE,MAAM;EACxC,OAAO,IAAI,MAAM,QAAQ,QAAQ;GAC/B,MAAM,eAAe;GACrB,YAAY,QAAQ,EAAE,EAAE,MAAM;EAChC,OAAO,IAAI,MAAM,QAAQ,OAAO;GAC9B,MAAM,eAAe;GACrB,YAAY,QAAQ,MAAO,SAAS,EAAE,EAAE,MAAM;EAChD,OAAO,IAAI,MAAM,QAAQ,WAAW,MAAM,QAAQ,KAChD,yBAAyB,UAAU;CAEvC;CAEA,MAAM,oBAAqE;EACzE,KAAK;EACL,MAAM;EACN,OAAO;EACP,MAAM;CACR;CAEA,MAAM,QAAQ,MAAO,KAAK,MAAM,UAAU;EACxC,MAAM,aAAa,UAAU;EAC7B,OACE,iBAAA,GAAA,kBAAA,IAAA,CAACC,sBAAAA,eAAD;GAEE,MAAM,SAAS;IACb,YAAY,QAAQ,SAAS;GAC/B;GACA,aAAW;GACX,QAAQ;GACR,eAAe,WAAW,IAAI;GAC9B,YAAY,UAAU,cAAc,OAAO,KAAK;GAChD,YAAY;GACZ,QAAQ;GACU;GACV;GACR,MAAK;GACL,cAAYC,eAAAA,SAAS,kBAAkB,OAAO,cAAc;GAC5D,iBAAe;GACf,UAAU,aAAa,IAAI;GAE1BA,UAAAA,eAAAA,SAAS,MAAM,cAAc;EACjB,GAlBR,IAkBQ;CAEnB,CAAC;CAED,OACE,iBAAA,GAAA,kBAAA,IAAA,CAACC,cAAAA,KAAD;EACE,GAAI,UAAU,YAAY;EAC1B,MAAK;EACL,cAAYD,eAAAA,SAAS,mBAAmB,cAAc;EACtD,GAAI;EAEH,UAAA;CACE,CAAA;AAET,CAAC;AAED,WAAW,cAAc;AACzB,WAAW,UAAUE,0BAAAA"}
@@ -9,6 +9,7 @@ const require_get_week_days = require("../../utils/get-week-days/get-week-days.c
9
9
  const require_next_week = require("../../utils/next-week/next-week.cjs");
10
10
  const require_previous_week = require("../../utils/previous-week/previous-week.cjs");
11
11
  const require_is_all_day_event = require("../../utils/is-all-day-event/is-all-day-event.cjs");
12
+ const require_get_day_position = require("../../utils/get-day-position/get-day-position.cjs");
12
13
  const require_get_time_axis_event_style = require("../../utils/get-time-axis-event-style/get-time-axis-event-style.cjs");
13
14
  const require_calculate_drop_time = require("../../utils/calculate-drop-time/calculate-drop-time.cjs");
14
15
  const require_get_business_hours_mod = require("../../utils/get-business-hours-mod/get-business-hours-mod.cjs");
@@ -21,6 +22,7 @@ const require_AgendaView = require("../AgendaView/AgendaView.cjs");
21
22
  const require_CurrentTimeIndicator = require("../CurrentTimeIndicator/CurrentTimeIndicator.cjs");
22
23
  const require_DragContext = require("../DragContext/DragContext.cjs");
23
24
  const require_ScheduleEvent = require("../ScheduleEvent/ScheduleEvent.cjs");
25
+ const require_ScheduleBackgroundEvent = require("../ScheduleBackgroundEvent/ScheduleBackgroundEvent.cjs");
24
26
  const require_ScheduleHeaderBase = require("../ScheduleHeader/ScheduleHeaderBase.cjs");
25
27
  const require_get_week_label = require("./get-week-label/get-week-label.cjs");
26
28
  const require_get_week_view_events = require("./get-week-view-events/get-week-view-events.cjs");
@@ -55,7 +57,8 @@ const defaultProps = {
55
57
  withEventsDragAndDrop: false,
56
58
  withDragSlotSelect: false,
57
59
  withEventResize: false,
58
- mode: "default"
60
+ mode: "default",
61
+ withInteractiveBackgroundEvents: false
59
62
  };
60
63
  const varsResolver = (0, _mantine_core.createVarsResolver)((_theme, { radius, allDaySlotHeight, slotHeight }) => ({ weekView: {
61
64
  "--week-view-radius": radius !== void 0 ? (0, _mantine_core.getRadius)(radius) : void 0,
@@ -64,7 +67,7 @@ const varsResolver = (0, _mantine_core.createVarsResolver)((_theme, { radius, al
64
67
  } }));
65
68
  const WeekView = (0, _mantine_core.factory)((_props) => {
66
69
  const props = (0, _mantine_core.useProps)("WeekView", defaultProps, _props);
67
- const { classNames, className, style, styles, unstyled, attributes, vars, startTime, endTime, date, onDateChange, intervalMinutes, withSubHourGridLines, slotLabelFormat, withWeekendDays, weekendDays, firstDayOfWeek, weekdayFormat, radius, highlightToday, withCurrentTimeIndicator, forceCurrentTimeIndicator, getCurrentTime, scrollAreaProps, locale, withWeekNumber, withCurrentTimeBubble, withAllDaySlots, __staticSelector, withHeader, onViewChange, previousControlProps, nextControlProps, todayControlProps, viewSelectProps, weekLabelFormat, events, allDaySlotHeight, slotHeight, labels, highlightBusinessHours, businessHours, renderEventBody, renderEvent, withEventsDragAndDrop, onEventDrop, canDragEvent, onEventDragStart, onEventDragEnd, onTimeSlotClick, onAllDaySlotClick, onEventClick, withDragSlotSelect, onSlotDragEnd, mode, startScrollTime, renderWeekLabel, onExternalEventDrop, withEventResize, onEventResize, canResizeEvent, recurrenceExpansionLimit, getTimeSlotProps, withAgenda, ...others } = props;
70
+ const { classNames, className, style, styles, unstyled, attributes, vars, startTime, endTime, date, onDateChange, intervalMinutes, withSubHourGridLines, slotLabelFormat, withWeekendDays, weekendDays, firstDayOfWeek, weekdayFormat, radius, highlightToday, withCurrentTimeIndicator, forceCurrentTimeIndicator, getCurrentTime, scrollAreaProps, locale, withWeekNumber, withCurrentTimeBubble, withAllDaySlots, __staticSelector, withHeader, onViewChange, previousControlProps, nextControlProps, todayControlProps, viewSelectProps, weekLabelFormat, events, allDaySlotHeight, slotHeight, labels, highlightBusinessHours, businessHours, renderEventBody, renderEvent, withEventsDragAndDrop, onEventDrop, canDragEvent, eventDragInterval, onEventDragStart, onEventDragEnd, onTimeSlotClick, onAllDaySlotClick, onEventClick, withInteractiveBackgroundEvents, withDragSlotSelect, onSlotDragEnd, mode, startScrollTime, renderWeekLabel, onExternalEventDrop, withEventResize, onEventResize, canResizeEvent, eventResizeInterval, recurrenceExpansionLimit, getTimeSlotProps, withAgenda, ...others } = props;
68
71
  const [agendaOpen, setAgendaOpen] = (0, react.useState)(false);
69
72
  const getStyles = (0, _mantine_core.useStyles)({
70
73
  name: __staticSelector,
@@ -92,7 +95,6 @@ const WeekView = (0, _mantine_core.factory)((_props) => {
92
95
  __staticSelector,
93
96
  radius
94
97
  };
95
- const theme = (0, _mantine_core.useMantineTheme)();
96
98
  const [scrolled, setScrolled] = (0, react.useState)(false);
97
99
  const ctx = (0, _mantine_dates.useDatesContext)();
98
100
  const slots = require_get_day_time_intervals.getDayTimeIntervals({
@@ -105,11 +107,56 @@ const WeekView = (0, _mantine_core.factory)((_props) => {
105
107
  viewportRef,
106
108
  enabled: (withEventsDragAndDrop || !!onExternalEventDrop) && mode !== "static"
107
109
  });
110
+ const dragOffsetRef = (0, react.useRef)({
111
+ offset: 0,
112
+ size: 0
113
+ });
114
+ const getDropTimeForSlot = (target, draggedEvent) => {
115
+ const slotTime = slots[target.slotIndex].startTime;
116
+ return require_calculate_drop_time.calculateDropTime({
117
+ draggedEvent,
118
+ targetDate: target.day,
119
+ targetSlotTime: slotTime,
120
+ intervalMinutes,
121
+ dragIntervalMinutes: eventDragInterval,
122
+ slotOffset: eventDragInterval == null ? void 0 : dragOffsetRef.current.offset,
123
+ slotSize: eventDragInterval == null ? void 0 : dragOffsetRef.current.size,
124
+ startTime,
125
+ endTime
126
+ });
127
+ };
108
128
  const handleExternalDrop = (0, react.useCallback)((e, target) => {
109
129
  if (!onExternalEventDrop) return;
110
130
  const slotDate = (0, dayjs.default)(target.day).format("YYYY-MM-DD");
111
- onExternalEventDrop(e.dataTransfer, `${slotDate} ${slots[target.slotIndex].startTime}`);
112
- }, [onExternalEventDrop, slots]);
131
+ const slotTime = slots[target.slotIndex].startTime;
132
+ if (eventDragInterval == null) {
133
+ onExternalEventDrop(e.dataTransfer, `${slotDate} ${slotTime}`);
134
+ return;
135
+ }
136
+ const slotStart = `${slotDate} ${slotTime}`;
137
+ const { start } = require_calculate_drop_time.calculateDropTime({
138
+ draggedEvent: {
139
+ start: slotStart,
140
+ end: slotStart
141
+ },
142
+ targetDate: target.day,
143
+ targetSlotTime: slotTime,
144
+ intervalMinutes,
145
+ dragIntervalMinutes: eventDragInterval,
146
+ slotOffset: dragOffsetRef.current.offset,
147
+ slotSize: dragOffsetRef.current.size,
148
+ startTime,
149
+ endTime
150
+ });
151
+ onExternalEventDrop(e.dataTransfer, (0, dayjs.default)(start).format("YYYY-MM-DD HH:mm:ss"));
152
+ }, [
153
+ onExternalEventDrop,
154
+ slots,
155
+ eventDragInterval,
156
+ intervalMinutes,
157
+ startTime,
158
+ endTime
159
+ ]);
113
160
  const handleExternalAllDayDrop = (0, react.useCallback)((e, day) => {
114
161
  if (!onExternalEventDrop) return;
115
162
  onExternalEventDrop(e.dataTransfer, `${(0, dayjs.default)(day).format("YYYY-MM-DD")} 00:00:00`);
@@ -121,17 +168,21 @@ const WeekView = (0, _mantine_core.factory)((_props) => {
121
168
  canDragEvent,
122
169
  onEventDragStart,
123
170
  onEventDragEnd,
124
- calculateDropTarget: (target, draggedEvent) => {
125
- const slotTime = slots[target.slotIndex].startTime;
126
- return require_calculate_drop_time.calculateDropTime({
127
- draggedEvent,
128
- targetDate: target.day,
129
- targetSlotTime: slotTime,
130
- intervalMinutes
131
- });
132
- },
171
+ calculateDropTarget: getDropTimeForSlot,
133
172
  onExternalDrop: onExternalEventDrop ? handleExternalDrop : void 0
134
173
  });
174
+ const updateDragPreview = (target) => {
175
+ const draggedEvent = dragDrop.dragContextValue.draggedEvent;
176
+ if (eventDragInterval == null || !draggedEvent) return;
177
+ const { start, end } = getDropTimeForSlot(target, draggedEvent);
178
+ const newStart = (0, dayjs.default)(start).format("YYYY-MM-DD HH:mm:ss");
179
+ if (dragDrop.dragPreview?.start !== newStart || dragDrop.dragPreview?.target.day !== target.day) dragDrop.setDragPreview({
180
+ start: newStart,
181
+ end: (0, dayjs.default)(end).format("YYYY-MM-DD HH:mm:ss"),
182
+ target
183
+ });
184
+ };
185
+ const suppressDropHighlight = eventDragInterval != null && dragDrop.dragContextValue.isDragging;
135
186
  const allDayDragDrop = require_use_drag_drop_handlers.useDragDropHandlers({
136
187
  enabled: withEventsDragAndDrop,
137
188
  mode,
@@ -163,6 +214,7 @@ const WeekView = (0, _mantine_core.factory)((_props) => {
163
214
  startTime,
164
215
  endTime,
165
216
  intervalMinutes,
217
+ resizeIntervalMinutes: eventResizeInterval,
166
218
  onEventResize,
167
219
  canResizeEvent
168
220
  });
@@ -185,14 +237,15 @@ const WeekView = (0, _mantine_core.factory)((_props) => {
185
237
  weekendDays: ctx.getWeekendDays(weekendDays),
186
238
  firstDayOfWeek: ctx.getFirstDayOfWeek(firstDayOfWeek)
187
239
  });
240
+ const expandedEvents = require_expand_recurring_events.expandRecurringEvents({
241
+ events,
242
+ rangeStart: (0, dayjs.default)(weekdays[0]).startOf("day").toDate(),
243
+ rangeEnd: (0, dayjs.default)(weekdays[weekdays.length - 1]).endOf("day").toDate(),
244
+ expansionLimit: recurrenceExpansionLimit
245
+ });
188
246
  const weekEvents = require_get_week_view_events.getWeekViewEvents({
189
247
  date,
190
- events: require_expand_recurring_events.expandRecurringEvents({
191
- events,
192
- rangeStart: (0, dayjs.default)(weekdays[0]).startOf("day").toDate(),
193
- rangeEnd: (0, dayjs.default)(weekdays[weekdays.length - 1]).endOf("day").toDate(),
194
- expansionLimit: recurrenceExpansionLimit
195
- }),
248
+ events: expandedEvents,
196
249
  startTime,
197
250
  endTime,
198
251
  intervalMinutes,
@@ -202,8 +255,9 @@ const WeekView = (0, _mantine_core.factory)((_props) => {
202
255
  });
203
256
  const timeValues = slots.reduce((acc, interval) => {
204
257
  if (!interval.isHourStart) return acc;
258
+ const intervalTime = (0, dayjs.default)(`${(0, dayjs.default)(date).format("YYYY-MM-DD")} ${interval.startTime}`);
205
259
  const label = require_format_date.formatDate({
206
- date: (0, dayjs.default)(`${(0, dayjs.default)(date).format("YYYY-MM-DD")} ${interval.startTime}`),
260
+ date: intervalTime,
207
261
  locale: ctx.getLocale(locale),
208
262
  format: slotLabelFormat
209
263
  });
@@ -252,14 +306,33 @@ const WeekView = (0, _mantine_core.factory)((_props) => {
252
306
  const rect = slotNode.getBoundingClientRect();
253
307
  return event.clientY >= rect.top && event.clientY <= rect.bottom;
254
308
  });
255
- if (slotIndex >= 0) return slotIndex;
309
+ if (slotIndex >= 0) {
310
+ const rect = daySlots[slotIndex].getBoundingClientRect();
311
+ dragOffsetRef.current = {
312
+ offset: event.clientY - rect.top,
313
+ size: rect.height
314
+ };
315
+ return slotIndex;
316
+ }
256
317
  const firstSlot = daySlots[0];
257
318
  const lastSlot = daySlots[daySlots.length - 1];
258
319
  if (!firstSlot || !lastSlot) return null;
259
320
  const firstRect = firstSlot.getBoundingClientRect();
260
321
  const lastRect = lastSlot.getBoundingClientRect();
261
- if (event.clientY < firstRect.top) return 0;
262
- if (event.clientY > lastRect.bottom) return daySlots.length - 1;
322
+ if (event.clientY < firstRect.top) {
323
+ dragOffsetRef.current = {
324
+ offset: 0,
325
+ size: firstRect.height
326
+ };
327
+ return 0;
328
+ }
329
+ if (event.clientY > lastRect.bottom) {
330
+ dragOffsetRef.current = {
331
+ offset: lastRect.height,
332
+ size: lastRect.height
333
+ };
334
+ return daySlots.length - 1;
335
+ }
263
336
  return null;
264
337
  }, []);
265
338
  const handleSlotKeyDown = (event, dayIndex, slotIndex) => {
@@ -325,32 +398,20 @@ const WeekView = (0, _mantine_core.factory)((_props) => {
325
398
  ...getStyles("weekViewDayNumber"),
326
399
  key: "date"
327
400
  }, (0, dayjs.default)(day).date())));
401
+ const interactiveBackgroundEvents = withInteractiveBackgroundEvents && mode !== "static";
328
402
  const days = weekdays.map((day, dayIndex) => {
329
- const backgroundEventNodes = (weekEvents.backgroundEvents[day] || []).filter((event) => !event.position.allDay).map((event) => {
330
- const colors = theme.variantColorResolver({
331
- color: event.color || theme.primaryColor,
332
- theme,
333
- variant: "light",
334
- autoContrast: true
335
- });
336
- const bgEventBody = typeof renderEventBody === "function" ? renderEventBody(event) : event.title;
337
- const bgEventProps = {
338
- key: `bg-${event.id}`,
339
- ...getStyles("weekViewBackgroundEvent", { style: {
340
- top: `${event.position.top}%`,
341
- height: `${event.position.height}%`,
342
- width: "100%"
343
- } }),
344
- __vars: {
345
- "--bg-event-bg": colors.background,
346
- "--bg-event-color": colors.color
347
- },
348
- children: bgEventBody
349
- };
350
- if (typeof renderEvent === "function") return renderEvent(event, bgEventProps);
351
- const { key: bgEventKey, ...restBgEventProps } = bgEventProps;
352
- return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_mantine_core.Box, { ...restBgEventProps }, bgEventKey);
353
- });
403
+ const backgroundEventNodes = (weekEvents.backgroundEvents[day] || []).filter((event) => !event.position.allDay).map((event) => /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_ScheduleBackgroundEvent.ScheduleBackgroundEvent, {
404
+ event,
405
+ renderEvent,
406
+ renderEventBody,
407
+ interactive: interactiveBackgroundEvents,
408
+ onEventClick,
409
+ ...getStyles("weekViewBackgroundEvent", { style: {
410
+ top: `${event.position.top}%`,
411
+ height: `${event.position.height}%`,
412
+ width: "100%"
413
+ } })
414
+ }, `bg-${event.id}`));
354
415
  const dayEvents = (weekEvents.regularEvents[day] || []).map((event) => {
355
416
  const eventIsAllDay = require_is_all_day_event.isAllDayEvent({
356
417
  event,
@@ -420,10 +481,16 @@ const WeekView = (0, _mantine_core.factory)((_props) => {
420
481
  } : void 0,
421
482
  onDaySlotsDragOver: (event, dayStr, dayIdx) => {
422
483
  const slotIndex = getSlotIndexFromDragPoint(event, dayIdx);
423
- if (slotIndex !== null) dragDrop.handleDragOver(event, {
424
- day: dayStr,
425
- slotIndex
426
- });
484
+ if (slotIndex !== null) {
485
+ dragDrop.handleDragOver(event, {
486
+ day: dayStr,
487
+ slotIndex
488
+ });
489
+ updateDragPreview({
490
+ day: dayStr,
491
+ slotIndex
492
+ });
493
+ }
427
494
  },
428
495
  onDaySlotsDragLeave: dragDrop.handleDragLeave,
429
496
  onDaySlotsDrop: (event, dayStr, dayIdx) => {
@@ -433,7 +500,7 @@ const WeekView = (0, _mantine_core.factory)((_props) => {
433
500
  slotIndex
434
501
  });
435
502
  },
436
- dropTargetSlotIndex: dragDrop.dropTarget?.day === day ? dragDrop.dropTarget.slotIndex : void 0,
503
+ dropTargetSlotIndex: !suppressDropHighlight && dragDrop.dropTarget?.day === day ? dragDrop.dropTarget.slotIndex : void 0,
437
504
  withDragSlotSelect,
438
505
  onSlotPointerDown: slotDragSelect.handleSlotPointerDown,
439
506
  isSlotDragSelected: slotDragSelect.isSlotSelected,
@@ -441,7 +508,29 @@ const WeekView = (0, _mantine_core.factory)((_props) => {
441
508
  daySlotsContainersRef.current[dayIndex] = node;
442
509
  },
443
510
  getTimeSlotProps,
444
- children: [backgroundEventNodes, dayEvents]
511
+ children: [
512
+ backgroundEventNodes,
513
+ dayEvents,
514
+ dragDrop.dragPreview?.target.day === day && dragDrop.dragContextValue.draggedEvent && /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_mantine_core.Box, { ...getStyles("weekViewDragPreview", { style: (() => {
515
+ const { top, height } = require_get_day_position.getDayPosition({
516
+ event: {
517
+ ...dragDrop.dragContextValue.draggedEvent,
518
+ start: dragDrop.dragPreview.start,
519
+ end: dragDrop.dragPreview.end
520
+ },
521
+ startTime,
522
+ endTime,
523
+ intervalMinutes
524
+ });
525
+ return {
526
+ position: "absolute",
527
+ insetInlineStart: 0,
528
+ insetInlineEnd: 0,
529
+ top: `${top}%`,
530
+ height: `${height}%`
531
+ };
532
+ })() }) })
533
+ ]
445
534
  }, day);
446
535
  });
447
536
  const allDaySlots = weekdays.map((day, dayIndex) => /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_mantine_core.UnstyledButton, {
@@ -482,32 +571,19 @@ const WeekView = (0, _mantine_core.factory)((_props) => {
482
571
  const allDayBgEvents = (weekEvents.backgroundEvents[day] || []).filter((event) => event.position.allDay);
483
572
  const dayWidth = 100 / weekdays.length;
484
573
  const dayOffset = dayIndex * dayWidth;
485
- return allDayBgEvents.map((event) => {
486
- const colors = theme.variantColorResolver({
487
- color: event.color || theme.primaryColor,
488
- theme,
489
- variant: "light",
490
- autoContrast: true
491
- });
492
- const bgEventBody = typeof renderEventBody === "function" ? renderEventBody(event) : event.title;
493
- const bgEventProps = {
494
- key: `bg-allday-${event.id}-${day}`,
495
- ...getStyles("weekViewBackgroundEvent", { style: {
496
- top: 0,
497
- height: "100%",
498
- left: `${dayOffset}%`,
499
- width: `${dayWidth}%`
500
- } }),
501
- __vars: {
502
- "--bg-event-bg": colors.background,
503
- "--bg-event-color": colors.color
504
- },
505
- children: bgEventBody
506
- };
507
- if (typeof renderEvent === "function") return renderEvent(event, bgEventProps);
508
- const { key: bgEventKey, ...restBgEventProps } = bgEventProps;
509
- return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_mantine_core.Box, { ...restBgEventProps }, bgEventKey);
510
- });
574
+ return allDayBgEvents.map((event) => /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_ScheduleBackgroundEvent.ScheduleBackgroundEvent, {
575
+ event,
576
+ renderEvent,
577
+ renderEventBody,
578
+ interactive: interactiveBackgroundEvents,
579
+ onEventClick,
580
+ ...getStyles("weekViewBackgroundEvent", { style: {
581
+ top: 0,
582
+ height: "100%",
583
+ left: `${dayOffset}%`,
584
+ width: `${dayWidth}%`
585
+ } })
586
+ }, `bg-allday-${event.id}-${day}`));
511
587
  });
512
588
  const extraRows = Math.max(...weekEvents.allDayEvents.map((event) => event.position.row), 1) - 1;
513
589
  const content = /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(_mantine_core.Box, {
@@ -565,7 +641,8 @@ const WeekView = (0, _mantine_core.factory)((_props) => {
565
641
  mod: {
566
642
  "with-weekends": withWeekendDays,
567
643
  "hide-sub-hour-grid-lines": !withSubHourGridLines,
568
- "event-interaction": eventResize.isResizing || dragDrop.dragContextValue.isDragging
644
+ "event-interaction": eventResize.isResizing || dragDrop.dragContextValue.isDragging,
645
+ "all-day-dragging": allDayDragDrop.dragContextValue.isDragging
569
646
  },
570
647
  children: /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(_mantine_core.ScrollArea.Autosize, {
571
648
  scrollbarSize: 4,