@fullcalendar/list 5.11.2 → 6.0.0-beta.1
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/main.cjs.js +137 -123
- package/main.global.js +137 -163
- package/main.global.min.js +2 -2
- package/main.js +138 -125
- package/main.js.map +1 -1
- package/package.json +3 -3
- package/main.css +0 -140
- package/main.min.css +0 -1
package/main.cjs.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
FullCalendar
|
|
2
|
+
FullCalendar v6.0.0-beta.1
|
|
3
3
|
Docs & License: https://fullcalendar.io/
|
|
4
4
|
(c) 2022 Adam Shaw
|
|
5
5
|
*/
|
|
@@ -8,78 +8,68 @@ Docs & License: https://fullcalendar.io/
|
|
|
8
8
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
9
9
|
|
|
10
10
|
var common = require('@fullcalendar/common');
|
|
11
|
-
var tslib = require('tslib');
|
|
12
|
-
;
|
|
13
11
|
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
_this.state = {
|
|
12
|
+
class ListViewHeaderRow extends common.BaseComponent {
|
|
13
|
+
constructor() {
|
|
14
|
+
super(...arguments);
|
|
15
|
+
this.state = {
|
|
19
16
|
textId: common.getUniqueDomId(),
|
|
20
17
|
};
|
|
21
|
-
return _this;
|
|
22
18
|
}
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
19
|
+
render() {
|
|
20
|
+
let { theme, dateEnv, options, viewApi } = this.context;
|
|
21
|
+
let { cellId, dayDate, todayRange } = this.props;
|
|
22
|
+
let { textId } = this.state;
|
|
23
|
+
let dayMeta = common.getDateMeta(dayDate, todayRange);
|
|
28
24
|
// will ever be falsy?
|
|
29
|
-
|
|
25
|
+
let text = options.listDayFormat ? dateEnv.format(dayDate, options.listDayFormat) : '';
|
|
30
26
|
// will ever be falsy? also, BAD NAME "alt"
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
text
|
|
34
|
-
sideText
|
|
35
|
-
|
|
27
|
+
let sideText = options.listDaySideFormat ? dateEnv.format(dayDate, options.listDaySideFormat) : '';
|
|
28
|
+
let hookProps = Object.assign({ date: dateEnv.toDate(dayDate), view: viewApi, textId,
|
|
29
|
+
text,
|
|
30
|
+
sideText, navLinkAttrs: common.buildNavLinkAttrs(this.context, dayDate), sideNavLinkAttrs: common.buildNavLinkAttrs(this.context, dayDate, 'day', false) }, dayMeta);
|
|
31
|
+
let classNames = ['fc-list-day'].concat(common.getDayClassNames(dayMeta, theme));
|
|
36
32
|
// TODO: make a reusable HOC for dayHeader (used in daygrid/timegrid too)
|
|
37
|
-
return (common.createElement(common.RenderHook, { hookProps: hookProps, classNames: options.dayHeaderClassNames, content: options.dayHeaderContent, defaultContent: renderInnerContent, didMount: options.dayHeaderDidMount, willUnmount: options.dayHeaderWillUnmount },
|
|
33
|
+
return (common.createElement(common.RenderHook, { hookProps: hookProps, classNames: options.dayHeaderClassNames, content: options.dayHeaderContent, defaultContent: renderInnerContent, didMount: options.dayHeaderDidMount, willUnmount: options.dayHeaderWillUnmount }, (rootElRef, customClassNames, innerElRef, innerContent) => (common.createElement("tr", { ref: rootElRef, className: classNames.concat(customClassNames).join(' '), "data-date": common.formatDayString(dayDate) },
|
|
38
34
|
common.createElement("th", { scope: "colgroup", colSpan: 3, id: cellId, "aria-labelledby": textId },
|
|
39
|
-
common.createElement("div", { className: 'fc-list-day-cushion ' + theme.getClass('tableCellShaded'), ref: innerElRef }, innerContent))))
|
|
40
|
-
}
|
|
41
|
-
|
|
42
|
-
}(common.BaseComponent));
|
|
35
|
+
common.createElement("div", { className: 'fc-list-day-cushion ' + theme.getClass('tableCellShaded'), ref: innerElRef }, innerContent))))));
|
|
36
|
+
}
|
|
37
|
+
}
|
|
43
38
|
function renderInnerContent(props) {
|
|
44
39
|
return (common.createElement(common.Fragment, null,
|
|
45
|
-
props.text && (common.createElement("a",
|
|
46
|
-
props.sideText && ( /* not keyboard tabbable */common.createElement("a",
|
|
40
|
+
props.text && (common.createElement("a", Object.assign({ id: props.textId, className: "fc-list-day-text" }, props.navLinkAttrs), props.text)),
|
|
41
|
+
props.sideText && ( /* not keyboard tabbable */common.createElement("a", Object.assign({ "aria-hidden": true, className: "fc-list-day-side-text" }, props.sideNavLinkAttrs), props.sideText))));
|
|
47
42
|
}
|
|
48
43
|
|
|
49
|
-
|
|
44
|
+
const DEFAULT_TIME_FORMAT = common.createFormatter({
|
|
50
45
|
hour: 'numeric',
|
|
51
46
|
minute: '2-digit',
|
|
52
47
|
meridiem: 'short',
|
|
53
48
|
});
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
ListViewEventRow.prototype.render = function () {
|
|
60
|
-
var _a = this, props = _a.props, context = _a.context;
|
|
61
|
-
var seg = props.seg, timeHeaderId = props.timeHeaderId, eventHeaderId = props.eventHeaderId, dateHeaderId = props.dateHeaderId;
|
|
62
|
-
var timeFormat = context.options.eventTimeFormat || DEFAULT_TIME_FORMAT;
|
|
49
|
+
class ListViewEventRow extends common.BaseComponent {
|
|
50
|
+
render() {
|
|
51
|
+
let { props, context } = this;
|
|
52
|
+
let { seg, timeHeaderId, eventHeaderId, dateHeaderId } = props;
|
|
53
|
+
let timeFormat = context.options.eventTimeFormat || DEFAULT_TIME_FORMAT;
|
|
63
54
|
return (common.createElement(common.EventRoot, { seg: seg, timeText: "" // BAD. because of all-day content
|
|
64
|
-
, disableDragging: true, disableResizing: true, defaultContent:
|
|
55
|
+
, disableDragging: true, disableResizing: true, defaultContent: () => renderEventInnerContent(seg, context) /* weird */, isPast: props.isPast, isFuture: props.isFuture, isToday: props.isToday, isSelected: props.isSelected, isDragging: props.isDragging, isResizing: props.isResizing, isDateSelecting: props.isDateSelecting }, (rootElRef, classNames, innerElRef, innerContent, hookProps) => (common.createElement("tr", { className: ['fc-list-event', hookProps.event.url ? 'fc-event-forced-url' : ''].concat(classNames).join(' '), ref: rootElRef },
|
|
65
56
|
buildTimeContent(seg, timeFormat, context, timeHeaderId, dateHeaderId),
|
|
66
57
|
common.createElement("td", { "aria-hidden": true, className: "fc-list-event-graphic" },
|
|
67
58
|
common.createElement("span", { className: "fc-list-event-dot", style: { borderColor: hookProps.borderColor || hookProps.backgroundColor } })),
|
|
68
|
-
common.createElement("td", { ref: innerElRef, headers: eventHeaderId
|
|
69
|
-
}
|
|
70
|
-
|
|
71
|
-
}(common.BaseComponent));
|
|
59
|
+
common.createElement("td", { ref: innerElRef, headers: `${eventHeaderId} ${dateHeaderId}`, className: "fc-list-event-title" }, innerContent)))));
|
|
60
|
+
}
|
|
61
|
+
}
|
|
72
62
|
function renderEventInnerContent(seg, context) {
|
|
73
|
-
|
|
74
|
-
return (common.createElement("a",
|
|
63
|
+
let interactiveAttrs = common.getSegAnchorAttrs(seg, context);
|
|
64
|
+
return (common.createElement("a", Object.assign({}, interactiveAttrs), seg.eventRange.def.title));
|
|
75
65
|
}
|
|
76
66
|
function buildTimeContent(seg, timeFormat, context, timeHeaderId, dateHeaderId) {
|
|
77
|
-
|
|
67
|
+
let { options } = context;
|
|
78
68
|
if (options.displayEventTime !== false) {
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
69
|
+
let eventDef = seg.eventRange.def;
|
|
70
|
+
let eventInstance = seg.eventRange.instance;
|
|
71
|
+
let doAllDay = false;
|
|
72
|
+
let timeText;
|
|
83
73
|
if (eventDef.allDay) {
|
|
84
74
|
doAllDay = true;
|
|
85
75
|
}
|
|
@@ -98,11 +88,11 @@ function buildTimeContent(seg, timeFormat, context, timeHeaderId, dateHeaderId)
|
|
|
98
88
|
timeText = common.buildSegTimeText(seg, timeFormat, context);
|
|
99
89
|
}
|
|
100
90
|
if (doAllDay) {
|
|
101
|
-
|
|
91
|
+
let hookProps = {
|
|
102
92
|
text: context.options.allDayText,
|
|
103
93
|
view: context.viewApi,
|
|
104
94
|
};
|
|
105
|
-
return (common.createElement(common.RenderHook, { hookProps: hookProps, classNames: options.allDayClassNames, content: options.allDayContent, defaultContent: renderAllDayInner, didMount: options.allDayDidMount, willUnmount: options.allDayWillUnmount },
|
|
95
|
+
return (common.createElement(common.RenderHook, { hookProps: hookProps, classNames: options.allDayClassNames, content: options.allDayContent, defaultContent: renderAllDayInner, didMount: options.allDayDidMount, willUnmount: options.allDayWillUnmount }, (rootElRef, classNames, innerElRef, innerContent) => (common.createElement("td", { ref: rootElRef, headers: `${timeHeaderId} ${dateHeaderId}`, className: ['fc-list-event-time'].concat(classNames).join(' ') }, innerContent))));
|
|
106
96
|
}
|
|
107
97
|
return (common.createElement("td", { className: "fc-list-event-time" }, timeText));
|
|
108
98
|
}
|
|
@@ -115,70 +105,66 @@ function renderAllDayInner(hookProps) {
|
|
|
115
105
|
/*
|
|
116
106
|
Responsible for the scroller, and forwarding event-related actions into the "grid".
|
|
117
107
|
*/
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
_this.state = {
|
|
108
|
+
class ListView extends common.DateComponent {
|
|
109
|
+
constructor() {
|
|
110
|
+
super(...arguments);
|
|
111
|
+
this.computeDateVars = common.memoize(computeDateVars);
|
|
112
|
+
this.eventStoreToSegs = common.memoize(this._eventStoreToSegs);
|
|
113
|
+
this.state = {
|
|
125
114
|
timeHeaderId: common.getUniqueDomId(),
|
|
126
115
|
eventHeaderId: common.getUniqueDomId(),
|
|
127
116
|
dateHeaderIdRoot: common.getUniqueDomId(),
|
|
128
117
|
};
|
|
129
|
-
|
|
118
|
+
this.setRootEl = (rootEl) => {
|
|
130
119
|
if (rootEl) {
|
|
131
|
-
|
|
120
|
+
this.context.registerInteractiveComponent(this, {
|
|
132
121
|
el: rootEl,
|
|
133
122
|
});
|
|
134
123
|
}
|
|
135
124
|
else {
|
|
136
|
-
|
|
125
|
+
this.context.unregisterInteractiveComponent(this);
|
|
137
126
|
}
|
|
138
127
|
};
|
|
139
|
-
return _this;
|
|
140
128
|
}
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
var extraClassNames = [
|
|
129
|
+
render() {
|
|
130
|
+
let { props, context } = this;
|
|
131
|
+
let extraClassNames = [
|
|
145
132
|
'fc-list',
|
|
146
133
|
context.theme.getClass('table'),
|
|
147
134
|
context.options.stickyHeaderDates !== false ? 'fc-list-sticky' : '',
|
|
148
135
|
];
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
return (common.createElement(common.ViewRoot, { viewSpec: context.viewSpec, elRef: this.setRootEl },
|
|
136
|
+
let { dayDates, dayRanges } = this.computeDateVars(props.dateProfile);
|
|
137
|
+
let eventSegs = this.eventStoreToSegs(props.eventStore, props.eventUiBases, dayRanges);
|
|
138
|
+
return (common.createElement(common.ViewRoot, { viewSpec: context.viewSpec, elRef: this.setRootEl }, (rootElRef, classNames) => (common.createElement("div", { ref: rootElRef, className: extraClassNames.concat(classNames).join(' ') },
|
|
152
139
|
common.createElement(common.Scroller, { liquid: !props.isHeightAuto, overflowX: props.isHeightAuto ? 'visible' : 'hidden', overflowY: props.isHeightAuto ? 'visible' : 'auto' }, eventSegs.length > 0 ?
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
}
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
140
|
+
this.renderSegList(eventSegs, dayDates) :
|
|
141
|
+
this.renderEmptyMessage())))));
|
|
142
|
+
}
|
|
143
|
+
renderEmptyMessage() {
|
|
144
|
+
let { options, viewApi } = this.context;
|
|
145
|
+
let hookProps = {
|
|
159
146
|
text: options.noEventsText,
|
|
160
147
|
view: viewApi,
|
|
161
148
|
};
|
|
162
|
-
return (common.createElement(common.RenderHook, { hookProps: hookProps, classNames: options.noEventsClassNames, content: options.noEventsContent, defaultContent: renderNoEventsInner, didMount: options.noEventsDidMount, willUnmount: options.noEventsWillUnmount },
|
|
163
|
-
common.createElement("div", { className: "fc-list-empty-cushion", ref: innerElRef }, innerContent)))
|
|
164
|
-
}
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
return (common.createElement(common.NowTimer, { unit: "day" },
|
|
170
|
-
|
|
171
|
-
for (
|
|
172
|
-
|
|
149
|
+
return (common.createElement(common.RenderHook, { hookProps: hookProps, classNames: options.noEventsClassNames, content: options.noEventsContent, defaultContent: renderNoEventsInner, didMount: options.noEventsDidMount, willUnmount: options.noEventsWillUnmount }, (rootElRef, classNames, innerElRef, innerContent) => (common.createElement("div", { className: ['fc-list-empty'].concat(classNames).join(' '), ref: rootElRef },
|
|
150
|
+
common.createElement("div", { className: "fc-list-empty-cushion", ref: innerElRef }, innerContent)))));
|
|
151
|
+
}
|
|
152
|
+
renderSegList(allSegs, dayDates) {
|
|
153
|
+
let { theme, options } = this.context;
|
|
154
|
+
let { timeHeaderId, eventHeaderId, dateHeaderIdRoot } = this.state;
|
|
155
|
+
let segsByDay = groupSegsByDay(allSegs); // sparse array
|
|
156
|
+
return (common.createElement(common.NowTimer, { unit: "day" }, (nowDate, todayRange) => {
|
|
157
|
+
let innerNodes = [];
|
|
158
|
+
for (let dayIndex = 0; dayIndex < segsByDay.length; dayIndex += 1) {
|
|
159
|
+
let daySegs = segsByDay[dayIndex];
|
|
173
160
|
if (daySegs) { // sparse array, so might be undefined
|
|
174
|
-
|
|
175
|
-
|
|
161
|
+
let dayStr = common.formatDayString(dayDates[dayIndex]);
|
|
162
|
+
let dateHeaderId = dateHeaderIdRoot + '-' + dayStr;
|
|
176
163
|
// append a day header
|
|
177
164
|
innerNodes.push(common.createElement(ListViewHeaderRow, { key: dayStr, cellId: dateHeaderId, dayDate: dayDates[dayIndex], todayRange: todayRange }));
|
|
178
165
|
daySegs = common.sortEventSegs(daySegs, options.eventOrder);
|
|
179
|
-
for (
|
|
180
|
-
|
|
181
|
-
innerNodes.push(common.createElement(ListViewEventRow, tslib.__assign({ key: dayStr + ':' + seg.eventRange.instance.instanceId /* are multiple segs for an instanceId */, seg: seg, isDragging: false, isResizing: false, isDateSelecting: false, isSelected: false, timeHeaderId: timeHeaderId, eventHeaderId: eventHeaderId, dateHeaderId: dateHeaderId }, common.getSegMeta(seg, todayRange, nowDate))));
|
|
166
|
+
for (let seg of daySegs) {
|
|
167
|
+
innerNodes.push(common.createElement(ListViewEventRow, Object.assign({ key: dayStr + ':' + seg.eventRange.instance.instanceId /* are multiple segs for an instanceId */, seg: seg, isDragging: false, isResizing: false, isDateSelecting: false, isSelected: false, timeHeaderId: timeHeaderId, eventHeaderId: eventHeaderId, dateHeaderId: dateHeaderId }, common.getSegMeta(seg, todayRange, nowDate))));
|
|
182
168
|
}
|
|
183
169
|
}
|
|
184
170
|
}
|
|
@@ -190,38 +176,37 @@ var ListView = /** @class */ (function (_super) {
|
|
|
190
176
|
common.createElement("th", { scope: "col", id: eventHeaderId }, options.eventHint))),
|
|
191
177
|
common.createElement("tbody", null, innerNodes)));
|
|
192
178
|
}));
|
|
193
|
-
}
|
|
194
|
-
|
|
179
|
+
}
|
|
180
|
+
_eventStoreToSegs(eventStore, eventUiBases, dayRanges) {
|
|
195
181
|
return this.eventRangesToSegs(common.sliceEventStore(eventStore, eventUiBases, this.props.dateProfile.activeRange, this.context.options.nextDayThreshold).fg, dayRanges);
|
|
196
|
-
}
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
for (
|
|
200
|
-
|
|
201
|
-
segs.push.apply(segs, this.eventRangeToSegs(eventRange, dayRanges));
|
|
182
|
+
}
|
|
183
|
+
eventRangesToSegs(eventRanges, dayRanges) {
|
|
184
|
+
let segs = [];
|
|
185
|
+
for (let eventRange of eventRanges) {
|
|
186
|
+
segs.push(...this.eventRangeToSegs(eventRange, dayRanges));
|
|
202
187
|
}
|
|
203
188
|
return segs;
|
|
204
|
-
}
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
189
|
+
}
|
|
190
|
+
eventRangeToSegs(eventRange, dayRanges) {
|
|
191
|
+
let { dateEnv } = this.context;
|
|
192
|
+
let { nextDayThreshold } = this.context.options;
|
|
193
|
+
let range = eventRange.range;
|
|
194
|
+
let allDay = eventRange.def.allDay;
|
|
195
|
+
let dayIndex;
|
|
196
|
+
let segRange;
|
|
197
|
+
let seg;
|
|
198
|
+
let segs = [];
|
|
214
199
|
for (dayIndex = 0; dayIndex < dayRanges.length; dayIndex += 1) {
|
|
215
200
|
segRange = common.intersectRanges(range, dayRanges[dayIndex]);
|
|
216
201
|
if (segRange) {
|
|
217
202
|
seg = {
|
|
218
203
|
component: this,
|
|
219
|
-
eventRange
|
|
204
|
+
eventRange,
|
|
220
205
|
start: segRange.start,
|
|
221
206
|
end: segRange.end,
|
|
222
207
|
isStart: eventRange.isStart && segRange.start.valueOf() === range.start.valueOf(),
|
|
223
208
|
isEnd: eventRange.isEnd && segRange.end.valueOf() === range.end.valueOf(),
|
|
224
|
-
dayIndex
|
|
209
|
+
dayIndex,
|
|
225
210
|
};
|
|
226
211
|
segs.push(seg);
|
|
227
212
|
// detect when range won't go fully into the next day,
|
|
@@ -237,17 +222,16 @@ var ListView = /** @class */ (function (_super) {
|
|
|
237
222
|
}
|
|
238
223
|
}
|
|
239
224
|
return segs;
|
|
240
|
-
}
|
|
241
|
-
|
|
242
|
-
}(common.DateComponent));
|
|
225
|
+
}
|
|
226
|
+
}
|
|
243
227
|
function renderNoEventsInner(hookProps) {
|
|
244
228
|
return hookProps.text;
|
|
245
229
|
}
|
|
246
230
|
function computeDateVars(dateProfile) {
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
231
|
+
let dayStart = common.startOfDay(dateProfile.renderRange.start);
|
|
232
|
+
let viewEnd = dateProfile.renderRange.end;
|
|
233
|
+
let dayDates = [];
|
|
234
|
+
let dayRanges = [];
|
|
251
235
|
while (dayStart < viewEnd) {
|
|
252
236
|
dayDates.push(dayStart);
|
|
253
237
|
dayRanges.push({
|
|
@@ -256,13 +240,13 @@ function computeDateVars(dateProfile) {
|
|
|
256
240
|
});
|
|
257
241
|
dayStart = common.addDays(dayStart, 1);
|
|
258
242
|
}
|
|
259
|
-
return { dayDates
|
|
243
|
+
return { dayDates, dayRanges };
|
|
260
244
|
}
|
|
261
245
|
// Returns a sparse array of arrays, segs grouped by their dayIndex
|
|
262
246
|
function groupSegsByDay(segs) {
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
247
|
+
let segsByDay = []; // sparse array
|
|
248
|
+
let i;
|
|
249
|
+
let seg;
|
|
266
250
|
for (i = 0; i < segs.length; i += 1) {
|
|
267
251
|
seg = segs[i];
|
|
268
252
|
(segsByDay[seg.dayIndex] || (segsByDay[seg.dayIndex] = []))
|
|
@@ -271,7 +255,7 @@ function groupSegsByDay(segs) {
|
|
|
271
255
|
return segsByDay;
|
|
272
256
|
}
|
|
273
257
|
|
|
274
|
-
|
|
258
|
+
const OPTION_REFINERS = {
|
|
275
259
|
listDayFormat: createFalsableFormatter,
|
|
276
260
|
listDaySideFormat: createFalsableFormatter,
|
|
277
261
|
noEventsClassNames: common.identity,
|
|
@@ -284,6 +268,36 @@ function createFalsableFormatter(input) {
|
|
|
284
268
|
return input === false ? null : common.createFormatter(input);
|
|
285
269
|
}
|
|
286
270
|
|
|
271
|
+
function styleInject(css, ref) {
|
|
272
|
+
if ( ref === void 0 ) ref = {};
|
|
273
|
+
var insertAt = ref.insertAt;
|
|
274
|
+
|
|
275
|
+
if (!css || typeof document === 'undefined') { return; }
|
|
276
|
+
|
|
277
|
+
var head = document.head || document.getElementsByTagName('head')[0];
|
|
278
|
+
var style = document.createElement('style');
|
|
279
|
+
style.type = 'text/css';
|
|
280
|
+
|
|
281
|
+
if (insertAt === 'top') {
|
|
282
|
+
if (head.firstChild) {
|
|
283
|
+
head.insertBefore(style, head.firstChild);
|
|
284
|
+
} else {
|
|
285
|
+
head.appendChild(style);
|
|
286
|
+
}
|
|
287
|
+
} else {
|
|
288
|
+
head.appendChild(style);
|
|
289
|
+
}
|
|
290
|
+
|
|
291
|
+
if (style.styleSheet) {
|
|
292
|
+
style.styleSheet.cssText = css;
|
|
293
|
+
} else {
|
|
294
|
+
style.appendChild(document.createTextNode(css));
|
|
295
|
+
}
|
|
296
|
+
}
|
|
297
|
+
|
|
298
|
+
var css_248z = "\n:root {\n --fc-list-event-dot-width: 10px;\n --fc-list-event-hover-bg-color: #f5f5f5;\n}\n.fc-theme-standard .fc-list {\n border: 1px solid #ddd;\n border: 1px solid var(--fc-border-color, #ddd);\n }\n.fc {\n\n /* message when no events */\n\n}\n.fc .fc-list-empty {\n background-color: rgba(208, 208, 208, 0.3);\n background-color: var(--fc-neutral-bg-color, rgba(208, 208, 208, 0.3));\n height: 100%;\n display: flex;\n justify-content: center;\n align-items: center; /* vertically aligns fc-list-empty-inner */\n }\n.fc .fc-list-empty-cushion {\n margin: 5em 0;\n }\n.fc {\n\n /* table within the scroller */\n /* ---------------------------------------------------------------------------------------------------- */\n\n}\n.fc .fc-list-table {\n width: 100%;\n border-style: hidden; /* kill outer border on theme */\n }\n.fc .fc-list-table tr > * {\n border-left: 0;\n border-right: 0;\n }\n.fc .fc-list-sticky .fc-list-day > * { /* the cells */\n position: sticky;\n top: 0;\n background: #fff;\n background: var(--fc-page-bg-color, #fff); /* for when headers are styled to be transparent and sticky */\n }\n.fc {\n\n /* only exists for aria reasons, hide for non-screen-readers */\n\n}\n.fc .fc-list-table thead {\n position: absolute;\n left: -10000px;\n }\n.fc {\n\n /* the table's border-style:hidden gets confused by hidden thead. force-hide top border of first cell */\n\n}\n.fc .fc-list-table tbody > tr:first-child th {\n border-top: 0;\n }\n.fc .fc-list-table th {\n padding: 0; /* uses an inner-wrapper instead... */\n }\n.fc .fc-list-table td,\n .fc .fc-list-day-cushion {\n padding: 8px 14px;\n }\n.fc {\n\n\n /* date heading rows */\n /* ---------------------------------------------------------------------------------------------------- */\n\n}\n.fc .fc-list-day-cushion:after {\n content: \"\";\n clear: both;\n display: table; /* clear floating */\n }\n.fc-theme-standard .fc-list-day-cushion {\n background-color: rgba(208, 208, 208, 0.3);\n background-color: var(--fc-neutral-bg-color, rgba(208, 208, 208, 0.3));\n }\n.fc-direction-ltr .fc-list-day-text,\n.fc-direction-rtl .fc-list-day-side-text {\n float: left;\n}\n.fc-direction-ltr .fc-list-day-side-text,\n.fc-direction-rtl .fc-list-day-text {\n float: right;\n}\n/* make the dot closer to the event title */\n.fc-direction-ltr .fc-list-table .fc-list-event-graphic { padding-right: 0 }\n.fc-direction-rtl .fc-list-table .fc-list-event-graphic { padding-left: 0 }\n.fc .fc-list-event.fc-event-forced-url {\n cursor: pointer; /* whole row will seem clickable */\n }\n.fc .fc-list-event:hover td {\n background-color: #f5f5f5;\n background-color: var(--fc-list-event-hover-bg-color, #f5f5f5);\n }\n.fc {\n\n /* shrink certain cols */\n\n}\n.fc .fc-list-event-graphic,\n .fc .fc-list-event-time {\n white-space: nowrap;\n width: 1px;\n }\n.fc .fc-list-event-dot {\n display: inline-block;\n box-sizing: content-box;\n width: 0;\n height: 0;\n border: 5px solid #3788d8;\n border: calc(var(--fc-list-event-dot-width, 10px) / 2) solid var(--fc-event-border-color, #3788d8);\n border-radius: 5px;\n border-radius: calc(var(--fc-list-event-dot-width, 10px) / 2);\n }\n.fc {\n\n /* reset <a> styling */\n\n}\n.fc .fc-list-event-title a {\n color: inherit;\n text-decoration: none;\n }\n.fc {\n\n /* underline link when hovering over any part of row */\n\n}\n.fc .fc-list-event.fc-event-forced-url:hover a {\n text-decoration: underline;\n }\n";
|
|
299
|
+
styleInject(css_248z);
|
|
300
|
+
|
|
287
301
|
var main = common.createPlugin({
|
|
288
302
|
optionRefiners: OPTION_REFINERS,
|
|
289
303
|
views: {
|