@tlmgo/tui-calendar 2.2.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.
@@ -0,0 +1,206 @@
1
+ /**
2
+ * Custom Date Class to handle timezone offset.
3
+ *
4
+ * For more information, see {@link https://github.com/nhn/tui.calendar/blob/main/docs/en/apis/tzdate.md|TZDate} in guide.
5
+ *
6
+ * @class TZDate
7
+ * @param {number|TZDate|Date|string} date - date value to be converted. If date is number or string, it should be eligible to parse by Date constructor.
8
+ */
9
+ export default class TZDate {
10
+ private tzOffset;
11
+ private d;
12
+ constructor(...args: any[]);
13
+ /**
14
+ * Get the string representation of the date.
15
+ * @returns {string} string representation of the date.
16
+ */
17
+ toString(): string;
18
+ /**
19
+ * Add years to the instance.
20
+ * @param {number} y - number of years to be added.
21
+ * @returns {TZDate} - returns the instance itself.
22
+ */
23
+ addFullYear(y: number): TZDate;
24
+ /**
25
+ * Add months to the instance.
26
+ * @param {number} m - number of months to be added.
27
+ * @returns {TZDate} - returns the instance itself.
28
+ */
29
+ addMonth(m: number): TZDate;
30
+ /**
31
+ * Add dates to the instance.
32
+ * @param {number} d - number of days to be added.
33
+ * @returns {TZDate} - returns the instance itself.
34
+ */
35
+ addDate(d: number): TZDate;
36
+ /**
37
+ * Add hours to the instance.
38
+ * @param {number} h - number of hours to be added.
39
+ * @returns {TZDate} - returns the instance itself.
40
+ */
41
+ addHours(h: number): TZDate;
42
+ /**
43
+ * Add minutes to the instance.
44
+ * @param {number} M - number of minutes to be added.
45
+ * @returns {TZDate} - returns the instance itself.
46
+ */
47
+ addMinutes(M: number): TZDate;
48
+ /**
49
+ * Add seconds to the instance.
50
+ * @param {number} s - number of seconds to be added.
51
+ * @returns {TZDate} - returns the instance itself.
52
+ */
53
+ addSeconds(s: number): TZDate;
54
+ /**
55
+ * Add milliseconds to the instance.
56
+ * @param {number} ms - number of milliseconds to be added.
57
+ * @returns {TZDate} - returns the instance itself.
58
+ */
59
+ addMilliseconds(ms: number): TZDate;
60
+ /**
61
+ * Set the date and time all at once.
62
+ * @param {number} y - year
63
+ * @param {number} m - month
64
+ * @param {number} d - date
65
+ * @param {number} h - hours
66
+ * @param {number} M - minutes
67
+ * @param {number} s - seconds
68
+ * @param {number} ms - milliseconds
69
+ * @returns {TZDate} - returns the instance itself.
70
+ */
71
+ setWithRaw(y: number, m: number, d: number, h: number, M: number, s: number, ms: number): TZDate;
72
+ /**
73
+ * Convert the instance to the native `Date` object.
74
+ * @returns {Date} - The native `Date` object.
75
+ */
76
+ toDate(): Date;
77
+ /**
78
+ * Get the value of the date. (milliseconds since 1970-01-01 00:00:00 (UTC+0))
79
+ * @returns {number} - value of the date.
80
+ */
81
+ valueOf(): number;
82
+ /**
83
+ * Get the timezone offset from UTC in minutes.
84
+ * @returns {number} - timezone offset in minutes.
85
+ */
86
+ getTimezoneOffset(): number;
87
+ /**
88
+ * Get milliseconds which is converted by timezone
89
+ * @returns {number} milliseconds
90
+ */
91
+ getTime(): number;
92
+ /**
93
+ * Get the year of the instance.
94
+ * @returns {number} - full year
95
+ */
96
+ getFullYear(): number;
97
+ /**
98
+ * Get the month of the instance. (zero-based)
99
+ * @returns {number} - month
100
+ */
101
+ getMonth(): number;
102
+ /**
103
+ * Get the date of the instance.
104
+ * @returns {number} - date
105
+ */
106
+ getDate(): number;
107
+ /**
108
+ * Get the hours of the instance.
109
+ * @returns {number} - hours
110
+ */
111
+ getHours(): number;
112
+ /**
113
+ * Get the minutes of the instance.
114
+ * @returns {number} - minutes
115
+ */
116
+ getMinutes(): number;
117
+ /**
118
+ * Get the seconds of the instance.
119
+ * @returns {number} - seconds
120
+ */
121
+ getSeconds(): number;
122
+ /**
123
+ * Get the milliseconds of the instance.
124
+ * @returns {number} - milliseconds
125
+ */
126
+ getMilliseconds(): number;
127
+ /**
128
+ * Get the day of the week of the instance.
129
+ * @returns {number} - day of the week
130
+ */
131
+ getDay(): number;
132
+ /**
133
+ * Sets the instance to the time represented by a number of milliseconds since 1970-01-01 00:00:00 (UTC+0).
134
+ * @param {number} t - number of milliseconds
135
+ * @returns {number} - Passed milliseconds of the instance since 1970-01-01 00:00:00 (UTC+0).
136
+ */
137
+ setTime(t: number): number;
138
+ /**
139
+ * Sets the year-month-date of the instance. Equivalent to calling `setFullYear` of `Date` object.
140
+ * @param {number} y - year
141
+ * @param {number} m - month (zero-based)
142
+ * @param {number} d - date
143
+ * @returns {number} - Passed milliseconds of the instance since 1970-01-01 00:00:00 (UTC+0).
144
+ */
145
+ setFullYear(y: number, m?: number, d?: number): number;
146
+ /**
147
+ * Sets the month of the instance. Equivalent to calling `setMonth` of `Date` object.
148
+ * @param {number} m - month (zero-based)
149
+ * @param {number} d - date
150
+ * @returns {number} - Passed milliseconds of the instance since 1970-01-01 00:00:00 (UTC+0).
151
+ */
152
+ setMonth(m: number, d?: number): number;
153
+ /**
154
+ * Sets the date of the instance. Equivalent to calling `setDate` of `Date` object.
155
+ * @param {number} d - date
156
+ * @returns {number} - Passed milliseconds of the instance since 1970-01-01 00:00:00 (UTC+0).
157
+ */
158
+ setDate(d: number): number;
159
+ /**
160
+ * Sets the hours of the instance. Equivalent to calling `setHours` of `Date` object.
161
+ * @param {number} h - hours
162
+ * @param {number} M - minutes
163
+ * @param {number} s - seconds
164
+ * @param {number} ms - milliseconds
165
+ * @returns {number} - Passed milliseconds of the instance since 1970-01-01 00:00:00 (UTC+0).
166
+ */
167
+ setHours(h: number, M?: number, s?: number, ms?: number): number;
168
+ /**
169
+ * Sets the minutes of the instance. Equivalent to calling `setMinutes` of `Date` object.
170
+ * @param {number} M - minutes
171
+ * @param {number} s - seconds
172
+ * @param {number} ms - milliseconds
173
+ * @returns {number} - Passed milliseconds of the instance since 1970-01-01 00:00:00 (UTC+0).
174
+ */
175
+ setMinutes(M: number, s?: number, ms?: number): number;
176
+ /**
177
+ * Sets the seconds of the instance. Equivalent to calling `setSeconds` of `Date` object.
178
+ * @param {number} s - seconds
179
+ * @param {number} ms - milliseconds
180
+ * @returns {number} - Passed milliseconds of the instance since 1970-01-01 00:00:00 (UTC+0).
181
+ */
182
+ setSeconds(s: number, ms?: number): number;
183
+ /**
184
+ * Sets the milliseconds of the instance. Equivalent to calling `setMilliseconds` of `Date` object.
185
+ * @param {number} ms - milliseconds
186
+ * @returns {number} - Passed milliseconds of the instance since 1970-01-01 00:00:00 (UTC+0).
187
+ */
188
+ setMilliseconds(ms: number): number;
189
+ /**
190
+ * Set the timezone offset of the instance.
191
+ * @param {string|number} tzValue - The name of timezone(IANA name) or timezone offset(in minutes).
192
+ * @returns {TZDate} - New instance with the timezone offset.
193
+ */
194
+ tz(tzValue: string | 'Local' | number): TZDate;
195
+ /**
196
+ * Get the new instance following the system's timezone.
197
+ * If the system timezone is different from the timezone of the instance,
198
+ * the instance is converted to the system timezone.
199
+ *
200
+ * Instance's `tzOffset` property will be ignored if there is a `tzValue` parameter.
201
+ *
202
+ * @param {string|number} tzValue - The name of timezone(IANA name) or timezone offset(in minutes).
203
+ * @returns {TZDate} - New instance with the system timezone.
204
+ */
205
+ local(tzValue?: string | number): TZDate;
206
+ }
@@ -0,0 +1,40 @@
1
+ import type { EventObject, EventObjectWithDefaultValues } from "./events";
2
+ export declare type AnyFunc = (...args: any[]) => any;
3
+ export interface SelectDateTimeInfo {
4
+ start: Date;
5
+ end: Date;
6
+ isAllday: boolean;
7
+ nativeEvent?: MouseEvent;
8
+ gridSelectionElements: Element[];
9
+ }
10
+ export interface UpdatedEventInfo {
11
+ event: EventObjectWithDefaultValues;
12
+ changes: EventObject;
13
+ }
14
+ export interface DayNameInfo {
15
+ date: string;
16
+ }
17
+ export interface EventInfo {
18
+ event: EventObjectWithDefaultValues;
19
+ nativeEvent: MouseEvent;
20
+ }
21
+ export interface MoreEventsButton {
22
+ date: Date;
23
+ target: HTMLDivElement;
24
+ }
25
+ export declare type ScrollBehaviorOptions = ScrollToOptions['behavior'];
26
+ export declare type ExternalEventTypes = {
27
+ selectDateTime: (info: SelectDateTimeInfo) => void;
28
+ beforeCreateEvent: (event: EventObject) => void;
29
+ beforeUpdateEvent: (updatedEventInfo: UpdatedEventInfo) => void;
30
+ beforeDeleteEvent: (event: EventObjectWithDefaultValues) => void;
31
+ afterRenderEvent: (event: EventObjectWithDefaultValues) => void;
32
+ clickDayName: (dayNameInfo: DayNameInfo) => void;
33
+ clickEvent: (eventInfo: EventInfo) => void;
34
+ clickMoreEventsBtn: (moreEventsBtnInfo: MoreEventsButton) => void;
35
+ clickTimezonesCollapseBtn: (prevCollapsedState: boolean) => void;
36
+ [eventName: string]: AnyFunc;
37
+ };
38
+ export declare type InternalEventTypes = {
39
+ scrollToNow: (scrollBehavior?: ScrollBehaviorOptions) => void;
40
+ };
@@ -0,0 +1,141 @@
1
+ import type { MarkOptional } from 'ts-essentials';
2
+ import type EventModel from "../model/eventModel";
3
+ import type EventUIModel from "../model/eventUIModel";
4
+ import type TZDate from "../time/date";
5
+ import type Collection from "../utils/collection";
6
+ import type { StyleProp } from "./components/common";
7
+ import type { CalendarInfo } from "./options";
8
+ export declare type Matrix<T> = T[][];
9
+ export declare type Matrix3d<T> = Matrix<T>[];
10
+ export declare type CollisionGroup = Matrix<number>;
11
+ export declare type DayGridEventMatrix = Matrix3d<EventUIModel>;
12
+ export declare type TimeGridEventMatrix = Record<string, Matrix3d<EventUIModel>>;
13
+ export declare type EventModelMap = {
14
+ milestone: EventUIModel[];
15
+ allday: EventUIModel[];
16
+ task: EventUIModel[];
17
+ time: EventUIModel[];
18
+ };
19
+ export declare type EventGroupMap = Record<keyof EventModelMap, DayGridEventMatrix | TimeGridEventMatrix>;
20
+ export declare type DateType = Date | string | number | TZDate;
21
+ export declare type IDS_OF_DAY = Record<string, number[]>;
22
+ export interface CalendarData {
23
+ calendars: CalendarInfo[];
24
+ events: Collection<EventModel>;
25
+ idsOfDay: IDS_OF_DAY;
26
+ }
27
+ export declare type EventCategory = 'milestone' | 'task' | 'allday' | 'time';
28
+ export declare type EventState = 'Busy' | 'Free';
29
+ export declare type EventObjectWithDefaultValues = MarkOptional<Required<EventObject>, 'color' | 'borderColor' | 'backgroundColor' | 'dragBackgroundColor'> & {
30
+ start: TZDate;
31
+ end: TZDate;
32
+ __cid: number;
33
+ };
34
+ export interface EventObject {
35
+ /**
36
+ * `Optional` unique id for various use
37
+ */
38
+ id?: string;
39
+ /**
40
+ * Calendar ID
41
+ */
42
+ calendarId?: string;
43
+ /**
44
+ * Title for the event
45
+ */
46
+ title?: string;
47
+ /**
48
+ * Body for the event
49
+ */
50
+ body?: string;
51
+ /**
52
+ * Determine if the event is an all-day event
53
+ */
54
+ isAllday?: boolean;
55
+ /**
56
+ * When the event starts
57
+ */
58
+ start?: DateType;
59
+ /**
60
+ * When the event ends
61
+ */
62
+ end?: DateType;
63
+ /**
64
+ * Travel time which is taken to go
65
+ */
66
+ goingDuration?: number;
67
+ /**
68
+ * Travel time which is taken to come back
69
+ */
70
+ comingDuration?: number;
71
+ /**
72
+ * Location of the event
73
+ */
74
+ location?: string;
75
+ /**
76
+ * Attendees of the event
77
+ */
78
+ attendees?: string[];
79
+ /**
80
+ * Category of the event (milestone, task, allday, time)
81
+ */
82
+ category?: EventCategory;
83
+ /**
84
+ * Classification of work events (before work, before lunch, before work)
85
+ */
86
+ dueDateClass?: string;
87
+ /**
88
+ * Recurrence rule of the event
89
+ */
90
+ recurrenceRule?: string;
91
+ /**
92
+ * State of the event. The default is 'Busy'
93
+ */
94
+ state?: EventState;
95
+ /**
96
+ * Determine whether the event is shown or hidden
97
+ */
98
+ isVisible?: boolean;
99
+ /**
100
+ * Determine whether something is in progress
101
+ */
102
+ isPending?: boolean;
103
+ /**
104
+ * Determine whether the event is focused
105
+ */
106
+ isFocused?: boolean;
107
+ /**
108
+ * Determine whether the event is read-only
109
+ */
110
+ isReadOnly?: boolean;
111
+ /**
112
+ * Determine whether the event is private
113
+ */
114
+ isPrivate?: boolean;
115
+ /**
116
+ * Text color of the event element
117
+ */
118
+ color?: string;
119
+ /**
120
+ * Background color of the event element
121
+ */
122
+ backgroundColor?: string;
123
+ /**
124
+ * Background color of the dragging event element
125
+ */
126
+ dragBackgroundColor?: string;
127
+ /**
128
+ * Left border color of the event element
129
+ */
130
+ borderColor?: string;
131
+ /**
132
+ * Custom style for the event element
133
+ */
134
+ customStyle?: StyleProp;
135
+ /**
136
+ * Raw data for the event
137
+ */
138
+ raw?: any;
139
+ }
140
+ export declare type BooleanKeyOfEventObject = 'isPrivate' | 'isAllday' | 'isPending' | 'isFocused' | 'isVisible' | 'isReadOnly';
141
+ export declare type TimeUnit = 'second' | 'minute' | 'hour' | 'date' | 'month' | 'year';
@@ -0,0 +1,82 @@
1
+ import type { ComponentType } from 'preact';
2
+ import type { DeepPartial } from 'ts-essentials';
3
+ import type { EventObject, EventObjectWithDefaultValues } from "./events";
4
+ import type { TemplateConfig } from "./template";
5
+ import type { ThemeState } from "./theme";
6
+ export declare type EventView = 'allday' | 'time';
7
+ export declare type TaskView = 'milestone' | 'task';
8
+ export interface CollapseDuplicateEventsOptions {
9
+ getDuplicateEvents: (targetEvent: EventObjectWithDefaultValues, events: EventObjectWithDefaultValues[]) => EventObjectWithDefaultValues[];
10
+ getMainEvent: (events: EventObjectWithDefaultValues[]) => EventObjectWithDefaultValues;
11
+ }
12
+ export interface WeekOptions {
13
+ startDayOfWeek?: number;
14
+ dayNames?: [string, string, string, string, string, string, string] | [];
15
+ narrowWeekend?: boolean;
16
+ workweek?: boolean;
17
+ showNowIndicator?: boolean;
18
+ showTimezoneCollapseButton?: boolean;
19
+ timezonesCollapsed?: boolean;
20
+ hourStart?: number;
21
+ hourEnd?: number;
22
+ eventView?: boolean | EventView[];
23
+ taskView?: boolean | TaskView[];
24
+ collapseDuplicateEvents?: boolean | Partial<CollapseDuplicateEventsOptions>;
25
+ }
26
+ export interface MonthOptions {
27
+ dayNames?: [string, string, string, string, string, string, string] | [];
28
+ startDayOfWeek?: number;
29
+ narrowWeekend?: boolean;
30
+ visibleWeeksCount?: number;
31
+ isAlways6Weeks?: boolean;
32
+ workweek?: boolean;
33
+ visibleEventCount?: number;
34
+ }
35
+ export interface GridSelectionOptions {
36
+ enableDblClick?: boolean;
37
+ enableClick?: boolean;
38
+ }
39
+ export interface TimezoneConfig {
40
+ timezoneName: string;
41
+ displayLabel?: string;
42
+ tooltip?: string;
43
+ }
44
+ export interface TimezoneOptions {
45
+ zones?: TimezoneConfig[];
46
+ customOffsetCalculator?: (timezoneName: string, timestamp: number) => number;
47
+ }
48
+ export interface CalendarColor {
49
+ color?: string;
50
+ backgroundColor?: string;
51
+ dragBackgroundColor?: string;
52
+ borderColor?: string;
53
+ }
54
+ export interface CalendarInfo extends CalendarColor {
55
+ id: string;
56
+ name: string;
57
+ }
58
+ export declare type ViewType = 'month' | 'week' | 'day';
59
+ export interface Options {
60
+ defaultView?: ViewType;
61
+ theme?: DeepPartial<ThemeState>;
62
+ template?: TemplateConfig;
63
+ week?: WeekOptions;
64
+ month?: MonthOptions;
65
+ calendars?: CalendarInfo[];
66
+ useFormPopup?: boolean;
67
+ useDetailPopup?: boolean;
68
+ gridSelection?: boolean | GridSelectionOptions;
69
+ isReadOnly?: boolean;
70
+ usageStatistics?: boolean;
71
+ eventFilter?: (event: EventObject) => boolean;
72
+ timezone?: TimezoneOptions;
73
+ }
74
+ export interface ViewInfoUserInput {
75
+ component: ComponentType<any>;
76
+ router?: {
77
+ linkTitle: string;
78
+ };
79
+ }
80
+ export declare type ViewListMap = {
81
+ [key: string]: ViewInfoUserInput;
82
+ };
@@ -0,0 +1,97 @@
1
+ import type { VNode } from 'preact';
2
+ import type TZDate from "../time/date";
3
+ import type { EventObjectWithDefaultValues, TimeUnit } from "./events";
4
+ export interface TemplateTimeGridHourLabel {
5
+ hidden: boolean;
6
+ hour: number;
7
+ minutes: number;
8
+ }
9
+ export interface TemplateNow {
10
+ unit: TimeUnit;
11
+ time: TZDate;
12
+ format: string;
13
+ }
14
+ export interface TemplateMonthGrid {
15
+ date: string;
16
+ day: number;
17
+ hiddenEventCount: number;
18
+ isOtherMonth: boolean;
19
+ isToday: boolean;
20
+ month: number;
21
+ ymd: string;
22
+ }
23
+ export interface TemplateMoreTitleDate {
24
+ ymd: string;
25
+ date: number;
26
+ day: number;
27
+ }
28
+ export interface TemplateWeekDayName {
29
+ date: number;
30
+ day: number;
31
+ dayName: string;
32
+ isToday: boolean;
33
+ renderDate: string;
34
+ dateInstance: TZDate;
35
+ }
36
+ export interface TemplateMonthDayName {
37
+ day: number;
38
+ label: string;
39
+ }
40
+ /**
41
+ * If display label does not exist in the timezone options,
42
+ * timezone offset based on timezone name will be passed
43
+ */
44
+ export declare type TemplateTimezone = {
45
+ displayLabel: string;
46
+ timezoneOffset: null;
47
+ } | {
48
+ displayLabel: null;
49
+ timezoneOffset: number;
50
+ };
51
+ export declare type TemplateReturnType = string | VNode<{
52
+ className: string;
53
+ }>;
54
+ export interface Template {
55
+ milestoneTitle: () => TemplateReturnType;
56
+ milestone: (event: EventObjectWithDefaultValues) => TemplateReturnType;
57
+ taskTitle: () => TemplateReturnType;
58
+ task: (event: EventObjectWithDefaultValues) => TemplateReturnType;
59
+ alldayTitle: () => TemplateReturnType;
60
+ allday: (event: EventObjectWithDefaultValues) => TemplateReturnType;
61
+ time: (event: EventObjectWithDefaultValues) => TemplateReturnType;
62
+ goingDuration: (event: EventObjectWithDefaultValues) => TemplateReturnType;
63
+ comingDuration: (event: EventObjectWithDefaultValues) => TemplateReturnType;
64
+ monthMoreTitleDate: (moreTitle: TemplateMoreTitleDate) => TemplateReturnType;
65
+ monthMoreClose: () => TemplateReturnType;
66
+ monthGridHeader: (cellData: TemplateMonthGrid) => TemplateReturnType;
67
+ monthGridHeaderExceed: (hiddenEventsCount: number) => TemplateReturnType;
68
+ monthGridFooter: (cellData: TemplateMonthGrid) => TemplateReturnType;
69
+ monthGridFooterExceed: (hiddenEventsCount: number) => TemplateReturnType;
70
+ monthDayName: (monthDayNameData: TemplateMonthDayName) => TemplateReturnType;
71
+ weekDayName: (weekDayNameData: TemplateWeekDayName) => TemplateReturnType;
72
+ weekGridFooterExceed: (hiddenEventsCount: number) => TemplateReturnType;
73
+ collapseBtnTitle: () => TemplateReturnType;
74
+ timezoneDisplayLabel: (props: TemplateTimezone) => TemplateReturnType;
75
+ timegridDisplayPrimaryTime: (props: TemplateNow) => TemplateReturnType;
76
+ timegridDisplayTime: (props: TemplateNow) => TemplateReturnType;
77
+ timegridNowIndicatorLabel: (props: TemplateNow) => TemplateReturnType;
78
+ popupIsAllday: () => TemplateReturnType;
79
+ popupStateFree: () => TemplateReturnType;
80
+ popupStateBusy: () => TemplateReturnType;
81
+ titlePlaceholder: () => TemplateReturnType;
82
+ locationPlaceholder: () => TemplateReturnType;
83
+ startDatePlaceholder: () => TemplateReturnType;
84
+ endDatePlaceholder: () => TemplateReturnType;
85
+ popupSave: () => TemplateReturnType;
86
+ popupUpdate: () => TemplateReturnType;
87
+ popupDetailTitle: (event: EventObjectWithDefaultValues) => TemplateReturnType;
88
+ popupDetailDate: (event: EventObjectWithDefaultValues) => TemplateReturnType;
89
+ popupDetailLocation: (event: EventObjectWithDefaultValues) => TemplateReturnType;
90
+ popupDetailAttendees: (event: EventObjectWithDefaultValues) => TemplateReturnType;
91
+ popupDetailState: (event: EventObjectWithDefaultValues) => TemplateReturnType;
92
+ popupDetailRecurrenceRule: (event: EventObjectWithDefaultValues) => TemplateReturnType;
93
+ popupDetailBody: (event: EventObjectWithDefaultValues) => TemplateReturnType;
94
+ popupEdit: () => TemplateReturnType;
95
+ popupDelete: () => TemplateReturnType;
96
+ }
97
+ export declare type TemplateConfig = Partial<Template>;
@@ -0,0 +1,140 @@
1
+ import type { DeepPartial } from 'ts-essentials';
2
+ export declare type CommonTheme = {
3
+ backgroundColor: string;
4
+ border: string;
5
+ gridSelection: {
6
+ backgroundColor: string;
7
+ border: string;
8
+ };
9
+ dayName: {
10
+ color: string;
11
+ };
12
+ holiday: {
13
+ color: string;
14
+ };
15
+ saturday: {
16
+ color: string;
17
+ };
18
+ today: {
19
+ color: string;
20
+ };
21
+ };
22
+ export declare type WeekDayNameTheme = {
23
+ borderLeft: string;
24
+ borderTop: string;
25
+ borderBottom: string;
26
+ backgroundColor: string;
27
+ };
28
+ export declare type MonthDayNameTheme = {
29
+ borderLeft: string;
30
+ backgroundColor: string;
31
+ };
32
+ export declare type DayGridTheme = {
33
+ borderRight: string;
34
+ backgroundColor: string;
35
+ };
36
+ export declare type DayGridLeftTheme = {
37
+ borderRight: string;
38
+ backgroundColor: string;
39
+ width: string;
40
+ };
41
+ export declare type TimeGridLeftTheme = {
42
+ borderRight: string;
43
+ backgroundColor: string;
44
+ width: string;
45
+ };
46
+ export declare type WeekTheme = {
47
+ dayName: WeekDayNameTheme;
48
+ dayGrid: DayGridTheme;
49
+ dayGridLeft: DayGridLeftTheme;
50
+ timeGrid: {
51
+ borderRight: string;
52
+ };
53
+ timeGridLeft: TimeGridLeftTheme;
54
+ timeGridLeftAdditionalTimezone: {
55
+ backgroundColor: string;
56
+ };
57
+ timeGridHalfHourLine: {
58
+ borderBottom: string;
59
+ };
60
+ timeGridHourLine: {
61
+ borderBottom: string;
62
+ };
63
+ nowIndicatorLabel: {
64
+ color: string;
65
+ };
66
+ nowIndicatorPast: {
67
+ border: string;
68
+ };
69
+ nowIndicatorBullet: {
70
+ backgroundColor: string;
71
+ };
72
+ nowIndicatorToday: {
73
+ border: string;
74
+ };
75
+ nowIndicatorFuture: {
76
+ border: string;
77
+ };
78
+ pastTime: {
79
+ color: string;
80
+ };
81
+ futureTime: {
82
+ color: string;
83
+ };
84
+ weekend: {
85
+ backgroundColor: string;
86
+ };
87
+ today: {
88
+ color: string;
89
+ backgroundColor: string;
90
+ };
91
+ pastDay: {
92
+ color: string;
93
+ };
94
+ panelResizer: {
95
+ border: string;
96
+ };
97
+ gridSelection: {
98
+ color: string;
99
+ };
100
+ };
101
+ export declare type MonthTheme = {
102
+ dayExceptThisMonth: {
103
+ color: string;
104
+ };
105
+ dayName: MonthDayNameTheme;
106
+ holidayExceptThisMonth: {
107
+ color: string;
108
+ };
109
+ moreView: {
110
+ backgroundColor: string;
111
+ border: string;
112
+ boxShadow: string;
113
+ width: number | null;
114
+ height: number | null;
115
+ };
116
+ moreViewTitle: {
117
+ backgroundColor: string;
118
+ };
119
+ gridCell: {
120
+ headerHeight: number | null;
121
+ footerHeight: number | null;
122
+ };
123
+ weekend: {
124
+ backgroundColor: string;
125
+ };
126
+ };
127
+ export declare type ThemeState = {
128
+ common: CommonTheme;
129
+ week: WeekTheme;
130
+ month: MonthTheme;
131
+ };
132
+ export declare type ThemeDispatchers = {
133
+ setTheme: (theme: DeepPartial<ThemeState>) => void;
134
+ setCommonTheme: (commonTheme: DeepPartial<CommonTheme>) => void;
135
+ setWeekTheme: (weekTheme: DeepPartial<WeekTheme>) => void;
136
+ setMonthTheme: (monthTheme: DeepPartial<MonthTheme>) => void;
137
+ };
138
+ export declare type ThemeStore = ThemeState & {
139
+ dispatch: ThemeDispatchers;
140
+ };