@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.global.js CHANGED
@@ -1,122 +1,72 @@
1
1
  /*!
2
- FullCalendar v5.11.2
2
+ FullCalendar v6.0.0-beta.1
3
3
  Docs & License: https://fullcalendar.io/
4
4
  (c) 2022 Adam Shaw
5
5
  */
6
6
  var FullCalendarList = (function (exports, common) {
7
7
  'use strict';
8
8
 
9
- /*! *****************************************************************************
10
- Copyright (c) Microsoft Corporation.
11
-
12
- Permission to use, copy, modify, and/or distribute this software for any
13
- purpose with or without fee is hereby granted.
14
-
15
- THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
16
- REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
17
- AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
18
- INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
19
- LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
20
- OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
21
- PERFORMANCE OF THIS SOFTWARE.
22
- ***************************************************************************** */
23
- /* global Reflect, Promise */
24
-
25
- var extendStatics = function(d, b) {
26
- extendStatics = Object.setPrototypeOf ||
27
- ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
28
- function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
29
- return extendStatics(d, b);
30
- };
31
-
32
- function __extends(d, b) {
33
- if (typeof b !== "function" && b !== null)
34
- throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
35
- extendStatics(d, b);
36
- function __() { this.constructor = d; }
37
- d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
38
- }
39
-
40
- var __assign = function() {
41
- __assign = Object.assign || function __assign(t) {
42
- for (var s, i = 1, n = arguments.length; i < n; i++) {
43
- s = arguments[i];
44
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];
45
- }
46
- return t;
47
- };
48
- return __assign.apply(this, arguments);
49
- };
50
-
51
- var ListViewHeaderRow = /** @class */ (function (_super) {
52
- __extends(ListViewHeaderRow, _super);
53
- function ListViewHeaderRow() {
54
- var _this = _super !== null && _super.apply(this, arguments) || this;
55
- _this.state = {
9
+ class ListViewHeaderRow extends common.BaseComponent {
10
+ constructor() {
11
+ super(...arguments);
12
+ this.state = {
56
13
  textId: common.getUniqueDomId(),
57
14
  };
58
- return _this;
59
15
  }
60
- ListViewHeaderRow.prototype.render = function () {
61
- var _a = this.context, theme = _a.theme, dateEnv = _a.dateEnv, options = _a.options, viewApi = _a.viewApi;
62
- var _b = this.props, cellId = _b.cellId, dayDate = _b.dayDate, todayRange = _b.todayRange;
63
- var textId = this.state.textId;
64
- var dayMeta = common.getDateMeta(dayDate, todayRange);
16
+ render() {
17
+ let { theme, dateEnv, options, viewApi } = this.context;
18
+ let { cellId, dayDate, todayRange } = this.props;
19
+ let { textId } = this.state;
20
+ let dayMeta = common.getDateMeta(dayDate, todayRange);
65
21
  // will ever be falsy?
66
- var text = options.listDayFormat ? dateEnv.format(dayDate, options.listDayFormat) : '';
22
+ let text = options.listDayFormat ? dateEnv.format(dayDate, options.listDayFormat) : '';
67
23
  // will ever be falsy? also, BAD NAME "alt"
68
- var sideText = options.listDaySideFormat ? dateEnv.format(dayDate, options.listDaySideFormat) : '';
69
- var hookProps = __assign({ date: dateEnv.toDate(dayDate), view: viewApi, textId: textId,
70
- text: text,
71
- sideText: sideText, navLinkAttrs: common.buildNavLinkAttrs(this.context, dayDate), sideNavLinkAttrs: common.buildNavLinkAttrs(this.context, dayDate, 'day', false) }, dayMeta);
72
- var classNames = ['fc-list-day'].concat(common.getDayClassNames(dayMeta, theme));
24
+ let sideText = options.listDaySideFormat ? dateEnv.format(dayDate, options.listDaySideFormat) : '';
25
+ let hookProps = Object.assign({ date: dateEnv.toDate(dayDate), view: viewApi, textId,
26
+ text,
27
+ sideText, navLinkAttrs: common.buildNavLinkAttrs(this.context, dayDate), sideNavLinkAttrs: common.buildNavLinkAttrs(this.context, dayDate, 'day', false) }, dayMeta);
28
+ let classNames = ['fc-list-day'].concat(common.getDayClassNames(dayMeta, theme));
73
29
  // TODO: make a reusable HOC for dayHeader (used in daygrid/timegrid too)
74
- return (common.createElement(common.RenderHook, { hookProps: hookProps, classNames: options.dayHeaderClassNames, content: options.dayHeaderContent, defaultContent: renderInnerContent, didMount: options.dayHeaderDidMount, willUnmount: options.dayHeaderWillUnmount }, function (rootElRef, customClassNames, innerElRef, innerContent) { return (common.createElement("tr", { ref: rootElRef, className: classNames.concat(customClassNames).join(' '), "data-date": common.formatDayString(dayDate) },
30
+ 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) },
75
31
  common.createElement("th", { scope: "colgroup", colSpan: 3, id: cellId, "aria-labelledby": textId },
76
- common.createElement("div", { className: 'fc-list-day-cushion ' + theme.getClass('tableCellShaded'), ref: innerElRef }, innerContent)))); }));
77
- };
78
- return ListViewHeaderRow;
79
- }(common.BaseComponent));
32
+ common.createElement("div", { className: 'fc-list-day-cushion ' + theme.getClass('tableCellShaded'), ref: innerElRef }, innerContent))))));
33
+ }
34
+ }
80
35
  function renderInnerContent(props) {
81
36
  return (common.createElement(common.Fragment, null,
82
- props.text && (common.createElement("a", __assign({ id: props.textId, className: "fc-list-day-text" }, props.navLinkAttrs), props.text)),
83
- props.sideText && ( /* not keyboard tabbable */common.createElement("a", __assign({ "aria-hidden": true, className: "fc-list-day-side-text" }, props.sideNavLinkAttrs), props.sideText))));
37
+ props.text && (common.createElement("a", Object.assign({ id: props.textId, className: "fc-list-day-text" }, props.navLinkAttrs), props.text)),
38
+ props.sideText && ( /* not keyboard tabbable */common.createElement("a", Object.assign({ "aria-hidden": true, className: "fc-list-day-side-text" }, props.sideNavLinkAttrs), props.sideText))));
84
39
  }
85
40
 
86
- var DEFAULT_TIME_FORMAT = common.createFormatter({
41
+ const DEFAULT_TIME_FORMAT = common.createFormatter({
87
42
  hour: 'numeric',
88
43
  minute: '2-digit',
89
44
  meridiem: 'short',
90
45
  });
91
- var ListViewEventRow = /** @class */ (function (_super) {
92
- __extends(ListViewEventRow, _super);
93
- function ListViewEventRow() {
94
- return _super !== null && _super.apply(this, arguments) || this;
95
- }
96
- ListViewEventRow.prototype.render = function () {
97
- var _a = this, props = _a.props, context = _a.context;
98
- var seg = props.seg, timeHeaderId = props.timeHeaderId, eventHeaderId = props.eventHeaderId, dateHeaderId = props.dateHeaderId;
99
- var timeFormat = context.options.eventTimeFormat || DEFAULT_TIME_FORMAT;
46
+ class ListViewEventRow extends common.BaseComponent {
47
+ render() {
48
+ let { props, context } = this;
49
+ let { seg, timeHeaderId, eventHeaderId, dateHeaderId } = props;
50
+ let timeFormat = context.options.eventTimeFormat || DEFAULT_TIME_FORMAT;
100
51
  return (common.createElement(common.EventRoot, { seg: seg, timeText: "" // BAD. because of all-day content
101
- , disableDragging: true, disableResizing: true, defaultContent: function () { return 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 }, function (rootElRef, classNames, innerElRef, innerContent, hookProps) { return (common.createElement("tr", { className: ['fc-list-event', hookProps.event.url ? 'fc-event-forced-url' : ''].concat(classNames).join(' '), ref: rootElRef },
52
+ , 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 },
102
53
  buildTimeContent(seg, timeFormat, context, timeHeaderId, dateHeaderId),
103
54
  common.createElement("td", { "aria-hidden": true, className: "fc-list-event-graphic" },
104
55
  common.createElement("span", { className: "fc-list-event-dot", style: { borderColor: hookProps.borderColor || hookProps.backgroundColor } })),
105
- common.createElement("td", { ref: innerElRef, headers: eventHeaderId + " " + dateHeaderId, className: "fc-list-event-title" }, innerContent))); }));
106
- };
107
- return ListViewEventRow;
108
- }(common.BaseComponent));
56
+ common.createElement("td", { ref: innerElRef, headers: `${eventHeaderId} ${dateHeaderId}`, className: "fc-list-event-title" }, innerContent)))));
57
+ }
58
+ }
109
59
  function renderEventInnerContent(seg, context) {
110
- var interactiveAttrs = common.getSegAnchorAttrs(seg, context);
111
- return (common.createElement("a", __assign({}, interactiveAttrs), seg.eventRange.def.title));
60
+ let interactiveAttrs = common.getSegAnchorAttrs(seg, context);
61
+ return (common.createElement("a", Object.assign({}, interactiveAttrs), seg.eventRange.def.title));
112
62
  }
113
63
  function buildTimeContent(seg, timeFormat, context, timeHeaderId, dateHeaderId) {
114
- var options = context.options;
64
+ let { options } = context;
115
65
  if (options.displayEventTime !== false) {
116
- var eventDef = seg.eventRange.def;
117
- var eventInstance = seg.eventRange.instance;
118
- var doAllDay = false;
119
- var timeText = void 0;
66
+ let eventDef = seg.eventRange.def;
67
+ let eventInstance = seg.eventRange.instance;
68
+ let doAllDay = false;
69
+ let timeText;
120
70
  if (eventDef.allDay) {
121
71
  doAllDay = true;
122
72
  }
@@ -135,11 +85,11 @@ var FullCalendarList = (function (exports, common) {
135
85
  timeText = common.buildSegTimeText(seg, timeFormat, context);
136
86
  }
137
87
  if (doAllDay) {
138
- var hookProps = {
88
+ let hookProps = {
139
89
  text: context.options.allDayText,
140
90
  view: context.viewApi,
141
91
  };
142
- return (common.createElement(common.RenderHook, { hookProps: hookProps, classNames: options.allDayClassNames, content: options.allDayContent, defaultContent: renderAllDayInner, didMount: options.allDayDidMount, willUnmount: options.allDayWillUnmount }, function (rootElRef, classNames, innerElRef, innerContent) { return (common.createElement("td", { ref: rootElRef, headers: timeHeaderId + " " + dateHeaderId, className: ['fc-list-event-time'].concat(classNames).join(' ') }, innerContent)); }));
92
+ 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))));
143
93
  }
144
94
  return (common.createElement("td", { className: "fc-list-event-time" }, timeText));
145
95
  }
@@ -152,70 +102,66 @@ var FullCalendarList = (function (exports, common) {
152
102
  /*
153
103
  Responsible for the scroller, and forwarding event-related actions into the "grid".
154
104
  */
155
- var ListView = /** @class */ (function (_super) {
156
- __extends(ListView, _super);
157
- function ListView() {
158
- var _this = _super !== null && _super.apply(this, arguments) || this;
159
- _this.computeDateVars = common.memoize(computeDateVars);
160
- _this.eventStoreToSegs = common.memoize(_this._eventStoreToSegs);
161
- _this.state = {
105
+ class ListView extends common.DateComponent {
106
+ constructor() {
107
+ super(...arguments);
108
+ this.computeDateVars = common.memoize(computeDateVars);
109
+ this.eventStoreToSegs = common.memoize(this._eventStoreToSegs);
110
+ this.state = {
162
111
  timeHeaderId: common.getUniqueDomId(),
163
112
  eventHeaderId: common.getUniqueDomId(),
164
113
  dateHeaderIdRoot: common.getUniqueDomId(),
165
114
  };
166
- _this.setRootEl = function (rootEl) {
115
+ this.setRootEl = (rootEl) => {
167
116
  if (rootEl) {
168
- _this.context.registerInteractiveComponent(_this, {
117
+ this.context.registerInteractiveComponent(this, {
169
118
  el: rootEl,
170
119
  });
171
120
  }
172
121
  else {
173
- _this.context.unregisterInteractiveComponent(_this);
122
+ this.context.unregisterInteractiveComponent(this);
174
123
  }
175
124
  };
176
- return _this;
177
125
  }
178
- ListView.prototype.render = function () {
179
- var _this = this;
180
- var _a = this, props = _a.props, context = _a.context;
181
- var extraClassNames = [
126
+ render() {
127
+ let { props, context } = this;
128
+ let extraClassNames = [
182
129
  'fc-list',
183
130
  context.theme.getClass('table'),
184
131
  context.options.stickyHeaderDates !== false ? 'fc-list-sticky' : '',
185
132
  ];
186
- var _b = this.computeDateVars(props.dateProfile), dayDates = _b.dayDates, dayRanges = _b.dayRanges;
187
- var eventSegs = this.eventStoreToSegs(props.eventStore, props.eventUiBases, dayRanges);
188
- return (common.createElement(common.ViewRoot, { viewSpec: context.viewSpec, elRef: this.setRootEl }, function (rootElRef, classNames) { return (common.createElement("div", { ref: rootElRef, className: extraClassNames.concat(classNames).join(' ') },
133
+ let { dayDates, dayRanges } = this.computeDateVars(props.dateProfile);
134
+ let eventSegs = this.eventStoreToSegs(props.eventStore, props.eventUiBases, dayRanges);
135
+ return (common.createElement(common.ViewRoot, { viewSpec: context.viewSpec, elRef: this.setRootEl }, (rootElRef, classNames) => (common.createElement("div", { ref: rootElRef, className: extraClassNames.concat(classNames).join(' ') },
189
136
  common.createElement(common.Scroller, { liquid: !props.isHeightAuto, overflowX: props.isHeightAuto ? 'visible' : 'hidden', overflowY: props.isHeightAuto ? 'visible' : 'auto' }, eventSegs.length > 0 ?
190
- _this.renderSegList(eventSegs, dayDates) :
191
- _this.renderEmptyMessage()))); }));
192
- };
193
- ListView.prototype.renderEmptyMessage = function () {
194
- var _a = this.context, options = _a.options, viewApi = _a.viewApi;
195
- var hookProps = {
137
+ this.renderSegList(eventSegs, dayDates) :
138
+ this.renderEmptyMessage())))));
139
+ }
140
+ renderEmptyMessage() {
141
+ let { options, viewApi } = this.context;
142
+ let hookProps = {
196
143
  text: options.noEventsText,
197
144
  view: viewApi,
198
145
  };
199
- return (common.createElement(common.RenderHook, { hookProps: hookProps, classNames: options.noEventsClassNames, content: options.noEventsContent, defaultContent: renderNoEventsInner, didMount: options.noEventsDidMount, willUnmount: options.noEventsWillUnmount }, function (rootElRef, classNames, innerElRef, innerContent) { return (common.createElement("div", { className: ['fc-list-empty'].concat(classNames).join(' '), ref: rootElRef },
200
- common.createElement("div", { className: "fc-list-empty-cushion", ref: innerElRef }, innerContent))); }));
201
- };
202
- ListView.prototype.renderSegList = function (allSegs, dayDates) {
203
- var _a = this.context, theme = _a.theme, options = _a.options;
204
- var _b = this.state, timeHeaderId = _b.timeHeaderId, eventHeaderId = _b.eventHeaderId, dateHeaderIdRoot = _b.dateHeaderIdRoot;
205
- var segsByDay = groupSegsByDay(allSegs); // sparse array
206
- return (common.createElement(common.NowTimer, { unit: "day" }, function (nowDate, todayRange) {
207
- var innerNodes = [];
208
- for (var dayIndex = 0; dayIndex < segsByDay.length; dayIndex += 1) {
209
- var daySegs = segsByDay[dayIndex];
146
+ 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 },
147
+ common.createElement("div", { className: "fc-list-empty-cushion", ref: innerElRef }, innerContent)))));
148
+ }
149
+ renderSegList(allSegs, dayDates) {
150
+ let { theme, options } = this.context;
151
+ let { timeHeaderId, eventHeaderId, dateHeaderIdRoot } = this.state;
152
+ let segsByDay = groupSegsByDay(allSegs); // sparse array
153
+ return (common.createElement(common.NowTimer, { unit: "day" }, (nowDate, todayRange) => {
154
+ let innerNodes = [];
155
+ for (let dayIndex = 0; dayIndex < segsByDay.length; dayIndex += 1) {
156
+ let daySegs = segsByDay[dayIndex];
210
157
  if (daySegs) { // sparse array, so might be undefined
211
- var dayStr = common.formatDayString(dayDates[dayIndex]);
212
- var dateHeaderId = dateHeaderIdRoot + '-' + dayStr;
158
+ let dayStr = common.formatDayString(dayDates[dayIndex]);
159
+ let dateHeaderId = dateHeaderIdRoot + '-' + dayStr;
213
160
  // append a day header
214
161
  innerNodes.push(common.createElement(ListViewHeaderRow, { key: dayStr, cellId: dateHeaderId, dayDate: dayDates[dayIndex], todayRange: todayRange }));
215
162
  daySegs = common.sortEventSegs(daySegs, options.eventOrder);
216
- for (var _i = 0, daySegs_1 = daySegs; _i < daySegs_1.length; _i++) {
217
- var seg = daySegs_1[_i];
218
- innerNodes.push(common.createElement(ListViewEventRow, __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))));
163
+ for (let seg of daySegs) {
164
+ 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))));
219
165
  }
220
166
  }
221
167
  }
@@ -227,38 +173,37 @@ var FullCalendarList = (function (exports, common) {
227
173
  common.createElement("th", { scope: "col", id: eventHeaderId }, options.eventHint))),
228
174
  common.createElement("tbody", null, innerNodes)));
229
175
  }));
230
- };
231
- ListView.prototype._eventStoreToSegs = function (eventStore, eventUiBases, dayRanges) {
176
+ }
177
+ _eventStoreToSegs(eventStore, eventUiBases, dayRanges) {
232
178
  return this.eventRangesToSegs(common.sliceEventStore(eventStore, eventUiBases, this.props.dateProfile.activeRange, this.context.options.nextDayThreshold).fg, dayRanges);
233
- };
234
- ListView.prototype.eventRangesToSegs = function (eventRanges, dayRanges) {
235
- var segs = [];
236
- for (var _i = 0, eventRanges_1 = eventRanges; _i < eventRanges_1.length; _i++) {
237
- var eventRange = eventRanges_1[_i];
238
- segs.push.apply(segs, this.eventRangeToSegs(eventRange, dayRanges));
179
+ }
180
+ eventRangesToSegs(eventRanges, dayRanges) {
181
+ let segs = [];
182
+ for (let eventRange of eventRanges) {
183
+ segs.push(...this.eventRangeToSegs(eventRange, dayRanges));
239
184
  }
240
185
  return segs;
241
- };
242
- ListView.prototype.eventRangeToSegs = function (eventRange, dayRanges) {
243
- var dateEnv = this.context.dateEnv;
244
- var nextDayThreshold = this.context.options.nextDayThreshold;
245
- var range = eventRange.range;
246
- var allDay = eventRange.def.allDay;
247
- var dayIndex;
248
- var segRange;
249
- var seg;
250
- var segs = [];
186
+ }
187
+ eventRangeToSegs(eventRange, dayRanges) {
188
+ let { dateEnv } = this.context;
189
+ let { nextDayThreshold } = this.context.options;
190
+ let range = eventRange.range;
191
+ let allDay = eventRange.def.allDay;
192
+ let dayIndex;
193
+ let segRange;
194
+ let seg;
195
+ let segs = [];
251
196
  for (dayIndex = 0; dayIndex < dayRanges.length; dayIndex += 1) {
252
197
  segRange = common.intersectRanges(range, dayRanges[dayIndex]);
253
198
  if (segRange) {
254
199
  seg = {
255
200
  component: this,
256
- eventRange: eventRange,
201
+ eventRange,
257
202
  start: segRange.start,
258
203
  end: segRange.end,
259
204
  isStart: eventRange.isStart && segRange.start.valueOf() === range.start.valueOf(),
260
205
  isEnd: eventRange.isEnd && segRange.end.valueOf() === range.end.valueOf(),
261
- dayIndex: dayIndex,
206
+ dayIndex,
262
207
  };
263
208
  segs.push(seg);
264
209
  // detect when range won't go fully into the next day,
@@ -274,17 +219,16 @@ var FullCalendarList = (function (exports, common) {
274
219
  }
275
220
  }
276
221
  return segs;
277
- };
278
- return ListView;
279
- }(common.DateComponent));
222
+ }
223
+ }
280
224
  function renderNoEventsInner(hookProps) {
281
225
  return hookProps.text;
282
226
  }
283
227
  function computeDateVars(dateProfile) {
284
- var dayStart = common.startOfDay(dateProfile.renderRange.start);
285
- var viewEnd = dateProfile.renderRange.end;
286
- var dayDates = [];
287
- var dayRanges = [];
228
+ let dayStart = common.startOfDay(dateProfile.renderRange.start);
229
+ let viewEnd = dateProfile.renderRange.end;
230
+ let dayDates = [];
231
+ let dayRanges = [];
288
232
  while (dayStart < viewEnd) {
289
233
  dayDates.push(dayStart);
290
234
  dayRanges.push({
@@ -293,13 +237,13 @@ var FullCalendarList = (function (exports, common) {
293
237
  });
294
238
  dayStart = common.addDays(dayStart, 1);
295
239
  }
296
- return { dayDates: dayDates, dayRanges: dayRanges };
240
+ return { dayDates, dayRanges };
297
241
  }
298
242
  // Returns a sparse array of arrays, segs grouped by their dayIndex
299
243
  function groupSegsByDay(segs) {
300
- var segsByDay = []; // sparse array
301
- var i;
302
- var seg;
244
+ let segsByDay = []; // sparse array
245
+ let i;
246
+ let seg;
303
247
  for (i = 0; i < segs.length; i += 1) {
304
248
  seg = segs[i];
305
249
  (segsByDay[seg.dayIndex] || (segsByDay[seg.dayIndex] = []))
@@ -308,7 +252,7 @@ var FullCalendarList = (function (exports, common) {
308
252
  return segsByDay;
309
253
  }
310
254
 
311
- var OPTION_REFINERS = {
255
+ const OPTION_REFINERS = {
312
256
  listDayFormat: createFalsableFormatter,
313
257
  listDaySideFormat: createFalsableFormatter,
314
258
  noEventsClassNames: common.identity,
@@ -321,6 +265,36 @@ var FullCalendarList = (function (exports, common) {
321
265
  return input === false ? null : common.createFormatter(input);
322
266
  }
323
267
 
268
+ function styleInject(css, ref) {
269
+ if ( ref === void 0 ) ref = {};
270
+ var insertAt = ref.insertAt;
271
+
272
+ if (!css || typeof document === 'undefined') { return; }
273
+
274
+ var head = document.head || document.getElementsByTagName('head')[0];
275
+ var style = document.createElement('style');
276
+ style.type = 'text/css';
277
+
278
+ if (insertAt === 'top') {
279
+ if (head.firstChild) {
280
+ head.insertBefore(style, head.firstChild);
281
+ } else {
282
+ head.appendChild(style);
283
+ }
284
+ } else {
285
+ head.appendChild(style);
286
+ }
287
+
288
+ if (style.styleSheet) {
289
+ style.styleSheet.cssText = css;
290
+ } else {
291
+ style.appendChild(document.createTextNode(css));
292
+ }
293
+ }
294
+
295
+ 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";
296
+ styleInject(css_248z);
297
+
324
298
  var plugin = common.createPlugin({
325
299
  optionRefiners: OPTION_REFINERS,
326
300
  views: {
@@ -1,6 +1,6 @@
1
1
  /*!
2
- FullCalendar v5.11.2
2
+ FullCalendar v6.0.0-beta.1
3
3
  Docs & License: https://fullcalendar.io/
4
4
  (c) 2022 Adam Shaw
5
5
  */
6
- var FullCalendarList=function(e,t){"use strict";var n=function(e,t){return(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])})(e,t)};function a(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");function a(){this.constructor=e}n(e,t),e.prototype=null===t?Object.create(t):(a.prototype=t.prototype,new a)}var r=function(){return(r=Object.assign||function(e){for(var t,n=1,a=arguments.length;n<a;n++)for(var r in t=arguments[n])Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r]);return e}).apply(this,arguments)},i=function(e){function n(){var n=null!==e&&e.apply(this,arguments)||this;return n.state={textId:t.getUniqueDomId()},n}return a(n,e),n.prototype.render=function(){var e=this.context,n=e.theme,a=e.dateEnv,i=e.options,s=e.viewApi,l=this.props,d=l.cellId,c=l.dayDate,u=l.todayRange,m=this.state.textId,v=t.getDateMeta(c,u),y=i.listDayFormat?a.format(c,i.listDayFormat):"",f=i.listDaySideFormat?a.format(c,i.listDaySideFormat):"",g=r({date:a.toDate(c),view:s,textId:m,text:y,sideText:f,navLinkAttrs:t.buildNavLinkAttrs(this.context,c),sideNavLinkAttrs:t.buildNavLinkAttrs(this.context,c,"day",!1)},v),p=["fc-list-day"].concat(t.getDayClassNames(v,n));return t.createElement(t.RenderHook,{hookProps:g,classNames:i.dayHeaderClassNames,content:i.dayHeaderContent,defaultContent:o,didMount:i.dayHeaderDidMount,willUnmount:i.dayHeaderWillUnmount},(function(e,a,r,i){return t.createElement("tr",{ref:e,className:p.concat(a).join(" "),"data-date":t.formatDayString(c)},t.createElement("th",{scope:"colgroup",colSpan:3,id:d,"aria-labelledby":m},t.createElement("div",{className:"fc-list-day-cushion "+n.getClass("tableCellShaded"),ref:r},i)))}))},n}(t.BaseComponent);function o(e){return t.createElement(t.Fragment,null,e.text&&t.createElement("a",r({id:e.textId,className:"fc-list-day-text"},e.navLinkAttrs),e.text),e.sideText&&t.createElement("a",r({"aria-hidden":!0,className:"fc-list-day-side-text"},e.sideNavLinkAttrs),e.sideText))}var s=t.createFormatter({hour:"numeric",minute:"2-digit",meridiem:"short"}),l=function(e){function n(){return null!==e&&e.apply(this,arguments)||this}return a(n,e),n.prototype.render=function(){var e=this.props,n=this.context,a=e.seg,i=e.timeHeaderId,o=e.eventHeaderId,l=e.dateHeaderId,c=n.options.eventTimeFormat||s;return t.createElement(t.EventRoot,{seg:a,timeText:"",disableDragging:!0,disableResizing:!0,defaultContent:function(){return function(e,n){var a=t.getSegAnchorAttrs(e,n);return t.createElement("a",r({},a),e.eventRange.def.title)}(a,n)},isPast:e.isPast,isFuture:e.isFuture,isToday:e.isToday,isSelected:e.isSelected,isDragging:e.isDragging,isResizing:e.isResizing,isDateSelecting:e.isDateSelecting},(function(e,r,s,u,m){return t.createElement("tr",{className:["fc-list-event",m.event.url?"fc-event-forced-url":""].concat(r).join(" "),ref:e},function(e,n,a,r,i){var o=a.options;if(!1!==o.displayEventTime){var s=e.eventRange.def,l=e.eventRange.instance,c=!1,u=void 0;if(s.allDay?c=!0:t.isMultiDayRange(e.eventRange.range)?e.isStart?u=t.buildSegTimeText(e,n,a,null,null,l.range.start,e.end):e.isEnd?u=t.buildSegTimeText(e,n,a,null,null,e.start,l.range.end):c=!0:u=t.buildSegTimeText(e,n,a),c){var m={text:a.options.allDayText,view:a.viewApi};return t.createElement(t.RenderHook,{hookProps:m,classNames:o.allDayClassNames,content:o.allDayContent,defaultContent:d,didMount:o.allDayDidMount,willUnmount:o.allDayWillUnmount},(function(e,n,a,o){return t.createElement("td",{ref:e,headers:r+" "+i,className:["fc-list-event-time"].concat(n).join(" ")},o)}))}return t.createElement("td",{className:"fc-list-event-time"},u)}return null}(a,c,n,i,l),t.createElement("td",{"aria-hidden":!0,className:"fc-list-event-graphic"},t.createElement("span",{className:"fc-list-event-dot",style:{borderColor:m.borderColor||m.backgroundColor}})),t.createElement("td",{ref:s,headers:o+" "+l,className:"fc-list-event-title"},u))}))},n}(t.BaseComponent);function d(e){return e.text}var c=function(e){function n(){var n=null!==e&&e.apply(this,arguments)||this;return n.computeDateVars=t.memoize(m),n.eventStoreToSegs=t.memoize(n._eventStoreToSegs),n.state={timeHeaderId:t.getUniqueDomId(),eventHeaderId:t.getUniqueDomId(),dateHeaderIdRoot:t.getUniqueDomId()},n.setRootEl=function(e){e?n.context.registerInteractiveComponent(n,{el:e}):n.context.unregisterInteractiveComponent(n)},n}return a(n,e),n.prototype.render=function(){var e=this,n=this.props,a=this.context,r=["fc-list",a.theme.getClass("table"),!1!==a.options.stickyHeaderDates?"fc-list-sticky":""],i=this.computeDateVars(n.dateProfile),o=i.dayDates,s=i.dayRanges,l=this.eventStoreToSegs(n.eventStore,n.eventUiBases,s);return t.createElement(t.ViewRoot,{viewSpec:a.viewSpec,elRef:this.setRootEl},(function(a,i){return t.createElement("div",{ref:a,className:r.concat(i).join(" ")},t.createElement(t.Scroller,{liquid:!n.isHeightAuto,overflowX:n.isHeightAuto?"visible":"hidden",overflowY:n.isHeightAuto?"visible":"auto"},l.length>0?e.renderSegList(l,o):e.renderEmptyMessage()))}))},n.prototype.renderEmptyMessage=function(){var e=this.context,n=e.options,a=e.viewApi,r={text:n.noEventsText,view:a};return t.createElement(t.RenderHook,{hookProps:r,classNames:n.noEventsClassNames,content:n.noEventsContent,defaultContent:u,didMount:n.noEventsDidMount,willUnmount:n.noEventsWillUnmount},(function(e,n,a,r){return t.createElement("div",{className:["fc-list-empty"].concat(n).join(" "),ref:e},t.createElement("div",{className:"fc-list-empty-cushion",ref:a},r))}))},n.prototype.renderSegList=function(e,n){var a=this.context,o=a.theme,s=a.options,d=this.state,c=d.timeHeaderId,u=d.eventHeaderId,m=d.dateHeaderIdRoot,v=function(e){var t,n,a=[];for(t=0;t<e.length;t+=1)(a[(n=e[t]).dayIndex]||(a[n.dayIndex]=[])).push(n);return a}(e);return t.createElement(t.NowTimer,{unit:"day"},(function(e,a){for(var d=[],y=0;y<v.length;y+=1){var f=v[y];if(f){var g=t.formatDayString(n[y]),p=m+"-"+g;d.push(t.createElement(i,{key:g,cellId:p,dayDate:n[y],todayRange:a}));for(var h=0,E=f=t.sortEventSegs(f,s.eventOrder);h<E.length;h++){var D=E[h];d.push(t.createElement(l,r({key:g+":"+D.eventRange.instance.instanceId,seg:D,isDragging:!1,isResizing:!1,isDateSelecting:!1,isSelected:!1,timeHeaderId:c,eventHeaderId:u,dateHeaderId:p},t.getSegMeta(D,a,e))))}}}return t.createElement("table",{className:"fc-list-table "+o.getClass("table")},t.createElement("thead",null,t.createElement("tr",null,t.createElement("th",{scope:"col",id:c},s.timeHint),t.createElement("th",{scope:"col","aria-hidden":!0}),t.createElement("th",{scope:"col",id:u},s.eventHint))),t.createElement("tbody",null,d))}))},n.prototype._eventStoreToSegs=function(e,n,a){return this.eventRangesToSegs(t.sliceEventStore(e,n,this.props.dateProfile.activeRange,this.context.options.nextDayThreshold).fg,a)},n.prototype.eventRangesToSegs=function(e,t){for(var n=[],a=0,r=e;a<r.length;a++){var i=r[a];n.push.apply(n,this.eventRangeToSegs(i,t))}return n},n.prototype.eventRangeToSegs=function(e,n){var a,r,i,o=this.context.dateEnv,s=this.context.options.nextDayThreshold,l=e.range,d=e.def.allDay,c=[];for(a=0;a<n.length;a+=1)if((r=t.intersectRanges(l,n[a]))&&(i={component:this,eventRange:e,start:r.start,end:r.end,isStart:e.isStart&&r.start.valueOf()===l.start.valueOf(),isEnd:e.isEnd&&r.end.valueOf()===l.end.valueOf(),dayIndex:a},c.push(i),!i.isEnd&&!d&&a+1<n.length&&l.end<o.add(n[a+1].start,s))){i.end=l.end,i.isEnd=!0;break}return c},n}(t.DateComponent);function u(e){return e.text}function m(e){for(var n=t.startOfDay(e.renderRange.start),a=e.renderRange.end,r=[],i=[];n<a;)r.push(n),i.push({start:n,end:t.addDays(n,1)}),n=t.addDays(n,1);return{dayDates:r,dayRanges:i}}var v={listDayFormat:y,listDaySideFormat:y,noEventsClassNames:t.identity,noEventsContent:t.identity,noEventsDidMount:t.identity,noEventsWillUnmount:t.identity};function y(e){return!1===e?null:t.createFormatter(e)}var f=t.createPlugin({optionRefiners:v,views:{list:{component:c,buttonTextKey:"list",listDayFormat:{month:"long",day:"numeric",year:"numeric"}},listDay:{type:"list",duration:{days:1},listDayFormat:{weekday:"long"}},listWeek:{type:"list",duration:{weeks:1},listDayFormat:{weekday:"long"},listDaySideFormat:{month:"long",day:"numeric",year:"numeric"}},listMonth:{type:"list",duration:{month:1},listDaySideFormat:{weekday:"long"}},listYear:{type:"list",duration:{year:1},listDaySideFormat:{weekday:"long"}}}});return t.globalPlugins.push(f),e.ListView=c,e.default=f,Object.defineProperty(e,"__esModule",{value:!0}),e}({},FullCalendar);
6
+ var FullCalendarList=function(e,t){"use strict";class n extends t.BaseComponent{constructor(){super(...arguments),this.state={textId:t.getUniqueDomId()}}render(){let{theme:e,dateEnv:n,options:i,viewApi:s}=this.context,{cellId:r,dayDate:o,todayRange:l}=this.props,{textId:d}=this.state,c=t.getDateMeta(o,l),f=i.listDayFormat?n.format(o,i.listDayFormat):"",u=i.listDaySideFormat?n.format(o,i.listDaySideFormat):"",m=Object.assign({date:n.toDate(o),view:s,textId:d,text:f,sideText:u,navLinkAttrs:t.buildNavLinkAttrs(this.context,o),sideNavLinkAttrs:t.buildNavLinkAttrs(this.context,o,"day",!1)},c),g=["fc-list-day"].concat(t.getDayClassNames(c,e));return t.createElement(t.RenderHook,{hookProps:m,classNames:i.dayHeaderClassNames,content:i.dayHeaderContent,defaultContent:a,didMount:i.dayHeaderDidMount,willUnmount:i.dayHeaderWillUnmount},((n,a,i,s)=>t.createElement("tr",{ref:n,className:g.concat(a).join(" "),"data-date":t.formatDayString(o)},t.createElement("th",{scope:"colgroup",colSpan:3,id:r,"aria-labelledby":d},t.createElement("div",{className:"fc-list-day-cushion "+e.getClass("tableCellShaded"),ref:i},s)))))}}function a(e){return t.createElement(t.Fragment,null,e.text&&t.createElement("a",Object.assign({id:e.textId,className:"fc-list-day-text"},e.navLinkAttrs),e.text),e.sideText&&t.createElement("a",Object.assign({"aria-hidden":!0,className:"fc-list-day-side-text"},e.sideNavLinkAttrs),e.sideText))}const i=t.createFormatter({hour:"numeric",minute:"2-digit",meridiem:"short"});class s extends t.BaseComponent{render(){let{props:e,context:n}=this,{seg:a,timeHeaderId:s,eventHeaderId:o,dateHeaderId:l}=e,d=n.options.eventTimeFormat||i;return t.createElement(t.EventRoot,{seg:a,timeText:"",disableDragging:!0,disableResizing:!0,defaultContent:()=>function(e,n){let a=t.getSegAnchorAttrs(e,n);return t.createElement("a",Object.assign({},a),e.eventRange.def.title)}(a,n),isPast:e.isPast,isFuture:e.isFuture,isToday:e.isToday,isSelected:e.isSelected,isDragging:e.isDragging,isResizing:e.isResizing,isDateSelecting:e.isDateSelecting},((e,i,c,f,u)=>t.createElement("tr",{className:["fc-list-event",u.event.url?"fc-event-forced-url":""].concat(i).join(" "),ref:e},function(e,n,a,i,s){let{options:o}=a;if(!1!==o.displayEventTime){let l,d=e.eventRange.def,c=e.eventRange.instance,f=!1;if(d.allDay?f=!0:t.isMultiDayRange(e.eventRange.range)?e.isStart?l=t.buildSegTimeText(e,n,a,null,null,c.range.start,e.end):e.isEnd?l=t.buildSegTimeText(e,n,a,null,null,e.start,c.range.end):f=!0:l=t.buildSegTimeText(e,n,a),f){let e={text:a.options.allDayText,view:a.viewApi};return t.createElement(t.RenderHook,{hookProps:e,classNames:o.allDayClassNames,content:o.allDayContent,defaultContent:r,didMount:o.allDayDidMount,willUnmount:o.allDayWillUnmount},((e,n,a,r)=>t.createElement("td",{ref:e,headers:`${i} ${s}`,className:["fc-list-event-time"].concat(n).join(" ")},r)))}return t.createElement("td",{className:"fc-list-event-time"},l)}return null}(a,d,n,s,l),t.createElement("td",{"aria-hidden":!0,className:"fc-list-event-graphic"},t.createElement("span",{className:"fc-list-event-dot",style:{borderColor:u.borderColor||u.backgroundColor}})),t.createElement("td",{ref:c,headers:`${o} ${l}`,className:"fc-list-event-title"},f))))}}function r(e){return e.text}class o extends t.DateComponent{constructor(){super(...arguments),this.computeDateVars=t.memoize(d),this.eventStoreToSegs=t.memoize(this._eventStoreToSegs),this.state={timeHeaderId:t.getUniqueDomId(),eventHeaderId:t.getUniqueDomId(),dateHeaderIdRoot:t.getUniqueDomId()},this.setRootEl=e=>{e?this.context.registerInteractiveComponent(this,{el:e}):this.context.unregisterInteractiveComponent(this)}}render(){let{props:e,context:n}=this,a=["fc-list",n.theme.getClass("table"),!1!==n.options.stickyHeaderDates?"fc-list-sticky":""],{dayDates:i,dayRanges:s}=this.computeDateVars(e.dateProfile),r=this.eventStoreToSegs(e.eventStore,e.eventUiBases,s);return t.createElement(t.ViewRoot,{viewSpec:n.viewSpec,elRef:this.setRootEl},((n,s)=>t.createElement("div",{ref:n,className:a.concat(s).join(" ")},t.createElement(t.Scroller,{liquid:!e.isHeightAuto,overflowX:e.isHeightAuto?"visible":"hidden",overflowY:e.isHeightAuto?"visible":"auto"},r.length>0?this.renderSegList(r,i):this.renderEmptyMessage()))))}renderEmptyMessage(){let{options:e,viewApi:n}=this.context,a={text:e.noEventsText,view:n};return t.createElement(t.RenderHook,{hookProps:a,classNames:e.noEventsClassNames,content:e.noEventsContent,defaultContent:l,didMount:e.noEventsDidMount,willUnmount:e.noEventsWillUnmount},((e,n,a,i)=>t.createElement("div",{className:["fc-list-empty"].concat(n).join(" "),ref:e},t.createElement("div",{className:"fc-list-empty-cushion",ref:a},i))))}renderSegList(e,a){let{theme:i,options:r}=this.context,{timeHeaderId:o,eventHeaderId:l,dateHeaderIdRoot:d}=this.state,c=function(e){let t,n,a=[];for(t=0;t<e.length;t+=1)n=e[t],(a[n.dayIndex]||(a[n.dayIndex]=[])).push(n);return a}(e);return t.createElement(t.NowTimer,{unit:"day"},((e,f)=>{let u=[];for(let i=0;i<c.length;i+=1){let m=c[i];if(m){let c=t.formatDayString(a[i]),g=d+"-"+c;u.push(t.createElement(n,{key:c,cellId:g,dayDate:a[i],todayRange:f})),m=t.sortEventSegs(m,r.eventOrder);for(let n of m)u.push(t.createElement(s,Object.assign({key:c+":"+n.eventRange.instance.instanceId,seg:n,isDragging:!1,isResizing:!1,isDateSelecting:!1,isSelected:!1,timeHeaderId:o,eventHeaderId:l,dateHeaderId:g},t.getSegMeta(n,f,e))))}}return t.createElement("table",{className:"fc-list-table "+i.getClass("table")},t.createElement("thead",null,t.createElement("tr",null,t.createElement("th",{scope:"col",id:o},r.timeHint),t.createElement("th",{scope:"col","aria-hidden":!0}),t.createElement("th",{scope:"col",id:l},r.eventHint))),t.createElement("tbody",null,u))}))}_eventStoreToSegs(e,n,a){return this.eventRangesToSegs(t.sliceEventStore(e,n,this.props.dateProfile.activeRange,this.context.options.nextDayThreshold).fg,a)}eventRangesToSegs(e,t){let n=[];for(let a of e)n.push(...this.eventRangeToSegs(a,t));return n}eventRangeToSegs(e,n){let a,i,s,{dateEnv:r}=this.context,{nextDayThreshold:o}=this.context.options,l=e.range,d=e.def.allDay,c=[];for(a=0;a<n.length;a+=1)if(i=t.intersectRanges(l,n[a]),i&&(s={component:this,eventRange:e,start:i.start,end:i.end,isStart:e.isStart&&i.start.valueOf()===l.start.valueOf(),isEnd:e.isEnd&&i.end.valueOf()===l.end.valueOf(),dayIndex:a},c.push(s),!s.isEnd&&!d&&a+1<n.length&&l.end<r.add(n[a+1].start,o))){s.end=l.end,s.isEnd=!0;break}return c}}function l(e){return e.text}function d(e){let n=t.startOfDay(e.renderRange.start),a=e.renderRange.end,i=[],s=[];for(;n<a;)i.push(n),s.push({start:n,end:t.addDays(n,1)}),n=t.addDays(n,1);return{dayDates:i,dayRanges:s}}const c={listDayFormat:f,listDaySideFormat:f,noEventsClassNames:t.identity,noEventsContent:t.identity,noEventsDidMount:t.identity,noEventsWillUnmount:t.identity};function f(e){return!1===e?null:t.createFormatter(e)}!function(e,t){void 0===t&&(t={});var n=t.insertAt;if(e&&"undefined"!=typeof document){var a=document.head||document.getElementsByTagName("head")[0],i=document.createElement("style");i.type="text/css","top"===n&&a.firstChild?a.insertBefore(i,a.firstChild):a.appendChild(i),i.styleSheet?i.styleSheet.cssText=e:i.appendChild(document.createTextNode(e))}}('\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');var u=t.createPlugin({optionRefiners:c,views:{list:{component:o,buttonTextKey:"list",listDayFormat:{month:"long",day:"numeric",year:"numeric"}},listDay:{type:"list",duration:{days:1},listDayFormat:{weekday:"long"}},listWeek:{type:"list",duration:{weeks:1},listDayFormat:{weekday:"long"},listDaySideFormat:{month:"long",day:"numeric",year:"numeric"}},listMonth:{type:"list",duration:{month:1},listDaySideFormat:{weekday:"long"}},listYear:{type:"list",duration:{year:1},listDaySideFormat:{weekday:"long"}}}});return t.globalPlugins.push(u),e.ListView=o,e.default=u,Object.defineProperty(e,"__esModule",{value:!0}),e}({},FullCalendar);