{"version":3,"sources":["webpack:///./node_modules/@fullcalendar/interaction/node_modules/tslib/tslib.es6.js","webpack:///./node_modules/@fullcalendar/interaction/main.js","webpack:///./src/views/Calendar.vue?d2b3","webpack:///./node_modules/@fullcalendar/vue/node_modules/tslib/tslib.es6.js","webpack:///./node_modules/@fullcalendar/core/node_modules/tslib/tslib.es6.js","webpack:///./node_modules/preact/dist/preact.module.js","webpack:///./node_modules/@fullcalendar/core/vdom.js","webpack:///./node_modules/@fullcalendar/core/main.js","webpack:///./node_modules/@fullcalendar/vue/dist/options.js","webpack:///./node_modules/@fullcalendar/vue/dist/utils.js","webpack:///./node_modules/@fullcalendar/vue/dist/custom-content-type.js","webpack:///./node_modules/@fullcalendar/vue/dist/FullCalendar.js","webpack:///./node_modules/@fullcalendar/vue/dist/main.js","webpack:///./node_modules/@fullcalendar/daygrid/node_modules/tslib/tslib.es6.js","webpack:///./node_modules/@fullcalendar/daygrid/main.js","webpack:///src/views/Calendar.vue","webpack:///./src/views/Calendar.vue?2a0a","webpack:///./src/views/Calendar.vue","webpack:///./node_modules/@fullcalendar/common/node_modules/tslib/tslib.es6.js","webpack:///./node_modules/@fullcalendar/common/vdom.js","webpack:///./node_modules/@fullcalendar/common/main.js"],"names":["extendStatics","d","b","Object","setPrototypeOf","__proto__","Array","p","prototype","hasOwnProperty","call","__extends","__","this","constructor","create","__assign","assign","t","s","i","n","arguments","length","apply","touchMouseIgnoreWait","ignoreMouseDepth","listenerCnt","isWindowTouchMoveCancelled","PointerDragging","containerEl","_this","subjectEl","selector","handleSelector","shouldIgnoreMove","shouldWatchScroll","isDragging","isTouchDragging","wasTouchScroll","handleMouseDown","ev","shouldIgnoreMouse","isPrimaryMouseButton","tryStart","pev","createEventFromMouse","emitter","trigger","initScrollWatch","document","addEventListener","handleMouseMove","handleMouseUp","recordCoords","removeEventListener","cleanup","handleTouchStart","createEventFromTouch","targetEl","target","handleTouchMove","handleTouchEnd","window","handleTouchScroll","startIgnoringMouse","handleScroll","pageX","pageXOffset","prevScrollX","prevPageX","pageY","pageYOffset","prevScrollY","prevPageY","origEvent","isTouch","deltaX","origPageX","deltaY","origPageY","passive","listenerCreated","destroy","listenerDestroyed","querySubjectEl","downEl","destroyScrollWatch","cancelTouchScroll","isFirst","touches","button","ctrlKey","setTimeout","onWindowTouchMove","preventDefault","ElementMirror","isVisible","sourceEl","mirrorEl","sourceElRect","parentNode","body","zIndex","revertDuration","start","getBoundingClientRect","origScreenX","origScreenY","updateElPosition","handleMove","setIsVisible","bool","style","display","stop","needsRevertAnimation","callback","done","doRevertAnimation","finalSourceElRect","transition","left","top","getMirrorEl","cloneNode","classList","add","position","visibility","boxSizing","width","right","height","bottom","margin","appendChild","_super","ScrollGeomCache","scrollController","doesListening","scrollTop","getScrollTop","scrollLeft","getScrollLeft","handleScrollChange","origScrollTop","origScrollLeft","scrollWidth","getScrollWidth","scrollHeight","getScrollHeight","clientWidth","getClientWidth","clientHeight","getClientHeight","clientRect","computeClientRect","getEventTarget","setScrollTop","Math","max","min","getMaxScrollTop","setScrollLeft","getMaxScrollLeft","ElementScrollGeomCache","el","WindowScrollGeomCache","getTime","performance","now","Date","AutoScroller","isEnabled","scrollQuery","edgeThreshold","maxVelocity","pointerScreenX","pointerScreenY","isAnimating","scrollCaches","everMovedUp","everMovedDown","everMovedLeft","everMovedRight","animate","edge","computeBestEdge","handleSide","msSinceRequest","requestAnimation","buildCaches","yDelta","xDelta","_i","_a","scrollCache","requestAnimationFrame","seconds","invDistance","distance","velocity","sign","name","bestSide","rect","leftDist","rightDist","topDist","bottomDist","canScrollUp","canScrollDown","canScrollLeft","canScrollRight","queryScrollEls","map","els","query","push","slice","querySelectorAll","FeaturefulElementDragging","delay","minDistance","touchScrollAllowed","mirrorNeedsRevert","isInteracting","isDelayEnded","isDistanceSurpassed","delayTimeoutId","onPointerDown","pointer","mirror","startDelay","handleDistanceSurpassed","onPointerMove","distanceSq","type","autoScroller","onPointerUp","tryStopDrag","clearTimeout","on","handleDelayEnd","tryStartDrag","stopDrag","bind","setIgnoreMove","setMirrorIsVisible","setMirrorNeedsRevert","setAutoScrollEnabled","OffsetTracker","origRect","computeLeft","computeTop","isWithinClipping","point","isIgnoredClipping","node","tagName","HitDragging","dragging","droppableStore","useSubjectCenter","requireInitial","initialHit","movingHit","finalHit","handlePointerDown","prepareHits","processFirstCoord","handleDragStart","handleDragMove","handlePointerUp","releaseHits","handleDragEnd","subjectRect","origPoint","adjustedPoint","queryHitForOffset","slicedSubjectRect","coordAdjust","forceHandle","hit","isHitsEqual","offsetTrackers","interactionSettings","component","id","offsetLeft","offsetTop","bestHit","offsetTracker","originLeft","originTop","positionLeft","positionTop","queryHit","dateProfile","context","getCurrentData","activeRange","dateSpan","range","layer","hit0","hit1","Boolean","buildDatePointApiWithContext","props","pluginHooks","datePointTransforms","transform","buildDatePointApi","dateEnv","span","date","toDate","dateStr","formatIso","omitTime","allDay","DateClicking","settings","isValidDateDownEl","hitDragging","arg","dayEl","jsEvent","view","viewApi","calendarApi","DateSelecting","dragSelection","options","canSelect","selectable","getComponentTouchDelay","unselect","handleHitUpdate","isFinal","isInvalid","joinHitsIntoSelection","dateSelectionTransformers","isDateSelectionValid","dispatch","selection","selectMinDistance","dragScroll","selectLongPressDelay","longPressDelay","dateSpan0","dateSpan1","ms","end","sort","dateSelectionTransformers_1","transformer","res","EventDragging","subjectSeg","eventRange","relevantEvents","receivingContext","validMutation","mutatedRelevantEvents","origTarget","initialContext","eventInstanceId","instance","instanceId","eventStore","eventDragMinDistance","eventSelection","getComponentTouchDelay$1","dragRevertDuration","isValid","isValidSegDownEl","contains","event","def","mutation","interaction","affectedEvents","mutatedEvents","isEvent","receivingComponent","receivingOptions","editable","droppable","computeEventMutation","eventDragMutationMassagers","eventUiBases","isInteractionValid","displayDrag","querySelector","initialContext_1","initialView","receivingContext_1","eventDef","eventInstance","eventApi","relevantEvents_1","mutatedRelevantEvents_1","clearDrag","updatedEventApi","defs","defId","instances","eventChangeArg","oldEvent","relatedEvents","revert","transformed","_b","eventDropTransformers","delta","datesDelta","eventRemoveArg","draggedEl","addedEventDef","addedEventInstance","addedEventApi","eventAddArg","SELECTOR","useEventCenter","nextContext","state","prevContext","initialCalendar","massagers","date0","date1","standardProps","hasEnd","allDayMaintainDuration","largeUnit","milliseconds","massagers_1","massager","eventLongPressDelay","EventResizing","draggingSegEl","draggingSeg","segEl","querySegEl","seg","computeMutation","eventResizeJoinTransforms","startDelta","endDelta","isFromStart","instanceRange","transforms","transforms_1","UnselectAuto","isRecentPointerDateSelect","matchesCancel","matchesEvent","onSelect","selectInfo","onDocumentPointerDown","unselectCancel","onDocumentPointerUp","documentPointer","calendarState","dateSelection","unselectAuto","off","LISTENER_REFINERS","dateClick","eventDragStart","eventDragStop","eventDrop","eventResizeStart","eventResizeStop","eventResize","drop","eventReceive","eventLeave","ExternalElementDragging","suppliedDragMeta","droppableEvent","dragMeta","buildDragMeta","canDropElOnCalendar","computeEventForDateSpan","finalView","addingEvents_1","getDragMetaFromEl","dropAccept","defProps","leftoverProps","externalDefTransforms","refined","extra","sourceId","forceEventDuration","duration","startTime","str","getEmbeddedElData","obj","JSON","parse","prefix","dataAttrPrefix","prefixedName","getAttribute","ExternalDraggable","itemSelector","appendTo","eventData","InferredElementDragging","mirrorSelector","currentMirrorEl","handlePointerMove","ThirdPartyDraggable","containerOrSettings","Element","componentInteractions","calendarInteractions","elementDraggingImpl","listenerRefiners","render","_vm","_h","$createElement","_c","_self","attrs","calendarOptions","staticRenderFns","u","o","r","f","e","c","l","a","removeChild","v","children","defaultProps","h","key","ref","__k","__b","__e","__d","__c","__v","vnode","y","current","_","indexOf","w","base","k","m","__r","debounceRendering","some","__P","T","__n","ownerSVGElement","$","g","A","P","isArray","x","value","I","H","nextSibling","insertBefore","C","setProperty","test","replace","toLowerCase","z","removeAttributeNS","setAttributeNS","removeAttribute","setAttribute","N","contextType","__E","L","sub","__h","__s","getDerivedStateFromProps","componentWillMount","componentDidMount","componentWillReceiveProps","shouldComponentUpdate","componentWillUpdate","componentDidUpdate","getChildContext","getSnapshotBeforeUpdate","j","diffed","nodeType","localName","createTextNode","createElementNS","createElement","is","data","childNodes","dangerouslySetInnerHTML","attributes","__html","innerHTML","checked","unmount","componentWillUnmount","M","q","Consumer","Provider","splice","flushToDom","oldDebounceRendering","callbackQ","execCallbackSync","shift","getDerivedStateFromError","setState","componentDidCatch","forceUpdate","Promise","then","resolve","globalThis","FullCalendarVDom","Component","createRef","Fragment","createContext","FakeComponent","defaultValue","ContextType","origProvider","isNew","subs_1","_props","old","Calendar","optionOverrides","isRendering","isRendered","currentClassNames","customContentRenderId","handleAction","action","renderRunner","tryDrain","handleData","currentData","request","rerenderDelay","handleRenderRequest","currentData_1","theme","classNames","isHeightAuto","forPrint","setClassNames","setHeight","onAction","onData","defineProperty","get","enumerable","configurable","wasRendering","updateSize","batchRendering","func","pause","resume","pauseRendering","resumeRendering","resetOptions","append","currentDataManager","className","remove","classNames_1","OPTION_IS_COMPLEX","headerToolbar","footerToolbar","events","eventSources","resources","shallowCopy","val","mapHash","input","output","wrapVDomGenerator","vDomGenerator","vue","VueContentTypePlugin","contentTypeHandlers","buildVDomHandler","currentEl","vDomContent","$destroy","content","initVue","innerEl","$mount","initialContent","propsData","FullCalendar","extend","initData","renderId","mounted","internal","$options","scopedSlotOptions","$scopedSlots","calendar","$el","buildOptions","methods","getApi","beforeUpdate","beforeDestroy","watch","buildWatchers","suppliedOptions","plugins","concat","watchers","deep","handler","_loop_1","complexOptionName","undefined","GlobalVue","installed","install","Vue","use","il","jl","TableView","headerElRef","renderSimpleLayout","headerRowContent","bodyContent","sections","stickyHeaderDates","isSticky","chunk","elRef","tableClassName","rowContent","liquid","viewSpec","rootElRef","join","cols","renderHScrollLayout","colCnt","dayMinWidth","ScrollGrid","scrollGridImpl","Error","stickyFooterScrollbar","chunks","colGroups","minWidth","splitSegsByRow","segs","rowCnt","byRow","segs_1","row","splitSegsByFirstCol","byCol","segs_2","firstCol","splitInteractionByRow","ui","affectedInstances","DEFAULT_WEEK_NUM_FORMAT","week","TableCell","handleRootEl","rootEl","handleMoreLinkClick","onMoreClick","allSegs","segsByEachCol","hiddenSegs","filter","segIsHidden","moreCnt","hookProps","num","text","buildMoreLinkText","navLinkAttrs","navLinks","tabIndex","todayRange","showDayNumber","extraHookProps","rootDataAttrs","isDisabled","extraClassNames","extraDataAttrs","innerElRef","showWeekNumber","defaultFormat","innerContent","forceDayTop","fgContentElRef","paddingBottom","fgPaddingBottom","fgContent","marginTop","moreMarginTop","moreLinkClassNames","moreLinkContent","defaultContent","renderMoreLinkInner","didMount","moreLinkDidMount","willUnmount","moreLinkWillUnmount","onClick","bgContent","renderTopInner","dayNumberText","TableCellTop","DEFAULT_TABLE_EVENT_TIME_FORMAT","hour","minute","omitZeroMinute","meridiem","hasListItemDisplay","lastCol","isStart","isEnd","TableListItemEvent","timeFormat","eventTimeFormat","timeText","defaultDisplayEventEnd","renderInnerContent","isResizing","isDateSelecting","isSelected","isPast","isFuture","isToday","getSegAnchorAttrs","innerProps","borderColor","backgroundColor","title","url","href","TableBlockEvent","defaultTimeFormat","disableResizing","computeFgSegPlacement","cellModels","dayMaxEvents","dayMaxEventRows","eventHeights","maxContentHeight","eventOrderSpecs","colPlacements","moreCnts","segTops","segMarginTops","moreTops","paddingBottoms","eventHeight","placeSeg","limitByMaxHeight","limitByMaxEvents","limitByMaxRows","col","placements","currentNonAbsBottom","currentAbsHeight","placements_1","placement","segHeight","tryPlaceSegAt","canPlaceSegAt","insertionIndex","instanceIdAndFirstCol","split","segsByFirstCol","extractFirstColSegs","extractAllColSegs","resliceDaySegs","oneColPlacements","oneColPlacements_1","oneColPlacements_2","hiddenCnts","limitEvents","levelIndex","_moreLinkConsumesLevel","isPlacementInBounds","segIsVisible","visibleColPlacements","level","placements_2","recordVisible","recordHidden","currentLevel","moreLinkConsumesLevel","hiddenCnt","doomedLevel","pop","dayDate","colIndex","dayStart","dayEnd","dayRange","newSegs","origRange","slicedRange","durationEditable","valueOf","TableRow","cellElRefs","frameElRefs","fgElRefs","segHarnessRefs","framePositions","segHeights","cells","businessHoursByCol","businessHourSegs","bgEventSegsByCol","bgEventSegs","highlightSegsByCol","getHighlightSegs","mirrorSegsByCol","getMirrorSegs","fgEventSegs","eventOrder","selectedInstanceHash","eventDrag","renderIntro","cell","normalFgNodes","renderFgSegs","mirrorFgNodes","showDayNumbers","showWeekNumbers","renderFillSegs","updateSizing","prevProps","prevState","currentProps","dateSelectionSegs","nodes","isMirror","isInvisible","isAbsolute","top_1","isRtl","lefts","rights","fillType","leftRightCss","isExternalSizingChange","frameEls","currentMap","originEl","limitByContentHeight","computeSegHeights","computeMaxContentHeight","eventHarnessEl","firstKey","cellEl","fcContainerEl","getCellEls","elMap","addStateEquality","PADDING_FROM_VIEWPORT","SCROLL_DEBOUNCE","Popover","repositioner","handleDocumentMousedown","onClose","handleDocumentScroll","handleCloseClick","getClass","extraAttrs","getIconClass","alignmentEl","topAlignmentEl","dims","alignment","innerHeight","innerWidth","MorePopover","handlePopoverEl","popoverEl","registerInteractiveComponent","unregisterInteractiveComponent","hiddenInstances","selectedInstanceId","format","dayPopoverFormat","dayClassNames","dataAttrs","onCloseClick","elWidth","elHeight","isPopover","Table","splitBusinessHourSegs","splitBgEventSegs","splitFgEventSegs","splitDateSelectionSegs","splitEventDrag","splitEventResize","buildBuildMoreLinkText","rowRefs","morePopoverState","clickOption","moreLinkClick","segForPublic","zoomTo","currentFgEventSegs","handleMorePopoverClose","expandRows","businessHourSegsByRow","bgEventSegsByRow","fgEventSegsByRow","dateSelectionSegsByRow","eventDragByRow","eventResizeByRow","moreLinkText","limitViaBalanced","tableMinWidth","unit","nowDate","colGroupNode","toISOString","renderRowIntro","isSegAllDay","headerAlignElRef","rowPositions","collect","rowObj","colPositions","positionToHit","leftPosition","topPosition","leftToIndex","topToIndex","getCellRange","getCellEl","relativeRect","tops","bottoms","moreLinkTextInput","DayTable","slicer","tableRef","sliceProps","nextDayThreshold","dayTableModel","rawHit","DayTableSlicer","forceDayIfListItem","sliceRange","dateRange","DayTableView","buildDayTableModel","headerRef","dateProfileGenerator","headerContent","dayHeaders","dates","headerDates","datesRepDistinctDays","contentArg","businessHours","tableColGroupNode","weekNumbers","daySeries","renderRange","currentRangeUnit","TableDateProfileGenerator","buildRenderRange","currentRange","isRangeAllDay","endOfWeek","startOfWeek","monthMode","fixedWeekCount","ceil","OPTION_REFINERS","optionRefiners","views","dayGrid","dateProfileGeneratorClass","dayGridDay","days","dayGridWeek","weeks","dayGridMonth","months","components","__spreadArrays","EventSourceApi","internalEventSource","refetch","sourceIds","publicId","meta","removeElement","elementClosest","closest","documentElement","elementMatches","parentElement","method","matches","matchesSelector","msMatchesSelector","findElements","container","containers","HTMLElement","allMatches","PIXEL_PROP_RE","applyStyle","propName","applyStyleProp","buildDelegationHandler","matchedChild","listenBySelector","eventType","attachedHandler","listenToHoverBySelector","onMouseEnter","onMouseLeave","currentMatchedChild","realOnMouseLeave_1","transitionEventNames","whenTransitionDone","realCallback","forEach","eventName","guidNumber","guid","String","disableCursor","enableCursor","preventSelection","allowSelection","preventContextMenu","allowContextMenu","parseFieldSpecs","token","specs","tokens","charAt","field","substring","order","compareByFieldSpecs","obj0","obj1","fieldSpecs","cmp","compareByFieldSpec","fieldSpec","flexibleCompare","localeCompare","padStart","len","substr","compareNumbers","isInt","computeSmallestCellWidth","allWidthEl","contentWidthEl","DAY_IDS","addWeeks","dateToUtcArray","arrayToUtcDate","addDays","addMs","diffWeeks","m0","m1","diffDays","diffHours","diffMinutes","diffSeconds","diffDayAndTime","m0day","startOfDay","m1day","years","round","diffWholeWeeks","diffWholeDays","timeAsMs","getUTCFullYear","getUTCMonth","getUTCDate","startOfHour","getUTCHours","startOfMinute","getUTCMinutes","startOfSecond","getUTCSeconds","weekOfYear","marker","dow","doy","weekOfGivenYear","nextW","year","firstWeekStart","firstWeekOffset","floor","fwd","fwdlw","getUTCDay","dateToLocalArray","getFullYear","getMonth","getDate","getHours","getMinutes","getSeconds","getMilliseconds","arrayToLocalDate","getUTCMilliseconds","UTC","isValidDate","isNaN","createEventInstance","forcedStartTzo","forcedEndTzo","mergeProps","propObjs","complexPropsMap","dest","name_1","complexObjs","unshift","name_2","filterHash","hash","filtered","newHash","arrayToHash","a_1","item","hashValuesToArray","isPropsEqual","getUnequalProps","keys","compareObjs","oldProps","newProps","equalityFuncs","isObjValsEqual","val0","val1","comparator","collectFromHash","startIndex","endIndex","step","parseRecurring","defaultAllDay","recurringTypes","parsed","allDayGuess","typeData","typeId","expandRecurring","framingRange","recurringDef","defaultAllDayEventDuration","defaultTimedEventDuration","starts","expandRecurringRanges","starts_1","typeDef","markers","expand","subtract","PARSE_RE","createDuration","parseString","parseObject","exec","parseInt","month","day","hours","minutes","second","millisecond","specifiedWeeks","durationsEqual","d0","d1","subtractDurations","asRoughYears","dur","asRoughDays","asRoughMonths","asRoughMs","greatestDurationDenominator","buildIsoString","timeZoneOffset","stripZeroTime","formatTimeZoneOffset","formatDayString","doIso","abs","mins","isArraysEqual","a0","a1","equalityFunc","memoize","workerFunc","resEquality","teardownFunc","currentArgs","currentRes","newArgs","memoizeObjArg","currentArg","newArg","EXTENDED_SETTINGS_AND_SEVERITIES","separator","omitCommas","STANDARD_DATE_PROP_SEVERITIES","timeZoneName","era","weekday","MERIDIEM_RE","COMMA_RE","MULTI_SPACE_RE","LTR_RE","UTC_RE","NativeFormatter","formatSettings","standardDateProps","extendedSettings","severity","buildFormattingFunc","formatRange","betterDefaultSeparator","diffSeverity","computeMarkerDiffSeverity","calendarSystem","biggestUnitForPartial","full0","full1","partialDateProps","computePartialFormattingOptions","partialFormattingFunc","partial0","partial1","insertion","findCommonInsertion","defaultSeparator","before","after","getLargestUnit","standardDatePropCnt","formatWeekNumber","computeWeekNumber","weekText","locale","buildNativeFormattingFunc","sanitizeSettings","timeZone","zeroFormat","normalFormat","Intl","DateTimeFormat","codes","zeroProps","postProcess","injectTzoStr","trim","toLocaleLowerCase","tzoStr","replaced","parts","simpleNumberFormat","direction","reverse","ca","getMarkerYear","getMarkerMonth","getMarkerDay","biggestUnit","partialOptions","i0","found0","before0","after0","i1","found1","before1","after1","expandZonedMarker","dateInfo","markerToArray","array","createVerboseFormattingArg","startInfo","endInfo","localeCodes","CmdFormatter","cmdStr","cmdFormatter","FuncFormatter","createFormatter","BASE_OPTION_REFINERS","navLinkDayClick","identity","navLinkWeekClick","bootstrapFontAwesome","buttonIcons","customButtons","scrollTime","slotMinTime","slotMaxTime","slotDuration","snapDuration","defaultRangeSeparator","titleRangeSeparator","dayHeaderFormat","dayHeaderClassNames","dayHeaderContent","dayHeaderDidMount","dayHeaderWillUnmount","dayCellClassNames","dayCellContent","dayCellDidMount","dayCellWillUnmount","aspectRatio","Number","weekends","weekNumberCalculation","weekNumberClassNames","weekNumberContent","weekNumberDidMount","weekNumberWillUnmount","viewClassNames","viewDidMount","viewWillUnmount","nowIndicator","nowIndicatorClassNames","nowIndicatorContent","nowIndicatorDidMount","nowIndicatorWillUnmount","showNonCurrentDates","lazyFetching","startParam","endParam","timeZoneParam","locales","themeSystem","handleWindowResize","windowResizeDelay","contentHeight","weekNumberFormat","eventResizableFromStart","displayEventTime","displayEventEnd","progressiveEventRendering","initialDate","eventDataTransform","viewHeight","eventSourceFailure","eventSourceSuccess","eventDisplay","eventStartEditable","eventDurationEditable","eventOverlap","eventConstraint","eventAllow","eventBackgroundColor","eventBorderColor","eventTextColor","eventColor","eventClassNames","eventContent","eventDidMount","eventWillUnmount","selectConstraint","selectOverlap","selectAllow","slotLabelFormat","slotLaneClassNames","slotLaneContent","slotLaneDidMount","slotLaneWillUnmount","slotLabelClassNames","slotLabelContent","slotLabelDidMount","slotLabelWillUnmount","slotLabelInterval","allDayText","allDayClassNames","allDayContent","allDayDidMount","allDayWillUnmount","slotMinWidth","selectMirror","eventMinHeight","slotEventOverlap","firstDay","dayCount","dateAlignment","dateIncrement","hiddenDays","validRange","visibleRange","titleFormat","noEventsText","BASE_OPTION_DEFAULTS","center","CALENDAR_LISTENER_REFINERS","datesSet","eventsSet","eventAdd","eventChange","eventRemove","windowResize","eventClick","eventMouseEnter","eventMouseLeave","select","loading","_unmount","_beforeprint","_afterprint","_noEventDrop","_noEventResize","_resize","_scrollRequest","CALENDAR_OPTION_REFINERS","buttonText","initialEvents","COMPLEX_OPTION_COMPARATORS","isBoolComplexEqual","VIEW_OPTION_REFINERS","buttonTextKey","usesMinMaxTime","mergeRawOptions","optionSets","refineProps","refiners","raw","parseEvents","rawEvents","eventSource","allowOpenRange","createEmptyEventStore","eventRefiners","buildEventRefiners","rawEvents_1","rawEvent","tuple","parseEvent","eventTupleToStore","getRelevantEvents","def_1","newStore","filterEventStoreDefs","lookDef","isEventDefsGrouped","def0","def1","groupId","mergeEventStores","store0","store1","filterFunc","excludeSubEventStore","master","filteredDefs","filteredInstances","normalizeConstraint","parseClassNames","EVENT_UI_REFINERS","startEditable","constraint","overlap","allow","color","textColor","createEventUi","constraints","allows","combineEventUis","uis","reduce","combineTwoEventUis","EMPTY_EVENT_UI","item0","item1","EVENT_NON_DATE_REFINERS","EVENT_DATE_REFINERS","EVENT_REFINERS","extendedProps","refineEventDef","computeIsDefaultAllDay","recurringRes","parseEventDef","singleRes","parseSingle","eventDefMemberAdders","memberAdder","freeze","startMeta","endMeta","startMarker","endMarker","startInput","createMarkerMeta","isTimeUnspecified","forcedTzo","computeAlignedDayRange","timedRange","dayCnt","computeVisibleDayRange","startDay","endDay","endTimeMS","diffDates","diffWholeYears","diffWholeMonths","parseRange","createMarker","invertRanges","ranges","constraintRange","invertedRanges","compareRanges","range0","range1","intersectRanges","newRange","rangesEqual","rangesIntersect","rangeContainsRange","outerRange","innerRange","rangeContainsMarker","constrainMarkerToRange","sliceEventStore","inverseBgByGroupId","inverseBgByDefId","defByGroupId","bgRanges","fgRanges","eventUis","compileEventUis","normalRange","invertedRanges_1","invertedRange","invertedRanges_2","bg","fg","setElSeg","fcSeg","getElSeg","eventDefs","compileEventUi","sortEventSegs","objs","buildSegCompareObj","_seg","computeSegDraggable","transformers","isDraggableTransformers","transformers_1","computeSegStartResizable","computeSegEndResizable","buildSegTimeText","defaultDisplayEventTime","startOverride","endOverride","segStart","segEnd","getSegMeta","segRange","getEventClassNames","isDraggable","isStartResizable","isEndResizable","buildEventRangeKey","STANDARD_PROPS","parseDateSpan","defaultDuration","parseOpenDateSpan","isDateSpansEqual","span0","span1","isSpanPropsEqual","buildDateSpanApi","buildRangeApi","buildRangeApiWithTimeZone","startStr","endStr","fabricateEventRange","triggerDateSelect","buildDateSpanApiWithContext","triggerDateUnselect","dateSpanTransforms","getDefaultEventEnd","applyMutationToEventStore","eventConfigBase","eventConfigs","applyMutationToEventDef","applyMutationToEventInstance","eventConfig","copy","eventDefMutationAppliers","applier","forceAllDay","clearEnd","ViewApi","viewTitle","getOption","EVENT_SOURCE_REFINERS","success","failure","parseEventSource","rawObj","buildEventSourceRefiners","metaRes","buildEventSourceMeta","_raw","isFetching","latestFetchId","fetchRange","sourceDefId","eventSourceRefiners","eventSourceDefs","parseMeta","reduceCurrentDate","currentDate","dateMarker","getInitialDate","initialDateInput","getNow","nowInput","createNowMarker","CalendarApi","setOption","optionName","rawOptionValue","currentCalendarOptionsInput","getAvailableLocaleCodes","availableRawLocales","handlerName","currentCalendarOptionsRefiners","console","warn","args","changeView","viewType","dateOrRange","spec","viewSpecs","getUnitViewSpec","toolbarConfig","viewTypes","viewsWithButtons","singleUnit","prev","next","prevYear","addYears","nextYear","today","gotoDate","zonedDateInput","incrementDate","deltaInput","formatDate","formatter","dateOrObj","endDate","selectionInput","addEvent","eventInput","sourceInput","_def","_instance","triggerEventAdd","sourceApi","getEventSourceById","newEventApi","eventApiToStore","getEventById","getEvents","buildEventApis","removeAllEvents","getEventSources","sourceHash","sourceApis","internalId","addEventSource","sources","removeAllEventSources","refetchEvents","scrollToTime","timeInput","time","EventApi","_context","setProp","mutate","setExtendedProp","setStart","granularity","maintainDuration","setEnd","endInput","setDates","moveStart","moveEnd","moveDates","setAllDay","formatInput","context_1","asStore","toPlainObject","collapseColor","collapseExtendedProps","toJSON","excludeInstance","eventApis","excludeInstanceId","calendarSystemClassMap","registerCalendarSystem","theClass","createCalendarSystem","GregorianCalendarSystem","arrayToMarker","arr","ISO_RE","DateEnv","isNamedTimeZone","namedTimeZoneImpl","canComputeOffset","weekDow","weekDoy","weekNumberFunc","timestampToMarker","getYear","addMonths","greatestWholeUnit","countDurationsBetween","diff","startOf","startOfYear","startOfMonth","dateOptions","offsetForMarker","isEndExclusive","extraOptions","omitTimeZoneOffset","timestampToArray","getTimezoneOffset","offsetForArray","globalLocales","RAW_EN_LOCALE","code","list","organizeRawLocales","explicitRawLocales","defaultCode","allRawLocales","rawLocaleMap","en","allRawLocales_1","rawLocale","buildLocale","inputSingular","available","queryLocale","parseLocale","codeArg","queryRawLocale","simpleId","merged","NumberFormat","canVGrowWithinCell","DEF_DEFAULTS","endTime","daysOfWeek","parseBusinessHours","refineInputs","rawDefs","rawDef","pointInsideRect","intersectRects","rect1","rect2","constrainPoint","getRectCenter","diffPoints","point1","point2","getCanVGrowWithinCell","computeCanVGrowWithinCell","div","possible","offsetHeight","EMPTY_EVENT_STORE","Splitter","getKeysForEventDefs","_getKeysForEventDefs","splitDateSelection","_splitDateSpan","splitEventStore","_splitEventStore","splitIndividualUi","_splitIndividualUi","_splitInteraction","eventUiBuilders","splitProps","keyInfos","getKeyInfo","defKeys","dateSelections","individualUi","eventStores","eventDrags","eventResizes","info","buildEventUiForKey","keyInfo","buildEventUi","dateSpans","getKeysForDateSpan","keys_1","getKeysForEventDef","splitStores","splitHashes","splitStates","affectedStores_1","mutatedKeysByDefId","mutatedStores_1","populate","allUi","eventUiForKey","baseParts","stuff","getDateMeta","isOther","getDayClassNames","buildNavLinkData","stringify","_scrollbarWidths","_isRtlScrollbarOnLeft","getIsRtlScrollbarOnLeft","computeIsRtlScrollbarOnLeft","outerEl","border","padding","overflow","firstChild","getScrollbarWidths","computeScrollbarWidths","computeScrollbarWidthsForEl","offsetWidth","computeEdges","getPadding","computedStyle","getComputedStyle","borderLeft","borderLeftWidth","borderRight","borderRightWidth","borderTop","borderTopWidth","borderBottom","borderBottomWidth","badScrollbarWidths","scrollbarLeftRight","scrollbarBottom","scrollbarLeft","scrollbarRight","paddingLeft","paddingRight","paddingTop","computeInnerRect","goWithinPadding","doFromWindowViewport","outerRect","computeRect","edges","getClippingParents","parents","overflowY","overflowX","unpromisify","isResolved","wrappedSuccess","wrappedFailure","Emitter","handlers","thisContext","setThisContext","setOptions","addToHash","removeFromHash","attachedHandlers","optionHandler","handlers_1","hasHandlers","PositionCache","isHorizontal","isVertical","originClientRect","buildElHorizontals","buildElVerticals","originClientLeft","originClientTop","getWidth","leftIndex","getHeight","topIndex","ScrollController","canScrollVertically","canScrollHorizontally","ElementScrollController","WindowScrollController","scroll","Theme","iconOverrideOption","setIconOverride","iconOverrideHash","iconClassesCopy","buttonName","iconClasses","applyIconOverridePrefix","iconOverridePrefix","classes","rtlIconClasses","baseIconClass","getCustomButtonIconClass","customButtonProps","iconOverrideCustomButtonOption","ScrollResponder","execFunc","handleScrollRequest","queuedRequest","drain","fireInitialScroll","detach","update","isDatesNew","ViewContextType","buildViewContext","viewOptions","addResizeHandler","removeResizeHandler","createScrollResponder","PureComponent","nextProps","nextState","debug","log","propEquality","stateEquality","addPropsEquality","BaseComponent","setRef","reduceEventStore","receiveRawEvents","fetchId","excludeEventsBySourceId","subset","transformRawEvents","calEachTransform","sourceEachTransform","transformEachRawEvent","refinedEvents","refinedEvent","expandRange","rezoneEventStoreDates","oldDateEnv","newDateEnv","excludeInstances","removals","isNewPropsValid","isPropsValid","dateSpanMeta","filterConfig","isInteractionPropsValid","isDateSelectionPropsValid","currentState","subjectEventStore","subjectDefs","subjectInstances","subjectConfigs","selectionConfig","otherEventStore","otherDefs","otherInstances","otherConfigs","subjectInstanceId","subjectInstance","subjectRange","subjectConfig","subjectDef","allConstraintsPass","eventOverlapFunc","otherInstanceId","otherInstance","otherOverlap","calendarEventStore","subjectAllow","subjectDateSpan","origDef","origInstance","relevantEventStore","relevantDefs","relevantInstances","selectionRange","selectOverlapFunc","relevantInstanceId","relevantInstance","selectionAllow","fullDateSpan","businessHoursUnexpanded","constraints_1","anyRangesContainRange","constraintToRanges","eventStoreToRanges","outerRanges","outerRanges_1","DateComponent","uid","isInPopover","createPlugin","deps","reducers","contextInit","viewPropsTransformers","viewContainerAppends","themeClasses","namedTimeZonedImpl","optionChangeHandlers","propSetHandlers","buildPluginHooks","pluginDefs","globalDefs","isAdded","hooks","addDefs","defs_1","combineHooks","buildBuildPluginHooks","currentHooks","currentOverrideDefs","currentGlobalDefs","overrideDefs","hooks0","hooks1","StandardTheme","compileViewDefs","defaultConfigs","overrideConfigs","ensureViewDef","viewDef","buildViewDef","defaultConfig","overrideConfig","queryProp","theComponent","superType","superDef","defaults","rawOptions","overrides","root","tableCellShaded","buttonGroup","buttonActive","close","RenderHook","ContentHook","backupElRef","normalizeClassNames","CustomContentRenderContext","ContentHookInner","updateCustomContent","customContentInfo","rawVal","normalizeContent","innerContentVDom","contentVal","contentKey","MountHook","buildClassNameNormalizer","currentGenerator","currentHookProps","generator","ViewRoot","customClassNames","parseViewConfigs","inputs","parseViewConfig","createViewHookComponent","viewProps","buildViewSpecs","defaultInputs","dynamicOptionOverrides","localeDefaults","viewDefs","buildViewSpec","durationInput","durationUnit","singleUnitOverrides","createDurationCached","denom","queryButtonText","optionsSubset","buttonTextMap","optionDefaults","buttonTextOverride","buttonTextDefault","durationInputMap","json","DateProfileGenerator","initHiddenDays","buildPrev","currentDateProfile","forceToValid","prevDate","build","buildNext","nextDate","currentInfo","buildValidRange","trimHiddenDays","buildCurrentRangeInfo","adjustActiveRange","buildDateIncrement","validRangeInput","simpleInput","refineRange","buildRangeFromDuration","buildRangeFromDayCount","buildCustomVisibleRange","getFallbackDuration","computeRes","isHiddenDay","skipHiddenDays","runningCount","visibleRangeInput","fallback","customAlignment","rangeInput","isHiddenDayHash","inc","isExclusive","reduceViewType","reduceDynamicOptionOverrides","reduceDateProfile","dp","initEventSources","addSources","parseInitialSources","reduceEventSources","removeSource","fetchDirtySources","fetchSourcesByIds","excludeStaticSources","receiveResponse","reduceEventSourcesNewTimeZone","computeEventSourceLoadingLevel","cnt","eventSourceHash","sources_1","source","isSourceDirty","doesSourceNeedRange","prevSources","sourceIdHash","nextSources","fetchSource","sourceDef","fetch","xhr","error","message","rawSources","rawSources_1","rawSource","ignoreRange","reduceDateSelection","currentSelection","reduceSelectedEvent","currentInstanceId","reduceEventDrag","currentDrag","newDrag","reduceEventResize","currentResize","newResize","parseToolbars","calendarOptionOverrides","parseToolbar","sectionStrHash","sectionStr","parseSection","calendarCustomButtons","calendarButtonTextOverrides","calendarButtonText","sectionSubstrs","buttonGroupStr","customButtonProps_1","buttonClick","buttonIcon","click","eventSourceDef","arrayEventSourcePlugin","eventSourceDef$1","funcEventSourcePlugin","requestJson","params","successCallback","failureCallback","toUpperCase","injectQueryStringParams","encodeParams","XMLHttpRequest","open","setRequestHeader","onload","status","responseText","err","onerror","send","encodeURIComponent","JSON_FEED_EVENT_SOURCE_REFINERS","extraParams","eventSourceDef$2","requestParams","buildRequestParams","errorMessage","jsonFeedEventSourcePlugin","customRequestParams","SIMPLE_RECURRING_REFINERS","startRecur","endRecur","recurring","recurringData","clippedFramingRange","expandRanges","simpleRecurringEventsPlugin","dowHash","dayMarker","instanceStarts","instanceStart","changeHandlerPlugin","handleEventSources","unfoundSources","newInputs","inputs_1","inputFound","unfoundSources_1","unfoundSource","newInputs_1","newInput","handleDateProfile","handleEventStore","globalPlugins","html","injectHtml","domNodes","injectDomNodes","oldNodes","newNodes","newNodes_1","newNode","DelayedRunner","drainedOption","isRunning","isDirty","pauseDepths","timeoutId","isPaused","scope","force","depth","drained","clear","TaskRunner","runTaskOption","queue","delayedRunner","task","completedTasks","runTask","buildTitle","buildTitleFormat","CalendarDataManager","computeOptionsData","_computeOptionsData","computeCurrentViewData","_computeCurrentViewData","buildDateEnv","buildDateEnv$1","buildTheme","buildDateProfileGenerator","buildViewApi","buildViewUiProps","buildEventUiBySource","buildEventUiBases","parseContextBusinessHours","actionRunner","_handleAction","updateData","currentCalendarOptionsRefined","currentViewOptionsInput","currentViewOptionsRefined","optionsData","currentViewType","currentViewData","calendarContext","initialState","loadingLevel","renderableEventStore","contextAndState","reducer","eventSourceLoadingLevel","eventUiSingleBase","eventUiBySource","prevLoadingLevel","newState","oldData","changeHandlers","oldCalendarOptions","newCalendarOptions","processRawCalendarOptions","refinedOptions","availableLocaleData","warnUnknownOptions","currentRaw","currentRefined","anyChanges","processRawViewOptions","explicitLocale","ThemeClass","DateProfileGeneratorClass","viewName","CalendarDataProvider","dataManager","newOptionOverrides","NamedTimeZoneImpl","Interaction","parseInteractionSettings","interactionSettingsToStore","interactionSettingsStore","ElementDragging","config","DRAG_META_REFINERS","parseDragMeta","Toolbar","startContent","endContent","model","extraClassName","forceLtr","centerContent","renderSection","widgetGroups","activeButton","isTodayEnabled","isPrevEnabled","isNextEnabled","ToolbarSection","widgetGroup","renderWidgetGroup","isOnlyButtons","widgetGroup_1","widget","ariaAttrs","buttonClasses","disabled","groupClassName","ViewContainer","availableWidth","handleEl","updateAvailableWidth","handleResize","EventClicking","handleSegClick","hasUrlContainer","defaultPrevented","location","EventHovering","handleEventElRemove","currentSegEl","handleSegLeave","handleSegEnter","triggerEvent","removeHoverListeners","publicEvName","CalendarContent","buildViewPropTransformers","buildToolbarProps","handleNavLinkClick","_handleNavLinkClick","footerRef","interactionsStore","settingsInput","DEFAULT_INTERACTIONS","interactionClasses","interactions","interactionClass","listener","resizeRunner","viewAspectRatio","toolbarProps","viewVGrow","viewContext","renderView","buildAppendContent","calendarInteractionClass","anchorEl","navLinkOptions","customAction","ViewComponent","todayInfo","prevInfo","nextInfo","theClasses","CalendarRoot","handleBeforePrint","handleAfterPrint","computeFallbackHeaderFormat","CLASS_NAME","TableDateCell","dayMeta","renderInner","colSpan","TableDowCell","dateMeta","NowTimer","initialNowDate","initialNowQueriedMs","computeTiming","unroundedNow","currentUnitStart","nextUnitStart","waitMs","buildDayRange","DayHeader","createDayHeaderFormatter","explicitFormat","dateCnt","DaySeriesModel","indices","dayIndex","firstIndex","getDateDayIndex","lastIndex","clippedFirstIndex","clippedLastIndex","dayOffset","DayTableModel","breakOnWeeks","daysPerRow","buildCells","buildHeaderDates","rows","buildCell","seriesSeg","index","nextIndex","Slicer","sliceBusinessHours","_sliceBusinessHours","sliceDateSelection","_sliceDateSpan","_sliceEventStore","sliceEventDrag","_sliceInteraction","sliceEventResize","extraArgs","eventSegs","sliceNowDate","computeActiveRange","rangeRes","sliceEventRanges","eventRanges","eventRanges_1","sliceEventRange","isComponentAllDay","VISIBLE_HIDDEN_RE","Scroller","liquidIsAbsolute","overcomeLeft","overcomeRight","overcomeBottom","marginLeft","marginRight","marginBottom","maxHeight","needsXScrolling","realClientWidth","getYScrollbarWidth","childEl","needsYScrolling","realClientHeight","getXScrollbarWidth","RefMap","masterCallback","depths","callbackMap","handleValue","removed","added","refCallback","getAll","computeShrinkWidth","chunkEls","shrinkCells","largestWidth","shrinkCells_1","shrinkCell","getSectionHasLiquidHeight","sectionConfig","getAllowYScrolling","renderChunkContent","chunkConfig","syncRowHeights","isColPropsEqual","cols0","cols1","renderMicroColGroup","shrinkWidth","colNodes","cols_1","colProps","sanitizeShrinkWidth","hasShrinkWidth","cols_2","getScrollGridClassNames","getSectionClassNames","wholeTableVGrow","renderScrollShim","getStickyHeaderDates","getStickyFooterScrollbar","SimpleScrollGrid","processCols","scrollerRefs","scrollerElRefs","_handleScrollerEl","forceYScrollbars","scrollerClientWidths","scrollerClientHeights","handleSizing","computeScrollerDims","currentConfig","sectionConfigs","microColGroupNode","configCnt","configI","headSectionNodes","bodySectionNodes","footSectionNodes","isBuggy","sectionI","outerContent","renderChunkTd","isLiquid","rowSyncHeights","reportRowHeightChange","scrollerEl","scrollerElRef","scrollbarWidth","sectionCnt","scroller","harnessEl","EventRoot","disableDragging","standardClassNames","StandardEvent","DAY_NUM_FORMAT","DayCellRoot","refineHookProps","extraProps","DayCellContent","renderFill","BgEvent","renderInnerContent$1","WeekNumberRoot","renderInner$1"],"mappings":"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","file":"js/chunk-aacfbe1a.61c71ba4.js","sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, privateMap) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to get private field on non-instance\");\r\n }\r\n return privateMap.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, privateMap, value) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to set private field on non-instance\");\r\n }\r\n privateMap.set(receiver, value);\r\n return value;\r\n}\r\n","/*!\nFullCalendar v5.3.1\nDocs & License: https://fullcalendar.io/\n(c) 2020 Adam Shaw\n*/\nimport { config, elementClosest, Emitter, applyStyle, whenTransitionDone, removeElement, ScrollController, ElementScrollController, computeInnerRect, WindowScrollController, preventSelection, preventContextMenu, allowSelection, allowContextMenu, ElementDragging, computeRect, getClippingParents, pointInsideRect, isDateSpansEqual, constrainPoint, intersectRects, getRectCenter, diffPoints, mapHash, rangeContainsRange, interactionSettingsToStore, Interaction, enableCursor, disableCursor, triggerDateSelect, compareNumbers, getElSeg, getRelevantEvents, EventApi, createEmptyEventStore, applyMutationToEventStore, buildEventApis, interactionSettingsStore, startOfDay, diffDates, createDuration, identity, eventTupleToStore, isInteractionValid, 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 // useCapture\n );\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 else {\n return this.containerEl;\n }\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++;\n setTimeout(function () {\n ignoreMouseDepth--;\n }, config.touchMouseIgnoreWait);\n}\n// We want to attach touchmove as early as possible for Safari\n// ----------------------------------------------------------------------------------------------------\nfunction listenerCreated() {\n if (!(listenerCnt++)) {\n window.addEventListener('touchmove', onWindowTouchMove, { passive: false });\n }\n}\nfunction listenerDestroyed() {\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;\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 {\n if (this.isVisible) {\n if (this.mirrorEl) {\n this.mirrorEl.style.display = 'none';\n }\n this.isVisible = bool;\n }\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));\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));\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) {\n if (this.isEnabled) {\n this.scrollCaches = this.buildCaches();\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 for (var _i = 0, _a = this.scrollCaches; _i < _a.length; _i++) {\n var scrollCache = _a[_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 () {\n return this.queryScrollEls().map(function (el) {\n if (el === window) {\n return new WindowScrollGeomCache(false); // false = don't listen to user-generated scrolls\n }\n else {\n return new ElementScrollGeomCache(el, false); // false = don't listen to user-generated scrolls\n }\n });\n };\n AutoScroller.prototype.queryScrollEls = function () {\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(document.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 // 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);\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) // bound with args\n );\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 (el) {\n return new ElementScrollGeomCache(el, true); // listen=true\n });\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 _this.emitter.trigger('pointerdown', ev); // TODO: fire this before computing processFirstCoord, so listeners can cancel. this gets fired by almost every handler :(\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 !== document) {\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 var dateProfile = component.context.getCurrentData().dateProfile;\n if (hit &&\n (\n // make sure the hit is within activeRange, meaning it's not a deal cell\n rangeContainsRange(dateProfile.activeRange, hit.dateSpan.range)) &&\n (!bestHit || hit.layer > bestHit.layer)) {\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(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 dragSelection = joinHitsIntoSelection(_this.hitDragging.initialHit, hit, context.pluginHooks.dateSelectionTransformers);\n if (!dragSelection || !_this.component.isDateSelectionValid(dragSelection)) {\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(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 else 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$1(component) :\n null;\n mirror.parentNode = elementClosest(origTarget, '.fc');\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 var receivingComponent = hit.component;\n receivingContext = receivingComponent.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 (!receivingComponent.isInteractionValid(interaction)) {\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 || !document.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.component.context.viewApi }));\n receivingContext_1.emitter.trigger('eventReceive', __assign(__assign({}, eventAddArg), { draggedEl: ev.subjectEl, view: finalHit.component.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.component.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.component.context.dateEnv, hit0.component === hit1.component ?\n hit0.component.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$1(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 mutation = computeMutation(initialHit, hit, ev.subjectEl.classList.contains('fc-event-resizer-start'), eventInstance.range, context.pluginHooks.eventResizeJoinTransforms);\n }\n if (mutation) {\n mutatedRelevantEvents = applyMutationToEventStore(relevantEvents, context.getCurrentData().eventUiBases, mutation, context);\n interaction.mutatedEvents = mutatedRelevantEvents;\n if (!_this.component.isInteractionValid(interaction)) {\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, transforms) {\n var dateEnv = hit0.component.context.dateEnv;\n var date0 = hit0.dateSpan.range.start;\n var date1 = hit1.dateSpan.range.start;\n var delta = diffDates(date0, date1, dateEnv, hit0.component.largeUnit);\n var props = {};\n for (var _i = 0, transforms_1 = transforms; _i < transforms_1.length; _i++) {\n var transform = transforms_1[_i];\n var res = transform(hit0, hit1);\n if (res === false) {\n return null;\n }\n else if (res) {\n __assign(props, res);\n }\n }\n if (isFromStart) {\n if (dateEnv.add(instanceRange.start, delta) < instanceRange.end) {\n props.startDelta = delta;\n return props;\n }\n }\n else {\n if (dateEnv.add(instanceRange.end, delta) > instanceRange.start) {\n props.endDelta = delta;\n return props;\n }\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 = pev.origEvent.target;\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 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.component.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, 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.component.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 else if (typeof this.suppliedDragMeta === 'function') {\n return parseDragMeta(this.suppliedDragMeta(subjectEl));\n }\n else {\n return getDragMetaFromEl(subjectEl);\n }\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 else 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);\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 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);\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 listenerRefiners: LISTENER_REFINERS\n});\n\nexport default main;\nexport { ExternalDraggable as Draggable, FeaturefulElementDragging, PointerDragging, ThirdPartyDraggable };\n//# sourceMappingURL=main.js.map\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('FullCalendar',{attrs:{\"options\":_vm.calendarOptions}})}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, privateMap) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to get private field on non-instance\");\r\n }\r\n return privateMap.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, privateMap, value) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to set private field on non-instance\");\r\n }\r\n privateMap.set(receiver, value);\r\n return value;\r\n}\r\n","/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, privateMap) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to get private field on non-instance\");\r\n }\r\n return privateMap.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, privateMap, value) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to set private field on non-instance\");\r\n }\r\n privateMap.set(receiver, value);\r\n return value;\r\n}\r\n","var n,l,u,i,t,o,r,f={},e=[],c=/acit|ex(?:s|g|n|p|$)|rph|grid|ows|mnc|ntw|ine[ch]|zoo|^ord|itera/i;function s(n,l){for(var u in l)n[u]=l[u];return n}function a(n){var l=n.parentNode;l&&l.removeChild(n)}function v(n,l,u){var i,t,o,r=arguments,f={};for(o in l)\"key\"==o?i=l[o]:\"ref\"==o?t=l[o]:f[o]=l[o];if(arguments.length>3)for(u=[u],o=3;o/ | elements with colspans.\n SOLUTION: making individual |
---|