@fullcalendar/timeline 7.0.0-beta.4 → 7.0.0-beta.5
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.
- package/LICENSE.md +2 -2
- package/{index.cjs → cjs/index.cjs} +14 -7
- package/cjs/internal.cjs +1224 -0
- package/esm/index.d.ts +25 -0
- package/{index.js → esm/index.js} +13 -6
- package/{internal.d.ts → esm/internal.d.ts} +30 -45
- package/{internal.js → esm/internal.js} +434 -471
- package/{index.global.js → global.js} +443 -476
- package/global.min.js +6 -0
- package/package.json +24 -21
- package/index.d.ts +0 -8
- package/index.global.min.js +0 -6
- package/internal.cjs +0 -1258
package/esm/index.d.ts
ADDED
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { PluginDef } from '@fullcalendar/core';
|
|
2
|
+
import '@fullcalendar/premium-common';
|
|
3
|
+
import '@fullcalendar/scrollgrid';
|
|
4
|
+
import { RawOptionsFromRefiners, RefinedOptionsFromRefiners, Identity } from '@fullcalendar/core/internal';
|
|
5
|
+
|
|
6
|
+
declare const OPTION_REFINERS: {
|
|
7
|
+
timelineTopClass: Identity<string>;
|
|
8
|
+
timelineBottomClass: Identity<string>;
|
|
9
|
+
};
|
|
10
|
+
type TimelineOptionRefiners = typeof OPTION_REFINERS;
|
|
11
|
+
type TimelineOptions = RawOptionsFromRefiners<TimelineOptionRefiners>;
|
|
12
|
+
type TimelineOptionsRefined = RefinedOptionsFromRefiners<TimelineOptionRefiners>;
|
|
13
|
+
|
|
14
|
+
declare module '@fullcalendar/core/internal' {
|
|
15
|
+
interface BaseOptions extends TimelineOptions {
|
|
16
|
+
}
|
|
17
|
+
interface BaseOptionsRefined extends TimelineOptionsRefined {
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
//# sourceMappingURL=ambient.d.ts.map
|
|
21
|
+
|
|
22
|
+
declare const _default: PluginDef;
|
|
23
|
+
//# sourceMappingURL=index.d.ts.map
|
|
24
|
+
|
|
25
|
+
export { TimelineOptions, _default as default };
|
|
@@ -1,15 +1,22 @@
|
|
|
1
|
-
import { createPlugin } from '@fullcalendar/core
|
|
2
|
-
import premiumCommonPlugin from '@fullcalendar/premium-common
|
|
1
|
+
import { createPlugin } from '@fullcalendar/core';
|
|
2
|
+
import premiumCommonPlugin from '@fullcalendar/premium-common';
|
|
3
3
|
import { TimelineView } from './internal.js';
|
|
4
|
-
import '@fullcalendar/core/internal
|
|
5
|
-
import '@fullcalendar/core/
|
|
6
|
-
import '@fullcalendar/
|
|
4
|
+
import { identity } from '@fullcalendar/core/internal';
|
|
5
|
+
import '@fullcalendar/core/internal-classnames';
|
|
6
|
+
import '@fullcalendar/core/preact';
|
|
7
|
+
import '@fullcalendar/scrollgrid/internal';
|
|
8
|
+
|
|
9
|
+
const OPTION_REFINERS = {
|
|
10
|
+
timelineTopClass: identity,
|
|
11
|
+
timelineBottomClass: identity,
|
|
12
|
+
};
|
|
7
13
|
|
|
8
14
|
var index = createPlugin({
|
|
9
15
|
name: '@fullcalendar/timeline',
|
|
10
|
-
premiumReleaseDate: '2025-
|
|
16
|
+
premiumReleaseDate: '2025-12-20',
|
|
11
17
|
deps: [premiumCommonPlugin],
|
|
12
18
|
initialView: 'timelineDay',
|
|
19
|
+
optionRefiners: OPTION_REFINERS,
|
|
13
20
|
views: {
|
|
14
21
|
timeline: {
|
|
15
22
|
component: TimelineView,
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import { DateComponent, ViewProps, Hit, DateRange, DateMarker, DateProfile, DateEnv, BaseOptionsRefined, DateProfileGenerator, Slicer, CoordRange,
|
|
1
|
+
import { DateComponent, ViewProps, Hit, DateRange, DateMarker, DateProfile, DateEnv, BaseOptionsRefined, DateProfileGenerator, Slicer, CoordRange, BaseComponent, EventRangeProps, CoordSpan, SegGroup, EventSegUiInteractionState } from '@fullcalendar/core/internal';
|
|
2
2
|
import { createElement, Ref } from '@fullcalendar/core/preact';
|
|
3
3
|
import { Duration } from '@fullcalendar/core';
|
|
4
4
|
|
|
5
5
|
interface TimelineViewState {
|
|
6
|
+
totalWidth?: number;
|
|
6
7
|
clientWidth?: number;
|
|
7
|
-
endScrollbarWidth?: number;
|
|
8
8
|
slotInnerWidth?: number;
|
|
9
9
|
}
|
|
10
10
|
declare class TimelineView extends DateComponent<ViewProps, TimelineViewState> {
|
|
@@ -17,24 +17,23 @@ declare class TimelineView extends DateComponent<ViewProps, TimelineViewState> {
|
|
|
17
17
|
private bodyEl?;
|
|
18
18
|
private slotWidth?;
|
|
19
19
|
private headerRowInnerWidthMap;
|
|
20
|
-
private bodySlotInnerWidth?;
|
|
21
20
|
private syncedScroller;
|
|
22
21
|
private scrollTime;
|
|
22
|
+
private slicer;
|
|
23
23
|
render(): createElement.JSX.Element;
|
|
24
24
|
componentDidMount(): void;
|
|
25
25
|
componentDidUpdate(prevProps: ViewProps): void;
|
|
26
26
|
componentWillUnmount(): void;
|
|
27
|
-
handleBodySlotInnerWidth: (innerWidth: number) => void;
|
|
28
27
|
handleSlotInnerWidths: () => void;
|
|
28
|
+
handleTotalWidth: (totalWidth: number) => void;
|
|
29
29
|
handleClientWidth: (clientWidth: number) => void;
|
|
30
|
-
handleEndScrollbarWidth: (endScrollbarWidth: number) => void;
|
|
31
30
|
private updateSyncedScroller;
|
|
32
31
|
private resetScroll;
|
|
33
32
|
private handleTimeScrollRequest;
|
|
34
33
|
private handleTimeScrollEnd;
|
|
35
34
|
private applyTimeScroll;
|
|
36
35
|
handeBodyEl: (el: HTMLElement | null) => void;
|
|
37
|
-
queryHit(positionLeft: number, positionTop: number, elWidth: number, elHeight: number): Hit;
|
|
36
|
+
queryHit(isRtl: boolean, positionLeft: number, positionTop: number, elWidth: number, elHeight: number): Hit;
|
|
38
37
|
}
|
|
39
38
|
|
|
40
39
|
interface TimelineDateProfile {
|
|
@@ -44,13 +43,12 @@ interface TimelineDateProfile {
|
|
|
44
43
|
headerFormats: any;
|
|
45
44
|
isTimeScale: boolean;
|
|
46
45
|
largeUnit: string;
|
|
47
|
-
emphasizeWeeks: boolean;
|
|
48
46
|
snapDuration: Duration;
|
|
49
47
|
snapsPerSlot: number;
|
|
50
48
|
normalizedRange: DateRange;
|
|
51
49
|
timeWindowMs: number;
|
|
52
50
|
slotDates: DateMarker[];
|
|
53
|
-
|
|
51
|
+
slotDatesMajor: boolean[];
|
|
54
52
|
snapDiffToIndex: number[];
|
|
55
53
|
snapIndexToDiff: number[];
|
|
56
54
|
snapCnt: number;
|
|
@@ -59,10 +57,10 @@ interface TimelineDateProfile {
|
|
|
59
57
|
}
|
|
60
58
|
interface TimelineHeaderCellData {
|
|
61
59
|
date: DateMarker;
|
|
60
|
+
isMajor: boolean;
|
|
62
61
|
text: string;
|
|
63
62
|
rowUnit: string;
|
|
64
63
|
colspan: number;
|
|
65
|
-
isWeekStart: boolean;
|
|
66
64
|
}
|
|
67
65
|
declare function buildTimelineDateProfile(dateProfile: DateProfile, dateEnv: DateEnv, allOptions: BaseOptionsRefined, dateProfileGenerator: DateProfileGenerator): TimelineDateProfile;
|
|
68
66
|
|
|
@@ -82,52 +80,50 @@ declare class TimelineLaneSlicer extends Slicer<TimelineRange, [
|
|
|
82
80
|
sliceRange(origRange: DateRange, dateProfile: DateProfile, dateProfileGenerator: DateProfileGenerator, tDateProfile: TimelineDateProfile, dateEnv: DateEnv): TimelineRange[];
|
|
83
81
|
}
|
|
84
82
|
|
|
85
|
-
interface
|
|
83
|
+
interface TimelineFgProps {
|
|
86
84
|
dateProfile: DateProfile;
|
|
87
85
|
tDateProfile: TimelineDateProfile;
|
|
88
86
|
nowDate: DateMarker;
|
|
89
87
|
todayRange: DateRange;
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
businessHours: EventStore | null;
|
|
94
|
-
dateSelection: DateSpan | null;
|
|
95
|
-
eventDrag: EventInteractionState | null;
|
|
96
|
-
eventResize: EventInteractionState | null;
|
|
88
|
+
fgEventSegs: (TimelineRange & EventRangeProps)[];
|
|
89
|
+
eventDrag: EventSegUiInteractionState<TimelineRange> | null;
|
|
90
|
+
eventResize: EventSegUiInteractionState<TimelineRange> | null;
|
|
97
91
|
eventSelection: string;
|
|
98
92
|
resourceId?: string;
|
|
99
93
|
slotWidth: number | undefined;
|
|
94
|
+
heightRef?: Ref<number>;
|
|
100
95
|
}
|
|
101
|
-
interface
|
|
96
|
+
interface TimelineFgState {
|
|
102
97
|
segHeightRev?: string;
|
|
103
98
|
moreLinkHeightRev?: string;
|
|
104
99
|
}
|
|
105
|
-
declare class
|
|
100
|
+
declare class TimelineFg extends BaseComponent<TimelineFgProps, TimelineFgState> {
|
|
106
101
|
private sortEventSegs;
|
|
107
102
|
private segHeightRefMap;
|
|
108
103
|
private moreLinkHeightRefMap;
|
|
109
|
-
private
|
|
104
|
+
private totalHeight?;
|
|
105
|
+
private firedTotalHeight?;
|
|
110
106
|
render(): createElement.JSX.Element;
|
|
111
107
|
renderFgSegs(segs: (TimelineRange & EventRangeProps)[], segHorizontals: {
|
|
112
108
|
[instanceId: string]: CoordSpan;
|
|
113
|
-
}, segTops: Map<string, number>,
|
|
114
|
-
[instanceId: string]: any;
|
|
115
|
-
}, hiddenGroups: SegGroup<TimelineCoordRange>[], hiddenGroupTops: Map<string, number>, isDragging: boolean, isResizing: boolean, isDateSelecting: boolean): createElement.JSX.Element;
|
|
109
|
+
}, segTops: Map<string, number>, hiddenGroups: SegGroup<TimelineCoordRange>[], hiddenGroupTops: Map<string, number>, isMirror: boolean): createElement.JSX.Element;
|
|
116
110
|
private handleMoreLinkHeights;
|
|
117
111
|
private handleSegHeights;
|
|
112
|
+
componentDidUpdate(): void;
|
|
113
|
+
componentWillUnmount(): void;
|
|
118
114
|
}
|
|
119
115
|
|
|
120
|
-
interface
|
|
116
|
+
interface TimelineBgProps {
|
|
121
117
|
tDateProfile: TimelineDateProfile;
|
|
122
118
|
nowDate: DateMarker;
|
|
123
119
|
todayRange: DateRange;
|
|
124
120
|
bgEventSegs: (TimelineRange & EventRangeProps)[] | null;
|
|
125
121
|
businessHourSegs: (TimelineRange & EventRangeProps)[] | null;
|
|
126
122
|
dateSelectionSegs: (TimelineRange & EventRangeProps)[];
|
|
127
|
-
eventResizeSegs: (TimelineRange & EventRangeProps)[];
|
|
123
|
+
eventResizeSegs: (TimelineRange & EventRangeProps)[] | null;
|
|
128
124
|
slotWidth: number | undefined;
|
|
129
125
|
}
|
|
130
|
-
declare class
|
|
126
|
+
declare class TimelineBg extends BaseComponent<TimelineBgProps> {
|
|
131
127
|
render(): createElement.JSX.Element;
|
|
132
128
|
renderSegs(segs: (TimelineRange & EventRangeProps)[], fillType: string): createElement.JSX.Element;
|
|
133
129
|
}
|
|
@@ -139,30 +135,15 @@ interface TimelineSlatsProps {
|
|
|
139
135
|
todayRange: DateRange;
|
|
140
136
|
height?: number;
|
|
141
137
|
slotWidth: number | undefined;
|
|
142
|
-
innerWidthRef?: Ref<number>;
|
|
143
138
|
}
|
|
144
139
|
declare class TimelineSlats extends BaseComponent<TimelineSlatsProps> {
|
|
145
|
-
private innerWidthRefMap;
|
|
146
140
|
render(): createElement.JSX.Element;
|
|
147
|
-
handleInnerWidths: () => void;
|
|
148
141
|
}
|
|
149
142
|
|
|
150
|
-
declare function createVerticalStyle(props: CoordSpan | undefined): {
|
|
151
|
-
top: number;
|
|
152
|
-
height: number;
|
|
153
|
-
} | undefined;
|
|
154
|
-
declare function createHorizontalStyle(// TODO: DRY up?
|
|
155
|
-
props: CoordSpan | undefined, isRtl: boolean): {
|
|
156
|
-
left: number;
|
|
157
|
-
width: number;
|
|
158
|
-
} | {
|
|
159
|
-
right: number;
|
|
160
|
-
width: number;
|
|
161
|
-
} | undefined;
|
|
162
143
|
declare function computeSlotWidth(slatCnt: number, slatsPerLabel: number, slatMinWidth: number | undefined, labelInnerWidth: number | undefined, viewportWidth: number | undefined): [
|
|
163
144
|
canvasWidth: number | undefined,
|
|
164
145
|
slatWidth: number | undefined,
|
|
165
|
-
|
|
146
|
+
slotLiquid: boolean
|
|
166
147
|
];
|
|
167
148
|
declare function timeToCoord(// pixels
|
|
168
149
|
time: Duration, dateEnv: DateEnv, dateProfile: DateProfile, tDateProfile: TimelineDateProfile, slowWidth: number): number;
|
|
@@ -173,13 +154,15 @@ interface TimelineHeaderRowProps {
|
|
|
173
154
|
nowDate: DateMarker;
|
|
174
155
|
todayRange: DateRange;
|
|
175
156
|
rowLevel: number;
|
|
176
|
-
isLastRow: boolean;
|
|
177
157
|
cells: TimelineHeaderCellData[];
|
|
178
158
|
innerHeighRef?: Ref<number>;
|
|
179
159
|
innerWidthRef?: Ref<number>;
|
|
180
160
|
slotWidth: number | undefined;
|
|
181
161
|
}
|
|
182
|
-
|
|
162
|
+
interface TimelineHeaderRowState {
|
|
163
|
+
innerHeight?: number;
|
|
164
|
+
}
|
|
165
|
+
declare class TimelineHeaderRow extends BaseComponent<TimelineHeaderRowProps, TimelineHeaderRowState> {
|
|
183
166
|
private innerWidthRefMap;
|
|
184
167
|
private innerHeightRefMap;
|
|
185
168
|
render(): createElement.JSX.Element;
|
|
@@ -206,4 +189,6 @@ declare class TimelineNowIndicatorLine extends BaseComponent<TimelineNowIndicato
|
|
|
206
189
|
render(): createElement.JSX.Element;
|
|
207
190
|
}
|
|
208
191
|
|
|
209
|
-
|
|
192
|
+
declare function getTimelineSlotEl(parentEl: HTMLElement, index: number): HTMLElement;
|
|
193
|
+
|
|
194
|
+
export { TimelineBg, TimelineDateProfile, TimelineFg, TimelineHeaderRow, TimelineLaneSlicer, TimelineNowIndicatorArrow, TimelineNowIndicatorLine, TimelineRange, TimelineSlats, TimelineView, buildTimelineDateProfile, computeSlotWidth, getTimelineSlotEl, timeToCoord };
|