1 | import { DateAdapter } from './date-adapters/date-adapter/index';
|
2 | export declare enum DAYS_OF_WEEK {
|
3 | SUNDAY = 0,
|
4 | MONDAY = 1,
|
5 | TUESDAY = 2,
|
6 | WEDNESDAY = 3,
|
7 | THURSDAY = 4,
|
8 | FRIDAY = 5,
|
9 | SATURDAY = 6
|
10 | }
|
11 | export declare const SECONDS_IN_DAY: number;
|
12 | export interface WeekDay {
|
13 | date: Date;
|
14 | day: number;
|
15 | isPast: boolean;
|
16 | isToday: boolean;
|
17 | isFuture: boolean;
|
18 | isWeekend: boolean;
|
19 | cssClass?: string;
|
20 | }
|
21 | export interface EventColor {
|
22 | primary: string;
|
23 | secondary: string;
|
24 | }
|
25 | export interface EventAction {
|
26 | id?: string | number;
|
27 | label: string;
|
28 | cssClass?: string;
|
29 | a11yLabel?: string;
|
30 | onClick({ event, sourceEvent, }: {
|
31 | event: CalendarEvent;
|
32 | sourceEvent: MouseEvent | KeyboardEvent;
|
33 | }): any;
|
34 | }
|
35 | export interface CalendarEvent<MetaType = any> {
|
36 | id?: string | number;
|
37 | start: Date;
|
38 | end?: Date;
|
39 | title: string;
|
40 | color?: EventColor;
|
41 | actions?: EventAction[];
|
42 | allDay?: boolean;
|
43 | cssClass?: string;
|
44 | resizable?: {
|
45 | beforeStart?: boolean;
|
46 | afterEnd?: boolean;
|
47 | };
|
48 | draggable?: boolean;
|
49 | meta?: MetaType;
|
50 | }
|
51 | export interface WeekViewAllDayEvent {
|
52 | event: CalendarEvent;
|
53 | offset: number;
|
54 | span: number;
|
55 | startsBeforeWeek: boolean;
|
56 | endsAfterWeek: boolean;
|
57 | }
|
58 | export interface WeekViewAllDayEventRow {
|
59 | id?: string;
|
60 | row: WeekViewAllDayEvent[];
|
61 | }
|
62 | export interface WeekView {
|
63 | period: ViewPeriod;
|
64 | allDayEventRows: WeekViewAllDayEventRow[];
|
65 | hourColumns: WeekViewHourColumn[];
|
66 | }
|
67 | export interface MonthViewDay<MetaType = any> extends WeekDay {
|
68 | inMonth: boolean;
|
69 | events: CalendarEvent[];
|
70 | backgroundColor?: string;
|
71 | badgeTotal: number;
|
72 | meta?: MetaType;
|
73 | }
|
74 | export interface MonthView {
|
75 | rowOffsets: number[];
|
76 | days: MonthViewDay[];
|
77 | totalDaysVisibleInWeek: number;
|
78 | period: ViewPeriod;
|
79 | }
|
80 | export interface WeekViewTimeEvent {
|
81 | event: CalendarEvent;
|
82 | height: number;
|
83 | width: number;
|
84 | top: number;
|
85 | left: number;
|
86 | startsBeforeDay: boolean;
|
87 | endsAfterDay: boolean;
|
88 | }
|
89 | export interface WeekViewHourSegment {
|
90 | isStart: boolean;
|
91 | date: Date;
|
92 | displayDate: Date;
|
93 | cssClass?: string;
|
94 | }
|
95 | export interface WeekViewHour {
|
96 | segments: WeekViewHourSegment[];
|
97 | }
|
98 | export interface WeekViewHourColumn {
|
99 | date: Date;
|
100 | hours: WeekViewHour[];
|
101 | events: WeekViewTimeEvent[];
|
102 | }
|
103 | export interface ViewPeriod {
|
104 | start: Date;
|
105 | end: Date;
|
106 | events: CalendarEvent[];
|
107 | }
|
108 | export interface GetEventsInPeriodArgs {
|
109 | events: CalendarEvent[];
|
110 | periodStart: Date;
|
111 | periodEnd: Date;
|
112 | }
|
113 | export declare function getEventsInPeriod(dateAdapter: DateAdapter, { events, periodStart, periodEnd }: GetEventsInPeriodArgs): CalendarEvent[];
|
114 | export interface GetWeekViewHeaderArgs {
|
115 | viewDate: Date;
|
116 | weekStartsOn: number;
|
117 | excluded?: number[];
|
118 | weekendDays?: number[];
|
119 | viewStart?: Date;
|
120 | viewEnd?: Date;
|
121 | }
|
122 | export declare function getWeekViewHeader(dateAdapter: DateAdapter, { viewDate, weekStartsOn, excluded, weekendDays, viewStart, viewEnd, }: GetWeekViewHeaderArgs): WeekDay[];
|
123 | export interface GetWeekViewArgs {
|
124 | events?: CalendarEvent[];
|
125 | viewDate: Date;
|
126 | weekStartsOn: number;
|
127 | excluded?: number[];
|
128 | precision?: 'minutes' | 'days';
|
129 | absolutePositionedEvents?: boolean;
|
130 | hourSegments?: number;
|
131 | hourDuration?: number;
|
132 | dayStart: Time;
|
133 | dayEnd: Time;
|
134 | weekendDays?: number[];
|
135 | segmentHeight: number;
|
136 | viewStart?: Date;
|
137 | viewEnd?: Date;
|
138 | minimumEventHeight?: number;
|
139 | }
|
140 | export declare function getDifferenceInDaysWithExclusions(dateAdapter: DateAdapter, { date1, date2, excluded }: {
|
141 | date1: Date;
|
142 | date2: Date;
|
143 | excluded: number[];
|
144 | }): number;
|
145 | interface GetAllDayEventArgs {
|
146 | precision?: 'days' | 'minutes';
|
147 | events?: CalendarEvent[];
|
148 | absolutePositionedEvents?: boolean;
|
149 | viewStart: Date;
|
150 | viewEnd: Date;
|
151 | excluded?: number[];
|
152 | }
|
153 | export declare function getAllDayWeekEvents(dateAdapter: DateAdapter, { events, excluded, precision, absolutePositionedEvents, viewStart, viewEnd, }: GetAllDayEventArgs): WeekViewAllDayEventRow[];
|
154 | export declare function getWeekView(dateAdapter: DateAdapter, { events, viewDate, weekStartsOn, excluded, precision, absolutePositionedEvents, hourSegments, hourDuration, dayStart, dayEnd, weekendDays, segmentHeight, minimumEventHeight, viewStart, viewEnd, }: GetWeekViewArgs): WeekView;
|
155 | export interface GetMonthViewArgs {
|
156 | events?: CalendarEvent[];
|
157 | viewDate: Date;
|
158 | weekStartsOn: number;
|
159 | excluded?: number[];
|
160 | viewStart?: Date;
|
161 | viewEnd?: Date;
|
162 | weekendDays?: number[];
|
163 | }
|
164 | export declare function getMonthView(dateAdapter: DateAdapter, { events, viewDate, weekStartsOn, excluded, viewStart, viewEnd, weekendDays, }: GetMonthViewArgs): MonthView;
|
165 | export interface GetDayViewArgs {
|
166 | events?: CalendarEvent[];
|
167 | viewDate: Date;
|
168 | hourSegments: number;
|
169 | dayStart: {
|
170 | hour: number;
|
171 | minute: number;
|
172 | };
|
173 | dayEnd: {
|
174 | hour: number;
|
175 | minute: number;
|
176 | };
|
177 | eventWidth: number;
|
178 | segmentHeight: number;
|
179 | hourDuration: number;
|
180 | minimumEventHeight: number;
|
181 | }
|
182 | interface Time {
|
183 | hour: number;
|
184 | minute: number;
|
185 | }
|
186 | export declare enum EventValidationErrorMessage {
|
187 | NotArray = "Events must be an array",
|
188 | StartPropertyMissing = "Event is missing the `start` property",
|
189 | StartPropertyNotDate = "Event `start` property should be a javascript date object. Do `new Date(event.start)` to fix it.",
|
190 | EndPropertyNotDate = "Event `end` property should be a javascript date object. Do `new Date(event.end)` to fix it.",
|
191 | EndsBeforeStart = "Event `start` property occurs after the `end`"
|
192 | }
|
193 | export declare function validateEvents(events: CalendarEvent[], log: (...args: any[]) => void): boolean;
|
194 | export {};
|