.fc{direction:ltr;text-align:left}.fc-rtl{text-align:right}body
.fc{font-size:1em}.fc-highlight{background:#bce8f1;opacity:0.3}.fc-bgevent{background:#8fdf82;opacity:0.3}.fc-nonbusiness{background:#d7d7d7}.fc-popover{position:absolute;box-shadow:0 2px 6px rgba(0, 0, 0, 0.15)}.fc-popover .fc-header{display:flex;flex-direction:row;justify-content:space-between;align-items:center;padding:2px
4px}.fc-rtl .fc-popover .fc-header{flex-direction:row-reverse}.fc-popover .fc-header .fc-title{margin:0
2px}.fc-popover .fc-header .fc-close{cursor:pointer;opacity:0.65;font-size:1.1em}.fc-divider{border-style:solid;border-width:1px}hr.fc-divider{height:0;margin:0;padding:0
0 2px;border-width:1px 0}.fc-bg,.fc-bgevent-skeleton,.fc-highlight-skeleton,.fc-mirror-skeleton{position:absolute;top:0;left:0;right:0}.fc-bg{bottom:0}.fc-bg
table{height:100%}.fc
table{width:100%;box-sizing:border-box;table-layout:fixed;border-collapse:separate;border-spacing:4px 2px!important;font-size:1em;overflow:auto}.fc
th{text-align:center;color:#fff;text-transform:uppercase}.fc-center{width:fit-content;width:intrinsic}.fc-center
h2{text-align:center!important;font-family:'world_of_eric_carleregular';color:#fff}.fc-right .fc-button{background-color:transparent;color:#000}.fc-left{width:31%}.fc-right{width:31%}.fc
td{padding:0px;vertical-align:top;-webkit-background-clip:padding-box;background-clip:padding-box}.fc-body{overflow:visible;background-color:transparent!important}.fc-row tr,td.fc.day-header,td.fc-widget-header,.fc-disabled-day{border:none!important;color:#fff;text-transform:uppercase}td.fc-widget-content{border:none;overflow:visible}td.fc-widget-content td.fc-widget-content{}td.fc-day-top{border:none!important;padding:0px
2px 0px 0px;vertical-align:top}.fc td.fc-today{border-style:double}.fc-event-container{background:transparent!important}a[data-goto]{cursor:pointer}a[data-goto]:hover{text-decoration:underline}.fc .fc-row{border-style:solid;border-width:0}.fc-row
table{border-left:0 hidden transparent;border-right:0 hidden transparent;border-bottom:0 hidden transparent}.fc-row:first-child
table{border-top:0 hidden transparent}.fc-row{position:relative}.fc-row .fc-bg{z-index:1}.fc-row .fc-bgevent-skeleton,
.fc-row .fc-highlight-skeleton{bottom:0}.fc-row .fc-bgevent-skeleton table,
.fc-row .fc-highlight-skeleton
table{height:100%}.fc-row .fc-highlight-skeleton td,
.fc-row .fc-bgevent-skeleton
td{border-color:transparent}.fc-row .fc-bgevent-skeleton{z-index:2}.fc-row .fc-highlight-skeleton{z-index:3}.fc-row .fc-content-skeleton{position:relative;z-index:4;padding-bottom:1px}.fc-row .fc-mirror-skeleton{z-index:5}.fc .fc-row .fc-content-skeleton table,
.fc .fc-row .fc-content-skeleton td,
.fc .fc-row .fc-mirror-skeleton
td{background:none;border-color:transparent}.fc-row .fc-content-skeleton td,
.fc-row .fc-mirror-skeleton
td{border-bottom:0}.fc-row .fc-content-skeleton tbody td,
.fc-row .fc-mirror-skeleton tbody
td{border-top:0}.fc-scroller{-webkit-overflow-scrolling:touch;overflow:visible!important}.fc-scroller>.fc-day-grid,.fc-scroller>.fc-time-grid{position:relative;width:100%}.fc-event{position:relative;display:block;font-size: .9em;text-align:center;line-height:1.3;font-weight:bold;padding-bottom:2px!important;padding-top:4px!important;letter-spacing:2px;color:#fff;border:0px
solid #fff;border-radius:0px;background:url("/wp-content/themes/hungrycaterpillar/assets/images/VHC-Blue-Background-Gen-900.jpg");box-shadow:none}.fc-event,.fc-event-dot{}.best{background:#eaaf0c!important;border:1px
solid #eaaf0c!important}.fc-event,.fc-event:hover{text-decoration:none}.fc-event:hover{background-color:#000}.fc-event[href],.fc-event.fc-draggable{cursor:pointer}.fc-not-allowed,
.fc-not-allowed .fc-event{cursor:not-allowed}.fc-event .fc-content{position:relative;z-index:2}.fc-event .fc-resizer{position:absolute;z-index:4}.fc-event .fc-resizer{display:none}.fc-event.fc-allow-mouse-resize .fc-resizer,
.fc-event.fc-selected .fc-resizer{display:block}.fc-event.fc-selected .fc-resizer:before{content:"";position:absolute;z-index:9999;top:50%;left:50%;width:40px;height:40px;margin-left:-20px;margin-top:-20px}.fc-event.fc-selected{z-index:9999 !important;box-shadow:0 2px 5px rgba(0,0,0,0.2)}.fc-event.fc-selected:after{content:"";position:absolute;z-index:1;top:-1px;right:-1px;bottom:-1px;left:-1px;background:#000;opacity:0.25}.fc-event.fc-dragging.fc-selected{box-shadow:0 2px 7px rgba(0,0,0,0.3)}.fc-event.fc-dragging:not(.fc-selected){opacity:0.75}.fc-h-event.fc-selected:before{content:"";position:absolute;z-index:3;top:-10px;bottom:-10px;left:0;right:0}.fc-ltr .fc-h-event.fc-not-start,
.fc-rtl .fc-h-event.fc-not-end{margin-left:0;border-left-width:0;padding-left:1px;border-top-left-radius:0;border-bottom-left-radius:0}.fc-ltr .fc-h-event.fc-not-end,
.fc-rtl .fc-h-event.fc-not-start{margin-right:0;border-right-width:0;padding-right:1px;border-top-right-radius:0;border-bottom-right-radius:0}.fc-ltr .fc-h-event .fc-start-resizer,
.fc-rtl .fc-h-event .fc-end-resizer{cursor:w-resize;left:-1px}.fc-ltr .fc-h-event .fc-end-resizer,
.fc-rtl .fc-h-event .fc-start-resizer{cursor:e-resize;right:-1px}.fc-h-event.fc-allow-mouse-resize .fc-resizer{width:7px;top:-1px;bottom:-1px}.fc-h-event.fc-selected .fc-resizer{border-radius:4px;border-width:1px;width:6px;height:6px;border-style:solid;border-color:inherit;background:#fff;top:50%;margin-top:-4px}.fc-ltr .fc-h-event.fc-selected .fc-start-resizer,
.fc-rtl .fc-h-event.fc-selected .fc-end-resizer{margin-left:-4px}.fc-ltr .fc-h-event.fc-selected .fc-end-resizer,
.fc-rtl .fc-h-event.fc-selected .fc-start-resizer{margin-right:-4px}.fc-day-grid-event{margin:2px
4px 0px 4px;padding:0
1px}tr:first-child>td>.fc-day-grid-event{margin-top:2px}.fc-mirror-skeleton tr:first-child>td>.fc-day-grid-event{margin-top:0}.fc-day-grid-event .fc-content{white-space:nowrap;overflow:hidden}.fc-day-grid-event .fc-time{font-weight:bold;display:none}.fc-ltr .fc-day-grid-event.fc-allow-mouse-resize .fc-start-resizer,
.fc-rtl .fc-day-grid-event.fc-allow-mouse-resize .fc-end-resizer{margin-left:-2px}.fc-ltr .fc-day-grid-event.fc-allow-mouse-resize .fc-end-resizer,
.fc-rtl .fc-day-grid-event.fc-allow-mouse-resize .fc-start-resizer{margin-right:-2px}a.fc-more{margin:1px
3px;font-size:0.85em;cursor:pointer;text-decoration:none}a.fc-more:hover{text-decoration:underline}.fc-limited{display:none}.fc-day-grid .fc-row{z-index:1}.fc-more-popover{z-index:2;width:220px}.fc-more-popover .fc-event-container{padding:10px}.fc-now-indicator{position:absolute;border:0
solid red}.fc-unselectable{-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:rgba(0, 0, 0, 0)}.fc-unthemed th,
.fc-unthemed td,
.fc-unthemed thead,
.fc-unthemed tbody,
.fc-unthemed .fc-divider,
.fc-unthemed .fc-row,
.fc-unthemed .fc-content,
.fc-unthemed .fc-popover,
.fc-unthemed .fc-list-view,
.fc-unthemed .fc-list-heading
td{}.fc-unthemed .fc-popover{background-color:#000}.fc-unthemed .fc-divider,
.fc-unthemed .fc-popover .fc-header,
.fc-unthemed .fc-list-heading
td{background:#eee}.fc-unthemed td.fc-day{background:rgba(253,251,251,1.00)}.fc-unthemed td.fc-past{background:rgba(253,251,251,.40)}.fc-unthemed td.fc-today{background:rgba(253,251,251,1.00)}.fc-unthemed td.fc-disabled-day{background:#fff;opacity:0}.fc-widget-header
table{margin-bottom:0px}@font-face{font-family:"fcicons";src:url("data:application/x-font-ttf;charset=utf-8;base64,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") format("truetype");font-weight:normal;font-style:normal}.fc-icon{font-family:"FontAwesome";speak:none;font-style:normal;font-weight:normal;font-variant:normal;text-transform:none;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.fc-icon-chevron-left:before{content:"\f0d9"}.fc-icon-chevron-right:before{content:"\f0da"}.fc-icon-chevrons-left:before{content:"\f0d9"}.fc-icon-chevrons-right:before{content:"\f0da"}.fc-icon-minus-square:before{content:""}.fc-icon-plus-square:before{content:""}.fc-icon-x:before{content:""}.fc-icon{display:inline-block;width:1em;height:1em;text-align:center}.fc-button{border-radius:0;overflow:visible;text-transform:none;margin:0;font-family:inherit;font-size:inherit;line-height:inherit}.fc-button:focus{outline:1px
dotted;outline:5px
auto -webkit-focus-ring-color}.fc-button{-webkit-appearance:button}.fc-button:not(:disabled){cursor:pointer}.fc-button::-moz-focus-inner{padding:0;border-style:none}.fc-button{display:inline-block;font-weight:400;color:#212529;text-align:center;vertical-align:middle;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;background-color:transparent;border:1px
solid transparent;padding:0.4em 0.65em;font-size:1em;line-height:1.5;border-radius:0.25em}.fc-button:hover{color:#212529;text-decoration:none}.fc-button:focus{outline:0;-webkit-box-shadow:0 0 0 0.2rem rgba(44, 62, 80, 0.25);box-shadow:0 0 0 0.2rem rgba(44,62,80,0.25)}.fc-button:disabled{opacity:0.65}.fc-button-primary{}.fc-button-primary:hover{color:#fff;background-color:#3695e5;}.fc-button-primary:focus{-webkit-box-shadow:0 0 0 0.2rem rgba(76, 91, 106, 0.5);box-shadow:0 0 0 0.2rem rgba(76,91,106,0.5)}.fc-button-primary:disabled{color:transparent;background-color:transparent;border-color:transparent}.fc-button-primary:not(:disabled):active,.fc-button-primary:not(:disabled).fc-button-active{color:#fff;background-color:#1a252f;border-color:#151e27}.fc-button-primary:not(:disabled):active:focus,.fc-button-primary:not(:disabled).fc-button-active:focus{-webkit-box-shadow:0 0 0 0.2rem rgba(76, 91, 106, 0.5);box-shadow:0 0 0 0.2rem rgba(76, 91, 106, 0.5)}.fc-button .fc-icon{vertical-align:middle;font-size:1.5em}.fc-button-group{position:relative;display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;vertical-align:middle;align-items:flex-start}.fc-button-group>.fc-button{position:relative;-webkit-box-flex:1;-ms-flex:1 1 auto;flex:1 1 auto}.fc-button-group>.fc-button:hover{z-index:1}.fc-button-group>.fc-button:focus,.fc-button-group>.fc-button:active,.fc-button-group>.fc-button.fc-button-active{z-index:1}.fc-button-group>.fc-button:not(:first-child){margin-left:-1px}.fc-button-group>.fc-button:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}.fc-button-group>.fc-button:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.fc-unthemed .fc-popover{border-width:1px;border-style:solid}.fc-unthemed .fc-list-item:hover
td{background-color:#f5f5f5}.fc-toolbar{display:flex;justify-content:space-between;align-items:center}.fc-toolbar.fc-header-toolbar{margin-bottom: .1em}.fc-toolbar.fc-footer-toolbar{margin-top:1.5em}.fc-toolbar>*>:not(:first-child){margin-left:0.75em}.fc-toolbar
h2{font-size:1.75em;margin:0}.fc-view-container{background:url("/wp-content/themes/hungrycaterpillar/assets/images/VHC-Green-Background-1800.jpg") no-repeat;background-size:cover;position:relative;overflow:auto}.fc-view-container *,
.fc-view-container *:before,
.fc-view-container *:after{-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box}.fc-view,.fc-view>table{font-family:'world_of_eric_carleregular';position:relative;z-index:1}@media
print{.fc{max-width:100% !important}.fc-event{background:#fff !important;color:#000 !important;page-break-inside:avoid}.fc-event .fc-resizer{display:none}.fc th,
.fc td,
.fc hr,
.fc thead,
.fc tbody,.fc-row{border-color:#ccc !important;background:#fff !important}.fc-bg,.fc-bgevent-skeleton,.fc-highlight-skeleton,.fc-mirror-skeleton,.fc-bgevent-container,.fc-business-container,.fc-highlight-container,.fc-mirror-container{display:none}.fc tbody .fc-row{height:auto !important;min-height:0 !important}.fc tbody .fc-row .fc-content-skeleton{position:static;padding-bottom:0 !important}.fc tbody .fc-row .fc-content-skeleton tbody tr:last-child
td{padding-bottom:1em}.fc tbody .fc-row .fc-content-skeleton
table{height:1em}.fc-more-cell,.fc-more{display:none !important}.fc tr.fc-limited{display:table-row !important}.fc td.fc-limited{display:table-cell !important}.fc-popover{display:none}.fc-time-grid{min-height:0 !important}.fc-timeGrid-view .fc-axis{display:none}.fc-slats,
.fc-time-grid
hr{display:none !important}.fc-time-grid .fc-content-skeleton{position:static}.fc-time-grid .fc-content-skeleton
table{height:4em}.fc-time-grid .fc-event-container{margin:0
!important}.fc-time-grid .fc-event{position:static !important;margin:3px
2px !important}.fc-time-grid .fc-event.fc-not-end{border-bottom-width:1px !important}.fc-time-grid .fc-event.fc-not-end:after{content:"..."}.fc-time-grid .fc-event.fc-not-start{border-top-width:1px !important}.fc-time-grid .fc-event.fc-not-start:before{content:"..."}.fc-time-grid .fc-event .fc-time{white-space:normal !important}.fc-time-grid .fc-event .fc-time
span{display:none}.fc-time-grid .fc-event .fc-time:after{content:attr(data-full)}.fc-scroller,.fc-day-grid-container,.fc-time-grid-container{overflow:visible !important;height:auto !important}.fc-row{border:0
!important;margin:0
!important}.fc-button-group,
.fc
button{display:none}}@media all and (max-width:600px){.fc-center
h2{text-align:right;color:#fff;font-size:2em!important;padding-right:20px}.fc-event{font-size: .68em}.fc
table{width:100%;box-sizing:border-box;table-layout:fixed;border-spacing:1px}}.fc-dayGridWeek-view .fc-content-skeleton,
.fc-dayGridDay-view .fc-content-skeleton{padding-bottom:1em}.fc-dayGrid-view .fc-body .fc-row{min-height:4em}.fc-row.fc-rigid{overflow:hidden}.fc-row.fc-rigid .fc-content-skeleton{position:absolute;top:0;left:0;right:0}.fc-day-top.fc-other-month{opacity:0.3}.fc-dayGrid-view .fc-week-number,
.fc-dayGrid-view .fc-day-number{padding:2px}.fc-dayGrid-view th.fc-week-number,
.fc-dayGrid-view th.fc-day-number{padding:0
2px}.fc-ltr .fc-dayGrid-view .fc-day-top .fc-day-number{float:left;font-weight:normal;margin-left:2px;color:#000}.fc-rtl .fc-dayGrid-view .fc-day-top .fc-day-number{float:left}.fc-ltr .fc-dayGrid-view .fc-day-top .fc-week-number{float:left;border-radius:0 0 3px 0}.fc-rtl .fc-dayGrid-view .fc-day-top .fc-week-number{float:right;border-radius:0 0 0 3px}.fc-dayGrid-view .fc-day-top .fc-week-number{min-width:1.5em;text-align:center;background-color:#f2f2f2;color:#808080}.fc-dayGrid-view td.fc-week-number{text-align:center}.fc-dayGrid-view td.fc-week-number>*{display:inline-block;min-width:1.25em}.fc-event-dot{display:inline-block;width:10px;height:10px;border-radius:5px}.fc-rtl .fc-list-view{direction:rtl}.fc-list-view{border-width:1px;border-style:solid}.fc .fc-list-table{table-layout:auto}.fc-list-table
td{border-width:1px 0 0;padding:8px
14px}.fc-list-table tr:first-child
td{border-top-width:0}.fc-list-heading{border-bottom-width:1px}.fc-list-heading
td{font-weight:bold}.fc-ltr .fc-list-heading-main{float:left}.fc-ltr .fc-list-heading-alt{float:right}.fc-rtl .fc-list-heading-main{float:right}.fc-rtl .fc-list-heading-alt{float:left}.fc-list-item.fc-has-url{cursor:pointer}.fc-list-item-marker,.fc-list-item-time{white-space:nowrap;width:1px}.fc-ltr .fc-list-item-marker{padding-right:0}.fc-rtl .fc-list-item-marker{padding-left:0}.fc-list-item-title
a{text-decoration:none;color:inherit}.fc-list-item-title a[href]:hover{text-decoration:underline}.fc-list-empty-wrap2{position:absolute;top:0;left:0;right:0;bottom:0}.fc-list-empty-wrap1{width:100%;height:100%;display:table}.fc-list-empty{display:table-cell;vertical-align:middle;text-align:center}.fc-unthemed .fc-list-empty{background-color:#eee}
/*!
FullCalendar List View Plugin v4.3.0
Docs & License: https://fullcalendar.io/
(c) 2019 Adam Shaw
*/
(function (global,factory){typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@fullcalendar/core')) :
typeof define === 'function' && define.amd ? define(['exports', '@fullcalendar/core'], factory) :
(global = global || self, factory(global.FullCalendarList ={}, global.FullCalendar))}(this, function (exports,core){'use strict';
/*! *****************************************************************************
    Copyright (c) Microsoft Corporation. All rights reserved.
    Licensed under the Apache License, Version 2.0 (the "License"); you may not use
    this file except in compliance with the License. You may obtain a copy of the
    License at http://www.apache.org/licenses/LICENSE-2.0

    THIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
    KIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED
    WARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,
    MERCHANTABLITY OR NON-INFRINGEMENT.

    See the Apache Version 2.0 License for specific language governing permissions
    and limitations under the License.
    ***************************************************************************** */
var extendStatics = function(d,b){extendStatics = Object.setPrototypeOf ||
({__proto__: []}instanceof Array && function (d,b){d.__proto__ = b}) ||
function (d,b){for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]};return extendStatics(d, b)};function __extends(d,b){extendStatics(d, b);function __(){this.constructor = d}d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __())}var ListEventRenderer = (function (_super){__extends(ListEventRenderer, _super);function ListEventRenderer(listView){var _this = _super.call(this, listView.context) || this;_this.listView = listView;return _this}ListEventRenderer.prototype.attachSegs = function (segs){if (!segs.length){this.listView.renderEmptyMessage()}else{this.listView.renderSegList(segs)}};ListEventRenderer.prototype.detachSegs = function (){};// generates the HTML for a single event row
ListEventRenderer.prototype.renderSegHtml = function (seg){var _a = this.context, view = _a.view, theme = _a.theme;var eventRange = seg.eventRange;var eventDef = eventRange.def;var eventInstance = eventRange.instance;var eventUi = eventRange.ui;var url = eventDef.url;var classes = ['fc-list-item'].concat(eventUi.classNames);var bgColor = eventUi.backgroundColor;var timeHtml;if (eventDef.allDay){timeHtml = core.getAllDayHtml(view)}else if (core.isMultiDayRange(eventRange.range)){if (seg.isStart){timeHtml = core.htmlEscape(this._getTimeText(eventInstance.range.start, seg.end, false // allDay
))}else if (seg.isEnd){timeHtml = core.htmlEscape(this._getTimeText(seg.start, eventInstance.range.end, false // allDay
))}else{// inner segment that lasts the whole day
timeHtml = core.getAllDayHtml(view)}}else{// Display the normal time text for the *event's* times
timeHtml = core.htmlEscape(this.getTimeText(eventRange))}if (url){classes.push('fc-has-url')}return '<tr class="' + classes.join(' ') + '">' +
(this.displayEventTime ?
'<td class="fc-list-item-time ' + theme.getClass('widgetContent') + '">' +
(timeHtml || '') +
'</td>' :
'') +
'<td class="fc-list-item-marker ' + theme.getClass('widgetContent') + '">' +
'<span class="fc-event-dot"' +
(bgColor ?
' style="background-color:' + bgColor + '"' :
'') +
'></span>' +
'</td>' +
'<td class="fc-list-item-title ' + theme.getClass('widgetContent') + '">' +
'<a' + (url ? ' href="' + core.htmlEscape(url) + '"' : '') + '>' +
core.htmlEscape(eventDef.title || '') +
'</a>' +
'</td>' +
'</tr>'};// like "4:00am"
ListEventRenderer.prototype.computeEventTimeFormat = function (){return{hour:'numeric',
minute: '2-digit',
meridiem: 'short'}};return ListEventRenderer}(core.FgEventRenderer));var ListView = (function (_super){__extends(ListView, _super);function ListView(context,viewSpec,dateProfileGenerator,parentEl){var _this = _super.call(this, context, viewSpec, dateProfileGenerator, parentEl) || this;_this.computeDateVars = core.memoize(computeDateVars);_this.eventStoreToSegs = core.memoize(_this._eventStoreToSegs);var eventRenderer = _this.eventRenderer = new ListEventRenderer(_this);_this.renderContent = core.memoizeRendering(eventRenderer.renderSegs.bind(eventRenderer), eventRenderer.unrender.bind(eventRenderer));_this.el.classList.add('fc-list-view');var listViewClassNames = (_this.theme.getClass('listView') || '').split(' ');// wish we didn't have to do this
for (var _i = 0, listViewClassNames_1 = listViewClassNames;_i < listViewClassNames_1.length;_i++){var listViewClassName = listViewClassNames_1[_i];if (listViewClassName){// in case input was empty string
_this.el.classList.add(listViewClassName)}}_this.scroller = new core.ScrollComponent('hidden', // overflow x
'auto' // overflow y
);_this.el.appendChild(_this.scroller.el);_this.contentEl = _this.scroller.el;// shortcut
context.calendar.registerInteractiveComponent(_this,{el:_this.el
// TODO: make aware that it doesn't do Hits});return _this}ListView.prototype.render = function (props){var _a = this.computeDateVars(props.dateProfile), dayDates = _a.dayDates, dayRanges = _a.dayRanges;this.dayDates = dayDates;this.renderContent(this.eventStoreToSegs(props.eventStore, props.eventUiBases, dayRanges))};ListView.prototype.destroy = function (){_super.prototype.destroy.call(this);this.renderContent.unrender();this.scroller.destroy();// will remove the Grid too
this.calendar.unregisterInteractiveComponent(this)};ListView.prototype.updateSize = function (isResize,viewHeight,isAuto){_super.prototype.updateSize.call(this, isResize, viewHeight, isAuto);this.eventRenderer.computeSizes(isResize);this.eventRenderer.assignSizes(isResize);this.scroller.clear();// sets height to 'auto' and clears overflow
if (!isAuto){this.scroller.setHeight(this.computeScrollerHeight(viewHeight))}};ListView.prototype.computeScrollerHeight = function (viewHeight){return viewHeight -
core.subtractInnerElHeight(this.el, this.scroller.el);// everything that's NOT the scroller};ListView.prototype._eventStoreToSegs = function (eventStore,eventUiBases,dayRanges){return this.eventRangesToSegs(core.sliceEventStore(eventStore, eventUiBases, this.props.dateProfile.activeRange, this.nextDayThreshold).fg, dayRanges)};ListView.prototype.eventRangesToSegs = function (eventRanges,dayRanges){var segs = [];for (var _i = 0, eventRanges_1 = eventRanges;_i < eventRanges_1.length;_i++){var eventRange = eventRanges_1[_i];segs.push.apply(segs, this.eventRangeToSegs(eventRange, dayRanges))}return segs};ListView.prototype.eventRangeToSegs = function (eventRange,dayRanges){var _a = this, dateEnv = _a.dateEnv, nextDayThreshold = _a.nextDayThreshold;var range = eventRange.range;var allDay = eventRange.def.allDay;var dayIndex;var segRange;var seg;var segs = [];for (dayIndex = 0;dayIndex < dayRanges.length;dayIndex++){segRange = core.intersectRanges(range, dayRanges[dayIndex]);if (segRange){seg ={component:this,
eventRange: eventRange,
start: segRange.start,
end: segRange.end,
isStart: eventRange.isStart && segRange.start.valueOf() === range.start.valueOf(),
isEnd: eventRange.isEnd && segRange.end.valueOf() === range.end.valueOf(),
dayIndex: dayIndex};segs.push(seg);// detect when range won't go fully into the next day,
// and mutate the latest seg to the be the end.
if (!seg.isEnd && !allDay &&
dayIndex + 1 < dayRanges.length &&
range.end <
dateEnv.add(dayRanges[dayIndex+1].start,nextDayThreshold)){seg.end = range.end;seg.isEnd = true;break}}}return segs};ListView.prototype.renderEmptyMessage = function (){this.contentEl.innerHTML =
'<div class="fc-list-empty-wrap2">' + // TODO: try less wraps
'<div class="fc-list-empty-wrap1">' +
'<div class="fc-list-empty">' +
core.htmlEscape(this.opt('noEventsMessage')) +
'</div>' +
'</div>' +
'</div>'};// called by ListEventRenderer
ListView.prototype.renderSegList = function (allSegs){var segsByDay = this.groupSegsByDay(allSegs);// sparse array
var dayIndex;var daySegs;var i;var tableEl = core.htmlToElement('<table class="fc-list-table ' + this.calendar.theme.getClass('tableList') + '"><tbody></tbody></table>');var tbodyEl = tableEl.querySelector('tbody');for (dayIndex = 0;dayIndex < segsByDay.length;dayIndex++){daySegs = segsByDay[dayIndex];if (daySegs){// sparse array, so might be undefined
// append a day header
tbodyEl.appendChild(this.buildDayHeaderRow(this.dayDates[dayIndex]));daySegs = this.eventRenderer.sortEventSegs(daySegs);for (i = 0;i < daySegs.length;i++){tbodyEl.appendChild(daySegs[i].el);// append event row}}}this.contentEl.innerHTML = '';this.contentEl.appendChild(tableEl)};// Returns a sparse array of arrays, segs grouped by their dayIndex
ListView.prototype.groupSegsByDay = function (segs){var segsByDay = [];// sparse array
var i;var seg;for (i = 0;i < segs.length;i++){seg = segs[i];(segsByDay[seg.dayIndex] || (segsByDay[seg.dayIndex] = []))
.push(seg)}return segsByDay};// generates the HTML for the day headers that live amongst the event rows
ListView.prototype.buildDayHeaderRow = function (dayDate){var dateEnv = this.dateEnv;var mainFormat = core.createFormatter(this.opt('listDayFormat'));// TODO: cache
var altFormat = core.createFormatter(this.opt('listDayAltFormat'));// TODO: cache
return core.createElement('tr',{className:'fc-list-heading',
'data-date': dateEnv.formatIso(dayDate,{omitTime:true})}, '<td class="' + (this.calendar.theme.getClass('tableListHeading') ||
this.calendar.theme.getClass('widgetHeader')) + '" colspan="3">' +
(mainFormat ?
core.buildGotoAnchorHtml(this, dayDate,{'class': 'fc-list-heading-main'}, core.htmlEscape(dateEnv.format(dayDate, mainFormat)) // inner HTML
) :
'') +
(altFormat ?
core.buildGotoAnchorHtml(this, dayDate,{'class': 'fc-list-heading-alt'}, core.htmlEscape(dateEnv.format(dayDate, altFormat)) // inner HTML
) :
'') +
'</td>')};return ListView}(core.View));ListView.prototype.fgSegSelector = '.fc-list-item';// which elements accept event actions
function computeDateVars(dateProfile){var dayStart = core.startOfDay(dateProfile.renderRange.start);var viewEnd = dateProfile.renderRange.end;var dayDates = [];var dayRanges = [];while (dayStart < viewEnd){dayDates.push(dayStart);dayRanges.push({start:dayStart,
end: core.addDays(dayStart, 1)});dayStart = core.addDays(dayStart,1)}return{dayDates:dayDates, dayRanges: dayRanges}}var main = core.createPlugin({views:{list:{class:ListView,
buttonTextKey: 'list',listDayFormat:{month:'long', day: 'numeric', year: 'numeric'}// like "January 1, 2016"},listDay:{type:'list',duration:{days:1},listDayFormat:{weekday:'long'}// day-of-week is all we need. full date is probably in header},listWeek:{type:'list',duration:{weeks:1},listDayFormat:{weekday:'long'},listDayAltFormat:{month:'long', day: 'numeric', year: 'numeric'}},listMonth:{type:'list',duration:{month:1},listDayAltFormat:{weekday:'long'}// day-of-week is nice-to-have},listYear:{type:'list',duration:{year:1},listDayAltFormat:{weekday:'long'}// day-of-week is nice-to-have}}});exports.ListView = ListView;exports.default = main;Object.defineProperty(exports, '__esModule',{value:true})}));