{"version":3,"file":"js/587-5f3ecda98e4dc91d7ba2.js","mappings":"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","sources":["webpack://monami/./node_modules/@fullcalendar/common/vdom.js","webpack://monami/./node_modules/@fullcalendar/common/main.js","webpack://monami/./node_modules/preact/dist/preact.module.js","webpack://monami/./node_modules/preact/hooks/dist/hooks.module.js","webpack://monami/./node_modules/preact/compat/dist/compat.module.js","webpack://monami/./node_modules/@fullcalendar/core/vdom.js","webpack://monami/./node_modules/@fullcalendar/core/main.js","webpack://monami/./node_modules/@fullcalendar/daygrid/main.js","webpack://monami/./node_modules/@fullcalendar/interaction/main.js","webpack://monami/./node_modules/@fullcalendar/list/main.js","webpack://monami/./node_modules/@fullcalendar/timegrid/main.js"],"sourcesContent":["///
/ | elements with colspans.\n SOLUTION: making individual \n _this.frameElRefs = new RefMap(); // the fc-daygrid-day-frame\n _this.fgElRefs = new RefMap(); // the fc-daygrid-day-events\n _this.segHarnessRefs = new RefMap(); // indexed by \"instanceId:firstCol\"\n _this.rootElRef = createRef();\n _this.state = {\n framePositions: null,\n maxContentHeight: null,\n eventInstanceHeights: {},\n };\n return _this;\n }\n TableRow.prototype.render = function () {\n var _this = this;\n var _a = this, props = _a.props, state = _a.state, context = _a.context;\n var options = context.options;\n var colCnt = props.cells.length;\n var businessHoursByCol = splitSegsByFirstCol(props.businessHourSegs, colCnt);\n var bgEventSegsByCol = splitSegsByFirstCol(props.bgEventSegs, colCnt);\n var highlightSegsByCol = splitSegsByFirstCol(this.getHighlightSegs(), colCnt);\n var mirrorSegsByCol = splitSegsByFirstCol(this.getMirrorSegs(), colCnt);\n var _b = computeFgSegPlacement(sortEventSegs(props.fgEventSegs, options.eventOrder), props.dayMaxEvents, props.dayMaxEventRows, options.eventOrderStrict, state.eventInstanceHeights, state.maxContentHeight, props.cells), singleColPlacements = _b.singleColPlacements, multiColPlacements = _b.multiColPlacements, moreCnts = _b.moreCnts, moreMarginTops = _b.moreMarginTops;\n var isForcedInvisible = // TODO: messy way to compute this\n (props.eventDrag && props.eventDrag.affectedInstances) ||\n (props.eventResize && props.eventResize.affectedInstances) ||\n {};\n return (createElement(\"tr\", { ref: this.rootElRef, role: \"row\" },\n props.renderIntro && props.renderIntro(),\n props.cells.map(function (cell, col) {\n var normalFgNodes = _this.renderFgSegs(col, props.forPrint ? singleColPlacements[col] : multiColPlacements[col], props.todayRange, isForcedInvisible);\n var mirrorFgNodes = _this.renderFgSegs(col, buildMirrorPlacements(mirrorSegsByCol[col], multiColPlacements), props.todayRange, {}, Boolean(props.eventDrag), Boolean(props.eventResize), false);\n return (createElement(TableCell, { key: cell.key, elRef: _this.cellElRefs.createRef(cell.key), innerElRef: _this.frameElRefs.createRef(cell.key) /* FF | problem, but okay to use for left/right. TODO: rename prop */, dateProfile: props.dateProfile, date: cell.date, showDayNumber: props.showDayNumbers, showWeekNumber: props.showWeekNumbers && col === 0, forceDayTop: props.showWeekNumbers /* even displaying weeknum for row, not necessarily day */, todayRange: props.todayRange, eventSelection: props.eventSelection, eventDrag: props.eventDrag, eventResize: props.eventResize, extraHookProps: cell.extraHookProps, extraDataAttrs: cell.extraDataAttrs, extraClassNames: cell.extraClassNames, extraDateSpan: cell.extraDateSpan, moreCnt: moreCnts[col], moreMarginTop: moreMarginTops[col], singlePlacements: singleColPlacements[col], fgContentElRef: _this.fgElRefs.createRef(cell.key), fgContent: ( // Fragment scopes the keys\n createElement(Fragment, null,\n createElement(Fragment, null, normalFgNodes),\n createElement(Fragment, null, mirrorFgNodes))), bgContent: ( // Fragment scopes the keys\n createElement(Fragment, null,\n _this.renderFillSegs(highlightSegsByCol[col], 'highlight'),\n _this.renderFillSegs(businessHoursByCol[col], 'non-business'),\n _this.renderFillSegs(bgEventSegsByCol[col], 'bg-event'))) }));\n })));\n };\n TableRow.prototype.componentDidMount = function () {\n this.updateSizing(true);\n };\n TableRow.prototype.componentDidUpdate = function (prevProps, prevState) {\n var currentProps = this.props;\n this.updateSizing(!isPropsEqual(prevProps, currentProps));\n };\n TableRow.prototype.getHighlightSegs = function () {\n var props = this.props;\n if (props.eventDrag && props.eventDrag.segs.length) { // messy check\n return props.eventDrag.segs;\n }\n if (props.eventResize && props.eventResize.segs.length) { // messy check\n return props.eventResize.segs;\n }\n return props.dateSelectionSegs;\n };\n TableRow.prototype.getMirrorSegs = function () {\n var props = this.props;\n if (props.eventResize && props.eventResize.segs.length) { // messy check\n return props.eventResize.segs;\n }\n return [];\n };\n TableRow.prototype.renderFgSegs = function (col, segPlacements, todayRange, isForcedInvisible, isDragging, isResizing, isDateSelecting) {\n var context = this.context;\n var eventSelection = this.props.eventSelection;\n var framePositions = this.state.framePositions;\n var defaultDisplayEventEnd = this.props.cells.length === 1; // colCnt === 1\n var isMirror = isDragging || isResizing || isDateSelecting;\n var nodes = [];\n if (framePositions) {\n for (var _i = 0, segPlacements_1 = segPlacements; _i < segPlacements_1.length; _i++) {\n var placement = segPlacements_1[_i];\n var seg = placement.seg;\n var instanceId = seg.eventRange.instance.instanceId;\n var key = instanceId + ':' + col;\n var isVisible = placement.isVisible && !isForcedInvisible[instanceId];\n var isAbsolute = placement.isAbsolute;\n var left = '';\n var right = '';\n if (isAbsolute) {\n if (context.isRtl) {\n right = 0;\n left = framePositions.lefts[seg.lastCol] - framePositions.lefts[seg.firstCol];\n }\n else {\n left = 0;\n right = framePositions.rights[seg.firstCol] - framePositions.rights[seg.lastCol];\n }\n }\n /*\n known bug: events that are force to be list-item but span multiple days still take up space in later columns\n todo: in print view, for multi-day events, don't display title within non-start/end segs\n */\n nodes.push(createElement(\"div\", { className: 'fc-daygrid-event-harness' + (isAbsolute ? ' fc-daygrid-event-harness-abs' : ''), key: key, ref: isMirror ? null : this.segHarnessRefs.createRef(key), style: {\n visibility: isVisible ? '' : 'hidden',\n marginTop: isAbsolute ? '' : placement.marginTop,\n top: isAbsolute ? placement.absoluteTop : '',\n left: left,\n right: right,\n } }, hasListItemDisplay(seg) ? (createElement(TableListItemEvent, __assign({ seg: seg, isDragging: isDragging, isSelected: instanceId === eventSelection, defaultDisplayEventEnd: defaultDisplayEventEnd }, getSegMeta(seg, todayRange)))) : (createElement(TableBlockEvent, __assign({ seg: seg, isDragging: isDragging, isResizing: isResizing, isDateSelecting: isDateSelecting, isSelected: instanceId === eventSelection, defaultDisplayEventEnd: defaultDisplayEventEnd }, getSegMeta(seg, todayRange))))));\n }\n }\n return nodes;\n };\n TableRow.prototype.renderFillSegs = function (segs, fillType) {\n var isRtl = this.context.isRtl;\n var todayRange = this.props.todayRange;\n var framePositions = this.state.framePositions;\n var nodes = [];\n if (framePositions) {\n for (var _i = 0, segs_1 = segs; _i < segs_1.length; _i++) {\n var seg = segs_1[_i];\n var leftRightCss = isRtl ? {\n right: 0,\n left: framePositions.lefts[seg.lastCol] - framePositions.lefts[seg.firstCol],\n } : {\n left: 0,\n right: framePositions.rights[seg.firstCol] - framePositions.rights[seg.lastCol],\n };\n nodes.push(createElement(\"div\", { key: buildEventRangeKey(seg.eventRange), className: \"fc-daygrid-bg-harness\", style: leftRightCss }, fillType === 'bg-event' ?\n createElement(BgEvent, __assign({ seg: seg }, getSegMeta(seg, todayRange))) :\n renderFill(fillType)));\n }\n }\n return createElement.apply(void 0, __spreadArray([Fragment, {}], nodes));\n };\n TableRow.prototype.updateSizing = function (isExternalSizingChange) {\n var _a = this, props = _a.props, frameElRefs = _a.frameElRefs;\n if (!props.forPrint &&\n props.clientWidth !== null // positioning ready?\n ) {\n if (isExternalSizingChange) {\n var frameEls = props.cells.map(function (cell) { return frameElRefs.currentMap[cell.key]; });\n if (frameEls.length) {\n var originEl = this.rootElRef.current;\n this.setState({\n framePositions: new PositionCache(originEl, frameEls, true, // isHorizontal\n false),\n });\n }\n }\n var oldInstanceHeights = this.state.eventInstanceHeights;\n var newInstanceHeights = this.queryEventInstanceHeights();\n var limitByContentHeight = props.dayMaxEvents === true || props.dayMaxEventRows === true;\n this.safeSetState({\n // HACK to prevent oscillations of events being shown/hidden from max-event-rows\n // Essentially, once you compute an element's height, never null-out.\n // TODO: always display all events, as visibility:hidden?\n eventInstanceHeights: __assign(__assign({}, oldInstanceHeights), newInstanceHeights),\n maxContentHeight: limitByContentHeight ? this.computeMaxContentHeight() : null,\n });\n }\n };\n TableRow.prototype.queryEventInstanceHeights = function () {\n var segElMap = this.segHarnessRefs.currentMap;\n var eventInstanceHeights = {};\n // get the max height amongst instance segs\n for (var key in segElMap) {\n var height = Math.round(segElMap[key].getBoundingClientRect().height);\n var instanceId = key.split(':')[0]; // deconstruct how renderFgSegs makes the key\n eventInstanceHeights[instanceId] = Math.max(eventInstanceHeights[instanceId] || 0, height);\n }\n return eventInstanceHeights;\n };\n TableRow.prototype.computeMaxContentHeight = function () {\n var firstKey = this.props.cells[0].key;\n var cellEl = this.cellElRefs.currentMap[firstKey];\n var fcContainerEl = this.fgElRefs.currentMap[firstKey];\n return cellEl.getBoundingClientRect().bottom - fcContainerEl.getBoundingClientRect().top;\n };\n TableRow.prototype.getCellEls = function () {\n var elMap = this.cellElRefs.currentMap;\n return this.props.cells.map(function (cell) { return elMap[cell.key]; });\n };\n return TableRow;\n}(DateComponent));\nTableRow.addStateEquality({\n eventInstanceHeights: isPropsEqual,\n});\nfunction buildMirrorPlacements(mirrorSegs, colPlacements) {\n if (!mirrorSegs.length) {\n return [];\n }\n var topsByInstanceId = buildAbsoluteTopHash(colPlacements); // TODO: cache this at first render?\n return mirrorSegs.map(function (seg) { return ({\n seg: seg,\n isVisible: true,\n isAbsolute: true,\n absoluteTop: topsByInstanceId[seg.eventRange.instance.instanceId],\n marginTop: 0,\n }); });\n}\nfunction buildAbsoluteTopHash(colPlacements) {\n var topsByInstanceId = {};\n for (var _i = 0, colPlacements_1 = colPlacements; _i < colPlacements_1.length; _i++) {\n var placements = colPlacements_1[_i];\n for (var _a = 0, placements_1 = placements; _a < placements_1.length; _a++) {\n var placement = placements_1[_a];\n topsByInstanceId[placement.seg.eventRange.instance.instanceId] = placement.absoluteTop;\n }\n }\n return topsByInstanceId;\n}\n\nvar Table = /** @class */ (function (_super) {\n __extends(Table, _super);\n function Table() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this.splitBusinessHourSegs = memoize(splitSegsByRow);\n _this.splitBgEventSegs = memoize(splitSegsByRow);\n _this.splitFgEventSegs = memoize(splitSegsByRow);\n _this.splitDateSelectionSegs = memoize(splitSegsByRow);\n _this.splitEventDrag = memoize(splitInteractionByRow);\n _this.splitEventResize = memoize(splitInteractionByRow);\n _this.rowRefs = new RefMap();\n _this.handleRootEl = function (rootEl) {\n _this.rootEl = rootEl;\n if (rootEl) {\n _this.context.registerInteractiveComponent(_this, {\n el: rootEl,\n isHitComboAllowed: _this.props.isHitComboAllowed,\n });\n }\n else {\n _this.context.unregisterInteractiveComponent(_this);\n }\n };\n return _this;\n }\n Table.prototype.render = function () {\n var _this = this;\n var props = this.props;\n var dateProfile = props.dateProfile, dayMaxEventRows = props.dayMaxEventRows, dayMaxEvents = props.dayMaxEvents, expandRows = props.expandRows;\n var rowCnt = props.cells.length;\n var businessHourSegsByRow = this.splitBusinessHourSegs(props.businessHourSegs, rowCnt);\n var bgEventSegsByRow = this.splitBgEventSegs(props.bgEventSegs, rowCnt);\n var fgEventSegsByRow = this.splitFgEventSegs(props.fgEventSegs, rowCnt);\n var dateSelectionSegsByRow = this.splitDateSelectionSegs(props.dateSelectionSegs, rowCnt);\n var eventDragByRow = this.splitEventDrag(props.eventDrag, rowCnt);\n var eventResizeByRow = this.splitEventResize(props.eventResize, rowCnt);\n var limitViaBalanced = dayMaxEvents === true || dayMaxEventRows === true;\n // if rows can't expand to fill fixed height, can't do balanced-height event limit\n // TODO: best place to normalize these options?\n if (limitViaBalanced && !expandRows) {\n limitViaBalanced = false;\n dayMaxEventRows = null;\n dayMaxEvents = null;\n }\n var classNames = [\n 'fc-daygrid-body',\n limitViaBalanced ? 'fc-daygrid-body-balanced' : 'fc-daygrid-body-unbalanced',\n expandRows ? '' : 'fc-daygrid-body-natural', // will height of one row depend on the others?\n ];\n return (createElement(\"div\", { className: classNames.join(' '), ref: this.handleRootEl, style: {\n // these props are important to give this wrapper correct dimensions for interactions\n // TODO: if we set it here, can we avoid giving to inner tables?\n width: props.clientWidth,\n minWidth: props.tableMinWidth,\n } },\n createElement(NowTimer, { unit: \"day\" }, function (nowDate, todayRange) { return (createElement(Fragment, null,\n createElement(\"table\", { role: \"presentation\", className: \"fc-scrollgrid-sync-table\", style: {\n width: props.clientWidth,\n minWidth: props.tableMinWidth,\n height: expandRows ? props.clientHeight : '',\n } },\n props.colGroupNode,\n createElement(\"tbody\", { role: \"presentation\" }, props.cells.map(function (cells, row) { return (createElement(TableRow, { ref: _this.rowRefs.createRef(row), key: cells.length\n ? cells[0].date.toISOString() /* best? or put key on cell? or use diff formatter? */\n : row // in case there are no cells (like when resource view is loading)\n , showDayNumbers: rowCnt > 1, showWeekNumbers: props.showWeekNumbers, todayRange: todayRange, dateProfile: dateProfile, cells: cells, renderIntro: props.renderRowIntro, businessHourSegs: businessHourSegsByRow[row], eventSelection: props.eventSelection, bgEventSegs: bgEventSegsByRow[row].filter(isSegAllDay) /* hack */, fgEventSegs: fgEventSegsByRow[row], dateSelectionSegs: dateSelectionSegsByRow[row], eventDrag: eventDragByRow[row], eventResize: eventResizeByRow[row], dayMaxEvents: dayMaxEvents, dayMaxEventRows: dayMaxEventRows, clientWidth: props.clientWidth, clientHeight: props.clientHeight, forPrint: props.forPrint })); }))))); })));\n };\n // Hit System\n // ----------------------------------------------------------------------------------------------------\n Table.prototype.prepareHits = function () {\n this.rowPositions = new PositionCache(this.rootEl, this.rowRefs.collect().map(function (rowObj) { return rowObj.getCellEls()[0]; }), // first cell el in each row. TODO: not optimal\n false, true);\n this.colPositions = new PositionCache(this.rootEl, this.rowRefs.currentMap[0].getCellEls(), // cell els in first row\n true, // horizontal\n false);\n };\n Table.prototype.queryHit = function (positionLeft, positionTop) {\n var _a = this, colPositions = _a.colPositions, rowPositions = _a.rowPositions;\n var col = colPositions.leftToIndex(positionLeft);\n var row = rowPositions.topToIndex(positionTop);\n if (row != null && col != null) {\n var cell = this.props.cells[row][col];\n return {\n dateProfile: this.props.dateProfile,\n dateSpan: __assign({ range: this.getCellRange(row, col), allDay: true }, cell.extraDateSpan),\n dayEl: this.getCellEl(row, col),\n rect: {\n left: colPositions.lefts[col],\n right: colPositions.rights[col],\n top: rowPositions.tops[row],\n bottom: rowPositions.bottoms[row],\n },\n layer: 0,\n };\n }\n return null;\n };\n Table.prototype.getCellEl = function (row, col) {\n return this.rowRefs.currentMap[row].getCellEls()[col]; // TODO: not optimal\n };\n Table.prototype.getCellRange = function (row, col) {\n var start = this.props.cells[row][col].date;\n var end = addDays(start, 1);\n return { start: start, end: end };\n };\n return Table;\n}(DateComponent));\nfunction isSegAllDay(seg) {\n return seg.eventRange.def.allDay;\n}\n\nvar DayTableSlicer = /** @class */ (function (_super) {\n __extends(DayTableSlicer, _super);\n function DayTableSlicer() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this.forceDayIfListItem = true;\n return _this;\n }\n DayTableSlicer.prototype.sliceRange = function (dateRange, dayTableModel) {\n return dayTableModel.sliceRange(dateRange);\n };\n return DayTableSlicer;\n}(Slicer));\n\nvar DayTable = /** @class */ (function (_super) {\n __extends(DayTable, _super);\n function DayTable() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this.slicer = new DayTableSlicer();\n _this.tableRef = createRef();\n return _this;\n }\n DayTable.prototype.render = function () {\n var _a = this, props = _a.props, context = _a.context;\n return (createElement(Table, __assign({ ref: this.tableRef }, this.slicer.sliceProps(props, props.dateProfile, props.nextDayThreshold, context, props.dayTableModel), { dateProfile: props.dateProfile, cells: props.dayTableModel.cells, colGroupNode: props.colGroupNode, tableMinWidth: props.tableMinWidth, renderRowIntro: props.renderRowIntro, dayMaxEvents: props.dayMaxEvents, dayMaxEventRows: props.dayMaxEventRows, showWeekNumbers: props.showWeekNumbers, expandRows: props.expandRows, headerAlignElRef: props.headerAlignElRef, clientWidth: props.clientWidth, clientHeight: props.clientHeight, forPrint: props.forPrint })));\n };\n return DayTable;\n}(DateComponent));\n\nvar DayTableView = /** @class */ (function (_super) {\n __extends(DayTableView, _super);\n function DayTableView() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this.buildDayTableModel = memoize(buildDayTableModel);\n _this.headerRef = createRef();\n _this.tableRef = createRef();\n return _this;\n }\n DayTableView.prototype.render = function () {\n var _this = this;\n var _a = this.context, options = _a.options, dateProfileGenerator = _a.dateProfileGenerator;\n var props = this.props;\n var dayTableModel = this.buildDayTableModel(props.dateProfile, dateProfileGenerator);\n var headerContent = options.dayHeaders && (createElement(DayHeader, { ref: this.headerRef, dateProfile: props.dateProfile, dates: dayTableModel.headerDates, datesRepDistinctDays: dayTableModel.rowCnt === 1 }));\n var bodyContent = function (contentArg) { return (createElement(DayTable, { ref: _this.tableRef, dateProfile: props.dateProfile, dayTableModel: dayTableModel, businessHours: props.businessHours, dateSelection: props.dateSelection, eventStore: props.eventStore, eventUiBases: props.eventUiBases, eventSelection: props.eventSelection, eventDrag: props.eventDrag, eventResize: props.eventResize, nextDayThreshold: options.nextDayThreshold, colGroupNode: contentArg.tableColGroupNode, tableMinWidth: contentArg.tableMinWidth, dayMaxEvents: options.dayMaxEvents, dayMaxEventRows: options.dayMaxEventRows, showWeekNumbers: options.weekNumbers, expandRows: !props.isHeightAuto, headerAlignElRef: _this.headerElRef, clientWidth: contentArg.clientWidth, clientHeight: contentArg.clientHeight, forPrint: props.forPrint })); };\n return options.dayMinWidth\n ? this.renderHScrollLayout(headerContent, bodyContent, dayTableModel.colCnt, options.dayMinWidth)\n : this.renderSimpleLayout(headerContent, bodyContent);\n };\n return DayTableView;\n}(TableView));\nfunction buildDayTableModel(dateProfile, dateProfileGenerator) {\n var daySeries = new DaySeriesModel(dateProfile.renderRange, dateProfileGenerator);\n return new DayTableModel(daySeries, /year|month|week/.test(dateProfile.currentRangeUnit));\n}\n\nvar TableDateProfileGenerator = /** @class */ (function (_super) {\n __extends(TableDateProfileGenerator, _super);\n function TableDateProfileGenerator() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n // Computes the date range that will be rendered.\n TableDateProfileGenerator.prototype.buildRenderRange = function (currentRange, currentRangeUnit, isRangeAllDay) {\n var dateEnv = this.props.dateEnv;\n var renderRange = _super.prototype.buildRenderRange.call(this, currentRange, currentRangeUnit, isRangeAllDay);\n var start = renderRange.start;\n var end = renderRange.end;\n var endOfWeek;\n // year and month views should be aligned with weeks. this is already done for week\n if (/^(year|month)$/.test(currentRangeUnit)) {\n start = dateEnv.startOfWeek(start);\n // make end-of-week if not already\n endOfWeek = dateEnv.startOfWeek(end);\n if (endOfWeek.valueOf() !== end.valueOf()) {\n end = addWeeks(endOfWeek, 1);\n }\n }\n // ensure 6 weeks\n if (this.props.monthMode &&\n this.props.fixedWeekCount) {\n var rowCnt = Math.ceil(// could be partial weeks due to hiddenDays\n diffWeeks(start, end));\n end = addWeeks(end, 6 - rowCnt);\n }\n return { start: start, end: end };\n };\n return TableDateProfileGenerator;\n}(DateProfileGenerator));\n\nvar main = createPlugin({\n initialView: 'dayGridMonth',\n views: {\n dayGrid: {\n component: DayTableView,\n dateProfileGeneratorClass: TableDateProfileGenerator,\n },\n dayGridDay: {\n type: 'dayGrid',\n duration: { days: 1 },\n },\n dayGridWeek: {\n type: 'dayGrid',\n duration: { weeks: 1 },\n },\n dayGridMonth: {\n type: 'dayGrid',\n duration: { months: 1 },\n monthMode: true,\n fixedWeekCount: true,\n },\n },\n});\n\nexport default main;\nexport { DayTableView as DayGridView, DayTable, DayTableSlicer, Table, TableView, buildDayTableModel };\n//# sourceMappingURL=main.js.map\n","/*!\nFullCalendar v5.11.5\nDocs & License: https://fullcalendar.io/\n(c) 2022 Adam Shaw\n*/\nimport { config, elementClosest, Emitter, applyStyle, whenTransitionDone, removeElement, ScrollController, ElementScrollController, computeInnerRect, WindowScrollController, getElRoot, preventSelection, preventContextMenu, allowSelection, allowContextMenu, ElementDragging, computeRect, getClippingParents, pointInsideRect, isDateSpansEqual, constrainPoint, intersectRects, getRectCenter, diffPoints, mapHash, rangeContainsRange, interactionSettingsToStore, Interaction, isDateSelectionValid, enableCursor, disableCursor, triggerDateSelect, compareNumbers, getElSeg, getRelevantEvents, EventApi, createEmptyEventStore, applyMutationToEventStore, isInteractionValid, buildEventApis, interactionSettingsStore, startOfDay, diffDates, createDuration, getEventTargetViaRoot, identity, eventTupleToStore, parseDragMeta, elementMatches, refineEventDef, parseEventDef, getDefaultEventEnd, createEventInstance, BASE_OPTION_DEFAULTS, createPlugin } from '@fullcalendar/common';\nimport { __extends, __assign } from 'tslib';\n\nconfig.touchMouseIgnoreWait = 500;\nvar ignoreMouseDepth = 0;\nvar listenerCnt = 0;\nvar isWindowTouchMoveCancelled = false;\n/*\nUses a \"pointer\" abstraction, which monitors UI events for both mouse and touch.\nTracks when the pointer \"drags\" on a certain element, meaning down+move+up.\n\nAlso, tracks if there was touch-scrolling.\nAlso, can prevent touch-scrolling from happening.\nAlso, can fire pointermove events when scrolling happens underneath, even when no real pointer movement.\n\nemits:\n- pointerdown\n- pointermove\n- pointerup\n*/\nvar PointerDragging = /** @class */ (function () {\n function PointerDragging(containerEl) {\n var _this = this;\n this.subjectEl = null;\n // options that can be directly assigned by caller\n this.selector = ''; // will cause subjectEl in all emitted events to be this element\n this.handleSelector = '';\n this.shouldIgnoreMove = false;\n this.shouldWatchScroll = true; // for simulating pointermove on scroll\n // internal states\n this.isDragging = false;\n this.isTouchDragging = false;\n this.wasTouchScroll = false;\n // Mouse\n // ----------------------------------------------------------------------------------------------------\n this.handleMouseDown = function (ev) {\n if (!_this.shouldIgnoreMouse() &&\n isPrimaryMouseButton(ev) &&\n _this.tryStart(ev)) {\n var pev = _this.createEventFromMouse(ev, true);\n _this.emitter.trigger('pointerdown', pev);\n _this.initScrollWatch(pev);\n if (!_this.shouldIgnoreMove) {\n document.addEventListener('mousemove', _this.handleMouseMove);\n }\n document.addEventListener('mouseup', _this.handleMouseUp);\n }\n };\n this.handleMouseMove = function (ev) {\n var pev = _this.createEventFromMouse(ev);\n _this.recordCoords(pev);\n _this.emitter.trigger('pointermove', pev);\n };\n this.handleMouseUp = function (ev) {\n document.removeEventListener('mousemove', _this.handleMouseMove);\n document.removeEventListener('mouseup', _this.handleMouseUp);\n _this.emitter.trigger('pointerup', _this.createEventFromMouse(ev));\n _this.cleanup(); // call last so that pointerup has access to props\n };\n // Touch\n // ----------------------------------------------------------------------------------------------------\n this.handleTouchStart = function (ev) {\n if (_this.tryStart(ev)) {\n _this.isTouchDragging = true;\n var pev = _this.createEventFromTouch(ev, true);\n _this.emitter.trigger('pointerdown', pev);\n _this.initScrollWatch(pev);\n // unlike mouse, need to attach to target, not document\n // https://stackoverflow.com/a/45760014\n var targetEl = ev.target;\n if (!_this.shouldIgnoreMove) {\n targetEl.addEventListener('touchmove', _this.handleTouchMove);\n }\n targetEl.addEventListener('touchend', _this.handleTouchEnd);\n targetEl.addEventListener('touchcancel', _this.handleTouchEnd); // treat it as a touch end\n // attach a handler to get called when ANY scroll action happens on the page.\n // this was impossible to do with normal on/off because 'scroll' doesn't bubble.\n // http://stackoverflow.com/a/32954565/96342\n window.addEventListener('scroll', _this.handleTouchScroll, true);\n }\n };\n this.handleTouchMove = function (ev) {\n var pev = _this.createEventFromTouch(ev);\n _this.recordCoords(pev);\n _this.emitter.trigger('pointermove', pev);\n };\n this.handleTouchEnd = function (ev) {\n if (_this.isDragging) { // done to guard against touchend followed by touchcancel\n var targetEl = ev.target;\n targetEl.removeEventListener('touchmove', _this.handleTouchMove);\n targetEl.removeEventListener('touchend', _this.handleTouchEnd);\n targetEl.removeEventListener('touchcancel', _this.handleTouchEnd);\n window.removeEventListener('scroll', _this.handleTouchScroll, true); // useCaptured=true\n _this.emitter.trigger('pointerup', _this.createEventFromTouch(ev));\n _this.cleanup(); // call last so that pointerup has access to props\n _this.isTouchDragging = false;\n startIgnoringMouse();\n }\n };\n this.handleTouchScroll = function () {\n _this.wasTouchScroll = true;\n };\n this.handleScroll = function (ev) {\n if (!_this.shouldIgnoreMove) {\n var pageX = (window.pageXOffset - _this.prevScrollX) + _this.prevPageX;\n var pageY = (window.pageYOffset - _this.prevScrollY) + _this.prevPageY;\n _this.emitter.trigger('pointermove', {\n origEvent: ev,\n isTouch: _this.isTouchDragging,\n subjectEl: _this.subjectEl,\n pageX: pageX,\n pageY: pageY,\n deltaX: pageX - _this.origPageX,\n deltaY: pageY - _this.origPageY,\n });\n }\n };\n this.containerEl = containerEl;\n this.emitter = new Emitter();\n containerEl.addEventListener('mousedown', this.handleMouseDown);\n containerEl.addEventListener('touchstart', this.handleTouchStart, { passive: true });\n listenerCreated();\n }\n PointerDragging.prototype.destroy = function () {\n this.containerEl.removeEventListener('mousedown', this.handleMouseDown);\n this.containerEl.removeEventListener('touchstart', this.handleTouchStart, { passive: true });\n listenerDestroyed();\n };\n PointerDragging.prototype.tryStart = function (ev) {\n var subjectEl = this.querySubjectEl(ev);\n var downEl = ev.target;\n if (subjectEl &&\n (!this.handleSelector || elementClosest(downEl, this.handleSelector))) {\n this.subjectEl = subjectEl;\n this.isDragging = true; // do this first so cancelTouchScroll will work\n this.wasTouchScroll = false;\n return true;\n }\n return false;\n };\n PointerDragging.prototype.cleanup = function () {\n isWindowTouchMoveCancelled = false;\n this.isDragging = false;\n this.subjectEl = null;\n // keep wasTouchScroll around for later access\n this.destroyScrollWatch();\n };\n PointerDragging.prototype.querySubjectEl = function (ev) {\n if (this.selector) {\n return elementClosest(ev.target, this.selector);\n }\n return this.containerEl;\n };\n PointerDragging.prototype.shouldIgnoreMouse = function () {\n return ignoreMouseDepth || this.isTouchDragging;\n };\n // can be called by user of this class, to cancel touch-based scrolling for the current drag\n PointerDragging.prototype.cancelTouchScroll = function () {\n if (this.isDragging) {\n isWindowTouchMoveCancelled = true;\n }\n };\n // Scrolling that simulates pointermoves\n // ----------------------------------------------------------------------------------------------------\n PointerDragging.prototype.initScrollWatch = function (ev) {\n if (this.shouldWatchScroll) {\n this.recordCoords(ev);\n window.addEventListener('scroll', this.handleScroll, true); // useCapture=true\n }\n };\n PointerDragging.prototype.recordCoords = function (ev) {\n if (this.shouldWatchScroll) {\n this.prevPageX = ev.pageX;\n this.prevPageY = ev.pageY;\n this.prevScrollX = window.pageXOffset;\n this.prevScrollY = window.pageYOffset;\n }\n };\n PointerDragging.prototype.destroyScrollWatch = function () {\n if (this.shouldWatchScroll) {\n window.removeEventListener('scroll', this.handleScroll, true); // useCaptured=true\n }\n };\n // Event Normalization\n // ----------------------------------------------------------------------------------------------------\n PointerDragging.prototype.createEventFromMouse = function (ev, isFirst) {\n var deltaX = 0;\n var deltaY = 0;\n // TODO: repeat code\n if (isFirst) {\n this.origPageX = ev.pageX;\n this.origPageY = ev.pageY;\n }\n else {\n deltaX = ev.pageX - this.origPageX;\n deltaY = ev.pageY - this.origPageY;\n }\n return {\n origEvent: ev,\n isTouch: false,\n subjectEl: this.subjectEl,\n pageX: ev.pageX,\n pageY: ev.pageY,\n deltaX: deltaX,\n deltaY: deltaY,\n };\n };\n PointerDragging.prototype.createEventFromTouch = function (ev, isFirst) {\n var touches = ev.touches;\n var pageX;\n var pageY;\n var deltaX = 0;\n var deltaY = 0;\n // if touch coords available, prefer,\n // because FF would give bad ev.pageX ev.pageY\n if (touches && touches.length) {\n pageX = touches[0].pageX;\n pageY = touches[0].pageY;\n }\n else {\n pageX = ev.pageX;\n pageY = ev.pageY;\n }\n // TODO: repeat code\n if (isFirst) {\n this.origPageX = pageX;\n this.origPageY = pageY;\n }\n else {\n deltaX = pageX - this.origPageX;\n deltaY = pageY - this.origPageY;\n }\n return {\n origEvent: ev,\n isTouch: true,\n subjectEl: this.subjectEl,\n pageX: pageX,\n pageY: pageY,\n deltaX: deltaX,\n deltaY: deltaY,\n };\n };\n return PointerDragging;\n}());\n// Returns a boolean whether this was a left mouse click and no ctrl key (which means right click on Mac)\nfunction isPrimaryMouseButton(ev) {\n return ev.button === 0 && !ev.ctrlKey;\n}\n// Ignoring fake mouse events generated by touch\n// ----------------------------------------------------------------------------------------------------\nfunction startIgnoringMouse() {\n ignoreMouseDepth += 1;\n setTimeout(function () {\n ignoreMouseDepth -= 1;\n }, config.touchMouseIgnoreWait);\n}\n// We want to attach touchmove as early as possible for Safari\n// ----------------------------------------------------------------------------------------------------\nfunction listenerCreated() {\n listenerCnt += 1;\n if (listenerCnt === 1) {\n window.addEventListener('touchmove', onWindowTouchMove, { passive: false });\n }\n}\nfunction listenerDestroyed() {\n listenerCnt -= 1;\n if (!listenerCnt) {\n window.removeEventListener('touchmove', onWindowTouchMove, { passive: false });\n }\n}\nfunction onWindowTouchMove(ev) {\n if (isWindowTouchMoveCancelled) {\n ev.preventDefault();\n }\n}\n\n/*\nAn effect in which an element follows the movement of a pointer across the screen.\nThe moving element is a clone of some other element.\nMust call start + handleMove + stop.\n*/\nvar ElementMirror = /** @class */ (function () {\n function ElementMirror() {\n this.isVisible = false; // must be explicitly enabled\n this.sourceEl = null;\n this.mirrorEl = null;\n this.sourceElRect = null; // screen coords relative to viewport\n // options that can be set directly by caller\n this.parentNode = document.body; // HIGHLY SUGGESTED to set this to sidestep ShadowDOM issues\n this.zIndex = 9999;\n this.revertDuration = 0;\n }\n ElementMirror.prototype.start = function (sourceEl, pageX, pageY) {\n this.sourceEl = sourceEl;\n this.sourceElRect = this.sourceEl.getBoundingClientRect();\n this.origScreenX = pageX - window.pageXOffset;\n this.origScreenY = pageY - window.pageYOffset;\n this.deltaX = 0;\n this.deltaY = 0;\n this.updateElPosition();\n };\n ElementMirror.prototype.handleMove = function (pageX, pageY) {\n this.deltaX = (pageX - window.pageXOffset) - this.origScreenX;\n this.deltaY = (pageY - window.pageYOffset) - this.origScreenY;\n this.updateElPosition();\n };\n // can be called before start\n ElementMirror.prototype.setIsVisible = function (bool) {\n if (bool) {\n if (!this.isVisible) {\n if (this.mirrorEl) {\n this.mirrorEl.style.display = '';\n }\n this.isVisible = bool; // needs to happen before updateElPosition\n this.updateElPosition(); // because was not updating the position while invisible\n }\n }\n else if (this.isVisible) {\n if (this.mirrorEl) {\n this.mirrorEl.style.display = 'none';\n }\n this.isVisible = bool;\n }\n };\n // always async\n ElementMirror.prototype.stop = function (needsRevertAnimation, callback) {\n var _this = this;\n var done = function () {\n _this.cleanup();\n callback();\n };\n if (needsRevertAnimation &&\n this.mirrorEl &&\n this.isVisible &&\n this.revertDuration && // if 0, transition won't work\n (this.deltaX || this.deltaY) // if same coords, transition won't work\n ) {\n this.doRevertAnimation(done, this.revertDuration);\n }\n else {\n setTimeout(done, 0);\n }\n };\n ElementMirror.prototype.doRevertAnimation = function (callback, revertDuration) {\n var mirrorEl = this.mirrorEl;\n var finalSourceElRect = this.sourceEl.getBoundingClientRect(); // because autoscrolling might have happened\n mirrorEl.style.transition =\n 'top ' + revertDuration + 'ms,' +\n 'left ' + revertDuration + 'ms';\n applyStyle(mirrorEl, {\n left: finalSourceElRect.left,\n top: finalSourceElRect.top,\n });\n whenTransitionDone(mirrorEl, function () {\n mirrorEl.style.transition = '';\n callback();\n });\n };\n ElementMirror.prototype.cleanup = function () {\n if (this.mirrorEl) {\n removeElement(this.mirrorEl);\n this.mirrorEl = null;\n }\n this.sourceEl = null;\n };\n ElementMirror.prototype.updateElPosition = function () {\n if (this.sourceEl && this.isVisible) {\n applyStyle(this.getMirrorEl(), {\n left: this.sourceElRect.left + this.deltaX,\n top: this.sourceElRect.top + this.deltaY,\n });\n }\n };\n ElementMirror.prototype.getMirrorEl = function () {\n var sourceElRect = this.sourceElRect;\n var mirrorEl = this.mirrorEl;\n if (!mirrorEl) {\n mirrorEl = this.mirrorEl = this.sourceEl.cloneNode(true); // cloneChildren=true\n // we don't want long taps or any mouse interaction causing selection/menus.\n // would use preventSelection(), but that prevents selectstart, causing problems.\n mirrorEl.classList.add('fc-unselectable');\n mirrorEl.classList.add('fc-event-dragging');\n applyStyle(mirrorEl, {\n position: 'fixed',\n zIndex: this.zIndex,\n visibility: '',\n boxSizing: 'border-box',\n width: sourceElRect.right - sourceElRect.left,\n height: sourceElRect.bottom - sourceElRect.top,\n right: 'auto',\n bottom: 'auto',\n margin: 0,\n });\n this.parentNode.appendChild(mirrorEl);\n }\n return mirrorEl;\n };\n return ElementMirror;\n}());\n\n/*\nIs a cache for a given element's scroll information (all the info that ScrollController stores)\nin addition the \"client rectangle\" of the element.. the area within the scrollbars.\n\nThe cache can be in one of two modes:\n- doesListening:false - ignores when the container is scrolled by someone else\n- doesListening:true - watch for scrolling and update the cache\n*/\nvar ScrollGeomCache = /** @class */ (function (_super) {\n __extends(ScrollGeomCache, _super);\n function ScrollGeomCache(scrollController, doesListening) {\n var _this = _super.call(this) || this;\n _this.handleScroll = function () {\n _this.scrollTop = _this.scrollController.getScrollTop();\n _this.scrollLeft = _this.scrollController.getScrollLeft();\n _this.handleScrollChange();\n };\n _this.scrollController = scrollController;\n _this.doesListening = doesListening;\n _this.scrollTop = _this.origScrollTop = scrollController.getScrollTop();\n _this.scrollLeft = _this.origScrollLeft = scrollController.getScrollLeft();\n _this.scrollWidth = scrollController.getScrollWidth();\n _this.scrollHeight = scrollController.getScrollHeight();\n _this.clientWidth = scrollController.getClientWidth();\n _this.clientHeight = scrollController.getClientHeight();\n _this.clientRect = _this.computeClientRect(); // do last in case it needs cached values\n if (_this.doesListening) {\n _this.getEventTarget().addEventListener('scroll', _this.handleScroll);\n }\n return _this;\n }\n ScrollGeomCache.prototype.destroy = function () {\n if (this.doesListening) {\n this.getEventTarget().removeEventListener('scroll', this.handleScroll);\n }\n };\n ScrollGeomCache.prototype.getScrollTop = function () {\n return this.scrollTop;\n };\n ScrollGeomCache.prototype.getScrollLeft = function () {\n return this.scrollLeft;\n };\n ScrollGeomCache.prototype.setScrollTop = function (top) {\n this.scrollController.setScrollTop(top);\n if (!this.doesListening) {\n // we are not relying on the element to normalize out-of-bounds scroll values\n // so we need to sanitize ourselves\n this.scrollTop = Math.max(Math.min(top, this.getMaxScrollTop()), 0);\n this.handleScrollChange();\n }\n };\n ScrollGeomCache.prototype.setScrollLeft = function (top) {\n this.scrollController.setScrollLeft(top);\n if (!this.doesListening) {\n // we are not relying on the element to normalize out-of-bounds scroll values\n // so we need to sanitize ourselves\n this.scrollLeft = Math.max(Math.min(top, this.getMaxScrollLeft()), 0);\n this.handleScrollChange();\n }\n };\n ScrollGeomCache.prototype.getClientWidth = function () {\n return this.clientWidth;\n };\n ScrollGeomCache.prototype.getClientHeight = function () {\n return this.clientHeight;\n };\n ScrollGeomCache.prototype.getScrollWidth = function () {\n return this.scrollWidth;\n };\n ScrollGeomCache.prototype.getScrollHeight = function () {\n return this.scrollHeight;\n };\n ScrollGeomCache.prototype.handleScrollChange = function () {\n };\n return ScrollGeomCache;\n}(ScrollController));\n\nvar ElementScrollGeomCache = /** @class */ (function (_super) {\n __extends(ElementScrollGeomCache, _super);\n function ElementScrollGeomCache(el, doesListening) {\n return _super.call(this, new ElementScrollController(el), doesListening) || this;\n }\n ElementScrollGeomCache.prototype.getEventTarget = function () {\n return this.scrollController.el;\n };\n ElementScrollGeomCache.prototype.computeClientRect = function () {\n return computeInnerRect(this.scrollController.el);\n };\n return ElementScrollGeomCache;\n}(ScrollGeomCache));\n\nvar WindowScrollGeomCache = /** @class */ (function (_super) {\n __extends(WindowScrollGeomCache, _super);\n function WindowScrollGeomCache(doesListening) {\n return _super.call(this, new WindowScrollController(), doesListening) || this;\n }\n WindowScrollGeomCache.prototype.getEventTarget = function () {\n return window;\n };\n WindowScrollGeomCache.prototype.computeClientRect = function () {\n return {\n left: this.scrollLeft,\n right: this.scrollLeft + this.clientWidth,\n top: this.scrollTop,\n bottom: this.scrollTop + this.clientHeight,\n };\n };\n // the window is the only scroll object that changes it's rectangle relative\n // to the document's topleft as it scrolls\n WindowScrollGeomCache.prototype.handleScrollChange = function () {\n this.clientRect = this.computeClientRect();\n };\n return WindowScrollGeomCache;\n}(ScrollGeomCache));\n\n// If available we are using native \"performance\" API instead of \"Date\"\n// Read more about it on MDN:\n// https://developer.mozilla.org/en-US/docs/Web/API/Performance\nvar getTime = typeof performance === 'function' ? performance.now : Date.now;\n/*\nFor a pointer interaction, automatically scrolls certain scroll containers when the pointer\napproaches the edge.\n\nThe caller must call start + handleMove + stop.\n*/\nvar AutoScroller = /** @class */ (function () {\n function AutoScroller() {\n var _this = this;\n // options that can be set by caller\n this.isEnabled = true;\n this.scrollQuery = [window, '.fc-scroller'];\n this.edgeThreshold = 50; // pixels\n this.maxVelocity = 300; // pixels per second\n // internal state\n this.pointerScreenX = null;\n this.pointerScreenY = null;\n this.isAnimating = false;\n this.scrollCaches = null;\n // protect against the initial pointerdown being too close to an edge and starting the scroll\n this.everMovedUp = false;\n this.everMovedDown = false;\n this.everMovedLeft = false;\n this.everMovedRight = false;\n this.animate = function () {\n if (_this.isAnimating) { // wasn't cancelled between animation calls\n var edge = _this.computeBestEdge(_this.pointerScreenX + window.pageXOffset, _this.pointerScreenY + window.pageYOffset);\n if (edge) {\n var now = getTime();\n _this.handleSide(edge, (now - _this.msSinceRequest) / 1000);\n _this.requestAnimation(now);\n }\n else {\n _this.isAnimating = false; // will stop animation\n }\n }\n };\n }\n AutoScroller.prototype.start = function (pageX, pageY, scrollStartEl) {\n if (this.isEnabled) {\n this.scrollCaches = this.buildCaches(scrollStartEl);\n this.pointerScreenX = null;\n this.pointerScreenY = null;\n this.everMovedUp = false;\n this.everMovedDown = false;\n this.everMovedLeft = false;\n this.everMovedRight = false;\n this.handleMove(pageX, pageY);\n }\n };\n AutoScroller.prototype.handleMove = function (pageX, pageY) {\n if (this.isEnabled) {\n var pointerScreenX = pageX - window.pageXOffset;\n var pointerScreenY = pageY - window.pageYOffset;\n var yDelta = this.pointerScreenY === null ? 0 : pointerScreenY - this.pointerScreenY;\n var xDelta = this.pointerScreenX === null ? 0 : pointerScreenX - this.pointerScreenX;\n if (yDelta < 0) {\n this.everMovedUp = true;\n }\n else if (yDelta > 0) {\n this.everMovedDown = true;\n }\n if (xDelta < 0) {\n this.everMovedLeft = true;\n }\n else if (xDelta > 0) {\n this.everMovedRight = true;\n }\n this.pointerScreenX = pointerScreenX;\n this.pointerScreenY = pointerScreenY;\n if (!this.isAnimating) {\n this.isAnimating = true;\n this.requestAnimation(getTime());\n }\n }\n };\n AutoScroller.prototype.stop = function () {\n if (this.isEnabled) {\n this.isAnimating = false; // will stop animation\n for (var _i = 0, _a = this.scrollCaches; _i < _a.length; _i++) {\n var scrollCache = _a[_i];\n scrollCache.destroy();\n }\n this.scrollCaches = null;\n }\n };\n AutoScroller.prototype.requestAnimation = function (now) {\n this.msSinceRequest = now;\n requestAnimationFrame(this.animate);\n };\n AutoScroller.prototype.handleSide = function (edge, seconds) {\n var scrollCache = edge.scrollCache;\n var edgeThreshold = this.edgeThreshold;\n var invDistance = edgeThreshold - edge.distance;\n var velocity = // the closer to the edge, the faster we scroll\n ((invDistance * invDistance) / (edgeThreshold * edgeThreshold)) * // quadratic\n this.maxVelocity * seconds;\n var sign = 1;\n switch (edge.name) {\n case 'left':\n sign = -1;\n // falls through\n case 'right':\n scrollCache.setScrollLeft(scrollCache.getScrollLeft() + velocity * sign);\n break;\n case 'top':\n sign = -1;\n // falls through\n case 'bottom':\n scrollCache.setScrollTop(scrollCache.getScrollTop() + velocity * sign);\n break;\n }\n };\n // left/top are relative to document topleft\n AutoScroller.prototype.computeBestEdge = function (left, top) {\n var edgeThreshold = this.edgeThreshold;\n var bestSide = null;\n var scrollCaches = this.scrollCaches || [];\n for (var _i = 0, scrollCaches_1 = scrollCaches; _i < scrollCaches_1.length; _i++) {\n var scrollCache = scrollCaches_1[_i];\n var rect = scrollCache.clientRect;\n var leftDist = left - rect.left;\n var rightDist = rect.right - left;\n var topDist = top - rect.top;\n var bottomDist = rect.bottom - top;\n // completely within the rect?\n if (leftDist >= 0 && rightDist >= 0 && topDist >= 0 && bottomDist >= 0) {\n if (topDist <= edgeThreshold && this.everMovedUp && scrollCache.canScrollUp() &&\n (!bestSide || bestSide.distance > topDist)) {\n bestSide = { scrollCache: scrollCache, name: 'top', distance: topDist };\n }\n if (bottomDist <= edgeThreshold && this.everMovedDown && scrollCache.canScrollDown() &&\n (!bestSide || bestSide.distance > bottomDist)) {\n bestSide = { scrollCache: scrollCache, name: 'bottom', distance: bottomDist };\n }\n if (leftDist <= edgeThreshold && this.everMovedLeft && scrollCache.canScrollLeft() &&\n (!bestSide || bestSide.distance > leftDist)) {\n bestSide = { scrollCache: scrollCache, name: 'left', distance: leftDist };\n }\n if (rightDist <= edgeThreshold && this.everMovedRight && scrollCache.canScrollRight() &&\n (!bestSide || bestSide.distance > rightDist)) {\n bestSide = { scrollCache: scrollCache, name: 'right', distance: rightDist };\n }\n }\n }\n return bestSide;\n };\n AutoScroller.prototype.buildCaches = function (scrollStartEl) {\n return this.queryScrollEls(scrollStartEl).map(function (el) {\n if (el === window) {\n return new WindowScrollGeomCache(false); // false = don't listen to user-generated scrolls\n }\n return new ElementScrollGeomCache(el, false); // false = don't listen to user-generated scrolls\n });\n };\n AutoScroller.prototype.queryScrollEls = function (scrollStartEl) {\n var els = [];\n for (var _i = 0, _a = this.scrollQuery; _i < _a.length; _i++) {\n var query = _a[_i];\n if (typeof query === 'object') {\n els.push(query);\n }\n else {\n els.push.apply(els, Array.prototype.slice.call(getElRoot(scrollStartEl).querySelectorAll(query)));\n }\n }\n return els;\n };\n return AutoScroller;\n}());\n\n/*\nMonitors dragging on an element. Has a number of high-level features:\n- minimum distance required before dragging\n- minimum wait time (\"delay\") before dragging\n- a mirror element that follows the pointer\n*/\nvar FeaturefulElementDragging = /** @class */ (function (_super) {\n __extends(FeaturefulElementDragging, _super);\n function FeaturefulElementDragging(containerEl, selector) {\n var _this = _super.call(this, containerEl) || this;\n _this.containerEl = containerEl;\n // options that can be directly set by caller\n // the caller can also set the PointerDragging's options as well\n _this.delay = null;\n _this.minDistance = 0;\n _this.touchScrollAllowed = true; // prevents drag from starting and blocks scrolling during drag\n _this.mirrorNeedsRevert = false;\n _this.isInteracting = false; // is the user validly moving the pointer? lasts until pointerup\n _this.isDragging = false; // is it INTENTFULLY dragging? lasts until after revert animation\n _this.isDelayEnded = false;\n _this.isDistanceSurpassed = false;\n _this.delayTimeoutId = null;\n _this.onPointerDown = function (ev) {\n if (!_this.isDragging) { // so new drag doesn't happen while revert animation is going\n _this.isInteracting = true;\n _this.isDelayEnded = false;\n _this.isDistanceSurpassed = false;\n preventSelection(document.body);\n preventContextMenu(document.body);\n // prevent links from being visited if there's an eventual drag.\n // also prevents selection in older browsers (maybe?).\n // not necessary for touch, besides, browser would complain about passiveness.\n if (!ev.isTouch) {\n ev.origEvent.preventDefault();\n }\n _this.emitter.trigger('pointerdown', ev);\n if (_this.isInteracting && // not destroyed via pointerdown handler\n !_this.pointer.shouldIgnoreMove) {\n // actions related to initiating dragstart+dragmove+dragend...\n _this.mirror.setIsVisible(false); // reset. caller must set-visible\n _this.mirror.start(ev.subjectEl, ev.pageX, ev.pageY); // must happen on first pointer down\n _this.startDelay(ev);\n if (!_this.minDistance) {\n _this.handleDistanceSurpassed(ev);\n }\n }\n }\n };\n _this.onPointerMove = function (ev) {\n if (_this.isInteracting) {\n _this.emitter.trigger('pointermove', ev);\n if (!_this.isDistanceSurpassed) {\n var minDistance = _this.minDistance;\n var distanceSq = void 0; // current distance from the origin, squared\n var deltaX = ev.deltaX, deltaY = ev.deltaY;\n distanceSq = deltaX * deltaX + deltaY * deltaY;\n if (distanceSq >= minDistance * minDistance) { // use pythagorean theorem\n _this.handleDistanceSurpassed(ev);\n }\n }\n if (_this.isDragging) {\n // a real pointer move? (not one simulated by scrolling)\n if (ev.origEvent.type !== 'scroll') {\n _this.mirror.handleMove(ev.pageX, ev.pageY);\n _this.autoScroller.handleMove(ev.pageX, ev.pageY);\n }\n _this.emitter.trigger('dragmove', ev);\n }\n }\n };\n _this.onPointerUp = function (ev) {\n if (_this.isInteracting) {\n _this.isInteracting = false;\n allowSelection(document.body);\n allowContextMenu(document.body);\n _this.emitter.trigger('pointerup', ev); // can potentially set mirrorNeedsRevert\n if (_this.isDragging) {\n _this.autoScroller.stop();\n _this.tryStopDrag(ev); // which will stop the mirror\n }\n if (_this.delayTimeoutId) {\n clearTimeout(_this.delayTimeoutId);\n _this.delayTimeoutId = null;\n }\n }\n };\n var pointer = _this.pointer = new PointerDragging(containerEl);\n pointer.emitter.on('pointerdown', _this.onPointerDown);\n pointer.emitter.on('pointermove', _this.onPointerMove);\n pointer.emitter.on('pointerup', _this.onPointerUp);\n if (selector) {\n pointer.selector = selector;\n }\n _this.mirror = new ElementMirror();\n _this.autoScroller = new AutoScroller();\n return _this;\n }\n FeaturefulElementDragging.prototype.destroy = function () {\n this.pointer.destroy();\n // HACK: simulate a pointer-up to end the current drag\n // TODO: fire 'dragend' directly and stop interaction. discourage use of pointerup event (b/c might not fire)\n this.onPointerUp({});\n };\n FeaturefulElementDragging.prototype.startDelay = function (ev) {\n var _this = this;\n if (typeof this.delay === 'number') {\n this.delayTimeoutId = setTimeout(function () {\n _this.delayTimeoutId = null;\n _this.handleDelayEnd(ev);\n }, this.delay); // not assignable to number!\n }\n else {\n this.handleDelayEnd(ev);\n }\n };\n FeaturefulElementDragging.prototype.handleDelayEnd = function (ev) {\n this.isDelayEnded = true;\n this.tryStartDrag(ev);\n };\n FeaturefulElementDragging.prototype.handleDistanceSurpassed = function (ev) {\n this.isDistanceSurpassed = true;\n this.tryStartDrag(ev);\n };\n FeaturefulElementDragging.prototype.tryStartDrag = function (ev) {\n if (this.isDelayEnded && this.isDistanceSurpassed) {\n if (!this.pointer.wasTouchScroll || this.touchScrollAllowed) {\n this.isDragging = true;\n this.mirrorNeedsRevert = false;\n this.autoScroller.start(ev.pageX, ev.pageY, this.containerEl);\n this.emitter.trigger('dragstart', ev);\n if (this.touchScrollAllowed === false) {\n this.pointer.cancelTouchScroll();\n }\n }\n }\n };\n FeaturefulElementDragging.prototype.tryStopDrag = function (ev) {\n // .stop() is ALWAYS asynchronous, which we NEED because we want all pointerup events\n // that come from the document to fire beforehand. much more convenient this way.\n this.mirror.stop(this.mirrorNeedsRevert, this.stopDrag.bind(this, ev));\n };\n FeaturefulElementDragging.prototype.stopDrag = function (ev) {\n this.isDragging = false;\n this.emitter.trigger('dragend', ev);\n };\n // fill in the implementations...\n FeaturefulElementDragging.prototype.setIgnoreMove = function (bool) {\n this.pointer.shouldIgnoreMove = bool;\n };\n FeaturefulElementDragging.prototype.setMirrorIsVisible = function (bool) {\n this.mirror.setIsVisible(bool);\n };\n FeaturefulElementDragging.prototype.setMirrorNeedsRevert = function (bool) {\n this.mirrorNeedsRevert = bool;\n };\n FeaturefulElementDragging.prototype.setAutoScrollEnabled = function (bool) {\n this.autoScroller.isEnabled = bool;\n };\n return FeaturefulElementDragging;\n}(ElementDragging));\n\n/*\nWhen this class is instantiated, it records the offset of an element (relative to the document topleft),\nand continues to monitor scrolling, updating the cached coordinates if it needs to.\nDoes not access the DOM after instantiation, so highly performant.\n\nAlso keeps track of all scrolling/overflow:hidden containers that are parents of the given element\nand an determine if a given point is inside the combined clipping rectangle.\n*/\nvar OffsetTracker = /** @class */ (function () {\n function OffsetTracker(el) {\n this.origRect = computeRect(el);\n // will work fine for divs that have overflow:hidden\n this.scrollCaches = getClippingParents(el).map(function (scrollEl) { return new ElementScrollGeomCache(scrollEl, true); });\n }\n OffsetTracker.prototype.destroy = function () {\n for (var _i = 0, _a = this.scrollCaches; _i < _a.length; _i++) {\n var scrollCache = _a[_i];\n scrollCache.destroy();\n }\n };\n OffsetTracker.prototype.computeLeft = function () {\n var left = this.origRect.left;\n for (var _i = 0, _a = this.scrollCaches; _i < _a.length; _i++) {\n var scrollCache = _a[_i];\n left += scrollCache.origScrollLeft - scrollCache.getScrollLeft();\n }\n return left;\n };\n OffsetTracker.prototype.computeTop = function () {\n var top = this.origRect.top;\n for (var _i = 0, _a = this.scrollCaches; _i < _a.length; _i++) {\n var scrollCache = _a[_i];\n top += scrollCache.origScrollTop - scrollCache.getScrollTop();\n }\n return top;\n };\n OffsetTracker.prototype.isWithinClipping = function (pageX, pageY) {\n var point = { left: pageX, top: pageY };\n for (var _i = 0, _a = this.scrollCaches; _i < _a.length; _i++) {\n var scrollCache = _a[_i];\n if (!isIgnoredClipping(scrollCache.getEventTarget()) &&\n !pointInsideRect(point, scrollCache.clientRect)) {\n return false;\n }\n }\n return true;\n };\n return OffsetTracker;\n}());\n// certain clipping containers should never constrain interactions, like and \n// https://github.com/fullcalendar/fullcalendar/issues/3615\nfunction isIgnoredClipping(node) {\n var tagName = node.tagName;\n return tagName === 'HTML' || tagName === 'BODY';\n}\n\n/*\nTracks movement over multiple droppable areas (aka \"hits\")\nthat exist in one or more DateComponents.\nRelies on an existing draggable.\n\nemits:\n- pointerdown\n- dragstart\n- hitchange - fires initially, even if not over a hit\n- pointerup\n- (hitchange - again, to null, if ended over a hit)\n- dragend\n*/\nvar HitDragging = /** @class */ (function () {\n function HitDragging(dragging, droppableStore) {\n var _this = this;\n // options that can be set by caller\n this.useSubjectCenter = false;\n this.requireInitial = true; // if doesn't start out on a hit, won't emit any events\n this.initialHit = null;\n this.movingHit = null;\n this.finalHit = null; // won't ever be populated if shouldIgnoreMove\n this.handlePointerDown = function (ev) {\n var dragging = _this.dragging;\n _this.initialHit = null;\n _this.movingHit = null;\n _this.finalHit = null;\n _this.prepareHits();\n _this.processFirstCoord(ev);\n if (_this.initialHit || !_this.requireInitial) {\n dragging.setIgnoreMove(false);\n // TODO: fire this before computing processFirstCoord, so listeners can cancel. this gets fired by almost every handler :(\n _this.emitter.trigger('pointerdown', ev);\n }\n else {\n dragging.setIgnoreMove(true);\n }\n };\n this.handleDragStart = function (ev) {\n _this.emitter.trigger('dragstart', ev);\n _this.handleMove(ev, true); // force = fire even if initially null\n };\n this.handleDragMove = function (ev) {\n _this.emitter.trigger('dragmove', ev);\n _this.handleMove(ev);\n };\n this.handlePointerUp = function (ev) {\n _this.releaseHits();\n _this.emitter.trigger('pointerup', ev);\n };\n this.handleDragEnd = function (ev) {\n if (_this.movingHit) {\n _this.emitter.trigger('hitupdate', null, true, ev);\n }\n _this.finalHit = _this.movingHit;\n _this.movingHit = null;\n _this.emitter.trigger('dragend', ev);\n };\n this.droppableStore = droppableStore;\n dragging.emitter.on('pointerdown', this.handlePointerDown);\n dragging.emitter.on('dragstart', this.handleDragStart);\n dragging.emitter.on('dragmove', this.handleDragMove);\n dragging.emitter.on('pointerup', this.handlePointerUp);\n dragging.emitter.on('dragend', this.handleDragEnd);\n this.dragging = dragging;\n this.emitter = new Emitter();\n }\n // sets initialHit\n // sets coordAdjust\n HitDragging.prototype.processFirstCoord = function (ev) {\n var origPoint = { left: ev.pageX, top: ev.pageY };\n var adjustedPoint = origPoint;\n var subjectEl = ev.subjectEl;\n var subjectRect;\n if (subjectEl instanceof HTMLElement) { // i.e. not a Document/ShadowRoot\n subjectRect = computeRect(subjectEl);\n adjustedPoint = constrainPoint(adjustedPoint, subjectRect);\n }\n var initialHit = this.initialHit = this.queryHitForOffset(adjustedPoint.left, adjustedPoint.top);\n if (initialHit) {\n if (this.useSubjectCenter && subjectRect) {\n var slicedSubjectRect = intersectRects(subjectRect, initialHit.rect);\n if (slicedSubjectRect) {\n adjustedPoint = getRectCenter(slicedSubjectRect);\n }\n }\n this.coordAdjust = diffPoints(adjustedPoint, origPoint);\n }\n else {\n this.coordAdjust = { left: 0, top: 0 };\n }\n };\n HitDragging.prototype.handleMove = function (ev, forceHandle) {\n var hit = this.queryHitForOffset(ev.pageX + this.coordAdjust.left, ev.pageY + this.coordAdjust.top);\n if (forceHandle || !isHitsEqual(this.movingHit, hit)) {\n this.movingHit = hit;\n this.emitter.trigger('hitupdate', hit, false, ev);\n }\n };\n HitDragging.prototype.prepareHits = function () {\n this.offsetTrackers = mapHash(this.droppableStore, function (interactionSettings) {\n interactionSettings.component.prepareHits();\n return new OffsetTracker(interactionSettings.el);\n });\n };\n HitDragging.prototype.releaseHits = function () {\n var offsetTrackers = this.offsetTrackers;\n for (var id in offsetTrackers) {\n offsetTrackers[id].destroy();\n }\n this.offsetTrackers = {};\n };\n HitDragging.prototype.queryHitForOffset = function (offsetLeft, offsetTop) {\n var _a = this, droppableStore = _a.droppableStore, offsetTrackers = _a.offsetTrackers;\n var bestHit = null;\n for (var id in droppableStore) {\n var component = droppableStore[id].component;\n var offsetTracker = offsetTrackers[id];\n if (offsetTracker && // wasn't destroyed mid-drag\n offsetTracker.isWithinClipping(offsetLeft, offsetTop)) {\n var originLeft = offsetTracker.computeLeft();\n var originTop = offsetTracker.computeTop();\n var positionLeft = offsetLeft - originLeft;\n var positionTop = offsetTop - originTop;\n var origRect = offsetTracker.origRect;\n var width = origRect.right - origRect.left;\n var height = origRect.bottom - origRect.top;\n if (\n // must be within the element's bounds\n positionLeft >= 0 && positionLeft < width &&\n positionTop >= 0 && positionTop < height) {\n var hit = component.queryHit(positionLeft, positionTop, width, height);\n if (hit && (\n // make sure the hit is within activeRange, meaning it's not a dead cell\n rangeContainsRange(hit.dateProfile.activeRange, hit.dateSpan.range)) &&\n (!bestHit || hit.layer > bestHit.layer)) {\n hit.componentId = id;\n hit.context = component.context;\n // TODO: better way to re-orient rectangle\n hit.rect.left += originLeft;\n hit.rect.right += originLeft;\n hit.rect.top += originTop;\n hit.rect.bottom += originTop;\n bestHit = hit;\n }\n }\n }\n }\n return bestHit;\n };\n return HitDragging;\n}());\nfunction isHitsEqual(hit0, hit1) {\n if (!hit0 && !hit1) {\n return true;\n }\n if (Boolean(hit0) !== Boolean(hit1)) {\n return false;\n }\n return isDateSpansEqual(hit0.dateSpan, hit1.dateSpan);\n}\n\nfunction buildDatePointApiWithContext(dateSpan, context) {\n var props = {};\n for (var _i = 0, _a = context.pluginHooks.datePointTransforms; _i < _a.length; _i++) {\n var transform = _a[_i];\n __assign(props, transform(dateSpan, context));\n }\n __assign(props, buildDatePointApi(dateSpan, context.dateEnv));\n return props;\n}\nfunction buildDatePointApi(span, dateEnv) {\n return {\n date: dateEnv.toDate(span.range.start),\n dateStr: dateEnv.formatIso(span.range.start, { omitTime: span.allDay }),\n allDay: span.allDay,\n };\n}\n\n/*\nMonitors when the user clicks on a specific date/time of a component.\nA pointerdown+pointerup on the same \"hit\" constitutes a click.\n*/\nvar DateClicking = /** @class */ (function (_super) {\n __extends(DateClicking, _super);\n function DateClicking(settings) {\n var _this = _super.call(this, settings) || this;\n _this.handlePointerDown = function (pev) {\n var dragging = _this.dragging;\n var downEl = pev.origEvent.target;\n // do this in pointerdown (not dragend) because DOM might be mutated by the time dragend is fired\n dragging.setIgnoreMove(!_this.component.isValidDateDownEl(downEl));\n };\n // won't even fire if moving was ignored\n _this.handleDragEnd = function (ev) {\n var component = _this.component;\n var pointer = _this.dragging.pointer;\n if (!pointer.wasTouchScroll) {\n var _a = _this.hitDragging, initialHit = _a.initialHit, finalHit = _a.finalHit;\n if (initialHit && finalHit && isHitsEqual(initialHit, finalHit)) {\n var context = component.context;\n var arg = __assign(__assign({}, buildDatePointApiWithContext(initialHit.dateSpan, context)), { dayEl: initialHit.dayEl, jsEvent: ev.origEvent, view: context.viewApi || context.calendarApi.view });\n context.emitter.trigger('dateClick', arg);\n }\n }\n };\n // we DO want to watch pointer moves because otherwise finalHit won't get populated\n _this.dragging = new FeaturefulElementDragging(settings.el);\n _this.dragging.autoScroller.isEnabled = false;\n var hitDragging = _this.hitDragging = new HitDragging(_this.dragging, interactionSettingsToStore(settings));\n hitDragging.emitter.on('pointerdown', _this.handlePointerDown);\n hitDragging.emitter.on('dragend', _this.handleDragEnd);\n return _this;\n }\n DateClicking.prototype.destroy = function () {\n this.dragging.destroy();\n };\n return DateClicking;\n}(Interaction));\n\n/*\nTracks when the user selects a portion of time of a component,\nconstituted by a drag over date cells, with a possible delay at the beginning of the drag.\n*/\nvar DateSelecting = /** @class */ (function (_super) {\n __extends(DateSelecting, _super);\n function DateSelecting(settings) {\n var _this = _super.call(this, settings) || this;\n _this.dragSelection = null;\n _this.handlePointerDown = function (ev) {\n var _a = _this, component = _a.component, dragging = _a.dragging;\n var options = component.context.options;\n var canSelect = options.selectable &&\n component.isValidDateDownEl(ev.origEvent.target);\n // don't bother to watch expensive moves if component won't do selection\n dragging.setIgnoreMove(!canSelect);\n // if touch, require user to hold down\n dragging.delay = ev.isTouch ? getComponentTouchDelay$1(component) : null;\n };\n _this.handleDragStart = function (ev) {\n _this.component.context.calendarApi.unselect(ev); // unselect previous selections\n };\n _this.handleHitUpdate = function (hit, isFinal) {\n var context = _this.component.context;\n var dragSelection = null;\n var isInvalid = false;\n if (hit) {\n var initialHit = _this.hitDragging.initialHit;\n var disallowed = hit.componentId === initialHit.componentId\n && _this.isHitComboAllowed\n && !_this.isHitComboAllowed(initialHit, hit);\n if (!disallowed) {\n dragSelection = joinHitsIntoSelection(initialHit, hit, context.pluginHooks.dateSelectionTransformers);\n }\n if (!dragSelection || !isDateSelectionValid(dragSelection, hit.dateProfile, context)) {\n isInvalid = true;\n dragSelection = null;\n }\n }\n if (dragSelection) {\n context.dispatch({ type: 'SELECT_DATES', selection: dragSelection });\n }\n else if (!isFinal) { // only unselect if moved away while dragging\n context.dispatch({ type: 'UNSELECT_DATES' });\n }\n if (!isInvalid) {\n enableCursor();\n }\n else {\n disableCursor();\n }\n if (!isFinal) {\n _this.dragSelection = dragSelection; // only clear if moved away from all hits while dragging\n }\n };\n _this.handlePointerUp = function (pev) {\n if (_this.dragSelection) {\n // selection is already rendered, so just need to report selection\n triggerDateSelect(_this.dragSelection, pev, _this.component.context);\n _this.dragSelection = null;\n }\n };\n var component = settings.component;\n var options = component.context.options;\n var dragging = _this.dragging = new FeaturefulElementDragging(settings.el);\n dragging.touchScrollAllowed = false;\n dragging.minDistance = options.selectMinDistance || 0;\n dragging.autoScroller.isEnabled = options.dragScroll;\n var hitDragging = _this.hitDragging = new HitDragging(_this.dragging, interactionSettingsToStore(settings));\n hitDragging.emitter.on('pointerdown', _this.handlePointerDown);\n hitDragging.emitter.on('dragstart', _this.handleDragStart);\n hitDragging.emitter.on('hitupdate', _this.handleHitUpdate);\n hitDragging.emitter.on('pointerup', _this.handlePointerUp);\n return _this;\n }\n DateSelecting.prototype.destroy = function () {\n this.dragging.destroy();\n };\n return DateSelecting;\n}(Interaction));\nfunction getComponentTouchDelay$1(component) {\n var options = component.context.options;\n var delay = options.selectLongPressDelay;\n if (delay == null) {\n delay = options.longPressDelay;\n }\n return delay;\n}\nfunction joinHitsIntoSelection(hit0, hit1, dateSelectionTransformers) {\n var dateSpan0 = hit0.dateSpan;\n var dateSpan1 = hit1.dateSpan;\n var ms = [\n dateSpan0.range.start,\n dateSpan0.range.end,\n dateSpan1.range.start,\n dateSpan1.range.end,\n ];\n ms.sort(compareNumbers);\n var props = {};\n for (var _i = 0, dateSelectionTransformers_1 = dateSelectionTransformers; _i < dateSelectionTransformers_1.length; _i++) {\n var transformer = dateSelectionTransformers_1[_i];\n var res = transformer(hit0, hit1);\n if (res === false) {\n return null;\n }\n if (res) {\n __assign(props, res);\n }\n }\n props.range = { start: ms[0], end: ms[3] };\n props.allDay = dateSpan0.allDay;\n return props;\n}\n\nvar EventDragging = /** @class */ (function (_super) {\n __extends(EventDragging, _super);\n function EventDragging(settings) {\n var _this = _super.call(this, settings) || this;\n // internal state\n _this.subjectEl = null;\n _this.subjectSeg = null; // the seg being selected/dragged\n _this.isDragging = false;\n _this.eventRange = null;\n _this.relevantEvents = null; // the events being dragged\n _this.receivingContext = null;\n _this.validMutation = null;\n _this.mutatedRelevantEvents = null;\n _this.handlePointerDown = function (ev) {\n var origTarget = ev.origEvent.target;\n var _a = _this, component = _a.component, dragging = _a.dragging;\n var mirror = dragging.mirror;\n var options = component.context.options;\n var initialContext = component.context;\n _this.subjectEl = ev.subjectEl;\n var subjectSeg = _this.subjectSeg = getElSeg(ev.subjectEl);\n var eventRange = _this.eventRange = subjectSeg.eventRange;\n var eventInstanceId = eventRange.instance.instanceId;\n _this.relevantEvents = getRelevantEvents(initialContext.getCurrentData().eventStore, eventInstanceId);\n dragging.minDistance = ev.isTouch ? 0 : options.eventDragMinDistance;\n dragging.delay =\n // only do a touch delay if touch and this event hasn't been selected yet\n (ev.isTouch && eventInstanceId !== component.props.eventSelection) ?\n getComponentTouchDelay(component) :\n null;\n if (options.fixedMirrorParent) {\n mirror.parentNode = options.fixedMirrorParent;\n }\n else {\n mirror.parentNode = elementClosest(origTarget, '.fc');\n }\n mirror.revertDuration = options.dragRevertDuration;\n var isValid = component.isValidSegDownEl(origTarget) &&\n !elementClosest(origTarget, '.fc-event-resizer'); // NOT on a resizer\n dragging.setIgnoreMove(!isValid);\n // disable dragging for elements that are resizable (ie, selectable)\n // but are not draggable\n _this.isDragging = isValid &&\n ev.subjectEl.classList.contains('fc-event-draggable');\n };\n _this.handleDragStart = function (ev) {\n var initialContext = _this.component.context;\n var eventRange = _this.eventRange;\n var eventInstanceId = eventRange.instance.instanceId;\n if (ev.isTouch) {\n // need to select a different event?\n if (eventInstanceId !== _this.component.props.eventSelection) {\n initialContext.dispatch({ type: 'SELECT_EVENT', eventInstanceId: eventInstanceId });\n }\n }\n else {\n // if now using mouse, but was previous touch interaction, clear selected event\n initialContext.dispatch({ type: 'UNSELECT_EVENT' });\n }\n if (_this.isDragging) {\n initialContext.calendarApi.unselect(ev); // unselect *date* selection\n initialContext.emitter.trigger('eventDragStart', {\n el: _this.subjectEl,\n event: new EventApi(initialContext, eventRange.def, eventRange.instance),\n jsEvent: ev.origEvent,\n view: initialContext.viewApi,\n });\n }\n };\n _this.handleHitUpdate = function (hit, isFinal) {\n if (!_this.isDragging) {\n return;\n }\n var relevantEvents = _this.relevantEvents;\n var initialHit = _this.hitDragging.initialHit;\n var initialContext = _this.component.context;\n // states based on new hit\n var receivingContext = null;\n var mutation = null;\n var mutatedRelevantEvents = null;\n var isInvalid = false;\n var interaction = {\n affectedEvents: relevantEvents,\n mutatedEvents: createEmptyEventStore(),\n isEvent: true,\n };\n if (hit) {\n receivingContext = hit.context;\n var receivingOptions = receivingContext.options;\n if (initialContext === receivingContext ||\n (receivingOptions.editable && receivingOptions.droppable)) {\n mutation = computeEventMutation(initialHit, hit, receivingContext.getCurrentData().pluginHooks.eventDragMutationMassagers);\n if (mutation) {\n mutatedRelevantEvents = applyMutationToEventStore(relevantEvents, receivingContext.getCurrentData().eventUiBases, mutation, receivingContext);\n interaction.mutatedEvents = mutatedRelevantEvents;\n if (!isInteractionValid(interaction, hit.dateProfile, receivingContext)) {\n isInvalid = true;\n mutation = null;\n mutatedRelevantEvents = null;\n interaction.mutatedEvents = createEmptyEventStore();\n }\n }\n }\n else {\n receivingContext = null;\n }\n }\n _this.displayDrag(receivingContext, interaction);\n if (!isInvalid) {\n enableCursor();\n }\n else {\n disableCursor();\n }\n if (!isFinal) {\n if (initialContext === receivingContext && // TODO: write test for this\n isHitsEqual(initialHit, hit)) {\n mutation = null;\n }\n _this.dragging.setMirrorNeedsRevert(!mutation);\n // render the mirror if no already-rendered mirror\n // TODO: wish we could somehow wait for dispatch to guarantee render\n _this.dragging.setMirrorIsVisible(!hit || !getElRoot(_this.subjectEl).querySelector('.fc-event-mirror'));\n // assign states based on new hit\n _this.receivingContext = receivingContext;\n _this.validMutation = mutation;\n _this.mutatedRelevantEvents = mutatedRelevantEvents;\n }\n };\n _this.handlePointerUp = function () {\n if (!_this.isDragging) {\n _this.cleanup(); // because handleDragEnd won't fire\n }\n };\n _this.handleDragEnd = function (ev) {\n if (_this.isDragging) {\n var initialContext_1 = _this.component.context;\n var initialView = initialContext_1.viewApi;\n var _a = _this, receivingContext_1 = _a.receivingContext, validMutation = _a.validMutation;\n var eventDef = _this.eventRange.def;\n var eventInstance = _this.eventRange.instance;\n var eventApi = new EventApi(initialContext_1, eventDef, eventInstance);\n var relevantEvents_1 = _this.relevantEvents;\n var mutatedRelevantEvents_1 = _this.mutatedRelevantEvents;\n var finalHit = _this.hitDragging.finalHit;\n _this.clearDrag(); // must happen after revert animation\n initialContext_1.emitter.trigger('eventDragStop', {\n el: _this.subjectEl,\n event: eventApi,\n jsEvent: ev.origEvent,\n view: initialView,\n });\n if (validMutation) {\n // dropped within same calendar\n if (receivingContext_1 === initialContext_1) {\n var updatedEventApi = new EventApi(initialContext_1, mutatedRelevantEvents_1.defs[eventDef.defId], eventInstance ? mutatedRelevantEvents_1.instances[eventInstance.instanceId] : null);\n initialContext_1.dispatch({\n type: 'MERGE_EVENTS',\n eventStore: mutatedRelevantEvents_1,\n });\n var eventChangeArg = {\n oldEvent: eventApi,\n event: updatedEventApi,\n relatedEvents: buildEventApis(mutatedRelevantEvents_1, initialContext_1, eventInstance),\n revert: function () {\n initialContext_1.dispatch({\n type: 'MERGE_EVENTS',\n eventStore: relevantEvents_1, // the pre-change data\n });\n },\n };\n var transformed = {};\n for (var _i = 0, _b = initialContext_1.getCurrentData().pluginHooks.eventDropTransformers; _i < _b.length; _i++) {\n var transformer = _b[_i];\n __assign(transformed, transformer(validMutation, initialContext_1));\n }\n initialContext_1.emitter.trigger('eventDrop', __assign(__assign(__assign({}, eventChangeArg), transformed), { el: ev.subjectEl, delta: validMutation.datesDelta, jsEvent: ev.origEvent, view: initialView }));\n initialContext_1.emitter.trigger('eventChange', eventChangeArg);\n // dropped in different calendar\n }\n else if (receivingContext_1) {\n var eventRemoveArg = {\n event: eventApi,\n relatedEvents: buildEventApis(relevantEvents_1, initialContext_1, eventInstance),\n revert: function () {\n initialContext_1.dispatch({\n type: 'MERGE_EVENTS',\n eventStore: relevantEvents_1,\n });\n },\n };\n initialContext_1.emitter.trigger('eventLeave', __assign(__assign({}, eventRemoveArg), { draggedEl: ev.subjectEl, view: initialView }));\n initialContext_1.dispatch({\n type: 'REMOVE_EVENTS',\n eventStore: relevantEvents_1,\n });\n initialContext_1.emitter.trigger('eventRemove', eventRemoveArg);\n var addedEventDef = mutatedRelevantEvents_1.defs[eventDef.defId];\n var addedEventInstance = mutatedRelevantEvents_1.instances[eventInstance.instanceId];\n var addedEventApi = new EventApi(receivingContext_1, addedEventDef, addedEventInstance);\n receivingContext_1.dispatch({\n type: 'MERGE_EVENTS',\n eventStore: mutatedRelevantEvents_1,\n });\n var eventAddArg = {\n event: addedEventApi,\n relatedEvents: buildEventApis(mutatedRelevantEvents_1, receivingContext_1, addedEventInstance),\n revert: function () {\n receivingContext_1.dispatch({\n type: 'REMOVE_EVENTS',\n eventStore: mutatedRelevantEvents_1,\n });\n },\n };\n receivingContext_1.emitter.trigger('eventAdd', eventAddArg);\n if (ev.isTouch) {\n receivingContext_1.dispatch({\n type: 'SELECT_EVENT',\n eventInstanceId: eventInstance.instanceId,\n });\n }\n receivingContext_1.emitter.trigger('drop', __assign(__assign({}, buildDatePointApiWithContext(finalHit.dateSpan, receivingContext_1)), { draggedEl: ev.subjectEl, jsEvent: ev.origEvent, view: finalHit.context.viewApi }));\n receivingContext_1.emitter.trigger('eventReceive', __assign(__assign({}, eventAddArg), { draggedEl: ev.subjectEl, view: finalHit.context.viewApi }));\n }\n }\n else {\n initialContext_1.emitter.trigger('_noEventDrop');\n }\n }\n _this.cleanup();\n };\n var component = _this.component;\n var options = component.context.options;\n var dragging = _this.dragging = new FeaturefulElementDragging(settings.el);\n dragging.pointer.selector = EventDragging.SELECTOR;\n dragging.touchScrollAllowed = false;\n dragging.autoScroller.isEnabled = options.dragScroll;\n var hitDragging = _this.hitDragging = new HitDragging(_this.dragging, interactionSettingsStore);\n hitDragging.useSubjectCenter = settings.useEventCenter;\n hitDragging.emitter.on('pointerdown', _this.handlePointerDown);\n hitDragging.emitter.on('dragstart', _this.handleDragStart);\n hitDragging.emitter.on('hitupdate', _this.handleHitUpdate);\n hitDragging.emitter.on('pointerup', _this.handlePointerUp);\n hitDragging.emitter.on('dragend', _this.handleDragEnd);\n return _this;\n }\n EventDragging.prototype.destroy = function () {\n this.dragging.destroy();\n };\n // render a drag state on the next receivingCalendar\n EventDragging.prototype.displayDrag = function (nextContext, state) {\n var initialContext = this.component.context;\n var prevContext = this.receivingContext;\n // does the previous calendar need to be cleared?\n if (prevContext && prevContext !== nextContext) {\n // does the initial calendar need to be cleared?\n // if so, don't clear all the way. we still need to to hide the affectedEvents\n if (prevContext === initialContext) {\n prevContext.dispatch({\n type: 'SET_EVENT_DRAG',\n state: {\n affectedEvents: state.affectedEvents,\n mutatedEvents: createEmptyEventStore(),\n isEvent: true,\n },\n });\n // completely clear the old calendar if it wasn't the initial\n }\n else {\n prevContext.dispatch({ type: 'UNSET_EVENT_DRAG' });\n }\n }\n if (nextContext) {\n nextContext.dispatch({ type: 'SET_EVENT_DRAG', state: state });\n }\n };\n EventDragging.prototype.clearDrag = function () {\n var initialCalendar = this.component.context;\n var receivingContext = this.receivingContext;\n if (receivingContext) {\n receivingContext.dispatch({ type: 'UNSET_EVENT_DRAG' });\n }\n // the initial calendar might have an dummy drag state from displayDrag\n if (initialCalendar !== receivingContext) {\n initialCalendar.dispatch({ type: 'UNSET_EVENT_DRAG' });\n }\n };\n EventDragging.prototype.cleanup = function () {\n this.subjectSeg = null;\n this.isDragging = false;\n this.eventRange = null;\n this.relevantEvents = null;\n this.receivingContext = null;\n this.validMutation = null;\n this.mutatedRelevantEvents = null;\n };\n // TODO: test this in IE11\n // QUESTION: why do we need it on the resizable???\n EventDragging.SELECTOR = '.fc-event-draggable, .fc-event-resizable';\n return EventDragging;\n}(Interaction));\nfunction computeEventMutation(hit0, hit1, massagers) {\n var dateSpan0 = hit0.dateSpan;\n var dateSpan1 = hit1.dateSpan;\n var date0 = dateSpan0.range.start;\n var date1 = dateSpan1.range.start;\n var standardProps = {};\n if (dateSpan0.allDay !== dateSpan1.allDay) {\n standardProps.allDay = dateSpan1.allDay;\n standardProps.hasEnd = hit1.context.options.allDayMaintainDuration;\n if (dateSpan1.allDay) {\n // means date1 is already start-of-day,\n // but date0 needs to be converted\n date0 = startOfDay(date0);\n }\n }\n var delta = diffDates(date0, date1, hit0.context.dateEnv, hit0.componentId === hit1.componentId ?\n hit0.largeUnit :\n null);\n if (delta.milliseconds) { // has hours/minutes/seconds\n standardProps.allDay = false;\n }\n var mutation = {\n datesDelta: delta,\n standardProps: standardProps,\n };\n for (var _i = 0, massagers_1 = massagers; _i < massagers_1.length; _i++) {\n var massager = massagers_1[_i];\n massager(mutation, hit0, hit1);\n }\n return mutation;\n}\nfunction getComponentTouchDelay(component) {\n var options = component.context.options;\n var delay = options.eventLongPressDelay;\n if (delay == null) {\n delay = options.longPressDelay;\n }\n return delay;\n}\n\nvar EventResizing = /** @class */ (function (_super) {\n __extends(EventResizing, _super);\n function EventResizing(settings) {\n var _this = _super.call(this, settings) || this;\n // internal state\n _this.draggingSegEl = null;\n _this.draggingSeg = null; // TODO: rename to resizingSeg? subjectSeg?\n _this.eventRange = null;\n _this.relevantEvents = null;\n _this.validMutation = null;\n _this.mutatedRelevantEvents = null;\n _this.handlePointerDown = function (ev) {\n var component = _this.component;\n var segEl = _this.querySegEl(ev);\n var seg = getElSeg(segEl);\n var eventRange = _this.eventRange = seg.eventRange;\n _this.dragging.minDistance = component.context.options.eventDragMinDistance;\n // if touch, need to be working with a selected event\n _this.dragging.setIgnoreMove(!_this.component.isValidSegDownEl(ev.origEvent.target) ||\n (ev.isTouch && _this.component.props.eventSelection !== eventRange.instance.instanceId));\n };\n _this.handleDragStart = function (ev) {\n var context = _this.component.context;\n var eventRange = _this.eventRange;\n _this.relevantEvents = getRelevantEvents(context.getCurrentData().eventStore, _this.eventRange.instance.instanceId);\n var segEl = _this.querySegEl(ev);\n _this.draggingSegEl = segEl;\n _this.draggingSeg = getElSeg(segEl);\n context.calendarApi.unselect();\n context.emitter.trigger('eventResizeStart', {\n el: segEl,\n event: new EventApi(context, eventRange.def, eventRange.instance),\n jsEvent: ev.origEvent,\n view: context.viewApi,\n });\n };\n _this.handleHitUpdate = function (hit, isFinal, ev) {\n var context = _this.component.context;\n var relevantEvents = _this.relevantEvents;\n var initialHit = _this.hitDragging.initialHit;\n var eventInstance = _this.eventRange.instance;\n var mutation = null;\n var mutatedRelevantEvents = null;\n var isInvalid = false;\n var interaction = {\n affectedEvents: relevantEvents,\n mutatedEvents: createEmptyEventStore(),\n isEvent: true,\n };\n if (hit) {\n var disallowed = hit.componentId === initialHit.componentId\n && _this.isHitComboAllowed\n && !_this.isHitComboAllowed(initialHit, hit);\n if (!disallowed) {\n mutation = computeMutation(initialHit, hit, ev.subjectEl.classList.contains('fc-event-resizer-start'), eventInstance.range);\n }\n }\n if (mutation) {\n mutatedRelevantEvents = applyMutationToEventStore(relevantEvents, context.getCurrentData().eventUiBases, mutation, context);\n interaction.mutatedEvents = mutatedRelevantEvents;\n if (!isInteractionValid(interaction, hit.dateProfile, context)) {\n isInvalid = true;\n mutation = null;\n mutatedRelevantEvents = null;\n interaction.mutatedEvents = null;\n }\n }\n if (mutatedRelevantEvents) {\n context.dispatch({\n type: 'SET_EVENT_RESIZE',\n state: interaction,\n });\n }\n else {\n context.dispatch({ type: 'UNSET_EVENT_RESIZE' });\n }\n if (!isInvalid) {\n enableCursor();\n }\n else {\n disableCursor();\n }\n if (!isFinal) {\n if (mutation && isHitsEqual(initialHit, hit)) {\n mutation = null;\n }\n _this.validMutation = mutation;\n _this.mutatedRelevantEvents = mutatedRelevantEvents;\n }\n };\n _this.handleDragEnd = function (ev) {\n var context = _this.component.context;\n var eventDef = _this.eventRange.def;\n var eventInstance = _this.eventRange.instance;\n var eventApi = new EventApi(context, eventDef, eventInstance);\n var relevantEvents = _this.relevantEvents;\n var mutatedRelevantEvents = _this.mutatedRelevantEvents;\n context.emitter.trigger('eventResizeStop', {\n el: _this.draggingSegEl,\n event: eventApi,\n jsEvent: ev.origEvent,\n view: context.viewApi,\n });\n if (_this.validMutation) {\n var updatedEventApi = new EventApi(context, mutatedRelevantEvents.defs[eventDef.defId], eventInstance ? mutatedRelevantEvents.instances[eventInstance.instanceId] : null);\n context.dispatch({\n type: 'MERGE_EVENTS',\n eventStore: mutatedRelevantEvents,\n });\n var eventChangeArg = {\n oldEvent: eventApi,\n event: updatedEventApi,\n relatedEvents: buildEventApis(mutatedRelevantEvents, context, eventInstance),\n revert: function () {\n context.dispatch({\n type: 'MERGE_EVENTS',\n eventStore: relevantEvents, // the pre-change events\n });\n },\n };\n context.emitter.trigger('eventResize', __assign(__assign({}, eventChangeArg), { el: _this.draggingSegEl, startDelta: _this.validMutation.startDelta || createDuration(0), endDelta: _this.validMutation.endDelta || createDuration(0), jsEvent: ev.origEvent, view: context.viewApi }));\n context.emitter.trigger('eventChange', eventChangeArg);\n }\n else {\n context.emitter.trigger('_noEventResize');\n }\n // reset all internal state\n _this.draggingSeg = null;\n _this.relevantEvents = null;\n _this.validMutation = null;\n // okay to keep eventInstance around. useful to set it in handlePointerDown\n };\n var component = settings.component;\n var dragging = _this.dragging = new FeaturefulElementDragging(settings.el);\n dragging.pointer.selector = '.fc-event-resizer';\n dragging.touchScrollAllowed = false;\n dragging.autoScroller.isEnabled = component.context.options.dragScroll;\n var hitDragging = _this.hitDragging = new HitDragging(_this.dragging, interactionSettingsToStore(settings));\n hitDragging.emitter.on('pointerdown', _this.handlePointerDown);\n hitDragging.emitter.on('dragstart', _this.handleDragStart);\n hitDragging.emitter.on('hitupdate', _this.handleHitUpdate);\n hitDragging.emitter.on('dragend', _this.handleDragEnd);\n return _this;\n }\n EventResizing.prototype.destroy = function () {\n this.dragging.destroy();\n };\n EventResizing.prototype.querySegEl = function (ev) {\n return elementClosest(ev.subjectEl, '.fc-event');\n };\n return EventResizing;\n}(Interaction));\nfunction computeMutation(hit0, hit1, isFromStart, instanceRange) {\n var dateEnv = hit0.context.dateEnv;\n var date0 = hit0.dateSpan.range.start;\n var date1 = hit1.dateSpan.range.start;\n var delta = diffDates(date0, date1, dateEnv, hit0.largeUnit);\n if (isFromStart) {\n if (dateEnv.add(instanceRange.start, delta) < instanceRange.end) {\n return { startDelta: delta };\n }\n }\n else if (dateEnv.add(instanceRange.end, delta) > instanceRange.start) {\n return { endDelta: delta };\n }\n return null;\n}\n\nvar UnselectAuto = /** @class */ (function () {\n function UnselectAuto(context) {\n var _this = this;\n this.context = context;\n this.isRecentPointerDateSelect = false; // wish we could use a selector to detect date selection, but uses hit system\n this.matchesCancel = false;\n this.matchesEvent = false;\n this.onSelect = function (selectInfo) {\n if (selectInfo.jsEvent) {\n _this.isRecentPointerDateSelect = true;\n }\n };\n this.onDocumentPointerDown = function (pev) {\n var unselectCancel = _this.context.options.unselectCancel;\n var downEl = getEventTargetViaRoot(pev.origEvent);\n _this.matchesCancel = !!elementClosest(downEl, unselectCancel);\n _this.matchesEvent = !!elementClosest(downEl, EventDragging.SELECTOR); // interaction started on an event?\n };\n this.onDocumentPointerUp = function (pev) {\n var context = _this.context;\n var documentPointer = _this.documentPointer;\n var calendarState = context.getCurrentData();\n // touch-scrolling should never unfocus any type of selection\n if (!documentPointer.wasTouchScroll) {\n if (calendarState.dateSelection && // an existing date selection?\n !_this.isRecentPointerDateSelect // a new pointer-initiated date selection since last onDocumentPointerUp?\n ) {\n var unselectAuto = context.options.unselectAuto;\n if (unselectAuto && (!unselectAuto || !_this.matchesCancel)) {\n context.calendarApi.unselect(pev);\n }\n }\n if (calendarState.eventSelection && // an existing event selected?\n !_this.matchesEvent // interaction DIDN'T start on an event\n ) {\n context.dispatch({ type: 'UNSELECT_EVENT' });\n }\n }\n _this.isRecentPointerDateSelect = false;\n };\n var documentPointer = this.documentPointer = new PointerDragging(document);\n documentPointer.shouldIgnoreMove = true;\n documentPointer.shouldWatchScroll = false;\n documentPointer.emitter.on('pointerdown', this.onDocumentPointerDown);\n documentPointer.emitter.on('pointerup', this.onDocumentPointerUp);\n /*\n TODO: better way to know about whether there was a selection with the pointer\n */\n context.emitter.on('select', this.onSelect);\n }\n UnselectAuto.prototype.destroy = function () {\n this.context.emitter.off('select', this.onSelect);\n this.documentPointer.destroy();\n };\n return UnselectAuto;\n}());\n\nvar OPTION_REFINERS = {\n fixedMirrorParent: identity,\n};\nvar LISTENER_REFINERS = {\n dateClick: identity,\n eventDragStart: identity,\n eventDragStop: identity,\n eventDrop: identity,\n eventResizeStart: identity,\n eventResizeStop: identity,\n eventResize: identity,\n drop: identity,\n eventReceive: identity,\n eventLeave: identity,\n};\n\n/*\nGiven an already instantiated draggable object for one-or-more elements,\nInterprets any dragging as an attempt to drag an events that lives outside\nof a calendar onto a calendar.\n*/\nvar ExternalElementDragging = /** @class */ (function () {\n function ExternalElementDragging(dragging, suppliedDragMeta) {\n var _this = this;\n this.receivingContext = null;\n this.droppableEvent = null; // will exist for all drags, even if create:false\n this.suppliedDragMeta = null;\n this.dragMeta = null;\n this.handleDragStart = function (ev) {\n _this.dragMeta = _this.buildDragMeta(ev.subjectEl);\n };\n this.handleHitUpdate = function (hit, isFinal, ev) {\n var dragging = _this.hitDragging.dragging;\n var receivingContext = null;\n var droppableEvent = null;\n var isInvalid = false;\n var interaction = {\n affectedEvents: createEmptyEventStore(),\n mutatedEvents: createEmptyEventStore(),\n isEvent: _this.dragMeta.create,\n };\n if (hit) {\n receivingContext = hit.context;\n if (_this.canDropElOnCalendar(ev.subjectEl, receivingContext)) {\n droppableEvent = computeEventForDateSpan(hit.dateSpan, _this.dragMeta, receivingContext);\n interaction.mutatedEvents = eventTupleToStore(droppableEvent);\n isInvalid = !isInteractionValid(interaction, hit.dateProfile, receivingContext);\n if (isInvalid) {\n interaction.mutatedEvents = createEmptyEventStore();\n droppableEvent = null;\n }\n }\n }\n _this.displayDrag(receivingContext, interaction);\n // show mirror if no already-rendered mirror element OR if we are shutting down the mirror (?)\n // TODO: wish we could somehow wait for dispatch to guarantee render\n dragging.setMirrorIsVisible(isFinal || !droppableEvent || !document.querySelector('.fc-event-mirror'));\n if (!isInvalid) {\n enableCursor();\n }\n else {\n disableCursor();\n }\n if (!isFinal) {\n dragging.setMirrorNeedsRevert(!droppableEvent);\n _this.receivingContext = receivingContext;\n _this.droppableEvent = droppableEvent;\n }\n };\n this.handleDragEnd = function (pev) {\n var _a = _this, receivingContext = _a.receivingContext, droppableEvent = _a.droppableEvent;\n _this.clearDrag();\n if (receivingContext && droppableEvent) {\n var finalHit = _this.hitDragging.finalHit;\n var finalView = finalHit.context.viewApi;\n var dragMeta = _this.dragMeta;\n receivingContext.emitter.trigger('drop', __assign(__assign({}, buildDatePointApiWithContext(finalHit.dateSpan, receivingContext)), { draggedEl: pev.subjectEl, jsEvent: pev.origEvent, view: finalView }));\n if (dragMeta.create) {\n var addingEvents_1 = eventTupleToStore(droppableEvent);\n receivingContext.dispatch({\n type: 'MERGE_EVENTS',\n eventStore: addingEvents_1,\n });\n if (pev.isTouch) {\n receivingContext.dispatch({\n type: 'SELECT_EVENT',\n eventInstanceId: droppableEvent.instance.instanceId,\n });\n }\n // signal that an external event landed\n receivingContext.emitter.trigger('eventReceive', {\n event: new EventApi(receivingContext, droppableEvent.def, droppableEvent.instance),\n relatedEvents: [],\n revert: function () {\n receivingContext.dispatch({\n type: 'REMOVE_EVENTS',\n eventStore: addingEvents_1,\n });\n },\n draggedEl: pev.subjectEl,\n view: finalView,\n });\n }\n }\n _this.receivingContext = null;\n _this.droppableEvent = null;\n };\n var hitDragging = this.hitDragging = new HitDragging(dragging, interactionSettingsStore);\n hitDragging.requireInitial = false; // will start outside of a component\n hitDragging.emitter.on('dragstart', this.handleDragStart);\n hitDragging.emitter.on('hitupdate', this.handleHitUpdate);\n hitDragging.emitter.on('dragend', this.handleDragEnd);\n this.suppliedDragMeta = suppliedDragMeta;\n }\n ExternalElementDragging.prototype.buildDragMeta = function (subjectEl) {\n if (typeof this.suppliedDragMeta === 'object') {\n return parseDragMeta(this.suppliedDragMeta);\n }\n if (typeof this.suppliedDragMeta === 'function') {\n return parseDragMeta(this.suppliedDragMeta(subjectEl));\n }\n return getDragMetaFromEl(subjectEl);\n };\n ExternalElementDragging.prototype.displayDrag = function (nextContext, state) {\n var prevContext = this.receivingContext;\n if (prevContext && prevContext !== nextContext) {\n prevContext.dispatch({ type: 'UNSET_EVENT_DRAG' });\n }\n if (nextContext) {\n nextContext.dispatch({ type: 'SET_EVENT_DRAG', state: state });\n }\n };\n ExternalElementDragging.prototype.clearDrag = function () {\n if (this.receivingContext) {\n this.receivingContext.dispatch({ type: 'UNSET_EVENT_DRAG' });\n }\n };\n ExternalElementDragging.prototype.canDropElOnCalendar = function (el, receivingContext) {\n var dropAccept = receivingContext.options.dropAccept;\n if (typeof dropAccept === 'function') {\n return dropAccept.call(receivingContext.calendarApi, el);\n }\n if (typeof dropAccept === 'string' && dropAccept) {\n return Boolean(elementMatches(el, dropAccept));\n }\n return true;\n };\n return ExternalElementDragging;\n}());\n// Utils for computing event store from the DragMeta\n// ----------------------------------------------------------------------------------------------------\nfunction computeEventForDateSpan(dateSpan, dragMeta, context) {\n var defProps = __assign({}, dragMeta.leftoverProps);\n for (var _i = 0, _a = context.pluginHooks.externalDefTransforms; _i < _a.length; _i++) {\n var transform = _a[_i];\n __assign(defProps, transform(dateSpan, dragMeta));\n }\n var _b = refineEventDef(defProps, context), refined = _b.refined, extra = _b.extra;\n var def = parseEventDef(refined, extra, dragMeta.sourceId, dateSpan.allDay, context.options.forceEventDuration || Boolean(dragMeta.duration), // hasEnd\n context);\n var start = dateSpan.range.start;\n // only rely on time info if drop zone is all-day,\n // otherwise, we already know the time\n if (dateSpan.allDay && dragMeta.startTime) {\n start = context.dateEnv.add(start, dragMeta.startTime);\n }\n var end = dragMeta.duration ?\n context.dateEnv.add(start, dragMeta.duration) :\n getDefaultEventEnd(dateSpan.allDay, start, context);\n var instance = createEventInstance(def.defId, { start: start, end: end });\n return { def: def, instance: instance };\n}\n// Utils for extracting data from element\n// ----------------------------------------------------------------------------------------------------\nfunction getDragMetaFromEl(el) {\n var str = getEmbeddedElData(el, 'event');\n var obj = str ?\n JSON.parse(str) :\n { create: false }; // if no embedded data, assume no event creation\n return parseDragMeta(obj);\n}\nconfig.dataAttrPrefix = '';\nfunction getEmbeddedElData(el, name) {\n var prefix = config.dataAttrPrefix;\n var prefixedName = (prefix ? prefix + '-' : '') + name;\n return el.getAttribute('data-' + prefixedName) || '';\n}\n\n/*\nMakes an element (that is *external* to any calendar) draggable.\nCan pass in data that determines how an event will be created when dropped onto a calendar.\nLeverages FullCalendar's internal drag-n-drop functionality WITHOUT a third-party drag system.\n*/\nvar ExternalDraggable = /** @class */ (function () {\n function ExternalDraggable(el, settings) {\n var _this = this;\n if (settings === void 0) { settings = {}; }\n this.handlePointerDown = function (ev) {\n var dragging = _this.dragging;\n var _a = _this.settings, minDistance = _a.minDistance, longPressDelay = _a.longPressDelay;\n dragging.minDistance =\n minDistance != null ?\n minDistance :\n (ev.isTouch ? 0 : BASE_OPTION_DEFAULTS.eventDragMinDistance);\n dragging.delay =\n ev.isTouch ? // TODO: eventually read eventLongPressDelay instead vvv\n (longPressDelay != null ? longPressDelay : BASE_OPTION_DEFAULTS.longPressDelay) :\n 0;\n };\n this.handleDragStart = function (ev) {\n if (ev.isTouch &&\n _this.dragging.delay &&\n ev.subjectEl.classList.contains('fc-event')) {\n _this.dragging.mirror.getMirrorEl().classList.add('fc-event-selected');\n }\n };\n this.settings = settings;\n var dragging = this.dragging = new FeaturefulElementDragging(el);\n dragging.touchScrollAllowed = false;\n if (settings.itemSelector != null) {\n dragging.pointer.selector = settings.itemSelector;\n }\n if (settings.appendTo != null) {\n dragging.mirror.parentNode = settings.appendTo; // TODO: write tests\n }\n dragging.emitter.on('pointerdown', this.handlePointerDown);\n dragging.emitter.on('dragstart', this.handleDragStart);\n new ExternalElementDragging(dragging, settings.eventData); // eslint-disable-line no-new\n }\n ExternalDraggable.prototype.destroy = function () {\n this.dragging.destroy();\n };\n return ExternalDraggable;\n}());\n\n/*\nDetects when a *THIRD-PARTY* drag-n-drop system interacts with elements.\nThe third-party system is responsible for drawing the visuals effects of the drag.\nThis class simply monitors for pointer movements and fires events.\nIt also has the ability to hide the moving element (the \"mirror\") during the drag.\n*/\nvar InferredElementDragging = /** @class */ (function (_super) {\n __extends(InferredElementDragging, _super);\n function InferredElementDragging(containerEl) {\n var _this = _super.call(this, containerEl) || this;\n _this.shouldIgnoreMove = false;\n _this.mirrorSelector = '';\n _this.currentMirrorEl = null;\n _this.handlePointerDown = function (ev) {\n _this.emitter.trigger('pointerdown', ev);\n if (!_this.shouldIgnoreMove) {\n // fire dragstart right away. does not support delay or min-distance\n _this.emitter.trigger('dragstart', ev);\n }\n };\n _this.handlePointerMove = function (ev) {\n if (!_this.shouldIgnoreMove) {\n _this.emitter.trigger('dragmove', ev);\n }\n };\n _this.handlePointerUp = function (ev) {\n _this.emitter.trigger('pointerup', ev);\n if (!_this.shouldIgnoreMove) {\n // fire dragend right away. does not support a revert animation\n _this.emitter.trigger('dragend', ev);\n }\n };\n var pointer = _this.pointer = new PointerDragging(containerEl);\n pointer.emitter.on('pointerdown', _this.handlePointerDown);\n pointer.emitter.on('pointermove', _this.handlePointerMove);\n pointer.emitter.on('pointerup', _this.handlePointerUp);\n return _this;\n }\n InferredElementDragging.prototype.destroy = function () {\n this.pointer.destroy();\n };\n InferredElementDragging.prototype.setIgnoreMove = function (bool) {\n this.shouldIgnoreMove = bool;\n };\n InferredElementDragging.prototype.setMirrorIsVisible = function (bool) {\n if (bool) {\n // restore a previously hidden element.\n // use the reference in case the selector class has already been removed.\n if (this.currentMirrorEl) {\n this.currentMirrorEl.style.visibility = '';\n this.currentMirrorEl = null;\n }\n }\n else {\n var mirrorEl = this.mirrorSelector\n // TODO: somehow query FullCalendars WITHIN shadow-roots\n ? document.querySelector(this.mirrorSelector)\n : null;\n if (mirrorEl) {\n this.currentMirrorEl = mirrorEl;\n mirrorEl.style.visibility = 'hidden';\n }\n }\n };\n return InferredElementDragging;\n}(ElementDragging));\n\n/*\nBridges third-party drag-n-drop systems with FullCalendar.\nMust be instantiated and destroyed by caller.\n*/\nvar ThirdPartyDraggable = /** @class */ (function () {\n function ThirdPartyDraggable(containerOrSettings, settings) {\n var containerEl = document;\n if (\n // wish we could just test instanceof EventTarget, but doesn't work in IE11\n containerOrSettings === document ||\n containerOrSettings instanceof Element) {\n containerEl = containerOrSettings;\n settings = settings || {};\n }\n else {\n settings = (containerOrSettings || {});\n }\n var dragging = this.dragging = new InferredElementDragging(containerEl);\n if (typeof settings.itemSelector === 'string') {\n dragging.pointer.selector = settings.itemSelector;\n }\n else if (containerEl === document) {\n dragging.pointer.selector = '[data-event]';\n }\n if (typeof settings.mirrorSelector === 'string') {\n dragging.mirrorSelector = settings.mirrorSelector;\n }\n new ExternalElementDragging(dragging, settings.eventData); // eslint-disable-line no-new\n }\n ThirdPartyDraggable.prototype.destroy = function () {\n this.dragging.destroy();\n };\n return ThirdPartyDraggable;\n}());\n\nvar main = createPlugin({\n componentInteractions: [DateClicking, DateSelecting, EventDragging, EventResizing],\n calendarInteractions: [UnselectAuto],\n elementDraggingImpl: FeaturefulElementDragging,\n optionRefiners: OPTION_REFINERS,\n listenerRefiners: LISTENER_REFINERS,\n});\n\nexport default main;\nexport { ExternalDraggable as Draggable, FeaturefulElementDragging, PointerDragging, ThirdPartyDraggable };\n//# sourceMappingURL=main.js.map\n","/*!\nFullCalendar v5.11.5\nDocs & License: https://fullcalendar.io/\n(c) 2022 Adam Shaw\n*/\nimport './main.css';\n\nimport { getUniqueDomId, getDateMeta, buildNavLinkAttrs, getDayClassNames, createElement, RenderHook, formatDayString, BaseComponent, Fragment, createFormatter, EventRoot, getSegAnchorAttrs, isMultiDayRange, buildSegTimeText, memoize, ViewRoot, Scroller, NowTimer, sortEventSegs, getSegMeta, sliceEventStore, intersectRanges, DateComponent, startOfDay, addDays, identity, createPlugin } from '@fullcalendar/common';\nimport { __extends, __assign } from 'tslib';\n\nvar ListViewHeaderRow = /** @class */ (function (_super) {\n __extends(ListViewHeaderRow, _super);\n function ListViewHeaderRow() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this.state = {\n textId: getUniqueDomId(),\n };\n return _this;\n }\n ListViewHeaderRow.prototype.render = function () {\n var _a = this.context, theme = _a.theme, dateEnv = _a.dateEnv, options = _a.options, viewApi = _a.viewApi;\n var _b = this.props, cellId = _b.cellId, dayDate = _b.dayDate, todayRange = _b.todayRange;\n var textId = this.state.textId;\n var dayMeta = getDateMeta(dayDate, todayRange);\n // will ever be falsy?\n var text = options.listDayFormat ? dateEnv.format(dayDate, options.listDayFormat) : '';\n // will ever be falsy? also, BAD NAME \"alt\"\n var sideText = options.listDaySideFormat ? dateEnv.format(dayDate, options.listDaySideFormat) : '';\n var hookProps = __assign({ date: dateEnv.toDate(dayDate), view: viewApi, textId: textId,\n text: text,\n sideText: sideText, navLinkAttrs: buildNavLinkAttrs(this.context, dayDate), sideNavLinkAttrs: buildNavLinkAttrs(this.context, dayDate, 'day', false) }, dayMeta);\n var classNames = ['fc-list-day'].concat(getDayClassNames(dayMeta, theme));\n // TODO: make a reusable HOC for dayHeader (used in daygrid/timegrid too)\n return (createElement(RenderHook, { hookProps: hookProps, classNames: options.dayHeaderClassNames, content: options.dayHeaderContent, defaultContent: renderInnerContent, didMount: options.dayHeaderDidMount, willUnmount: options.dayHeaderWillUnmount }, function (rootElRef, customClassNames, innerElRef, innerContent) { return (createElement(\"tr\", { ref: rootElRef, className: classNames.concat(customClassNames).join(' '), \"data-date\": formatDayString(dayDate) },\n createElement(\"th\", { scope: \"colgroup\", colSpan: 3, id: cellId, \"aria-labelledby\": textId },\n createElement(\"div\", { className: 'fc-list-day-cushion ' + theme.getClass('tableCellShaded'), ref: innerElRef }, innerContent)))); }));\n };\n return ListViewHeaderRow;\n}(BaseComponent));\nfunction renderInnerContent(props) {\n return (createElement(Fragment, null,\n props.text && (createElement(\"a\", __assign({ id: props.textId, className: \"fc-list-day-text\" }, props.navLinkAttrs), props.text)),\n props.sideText && ( /* not keyboard tabbable */createElement(\"a\", __assign({ \"aria-hidden\": true, className: \"fc-list-day-side-text\" }, props.sideNavLinkAttrs), props.sideText))));\n}\n\nvar DEFAULT_TIME_FORMAT = createFormatter({\n hour: 'numeric',\n minute: '2-digit',\n meridiem: 'short',\n});\nvar ListViewEventRow = /** @class */ (function (_super) {\n __extends(ListViewEventRow, _super);\n function ListViewEventRow() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n ListViewEventRow.prototype.render = function () {\n var _a = this, props = _a.props, context = _a.context;\n var seg = props.seg, timeHeaderId = props.timeHeaderId, eventHeaderId = props.eventHeaderId, dateHeaderId = props.dateHeaderId;\n var timeFormat = context.options.eventTimeFormat || DEFAULT_TIME_FORMAT;\n return (createElement(EventRoot, { seg: seg, timeText: \"\" // BAD. because of all-day content\n , 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 (createElement(\"tr\", { className: ['fc-list-event', hookProps.event.url ? 'fc-event-forced-url' : ''].concat(classNames).join(' '), ref: rootElRef },\n buildTimeContent(seg, timeFormat, context, timeHeaderId, dateHeaderId),\n createElement(\"td\", { \"aria-hidden\": true, className: \"fc-list-event-graphic\" },\n createElement(\"span\", { className: \"fc-list-event-dot\", style: { borderColor: hookProps.borderColor || hookProps.backgroundColor } })),\n createElement(\"td\", { ref: innerElRef, headers: eventHeaderId + \" \" + dateHeaderId, className: \"fc-list-event-title\" }, innerContent))); }));\n };\n return ListViewEventRow;\n}(BaseComponent));\nfunction renderEventInnerContent(seg, context) {\n var interactiveAttrs = getSegAnchorAttrs(seg, context);\n return (createElement(\"a\", __assign({}, interactiveAttrs), seg.eventRange.def.title));\n}\nfunction buildTimeContent(seg, timeFormat, context, timeHeaderId, dateHeaderId) {\n var options = context.options;\n if (options.displayEventTime !== false) {\n var eventDef = seg.eventRange.def;\n var eventInstance = seg.eventRange.instance;\n var doAllDay = false;\n var timeText = void 0;\n if (eventDef.allDay) {\n doAllDay = true;\n }\n else if (isMultiDayRange(seg.eventRange.range)) { // TODO: use (!isStart || !isEnd) instead?\n if (seg.isStart) {\n timeText = buildSegTimeText(seg, timeFormat, context, null, null, eventInstance.range.start, seg.end);\n }\n else if (seg.isEnd) {\n timeText = buildSegTimeText(seg, timeFormat, context, null, null, seg.start, eventInstance.range.end);\n }\n else {\n doAllDay = true;\n }\n }\n else {\n timeText = buildSegTimeText(seg, timeFormat, context);\n }\n if (doAllDay) {\n var hookProps = {\n text: context.options.allDayText,\n view: context.viewApi,\n };\n return (createElement(RenderHook, { hookProps: hookProps, classNames: options.allDayClassNames, content: options.allDayContent, defaultContent: renderAllDayInner, didMount: options.allDayDidMount, willUnmount: options.allDayWillUnmount }, function (rootElRef, classNames, innerElRef, innerContent) { return (createElement(\"td\", { ref: rootElRef, headers: timeHeaderId + \" \" + dateHeaderId, className: ['fc-list-event-time'].concat(classNames).join(' ') }, innerContent)); }));\n }\n return (createElement(\"td\", { className: \"fc-list-event-time\" }, timeText));\n }\n return null;\n}\nfunction renderAllDayInner(hookProps) {\n return hookProps.text;\n}\n\n/*\nResponsible for the scroller, and forwarding event-related actions into the \"grid\".\n*/\nvar ListView = /** @class */ (function (_super) {\n __extends(ListView, _super);\n function ListView() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this.computeDateVars = memoize(computeDateVars);\n _this.eventStoreToSegs = memoize(_this._eventStoreToSegs);\n _this.state = {\n timeHeaderId: getUniqueDomId(),\n eventHeaderId: getUniqueDomId(),\n dateHeaderIdRoot: getUniqueDomId(),\n };\n _this.setRootEl = function (rootEl) {\n if (rootEl) {\n _this.context.registerInteractiveComponent(_this, {\n el: rootEl,\n });\n }\n else {\n _this.context.unregisterInteractiveComponent(_this);\n }\n };\n return _this;\n }\n ListView.prototype.render = function () {\n var _this = this;\n var _a = this, props = _a.props, context = _a.context;\n var extraClassNames = [\n 'fc-list',\n context.theme.getClass('table'),\n context.options.stickyHeaderDates !== false ? 'fc-list-sticky' : '',\n ];\n var _b = this.computeDateVars(props.dateProfile), dayDates = _b.dayDates, dayRanges = _b.dayRanges;\n var eventSegs = this.eventStoreToSegs(props.eventStore, props.eventUiBases, dayRanges);\n return (createElement(ViewRoot, { viewSpec: context.viewSpec, elRef: this.setRootEl }, function (rootElRef, classNames) { return (createElement(\"div\", { ref: rootElRef, className: extraClassNames.concat(classNames).join(' ') },\n createElement(Scroller, { liquid: !props.isHeightAuto, overflowX: props.isHeightAuto ? 'visible' : 'hidden', overflowY: props.isHeightAuto ? 'visible' : 'auto' }, eventSegs.length > 0 ?\n _this.renderSegList(eventSegs, dayDates) :\n _this.renderEmptyMessage()))); }));\n };\n ListView.prototype.renderEmptyMessage = function () {\n var _a = this.context, options = _a.options, viewApi = _a.viewApi;\n var hookProps = {\n text: options.noEventsText,\n view: viewApi,\n };\n return (createElement(RenderHook, { hookProps: hookProps, classNames: options.noEventsClassNames, content: options.noEventsContent, defaultContent: renderNoEventsInner, didMount: options.noEventsDidMount, willUnmount: options.noEventsWillUnmount }, function (rootElRef, classNames, innerElRef, innerContent) { return (createElement(\"div\", { className: ['fc-list-empty'].concat(classNames).join(' '), ref: rootElRef },\n createElement(\"div\", { className: \"fc-list-empty-cushion\", ref: innerElRef }, innerContent))); }));\n };\n ListView.prototype.renderSegList = function (allSegs, dayDates) {\n var _a = this.context, theme = _a.theme, options = _a.options;\n var _b = this.state, timeHeaderId = _b.timeHeaderId, eventHeaderId = _b.eventHeaderId, dateHeaderIdRoot = _b.dateHeaderIdRoot;\n var segsByDay = groupSegsByDay(allSegs); // sparse array\n return (createElement(NowTimer, { unit: \"day\" }, function (nowDate, todayRange) {\n var innerNodes = [];\n for (var dayIndex = 0; dayIndex < segsByDay.length; dayIndex += 1) {\n var daySegs = segsByDay[dayIndex];\n if (daySegs) { // sparse array, so might be undefined\n var dayStr = formatDayString(dayDates[dayIndex]);\n var dateHeaderId = dateHeaderIdRoot + '-' + dayStr;\n // append a day header\n innerNodes.push(createElement(ListViewHeaderRow, { key: dayStr, cellId: dateHeaderId, dayDate: dayDates[dayIndex], todayRange: todayRange }));\n daySegs = sortEventSegs(daySegs, options.eventOrder);\n for (var _i = 0, daySegs_1 = daySegs; _i < daySegs_1.length; _i++) {\n var seg = daySegs_1[_i];\n innerNodes.push(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 }, getSegMeta(seg, todayRange, nowDate))));\n }\n }\n }\n return (createElement(\"table\", { className: 'fc-list-table ' + theme.getClass('table') },\n createElement(\"thead\", null,\n createElement(\"tr\", null,\n createElement(\"th\", { scope: \"col\", id: timeHeaderId }, options.timeHint),\n createElement(\"th\", { scope: \"col\", \"aria-hidden\": true }),\n createElement(\"th\", { scope: \"col\", id: eventHeaderId }, options.eventHint))),\n createElement(\"tbody\", null, innerNodes)));\n }));\n };\n ListView.prototype._eventStoreToSegs = function (eventStore, eventUiBases, dayRanges) {\n return this.eventRangesToSegs(sliceEventStore(eventStore, eventUiBases, this.props.dateProfile.activeRange, this.context.options.nextDayThreshold).fg, dayRanges);\n };\n ListView.prototype.eventRangesToSegs = function (eventRanges, dayRanges) {\n var segs = [];\n for (var _i = 0, eventRanges_1 = eventRanges; _i < eventRanges_1.length; _i++) {\n var eventRange = eventRanges_1[_i];\n segs.push.apply(segs, this.eventRangeToSegs(eventRange, dayRanges));\n }\n return segs;\n };\n ListView.prototype.eventRangeToSegs = function (eventRange, dayRanges) {\n var dateEnv = this.context.dateEnv;\n var nextDayThreshold = this.context.options.nextDayThreshold;\n var range = eventRange.range;\n var allDay = eventRange.def.allDay;\n var dayIndex;\n var segRange;\n var seg;\n var segs = [];\n for (dayIndex = 0; dayIndex < dayRanges.length; dayIndex += 1) {\n segRange = intersectRanges(range, dayRanges[dayIndex]);\n if (segRange) {\n seg = {\n component: this,\n eventRange: eventRange,\n start: segRange.start,\n end: segRange.end,\n isStart: eventRange.isStart && segRange.start.valueOf() === range.start.valueOf(),\n isEnd: eventRange.isEnd && segRange.end.valueOf() === range.end.valueOf(),\n dayIndex: dayIndex,\n };\n segs.push(seg);\n // detect when range won't go fully into the next day,\n // and mutate the latest seg to the be the end.\n if (!seg.isEnd && !allDay &&\n dayIndex + 1 < dayRanges.length &&\n range.end <\n dateEnv.add(dayRanges[dayIndex + 1].start, nextDayThreshold)) {\n seg.end = range.end;\n seg.isEnd = true;\n break;\n }\n }\n }\n return segs;\n };\n return ListView;\n}(DateComponent));\nfunction renderNoEventsInner(hookProps) {\n return hookProps.text;\n}\nfunction computeDateVars(dateProfile) {\n var dayStart = startOfDay(dateProfile.renderRange.start);\n var viewEnd = dateProfile.renderRange.end;\n var dayDates = [];\n var dayRanges = [];\n while (dayStart < viewEnd) {\n dayDates.push(dayStart);\n dayRanges.push({\n start: dayStart,\n end: addDays(dayStart, 1),\n });\n dayStart = addDays(dayStart, 1);\n }\n return { dayDates: dayDates, dayRanges: dayRanges };\n}\n// Returns a sparse array of arrays, segs grouped by their dayIndex\nfunction groupSegsByDay(segs) {\n var segsByDay = []; // sparse array\n var i;\n var seg;\n for (i = 0; i < segs.length; i += 1) {\n seg = segs[i];\n (segsByDay[seg.dayIndex] || (segsByDay[seg.dayIndex] = []))\n .push(seg);\n }\n return segsByDay;\n}\n\nvar OPTION_REFINERS = {\n listDayFormat: createFalsableFormatter,\n listDaySideFormat: createFalsableFormatter,\n noEventsClassNames: identity,\n noEventsContent: identity,\n noEventsDidMount: identity,\n noEventsWillUnmount: identity,\n // noEventsText is defined in base options\n};\nfunction createFalsableFormatter(input) {\n return input === false ? null : createFormatter(input);\n}\n\nvar main = createPlugin({\n optionRefiners: OPTION_REFINERS,\n views: {\n list: {\n component: ListView,\n buttonTextKey: 'list',\n listDayFormat: { month: 'long', day: 'numeric', year: 'numeric' }, // like \"January 1, 2016\"\n },\n listDay: {\n type: 'list',\n duration: { days: 1 },\n listDayFormat: { weekday: 'long' }, // day-of-week is all we need. full date is probably in headerToolbar\n },\n listWeek: {\n type: 'list',\n duration: { weeks: 1 },\n listDayFormat: { weekday: 'long' },\n listDaySideFormat: { month: 'long', day: 'numeric', year: 'numeric' },\n },\n listMonth: {\n type: 'list',\n duration: { month: 1 },\n listDaySideFormat: { weekday: 'long' }, // day-of-week is nice-to-have\n },\n listYear: {\n type: 'list',\n duration: { year: 1 },\n listDaySideFormat: { weekday: 'long' }, // day-of-week is nice-to-have\n },\n },\n});\n\nexport default main;\nexport { ListView };\n//# sourceMappingURL=main.js.map\n","/*!\nFullCalendar v5.11.5\nDocs & License: https://fullcalendar.io/\n(c) 2022 Adam Shaw\n*/\nimport './main.css';\n\nimport { hasBgRendering, Splitter, createFormatter, createElement, ViewContextType, RenderHook, BaseComponent, createRef, diffDays, buildNavLinkAttrs, WeekNumberRoot, getStickyHeaderDates, ViewRoot, SimpleScrollGrid, getStickyFooterScrollbar, NowTimer, NowIndicatorRoot, renderScrollShim, DateComponent, rangeContainsMarker, startOfDay, asRoughMs, createDuration, RefMap, PositionCache, MoreLinkRoot, setRef, SegHierarchy, groupIntersectingEntries, buildEntryKey, binarySearch, getEntrySpanEnd, StandardEvent, DayCellContent, Fragment, getSegMeta, memoize, sortEventSegs, DayCellRoot, buildIsoString, computeEarliestSegStart, buildEventRangeKey, BgEvent, renderFill, addDurations, multiplyDuration, wholeDivideDurations, intersectRanges, Slicer, formatIsoTimeString, DayHeader, DaySeriesModel, DayTableModel, createPlugin } from '@fullcalendar/common';\nimport { __extends, __assign } from 'tslib';\nimport { DayTable } from '@fullcalendar/daygrid';\n\nvar AllDaySplitter = /** @class */ (function (_super) {\n __extends(AllDaySplitter, _super);\n function AllDaySplitter() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n AllDaySplitter.prototype.getKeyInfo = function () {\n return {\n allDay: {},\n timed: {},\n };\n };\n AllDaySplitter.prototype.getKeysForDateSpan = function (dateSpan) {\n if (dateSpan.allDay) {\n return ['allDay'];\n }\n return ['timed'];\n };\n AllDaySplitter.prototype.getKeysForEventDef = function (eventDef) {\n if (!eventDef.allDay) {\n return ['timed'];\n }\n if (hasBgRendering(eventDef)) {\n return ['timed', 'allDay'];\n }\n return ['allDay'];\n };\n return AllDaySplitter;\n}(Splitter));\n\nvar DEFAULT_SLAT_LABEL_FORMAT = createFormatter({\n hour: 'numeric',\n minute: '2-digit',\n omitZeroMinute: true,\n meridiem: 'short',\n});\nfunction TimeColsAxisCell(props) {\n var classNames = [\n 'fc-timegrid-slot',\n 'fc-timegrid-slot-label',\n props.isLabeled ? 'fc-scrollgrid-shrink' : 'fc-timegrid-slot-minor',\n ];\n return (createElement(ViewContextType.Consumer, null, function (context) {\n if (!props.isLabeled) {\n return (createElement(\"td\", { className: classNames.join(' '), \"data-time\": props.isoTimeStr }));\n }\n var dateEnv = context.dateEnv, options = context.options, viewApi = context.viewApi;\n var labelFormat = // TODO: fully pre-parse\n options.slotLabelFormat == null ? DEFAULT_SLAT_LABEL_FORMAT :\n Array.isArray(options.slotLabelFormat) ? createFormatter(options.slotLabelFormat[0]) :\n createFormatter(options.slotLabelFormat);\n var hookProps = {\n level: 0,\n time: props.time,\n date: dateEnv.toDate(props.date),\n view: viewApi,\n text: dateEnv.format(props.date, labelFormat),\n };\n return (createElement(RenderHook, { hookProps: hookProps, classNames: options.slotLabelClassNames, content: options.slotLabelContent, defaultContent: renderInnerContent, didMount: options.slotLabelDidMount, willUnmount: options.slotLabelWillUnmount }, function (rootElRef, customClassNames, innerElRef, innerContent) { return (createElement(\"td\", { ref: rootElRef, className: classNames.concat(customClassNames).join(' '), \"data-time\": props.isoTimeStr },\n createElement(\"div\", { className: \"fc-timegrid-slot-label-frame fc-scrollgrid-shrink-frame\" },\n createElement(\"div\", { className: \"fc-timegrid-slot-label-cushion fc-scrollgrid-shrink-cushion\", ref: innerElRef }, innerContent)))); }));\n }));\n}\nfunction renderInnerContent(props) {\n return props.text;\n}\n\nvar TimeBodyAxis = /** @class */ (function (_super) {\n __extends(TimeBodyAxis, _super);\n function TimeBodyAxis() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n TimeBodyAxis.prototype.render = function () {\n return this.props.slatMetas.map(function (slatMeta) { return (createElement(\"tr\", { key: slatMeta.key },\n createElement(TimeColsAxisCell, __assign({}, slatMeta)))); });\n };\n return TimeBodyAxis;\n}(BaseComponent));\n\nvar DEFAULT_WEEK_NUM_FORMAT = createFormatter({ week: 'short' });\nvar AUTO_ALL_DAY_MAX_EVENT_ROWS = 5;\nvar TimeColsView = /** @class */ (function (_super) {\n __extends(TimeColsView, _super);\n function TimeColsView() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this.allDaySplitter = new AllDaySplitter(); // for use by subclasses\n _this.headerElRef = createRef();\n _this.rootElRef = createRef();\n _this.scrollerElRef = createRef();\n _this.state = {\n slatCoords: null,\n };\n _this.handleScrollTopRequest = function (scrollTop) {\n var scrollerEl = _this.scrollerElRef.current;\n if (scrollerEl) { // TODO: not sure how this could ever be null. weirdness with the reducer\n scrollerEl.scrollTop = scrollTop;\n }\n };\n /* Header Render Methods\n ------------------------------------------------------------------------------------------------------------------*/\n _this.renderHeadAxis = function (rowKey, frameHeight) {\n if (frameHeight === void 0) { frameHeight = ''; }\n var options = _this.context.options;\n var dateProfile = _this.props.dateProfile;\n var range = dateProfile.renderRange;\n var dayCnt = diffDays(range.start, range.end);\n var navLinkAttrs = (dayCnt === 1) // only do in day views (to avoid doing in week views that dont need it)\n ? buildNavLinkAttrs(_this.context, range.start, 'week')\n : {};\n if (options.weekNumbers && rowKey === 'day') {\n return (createElement(WeekNumberRoot, { date: range.start, defaultFormat: DEFAULT_WEEK_NUM_FORMAT }, function (rootElRef, classNames, innerElRef, innerContent) { return (createElement(\"th\", { ref: rootElRef, \"aria-hidden\": true, className: [\n 'fc-timegrid-axis',\n 'fc-scrollgrid-shrink',\n ].concat(classNames).join(' ') },\n createElement(\"div\", { className: \"fc-timegrid-axis-frame fc-scrollgrid-shrink-frame fc-timegrid-axis-frame-liquid\", style: { height: frameHeight } },\n createElement(\"a\", __assign({ ref: innerElRef, className: \"fc-timegrid-axis-cushion fc-scrollgrid-shrink-cushion fc-scrollgrid-sync-inner\" }, navLinkAttrs), innerContent)))); }));\n }\n return (createElement(\"th\", { \"aria-hidden\": true, className: \"fc-timegrid-axis\" },\n createElement(\"div\", { className: \"fc-timegrid-axis-frame\", style: { height: frameHeight } })));\n };\n /* Table Component Render Methods\n ------------------------------------------------------------------------------------------------------------------*/\n // only a one-way height sync. we don't send the axis inner-content height to the DayGrid,\n // but DayGrid still needs to have classNames on inner elements in order to measure.\n _this.renderTableRowAxis = function (rowHeight) {\n var _a = _this.context, options = _a.options, viewApi = _a.viewApi;\n var hookProps = {\n text: options.allDayText,\n view: viewApi,\n };\n return (\n // TODO: make reusable hook. used in list view too\n createElement(RenderHook, { hookProps: hookProps, classNames: options.allDayClassNames, content: options.allDayContent, defaultContent: renderAllDayInner, didMount: options.allDayDidMount, willUnmount: options.allDayWillUnmount }, function (rootElRef, classNames, innerElRef, innerContent) { return (createElement(\"td\", { ref: rootElRef, \"aria-hidden\": true, className: [\n 'fc-timegrid-axis',\n 'fc-scrollgrid-shrink',\n ].concat(classNames).join(' ') },\n createElement(\"div\", { className: 'fc-timegrid-axis-frame fc-scrollgrid-shrink-frame' + (rowHeight == null ? ' fc-timegrid-axis-frame-liquid' : ''), style: { height: rowHeight } },\n createElement(\"span\", { className: \"fc-timegrid-axis-cushion fc-scrollgrid-shrink-cushion fc-scrollgrid-sync-inner\", ref: innerElRef }, innerContent)))); }));\n };\n _this.handleSlatCoords = function (slatCoords) {\n _this.setState({ slatCoords: slatCoords });\n };\n return _this;\n }\n // rendering\n // ----------------------------------------------------------------------------------------------------\n TimeColsView.prototype.renderSimpleLayout = function (headerRowContent, allDayContent, timeContent) {\n var _a = this, context = _a.context, props = _a.props;\n var sections = [];\n var stickyHeaderDates = getStickyHeaderDates(context.options);\n if (headerRowContent) {\n sections.push({\n type: 'header',\n key: 'header',\n isSticky: stickyHeaderDates,\n chunk: {\n elRef: this.headerElRef,\n tableClassName: 'fc-col-header',\n rowContent: headerRowContent,\n },\n });\n }\n if (allDayContent) {\n sections.push({\n type: 'body',\n key: 'all-day',\n chunk: { content: allDayContent },\n });\n sections.push({\n type: 'body',\n key: 'all-day-divider',\n outerContent: ( // TODO: rename to cellContent so don't need to define | |
---|