surrounding the more link\n component.isValidSegDownEl(ev.target)) {\n // our way to simulate a link click for elements that can't be
tags\n // grab before trigger fired in case trigger trashes DOM thru rerendering\n var hasUrlContainer = elementClosest(ev.target, '.fc-has-url');\n var url = hasUrlContainer ? hasUrlContainer.querySelector('a[href]').href : '';\n calendar.publiclyTrigger('eventClick', [\n {\n el: segEl,\n event: new EventApi(component.context.calendar, seg.eventRange.def, seg.eventRange.instance),\n jsEvent: ev,\n view: view\n }\n ]);\n if (url && !ev.defaultPrevented) {\n window.location.href = url;\n }\n }\n };\n var component = settings.component;\n _this.destroy = listenBySelector(component.el, 'click', component.fgSegSelector + ',' + component.bgSegSelector, _this.handleSegClick);\n return _this;\n }\n return EventClicking;\n}(Interaction));\nexport default EventClicking;\n","import * as tslib_1 from \"tslib\";\nimport { listenToHoverBySelector } from '../util/dom-event';\nimport EventApi from '../api/EventApi';\nimport { getElSeg } from '../component/event-rendering';\nimport { Interaction } from './interaction';\n/*\nTriggers events and adds/removes core classNames when the user's pointer\nenters/leaves event-elements of a component.\n*/\nvar EventHovering = /** @class */ (function (_super) {\n tslib_1.__extends(EventHovering, _super);\n function EventHovering(settings) {\n var _this = _super.call(this, settings) || this;\n // for simulating an eventMouseLeave when the event el is destroyed while mouse is over it\n _this.handleEventElRemove = function (el) {\n if (el === _this.currentSegEl) {\n _this.handleSegLeave(null, _this.currentSegEl);\n }\n };\n _this.handleSegEnter = function (ev, segEl) {\n if (getElSeg(segEl)) { // TODO: better way to make sure not hovering over more+ link or its wrapper\n segEl.classList.add('fc-allow-mouse-resize');\n _this.currentSegEl = segEl;\n _this.triggerEvent('eventMouseEnter', ev, segEl);\n }\n };\n _this.handleSegLeave = function (ev, segEl) {\n if (_this.currentSegEl) {\n segEl.classList.remove('fc-allow-mouse-resize');\n _this.currentSegEl = null;\n _this.triggerEvent('eventMouseLeave', ev, segEl);\n }\n };\n var component = settings.component;\n _this.removeHoverListeners = listenToHoverBySelector(component.el, component.fgSegSelector + ',' + component.bgSegSelector, _this.handleSegEnter, _this.handleSegLeave);\n // how to make sure component already has context?\n component.context.calendar.on('eventElRemove', _this.handleEventElRemove);\n return _this;\n }\n EventHovering.prototype.destroy = function () {\n this.removeHoverListeners();\n this.component.context.calendar.off('eventElRemove', this.handleEventElRemove);\n };\n EventHovering.prototype.triggerEvent = function (publicEvName, ev, segEl) {\n var component = this.component;\n var _a = component.context, calendar = _a.calendar, view = _a.view;\n var seg = getElSeg(segEl);\n if (!ev || component.isValidSegDownEl(ev.target)) {\n calendar.publiclyTrigger(publicEvName, [\n {\n el: segEl,\n event: new EventApi(calendar, seg.eventRange.def, seg.eventRange.instance),\n jsEvent: ev,\n view: view\n }\n ]);\n }\n };\n return EventHovering;\n}(Interaction));\nexport default EventHovering;\n","import * as tslib_1 from \"tslib\";\nimport Theme from './Theme';\nvar StandardTheme = /** @class */ (function (_super) {\n tslib_1.__extends(StandardTheme, _super);\n function StandardTheme() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n return StandardTheme;\n}(Theme));\nexport default StandardTheme;\nStandardTheme.prototype.classes = {\n widget: 'fc-unthemed',\n widgetHeader: 'fc-widget-header',\n widgetContent: 'fc-widget-content',\n buttonGroup: 'fc-button-group',\n button: 'fc-button fc-button-primary',\n buttonActive: 'fc-button-active',\n popoverHeader: 'fc-widget-header',\n popoverContent: 'fc-widget-content',\n // day grid\n headerRow: 'fc-widget-header',\n dayRow: 'fc-widget-content',\n // list view\n listView: 'fc-widget-content'\n};\nStandardTheme.prototype.baseIconClass = 'fc-icon';\nStandardTheme.prototype.iconClasses = {\n close: 'fc-icon-x',\n prev: 'fc-icon-chevron-left',\n next: 'fc-icon-chevron-right',\n prevYear: 'fc-icon-chevrons-left',\n nextYear: 'fc-icon-chevrons-right'\n};\nStandardTheme.prototype.iconOverrideOption = 'buttonIcons';\nStandardTheme.prototype.iconOverrideCustomButtonOption = 'icon';\nStandardTheme.prototype.iconOverridePrefix = 'fc-icon-';\n","import * as tslib_1 from \"tslib\";\nimport { listenBySelector } from './util/dom-event';\nimport { capitaliseFirstLetter, debounce } from './util/misc';\nimport { default as EmitterMixin } from './common/EmitterMixin';\nimport OptionsManager from './OptionsManager';\nimport { buildLocale, parseRawLocales } from './datelib/locale';\nimport { DateEnv } from './datelib/env';\nimport { startOfDay } from './datelib/marker';\nimport { createFormatter } from './datelib/formatting';\nimport { createDuration } from './datelib/duration';\nimport reduce from './reducers/main';\nimport { parseDateSpan, buildDateSpanApi, buildDatePointApi } from './structs/date-span';\nimport { memoize, memoizeOutput } from './util/memoize';\nimport { mapHash, isPropsEqual } from './util/object';\nimport { parseEventSource } from './structs/event-source';\nimport { parseEvent } from './structs/event';\nimport EventSourceApi from './api/EventSourceApi';\nimport EventApi from './api/EventApi';\nimport { createEmptyEventStore, eventTupleToStore } from './structs/event-store';\nimport { processScopedUiProps } from './component/event-ui';\nimport { buildViewSpecs } from './structs/view-spec';\nimport { PluginSystem } from './plugin-system';\nimport CalendarComponent from './CalendarComponent';\nimport { __assign } from 'tslib';\nimport { refinePluginDefs } from './options';\nimport { parseInteractionSettings, interactionSettingsStore } from './interactions/interaction';\nimport EventClicking from './interactions/EventClicking';\nimport EventHovering from './interactions/EventHovering';\nimport StandardTheme from './theme/StandardTheme';\nimport { ComponentContext } from './component/Component';\nvar Calendar = /** @class */ (function () {\n function Calendar(el, overrides) {\n var _this = this;\n this.buildComponentContext = memoize(buildComponentContext);\n this.parseRawLocales = memoize(parseRawLocales);\n this.buildLocale = memoize(buildLocale);\n this.buildDateEnv = memoize(buildDateEnv);\n this.buildTheme = memoize(buildTheme);\n this.buildEventUiSingleBase = memoize(this._buildEventUiSingleBase);\n this.buildSelectionConfig = memoize(this._buildSelectionConfig);\n this.buildEventUiBySource = memoizeOutput(buildEventUiBySource, isPropsEqual);\n this.buildEventUiBases = memoize(buildEventUiBases);\n this.interactionsStore = {};\n this.actionQueue = [];\n this.isReducing = false;\n // isDisplaying: boolean = false // installed in DOM? accepting renders?\n this.needsRerender = false; // needs a render?\n this.isRendering = false; // currently in the executeRender function?\n this.renderingPauseDepth = 0;\n this.buildDelayedRerender = memoize(buildDelayedRerender);\n this.afterSizingTriggers = {};\n this.isViewUpdated = false;\n this.isDatesUpdated = false;\n this.isEventsUpdated = false;\n this.el = el;\n this.optionsManager = new OptionsManager(overrides || {});\n this.pluginSystem = new PluginSystem();\n // only do once. don't do in handleOptions. because can't remove plugins\n this.addPluginInputs(this.optionsManager.computed.plugins || []);\n this.handleOptions(this.optionsManager.computed);\n this.publiclyTrigger('_init'); // for tests\n this.hydrate();\n this.calendarInteractions = this.pluginSystem.hooks.calendarInteractions\n .map(function (calendarInteractionClass) {\n return new calendarInteractionClass(_this);\n });\n }\n Calendar.prototype.addPluginInputs = function (pluginInputs) {\n var pluginDefs = refinePluginDefs(pluginInputs);\n for (var _i = 0, pluginDefs_1 = pluginDefs; _i < pluginDefs_1.length; _i++) {\n var pluginDef = pluginDefs_1[_i];\n this.pluginSystem.add(pluginDef);\n }\n };\n Object.defineProperty(Calendar.prototype, \"view\", {\n // public API\n get: function () {\n return this.component ? this.component.view : null;\n },\n enumerable: true,\n configurable: true\n });\n // Public API for rendering\n // -----------------------------------------------------------------------------------------------------------------\n Calendar.prototype.render = function () {\n if (!this.component) {\n this.component = new CalendarComponent(this.el);\n this.renderableEventStore = createEmptyEventStore();\n this.bindHandlers();\n this.executeRender();\n }\n else {\n this.requestRerender();\n }\n };\n Calendar.prototype.destroy = function () {\n if (this.component) {\n this.unbindHandlers();\n this.component.destroy(); // don't null-out. in case API needs access\n this.component = null; // umm ???\n for (var _i = 0, _a = this.calendarInteractions; _i < _a.length; _i++) {\n var interaction = _a[_i];\n interaction.destroy();\n }\n this.publiclyTrigger('_destroyed');\n }\n };\n // Handlers\n // -----------------------------------------------------------------------------------------------------------------\n Calendar.prototype.bindHandlers = function () {\n var _this = this;\n // event delegation for nav links\n this.removeNavLinkListener = listenBySelector(this.el, 'click', 'a[data-goto]', function (ev, anchorEl) {\n var gotoOptions = anchorEl.getAttribute('data-goto');\n gotoOptions = gotoOptions ? JSON.parse(gotoOptions) : {};\n var dateEnv = _this.dateEnv;\n var dateMarker = dateEnv.createMarker(gotoOptions.date);\n var viewType = gotoOptions.type;\n // property like \"navLinkDayClick\". might be a string or a function\n var customAction = _this.viewOpt('navLink' + capitaliseFirstLetter(viewType) + 'Click');\n if (typeof customAction === 'function') {\n customAction(dateEnv.toDate(dateMarker), ev);\n }\n else {\n if (typeof customAction === 'string') {\n viewType = customAction;\n }\n _this.zoomTo(dateMarker, viewType);\n }\n });\n if (this.opt('handleWindowResize')) {\n window.addEventListener('resize', this.windowResizeProxy = debounce(// prevents rapid calls\n this.windowResize.bind(this), this.opt('windowResizeDelay')));\n }\n };\n Calendar.prototype.unbindHandlers = function () {\n this.removeNavLinkListener();\n if (this.windowResizeProxy) {\n window.removeEventListener('resize', this.windowResizeProxy);\n this.windowResizeProxy = null;\n }\n };\n // Dispatcher\n // -----------------------------------------------------------------------------------------------------------------\n Calendar.prototype.hydrate = function () {\n var _this = this;\n this.state = this.buildInitialState();\n var rawSources = this.opt('eventSources') || [];\n var singleRawSource = this.opt('events');\n var sources = []; // parsed\n if (singleRawSource) {\n rawSources.unshift(singleRawSource);\n }\n for (var _i = 0, rawSources_1 = rawSources; _i < rawSources_1.length; _i++) {\n var rawSource = rawSources_1[_i];\n var source = parseEventSource(rawSource, this);\n if (source) {\n sources.push(source);\n }\n }\n this.batchRendering(function () {\n _this.dispatch({ type: 'INIT' }); // pass in sources here?\n _this.dispatch({ type: 'ADD_EVENT_SOURCES', sources: sources });\n _this.dispatch({\n type: 'SET_VIEW_TYPE',\n viewType: _this.opt('defaultView') || _this.pluginSystem.hooks.defaultView\n });\n });\n };\n Calendar.prototype.buildInitialState = function () {\n return {\n viewType: null,\n loadingLevel: 0,\n eventSourceLoadingLevel: 0,\n currentDate: this.getInitialDate(),\n dateProfile: null,\n eventSources: {},\n eventStore: createEmptyEventStore(),\n dateSelection: null,\n eventSelection: '',\n eventDrag: null,\n eventResize: null\n };\n };\n Calendar.prototype.dispatch = function (action) {\n this.actionQueue.push(action);\n if (!this.isReducing) {\n this.isReducing = true;\n var oldState = this.state;\n while (this.actionQueue.length) {\n this.state = this.reduce(this.state, this.actionQueue.shift(), this);\n }\n var newState = this.state;\n this.isReducing = false;\n if (!oldState.loadingLevel && newState.loadingLevel) {\n this.publiclyTrigger('loading', [true]);\n }\n else if (oldState.loadingLevel && !newState.loadingLevel) {\n this.publiclyTrigger('loading', [false]);\n }\n var view = this.component && this.component.view;\n if (oldState.eventStore !== newState.eventStore) {\n if (oldState.eventStore) {\n this.isEventsUpdated = true;\n }\n }\n if (oldState.dateProfile !== newState.dateProfile) {\n if (oldState.dateProfile && view) { // why would view be null!?\n this.publiclyTrigger('datesDestroy', [\n {\n view: view,\n el: view.el\n }\n ]);\n }\n this.isDatesUpdated = true;\n }\n if (oldState.viewType !== newState.viewType) {\n if (oldState.viewType && view) { // why would view be null!?\n this.publiclyTrigger('viewSkeletonDestroy', [\n {\n view: view,\n el: view.el\n }\n ]);\n }\n this.isViewUpdated = true;\n }\n this.requestRerender();\n }\n };\n Calendar.prototype.reduce = function (state, action, calendar) {\n return reduce(state, action, calendar);\n };\n // Render Queue\n // -----------------------------------------------------------------------------------------------------------------\n Calendar.prototype.requestRerender = function () {\n this.needsRerender = true;\n this.delayedRerender(); // will call a debounced-version of tryRerender\n };\n Calendar.prototype.tryRerender = function () {\n if (this.component && // must be accepting renders\n this.needsRerender && // indicates that a rerender was requested\n !this.renderingPauseDepth && // not paused\n !this.isRendering // not currently in the render loop\n ) {\n this.executeRender();\n }\n };\n Calendar.prototype.batchRendering = function (func) {\n this.renderingPauseDepth++;\n func();\n this.renderingPauseDepth--;\n if (this.needsRerender) {\n this.requestRerender();\n }\n };\n // Rendering\n // -----------------------------------------------------------------------------------------------------------------\n Calendar.prototype.executeRender = function () {\n // clear these BEFORE the render so that new values will accumulate during render\n this.needsRerender = false;\n this.isRendering = true;\n this.renderComponent();\n this.isRendering = false;\n // received a rerender request while rendering\n if (this.needsRerender) {\n this.delayedRerender();\n }\n };\n /*\n don't call this directly. use executeRender instead\n */\n Calendar.prototype.renderComponent = function () {\n var _a = this, state = _a.state, component = _a.component;\n var viewType = state.viewType;\n var viewSpec = this.viewSpecs[viewType];\n if (!viewSpec) {\n throw new Error(\"View type \\\"\" + viewType + \"\\\" is not valid\");\n }\n // if event sources are still loading and progressive rendering hasn't been enabled,\n // keep rendering the last fully loaded set of events\n var renderableEventStore = this.renderableEventStore =\n (state.eventSourceLoadingLevel && !this.opt('progressiveEventRendering')) ?\n this.renderableEventStore :\n state.eventStore;\n var eventUiSingleBase = this.buildEventUiSingleBase(viewSpec.options);\n var eventUiBySource = this.buildEventUiBySource(state.eventSources);\n var eventUiBases = this.eventUiBases = this.buildEventUiBases(renderableEventStore.defs, eventUiSingleBase, eventUiBySource);\n component.receiveProps(tslib_1.__assign({}, state, { viewSpec: viewSpec, dateProfileGenerator: this.dateProfileGenerators[viewType], dateProfile: state.dateProfile, eventStore: renderableEventStore, eventUiBases: eventUiBases, dateSelection: state.dateSelection, eventSelection: state.eventSelection, eventDrag: state.eventDrag, eventResize: state.eventResize }), this.buildComponentContext(this.theme, this.dateEnv, this.optionsManager.computed));\n if (this.isViewUpdated) {\n this.isViewUpdated = false;\n this.publiclyTrigger('viewSkeletonRender', [\n {\n view: component.view,\n el: component.view.el\n }\n ]);\n }\n if (this.isDatesUpdated) {\n this.isDatesUpdated = false;\n this.publiclyTrigger('datesRender', [\n {\n view: component.view,\n el: component.view.el\n }\n ]);\n }\n if (this.isEventsUpdated) {\n this.isEventsUpdated = false;\n }\n this.releaseAfterSizingTriggers();\n };\n // Options\n // -----------------------------------------------------------------------------------------------------------------\n Calendar.prototype.setOption = function (name, val) {\n var _a;\n this.mutateOptions((_a = {}, _a[name] = val, _a), [], true);\n };\n Calendar.prototype.getOption = function (name) {\n return this.optionsManager.computed[name];\n };\n Calendar.prototype.opt = function (name) {\n return this.optionsManager.computed[name];\n };\n Calendar.prototype.viewOpt = function (name) {\n return this.viewOpts()[name];\n };\n Calendar.prototype.viewOpts = function () {\n return this.viewSpecs[this.state.viewType].options;\n };\n /*\n handles option changes (like a diff)\n */\n Calendar.prototype.mutateOptions = function (updates, removals, isDynamic, deepEqual) {\n var _this = this;\n var changeHandlers = this.pluginSystem.hooks.optionChangeHandlers;\n var normalUpdates = {};\n var specialUpdates = {};\n var oldDateEnv = this.dateEnv; // do this before handleOptions\n var isTimeZoneDirty = false;\n var isSizeDirty = false;\n var anyDifficultOptions = Boolean(removals.length);\n for (var name_1 in updates) {\n if (changeHandlers[name_1]) {\n specialUpdates[name_1] = updates[name_1];\n }\n else {\n normalUpdates[name_1] = updates[name_1];\n }\n }\n for (var name_2 in normalUpdates) {\n if (/^(height|contentHeight|aspectRatio)$/.test(name_2)) {\n isSizeDirty = true;\n }\n else if (/^(defaultDate|defaultView)$/.test(name_2)) {\n // can't change date this way. use gotoDate instead\n }\n else {\n anyDifficultOptions = true;\n if (name_2 === 'timeZone') {\n isTimeZoneDirty = true;\n }\n }\n }\n this.optionsManager.mutate(normalUpdates, removals, isDynamic);\n if (anyDifficultOptions) {\n this.handleOptions(this.optionsManager.computed);\n }\n this.batchRendering(function () {\n if (anyDifficultOptions) {\n if (isTimeZoneDirty) {\n _this.dispatch({\n type: 'CHANGE_TIMEZONE',\n oldDateEnv: oldDateEnv\n });\n }\n /* HACK\n has the same effect as calling this.requestRerender()\n but recomputes the state's dateProfile\n */\n _this.dispatch({\n type: 'SET_VIEW_TYPE',\n viewType: _this.state.viewType\n });\n }\n else if (isSizeDirty) {\n _this.updateSize();\n }\n // special updates\n if (deepEqual) {\n for (var name_3 in specialUpdates) {\n changeHandlers[name_3](specialUpdates[name_3], _this, deepEqual);\n }\n }\n });\n };\n /*\n rebuilds things based off of a complete set of refined options\n */\n Calendar.prototype.handleOptions = function (options) {\n var _this = this;\n var pluginHooks = this.pluginSystem.hooks;\n this.defaultAllDayEventDuration = createDuration(options.defaultAllDayEventDuration);\n this.defaultTimedEventDuration = createDuration(options.defaultTimedEventDuration);\n this.delayedRerender = this.buildDelayedRerender(options.rerenderDelay);\n this.theme = this.buildTheme(options);\n var available = this.parseRawLocales(options.locales);\n this.availableRawLocales = available.map;\n var locale = this.buildLocale(options.locale || available.defaultCode, available.map);\n this.dateEnv = this.buildDateEnv(locale, options.timeZone, pluginHooks.namedTimeZonedImpl, options.firstDay, options.weekNumberCalculation, options.weekLabel, pluginHooks.cmdFormatter);\n this.selectionConfig = this.buildSelectionConfig(options); // needs dateEnv. do after :(\n // ineffecient to do every time?\n this.viewSpecs = buildViewSpecs(pluginHooks.views, this.optionsManager);\n // ineffecient to do every time?\n this.dateProfileGenerators = mapHash(this.viewSpecs, function (viewSpec) {\n return new viewSpec.class.prototype.dateProfileGeneratorClass(viewSpec, _this);\n });\n };\n Calendar.prototype.getAvailableLocaleCodes = function () {\n return Object.keys(this.availableRawLocales);\n };\n Calendar.prototype._buildSelectionConfig = function (rawOpts) {\n return processScopedUiProps('select', rawOpts, this);\n };\n Calendar.prototype._buildEventUiSingleBase = function (rawOpts) {\n if (rawOpts.editable) { // so 'editable' affected events\n rawOpts = tslib_1.__assign({}, rawOpts, { eventEditable: true });\n }\n return processScopedUiProps('event', rawOpts, this);\n };\n // Trigger\n // -----------------------------------------------------------------------------------------------------------------\n Calendar.prototype.hasPublicHandlers = function (name) {\n return this.hasHandlers(name) ||\n this.opt(name); // handler specified in options\n };\n Calendar.prototype.publiclyTrigger = function (name, args) {\n var optHandler = this.opt(name);\n this.triggerWith(name, this, args);\n if (optHandler) {\n return optHandler.apply(this, args);\n }\n };\n Calendar.prototype.publiclyTriggerAfterSizing = function (name, args) {\n var afterSizingTriggers = this.afterSizingTriggers;\n (afterSizingTriggers[name] || (afterSizingTriggers[name] = [])).push(args);\n };\n Calendar.prototype.releaseAfterSizingTriggers = function () {\n var afterSizingTriggers = this.afterSizingTriggers;\n for (var name_4 in afterSizingTriggers) {\n for (var _i = 0, _a = afterSizingTriggers[name_4]; _i < _a.length; _i++) {\n var args = _a[_i];\n this.publiclyTrigger(name_4, args);\n }\n }\n this.afterSizingTriggers = {};\n };\n // View\n // -----------------------------------------------------------------------------------------------------------------\n // Returns a boolean about whether the view is okay to instantiate at some point\n Calendar.prototype.isValidViewType = function (viewType) {\n return Boolean(this.viewSpecs[viewType]);\n };\n Calendar.prototype.changeView = function (viewType, dateOrRange) {\n var dateMarker = null;\n if (dateOrRange) {\n if (dateOrRange.start && dateOrRange.end) { // a range\n this.optionsManager.mutate({ visibleRange: dateOrRange }, []); // will not rerender\n this.handleOptions(this.optionsManager.computed); // ...but yuck\n }\n else { // a date\n dateMarker = this.dateEnv.createMarker(dateOrRange); // just like gotoDate\n }\n }\n this.unselect();\n this.dispatch({\n type: 'SET_VIEW_TYPE',\n viewType: viewType,\n dateMarker: dateMarker\n });\n };\n // Forces navigation to a view for the given date.\n // `viewType` can be a specific view name or a generic one like \"week\" or \"day\".\n // needs to change\n Calendar.prototype.zoomTo = function (dateMarker, viewType) {\n var spec;\n viewType = viewType || 'day'; // day is default zoom\n spec = this.viewSpecs[viewType] ||\n this.getUnitViewSpec(viewType);\n this.unselect();\n if (spec) {\n this.dispatch({\n type: 'SET_VIEW_TYPE',\n viewType: spec.type,\n dateMarker: dateMarker\n });\n }\n else {\n this.dispatch({\n type: 'SET_DATE',\n dateMarker: dateMarker\n });\n }\n };\n // Given a duration singular unit, like \"week\" or \"day\", finds a matching view spec.\n // Preference is given to views that have corresponding buttons.\n Calendar.prototype.getUnitViewSpec = function (unit) {\n var component = this.component;\n var viewTypes = [];\n var i;\n var spec;\n // put views that have buttons first. there will be duplicates, but oh\n if (component.header) {\n viewTypes.push.apply(viewTypes, component.header.viewsWithButtons);\n }\n if (component.footer) {\n viewTypes.push.apply(viewTypes, component.footer.viewsWithButtons);\n }\n for (var viewType in this.viewSpecs) {\n viewTypes.push(viewType);\n }\n for (i = 0; i < viewTypes.length; i++) {\n spec = this.viewSpecs[viewTypes[i]];\n if (spec) {\n if (spec.singleUnit === unit) {\n return spec;\n }\n }\n }\n };\n // Current Date\n // -----------------------------------------------------------------------------------------------------------------\n Calendar.prototype.getInitialDate = function () {\n var defaultDateInput = this.opt('defaultDate');\n // compute the initial ambig-timezone date\n if (defaultDateInput != null) {\n return this.dateEnv.createMarker(defaultDateInput);\n }\n else {\n return this.getNow(); // getNow already returns unzoned\n }\n };\n Calendar.prototype.prev = function () {\n this.unselect();\n this.dispatch({ type: 'PREV' });\n };\n Calendar.prototype.next = function () {\n this.unselect();\n this.dispatch({ type: 'NEXT' });\n };\n Calendar.prototype.prevYear = function () {\n this.unselect();\n this.dispatch({\n type: 'SET_DATE',\n dateMarker: this.dateEnv.addYears(this.state.currentDate, -1)\n });\n };\n Calendar.prototype.nextYear = function () {\n this.unselect();\n this.dispatch({\n type: 'SET_DATE',\n dateMarker: this.dateEnv.addYears(this.state.currentDate, 1)\n });\n };\n Calendar.prototype.today = function () {\n this.unselect();\n this.dispatch({\n type: 'SET_DATE',\n dateMarker: this.getNow()\n });\n };\n Calendar.prototype.gotoDate = function (zonedDateInput) {\n this.unselect();\n this.dispatch({\n type: 'SET_DATE',\n dateMarker: this.dateEnv.createMarker(zonedDateInput)\n });\n };\n Calendar.prototype.incrementDate = function (deltaInput) {\n var delta = createDuration(deltaInput);\n if (delta) { // else, warn about invalid input?\n this.unselect();\n this.dispatch({\n type: 'SET_DATE',\n dateMarker: this.dateEnv.add(this.state.currentDate, delta)\n });\n }\n };\n // for external API\n Calendar.prototype.getDate = function () {\n return this.dateEnv.toDate(this.state.currentDate);\n };\n // Date Formatting Utils\n // -----------------------------------------------------------------------------------------------------------------\n Calendar.prototype.formatDate = function (d, formatter) {\n var dateEnv = this.dateEnv;\n return dateEnv.format(dateEnv.createMarker(d), createFormatter(formatter));\n };\n // `settings` is for formatter AND isEndExclusive\n Calendar.prototype.formatRange = function (d0, d1, settings) {\n var dateEnv = this.dateEnv;\n return dateEnv.formatRange(dateEnv.createMarker(d0), dateEnv.createMarker(d1), createFormatter(settings, this.opt('defaultRangeSeparator')), settings);\n };\n Calendar.prototype.formatIso = function (d, omitTime) {\n var dateEnv = this.dateEnv;\n return dateEnv.formatIso(dateEnv.createMarker(d), { omitTime: omitTime });\n };\n // Sizing\n // -----------------------------------------------------------------------------------------------------------------\n Calendar.prototype.windowResize = function (ev) {\n if (!this.isHandlingWindowResize &&\n this.component && // why?\n ev.target === window // not a jqui resize event\n ) {\n this.isHandlingWindowResize = true;\n this.updateSize();\n this.publiclyTrigger('windowResize', [this.view]);\n this.isHandlingWindowResize = false;\n }\n };\n Calendar.prototype.updateSize = function () {\n if (this.component) { // when?\n this.component.updateSize(true);\n }\n };\n // Component Registration\n // -----------------------------------------------------------------------------------------------------------------\n Calendar.prototype.registerInteractiveComponent = function (component, settingsInput) {\n var settings = parseInteractionSettings(component, settingsInput);\n var DEFAULT_INTERACTIONS = [\n EventClicking,\n EventHovering\n ];\n var interactionClasses = DEFAULT_INTERACTIONS.concat(this.pluginSystem.hooks.componentInteractions);\n var interactions = interactionClasses.map(function (interactionClass) {\n return new interactionClass(settings);\n });\n this.interactionsStore[component.uid] = interactions;\n interactionSettingsStore[component.uid] = settings;\n };\n Calendar.prototype.unregisterInteractiveComponent = function (component) {\n for (var _i = 0, _a = this.interactionsStore[component.uid]; _i < _a.length; _i++) {\n var listener = _a[_i];\n listener.destroy();\n }\n delete this.interactionsStore[component.uid];\n delete interactionSettingsStore[component.uid];\n };\n // Date Selection / Event Selection / DayClick\n // -----------------------------------------------------------------------------------------------------------------\n // this public method receives start/end dates in any format, with any timezone\n // NOTE: args were changed from v3\n Calendar.prototype.select = function (dateOrObj, endDate) {\n var selectionInput;\n if (endDate == null) {\n if (dateOrObj.start != null) {\n selectionInput = dateOrObj;\n }\n else {\n selectionInput = {\n start: dateOrObj,\n end: null\n };\n }\n }\n else {\n selectionInput = {\n start: dateOrObj,\n end: endDate\n };\n }\n var selection = parseDateSpan(selectionInput, this.dateEnv, createDuration({ days: 1 }) // TODO: cache this?\n );\n if (selection) { // throw parse error otherwise?\n this.dispatch({ type: 'SELECT_DATES', selection: selection });\n this.triggerDateSelect(selection);\n }\n };\n // public method\n Calendar.prototype.unselect = function (pev) {\n if (this.state.dateSelection) {\n this.dispatch({ type: 'UNSELECT_DATES' });\n this.triggerDateUnselect(pev);\n }\n };\n Calendar.prototype.triggerDateSelect = function (selection, pev) {\n var arg = tslib_1.__assign({}, this.buildDateSpanApi(selection), { jsEvent: pev ? pev.origEvent : null, view: this.view });\n this.publiclyTrigger('select', [arg]);\n };\n Calendar.prototype.triggerDateUnselect = function (pev) {\n this.publiclyTrigger('unselect', [\n {\n jsEvent: pev ? pev.origEvent : null,\n view: this.view\n }\n ]);\n };\n // TODO: receive pev?\n Calendar.prototype.triggerDateClick = function (dateSpan, dayEl, view, ev) {\n var arg = tslib_1.__assign({}, this.buildDatePointApi(dateSpan), { dayEl: dayEl, jsEvent: ev, // Is this always a mouse event? See #4655\n view: view });\n this.publiclyTrigger('dateClick', [arg]);\n };\n Calendar.prototype.buildDatePointApi = function (dateSpan) {\n var props = {};\n for (var _i = 0, _a = this.pluginSystem.hooks.datePointTransforms; _i < _a.length; _i++) {\n var transform = _a[_i];\n __assign(props, transform(dateSpan, this));\n }\n __assign(props, buildDatePointApi(dateSpan, this.dateEnv));\n return props;\n };\n Calendar.prototype.buildDateSpanApi = function (dateSpan) {\n var props = {};\n for (var _i = 0, _a = this.pluginSystem.hooks.dateSpanTransforms; _i < _a.length; _i++) {\n var transform = _a[_i];\n __assign(props, transform(dateSpan, this));\n }\n __assign(props, buildDateSpanApi(dateSpan, this.dateEnv));\n return props;\n };\n // Date Utils\n // -----------------------------------------------------------------------------------------------------------------\n // Returns a DateMarker for the current date, as defined by the client's computer or from the `now` option\n Calendar.prototype.getNow = function () {\n var now = this.opt('now');\n if (typeof now === 'function') {\n now = now();\n }\n if (now == null) {\n return this.dateEnv.createNowMarker();\n }\n return this.dateEnv.createMarker(now);\n };\n // Event-Date Utilities\n // -----------------------------------------------------------------------------------------------------------------\n // Given an event's allDay status and start date, return what its fallback end date should be.\n // TODO: rename to computeDefaultEventEnd\n Calendar.prototype.getDefaultEventEnd = function (allDay, marker) {\n var end = marker;\n if (allDay) {\n end = startOfDay(end);\n end = this.dateEnv.add(end, this.defaultAllDayEventDuration);\n }\n else {\n end = this.dateEnv.add(end, this.defaultTimedEventDuration);\n }\n return end;\n };\n // Public Events API\n // -----------------------------------------------------------------------------------------------------------------\n Calendar.prototype.addEvent = function (eventInput, sourceInput) {\n if (eventInput instanceof EventApi) {\n var def = eventInput._def;\n var instance = eventInput._instance;\n // not already present? don't want to add an old snapshot\n if (!this.state.eventStore.defs[def.defId]) {\n this.dispatch({\n type: 'ADD_EVENTS',\n eventStore: eventTupleToStore({ def: def, instance: instance }) // TODO: better util for two args?\n });\n }\n return eventInput;\n }\n var sourceId;\n if (sourceInput instanceof EventSourceApi) {\n sourceId = sourceInput.internalEventSource.sourceId;\n }\n else if (sourceInput != null) {\n var sourceApi = this.getEventSourceById(sourceInput); // TODO: use an internal function\n if (!sourceApi) {\n console.warn('Could not find an event source with ID \"' + sourceInput + '\"'); // TODO: test\n return null;\n }\n else {\n sourceId = sourceApi.internalEventSource.sourceId;\n }\n }\n var tuple = parseEvent(eventInput, sourceId, this);\n if (tuple) {\n this.dispatch({\n type: 'ADD_EVENTS',\n eventStore: eventTupleToStore(tuple)\n });\n return new EventApi(this, tuple.def, tuple.def.recurringDef ? null : tuple.instance);\n }\n return null;\n };\n // TODO: optimize\n Calendar.prototype.getEventById = function (id) {\n var _a = this.state.eventStore, defs = _a.defs, instances = _a.instances;\n id = String(id);\n for (var defId in defs) {\n var def = defs[defId];\n if (def.publicId === id) {\n if (def.recurringDef) {\n return new EventApi(this, def, null);\n }\n else {\n for (var instanceId in instances) {\n var instance = instances[instanceId];\n if (instance.defId === def.defId) {\n return new EventApi(this, def, instance);\n }\n }\n }\n }\n }\n return null;\n };\n Calendar.prototype.getEvents = function () {\n var _a = this.state.eventStore, defs = _a.defs, instances = _a.instances;\n var eventApis = [];\n for (var id in instances) {\n var instance = instances[id];\n var def = defs[instance.defId];\n eventApis.push(new EventApi(this, def, instance));\n }\n return eventApis;\n };\n Calendar.prototype.removeAllEvents = function () {\n this.dispatch({ type: 'REMOVE_ALL_EVENTS' });\n };\n Calendar.prototype.rerenderEvents = function () {\n this.dispatch({ type: 'RESET_EVENTS' });\n };\n // Public Event Sources API\n // -----------------------------------------------------------------------------------------------------------------\n Calendar.prototype.getEventSources = function () {\n var sourceHash = this.state.eventSources;\n var sourceApis = [];\n for (var internalId in sourceHash) {\n sourceApis.push(new EventSourceApi(this, sourceHash[internalId]));\n }\n return sourceApis;\n };\n Calendar.prototype.getEventSourceById = function (id) {\n var sourceHash = this.state.eventSources;\n id = String(id);\n for (var sourceId in sourceHash) {\n if (sourceHash[sourceId].publicId === id) {\n return new EventSourceApi(this, sourceHash[sourceId]);\n }\n }\n return null;\n };\n Calendar.prototype.addEventSource = function (sourceInput) {\n if (sourceInput instanceof EventSourceApi) {\n // not already present? don't want to add an old snapshot\n if (!this.state.eventSources[sourceInput.internalEventSource.sourceId]) {\n this.dispatch({\n type: 'ADD_EVENT_SOURCES',\n sources: [sourceInput.internalEventSource]\n });\n }\n return sourceInput;\n }\n var eventSource = parseEventSource(sourceInput, this);\n if (eventSource) { // TODO: error otherwise?\n this.dispatch({ type: 'ADD_EVENT_SOURCES', sources: [eventSource] });\n return new EventSourceApi(this, eventSource);\n }\n return null;\n };\n Calendar.prototype.removeAllEventSources = function () {\n this.dispatch({ type: 'REMOVE_ALL_EVENT_SOURCES' });\n };\n Calendar.prototype.refetchEvents = function () {\n this.dispatch({ type: 'FETCH_EVENT_SOURCES' });\n };\n // Scroll\n // -----------------------------------------------------------------------------------------------------------------\n Calendar.prototype.scrollToTime = function (timeInput) {\n var duration = createDuration(timeInput);\n if (duration) {\n this.component.view.scrollToDuration(duration);\n }\n };\n return Calendar;\n}());\nexport default Calendar;\nEmitterMixin.mixInto(Calendar);\n// for memoizers\n// -----------------------------------------------------------------------------------------------------------------\nfunction buildComponentContext(theme, dateEnv, options) {\n return new ComponentContext(this, theme, dateEnv, options, null);\n}\nfunction buildDateEnv(locale, timeZone, namedTimeZoneImpl, firstDay, weekNumberCalculation, weekLabel, cmdFormatter) {\n return new DateEnv({\n calendarSystem: 'gregory',\n timeZone: timeZone,\n namedTimeZoneImpl: namedTimeZoneImpl,\n locale: locale,\n weekNumberCalculation: weekNumberCalculation,\n firstDay: firstDay,\n weekLabel: weekLabel,\n cmdFormatter: cmdFormatter\n });\n}\nfunction buildTheme(calendarOptions) {\n var themeClass = this.pluginSystem.hooks.themeClasses[calendarOptions.themeSystem] || StandardTheme;\n return new themeClass(calendarOptions);\n}\nfunction buildDelayedRerender(wait) {\n var func = this.tryRerender.bind(this);\n if (wait != null) {\n func = debounce(func, wait);\n }\n return func;\n}\nfunction buildEventUiBySource(eventSources) {\n return mapHash(eventSources, function (eventSource) {\n return eventSource.ui;\n });\n}\nfunction buildEventUiBases(eventDefs, eventUiSingleBase, eventUiBySource) {\n var eventUiBases = { '': eventUiSingleBase };\n for (var defId in eventDefs) {\n var def = eventDefs[defId];\n if (def.sourceId && eventUiBySource[def.sourceId]) {\n eventUiBases[defId] = eventUiBySource[def.sourceId];\n }\n }\n return eventUiBases;\n}\n","import * as tslib_1 from \"tslib\";\nimport DateProfileGenerator from './DateProfileGenerator';\nimport { addMs } from './datelib/marker';\nimport { createDuration } from './datelib/duration';\nimport { default as EmitterMixin } from './common/EmitterMixin';\nimport { createElement } from './util/dom-manip';\nimport DateComponent from './component/DateComponent';\nimport { sliceEventStore } from './component/event-rendering';\nimport { memoizeRendering } from './component/memoized-rendering';\nimport { __assign } from 'tslib';\nvar View = /** @class */ (function (_super) {\n tslib_1.__extends(View, _super);\n function View(viewSpec, parentEl) {\n var _this = _super.call(this, createElement('div', { className: 'fc-view fc-' + viewSpec.type + '-view' })) || this;\n _this.renderDatesMem = memoizeRendering(_this.renderDatesWrap, _this.unrenderDatesWrap);\n _this.renderBusinessHoursMem = memoizeRendering(_this.renderBusinessHours, _this.unrenderBusinessHours, [_this.renderDatesMem]);\n _this.renderDateSelectionMem = memoizeRendering(_this.renderDateSelectionWrap, _this.unrenderDateSelectionWrap, [_this.renderDatesMem]);\n _this.renderEventsMem = memoizeRendering(_this.renderEvents, _this.unrenderEvents, [_this.renderDatesMem]);\n _this.renderEventSelectionMem = memoizeRendering(_this.renderEventSelectionWrap, _this.unrenderEventSelectionWrap, [_this.renderEventsMem]);\n _this.renderEventDragMem = memoizeRendering(_this.renderEventDragWrap, _this.unrenderEventDragWrap, [_this.renderDatesMem]);\n _this.renderEventResizeMem = memoizeRendering(_this.renderEventResizeWrap, _this.unrenderEventResizeWrap, [_this.renderDatesMem]);\n _this.viewSpec = viewSpec;\n _this.type = viewSpec.type;\n parentEl.appendChild(_this.el);\n _this.initialize();\n return _this;\n }\n View.prototype.initialize = function () {\n };\n Object.defineProperty(View.prototype, \"activeStart\", {\n // Date Setting/Unsetting\n // -----------------------------------------------------------------------------------------------------------------\n get: function () {\n return this.context.dateEnv.toDate(this.props.dateProfile.activeRange.start);\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(View.prototype, \"activeEnd\", {\n get: function () {\n return this.context.dateEnv.toDate(this.props.dateProfile.activeRange.end);\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(View.prototype, \"currentStart\", {\n get: function () {\n return this.context.dateEnv.toDate(this.props.dateProfile.currentRange.start);\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(View.prototype, \"currentEnd\", {\n get: function () {\n return this.context.dateEnv.toDate(this.props.dateProfile.currentRange.end);\n },\n enumerable: true,\n configurable: true\n });\n // General Rendering\n // -----------------------------------------------------------------------------------------------------------------\n View.prototype.render = function (props, context) {\n this.renderDatesMem(props.dateProfile);\n this.renderBusinessHoursMem(props.businessHours);\n this.renderDateSelectionMem(props.dateSelection);\n this.renderEventsMem(props.eventStore);\n this.renderEventSelectionMem(props.eventSelection);\n this.renderEventDragMem(props.eventDrag);\n this.renderEventResizeMem(props.eventResize);\n };\n View.prototype.beforeUpdate = function () {\n this.addScroll(this.queryScroll());\n };\n View.prototype.destroy = function () {\n _super.prototype.destroy.call(this);\n this.renderDatesMem.unrender(); // should unrender everything else\n };\n // Sizing\n // -----------------------------------------------------------------------------------------------------------------\n View.prototype.updateSize = function (isResize, viewHeight, isAuto) {\n var calendar = this.context.calendar;\n if (isResize) {\n this.addScroll(this.queryScroll()); // NOTE: same code as in beforeUpdate\n }\n if (isResize || // HACKS...\n calendar.isViewUpdated ||\n calendar.isDatesUpdated ||\n calendar.isEventsUpdated) {\n // sort of the catch-all sizing\n // anything that might cause dimension changes\n this.updateBaseSize(isResize, viewHeight, isAuto);\n }\n // NOTE: popScroll is called by CalendarComponent\n };\n View.prototype.updateBaseSize = function (isResize, viewHeight, isAuto) {\n };\n // Date Rendering\n // -----------------------------------------------------------------------------------------------------------------\n View.prototype.renderDatesWrap = function (dateProfile) {\n this.renderDates(dateProfile);\n this.addScroll({\n duration: createDuration(this.context.options.scrollTime)\n });\n };\n View.prototype.unrenderDatesWrap = function () {\n this.stopNowIndicator();\n this.unrenderDates();\n };\n View.prototype.renderDates = function (dateProfile) { };\n View.prototype.unrenderDates = function () { };\n // Business Hours\n // -----------------------------------------------------------------------------------------------------------------\n View.prototype.renderBusinessHours = function (businessHours) { };\n View.prototype.unrenderBusinessHours = function () { };\n // Date Selection\n // -----------------------------------------------------------------------------------------------------------------\n View.prototype.renderDateSelectionWrap = function (selection) {\n if (selection) {\n this.renderDateSelection(selection);\n }\n };\n View.prototype.unrenderDateSelectionWrap = function (selection) {\n if (selection) {\n this.unrenderDateSelection(selection);\n }\n };\n View.prototype.renderDateSelection = function (selection) { };\n View.prototype.unrenderDateSelection = function (selection) { };\n // Event Rendering\n // -----------------------------------------------------------------------------------------------------------------\n View.prototype.renderEvents = function (eventStore) { };\n View.prototype.unrenderEvents = function () { };\n // util for subclasses\n View.prototype.sliceEvents = function (eventStore, allDay) {\n var props = this.props;\n return sliceEventStore(eventStore, props.eventUiBases, props.dateProfile.activeRange, allDay ? this.context.nextDayThreshold : null).fg;\n };\n // Event Selection\n // -----------------------------------------------------------------------------------------------------------------\n View.prototype.renderEventSelectionWrap = function (instanceId) {\n if (instanceId) {\n this.renderEventSelection(instanceId);\n }\n };\n View.prototype.unrenderEventSelectionWrap = function (instanceId) {\n if (instanceId) {\n this.unrenderEventSelection(instanceId);\n }\n };\n View.prototype.renderEventSelection = function (instanceId) { };\n View.prototype.unrenderEventSelection = function (instanceId) { };\n // Event Drag\n // -----------------------------------------------------------------------------------------------------------------\n View.prototype.renderEventDragWrap = function (state) {\n if (state) {\n this.renderEventDrag(state);\n }\n };\n View.prototype.unrenderEventDragWrap = function (state) {\n if (state) {\n this.unrenderEventDrag(state);\n }\n };\n View.prototype.renderEventDrag = function (state) { };\n View.prototype.unrenderEventDrag = function (state) { };\n // Event Resize\n // -----------------------------------------------------------------------------------------------------------------\n View.prototype.renderEventResizeWrap = function (state) {\n if (state) {\n this.renderEventResize(state);\n }\n };\n View.prototype.unrenderEventResizeWrap = function (state) {\n if (state) {\n this.unrenderEventResize(state);\n }\n };\n View.prototype.renderEventResize = function (state) { };\n View.prototype.unrenderEventResize = function (state) { };\n /* Now Indicator\n ------------------------------------------------------------------------------------------------------------------*/\n // Immediately render the current time indicator and begins re-rendering it at an interval,\n // which is defined by this.getNowIndicatorUnit().\n // TODO: somehow do this for the current whole day's background too\n // USAGE: must be called manually from subclasses' render methods! don't need to call stopNowIndicator tho\n View.prototype.startNowIndicator = function (dateProfile, dateProfileGenerator) {\n var _this = this;\n var _a = this.context, calendar = _a.calendar, dateEnv = _a.dateEnv, options = _a.options;\n var unit;\n var update;\n var delay; // ms wait value\n if (options.nowIndicator && !this.initialNowDate) {\n unit = this.getNowIndicatorUnit(dateProfile, dateProfileGenerator);\n if (unit) {\n update = this.updateNowIndicator.bind(this);\n this.initialNowDate = calendar.getNow();\n this.initialNowQueriedMs = new Date().valueOf();\n // wait until the beginning of the next interval\n delay = dateEnv.add(dateEnv.startOf(this.initialNowDate, unit), createDuration(1, unit)).valueOf() - this.initialNowDate.valueOf();\n // TODO: maybe always use setTimeout, waiting until start of next unit\n this.nowIndicatorTimeoutID = setTimeout(function () {\n _this.nowIndicatorTimeoutID = null;\n update();\n if (unit === 'second') {\n delay = 1000; // every second\n }\n else {\n delay = 1000 * 60; // otherwise, every minute\n }\n _this.nowIndicatorIntervalID = setInterval(update, delay); // update every interval\n }, delay);\n }\n // rendering will be initiated in updateSize\n }\n };\n // rerenders the now indicator, computing the new current time from the amount of time that has passed\n // since the initial getNow call.\n View.prototype.updateNowIndicator = function () {\n if (this.props.dateProfile && // a way to determine if dates were rendered yet\n this.initialNowDate // activated before?\n ) {\n this.unrenderNowIndicator(); // won't unrender if unnecessary\n this.renderNowIndicator(addMs(this.initialNowDate, new Date().valueOf() - this.initialNowQueriedMs));\n this.isNowIndicatorRendered = true;\n }\n };\n // Immediately unrenders the view's current time indicator and stops any re-rendering timers.\n // Won't cause side effects if indicator isn't rendered.\n View.prototype.stopNowIndicator = function () {\n if (this.nowIndicatorTimeoutID) {\n clearTimeout(this.nowIndicatorTimeoutID);\n this.nowIndicatorTimeoutID = null;\n }\n if (this.nowIndicatorIntervalID) {\n clearInterval(this.nowIndicatorIntervalID);\n this.nowIndicatorIntervalID = null;\n }\n if (this.isNowIndicatorRendered) {\n this.unrenderNowIndicator();\n this.isNowIndicatorRendered = false;\n }\n };\n View.prototype.getNowIndicatorUnit = function (dateProfile, dateProfileGenerator) {\n // subclasses should implement\n };\n // Renders a current time indicator at the given datetime\n View.prototype.renderNowIndicator = function (date) {\n // SUBCLASSES MUST PASS TO CHILDREN!\n };\n // Undoes the rendering actions from renderNowIndicator\n View.prototype.unrenderNowIndicator = function () {\n // SUBCLASSES MUST PASS TO CHILDREN!\n };\n /* Scroller\n ------------------------------------------------------------------------------------------------------------------*/\n View.prototype.addScroll = function (scroll, isForced) {\n if (isForced) {\n scroll.isForced = isForced;\n }\n __assign(this.queuedScroll || (this.queuedScroll = {}), scroll);\n };\n View.prototype.popScroll = function (isResize) {\n this.applyQueuedScroll(isResize);\n this.queuedScroll = null;\n };\n View.prototype.applyQueuedScroll = function (isResize) {\n if (this.queuedScroll) {\n this.applyScroll(this.queuedScroll, isResize);\n }\n };\n View.prototype.queryScroll = function () {\n var scroll = {};\n if (this.props.dateProfile) { // dates rendered yet?\n __assign(scroll, this.queryDateScroll());\n }\n return scroll;\n };\n View.prototype.applyScroll = function (scroll, isResize) {\n var duration = scroll.duration, isForced = scroll.isForced;\n if (duration != null && !isForced) {\n delete scroll.duration;\n if (this.props.dateProfile) { // dates rendered yet?\n __assign(scroll, this.computeDateScroll(duration));\n }\n }\n if (this.props.dateProfile) { // dates rendered yet?\n this.applyDateScroll(scroll);\n }\n };\n View.prototype.computeDateScroll = function (duration) {\n return {}; // subclasses must implement\n };\n View.prototype.queryDateScroll = function () {\n return {}; // subclasses must implement\n };\n View.prototype.applyDateScroll = function (scroll) {\n // subclasses must implement\n };\n // for API\n View.prototype.scrollToDuration = function (duration) {\n this.applyScroll({ duration: duration }, false);\n };\n return View;\n}(DateComponent));\nexport default View;\nEmitterMixin.mixInto(View);\nView.prototype.usesMinMaxTime = false;\nView.prototype.dateProfileGeneratorClass = DateProfileGenerator;\n","import * as tslib_1 from \"tslib\";\nimport { createFormatter } from '../../datelib/formatting';\nimport { htmlToElements } from '../../util/dom-manip';\nimport { compareByFieldSpecs } from '../../util/misc';\nimport { filterSegsViaEls, triggerRenderedSegs, triggerWillRemoveSegs } from '../event-rendering';\nvar FgEventRenderer = /** @class */ (function () {\n function FgEventRenderer() {\n this.segs = [];\n this.isSizeDirty = false;\n }\n FgEventRenderer.prototype.renderSegs = function (context, segs, mirrorInfo) {\n this.context = context;\n this.rangeUpdated(); // called too frequently :(\n // render an `.el` on each seg\n // returns a subset of the segs. segs that were actually rendered\n segs = this.renderSegEls(segs, mirrorInfo);\n this.segs = segs;\n this.attachSegs(segs, mirrorInfo);\n this.isSizeDirty = true;\n triggerRenderedSegs(this.context, this.segs, Boolean(mirrorInfo));\n };\n FgEventRenderer.prototype.unrender = function (context, _segs, mirrorInfo) {\n triggerWillRemoveSegs(this.context, this.segs, Boolean(mirrorInfo));\n this.detachSegs(this.segs);\n this.segs = [];\n };\n // Updates values that rely on options and also relate to range\n FgEventRenderer.prototype.rangeUpdated = function () {\n var options = this.context.options;\n var displayEventTime;\n var displayEventEnd;\n this.eventTimeFormat = createFormatter(options.eventTimeFormat || this.computeEventTimeFormat(), options.defaultRangeSeparator);\n displayEventTime = options.displayEventTime;\n if (displayEventTime == null) {\n displayEventTime = this.computeDisplayEventTime(); // might be based off of range\n }\n displayEventEnd = options.displayEventEnd;\n if (displayEventEnd == null) {\n displayEventEnd = this.computeDisplayEventEnd(); // might be based off of range\n }\n this.displayEventTime = displayEventTime;\n this.displayEventEnd = displayEventEnd;\n };\n // Renders and assigns an `el` property for each foreground event segment.\n // Only returns segments that successfully rendered.\n FgEventRenderer.prototype.renderSegEls = function (segs, mirrorInfo) {\n var html = '';\n var i;\n if (segs.length) { // don't build an empty html string\n // build a large concatenation of event segment HTML\n for (i = 0; i < segs.length; i++) {\n html += this.renderSegHtml(segs[i], mirrorInfo);\n }\n // Grab individual elements from the combined HTML string. Use each as the default rendering.\n // Then, compute the 'el' for each segment. An el might be null if the eventRender callback returned false.\n htmlToElements(html).forEach(function (el, i) {\n var seg = segs[i];\n if (el) {\n seg.el = el;\n }\n });\n segs = filterSegsViaEls(this.context, segs, Boolean(mirrorInfo));\n }\n return segs;\n };\n // Generic utility for generating the HTML classNames for an event segment's element\n FgEventRenderer.prototype.getSegClasses = function (seg, isDraggable, isResizable, mirrorInfo) {\n var classes = [\n 'fc-event',\n seg.isStart ? 'fc-start' : 'fc-not-start',\n seg.isEnd ? 'fc-end' : 'fc-not-end'\n ].concat(seg.eventRange.ui.classNames);\n if (isDraggable) {\n classes.push('fc-draggable');\n }\n if (isResizable) {\n classes.push('fc-resizable');\n }\n if (mirrorInfo) {\n classes.push('fc-mirror');\n if (mirrorInfo.isDragging) {\n classes.push('fc-dragging');\n }\n if (mirrorInfo.isResizing) {\n classes.push('fc-resizing');\n }\n }\n return classes;\n };\n // Compute the text that should be displayed on an event's element.\n // `range` can be the Event object itself, or something range-like, with at least a `start`.\n // If event times are disabled, or the event has no time, will return a blank string.\n // If not specified, formatter will default to the eventTimeFormat setting,\n // and displayEnd will default to the displayEventEnd setting.\n FgEventRenderer.prototype.getTimeText = function (eventRange, formatter, displayEnd) {\n var def = eventRange.def, instance = eventRange.instance;\n return this._getTimeText(instance.range.start, def.hasEnd ? instance.range.end : null, def.allDay, formatter, displayEnd, instance.forcedStartTzo, instance.forcedEndTzo);\n };\n FgEventRenderer.prototype._getTimeText = function (start, end, allDay, formatter, displayEnd, forcedStartTzo, forcedEndTzo) {\n var dateEnv = this.context.dateEnv;\n if (formatter == null) {\n formatter = this.eventTimeFormat;\n }\n if (displayEnd == null) {\n displayEnd = this.displayEventEnd;\n }\n if (this.displayEventTime && !allDay) {\n if (displayEnd && end) {\n return dateEnv.formatRange(start, end, formatter, {\n forcedStartTzo: forcedStartTzo,\n forcedEndTzo: forcedEndTzo\n });\n }\n else {\n return dateEnv.format(start, formatter, {\n forcedTzo: forcedStartTzo\n });\n }\n }\n return '';\n };\n FgEventRenderer.prototype.computeEventTimeFormat = function () {\n return {\n hour: 'numeric',\n minute: '2-digit',\n omitZeroMinute: true\n };\n };\n FgEventRenderer.prototype.computeDisplayEventTime = function () {\n return true;\n };\n FgEventRenderer.prototype.computeDisplayEventEnd = function () {\n return true;\n };\n // Utility for generating event skin-related CSS properties\n FgEventRenderer.prototype.getSkinCss = function (ui) {\n return {\n 'background-color': ui.backgroundColor,\n 'border-color': ui.borderColor,\n color: ui.textColor\n };\n };\n FgEventRenderer.prototype.sortEventSegs = function (segs) {\n var specs = this.context.eventOrderSpecs;\n var objs = segs.map(buildSegCompareObj);\n objs.sort(function (obj0, obj1) {\n return compareByFieldSpecs(obj0, obj1, specs);\n });\n return objs.map(function (c) {\n return c._seg;\n });\n };\n FgEventRenderer.prototype.computeSizes = function (force) {\n if (force || this.isSizeDirty) {\n this.computeSegSizes(this.segs);\n }\n };\n FgEventRenderer.prototype.assignSizes = function (force) {\n if (force || this.isSizeDirty) {\n this.assignSegSizes(this.segs);\n this.isSizeDirty = false;\n }\n };\n FgEventRenderer.prototype.computeSegSizes = function (segs) {\n };\n FgEventRenderer.prototype.assignSegSizes = function (segs) {\n };\n // Manipulation on rendered segs\n FgEventRenderer.prototype.hideByHash = function (hash) {\n if (hash) {\n for (var _i = 0, _a = this.segs; _i < _a.length; _i++) {\n var seg = _a[_i];\n if (hash[seg.eventRange.instance.instanceId]) {\n seg.el.style.visibility = 'hidden';\n }\n }\n }\n };\n FgEventRenderer.prototype.showByHash = function (hash) {\n if (hash) {\n for (var _i = 0, _a = this.segs; _i < _a.length; _i++) {\n var seg = _a[_i];\n if (hash[seg.eventRange.instance.instanceId]) {\n seg.el.style.visibility = '';\n }\n }\n }\n };\n FgEventRenderer.prototype.selectByInstanceId = function (instanceId) {\n if (instanceId) {\n for (var _i = 0, _a = this.segs; _i < _a.length; _i++) {\n var seg = _a[_i];\n var eventInstance = seg.eventRange.instance;\n if (eventInstance && eventInstance.instanceId === instanceId &&\n seg.el // necessary?\n ) {\n seg.el.classList.add('fc-selected');\n }\n }\n }\n };\n FgEventRenderer.prototype.unselectByInstanceId = function (instanceId) {\n if (instanceId) {\n for (var _i = 0, _a = this.segs; _i < _a.length; _i++) {\n var seg = _a[_i];\n if (seg.el) { // necessary?\n seg.el.classList.remove('fc-selected');\n }\n }\n }\n };\n return FgEventRenderer;\n}());\nexport default FgEventRenderer;\n// returns a object with all primitive props that can be compared\nexport function buildSegCompareObj(seg) {\n var eventDef = seg.eventRange.def;\n var range = seg.eventRange.instance.range;\n var start = range.start ? range.start.valueOf() : 0; // TODO: better support for open-range events\n var end = range.end ? range.end.valueOf() : 0; // \"\n return tslib_1.__assign({}, eventDef.extendedProps, eventDef, { id: eventDef.publicId, start: start,\n end: end, duration: end - start, allDay: Number(eventDef.allDay), _seg: seg // for later retrieval\n });\n}\n","import { cssToStr } from '../../util/html';\nimport { htmlToElements, removeElement, elementMatches } from '../../util/dom-manip';\nimport { filterSegsViaEls, triggerRenderedSegs, triggerWillRemoveSegs } from '../event-rendering';\n/*\nTODO: when refactoring this class, make a new FillRenderer instance for each `type`\n*/\nvar FillRenderer = /** @class */ (function () {\n function FillRenderer() {\n this.fillSegTag = 'div';\n this.dirtySizeFlags = {};\n this.containerElsByType = {};\n this.segsByType = {};\n }\n FillRenderer.prototype.getSegsByType = function (type) {\n return this.segsByType[type] || [];\n };\n FillRenderer.prototype.renderSegs = function (type, context, segs) {\n var _a;\n this.context = context;\n var renderedSegs = this.renderSegEls(type, segs); // assignes `.el` to each seg. returns successfully rendered segs\n var containerEls = this.attachSegs(type, renderedSegs);\n if (containerEls) {\n (_a = (this.containerElsByType[type] || (this.containerElsByType[type] = []))).push.apply(_a, containerEls);\n }\n this.segsByType[type] = renderedSegs;\n if (type === 'bgEvent') {\n triggerRenderedSegs(context, renderedSegs, false); // isMirror=false\n }\n this.dirtySizeFlags[type] = true;\n };\n // Unrenders a specific type of fill that is currently rendered on the grid\n FillRenderer.prototype.unrender = function (type, context) {\n var segs = this.segsByType[type];\n if (segs) {\n if (type === 'bgEvent') {\n triggerWillRemoveSegs(context, segs, false); // isMirror=false\n }\n this.detachSegs(type, segs);\n }\n };\n // Renders and assigns an `el` property for each fill segment. Generic enough to work with different types.\n // Only returns segments that successfully rendered.\n FillRenderer.prototype.renderSegEls = function (type, segs) {\n var _this = this;\n var html = '';\n var i;\n if (segs.length) {\n // build a large concatenation of segment HTML\n for (i = 0; i < segs.length; i++) {\n html += this.renderSegHtml(type, segs[i]);\n }\n // Grab individual elements from the combined HTML string. Use each as the default rendering.\n // Then, compute the 'el' for each segment.\n htmlToElements(html).forEach(function (el, i) {\n var seg = segs[i];\n if (el) {\n seg.el = el;\n }\n });\n if (type === 'bgEvent') {\n segs = filterSegsViaEls(this.context, segs, false // isMirror. background events can never be mirror elements\n );\n }\n // correct element type? (would be bad if a non-TD were inserted into a table for example)\n segs = segs.filter(function (seg) {\n return elementMatches(seg.el, _this.fillSegTag);\n });\n }\n return segs;\n };\n // Builds the HTML needed for one fill segment. Generic enough to work with different types.\n FillRenderer.prototype.renderSegHtml = function (type, seg) {\n var css = null;\n var classNames = [];\n if (type !== 'highlight' && type !== 'businessHours') {\n css = {\n 'background-color': seg.eventRange.ui.backgroundColor\n };\n }\n if (type !== 'highlight') {\n classNames = classNames.concat(seg.eventRange.ui.classNames);\n }\n if (type === 'businessHours') {\n classNames.push('fc-bgevent');\n }\n else {\n classNames.push('fc-' + type.toLowerCase());\n }\n return '<' + this.fillSegTag +\n (classNames.length ? ' class=\"' + classNames.join(' ') + '\"' : '') +\n (css ? ' style=\"' + cssToStr(css) + '\"' : '') +\n '>' + this.fillSegTag + '>';\n };\n FillRenderer.prototype.detachSegs = function (type, segs) {\n var containerEls = this.containerElsByType[type];\n if (containerEls) {\n containerEls.forEach(removeElement);\n delete this.containerElsByType[type];\n }\n };\n FillRenderer.prototype.computeSizes = function (force) {\n for (var type in this.segsByType) {\n if (force || this.dirtySizeFlags[type]) {\n this.computeSegSizes(this.segsByType[type]);\n }\n }\n };\n FillRenderer.prototype.assignSizes = function (force) {\n for (var type in this.segsByType) {\n if (force || this.dirtySizeFlags[type]) {\n this.assignSegSizes(this.segsByType[type]);\n }\n }\n this.dirtySizeFlags = {};\n };\n FillRenderer.prototype.computeSegSizes = function (segs) {\n };\n FillRenderer.prototype.assignSegSizes = function (segs) {\n };\n return FillRenderer;\n}());\nexport default FillRenderer;\n","var NamedTimeZoneImpl = /** @class */ (function () {\n function NamedTimeZoneImpl(timeZoneName) {\n this.timeZoneName = timeZoneName;\n }\n return NamedTimeZoneImpl;\n}());\nexport { NamedTimeZoneImpl };\n","import EmitterMixin from '../common/EmitterMixin';\n/*\nAn abstraction for a dragging interaction originating on an event.\nDoes higher-level things than PointerDragger, such as possibly:\n- a \"mirror\" that moves with the pointer\n- a minimum number of pixels or other criteria for a true drag to begin\n\nsubclasses must emit:\n- pointerdown\n- dragstart\n- dragmove\n- pointerup\n- dragend\n*/\nvar ElementDragging = /** @class */ (function () {\n function ElementDragging(el) {\n this.emitter = new EmitterMixin();\n }\n ElementDragging.prototype.destroy = function () {\n };\n ElementDragging.prototype.setMirrorIsVisible = function (bool) {\n // optional if subclass doesn't want to support a mirror\n };\n ElementDragging.prototype.setMirrorNeedsRevert = function (bool) {\n // optional if subclass doesn't want to support a mirror\n };\n ElementDragging.prototype.setAutoScrollEnabled = function (bool) {\n // optional\n };\n return ElementDragging;\n}());\nexport default ElementDragging;\n","import * as tslib_1 from \"tslib\";\nimport { DateEnv } from './datelib/env';\nimport { createFormatter } from './datelib/formatting';\nimport { parseRawLocales, buildLocale } from './datelib/locale';\nimport { globalDefaults } from './options';\nexport function formatDate(dateInput, settings) {\n if (settings === void 0) { settings = {}; }\n var dateEnv = buildDateEnv(settings);\n var formatter = createFormatter(settings);\n var dateMeta = dateEnv.createMarkerMeta(dateInput);\n if (!dateMeta) { // TODO: warning?\n return '';\n }\n return dateEnv.format(dateMeta.marker, formatter, {\n forcedTzo: dateMeta.forcedTzo\n });\n}\nexport function formatRange(startInput, endInput, settings // mixture of env and formatter settings\n) {\n var dateEnv = buildDateEnv(typeof settings === 'object' && settings ? settings : {}); // pass in if non-null object\n var formatter = createFormatter(settings, globalDefaults.defaultRangeSeparator);\n var startMeta = dateEnv.createMarkerMeta(startInput);\n var endMeta = dateEnv.createMarkerMeta(endInput);\n if (!startMeta || !endMeta) { // TODO: warning?\n return '';\n }\n return dateEnv.formatRange(startMeta.marker, endMeta.marker, formatter, {\n forcedStartTzo: startMeta.forcedTzo,\n forcedEndTzo: endMeta.forcedTzo,\n isEndExclusive: settings.isEndExclusive\n });\n}\n// TODO: more DRY and optimized\nfunction buildDateEnv(settings) {\n var locale = buildLocale(settings.locale || 'en', parseRawLocales([]).map); // TODO: don't hardcode 'en' everywhere\n // ensure required settings\n settings = tslib_1.__assign({ timeZone: globalDefaults.timeZone, calendarSystem: 'gregory' }, settings, { locale: locale });\n return new DateEnv(settings);\n}\n","import { createDuration } from '../datelib/duration';\nimport { refineProps } from '../util/misc';\nvar DRAG_META_PROPS = {\n startTime: createDuration,\n duration: createDuration,\n create: Boolean,\n sourceId: String\n};\nvar DRAG_META_DEFAULTS = {\n create: true\n};\nexport function parseDragMeta(raw) {\n var leftoverProps = {};\n var refined = refineProps(raw, DRAG_META_PROPS, DRAG_META_DEFAULTS, leftoverProps);\n refined.leftoverProps = leftoverProps;\n return refined;\n}\n","import { rangeContainsMarker } from '../datelib/date-range';\nimport { htmlEscape } from '../util/html';\nimport { buildGotoAnchorHtml, getDayClasses } from '../component/date-rendering';\nimport { DAY_IDS } from '../datelib/marker';\n// Computes a default column header formatting string if `colFormat` is not explicitly defined\nexport function computeFallbackHeaderFormat(datesRepDistinctDays, dayCnt) {\n // if more than one week row, or if there are a lot of columns with not much space,\n // put just the day numbers will be in each cell\n if (!datesRepDistinctDays || dayCnt > 10) {\n return { weekday: 'short' }; // \"Sat\"\n }\n else if (dayCnt > 1) {\n return { weekday: 'short', month: 'numeric', day: 'numeric', omitCommas: true }; // \"Sat 11/12\"\n }\n else {\n return { weekday: 'long' }; // \"Saturday\"\n }\n}\nexport function renderDateCell(dateMarker, dateProfile, datesRepDistinctDays, colCnt, colHeadFormat, context, colspan, otherAttrs) {\n var dateEnv = context.dateEnv, theme = context.theme, options = context.options;\n var isDateValid = rangeContainsMarker(dateProfile.activeRange, dateMarker); // TODO: called too frequently. cache somehow.\n var classNames = [\n 'fc-day-header',\n theme.getClass('widgetHeader')\n ];\n var innerHtml;\n if (typeof options.columnHeaderHtml === 'function') {\n innerHtml = options.columnHeaderHtml(dateEnv.toDate(dateMarker));\n }\n else if (typeof options.columnHeaderText === 'function') {\n innerHtml = htmlEscape(options.columnHeaderText(dateEnv.toDate(dateMarker)));\n }\n else {\n innerHtml = htmlEscape(dateEnv.format(dateMarker, colHeadFormat));\n }\n // if only one row of days, the classNames on the header can represent the specific days beneath\n if (datesRepDistinctDays) {\n classNames = classNames.concat(\n // includes the day-of-week class\n // noThemeHighlight=true (don't highlight the header)\n getDayClasses(dateMarker, dateProfile, context, true));\n }\n else {\n classNames.push('fc-' + DAY_IDS[dateMarker.getUTCDay()]); // only add the day-of-week class\n }\n return '' +\n ' 1 ?\n ' colspan=\"' + colspan + '\"' :\n '') +\n (otherAttrs ?\n ' ' + otherAttrs :\n '') +\n '>' +\n (isDateValid ?\n // don't make a link if the heading could represent multiple days, or if there's only one day (forceOff)\n buildGotoAnchorHtml(options, dateEnv, { date: dateMarker, forceOff: !datesRepDistinctDays || colCnt === 1 }, innerHtml) :\n // if not valid, display text, but no link\n innerHtml) +\n ' | ';\n}\n","import * as tslib_1 from \"tslib\";\nimport Component from '../component/Component';\nimport { htmlToElement, removeElement } from '../util/dom-manip';\nimport { createFormatter } from '../datelib/formatting';\nimport { computeFallbackHeaderFormat, renderDateCell } from './table-utils';\nimport { memoizeRendering } from '../component/memoized-rendering';\nvar DayHeader = /** @class */ (function (_super) {\n tslib_1.__extends(DayHeader, _super);\n function DayHeader(parentEl) {\n var _this = _super.call(this) || this;\n _this.renderSkeleton = memoizeRendering(_this._renderSkeleton, _this._unrenderSkeleton);\n _this.parentEl = parentEl;\n return _this;\n }\n DayHeader.prototype.render = function (props, context) {\n var dates = props.dates, datesRepDistinctDays = props.datesRepDistinctDays;\n var parts = [];\n this.renderSkeleton(context);\n if (props.renderIntroHtml) {\n parts.push(props.renderIntroHtml());\n }\n var colHeadFormat = createFormatter(context.options.columnHeaderFormat ||\n computeFallbackHeaderFormat(datesRepDistinctDays, dates.length));\n for (var _i = 0, dates_1 = dates; _i < dates_1.length; _i++) {\n var date = dates_1[_i];\n parts.push(renderDateCell(date, props.dateProfile, datesRepDistinctDays, dates.length, colHeadFormat, context));\n }\n if (context.isRtl) {\n parts.reverse();\n }\n this.thead.innerHTML = '
' + parts.join('') + '
';\n };\n DayHeader.prototype.destroy = function () {\n _super.prototype.destroy.call(this);\n this.renderSkeleton.unrender();\n };\n DayHeader.prototype._renderSkeleton = function (context) {\n var theme = context.theme;\n var parentEl = this.parentEl;\n parentEl.innerHTML = ''; // because might be nbsp\n parentEl.appendChild(this.el = htmlToElement('
'));\n this.thead = this.el.querySelector('thead');\n };\n DayHeader.prototype._unrenderSkeleton = function () {\n removeElement(this.el);\n };\n return DayHeader;\n}(Component));\nexport default DayHeader;\n","import { addDays, diffDays } from '../datelib/marker';\nvar DaySeries = /** @class */ (function () {\n function DaySeries(range, dateProfileGenerator) {\n var date = range.start;\n var end = range.end;\n var indices = [];\n var dates = [];\n var dayIndex = -1;\n while (date < end) { // loop each day from start to end\n if (dateProfileGenerator.isHiddenDay(date)) {\n indices.push(dayIndex + 0.5); // mark that it's between indices\n }\n else {\n dayIndex++;\n indices.push(dayIndex);\n dates.push(date);\n }\n date = addDays(date, 1);\n }\n this.dates = dates;\n this.indices = indices;\n this.cnt = dates.length;\n }\n DaySeries.prototype.sliceRange = function (range) {\n var firstIndex = this.getDateDayIndex(range.start); // inclusive first index\n var lastIndex = this.getDateDayIndex(addDays(range.end, -1)); // inclusive last index\n var clippedFirstIndex = Math.max(0, firstIndex);\n var clippedLastIndex = Math.min(this.cnt - 1, lastIndex);\n // deal with in-between indices\n clippedFirstIndex = Math.ceil(clippedFirstIndex); // in-between starts round to next cell\n clippedLastIndex = Math.floor(clippedLastIndex); // in-between ends round to prev cell\n if (clippedFirstIndex <= clippedLastIndex) {\n return {\n firstIndex: clippedFirstIndex,\n lastIndex: clippedLastIndex,\n isStart: firstIndex === clippedFirstIndex,\n isEnd: lastIndex === clippedLastIndex\n };\n }\n else {\n return null;\n }\n };\n // Given a date, returns its chronolocial cell-index from the first cell of the grid.\n // If the date lies between cells (because of hiddenDays), returns a floating-point value between offsets.\n // If before the first offset, returns a negative number.\n // If after the last offset, returns an offset past the last cell offset.\n // Only works for *start* dates of cells. Will not work for exclusive end dates for cells.\n DaySeries.prototype.getDateDayIndex = function (date) {\n var indices = this.indices;\n var dayOffset = Math.floor(diffDays(this.dates[0], date));\n if (dayOffset < 0) {\n return indices[0] - 1;\n }\n else if (dayOffset >= indices.length) {\n return indices[indices.length - 1] + 1;\n }\n else {\n return indices[dayOffset];\n }\n };\n return DaySeries;\n}());\nexport default DaySeries;\n","var DayTable = /** @class */ (function () {\n function DayTable(daySeries, breakOnWeeks) {\n var dates = daySeries.dates;\n var daysPerRow;\n var firstDay;\n var rowCnt;\n if (breakOnWeeks) {\n // count columns until the day-of-week repeats\n firstDay = dates[0].getUTCDay();\n for (daysPerRow = 1; daysPerRow < dates.length; daysPerRow++) {\n if (dates[daysPerRow].getUTCDay() === firstDay) {\n break;\n }\n }\n rowCnt = Math.ceil(dates.length / daysPerRow);\n }\n else {\n rowCnt = 1;\n daysPerRow = dates.length;\n }\n this.rowCnt = rowCnt;\n this.colCnt = daysPerRow;\n this.daySeries = daySeries;\n this.cells = this.buildCells();\n this.headerDates = this.buildHeaderDates();\n }\n DayTable.prototype.buildCells = function () {\n var rows = [];\n for (var row = 0; row < this.rowCnt; row++) {\n var cells = [];\n for (var col = 0; col < this.colCnt; col++) {\n cells.push(this.buildCell(row, col));\n }\n rows.push(cells);\n }\n return rows;\n };\n DayTable.prototype.buildCell = function (row, col) {\n return {\n date: this.daySeries.dates[row * this.colCnt + col]\n };\n };\n DayTable.prototype.buildHeaderDates = function () {\n var dates = [];\n for (var col = 0; col < this.colCnt; col++) {\n dates.push(this.cells[0][col].date);\n }\n return dates;\n };\n DayTable.prototype.sliceRange = function (range) {\n var colCnt = this.colCnt;\n var seriesSeg = this.daySeries.sliceRange(range);\n var segs = [];\n if (seriesSeg) {\n var firstIndex = seriesSeg.firstIndex, lastIndex = seriesSeg.lastIndex;\n var index = firstIndex;\n while (index <= lastIndex) {\n var row = Math.floor(index / colCnt);\n var nextIndex = Math.min((row + 1) * colCnt, lastIndex + 1);\n segs.push({\n row: row,\n firstCol: index % colCnt,\n lastCol: (nextIndex - 1) % colCnt,\n isStart: seriesSeg.isStart && index === firstIndex,\n isEnd: seriesSeg.isEnd && (nextIndex - 1) === lastIndex\n });\n index = nextIndex;\n }\n }\n return segs;\n };\n return DayTable;\n}());\nexport default DayTable;\n","import { expandRecurring } from '../structs/event-store';\nimport { sliceEventStore } from '../component/event-rendering';\nimport { fabricateEventRange } from '../structs/date-span';\nimport { memoize } from '../util/memoize';\nimport { addMs } from '../datelib/marker';\nvar Slicer = /** @class */ (function () {\n function Slicer() {\n this.sliceBusinessHours = memoize(this._sliceBusinessHours);\n this.sliceDateSelection = memoize(this._sliceDateSpan);\n this.sliceEventStore = memoize(this._sliceEventStore);\n this.sliceEventDrag = memoize(this._sliceInteraction);\n this.sliceEventResize = memoize(this._sliceInteraction);\n }\n Slicer.prototype.sliceProps = function (props, dateProfile, nextDayThreshold, calendar, component) {\n var extraArgs = [];\n for (var _i = 5; _i < arguments.length; _i++) {\n extraArgs[_i - 5] = arguments[_i];\n }\n var eventUiBases = props.eventUiBases;\n var eventSegs = this.sliceEventStore.apply(this, [props.eventStore, eventUiBases, dateProfile, nextDayThreshold, component].concat(extraArgs));\n return {\n dateSelectionSegs: this.sliceDateSelection.apply(this, [props.dateSelection, eventUiBases, component].concat(extraArgs)),\n businessHourSegs: this.sliceBusinessHours.apply(this, [props.businessHours, dateProfile, nextDayThreshold, calendar, component].concat(extraArgs)),\n fgEventSegs: eventSegs.fg,\n bgEventSegs: eventSegs.bg,\n eventDrag: this.sliceEventDrag.apply(this, [props.eventDrag, eventUiBases, dateProfile, nextDayThreshold, component].concat(extraArgs)),\n eventResize: this.sliceEventResize.apply(this, [props.eventResize, eventUiBases, dateProfile, nextDayThreshold, component].concat(extraArgs)),\n eventSelection: props.eventSelection\n }; // TODO: give interactionSegs?\n };\n Slicer.prototype.sliceNowDate = function (// does not memoize\n date, component) {\n var extraArgs = [];\n for (var _i = 2; _i < arguments.length; _i++) {\n extraArgs[_i - 2] = arguments[_i];\n }\n return this._sliceDateSpan.apply(this, [{ range: { start: date, end: addMs(date, 1) }, allDay: false },\n {},\n component].concat(extraArgs));\n };\n Slicer.prototype._sliceBusinessHours = function (businessHours, dateProfile, nextDayThreshold, calendar, component) {\n var extraArgs = [];\n for (var _i = 5; _i < arguments.length; _i++) {\n extraArgs[_i - 5] = arguments[_i];\n }\n if (!businessHours) {\n return [];\n }\n return this._sliceEventStore.apply(this, [expandRecurring(businessHours, computeActiveRange(dateProfile, Boolean(nextDayThreshold)), calendar),\n {},\n dateProfile,\n nextDayThreshold,\n component].concat(extraArgs)).bg;\n };\n Slicer.prototype._sliceEventStore = function (eventStore, eventUiBases, dateProfile, nextDayThreshold, component) {\n var extraArgs = [];\n for (var _i = 5; _i < arguments.length; _i++) {\n extraArgs[_i - 5] = arguments[_i];\n }\n if (eventStore) {\n var rangeRes = sliceEventStore(eventStore, eventUiBases, computeActiveRange(dateProfile, Boolean(nextDayThreshold)), nextDayThreshold);\n return {\n bg: this.sliceEventRanges(rangeRes.bg, component, extraArgs),\n fg: this.sliceEventRanges(rangeRes.fg, component, extraArgs)\n };\n }\n else {\n return { bg: [], fg: [] };\n }\n };\n Slicer.prototype._sliceInteraction = function (interaction, eventUiBases, dateProfile, nextDayThreshold, component) {\n var extraArgs = [];\n for (var _i = 5; _i < arguments.length; _i++) {\n extraArgs[_i - 5] = arguments[_i];\n }\n if (!interaction) {\n return null;\n }\n var rangeRes = sliceEventStore(interaction.mutatedEvents, eventUiBases, computeActiveRange(dateProfile, Boolean(nextDayThreshold)), nextDayThreshold);\n return {\n segs: this.sliceEventRanges(rangeRes.fg, component, extraArgs),\n affectedInstances: interaction.affectedEvents.instances,\n isEvent: interaction.isEvent,\n sourceSeg: interaction.origSeg\n };\n };\n Slicer.prototype._sliceDateSpan = function (dateSpan, eventUiBases, component) {\n var extraArgs = [];\n for (var _i = 3; _i < arguments.length; _i++) {\n extraArgs[_i - 3] = arguments[_i];\n }\n if (!dateSpan) {\n return [];\n }\n var eventRange = fabricateEventRange(dateSpan, eventUiBases, component.context.calendar);\n var segs = this.sliceRange.apply(this, [dateSpan.range].concat(extraArgs));\n for (var _a = 0, segs_1 = segs; _a < segs_1.length; _a++) {\n var seg = segs_1[_a];\n seg.component = component;\n seg.eventRange = eventRange;\n }\n return segs;\n };\n /*\n \"complete\" seg means it has component and eventRange\n */\n Slicer.prototype.sliceEventRanges = function (eventRanges, component, // TODO: kill\n extraArgs) {\n var segs = [];\n for (var _i = 0, eventRanges_1 = eventRanges; _i < eventRanges_1.length; _i++) {\n var eventRange = eventRanges_1[_i];\n segs.push.apply(segs, this.sliceEventRange(eventRange, component, extraArgs));\n }\n return segs;\n };\n /*\n \"complete\" seg means it has component and eventRange\n */\n Slicer.prototype.sliceEventRange = function (eventRange, component, // TODO: kill\n extraArgs) {\n var segs = this.sliceRange.apply(this, [eventRange.range].concat(extraArgs));\n for (var _i = 0, segs_2 = segs; _i < segs_2.length; _i++) {\n var seg = segs_2[_i];\n seg.component = component;\n seg.eventRange = eventRange;\n seg.isStart = eventRange.isStart && seg.isStart;\n seg.isEnd = eventRange.isEnd && seg.isEnd;\n }\n return segs;\n };\n return Slicer;\n}());\nexport default Slicer;\n/*\nfor incorporating minTime/maxTime if appropriate\nTODO: should be part of DateProfile!\nTimelineDateProfile already does this btw\n*/\nfunction computeActiveRange(dateProfile, isComponentAllDay) {\n var range = dateProfile.activeRange;\n if (isComponentAllDay) {\n return range;\n }\n return {\n start: addMs(range.start, dateProfile.minTime.milliseconds),\n end: addMs(range.end, dateProfile.maxTime.milliseconds - 864e5) // 864e5 = ms in a day\n };\n}\n","// exports\n// --------------------------------------------------------------------------------------------------\nexport var version = '<%= version %>';\nexport { parseEventDef, createEventInstance } from './structs/event';\nexport { parseBusinessHours } from './structs/business-hours';\nexport { applyAll, debounce, padStart, isInt, capitaliseFirstLetter, parseFieldSpecs, compareByFieldSpecs, compareByFieldSpec, flexibleCompare, computeVisibleDayRange, refineProps, matchCellWidths, uncompensateScroll, compensateScroll, subtractInnerElHeight, isMultiDayRange, distributeHeight, undistributeHeight, preventSelection, allowSelection, preventContextMenu, allowContextMenu, compareNumbers, enableCursor, disableCursor, diffDates } from './util/misc';\nexport { htmlEscape, cssToStr } from './util/html';\nexport { removeExact, isArraysEqual } from './util/array';\nexport { memoize, memoizeOutput } from './util/memoize';\nexport { memoizeRendering } from './component/memoized-rendering';\nexport { intersectRects, pointInsideRect, constrainPoint, getRectCenter, diffPoints, translateRect } from './util/geom';\nexport { mapHash, filterHash, isPropsEqual } from './util/object';\nexport { findElements, findChildren, htmlToElement, createElement, insertAfterElement, prependToElement, removeElement, appendToElement, applyStyle, applyStyleProp, elementMatches, elementClosest, forceClassName } from './util/dom-manip';\nexport { filterEventStoreDefs, createEmptyEventStore, mergeEventStores, getRelevantEvents, eventTupleToStore } from './structs/event-store';\nexport { processScopedUiProps, combineEventUis } from './component/event-ui';\nexport { default as Splitter } from './component/event-splitting';\nexport { buildGotoAnchorHtml, getAllDayHtml, getDayClasses } from './component/date-rendering';\nexport { preventDefault, listenBySelector, whenTransitionDone } from './util/dom-event';\nexport { computeInnerRect, computeEdges, computeHeightAndMargins, getClippingParents, computeClippingRect, computeRect } from './util/dom-geom';\nexport { unpromisify } from './util/promise';\nexport { default as EmitterMixin } from './common/EmitterMixin';\nexport { rangeContainsMarker, intersectRanges, rangesEqual, rangesIntersect, rangeContainsRange } from './datelib/date-range';\nexport { default as Mixin } from './common/Mixin';\nexport { default as PositionCache } from './common/PositionCache';\nexport { default as ScrollComponent } from './common/ScrollComponent';\nexport { ScrollController, ElementScrollController, WindowScrollController } from './common/scroll-controller';\nexport { default as Theme } from './theme/Theme';\nexport { default as Component, ComponentContext } from './component/Component';\nexport { default as DateComponent } from './component/DateComponent';\nexport { default as Calendar } from './Calendar';\nexport { default as View } from './View';\nexport { default as FgEventRenderer, buildSegCompareObj } from './component/renderers/FgEventRenderer';\nexport { default as FillRenderer } from './component/renderers/FillRenderer';\nexport { default as DateProfileGenerator } from './DateProfileGenerator';\nexport { isDateSpansEqual } from './structs/date-span';\nexport { addDays, startOfDay, addMs, addWeeks, diffWeeks, diffWholeWeeks, diffWholeDays, diffDayAndTime, diffDays, isValidDate } from './datelib/marker';\nexport { createDuration, isSingleDay, multiplyDuration, addDurations, asRoughMinutes, asRoughSeconds, asRoughMs, wholeDivideDurations, greatestDurationDenominator } from './datelib/duration';\nexport { DateEnv } from './datelib/env';\nexport { createFormatter, formatIsoTimeString } from './datelib/formatting';\nexport { NamedTimeZoneImpl } from './datelib/timezone';\nexport { parse as parseMarker } from './datelib/parsing';\nexport { Interaction, interactionSettingsToStore, interactionSettingsStore } from './interactions/interaction';\nexport { default as ElementDragging } from './interactions/ElementDragging';\nexport { formatDate, formatRange } from './formatting-api';\nexport { globalDefaults, config } from './options';\nexport { parseDragMeta } from './structs/drag-meta';\nexport { createPlugin } from './plugin-system';\nexport { default as DayHeader } from './common/DayHeader';\nexport { computeFallbackHeaderFormat, renderDateCell } from './common/table-utils';\nexport { default as DaySeries } from './common/DaySeries';\nexport { sliceEventStore, hasBgRendering, getElSeg, computeEventDraggable, computeEventStartResizable, computeEventEndResizable } from './component/event-rendering';\nexport { default as DayTable } from './common/DayTable';\nexport { default as Slicer } from './common/slicing-utils';\nexport { applyMutationToEventStore } from './structs/event-mutation';\nexport { isPropsValid, isInteractionValid } from './validation';\nexport { default as EventApi } from './api/EventApi';\nexport { default as requestJson } from './util/requestJson';\n"],"names":["tslib_1.__assign","tslib_1.__extends","uid","eventSourceDef","buildComponentContext","buildDateEnv"],"mappings":"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"}