{"ast":null,"code":"import { __decorate, __metadata, __param, __rest } from 'tslib';\nimport { Input, TemplateRef, Component, ElementRef, Injector, Renderer2, ComponentFactoryResolver, ViewContainerRef, Inject, HostListener, Directive, EventEmitter, Output, Injectable, LOCALE_ID, Pipe, NgZone, InjectionToken, NgModule, ChangeDetectorRef } from '@angular/core';\nimport { DOCUMENT, formatDate, I18nPluralPipe, CommonModule } from '@angular/common';\nimport { positionElements } from 'positioning';\nimport { Subject, of, timer, Observable, BehaviorSubject, interval } from 'rxjs';\nimport { takeUntil, switchMap, startWith, switchMapTo, map } from 'rxjs/operators';\nimport { validateEvents as validateEvents$1, getMonthView, getWeekViewHeader, getWeekView } from 'calendar-utils';\nimport * as ɵngcc0 from '@angular/core';\nimport * as ɵngcc1 from '@angular/common';\nimport * as ɵngcc2 from 'angular-draggable-droppable';\nimport * as ɵngcc3 from 'angular-resizable-element';\nconst _c0 = function (a0) {\n return {\n action: a0\n };\n};\nfunction CalendarEventActionsComponent_ng_template_0_span_0_a_1_Template(rf, ctx) {\n if (rf & 1) {\n const _r10 = ɵngcc0.ɵɵgetCurrentView();\n ɵngcc0.ɵɵelementStart(0, \"a\", 5);\n ɵngcc0.ɵɵlistener(\"mwlClick\", function CalendarEventActionsComponent_ng_template_0_span_0_a_1_Template_a_mwlClick_0_listener($event) {\n const restoredCtx = ɵngcc0.ɵɵrestoreView(_r10);\n const action_r7 = restoredCtx.$implicit;\n const event_r3 = ɵngcc0.ɵɵnextContext(2).event;\n return ɵngcc0.ɵɵresetView(action_r7.onClick({\n event: event_r3,\n sourceEvent: $event\n }));\n })(\"mwlKeydownEnter\", function CalendarEventActionsComponent_ng_template_0_span_0_a_1_Template_a_mwlKeydownEnter_0_listener($event) {\n const restoredCtx = ɵngcc0.ɵɵrestoreView(_r10);\n const action_r7 = restoredCtx.$implicit;\n const event_r3 = ɵngcc0.ɵɵnextContext(2).event;\n return ɵngcc0.ɵɵresetView(action_r7.onClick({\n event: event_r3,\n sourceEvent: $event\n }));\n });\n ɵngcc0.ɵɵpipe(1, \"calendarA11y\");\n ɵngcc0.ɵɵelementEnd();\n }\n if (rf & 2) {\n const action_r7 = ctx.$implicit;\n ɵngcc0.ɵɵproperty(\"ngClass\", action_r7.cssClass)(\"innerHtml\", action_r7.label, ɵngcc0.ɵɵsanitizeHtml);\n ɵngcc0.ɵɵattribute(\"aria-label\", ɵngcc0.ɵɵpipeBind2(1, 3, ɵngcc0.ɵɵpureFunction1(6, _c0, action_r7), \"actionButtonLabel\"));\n }\n}\nfunction CalendarEventActionsComponent_ng_template_0_span_0_Template(rf, ctx) {\n if (rf & 1) {\n ɵngcc0.ɵɵelementStart(0, \"span\", 3);\n ɵngcc0.ɵɵtemplate(1, CalendarEventActionsComponent_ng_template_0_span_0_a_1_Template, 2, 8, \"a\", 4);\n ɵngcc0.ɵɵelementEnd();\n }\n if (rf & 2) {\n const ctx_r13 = ɵngcc0.ɵɵnextContext();\n const event_r3 = ctx_r13.event;\n const trackByActionId_r4 = ctx_r13.trackByActionId;\n ɵngcc0.ɵɵadvance(1);\n ɵngcc0.ɵɵproperty(\"ngForOf\", event_r3.actions)(\"ngForTrackBy\", trackByActionId_r4);\n }\n}\nfunction CalendarEventActionsComponent_ng_template_0_Template(rf, ctx) {\n if (rf & 1) {\n ɵngcc0.ɵɵtemplate(0, CalendarEventActionsComponent_ng_template_0_span_0_Template, 2, 2, \"span\", 2);\n }\n if (rf & 2) {\n const event_r3 = ctx.event;\n ɵngcc0.ɵɵproperty(\"ngIf\", event_r3.actions);\n }\n}\nfunction CalendarEventActionsComponent_ng_template_2_Template(rf, ctx) {}\nconst _c1 = function (a0, a1) {\n return {\n event: a0,\n trackByActionId: a1\n };\n};\nconst _c2 = function () {\n return {};\n};\nfunction CalendarEventTitleComponent_ng_template_0_Template(rf, ctx) {\n if (rf & 1) {\n ɵngcc0.ɵɵelement(0, \"span\", 2);\n ɵngcc0.ɵɵpipe(1, \"calendarEventTitle\");\n ɵngcc0.ɵɵpipe(2, \"calendarA11y\");\n }\n if (rf & 2) {\n const event_r3 = ctx.event;\n const view_r4 = ctx.view;\n ɵngcc0.ɵɵproperty(\"innerHTML\", ɵngcc0.ɵɵpipeBind3(1, 2, event_r3.title, view_r4, event_r3), ɵngcc0.ɵɵsanitizeHtml);\n ɵngcc0.ɵɵattribute(\"aria-hidden\", ɵngcc0.ɵɵpipeBind2(2, 6, ɵngcc0.ɵɵpureFunction0(9, _c2), \"hideEventTitle\"));\n }\n}\nfunction CalendarEventTitleComponent_ng_template_2_Template(rf, ctx) {}\nconst _c3 = function (a0, a1) {\n return {\n event: a0,\n view: a1\n };\n};\nfunction CalendarTooltipWindowComponent_ng_template_0_Template(rf, ctx) {\n if (rf & 1) {\n ɵngcc0.ɵɵelementStart(0, \"div\", 2);\n ɵngcc0.ɵɵelement(1, \"div\", 3)(2, \"div\", 4);\n ɵngcc0.ɵɵelementEnd();\n }\n if (rf & 2) {\n const contents_r3 = ctx.contents;\n const placement_r4 = ctx.placement;\n ɵngcc0.ɵɵproperty(\"ngClass\", \"cal-tooltip-\" + placement_r4);\n ɵngcc0.ɵɵadvance(2);\n ɵngcc0.ɵɵproperty(\"innerHtml\", contents_r3, ɵngcc0.ɵɵsanitizeHtml);\n }\n}\nfunction CalendarTooltipWindowComponent_ng_template_2_Template(rf, ctx) {}\nconst _c4 = function (a0, a1, a2) {\n return {\n contents: a0,\n placement: a1,\n event: a2\n };\n};\nconst _c5 = function (a0) {\n return {\n backgroundColor: a0\n };\n};\nfunction CalendarMonthViewComponent_div_3_mwl_calendar_month_cell_2_Template(rf, ctx) {\n if (rf & 1) {\n const _r5 = ɵngcc0.ɵɵgetCurrentView();\n ɵngcc0.ɵɵelementStart(0, \"mwl-calendar-month-cell\", 7);\n ɵngcc0.ɵɵlistener(\"mwlClick\", function CalendarMonthViewComponent_div_3_mwl_calendar_month_cell_2_Template_mwl_calendar_month_cell_mwlClick_0_listener($event) {\n const restoredCtx = ɵngcc0.ɵɵrestoreView(_r5);\n const day_r3 = restoredCtx.$implicit;\n const ctx_r4 = ɵngcc0.ɵɵnextContext(2);\n return ɵngcc0.ɵɵresetView(ctx_r4.dayClicked.emit({\n day: day_r3,\n sourceEvent: $event\n }));\n })(\"mwlKeydownEnter\", function CalendarMonthViewComponent_div_3_mwl_calendar_month_cell_2_Template_mwl_calendar_month_cell_mwlKeydownEnter_0_listener($event) {\n const restoredCtx = ɵngcc0.ɵɵrestoreView(_r5);\n const day_r3 = restoredCtx.$implicit;\n const ctx_r6 = ɵngcc0.ɵɵnextContext(2);\n return ɵngcc0.ɵɵresetView(ctx_r6.dayClicked.emit({\n day: day_r3,\n sourceEvent: $event\n }));\n })(\"highlightDay\", function CalendarMonthViewComponent_div_3_mwl_calendar_month_cell_2_Template_mwl_calendar_month_cell_highlightDay_0_listener($event) {\n ɵngcc0.ɵɵrestoreView(_r5);\n const ctx_r7 = ɵngcc0.ɵɵnextContext(2);\n return ɵngcc0.ɵɵresetView(ctx_r7.toggleDayHighlight($event.event, true));\n })(\"unhighlightDay\", function CalendarMonthViewComponent_div_3_mwl_calendar_month_cell_2_Template_mwl_calendar_month_cell_unhighlightDay_0_listener($event) {\n ɵngcc0.ɵɵrestoreView(_r5);\n const ctx_r8 = ɵngcc0.ɵɵnextContext(2);\n return ɵngcc0.ɵɵresetView(ctx_r8.toggleDayHighlight($event.event, false));\n })(\"drop\", function CalendarMonthViewComponent_div_3_mwl_calendar_month_cell_2_Template_mwl_calendar_month_cell_drop_0_listener($event) {\n const restoredCtx = ɵngcc0.ɵɵrestoreView(_r5);\n const day_r3 = restoredCtx.$implicit;\n const ctx_r9 = ɵngcc0.ɵɵnextContext(2);\n return ɵngcc0.ɵɵresetView(ctx_r9.eventDropped(day_r3, $event.dropData.event, $event.dropData.draggedFrom));\n })(\"eventClicked\", function CalendarMonthViewComponent_div_3_mwl_calendar_month_cell_2_Template_mwl_calendar_month_cell_eventClicked_0_listener($event) {\n ɵngcc0.ɵɵrestoreView(_r5);\n const ctx_r10 = ɵngcc0.ɵɵnextContext(2);\n return ɵngcc0.ɵɵresetView(ctx_r10.eventClicked.emit({\n event: $event.event,\n sourceEvent: $event.sourceEvent\n }));\n });\n ɵngcc0.ɵɵpipe(1, \"calendarA11y\");\n ɵngcc0.ɵɵelementEnd();\n }\n if (rf & 2) {\n const day_r3 = ctx.$implicit;\n const ctx_r2 = ɵngcc0.ɵɵnextContext(2);\n ɵngcc0.ɵɵproperty(\"ngClass\", day_r3 == null ? null : day_r3.cssClass)(\"day\", day_r3)(\"openDay\", ctx_r2.openDay)(\"locale\", ctx_r2.locale)(\"tooltipPlacement\", ctx_r2.tooltipPlacement)(\"tooltipAppendToBody\", ctx_r2.tooltipAppendToBody)(\"tooltipTemplate\", ctx_r2.tooltipTemplate)(\"tooltipDelay\", ctx_r2.tooltipDelay)(\"customTemplate\", ctx_r2.cellTemplate)(\"ngStyle\", ɵngcc0.ɵɵpureFunction1(15, _c5, day_r3.backgroundColor))(\"clickListenerDisabled\", ctx_r2.dayClicked.observers.length === 0);\n ɵngcc0.ɵɵattribute(\"tabindex\", ɵngcc0.ɵɵpipeBind2(1, 12, ɵngcc0.ɵɵpureFunction0(17, _c2), \"monthCellTabIndex\"));\n }\n}\nfunction CalendarMonthViewComponent_div_3_Template(rf, ctx) {\n if (rf & 1) {\n const _r12 = ɵngcc0.ɵɵgetCurrentView();\n ɵngcc0.ɵɵelementStart(0, \"div\")(1, \"div\", 4);\n ɵngcc0.ɵɵtemplate(2, CalendarMonthViewComponent_div_3_mwl_calendar_month_cell_2_Template, 2, 18, \"mwl-calendar-month-cell\", 5);\n ɵngcc0.ɵɵpipe(3, \"slice\");\n ɵngcc0.ɵɵelementEnd();\n ɵngcc0.ɵɵelementStart(4, \"mwl-calendar-open-day-events\", 6);\n ɵngcc0.ɵɵlistener(\"eventClicked\", function CalendarMonthViewComponent_div_3_Template_mwl_calendar_open_day_events_eventClicked_4_listener($event) {\n ɵngcc0.ɵɵrestoreView(_r12);\n const ctx_r11 = ɵngcc0.ɵɵnextContext();\n return ɵngcc0.ɵɵresetView(ctx_r11.eventClicked.emit({\n event: $event.event,\n sourceEvent: $event.sourceEvent\n }));\n })(\"drop\", function CalendarMonthViewComponent_div_3_Template_mwl_calendar_open_day_events_drop_4_listener($event) {\n ɵngcc0.ɵɵrestoreView(_r12);\n const ctx_r13 = ɵngcc0.ɵɵnextContext();\n return ɵngcc0.ɵɵresetView(ctx_r13.eventDropped(ctx_r13.openDay, $event.dropData.event, $event.dropData.draggedFrom));\n });\n ɵngcc0.ɵɵelementEnd()();\n }\n if (rf & 2) {\n const rowIndex_r1 = ctx.$implicit;\n const ctx_r0 = ɵngcc0.ɵɵnextContext();\n ɵngcc0.ɵɵadvance(2);\n ɵngcc0.ɵɵproperty(\"ngForOf\", ɵngcc0.ɵɵpipeBind3(3, 9, ctx_r0.view.days, rowIndex_r1, rowIndex_r1 + ctx_r0.view.totalDaysVisibleInWeek))(\"ngForTrackBy\", ctx_r0.trackByDate);\n ɵngcc0.ɵɵadvance(2);\n ɵngcc0.ɵɵproperty(\"locale\", ctx_r0.locale)(\"isOpen\", ctx_r0.openRowIndex === rowIndex_r1)(\"events\", ctx_r0.openDay == null ? null : ctx_r0.openDay.events)(\"date\", ctx_r0.openDay == null ? null : ctx_r0.openDay.date)(\"customTemplate\", ctx_r0.openDayEventsTemplate)(\"eventTitleTemplate\", ctx_r0.eventTitleTemplate)(\"eventActionsTemplate\", ctx_r0.eventActionsTemplate);\n }\n}\nfunction CalendarMonthViewHeaderComponent_ng_template_0_div_1_Template(rf, ctx) {\n if (rf & 1) {\n const _r9 = ɵngcc0.ɵɵgetCurrentView();\n ɵngcc0.ɵɵelementStart(0, \"div\", 4);\n ɵngcc0.ɵɵlistener(\"click\", function CalendarMonthViewHeaderComponent_ng_template_0_div_1_Template_div_click_0_listener($event) {\n const restoredCtx = ɵngcc0.ɵɵrestoreView(_r9);\n const day_r7 = restoredCtx.$implicit;\n const ctx_r8 = ɵngcc0.ɵɵnextContext(2);\n return ɵngcc0.ɵɵresetView(ctx_r8.columnHeaderClicked.emit({\n isoDayNumber: day_r7.day,\n sourceEvent: $event\n }));\n });\n ɵngcc0.ɵɵtext(1);\n ɵngcc0.ɵɵpipe(2, \"calendarDate\");\n ɵngcc0.ɵɵelementEnd();\n }\n if (rf & 2) {\n const day_r7 = ctx.$implicit;\n const locale_r4 = ɵngcc0.ɵɵnextContext().locale;\n ɵngcc0.ɵɵclassProp(\"cal-past\", day_r7.isPast)(\"cal-today\", day_r7.isToday)(\"cal-future\", day_r7.isFuture)(\"cal-weekend\", day_r7.isWeekend);\n ɵngcc0.ɵɵproperty(\"ngClass\", day_r7.cssClass);\n ɵngcc0.ɵɵadvance(1);\n ɵngcc0.ɵɵtextInterpolate1(\" \", ɵngcc0.ɵɵpipeBind3(2, 10, day_r7.date, \"monthViewColumnHeader\", locale_r4), \" \");\n }\n}\nfunction CalendarMonthViewHeaderComponent_ng_template_0_Template(rf, ctx) {\n if (rf & 1) {\n ɵngcc0.ɵɵelementStart(0, \"div\", 2);\n ɵngcc0.ɵɵtemplate(1, CalendarMonthViewHeaderComponent_ng_template_0_div_1_Template, 3, 14, \"div\", 3);\n ɵngcc0.ɵɵelementEnd();\n }\n if (rf & 2) {\n const days_r3 = ctx.days;\n const trackByWeekDayHeaderDate_r5 = ctx.trackByWeekDayHeaderDate;\n ɵngcc0.ɵɵadvance(1);\n ɵngcc0.ɵɵproperty(\"ngForOf\", days_r3)(\"ngForTrackBy\", trackByWeekDayHeaderDate_r5);\n }\n}\nfunction CalendarMonthViewHeaderComponent_ng_template_2_Template(rf, ctx) {}\nconst _c6 = function (a0, a1, a2) {\n return {\n days: a0,\n locale: a1,\n trackByWeekDayHeaderDate: a2\n };\n};\nfunction CalendarMonthCellComponent_ng_template_0_span_3_Template(rf, ctx) {\n if (rf & 1) {\n ɵngcc0.ɵɵelementStart(0, \"span\", 7);\n ɵngcc0.ɵɵtext(1);\n ɵngcc0.ɵɵelementEnd();\n }\n if (rf & 2) {\n const day_r3 = ɵngcc0.ɵɵnextContext().day;\n ɵngcc0.ɵɵadvance(1);\n ɵngcc0.ɵɵtextInterpolate(day_r3.badgeTotal);\n }\n}\nconst _c7 = function (a0, a1) {\n return {\n event: a0,\n draggedFrom: a1\n };\n};\nconst _c8 = function (a0, a1) {\n return {\n x: a0,\n y: a1\n };\n};\nconst _c9 = function () {\n return {\n delay: 300,\n delta: 30\n };\n};\nfunction CalendarMonthCellComponent_ng_template_0_div_7_div_1_Template(rf, ctx) {\n if (rf & 1) {\n const _r21 = ɵngcc0.ɵɵgetCurrentView();\n ɵngcc0.ɵɵelementStart(0, \"div\", 10);\n ɵngcc0.ɵɵlistener(\"mouseenter\", function CalendarMonthCellComponent_ng_template_0_div_7_div_1_Template_div_mouseenter_0_listener() {\n const restoredCtx = ɵngcc0.ɵɵrestoreView(_r21);\n const event_r19 = restoredCtx.$implicit;\n const highlightDay_r7 = ɵngcc0.ɵɵnextContext(2).highlightDay;\n return ɵngcc0.ɵɵresetView(highlightDay_r7.emit({\n event: event_r19\n }));\n })(\"mouseleave\", function CalendarMonthCellComponent_ng_template_0_div_7_div_1_Template_div_mouseleave_0_listener() {\n const restoredCtx = ɵngcc0.ɵɵrestoreView(_r21);\n const event_r19 = restoredCtx.$implicit;\n const unhighlightDay_r8 = ɵngcc0.ɵɵnextContext(2).unhighlightDay;\n return ɵngcc0.ɵɵresetView(unhighlightDay_r8.emit({\n event: event_r19\n }));\n })(\"mwlClick\", function CalendarMonthCellComponent_ng_template_0_div_7_div_1_Template_div_mwlClick_0_listener($event) {\n const restoredCtx = ɵngcc0.ɵɵrestoreView(_r21);\n const event_r19 = restoredCtx.$implicit;\n const eventClicked_r9 = ɵngcc0.ɵɵnextContext(2).eventClicked;\n return ɵngcc0.ɵɵresetView(eventClicked_r9.emit({\n event: event_r19,\n sourceEvent: $event\n }));\n });\n ɵngcc0.ɵɵpipe(1, \"calendarEventTitle\");\n ɵngcc0.ɵɵpipe(2, \"calendarA11y\");\n ɵngcc0.ɵɵelementEnd();\n }\n if (rf & 2) {\n const event_r19 = ctx.$implicit;\n const ctx_r27 = ɵngcc0.ɵɵnextContext(2);\n const tooltipPlacement_r6 = ctx_r27.tooltipPlacement;\n const tooltipTemplate_r10 = ctx_r27.tooltipTemplate;\n const tooltipAppendToBody_r11 = ctx_r27.tooltipAppendToBody;\n const tooltipDelay_r12 = ctx_r27.tooltipDelay;\n const day_r3 = ctx_r27.day;\n const validateDrag_r14 = ctx_r27.validateDrag;\n ɵngcc0.ɵɵclassProp(\"cal-draggable\", event_r19.draggable);\n ɵngcc0.ɵɵproperty(\"ngStyle\", ɵngcc0.ɵɵpureFunction1(22, _c5, event_r19.color == null ? null : event_r19.color.primary))(\"ngClass\", event_r19 == null ? null : event_r19.cssClass)(\"mwlCalendarTooltip\", ɵngcc0.ɵɵpipeBind3(1, 15, event_r19.title, \"monthTooltip\", event_r19))(\"tooltipPlacement\", tooltipPlacement_r6)(\"tooltipEvent\", event_r19)(\"tooltipTemplate\", tooltipTemplate_r10)(\"tooltipAppendToBody\", tooltipAppendToBody_r11)(\"tooltipDelay\", tooltipDelay_r12)(\"dropData\", ɵngcc0.ɵɵpureFunction2(24, _c7, event_r19, day_r3))(\"dragAxis\", ɵngcc0.ɵɵpureFunction2(27, _c8, event_r19.draggable, event_r19.draggable))(\"validateDrag\", validateDrag_r14)(\"touchStartLongPress\", ɵngcc0.ɵɵpureFunction0(30, _c9));\n ɵngcc0.ɵɵattribute(\"aria-hidden\", ɵngcc0.ɵɵpipeBind2(2, 19, ɵngcc0.ɵɵpureFunction0(31, _c2), \"hideMonthCellEvents\"));\n }\n}\nfunction CalendarMonthCellComponent_ng_template_0_div_7_Template(rf, ctx) {\n if (rf & 1) {\n ɵngcc0.ɵɵelementStart(0, \"div\", 8);\n ɵngcc0.ɵɵtemplate(1, CalendarMonthCellComponent_ng_template_0_div_7_div_1_Template, 3, 32, \"div\", 9);\n ɵngcc0.ɵɵelementEnd();\n }\n if (rf & 2) {\n const ctx_r28 = ɵngcc0.ɵɵnextContext();\n const day_r3 = ctx_r28.day;\n const trackByEventId_r13 = ctx_r28.trackByEventId;\n ɵngcc0.ɵɵadvance(1);\n ɵngcc0.ɵɵproperty(\"ngForOf\", day_r3.events)(\"ngForTrackBy\", trackByEventId_r13);\n }\n}\nconst _c10 = function (a0, a1) {\n return {\n day: a0,\n locale: a1\n };\n};\nfunction CalendarMonthCellComponent_ng_template_0_Template(rf, ctx) {\n if (rf & 1) {\n ɵngcc0.ɵɵelementStart(0, \"div\", 2);\n ɵngcc0.ɵɵpipe(1, \"calendarA11y\");\n ɵngcc0.ɵɵelementStart(2, \"span\", 3);\n ɵngcc0.ɵɵtemplate(3, CalendarMonthCellComponent_ng_template_0_span_3_Template, 2, 1, \"span\", 4);\n ɵngcc0.ɵɵelementStart(4, \"span\", 5);\n ɵngcc0.ɵɵtext(5);\n ɵngcc0.ɵɵpipe(6, \"calendarDate\");\n ɵngcc0.ɵɵelementEnd()()();\n ɵngcc0.ɵɵtemplate(7, CalendarMonthCellComponent_ng_template_0_div_7_Template, 2, 2, \"div\", 6);\n }\n if (rf & 2) {\n const day_r3 = ctx.day;\n const locale_r5 = ctx.locale;\n ɵngcc0.ɵɵattribute(\"aria-label\", ɵngcc0.ɵɵpipeBind2(1, 4, ɵngcc0.ɵɵpureFunction2(11, _c10, day_r3, locale_r5), \"monthCell\"));\n ɵngcc0.ɵɵadvance(3);\n ɵngcc0.ɵɵproperty(\"ngIf\", day_r3.badgeTotal > 0);\n ɵngcc0.ɵɵadvance(2);\n ɵngcc0.ɵɵtextInterpolate(ɵngcc0.ɵɵpipeBind3(6, 7, day_r3.date, \"monthViewDayNumber\", locale_r5));\n ɵngcc0.ɵɵadvance(2);\n ɵngcc0.ɵɵproperty(\"ngIf\", day_r3.events.length > 0);\n }\n}\nfunction CalendarMonthCellComponent_ng_template_2_Template(rf, ctx) {}\nconst _c11 = function (a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11) {\n return {\n day: a0,\n openDay: a1,\n locale: a2,\n tooltipPlacement: a3,\n highlightDay: a4,\n unhighlightDay: a5,\n eventClicked: a6,\n tooltipTemplate: a7,\n tooltipAppendToBody: a8,\n tooltipDelay: a9,\n trackByEventId: a10,\n validateDrag: a11\n };\n};\nconst _c12 = function (a0) {\n return {\n event: a0\n };\n};\nconst _c13 = function (a0, a1) {\n return {\n event: a0,\n locale: a1\n };\n};\nfunction CalendarOpenDayEventsComponent_ng_template_0_div_0_div_5_Template(rf, ctx) {\n if (rf & 1) {\n const _r12 = ɵngcc0.ɵɵgetCurrentView();\n ɵngcc0.ɵɵelementStart(0, \"div\", 7);\n ɵngcc0.ɵɵelement(1, \"span\", 8);\n ɵngcc0.ɵɵtext(2, \" \");\n ɵngcc0.ɵɵelementStart(3, \"mwl-calendar-event-title\", 9);\n ɵngcc0.ɵɵlistener(\"mwlClick\", function CalendarOpenDayEventsComponent_ng_template_0_div_0_div_5_Template_mwl_calendar_event_title_mwlClick_3_listener($event) {\n const restoredCtx = ɵngcc0.ɵɵrestoreView(_r12);\n const event_r10 = restoredCtx.$implicit;\n const eventClicked_r4 = ɵngcc0.ɵɵnextContext(2).eventClicked;\n return ɵngcc0.ɵɵresetView(eventClicked_r4.emit({\n event: event_r10,\n sourceEvent: $event\n }));\n })(\"mwlKeydownEnter\", function CalendarOpenDayEventsComponent_ng_template_0_div_0_div_5_Template_mwl_calendar_event_title_mwlKeydownEnter_3_listener($event) {\n const restoredCtx = ɵngcc0.ɵɵrestoreView(_r12);\n const event_r10 = restoredCtx.$implicit;\n const eventClicked_r4 = ɵngcc0.ɵɵnextContext(2).eventClicked;\n return ɵngcc0.ɵɵresetView(eventClicked_r4.emit({\n event: event_r10,\n sourceEvent: $event\n }));\n });\n ɵngcc0.ɵɵpipe(4, \"calendarA11y\");\n ɵngcc0.ɵɵelementEnd();\n ɵngcc0.ɵɵtext(5, \" \");\n ɵngcc0.ɵɵelement(6, \"mwl-calendar-event-actions\", 10);\n ɵngcc0.ɵɵelementEnd();\n }\n if (rf & 2) {\n const event_r10 = ctx.$implicit;\n const validateDrag_r7 = ɵngcc0.ɵɵnextContext(2).validateDrag;\n const ctx_r9 = ɵngcc0.ɵɵnextContext();\n ɵngcc0.ɵɵclassProp(\"cal-draggable\", event_r10.draggable);\n ɵngcc0.ɵɵproperty(\"ngClass\", event_r10 == null ? null : event_r10.cssClass)(\"dropData\", ɵngcc0.ɵɵpureFunction1(16, _c12, event_r10))(\"dragAxis\", ɵngcc0.ɵɵpureFunction2(18, _c8, event_r10.draggable, event_r10.draggable))(\"validateDrag\", validateDrag_r7)(\"touchStartLongPress\", ɵngcc0.ɵɵpureFunction0(21, _c9));\n ɵngcc0.ɵɵadvance(1);\n ɵngcc0.ɵɵproperty(\"ngStyle\", ɵngcc0.ɵɵpureFunction1(22, _c5, event_r10.color == null ? null : event_r10.color.primary));\n ɵngcc0.ɵɵadvance(2);\n ɵngcc0.ɵɵproperty(\"event\", event_r10)(\"customTemplate\", ctx_r9.eventTitleTemplate);\n ɵngcc0.ɵɵattribute(\"aria-label\", ɵngcc0.ɵɵpipeBind2(4, 13, ɵngcc0.ɵɵpureFunction2(24, _c13, event_r10, ctx_r9.locale), \"eventDescription\"));\n ɵngcc0.ɵɵadvance(3);\n ɵngcc0.ɵɵproperty(\"event\", event_r10)(\"customTemplate\", ctx_r9.eventActionsTemplate);\n }\n}\nconst _c14 = function (a0, a1) {\n return {\n date: a0,\n locale: a1\n };\n};\nfunction CalendarOpenDayEventsComponent_ng_template_0_div_0_Template(rf, ctx) {\n if (rf & 1) {\n ɵngcc0.ɵɵelementStart(0, \"div\", 3);\n ɵngcc0.ɵɵelement(1, \"span\", 4);\n ɵngcc0.ɵɵpipe(2, \"calendarA11y\");\n ɵngcc0.ɵɵelement(3, \"span\", 5);\n ɵngcc0.ɵɵpipe(4, \"calendarA11y\");\n ɵngcc0.ɵɵtemplate(5, CalendarOpenDayEventsComponent_ng_template_0_div_0_div_5_Template, 7, 27, \"div\", 6);\n ɵngcc0.ɵɵelementEnd();\n }\n if (rf & 2) {\n const ctx_r17 = ɵngcc0.ɵɵnextContext();\n const events_r3 = ctx_r17.events;\n const trackByEventId_r6 = ctx_r17.trackByEventId;\n const ctx_r8 = ɵngcc0.ɵɵnextContext();\n ɵngcc0.ɵɵproperty(\"@collapse\", undefined);\n ɵngcc0.ɵɵadvance(1);\n ɵngcc0.ɵɵattribute(\"aria-label\", ɵngcc0.ɵɵpipeBind2(2, 5, ɵngcc0.ɵɵpureFunction2(11, _c14, ctx_r8.date, ctx_r8.locale), \"openDayEventsAlert\"));\n ɵngcc0.ɵɵadvance(2);\n ɵngcc0.ɵɵattribute(\"aria-label\", ɵngcc0.ɵɵpipeBind2(4, 8, ɵngcc0.ɵɵpureFunction2(14, _c14, ctx_r8.date, ctx_r8.locale), \"openDayEventsLandmark\"));\n ɵngcc0.ɵɵadvance(2);\n ɵngcc0.ɵɵproperty(\"ngForOf\", events_r3)(\"ngForTrackBy\", trackByEventId_r6);\n }\n}\nfunction CalendarOpenDayEventsComponent_ng_template_0_Template(rf, ctx) {\n if (rf & 1) {\n ɵngcc0.ɵɵtemplate(0, CalendarOpenDayEventsComponent_ng_template_0_div_0_Template, 6, 17, \"div\", 2);\n }\n if (rf & 2) {\n const isOpen_r5 = ctx.isOpen;\n ɵngcc0.ɵɵproperty(\"ngIf\", isOpen_r5);\n }\n}\nfunction CalendarOpenDayEventsComponent_ng_template_2_Template(rf, ctx) {}\nconst _c15 = function (a0, a1, a2, a3, a4) {\n return {\n events: a0,\n eventClicked: a1,\n isOpen: a2,\n trackByEventId: a3,\n validateDrag: a4\n };\n};\nfunction CalendarWeekViewComponent_div_2_div_4_Template(rf, ctx) {\n if (rf & 1) {\n const _r9 = ɵngcc0.ɵɵgetCurrentView();\n ɵngcc0.ɵɵelementStart(0, \"div\", 13);\n ɵngcc0.ɵɵlistener(\"drop\", function CalendarWeekViewComponent_div_2_div_4_Template_div_drop_0_listener($event) {\n const restoredCtx = ɵngcc0.ɵɵrestoreView(_r9);\n const day_r7 = restoredCtx.$implicit;\n const ctx_r8 = ɵngcc0.ɵɵnextContext(2);\n return ɵngcc0.ɵɵresetView(ctx_r8.eventDropped($event, day_r7.date, true));\n })(\"dragEnter\", function CalendarWeekViewComponent_div_2_div_4_Template_div_dragEnter_0_listener() {\n const restoredCtx = ɵngcc0.ɵɵrestoreView(_r9);\n const day_r7 = restoredCtx.$implicit;\n const ctx_r10 = ɵngcc0.ɵɵnextContext(2);\n return ɵngcc0.ɵɵresetView(ctx_r10.dateDragEnter(day_r7.date));\n });\n ɵngcc0.ɵɵelementEnd();\n }\n}\nconst _c16 = function () {\n return {\n left: true\n };\n};\nfunction CalendarWeekViewComponent_div_2_div_5_div_2_div_2_Template(rf, ctx) {\n if (rf & 1) {\n ɵngcc0.ɵɵelement(0, \"div\", 22);\n }\n if (rf & 2) {\n ɵngcc0.ɵɵproperty(\"resizeEdges\", ɵngcc0.ɵɵpureFunction0(1, _c16));\n }\n}\nconst _c17 = function () {\n return {\n right: true\n };\n};\nfunction CalendarWeekViewComponent_div_2_div_5_div_2_div_4_Template(rf, ctx) {\n if (rf & 1) {\n ɵngcc0.ɵɵelement(0, \"div\", 23);\n }\n if (rf & 2) {\n ɵngcc0.ɵɵproperty(\"resizeEdges\", ɵngcc0.ɵɵpureFunction0(1, _c17));\n }\n}\nconst _c18 = function (a0, a1) {\n return {\n left: a0,\n right: a1\n };\n};\nconst _c19 = function (a0, a1) {\n return {\n event: a0,\n calendarId: a1\n };\n};\nconst _c20 = function (a0) {\n return {\n x: a0\n };\n};\nfunction CalendarWeekViewComponent_div_2_div_5_div_2_Template(rf, ctx) {\n if (rf & 1) {\n const _r19 = ɵngcc0.ɵɵgetCurrentView();\n ɵngcc0.ɵɵelementStart(0, \"div\", 17, 18);\n ɵngcc0.ɵɵlistener(\"resizeStart\", function CalendarWeekViewComponent_div_2_div_5_div_2_Template_div_resizeStart_0_listener($event) {\n const restoredCtx = ɵngcc0.ɵɵrestoreView(_r19);\n const allDayEvent_r14 = restoredCtx.$implicit;\n ɵngcc0.ɵɵnextContext();\n const _r12 = ɵngcc0.ɵɵreference(1);\n const ctx_r18 = ɵngcc0.ɵɵnextContext(2);\n return ɵngcc0.ɵɵresetView(ctx_r18.allDayEventResizeStarted(_r12, allDayEvent_r14, $event));\n })(\"resizing\", function CalendarWeekViewComponent_div_2_div_5_div_2_Template_div_resizing_0_listener($event) {\n const restoredCtx = ɵngcc0.ɵɵrestoreView(_r19);\n const allDayEvent_r14 = restoredCtx.$implicit;\n const ctx_r20 = ɵngcc0.ɵɵnextContext(3);\n return ɵngcc0.ɵɵresetView(ctx_r20.allDayEventResizing(allDayEvent_r14, $event, ctx_r20.dayColumnWidth));\n })(\"resizeEnd\", function CalendarWeekViewComponent_div_2_div_5_div_2_Template_div_resizeEnd_0_listener() {\n const restoredCtx = ɵngcc0.ɵɵrestoreView(_r19);\n const allDayEvent_r14 = restoredCtx.$implicit;\n const ctx_r21 = ɵngcc0.ɵɵnextContext(3);\n return ɵngcc0.ɵɵresetView(ctx_r21.allDayEventResizeEnded(allDayEvent_r14));\n })(\"dragStart\", function CalendarWeekViewComponent_div_2_div_5_div_2_Template_div_dragStart_0_listener() {\n ɵngcc0.ɵɵrestoreView(_r19);\n const _r15 = ɵngcc0.ɵɵreference(1);\n ɵngcc0.ɵɵnextContext();\n const _r12 = ɵngcc0.ɵɵreference(1);\n const ctx_r22 = ɵngcc0.ɵɵnextContext(2);\n return ɵngcc0.ɵɵresetView(ctx_r22.dragStarted(_r12, _r15));\n })(\"dragging\", function CalendarWeekViewComponent_div_2_div_5_div_2_Template_div_dragging_0_listener() {\n ɵngcc0.ɵɵrestoreView(_r19);\n const ctx_r23 = ɵngcc0.ɵɵnextContext(3);\n return ɵngcc0.ɵɵresetView(ctx_r23.allDayEventDragMove());\n })(\"dragEnd\", function CalendarWeekViewComponent_div_2_div_5_div_2_Template_div_dragEnd_0_listener($event) {\n const restoredCtx = ɵngcc0.ɵɵrestoreView(_r19);\n const allDayEvent_r14 = restoredCtx.$implicit;\n const ctx_r24 = ɵngcc0.ɵɵnextContext(3);\n return ɵngcc0.ɵɵresetView(ctx_r24.dragEnded(allDayEvent_r14, $event, ctx_r24.dayColumnWidth));\n });\n ɵngcc0.ɵɵtemplate(2, CalendarWeekViewComponent_div_2_div_5_div_2_div_2_Template, 1, 2, \"div\", 19);\n ɵngcc0.ɵɵelementStart(3, \"mwl-calendar-week-view-event\", 20);\n ɵngcc0.ɵɵlistener(\"eventClicked\", function CalendarWeekViewComponent_div_2_div_5_div_2_Template_mwl_calendar_week_view_event_eventClicked_3_listener($event) {\n const restoredCtx = ɵngcc0.ɵɵrestoreView(_r19);\n const allDayEvent_r14 = restoredCtx.$implicit;\n const ctx_r25 = ɵngcc0.ɵɵnextContext(3);\n return ɵngcc0.ɵɵresetView(ctx_r25.eventClicked.emit({\n event: allDayEvent_r14.event,\n sourceEvent: $event.sourceEvent\n }));\n });\n ɵngcc0.ɵɵelementEnd();\n ɵngcc0.ɵɵtemplate(4, CalendarWeekViewComponent_div_2_div_5_div_2_div_4_Template, 1, 2, \"div\", 21);\n ɵngcc0.ɵɵelementEnd();\n }\n if (rf & 2) {\n const allDayEvent_r14 = ctx.$implicit;\n const ctx_r13 = ɵngcc0.ɵɵnextContext(3);\n ɵngcc0.ɵɵstyleProp(\"width\", 100 / ctx_r13.days.length * allDayEvent_r14.span, \"%\")(\"margin-left\", 100 / ctx_r13.days.length * allDayEvent_r14.offset, \"%\");\n ɵngcc0.ɵɵclassProp(\"cal-draggable\", allDayEvent_r14.event.draggable && ctx_r13.allDayEventResizes.size === 0)(\"cal-starts-within-week\", !allDayEvent_r14.startsBeforeWeek)(\"cal-ends-within-week\", !allDayEvent_r14.endsAfterWeek);\n ɵngcc0.ɵɵproperty(\"ngClass\", allDayEvent_r14.event == null ? null : allDayEvent_r14.event.cssClass)(\"resizeSnapGrid\", ɵngcc0.ɵɵpureFunction2(30, _c18, ctx_r13.dayColumnWidth, ctx_r13.dayColumnWidth))(\"validateResize\", ctx_r13.validateResize)(\"dropData\", ɵngcc0.ɵɵpureFunction2(33, _c19, allDayEvent_r14.event, ctx_r13.calendarId))(\"dragAxis\", ɵngcc0.ɵɵpureFunction2(36, _c8, allDayEvent_r14.event.draggable && ctx_r13.allDayEventResizes.size === 0, !ctx_r13.snapDraggedEvents && allDayEvent_r14.event.draggable && ctx_r13.allDayEventResizes.size === 0))(\"dragSnapGrid\", ctx_r13.snapDraggedEvents ? ɵngcc0.ɵɵpureFunction1(39, _c20, ctx_r13.dayColumnWidth) : ɵngcc0.ɵɵpureFunction0(41, _c2))(\"validateDrag\", ctx_r13.validateDrag)(\"touchStartLongPress\", ɵngcc0.ɵɵpureFunction0(42, _c9));\n ɵngcc0.ɵɵadvance(2);\n ɵngcc0.ɵɵproperty(\"ngIf\", (allDayEvent_r14.event == null ? null : allDayEvent_r14.event.resizable == null ? null : allDayEvent_r14.event.resizable.beforeStart) && !allDayEvent_r14.startsBeforeWeek);\n ɵngcc0.ɵɵadvance(1);\n ɵngcc0.ɵɵproperty(\"locale\", ctx_r13.locale)(\"weekEvent\", allDayEvent_r14)(\"tooltipPlacement\", ctx_r13.tooltipPlacement)(\"tooltipTemplate\", ctx_r13.tooltipTemplate)(\"tooltipAppendToBody\", ctx_r13.tooltipAppendToBody)(\"tooltipDelay\", ctx_r13.tooltipDelay)(\"customTemplate\", ctx_r13.eventTemplate)(\"eventTitleTemplate\", ctx_r13.eventTitleTemplate)(\"eventActionsTemplate\", ctx_r13.eventActionsTemplate)(\"daysInWeek\", ctx_r13.daysInWeek);\n ɵngcc0.ɵɵadvance(1);\n ɵngcc0.ɵɵproperty(\"ngIf\", (allDayEvent_r14.event == null ? null : allDayEvent_r14.event.resizable == null ? null : allDayEvent_r14.event.resizable.afterEnd) && !allDayEvent_r14.endsAfterWeek);\n }\n}\nfunction CalendarWeekViewComponent_div_2_div_5_Template(rf, ctx) {\n if (rf & 1) {\n ɵngcc0.ɵɵelementStart(0, \"div\", 14, 15);\n ɵngcc0.ɵɵtemplate(2, CalendarWeekViewComponent_div_2_div_5_div_2_Template, 5, 43, \"div\", 16);\n ɵngcc0.ɵɵelementEnd();\n }\n if (rf & 2) {\n const eventRow_r11 = ctx.$implicit;\n const ctx_r6 = ɵngcc0.ɵɵnextContext(2);\n ɵngcc0.ɵɵadvance(2);\n ɵngcc0.ɵɵproperty(\"ngForOf\", eventRow_r11.row)(\"ngForTrackBy\", ctx_r6.trackByWeekAllDayEvent);\n }\n}\nfunction CalendarWeekViewComponent_div_2_Template(rf, ctx) {\n if (rf & 1) {\n const _r27 = ɵngcc0.ɵɵgetCurrentView();\n ɵngcc0.ɵɵelementStart(0, \"div\", 8, 9);\n ɵngcc0.ɵɵlistener(\"dragEnter\", function CalendarWeekViewComponent_div_2_Template_div_dragEnter_0_listener() {\n ɵngcc0.ɵɵrestoreView(_r27);\n const ctx_r26 = ɵngcc0.ɵɵnextContext();\n return ɵngcc0.ɵɵresetView(ctx_r26.dragEnter(\"allDay\"));\n })(\"dragLeave\", function CalendarWeekViewComponent_div_2_Template_div_dragLeave_0_listener() {\n ɵngcc0.ɵɵrestoreView(_r27);\n const ctx_r28 = ɵngcc0.ɵɵnextContext();\n return ɵngcc0.ɵɵresetView(ctx_r28.dragLeave(\"allDay\"));\n });\n ɵngcc0.ɵɵelementStart(2, \"div\", 5);\n ɵngcc0.ɵɵelement(3, \"div\", 10);\n ɵngcc0.ɵɵtemplate(4, CalendarWeekViewComponent_div_2_div_4_Template, 1, 0, \"div\", 11);\n ɵngcc0.ɵɵelementEnd();\n ɵngcc0.ɵɵtemplate(5, CalendarWeekViewComponent_div_2_div_5_Template, 3, 2, \"div\", 12);\n ɵngcc0.ɵɵelementEnd();\n }\n if (rf & 2) {\n const ctx_r0 = ɵngcc0.ɵɵnextContext();\n ɵngcc0.ɵɵadvance(3);\n ɵngcc0.ɵɵproperty(\"ngTemplateOutlet\", ctx_r0.allDayEventsLabelTemplate);\n ɵngcc0.ɵɵadvance(1);\n ɵngcc0.ɵɵproperty(\"ngForOf\", ctx_r0.days)(\"ngForTrackBy\", ctx_r0.trackByWeekDayHeaderDate);\n ɵngcc0.ɵɵadvance(1);\n ɵngcc0.ɵɵproperty(\"ngForOf\", ctx_r0.view.allDayEventRows)(\"ngForTrackBy\", ctx_r0.trackById);\n }\n}\nfunction CalendarWeekViewComponent_div_4_div_1_mwl_calendar_week_view_hour_segment_1_Template(rf, ctx) {\n if (rf & 1) {\n ɵngcc0.ɵɵelement(0, \"mwl-calendar-week-view-hour-segment\", 28);\n }\n if (rf & 2) {\n const segment_r33 = ctx.$implicit;\n const ctx_r32 = ɵngcc0.ɵɵnextContext(3);\n ɵngcc0.ɵɵstyleProp(\"height\", ctx_r32.hourSegmentHeight, \"px\");\n ɵngcc0.ɵɵproperty(\"segment\", segment_r33)(\"segmentHeight\", ctx_r32.hourSegmentHeight)(\"locale\", ctx_r32.locale)(\"customTemplate\", ctx_r32.hourSegmentTemplate)(\"isTimeLabel\", true)(\"daysInWeek\", ctx_r32.daysInWeek);\n }\n}\nfunction CalendarWeekViewComponent_div_4_div_1_Template(rf, ctx) {\n if (rf & 1) {\n ɵngcc0.ɵɵelementStart(0, \"div\", 26);\n ɵngcc0.ɵɵtemplate(1, CalendarWeekViewComponent_div_4_div_1_mwl_calendar_week_view_hour_segment_1_Template, 1, 8, \"mwl-calendar-week-view-hour-segment\", 27);\n ɵngcc0.ɵɵelementEnd();\n }\n if (rf & 2) {\n const hour_r30 = ctx.$implicit;\n const odd_r31 = ctx.odd;\n const ctx_r29 = ɵngcc0.ɵɵnextContext(2);\n ɵngcc0.ɵɵclassProp(\"cal-hour-odd\", odd_r31);\n ɵngcc0.ɵɵadvance(1);\n ɵngcc0.ɵɵproperty(\"ngForOf\", hour_r30.segments)(\"ngForTrackBy\", ctx_r29.trackByHourSegment);\n }\n}\nfunction CalendarWeekViewComponent_div_4_Template(rf, ctx) {\n if (rf & 1) {\n ɵngcc0.ɵɵelementStart(0, \"div\", 24);\n ɵngcc0.ɵɵtemplate(1, CalendarWeekViewComponent_div_4_div_1_Template, 2, 4, \"div\", 25);\n ɵngcc0.ɵɵelementEnd();\n }\n if (rf & 2) {\n const ctx_r1 = ɵngcc0.ɵɵnextContext();\n ɵngcc0.ɵɵadvance(1);\n ɵngcc0.ɵɵproperty(\"ngForOf\", ctx_r1.view.hourColumns[0].hours)(\"ngForTrackBy\", ctx_r1.trackByHour);\n }\n}\nconst _c21 = function () {\n return {\n left: true,\n top: true\n };\n};\nfunction CalendarWeekViewComponent_div_7_div_3_div_2_Template(rf, ctx) {\n if (rf & 1) {\n ɵngcc0.ɵɵelement(0, \"div\", 22);\n }\n if (rf & 2) {\n ɵngcc0.ɵɵproperty(\"resizeEdges\", ɵngcc0.ɵɵpureFunction0(1, _c21));\n }\n}\nfunction CalendarWeekViewComponent_div_7_div_3_ng_template_3_Template(rf, ctx) {}\nfunction CalendarWeekViewComponent_div_7_div_3_ng_template_4_Template(rf, ctx) {\n if (rf & 1) {\n const _r46 = ɵngcc0.ɵɵgetCurrentView();\n ɵngcc0.ɵɵelementStart(0, \"mwl-calendar-week-view-event\", 36);\n ɵngcc0.ɵɵlistener(\"eventClicked\", function CalendarWeekViewComponent_div_7_div_3_ng_template_4_Template_mwl_calendar_week_view_event_eventClicked_0_listener($event) {\n ɵngcc0.ɵɵrestoreView(_r46);\n const timeEvent_r37 = ɵngcc0.ɵɵnextContext().$implicit;\n const ctx_r44 = ɵngcc0.ɵɵnextContext(2);\n return ɵngcc0.ɵɵresetView(ctx_r44.eventClicked.emit({\n event: timeEvent_r37.event,\n sourceEvent: $event.sourceEvent\n }));\n });\n ɵngcc0.ɵɵelementEnd();\n }\n if (rf & 2) {\n const timeEvent_r37 = ɵngcc0.ɵɵnextContext().$implicit;\n const column_r34 = ɵngcc0.ɵɵnextContext().$implicit;\n const ctx_r42 = ɵngcc0.ɵɵnextContext();\n ɵngcc0.ɵɵproperty(\"locale\", ctx_r42.locale)(\"weekEvent\", timeEvent_r37)(\"tooltipPlacement\", ctx_r42.tooltipPlacement)(\"tooltipTemplate\", ctx_r42.tooltipTemplate)(\"tooltipAppendToBody\", ctx_r42.tooltipAppendToBody)(\"tooltipDisabled\", ctx_r42.dragActive || ctx_r42.timeEventResizes.size > 0)(\"tooltipDelay\", ctx_r42.tooltipDelay)(\"customTemplate\", ctx_r42.eventTemplate)(\"eventTitleTemplate\", ctx_r42.eventTitleTemplate)(\"eventActionsTemplate\", ctx_r42.eventActionsTemplate)(\"column\", column_r34)(\"daysInWeek\", ctx_r42.daysInWeek);\n }\n}\nconst _c22 = function () {\n return {\n right: true,\n bottom: true\n };\n};\nfunction CalendarWeekViewComponent_div_7_div_3_div_6_Template(rf, ctx) {\n if (rf & 1) {\n ɵngcc0.ɵɵelement(0, \"div\", 23);\n }\n if (rf & 2) {\n ɵngcc0.ɵɵproperty(\"resizeEdges\", ɵngcc0.ɵɵpureFunction0(1, _c22));\n }\n}\nconst _c23 = function (a0, a1, a2, a3) {\n return {\n left: a0,\n right: a1,\n top: a2,\n bottom: a3\n };\n};\nfunction CalendarWeekViewComponent_div_7_div_3_Template(rf, ctx) {\n if (rf & 1) {\n const _r50 = ɵngcc0.ɵɵgetCurrentView();\n ɵngcc0.ɵɵelementStart(0, \"div\", 33, 18);\n ɵngcc0.ɵɵlistener(\"resizeStart\", function CalendarWeekViewComponent_div_7_div_3_Template_div_resizeStart_0_listener($event) {\n const restoredCtx = ɵngcc0.ɵɵrestoreView(_r50);\n const timeEvent_r37 = restoredCtx.$implicit;\n const ctx_r49 = ɵngcc0.ɵɵnextContext(2);\n const _r2 = ɵngcc0.ɵɵreference(6);\n return ɵngcc0.ɵɵresetView(ctx_r49.timeEventResizeStarted(_r2, timeEvent_r37, $event));\n })(\"resizing\", function CalendarWeekViewComponent_div_7_div_3_Template_div_resizing_0_listener($event) {\n const restoredCtx = ɵngcc0.ɵɵrestoreView(_r50);\n const timeEvent_r37 = restoredCtx.$implicit;\n const ctx_r51 = ɵngcc0.ɵɵnextContext(2);\n return ɵngcc0.ɵɵresetView(ctx_r51.timeEventResizing(timeEvent_r37, $event));\n })(\"resizeEnd\", function CalendarWeekViewComponent_div_7_div_3_Template_div_resizeEnd_0_listener() {\n const restoredCtx = ɵngcc0.ɵɵrestoreView(_r50);\n const timeEvent_r37 = restoredCtx.$implicit;\n const ctx_r52 = ɵngcc0.ɵɵnextContext(2);\n return ɵngcc0.ɵɵresetView(ctx_r52.timeEventResizeEnded(timeEvent_r37));\n })(\"dragStart\", function CalendarWeekViewComponent_div_7_div_3_Template_div_dragStart_0_listener() {\n const restoredCtx = ɵngcc0.ɵɵrestoreView(_r50);\n const timeEvent_r37 = restoredCtx.$implicit;\n const _r38 = ɵngcc0.ɵɵreference(1);\n const ctx_r53 = ɵngcc0.ɵɵnextContext(2);\n const _r2 = ɵngcc0.ɵɵreference(6);\n return ɵngcc0.ɵɵresetView(ctx_r53.dragStarted(_r2, _r38, timeEvent_r37));\n })(\"dragging\", function CalendarWeekViewComponent_div_7_div_3_Template_div_dragging_0_listener($event) {\n const restoredCtx = ɵngcc0.ɵɵrestoreView(_r50);\n const timeEvent_r37 = restoredCtx.$implicit;\n const ctx_r54 = ɵngcc0.ɵɵnextContext(2);\n return ɵngcc0.ɵɵresetView(ctx_r54.dragMove(timeEvent_r37, $event));\n })(\"dragEnd\", function CalendarWeekViewComponent_div_7_div_3_Template_div_dragEnd_0_listener($event) {\n const restoredCtx = ɵngcc0.ɵɵrestoreView(_r50);\n const timeEvent_r37 = restoredCtx.$implicit;\n const ctx_r55 = ɵngcc0.ɵɵnextContext(2);\n return ɵngcc0.ɵɵresetView(ctx_r55.dragEnded(timeEvent_r37, $event, ctx_r55.dayColumnWidth, true));\n });\n ɵngcc0.ɵɵtemplate(2, CalendarWeekViewComponent_div_7_div_3_div_2_Template, 1, 2, \"div\", 19);\n ɵngcc0.ɵɵtemplate(3, CalendarWeekViewComponent_div_7_div_3_ng_template_3_Template, 0, 0, \"ng-template\", 34);\n ɵngcc0.ɵɵtemplate(4, CalendarWeekViewComponent_div_7_div_3_ng_template_4_Template, 1, 12, \"ng-template\", null, 35, ɵngcc0.ɵɵtemplateRefExtractor);\n ɵngcc0.ɵɵtemplate(6, CalendarWeekViewComponent_div_7_div_3_div_6_Template, 1, 2, \"div\", 21);\n ɵngcc0.ɵɵelementEnd();\n }\n if (rf & 2) {\n const timeEvent_r37 = ctx.$implicit;\n const _r41 = ɵngcc0.ɵɵreference(5);\n const ctx_r35 = ɵngcc0.ɵɵnextContext(2);\n ɵngcc0.ɵɵstyleProp(\"top\", timeEvent_r37.top, \"px\")(\"height\", timeEvent_r37.height, \"px\")(\"left\", timeEvent_r37.left, \"%\")(\"width\", timeEvent_r37.width, \"%\");\n ɵngcc0.ɵɵclassProp(\"cal-draggable\", timeEvent_r37.event.draggable && ctx_r35.timeEventResizes.size === 0)(\"cal-starts-within-day\", !timeEvent_r37.startsBeforeDay)(\"cal-ends-within-day\", !timeEvent_r37.endsAfterDay);\n ɵngcc0.ɵɵproperty(\"ngClass\", timeEvent_r37.event.cssClass)(\"hidden\", timeEvent_r37.height === 0 && timeEvent_r37.width === 0)(\"resizeSnapGrid\", ɵngcc0.ɵɵpureFunction4(29, _c23, ctx_r35.dayColumnWidth, ctx_r35.dayColumnWidth, ctx_r35.eventSnapSize || ctx_r35.hourSegmentHeight, ctx_r35.eventSnapSize || ctx_r35.hourSegmentHeight))(\"validateResize\", ctx_r35.validateResize)(\"allowNegativeResizes\", true)(\"dropData\", ɵngcc0.ɵɵpureFunction2(34, _c19, timeEvent_r37.event, ctx_r35.calendarId))(\"dragAxis\", ɵngcc0.ɵɵpureFunction2(37, _c8, timeEvent_r37.event.draggable && ctx_r35.timeEventResizes.size === 0, timeEvent_r37.event.draggable && ctx_r35.timeEventResizes.size === 0))(\"dragSnapGrid\", ctx_r35.snapDraggedEvents ? ɵngcc0.ɵɵpureFunction2(40, _c8, ctx_r35.dayColumnWidth, ctx_r35.eventSnapSize || ctx_r35.hourSegmentHeight) : ɵngcc0.ɵɵpureFunction0(43, _c2))(\"touchStartLongPress\", ɵngcc0.ɵɵpureFunction0(44, _c9))(\"ghostDragEnabled\", !ctx_r35.snapDraggedEvents)(\"ghostElementTemplate\", _r41)(\"validateDrag\", ctx_r35.validateDrag);\n ɵngcc0.ɵɵadvance(2);\n ɵngcc0.ɵɵproperty(\"ngIf\", (timeEvent_r37.event == null ? null : timeEvent_r37.event.resizable == null ? null : timeEvent_r37.event.resizable.beforeStart) && !timeEvent_r37.startsBeforeDay);\n ɵngcc0.ɵɵadvance(1);\n ɵngcc0.ɵɵproperty(\"ngTemplateOutlet\", _r41);\n ɵngcc0.ɵɵadvance(3);\n ɵngcc0.ɵɵproperty(\"ngIf\", (timeEvent_r37.event == null ? null : timeEvent_r37.event.resizable == null ? null : timeEvent_r37.event.resizable.afterEnd) && !timeEvent_r37.endsAfterDay);\n }\n}\nfunction CalendarWeekViewComponent_div_7_div_4_mwl_calendar_week_view_hour_segment_1_Template(rf, ctx) {\n if (rf & 1) {\n const _r61 = ɵngcc0.ɵɵgetCurrentView();\n ɵngcc0.ɵɵelementStart(0, \"mwl-calendar-week-view-hour-segment\", 38);\n ɵngcc0.ɵɵlistener(\"mwlClick\", function CalendarWeekViewComponent_div_7_div_4_mwl_calendar_week_view_hour_segment_1_Template_mwl_calendar_week_view_hour_segment_mwlClick_0_listener($event) {\n const restoredCtx = ɵngcc0.ɵɵrestoreView(_r61);\n const segment_r59 = restoredCtx.$implicit;\n const ctx_r60 = ɵngcc0.ɵɵnextContext(3);\n return ɵngcc0.ɵɵresetView(ctx_r60.hourSegmentClicked.emit({\n date: segment_r59.date,\n sourceEvent: $event\n }));\n })(\"drop\", function CalendarWeekViewComponent_div_7_div_4_mwl_calendar_week_view_hour_segment_1_Template_mwl_calendar_week_view_hour_segment_drop_0_listener($event) {\n const restoredCtx = ɵngcc0.ɵɵrestoreView(_r61);\n const segment_r59 = restoredCtx.$implicit;\n const ctx_r62 = ɵngcc0.ɵɵnextContext(3);\n return ɵngcc0.ɵɵresetView(ctx_r62.eventDropped($event, segment_r59.date, false));\n })(\"dragEnter\", function CalendarWeekViewComponent_div_7_div_4_mwl_calendar_week_view_hour_segment_1_Template_mwl_calendar_week_view_hour_segment_dragEnter_0_listener() {\n const restoredCtx = ɵngcc0.ɵɵrestoreView(_r61);\n const segment_r59 = restoredCtx.$implicit;\n const ctx_r63 = ɵngcc0.ɵɵnextContext(3);\n return ɵngcc0.ɵɵresetView(ctx_r63.dateDragEnter(segment_r59.date));\n });\n ɵngcc0.ɵɵelementEnd();\n }\n if (rf & 2) {\n const segment_r59 = ctx.$implicit;\n const ctx_r58 = ɵngcc0.ɵɵnextContext(3);\n ɵngcc0.ɵɵstyleProp(\"height\", ctx_r58.hourSegmentHeight, \"px\");\n ɵngcc0.ɵɵproperty(\"segment\", segment_r59)(\"segmentHeight\", ctx_r58.hourSegmentHeight)(\"locale\", ctx_r58.locale)(\"customTemplate\", ctx_r58.hourSegmentTemplate)(\"daysInWeek\", ctx_r58.daysInWeek)(\"clickListenerDisabled\", ctx_r58.hourSegmentClicked.observers.length === 0)(\"dragOverClass\", !ctx_r58.dragActive || !ctx_r58.snapDraggedEvents ? \"cal-drag-over\" : null)(\"isTimeLabel\", ctx_r58.daysInWeek === 1);\n }\n}\nfunction CalendarWeekViewComponent_div_7_div_4_Template(rf, ctx) {\n if (rf & 1) {\n ɵngcc0.ɵɵelementStart(0, \"div\", 26);\n ɵngcc0.ɵɵtemplate(1, CalendarWeekViewComponent_div_7_div_4_mwl_calendar_week_view_hour_segment_1_Template, 1, 10, \"mwl-calendar-week-view-hour-segment\", 37);\n ɵngcc0.ɵɵelementEnd();\n }\n if (rf & 2) {\n const hour_r56 = ctx.$implicit;\n const odd_r57 = ctx.odd;\n const ctx_r36 = ɵngcc0.ɵɵnextContext(2);\n ɵngcc0.ɵɵclassProp(\"cal-hour-odd\", odd_r57);\n ɵngcc0.ɵɵadvance(1);\n ɵngcc0.ɵɵproperty(\"ngForOf\", hour_r56.segments)(\"ngForTrackBy\", ctx_r36.trackByHourSegment);\n }\n}\nfunction CalendarWeekViewComponent_div_7_Template(rf, ctx) {\n if (rf & 1) {\n ɵngcc0.ɵɵelementStart(0, \"div\", 29);\n ɵngcc0.ɵɵelement(1, \"mwl-calendar-week-view-current-time-marker\", 30);\n ɵngcc0.ɵɵelementStart(2, \"div\", 31);\n ɵngcc0.ɵɵtemplate(3, CalendarWeekViewComponent_div_7_div_3_Template, 7, 45, \"div\", 32);\n ɵngcc0.ɵɵelementEnd();\n ɵngcc0.ɵɵtemplate(4, CalendarWeekViewComponent_div_7_div_4_Template, 2, 4, \"div\", 25);\n ɵngcc0.ɵɵelementEnd();\n }\n if (rf & 2) {\n const column_r34 = ctx.$implicit;\n const ctx_r3 = ɵngcc0.ɵɵnextContext();\n ɵngcc0.ɵɵadvance(1);\n ɵngcc0.ɵɵproperty(\"columnDate\", column_r34.date)(\"dayStartHour\", ctx_r3.dayStartHour)(\"dayStartMinute\", ctx_r3.dayStartMinute)(\"dayEndHour\", ctx_r3.dayEndHour)(\"dayEndMinute\", ctx_r3.dayEndMinute)(\"hourSegments\", ctx_r3.hourSegments)(\"hourSegmentHeight\", ctx_r3.hourSegmentHeight)(\"customTemplate\", ctx_r3.currentTimeMarkerTemplate);\n ɵngcc0.ɵɵadvance(2);\n ɵngcc0.ɵɵproperty(\"ngForOf\", column_r34.events)(\"ngForTrackBy\", ctx_r3.trackByWeekTimeEvent);\n ɵngcc0.ɵɵadvance(1);\n ɵngcc0.ɵɵproperty(\"ngForOf\", column_r34.hours)(\"ngForTrackBy\", ctx_r3.trackByHour);\n }\n}\nfunction CalendarWeekViewHeaderComponent_ng_template_0_div_1_Template(rf, ctx) {\n if (rf & 1) {\n const _r12 = ɵngcc0.ɵɵgetCurrentView();\n ɵngcc0.ɵɵelementStart(0, \"div\", 4);\n ɵngcc0.ɵɵlistener(\"mwlClick\", function CalendarWeekViewHeaderComponent_ng_template_0_div_1_Template_div_mwlClick_0_listener($event) {\n const restoredCtx = ɵngcc0.ɵɵrestoreView(_r12);\n const day_r10 = restoredCtx.$implicit;\n const dayHeaderClicked_r5 = ɵngcc0.ɵɵnextContext().dayHeaderClicked;\n return ɵngcc0.ɵɵresetView(dayHeaderClicked_r5.emit({\n day: day_r10,\n sourceEvent: $event\n }));\n })(\"drop\", function CalendarWeekViewHeaderComponent_ng_template_0_div_1_Template_div_drop_0_listener($event) {\n const restoredCtx = ɵngcc0.ɵɵrestoreView(_r12);\n const day_r10 = restoredCtx.$implicit;\n const eventDropped_r6 = ɵngcc0.ɵɵnextContext().eventDropped;\n return ɵngcc0.ɵɵresetView(eventDropped_r6.emit({\n event: $event.dropData.event,\n newStart: day_r10.date\n }));\n })(\"dragEnter\", function CalendarWeekViewHeaderComponent_ng_template_0_div_1_Template_div_dragEnter_0_listener() {\n const restoredCtx = ɵngcc0.ɵɵrestoreView(_r12);\n const day_r10 = restoredCtx.$implicit;\n const dragEnter_r8 = ɵngcc0.ɵɵnextContext().dragEnter;\n return ɵngcc0.ɵɵresetView(dragEnter_r8.emit({\n date: day_r10.date\n }));\n });\n ɵngcc0.ɵɵelementStart(1, \"b\");\n ɵngcc0.ɵɵtext(2);\n ɵngcc0.ɵɵpipe(3, \"calendarDate\");\n ɵngcc0.ɵɵelementEnd();\n ɵngcc0.ɵɵelement(4, \"br\");\n ɵngcc0.ɵɵelementStart(5, \"span\");\n ɵngcc0.ɵɵtext(6);\n ɵngcc0.ɵɵpipe(7, \"calendarDate\");\n ɵngcc0.ɵɵelementEnd()();\n }\n if (rf & 2) {\n const day_r10 = ctx.$implicit;\n const locale_r4 = ɵngcc0.ɵɵnextContext().locale;\n ɵngcc0.ɵɵclassProp(\"cal-past\", day_r10.isPast)(\"cal-today\", day_r10.isToday)(\"cal-future\", day_r10.isFuture)(\"cal-weekend\", day_r10.isWeekend);\n ɵngcc0.ɵɵproperty(\"ngClass\", day_r10.cssClass);\n ɵngcc0.ɵɵadvance(2);\n ɵngcc0.ɵɵtextInterpolate(ɵngcc0.ɵɵpipeBind3(3, 11, day_r10.date, \"weekViewColumnHeader\", locale_r4));\n ɵngcc0.ɵɵadvance(4);\n ɵngcc0.ɵɵtextInterpolate(ɵngcc0.ɵɵpipeBind3(7, 15, day_r10.date, \"weekViewColumnSubHeader\", locale_r4));\n }\n}\nfunction CalendarWeekViewHeaderComponent_ng_template_0_Template(rf, ctx) {\n if (rf & 1) {\n ɵngcc0.ɵɵelementStart(0, \"div\", 2);\n ɵngcc0.ɵɵtemplate(1, CalendarWeekViewHeaderComponent_ng_template_0_div_1_Template, 8, 19, \"div\", 3);\n ɵngcc0.ɵɵelementEnd();\n }\n if (rf & 2) {\n const days_r3 = ctx.days;\n const trackByWeekDayHeaderDate_r7 = ctx.trackByWeekDayHeaderDate;\n ɵngcc0.ɵɵadvance(1);\n ɵngcc0.ɵɵproperty(\"ngForOf\", days_r3)(\"ngForTrackBy\", trackByWeekDayHeaderDate_r7);\n }\n}\nfunction CalendarWeekViewHeaderComponent_ng_template_2_Template(rf, ctx) {}\nconst _c24 = function (a0, a1, a2, a3, a4, a5) {\n return {\n days: a0,\n locale: a1,\n dayHeaderClicked: a2,\n eventDropped: a3,\n dragEnter: a4,\n trackByWeekDayHeaderDate: a5\n };\n};\nconst _c25 = function (a0, a1) {\n return {\n backgroundColor: a0,\n borderColor: a1\n };\n};\nfunction CalendarWeekViewEventComponent_ng_template_0_Template(rf, ctx) {\n if (rf & 1) {\n const _r13 = ɵngcc0.ɵɵgetCurrentView();\n ɵngcc0.ɵɵelementStart(0, \"div\", 2);\n ɵngcc0.ɵɵlistener(\"mwlClick\", function CalendarWeekViewEventComponent_ng_template_0_Template_div_mwlClick_0_listener($event) {\n const restoredCtx = ɵngcc0.ɵɵrestoreView(_r13);\n const eventClicked_r5 = restoredCtx.eventClicked;\n return ɵngcc0.ɵɵresetView(eventClicked_r5.emit({\n sourceEvent: $event\n }));\n })(\"mwlKeydownEnter\", function CalendarWeekViewEventComponent_ng_template_0_Template_div_mwlKeydownEnter_0_listener($event) {\n const restoredCtx = ɵngcc0.ɵɵrestoreView(_r13);\n const eventClicked_r5 = restoredCtx.eventClicked;\n return ɵngcc0.ɵɵresetView(eventClicked_r5.emit({\n sourceEvent: $event\n }));\n });\n ɵngcc0.ɵɵpipe(1, \"calendarEventTitle\");\n ɵngcc0.ɵɵpipe(2, \"calendarA11y\");\n ɵngcc0.ɵɵelement(3, \"mwl-calendar-event-actions\", 3);\n ɵngcc0.ɵɵtext(4, \" \");\n ɵngcc0.ɵɵelement(5, \"mwl-calendar-event-title\", 4);\n ɵngcc0.ɵɵelementEnd();\n }\n if (rf & 2) {\n const weekEvent_r3 = ctx.weekEvent;\n const tooltipPlacement_r4 = ctx.tooltipPlacement;\n const tooltipTemplate_r6 = ctx.tooltipTemplate;\n const tooltipAppendToBody_r7 = ctx.tooltipAppendToBody;\n const tooltipDisabled_r8 = ctx.tooltipDisabled;\n const tooltipDelay_r9 = ctx.tooltipDelay;\n const daysInWeek_r11 = ctx.daysInWeek;\n const ctx_r1 = ɵngcc0.ɵɵnextContext();\n ɵngcc0.ɵɵproperty(\"ngStyle\", ɵngcc0.ɵɵpureFunction2(20, _c25, weekEvent_r3.event.color == null ? null : weekEvent_r3.event.color.secondary, weekEvent_r3.event.color == null ? null : weekEvent_r3.event.color.primary))(\"mwlCalendarTooltip\", !tooltipDisabled_r8 ? ɵngcc0.ɵɵpipeBind3(1, 13, weekEvent_r3.event.title, daysInWeek_r11 === 1 ? \"dayTooltip\" : \"weekTooltip\", weekEvent_r3.tempEvent || weekEvent_r3.event) : \"\")(\"tooltipPlacement\", tooltipPlacement_r4)(\"tooltipEvent\", weekEvent_r3.tempEvent || weekEvent_r3.event)(\"tooltipTemplate\", tooltipTemplate_r6)(\"tooltipAppendToBody\", tooltipAppendToBody_r7)(\"tooltipDelay\", tooltipDelay_r9);\n ɵngcc0.ɵɵattribute(\"aria-label\", ɵngcc0.ɵɵpipeBind2(2, 17, ɵngcc0.ɵɵpureFunction2(23, _c13, weekEvent_r3.tempEvent || weekEvent_r3.event, ctx_r1.locale), \"eventDescription\"));\n ɵngcc0.ɵɵadvance(3);\n ɵngcc0.ɵɵproperty(\"event\", weekEvent_r3.tempEvent || weekEvent_r3.event)(\"customTemplate\", ctx_r1.eventActionsTemplate);\n ɵngcc0.ɵɵadvance(2);\n ɵngcc0.ɵɵproperty(\"event\", weekEvent_r3.tempEvent || weekEvent_r3.event)(\"customTemplate\", ctx_r1.eventTitleTemplate)(\"view\", daysInWeek_r11 === 1 ? \"day\" : \"week\");\n }\n}\nfunction CalendarWeekViewEventComponent_ng_template_2_Template(rf, ctx) {}\nconst _c26 = function (a0, a1, a2, a3, a4, a5, a6, a7, a8) {\n return {\n weekEvent: a0,\n tooltipPlacement: a1,\n eventClicked: a2,\n tooltipTemplate: a3,\n tooltipAppendToBody: a4,\n tooltipDisabled: a5,\n tooltipDelay: a6,\n column: a7,\n daysInWeek: a8\n };\n};\nfunction CalendarWeekViewHourSegmentComponent_ng_template_0_div_2_Template(rf, ctx) {\n if (rf & 1) {\n ɵngcc0.ɵɵelementStart(0, \"div\", 4);\n ɵngcc0.ɵɵtext(1);\n ɵngcc0.ɵɵpipe(2, \"calendarDate\");\n ɵngcc0.ɵɵelementEnd();\n }\n if (rf & 2) {\n const ctx_r9 = ɵngcc0.ɵɵnextContext();\n const segment_r3 = ctx_r9.segment;\n const daysInWeek_r7 = ctx_r9.daysInWeek;\n const locale_r4 = ctx_r9.locale;\n ɵngcc0.ɵɵadvance(1);\n ɵngcc0.ɵɵtextInterpolate1(\" \", ɵngcc0.ɵɵpipeBind3(2, 1, segment_r3.displayDate, daysInWeek_r7 === 1 ? \"dayViewHour\" : \"weekViewHour\", locale_r4), \" \");\n }\n}\nfunction CalendarWeekViewHourSegmentComponent_ng_template_0_Template(rf, ctx) {\n if (rf & 1) {\n ɵngcc0.ɵɵelementStart(0, \"div\", 2);\n ɵngcc0.ɵɵpipe(1, \"calendarA11y\");\n ɵngcc0.ɵɵtemplate(2, CalendarWeekViewHourSegmentComponent_ng_template_0_div_2_Template, 3, 5, \"div\", 3);\n ɵngcc0.ɵɵelementEnd();\n }\n if (rf & 2) {\n const segment_r3 = ctx.segment;\n const segmentHeight_r5 = ctx.segmentHeight;\n const isTimeLabel_r6 = ctx.isTimeLabel;\n const daysInWeek_r7 = ctx.daysInWeek;\n ɵngcc0.ɵɵstyleProp(\"height\", segmentHeight_r5, \"px\");\n ɵngcc0.ɵɵclassProp(\"cal-hour-start\", segment_r3.isStart)(\"cal-after-hour-start\", !segment_r3.isStart);\n ɵngcc0.ɵɵproperty(\"ngClass\", segment_r3.cssClass);\n ɵngcc0.ɵɵattribute(\"aria-hidden\", ɵngcc0.ɵɵpipeBind2(1, 9, ɵngcc0.ɵɵpureFunction0(12, _c2), daysInWeek_r7 === 1 ? \"hideDayHourSegment\" : \"hideWeekHourSegment\"));\n ɵngcc0.ɵɵadvance(2);\n ɵngcc0.ɵɵproperty(\"ngIf\", isTimeLabel_r6);\n }\n}\nfunction CalendarWeekViewHourSegmentComponent_ng_template_2_Template(rf, ctx) {}\nconst _c27 = function (a0, a1, a2, a3, a4) {\n return {\n segment: a0,\n locale: a1,\n segmentHeight: a2,\n isTimeLabel: a3,\n daysInWeek: a4\n };\n};\nfunction CalendarWeekViewCurrentTimeMarkerComponent_ng_template_0_div_0_Template(rf, ctx) {\n if (rf & 1) {\n ɵngcc0.ɵɵelement(0, \"div\", 3);\n }\n if (rf & 2) {\n const topPx_r9 = ɵngcc0.ɵɵnextContext().topPx;\n ɵngcc0.ɵɵstyleProp(\"top\", topPx_r9, \"px\");\n }\n}\nfunction CalendarWeekViewCurrentTimeMarkerComponent_ng_template_0_Template(rf, ctx) {\n if (rf & 1) {\n ɵngcc0.ɵɵtemplate(0, CalendarWeekViewCurrentTimeMarkerComponent_ng_template_0_div_0_Template, 1, 2, \"div\", 2);\n }\n if (rf & 2) {\n const isVisible_r8 = ctx.isVisible;\n ɵngcc0.ɵɵproperty(\"ngIf\", isVisible_r8);\n }\n}\nfunction CalendarWeekViewCurrentTimeMarkerComponent_ng_template_2_Template(rf, ctx) {}\nconst _c28 = function (a0, a1, a2, a3, a4, a5, a6) {\n return {\n columnDate: a0,\n dayStartHour: a1,\n dayStartMinute: a2,\n dayEndHour: a3,\n dayEndMinute: a4,\n isVisible: a5,\n topPx: a6\n };\n};\nexport { DAYS_OF_WEEK } from 'calendar-utils';\nimport { DragAndDropModule } from 'angular-draggable-droppable';\nimport { trigger, state, style, transition, animate } from '@angular/animations';\nimport { ResizableModule } from 'angular-resizable-element';\nlet CalendarEventActionsComponent = class CalendarEventActionsComponent {\n constructor() {\n this.trackByActionId = (index, action) => action.id ? action.id : action;\n }\n};\nCalendarEventActionsComponent.ɵfac = function CalendarEventActionsComponent_Factory(t) {\n return new (t || CalendarEventActionsComponent)();\n};\nCalendarEventActionsComponent.ɵcmp = /*@__PURE__*/ɵngcc0.ɵɵdefineComponent({\n type: CalendarEventActionsComponent,\n selectors: [[\"mwl-calendar-event-actions\"]],\n inputs: {\n event: \"event\",\n customTemplate: \"customTemplate\"\n },\n decls: 3,\n vars: 5,\n consts: [[\"defaultTemplate\", \"\"], [3, \"ngTemplateOutlet\", \"ngTemplateOutletContext\"], [\"class\", \"cal-event-actions\", 4, \"ngIf\"], [1, \"cal-event-actions\"], [\"class\", \"cal-event-action\", \"href\", \"javascript:;\", \"tabindex\", \"0\", \"role\", \"button\", 3, \"ngClass\", \"innerHtml\", \"mwlClick\", \"mwlKeydownEnter\", 4, \"ngFor\", \"ngForOf\", \"ngForTrackBy\"], [\"href\", \"javascript:;\", \"tabindex\", \"0\", \"role\", \"button\", 1, \"cal-event-action\", 3, \"ngClass\", \"innerHtml\", \"mwlClick\", \"mwlKeydownEnter\"]],\n template: function CalendarEventActionsComponent_Template(rf, ctx) {\n if (rf & 1) {\n ɵngcc0.ɵɵtemplate(0, CalendarEventActionsComponent_ng_template_0_Template, 1, 1, \"ng-template\", null, 0, ɵngcc0.ɵɵtemplateRefExtractor);\n ɵngcc0.ɵɵtemplate(2, CalendarEventActionsComponent_ng_template_2_Template, 0, 0, \"ng-template\", 1);\n }\n if (rf & 2) {\n const _r0 = ɵngcc0.ɵɵreference(1);\n ɵngcc0.ɵɵadvance(2);\n ɵngcc0.ɵɵproperty(\"ngTemplateOutlet\", ctx.customTemplate || _r0)(\"ngTemplateOutletContext\", ɵngcc0.ɵɵpureFunction2(2, _c1, ctx.event, ctx.trackByActionId));\n }\n },\n dependencies: function () {\n return [ɵngcc1.NgClass, ɵngcc1.NgForOf, ɵngcc1.NgIf, ɵngcc1.NgTemplateOutlet, ClickDirective, KeydownEnterDirective, CalendarA11yPipe];\n },\n encapsulation: 2\n});\n__decorate([Input(), __metadata(\"design:type\", Object)], CalendarEventActionsComponent.prototype, \"event\", void 0);\n__decorate([Input(), __metadata(\"design:type\", TemplateRef)], CalendarEventActionsComponent.prototype, \"customTemplate\", void 0);\nlet CalendarEventTitleComponent = class CalendarEventTitleComponent {};\nCalendarEventTitleComponent.ɵfac = function CalendarEventTitleComponent_Factory(t) {\n return new (t || CalendarEventTitleComponent)();\n};\nCalendarEventTitleComponent.ɵcmp = /*@__PURE__*/ɵngcc0.ɵɵdefineComponent({\n type: CalendarEventTitleComponent,\n selectors: [[\"mwl-calendar-event-title\"]],\n inputs: {\n event: \"event\",\n customTemplate: \"customTemplate\",\n view: \"view\"\n },\n decls: 3,\n vars: 5,\n consts: [[\"defaultTemplate\", \"\"], [3, \"ngTemplateOutlet\", \"ngTemplateOutletContext\"], [1, \"cal-event-title\", 3, \"innerHTML\"]],\n template: function CalendarEventTitleComponent_Template(rf, ctx) {\n if (rf & 1) {\n ɵngcc0.ɵɵtemplate(0, CalendarEventTitleComponent_ng_template_0_Template, 3, 10, \"ng-template\", null, 0, ɵngcc0.ɵɵtemplateRefExtractor);\n ɵngcc0.ɵɵtemplate(2, CalendarEventTitleComponent_ng_template_2_Template, 0, 0, \"ng-template\", 1);\n }\n if (rf & 2) {\n const _r0 = ɵngcc0.ɵɵreference(1);\n ɵngcc0.ɵɵadvance(2);\n ɵngcc0.ɵɵproperty(\"ngTemplateOutlet\", ctx.customTemplate || _r0)(\"ngTemplateOutletContext\", ɵngcc0.ɵɵpureFunction2(2, _c3, ctx.event, ctx.view));\n }\n },\n dependencies: function () {\n return [ɵngcc1.NgTemplateOutlet, CalendarEventTitlePipe, CalendarA11yPipe];\n },\n encapsulation: 2\n});\n__decorate([Input(), __metadata(\"design:type\", Object)], CalendarEventTitleComponent.prototype, \"event\", void 0);\n__decorate([Input(), __metadata(\"design:type\", TemplateRef)], CalendarEventTitleComponent.prototype, \"customTemplate\", void 0);\n__decorate([Input(), __metadata(\"design:type\", String)], CalendarEventTitleComponent.prototype, \"view\", void 0);\nlet CalendarTooltipWindowComponent = class CalendarTooltipWindowComponent {};\nCalendarTooltipWindowComponent.ɵfac = function CalendarTooltipWindowComponent_Factory(t) {\n return new (t || CalendarTooltipWindowComponent)();\n};\nCalendarTooltipWindowComponent.ɵcmp = /*@__PURE__*/ɵngcc0.ɵɵdefineComponent({\n type: CalendarTooltipWindowComponent,\n selectors: [[\"mwl-calendar-tooltip-window\"]],\n inputs: {\n contents: \"contents\",\n placement: \"placement\",\n event: \"event\",\n customTemplate: \"customTemplate\"\n },\n decls: 3,\n vars: 6,\n consts: [[\"defaultTemplate\", \"\"], [3, \"ngTemplateOutlet\", \"ngTemplateOutletContext\"], [1, \"cal-tooltip\", 3, \"ngClass\"], [1, \"cal-tooltip-arrow\"], [1, \"cal-tooltip-inner\", 3, \"innerHtml\"]],\n template: function CalendarTooltipWindowComponent_Template(rf, ctx) {\n if (rf & 1) {\n ɵngcc0.ɵɵtemplate(0, CalendarTooltipWindowComponent_ng_template_0_Template, 3, 2, \"ng-template\", null, 0, ɵngcc0.ɵɵtemplateRefExtractor);\n ɵngcc0.ɵɵtemplate(2, CalendarTooltipWindowComponent_ng_template_2_Template, 0, 0, \"ng-template\", 1);\n }\n if (rf & 2) {\n const _r0 = ɵngcc0.ɵɵreference(1);\n ɵngcc0.ɵɵadvance(2);\n ɵngcc0.ɵɵproperty(\"ngTemplateOutlet\", ctx.customTemplate || _r0)(\"ngTemplateOutletContext\", ɵngcc0.ɵɵpureFunction3(2, _c4, ctx.contents, ctx.placement, ctx.event));\n }\n },\n dependencies: [ɵngcc1.NgClass, ɵngcc1.NgTemplateOutlet],\n encapsulation: 2\n});\n__decorate([Input(), __metadata(\"design:type\", String)], CalendarTooltipWindowComponent.prototype, \"contents\", void 0);\n__decorate([Input(), __metadata(\"design:type\", String)], CalendarTooltipWindowComponent.prototype, \"placement\", void 0);\n__decorate([Input(), __metadata(\"design:type\", Object)], CalendarTooltipWindowComponent.prototype, \"event\", void 0);\n__decorate([Input(), __metadata(\"design:type\", TemplateRef)], CalendarTooltipWindowComponent.prototype, \"customTemplate\", void 0);\nlet CalendarTooltipDirective = class CalendarTooltipDirective {\n constructor(elementRef, injector, renderer, componentFactoryResolver, viewContainerRef, document //tslint:disable-line\n ) {\n this.elementRef = elementRef;\n this.injector = injector;\n this.renderer = renderer;\n this.viewContainerRef = viewContainerRef;\n this.document = document;\n this.placement = 'auto'; // tslint:disable-line no-input-rename\n this.delay = null; // tslint:disable-line no-input-rename\n this.cancelTooltipDelay$ = new Subject();\n this.tooltipFactory = componentFactoryResolver.resolveComponentFactory(CalendarTooltipWindowComponent);\n }\n ngOnChanges(changes) {\n if (this.tooltipRef && (changes.contents || changes.customTemplate || changes.event)) {\n this.tooltipRef.instance.contents = this.contents;\n this.tooltipRef.instance.customTemplate = this.customTemplate;\n this.tooltipRef.instance.event = this.event;\n this.tooltipRef.changeDetectorRef.markForCheck();\n if (!this.contents) {\n this.hide();\n }\n }\n }\n ngOnDestroy() {\n this.hide();\n }\n onMouseOver() {\n const delay$ = this.delay === null ? of('now') : timer(this.delay);\n delay$.pipe(takeUntil(this.cancelTooltipDelay$)).subscribe(() => {\n this.show();\n });\n }\n onMouseOut() {\n this.hide();\n }\n show() {\n if (!this.tooltipRef && this.contents) {\n this.tooltipRef = this.viewContainerRef.createComponent(this.tooltipFactory, 0, this.injector, []);\n this.tooltipRef.instance.contents = this.contents;\n this.tooltipRef.instance.customTemplate = this.customTemplate;\n this.tooltipRef.instance.event = this.event;\n if (this.appendToBody) {\n this.document.body.appendChild(this.tooltipRef.location.nativeElement);\n }\n requestAnimationFrame(() => {\n this.positionTooltip();\n });\n }\n }\n hide() {\n if (this.tooltipRef) {\n this.viewContainerRef.remove(this.viewContainerRef.indexOf(this.tooltipRef.hostView));\n this.tooltipRef = null;\n }\n this.cancelTooltipDelay$.next();\n }\n positionTooltip(previousPositions = []) {\n if (this.tooltipRef) {\n this.tooltipRef.changeDetectorRef.detectChanges();\n this.tooltipRef.instance.placement = positionElements(this.elementRef.nativeElement, this.tooltipRef.location.nativeElement.children[0], this.placement, this.appendToBody);\n // keep re-positioning the tooltip until the arrow position doesn't make a difference\n if (previousPositions.indexOf(this.tooltipRef.instance.placement) === -1) {\n this.positionTooltip([...previousPositions, this.tooltipRef.instance.placement]);\n }\n }\n }\n};\nCalendarTooltipDirective.ɵfac = function CalendarTooltipDirective_Factory(t) {\n return new (t || CalendarTooltipDirective)(ɵngcc0.ɵɵdirectiveInject(ɵngcc0.ElementRef), ɵngcc0.ɵɵdirectiveInject(ɵngcc0.Injector), ɵngcc0.ɵɵdirectiveInject(ɵngcc0.Renderer2), ɵngcc0.ɵɵdirectiveInject(ɵngcc0.ComponentFactoryResolver), ɵngcc0.ɵɵdirectiveInject(ɵngcc0.ViewContainerRef), ɵngcc0.ɵɵdirectiveInject(DOCUMENT));\n};\nCalendarTooltipDirective.ɵdir = /*@__PURE__*/ɵngcc0.ɵɵdefineDirective({\n type: CalendarTooltipDirective,\n selectors: [[\"\", \"mwlCalendarTooltip\", \"\"]],\n hostBindings: function CalendarTooltipDirective_HostBindings(rf, ctx) {\n if (rf & 1) {\n ɵngcc0.ɵɵlistener(\"mouseenter\", function CalendarTooltipDirective_mouseenter_HostBindingHandler() {\n return ctx.onMouseOver();\n })(\"mouseleave\", function CalendarTooltipDirective_mouseleave_HostBindingHandler() {\n return ctx.onMouseOut();\n });\n }\n },\n inputs: {\n placement: [\"tooltipPlacement\", \"placement\"],\n delay: [\"tooltipDelay\", \"delay\"],\n contents: [\"mwlCalendarTooltip\", \"contents\"],\n customTemplate: [\"tooltipTemplate\", \"customTemplate\"],\n event: [\"tooltipEvent\", \"event\"],\n appendToBody: [\"tooltipAppendToBody\", \"appendToBody\"]\n },\n features: [ɵngcc0.ɵɵNgOnChangesFeature]\n});\nCalendarTooltipDirective.ctorParameters = () => [{\n type: ElementRef\n}, {\n type: Injector\n}, {\n type: Renderer2\n}, {\n type: ComponentFactoryResolver\n}, {\n type: ViewContainerRef\n}, {\n type: undefined,\n decorators: [{\n type: Inject,\n args: [DOCUMENT]\n }]\n}];\n__decorate([Input('mwlCalendarTooltip'), __metadata(\"design:type\", String)], CalendarTooltipDirective.prototype, \"contents\", void 0);\n__decorate([Input('tooltipPlacement'), __metadata(\"design:type\", Object)], CalendarTooltipDirective.prototype, \"placement\", void 0);\n__decorate([Input('tooltipTemplate'), __metadata(\"design:type\", TemplateRef)], CalendarTooltipDirective.prototype, \"customTemplate\", void 0);\n__decorate([Input('tooltipEvent'), __metadata(\"design:type\", Object)], CalendarTooltipDirective.prototype, \"event\", void 0);\n__decorate([Input('tooltipAppendToBody'), __metadata(\"design:type\", Boolean)], CalendarTooltipDirective.prototype, \"appendToBody\", void 0);\n__decorate([Input('tooltipDelay'), __metadata(\"design:type\", Number)], CalendarTooltipDirective.prototype, \"delay\", void 0);\n__decorate([HostListener('mouseenter'), __metadata(\"design:type\", Function), __metadata(\"design:paramtypes\", []), __metadata(\"design:returntype\", void 0)], CalendarTooltipDirective.prototype, \"onMouseOver\", null);\n__decorate([HostListener('mouseleave'), __metadata(\"design:type\", Function), __metadata(\"design:paramtypes\", []), __metadata(\"design:returntype\", void 0)], CalendarTooltipDirective.prototype, \"onMouseOut\", null);\nCalendarTooltipDirective = __decorate([__param(5, Inject(DOCUMENT)), __metadata(\"design:paramtypes\", [ElementRef, Injector, Renderer2, ComponentFactoryResolver, ViewContainerRef, Object])], CalendarTooltipDirective);\nclass DateAdapter {}\nvar CalendarView;\n(function (CalendarView) {\n CalendarView[\"Month\"] = \"month\";\n CalendarView[\"Week\"] = \"week\";\n CalendarView[\"Day\"] = \"day\";\n})(CalendarView || (CalendarView = {}));\nconst validateEvents = events => {\n const warn = (...args) => console.warn('angular-calendar', ...args);\n return validateEvents$1(events, warn);\n};\nfunction isInside(outer, inner) {\n return Math.floor(outer.left) <= Math.ceil(inner.left) && Math.floor(inner.left) <= Math.ceil(outer.right) && Math.floor(outer.left) <= Math.ceil(inner.right) && Math.floor(inner.right) <= Math.ceil(outer.right) && Math.floor(outer.top) <= Math.ceil(inner.top) && Math.floor(inner.top) <= Math.ceil(outer.bottom) && Math.floor(outer.top) <= Math.ceil(inner.bottom) && Math.floor(inner.bottom) <= Math.ceil(outer.bottom);\n}\nfunction roundToNearest(amount, precision) {\n return Math.round(amount / precision) * precision;\n}\nconst trackByEventId = (index, event) => event.id ? event.id : event;\nconst trackByWeekDayHeaderDate = (index, day) => day.date.toISOString();\nconst trackByHourSegment = (index, segment) => segment.date.toISOString();\nconst trackByHour = (index, hour) => hour.segments[0].date.toISOString();\nconst trackByWeekAllDayEvent = (index, weekEvent) => weekEvent.event.id ? weekEvent.event.id : weekEvent.event;\nconst trackByWeekTimeEvent = (index, weekEvent) => weekEvent.event.id ? weekEvent.event.id : weekEvent.event;\nconst MINUTES_IN_HOUR = 60;\nfunction getPixelAmountInMinutes(hourSegments, hourSegmentHeight) {\n return MINUTES_IN_HOUR / (hourSegments * hourSegmentHeight);\n}\nfunction getMinutesMoved(movedY, hourSegments, hourSegmentHeight, eventSnapSize) {\n const draggedInPixelsSnapSize = roundToNearest(movedY, eventSnapSize || hourSegmentHeight);\n const pixelAmountInMinutes = getPixelAmountInMinutes(hourSegments, hourSegmentHeight);\n return draggedInPixelsSnapSize * pixelAmountInMinutes;\n}\nfunction getMinimumEventHeightInMinutes(hourSegments, hourSegmentHeight) {\n return getPixelAmountInMinutes(hourSegments, hourSegmentHeight) * hourSegmentHeight;\n}\nfunction getDefaultEventEnd(dateAdapter, event, minimumMinutes) {\n if (event.end) {\n return event.end;\n } else {\n return dateAdapter.addMinutes(event.start, minimumMinutes);\n }\n}\nfunction addDaysWithExclusions(dateAdapter, date, days, excluded) {\n let daysCounter = 0;\n let daysToAdd = 0;\n const changeDays = days < 0 ? dateAdapter.subDays : dateAdapter.addDays;\n let result = date;\n while (daysToAdd <= Math.abs(days)) {\n result = changeDays(date, daysCounter);\n const day = dateAdapter.getDay(result);\n if (excluded.indexOf(day) === -1) {\n daysToAdd++;\n }\n daysCounter++;\n }\n return result;\n}\nfunction isDraggedWithinPeriod(newStart, newEnd, period) {\n const end = newEnd || newStart;\n return period.start <= newStart && newStart <= period.end || period.start <= end && end <= period.end;\n}\nfunction shouldFireDroppedEvent(dropEvent, date, allDay, calendarId) {\n return dropEvent.dropData && dropEvent.dropData.event && (dropEvent.dropData.calendarId !== calendarId || dropEvent.dropData.event.allDay && !allDay || !dropEvent.dropData.event.allDay && allDay);\n}\nfunction getWeekViewPeriod(dateAdapter, viewDate, weekStartsOn, excluded = [], daysInWeek) {\n let viewStart = daysInWeek ? dateAdapter.startOfDay(viewDate) : dateAdapter.startOfWeek(viewDate, {\n weekStartsOn\n });\n const endOfWeek = dateAdapter.endOfWeek(viewDate, {\n weekStartsOn\n });\n while (excluded.indexOf(dateAdapter.getDay(viewStart)) > -1 && viewStart < endOfWeek) {\n viewStart = dateAdapter.addDays(viewStart, 1);\n }\n if (daysInWeek) {\n const viewEnd = dateAdapter.endOfDay(addDaysWithExclusions(dateAdapter, viewStart, daysInWeek - 1, excluded));\n return {\n viewStart,\n viewEnd\n };\n } else {\n let viewEnd = endOfWeek;\n while (excluded.indexOf(dateAdapter.getDay(viewEnd)) > -1 && viewEnd > viewStart) {\n viewEnd = dateAdapter.subDays(viewEnd, 1);\n }\n return {\n viewStart,\n viewEnd\n };\n }\n}\nfunction isWithinThreshold({\n x,\n y\n}) {\n const DRAG_THRESHOLD = 1;\n return Math.abs(x) > DRAG_THRESHOLD || Math.abs(y) > DRAG_THRESHOLD;\n}\n\n/**\n * Change the view date to the previous view. For example:\n *\n * ```typescript\n * \n * ```\n */\nlet CalendarPreviousViewDirective = class CalendarPreviousViewDirective {\n constructor(dateAdapter) {\n this.dateAdapter = dateAdapter;\n /**\n * Days to skip when going back by 1 day\n */\n this.excludeDays = [];\n /**\n * Called when the view date is changed\n */\n this.viewDateChange = new EventEmitter();\n }\n /**\n * @hidden\n */\n onClick() {\n const subFn = {\n day: this.dateAdapter.subDays,\n week: this.dateAdapter.subWeeks,\n month: this.dateAdapter.subMonths\n }[this.view];\n if (this.view === CalendarView.Day) {\n this.viewDateChange.emit(addDaysWithExclusions(this.dateAdapter, this.viewDate, -1, this.excludeDays));\n } else if (this.view === CalendarView.Week && this.daysInWeek) {\n this.viewDateChange.emit(addDaysWithExclusions(this.dateAdapter, this.viewDate, -this.daysInWeek, this.excludeDays));\n } else {\n this.viewDateChange.emit(subFn(this.viewDate, 1));\n }\n }\n};\nCalendarPreviousViewDirective.ɵfac = function CalendarPreviousViewDirective_Factory(t) {\n return new (t || CalendarPreviousViewDirective)(ɵngcc0.ɵɵdirectiveInject(DateAdapter));\n};\nCalendarPreviousViewDirective.ɵdir = /*@__PURE__*/ɵngcc0.ɵɵdefineDirective({\n type: CalendarPreviousViewDirective,\n selectors: [[\"\", \"mwlCalendarPreviousView\", \"\"]],\n hostBindings: function CalendarPreviousViewDirective_HostBindings(rf, ctx) {\n if (rf & 1) {\n ɵngcc0.ɵɵlistener(\"click\", function CalendarPreviousViewDirective_click_HostBindingHandler() {\n return ctx.onClick();\n });\n }\n },\n inputs: {\n excludeDays: \"excludeDays\",\n view: \"view\",\n viewDate: \"viewDate\",\n daysInWeek: \"daysInWeek\"\n },\n outputs: {\n viewDateChange: \"viewDateChange\"\n }\n});\nCalendarPreviousViewDirective.ctorParameters = () => [{\n type: DateAdapter\n}];\n__decorate([Input(), __metadata(\"design:type\", String)], CalendarPreviousViewDirective.prototype, \"view\", void 0);\n__decorate([Input(), __metadata(\"design:type\", Date)], CalendarPreviousViewDirective.prototype, \"viewDate\", void 0);\n__decorate([Input(), __metadata(\"design:type\", Array)], CalendarPreviousViewDirective.prototype, \"excludeDays\", void 0);\n__decorate([Input(), __metadata(\"design:type\", Number)], CalendarPreviousViewDirective.prototype, \"daysInWeek\", void 0);\n__decorate([Output(), __metadata(\"design:type\", EventEmitter)], CalendarPreviousViewDirective.prototype, \"viewDateChange\", void 0);\n__decorate([HostListener('click'), __metadata(\"design:type\", Function), __metadata(\"design:paramtypes\", []), __metadata(\"design:returntype\", void 0)], CalendarPreviousViewDirective.prototype, \"onClick\", null);\nCalendarPreviousViewDirective = __decorate([__metadata(\"design:paramtypes\", [DateAdapter])], CalendarPreviousViewDirective);\n\n/**\n * Change the view date to the next view. For example:\n *\n * ```typescript\n * \n * ```\n */\nlet CalendarNextViewDirective = class CalendarNextViewDirective {\n constructor(dateAdapter) {\n this.dateAdapter = dateAdapter;\n /**\n * Days to skip when going forward by 1 day\n */\n this.excludeDays = [];\n /**\n * Called when the view date is changed\n */\n this.viewDateChange = new EventEmitter();\n }\n /**\n * @hidden\n */\n onClick() {\n const addFn = {\n day: this.dateAdapter.addDays,\n week: this.dateAdapter.addWeeks,\n month: this.dateAdapter.addMonths\n }[this.view];\n if (this.view === CalendarView.Day) {\n this.viewDateChange.emit(addDaysWithExclusions(this.dateAdapter, this.viewDate, 1, this.excludeDays));\n } else if (this.view === CalendarView.Week && this.daysInWeek) {\n this.viewDateChange.emit(addDaysWithExclusions(this.dateAdapter, this.viewDate, this.daysInWeek, this.excludeDays));\n } else {\n this.viewDateChange.emit(addFn(this.viewDate, 1));\n }\n }\n};\nCalendarNextViewDirective.ɵfac = function CalendarNextViewDirective_Factory(t) {\n return new (t || CalendarNextViewDirective)(ɵngcc0.ɵɵdirectiveInject(DateAdapter));\n};\nCalendarNextViewDirective.ɵdir = /*@__PURE__*/ɵngcc0.ɵɵdefineDirective({\n type: CalendarNextViewDirective,\n selectors: [[\"\", \"mwlCalendarNextView\", \"\"]],\n hostBindings: function CalendarNextViewDirective_HostBindings(rf, ctx) {\n if (rf & 1) {\n ɵngcc0.ɵɵlistener(\"click\", function CalendarNextViewDirective_click_HostBindingHandler() {\n return ctx.onClick();\n });\n }\n },\n inputs: {\n excludeDays: \"excludeDays\",\n view: \"view\",\n viewDate: \"viewDate\",\n daysInWeek: \"daysInWeek\"\n },\n outputs: {\n viewDateChange: \"viewDateChange\"\n }\n});\nCalendarNextViewDirective.ctorParameters = () => [{\n type: DateAdapter\n}];\n__decorate([Input(), __metadata(\"design:type\", String)], CalendarNextViewDirective.prototype, \"view\", void 0);\n__decorate([Input(), __metadata(\"design:type\", Date)], CalendarNextViewDirective.prototype, \"viewDate\", void 0);\n__decorate([Input(), __metadata(\"design:type\", Array)], CalendarNextViewDirective.prototype, \"excludeDays\", void 0);\n__decorate([Input(), __metadata(\"design:type\", Number)], CalendarNextViewDirective.prototype, \"daysInWeek\", void 0);\n__decorate([Output(), __metadata(\"design:type\", EventEmitter)], CalendarNextViewDirective.prototype, \"viewDateChange\", void 0);\n__decorate([HostListener('click'), __metadata(\"design:type\", Function), __metadata(\"design:paramtypes\", []), __metadata(\"design:returntype\", void 0)], CalendarNextViewDirective.prototype, \"onClick\", null);\nCalendarNextViewDirective = __decorate([__metadata(\"design:paramtypes\", [DateAdapter])], CalendarNextViewDirective);\n\n/**\n * Change the view date to the current day. For example:\n *\n * ```typescript\n * \n * ```\n */\nlet CalendarTodayDirective = class CalendarTodayDirective {\n constructor(dateAdapter) {\n this.dateAdapter = dateAdapter;\n /**\n * Called when the view date is changed\n */\n this.viewDateChange = new EventEmitter();\n }\n /**\n * @hidden\n */\n onClick() {\n this.viewDateChange.emit(this.dateAdapter.startOfDay(new Date()));\n }\n};\nCalendarTodayDirective.ɵfac = function CalendarTodayDirective_Factory(t) {\n return new (t || CalendarTodayDirective)(ɵngcc0.ɵɵdirectiveInject(DateAdapter));\n};\nCalendarTodayDirective.ɵdir = /*@__PURE__*/ɵngcc0.ɵɵdefineDirective({\n type: CalendarTodayDirective,\n selectors: [[\"\", \"mwlCalendarToday\", \"\"]],\n hostBindings: function CalendarTodayDirective_HostBindings(rf, ctx) {\n if (rf & 1) {\n ɵngcc0.ɵɵlistener(\"click\", function CalendarTodayDirective_click_HostBindingHandler() {\n return ctx.onClick();\n });\n }\n },\n inputs: {\n viewDate: \"viewDate\"\n },\n outputs: {\n viewDateChange: \"viewDateChange\"\n }\n});\nCalendarTodayDirective.ctorParameters = () => [{\n type: DateAdapter\n}];\n__decorate([Input(), __metadata(\"design:type\", Date)], CalendarTodayDirective.prototype, \"viewDate\", void 0);\n__decorate([Output(), __metadata(\"design:type\", EventEmitter)], CalendarTodayDirective.prototype, \"viewDateChange\", void 0);\n__decorate([HostListener('click'), __metadata(\"design:type\", Function), __metadata(\"design:paramtypes\", []), __metadata(\"design:returntype\", void 0)], CalendarTodayDirective.prototype, \"onClick\", null);\nCalendarTodayDirective = __decorate([__metadata(\"design:paramtypes\", [DateAdapter])], CalendarTodayDirective);\n\n/**\n * This will use the angular date pipe to do all date formatting. It is the default date formatter used by the calendar.\n */\nlet CalendarAngularDateFormatter = class CalendarAngularDateFormatter {\n constructor(dateAdapter) {\n this.dateAdapter = dateAdapter;\n }\n /**\n * The month view header week day labels\n */\n monthViewColumnHeader({\n date,\n locale\n }) {\n return formatDate(date, 'EEEE', locale);\n }\n /**\n * The month view cell day number\n */\n monthViewDayNumber({\n date,\n locale\n }) {\n return formatDate(date, 'd', locale);\n }\n /**\n * The month view title\n */\n monthViewTitle({\n date,\n locale\n }) {\n return formatDate(date, 'LLLL y', locale);\n }\n /**\n * The week view header week day labels\n */\n weekViewColumnHeader({\n date,\n locale\n }) {\n return formatDate(date, 'EEEE', locale);\n }\n /**\n * The week view sub header day and month labels\n */\n weekViewColumnSubHeader({\n date,\n locale\n }) {\n return formatDate(date, 'MMM d', locale);\n }\n /**\n * The week view title\n */\n weekViewTitle({\n date,\n locale,\n weekStartsOn,\n excludeDays,\n daysInWeek\n }) {\n const {\n viewStart,\n viewEnd\n } = getWeekViewPeriod(this.dateAdapter, date, weekStartsOn, excludeDays, daysInWeek);\n const format = (dateToFormat, showYear) => formatDate(dateToFormat, 'MMM d' + (showYear ? ', yyyy' : ''), locale);\n return `${format(viewStart, viewStart.getUTCFullYear() !== viewEnd.getUTCFullYear())} - ${format(viewEnd, true)}`;\n }\n /**\n * The time formatting down the left hand side of the week view\n */\n weekViewHour({\n date,\n locale\n }) {\n return formatDate(date, 'h a', locale);\n }\n /**\n * The time formatting down the left hand side of the day view\n */\n dayViewHour({\n date,\n locale\n }) {\n return formatDate(date, 'h a', locale);\n }\n /**\n * The day view title\n */\n dayViewTitle({\n date,\n locale\n }) {\n return formatDate(date, 'EEEE, MMMM d, y', locale);\n }\n};\nCalendarAngularDateFormatter.ɵfac = function CalendarAngularDateFormatter_Factory(t) {\n return new (t || CalendarAngularDateFormatter)(ɵngcc0.ɵɵinject(DateAdapter));\n};\nCalendarAngularDateFormatter.ɵprov = /*@__PURE__*/ɵngcc0.ɵɵdefineInjectable({\n token: CalendarAngularDateFormatter,\n factory: function (t) {\n return CalendarAngularDateFormatter.ɵfac(t);\n }\n});\nCalendarAngularDateFormatter.ctorParameters = () => [{\n type: DateAdapter\n}];\nCalendarAngularDateFormatter = __decorate([__metadata(\"design:paramtypes\", [DateAdapter])], CalendarAngularDateFormatter);\n\n/**\n * This class is responsible for all formatting of dates. There are 3 implementations available, the `CalendarAngularDateFormatter` (default) which uses the angular date pipe to format dates, the `CalendarNativeDateFormatter` which will use the Intl API to format dates, or there is the `CalendarMomentDateFormatter` which uses moment.\n *\n * If you wish, you may override any of the defaults via angulars DI. For example:\n *\n * ```typescript\n * import { CalendarDateFormatter, DateFormatterParams } from 'angular-calendar';\n * import { formatDate } from '@angular/common';\n * import { Injectable } from '@angular/core';\n *\n * @Injectable()\n * class CustomDateFormatter extends CalendarDateFormatter {\n *\n * public monthViewColumnHeader({date, locale}: DateFormatterParams): string {\n * return formatDate(date, 'EEE', locale); // use short week days\n * }\n *\n * }\n *\n * // in your component that uses the calendar\n * providers: [{\n * provide: CalendarDateFormatter,\n * useClass: CustomDateFormatter\n * }]\n * ```\n */\nlet CalendarDateFormatter = class CalendarDateFormatter extends CalendarAngularDateFormatter {};\nCalendarDateFormatter.ɵfac = /*@__PURE__*/function () {\n let ɵCalendarDateFormatter_BaseFactory;\n return function CalendarDateFormatter_Factory(t) {\n return (ɵCalendarDateFormatter_BaseFactory || (ɵCalendarDateFormatter_BaseFactory = ɵngcc0.ɵɵgetInheritedFactory(CalendarDateFormatter)))(t || CalendarDateFormatter);\n };\n}();\nCalendarDateFormatter.ɵprov = /*@__PURE__*/ɵngcc0.ɵɵdefineInjectable({\n token: CalendarDateFormatter,\n factory: function (t) {\n return CalendarDateFormatter.ɵfac(t);\n }\n});\n\n/**\n * This pipe is primarily for rendering the current view title. Example usage:\n * ```typescript\n * // where `viewDate` is a `Date` and view is `'month' | 'week' | 'day'`\n * {{ viewDate | calendarDate:(view + 'ViewTitle'):'en' }}\n * ```\n */\nlet CalendarDatePipe = class CalendarDatePipe {\n constructor(dateFormatter, locale) {\n this.dateFormatter = dateFormatter;\n this.locale = locale;\n }\n transform(date, method, locale = this.locale, weekStartsOn = 0, excludeDays = [], daysInWeek) {\n if (typeof this.dateFormatter[method] === 'undefined') {\n const allowedMethods = Object.getOwnPropertyNames(Object.getPrototypeOf(CalendarDateFormatter.prototype)).filter(iMethod => iMethod !== 'constructor');\n throw new Error(`${method} is not a valid date formatter. Can only be one of ${allowedMethods.join(', ')}`);\n }\n return this.dateFormatter[method]({\n date,\n locale,\n weekStartsOn,\n excludeDays,\n daysInWeek\n });\n }\n};\nCalendarDatePipe.ɵfac = function CalendarDatePipe_Factory(t) {\n return new (t || CalendarDatePipe)(ɵngcc0.ɵɵdirectiveInject(CalendarDateFormatter, 16), ɵngcc0.ɵɵdirectiveInject(LOCALE_ID, 16));\n};\nCalendarDatePipe.ɵpipe = /*@__PURE__*/ɵngcc0.ɵɵdefinePipe({\n name: \"calendarDate\",\n type: CalendarDatePipe,\n pure: true\n});\nCalendarDatePipe.ctorParameters = () => [{\n type: CalendarDateFormatter\n}, {\n type: String,\n decorators: [{\n type: Inject,\n args: [LOCALE_ID]\n }]\n}];\nCalendarDatePipe = __decorate([__param(1, Inject(LOCALE_ID)), __metadata(\"design:paramtypes\", [CalendarDateFormatter, String])], CalendarDatePipe);\n\n/**\n * This class is responsible for displaying all event titles within the calendar. You may override any of its methods via angulars DI to suit your requirements. For example:\n *\n * ```typescript\n * import { Injectable } from '@angular/core';\n * import { CalendarEventTitleFormatter, CalendarEvent } from 'angular-calendar';\n *\n * @Injectable()\n * class CustomEventTitleFormatter extends CalendarEventTitleFormatter {\n *\n * month(event: CalendarEvent): string {\n * return `Custom prefix: ${event.title}`;\n * }\n *\n * }\n *\n * // in your component\n * providers: [{\n * provide: CalendarEventTitleFormatter,\n * useClass: CustomEventTitleFormatter\n * }]\n * ```\n */\nclass CalendarEventTitleFormatter {\n /**\n * The month view event title.\n */\n month(event, title) {\n return event.title;\n }\n /**\n * The month view event tooltip. Return a falsey value from this to disable the tooltip.\n */\n monthTooltip(event, title) {\n return event.title;\n }\n /**\n * The week view event title.\n */\n week(event, title) {\n return event.title;\n }\n /**\n * The week view event tooltip. Return a falsey value from this to disable the tooltip.\n */\n weekTooltip(event, title) {\n return event.title;\n }\n /**\n * The day view event title.\n */\n day(event, title) {\n return event.title;\n }\n /**\n * The day view event tooltip. Return a falsey value from this to disable the tooltip.\n */\n dayTooltip(event, title) {\n return event.title;\n }\n}\nlet CalendarEventTitlePipe = class CalendarEventTitlePipe {\n constructor(calendarEventTitle) {\n this.calendarEventTitle = calendarEventTitle;\n }\n transform(title, titleType, event) {\n return this.calendarEventTitle[titleType](event, title);\n }\n};\nCalendarEventTitlePipe.ɵfac = function CalendarEventTitlePipe_Factory(t) {\n return new (t || CalendarEventTitlePipe)(ɵngcc0.ɵɵdirectiveInject(CalendarEventTitleFormatter, 16));\n};\nCalendarEventTitlePipe.ɵpipe = /*@__PURE__*/ɵngcc0.ɵɵdefinePipe({\n name: \"calendarEventTitle\",\n type: CalendarEventTitlePipe,\n pure: true\n});\nCalendarEventTitlePipe.ctorParameters = () => [{\n type: CalendarEventTitleFormatter\n}];\nCalendarEventTitlePipe = __decorate([__metadata(\"design:paramtypes\", [CalendarEventTitleFormatter])], CalendarEventTitlePipe);\nlet ClickDirective = class ClickDirective {\n constructor(renderer, elm, document) {\n this.renderer = renderer;\n this.elm = elm;\n this.document = document;\n this.clickListenerDisabled = false;\n this.click = new EventEmitter(); // tslint:disable-line\n this.destroy$ = new Subject();\n }\n ngOnInit() {\n if (!this.clickListenerDisabled) {\n this.listen().pipe(takeUntil(this.destroy$)).subscribe(event => {\n event.stopPropagation();\n this.click.emit(event);\n });\n }\n }\n ngOnDestroy() {\n this.destroy$.next();\n }\n listen() {\n return new Observable(observer => {\n return this.renderer.listen(this.elm.nativeElement, 'click', event => {\n observer.next(event);\n });\n });\n }\n};\nClickDirective.ɵfac = function ClickDirective_Factory(t) {\n return new (t || ClickDirective)(ɵngcc0.ɵɵdirectiveInject(ɵngcc0.Renderer2), ɵngcc0.ɵɵdirectiveInject(ɵngcc0.ElementRef), ɵngcc0.ɵɵdirectiveInject(DOCUMENT));\n};\nClickDirective.ɵdir = /*@__PURE__*/ɵngcc0.ɵɵdefineDirective({\n type: ClickDirective,\n selectors: [[\"\", \"mwlClick\", \"\"]],\n inputs: {\n clickListenerDisabled: \"clickListenerDisabled\"\n },\n outputs: {\n click: \"mwlClick\"\n }\n});\nClickDirective.ctorParameters = () => [{\n type: Renderer2\n}, {\n type: ElementRef\n}, {\n type: undefined,\n decorators: [{\n type: Inject,\n args: [DOCUMENT]\n }]\n}];\n__decorate([Input(), __metadata(\"design:type\", Object)], ClickDirective.prototype, \"clickListenerDisabled\", void 0);\n__decorate([Output('mwlClick'), __metadata(\"design:type\", Object)], ClickDirective.prototype, \"click\", void 0);\nClickDirective = __decorate([__param(2, Inject(DOCUMENT)), __metadata(\"design:paramtypes\", [Renderer2, ElementRef, Object])], ClickDirective);\nlet KeydownEnterDirective = class KeydownEnterDirective {\n constructor(host, ngZone, renderer) {\n this.host = host;\n this.ngZone = ngZone;\n this.renderer = renderer;\n this.keydown = new EventEmitter(); // tslint:disable-line\n this.keydownListener = null;\n }\n ngOnInit() {\n this.ngZone.runOutsideAngular(() => {\n this.keydownListener = this.renderer.listen(this.host.nativeElement, 'keydown', event => {\n if (event.keyCode === 13 || event.which === 13 || event.key === 'Enter') {\n event.preventDefault();\n event.stopPropagation();\n this.ngZone.run(() => {\n this.keydown.emit(event);\n });\n }\n });\n });\n }\n ngOnDestroy() {\n if (this.keydownListener !== null) {\n this.keydownListener();\n this.keydownListener = null;\n }\n }\n};\nKeydownEnterDirective.ɵfac = function KeydownEnterDirective_Factory(t) {\n return new (t || KeydownEnterDirective)(ɵngcc0.ɵɵdirectiveInject(ɵngcc0.ElementRef), ɵngcc0.ɵɵdirectiveInject(ɵngcc0.NgZone), ɵngcc0.ɵɵdirectiveInject(ɵngcc0.Renderer2));\n};\nKeydownEnterDirective.ɵdir = /*@__PURE__*/ɵngcc0.ɵɵdefineDirective({\n type: KeydownEnterDirective,\n selectors: [[\"\", \"mwlKeydownEnter\", \"\"]],\n outputs: {\n keydown: \"mwlKeydownEnter\"\n }\n});\nKeydownEnterDirective.ctorParameters = () => [{\n type: ElementRef\n}, {\n type: NgZone\n}, {\n type: Renderer2\n}];\n__decorate([Output('mwlKeydownEnter'), __metadata(\"design:type\", Object)], KeydownEnterDirective.prototype, \"keydown\", void 0);\nKeydownEnterDirective = __decorate([__metadata(\"design:paramtypes\", [ElementRef, NgZone, Renderer2])], KeydownEnterDirective);\nlet CalendarUtils = class CalendarUtils {\n constructor(dateAdapter) {\n this.dateAdapter = dateAdapter;\n }\n getMonthView(args) {\n return getMonthView(this.dateAdapter, args);\n }\n getWeekViewHeader(args) {\n return getWeekViewHeader(this.dateAdapter, args);\n }\n getWeekView(args) {\n return getWeekView(this.dateAdapter, args);\n }\n};\nCalendarUtils.ɵfac = function CalendarUtils_Factory(t) {\n return new (t || CalendarUtils)(ɵngcc0.ɵɵinject(DateAdapter));\n};\nCalendarUtils.ɵprov = /*@__PURE__*/ɵngcc0.ɵɵdefineInjectable({\n token: CalendarUtils,\n factory: function (t) {\n return CalendarUtils.ɵfac(t);\n }\n});\nCalendarUtils.ctorParameters = () => [{\n type: DateAdapter\n}];\nCalendarUtils = __decorate([__metadata(\"design:paramtypes\", [DateAdapter])], CalendarUtils);\n\n/**\n * This class is responsible for adding accessibility to the calendar.\n * You may override any of its methods via angulars DI to suit your requirements.\n * For example:\n *\n * ```typescript\n * import { A11yParams, CalendarA11y } from 'angular-calendar';\n * import { formatDate, I18nPluralPipe } from '@angular/common';\n * import { Injectable } from '@angular/core';\n *\n * // adding your own a11y params\n * export interface CustomA11yParams extends A11yParams {\n * isDrSuess?: boolean;\n * }\n *\n * @Injectable()\n * export class CustomCalendarA11y extends CalendarA11y {\n * constructor(protected i18nPlural: I18nPluralPipe) {\n * super(i18nPlural);\n * }\n *\n * // overriding a function\n * public openDayEventsLandmark({ date, locale, isDrSuess }: CustomA11yParams): string {\n * if (isDrSuess) {\n * return `\n * ${formatDate(date, 'EEEE MMMM d', locale)}\n * Today you are you! That is truer than true! There is no one alive\n * who is you-er than you!\n * `;\n * }\n * }\n * }\n *\n * // in your component that uses the calendar\n * providers: [{\n * provide: CalendarA11y,\n * useClass: CustomCalendarA11y\n * }]\n * ```\n */\nlet CalendarA11y = class CalendarA11y {\n constructor(i18nPlural) {\n this.i18nPlural = i18nPlural;\n }\n /**\n * Aria label for the badges/date of a cell\n * @example: `Saturday October 19 1 event click to expand`\n */\n monthCell({\n day,\n locale\n }) {\n if (day.badgeTotal > 0) {\n return `\n ${formatDate(day.date, 'EEEE MMMM d', locale)},\n ${this.i18nPlural.transform(day.badgeTotal, {\n '=0': 'No events',\n '=1': 'One event',\n other: '# events'\n })},\n click to expand\n `;\n } else {\n return `${formatDate(day.date, 'EEEE MMMM d', locale)}`;\n }\n }\n /**\n * Aria label for the open day events start landmark\n * @example: `Saturday October 19 expanded view`\n */\n openDayEventsLandmark({\n date,\n locale\n }) {\n return `\n Beginning of expanded view for ${formatDate(date, 'EEEE MMMM dd', locale)}\n `;\n }\n /**\n * Aria label for alert that a day in the month view was expanded\n * @example: `Saturday October 19 expanded`\n */\n openDayEventsAlert({\n date,\n locale\n }) {\n return `${formatDate(date, 'EEEE MMMM dd', locale)} expanded`;\n }\n /**\n * Descriptive aria label for an event\n * @example: `Saturday October 19th, Scott's Pizza Party, from 11:00am to 5:00pm`\n */\n eventDescription({\n event,\n locale\n }) {\n if (event.allDay === true) {\n return this.allDayEventDescription({\n event,\n locale\n });\n }\n const aria = `\n ${formatDate(event.start, 'EEEE MMMM dd', locale)},\n ${event.title}, from ${formatDate(event.start, 'hh:mm a', locale)}\n `;\n if (event.end) {\n return aria + ` to ${formatDate(event.end, 'hh:mm a', locale)}`;\n }\n return aria;\n }\n /**\n * Descriptive aria label for an all day event\n * @example:\n * `Scott's Party, event spans multiple days: start time October 19 5:00pm, no stop time`\n */\n allDayEventDescription({\n event,\n locale\n }) {\n const aria = `\n ${event.title}, event spans multiple days:\n start time ${formatDate(event.start, 'MMMM dd hh:mm a', locale)}\n `;\n if (event.end) {\n return aria + `, stop time ${formatDate(event.end, 'MMMM d hh:mm a', locale)}`;\n }\n return aria + `, no stop time`;\n }\n /**\n * Aria label for the calendar event actions icons\n * @returns 'Edit' for fa-pencil icons, and 'Delete' for fa-times icons\n */\n actionButtonLabel({\n action\n }) {\n return action.a11yLabel;\n }\n /**\n * @returns {number} Tab index to be given to month cells\n */\n monthCellTabIndex() {\n return 0;\n }\n /**\n * @returns true if the events inside the month cell should be aria-hidden\n */\n hideMonthCellEvents() {\n return true;\n }\n /**\n * @returns true if event titles should be aria-hidden (global)\n */\n hideEventTitle() {\n return true;\n }\n /**\n * @returns true if hour segments in the week view should be aria-hidden\n */\n hideWeekHourSegment() {\n return true;\n }\n /**\n * @returns true if hour segments in the day view should be aria-hidden\n */\n hideDayHourSegment() {\n return true;\n }\n};\nCalendarA11y.ɵfac = function CalendarA11y_Factory(t) {\n return new (t || CalendarA11y)(ɵngcc0.ɵɵinject(ɵngcc1.I18nPluralPipe));\n};\nCalendarA11y.ɵprov = /*@__PURE__*/ɵngcc0.ɵɵdefineInjectable({\n token: CalendarA11y,\n factory: function (t) {\n return CalendarA11y.ɵfac(t);\n }\n});\nCalendarA11y.ctorParameters = () => [{\n type: I18nPluralPipe\n}];\nCalendarA11y = __decorate([__metadata(\"design:paramtypes\", [I18nPluralPipe])], CalendarA11y);\n\n/**\n * This pipe is primarily for rendering aria labels. Example usage:\n * ```typescript\n * // where `myEvent` is a `CalendarEvent` and myLocale is a locale identifier\n * {{ { event: myEvent, locale: myLocale } | calendarA11y: 'eventDescription' }}\n * ```\n */\nlet CalendarA11yPipe = class CalendarA11yPipe {\n constructor(calendarA11y, locale) {\n this.calendarA11y = calendarA11y;\n this.locale = locale;\n }\n transform(a11yParams, method) {\n a11yParams.locale = a11yParams.locale || this.locale;\n if (typeof this.calendarA11y[method] === 'undefined') {\n const allowedMethods = Object.getOwnPropertyNames(Object.getPrototypeOf(CalendarA11y.prototype)).filter(iMethod => iMethod !== 'constructor');\n throw new Error(`${method} is not a valid a11y method. Can only be one of ${allowedMethods.join(', ')}`);\n }\n return this.calendarA11y[method](a11yParams);\n }\n};\nCalendarA11yPipe.ɵfac = function CalendarA11yPipe_Factory(t) {\n return new (t || CalendarA11yPipe)(ɵngcc0.ɵɵdirectiveInject(CalendarA11y, 16), ɵngcc0.ɵɵdirectiveInject(LOCALE_ID, 16));\n};\nCalendarA11yPipe.ɵpipe = /*@__PURE__*/ɵngcc0.ɵɵdefinePipe({\n name: \"calendarA11y\",\n type: CalendarA11yPipe,\n pure: true\n});\nCalendarA11yPipe.ctorParameters = () => [{\n type: CalendarA11y\n}, {\n type: String,\n decorators: [{\n type: Inject,\n args: [LOCALE_ID]\n }]\n}];\nCalendarA11yPipe = __decorate([__param(1, Inject(LOCALE_ID)), __metadata(\"design:paramtypes\", [CalendarA11y, String])], CalendarA11yPipe);\nconst MOMENT = new InjectionToken('Moment');\n/**\n * This will use moment to do all date formatting. To use this class:\n *\n * ```typescript\n * import { CalendarDateFormatter, CalendarMomentDateFormatter, MOMENT } from 'angular-calendar';\n * import moment from 'moment';\n *\n * // in your component\n * provide: [{\n * provide: MOMENT, useValue: moment\n * }, {\n * provide: CalendarDateFormatter, useClass: CalendarMomentDateFormatter\n * }]\n *\n * ```\n */\nlet CalendarMomentDateFormatter = class CalendarMomentDateFormatter {\n /**\n * @hidden\n */\n constructor(moment, dateAdapter) {\n this.moment = moment;\n this.dateAdapter = dateAdapter;\n }\n /**\n * The month view header week day labels\n */\n monthViewColumnHeader({\n date,\n locale\n }) {\n return this.moment(date).locale(locale).format('dddd');\n }\n /**\n * The month view cell day number\n */\n monthViewDayNumber({\n date,\n locale\n }) {\n return this.moment(date).locale(locale).format('D');\n }\n /**\n * The month view title\n */\n monthViewTitle({\n date,\n locale\n }) {\n return this.moment(date).locale(locale).format('MMMM YYYY');\n }\n /**\n * The week view header week day labels\n */\n weekViewColumnHeader({\n date,\n locale\n }) {\n return this.moment(date).locale(locale).format('dddd');\n }\n /**\n * The week view sub header day and month labels\n */\n weekViewColumnSubHeader({\n date,\n locale\n }) {\n return this.moment(date).locale(locale).format('MMM D');\n }\n /**\n * The week view title\n */\n weekViewTitle({\n date,\n locale,\n weekStartsOn,\n excludeDays,\n daysInWeek\n }) {\n const {\n viewStart,\n viewEnd\n } = getWeekViewPeriod(this.dateAdapter, date, weekStartsOn, excludeDays, daysInWeek);\n const format = (dateToFormat, showYear) => this.moment(dateToFormat).locale(locale).format('MMM D' + (showYear ? ', YYYY' : ''));\n return `${format(viewStart, viewStart.getUTCFullYear() !== viewEnd.getUTCFullYear())} - ${format(viewEnd, true)}`;\n }\n /**\n * The time formatting down the left hand side of the week view\n */\n weekViewHour({\n date,\n locale\n }) {\n return this.moment(date).locale(locale).format('ha');\n }\n /**\n * The time formatting down the left hand side of the day view\n */\n dayViewHour({\n date,\n locale\n }) {\n return this.moment(date).locale(locale).format('ha');\n }\n /**\n * The day view title\n */\n dayViewTitle({\n date,\n locale\n }) {\n return this.moment(date).locale(locale).format('dddd, D MMMM, YYYY');\n }\n};\nCalendarMomentDateFormatter.ɵfac = function CalendarMomentDateFormatter_Factory(t) {\n return new (t || CalendarMomentDateFormatter)(ɵngcc0.ɵɵinject(MOMENT), ɵngcc0.ɵɵinject(DateAdapter));\n};\nCalendarMomentDateFormatter.ɵprov = /*@__PURE__*/ɵngcc0.ɵɵdefineInjectable({\n token: CalendarMomentDateFormatter,\n factory: function (t) {\n return CalendarMomentDateFormatter.ɵfac(t);\n }\n});\nCalendarMomentDateFormatter.ctorParameters = () => [{\n type: undefined,\n decorators: [{\n type: Inject,\n args: [MOMENT]\n }]\n}, {\n type: DateAdapter\n}];\nCalendarMomentDateFormatter = __decorate([__param(0, Inject(MOMENT)), __metadata(\"design:paramtypes\", [Object, DateAdapter])], CalendarMomentDateFormatter);\n\n/**\n * This will use Intl API to do all date formatting.\n *\n * You will need to include a polyfill for older browsers.\n */\nlet CalendarNativeDateFormatter = class CalendarNativeDateFormatter {\n constructor(dateAdapter) {\n this.dateAdapter = dateAdapter;\n }\n /**\n * The month view header week day labels\n */\n monthViewColumnHeader({\n date,\n locale\n }) {\n return new Intl.DateTimeFormat(locale, {\n weekday: 'long'\n }).format(date);\n }\n /**\n * The month view cell day number\n */\n monthViewDayNumber({\n date,\n locale\n }) {\n return new Intl.DateTimeFormat(locale, {\n day: 'numeric'\n }).format(date);\n }\n /**\n * The month view title\n */\n monthViewTitle({\n date,\n locale\n }) {\n return new Intl.DateTimeFormat(locale, {\n year: 'numeric',\n month: 'long'\n }).format(date);\n }\n /**\n * The week view header week day labels\n */\n weekViewColumnHeader({\n date,\n locale\n }) {\n return new Intl.DateTimeFormat(locale, {\n weekday: 'long'\n }).format(date);\n }\n /**\n * The week view sub header day and month labels\n */\n weekViewColumnSubHeader({\n date,\n locale\n }) {\n return new Intl.DateTimeFormat(locale, {\n day: 'numeric',\n month: 'short'\n }).format(date);\n }\n /**\n * The week view title\n */\n weekViewTitle({\n date,\n locale,\n weekStartsOn,\n excludeDays,\n daysInWeek\n }) {\n const {\n viewStart,\n viewEnd\n } = getWeekViewPeriod(this.dateAdapter, date, weekStartsOn, excludeDays, daysInWeek);\n const format = (dateToFormat, showYear) => new Intl.DateTimeFormat(locale, {\n day: 'numeric',\n month: 'short',\n year: showYear ? 'numeric' : undefined\n }).format(dateToFormat);\n return `${format(viewStart, viewStart.getUTCFullYear() !== viewEnd.getUTCFullYear())} - ${format(viewEnd, true)}`;\n }\n /**\n * The time formatting down the left hand side of the week view\n */\n weekViewHour({\n date,\n locale\n }) {\n return new Intl.DateTimeFormat(locale, {\n hour: 'numeric'\n }).format(date);\n }\n /**\n * The time formatting down the left hand side of the day view\n */\n dayViewHour({\n date,\n locale\n }) {\n return new Intl.DateTimeFormat(locale, {\n hour: 'numeric'\n }).format(date);\n }\n /**\n * The day view title\n */\n dayViewTitle({\n date,\n locale\n }) {\n return new Intl.DateTimeFormat(locale, {\n day: 'numeric',\n month: 'long',\n year: 'numeric',\n weekday: 'long'\n }).format(date);\n }\n};\nCalendarNativeDateFormatter.ɵfac = function CalendarNativeDateFormatter_Factory(t) {\n return new (t || CalendarNativeDateFormatter)(ɵngcc0.ɵɵinject(DateAdapter));\n};\nCalendarNativeDateFormatter.ɵprov = /*@__PURE__*/ɵngcc0.ɵɵdefineInjectable({\n token: CalendarNativeDateFormatter,\n factory: function (t) {\n return CalendarNativeDateFormatter.ɵfac(t);\n }\n});\nCalendarNativeDateFormatter.ctorParameters = () => [{\n type: DateAdapter\n}];\nCalendarNativeDateFormatter = __decorate([__metadata(\"design:paramtypes\", [DateAdapter])], CalendarNativeDateFormatter);\nvar CalendarEventTimesChangedEventType;\n(function (CalendarEventTimesChangedEventType) {\n CalendarEventTimesChangedEventType[\"Drag\"] = \"drag\";\n CalendarEventTimesChangedEventType[\"Drop\"] = \"drop\";\n CalendarEventTimesChangedEventType[\"Resize\"] = \"resize\";\n})(CalendarEventTimesChangedEventType || (CalendarEventTimesChangedEventType = {}));\nvar CalendarCommonModule_1;\n/**\n * Import this module to if you're just using a singular view and want to save on bundle size. Example usage:\n *\n * ```typescript\n * import { CalendarCommonModule, CalendarMonthModule } from 'angular-calendar';\n *\n * @NgModule({\n * imports: [\n * CalendarCommonModule.forRoot(),\n * CalendarMonthModule\n * ]\n * })\n * class MyModule {}\n * ```\n *\n */\nlet CalendarCommonModule = CalendarCommonModule_1 = class CalendarCommonModule {\n static forRoot(dateAdapter, config = {}) {\n return {\n ngModule: CalendarCommonModule_1,\n providers: [dateAdapter, config.eventTitleFormatter || CalendarEventTitleFormatter, config.dateFormatter || CalendarDateFormatter, config.utils || CalendarUtils, config.a11y || CalendarA11y]\n };\n }\n};\nCalendarCommonModule.ɵfac = function CalendarCommonModule_Factory(t) {\n return new (t || CalendarCommonModule)();\n};\nCalendarCommonModule.ɵmod = /*@__PURE__*/ɵngcc0.ɵɵdefineNgModule({\n type: CalendarCommonModule\n});\nCalendarCommonModule.ɵinj = /*@__PURE__*/ɵngcc0.ɵɵdefineInjector({\n providers: [I18nPluralPipe],\n imports: [CommonModule]\n});\n\n/**\n * Shows all events on a given month. Example usage:\n *\n * ```typescript\n *