@mantine-vue/schedule 2.1.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 (104) hide show
  1. package/README.md +21 -0
  2. package/cjs/index.cjs +4198 -0
  3. package/cjs/index.cjs.map +1 -0
  4. package/esm/index.mjs +4106 -0
  5. package/esm/index.mjs.map +1 -0
  6. package/lib/component-props.d.ts +265 -0
  7. package/lib/components/CurrentTimeIndicator/CurrentTimeIndicator.d.ts +114 -0
  8. package/lib/components/CurrentTimeIndicator/index.d.ts +1 -0
  9. package/lib/components/DayView/DayView.d.ts +212 -0
  10. package/lib/components/DayView/get-day-view-events/get-day-positioned-events.d.ts +15 -0
  11. package/lib/components/DayView/get-day-view-events/get-day-view-events.d.ts +15 -0
  12. package/lib/components/DayView/index.d.ts +3 -0
  13. package/lib/components/DragContext/DragContext.d.ts +11 -0
  14. package/lib/components/DragContext/index.d.ts +1 -0
  15. package/lib/components/MobileMonthView/MobileMonthView.d.ts +171 -0
  16. package/lib/components/MobileMonthView/get-mobile-month-view-events.d.ts +8 -0
  17. package/lib/components/MobileMonthView/index.d.ts +1 -0
  18. package/lib/components/MonthView/MonthView.d.ts +174 -0
  19. package/lib/components/MonthView/get-month-view-events/add-event-to-day-groups.d.ts +14 -0
  20. package/lib/components/MonthView/get-month-view-events/calculate-event-position-in-week.d.ts +18 -0
  21. package/lib/components/MonthView/get-month-view-events/find-available-row.d.ts +10 -0
  22. package/lib/components/MonthView/get-month-view-events/get-month-positioned-events.d.ts +31 -0
  23. package/lib/components/MonthView/get-month-view-events/get-month-view-events.d.ts +16 -0
  24. package/lib/components/MonthView/get-month-view-events/get-weeks-in-range.d.ts +13 -0
  25. package/lib/components/MonthView/get-renderable-month-event-segments.d.ts +16 -0
  26. package/lib/components/MonthView/index.d.ts +4 -0
  27. package/lib/components/MoreEvents/MoreEvents.d.ts +65 -0
  28. package/lib/components/MoreEvents/index.d.ts +1 -0
  29. package/lib/components/Schedule/Schedule.d.ts +134 -0
  30. package/lib/components/Schedule/index.d.ts +1 -0
  31. package/lib/components/ScheduleEvent/ScheduleEvent.d.ts +88 -0
  32. package/lib/components/ScheduleEvent/index.d.ts +1 -0
  33. package/lib/components/ScheduleHeader/HeaderControl/index.d.ts +2 -0
  34. package/lib/components/ScheduleHeader/MonthYearSelect/index.d.ts +2 -0
  35. package/lib/components/ScheduleHeader/ScheduleHeader.d.ts +364 -0
  36. package/lib/components/ScheduleHeader/ScheduleHeaderBase.d.ts +72 -0
  37. package/lib/components/ScheduleHeader/ViewSelect/index.d.ts +2 -0
  38. package/lib/components/ScheduleHeader/index.d.ts +2 -0
  39. package/lib/components/WeekView/WeekView.d.ts +294 -0
  40. package/lib/components/WeekView/get-week-label/get-week-label.d.ts +13 -0
  41. package/lib/components/WeekView/get-week-view-events/assign-event-rows.d.ts +2 -0
  42. package/lib/components/WeekView/get-week-view-events/calculate-all-day-event-offset.d.ts +11 -0
  43. package/lib/components/WeekView/get-week-view-events/calculate-all-day-event-width.d.ts +12 -0
  44. package/lib/components/WeekView/get-week-view-events/calculate-event-days.d.ts +9 -0
  45. package/lib/components/WeekView/get-week-view-events/calculate-regular-event-overlaps.d.ts +2 -0
  46. package/lib/components/WeekView/get-week-view-events/filter-week-view-events.d.ts +14 -0
  47. package/lib/components/WeekView/get-week-view-events/find-available-column.d.ts +9 -0
  48. package/lib/components/WeekView/get-week-view-events/get-event-end-date.d.ts +3 -0
  49. package/lib/components/WeekView/get-week-view-events/get-hanging-status.d.ts +9 -0
  50. package/lib/components/WeekView/get-week-view-events/get-week-positioned-events.d.ts +26 -0
  51. package/lib/components/WeekView/get-week-view-events/get-week-view-events.d.ts +7 -0
  52. package/lib/components/WeekView/index.d.ts +4 -0
  53. package/lib/components/YearView/YearView.d.ts +151 -0
  54. package/lib/components/YearView/get-year-view-events/get-year-view-events.d.ts +8 -0
  55. package/lib/components/YearView/index.d.ts +1 -0
  56. package/lib/components/keyboard-navigation.d.ts +7 -0
  57. package/lib/components/shared.d.ts +161 -0
  58. package/lib/components/use-slot-drag-select.d.ts +28 -0
  59. package/lib/hooks/use-event-resize.d.ts +31 -0
  60. package/lib/index.d.mts +15 -0
  61. package/lib/index.d.ts +15 -0
  62. package/lib/labels.d.ts +25 -0
  63. package/lib/test-utils.d.ts +7 -0
  64. package/lib/types.d.ts +141 -0
  65. package/lib/utils/calculate-drop-time/calculate-drop-time.d.ts +22 -0
  66. package/lib/utils/calculate-month-drop-date/calculate-month-drop-date.d.ts +14 -0
  67. package/lib/utils/clamp-interval-minutes/clamp-interval-minutes.d.ts +2 -0
  68. package/lib/utils/expand-recurring-events/expand-recurring-events.d.ts +10 -0
  69. package/lib/utils/format-date/format-date.d.ts +8 -0
  70. package/lib/utils/get-business-hours-mod/get-business-hours-mod.d.ts +26 -0
  71. package/lib/utils/get-current-time-position/get-current-time-position.d.ts +10 -0
  72. package/lib/utils/get-day-position/get-day-position.d.ts +17 -0
  73. package/lib/utils/get-day-time-intervals/get-day-time-intervals.d.ts +19 -0
  74. package/lib/utils/get-end-of-week/get-end-of-week.d.ts +3 -0
  75. package/lib/utils/get-month-days/get-month-days.d.ts +8 -0
  76. package/lib/utils/get-month-range/get-month-range.d.ts +13 -0
  77. package/lib/utils/get-months-by-quarter/get-months-by-quarter.d.ts +2 -0
  78. package/lib/utils/get-months-list/get-months-list.d.ts +11 -0
  79. package/lib/utils/get-start-of-week/get-start-of-week.d.ts +7 -0
  80. package/lib/utils/get-visible-events/get-visible-events.d.ts +9 -0
  81. package/lib/utils/get-week-days/get-week-days.d.ts +13 -0
  82. package/lib/utils/get-week-number/get-week-number.d.ts +2 -0
  83. package/lib/utils/get-weekdays-names/get-weekdays-names.d.ts +9 -0
  84. package/lib/utils/get-years-list/get-years-list.d.ts +6 -0
  85. package/lib/utils/index.d.ts +41 -0
  86. package/lib/utils/is-after-min-date/is-after-min-date.d.ts +2 -0
  87. package/lib/utils/is-all-day-event/is-all-day-event.d.ts +7 -0
  88. package/lib/utils/is-before-max-date/is-before-max-date.d.ts +2 -0
  89. package/lib/utils/is-event-in-time-range/is-event-in-time-range.d.ts +8 -0
  90. package/lib/utils/is-events-overlap/is-events-overlap.d.ts +3 -0
  91. package/lib/utils/is-in-time-range/is-in-time-range.d.ts +9 -0
  92. package/lib/utils/is-multiday-event/is-multiday-event.d.ts +2 -0
  93. package/lib/utils/is-same-month/is-same-month.d.ts +2 -0
  94. package/lib/utils/is-within-week/is-within-week.d.ts +8 -0
  95. package/lib/utils/next-week/next-week.d.ts +2 -0
  96. package/lib/utils/parse-time-string/parse-time-string.d.ts +6 -0
  97. package/lib/utils/previous-week/previous-week.d.ts +2 -0
  98. package/lib/utils/sort-events/sort-events.d.ts +3 -0
  99. package/lib/utils/to-date-string/to-date-string.d.ts +2 -0
  100. package/lib/utils/to-time-string/to-time-string.d.ts +2 -0
  101. package/lib/utils/validate-event/validate-event.d.ts +2 -0
  102. package/package.json +53 -0
  103. package/styles.css +2087 -0
  104. package/styles.layer.css +2089 -0
@@ -0,0 +1,265 @@
1
+ import type { CSSProperties, HTMLAttributes, PropType, VNodeChild } from 'vue';
2
+ import type { ScheduleLabelsOverride } from './labels';
3
+ import type { AnyDateValue, DateLabelFormat, DateStringValue, DateTimeStringValue, DayOfWeek, ScheduleEventData, ScheduleMode, ScheduleViewLevel } from './types';
4
+ import type { BusinessHoursValue } from './utils';
5
+ export type NativeButtonProps = HTMLAttributes & Record<`data-${string}`, unknown>;
6
+ export type RenderEventBody = (event: ScheduleEventData) => VNodeChild;
7
+ export type RenderEvent = (event: ScheduleEventData, props: ScheduleEventRenderProps) => VNodeChild;
8
+ export interface ScheduleEventRenderProps extends NativeButtonProps {
9
+ children?: VNodeChild;
10
+ }
11
+ export interface EventDropData {
12
+ eventId: string | number;
13
+ newStart: DateTimeStringValue;
14
+ newEnd: DateTimeStringValue;
15
+ event: ScheduleEventData;
16
+ }
17
+ export interface TimeSlotClickData {
18
+ slotStart: DateTimeStringValue;
19
+ slotEnd: DateTimeStringValue;
20
+ nativeEvent: MouseEvent;
21
+ }
22
+ export interface BaseViewProps extends HTMLAttributes {
23
+ date: Date | DateStringValue;
24
+ onDateChange?: (date: DateStringValue) => void;
25
+ events?: ScheduleEventData[];
26
+ locale?: string;
27
+ radius?: string | number;
28
+ labels?: ScheduleLabelsOverride;
29
+ mode?: ScheduleMode;
30
+ withHeader?: boolean;
31
+ onViewChange?: (view: ScheduleViewLevel) => void;
32
+ previousControlProps?: NativeButtonProps;
33
+ nextControlProps?: NativeButtonProps;
34
+ todayControlProps?: NativeButtonProps;
35
+ viewSelectProps?: Partial<ViewSelectProps>;
36
+ renderEventBody?: RenderEventBody;
37
+ renderEvent?: RenderEvent;
38
+ onEventClick?: (event: ScheduleEventData, nativeEvent: MouseEvent) => void;
39
+ recurrenceExpansionLimit?: number;
40
+ }
41
+ export interface TimeViewProps extends BaseViewProps {
42
+ startTime?: string;
43
+ endTime?: string;
44
+ intervalMinutes?: number;
45
+ slotLabelFormat?: DateLabelFormat;
46
+ withCurrentTimeIndicator?: boolean;
47
+ withCurrentTimeBubble?: boolean;
48
+ getCurrentTime?: () => AnyDateValue;
49
+ slotHeight?: CSSProperties['height'];
50
+ highlightBusinessHours?: boolean;
51
+ businessHours?: BusinessHoursValue;
52
+ withEventsDragAndDrop?: boolean;
53
+ onEventDrop?: (data: EventDropData) => void;
54
+ canDragEvent?: (event: ScheduleEventData) => boolean;
55
+ onEventDragStart?: (event: ScheduleEventData) => void;
56
+ onEventDragEnd?: () => void;
57
+ onTimeSlotClick?: (data: TimeSlotClickData) => void;
58
+ onAllDaySlotClick?: (date: DateStringValue, nativeEvent: MouseEvent) => void;
59
+ withDragSlotSelect?: boolean;
60
+ onSlotDragEnd?: (rangeStart: DateTimeStringValue, rangeEnd: DateTimeStringValue) => void;
61
+ startScrollTime?: string;
62
+ onExternalEventDrop?: (dataTransfer: DataTransfer, dropDateTime: DateTimeStringValue) => void;
63
+ withEventResize?: boolean;
64
+ onEventResize?: (data: EventDropData) => void;
65
+ canResizeEvent?: (event: ScheduleEventData) => boolean;
66
+ }
67
+ export interface DayViewProps extends TimeViewProps {
68
+ headerFormat?: DateLabelFormat;
69
+ withAllDaySlot?: boolean;
70
+ allDaySlotHeight?: CSSProperties['height'];
71
+ maxAllDayEvents?: number;
72
+ moreEventsProps?: Partial<MoreEventsProps>;
73
+ }
74
+ export interface WeekViewProps extends TimeViewProps {
75
+ firstDayOfWeek?: DayOfWeek;
76
+ weekdayFormat?: DateLabelFormat;
77
+ dayFormat?: DateLabelFormat;
78
+ withWeekNumber?: boolean;
79
+ withAllDaySlots?: boolean;
80
+ /** @deprecated Use withWeekNumber */
81
+ withWeekNumbers?: boolean;
82
+ /** @deprecated Use withAllDaySlots */
83
+ withAllDaySlot?: boolean;
84
+ allDaySlotsHeight?: CSSProperties['height'];
85
+ maxAllDayEvents?: number;
86
+ weekendDays?: DayOfWeek[];
87
+ withWeekendDays?: boolean;
88
+ forceCurrentTimeIndicator?: boolean;
89
+ weekLabelFormat?: DateLabelFormat;
90
+ renderWeekLabel?: (input: {
91
+ weekStart: DateStringValue;
92
+ weekEnd: DateStringValue;
93
+ }) => string;
94
+ }
95
+ export interface MonthViewProps extends BaseViewProps {
96
+ firstDayOfWeek?: DayOfWeek;
97
+ weekdayFormat?: DateLabelFormat;
98
+ weekendDays?: DayOfWeek[];
99
+ withWeekNumbers?: boolean;
100
+ withWeekDays?: boolean;
101
+ consistentWeeks?: boolean;
102
+ highlightToday?: boolean;
103
+ withOutsideDays?: boolean;
104
+ maxEventsPerDay?: number;
105
+ getDayProps?: (date: DateStringValue) => NativeButtonProps;
106
+ getWeekNumberProps?: (weekStartDate: DateStringValue) => NativeButtonProps;
107
+ onDayClick?: (date: DateStringValue, nativeEvent: MouseEvent) => void;
108
+ onWeekNumberClick?: (date: DateStringValue, nativeEvent: MouseEvent) => void;
109
+ withEventsDragAndDrop?: boolean;
110
+ onEventDrop?: (data: EventDropData) => void;
111
+ canDragEvent?: (event: ScheduleEventData) => boolean;
112
+ onEventDragStart?: (event: ScheduleEventData) => void;
113
+ onEventDragEnd?: () => void;
114
+ onExternalEventDrop?: (dataTransfer: DataTransfer, date: DateStringValue) => void;
115
+ withDragSlotSelect?: boolean;
116
+ onSlotDragEnd?: (rangeStart: DateStringValue, rangeEnd: DateStringValue) => void;
117
+ }
118
+ export interface YearViewProps extends BaseViewProps {
119
+ firstDayOfWeek?: DayOfWeek;
120
+ weekdayFormat?: DateLabelFormat;
121
+ weekendDays?: DayOfWeek[];
122
+ withWeekNumbers?: boolean;
123
+ withWeekDays?: boolean;
124
+ consistentWeeks?: boolean;
125
+ highlightToday?: boolean;
126
+ withOutsideDays?: boolean;
127
+ monthsListFormat?: DateLabelFormat;
128
+ getDayProps?: (date: DateStringValue) => NativeButtonProps;
129
+ getWeekNumberProps?: (weekStartDate: DateStringValue) => NativeButtonProps;
130
+ onDayClick?: (date: DateStringValue, nativeEvent: MouseEvent) => void;
131
+ onMonthClick?: (month: DateStringValue) => void;
132
+ onWeekNumberClick?: (date: DateStringValue, nativeEvent: MouseEvent) => void;
133
+ }
134
+ export interface MobileMonthViewProps extends MonthViewProps {
135
+ selectedDate?: Date | DateStringValue | null;
136
+ defaultSelectedDate?: Date | DateStringValue | null;
137
+ onSelectedDateChange?: (date: DateStringValue | null) => void;
138
+ eventsHeaderFormat?: DateLabelFormat;
139
+ onYearClick?: () => void;
140
+ renderHeader?: (input: {
141
+ mode: ScheduleMode;
142
+ date: Date | DateStringValue;
143
+ defaultHeader: VNodeChild;
144
+ }) => VNodeChild;
145
+ }
146
+ export interface ViewSelectProps extends Omit<HTMLAttributes, 'onChange'> {
147
+ views?: readonly ScheduleViewLevel[];
148
+ value?: ScheduleViewLevel;
149
+ onChange?: (value: ScheduleViewLevel) => void;
150
+ radius?: string | number;
151
+ labels?: ScheduleLabelsOverride;
152
+ }
153
+ export interface MonthYearSelectProps extends HTMLAttributes {
154
+ locale?: string;
155
+ startYear?: number;
156
+ endYear?: number;
157
+ yearValue?: number;
158
+ monthValue?: number;
159
+ onYearChange?: (year: number) => void;
160
+ onMonthChange?: (month: number) => void;
161
+ monthsListFormat?: DateLabelFormat;
162
+ labelFormat?: DateLabelFormat;
163
+ radius?: string | number;
164
+ getYearControlProps?: (year: number) => NativeButtonProps;
165
+ getMonthControlProps?: (month: number) => NativeButtonProps;
166
+ withMonths?: boolean;
167
+ labels?: ScheduleLabelsOverride;
168
+ }
169
+ export interface ScheduleHeaderProps extends HTMLAttributes {
170
+ labels?: ScheduleLabelsOverride;
171
+ }
172
+ export interface HeaderControlProps extends NativeButtonProps {
173
+ active?: boolean;
174
+ square?: boolean;
175
+ radius?: string | number;
176
+ interactive?: boolean;
177
+ labels?: ScheduleLabelsOverride;
178
+ }
179
+ export interface ScheduleEventProps extends NativeButtonProps {
180
+ event: ScheduleEventData;
181
+ radius?: string | number;
182
+ nowrap?: boolean;
183
+ autoSize?: boolean;
184
+ size?: 'sm' | 'md' | (string & {});
185
+ renderEventBody?: RenderEventBody;
186
+ renderEvent?: RenderEvent;
187
+ hanging?: 'start' | 'end' | 'both' | 'none';
188
+ draggable?: boolean;
189
+ onEventDragStart?: (event: ScheduleEventData) => void;
190
+ onEventDragEnd?: () => void;
191
+ isDragging?: boolean;
192
+ mode?: ScheduleMode;
193
+ withResize?: boolean;
194
+ onResizeStart?: (edge: 'top' | 'bottom', event: PointerEvent) => void;
195
+ isResizing?: boolean;
196
+ }
197
+ export type MoreEventsDropdownType = 'popover' | 'modal';
198
+ export interface MoreEventsProps extends NativeButtonProps {
199
+ events: ScheduleEventData[];
200
+ moreEventsCount: number;
201
+ radius?: string | number;
202
+ modalTitle?: string;
203
+ dropdownType?: MoreEventsDropdownType;
204
+ popoverProps?: Record<string, unknown>;
205
+ modalProps?: Record<string, unknown>;
206
+ onDropdownClose?: () => void;
207
+ renderEventBody?: RenderEventBody;
208
+ renderEvent?: RenderEvent;
209
+ labels?: ScheduleLabelsOverride;
210
+ mode?: ScheduleMode;
211
+ onEventClick?: (event: ScheduleEventData, nativeEvent: MouseEvent) => void;
212
+ }
213
+ export interface CurrentTimeIndicatorProps extends HTMLAttributes {
214
+ color?: string;
215
+ startOffset?: string;
216
+ endOffset?: string;
217
+ topOffset?: string;
218
+ timeBubbleStartOffset?: string;
219
+ withTimeBubble?: boolean;
220
+ withThumb?: boolean;
221
+ currentTimeFormat?: DateLabelFormat;
222
+ locale?: string;
223
+ startTime?: string;
224
+ endTime?: string;
225
+ intervalMinutes?: number;
226
+ getCurrentTime?: () => AnyDateValue;
227
+ }
228
+ export interface ScheduleProps extends HTMLAttributes {
229
+ date?: Date | DateStringValue;
230
+ defaultDate?: Date | DateStringValue;
231
+ onDateChange?: (date: DateStringValue) => void;
232
+ view?: ScheduleViewLevel;
233
+ defaultView?: ScheduleViewLevel;
234
+ onViewChange?: (view: ScheduleViewLevel) => void;
235
+ events?: ScheduleEventData[];
236
+ locale?: string;
237
+ radius?: string | number;
238
+ labels?: ScheduleLabelsOverride;
239
+ renderEventBody?: RenderEventBody;
240
+ withEventsDragAndDrop?: boolean;
241
+ onEventDrop?: (data: EventDropData) => void;
242
+ canDragEvent?: (event: ScheduleEventData) => boolean;
243
+ onEventDragStart?: (event: ScheduleEventData) => void;
244
+ onEventDragEnd?: () => void;
245
+ onTimeSlotClick?: (data: TimeSlotClickData) => void;
246
+ onAllDaySlotClick?: (date: DateStringValue, nativeEvent: MouseEvent) => void;
247
+ onEventClick?: (event: ScheduleEventData, nativeEvent: MouseEvent) => void;
248
+ onDayClick?: (date: DateStringValue, nativeEvent: MouseEvent) => void;
249
+ onMonthClick?: (month: DateStringValue) => void;
250
+ withDragSlotSelect?: boolean;
251
+ onSlotDragEnd?: (rangeStart: string, rangeEnd: string) => void;
252
+ mode?: ScheduleMode;
253
+ onExternalEventDrop?: (dataTransfer: DataTransfer, dateTime: string) => void;
254
+ withEventResize?: boolean;
255
+ onEventResize?: (data: EventDropData) => void;
256
+ canResizeEvent?: (event: ScheduleEventData) => boolean;
257
+ recurrenceExpansionLimit?: number;
258
+ layout?: 'default' | 'responsive';
259
+ dayViewProps?: Partial<DayViewProps>;
260
+ weekViewProps?: Partial<WeekViewProps>;
261
+ monthViewProps?: Partial<MonthViewProps>;
262
+ yearViewProps?: Partial<YearViewProps>;
263
+ mobileMonthViewProps?: Partial<MobileMonthViewProps>;
264
+ }
265
+ export declare const objectProp: PropType<Record<string, unknown>>;
@@ -0,0 +1,114 @@
1
+ import { type PropType } from 'vue';
2
+ import type { CurrentTimeIndicatorProps } from '../../component-props';
3
+ import type { AnyDateValue, DateLabelFormat } from '../../types';
4
+ export declare const CurrentTimeIndicator: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
5
+ color: {
6
+ type: StringConstructor;
7
+ default: string;
8
+ };
9
+ startOffset: {
10
+ type: StringConstructor;
11
+ default: string;
12
+ };
13
+ endOffset: {
14
+ type: StringConstructor;
15
+ default: string;
16
+ };
17
+ topOffset: {
18
+ type: StringConstructor;
19
+ default: string;
20
+ };
21
+ timeBubbleStartOffset: {
22
+ type: StringConstructor;
23
+ default: string;
24
+ };
25
+ withTimeBubble: {
26
+ type: BooleanConstructor;
27
+ default: boolean;
28
+ };
29
+ withThumb: {
30
+ type: BooleanConstructor;
31
+ default: boolean;
32
+ };
33
+ currentTimeFormat: {
34
+ type: PropType<DateLabelFormat>;
35
+ default: string;
36
+ };
37
+ locale: StringConstructor;
38
+ startTime: {
39
+ type: StringConstructor;
40
+ default: string;
41
+ };
42
+ endTime: {
43
+ type: StringConstructor;
44
+ default: string;
45
+ };
46
+ intervalMinutes: {
47
+ type: NumberConstructor;
48
+ default: number;
49
+ };
50
+ getCurrentTime: PropType<() => AnyDateValue>;
51
+ }>, () => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
52
+ [key: string]: any;
53
+ }> | null, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
54
+ color: {
55
+ type: StringConstructor;
56
+ default: string;
57
+ };
58
+ startOffset: {
59
+ type: StringConstructor;
60
+ default: string;
61
+ };
62
+ endOffset: {
63
+ type: StringConstructor;
64
+ default: string;
65
+ };
66
+ topOffset: {
67
+ type: StringConstructor;
68
+ default: string;
69
+ };
70
+ timeBubbleStartOffset: {
71
+ type: StringConstructor;
72
+ default: string;
73
+ };
74
+ withTimeBubble: {
75
+ type: BooleanConstructor;
76
+ default: boolean;
77
+ };
78
+ withThumb: {
79
+ type: BooleanConstructor;
80
+ default: boolean;
81
+ };
82
+ currentTimeFormat: {
83
+ type: PropType<DateLabelFormat>;
84
+ default: string;
85
+ };
86
+ locale: StringConstructor;
87
+ startTime: {
88
+ type: StringConstructor;
89
+ default: string;
90
+ };
91
+ endTime: {
92
+ type: StringConstructor;
93
+ default: string;
94
+ };
95
+ intervalMinutes: {
96
+ type: NumberConstructor;
97
+ default: number;
98
+ };
99
+ getCurrentTime: PropType<() => AnyDateValue>;
100
+ }>> & Readonly<{}>, {
101
+ color: string;
102
+ startTime: string;
103
+ endTime: string;
104
+ intervalMinutes: number;
105
+ startOffset: string;
106
+ endOffset: string;
107
+ topOffset: string;
108
+ timeBubbleStartOffset: string;
109
+ withTimeBubble: boolean;
110
+ withThumb: boolean;
111
+ currentTimeFormat: DateLabelFormat;
112
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
113
+ export type { CurrentTimeIndicatorProps };
114
+ export type CurrentTimeIndicatorStylesNames = 'currentTimeIndicator' | 'currentTimeIndicatorLine' | 'currentTimeIndicatorThumb' | 'currentTimeIndicatorTimeBubble';
@@ -0,0 +1 @@
1
+ export * from './CurrentTimeIndicator';
@@ -0,0 +1,212 @@
1
+ import { type CSSProperties, type PropType, type SlotsType } from 'vue';
2
+ import type { DayViewProps, MoreEventsProps } from '../../component-props';
3
+ import type { DateLabelFormat } from '../../types';
4
+ import { type EventSlots } from '../shared';
5
+ export declare const DayView: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
6
+ intervalMinutes: {
7
+ type: NumberConstructor;
8
+ default: number;
9
+ };
10
+ headerFormat: {
11
+ type: PropType<DateLabelFormat>;
12
+ default: string;
13
+ };
14
+ withAllDaySlot: {
15
+ type: BooleanConstructor;
16
+ default: boolean;
17
+ };
18
+ allDaySlotHeight: {
19
+ type: PropType<CSSProperties["height"]>;
20
+ default: number;
21
+ };
22
+ maxAllDayEvents: {
23
+ type: NumberConstructor;
24
+ default: number;
25
+ };
26
+ moreEventsProps: PropType<Partial<MoreEventsProps>>;
27
+ startTime: {
28
+ type: StringConstructor;
29
+ default: string;
30
+ };
31
+ endTime: {
32
+ type: StringConstructor;
33
+ default: string;
34
+ };
35
+ slotLabelFormat: {
36
+ type: PropType<DateLabelFormat>;
37
+ default: string;
38
+ };
39
+ withCurrentTimeIndicator: {
40
+ type: BooleanConstructor;
41
+ default: undefined;
42
+ };
43
+ withCurrentTimeBubble: {
44
+ type: BooleanConstructor;
45
+ default: boolean;
46
+ };
47
+ getCurrentTime: PropType<() => import("../..").AnyDateValue>;
48
+ slotHeight: {
49
+ type: PropType<CSSProperties["height"]>;
50
+ default: number;
51
+ };
52
+ highlightBusinessHours: BooleanConstructor;
53
+ businessHours: PropType<import("../..").BusinessHoursValue>;
54
+ withEventsDragAndDrop: BooleanConstructor;
55
+ onEventDrop: PropType<(data: import("../../component-props").EventDropData) => void>;
56
+ canDragEvent: PropType<(event: import("../..").ScheduleEventData) => boolean>;
57
+ onEventDragStart: PropType<(event: import("../..").ScheduleEventData) => void>;
58
+ onEventDragEnd: PropType<() => void>;
59
+ onTimeSlotClick: PropType<(data: import("../../component-props").TimeSlotClickData) => void>;
60
+ onAllDaySlotClick: PropType<(date: import("../..").DateStringValue, nativeEvent: MouseEvent) => void>;
61
+ withDragSlotSelect: BooleanConstructor;
62
+ onSlotDragEnd: FunctionConstructor;
63
+ startScrollTime: StringConstructor;
64
+ onExternalEventDrop: FunctionConstructor;
65
+ withEventResize: BooleanConstructor;
66
+ onEventResize: PropType<(data: import("../../component-props").EventDropData) => void>;
67
+ canResizeEvent: PropType<(event: import("../..").ScheduleEventData) => boolean>;
68
+ date: {
69
+ type: PropType<Date | import("../..").DateStringValue>;
70
+ required: boolean;
71
+ };
72
+ onDateChange: PropType<(date: import("../..").DateStringValue) => void>;
73
+ events: PropType<import("../..").ScheduleEventData[]>;
74
+ locale: StringConstructor;
75
+ radius: PropType<string | number>;
76
+ labels: ObjectConstructor;
77
+ mode: {
78
+ type: PropType<import("../..").ScheduleMode>;
79
+ default: string;
80
+ };
81
+ withHeader: {
82
+ type: BooleanConstructor;
83
+ default: boolean;
84
+ };
85
+ onViewChange: PropType<(view: import("../..").ScheduleViewLevel) => void>;
86
+ previousControlProps: PropType<import("../../component-props").NativeButtonProps>;
87
+ nextControlProps: PropType<import("../../component-props").NativeButtonProps>;
88
+ todayControlProps: PropType<import("../../component-props").NativeButtonProps>;
89
+ viewSelectProps: ObjectConstructor;
90
+ renderEventBody: PropType<import("../ScheduleEvent").RenderEventBody>;
91
+ renderEvent: PropType<import("../ScheduleEvent").RenderEvent>;
92
+ onEventClick: PropType<(event: import("../..").ScheduleEventData, nativeEvent: MouseEvent) => void>;
93
+ recurrenceExpansionLimit: {
94
+ type: NumberConstructor;
95
+ default: number;
96
+ };
97
+ }>, () => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
98
+ [key: string]: any;
99
+ }>, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
100
+ intervalMinutes: {
101
+ type: NumberConstructor;
102
+ default: number;
103
+ };
104
+ headerFormat: {
105
+ type: PropType<DateLabelFormat>;
106
+ default: string;
107
+ };
108
+ withAllDaySlot: {
109
+ type: BooleanConstructor;
110
+ default: boolean;
111
+ };
112
+ allDaySlotHeight: {
113
+ type: PropType<CSSProperties["height"]>;
114
+ default: number;
115
+ };
116
+ maxAllDayEvents: {
117
+ type: NumberConstructor;
118
+ default: number;
119
+ };
120
+ moreEventsProps: PropType<Partial<MoreEventsProps>>;
121
+ startTime: {
122
+ type: StringConstructor;
123
+ default: string;
124
+ };
125
+ endTime: {
126
+ type: StringConstructor;
127
+ default: string;
128
+ };
129
+ slotLabelFormat: {
130
+ type: PropType<DateLabelFormat>;
131
+ default: string;
132
+ };
133
+ withCurrentTimeIndicator: {
134
+ type: BooleanConstructor;
135
+ default: undefined;
136
+ };
137
+ withCurrentTimeBubble: {
138
+ type: BooleanConstructor;
139
+ default: boolean;
140
+ };
141
+ getCurrentTime: PropType<() => import("../..").AnyDateValue>;
142
+ slotHeight: {
143
+ type: PropType<CSSProperties["height"]>;
144
+ default: number;
145
+ };
146
+ highlightBusinessHours: BooleanConstructor;
147
+ businessHours: PropType<import("../..").BusinessHoursValue>;
148
+ withEventsDragAndDrop: BooleanConstructor;
149
+ onEventDrop: PropType<(data: import("../../component-props").EventDropData) => void>;
150
+ canDragEvent: PropType<(event: import("../..").ScheduleEventData) => boolean>;
151
+ onEventDragStart: PropType<(event: import("../..").ScheduleEventData) => void>;
152
+ onEventDragEnd: PropType<() => void>;
153
+ onTimeSlotClick: PropType<(data: import("../../component-props").TimeSlotClickData) => void>;
154
+ onAllDaySlotClick: PropType<(date: import("../..").DateStringValue, nativeEvent: MouseEvent) => void>;
155
+ withDragSlotSelect: BooleanConstructor;
156
+ onSlotDragEnd: FunctionConstructor;
157
+ startScrollTime: StringConstructor;
158
+ onExternalEventDrop: FunctionConstructor;
159
+ withEventResize: BooleanConstructor;
160
+ onEventResize: PropType<(data: import("../../component-props").EventDropData) => void>;
161
+ canResizeEvent: PropType<(event: import("../..").ScheduleEventData) => boolean>;
162
+ date: {
163
+ type: PropType<Date | import("../..").DateStringValue>;
164
+ required: boolean;
165
+ };
166
+ onDateChange: PropType<(date: import("../..").DateStringValue) => void>;
167
+ events: PropType<import("../..").ScheduleEventData[]>;
168
+ locale: StringConstructor;
169
+ radius: PropType<string | number>;
170
+ labels: ObjectConstructor;
171
+ mode: {
172
+ type: PropType<import("../..").ScheduleMode>;
173
+ default: string;
174
+ };
175
+ withHeader: {
176
+ type: BooleanConstructor;
177
+ default: boolean;
178
+ };
179
+ onViewChange: PropType<(view: import("../..").ScheduleViewLevel) => void>;
180
+ previousControlProps: PropType<import("../../component-props").NativeButtonProps>;
181
+ nextControlProps: PropType<import("../../component-props").NativeButtonProps>;
182
+ todayControlProps: PropType<import("../../component-props").NativeButtonProps>;
183
+ viewSelectProps: ObjectConstructor;
184
+ renderEventBody: PropType<import("../ScheduleEvent").RenderEventBody>;
185
+ renderEvent: PropType<import("../ScheduleEvent").RenderEvent>;
186
+ onEventClick: PropType<(event: import("../..").ScheduleEventData, nativeEvent: MouseEvent) => void>;
187
+ recurrenceExpansionLimit: {
188
+ type: NumberConstructor;
189
+ default: number;
190
+ };
191
+ }>> & Readonly<{}>, {
192
+ mode: import("../..").ScheduleMode;
193
+ startTime: string;
194
+ endTime: string;
195
+ intervalMinutes: number;
196
+ slotHeight: import("csstype").Property.Height<string | number> | undefined;
197
+ highlightBusinessHours: boolean;
198
+ withHeader: boolean;
199
+ recurrenceExpansionLimit: number;
200
+ withEventsDragAndDrop: boolean;
201
+ withDragSlotSelect: boolean;
202
+ withEventResize: boolean;
203
+ headerFormat: DateLabelFormat;
204
+ withAllDaySlot: boolean;
205
+ allDaySlotHeight: import("csstype").Property.Height<string | number> | undefined;
206
+ maxAllDayEvents: number;
207
+ slotLabelFormat: DateLabelFormat;
208
+ withCurrentTimeIndicator: boolean;
209
+ withCurrentTimeBubble: boolean;
210
+ }, SlotsType<EventSlots>, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
211
+ export type { DayViewProps };
212
+ export type DayViewStylesNames = 'dayView' | 'dayViewInner' | 'dayViewScrollArea' | 'dayViewAllDay' | 'dayViewAllDayEvents' | 'dayViewSlot' | 'dayViewSlots' | 'dayViewTimeSlots' | 'dayViewSlotLabel' | 'dayViewSlotLabels' | 'dayViewBackgroundEvent';
@@ -0,0 +1,15 @@
1
+ import { AnyDateValue, DayPositionedEventData, ScheduleEventData } from '../../../types';
2
+ interface GetDayPositionedEventsInput {
3
+ /** Date at which events are positioned, used to check if events are all-day */
4
+ date: AnyDateValue;
5
+ /** List of all events that belong to the given date, extra events must be filtered out before passing to the function */
6
+ events: ScheduleEventData[];
7
+ /** Start time of the day view, used to calculate event positions */
8
+ startTime?: string;
9
+ /** End time of the day view, used to calculate event positions */
10
+ endTime?: string;
11
+ /** Number of minutes per time slot, used to align the canvas to whole slots */
12
+ intervalMinutes?: number;
13
+ }
14
+ export declare function getDayPositionedEvents({ events, startTime, endTime, intervalMinutes, date, }: GetDayPositionedEventsInput): DayPositionedEventData[];
15
+ export {};
@@ -0,0 +1,15 @@
1
+ import { AnyDateValue, DayPositionedEventData, ScheduleEventData } from '../../../types';
2
+ interface GetDayViewEventsInput {
3
+ events: ScheduleEventData[] | undefined;
4
+ date: AnyDateValue;
5
+ startTime?: string;
6
+ endTime?: string;
7
+ intervalMinutes?: number;
8
+ }
9
+ export declare function getDayViewEvents({ events, date, startTime, endTime, intervalMinutes, }: GetDayViewEventsInput): {
10
+ allDayEvents: DayPositionedEventData[];
11
+ regularEvents: DayPositionedEventData[];
12
+ backgroundTimedEvents: DayPositionedEventData[];
13
+ backgroundAllDayEvents: DayPositionedEventData[];
14
+ };
15
+ export {};
@@ -0,0 +1,3 @@
1
+ export * from './DayView';
2
+ export * from './get-day-view-events/get-day-view-events';
3
+ export * from './get-day-view-events/get-day-positioned-events';
@@ -0,0 +1,11 @@
1
+ import { type InjectionKey } from 'vue';
2
+ import type { DropTarget, ScheduleEventData } from '../../types';
3
+ export interface DragContextValue {
4
+ draggedEvent: ScheduleEventData | null;
5
+ dragOverTarget: DropTarget | null;
6
+ isDragging: boolean;
7
+ isSlotDragging: boolean;
8
+ }
9
+ export declare const DragContext: InjectionKey<DragContextValue>;
10
+ export declare function provideDragContext(value: DragContextValue): void;
11
+ export declare function useDragContext(): DragContextValue;
@@ -0,0 +1 @@
1
+ export * from './DragContext';