Your IP : 3.12.163.120


Current Path : /home/lentoinv/covisclubinternational.com/plugins/fullcalendar-daygrid/
Upload File :
Current File : /home/lentoinv/covisclubinternational.com/plugins/fullcalendar-daygrid/main.js.map

{"version":3,"file":"main.js","sources":["../../../tmp/tsc-output/packages/daygrid/src/DayGridDateProfileGenerator.js","../../../tmp/tsc-output/packages/daygrid/src/Popover.js","../../../tmp/tsc-output/packages/daygrid/src/SimpleDayGridEventRenderer.js","../../../tmp/tsc-output/packages/daygrid/src/DayGridEventRenderer.js","../../../tmp/tsc-output/packages/daygrid/src/DayGridMirrorRenderer.js","../../../tmp/tsc-output/packages/daygrid/src/DayGridFillRenderer.js","../../../tmp/tsc-output/packages/daygrid/src/DayTile.js","../../../tmp/tsc-output/packages/daygrid/src/DayBgRow.js","../../../tmp/tsc-output/packages/daygrid/src/DayGrid.js","../../../tmp/tsc-output/packages/daygrid/src/AbstractDayGridView.js","../../../tmp/tsc-output/packages/daygrid/src/SimpleDayGrid.js","../../../tmp/tsc-output/packages/daygrid/src/DayGridView.js","../../../tmp/tsc-output/packages/daygrid/src/main.js"],"sourcesContent":["import * as tslib_1 from \"tslib\";\nimport { DateProfileGenerator, addWeeks, diffWeeks } from '@fullcalendar/core';\nvar DayGridDateProfileGenerator = /** @class */ (function (_super) {\n    tslib_1.__extends(DayGridDateProfileGenerator, _super);\n    function DayGridDateProfileGenerator() {\n        return _super !== null && _super.apply(this, arguments) || this;\n    }\n    // Computes the date range that will be rendered.\n    DayGridDateProfileGenerator.prototype.buildRenderRange = function (currentRange, currentRangeUnit, isRangeAllDay) {\n        var dateEnv = this.dateEnv;\n        var renderRange = _super.prototype.buildRenderRange.call(this, currentRange, currentRangeUnit, isRangeAllDay);\n        var start = renderRange.start;\n        var end = renderRange.end;\n        var endOfWeek;\n        // year and month views should be aligned with weeks. this is already done for week\n        if (/^(year|month)$/.test(currentRangeUnit)) {\n            start = dateEnv.startOfWeek(start);\n            // make end-of-week if not already\n            endOfWeek = dateEnv.startOfWeek(end);\n            if (endOfWeek.valueOf() !== end.valueOf()) {\n                end = addWeeks(endOfWeek, 1);\n            }\n        }\n        // ensure 6 weeks\n        if (this.options.monthMode &&\n            this.options.fixedWeekCount) {\n            var rowCnt = Math.ceil(// could be partial weeks due to hiddenDays\n            diffWeeks(start, end));\n            end = addWeeks(end, 6 - rowCnt);\n        }\n        return { start: start, end: end };\n    };\n    return DayGridDateProfileGenerator;\n}(DateProfileGenerator));\nexport default DayGridDateProfileGenerator;\n","/* A rectangular panel that is absolutely positioned over other content\n------------------------------------------------------------------------------------------------------------------------\nOptions:\n  - className (string)\n  - content (HTML string, element, or element array)\n  - parentEl\n  - top\n  - left\n  - right (the x coord of where the right edge should be. not a \"CSS\" right)\n  - autoHide (boolean)\n  - show (callback)\n  - hide (callback)\n*/\nimport { removeElement, createElement, applyStyle, listenBySelector, computeClippingRect, computeRect } from '@fullcalendar/core';\nvar Popover = /** @class */ (function () {\n    function Popover(options) {\n        var _this = this;\n        this.isHidden = true;\n        this.margin = 10; // the space required between the popover and the edges of the scroll container\n        // Triggered when the user clicks *anywhere* in the document, for the autoHide feature\n        this.documentMousedown = function (ev) {\n            // only hide the popover if the click happened outside the popover\n            if (_this.el && !_this.el.contains(ev.target)) {\n                _this.hide();\n            }\n        };\n        this.options = options;\n    }\n    // Shows the popover on the specified position. Renders it if not already\n    Popover.prototype.show = function () {\n        if (this.isHidden) {\n            if (!this.el) {\n                this.render();\n            }\n            this.el.style.display = '';\n            this.position();\n            this.isHidden = false;\n            this.trigger('show');\n        }\n    };\n    // Hides the popover, through CSS, but does not remove it from the DOM\n    Popover.prototype.hide = function () {\n        if (!this.isHidden) {\n            this.el.style.display = 'none';\n            this.isHidden = true;\n            this.trigger('hide');\n        }\n    };\n    // Creates `this.el` and renders content inside of it\n    Popover.prototype.render = function () {\n        var _this = this;\n        var options = this.options;\n        var el = this.el = createElement('div', {\n            className: 'fc-popover ' + (options.className || ''),\n            style: {\n                top: '0',\n                left: '0'\n            }\n        });\n        if (typeof options.content === 'function') {\n            options.content(el);\n        }\n        options.parentEl.appendChild(el);\n        // when a click happens on anything inside with a 'fc-close' className, hide the popover\n        listenBySelector(el, 'click', '.fc-close', function (ev) {\n            _this.hide();\n        });\n        if (options.autoHide) {\n            document.addEventListener('mousedown', this.documentMousedown);\n        }\n    };\n    // Hides and unregisters any handlers\n    Popover.prototype.destroy = function () {\n        this.hide();\n        if (this.el) {\n            removeElement(this.el);\n            this.el = null;\n        }\n        document.removeEventListener('mousedown', this.documentMousedown);\n    };\n    // Positions the popover optimally, using the top/left/right options\n    Popover.prototype.position = function () {\n        var options = this.options;\n        var el = this.el;\n        var elDims = el.getBoundingClientRect(); // only used for width,height\n        var origin = computeRect(el.offsetParent);\n        var clippingRect = computeClippingRect(options.parentEl);\n        var top; // the \"position\" (not \"offset\") values for the popover\n        var left; //\n        // compute top and left\n        top = options.top || 0;\n        if (options.left !== undefined) {\n            left = options.left;\n        }\n        else if (options.right !== undefined) {\n            left = options.right - elDims.width; // derive the left value from the right value\n        }\n        else {\n            left = 0;\n        }\n        // constrain to the view port. if constrained by two edges, give precedence to top/left\n        top = Math.min(top, clippingRect.bottom - elDims.height - this.margin);\n        top = Math.max(top, clippingRect.top + this.margin);\n        left = Math.min(left, clippingRect.right - elDims.width - this.margin);\n        left = Math.max(left, clippingRect.left + this.margin);\n        applyStyle(el, {\n            top: top - origin.top,\n            left: left - origin.left\n        });\n    };\n    // Triggers a callback. Calls a function in the option hash of the same name.\n    // Arguments beyond the first `name` are forwarded on.\n    // TODO: better code reuse for this. Repeat code\n    // can kill this???\n    Popover.prototype.trigger = function (name) {\n        if (this.options[name]) {\n            this.options[name].apply(this, Array.prototype.slice.call(arguments, 1));\n        }\n    };\n    return Popover;\n}());\nexport default Popover;\n","import * as tslib_1 from \"tslib\";\nimport { htmlEscape, cssToStr, FgEventRenderer, computeEventDraggable, computeEventStartResizable, computeEventEndResizable } from '@fullcalendar/core';\n/* Event-rendering methods for the DayGrid class\n----------------------------------------------------------------------------------------------------------------------*/\n// \"Simple\" is bad a name. has nothing to do with SimpleDayGrid\nvar SimpleDayGridEventRenderer = /** @class */ (function (_super) {\n    tslib_1.__extends(SimpleDayGridEventRenderer, _super);\n    function SimpleDayGridEventRenderer() {\n        return _super !== null && _super.apply(this, arguments) || this;\n    }\n    // Builds the HTML to be used for the default element for an individual segment\n    SimpleDayGridEventRenderer.prototype.renderSegHtml = function (seg, mirrorInfo) {\n        var context = this.context;\n        var eventRange = seg.eventRange;\n        var eventDef = eventRange.def;\n        var eventUi = eventRange.ui;\n        var allDay = eventDef.allDay;\n        var isDraggable = computeEventDraggable(context, eventDef, eventUi);\n        var isResizableFromStart = allDay && seg.isStart && computeEventStartResizable(context, eventDef, eventUi);\n        var isResizableFromEnd = allDay && seg.isEnd && computeEventEndResizable(context, eventDef, eventUi);\n        var classes = this.getSegClasses(seg, isDraggable, isResizableFromStart || isResizableFromEnd, mirrorInfo);\n        var skinCss = cssToStr(this.getSkinCss(eventUi));\n        var timeHtml = '';\n        var timeText;\n        var titleHtml;\n        classes.unshift('fc-day-grid-event', 'fc-h-event');\n        // Only display a timed events time if it is the starting segment\n        if (seg.isStart) {\n            timeText = this.getTimeText(eventRange);\n            if (timeText) {\n                timeHtml = '<span class=\"fc-time\">' + htmlEscape(timeText) + '</span>';\n            }\n        }\n        titleHtml =\n            '<span class=\"fc-title\">' +\n                (htmlEscape(eventDef.title || '') || '&nbsp;') + // we always want one line of height\n                '</span>';\n        return '<a class=\"' + classes.join(' ') + '\"' +\n            (eventDef.url ?\n                ' href=\"' + htmlEscape(eventDef.url) + '\"' :\n                '') +\n            (skinCss ?\n                ' style=\"' + skinCss + '\"' :\n                '') +\n            '>' +\n            '<div class=\"fc-content\">' +\n            (context.options.dir === 'rtl' ?\n                titleHtml + ' ' + timeHtml : // put a natural space in between\n                timeHtml + ' ' + titleHtml //\n            ) +\n            '</div>' +\n            (isResizableFromStart ?\n                '<div class=\"fc-resizer fc-start-resizer\"></div>' :\n                '') +\n            (isResizableFromEnd ?\n                '<div class=\"fc-resizer fc-end-resizer\"></div>' :\n                '') +\n            '</a>';\n    };\n    // Computes a default event time formatting string if `eventTimeFormat` is not explicitly defined\n    SimpleDayGridEventRenderer.prototype.computeEventTimeFormat = function () {\n        return {\n            hour: 'numeric',\n            minute: '2-digit',\n            omitZeroMinute: true,\n            meridiem: 'narrow'\n        };\n    };\n    SimpleDayGridEventRenderer.prototype.computeDisplayEventEnd = function () {\n        return false; // TODO: somehow consider the originating DayGrid's column count\n    };\n    return SimpleDayGridEventRenderer;\n}(FgEventRenderer));\nexport default SimpleDayGridEventRenderer;\n","import * as tslib_1 from \"tslib\";\nimport { createElement, removeElement, appendToElement, prependToElement } from '@fullcalendar/core';\nimport SimpleDayGridEventRenderer from './SimpleDayGridEventRenderer';\n/* Event-rendering methods for the DayGrid class\n----------------------------------------------------------------------------------------------------------------------*/\nvar DayGridEventRenderer = /** @class */ (function (_super) {\n    tslib_1.__extends(DayGridEventRenderer, _super);\n    function DayGridEventRenderer(dayGrid) {\n        var _this = _super.call(this) || this;\n        _this.dayGrid = dayGrid;\n        return _this;\n    }\n    // Renders the given foreground event segments onto the grid\n    DayGridEventRenderer.prototype.attachSegs = function (segs, mirrorInfo) {\n        var rowStructs = this.rowStructs = this.renderSegRows(segs);\n        // append to each row's content skeleton\n        this.dayGrid.rowEls.forEach(function (rowNode, i) {\n            rowNode.querySelector('.fc-content-skeleton > table').appendChild(rowStructs[i].tbodyEl);\n        });\n        // removes the \"more..\" events popover\n        if (!mirrorInfo) {\n            this.dayGrid.removeSegPopover();\n        }\n    };\n    // Unrenders all currently rendered foreground event segments\n    DayGridEventRenderer.prototype.detachSegs = function () {\n        var rowStructs = this.rowStructs || [];\n        var rowStruct;\n        while ((rowStruct = rowStructs.pop())) {\n            removeElement(rowStruct.tbodyEl);\n        }\n        this.rowStructs = null;\n    };\n    // Uses the given events array to generate <tbody> elements that should be appended to each row's content skeleton.\n    // Returns an array of rowStruct objects (see the bottom of `renderSegRow`).\n    // PRECONDITION: each segment shoud already have a rendered and assigned `.el`\n    DayGridEventRenderer.prototype.renderSegRows = function (segs) {\n        var rowStructs = [];\n        var segRows;\n        var row;\n        segRows = this.groupSegRows(segs); // group into nested arrays\n        // iterate each row of segment groupings\n        for (row = 0; row < segRows.length; row++) {\n            rowStructs.push(this.renderSegRow(row, segRows[row]));\n        }\n        return rowStructs;\n    };\n    // Given a row # and an array of segments all in the same row, render a <tbody> element, a skeleton that contains\n    // the segments. Returns object with a bunch of internal data about how the render was calculated.\n    // NOTE: modifies rowSegs\n    DayGridEventRenderer.prototype.renderSegRow = function (row, rowSegs) {\n        var isRtl = this.context.isRtl;\n        var dayGrid = this.dayGrid;\n        var colCnt = dayGrid.colCnt;\n        var segLevels = this.buildSegLevels(rowSegs); // group into sub-arrays of levels\n        var levelCnt = Math.max(1, segLevels.length); // ensure at least one level\n        var tbody = document.createElement('tbody');\n        var segMatrix = []; // lookup for which segments are rendered into which level+col cells\n        var cellMatrix = []; // lookup for all <td> elements of the level+col matrix\n        var loneCellMatrix = []; // lookup for <td> elements that only take up a single column\n        var i;\n        var levelSegs;\n        var col;\n        var tr;\n        var j;\n        var seg;\n        var td;\n        // populates empty cells from the current column (`col`) to `endCol`\n        function emptyCellsUntil(endCol) {\n            while (col < endCol) {\n                // try to grab a cell from the level above and extend its rowspan. otherwise, create a fresh cell\n                td = (loneCellMatrix[i - 1] || [])[col];\n                if (td) {\n                    td.rowSpan = (td.rowSpan || 1) + 1;\n                }\n                else {\n                    td = document.createElement('td');\n                    tr.appendChild(td);\n                }\n                cellMatrix[i][col] = td;\n                loneCellMatrix[i][col] = td;\n                col++;\n            }\n        }\n        for (i = 0; i < levelCnt; i++) { // iterate through all levels\n            levelSegs = segLevels[i];\n            col = 0;\n            tr = document.createElement('tr');\n            segMatrix.push([]);\n            cellMatrix.push([]);\n            loneCellMatrix.push([]);\n            // levelCnt might be 1 even though there are no actual levels. protect against this.\n            // this single empty row is useful for styling.\n            if (levelSegs) {\n                for (j = 0; j < levelSegs.length; j++) { // iterate through segments in level\n                    seg = levelSegs[j];\n                    var leftCol = isRtl ? (colCnt - 1 - seg.lastCol) : seg.firstCol;\n                    var rightCol = isRtl ? (colCnt - 1 - seg.firstCol) : seg.lastCol;\n                    emptyCellsUntil(leftCol);\n                    // create a container that occupies or more columns. append the event element.\n                    td = createElement('td', { className: 'fc-event-container' }, seg.el);\n                    if (leftCol !== rightCol) {\n                        td.colSpan = rightCol - leftCol + 1;\n                    }\n                    else { // a single-column segment\n                        loneCellMatrix[i][col] = td;\n                    }\n                    while (col <= rightCol) {\n                        cellMatrix[i][col] = td;\n                        segMatrix[i][col] = seg;\n                        col++;\n                    }\n                    tr.appendChild(td);\n                }\n            }\n            emptyCellsUntil(colCnt); // finish off the row\n            var introHtml = dayGrid.renderProps.renderIntroHtml();\n            if (introHtml) {\n                if (isRtl) {\n                    appendToElement(tr, introHtml);\n                }\n                else {\n                    prependToElement(tr, introHtml);\n                }\n            }\n            tbody.appendChild(tr);\n        }\n        return {\n            row: row,\n            tbodyEl: tbody,\n            cellMatrix: cellMatrix,\n            segMatrix: segMatrix,\n            segLevels: segLevels,\n            segs: rowSegs\n        };\n    };\n    // Stacks a flat array of segments, which are all assumed to be in the same row, into subarrays of vertical levels.\n    // NOTE: modifies segs\n    DayGridEventRenderer.prototype.buildSegLevels = function (segs) {\n        var isRtl = this.context.isRtl;\n        var colCnt = this.dayGrid.colCnt;\n        var levels = [];\n        var i;\n        var seg;\n        var j;\n        // Give preference to elements with certain criteria, so they have\n        // a chance to be closer to the top.\n        segs = this.sortEventSegs(segs);\n        for (i = 0; i < segs.length; i++) {\n            seg = segs[i];\n            // loop through levels, starting with the topmost, until the segment doesn't collide with other segments\n            for (j = 0; j < levels.length; j++) {\n                if (!isDaySegCollision(seg, levels[j])) {\n                    break;\n                }\n            }\n            // `j` now holds the desired subrow index\n            seg.level = j;\n            seg.leftCol = isRtl ? (colCnt - 1 - seg.lastCol) : seg.firstCol; // for sorting only\n            seg.rightCol = isRtl ? (colCnt - 1 - seg.firstCol) : seg.lastCol // for sorting only\n            ;\n            (levels[j] || (levels[j] = [])).push(seg);\n        }\n        // order segments left-to-right. very important if calendar is RTL\n        for (j = 0; j < levels.length; j++) {\n            levels[j].sort(compareDaySegCols);\n        }\n        return levels;\n    };\n    // Given a flat array of segments, return an array of sub-arrays, grouped by each segment's row\n    DayGridEventRenderer.prototype.groupSegRows = function (segs) {\n        var segRows = [];\n        var i;\n        for (i = 0; i < this.dayGrid.rowCnt; i++) {\n            segRows.push([]);\n        }\n        for (i = 0; i < segs.length; i++) {\n            segRows[segs[i].row].push(segs[i]);\n        }\n        return segRows;\n    };\n    // Computes a default `displayEventEnd` value if one is not expliclty defined\n    DayGridEventRenderer.prototype.computeDisplayEventEnd = function () {\n        return this.dayGrid.colCnt === 1; // we'll likely have space if there's only one day\n    };\n    return DayGridEventRenderer;\n}(SimpleDayGridEventRenderer));\nexport default DayGridEventRenderer;\n// Computes whether two segments' columns collide. They are assumed to be in the same row.\nfunction isDaySegCollision(seg, otherSegs) {\n    var i;\n    var otherSeg;\n    for (i = 0; i < otherSegs.length; i++) {\n        otherSeg = otherSegs[i];\n        if (otherSeg.firstCol <= seg.lastCol &&\n            otherSeg.lastCol >= seg.firstCol) {\n            return true;\n        }\n    }\n    return false;\n}\n// A cmp function for determining the leftmost event\nfunction compareDaySegCols(a, b) {\n    return a.leftCol - b.leftCol;\n}\n","import * as tslib_1 from \"tslib\";\nimport { htmlToElement } from '@fullcalendar/core';\nimport DayGridEventRenderer from './DayGridEventRenderer';\nvar DayGridMirrorRenderer = /** @class */ (function (_super) {\n    tslib_1.__extends(DayGridMirrorRenderer, _super);\n    function DayGridMirrorRenderer() {\n        return _super !== null && _super.apply(this, arguments) || this;\n    }\n    DayGridMirrorRenderer.prototype.attachSegs = function (segs, mirrorInfo) {\n        var sourceSeg = mirrorInfo.sourceSeg;\n        var rowStructs = this.rowStructs = this.renderSegRows(segs);\n        // inject each new event skeleton into each associated row\n        this.dayGrid.rowEls.forEach(function (rowNode, row) {\n            var skeletonEl = htmlToElement('<div class=\"fc-mirror-skeleton\"><table></table></div>'); // will be absolutely positioned\n            var skeletonTopEl;\n            var skeletonTop;\n            // If there is an original segment, match the top position. Otherwise, put it at the row's top level\n            if (sourceSeg && sourceSeg.row === row) {\n                skeletonTopEl = sourceSeg.el;\n            }\n            else {\n                skeletonTopEl = rowNode.querySelector('.fc-content-skeleton tbody');\n                if (!skeletonTopEl) { // when no events\n                    skeletonTopEl = rowNode.querySelector('.fc-content-skeleton table');\n                }\n            }\n            skeletonTop = skeletonTopEl.getBoundingClientRect().top -\n                rowNode.getBoundingClientRect().top; // the offsetParent origin\n            skeletonEl.style.top = skeletonTop + 'px';\n            skeletonEl.querySelector('table').appendChild(rowStructs[row].tbodyEl);\n            rowNode.appendChild(skeletonEl);\n        });\n    };\n    return DayGridMirrorRenderer;\n}(DayGridEventRenderer));\nexport default DayGridMirrorRenderer;\n","import * as tslib_1 from \"tslib\";\nimport { htmlToElement, appendToElement, prependToElement, FillRenderer } from '@fullcalendar/core';\nvar EMPTY_CELL_HTML = '<td style=\"pointer-events:none\"></td>';\nvar DayGridFillRenderer = /** @class */ (function (_super) {\n    tslib_1.__extends(DayGridFillRenderer, _super);\n    function DayGridFillRenderer(dayGrid) {\n        var _this = _super.call(this) || this;\n        _this.fillSegTag = 'td'; // override the default tag name\n        _this.dayGrid = dayGrid;\n        return _this;\n    }\n    DayGridFillRenderer.prototype.renderSegs = function (type, context, segs) {\n        // don't render timed background events\n        if (type === 'bgEvent') {\n            segs = segs.filter(function (seg) {\n                return seg.eventRange.def.allDay;\n            });\n        }\n        _super.prototype.renderSegs.call(this, type, context, segs);\n    };\n    DayGridFillRenderer.prototype.attachSegs = function (type, segs) {\n        var els = [];\n        var i;\n        var seg;\n        var skeletonEl;\n        for (i = 0; i < segs.length; i++) {\n            seg = segs[i];\n            skeletonEl = this.renderFillRow(type, seg);\n            this.dayGrid.rowEls[seg.row].appendChild(skeletonEl);\n            els.push(skeletonEl);\n        }\n        return els;\n    };\n    // Generates the HTML needed for one row of a fill. Requires the seg's el to be rendered.\n    DayGridFillRenderer.prototype.renderFillRow = function (type, seg) {\n        var dayGrid = this.dayGrid;\n        var isRtl = this.context.isRtl;\n        var colCnt = dayGrid.colCnt;\n        var leftCol = isRtl ? (colCnt - 1 - seg.lastCol) : seg.firstCol;\n        var rightCol = isRtl ? (colCnt - 1 - seg.firstCol) : seg.lastCol;\n        var startCol = leftCol;\n        var endCol = rightCol + 1;\n        var className;\n        var skeletonEl;\n        var trEl;\n        if (type === 'businessHours') {\n            className = 'bgevent';\n        }\n        else {\n            className = type.toLowerCase();\n        }\n        skeletonEl = htmlToElement('<div class=\"fc-' + className + '-skeleton\">' +\n            '<table><tr></tr></table>' +\n            '</div>');\n        trEl = skeletonEl.getElementsByTagName('tr')[0];\n        if (startCol > 0) {\n            appendToElement(trEl, \n            // will create (startCol + 1) td's\n            new Array(startCol + 1).join(EMPTY_CELL_HTML));\n        }\n        seg.el.colSpan = endCol - startCol;\n        trEl.appendChild(seg.el);\n        if (endCol < colCnt) {\n            appendToElement(trEl, \n            // will create (colCnt - endCol) td's\n            new Array(colCnt - endCol + 1).join(EMPTY_CELL_HTML));\n        }\n        var introHtml = dayGrid.renderProps.renderIntroHtml();\n        if (introHtml) {\n            if (isRtl) {\n                appendToElement(trEl, introHtml);\n            }\n            else {\n                prependToElement(trEl, introHtml);\n            }\n        }\n        return skeletonEl;\n    };\n    return DayGridFillRenderer;\n}(FillRenderer));\nexport default DayGridFillRenderer;\n","import * as tslib_1 from \"tslib\";\nimport { DateComponent, htmlEscape, createFormatter, addDays, removeElement, memoizeRendering } from '@fullcalendar/core';\nimport SimpleDayGridEventRenderer from './SimpleDayGridEventRenderer';\nvar DayTile = /** @class */ (function (_super) {\n    tslib_1.__extends(DayTile, _super);\n    function DayTile(el) {\n        var _this = _super.call(this, el) || this;\n        var eventRenderer = _this.eventRenderer = new DayTileEventRenderer(_this);\n        var renderFrame = _this.renderFrame = memoizeRendering(_this._renderFrame);\n        _this.renderFgEvents = memoizeRendering(eventRenderer.renderSegs.bind(eventRenderer), eventRenderer.unrender.bind(eventRenderer), [renderFrame]);\n        _this.renderEventSelection = memoizeRendering(eventRenderer.selectByInstanceId.bind(eventRenderer), eventRenderer.unselectByInstanceId.bind(eventRenderer), [_this.renderFgEvents]);\n        _this.renderEventDrag = memoizeRendering(eventRenderer.hideByHash.bind(eventRenderer), eventRenderer.showByHash.bind(eventRenderer), [renderFrame]);\n        _this.renderEventResize = memoizeRendering(eventRenderer.hideByHash.bind(eventRenderer), eventRenderer.showByHash.bind(eventRenderer), [renderFrame]);\n        return _this;\n    }\n    DayTile.prototype.firstContext = function (context) {\n        context.calendar.registerInteractiveComponent(this, {\n            el: this.el,\n            useEventCenter: false\n        });\n    };\n    DayTile.prototype.render = function (props, context) {\n        this.renderFrame(props.date);\n        this.renderFgEvents(context, props.fgSegs);\n        this.renderEventSelection(props.eventSelection);\n        this.renderEventDrag(props.eventDragInstances);\n        this.renderEventResize(props.eventResizeInstances);\n    };\n    DayTile.prototype.destroy = function () {\n        _super.prototype.destroy.call(this);\n        this.renderFrame.unrender(); // should unrender everything else\n        this.context.calendar.unregisterInteractiveComponent(this);\n    };\n    DayTile.prototype._renderFrame = function (date) {\n        var _a = this.context, theme = _a.theme, dateEnv = _a.dateEnv, options = _a.options;\n        var title = dateEnv.format(date, createFormatter(options.dayPopoverFormat) // TODO: cache\n        );\n        this.el.innerHTML =\n            '<div class=\"fc-header ' + theme.getClass('popoverHeader') + '\">' +\n                '<span class=\"fc-title\">' +\n                htmlEscape(title) +\n                '</span>' +\n                '<span class=\"fc-close ' + theme.getIconClass('close') + '\"></span>' +\n                '</div>' +\n                '<div class=\"fc-body ' + theme.getClass('popoverContent') + '\">' +\n                '<div class=\"fc-event-container\"></div>' +\n                '</div>';\n        this.segContainerEl = this.el.querySelector('.fc-event-container');\n    };\n    DayTile.prototype.queryHit = function (positionLeft, positionTop, elWidth, elHeight) {\n        var date = this.props.date; // HACK\n        if (positionLeft < elWidth && positionTop < elHeight) {\n            return {\n                component: this,\n                dateSpan: {\n                    allDay: true,\n                    range: { start: date, end: addDays(date, 1) }\n                },\n                dayEl: this.el,\n                rect: {\n                    left: 0,\n                    top: 0,\n                    right: elWidth,\n                    bottom: elHeight\n                },\n                layer: 1\n            };\n        }\n    };\n    return DayTile;\n}(DateComponent));\nexport default DayTile;\nvar DayTileEventRenderer = /** @class */ (function (_super) {\n    tslib_1.__extends(DayTileEventRenderer, _super);\n    function DayTileEventRenderer(dayTile) {\n        var _this = _super.call(this) || this;\n        _this.dayTile = dayTile;\n        return _this;\n    }\n    DayTileEventRenderer.prototype.attachSegs = function (segs) {\n        for (var _i = 0, segs_1 = segs; _i < segs_1.length; _i++) {\n            var seg = segs_1[_i];\n            this.dayTile.segContainerEl.appendChild(seg.el);\n        }\n    };\n    DayTileEventRenderer.prototype.detachSegs = function (segs) {\n        for (var _i = 0, segs_2 = segs; _i < segs_2.length; _i++) {\n            var seg = segs_2[_i];\n            removeElement(seg.el);\n        }\n    };\n    return DayTileEventRenderer;\n}(SimpleDayGridEventRenderer));\nexport { DayTileEventRenderer };\n","import { getDayClasses, rangeContainsMarker } from '@fullcalendar/core';\nvar DayBgRow = /** @class */ (function () {\n    function DayBgRow(context) {\n        this.context = context;\n    }\n    DayBgRow.prototype.renderHtml = function (props) {\n        var parts = [];\n        if (props.renderIntroHtml) {\n            parts.push(props.renderIntroHtml());\n        }\n        for (var _i = 0, _a = props.cells; _i < _a.length; _i++) {\n            var cell = _a[_i];\n            parts.push(renderCellHtml(cell.date, props.dateProfile, this.context, cell.htmlAttrs));\n        }\n        if (!props.cells.length) {\n            parts.push('<td class=\"fc-day ' + this.context.theme.getClass('widgetContent') + '\"></td>');\n        }\n        if (this.context.options.dir === 'rtl') {\n            parts.reverse();\n        }\n        return '<tr>' + parts.join('') + '</tr>';\n    };\n    return DayBgRow;\n}());\nexport default DayBgRow;\nfunction renderCellHtml(date, dateProfile, context, otherAttrs) {\n    var dateEnv = context.dateEnv, theme = context.theme;\n    var isDateValid = rangeContainsMarker(dateProfile.activeRange, date); // TODO: called too frequently. cache somehow.\n    var classes = getDayClasses(date, dateProfile, context);\n    classes.unshift('fc-day', theme.getClass('widgetContent'));\n    return '<td class=\"' + classes.join(' ') + '\"' +\n        (isDateValid ?\n            ' data-date=\"' + dateEnv.formatIso(date, { omitTime: true }) + '\"' :\n            '') +\n        (otherAttrs ?\n            ' ' + otherAttrs :\n            '') +\n        '></td>';\n}\n","import * as tslib_1 from \"tslib\";\nimport { createElement, insertAfterElement, findElements, findChildren, removeElement, computeRect, PositionCache, addDays, createFormatter, DateComponent, rangeContainsMarker, intersectRanges, buildGotoAnchorHtml, getDayClasses, memoizeRendering } from '@fullcalendar/core';\nimport Popover from './Popover';\nimport DayGridEventRenderer from './DayGridEventRenderer';\nimport DayGridMirrorRenderer from './DayGridMirrorRenderer';\nimport DayGridFillRenderer from './DayGridFillRenderer';\nimport DayTile from './DayTile';\nimport DayBgRow from './DayBgRow';\nvar DAY_NUM_FORMAT = createFormatter({ day: 'numeric' });\nvar WEEK_NUM_FORMAT = createFormatter({ week: 'numeric' });\nvar DayGrid = /** @class */ (function (_super) {\n    tslib_1.__extends(DayGrid, _super);\n    function DayGrid(el, renderProps) {\n        var _this = _super.call(this, el) || this;\n        _this.bottomCoordPadding = 0; // hack for extending the hit area for the last row of the coordinate grid\n        _this.isCellSizesDirty = false;\n        _this.renderProps = renderProps;\n        var eventRenderer = _this.eventRenderer = new DayGridEventRenderer(_this);\n        var fillRenderer = _this.fillRenderer = new DayGridFillRenderer(_this);\n        _this.mirrorRenderer = new DayGridMirrorRenderer(_this);\n        var renderCells = _this.renderCells = memoizeRendering(_this._renderCells, _this._unrenderCells);\n        _this.renderBusinessHours = memoizeRendering(fillRenderer.renderSegs.bind(fillRenderer, 'businessHours'), fillRenderer.unrender.bind(fillRenderer, 'businessHours'), [renderCells]);\n        _this.renderDateSelection = memoizeRendering(fillRenderer.renderSegs.bind(fillRenderer, 'highlight'), fillRenderer.unrender.bind(fillRenderer, 'highlight'), [renderCells]);\n        _this.renderBgEvents = memoizeRendering(fillRenderer.renderSegs.bind(fillRenderer, 'bgEvent'), fillRenderer.unrender.bind(fillRenderer, 'bgEvent'), [renderCells]);\n        _this.renderFgEvents = memoizeRendering(eventRenderer.renderSegs.bind(eventRenderer), eventRenderer.unrender.bind(eventRenderer), [renderCells]);\n        _this.renderEventSelection = memoizeRendering(eventRenderer.selectByInstanceId.bind(eventRenderer), eventRenderer.unselectByInstanceId.bind(eventRenderer), [_this.renderFgEvents]);\n        _this.renderEventDrag = memoizeRendering(_this._renderEventDrag, _this._unrenderEventDrag, [renderCells]);\n        _this.renderEventResize = memoizeRendering(_this._renderEventResize, _this._unrenderEventResize, [renderCells]);\n        return _this;\n    }\n    DayGrid.prototype.render = function (props, context) {\n        var cells = props.cells;\n        this.rowCnt = cells.length;\n        this.colCnt = cells[0].length;\n        this.renderCells(cells, props.isRigid);\n        this.renderBusinessHours(context, props.businessHourSegs);\n        this.renderDateSelection(context, props.dateSelectionSegs);\n        this.renderBgEvents(context, props.bgEventSegs);\n        this.renderFgEvents(context, props.fgEventSegs);\n        this.renderEventSelection(props.eventSelection);\n        this.renderEventDrag(props.eventDrag);\n        this.renderEventResize(props.eventResize);\n        if (this.segPopoverTile) {\n            this.updateSegPopoverTile();\n        }\n    };\n    DayGrid.prototype.destroy = function () {\n        _super.prototype.destroy.call(this);\n        this.renderCells.unrender(); // will unrender everything else\n    };\n    DayGrid.prototype.getCellRange = function (row, col) {\n        var start = this.props.cells[row][col].date;\n        var end = addDays(start, 1);\n        return { start: start, end: end };\n    };\n    DayGrid.prototype.updateSegPopoverTile = function (date, segs) {\n        var ownProps = this.props;\n        this.segPopoverTile.receiveProps({\n            date: date || this.segPopoverTile.props.date,\n            fgSegs: segs || this.segPopoverTile.props.fgSegs,\n            eventSelection: ownProps.eventSelection,\n            eventDragInstances: ownProps.eventDrag ? ownProps.eventDrag.affectedInstances : null,\n            eventResizeInstances: ownProps.eventResize ? ownProps.eventResize.affectedInstances : null\n        }, this.context);\n    };\n    /* Date Rendering\n    ------------------------------------------------------------------------------------------------------------------*/\n    DayGrid.prototype._renderCells = function (cells, isRigid) {\n        var _a = this.context, calendar = _a.calendar, view = _a.view, isRtl = _a.isRtl, dateEnv = _a.dateEnv;\n        var _b = this, rowCnt = _b.rowCnt, colCnt = _b.colCnt;\n        var html = '';\n        var row;\n        var col;\n        for (row = 0; row < rowCnt; row++) {\n            html += this.renderDayRowHtml(row, isRigid);\n        }\n        this.el.innerHTML = html;\n        this.rowEls = findElements(this.el, '.fc-row');\n        this.cellEls = findElements(this.el, '.fc-day, .fc-disabled-day');\n        if (isRtl) {\n            this.cellEls.reverse();\n        }\n        this.rowPositions = new PositionCache(this.el, this.rowEls, false, true // vertical\n        );\n        this.colPositions = new PositionCache(this.el, this.cellEls.slice(0, colCnt), // only the first row\n        true, false // horizontal\n        );\n        // trigger dayRender with each cell's element\n        for (row = 0; row < rowCnt; row++) {\n            for (col = 0; col < colCnt; col++) {\n                calendar.publiclyTrigger('dayRender', [\n                    {\n                        date: dateEnv.toDate(cells[row][col].date),\n                        el: this.getCellEl(row, col),\n                        view: view\n                    }\n                ]);\n            }\n        }\n        this.isCellSizesDirty = true;\n    };\n    DayGrid.prototype._unrenderCells = function () {\n        this.removeSegPopover();\n    };\n    // Generates the HTML for a single row, which is a div that wraps a table.\n    // `row` is the row number.\n    DayGrid.prototype.renderDayRowHtml = function (row, isRigid) {\n        var theme = this.context.theme;\n        var classes = ['fc-row', 'fc-week', theme.getClass('dayRow')];\n        if (isRigid) {\n            classes.push('fc-rigid');\n        }\n        var bgRow = new DayBgRow(this.context);\n        return '' +\n            '<div class=\"' + classes.join(' ') + '\">' +\n            '<div class=\"fc-bg\">' +\n            '<table class=\"' + theme.getClass('tableGrid') + '\">' +\n            bgRow.renderHtml({\n                cells: this.props.cells[row],\n                dateProfile: this.props.dateProfile,\n                renderIntroHtml: this.renderProps.renderBgIntroHtml\n            }) +\n            '</table>' +\n            '</div>' +\n            '<div class=\"fc-content-skeleton\">' +\n            '<table>' +\n            (this.getIsNumbersVisible() ?\n                '<thead>' +\n                    this.renderNumberTrHtml(row) +\n                    '</thead>' :\n                '') +\n            '</table>' +\n            '</div>' +\n            '</div>';\n    };\n    DayGrid.prototype.getIsNumbersVisible = function () {\n        return this.getIsDayNumbersVisible() ||\n            this.renderProps.cellWeekNumbersVisible ||\n            this.renderProps.colWeekNumbersVisible;\n    };\n    DayGrid.prototype.getIsDayNumbersVisible = function () {\n        return this.rowCnt > 1;\n    };\n    /* Grid Number Rendering\n    ------------------------------------------------------------------------------------------------------------------*/\n    DayGrid.prototype.renderNumberTrHtml = function (row) {\n        var isRtl = this.context.isRtl;\n        var intro = this.renderProps.renderNumberIntroHtml(row, this);\n        return '' +\n            '<tr>' +\n            (isRtl ? '' : intro) +\n            this.renderNumberCellsHtml(row) +\n            (isRtl ? intro : '') +\n            '</tr>';\n    };\n    DayGrid.prototype.renderNumberCellsHtml = function (row) {\n        var htmls = [];\n        var col;\n        var date;\n        for (col = 0; col < this.colCnt; col++) {\n            date = this.props.cells[row][col].date;\n            htmls.push(this.renderNumberCellHtml(date));\n        }\n        if (this.context.isRtl) {\n            htmls.reverse();\n        }\n        return htmls.join('');\n    };\n    // Generates the HTML for the <td>s of the \"number\" row in the DayGrid's content skeleton.\n    // The number row will only exist if either day numbers or week numbers are turned on.\n    DayGrid.prototype.renderNumberCellHtml = function (date) {\n        var _a = this.context, dateEnv = _a.dateEnv, options = _a.options;\n        var html = '';\n        var isDateValid = rangeContainsMarker(this.props.dateProfile.activeRange, date); // TODO: called too frequently. cache somehow.\n        var isDayNumberVisible = this.getIsDayNumbersVisible() && isDateValid;\n        var classes;\n        var weekCalcFirstDow;\n        if (!isDayNumberVisible && !this.renderProps.cellWeekNumbersVisible) {\n            // no numbers in day cell (week number must be along the side)\n            return '<td></td>'; //  will create an empty space above events :(\n        }\n        classes = getDayClasses(date, this.props.dateProfile, this.context);\n        classes.unshift('fc-day-top');\n        if (this.renderProps.cellWeekNumbersVisible) {\n            weekCalcFirstDow = dateEnv.weekDow;\n        }\n        html += '<td class=\"' + classes.join(' ') + '\"' +\n            (isDateValid ?\n                ' data-date=\"' + dateEnv.formatIso(date, { omitTime: true }) + '\"' :\n                '') +\n            '>';\n        if (this.renderProps.cellWeekNumbersVisible && (date.getUTCDay() === weekCalcFirstDow)) {\n            html += buildGotoAnchorHtml(options, dateEnv, { date: date, type: 'week' }, { 'class': 'fc-week-number' }, dateEnv.format(date, WEEK_NUM_FORMAT) // inner HTML\n            );\n        }\n        if (isDayNumberVisible) {\n            html += buildGotoAnchorHtml(options, dateEnv, date, { 'class': 'fc-day-number' }, dateEnv.format(date, DAY_NUM_FORMAT) // inner HTML\n            );\n        }\n        html += '</td>';\n        return html;\n    };\n    /* Sizing\n    ------------------------------------------------------------------------------------------------------------------*/\n    DayGrid.prototype.updateSize = function (isResize) {\n        var calendar = this.context.calendar;\n        var _a = this, fillRenderer = _a.fillRenderer, eventRenderer = _a.eventRenderer, mirrorRenderer = _a.mirrorRenderer;\n        if (isResize ||\n            this.isCellSizesDirty ||\n            calendar.isEventsUpdated // hack\n        ) {\n            this.buildPositionCaches();\n            this.isCellSizesDirty = false;\n        }\n        fillRenderer.computeSizes(isResize);\n        eventRenderer.computeSizes(isResize);\n        mirrorRenderer.computeSizes(isResize);\n        fillRenderer.assignSizes(isResize);\n        eventRenderer.assignSizes(isResize);\n        mirrorRenderer.assignSizes(isResize);\n    };\n    DayGrid.prototype.buildPositionCaches = function () {\n        this.buildColPositions();\n        this.buildRowPositions();\n    };\n    DayGrid.prototype.buildColPositions = function () {\n        this.colPositions.build();\n    };\n    DayGrid.prototype.buildRowPositions = function () {\n        this.rowPositions.build();\n        this.rowPositions.bottoms[this.rowCnt - 1] += this.bottomCoordPadding; // hack\n    };\n    /* Hit System\n    ------------------------------------------------------------------------------------------------------------------*/\n    DayGrid.prototype.positionToHit = function (leftPosition, topPosition) {\n        var _a = this, colPositions = _a.colPositions, rowPositions = _a.rowPositions;\n        var col = colPositions.leftToIndex(leftPosition);\n        var row = rowPositions.topToIndex(topPosition);\n        if (row != null && col != null) {\n            return {\n                row: row,\n                col: col,\n                dateSpan: {\n                    range: this.getCellRange(row, col),\n                    allDay: true\n                },\n                dayEl: this.getCellEl(row, col),\n                relativeRect: {\n                    left: colPositions.lefts[col],\n                    right: colPositions.rights[col],\n                    top: rowPositions.tops[row],\n                    bottom: rowPositions.bottoms[row]\n                }\n            };\n        }\n    };\n    /* Cell System\n    ------------------------------------------------------------------------------------------------------------------*/\n    // FYI: the first column is the leftmost column, regardless of date\n    DayGrid.prototype.getCellEl = function (row, col) {\n        return this.cellEls[row * this.colCnt + col];\n    };\n    /* Event Drag Visualization\n    ------------------------------------------------------------------------------------------------------------------*/\n    DayGrid.prototype._renderEventDrag = function (state) {\n        if (state) {\n            this.eventRenderer.hideByHash(state.affectedInstances);\n            this.fillRenderer.renderSegs('highlight', this.context, state.segs);\n        }\n    };\n    DayGrid.prototype._unrenderEventDrag = function (state) {\n        if (state) {\n            this.eventRenderer.showByHash(state.affectedInstances);\n            this.fillRenderer.unrender('highlight', this.context);\n        }\n    };\n    /* Event Resize Visualization\n    ------------------------------------------------------------------------------------------------------------------*/\n    DayGrid.prototype._renderEventResize = function (state) {\n        if (state) {\n            this.eventRenderer.hideByHash(state.affectedInstances);\n            this.fillRenderer.renderSegs('highlight', this.context, state.segs);\n            this.mirrorRenderer.renderSegs(this.context, state.segs, { isResizing: true, sourceSeg: state.sourceSeg });\n        }\n    };\n    DayGrid.prototype._unrenderEventResize = function (state) {\n        if (state) {\n            this.eventRenderer.showByHash(state.affectedInstances);\n            this.fillRenderer.unrender('highlight', this.context);\n            this.mirrorRenderer.unrender(this.context, state.segs, { isResizing: true, sourceSeg: state.sourceSeg });\n        }\n    };\n    /* More+ Link Popover\n    ------------------------------------------------------------------------------------------------------------------*/\n    DayGrid.prototype.removeSegPopover = function () {\n        if (this.segPopover) {\n            this.segPopover.hide(); // in handler, will call segPopover's removeElement\n        }\n    };\n    // Limits the number of \"levels\" (vertically stacking layers of events) for each row of the grid.\n    // `levelLimit` can be false (don't limit), a number, or true (should be computed).\n    DayGrid.prototype.limitRows = function (levelLimit) {\n        var rowStructs = this.eventRenderer.rowStructs || [];\n        var row; // row #\n        var rowLevelLimit;\n        for (row = 0; row < rowStructs.length; row++) {\n            this.unlimitRow(row);\n            if (!levelLimit) {\n                rowLevelLimit = false;\n            }\n            else if (typeof levelLimit === 'number') {\n                rowLevelLimit = levelLimit;\n            }\n            else {\n                rowLevelLimit = this.computeRowLevelLimit(row);\n            }\n            if (rowLevelLimit !== false) {\n                this.limitRow(row, rowLevelLimit);\n            }\n        }\n    };\n    // Computes the number of levels a row will accomodate without going outside its bounds.\n    // Assumes the row is \"rigid\" (maintains a constant height regardless of what is inside).\n    // `row` is the row number.\n    DayGrid.prototype.computeRowLevelLimit = function (row) {\n        var rowEl = this.rowEls[row]; // the containing \"fake\" row div\n        var rowBottom = rowEl.getBoundingClientRect().bottom; // relative to viewport!\n        var trEls = findChildren(this.eventRenderer.rowStructs[row].tbodyEl);\n        var i;\n        var trEl;\n        // Reveal one level <tr> at a time and stop when we find one out of bounds\n        for (i = 0; i < trEls.length; i++) {\n            trEl = trEls[i];\n            trEl.classList.remove('fc-limited'); // reset to original state (reveal)\n            if (trEl.getBoundingClientRect().bottom > rowBottom) {\n                return i;\n            }\n        }\n        return false; // should not limit at all\n    };\n    // Limits the given grid row to the maximum number of levels and injects \"more\" links if necessary.\n    // `row` is the row number.\n    // `levelLimit` is a number for the maximum (inclusive) number of levels allowed.\n    DayGrid.prototype.limitRow = function (row, levelLimit) {\n        var _this = this;\n        var colCnt = this.colCnt;\n        var isRtl = this.context.isRtl;\n        var rowStruct = this.eventRenderer.rowStructs[row];\n        var moreNodes = []; // array of \"more\" <a> links and <td> DOM nodes\n        var col = 0; // col #, left-to-right (not chronologically)\n        var levelSegs; // array of segment objects in the last allowable level, ordered left-to-right\n        var cellMatrix; // a matrix (by level, then column) of all <td> elements in the row\n        var limitedNodes; // array of temporarily hidden level <tr> and segment <td> DOM nodes\n        var i;\n        var seg;\n        var segsBelow; // array of segment objects below `seg` in the current `col`\n        var totalSegsBelow; // total number of segments below `seg` in any of the columns `seg` occupies\n        var colSegsBelow; // array of segment arrays, below seg, one for each column (offset from segs's first column)\n        var td;\n        var rowSpan;\n        var segMoreNodes; // array of \"more\" <td> cells that will stand-in for the current seg's cell\n        var j;\n        var moreTd;\n        var moreWrap;\n        var moreLink;\n        // Iterates through empty level cells and places \"more\" links inside if need be\n        var emptyCellsUntil = function (endCol) {\n            while (col < endCol) {\n                segsBelow = _this.getCellSegs(row, col, levelLimit);\n                if (segsBelow.length) {\n                    td = cellMatrix[levelLimit - 1][col];\n                    moreLink = _this.renderMoreLink(row, col, segsBelow);\n                    moreWrap = createElement('div', null, moreLink);\n                    td.appendChild(moreWrap);\n                    moreNodes.push(moreWrap);\n                }\n                col++;\n            }\n        };\n        if (levelLimit && levelLimit < rowStruct.segLevels.length) { // is it actually over the limit?\n            levelSegs = rowStruct.segLevels[levelLimit - 1];\n            cellMatrix = rowStruct.cellMatrix;\n            limitedNodes = findChildren(rowStruct.tbodyEl).slice(levelLimit); // get level <tr> elements past the limit\n            limitedNodes.forEach(function (node) {\n                node.classList.add('fc-limited'); // hide elements and get a simple DOM-nodes array\n            });\n            // iterate though segments in the last allowable level\n            for (i = 0; i < levelSegs.length; i++) {\n                seg = levelSegs[i];\n                var leftCol = isRtl ? (colCnt - 1 - seg.lastCol) : seg.firstCol;\n                var rightCol = isRtl ? (colCnt - 1 - seg.firstCol) : seg.lastCol;\n                emptyCellsUntil(leftCol); // process empty cells before the segment\n                // determine *all* segments below `seg` that occupy the same columns\n                colSegsBelow = [];\n                totalSegsBelow = 0;\n                while (col <= rightCol) {\n                    segsBelow = this.getCellSegs(row, col, levelLimit);\n                    colSegsBelow.push(segsBelow);\n                    totalSegsBelow += segsBelow.length;\n                    col++;\n                }\n                if (totalSegsBelow) { // do we need to replace this segment with one or many \"more\" links?\n                    td = cellMatrix[levelLimit - 1][leftCol]; // the segment's parent cell\n                    rowSpan = td.rowSpan || 1;\n                    segMoreNodes = [];\n                    // make a replacement <td> for each column the segment occupies. will be one for each colspan\n                    for (j = 0; j < colSegsBelow.length; j++) {\n                        moreTd = createElement('td', { className: 'fc-more-cell', rowSpan: rowSpan });\n                        segsBelow = colSegsBelow[j];\n                        moreLink = this.renderMoreLink(row, leftCol + j, [seg].concat(segsBelow) // count seg as hidden too\n                        );\n                        moreWrap = createElement('div', null, moreLink);\n                        moreTd.appendChild(moreWrap);\n                        segMoreNodes.push(moreTd);\n                        moreNodes.push(moreTd);\n                    }\n                    td.classList.add('fc-limited');\n                    insertAfterElement(td, segMoreNodes);\n                    limitedNodes.push(td);\n                }\n            }\n            emptyCellsUntil(this.colCnt); // finish off the level\n            rowStruct.moreEls = moreNodes; // for easy undoing later\n            rowStruct.limitedEls = limitedNodes; // for easy undoing later\n        }\n    };\n    // Reveals all levels and removes all \"more\"-related elements for a grid's row.\n    // `row` is a row number.\n    DayGrid.prototype.unlimitRow = function (row) {\n        var rowStruct = this.eventRenderer.rowStructs[row];\n        if (rowStruct.moreEls) {\n            rowStruct.moreEls.forEach(removeElement);\n            rowStruct.moreEls = null;\n        }\n        if (rowStruct.limitedEls) {\n            rowStruct.limitedEls.forEach(function (limitedEl) {\n                limitedEl.classList.remove('fc-limited');\n            });\n            rowStruct.limitedEls = null;\n        }\n    };\n    // Renders an <a> element that represents hidden event element for a cell.\n    // Responsible for attaching click handler as well.\n    DayGrid.prototype.renderMoreLink = function (row, col, hiddenSegs) {\n        var _this = this;\n        var _a = this.context, calendar = _a.calendar, view = _a.view, dateEnv = _a.dateEnv, options = _a.options, isRtl = _a.isRtl;\n        var a = createElement('a', { className: 'fc-more' });\n        a.innerText = this.getMoreLinkText(hiddenSegs.length);\n        a.addEventListener('click', function (ev) {\n            var clickOption = options.eventLimitClick;\n            var _col = isRtl ? _this.colCnt - col - 1 : col; // HACK: props.cells has different dir system?\n            var date = _this.props.cells[row][_col].date;\n            var moreEl = ev.currentTarget;\n            var dayEl = _this.getCellEl(row, col);\n            var allSegs = _this.getCellSegs(row, col);\n            // rescope the segments to be within the cell's date\n            var reslicedAllSegs = _this.resliceDaySegs(allSegs, date);\n            var reslicedHiddenSegs = _this.resliceDaySegs(hiddenSegs, date);\n            if (typeof clickOption === 'function') {\n                // the returned value can be an atomic option\n                clickOption = calendar.publiclyTrigger('eventLimitClick', [\n                    {\n                        date: dateEnv.toDate(date),\n                        allDay: true,\n                        dayEl: dayEl,\n                        moreEl: moreEl,\n                        segs: reslicedAllSegs,\n                        hiddenSegs: reslicedHiddenSegs,\n                        jsEvent: ev,\n                        view: view\n                    }\n                ]);\n            }\n            if (clickOption === 'popover') {\n                _this.showSegPopover(row, col, moreEl, reslicedAllSegs);\n            }\n            else if (typeof clickOption === 'string') { // a view name\n                calendar.zoomTo(date, clickOption);\n            }\n        });\n        return a;\n    };\n    // Reveals the popover that displays all events within a cell\n    DayGrid.prototype.showSegPopover = function (row, col, moreLink, segs) {\n        var _this = this;\n        var _a = this.context, calendar = _a.calendar, view = _a.view, theme = _a.theme, isRtl = _a.isRtl;\n        var _col = isRtl ? this.colCnt - col - 1 : col; // HACK: props.cells has different dir system?\n        var moreWrap = moreLink.parentNode; // the <div> wrapper around the <a>\n        var topEl; // the element we want to match the top coordinate of\n        var options;\n        if (this.rowCnt === 1) {\n            topEl = view.el; // will cause the popover to cover any sort of header\n        }\n        else {\n            topEl = this.rowEls[row]; // will align with top of row\n        }\n        options = {\n            className: 'fc-more-popover ' + theme.getClass('popover'),\n            parentEl: view.el,\n            top: computeRect(topEl).top,\n            autoHide: true,\n            content: function (el) {\n                _this.segPopoverTile = new DayTile(el);\n                _this.updateSegPopoverTile(_this.props.cells[row][_col].date, segs);\n            },\n            hide: function () {\n                _this.segPopoverTile.destroy();\n                _this.segPopoverTile = null;\n                _this.segPopover.destroy();\n                _this.segPopover = null;\n            }\n        };\n        // Determine horizontal coordinate.\n        // We use the moreWrap instead of the <td> to avoid border confusion.\n        if (isRtl) {\n            options.right = computeRect(moreWrap).right + 1; // +1 to be over cell border\n        }\n        else {\n            options.left = computeRect(moreWrap).left - 1; // -1 to be over cell border\n        }\n        this.segPopover = new Popover(options);\n        this.segPopover.show();\n        calendar.releaseAfterSizingTriggers(); // hack for eventPositioned\n    };\n    // Given the events within an array of segment objects, reslice them to be in a single day\n    DayGrid.prototype.resliceDaySegs = function (segs, dayDate) {\n        var dayStart = dayDate;\n        var dayEnd = addDays(dayStart, 1);\n        var dayRange = { start: dayStart, end: dayEnd };\n        var newSegs = [];\n        for (var _i = 0, segs_1 = segs; _i < segs_1.length; _i++) {\n            var seg = segs_1[_i];\n            var eventRange = seg.eventRange;\n            var origRange = eventRange.range;\n            var slicedRange = intersectRanges(origRange, dayRange);\n            if (slicedRange) {\n                newSegs.push(tslib_1.__assign({}, seg, { eventRange: {\n                        def: eventRange.def,\n                        ui: tslib_1.__assign({}, eventRange.ui, { durationEditable: false }),\n                        instance: eventRange.instance,\n                        range: slicedRange\n                    }, isStart: seg.isStart && slicedRange.start.valueOf() === origRange.start.valueOf(), isEnd: seg.isEnd && slicedRange.end.valueOf() === origRange.end.valueOf() }));\n            }\n        }\n        return newSegs;\n    };\n    // Generates the text that should be inside a \"more\" link, given the number of events it represents\n    DayGrid.prototype.getMoreLinkText = function (num) {\n        var opt = this.context.options.eventLimitText;\n        if (typeof opt === 'function') {\n            return opt(num);\n        }\n        else {\n            return '+' + num + ' ' + opt;\n        }\n    };\n    // Returns segments within a given cell.\n    // If `startLevel` is specified, returns only events including and below that level. Otherwise returns all segs.\n    DayGrid.prototype.getCellSegs = function (row, col, startLevel) {\n        var segMatrix = this.eventRenderer.rowStructs[row].segMatrix;\n        var level = startLevel || 0;\n        var segs = [];\n        var seg;\n        while (level < segMatrix.length) {\n            seg = segMatrix[level][col];\n            if (seg) {\n                segs.push(seg);\n            }\n            level++;\n        }\n        return segs;\n    };\n    return DayGrid;\n}(DateComponent));\nexport default DayGrid;\n","import * as tslib_1 from \"tslib\";\nimport { htmlEscape, createElement, findElements, matchCellWidths, uncompensateScroll, compensateScroll, subtractInnerElHeight, distributeHeight, undistributeHeight, createFormatter, ScrollComponent, View, buildGotoAnchorHtml, memoize, memoizeRendering } from '@fullcalendar/core';\nimport DayGridDateProfileGenerator from './DayGridDateProfileGenerator';\nimport DayGrid from './DayGrid';\nvar WEEK_NUM_FORMAT = createFormatter({ week: 'numeric' });\n/* An abstract class for the daygrid views, as well as month view. Renders one or more rows of day cells.\n----------------------------------------------------------------------------------------------------------------------*/\n// It is a manager for a DayGrid subcomponent, which does most of the heavy lifting.\n// It is responsible for managing width/height.\nvar AbstractDayGridView = /** @class */ (function (_super) {\n    tslib_1.__extends(AbstractDayGridView, _super);\n    function AbstractDayGridView() {\n        var _this = _super !== null && _super.apply(this, arguments) || this;\n        _this.processOptions = memoize(_this._processOptions);\n        _this.renderSkeleton = memoizeRendering(_this._renderSkeleton, _this._unrenderSkeleton);\n        /* Header Rendering\n        ------------------------------------------------------------------------------------------------------------------*/\n        // Generates the HTML that will go before the day-of week header cells\n        _this.renderHeadIntroHtml = function () {\n            var _a = _this.context, theme = _a.theme, options = _a.options;\n            if (_this.colWeekNumbersVisible) {\n                return '' +\n                    '<th class=\"fc-week-number ' + theme.getClass('widgetHeader') + '\" ' + _this.weekNumberStyleAttr() + '>' +\n                    '<span>' + // needed for matchCellWidths\n                    htmlEscape(options.weekLabel) +\n                    '</span>' +\n                    '</th>';\n            }\n            return '';\n        };\n        /* Day Grid Rendering\n        ------------------------------------------------------------------------------------------------------------------*/\n        // Generates the HTML that will go before content-skeleton cells that display the day/week numbers\n        _this.renderDayGridNumberIntroHtml = function (row, dayGrid) {\n            var _a = _this.context, options = _a.options, dateEnv = _a.dateEnv;\n            var weekStart = dayGrid.props.cells[row][0].date;\n            if (_this.colWeekNumbersVisible) {\n                return '' +\n                    '<td class=\"fc-week-number\" ' + _this.weekNumberStyleAttr() + '>' +\n                    buildGotoAnchorHtml(// aside from link, important for matchCellWidths\n                    options, dateEnv, { date: weekStart, type: 'week', forceOff: dayGrid.colCnt === 1 }, dateEnv.format(weekStart, WEEK_NUM_FORMAT) // inner HTML\n                    ) +\n                    '</td>';\n            }\n            return '';\n        };\n        // Generates the HTML that goes before the day bg cells for each day-row\n        _this.renderDayGridBgIntroHtml = function () {\n            var theme = _this.context.theme;\n            if (_this.colWeekNumbersVisible) {\n                return '<td class=\"fc-week-number ' + theme.getClass('widgetContent') + '\" ' + _this.weekNumberStyleAttr() + '></td>';\n            }\n            return '';\n        };\n        // Generates the HTML that goes before every other type of row generated by DayGrid.\n        // Affects mirror-skeleton and highlight-skeleton rows.\n        _this.renderDayGridIntroHtml = function () {\n            if (_this.colWeekNumbersVisible) {\n                return '<td class=\"fc-week-number\" ' + _this.weekNumberStyleAttr() + '></td>';\n            }\n            return '';\n        };\n        return _this;\n    }\n    AbstractDayGridView.prototype._processOptions = function (options) {\n        if (options.weekNumbers) {\n            if (options.weekNumbersWithinDays) {\n                this.cellWeekNumbersVisible = true;\n                this.colWeekNumbersVisible = false;\n            }\n            else {\n                this.cellWeekNumbersVisible = false;\n                this.colWeekNumbersVisible = true;\n            }\n        }\n        else {\n            this.colWeekNumbersVisible = false;\n            this.cellWeekNumbersVisible = false;\n        }\n    };\n    AbstractDayGridView.prototype.render = function (props, context) {\n        _super.prototype.render.call(this, props, context);\n        this.processOptions(context.options);\n        this.renderSkeleton(context);\n    };\n    AbstractDayGridView.prototype.destroy = function () {\n        _super.prototype.destroy.call(this);\n        this.renderSkeleton.unrender();\n    };\n    AbstractDayGridView.prototype._renderSkeleton = function (context) {\n        this.el.classList.add('fc-dayGrid-view');\n        this.el.innerHTML = this.renderSkeletonHtml();\n        this.scroller = new ScrollComponent('hidden', // overflow x\n        'auto' // overflow y\n        );\n        var dayGridContainerEl = this.scroller.el;\n        this.el.querySelector('.fc-body > tr > td').appendChild(dayGridContainerEl);\n        dayGridContainerEl.classList.add('fc-day-grid-container');\n        var dayGridEl = createElement('div', { className: 'fc-day-grid' });\n        dayGridContainerEl.appendChild(dayGridEl);\n        this.dayGrid = new DayGrid(dayGridEl, {\n            renderNumberIntroHtml: this.renderDayGridNumberIntroHtml,\n            renderBgIntroHtml: this.renderDayGridBgIntroHtml,\n            renderIntroHtml: this.renderDayGridIntroHtml,\n            colWeekNumbersVisible: this.colWeekNumbersVisible,\n            cellWeekNumbersVisible: this.cellWeekNumbersVisible\n        });\n    };\n    AbstractDayGridView.prototype._unrenderSkeleton = function () {\n        this.el.classList.remove('fc-dayGrid-view');\n        this.dayGrid.destroy();\n        this.scroller.destroy();\n    };\n    // Builds the HTML skeleton for the view.\n    // The day-grid component will render inside of a container defined by this HTML.\n    AbstractDayGridView.prototype.renderSkeletonHtml = function () {\n        var _a = this.context, theme = _a.theme, options = _a.options;\n        return '' +\n            '<table class=\"' + theme.getClass('tableGrid') + '\">' +\n            (options.columnHeader ?\n                '<thead class=\"fc-head\">' +\n                    '<tr>' +\n                    '<td class=\"fc-head-container ' + theme.getClass('widgetHeader') + '\">&nbsp;</td>' +\n                    '</tr>' +\n                    '</thead>' :\n                '') +\n            '<tbody class=\"fc-body\">' +\n            '<tr>' +\n            '<td class=\"' + theme.getClass('widgetContent') + '\"></td>' +\n            '</tr>' +\n            '</tbody>' +\n            '</table>';\n    };\n    // Generates an HTML attribute string for setting the width of the week number column, if it is known\n    AbstractDayGridView.prototype.weekNumberStyleAttr = function () {\n        if (this.weekNumberWidth != null) {\n            return 'style=\"width:' + this.weekNumberWidth + 'px\"';\n        }\n        return '';\n    };\n    // Determines whether each row should have a constant height\n    AbstractDayGridView.prototype.hasRigidRows = function () {\n        var eventLimit = this.context.options.eventLimit;\n        return eventLimit && typeof eventLimit !== 'number';\n    };\n    /* Dimensions\n    ------------------------------------------------------------------------------------------------------------------*/\n    AbstractDayGridView.prototype.updateSize = function (isResize, viewHeight, isAuto) {\n        _super.prototype.updateSize.call(this, isResize, viewHeight, isAuto); // will call updateBaseSize. important that executes first\n        this.dayGrid.updateSize(isResize);\n    };\n    // Refreshes the horizontal dimensions of the view\n    AbstractDayGridView.prototype.updateBaseSize = function (isResize, viewHeight, isAuto) {\n        var dayGrid = this.dayGrid;\n        var eventLimit = this.context.options.eventLimit;\n        var headRowEl = this.header ? this.header.el : null; // HACK\n        var scrollerHeight;\n        var scrollbarWidths;\n        // hack to give the view some height prior to dayGrid's columns being rendered\n        // TODO: separate setting height from scroller VS dayGrid.\n        if (!dayGrid.rowEls) {\n            if (!isAuto) {\n                scrollerHeight = this.computeScrollerHeight(viewHeight);\n                this.scroller.setHeight(scrollerHeight);\n            }\n            return;\n        }\n        if (this.colWeekNumbersVisible) {\n            // Make sure all week number cells running down the side have the same width.\n            this.weekNumberWidth = matchCellWidths(findElements(this.el, '.fc-week-number'));\n        }\n        // reset all heights to be natural\n        this.scroller.clear();\n        if (headRowEl) {\n            uncompensateScroll(headRowEl);\n        }\n        dayGrid.removeSegPopover(); // kill the \"more\" popover if displayed\n        // is the event limit a constant level number?\n        if (eventLimit && typeof eventLimit === 'number') {\n            dayGrid.limitRows(eventLimit); // limit the levels first so the height can redistribute after\n        }\n        // distribute the height to the rows\n        // (viewHeight is a \"recommended\" value if isAuto)\n        scrollerHeight = this.computeScrollerHeight(viewHeight);\n        this.setGridHeight(scrollerHeight, isAuto);\n        // is the event limit dynamically calculated?\n        if (eventLimit && typeof eventLimit !== 'number') {\n            dayGrid.limitRows(eventLimit); // limit the levels after the grid's row heights have been set\n        }\n        if (!isAuto) { // should we force dimensions of the scroll container?\n            this.scroller.setHeight(scrollerHeight);\n            scrollbarWidths = this.scroller.getScrollbarWidths();\n            if (scrollbarWidths.left || scrollbarWidths.right) { // using scrollbars?\n                if (headRowEl) {\n                    compensateScroll(headRowEl, scrollbarWidths);\n                }\n                // doing the scrollbar compensation might have created text overflow which created more height. redo\n                scrollerHeight = this.computeScrollerHeight(viewHeight);\n                this.scroller.setHeight(scrollerHeight);\n            }\n            // guarantees the same scrollbar widths\n            this.scroller.lockOverflow(scrollbarWidths);\n        }\n    };\n    // given a desired total height of the view, returns what the height of the scroller should be\n    AbstractDayGridView.prototype.computeScrollerHeight = function (viewHeight) {\n        return viewHeight -\n            subtractInnerElHeight(this.el, this.scroller.el); // everything that's NOT the scroller\n    };\n    // Sets the height of just the DayGrid component in this view\n    AbstractDayGridView.prototype.setGridHeight = function (height, isAuto) {\n        if (this.context.options.monthMode) {\n            // if auto, make the height of each row the height that it would be if there were 6 weeks\n            if (isAuto) {\n                height *= this.dayGrid.rowCnt / 6;\n            }\n            distributeHeight(this.dayGrid.rowEls, height, !isAuto); // if auto, don't compensate for height-hogging rows\n        }\n        else {\n            if (isAuto) {\n                undistributeHeight(this.dayGrid.rowEls); // let the rows be their natural height with no expanding\n            }\n            else {\n                distributeHeight(this.dayGrid.rowEls, height, true); // true = compensate for height-hogging rows\n            }\n        }\n    };\n    /* Scroll\n    ------------------------------------------------------------------------------------------------------------------*/\n    AbstractDayGridView.prototype.computeDateScroll = function (duration) {\n        return { top: 0 };\n    };\n    AbstractDayGridView.prototype.queryDateScroll = function () {\n        return { top: this.scroller.getScrollTop() };\n    };\n    AbstractDayGridView.prototype.applyDateScroll = function (scroll) {\n        if (scroll.top !== undefined) {\n            this.scroller.setScrollTop(scroll.top);\n        }\n    };\n    return AbstractDayGridView;\n}(View));\nexport default AbstractDayGridView;\nAbstractDayGridView.prototype.dateProfileGeneratorClass = DayGridDateProfileGenerator;\n","import * as tslib_1 from \"tslib\";\nimport { DateComponent, Slicer } from '@fullcalendar/core';\nvar SimpleDayGrid = /** @class */ (function (_super) {\n    tslib_1.__extends(SimpleDayGrid, _super);\n    function SimpleDayGrid(dayGrid) {\n        var _this = _super.call(this, dayGrid.el) || this;\n        _this.slicer = new DayGridSlicer();\n        _this.dayGrid = dayGrid;\n        return _this;\n    }\n    SimpleDayGrid.prototype.firstContext = function (context) {\n        context.calendar.registerInteractiveComponent(this, { el: this.dayGrid.el });\n    };\n    SimpleDayGrid.prototype.destroy = function () {\n        _super.prototype.destroy.call(this);\n        this.context.calendar.unregisterInteractiveComponent(this);\n    };\n    SimpleDayGrid.prototype.render = function (props, context) {\n        var dayGrid = this.dayGrid;\n        var dateProfile = props.dateProfile, dayTable = props.dayTable;\n        dayGrid.receiveProps(tslib_1.__assign({}, this.slicer.sliceProps(props, dateProfile, props.nextDayThreshold, context.calendar, dayGrid, dayTable), { dateProfile: dateProfile, cells: dayTable.cells, isRigid: props.isRigid }), context);\n    };\n    SimpleDayGrid.prototype.buildPositionCaches = function () {\n        this.dayGrid.buildPositionCaches();\n    };\n    SimpleDayGrid.prototype.queryHit = function (positionLeft, positionTop) {\n        var rawHit = this.dayGrid.positionToHit(positionLeft, positionTop);\n        if (rawHit) {\n            return {\n                component: this.dayGrid,\n                dateSpan: rawHit.dateSpan,\n                dayEl: rawHit.dayEl,\n                rect: {\n                    left: rawHit.relativeRect.left,\n                    right: rawHit.relativeRect.right,\n                    top: rawHit.relativeRect.top,\n                    bottom: rawHit.relativeRect.bottom\n                },\n                layer: 0\n            };\n        }\n    };\n    return SimpleDayGrid;\n}(DateComponent));\nexport default SimpleDayGrid;\nvar DayGridSlicer = /** @class */ (function (_super) {\n    tslib_1.__extends(DayGridSlicer, _super);\n    function DayGridSlicer() {\n        return _super !== null && _super.apply(this, arguments) || this;\n    }\n    DayGridSlicer.prototype.sliceRange = function (dateRange, dayTable) {\n        return dayTable.sliceRange(dateRange);\n    };\n    return DayGridSlicer;\n}(Slicer));\nexport { DayGridSlicer };\n","import * as tslib_1 from \"tslib\";\nimport { DayHeader, memoize, DaySeries, DayTable } from '@fullcalendar/core';\nimport AbstractDayGridView from './AbstractDayGridView';\nimport SimpleDayGrid from './SimpleDayGrid';\nvar DayGridView = /** @class */ (function (_super) {\n    tslib_1.__extends(DayGridView, _super);\n    function DayGridView() {\n        var _this = _super !== null && _super.apply(this, arguments) || this;\n        _this.buildDayTable = memoize(buildDayTable);\n        return _this;\n    }\n    DayGridView.prototype.render = function (props, context) {\n        _super.prototype.render.call(this, props, context); // will call _renderSkeleton/_unrenderSkeleton\n        var dateProfile = this.props.dateProfile;\n        var dayTable = this.dayTable =\n            this.buildDayTable(dateProfile, props.dateProfileGenerator);\n        if (this.header) {\n            this.header.receiveProps({\n                dateProfile: dateProfile,\n                dates: dayTable.headerDates,\n                datesRepDistinctDays: dayTable.rowCnt === 1,\n                renderIntroHtml: this.renderHeadIntroHtml\n            }, context);\n        }\n        this.simpleDayGrid.receiveProps({\n            dateProfile: dateProfile,\n            dayTable: dayTable,\n            businessHours: props.businessHours,\n            dateSelection: props.dateSelection,\n            eventStore: props.eventStore,\n            eventUiBases: props.eventUiBases,\n            eventSelection: props.eventSelection,\n            eventDrag: props.eventDrag,\n            eventResize: props.eventResize,\n            isRigid: this.hasRigidRows(),\n            nextDayThreshold: this.context.nextDayThreshold\n        }, context);\n    };\n    DayGridView.prototype._renderSkeleton = function (context) {\n        _super.prototype._renderSkeleton.call(this, context);\n        if (context.options.columnHeader) {\n            this.header = new DayHeader(this.el.querySelector('.fc-head-container'));\n        }\n        this.simpleDayGrid = new SimpleDayGrid(this.dayGrid);\n    };\n    DayGridView.prototype._unrenderSkeleton = function () {\n        _super.prototype._unrenderSkeleton.call(this);\n        if (this.header) {\n            this.header.destroy();\n        }\n        this.simpleDayGrid.destroy();\n    };\n    return DayGridView;\n}(AbstractDayGridView));\nexport default DayGridView;\nexport function buildDayTable(dateProfile, dateProfileGenerator) {\n    var daySeries = new DaySeries(dateProfile.renderRange, dateProfileGenerator);\n    return new DayTable(daySeries, /year|month|week/.test(dateProfile.currentRangeUnit));\n}\n","import { createPlugin } from '@fullcalendar/core';\nimport DayGridView from './DayGridView';\nexport { default as SimpleDayGrid, DayGridSlicer } from './SimpleDayGrid';\nexport { default as DayGrid } from './DayGrid';\nexport { default as AbstractDayGridView } from './AbstractDayGridView';\nexport { default as DayGridView, buildDayTable as buildBasicDayTable } from './DayGridView';\nexport { default as DayBgRow } from './DayBgRow';\nexport default createPlugin({\n    defaultView: 'dayGridMonth',\n    views: {\n        dayGrid: DayGridView,\n        dayGridDay: {\n            type: 'dayGrid',\n            duration: { days: 1 }\n        },\n        dayGridWeek: {\n            type: 'dayGrid',\n            duration: { weeks: 1 }\n        },\n        dayGridMonth: {\n            type: 'dayGrid',\n            duration: { months: 1 },\n            monthMode: true,\n            fixedWeekCount: true\n        }\n    }\n});\n"],"names":["tslib_1.__extends","tslib_1.__assign","WEEK_NUM_FORMAT"],"mappings":"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"}

?>