@mantine-vue/schedule 3.1.0 → 3.3.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 (87) hide show
  1. package/cjs/index.cjs +6765 -3783
  2. package/cjs/index.cjs.map +1 -1
  3. package/esm/index.mjs +6724 -3793
  4. package/esm/index.mjs.map +1 -1
  5. package/lib/component-props.d.ts +197 -215
  6. package/lib/components/CurrentTimeIndicator/CurrentTimeIndicator.d.ts +8 -114
  7. package/lib/components/CurrentTimeIndicator/CurrentTimeIndicator.types.d.ts +89 -0
  8. package/lib/components/CurrentTimeIndicator/CurrentTimeIndicator.vue.d.ts +20 -0
  9. package/lib/components/DayView/DayView.d.ts +10 -212
  10. package/lib/components/DayView/DayView.types.d.ts +65 -0
  11. package/lib/components/DayView/DayView.vue.d.ts +51 -0
  12. package/lib/components/DragContext/DragContext.d.ts +43 -5
  13. package/lib/components/MobileMonthView/MobileMonthView.d.ts +10 -171
  14. package/lib/components/MobileMonthView/MobileMonthView.types.d.ts +110 -0
  15. package/lib/components/MobileMonthView/MobileMonthView.vue.d.ts +44 -0
  16. package/lib/components/MonthView/MonthView.d.ts +10 -174
  17. package/lib/components/MonthView/MonthView.types.d.ts +125 -0
  18. package/lib/components/MonthView/MonthView.vue.d.ts +56 -0
  19. package/lib/components/MoreEvents/MoreEvents.d.ts +9 -65
  20. package/lib/components/MoreEvents/MoreEvents.types.d.ts +62 -0
  21. package/lib/components/MoreEvents/MoreEvents.vue.d.ts +23 -0
  22. package/lib/components/ResourcesDayView/ResourcesDayView.d.ts +10 -346
  23. package/lib/components/ResourcesDayView/ResourcesDayView.types.d.ts +314 -0
  24. package/lib/components/ResourcesDayView/ResourcesDayView.vue.d.ts +53 -0
  25. package/lib/components/ResourcesMonthView/ResourcesMonthView.d.ts +10 -279
  26. package/lib/components/ResourcesMonthView/ResourcesMonthView.types.d.ts +239 -0
  27. package/lib/components/ResourcesMonthView/ResourcesMonthView.vue.d.ts +55 -0
  28. package/lib/components/ResourcesMonthView/get-resources-month-view-layout/get-resources-month-view-layout.d.ts +54 -0
  29. package/lib/components/ResourcesMonthView/index.d.ts +1 -0
  30. package/lib/components/ResourcesSchedule/ResourcesSchedule.d.ts +9 -201
  31. package/lib/components/ResourcesSchedule/ResourcesSchedule.types.d.ts +161 -0
  32. package/lib/components/ResourcesSchedule/ResourcesSchedule.vue.d.ts +44 -0
  33. package/lib/components/ResourcesWeekView/ResourcesWeekView.d.ts +10 -412
  34. package/lib/components/ResourcesWeekView/ResourcesWeekView.types.d.ts +320 -0
  35. package/lib/components/ResourcesWeekView/ResourcesWeekView.vue.d.ts +58 -0
  36. package/lib/components/Schedule/Schedule.d.ts +9 -134
  37. package/lib/components/Schedule/Schedule.types.d.ts +155 -0
  38. package/lib/components/Schedule/Schedule.vue.d.ts +50 -0
  39. package/lib/components/ScheduleBackgroundEvent/ScheduleBackgroundEvent.d.ts +3 -0
  40. package/lib/components/ScheduleBackgroundEvent/ScheduleBackgroundEvent.types.d.ts +24 -0
  41. package/lib/components/ScheduleBackgroundEvent/ScheduleBackgroundEvent.vue.d.ts +15 -0
  42. package/lib/components/ScheduleBackgroundEvent/index.d.ts +1 -0
  43. package/lib/components/ScheduleEvent/ScheduleEvent.d.ts +11 -88
  44. package/lib/components/ScheduleEvent/ScheduleEvent.types.d.ts +109 -0
  45. package/lib/components/ScheduleEvent/ScheduleEvent.vue.d.ts +24 -0
  46. package/lib/components/ScheduleHeader/HeaderControl/HeaderControl.d.ts +36 -0
  47. package/lib/components/ScheduleHeader/HeaderControl/HeaderControl.types.d.ts +44 -0
  48. package/lib/components/ScheduleHeader/HeaderControl/HeaderControl.vue.d.ts +14 -0
  49. package/lib/components/ScheduleHeader/HeaderControl/ScheduleHeaderNext.vue.d.ts +11 -0
  50. package/lib/components/ScheduleHeader/HeaderControl/ScheduleHeaderPrevious.vue.d.ts +11 -0
  51. package/lib/components/ScheduleHeader/HeaderControl/ScheduleHeaderToday.vue.d.ts +11 -0
  52. package/lib/components/ScheduleHeader/HeaderControl/index.d.ts +1 -2
  53. package/lib/components/ScheduleHeader/MonthYearSelect/MonthYearSelect.d.ts +8 -0
  54. package/lib/components/ScheduleHeader/MonthYearSelect/MonthYearSelect.types.d.ts +70 -0
  55. package/lib/components/ScheduleHeader/MonthYearSelect/MonthYearSelect.vue.d.ts +21 -0
  56. package/lib/components/ScheduleHeader/MonthYearSelect/index.d.ts +1 -2
  57. package/lib/components/ScheduleHeader/ScheduleHeader.context.d.ts +12 -0
  58. package/lib/components/ScheduleHeader/ScheduleHeader.d.ts +20 -364
  59. package/lib/components/ScheduleHeader/ScheduleHeader.types.d.ts +28 -0
  60. package/lib/components/ScheduleHeader/ScheduleHeader.vue.d.ts +11 -0
  61. package/lib/components/ScheduleHeader/ScheduleHeaderBase.d.ts +37 -75
  62. package/lib/components/ScheduleHeader/ScheduleHeaderBase.types.d.ts +54 -0
  63. package/lib/components/ScheduleHeader/ScheduleHeaderBase.vue.d.ts +21 -0
  64. package/lib/components/ScheduleHeader/ViewSelect/ViewSelect.d.ts +8 -0
  65. package/lib/components/ScheduleHeader/ViewSelect/ViewSelect.types.d.ts +39 -0
  66. package/lib/components/ScheduleHeader/ViewSelect/ViewSelect.vue.d.ts +16 -0
  67. package/lib/components/ScheduleHeader/ViewSelect/index.d.ts +1 -2
  68. package/lib/components/ScheduleHeader/index.d.ts +4 -0
  69. package/lib/components/WeekView/WeekView.d.ts +10 -294
  70. package/lib/components/WeekView/WeekView.types.d.ts +129 -0
  71. package/lib/components/WeekView/WeekView.vue.d.ts +60 -0
  72. package/lib/components/WeekView/get-week-view-events/find-available-column.d.ts +6 -3
  73. package/lib/components/YearView/YearView.d.ts +10 -151
  74. package/lib/components/YearView/YearView.types.d.ts +100 -0
  75. package/lib/components/YearView/YearView.vue.d.ts +42 -0
  76. package/lib/components/shared.d.ts +71 -141
  77. package/lib/components/use-slot-drag-select.d.ts +7 -9
  78. package/lib/components/use-slot-drop-target.d.ts +42 -0
  79. package/lib/hooks/use-event-resize.d.ts +2 -1
  80. package/lib/hooks/use-horizontal-event-resize.d.ts +3 -156
  81. package/lib/index.d.mts +2 -0
  82. package/lib/index.d.ts +2 -0
  83. package/lib/types.d.ts +1 -1
  84. package/lib/utils/calculate-drop-time/calculate-drop-time.d.ts +11 -1
  85. package/package.json +4 -4
  86. package/styles.css +527 -384
  87. package/styles.layer.css +527 -384
@@ -21,164 +21,11 @@ export declare function useHorizontalEventResize(input: {
21
21
  startTime: () => string;
22
22
  endTime: () => string;
23
23
  intervalMinutes: () => number;
24
- onEventResize: () => ((data: EventDropData) => void) | undefined;
24
+ resizeIntervalMinutes?: () => number | undefined;
25
+ onEventResize: (data: EventDropData) => void;
25
26
  canResizeEvent: () => ((event: ScheduleEventData) => boolean) | undefined;
26
27
  }): {
27
- state: import("vue").Ref<{
28
- event: {
29
- recurrence?: never | undefined;
30
- recurringEventId?: never | undefined;
31
- recurrenceId?: never | undefined;
32
- id: string | number;
33
- title: string;
34
- start: Date | DateTimeStringValue;
35
- end: Date | DateTimeStringValue;
36
- color: import("@mantine-vue/core").MantineColor;
37
- variant?: "filled" | "light" | undefined;
38
- display?: "default" | "background" | undefined;
39
- payload?: import("..").EventPayload | undefined;
40
- resourceId?: string | number | undefined;
41
- recurringInstance?: {
42
- isRecurringInstance: boolean;
43
- recurringEventId: string | number;
44
- recurrenceId: DateTimeStringValue;
45
- originalStart: DateTimeStringValue;
46
- originalEnd: DateTimeStringValue;
47
- } | undefined;
48
- } | {
49
- recurrence: {
50
- rrule: string;
51
- exdate?: DateTimeStringValue[] | undefined;
52
- dtstart?: DateTimeStringValue | undefined;
53
- };
54
- recurringEventId?: never | undefined;
55
- recurrenceId?: never | undefined;
56
- id: string | number;
57
- title: string;
58
- start: Date | DateTimeStringValue;
59
- end: Date | DateTimeStringValue;
60
- color: import("@mantine-vue/core").MantineColor;
61
- variant?: "filled" | "light" | undefined;
62
- display?: "default" | "background" | undefined;
63
- payload?: import("..").EventPayload | undefined;
64
- resourceId?: string | number | undefined;
65
- recurringInstance?: {
66
- isRecurringInstance: boolean;
67
- recurringEventId: string | number;
68
- recurrenceId: DateTimeStringValue;
69
- originalStart: DateTimeStringValue;
70
- originalEnd: DateTimeStringValue;
71
- } | undefined;
72
- } | {
73
- recurrence?: never | undefined;
74
- recurringEventId: string | number;
75
- recurrenceId: DateTimeStringValue;
76
- id: string | number;
77
- title: string;
78
- start: Date | DateTimeStringValue;
79
- end: Date | DateTimeStringValue;
80
- color: import("@mantine-vue/core").MantineColor;
81
- variant?: "filled" | "light" | undefined;
82
- display?: "default" | "background" | undefined;
83
- payload?: import("..").EventPayload | undefined;
84
- resourceId?: string | number | undefined;
85
- recurringInstance?: {
86
- isRecurringInstance: boolean;
87
- recurringEventId: string | number;
88
- recurrenceId: DateTimeStringValue;
89
- originalStart: DateTimeStringValue;
90
- originalEnd: DateTimeStringValue;
91
- } | undefined;
92
- };
93
- edge: ResizeEdge;
94
- container: HTMLElement;
95
- originalLeft: number;
96
- originalWidth: number;
97
- currentLeft: number;
98
- currentWidth: number;
99
- eventDate: string;
100
- originalStart: DateTimeStringValue;
101
- originalEnd: DateTimeStringValue;
102
- dayIndex: number;
103
- dayCount: number;
104
- } | null, ResizeState | {
105
- event: {
106
- recurrence?: never | undefined;
107
- recurringEventId?: never | undefined;
108
- recurrenceId?: never | undefined;
109
- id: string | number;
110
- title: string;
111
- start: Date | DateTimeStringValue;
112
- end: Date | DateTimeStringValue;
113
- color: import("@mantine-vue/core").MantineColor;
114
- variant?: "filled" | "light" | undefined;
115
- display?: "default" | "background" | undefined;
116
- payload?: import("..").EventPayload | undefined;
117
- resourceId?: string | number | undefined;
118
- recurringInstance?: {
119
- isRecurringInstance: boolean;
120
- recurringEventId: string | number;
121
- recurrenceId: DateTimeStringValue;
122
- originalStart: DateTimeStringValue;
123
- originalEnd: DateTimeStringValue;
124
- } | undefined;
125
- } | {
126
- recurrence: {
127
- rrule: string;
128
- exdate?: DateTimeStringValue[] | undefined;
129
- dtstart?: DateTimeStringValue | undefined;
130
- };
131
- recurringEventId?: never | undefined;
132
- recurrenceId?: never | undefined;
133
- id: string | number;
134
- title: string;
135
- start: Date | DateTimeStringValue;
136
- end: Date | DateTimeStringValue;
137
- color: import("@mantine-vue/core").MantineColor;
138
- variant?: "filled" | "light" | undefined;
139
- display?: "default" | "background" | undefined;
140
- payload?: import("..").EventPayload | undefined;
141
- resourceId?: string | number | undefined;
142
- recurringInstance?: {
143
- isRecurringInstance: boolean;
144
- recurringEventId: string | number;
145
- recurrenceId: DateTimeStringValue;
146
- originalStart: DateTimeStringValue;
147
- originalEnd: DateTimeStringValue;
148
- } | undefined;
149
- } | {
150
- recurrence?: never | undefined;
151
- recurringEventId: string | number;
152
- recurrenceId: DateTimeStringValue;
153
- id: string | number;
154
- title: string;
155
- start: Date | DateTimeStringValue;
156
- end: Date | DateTimeStringValue;
157
- color: import("@mantine-vue/core").MantineColor;
158
- variant?: "filled" | "light" | undefined;
159
- display?: "default" | "background" | undefined;
160
- payload?: import("..").EventPayload | undefined;
161
- resourceId?: string | number | undefined;
162
- recurringInstance?: {
163
- isRecurringInstance: boolean;
164
- recurringEventId: string | number;
165
- recurrenceId: DateTimeStringValue;
166
- originalStart: DateTimeStringValue;
167
- originalEnd: DateTimeStringValue;
168
- } | undefined;
169
- };
170
- edge: ResizeEdge;
171
- container: HTMLElement;
172
- originalLeft: number;
173
- originalWidth: number;
174
- currentLeft: number;
175
- currentWidth: number;
176
- eventDate: string;
177
- originalStart: DateTimeStringValue;
178
- originalEnd: DateTimeStringValue;
179
- dayIndex: number;
180
- dayCount: number;
181
- } | null>;
28
+ state: import("vue").ShallowRef<ResizeState | null, ResizeState | null>;
182
29
  handleResizeStart: (params: {
183
30
  event: ScheduleEventData;
184
31
  edge: ResizeEdge;
package/lib/index.d.mts CHANGED
@@ -1,4 +1,5 @@
1
1
  export * from './types';
2
+ export * from './component-props';
2
3
  export type { ScheduleLabels, ScheduleLabelsOverride } from './labels';
3
4
  export { DEFAULT_SCHEDULE_LABELS, getLabel } from './labels';
4
5
  export * from './utils';
@@ -12,6 +13,7 @@ export * from './components/ResourcesWeekView';
12
13
  export * from './components/ResourcesMonthView';
13
14
  export * from './components/ResourcesSchedule';
14
15
  export * from './components/ScheduleEvent';
16
+ export * from './components/ScheduleBackgroundEvent';
15
17
  export * from './components/ScheduleHeader';
16
18
  export * from './components/CurrentTimeIndicator';
17
19
  export * from './components/MoreEvents';
package/lib/index.d.ts CHANGED
@@ -1,4 +1,5 @@
1
1
  export * from './types';
2
+ export * from './component-props';
2
3
  export type { ScheduleLabels, ScheduleLabelsOverride } from './labels';
3
4
  export { DEFAULT_SCHEDULE_LABELS, getLabel } from './labels';
4
5
  export * from './utils';
@@ -12,6 +13,7 @@ export * from './components/ResourcesWeekView';
12
13
  export * from './components/ResourcesMonthView';
13
14
  export * from './components/ResourcesSchedule';
14
15
  export * from './components/ScheduleEvent';
16
+ export * from './components/ScheduleBackgroundEvent';
15
17
  export * from './components/ScheduleHeader';
16
18
  export * from './components/CurrentTimeIndicator';
17
19
  export * from './components/MoreEvents';
package/lib/types.d.ts CHANGED
@@ -63,7 +63,7 @@ interface ScheduleEventBase<Payload extends EventPayload = EventPayload> {
63
63
  color: MantineColor;
64
64
  /** Event variant, default is `'light'` */
65
65
  variant?: 'filled' | 'light';
66
- /** Event display mode. Background events render as full-width, non-interactive blocks behind regular events. @default 'default' */
66
+ /** Event display mode. Background events render behind regular events and are non-interactive unless the view enables interactive background events. @default 'default' */
67
67
  display?: 'default' | 'background';
68
68
  /** Additional event data, defined by the user, not used internally by the library */
69
69
  payload?: Payload;
@@ -12,6 +12,16 @@ export interface CalculateDropTimeInput {
12
12
  slotHeight?: number;
13
13
  /** Minutes per slot */
14
14
  intervalMinutes?: number;
15
+ /** Pointer offset along the time axis within the target slot, in px. */
16
+ slotOffset?: number;
17
+ /** Size of the target slot along the time axis, in px. */
18
+ slotSize?: number;
19
+ /** Snap step for the resulting start time, in minutes. */
20
+ dragIntervalMinutes?: number;
21
+ /** Start time boundary of the schedule in HH:mm:ss format. */
22
+ startTime?: string;
23
+ /** End time boundary of the schedule in HH:mm:ss format. */
24
+ endTime?: string;
15
25
  }
16
26
  export interface CalculateDropTimeResult {
17
27
  /** New start date/time for the event */
@@ -19,4 +29,4 @@ export interface CalculateDropTimeResult {
19
29
  /** New end date/time for the event */
20
30
  end: Date;
21
31
  }
22
- export declare function calculateDropTime({ draggedEvent, targetDate, targetSlotTime, mouseYOffset, slotHeight, intervalMinutes, }: CalculateDropTimeInput): CalculateDropTimeResult;
32
+ export declare function calculateDropTime({ draggedEvent, targetDate, targetSlotTime, mouseYOffset, slotHeight, intervalMinutes, slotOffset, slotSize, dragIntervalMinutes, startTime, endTime, }: CalculateDropTimeInput): CalculateDropTimeResult;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mantine-vue/schedule",
3
- "version": "3.1.0",
3
+ "version": "3.3.0",
4
4
  "description": "Vue schedule and calendar components equivalent to @mantine/schedule",
5
5
  "license": "MIT",
6
6
  "files": [
@@ -44,9 +44,9 @@
44
44
  "vue": "^3.5.0"
45
45
  },
46
46
  "peerDependencies": {
47
- "@mantine-vue/core": "3.1.0",
48
- "@mantine-vue/dates": "3.1.0",
49
- "@mantine-vue/hooks": "3.1.0",
47
+ "@mantine-vue/core": "3.3.0",
48
+ "@mantine-vue/dates": "3.3.0",
49
+ "@mantine-vue/hooks": "3.3.0",
50
50
  "dayjs": ">=1.0.0",
51
51
  "vue": "^3.5.0"
52
52
  }