mirror of
https://code.equilibrium.co.ao/ITO/doneit-web.git
synced 2026-04-18 20:47:54 +00:00
1 line
734 KiB
JSON
1 line
734 KiB
JSON
{"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 * <button\n * mwlCalendarPreviousView\n * [(viewDate)]=\"viewDate\"\n * [view]=\"view\">\n * Previous\n * </button>\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 * <button\n * mwlCalendarNextView\n * [(viewDate)]=\"viewDate\"\n * [view]=\"view\">\n * Next\n * </button>\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 * <button\n * mwlCalendarToday\n * [(viewDate)]=\"viewDate\">\n * Today\n * </button>\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 <a href=\"https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/Intl\" target=\"_blank\">Intl</a> API to format dates, or there is the `CalendarMomentDateFormatter` which uses <a href=\"http://momentjs.com/\" target=\"_blank\">moment</a>.\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 <a href=\"http://momentjs.com/\" target=\"_blank\">moment</a> 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 <a href=\"https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/Intl\" target=\"_blank\">Intl</a> API to do all date formatting.\n *\n * You will need to include a <a href=\"https://github.com/andyearnshaw/Intl.js/\">polyfill</a> 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 * <mwl-calendar-month-view\n * [viewDate]=\"viewDate\"\n * [events]=\"events\">\n * </mwl-calendar-month-view>\n * ```\n */\nlet CalendarMonthViewComponent = class CalendarMonthViewComponent {\n /**\n * @hidden\n */\n constructor(cdr, utils, locale, dateAdapter) {\n this.cdr = cdr;\n this.utils = utils;\n this.dateAdapter = dateAdapter;\n /**\n * An array of events to display on view.\n * The schema is available here: https://github.com/mattlewis92/calendar-utils/blob/c51689985f59a271940e30bc4e2c4e1fee3fcb5c/src/calendarUtils.ts#L49-L63\n */\n this.events = [];\n /**\n * An array of day indexes (0 = sunday, 1 = monday etc) that will be hidden on the view\n */\n this.excludeDays = [];\n /**\n * Whether the events list for the day of the `viewDate` option is visible or not\n */\n this.activeDayIsOpen = false;\n /**\n * The placement of the event tooltip\n */\n this.tooltipPlacement = 'auto';\n /**\n * Whether to append tooltips to the body or next to the trigger element\n */\n this.tooltipAppendToBody = true;\n /**\n * The delay in milliseconds before the tooltip should be displayed. If not provided the tooltip\n * will be displayed immediately.\n */\n this.tooltipDelay = null;\n /**\n * An output that will be called before the view is rendered for the current month.\n * If you add the `cssClass` property to a day in the body it will add that class to the cell element in the template\n */\n this.beforeViewRender = new EventEmitter();\n /**\n * Called when the day cell is clicked\n */\n this.dayClicked = new EventEmitter();\n /**\n * Called when the event title is clicked\n */\n this.eventClicked = new EventEmitter();\n /**\n * Called when a header week day is clicked. Returns ISO day number.\n */\n this.columnHeaderClicked = new EventEmitter();\n /**\n * Called when an event is dragged and dropped\n */\n this.eventTimesChanged = new EventEmitter();\n /**\n * @hidden\n */\n this.trackByRowOffset = (index, offset) => this.view.days.slice(offset, this.view.totalDaysVisibleInWeek).map(day => day.date.toISOString()).join('-');\n /**\n * @hidden\n */\n this.trackByDate = (index, day) => day.date.toISOString();\n this.locale = locale;\n }\n /**\n * @hidden\n */\n ngOnInit() {\n if (this.refresh) {\n this.refreshSubscription = this.refresh.subscribe(() => {\n this.refreshAll();\n this.cdr.markForCheck();\n });\n }\n }\n /**\n * @hidden\n */\n ngOnChanges(changes) {\n const refreshHeader = changes.viewDate || changes.excludeDays || changes.weekendDays;\n const refreshBody = changes.viewDate || changes.events || changes.excludeDays || changes.weekendDays;\n if (refreshHeader) {\n this.refreshHeader();\n }\n if (changes.events) {\n validateEvents(this.events);\n }\n if (refreshBody) {\n this.refreshBody();\n }\n if (refreshHeader || refreshBody) {\n this.emitBeforeViewRender();\n }\n if (changes.activeDayIsOpen || changes.viewDate || changes.events || changes.excludeDays || changes.activeDay) {\n this.checkActiveDayIsOpen();\n }\n }\n /**\n * @hidden\n */\n ngOnDestroy() {\n if (this.refreshSubscription) {\n this.refreshSubscription.unsubscribe();\n }\n }\n /**\n * @hidden\n */\n toggleDayHighlight(event, isHighlighted) {\n this.view.days.forEach(day => {\n if (isHighlighted && day.events.indexOf(event) > -1) {\n day.backgroundColor = event.color && event.color.secondary || '#D1E8FF';\n } else {\n delete day.backgroundColor;\n }\n });\n }\n /**\n * @hidden\n */\n eventDropped(droppedOn, event, draggedFrom) {\n if (droppedOn !== draggedFrom) {\n const year = this.dateAdapter.getYear(droppedOn.date);\n const month = this.dateAdapter.getMonth(droppedOn.date);\n const date = this.dateAdapter.getDate(droppedOn.date);\n const newStart = this.dateAdapter.setDate(this.dateAdapter.setMonth(this.dateAdapter.setYear(event.start, year), month), date);\n let newEnd;\n if (event.end) {\n const secondsDiff = this.dateAdapter.differenceInSeconds(newStart, event.start);\n newEnd = this.dateAdapter.addSeconds(event.end, secondsDiff);\n }\n this.eventTimesChanged.emit({\n event,\n newStart,\n newEnd,\n day: droppedOn,\n type: CalendarEventTimesChangedEventType.Drop\n });\n }\n }\n refreshHeader() {\n this.columnHeaders = this.utils.getWeekViewHeader({\n viewDate: this.viewDate,\n weekStartsOn: this.weekStartsOn,\n excluded: this.excludeDays,\n weekendDays: this.weekendDays\n });\n }\n refreshBody() {\n this.view = this.utils.getMonthView({\n events: this.events,\n viewDate: this.viewDate,\n weekStartsOn: this.weekStartsOn,\n excluded: this.excludeDays,\n weekendDays: this.weekendDays\n });\n }\n checkActiveDayIsOpen() {\n if (this.activeDayIsOpen === true) {\n const activeDay = this.activeDay || this.viewDate;\n this.openDay = this.view.days.find(day => this.dateAdapter.isSameDay(day.date, activeDay));\n const index = this.view.days.indexOf(this.openDay);\n this.openRowIndex = Math.floor(index / this.view.totalDaysVisibleInWeek) * this.view.totalDaysVisibleInWeek;\n } else {\n this.openRowIndex = null;\n this.openDay = null;\n }\n }\n refreshAll() {\n this.refreshHeader();\n this.refreshBody();\n this.emitBeforeViewRender();\n this.checkActiveDayIsOpen();\n }\n emitBeforeViewRender() {\n if (this.columnHeaders && this.view) {\n this.beforeViewRender.emit({\n header: this.columnHeaders,\n body: this.view.days,\n period: this.view.period\n });\n }\n }\n};\nCalendarMonthViewComponent.ɵfac = function CalendarMonthViewComponent_Factory(t) {\n return new (t || CalendarMonthViewComponent)(ɵngcc0.ɵɵdirectiveInject(ɵngcc0.ChangeDetectorRef), ɵngcc0.ɵɵdirectiveInject(CalendarUtils), ɵngcc0.ɵɵdirectiveInject(LOCALE_ID), ɵngcc0.ɵɵdirectiveInject(DateAdapter));\n};\nCalendarMonthViewComponent.ɵcmp = /*@__PURE__*/ɵngcc0.ɵɵdefineComponent({\n type: CalendarMonthViewComponent,\n selectors: [[\"mwl-calendar-month-view\"]],\n inputs: {\n events: \"events\",\n excludeDays: \"excludeDays\",\n activeDayIsOpen: \"activeDayIsOpen\",\n tooltipPlacement: \"tooltipPlacement\",\n tooltipAppendToBody: \"tooltipAppendToBody\",\n tooltipDelay: \"tooltipDelay\",\n locale: \"locale\",\n viewDate: \"viewDate\",\n activeDay: \"activeDay\",\n refresh: \"refresh\",\n tooltipTemplate: \"tooltipTemplate\",\n weekStartsOn: \"weekStartsOn\",\n headerTemplate: \"headerTemplate\",\n cellTemplate: \"cellTemplate\",\n openDayEventsTemplate: \"openDayEventsTemplate\",\n eventTitleTemplate: \"eventTitleTemplate\",\n eventActionsTemplate: \"eventActionsTemplate\",\n weekendDays: \"weekendDays\"\n },\n outputs: {\n beforeViewRender: \"beforeViewRender\",\n dayClicked: \"dayClicked\",\n eventClicked: \"eventClicked\",\n columnHeaderClicked: \"columnHeaderClicked\",\n eventTimesChanged: \"eventTimesChanged\"\n },\n features: [ɵngcc0.ɵɵNgOnChangesFeature],\n decls: 4,\n vars: 5,\n consts: [[\"role\", \"grid\", 1, \"cal-month-view\"], [3, \"days\", \"locale\", \"customTemplate\", \"columnHeaderClicked\"], [1, \"cal-days\"], [4, \"ngFor\", \"ngForOf\", \"ngForTrackBy\"], [\"role\", \"row\", 1, \"cal-cell-row\"], [\"role\", \"gridcell\", \"mwlDroppable\", \"\", \"dragOverClass\", \"cal-drag-over\", 3, \"ngClass\", \"day\", \"openDay\", \"locale\", \"tooltipPlacement\", \"tooltipAppendToBody\", \"tooltipTemplate\", \"tooltipDelay\", \"customTemplate\", \"ngStyle\", \"clickListenerDisabled\", \"mwlClick\", \"mwlKeydownEnter\", \"highlightDay\", \"unhighlightDay\", \"drop\", \"eventClicked\", 4, \"ngFor\", \"ngForOf\", \"ngForTrackBy\"], [\"mwlDroppable\", \"\", \"dragOverClass\", \"cal-drag-over\", 3, \"locale\", \"isOpen\", \"events\", \"date\", \"customTemplate\", \"eventTitleTemplate\", \"eventActionsTemplate\", \"eventClicked\", \"drop\"], [\"role\", \"gridcell\", \"mwlDroppable\", \"\", \"dragOverClass\", \"cal-drag-over\", 3, \"ngClass\", \"day\", \"openDay\", \"locale\", \"tooltipPlacement\", \"tooltipAppendToBody\", \"tooltipTemplate\", \"tooltipDelay\", \"customTemplate\", \"ngStyle\", \"clickListenerDisabled\", \"mwlClick\", \"mwlKeydownEnter\", \"highlightDay\", \"unhighlightDay\", \"drop\", \"eventClicked\"]],\n template: function CalendarMonthViewComponent_Template(rf, ctx) {\n if (rf & 1) {\n ɵngcc0.ɵɵelementStart(0, \"div\", 0)(1, \"mwl-calendar-month-view-header\", 1);\n ɵngcc0.ɵɵlistener(\"columnHeaderClicked\", function CalendarMonthViewComponent_Template_mwl_calendar_month_view_header_columnHeaderClicked_1_listener($event) {\n return ctx.columnHeaderClicked.emit($event);\n });\n ɵngcc0.ɵɵelementEnd();\n ɵngcc0.ɵɵelementStart(2, \"div\", 2);\n ɵngcc0.ɵɵtemplate(3, CalendarMonthViewComponent_div_3_Template, 5, 13, \"div\", 3);\n ɵngcc0.ɵɵelementEnd()();\n }\n if (rf & 2) {\n ɵngcc0.ɵɵadvance(1);\n ɵngcc0.ɵɵproperty(\"days\", ctx.columnHeaders)(\"locale\", ctx.locale)(\"customTemplate\", ctx.headerTemplate);\n ɵngcc0.ɵɵadvance(2);\n ɵngcc0.ɵɵproperty(\"ngForOf\", ctx.view.rowOffsets)(\"ngForTrackBy\", ctx.trackByRowOffset);\n }\n },\n dependencies: function () {\n return [ɵngcc1.NgClass, ɵngcc1.NgForOf, ɵngcc1.NgStyle, ɵngcc2.ɵa, ClickDirective, KeydownEnterDirective, CalendarMonthCellComponent, CalendarOpenDayEventsComponent, CalendarMonthViewHeaderComponent, ɵngcc1.SlicePipe, CalendarA11yPipe];\n },\n encapsulation: 2\n});\nCalendarMonthViewComponent.ctorParameters = () => [{\n type: ChangeDetectorRef\n}, {\n type: CalendarUtils\n}, {\n type: String,\n decorators: [{\n type: Inject,\n args: [LOCALE_ID]\n }]\n}, {\n type: DateAdapter\n}];\n__decorate([Input(), __metadata(\"design:type\", Date)], CalendarMonthViewComponent.prototype, \"viewDate\", void 0);\n__decorate([Input(), __metadata(\"design:type\", Array)], CalendarMonthViewComponent.prototype, \"events\", void 0);\n__decorate([Input(), __metadata(\"design:type\", Array)], CalendarMonthViewComponent.prototype, \"excludeDays\", void 0);\n__decorate([Input(), __metadata(\"design:type\", Boolean)], CalendarMonthViewComponent.prototype, \"activeDayIsOpen\", void 0);\n__decorate([Input(), __metadata(\"design:type\", Date)], CalendarMonthViewComponent.prototype, \"activeDay\", void 0);\n__decorate([Input(), __metadata(\"design:type\", Subject)], CalendarMonthViewComponent.prototype, \"refresh\", void 0);\n__decorate([Input(), __metadata(\"design:type\", String)], CalendarMonthViewComponent.prototype, \"locale\", void 0);\n__decorate([Input(), __metadata(\"design:type\", Object)], CalendarMonthViewComponent.prototype, \"tooltipPlacement\", void 0);\n__decorate([Input(), __metadata(\"design:type\", TemplateRef)], CalendarMonthViewComponent.prototype, \"tooltipTemplate\", void 0);\n__decorate([Input(), __metadata(\"design:type\", Boolean)], CalendarMonthViewComponent.prototype, \"tooltipAppendToBody\", void 0);\n__decorate([Input(), __metadata(\"design:type\", Number)], CalendarMonthViewComponent.prototype, \"tooltipDelay\", void 0);\n__decorate([Input(), __metadata(\"design:type\", Number)], CalendarMonthViewComponent.prototype, \"weekStartsOn\", void 0);\n__decorate([Input(), __metadata(\"design:type\", TemplateRef)], CalendarMonthViewComponent.prototype, \"headerTemplate\", void 0);\n__decorate([Input(), __metadata(\"design:type\", TemplateRef)], CalendarMonthViewComponent.prototype, \"cellTemplate\", void 0);\n__decorate([Input(), __metadata(\"design:type\", TemplateRef)], CalendarMonthViewComponent.prototype, \"openDayEventsTemplate\", void 0);\n__decorate([Input(), __metadata(\"design:type\", TemplateRef)], CalendarMonthViewComponent.prototype, \"eventTitleTemplate\", void 0);\n__decorate([Input(), __metadata(\"design:type\", TemplateRef)], CalendarMonthViewComponent.prototype, \"eventActionsTemplate\", void 0);\n__decorate([Input(), __metadata(\"design:type\", Array)], CalendarMonthViewComponent.prototype, \"weekendDays\", void 0);\n__decorate([Output(), __metadata(\"design:type\", Object)], CalendarMonthViewComponent.prototype, \"beforeViewRender\", void 0);\n__decorate([Output(), __metadata(\"design:type\", Object)], CalendarMonthViewComponent.prototype, \"dayClicked\", void 0);\n__decorate([Output(), __metadata(\"design:type\", Object)], CalendarMonthViewComponent.prototype, \"eventClicked\", void 0);\n__decorate([Output(), __metadata(\"design:type\", Object)], CalendarMonthViewComponent.prototype, \"columnHeaderClicked\", void 0);\n__decorate([Output(), __metadata(\"design:type\", Object)], CalendarMonthViewComponent.prototype, \"eventTimesChanged\", void 0);\nCalendarMonthViewComponent = __decorate([__param(2, Inject(LOCALE_ID)), __metadata(\"design:paramtypes\", [ChangeDetectorRef, CalendarUtils, String, DateAdapter])], CalendarMonthViewComponent);\nlet CalendarMonthViewHeaderComponent = class CalendarMonthViewHeaderComponent {\n constructor() {\n this.columnHeaderClicked = new EventEmitter();\n this.trackByWeekDayHeaderDate = trackByWeekDayHeaderDate;\n }\n};\nCalendarMonthViewHeaderComponent.ɵfac = function CalendarMonthViewHeaderComponent_Factory(t) {\n return new (t || CalendarMonthViewHeaderComponent)();\n};\nCalendarMonthViewHeaderComponent.ɵcmp = /*@__PURE__*/ɵngcc0.ɵɵdefineComponent({\n type: CalendarMonthViewHeaderComponent,\n selectors: [[\"mwl-calendar-month-view-header\"]],\n inputs: {\n days: \"days\",\n locale: \"locale\",\n customTemplate: \"customTemplate\"\n },\n outputs: {\n columnHeaderClicked: \"columnHeaderClicked\"\n },\n decls: 3,\n vars: 6,\n consts: [[\"defaultTemplate\", \"\"], [3, \"ngTemplateOutlet\", \"ngTemplateOutletContext\"], [\"role\", \"row\", 1, \"cal-cell-row\", \"cal-header\"], [\"class\", \"cal-cell\", \"tabindex\", \"0\", \"role\", \"columnheader\", 3, \"cal-past\", \"cal-today\", \"cal-future\", \"cal-weekend\", \"ngClass\", \"click\", 4, \"ngFor\", \"ngForOf\", \"ngForTrackBy\"], [\"tabindex\", \"0\", \"role\", \"columnheader\", 1, \"cal-cell\", 3, \"ngClass\", \"click\"]],\n template: function CalendarMonthViewHeaderComponent_Template(rf, ctx) {\n if (rf & 1) {\n ɵngcc0.ɵɵtemplate(0, CalendarMonthViewHeaderComponent_ng_template_0_Template, 2, 2, \"ng-template\", null, 0, ɵngcc0.ɵɵtemplateRefExtractor);\n ɵngcc0.ɵɵtemplate(2, CalendarMonthViewHeaderComponent_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, _c6, ctx.days, ctx.locale, ctx.trackByWeekDayHeaderDate));\n }\n },\n dependencies: [ɵngcc1.NgClass, ɵngcc1.NgForOf, ɵngcc1.NgTemplateOutlet, CalendarDatePipe],\n encapsulation: 2\n});\n__decorate([Input(), __metadata(\"design:type\", Array)], CalendarMonthViewHeaderComponent.prototype, \"days\", void 0);\n__decorate([Input(), __metadata(\"design:type\", String)], CalendarMonthViewHeaderComponent.prototype, \"locale\", void 0);\n__decorate([Input(), __metadata(\"design:type\", TemplateRef)], CalendarMonthViewHeaderComponent.prototype, \"customTemplate\", void 0);\n__decorate([Output(), __metadata(\"design:type\", Object)], CalendarMonthViewHeaderComponent.prototype, \"columnHeaderClicked\", void 0);\nlet CalendarMonthCellComponent = class CalendarMonthCellComponent {\n constructor() {\n this.highlightDay = new EventEmitter();\n this.unhighlightDay = new EventEmitter();\n this.eventClicked = new EventEmitter();\n this.trackByEventId = trackByEventId;\n this.validateDrag = isWithinThreshold;\n }\n};\nCalendarMonthCellComponent.ɵfac = function CalendarMonthCellComponent_Factory(t) {\n return new (t || CalendarMonthCellComponent)();\n};\nCalendarMonthCellComponent.ɵcmp = /*@__PURE__*/ɵngcc0.ɵɵdefineComponent({\n type: CalendarMonthCellComponent,\n selectors: [[\"mwl-calendar-month-cell\"]],\n hostAttrs: [1, \"cal-cell\", \"cal-day-cell\"],\n hostVars: 18,\n hostBindings: function CalendarMonthCellComponent_HostBindings(rf, ctx) {\n if (rf & 2) {\n ɵngcc0.ɵɵclassProp(\"cal-past\", ctx.day.isPast)(\"cal-today\", ctx.day.isToday)(\"cal-future\", ctx.day.isFuture)(\"cal-weekend\", ctx.day.isWeekend)(\"cal-in-month\", ctx.day.inMonth)(\"cal-out-month\", !ctx.day.inMonth)(\"cal-has-events\", ctx.day.events.length > 0)(\"cal-open\", ctx.day === ctx.openDay)(\"cal-event-highlight\", !!ctx.day.backgroundColor);\n }\n },\n inputs: {\n day: \"day\",\n openDay: \"openDay\",\n locale: \"locale\",\n tooltipPlacement: \"tooltipPlacement\",\n tooltipAppendToBody: \"tooltipAppendToBody\",\n customTemplate: \"customTemplate\",\n tooltipTemplate: \"tooltipTemplate\",\n tooltipDelay: \"tooltipDelay\"\n },\n outputs: {\n highlightDay: \"highlightDay\",\n unhighlightDay: \"unhighlightDay\",\n eventClicked: \"eventClicked\"\n },\n decls: 3,\n vars: 15,\n consts: [[\"defaultTemplate\", \"\"], [3, \"ngTemplateOutlet\", \"ngTemplateOutletContext\"], [1, \"cal-cell-top\"], [\"aria-hidden\", \"true\"], [\"class\", \"cal-day-badge\", 4, \"ngIf\"], [1, \"cal-day-number\"], [\"class\", \"cal-events\", 4, \"ngIf\"], [1, \"cal-day-badge\"], [1, \"cal-events\"], [\"class\", \"cal-event\", \"mwlDraggable\", \"\", \"dragActiveClass\", \"cal-drag-active\", 3, \"ngStyle\", \"ngClass\", \"mwlCalendarTooltip\", \"tooltipPlacement\", \"tooltipEvent\", \"tooltipTemplate\", \"tooltipAppendToBody\", \"tooltipDelay\", \"cal-draggable\", \"dropData\", \"dragAxis\", \"validateDrag\", \"touchStartLongPress\", \"mouseenter\", \"mouseleave\", \"mwlClick\", 4, \"ngFor\", \"ngForOf\", \"ngForTrackBy\"], [\"mwlDraggable\", \"\", \"dragActiveClass\", \"cal-drag-active\", 1, \"cal-event\", 3, \"ngStyle\", \"ngClass\", \"mwlCalendarTooltip\", \"tooltipPlacement\", \"tooltipEvent\", \"tooltipTemplate\", \"tooltipAppendToBody\", \"tooltipDelay\", \"dropData\", \"dragAxis\", \"validateDrag\", \"touchStartLongPress\", \"mouseenter\", \"mouseleave\", \"mwlClick\"]],\n template: function CalendarMonthCellComponent_Template(rf, ctx) {\n if (rf & 1) {\n ɵngcc0.ɵɵtemplate(0, CalendarMonthCellComponent_ng_template_0_Template, 8, 14, \"ng-template\", null, 0, ɵngcc0.ɵɵtemplateRefExtractor);\n ɵngcc0.ɵɵtemplate(2, CalendarMonthCellComponent_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.ɵɵpureFunctionV(2, _c11, [ctx.day, ctx.openDay, ctx.locale, ctx.tooltipPlacement, ctx.highlightDay, ctx.unhighlightDay, ctx.eventClicked, ctx.tooltipTemplate, ctx.tooltipAppendToBody, ctx.tooltipDelay, ctx.trackByEventId, ctx.validateDrag]));\n }\n },\n dependencies: [ɵngcc1.NgClass, ɵngcc1.NgForOf, ɵngcc1.NgIf, ɵngcc1.NgTemplateOutlet, ɵngcc1.NgStyle, ɵngcc2.ɵb, CalendarTooltipDirective, ClickDirective, CalendarDatePipe, CalendarEventTitlePipe, CalendarA11yPipe],\n encapsulation: 2\n});\n__decorate([Input(), __metadata(\"design:type\", Object)], CalendarMonthCellComponent.prototype, \"day\", void 0);\n__decorate([Input(), __metadata(\"design:type\", Object)], CalendarMonthCellComponent.prototype, \"openDay\", void 0);\n__decorate([Input(), __metadata(\"design:type\", String)], CalendarMonthCellComponent.prototype, \"locale\", void 0);\n__decorate([Input(), __metadata(\"design:type\", Object)], CalendarMonthCellComponent.prototype, \"tooltipPlacement\", void 0);\n__decorate([Input(), __metadata(\"design:type\", Boolean)], CalendarMonthCellComponent.prototype, \"tooltipAppendToBody\", void 0);\n__decorate([Input(), __metadata(\"design:type\", TemplateRef)], CalendarMonthCellComponent.prototype, \"customTemplate\", void 0);\n__decorate([Input(), __metadata(\"design:type\", TemplateRef)], CalendarMonthCellComponent.prototype, \"tooltipTemplate\", void 0);\n__decorate([Input(), __metadata(\"design:type\", Number)], CalendarMonthCellComponent.prototype, \"tooltipDelay\", void 0);\n__decorate([Output(), __metadata(\"design:type\", EventEmitter)], CalendarMonthCellComponent.prototype, \"highlightDay\", void 0);\n__decorate([Output(), __metadata(\"design:type\", EventEmitter)], CalendarMonthCellComponent.prototype, \"unhighlightDay\", void 0);\n__decorate([Output(), __metadata(\"design:type\", Object)], CalendarMonthCellComponent.prototype, \"eventClicked\", void 0);\nconst collapseAnimation = trigger('collapse', [state('void', style({\n height: 0,\n overflow: 'hidden',\n 'padding-top': 0,\n 'padding-bottom': 0\n})), state('*', style({\n height: '*',\n overflow: 'hidden',\n 'padding-top': '*',\n 'padding-bottom': '*'\n})), transition('* => void', animate('150ms ease-out')), transition('void => *', animate('150ms ease-in'))]);\nlet CalendarOpenDayEventsComponent = class CalendarOpenDayEventsComponent {\n constructor() {\n this.isOpen = false;\n this.eventClicked = new EventEmitter();\n this.trackByEventId = trackByEventId;\n this.validateDrag = isWithinThreshold;\n }\n};\nCalendarOpenDayEventsComponent.ɵfac = function CalendarOpenDayEventsComponent_Factory(t) {\n return new (t || CalendarOpenDayEventsComponent)();\n};\nCalendarOpenDayEventsComponent.ɵcmp = /*@__PURE__*/ɵngcc0.ɵɵdefineComponent({\n type: CalendarOpenDayEventsComponent,\n selectors: [[\"mwl-calendar-open-day-events\"]],\n inputs: {\n isOpen: \"isOpen\",\n locale: \"locale\",\n events: \"events\",\n customTemplate: \"customTemplate\",\n eventTitleTemplate: \"eventTitleTemplate\",\n eventActionsTemplate: \"eventActionsTemplate\",\n date: \"date\"\n },\n outputs: {\n eventClicked: \"eventClicked\"\n },\n decls: 3,\n vars: 8,\n consts: [[\"defaultTemplate\", \"\"], [3, \"ngTemplateOutlet\", \"ngTemplateOutletContext\"], [\"class\", \"cal-open-day-events\", \"role\", \"application\", 4, \"ngIf\"], [\"role\", \"application\", 1, \"cal-open-day-events\"], [\"tabindex\", \"-1\", \"role\", \"alert\"], [\"tabindex\", \"0\", \"role\", \"landmark\"], [\"mwlDraggable\", \"\", \"dragActiveClass\", \"cal-drag-active\", 3, \"ngClass\", \"cal-draggable\", \"dropData\", \"dragAxis\", \"validateDrag\", \"touchStartLongPress\", 4, \"ngFor\", \"ngForOf\", \"ngForTrackBy\"], [\"mwlDraggable\", \"\", \"dragActiveClass\", \"cal-drag-active\", 3, \"ngClass\", \"dropData\", \"dragAxis\", \"validateDrag\", \"touchStartLongPress\"], [1, \"cal-event\", 3, \"ngStyle\"], [\"view\", \"month\", \"tabindex\", \"0\", 3, \"event\", \"customTemplate\", \"mwlClick\", \"mwlKeydownEnter\"], [3, \"event\", \"customTemplate\"]],\n template: function CalendarOpenDayEventsComponent_Template(rf, ctx) {\n if (rf & 1) {\n ɵngcc0.ɵɵtemplate(0, CalendarOpenDayEventsComponent_ng_template_0_Template, 1, 1, \"ng-template\", null, 0, ɵngcc0.ɵɵtemplateRefExtractor);\n ɵngcc0.ɵɵtemplate(2, CalendarOpenDayEventsComponent_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.ɵɵpureFunction5(2, _c15, ctx.events, ctx.eventClicked, ctx.isOpen, ctx.trackByEventId, ctx.validateDrag));\n }\n },\n dependencies: [ɵngcc1.NgClass, ɵngcc1.NgForOf, ɵngcc1.NgIf, ɵngcc1.NgTemplateOutlet, ɵngcc1.NgStyle, ɵngcc2.ɵb, CalendarEventActionsComponent, CalendarEventTitleComponent, ClickDirective, KeydownEnterDirective, CalendarA11yPipe],\n encapsulation: 2,\n data: {\n animation: [collapseAnimation]\n }\n});\n__decorate([Input(), __metadata(\"design:type\", String)], CalendarOpenDayEventsComponent.prototype, \"locale\", void 0);\n__decorate([Input(), __metadata(\"design:type\", Boolean)], CalendarOpenDayEventsComponent.prototype, \"isOpen\", void 0);\n__decorate([Input(), __metadata(\"design:type\", Array)], CalendarOpenDayEventsComponent.prototype, \"events\", void 0);\n__decorate([Input(), __metadata(\"design:type\", TemplateRef)], CalendarOpenDayEventsComponent.prototype, \"customTemplate\", void 0);\n__decorate([Input(), __metadata(\"design:type\", TemplateRef)], CalendarOpenDayEventsComponent.prototype, \"eventTitleTemplate\", void 0);\n__decorate([Input(), __metadata(\"design:type\", TemplateRef)], CalendarOpenDayEventsComponent.prototype, \"eventActionsTemplate\", void 0);\n__decorate([Input(), __metadata(\"design:type\", Date)], CalendarOpenDayEventsComponent.prototype, \"date\", void 0);\n__decorate([Output(), __metadata(\"design:type\", Object)], CalendarOpenDayEventsComponent.prototype, \"eventClicked\", void 0);\nlet CalendarMonthModule = class CalendarMonthModule {};\nCalendarMonthModule.ɵfac = function CalendarMonthModule_Factory(t) {\n return new (t || CalendarMonthModule)();\n};\nCalendarMonthModule.ɵmod = /*@__PURE__*/ɵngcc0.ɵɵdefineNgModule({\n type: CalendarMonthModule\n});\nCalendarMonthModule.ɵinj = /*@__PURE__*/ɵngcc0.ɵɵdefineInjector({\n imports: [CommonModule, DragAndDropModule, CalendarCommonModule, DragAndDropModule]\n});\nclass CalendarDragHelper {\n constructor(dragContainerElement, draggableElement) {\n this.dragContainerElement = dragContainerElement;\n this.startPosition = draggableElement.getBoundingClientRect();\n }\n validateDrag({\n x,\n y,\n snapDraggedEvents,\n dragAlreadyMoved,\n transform\n }) {\n if (snapDraggedEvents) {\n const newRect = Object.assign({}, this.startPosition, {\n left: this.startPosition.left + transform.x,\n right: this.startPosition.right + transform.x,\n top: this.startPosition.top + transform.y,\n bottom: this.startPosition.bottom + transform.y\n });\n return (isWithinThreshold({\n x,\n y\n }) || dragAlreadyMoved) && isInside(this.dragContainerElement.getBoundingClientRect(), newRect);\n } else {\n return isWithinThreshold({\n x,\n y\n }) || dragAlreadyMoved;\n }\n }\n}\nclass CalendarResizeHelper {\n constructor(resizeContainerElement, minWidth) {\n this.resizeContainerElement = resizeContainerElement;\n this.minWidth = minWidth;\n }\n validateResize({\n rectangle\n }) {\n if (this.minWidth && Math.ceil(rectangle.width) < Math.ceil(this.minWidth)) {\n return false;\n }\n return isInside(this.resizeContainerElement.getBoundingClientRect(), rectangle);\n }\n}\n\n/**\n * Shows all events on a given week. Example usage:\n *\n * ```typescript\n * <mwl-calendar-week-view\n * [viewDate]=\"viewDate\"\n * [events]=\"events\">\n * </mwl-calendar-week-view>\n * ```\n */\nlet CalendarWeekViewComponent = class CalendarWeekViewComponent {\n /**\n * @hidden\n */\n constructor(cdr, utils, locale, dateAdapter) {\n this.cdr = cdr;\n this.utils = utils;\n this.dateAdapter = dateAdapter;\n /**\n * An array of events to display on view\n * The schema is available here: https://github.com/mattlewis92/calendar-utils/blob/c51689985f59a271940e30bc4e2c4e1fee3fcb5c/src/calendarUtils.ts#L49-L63\n */\n this.events = [];\n /**\n * An array of day indexes (0 = sunday, 1 = monday etc) that will be hidden on the view\n */\n this.excludeDays = [];\n /**\n * The placement of the event tooltip\n */\n this.tooltipPlacement = 'auto';\n /**\n * Whether to append tooltips to the body or next to the trigger element\n */\n this.tooltipAppendToBody = true;\n /**\n * The delay in milliseconds before the tooltip should be displayed. If not provided the tooltip\n * will be displayed immediately.\n */\n this.tooltipDelay = null;\n /**\n * The precision to display events.\n * `days` will round event start and end dates to the nearest day and `minutes` will not do this rounding\n */\n this.precision = 'days';\n /**\n * Whether to snap events to a grid when dragging\n */\n this.snapDraggedEvents = true;\n /**\n * The number of segments in an hour. Must divide equally into 60.\n */\n this.hourSegments = 2;\n /**\n * The height in pixels of each hour segment\n */\n this.hourSegmentHeight = 30;\n /**\n * The day start hours in 24 hour time. Must be 0-23\n */\n this.dayStartHour = 0;\n /**\n * The day start minutes. Must be 0-59\n */\n this.dayStartMinute = 0;\n /**\n * The day end hours in 24 hour time. Must be 0-23\n */\n this.dayEndHour = 23;\n /**\n * The day end minutes. Must be 0-59\n */\n this.dayEndMinute = 59;\n /**\n * Called when a header week day is clicked. Adding a `cssClass` property on `$event.day` will add that class to the header element\n */\n this.dayHeaderClicked = new EventEmitter();\n /**\n * Called when the event title is clicked\n */\n this.eventClicked = new EventEmitter();\n /**\n * Called when an event is resized or dragged and dropped\n */\n this.eventTimesChanged = new EventEmitter();\n /**\n * An output that will be called before the view is rendered for the current week.\n * If you add the `cssClass` property to a day in the header it will add that class to the cell element in the template\n */\n this.beforeViewRender = new EventEmitter();\n /**\n * Called when an hour segment is clicked\n */\n this.hourSegmentClicked = new EventEmitter();\n /**\n * @hidden\n */\n this.allDayEventResizes = new Map();\n /**\n * @hidden\n */\n this.timeEventResizes = new Map();\n /**\n * @hidden\n */\n this.eventDragEnterByType = {\n allDay: 0,\n time: 0\n };\n /**\n * @hidden\n */\n this.dragActive = false;\n /**\n * @hidden\n */\n this.dragAlreadyMoved = false;\n /**\n * @hidden\n */\n this.calendarId = Symbol('angular calendar week view id');\n /**\n * @hidden\n */\n this.trackByWeekDayHeaderDate = trackByWeekDayHeaderDate;\n /**\n * @hidden\n */\n this.trackByHourSegment = trackByHourSegment;\n /**\n * @hidden\n */\n this.trackByHour = trackByHour;\n /**\n * @hidden\n */\n this.trackByWeekAllDayEvent = trackByWeekAllDayEvent;\n /**\n * @hidden\n */\n this.trackByWeekTimeEvent = trackByWeekTimeEvent;\n /**\n * @hidden\n */\n this.trackByHourColumn = (index, column) => column.hours[0] ? column.hours[0].segments[0].date.toISOString() : column;\n /**\n * @hidden\n */\n this.trackById = (index, row) => row.id;\n this.locale = locale;\n }\n /**\n * @hidden\n */\n ngOnInit() {\n if (this.refresh) {\n this.refreshSubscription = this.refresh.subscribe(() => {\n this.refreshAll();\n this.cdr.markForCheck();\n });\n }\n }\n /**\n * @hidden\n */\n ngOnChanges(changes) {\n const refreshHeader = changes.viewDate || changes.excludeDays || changes.weekendDays || changes.daysInWeek || changes.weekStartsOn;\n const refreshBody = changes.viewDate || changes.dayStartHour || changes.dayStartMinute || changes.dayEndHour || changes.dayEndMinute || changes.hourSegments || changes.weekStartsOn || changes.weekendDays || changes.excludeDays || changes.hourSegmentHeight || changes.events || changes.daysInWeek;\n if (refreshHeader) {\n this.refreshHeader();\n }\n if (changes.events) {\n validateEvents(this.events);\n }\n if (refreshBody) {\n this.refreshBody();\n }\n if (refreshHeader || refreshBody) {\n this.emitBeforeViewRender();\n }\n }\n /**\n * @hidden\n */\n ngOnDestroy() {\n if (this.refreshSubscription) {\n this.refreshSubscription.unsubscribe();\n }\n }\n /**\n * @hidden\n */\n timeEventResizeStarted(eventsContainer, timeEvent, resizeEvent) {\n this.timeEventResizes.set(timeEvent.event, resizeEvent);\n this.resizeStarted(eventsContainer);\n }\n /**\n * @hidden\n */\n timeEventResizing(timeEvent, resizeEvent) {\n this.timeEventResizes.set(timeEvent.event, resizeEvent);\n const adjustedEvents = new Map();\n const tempEvents = [...this.events];\n this.timeEventResizes.forEach((lastResizeEvent, event) => {\n const newEventDates = this.getTimeEventResizedDates(event, lastResizeEvent);\n const adjustedEvent = Object.assign(Object.assign({}, event), newEventDates);\n adjustedEvents.set(adjustedEvent, event);\n const eventIndex = tempEvents.indexOf(event);\n tempEvents[eventIndex] = adjustedEvent;\n });\n this.restoreOriginalEvents(tempEvents, adjustedEvents, true);\n }\n /**\n * @hidden\n */\n timeEventResizeEnded(timeEvent) {\n this.view = this.getWeekView(this.events);\n const lastResizeEvent = this.timeEventResizes.get(timeEvent.event);\n if (lastResizeEvent) {\n this.timeEventResizes.delete(timeEvent.event);\n const newEventDates = this.getTimeEventResizedDates(timeEvent.event, lastResizeEvent);\n this.eventTimesChanged.emit({\n newStart: newEventDates.start,\n newEnd: newEventDates.end,\n event: timeEvent.event,\n type: CalendarEventTimesChangedEventType.Resize\n });\n }\n }\n /**\n * @hidden\n */\n allDayEventResizeStarted(allDayEventsContainer, allDayEvent, resizeEvent) {\n this.allDayEventResizes.set(allDayEvent, {\n originalOffset: allDayEvent.offset,\n originalSpan: allDayEvent.span,\n edge: typeof resizeEvent.edges.left !== 'undefined' ? 'left' : 'right'\n });\n this.resizeStarted(allDayEventsContainer, this.getDayColumnWidth(allDayEventsContainer));\n }\n /**\n * @hidden\n */\n allDayEventResizing(allDayEvent, resizeEvent, dayWidth) {\n const currentResize = this.allDayEventResizes.get(allDayEvent);\n if (typeof resizeEvent.edges.left !== 'undefined') {\n const diff = Math.round(+resizeEvent.edges.left / dayWidth);\n allDayEvent.offset = currentResize.originalOffset + diff;\n allDayEvent.span = currentResize.originalSpan - diff;\n } else if (typeof resizeEvent.edges.right !== 'undefined') {\n const diff = Math.round(+resizeEvent.edges.right / dayWidth);\n allDayEvent.span = currentResize.originalSpan + diff;\n }\n }\n /**\n * @hidden\n */\n allDayEventResizeEnded(allDayEvent) {\n const currentResize = this.allDayEventResizes.get(allDayEvent);\n if (currentResize) {\n const allDayEventResizingBeforeStart = currentResize.edge === 'left';\n let daysDiff;\n if (allDayEventResizingBeforeStart) {\n daysDiff = allDayEvent.offset - currentResize.originalOffset;\n } else {\n daysDiff = allDayEvent.span - currentResize.originalSpan;\n }\n allDayEvent.offset = currentResize.originalOffset;\n allDayEvent.span = currentResize.originalSpan;\n let newStart = allDayEvent.event.start;\n let newEnd = allDayEvent.event.end || allDayEvent.event.start;\n if (allDayEventResizingBeforeStart) {\n newStart = addDaysWithExclusions(this.dateAdapter, newStart, daysDiff, this.excludeDays);\n } else {\n newEnd = addDaysWithExclusions(this.dateAdapter, newEnd, daysDiff, this.excludeDays);\n }\n this.eventTimesChanged.emit({\n newStart,\n newEnd,\n event: allDayEvent.event,\n type: CalendarEventTimesChangedEventType.Resize\n });\n this.allDayEventResizes.delete(allDayEvent);\n }\n }\n /**\n * @hidden\n */\n getDayColumnWidth(eventRowContainer) {\n return Math.floor(eventRowContainer.offsetWidth / this.days.length);\n }\n /**\n * @hidden\n */\n dateDragEnter(date) {\n this.lastDragEnterDate = date;\n }\n /**\n * @hidden\n */\n eventDropped(dropEvent, date, allDay) {\n if (shouldFireDroppedEvent(dropEvent, date, allDay, this.calendarId) && this.lastDragEnterDate.getTime() === date.getTime() && (!this.snapDraggedEvents || dropEvent.dropData.event !== this.lastDraggedEvent)) {\n this.eventTimesChanged.emit({\n type: CalendarEventTimesChangedEventType.Drop,\n event: dropEvent.dropData.event,\n newStart: date,\n allDay\n });\n }\n this.lastDraggedEvent = null;\n }\n /**\n * @hidden\n */\n dragEnter(type) {\n this.eventDragEnterByType[type]++;\n }\n /**\n * @hidden\n */\n dragLeave(type) {\n this.eventDragEnterByType[type]--;\n }\n /**\n * @hidden\n */\n dragStarted(eventsContainer, event, dayEvent) {\n this.dayColumnWidth = this.getDayColumnWidth(eventsContainer);\n const dragHelper = new CalendarDragHelper(eventsContainer, event);\n this.validateDrag = ({\n x,\n y,\n transform\n }) => this.allDayEventResizes.size === 0 && this.timeEventResizes.size === 0 && dragHelper.validateDrag({\n x,\n y,\n snapDraggedEvents: this.snapDraggedEvents,\n dragAlreadyMoved: this.dragAlreadyMoved,\n transform\n });\n this.dragActive = true;\n this.dragAlreadyMoved = false;\n this.lastDraggedEvent = null;\n this.eventDragEnterByType = {\n allDay: 0,\n time: 0\n };\n if (!this.snapDraggedEvents && dayEvent) {\n this.view.hourColumns.forEach(column => {\n const linkedEvent = column.events.find(columnEvent => columnEvent.event === dayEvent.event && columnEvent !== dayEvent);\n // hide any linked events while dragging\n if (linkedEvent) {\n linkedEvent.width = 0;\n linkedEvent.height = 0;\n }\n });\n }\n this.cdr.markForCheck();\n }\n /**\n * @hidden\n */\n dragMove(dayEvent, dragEvent) {\n const newEventTimes = this.getDragMovedEventTimes(dayEvent, dragEvent, this.dayColumnWidth, true);\n const originalEvent = dayEvent.event;\n const adjustedEvent = Object.assign(Object.assign({}, originalEvent), newEventTimes);\n const tempEvents = this.events.map(event => {\n if (event === originalEvent) {\n return adjustedEvent;\n }\n return event;\n });\n this.restoreOriginalEvents(tempEvents, new Map([[adjustedEvent, originalEvent]]), this.snapDraggedEvents);\n this.dragAlreadyMoved = true;\n }\n /**\n * @hidden\n */\n allDayEventDragMove() {\n this.dragAlreadyMoved = true;\n }\n /**\n * @hidden\n */\n dragEnded(weekEvent, dragEndEvent, dayWidth, useY = false) {\n this.view = this.getWeekView(this.events);\n this.dragActive = false;\n this.validateDrag = null;\n const {\n start,\n end\n } = this.getDragMovedEventTimes(weekEvent, dragEndEvent, dayWidth, useY);\n if ((this.snapDraggedEvents || this.eventDragEnterByType[useY ? 'time' : 'allDay'] > 0) && isDraggedWithinPeriod(start, end, this.view.period)) {\n this.lastDraggedEvent = weekEvent.event;\n this.eventTimesChanged.emit({\n newStart: start,\n newEnd: end,\n event: weekEvent.event,\n type: CalendarEventTimesChangedEventType.Drag,\n allDay: !useY\n });\n }\n }\n refreshHeader() {\n this.days = this.utils.getWeekViewHeader(Object.assign({\n viewDate: this.viewDate,\n weekStartsOn: this.weekStartsOn,\n excluded: this.excludeDays,\n weekendDays: this.weekendDays\n }, getWeekViewPeriod(this.dateAdapter, this.viewDate, this.weekStartsOn, this.excludeDays, this.daysInWeek)));\n }\n refreshBody() {\n this.view = this.getWeekView(this.events);\n }\n refreshAll() {\n this.refreshHeader();\n this.refreshBody();\n this.emitBeforeViewRender();\n }\n emitBeforeViewRender() {\n if (this.days && this.view) {\n this.beforeViewRender.emit(Object.assign({\n header: this.days\n }, this.view));\n }\n }\n getWeekView(events) {\n return this.utils.getWeekView(Object.assign({\n events,\n viewDate: this.viewDate,\n weekStartsOn: this.weekStartsOn,\n excluded: this.excludeDays,\n precision: this.precision,\n absolutePositionedEvents: true,\n hourSegments: this.hourSegments,\n dayStart: {\n hour: this.dayStartHour,\n minute: this.dayStartMinute\n },\n dayEnd: {\n hour: this.dayEndHour,\n minute: this.dayEndMinute\n },\n segmentHeight: this.hourSegmentHeight,\n weekendDays: this.weekendDays\n }, getWeekViewPeriod(this.dateAdapter, this.viewDate, this.weekStartsOn, this.excludeDays, this.daysInWeek)));\n }\n getDragMovedEventTimes(weekEvent, dragEndEvent, dayWidth, useY) {\n const daysDragged = roundToNearest(dragEndEvent.x, dayWidth) / dayWidth;\n const minutesMoved = useY ? getMinutesMoved(dragEndEvent.y, this.hourSegments, this.hourSegmentHeight, this.eventSnapSize) : 0;\n const start = this.dateAdapter.addMinutes(addDaysWithExclusions(this.dateAdapter, weekEvent.event.start, daysDragged, this.excludeDays), minutesMoved);\n let end;\n if (weekEvent.event.end) {\n end = this.dateAdapter.addMinutes(addDaysWithExclusions(this.dateAdapter, weekEvent.event.end, daysDragged, this.excludeDays), minutesMoved);\n }\n return {\n start,\n end\n };\n }\n restoreOriginalEvents(tempEvents, adjustedEvents, snapDraggedEvents = true) {\n const previousView = this.view;\n if (snapDraggedEvents) {\n this.view = this.getWeekView(tempEvents);\n }\n const adjustedEventsArray = tempEvents.filter(event => adjustedEvents.has(event));\n this.view.hourColumns.forEach((column, columnIndex) => {\n previousView.hourColumns[columnIndex].hours.forEach((hour, hourIndex) => {\n hour.segments.forEach((segment, segmentIndex) => {\n column.hours[hourIndex].segments[segmentIndex].cssClass = segment.cssClass;\n });\n });\n adjustedEventsArray.forEach(adjustedEvent => {\n const originalEvent = adjustedEvents.get(adjustedEvent);\n const existingColumnEvent = column.events.find(columnEvent => columnEvent.event === (snapDraggedEvents ? adjustedEvent : originalEvent));\n if (existingColumnEvent) {\n // restore the original event so trackBy kicks in and the dom isn't changed\n existingColumnEvent.event = originalEvent;\n existingColumnEvent['tempEvent'] = adjustedEvent;\n if (!snapDraggedEvents) {\n existingColumnEvent.height = 0;\n existingColumnEvent.width = 0;\n }\n } else {\n // add a dummy event to the drop so if the event was removed from the original column the drag doesn't end early\n const event = {\n event: originalEvent,\n left: 0,\n top: 0,\n height: 0,\n width: 0,\n startsBeforeDay: false,\n endsAfterDay: false,\n tempEvent: adjustedEvent\n };\n column.events.push(event);\n }\n });\n });\n adjustedEvents.clear();\n }\n getTimeEventResizedDates(calendarEvent, resizeEvent) {\n const minimumEventHeight = getMinimumEventHeightInMinutes(this.hourSegments, this.hourSegmentHeight);\n const newEventDates = {\n start: calendarEvent.start,\n end: getDefaultEventEnd(this.dateAdapter, calendarEvent, minimumEventHeight)\n };\n const {\n end\n } = calendarEvent,\n eventWithoutEnd = __rest(calendarEvent, [\"end\"]);\n const smallestResizes = {\n start: this.dateAdapter.addMinutes(newEventDates.end, minimumEventHeight * -1),\n end: getDefaultEventEnd(this.dateAdapter, eventWithoutEnd, minimumEventHeight)\n };\n if (typeof resizeEvent.edges.left !== 'undefined') {\n const daysDiff = Math.round(+resizeEvent.edges.left / this.dayColumnWidth);\n const newStart = addDaysWithExclusions(this.dateAdapter, newEventDates.start, daysDiff, this.excludeDays);\n if (newStart < smallestResizes.start) {\n newEventDates.start = newStart;\n } else {\n newEventDates.start = smallestResizes.start;\n }\n } else if (typeof resizeEvent.edges.right !== 'undefined') {\n const daysDiff = Math.round(+resizeEvent.edges.right / this.dayColumnWidth);\n const newEnd = addDaysWithExclusions(this.dateAdapter, newEventDates.end, daysDiff, this.excludeDays);\n if (newEnd > smallestResizes.end) {\n newEventDates.end = newEnd;\n } else {\n newEventDates.end = smallestResizes.end;\n }\n }\n if (typeof resizeEvent.edges.top !== 'undefined') {\n const minutesMoved = getMinutesMoved(resizeEvent.edges.top, this.hourSegments, this.hourSegmentHeight, this.eventSnapSize);\n const newStart = this.dateAdapter.addMinutes(newEventDates.start, minutesMoved);\n if (newStart < smallestResizes.start) {\n newEventDates.start = newStart;\n } else {\n newEventDates.start = smallestResizes.start;\n }\n } else if (typeof resizeEvent.edges.bottom !== 'undefined') {\n const minutesMoved = getMinutesMoved(resizeEvent.edges.bottom, this.hourSegments, this.hourSegmentHeight, this.eventSnapSize);\n const newEnd = this.dateAdapter.addMinutes(newEventDates.end, minutesMoved);\n if (newEnd > smallestResizes.end) {\n newEventDates.end = newEnd;\n } else {\n newEventDates.end = smallestResizes.end;\n }\n }\n return newEventDates;\n }\n resizeStarted(eventsContainer, minWidth) {\n this.dayColumnWidth = this.getDayColumnWidth(eventsContainer);\n const resizeHelper = new CalendarResizeHelper(eventsContainer, minWidth);\n this.validateResize = ({\n rectangle\n }) => resizeHelper.validateResize({\n rectangle\n });\n this.cdr.markForCheck();\n }\n};\nCalendarWeekViewComponent.ɵfac = function CalendarWeekViewComponent_Factory(t) {\n return new (t || CalendarWeekViewComponent)(ɵngcc0.ɵɵdirectiveInject(ɵngcc0.ChangeDetectorRef), ɵngcc0.ɵɵdirectiveInject(CalendarUtils), ɵngcc0.ɵɵdirectiveInject(LOCALE_ID), ɵngcc0.ɵɵdirectiveInject(DateAdapter));\n};\nCalendarWeekViewComponent.ɵcmp = /*@__PURE__*/ɵngcc0.ɵɵdefineComponent({\n type: CalendarWeekViewComponent,\n selectors: [[\"mwl-calendar-week-view\"]],\n inputs: {\n events: \"events\",\n excludeDays: \"excludeDays\",\n tooltipPlacement: \"tooltipPlacement\",\n tooltipAppendToBody: \"tooltipAppendToBody\",\n tooltipDelay: \"tooltipDelay\",\n precision: \"precision\",\n snapDraggedEvents: \"snapDraggedEvents\",\n hourSegments: \"hourSegments\",\n hourSegmentHeight: \"hourSegmentHeight\",\n dayStartHour: \"dayStartHour\",\n dayStartMinute: \"dayStartMinute\",\n dayEndHour: \"dayEndHour\",\n dayEndMinute: \"dayEndMinute\",\n locale: \"locale\",\n viewDate: \"viewDate\",\n refresh: \"refresh\",\n tooltipTemplate: \"tooltipTemplate\",\n weekStartsOn: \"weekStartsOn\",\n headerTemplate: \"headerTemplate\",\n eventTemplate: \"eventTemplate\",\n eventTitleTemplate: \"eventTitleTemplate\",\n eventActionsTemplate: \"eventActionsTemplate\",\n weekendDays: \"weekendDays\",\n hourSegmentTemplate: \"hourSegmentTemplate\",\n eventSnapSize: \"eventSnapSize\",\n allDayEventsLabelTemplate: \"allDayEventsLabelTemplate\",\n daysInWeek: \"daysInWeek\",\n currentTimeMarkerTemplate: \"currentTimeMarkerTemplate\"\n },\n outputs: {\n dayHeaderClicked: \"dayHeaderClicked\",\n eventClicked: \"eventClicked\",\n eventTimesChanged: \"eventTimesChanged\",\n beforeViewRender: \"beforeViewRender\",\n hourSegmentClicked: \"hourSegmentClicked\"\n },\n features: [ɵngcc0.ɵɵNgOnChangesFeature],\n decls: 8,\n vars: 9,\n consts: [[\"role\", \"grid\", 1, \"cal-week-view\"], [3, \"days\", \"locale\", \"customTemplate\", \"dayHeaderClicked\", \"eventDropped\", \"dragEnter\"], [\"class\", \"cal-all-day-events\", \"mwlDroppable\", \"\", 3, \"dragEnter\", \"dragLeave\", 4, \"ngIf\"], [\"mwlDroppable\", \"\", 1, \"cal-time-events\", 3, \"dragEnter\", \"dragLeave\"], [\"class\", \"cal-time-label-column\", 4, \"ngIf\"], [1, \"cal-day-columns\"], [\"dayColumns\", \"\"], [\"class\", \"cal-day-column\", 4, \"ngFor\", \"ngForOf\", \"ngForTrackBy\"], [\"mwlDroppable\", \"\", 1, \"cal-all-day-events\", 3, \"dragEnter\", \"dragLeave\"], [\"allDayEventsContainer\", \"\"], [1, \"cal-time-label-column\", 3, \"ngTemplateOutlet\"], [\"class\", \"cal-day-column\", \"mwlDroppable\", \"\", \"dragOverClass\", \"cal-drag-over\", 3, \"drop\", \"dragEnter\", 4, \"ngFor\", \"ngForOf\", \"ngForTrackBy\"], [\"class\", \"cal-events-row\", 4, \"ngFor\", \"ngForOf\", \"ngForTrackBy\"], [\"mwlDroppable\", \"\", \"dragOverClass\", \"cal-drag-over\", 1, \"cal-day-column\", 3, \"drop\", \"dragEnter\"], [1, \"cal-events-row\"], [\"eventRowContainer\", \"\"], [\"class\", \"cal-event-container\", \"mwlResizable\", \"\", \"mwlDraggable\", \"\", \"dragActiveClass\", \"cal-drag-active\", 3, \"cal-draggable\", \"cal-starts-within-week\", \"cal-ends-within-week\", \"ngClass\", \"width\", \"marginLeft\", \"resizeSnapGrid\", \"validateResize\", \"dropData\", \"dragAxis\", \"dragSnapGrid\", \"validateDrag\", \"touchStartLongPress\", \"resizeStart\", \"resizing\", \"resizeEnd\", \"dragStart\", \"dragging\", \"dragEnd\", 4, \"ngFor\", \"ngForOf\", \"ngForTrackBy\"], [\"mwlResizable\", \"\", \"mwlDraggable\", \"\", \"dragActiveClass\", \"cal-drag-active\", 1, \"cal-event-container\", 3, \"ngClass\", \"resizeSnapGrid\", \"validateResize\", \"dropData\", \"dragAxis\", \"dragSnapGrid\", \"validateDrag\", \"touchStartLongPress\", \"resizeStart\", \"resizing\", \"resizeEnd\", \"dragStart\", \"dragging\", \"dragEnd\"], [\"event\", \"\"], [\"class\", \"cal-resize-handle cal-resize-handle-before-start\", \"mwlResizeHandle\", \"\", 3, \"resizeEdges\", 4, \"ngIf\"], [3, \"locale\", \"weekEvent\", \"tooltipPlacement\", \"tooltipTemplate\", \"tooltipAppendToBody\", \"tooltipDelay\", \"customTemplate\", \"eventTitleTemplate\", \"eventActionsTemplate\", \"daysInWeek\", \"eventClicked\"], [\"class\", \"cal-resize-handle cal-resize-handle-after-end\", \"mwlResizeHandle\", \"\", 3, \"resizeEdges\", 4, \"ngIf\"], [\"mwlResizeHandle\", \"\", 1, \"cal-resize-handle\", \"cal-resize-handle-before-start\", 3, \"resizeEdges\"], [\"mwlResizeHandle\", \"\", 1, \"cal-resize-handle\", \"cal-resize-handle-after-end\", 3, \"resizeEdges\"], [1, \"cal-time-label-column\"], [\"class\", \"cal-hour\", 3, \"cal-hour-odd\", 4, \"ngFor\", \"ngForOf\", \"ngForTrackBy\"], [1, \"cal-hour\"], [3, \"height\", \"segment\", \"segmentHeight\", \"locale\", \"customTemplate\", \"isTimeLabel\", \"daysInWeek\", 4, \"ngFor\", \"ngForOf\", \"ngForTrackBy\"], [3, \"segment\", \"segmentHeight\", \"locale\", \"customTemplate\", \"isTimeLabel\", \"daysInWeek\"], [1, \"cal-day-column\"], [3, \"columnDate\", \"dayStartHour\", \"dayStartMinute\", \"dayEndHour\", \"dayEndMinute\", \"hourSegments\", \"hourSegmentHeight\", \"customTemplate\"], [1, \"cal-events-container\"], [\"class\", \"cal-event-container\", \"mwlResizable\", \"\", \"mwlDraggable\", \"\", \"dragActiveClass\", \"cal-drag-active\", 3, \"cal-draggable\", \"cal-starts-within-day\", \"cal-ends-within-day\", \"ngClass\", \"hidden\", \"top\", \"height\", \"left\", \"width\", \"resizeSnapGrid\", \"validateResize\", \"allowNegativeResizes\", \"dropData\", \"dragAxis\", \"dragSnapGrid\", \"touchStartLongPress\", \"ghostDragEnabled\", \"ghostElementTemplate\", \"validateDrag\", \"resizeStart\", \"resizing\", \"resizeEnd\", \"dragStart\", \"dragging\", \"dragEnd\", 4, \"ngFor\", \"ngForOf\", \"ngForTrackBy\"], [\"mwlResizable\", \"\", \"mwlDraggable\", \"\", \"dragActiveClass\", \"cal-drag-active\", 1, \"cal-event-container\", 3, \"ngClass\", \"hidden\", \"resizeSnapGrid\", \"validateResize\", \"allowNegativeResizes\", \"dropData\", \"dragAxis\", \"dragSnapGrid\", \"touchStartLongPress\", \"ghostDragEnabled\", \"ghostElementTemplate\", \"validateDrag\", \"resizeStart\", \"resizing\", \"resizeEnd\", \"dragStart\", \"dragging\", \"dragEnd\"], [3, \"ngTemplateOutlet\"], [\"weekEventTemplate\", \"\"], [3, \"locale\", \"weekEvent\", \"tooltipPlacement\", \"tooltipTemplate\", \"tooltipAppendToBody\", \"tooltipDisabled\", \"tooltipDelay\", \"customTemplate\", \"eventTitleTemplate\", \"eventActionsTemplate\", \"column\", \"daysInWeek\", \"eventClicked\"], [\"mwlDroppable\", \"\", \"dragActiveClass\", \"cal-drag-active\", 3, \"height\", \"segment\", \"segmentHeight\", \"locale\", \"customTemplate\", \"daysInWeek\", \"clickListenerDisabled\", \"dragOverClass\", \"isTimeLabel\", \"mwlClick\", \"drop\", \"dragEnter\", 4, \"ngFor\", \"ngForOf\", \"ngForTrackBy\"], [\"mwlDroppable\", \"\", \"dragActiveClass\", \"cal-drag-active\", 3, \"segment\", \"segmentHeight\", \"locale\", \"customTemplate\", \"daysInWeek\", \"clickListenerDisabled\", \"dragOverClass\", \"isTimeLabel\", \"mwlClick\", \"drop\", \"dragEnter\"]],\n template: function CalendarWeekViewComponent_Template(rf, ctx) {\n if (rf & 1) {\n ɵngcc0.ɵɵelementStart(0, \"div\", 0)(1, \"mwl-calendar-week-view-header\", 1);\n ɵngcc0.ɵɵlistener(\"dayHeaderClicked\", function CalendarWeekViewComponent_Template_mwl_calendar_week_view_header_dayHeaderClicked_1_listener($event) {\n return ctx.dayHeaderClicked.emit($event);\n })(\"eventDropped\", function CalendarWeekViewComponent_Template_mwl_calendar_week_view_header_eventDropped_1_listener($event) {\n return ctx.eventDropped({\n dropData: $event\n }, $event.newStart, true);\n })(\"dragEnter\", function CalendarWeekViewComponent_Template_mwl_calendar_week_view_header_dragEnter_1_listener($event) {\n return ctx.dateDragEnter($event.date);\n });\n ɵngcc0.ɵɵelementEnd();\n ɵngcc0.ɵɵtemplate(2, CalendarWeekViewComponent_div_2_Template, 6, 5, \"div\", 2);\n ɵngcc0.ɵɵelementStart(3, \"div\", 3);\n ɵngcc0.ɵɵlistener(\"dragEnter\", function CalendarWeekViewComponent_Template_div_dragEnter_3_listener() {\n return ctx.dragEnter(\"time\");\n })(\"dragLeave\", function CalendarWeekViewComponent_Template_div_dragLeave_3_listener() {\n return ctx.dragLeave(\"time\");\n });\n ɵngcc0.ɵɵtemplate(4, CalendarWeekViewComponent_div_4_Template, 2, 2, \"div\", 4);\n ɵngcc0.ɵɵelementStart(5, \"div\", 5, 6);\n ɵngcc0.ɵɵtemplate(7, CalendarWeekViewComponent_div_7_Template, 5, 12, \"div\", 7);\n ɵngcc0.ɵɵelementEnd()()();\n }\n if (rf & 2) {\n ɵngcc0.ɵɵadvance(1);\n ɵngcc0.ɵɵproperty(\"days\", ctx.days)(\"locale\", ctx.locale)(\"customTemplate\", ctx.headerTemplate);\n ɵngcc0.ɵɵadvance(1);\n ɵngcc0.ɵɵproperty(\"ngIf\", ctx.view.allDayEventRows.length > 0);\n ɵngcc0.ɵɵadvance(2);\n ɵngcc0.ɵɵproperty(\"ngIf\", ctx.view.hourColumns.length > 0 && ctx.daysInWeek !== 1);\n ɵngcc0.ɵɵadvance(1);\n ɵngcc0.ɵɵclassProp(\"cal-resize-active\", ctx.timeEventResizes.size > 0);\n ɵngcc0.ɵɵadvance(2);\n ɵngcc0.ɵɵproperty(\"ngForOf\", ctx.view.hourColumns)(\"ngForTrackBy\", ctx.trackByHourColumn);\n }\n },\n dependencies: function () {\n return [ɵngcc1.NgClass, ɵngcc1.NgForOf, ɵngcc1.NgIf, ɵngcc1.NgTemplateOutlet, ɵngcc3.ResizableDirective, ɵngcc3.ResizeHandleDirective, ɵngcc2.ɵb, ɵngcc2.ɵa, ClickDirective, CalendarWeekViewHeaderComponent, CalendarWeekViewEventComponent, CalendarWeekViewHourSegmentComponent, CalendarWeekViewCurrentTimeMarkerComponent];\n },\n encapsulation: 2\n});\nCalendarWeekViewComponent.ctorParameters = () => [{\n type: ChangeDetectorRef\n}, {\n type: CalendarUtils\n}, {\n type: String,\n decorators: [{\n type: Inject,\n args: [LOCALE_ID]\n }]\n}, {\n type: DateAdapter\n}];\n__decorate([Input(), __metadata(\"design:type\", Date)], CalendarWeekViewComponent.prototype, \"viewDate\", void 0);\n__decorate([Input(), __metadata(\"design:type\", Array)], CalendarWeekViewComponent.prototype, \"events\", void 0);\n__decorate([Input(), __metadata(\"design:type\", Array)], CalendarWeekViewComponent.prototype, \"excludeDays\", void 0);\n__decorate([Input(), __metadata(\"design:type\", Subject)], CalendarWeekViewComponent.prototype, \"refresh\", void 0);\n__decorate([Input(), __metadata(\"design:type\", String)], CalendarWeekViewComponent.prototype, \"locale\", void 0);\n__decorate([Input(), __metadata(\"design:type\", Object)], CalendarWeekViewComponent.prototype, \"tooltipPlacement\", void 0);\n__decorate([Input(), __metadata(\"design:type\", TemplateRef)], CalendarWeekViewComponent.prototype, \"tooltipTemplate\", void 0);\n__decorate([Input(), __metadata(\"design:type\", Boolean)], CalendarWeekViewComponent.prototype, \"tooltipAppendToBody\", void 0);\n__decorate([Input(), __metadata(\"design:type\", Number)], CalendarWeekViewComponent.prototype, \"tooltipDelay\", void 0);\n__decorate([Input(), __metadata(\"design:type\", Number)], CalendarWeekViewComponent.prototype, \"weekStartsOn\", void 0);\n__decorate([Input(), __metadata(\"design:type\", TemplateRef)], CalendarWeekViewComponent.prototype, \"headerTemplate\", void 0);\n__decorate([Input(), __metadata(\"design:type\", TemplateRef)], CalendarWeekViewComponent.prototype, \"eventTemplate\", void 0);\n__decorate([Input(), __metadata(\"design:type\", TemplateRef)], CalendarWeekViewComponent.prototype, \"eventTitleTemplate\", void 0);\n__decorate([Input(), __metadata(\"design:type\", TemplateRef)], CalendarWeekViewComponent.prototype, \"eventActionsTemplate\", void 0);\n__decorate([Input(), __metadata(\"design:type\", String)], CalendarWeekViewComponent.prototype, \"precision\", void 0);\n__decorate([Input(), __metadata(\"design:type\", Array)], CalendarWeekViewComponent.prototype, \"weekendDays\", void 0);\n__decorate([Input(), __metadata(\"design:type\", Boolean)], CalendarWeekViewComponent.prototype, \"snapDraggedEvents\", void 0);\n__decorate([Input(), __metadata(\"design:type\", Number)], CalendarWeekViewComponent.prototype, \"hourSegments\", void 0);\n__decorate([Input(), __metadata(\"design:type\", Number)], CalendarWeekViewComponent.prototype, \"hourSegmentHeight\", void 0);\n__decorate([Input(), __metadata(\"design:type\", Number)], CalendarWeekViewComponent.prototype, \"dayStartHour\", void 0);\n__decorate([Input(), __metadata(\"design:type\", Number)], CalendarWeekViewComponent.prototype, \"dayStartMinute\", void 0);\n__decorate([Input(), __metadata(\"design:type\", Number)], CalendarWeekViewComponent.prototype, \"dayEndHour\", void 0);\n__decorate([Input(), __metadata(\"design:type\", Number)], CalendarWeekViewComponent.prototype, \"dayEndMinute\", void 0);\n__decorate([Input(), __metadata(\"design:type\", TemplateRef)], CalendarWeekViewComponent.prototype, \"hourSegmentTemplate\", void 0);\n__decorate([Input(), __metadata(\"design:type\", Number)], CalendarWeekViewComponent.prototype, \"eventSnapSize\", void 0);\n__decorate([Input(), __metadata(\"design:type\", TemplateRef)], CalendarWeekViewComponent.prototype, \"allDayEventsLabelTemplate\", void 0);\n__decorate([Input(), __metadata(\"design:type\", Number)], CalendarWeekViewComponent.prototype, \"daysInWeek\", void 0);\n__decorate([Input(), __metadata(\"design:type\", TemplateRef)], CalendarWeekViewComponent.prototype, \"currentTimeMarkerTemplate\", void 0);\n__decorate([Output(), __metadata(\"design:type\", Object)], CalendarWeekViewComponent.prototype, \"dayHeaderClicked\", void 0);\n__decorate([Output(), __metadata(\"design:type\", Object)], CalendarWeekViewComponent.prototype, \"eventClicked\", void 0);\n__decorate([Output(), __metadata(\"design:type\", Object)], CalendarWeekViewComponent.prototype, \"eventTimesChanged\", void 0);\n__decorate([Output(), __metadata(\"design:type\", Object)], CalendarWeekViewComponent.prototype, \"beforeViewRender\", void 0);\n__decorate([Output(), __metadata(\"design:type\", Object)], CalendarWeekViewComponent.prototype, \"hourSegmentClicked\", void 0);\nCalendarWeekViewComponent = __decorate([__param(2, Inject(LOCALE_ID)), __metadata(\"design:paramtypes\", [ChangeDetectorRef, CalendarUtils, String, DateAdapter])], CalendarWeekViewComponent);\nlet CalendarWeekViewHeaderComponent = class CalendarWeekViewHeaderComponent {\n constructor() {\n this.dayHeaderClicked = new EventEmitter();\n this.eventDropped = new EventEmitter();\n this.dragEnter = new EventEmitter();\n this.trackByWeekDayHeaderDate = trackByWeekDayHeaderDate;\n }\n};\nCalendarWeekViewHeaderComponent.ɵfac = function CalendarWeekViewHeaderComponent_Factory(t) {\n return new (t || CalendarWeekViewHeaderComponent)();\n};\nCalendarWeekViewHeaderComponent.ɵcmp = /*@__PURE__*/ɵngcc0.ɵɵdefineComponent({\n type: CalendarWeekViewHeaderComponent,\n selectors: [[\"mwl-calendar-week-view-header\"]],\n inputs: {\n days: \"days\",\n locale: \"locale\",\n customTemplate: \"customTemplate\"\n },\n outputs: {\n dayHeaderClicked: \"dayHeaderClicked\",\n eventDropped: \"eventDropped\",\n dragEnter: \"dragEnter\"\n },\n decls: 3,\n vars: 9,\n consts: [[\"defaultTemplate\", \"\"], [3, \"ngTemplateOutlet\", \"ngTemplateOutletContext\"], [\"role\", \"row\", 1, \"cal-day-headers\"], [\"class\", \"cal-header\", \"mwlDroppable\", \"\", \"dragOverClass\", \"cal-drag-over\", \"tabindex\", \"0\", \"role\", \"columnheader\", 3, \"cal-past\", \"cal-today\", \"cal-future\", \"cal-weekend\", \"ngClass\", \"mwlClick\", \"drop\", \"dragEnter\", 4, \"ngFor\", \"ngForOf\", \"ngForTrackBy\"], [\"mwlDroppable\", \"\", \"dragOverClass\", \"cal-drag-over\", \"tabindex\", \"0\", \"role\", \"columnheader\", 1, \"cal-header\", 3, \"ngClass\", \"mwlClick\", \"drop\", \"dragEnter\"]],\n template: function CalendarWeekViewHeaderComponent_Template(rf, ctx) {\n if (rf & 1) {\n ɵngcc0.ɵɵtemplate(0, CalendarWeekViewHeaderComponent_ng_template_0_Template, 2, 2, \"ng-template\", null, 0, ɵngcc0.ɵɵtemplateRefExtractor);\n ɵngcc0.ɵɵtemplate(2, CalendarWeekViewHeaderComponent_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.ɵɵpureFunction6(2, _c24, ctx.days, ctx.locale, ctx.dayHeaderClicked, ctx.eventDropped, ctx.dragEnter, ctx.trackByWeekDayHeaderDate));\n }\n },\n dependencies: [ɵngcc1.NgClass, ɵngcc1.NgForOf, ɵngcc1.NgTemplateOutlet, ɵngcc2.ɵa, ClickDirective, CalendarDatePipe],\n encapsulation: 2\n});\n__decorate([Input(), __metadata(\"design:type\", Array)], CalendarWeekViewHeaderComponent.prototype, \"days\", void 0);\n__decorate([Input(), __metadata(\"design:type\", String)], CalendarWeekViewHeaderComponent.prototype, \"locale\", void 0);\n__decorate([Input(), __metadata(\"design:type\", TemplateRef)], CalendarWeekViewHeaderComponent.prototype, \"customTemplate\", void 0);\n__decorate([Output(), __metadata(\"design:type\", Object)], CalendarWeekViewHeaderComponent.prototype, \"dayHeaderClicked\", void 0);\n__decorate([Output(), __metadata(\"design:type\", Object)], CalendarWeekViewHeaderComponent.prototype, \"eventDropped\", void 0);\n__decorate([Output(), __metadata(\"design:type\", Object)], CalendarWeekViewHeaderComponent.prototype, \"dragEnter\", void 0);\nlet CalendarWeekViewEventComponent = class CalendarWeekViewEventComponent {\n constructor() {\n this.eventClicked = new EventEmitter();\n }\n};\nCalendarWeekViewEventComponent.ɵfac = function CalendarWeekViewEventComponent_Factory(t) {\n return new (t || CalendarWeekViewEventComponent)();\n};\nCalendarWeekViewEventComponent.ɵcmp = /*@__PURE__*/ɵngcc0.ɵɵdefineComponent({\n type: CalendarWeekViewEventComponent,\n selectors: [[\"mwl-calendar-week-view-event\"]],\n inputs: {\n locale: \"locale\",\n weekEvent: \"weekEvent\",\n tooltipPlacement: \"tooltipPlacement\",\n tooltipAppendToBody: \"tooltipAppendToBody\",\n tooltipDisabled: \"tooltipDisabled\",\n tooltipDelay: \"tooltipDelay\",\n customTemplate: \"customTemplate\",\n eventTitleTemplate: \"eventTitleTemplate\",\n eventActionsTemplate: \"eventActionsTemplate\",\n tooltipTemplate: \"tooltipTemplate\",\n column: \"column\",\n daysInWeek: \"daysInWeek\"\n },\n outputs: {\n eventClicked: \"eventClicked\"\n },\n decls: 3,\n vars: 12,\n consts: [[\"defaultTemplate\", \"\"], [3, \"ngTemplateOutlet\", \"ngTemplateOutletContext\"], [\"tabindex\", \"0\", \"role\", \"application\", 1, \"cal-event\", 3, \"ngStyle\", \"mwlCalendarTooltip\", \"tooltipPlacement\", \"tooltipEvent\", \"tooltipTemplate\", \"tooltipAppendToBody\", \"tooltipDelay\", \"mwlClick\", \"mwlKeydownEnter\"], [3, \"event\", \"customTemplate\"], [3, \"event\", \"customTemplate\", \"view\"]],\n template: function CalendarWeekViewEventComponent_Template(rf, ctx) {\n if (rf & 1) {\n ɵngcc0.ɵɵtemplate(0, CalendarWeekViewEventComponent_ng_template_0_Template, 6, 26, \"ng-template\", null, 0, ɵngcc0.ɵɵtemplateRefExtractor);\n ɵngcc0.ɵɵtemplate(2, CalendarWeekViewEventComponent_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.ɵɵpureFunctionV(2, _c26, [ctx.weekEvent, ctx.tooltipPlacement, ctx.eventClicked, ctx.tooltipTemplate, ctx.tooltipAppendToBody, ctx.tooltipDisabled, ctx.tooltipDelay, ctx.column, ctx.daysInWeek]));\n }\n },\n dependencies: [ɵngcc1.NgTemplateOutlet, ɵngcc1.NgStyle, CalendarEventActionsComponent, CalendarEventTitleComponent, CalendarTooltipDirective, ClickDirective, KeydownEnterDirective, CalendarEventTitlePipe, CalendarA11yPipe],\n encapsulation: 2\n});\n__decorate([Input(), __metadata(\"design:type\", String)], CalendarWeekViewEventComponent.prototype, \"locale\", void 0);\n__decorate([Input(), __metadata(\"design:type\", Object)], CalendarWeekViewEventComponent.prototype, \"weekEvent\", void 0);\n__decorate([Input(), __metadata(\"design:type\", Object)], CalendarWeekViewEventComponent.prototype, \"tooltipPlacement\", void 0);\n__decorate([Input(), __metadata(\"design:type\", Boolean)], CalendarWeekViewEventComponent.prototype, \"tooltipAppendToBody\", void 0);\n__decorate([Input(), __metadata(\"design:type\", Boolean)], CalendarWeekViewEventComponent.prototype, \"tooltipDisabled\", void 0);\n__decorate([Input(), __metadata(\"design:type\", Number)], CalendarWeekViewEventComponent.prototype, \"tooltipDelay\", void 0);\n__decorate([Input(), __metadata(\"design:type\", TemplateRef)], CalendarWeekViewEventComponent.prototype, \"customTemplate\", void 0);\n__decorate([Input(), __metadata(\"design:type\", TemplateRef)], CalendarWeekViewEventComponent.prototype, \"eventTitleTemplate\", void 0);\n__decorate([Input(), __metadata(\"design:type\", TemplateRef)], CalendarWeekViewEventComponent.prototype, \"eventActionsTemplate\", void 0);\n__decorate([Input(), __metadata(\"design:type\", TemplateRef)], CalendarWeekViewEventComponent.prototype, \"tooltipTemplate\", void 0);\n__decorate([Input(), __metadata(\"design:type\", Object)], CalendarWeekViewEventComponent.prototype, \"column\", void 0);\n__decorate([Input(), __metadata(\"design:type\", Number)], CalendarWeekViewEventComponent.prototype, \"daysInWeek\", void 0);\n__decorate([Output(), __metadata(\"design:type\", Object)], CalendarWeekViewEventComponent.prototype, \"eventClicked\", void 0);\nlet CalendarWeekViewHourSegmentComponent = class CalendarWeekViewHourSegmentComponent {};\nCalendarWeekViewHourSegmentComponent.ɵfac = function CalendarWeekViewHourSegmentComponent_Factory(t) {\n return new (t || CalendarWeekViewHourSegmentComponent)();\n};\nCalendarWeekViewHourSegmentComponent.ɵcmp = /*@__PURE__*/ɵngcc0.ɵɵdefineComponent({\n type: CalendarWeekViewHourSegmentComponent,\n selectors: [[\"mwl-calendar-week-view-hour-segment\"]],\n inputs: {\n segment: \"segment\",\n segmentHeight: \"segmentHeight\",\n locale: \"locale\",\n isTimeLabel: \"isTimeLabel\",\n daysInWeek: \"daysInWeek\",\n customTemplate: \"customTemplate\"\n },\n decls: 3,\n vars: 8,\n consts: [[\"defaultTemplate\", \"\"], [3, \"ngTemplateOutlet\", \"ngTemplateOutletContext\"], [1, \"cal-hour-segment\", 3, \"ngClass\"], [\"class\", \"cal-time\", 4, \"ngIf\"], [1, \"cal-time\"]],\n template: function CalendarWeekViewHourSegmentComponent_Template(rf, ctx) {\n if (rf & 1) {\n ɵngcc0.ɵɵtemplate(0, CalendarWeekViewHourSegmentComponent_ng_template_0_Template, 3, 13, \"ng-template\", null, 0, ɵngcc0.ɵɵtemplateRefExtractor);\n ɵngcc0.ɵɵtemplate(2, CalendarWeekViewHourSegmentComponent_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.ɵɵpureFunction5(2, _c27, ctx.segment, ctx.locale, ctx.segmentHeight, ctx.isTimeLabel, ctx.daysInWeek));\n }\n },\n dependencies: [ɵngcc1.NgClass, ɵngcc1.NgIf, ɵngcc1.NgTemplateOutlet, CalendarDatePipe, CalendarA11yPipe],\n encapsulation: 2\n});\n__decorate([Input(), __metadata(\"design:type\", Object)], CalendarWeekViewHourSegmentComponent.prototype, \"segment\", void 0);\n__decorate([Input(), __metadata(\"design:type\", Number)], CalendarWeekViewHourSegmentComponent.prototype, \"segmentHeight\", void 0);\n__decorate([Input(), __metadata(\"design:type\", String)], CalendarWeekViewHourSegmentComponent.prototype, \"locale\", void 0);\n__decorate([Input(), __metadata(\"design:type\", Boolean)], CalendarWeekViewHourSegmentComponent.prototype, \"isTimeLabel\", void 0);\n__decorate([Input(), __metadata(\"design:type\", Number)], CalendarWeekViewHourSegmentComponent.prototype, \"daysInWeek\", void 0);\n__decorate([Input(), __metadata(\"design:type\", TemplateRef)], CalendarWeekViewHourSegmentComponent.prototype, \"customTemplate\", void 0);\nlet CalendarWeekViewCurrentTimeMarkerComponent = class CalendarWeekViewCurrentTimeMarkerComponent {\n constructor(dateAdapter, zone) {\n this.dateAdapter = dateAdapter;\n this.zone = zone;\n this.columnDate$ = new BehaviorSubject(this.columnDate);\n this.marker$ = this.zone.onStable.pipe(switchMap(() => interval(60 * 1000)), startWith(0), switchMapTo(this.columnDate$), map(columnDate => {\n const startOfDay = this.dateAdapter.setMinutes(this.dateAdapter.setHours(columnDate, this.dayStartHour), this.dayStartMinute);\n const endOfDay = this.dateAdapter.setMinutes(this.dateAdapter.setHours(columnDate, this.dayEndHour), this.dayEndMinute);\n const hourHeightModifier = this.hourSegments * this.hourSegmentHeight / 60;\n const now = new Date();\n return {\n isVisible: this.dateAdapter.isSameDay(columnDate, now) && now >= startOfDay && now <= endOfDay,\n top: this.dateAdapter.differenceInMinutes(now, startOfDay) * hourHeightModifier\n };\n }));\n }\n ngOnChanges(changes) {\n if (changes.columnDate) {\n this.columnDate$.next(changes.columnDate.currentValue);\n }\n }\n};\nCalendarWeekViewCurrentTimeMarkerComponent.ɵfac = function CalendarWeekViewCurrentTimeMarkerComponent_Factory(t) {\n return new (t || CalendarWeekViewCurrentTimeMarkerComponent)(ɵngcc0.ɵɵdirectiveInject(DateAdapter), ɵngcc0.ɵɵdirectiveInject(ɵngcc0.NgZone));\n};\nCalendarWeekViewCurrentTimeMarkerComponent.ɵcmp = /*@__PURE__*/ɵngcc0.ɵɵdefineComponent({\n type: CalendarWeekViewCurrentTimeMarkerComponent,\n selectors: [[\"mwl-calendar-week-view-current-time-marker\"]],\n inputs: {\n columnDate: \"columnDate\",\n dayStartHour: \"dayStartHour\",\n dayStartMinute: \"dayStartMinute\",\n dayEndHour: \"dayEndHour\",\n dayEndMinute: \"dayEndMinute\",\n hourSegments: \"hourSegments\",\n hourSegmentHeight: \"hourSegmentHeight\",\n customTemplate: \"customTemplate\"\n },\n features: [ɵngcc0.ɵɵNgOnChangesFeature],\n decls: 5,\n vars: 14,\n consts: [[\"defaultTemplate\", \"\"], [3, \"ngTemplateOutlet\", \"ngTemplateOutletContext\"], [\"class\", \"cal-current-time-marker\", 3, \"top\", 4, \"ngIf\"], [1, \"cal-current-time-marker\"]],\n template: function CalendarWeekViewCurrentTimeMarkerComponent_Template(rf, ctx) {\n if (rf & 1) {\n ɵngcc0.ɵɵtemplate(0, CalendarWeekViewCurrentTimeMarkerComponent_ng_template_0_Template, 1, 1, \"ng-template\", null, 0, ɵngcc0.ɵɵtemplateRefExtractor);\n ɵngcc0.ɵɵtemplate(2, CalendarWeekViewCurrentTimeMarkerComponent_ng_template_2_Template, 0, 0, \"ng-template\", 1);\n ɵngcc0.ɵɵpipe(3, \"async\");\n ɵngcc0.ɵɵpipe(4, \"async\");\n }\n if (rf & 2) {\n const _r0 = ɵngcc0.ɵɵreference(1);\n let tmp_1_0;\n ɵngcc0.ɵɵadvance(2);\n ɵngcc0.ɵɵproperty(\"ngTemplateOutlet\", ctx.customTemplate || _r0)(\"ngTemplateOutletContext\", ɵngcc0.ɵɵpureFunction7(6, _c28, ctx.columnDate, ctx.dayStartHour, ctx.dayStartMinute, ctx.dayEndHour, ctx.dayEndMinute, (tmp_1_0 = ɵngcc0.ɵɵpipeBind1(3, 2, ctx.marker$)) == null ? null : tmp_1_0.isVisible, (tmp_1_0 = ɵngcc0.ɵɵpipeBind1(4, 4, ctx.marker$)) == null ? null : tmp_1_0.top));\n }\n },\n dependencies: [ɵngcc1.NgIf, ɵngcc1.NgTemplateOutlet, ɵngcc1.AsyncPipe],\n encapsulation: 2\n});\nCalendarWeekViewCurrentTimeMarkerComponent.ctorParameters = () => [{\n type: DateAdapter\n}, {\n type: NgZone\n}];\n__decorate([Input(), __metadata(\"design:type\", Date)], CalendarWeekViewCurrentTimeMarkerComponent.prototype, \"columnDate\", void 0);\n__decorate([Input(), __metadata(\"design:type\", Number)], CalendarWeekViewCurrentTimeMarkerComponent.prototype, \"dayStartHour\", void 0);\n__decorate([Input(), __metadata(\"design:type\", Number)], CalendarWeekViewCurrentTimeMarkerComponent.prototype, \"dayStartMinute\", void 0);\n__decorate([Input(), __metadata(\"design:type\", Number)], CalendarWeekViewCurrentTimeMarkerComponent.prototype, \"dayEndHour\", void 0);\n__decorate([Input(), __metadata(\"design:type\", Number)], CalendarWeekViewCurrentTimeMarkerComponent.prototype, \"dayEndMinute\", void 0);\n__decorate([Input(), __metadata(\"design:type\", Number)], CalendarWeekViewCurrentTimeMarkerComponent.prototype, \"hourSegments\", void 0);\n__decorate([Input(), __metadata(\"design:type\", Number)], CalendarWeekViewCurrentTimeMarkerComponent.prototype, \"hourSegmentHeight\", void 0);\n__decorate([Input(), __metadata(\"design:type\", TemplateRef)], CalendarWeekViewCurrentTimeMarkerComponent.prototype, \"customTemplate\", void 0);\nCalendarWeekViewCurrentTimeMarkerComponent = __decorate([__metadata(\"design:paramtypes\", [DateAdapter, NgZone])], CalendarWeekViewCurrentTimeMarkerComponent);\nlet CalendarWeekModule = class CalendarWeekModule {};\nCalendarWeekModule.ɵfac = function CalendarWeekModule_Factory(t) {\n return new (t || CalendarWeekModule)();\n};\nCalendarWeekModule.ɵmod = /*@__PURE__*/ɵngcc0.ɵɵdefineNgModule({\n type: CalendarWeekModule\n});\nCalendarWeekModule.ɵinj = /*@__PURE__*/ɵngcc0.ɵɵdefineInjector({\n imports: [CommonModule, ResizableModule, DragAndDropModule, CalendarCommonModule, ResizableModule, DragAndDropModule]\n});\n\n/**\n * Shows all events on a given day. Example usage:\n *\n * ```typescript\n * <mwl-calendar-day-view\n * [viewDate]=\"viewDate\"\n * [events]=\"events\">\n * </mwl-calendar-day-view>\n * ```\n */\nlet CalendarDayViewComponent = class CalendarDayViewComponent {\n constructor() {\n /**\n * An array of events to display on view\n * The schema is available here: https://github.com/mattlewis92/calendar-utils/blob/c51689985f59a271940e30bc4e2c4e1fee3fcb5c/src/calendarUtils.ts#L49-L63\n */\n this.events = [];\n /**\n * The number of segments in an hour. Must divide equally into 60.\n */\n this.hourSegments = 2;\n /**\n * The height in pixels of each hour segment\n */\n this.hourSegmentHeight = 30;\n /**\n * The day start hours in 24 hour time. Must be 0-23\n */\n this.dayStartHour = 0;\n /**\n * The day start minutes. Must be 0-59\n */\n this.dayStartMinute = 0;\n /**\n * The day end hours in 24 hour time. Must be 0-23\n */\n this.dayEndHour = 23;\n /**\n * The day end minutes. Must be 0-59\n */\n this.dayEndMinute = 59;\n /**\n * The placement of the event tooltip\n */\n this.tooltipPlacement = 'auto';\n /**\n * Whether to append tooltips to the body or next to the trigger element\n */\n this.tooltipAppendToBody = true;\n /**\n * The delay in milliseconds before the tooltip should be displayed. If not provided the tooltip\n * will be displayed immediately.\n */\n this.tooltipDelay = null;\n /**\n * Whether to snap events to a grid when dragging\n */\n this.snapDraggedEvents = true;\n /**\n * Called when an event title is clicked\n */\n this.eventClicked = new EventEmitter();\n /**\n * Called when an hour segment is clicked\n */\n this.hourSegmentClicked = new EventEmitter();\n /**\n * Called when an event is resized or dragged and dropped\n */\n this.eventTimesChanged = new EventEmitter();\n /**\n * An output that will be called before the view is rendered for the current day.\n * If you add the `cssClass` property to an hour grid segment it will add that class to the hour segment in the template\n */\n this.beforeViewRender = new EventEmitter();\n }\n};\nCalendarDayViewComponent.ɵfac = function CalendarDayViewComponent_Factory(t) {\n return new (t || CalendarDayViewComponent)();\n};\nCalendarDayViewComponent.ɵcmp = /*@__PURE__*/ɵngcc0.ɵɵdefineComponent({\n type: CalendarDayViewComponent,\n selectors: [[\"mwl-calendar-day-view\"]],\n inputs: {\n events: \"events\",\n hourSegments: \"hourSegments\",\n hourSegmentHeight: \"hourSegmentHeight\",\n dayStartHour: \"dayStartHour\",\n dayStartMinute: \"dayStartMinute\",\n dayEndHour: \"dayEndHour\",\n dayEndMinute: \"dayEndMinute\",\n tooltipPlacement: \"tooltipPlacement\",\n tooltipAppendToBody: \"tooltipAppendToBody\",\n tooltipDelay: \"tooltipDelay\",\n snapDraggedEvents: \"snapDraggedEvents\",\n viewDate: \"viewDate\",\n refresh: \"refresh\",\n locale: \"locale\",\n eventSnapSize: \"eventSnapSize\",\n tooltipTemplate: \"tooltipTemplate\",\n hourSegmentTemplate: \"hourSegmentTemplate\",\n eventTemplate: \"eventTemplate\",\n eventTitleTemplate: \"eventTitleTemplate\",\n eventActionsTemplate: \"eventActionsTemplate\",\n allDayEventsLabelTemplate: \"allDayEventsLabelTemplate\",\n currentTimeMarkerTemplate: \"currentTimeMarkerTemplate\"\n },\n outputs: {\n eventClicked: \"eventClicked\",\n hourSegmentClicked: \"hourSegmentClicked\",\n eventTimesChanged: \"eventTimesChanged\",\n beforeViewRender: \"beforeViewRender\"\n },\n decls: 1,\n vars: 23,\n consts: [[1, \"cal-day-view\", 3, \"daysInWeek\", \"viewDate\", \"events\", \"hourSegments\", \"hourSegmentHeight\", \"dayStartHour\", \"dayStartMinute\", \"dayEndHour\", \"dayEndMinute\", \"refresh\", \"locale\", \"eventSnapSize\", \"tooltipPlacement\", \"tooltipTemplate\", \"tooltipAppendToBody\", \"tooltipDelay\", \"hourSegmentTemplate\", \"eventTemplate\", \"eventTitleTemplate\", \"eventActionsTemplate\", \"snapDraggedEvents\", \"allDayEventsLabelTemplate\", \"currentTimeMarkerTemplate\", \"eventClicked\", \"hourSegmentClicked\", \"eventTimesChanged\", \"beforeViewRender\"]],\n template: function CalendarDayViewComponent_Template(rf, ctx) {\n if (rf & 1) {\n ɵngcc0.ɵɵelementStart(0, \"mwl-calendar-week-view\", 0);\n ɵngcc0.ɵɵlistener(\"eventClicked\", function CalendarDayViewComponent_Template_mwl_calendar_week_view_eventClicked_0_listener($event) {\n return ctx.eventClicked.emit($event);\n })(\"hourSegmentClicked\", function CalendarDayViewComponent_Template_mwl_calendar_week_view_hourSegmentClicked_0_listener($event) {\n return ctx.hourSegmentClicked.emit($event);\n })(\"eventTimesChanged\", function CalendarDayViewComponent_Template_mwl_calendar_week_view_eventTimesChanged_0_listener($event) {\n return ctx.eventTimesChanged.emit($event);\n })(\"beforeViewRender\", function CalendarDayViewComponent_Template_mwl_calendar_week_view_beforeViewRender_0_listener($event) {\n return ctx.beforeViewRender.emit($event);\n });\n ɵngcc0.ɵɵelementEnd();\n }\n if (rf & 2) {\n ɵngcc0.ɵɵproperty(\"daysInWeek\", 1)(\"viewDate\", ctx.viewDate)(\"events\", ctx.events)(\"hourSegments\", ctx.hourSegments)(\"hourSegmentHeight\", ctx.hourSegmentHeight)(\"dayStartHour\", ctx.dayStartHour)(\"dayStartMinute\", ctx.dayStartMinute)(\"dayEndHour\", ctx.dayEndHour)(\"dayEndMinute\", ctx.dayEndMinute)(\"refresh\", ctx.refresh)(\"locale\", ctx.locale)(\"eventSnapSize\", ctx.eventSnapSize)(\"tooltipPlacement\", ctx.tooltipPlacement)(\"tooltipTemplate\", ctx.tooltipTemplate)(\"tooltipAppendToBody\", ctx.tooltipAppendToBody)(\"tooltipDelay\", ctx.tooltipDelay)(\"hourSegmentTemplate\", ctx.hourSegmentTemplate)(\"eventTemplate\", ctx.eventTemplate)(\"eventTitleTemplate\", ctx.eventTitleTemplate)(\"eventActionsTemplate\", ctx.eventActionsTemplate)(\"snapDraggedEvents\", ctx.snapDraggedEvents)(\"allDayEventsLabelTemplate\", ctx.allDayEventsLabelTemplate)(\"currentTimeMarkerTemplate\", ctx.currentTimeMarkerTemplate);\n }\n },\n dependencies: [CalendarWeekViewComponent],\n encapsulation: 2\n});\n__decorate([Input(), __metadata(\"design:type\", Date)], CalendarDayViewComponent.prototype, \"viewDate\", void 0);\n__decorate([Input(), __metadata(\"design:type\", Array)], CalendarDayViewComponent.prototype, \"events\", void 0);\n__decorate([Input(), __metadata(\"design:type\", Number)], CalendarDayViewComponent.prototype, \"hourSegments\", void 0);\n__decorate([Input(), __metadata(\"design:type\", Number)], CalendarDayViewComponent.prototype, \"hourSegmentHeight\", void 0);\n__decorate([Input(), __metadata(\"design:type\", Number)], CalendarDayViewComponent.prototype, \"dayStartHour\", void 0);\n__decorate([Input(), __metadata(\"design:type\", Number)], CalendarDayViewComponent.prototype, \"dayStartMinute\", void 0);\n__decorate([Input(), __metadata(\"design:type\", Number)], CalendarDayViewComponent.prototype, \"dayEndHour\", void 0);\n__decorate([Input(), __metadata(\"design:type\", Number)], CalendarDayViewComponent.prototype, \"dayEndMinute\", void 0);\n__decorate([Input(), __metadata(\"design:type\", Subject)], CalendarDayViewComponent.prototype, \"refresh\", void 0);\n__decorate([Input(), __metadata(\"design:type\", String)], CalendarDayViewComponent.prototype, \"locale\", void 0);\n__decorate([Input(), __metadata(\"design:type\", Number)], CalendarDayViewComponent.prototype, \"eventSnapSize\", void 0);\n__decorate([Input(), __metadata(\"design:type\", Object)], CalendarDayViewComponent.prototype, \"tooltipPlacement\", void 0);\n__decorate([Input(), __metadata(\"design:type\", TemplateRef)], CalendarDayViewComponent.prototype, \"tooltipTemplate\", void 0);\n__decorate([Input(), __metadata(\"design:type\", Boolean)], CalendarDayViewComponent.prototype, \"tooltipAppendToBody\", void 0);\n__decorate([Input(), __metadata(\"design:type\", Number)], CalendarDayViewComponent.prototype, \"tooltipDelay\", void 0);\n__decorate([Input(), __metadata(\"design:type\", TemplateRef)], CalendarDayViewComponent.prototype, \"hourSegmentTemplate\", void 0);\n__decorate([Input(), __metadata(\"design:type\", TemplateRef)], CalendarDayViewComponent.prototype, \"eventTemplate\", void 0);\n__decorate([Input(), __metadata(\"design:type\", TemplateRef)], CalendarDayViewComponent.prototype, \"eventTitleTemplate\", void 0);\n__decorate([Input(), __metadata(\"design:type\", TemplateRef)], CalendarDayViewComponent.prototype, \"eventActionsTemplate\", void 0);\n__decorate([Input(), __metadata(\"design:type\", Boolean)], CalendarDayViewComponent.prototype, \"snapDraggedEvents\", void 0);\n__decorate([Input(), __metadata(\"design:type\", TemplateRef)], CalendarDayViewComponent.prototype, \"allDayEventsLabelTemplate\", void 0);\n__decorate([Input(), __metadata(\"design:type\", TemplateRef)], CalendarDayViewComponent.prototype, \"currentTimeMarkerTemplate\", void 0);\n__decorate([Output(), __metadata(\"design:type\", Object)], CalendarDayViewComponent.prototype, \"eventClicked\", void 0);\n__decorate([Output(), __metadata(\"design:type\", Object)], CalendarDayViewComponent.prototype, \"hourSegmentClicked\", void 0);\n__decorate([Output(), __metadata(\"design:type\", Object)], CalendarDayViewComponent.prototype, \"eventTimesChanged\", void 0);\n__decorate([Output(), __metadata(\"design:type\", Object)], CalendarDayViewComponent.prototype, \"beforeViewRender\", void 0);\nlet CalendarDayModule = class CalendarDayModule {};\nCalendarDayModule.ɵfac = function CalendarDayModule_Factory(t) {\n return new (t || CalendarDayModule)();\n};\nCalendarDayModule.ɵmod = /*@__PURE__*/ɵngcc0.ɵɵdefineNgModule({\n type: CalendarDayModule\n});\nCalendarDayModule.ɵinj = /*@__PURE__*/ɵngcc0.ɵɵdefineInjector({\n imports: [CommonModule, CalendarCommonModule, CalendarWeekModule]\n});\nvar CalendarModule_1;\n/**\n * The main module of this library. Example usage:\n *\n * ```typescript\n * import { CalenderModule } from 'angular-calendar';\n *\n * @NgModule({\n * imports: [\n * CalenderModule.forRoot()\n * ]\n * })\n * class MyModule {}\n * ```\n *\n */\nlet CalendarModule = CalendarModule_1 = class CalendarModule {\n static forRoot(dateAdapter, config = {}) {\n return {\n ngModule: CalendarModule_1,\n providers: [dateAdapter, config.eventTitleFormatter || CalendarEventTitleFormatter, config.dateFormatter || CalendarDateFormatter, config.utils || CalendarUtils, config.a11y || CalendarA11y]\n };\n }\n};\nCalendarModule.ɵfac = function CalendarModule_Factory(t) {\n return new (t || CalendarModule)();\n};\nCalendarModule.ɵmod = /*@__PURE__*/ɵngcc0.ɵɵdefineNgModule({\n type: CalendarModule\n});\nCalendarModule.ɵinj = /*@__PURE__*/ɵngcc0.ɵɵdefineInjector({\n imports: [CalendarCommonModule, CalendarMonthModule, CalendarWeekModule, CalendarDayModule, CalendarCommonModule, CalendarMonthModule, CalendarWeekModule, CalendarDayModule]\n});\n(function () {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(CalendarEventActionsComponent, [{\n type: Component,\n args: [{\n selector: 'mwl-calendar-event-actions',\n template: `\n <ng-template\n #defaultTemplate\n let-event=\"event\"\n let-trackByActionId=\"trackByActionId\"\n >\n <span *ngIf=\"event.actions\" class=\"cal-event-actions\">\n <a\n class=\"cal-event-action\"\n href=\"javascript:;\"\n *ngFor=\"let action of event.actions; trackBy: trackByActionId\"\n (mwlClick)=\"action.onClick({ event: event, sourceEvent: $event })\"\n (mwlKeydownEnter)=\"\n action.onClick({ event: event, sourceEvent: $event })\n \"\n [ngClass]=\"action.cssClass\"\n [innerHtml]=\"action.label\"\n tabindex=\"0\"\n role=\"button\"\n [attr.aria-label]=\"\n { action: action } | calendarA11y: 'actionButtonLabel'\n \"\n >\n </a>\n </span>\n </ng-template>\n <ng-template\n [ngTemplateOutlet]=\"customTemplate || defaultTemplate\"\n [ngTemplateOutletContext]=\"{\n event: event,\n trackByActionId: trackByActionId\n }\"\n >\n </ng-template>\n `\n }]\n }], function () {\n return [];\n }, {\n event: [{\n type: Input\n }],\n customTemplate: [{\n type: Input\n }]\n });\n})();\n(function () {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(CalendarEventTitleComponent, [{\n type: Component,\n args: [{\n selector: 'mwl-calendar-event-title',\n template: `\n <ng-template #defaultTemplate let-event=\"event\" let-view=\"view\">\n <span\n class=\"cal-event-title\"\n [innerHTML]=\"event.title | calendarEventTitle: view:event\"\n [attr.aria-hidden]=\"{} | calendarA11y: 'hideEventTitle'\"\n >\n </span>\n </ng-template>\n <ng-template\n [ngTemplateOutlet]=\"customTemplate || defaultTemplate\"\n [ngTemplateOutletContext]=\"{\n event: event,\n view: view\n }\"\n >\n </ng-template>\n `\n }]\n }], null, {\n event: [{\n type: Input\n }],\n customTemplate: [{\n type: Input\n }],\n view: [{\n type: Input\n }]\n });\n})();\n(function () {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(CalendarTooltipWindowComponent, [{\n type: Component,\n args: [{\n selector: 'mwl-calendar-tooltip-window',\n template: `\n <ng-template\n #defaultTemplate\n let-contents=\"contents\"\n let-placement=\"placement\"\n let-event=\"event\"\n >\n <div class=\"cal-tooltip\" [ngClass]=\"'cal-tooltip-' + placement\">\n <div class=\"cal-tooltip-arrow\"></div>\n <div class=\"cal-tooltip-inner\" [innerHtml]=\"contents\"></div>\n </div>\n </ng-template>\n <ng-template\n [ngTemplateOutlet]=\"customTemplate || defaultTemplate\"\n [ngTemplateOutletContext]=\"{\n contents: contents,\n placement: placement,\n event: event\n }\"\n >\n </ng-template>\n `\n }]\n }], null, {\n contents: [{\n type: Input\n }],\n placement: [{\n type: Input\n }],\n event: [{\n type: Input\n }],\n customTemplate: [{\n type: Input\n }]\n });\n})();\n(function () {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(CalendarTooltipDirective, [{\n type: Directive,\n args: [{\n selector: '[mwlCalendarTooltip]'\n }]\n }], function () {\n return [{\n type: ɵngcc0.ElementRef\n }, {\n type: ɵngcc0.Injector\n }, {\n type: ɵngcc0.Renderer2\n }, {\n type: ɵngcc0.ComponentFactoryResolver\n }, {\n type: ɵngcc0.ViewContainerRef\n }, {\n type: undefined,\n decorators: [{\n type: Inject,\n args: [DOCUMENT]\n }]\n }];\n }, {\n placement: [{\n type: Input,\n args: ['tooltipPlacement']\n }],\n delay: [{\n type: Input,\n args: ['tooltipDelay']\n }],\n onMouseOver: [{\n type: HostListener,\n args: ['mouseenter']\n }],\n onMouseOut: [{\n type: HostListener,\n args: ['mouseleave']\n }],\n contents: [{\n type: Input,\n args: ['mwlCalendarTooltip']\n }],\n customTemplate: [{\n type: Input,\n args: ['tooltipTemplate']\n }],\n event: [{\n type: Input,\n args: ['tooltipEvent']\n }],\n appendToBody: [{\n type: Input,\n args: ['tooltipAppendToBody']\n }]\n });\n})();\n(function () {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(CalendarPreviousViewDirective, [{\n type: Directive,\n args: [{\n selector: '[mwlCalendarPreviousView]'\n }]\n }], function () {\n return [{\n type: DateAdapter\n }];\n }, {\n excludeDays: [{\n type: Input\n }],\n viewDateChange: [{\n type: Output\n }],\n /**\n * @hidden\n */\n onClick: [{\n type: HostListener,\n args: ['click']\n }],\n view: [{\n type: Input\n }],\n viewDate: [{\n type: Input\n }],\n daysInWeek: [{\n type: Input\n }]\n });\n})();\n(function () {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(CalendarNextViewDirective, [{\n type: Directive,\n args: [{\n selector: '[mwlCalendarNextView]'\n }]\n }], function () {\n return [{\n type: DateAdapter\n }];\n }, {\n excludeDays: [{\n type: Input\n }],\n viewDateChange: [{\n type: Output\n }],\n /**\n * @hidden\n */\n onClick: [{\n type: HostListener,\n args: ['click']\n }],\n view: [{\n type: Input\n }],\n viewDate: [{\n type: Input\n }],\n daysInWeek: [{\n type: Input\n }]\n });\n})();\n(function () {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(CalendarTodayDirective, [{\n type: Directive,\n args: [{\n selector: '[mwlCalendarToday]'\n }]\n }], function () {\n return [{\n type: DateAdapter\n }];\n }, {\n viewDateChange: [{\n type: Output\n }],\n /**\n * @hidden\n */\n onClick: [{\n type: HostListener,\n args: ['click']\n }],\n viewDate: [{\n type: Input\n }]\n });\n})();\n(function () {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(CalendarAngularDateFormatter, [{\n type: Injectable\n }], function () {\n return [{\n type: DateAdapter\n }];\n }, null);\n})();\n(function () {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(CalendarDateFormatter, [{\n type: Injectable\n }], null, null);\n})();\n(function () {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(CalendarDatePipe, [{\n type: Pipe,\n args: [{\n name: 'calendarDate'\n }]\n }], function () {\n return [{\n type: CalendarDateFormatter\n }, {\n type: String,\n decorators: [{\n type: Inject,\n args: [LOCALE_ID]\n }]\n }];\n }, null);\n})();\n(function () {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(CalendarEventTitlePipe, [{\n type: Pipe,\n args: [{\n name: 'calendarEventTitle'\n }]\n }], function () {\n return [{\n type: CalendarEventTitleFormatter\n }];\n }, null);\n})();\n(function () {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(ClickDirective, [{\n type: Directive,\n args: [{\n selector: '[mwlClick]'\n }]\n }], function () {\n return [{\n type: ɵngcc0.Renderer2\n }, {\n type: ɵngcc0.ElementRef\n }, {\n type: undefined,\n decorators: [{\n type: Inject,\n args: [DOCUMENT]\n }]\n }];\n }, {\n clickListenerDisabled: [{\n type: Input\n }],\n click: [{\n type: Output,\n args: ['mwlClick']\n }]\n });\n})();\n(function () {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(KeydownEnterDirective, [{\n type: Directive,\n args: [{\n selector: '[mwlKeydownEnter]'\n }]\n }], function () {\n return [{\n type: ɵngcc0.ElementRef\n }, {\n type: ɵngcc0.NgZone\n }, {\n type: ɵngcc0.Renderer2\n }];\n }, {\n keydown: [{\n type: Output,\n args: ['mwlKeydownEnter']\n }]\n });\n})();\n(function () {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(CalendarUtils, [{\n type: Injectable\n }], function () {\n return [{\n type: DateAdapter\n }];\n }, null);\n})();\n(function () {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(CalendarA11y, [{\n type: Injectable\n }], function () {\n return [{\n type: ɵngcc1.I18nPluralPipe\n }];\n }, null);\n})();\n(function () {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(CalendarA11yPipe, [{\n type: Pipe,\n args: [{\n name: 'calendarA11y'\n }]\n }], function () {\n return [{\n type: CalendarA11y\n }, {\n type: String,\n decorators: [{\n type: Inject,\n args: [LOCALE_ID]\n }]\n }];\n }, null);\n})();\n(function () {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(CalendarMomentDateFormatter, [{\n type: Injectable\n }], function () {\n return [{\n type: undefined,\n decorators: [{\n type: Inject,\n args: [MOMENT]\n }]\n }, {\n type: DateAdapter\n }];\n }, null);\n})();\n(function () {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(CalendarNativeDateFormatter, [{\n type: Injectable\n }], function () {\n return [{\n type: DateAdapter\n }];\n }, null);\n})();\n(function () {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(CalendarCommonModule, [{\n type: NgModule,\n args: [{\n declarations: [CalendarEventActionsComponent, CalendarEventTitleComponent, CalendarTooltipWindowComponent, CalendarTooltipDirective, CalendarPreviousViewDirective, CalendarNextViewDirective, CalendarTodayDirective, CalendarDatePipe, CalendarEventTitlePipe, CalendarA11yPipe, ClickDirective, KeydownEnterDirective],\n imports: [CommonModule],\n exports: [CalendarEventActionsComponent, CalendarEventTitleComponent, CalendarTooltipWindowComponent, CalendarTooltipDirective, CalendarPreviousViewDirective, CalendarNextViewDirective, CalendarTodayDirective, CalendarDatePipe, CalendarEventTitlePipe, CalendarA11yPipe, ClickDirective, KeydownEnterDirective],\n providers: [I18nPluralPipe],\n entryComponents: [CalendarTooltipWindowComponent]\n }]\n }], null, null);\n})();\n(function () {\n (typeof ngJitMode === \"undefined\" || ngJitMode) && ɵngcc0.ɵɵsetNgModuleScope(CalendarCommonModule, {\n declarations: function () {\n return [CalendarEventActionsComponent, CalendarEventTitleComponent, CalendarTooltipWindowComponent, CalendarTooltipDirective, CalendarPreviousViewDirective, CalendarNextViewDirective, CalendarTodayDirective, CalendarDatePipe, CalendarEventTitlePipe, CalendarA11yPipe, ClickDirective, KeydownEnterDirective];\n },\n imports: function () {\n return [CommonModule];\n },\n exports: function () {\n return [CalendarEventActionsComponent, CalendarEventTitleComponent, CalendarTooltipWindowComponent, CalendarTooltipDirective, CalendarPreviousViewDirective, CalendarNextViewDirective, CalendarTodayDirective, CalendarDatePipe, CalendarEventTitlePipe, CalendarA11yPipe, ClickDirective, KeydownEnterDirective];\n }\n });\n})();\n(function () {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(CalendarMonthViewComponent, [{\n type: Component,\n args: [{\n selector: 'mwl-calendar-month-view',\n template: `\n <div class=\"cal-month-view\" role=\"grid\">\n <mwl-calendar-month-view-header\n [days]=\"columnHeaders\"\n [locale]=\"locale\"\n (columnHeaderClicked)=\"columnHeaderClicked.emit($event)\"\n [customTemplate]=\"headerTemplate\"\n >\n </mwl-calendar-month-view-header>\n <div class=\"cal-days\">\n <div\n *ngFor=\"let rowIndex of view.rowOffsets; trackBy: trackByRowOffset\"\n >\n <div role=\"row\" class=\"cal-cell-row\">\n <mwl-calendar-month-cell\n role=\"gridcell\"\n *ngFor=\"\n let day of view.days\n | slice: rowIndex:rowIndex + view.totalDaysVisibleInWeek;\n trackBy: trackByDate\n \"\n [ngClass]=\"day?.cssClass\"\n [day]=\"day\"\n [openDay]=\"openDay\"\n [locale]=\"locale\"\n [tooltipPlacement]=\"tooltipPlacement\"\n [tooltipAppendToBody]=\"tooltipAppendToBody\"\n [tooltipTemplate]=\"tooltipTemplate\"\n [tooltipDelay]=\"tooltipDelay\"\n [customTemplate]=\"cellTemplate\"\n [ngStyle]=\"{ backgroundColor: day.backgroundColor }\"\n (mwlClick)=\"dayClicked.emit({ day: day, sourceEvent: $event })\"\n [clickListenerDisabled]=\"dayClicked.observers.length === 0\"\n (mwlKeydownEnter)=\"\n dayClicked.emit({ day: day, sourceEvent: $event })\n \"\n (highlightDay)=\"toggleDayHighlight($event.event, true)\"\n (unhighlightDay)=\"toggleDayHighlight($event.event, false)\"\n mwlDroppable\n dragOverClass=\"cal-drag-over\"\n (drop)=\"\n eventDropped(\n day,\n $event.dropData.event,\n $event.dropData.draggedFrom\n )\n \"\n (eventClicked)=\"\n eventClicked.emit({\n event: $event.event,\n sourceEvent: $event.sourceEvent\n })\n \"\n [attr.tabindex]=\"{} | calendarA11y: 'monthCellTabIndex'\"\n >\n </mwl-calendar-month-cell>\n </div>\n <mwl-calendar-open-day-events\n [locale]=\"locale\"\n [isOpen]=\"openRowIndex === rowIndex\"\n [events]=\"openDay?.events\"\n [date]=\"openDay?.date\"\n [customTemplate]=\"openDayEventsTemplate\"\n [eventTitleTemplate]=\"eventTitleTemplate\"\n [eventActionsTemplate]=\"eventActionsTemplate\"\n (eventClicked)=\"\n eventClicked.emit({\n event: $event.event,\n sourceEvent: $event.sourceEvent\n })\n \"\n mwlDroppable\n dragOverClass=\"cal-drag-over\"\n (drop)=\"\n eventDropped(\n openDay,\n $event.dropData.event,\n $event.dropData.draggedFrom\n )\n \"\n >\n </mwl-calendar-open-day-events>\n </div>\n </div>\n </div>\n `\n }]\n }], function () {\n return [{\n type: ɵngcc0.ChangeDetectorRef\n }, {\n type: CalendarUtils\n }, {\n type: String,\n decorators: [{\n type: Inject,\n args: [LOCALE_ID]\n }]\n }, {\n type: DateAdapter\n }];\n }, {\n events: [{\n type: Input\n }],\n excludeDays: [{\n type: Input\n }],\n activeDayIsOpen: [{\n type: Input\n }],\n tooltipPlacement: [{\n type: Input\n }],\n tooltipAppendToBody: [{\n type: Input\n }],\n tooltipDelay: [{\n type: Input\n }],\n beforeViewRender: [{\n type: Output\n }],\n dayClicked: [{\n type: Output\n }],\n eventClicked: [{\n type: Output\n }],\n columnHeaderClicked: [{\n type: Output\n }],\n eventTimesChanged: [{\n type: Output\n }],\n locale: [{\n type: Input\n }],\n viewDate: [{\n type: Input\n }],\n activeDay: [{\n type: Input\n }],\n refresh: [{\n type: Input\n }],\n tooltipTemplate: [{\n type: Input\n }],\n weekStartsOn: [{\n type: Input\n }],\n headerTemplate: [{\n type: Input\n }],\n cellTemplate: [{\n type: Input\n }],\n openDayEventsTemplate: [{\n type: Input\n }],\n eventTitleTemplate: [{\n type: Input\n }],\n eventActionsTemplate: [{\n type: Input\n }],\n weekendDays: [{\n type: Input\n }]\n });\n})();\n(function () {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(CalendarMonthViewHeaderComponent, [{\n type: Component,\n args: [{\n selector: 'mwl-calendar-month-view-header',\n template: `\n <ng-template\n #defaultTemplate\n let-days=\"days\"\n let-locale=\"locale\"\n let-trackByWeekDayHeaderDate=\"trackByWeekDayHeaderDate\"\n >\n <div class=\"cal-cell-row cal-header\" role=\"row\">\n <div\n class=\"cal-cell\"\n *ngFor=\"let day of days; trackBy: trackByWeekDayHeaderDate\"\n [class.cal-past]=\"day.isPast\"\n [class.cal-today]=\"day.isToday\"\n [class.cal-future]=\"day.isFuture\"\n [class.cal-weekend]=\"day.isWeekend\"\n (click)=\"\n columnHeaderClicked.emit({\n isoDayNumber: day.day,\n sourceEvent: $event\n })\n \"\n [ngClass]=\"day.cssClass\"\n tabindex=\"0\"\n role=\"columnheader\"\n >\n {{ day.date | calendarDate: 'monthViewColumnHeader':locale }}\n </div>\n </div>\n </ng-template>\n <ng-template\n [ngTemplateOutlet]=\"customTemplate || defaultTemplate\"\n [ngTemplateOutletContext]=\"{\n days: days,\n locale: locale,\n trackByWeekDayHeaderDate: trackByWeekDayHeaderDate\n }\"\n >\n </ng-template>\n `\n }]\n }], function () {\n return [];\n }, {\n columnHeaderClicked: [{\n type: Output\n }],\n days: [{\n type: Input\n }],\n locale: [{\n type: Input\n }],\n customTemplate: [{\n type: Input\n }]\n });\n})();\n(function () {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(CalendarMonthCellComponent, [{\n type: Component,\n args: [{\n selector: 'mwl-calendar-month-cell',\n template: `\n <ng-template\n #defaultTemplate\n let-day=\"day\"\n let-openDay=\"openDay\"\n let-locale=\"locale\"\n let-tooltipPlacement=\"tooltipPlacement\"\n let-highlightDay=\"highlightDay\"\n let-unhighlightDay=\"unhighlightDay\"\n let-eventClicked=\"eventClicked\"\n let-tooltipTemplate=\"tooltipTemplate\"\n let-tooltipAppendToBody=\"tooltipAppendToBody\"\n let-tooltipDelay=\"tooltipDelay\"\n let-trackByEventId=\"trackByEventId\"\n let-validateDrag=\"validateDrag\"\n >\n <div\n class=\"cal-cell-top\"\n [attr.aria-label]=\"\n { day: day, locale: locale } | calendarA11y: 'monthCell'\n \"\n >\n <span aria-hidden=\"true\">\n <span class=\"cal-day-badge\" *ngIf=\"day.badgeTotal > 0\">{{\n day.badgeTotal\n }}</span>\n <span class=\"cal-day-number\">{{\n day.date | calendarDate: 'monthViewDayNumber':locale\n }}</span>\n </span>\n </div>\n <div class=\"cal-events\" *ngIf=\"day.events.length > 0\">\n <div\n class=\"cal-event\"\n *ngFor=\"let event of day.events; trackBy: trackByEventId\"\n [ngStyle]=\"{ backgroundColor: event.color?.primary }\"\n [ngClass]=\"event?.cssClass\"\n (mouseenter)=\"highlightDay.emit({ event: event })\"\n (mouseleave)=\"unhighlightDay.emit({ event: event })\"\n [mwlCalendarTooltip]=\"\n event.title | calendarEventTitle: 'monthTooltip':event\n \"\n [tooltipPlacement]=\"tooltipPlacement\"\n [tooltipEvent]=\"event\"\n [tooltipTemplate]=\"tooltipTemplate\"\n [tooltipAppendToBody]=\"tooltipAppendToBody\"\n [tooltipDelay]=\"tooltipDelay\"\n mwlDraggable\n [class.cal-draggable]=\"event.draggable\"\n dragActiveClass=\"cal-drag-active\"\n [dropData]=\"{ event: event, draggedFrom: day }\"\n [dragAxis]=\"{ x: event.draggable, y: event.draggable }\"\n [validateDrag]=\"validateDrag\"\n [touchStartLongPress]=\"{ delay: 300, delta: 30 }\"\n (mwlClick)=\"eventClicked.emit({ event: event, sourceEvent: $event })\"\n [attr.aria-hidden]=\"{} | calendarA11y: 'hideMonthCellEvents'\"\n ></div>\n </div>\n </ng-template>\n <ng-template\n [ngTemplateOutlet]=\"customTemplate || defaultTemplate\"\n [ngTemplateOutletContext]=\"{\n day: day,\n openDay: openDay,\n locale: locale,\n tooltipPlacement: tooltipPlacement,\n highlightDay: highlightDay,\n unhighlightDay: unhighlightDay,\n eventClicked: eventClicked,\n tooltipTemplate: tooltipTemplate,\n tooltipAppendToBody: tooltipAppendToBody,\n tooltipDelay: tooltipDelay,\n trackByEventId: trackByEventId,\n validateDrag: validateDrag\n }\"\n >\n </ng-template>\n `,\n host: {\n class: 'cal-cell cal-day-cell',\n '[class.cal-past]': 'day.isPast',\n '[class.cal-today]': 'day.isToday',\n '[class.cal-future]': 'day.isFuture',\n '[class.cal-weekend]': 'day.isWeekend',\n '[class.cal-in-month]': 'day.inMonth',\n '[class.cal-out-month]': '!day.inMonth',\n '[class.cal-has-events]': 'day.events.length > 0',\n '[class.cal-open]': 'day === openDay',\n '[class.cal-event-highlight]': '!!day.backgroundColor'\n }\n }]\n }], function () {\n return [];\n }, {\n highlightDay: [{\n type: Output\n }],\n unhighlightDay: [{\n type: Output\n }],\n eventClicked: [{\n type: Output\n }],\n day: [{\n type: Input\n }],\n openDay: [{\n type: Input\n }],\n locale: [{\n type: Input\n }],\n tooltipPlacement: [{\n type: Input\n }],\n tooltipAppendToBody: [{\n type: Input\n }],\n customTemplate: [{\n type: Input\n }],\n tooltipTemplate: [{\n type: Input\n }],\n tooltipDelay: [{\n type: Input\n }]\n });\n})();\n(function () {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(CalendarOpenDayEventsComponent, [{\n type: Component,\n args: [{\n selector: 'mwl-calendar-open-day-events',\n template: `\n <ng-template\n #defaultTemplate\n let-events=\"events\"\n let-eventClicked=\"eventClicked\"\n let-isOpen=\"isOpen\"\n let-trackByEventId=\"trackByEventId\"\n let-validateDrag=\"validateDrag\"\n >\n <div\n class=\"cal-open-day-events\"\n [@collapse]\n *ngIf=\"isOpen\"\n role=\"application\"\n >\n <span\n tabindex=\"-1\"\n role=\"alert\"\n [attr.aria-label]=\"\n { date: date, locale: locale } | calendarA11y: 'openDayEventsAlert'\n \"\n ></span>\n <span\n tabindex=\"0\"\n role=\"landmark\"\n [attr.aria-label]=\"\n { date: date, locale: locale }\n | calendarA11y: 'openDayEventsLandmark'\n \"\n ></span>\n <div\n *ngFor=\"let event of events; trackBy: trackByEventId\"\n [ngClass]=\"event?.cssClass\"\n mwlDraggable\n [class.cal-draggable]=\"event.draggable\"\n dragActiveClass=\"cal-drag-active\"\n [dropData]=\"{ event: event }\"\n [dragAxis]=\"{ x: event.draggable, y: event.draggable }\"\n [validateDrag]=\"validateDrag\"\n [touchStartLongPress]=\"{ delay: 300, delta: 30 }\"\n >\n <span\n class=\"cal-event\"\n [ngStyle]=\"{ backgroundColor: event.color?.primary }\"\n >\n </span>\n &ngsp;\n <mwl-calendar-event-title\n [event]=\"event\"\n [customTemplate]=\"eventTitleTemplate\"\n view=\"month\"\n (mwlClick)=\"\n eventClicked.emit({ event: event, sourceEvent: $event })\n \"\n (mwlKeydownEnter)=\"\n eventClicked.emit({ event: event, sourceEvent: $event })\n \"\n tabindex=\"0\"\n [attr.aria-label]=\"\n { event: event, locale: locale }\n | calendarA11y: 'eventDescription'\n \"\n >\n </mwl-calendar-event-title>\n &ngsp;\n <mwl-calendar-event-actions\n [event]=\"event\"\n [customTemplate]=\"eventActionsTemplate\"\n >\n </mwl-calendar-event-actions>\n </div>\n </div>\n </ng-template>\n <ng-template\n [ngTemplateOutlet]=\"customTemplate || defaultTemplate\"\n [ngTemplateOutletContext]=\"{\n events: events,\n eventClicked: eventClicked,\n isOpen: isOpen,\n trackByEventId: trackByEventId,\n validateDrag: validateDrag\n }\"\n >\n </ng-template>\n `,\n animations: [collapseAnimation]\n }]\n }], function () {\n return [];\n }, {\n isOpen: [{\n type: Input\n }],\n eventClicked: [{\n type: Output\n }],\n locale: [{\n type: Input\n }],\n events: [{\n type: Input\n }],\n customTemplate: [{\n type: Input\n }],\n eventTitleTemplate: [{\n type: Input\n }],\n eventActionsTemplate: [{\n type: Input\n }],\n date: [{\n type: Input\n }]\n });\n})();\n(function () {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(CalendarMonthModule, [{\n type: NgModule,\n args: [{\n imports: [CommonModule, DragAndDropModule, CalendarCommonModule],\n declarations: [CalendarMonthViewComponent, CalendarMonthCellComponent, CalendarOpenDayEventsComponent, CalendarMonthViewHeaderComponent],\n exports: [DragAndDropModule, CalendarMonthViewComponent, CalendarMonthCellComponent, CalendarOpenDayEventsComponent, CalendarMonthViewHeaderComponent]\n }]\n }], null, null);\n})();\n(function () {\n (typeof ngJitMode === \"undefined\" || ngJitMode) && ɵngcc0.ɵɵsetNgModuleScope(CalendarMonthModule, {\n declarations: function () {\n return [CalendarMonthViewComponent, CalendarMonthCellComponent, CalendarOpenDayEventsComponent, CalendarMonthViewHeaderComponent];\n },\n imports: function () {\n return [CommonModule, DragAndDropModule, CalendarCommonModule];\n },\n exports: function () {\n return [DragAndDropModule, CalendarMonthViewComponent, CalendarMonthCellComponent, CalendarOpenDayEventsComponent, CalendarMonthViewHeaderComponent];\n }\n });\n})();\n(function () {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(CalendarWeekViewComponent, [{\n type: Component,\n args: [{\n selector: 'mwl-calendar-week-view',\n template: `\n <div class=\"cal-week-view\" role=\"grid\">\n <mwl-calendar-week-view-header\n [days]=\"days\"\n [locale]=\"locale\"\n [customTemplate]=\"headerTemplate\"\n (dayHeaderClicked)=\"dayHeaderClicked.emit($event)\"\n (eventDropped)=\"\n eventDropped({ dropData: $event }, $event.newStart, true)\n \"\n (dragEnter)=\"dateDragEnter($event.date)\"\n >\n </mwl-calendar-week-view-header>\n <div\n class=\"cal-all-day-events\"\n #allDayEventsContainer\n *ngIf=\"view.allDayEventRows.length > 0\"\n mwlDroppable\n (dragEnter)=\"dragEnter('allDay')\"\n (dragLeave)=\"dragLeave('allDay')\"\n >\n <div class=\"cal-day-columns\">\n <div\n class=\"cal-time-label-column\"\n [ngTemplateOutlet]=\"allDayEventsLabelTemplate\"\n ></div>\n <div\n class=\"cal-day-column\"\n *ngFor=\"let day of days; trackBy: trackByWeekDayHeaderDate\"\n mwlDroppable\n dragOverClass=\"cal-drag-over\"\n (drop)=\"eventDropped($event, day.date, true)\"\n (dragEnter)=\"dateDragEnter(day.date)\"\n ></div>\n </div>\n <div\n *ngFor=\"let eventRow of view.allDayEventRows; trackBy: trackById\"\n #eventRowContainer\n class=\"cal-events-row\"\n >\n <div\n *ngFor=\"\n let allDayEvent of eventRow.row;\n trackBy: trackByWeekAllDayEvent\n \"\n #event\n class=\"cal-event-container\"\n [class.cal-draggable]=\"\n allDayEvent.event.draggable && allDayEventResizes.size === 0\n \"\n [class.cal-starts-within-week]=\"!allDayEvent.startsBeforeWeek\"\n [class.cal-ends-within-week]=\"!allDayEvent.endsAfterWeek\"\n [ngClass]=\"allDayEvent.event?.cssClass\"\n [style.width.%]=\"(100 / days.length) * allDayEvent.span\"\n [style.marginLeft.%]=\"(100 / days.length) * allDayEvent.offset\"\n mwlResizable\n [resizeSnapGrid]=\"{ left: dayColumnWidth, right: dayColumnWidth }\"\n [validateResize]=\"validateResize\"\n (resizeStart)=\"\n allDayEventResizeStarted(eventRowContainer, allDayEvent, $event)\n \"\n (resizing)=\"\n allDayEventResizing(allDayEvent, $event, dayColumnWidth)\n \"\n (resizeEnd)=\"allDayEventResizeEnded(allDayEvent)\"\n mwlDraggable\n dragActiveClass=\"cal-drag-active\"\n [dropData]=\"{ event: allDayEvent.event, calendarId: calendarId }\"\n [dragAxis]=\"{\n x: allDayEvent.event.draggable && allDayEventResizes.size === 0,\n y:\n !snapDraggedEvents &&\n allDayEvent.event.draggable &&\n allDayEventResizes.size === 0\n }\"\n [dragSnapGrid]=\"snapDraggedEvents ? { x: dayColumnWidth } : {}\"\n [validateDrag]=\"validateDrag\"\n [touchStartLongPress]=\"{ delay: 300, delta: 30 }\"\n (dragStart)=\"dragStarted(eventRowContainer, event)\"\n (dragging)=\"allDayEventDragMove()\"\n (dragEnd)=\"dragEnded(allDayEvent, $event, dayColumnWidth)\"\n >\n <div\n class=\"cal-resize-handle cal-resize-handle-before-start\"\n *ngIf=\"\n allDayEvent.event?.resizable?.beforeStart &&\n !allDayEvent.startsBeforeWeek\n \"\n mwlResizeHandle\n [resizeEdges]=\"{ left: true }\"\n ></div>\n <mwl-calendar-week-view-event\n [locale]=\"locale\"\n [weekEvent]=\"allDayEvent\"\n [tooltipPlacement]=\"tooltipPlacement\"\n [tooltipTemplate]=\"tooltipTemplate\"\n [tooltipAppendToBody]=\"tooltipAppendToBody\"\n [tooltipDelay]=\"tooltipDelay\"\n [customTemplate]=\"eventTemplate\"\n [eventTitleTemplate]=\"eventTitleTemplate\"\n [eventActionsTemplate]=\"eventActionsTemplate\"\n [daysInWeek]=\"daysInWeek\"\n (eventClicked)=\"\n eventClicked.emit({\n event: allDayEvent.event,\n sourceEvent: $event.sourceEvent\n })\n \"\n >\n </mwl-calendar-week-view-event>\n <div\n class=\"cal-resize-handle cal-resize-handle-after-end\"\n *ngIf=\"\n allDayEvent.event?.resizable?.afterEnd &&\n !allDayEvent.endsAfterWeek\n \"\n mwlResizeHandle\n [resizeEdges]=\"{ right: true }\"\n ></div>\n </div>\n </div>\n </div>\n <div\n class=\"cal-time-events\"\n mwlDroppable\n (dragEnter)=\"dragEnter('time')\"\n (dragLeave)=\"dragLeave('time')\"\n >\n <div\n class=\"cal-time-label-column\"\n *ngIf=\"view.hourColumns.length > 0 && daysInWeek !== 1\"\n >\n <div\n *ngFor=\"\n let hour of view.hourColumns[0].hours;\n trackBy: trackByHour;\n let odd = odd\n \"\n class=\"cal-hour\"\n [class.cal-hour-odd]=\"odd\"\n >\n <mwl-calendar-week-view-hour-segment\n *ngFor=\"let segment of hour.segments; trackBy: trackByHourSegment\"\n [style.height.px]=\"hourSegmentHeight\"\n [segment]=\"segment\"\n [segmentHeight]=\"hourSegmentHeight\"\n [locale]=\"locale\"\n [customTemplate]=\"hourSegmentTemplate\"\n [isTimeLabel]=\"true\"\n [daysInWeek]=\"daysInWeek\"\n >\n </mwl-calendar-week-view-hour-segment>\n </div>\n </div>\n <div\n class=\"cal-day-columns\"\n [class.cal-resize-active]=\"timeEventResizes.size > 0\"\n #dayColumns\n >\n <div\n class=\"cal-day-column\"\n *ngFor=\"let column of view.hourColumns; trackBy: trackByHourColumn\"\n >\n <mwl-calendar-week-view-current-time-marker\n [columnDate]=\"column.date\"\n [dayStartHour]=\"dayStartHour\"\n [dayStartMinute]=\"dayStartMinute\"\n [dayEndHour]=\"dayEndHour\"\n [dayEndMinute]=\"dayEndMinute\"\n [hourSegments]=\"hourSegments\"\n [hourSegmentHeight]=\"hourSegmentHeight\"\n [customTemplate]=\"currentTimeMarkerTemplate\"\n ></mwl-calendar-week-view-current-time-marker>\n <div class=\"cal-events-container\">\n <div\n *ngFor=\"\n let timeEvent of column.events;\n trackBy: trackByWeekTimeEvent\n \"\n #event\n class=\"cal-event-container\"\n [class.cal-draggable]=\"\n timeEvent.event.draggable && timeEventResizes.size === 0\n \"\n [class.cal-starts-within-day]=\"!timeEvent.startsBeforeDay\"\n [class.cal-ends-within-day]=\"!timeEvent.endsAfterDay\"\n [ngClass]=\"timeEvent.event.cssClass\"\n [hidden]=\"timeEvent.height === 0 && timeEvent.width === 0\"\n [style.top.px]=\"timeEvent.top\"\n [style.height.px]=\"timeEvent.height\"\n [style.left.%]=\"timeEvent.left\"\n [style.width.%]=\"timeEvent.width\"\n mwlResizable\n [resizeSnapGrid]=\"{\n left: dayColumnWidth,\n right: dayColumnWidth,\n top: eventSnapSize || hourSegmentHeight,\n bottom: eventSnapSize || hourSegmentHeight\n }\"\n [validateResize]=\"validateResize\"\n [allowNegativeResizes]=\"true\"\n (resizeStart)=\"\n timeEventResizeStarted(dayColumns, timeEvent, $event)\n \"\n (resizing)=\"timeEventResizing(timeEvent, $event)\"\n (resizeEnd)=\"timeEventResizeEnded(timeEvent)\"\n mwlDraggable\n dragActiveClass=\"cal-drag-active\"\n [dropData]=\"{ event: timeEvent.event, calendarId: calendarId }\"\n [dragAxis]=\"{\n x: timeEvent.event.draggable && timeEventResizes.size === 0,\n y: timeEvent.event.draggable && timeEventResizes.size === 0\n }\"\n [dragSnapGrid]=\"\n snapDraggedEvents\n ? {\n x: dayColumnWidth,\n y: eventSnapSize || hourSegmentHeight\n }\n : {}\n \"\n [touchStartLongPress]=\"{ delay: 300, delta: 30 }\"\n [ghostDragEnabled]=\"!snapDraggedEvents\"\n [ghostElementTemplate]=\"weekEventTemplate\"\n [validateDrag]=\"validateDrag\"\n (dragStart)=\"dragStarted(dayColumns, event, timeEvent)\"\n (dragging)=\"dragMove(timeEvent, $event)\"\n (dragEnd)=\"dragEnded(timeEvent, $event, dayColumnWidth, true)\"\n >\n <div\n class=\"cal-resize-handle cal-resize-handle-before-start\"\n *ngIf=\"\n timeEvent.event?.resizable?.beforeStart &&\n !timeEvent.startsBeforeDay\n \"\n mwlResizeHandle\n [resizeEdges]=\"{\n left: true,\n top: true\n }\"\n ></div>\n <ng-template\n [ngTemplateOutlet]=\"weekEventTemplate\"\n ></ng-template>\n <ng-template #weekEventTemplate>\n <mwl-calendar-week-view-event\n [locale]=\"locale\"\n [weekEvent]=\"timeEvent\"\n [tooltipPlacement]=\"tooltipPlacement\"\n [tooltipTemplate]=\"tooltipTemplate\"\n [tooltipAppendToBody]=\"tooltipAppendToBody\"\n [tooltipDisabled]=\"dragActive || timeEventResizes.size > 0\"\n [tooltipDelay]=\"tooltipDelay\"\n [customTemplate]=\"eventTemplate\"\n [eventTitleTemplate]=\"eventTitleTemplate\"\n [eventActionsTemplate]=\"eventActionsTemplate\"\n [column]=\"column\"\n [daysInWeek]=\"daysInWeek\"\n (eventClicked)=\"\n eventClicked.emit({\n event: timeEvent.event,\n sourceEvent: $event.sourceEvent\n })\n \"\n >\n </mwl-calendar-week-view-event>\n </ng-template>\n <div\n class=\"cal-resize-handle cal-resize-handle-after-end\"\n *ngIf=\"\n timeEvent.event?.resizable?.afterEnd &&\n !timeEvent.endsAfterDay\n \"\n mwlResizeHandle\n [resizeEdges]=\"{\n right: true,\n bottom: true\n }\"\n ></div>\n </div>\n </div>\n\n <div\n *ngFor=\"\n let hour of column.hours;\n trackBy: trackByHour;\n let odd = odd\n \"\n class=\"cal-hour\"\n [class.cal-hour-odd]=\"odd\"\n >\n <mwl-calendar-week-view-hour-segment\n *ngFor=\"\n let segment of hour.segments;\n trackBy: trackByHourSegment\n \"\n [style.height.px]=\"hourSegmentHeight\"\n [segment]=\"segment\"\n [segmentHeight]=\"hourSegmentHeight\"\n [locale]=\"locale\"\n [customTemplate]=\"hourSegmentTemplate\"\n [daysInWeek]=\"daysInWeek\"\n (mwlClick)=\"\n hourSegmentClicked.emit({\n date: segment.date,\n sourceEvent: $event\n })\n \"\n [clickListenerDisabled]=\"\n hourSegmentClicked.observers.length === 0\n \"\n mwlDroppable\n [dragOverClass]=\"\n !dragActive || !snapDraggedEvents ? 'cal-drag-over' : null\n \"\n dragActiveClass=\"cal-drag-active\"\n (drop)=\"eventDropped($event, segment.date, false)\"\n (dragEnter)=\"dateDragEnter(segment.date)\"\n [isTimeLabel]=\"daysInWeek === 1\"\n >\n </mwl-calendar-week-view-hour-segment>\n </div>\n </div>\n </div>\n </div>\n </div>\n `\n }]\n }], function () {\n return [{\n type: ɵngcc0.ChangeDetectorRef\n }, {\n type: CalendarUtils\n }, {\n type: String,\n decorators: [{\n type: Inject,\n args: [LOCALE_ID]\n }]\n }, {\n type: DateAdapter\n }];\n }, {\n events: [{\n type: Input\n }],\n excludeDays: [{\n type: Input\n }],\n tooltipPlacement: [{\n type: Input\n }],\n tooltipAppendToBody: [{\n type: Input\n }],\n tooltipDelay: [{\n type: Input\n }],\n precision: [{\n type: Input\n }],\n snapDraggedEvents: [{\n type: Input\n }],\n hourSegments: [{\n type: Input\n }],\n hourSegmentHeight: [{\n type: Input\n }],\n dayStartHour: [{\n type: Input\n }],\n dayStartMinute: [{\n type: Input\n }],\n dayEndHour: [{\n type: Input\n }],\n dayEndMinute: [{\n type: Input\n }],\n dayHeaderClicked: [{\n type: Output\n }],\n eventClicked: [{\n type: Output\n }],\n eventTimesChanged: [{\n type: Output\n }],\n beforeViewRender: [{\n type: Output\n }],\n hourSegmentClicked: [{\n type: Output\n }],\n locale: [{\n type: Input\n }],\n viewDate: [{\n type: Input\n }],\n refresh: [{\n type: Input\n }],\n tooltipTemplate: [{\n type: Input\n }],\n weekStartsOn: [{\n type: Input\n }],\n headerTemplate: [{\n type: Input\n }],\n eventTemplate: [{\n type: Input\n }],\n eventTitleTemplate: [{\n type: Input\n }],\n eventActionsTemplate: [{\n type: Input\n }],\n weekendDays: [{\n type: Input\n }],\n hourSegmentTemplate: [{\n type: Input\n }],\n eventSnapSize: [{\n type: Input\n }],\n allDayEventsLabelTemplate: [{\n type: Input\n }],\n daysInWeek: [{\n type: Input\n }],\n currentTimeMarkerTemplate: [{\n type: Input\n }]\n });\n})();\n(function () {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(CalendarWeekViewHeaderComponent, [{\n type: Component,\n args: [{\n selector: 'mwl-calendar-week-view-header',\n template: `\n <ng-template\n #defaultTemplate\n let-days=\"days\"\n let-locale=\"locale\"\n let-dayHeaderClicked=\"dayHeaderClicked\"\n let-eventDropped=\"eventDropped\"\n let-trackByWeekDayHeaderDate=\"trackByWeekDayHeaderDate\"\n let-dragEnter=\"dragEnter\"\n >\n <div class=\"cal-day-headers\" role=\"row\">\n <div\n class=\"cal-header\"\n *ngFor=\"let day of days; trackBy: trackByWeekDayHeaderDate\"\n [class.cal-past]=\"day.isPast\"\n [class.cal-today]=\"day.isToday\"\n [class.cal-future]=\"day.isFuture\"\n [class.cal-weekend]=\"day.isWeekend\"\n [ngClass]=\"day.cssClass\"\n (mwlClick)=\"dayHeaderClicked.emit({ day: day, sourceEvent: $event })\"\n mwlDroppable\n dragOverClass=\"cal-drag-over\"\n (drop)=\"\n eventDropped.emit({\n event: $event.dropData.event,\n newStart: day.date\n })\n \"\n (dragEnter)=\"dragEnter.emit({ date: day.date })\"\n tabindex=\"0\"\n role=\"columnheader\"\n >\n <b>{{ day.date | calendarDate: 'weekViewColumnHeader':locale }}</b\n ><br />\n <span>{{\n day.date | calendarDate: 'weekViewColumnSubHeader':locale\n }}</span>\n </div>\n </div>\n </ng-template>\n <ng-template\n [ngTemplateOutlet]=\"customTemplate || defaultTemplate\"\n [ngTemplateOutletContext]=\"{\n days: days,\n locale: locale,\n dayHeaderClicked: dayHeaderClicked,\n eventDropped: eventDropped,\n dragEnter: dragEnter,\n trackByWeekDayHeaderDate: trackByWeekDayHeaderDate\n }\"\n >\n </ng-template>\n `\n }]\n }], function () {\n return [];\n }, {\n dayHeaderClicked: [{\n type: Output\n }],\n eventDropped: [{\n type: Output\n }],\n dragEnter: [{\n type: Output\n }],\n days: [{\n type: Input\n }],\n locale: [{\n type: Input\n }],\n customTemplate: [{\n type: Input\n }]\n });\n})();\n(function () {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(CalendarWeekViewEventComponent, [{\n type: Component,\n args: [{\n selector: 'mwl-calendar-week-view-event',\n template: `\n <ng-template\n #defaultTemplate\n let-weekEvent=\"weekEvent\"\n let-tooltipPlacement=\"tooltipPlacement\"\n let-eventClicked=\"eventClicked\"\n let-tooltipTemplate=\"tooltipTemplate\"\n let-tooltipAppendToBody=\"tooltipAppendToBody\"\n let-tooltipDisabled=\"tooltipDisabled\"\n let-tooltipDelay=\"tooltipDelay\"\n let-column=\"column\"\n let-daysInWeek=\"daysInWeek\"\n >\n <div\n class=\"cal-event\"\n [ngStyle]=\"{\n backgroundColor: weekEvent.event.color?.secondary,\n borderColor: weekEvent.event.color?.primary\n }\"\n [mwlCalendarTooltip]=\"\n !tooltipDisabled\n ? (weekEvent.event.title\n | calendarEventTitle\n : (daysInWeek === 1 ? 'dayTooltip' : 'weekTooltip')\n : weekEvent.tempEvent || weekEvent.event)\n : ''\n \"\n [tooltipPlacement]=\"tooltipPlacement\"\n [tooltipEvent]=\"weekEvent.tempEvent || weekEvent.event\"\n [tooltipTemplate]=\"tooltipTemplate\"\n [tooltipAppendToBody]=\"tooltipAppendToBody\"\n [tooltipDelay]=\"tooltipDelay\"\n (mwlClick)=\"eventClicked.emit({ sourceEvent: $event })\"\n (mwlKeydownEnter)=\"eventClicked.emit({ sourceEvent: $event })\"\n tabindex=\"0\"\n role=\"application\"\n [attr.aria-label]=\"\n { event: weekEvent.tempEvent || weekEvent.event, locale: locale }\n | calendarA11y: 'eventDescription'\n \"\n >\n <mwl-calendar-event-actions\n [event]=\"weekEvent.tempEvent || weekEvent.event\"\n [customTemplate]=\"eventActionsTemplate\"\n >\n </mwl-calendar-event-actions>\n &ngsp;\n <mwl-calendar-event-title\n [event]=\"weekEvent.tempEvent || weekEvent.event\"\n [customTemplate]=\"eventTitleTemplate\"\n [view]=\"daysInWeek === 1 ? 'day' : 'week'\"\n >\n </mwl-calendar-event-title>\n </div>\n </ng-template>\n <ng-template\n [ngTemplateOutlet]=\"customTemplate || defaultTemplate\"\n [ngTemplateOutletContext]=\"{\n weekEvent: weekEvent,\n tooltipPlacement: tooltipPlacement,\n eventClicked: eventClicked,\n tooltipTemplate: tooltipTemplate,\n tooltipAppendToBody: tooltipAppendToBody,\n tooltipDisabled: tooltipDisabled,\n tooltipDelay: tooltipDelay,\n column: column,\n daysInWeek: daysInWeek\n }\"\n >\n </ng-template>\n `\n }]\n }], function () {\n return [];\n }, {\n eventClicked: [{\n type: Output\n }],\n locale: [{\n type: Input\n }],\n weekEvent: [{\n type: Input\n }],\n tooltipPlacement: [{\n type: Input\n }],\n tooltipAppendToBody: [{\n type: Input\n }],\n tooltipDisabled: [{\n type: Input\n }],\n tooltipDelay: [{\n type: Input\n }],\n customTemplate: [{\n type: Input\n }],\n eventTitleTemplate: [{\n type: Input\n }],\n eventActionsTemplate: [{\n type: Input\n }],\n tooltipTemplate: [{\n type: Input\n }],\n column: [{\n type: Input\n }],\n daysInWeek: [{\n type: Input\n }]\n });\n})();\n(function () {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(CalendarWeekViewHourSegmentComponent, [{\n type: Component,\n args: [{\n selector: 'mwl-calendar-week-view-hour-segment',\n template: `\n <ng-template\n #defaultTemplate\n let-segment=\"segment\"\n let-locale=\"locale\"\n let-segmentHeight=\"segmentHeight\"\n let-isTimeLabel=\"isTimeLabel\"\n let-daysInWeek=\"daysInWeek\"\n >\n <div\n [attr.aria-hidden]=\"\n {}\n | calendarA11y\n : (daysInWeek === 1\n ? 'hideDayHourSegment'\n : 'hideWeekHourSegment')\n \"\n class=\"cal-hour-segment\"\n [style.height.px]=\"segmentHeight\"\n [class.cal-hour-start]=\"segment.isStart\"\n [class.cal-after-hour-start]=\"!segment.isStart\"\n [ngClass]=\"segment.cssClass\"\n >\n <div class=\"cal-time\" *ngIf=\"isTimeLabel\">\n {{\n segment.displayDate\n | calendarDate\n : (daysInWeek === 1 ? 'dayViewHour' : 'weekViewHour')\n : locale\n }}\n </div>\n </div>\n </ng-template>\n <ng-template\n [ngTemplateOutlet]=\"customTemplate || defaultTemplate\"\n [ngTemplateOutletContext]=\"{\n segment: segment,\n locale: locale,\n segmentHeight: segmentHeight,\n isTimeLabel: isTimeLabel,\n daysInWeek: daysInWeek\n }\"\n >\n </ng-template>\n `\n }]\n }], null, {\n segment: [{\n type: Input\n }],\n segmentHeight: [{\n type: Input\n }],\n locale: [{\n type: Input\n }],\n isTimeLabel: [{\n type: Input\n }],\n daysInWeek: [{\n type: Input\n }],\n customTemplate: [{\n type: Input\n }]\n });\n})();\n(function () {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(CalendarWeekViewCurrentTimeMarkerComponent, [{\n type: Component,\n args: [{\n selector: 'mwl-calendar-week-view-current-time-marker',\n template: `\n <ng-template\n #defaultTemplate\n let-columnDate=\"columnDate\"\n let-dayStartHour=\"dayStartHour\"\n let-dayStartMinute=\"dayStartMinute\"\n let-dayEndHour=\"dayEndHour\"\n let-dayEndMinute=\"dayEndMinute\"\n let-isVisible=\"isVisible\"\n let-topPx=\"topPx\"\n >\n <div\n class=\"cal-current-time-marker\"\n *ngIf=\"isVisible\"\n [style.top.px]=\"topPx\"\n ></div>\n </ng-template>\n <ng-template\n [ngTemplateOutlet]=\"customTemplate || defaultTemplate\"\n [ngTemplateOutletContext]=\"{\n columnDate: columnDate,\n dayStartHour: dayStartHour,\n dayStartMinute: dayStartMinute,\n dayEndHour: dayEndHour,\n dayEndMinute: dayEndMinute,\n isVisible: (marker$ | async)?.isVisible,\n topPx: (marker$ | async)?.top\n }\"\n >\n </ng-template>\n `\n }]\n }], function () {\n return [{\n type: DateAdapter\n }, {\n type: ɵngcc0.NgZone\n }];\n }, {\n columnDate: [{\n type: Input\n }],\n dayStartHour: [{\n type: Input\n }],\n dayStartMinute: [{\n type: Input\n }],\n dayEndHour: [{\n type: Input\n }],\n dayEndMinute: [{\n type: Input\n }],\n hourSegments: [{\n type: Input\n }],\n hourSegmentHeight: [{\n type: Input\n }],\n customTemplate: [{\n type: Input\n }]\n });\n})();\n(function () {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(CalendarWeekModule, [{\n type: NgModule,\n args: [{\n imports: [CommonModule, ResizableModule, DragAndDropModule, CalendarCommonModule],\n declarations: [CalendarWeekViewComponent, CalendarWeekViewHeaderComponent, CalendarWeekViewEventComponent, CalendarWeekViewHourSegmentComponent, CalendarWeekViewCurrentTimeMarkerComponent],\n exports: [ResizableModule, DragAndDropModule, CalendarWeekViewComponent, CalendarWeekViewHeaderComponent, CalendarWeekViewEventComponent, CalendarWeekViewHourSegmentComponent, CalendarWeekViewCurrentTimeMarkerComponent]\n }]\n }], null, null);\n})();\n(function () {\n (typeof ngJitMode === \"undefined\" || ngJitMode) && ɵngcc0.ɵɵsetNgModuleScope(CalendarWeekModule, {\n declarations: function () {\n return [CalendarWeekViewComponent, CalendarWeekViewHeaderComponent, CalendarWeekViewEventComponent, CalendarWeekViewHourSegmentComponent, CalendarWeekViewCurrentTimeMarkerComponent];\n },\n imports: function () {\n return [CommonModule, ResizableModule, DragAndDropModule, CalendarCommonModule];\n },\n exports: function () {\n return [ResizableModule, DragAndDropModule, CalendarWeekViewComponent, CalendarWeekViewHeaderComponent, CalendarWeekViewEventComponent, CalendarWeekViewHourSegmentComponent, CalendarWeekViewCurrentTimeMarkerComponent];\n }\n });\n})();\n(function () {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(CalendarDayViewComponent, [{\n type: Component,\n args: [{\n selector: 'mwl-calendar-day-view',\n template: `\n <mwl-calendar-week-view\n class=\"cal-day-view\"\n [daysInWeek]=\"1\"\n [viewDate]=\"viewDate\"\n [events]=\"events\"\n [hourSegments]=\"hourSegments\"\n [hourSegmentHeight]=\"hourSegmentHeight\"\n [dayStartHour]=\"dayStartHour\"\n [dayStartMinute]=\"dayStartMinute\"\n [dayEndHour]=\"dayEndHour\"\n [dayEndMinute]=\"dayEndMinute\"\n [refresh]=\"refresh\"\n [locale]=\"locale\"\n [eventSnapSize]=\"eventSnapSize\"\n [tooltipPlacement]=\"tooltipPlacement\"\n [tooltipTemplate]=\"tooltipTemplate\"\n [tooltipAppendToBody]=\"tooltipAppendToBody\"\n [tooltipDelay]=\"tooltipDelay\"\n [hourSegmentTemplate]=\"hourSegmentTemplate\"\n [eventTemplate]=\"eventTemplate\"\n [eventTitleTemplate]=\"eventTitleTemplate\"\n [eventActionsTemplate]=\"eventActionsTemplate\"\n [snapDraggedEvents]=\"snapDraggedEvents\"\n [allDayEventsLabelTemplate]=\"allDayEventsLabelTemplate\"\n [currentTimeMarkerTemplate]=\"currentTimeMarkerTemplate\"\n (eventClicked)=\"eventClicked.emit($event)\"\n (hourSegmentClicked)=\"hourSegmentClicked.emit($event)\"\n (eventTimesChanged)=\"eventTimesChanged.emit($event)\"\n (beforeViewRender)=\"beforeViewRender.emit($event)\"\n ></mwl-calendar-week-view>\n `\n }]\n }], function () {\n return [];\n }, {\n events: [{\n type: Input\n }],\n hourSegments: [{\n type: Input\n }],\n hourSegmentHeight: [{\n type: Input\n }],\n dayStartHour: [{\n type: Input\n }],\n dayStartMinute: [{\n type: Input\n }],\n dayEndHour: [{\n type: Input\n }],\n dayEndMinute: [{\n type: Input\n }],\n tooltipPlacement: [{\n type: Input\n }],\n tooltipAppendToBody: [{\n type: Input\n }],\n tooltipDelay: [{\n type: Input\n }],\n snapDraggedEvents: [{\n type: Input\n }],\n eventClicked: [{\n type: Output\n }],\n hourSegmentClicked: [{\n type: Output\n }],\n eventTimesChanged: [{\n type: Output\n }],\n beforeViewRender: [{\n type: Output\n }],\n viewDate: [{\n type: Input\n }],\n refresh: [{\n type: Input\n }],\n locale: [{\n type: Input\n }],\n eventSnapSize: [{\n type: Input\n }],\n tooltipTemplate: [{\n type: Input\n }],\n hourSegmentTemplate: [{\n type: Input\n }],\n eventTemplate: [{\n type: Input\n }],\n eventTitleTemplate: [{\n type: Input\n }],\n eventActionsTemplate: [{\n type: Input\n }],\n allDayEventsLabelTemplate: [{\n type: Input\n }],\n currentTimeMarkerTemplate: [{\n type: Input\n }]\n });\n})();\n(function () {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(CalendarDayModule, [{\n type: NgModule,\n args: [{\n imports: [CommonModule, CalendarCommonModule, CalendarWeekModule],\n declarations: [CalendarDayViewComponent],\n exports: [CalendarDayViewComponent]\n }]\n }], null, null);\n})();\n(function () {\n (typeof ngJitMode === \"undefined\" || ngJitMode) && ɵngcc0.ɵɵsetNgModuleScope(CalendarDayModule, {\n declarations: function () {\n return [CalendarDayViewComponent];\n },\n imports: function () {\n return [CommonModule, CalendarCommonModule, CalendarWeekModule];\n },\n exports: function () {\n return [CalendarDayViewComponent];\n }\n });\n})();\n(function () {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(CalendarModule, [{\n type: NgModule,\n args: [{\n imports: [CalendarCommonModule, CalendarMonthModule, CalendarWeekModule, CalendarDayModule],\n exports: [CalendarCommonModule, CalendarMonthModule, CalendarWeekModule, CalendarDayModule]\n }]\n }], null, null);\n})();\n(function () {\n (typeof ngJitMode === \"undefined\" || ngJitMode) && ɵngcc0.ɵɵsetNgModuleScope(CalendarModule, {\n imports: [CalendarCommonModule, CalendarMonthModule, CalendarWeekModule, CalendarDayModule],\n exports: [CalendarCommonModule, CalendarMonthModule, CalendarWeekModule, CalendarDayModule]\n });\n})();\n\n/*\n * Public API Surface of angular-calendar\n */\n\n/**\n * Generated bundle index. Do not edit.\n */\n\nexport { CalendarA11y, CalendarAngularDateFormatter, CalendarCommonModule, CalendarDateFormatter, CalendarDayModule, CalendarDayViewComponent, CalendarEventTimesChangedEventType, CalendarEventTitleFormatter, CalendarModule, CalendarMomentDateFormatter, CalendarMonthModule, CalendarMonthViewComponent, CalendarNativeDateFormatter, CalendarUtils, CalendarView, CalendarWeekModule, CalendarWeekViewComponent, DateAdapter, MOMENT, collapseAnimation, getWeekViewPeriod, CalendarOpenDayEventsComponent as ɵa, CalendarEventActionsComponent as ɵb, CalendarEventTitleComponent as ɵc, CalendarTooltipWindowComponent as ɵd, CalendarTooltipDirective as ɵe, CalendarPreviousViewDirective as ɵf, CalendarNextViewDirective as ɵg, CalendarTodayDirective as ɵh, CalendarDatePipe as ɵi, CalendarEventTitlePipe as ɵj, CalendarA11yPipe as ɵk, ClickDirective as ɵl, KeydownEnterDirective as ɵm, CalendarMonthCellComponent as ɵn, CalendarMonthViewHeaderComponent as ɵo, CalendarWeekViewHeaderComponent as ɵp, CalendarWeekViewEventComponent as ɵq, CalendarWeekViewHourSegmentComponent as ɵr, CalendarWeekViewCurrentTimeMarkerComponent as ɵs };","map":{"version":3,"names":["__decorate","__metadata","__param","__rest","Input","TemplateRef","Component","ElementRef","Injector","Renderer2","ComponentFactoryResolver","ViewContainerRef","Inject","HostListener","Directive","EventEmitter","Output","Injectable","LOCALE_ID","Pipe","NgZone","InjectionToken","NgModule","ChangeDetectorRef","DOCUMENT","formatDate","I18nPluralPipe","CommonModule","positionElements","Subject","of","timer","Observable","BehaviorSubject","interval","takeUntil","switchMap","startWith","switchMapTo","map","validateEvents","validateEvents$1","getMonthView","getWeekViewHeader","getWeekView","ɵngcc0","ɵngcc1","ɵngcc2","ɵngcc3","_c0","a0","action","CalendarEventActionsComponent_ng_template_0_span_0_a_1_Template","rf","ctx","_r10","ɵɵgetCurrentView","ɵɵelementStart","ɵɵlistener","CalendarEventActionsComponent_ng_template_0_span_0_a_1_Template_a_mwlClick_0_listener","$event","restoredCtx","ɵɵrestoreView","action_r7","$implicit","event_r3","ɵɵnextContext","event","ɵɵresetView","onClick","sourceEvent","CalendarEventActionsComponent_ng_template_0_span_0_a_1_Template_a_mwlKeydownEnter_0_listener","ɵɵpipe","ɵɵelementEnd","ɵɵproperty","cssClass","label","ɵɵsanitizeHtml","ɵɵattribute","ɵɵpipeBind2","ɵɵpureFunction1","CalendarEventActionsComponent_ng_template_0_span_0_Template","ɵɵtemplate","ctx_r13","trackByActionId_r4","trackByActionId","ɵɵadvance","actions","CalendarEventActionsComponent_ng_template_0_Template","CalendarEventActionsComponent_ng_template_2_Template","_c1","a1","_c2","CalendarEventTitleComponent_ng_template_0_Template","ɵɵelement","view_r4","view","ɵɵpipeBind3","title","ɵɵpureFunction0","CalendarEventTitleComponent_ng_template_2_Template","_c3","CalendarTooltipWindowComponent_ng_template_0_Template","contents_r3","contents","placement_r4","placement","CalendarTooltipWindowComponent_ng_template_2_Template","_c4","a2","_c5","backgroundColor","CalendarMonthViewComponent_div_3_mwl_calendar_month_cell_2_Template","_r5","CalendarMonthViewComponent_div_3_mwl_calendar_month_cell_2_Template_mwl_calendar_month_cell_mwlClick_0_listener","day_r3","ctx_r4","dayClicked","emit","day","CalendarMonthViewComponent_div_3_mwl_calendar_month_cell_2_Template_mwl_calendar_month_cell_mwlKeydownEnter_0_listener","ctx_r6","CalendarMonthViewComponent_div_3_mwl_calendar_month_cell_2_Template_mwl_calendar_month_cell_highlightDay_0_listener","ctx_r7","toggleDayHighlight","CalendarMonthViewComponent_div_3_mwl_calendar_month_cell_2_Template_mwl_calendar_month_cell_unhighlightDay_0_listener","ctx_r8","CalendarMonthViewComponent_div_3_mwl_calendar_month_cell_2_Template_mwl_calendar_month_cell_drop_0_listener","ctx_r9","eventDropped","dropData","draggedFrom","CalendarMonthViewComponent_div_3_mwl_calendar_month_cell_2_Template_mwl_calendar_month_cell_eventClicked_0_listener","ctx_r10","eventClicked","ctx_r2","openDay","locale","tooltipPlacement","tooltipAppendToBody","tooltipTemplate","tooltipDelay","cellTemplate","observers","length","CalendarMonthViewComponent_div_3_Template","_r12","CalendarMonthViewComponent_div_3_Template_mwl_calendar_open_day_events_eventClicked_4_listener","ctx_r11","CalendarMonthViewComponent_div_3_Template_mwl_calendar_open_day_events_drop_4_listener","rowIndex_r1","ctx_r0","days","totalDaysVisibleInWeek","trackByDate","openRowIndex","events","date","openDayEventsTemplate","eventTitleTemplate","eventActionsTemplate","CalendarMonthViewHeaderComponent_ng_template_0_div_1_Template","_r9","CalendarMonthViewHeaderComponent_ng_template_0_div_1_Template_div_click_0_listener","day_r7","columnHeaderClicked","isoDayNumber","ɵɵtext","locale_r4","ɵɵclassProp","isPast","isToday","isFuture","isWeekend","ɵɵtextInterpolate1","CalendarMonthViewHeaderComponent_ng_template_0_Template","days_r3","trackByWeekDayHeaderDate_r5","trackByWeekDayHeaderDate","CalendarMonthViewHeaderComponent_ng_template_2_Template","_c6","CalendarMonthCellComponent_ng_template_0_span_3_Template","ɵɵtextInterpolate","badgeTotal","_c7","_c8","x","y","_c9","delay","delta","CalendarMonthCellComponent_ng_template_0_div_7_div_1_Template","_r21","CalendarMonthCellComponent_ng_template_0_div_7_div_1_Template_div_mouseenter_0_listener","event_r19","highlightDay_r7","highlightDay","CalendarMonthCellComponent_ng_template_0_div_7_div_1_Template_div_mouseleave_0_listener","unhighlightDay_r8","unhighlightDay","CalendarMonthCellComponent_ng_template_0_div_7_div_1_Template_div_mwlClick_0_listener","eventClicked_r9","ctx_r27","tooltipPlacement_r6","tooltipTemplate_r10","tooltipAppendToBody_r11","tooltipDelay_r12","validateDrag_r14","validateDrag","draggable","color","primary","ɵɵpureFunction2","CalendarMonthCellComponent_ng_template_0_div_7_Template","ctx_r28","trackByEventId_r13","trackByEventId","_c10","CalendarMonthCellComponent_ng_template_0_Template","locale_r5","CalendarMonthCellComponent_ng_template_2_Template","_c11","a3","a4","a5","a6","a7","a8","a9","a10","a11","_c12","_c13","CalendarOpenDayEventsComponent_ng_template_0_div_0_div_5_Template","CalendarOpenDayEventsComponent_ng_template_0_div_0_div_5_Template_mwl_calendar_event_title_mwlClick_3_listener","event_r10","eventClicked_r4","CalendarOpenDayEventsComponent_ng_template_0_div_0_div_5_Template_mwl_calendar_event_title_mwlKeydownEnter_3_listener","validateDrag_r7","_c14","CalendarOpenDayEventsComponent_ng_template_0_div_0_Template","ctx_r17","events_r3","trackByEventId_r6","undefined","CalendarOpenDayEventsComponent_ng_template_0_Template","isOpen_r5","isOpen","CalendarOpenDayEventsComponent_ng_template_2_Template","_c15","CalendarWeekViewComponent_div_2_div_4_Template","CalendarWeekViewComponent_div_2_div_4_Template_div_drop_0_listener","CalendarWeekViewComponent_div_2_div_4_Template_div_dragEnter_0_listener","dateDragEnter","_c16","left","CalendarWeekViewComponent_div_2_div_5_div_2_div_2_Template","_c17","right","CalendarWeekViewComponent_div_2_div_5_div_2_div_4_Template","_c18","_c19","calendarId","_c20","CalendarWeekViewComponent_div_2_div_5_div_2_Template","_r19","CalendarWeekViewComponent_div_2_div_5_div_2_Template_div_resizeStart_0_listener","allDayEvent_r14","ɵɵreference","ctx_r18","allDayEventResizeStarted","CalendarWeekViewComponent_div_2_div_5_div_2_Template_div_resizing_0_listener","ctx_r20","allDayEventResizing","dayColumnWidth","CalendarWeekViewComponent_div_2_div_5_div_2_Template_div_resizeEnd_0_listener","ctx_r21","allDayEventResizeEnded","CalendarWeekViewComponent_div_2_div_5_div_2_Template_div_dragStart_0_listener","_r15","ctx_r22","dragStarted","CalendarWeekViewComponent_div_2_div_5_div_2_Template_div_dragging_0_listener","ctx_r23","allDayEventDragMove","CalendarWeekViewComponent_div_2_div_5_div_2_Template_div_dragEnd_0_listener","ctx_r24","dragEnded","CalendarWeekViewComponent_div_2_div_5_div_2_Template_mwl_calendar_week_view_event_eventClicked_3_listener","ctx_r25","ɵɵstyleProp","span","offset","allDayEventResizes","size","startsBeforeWeek","endsAfterWeek","validateResize","snapDraggedEvents","resizable","beforeStart","eventTemplate","daysInWeek","afterEnd","CalendarWeekViewComponent_div_2_div_5_Template","eventRow_r11","row","trackByWeekAllDayEvent","CalendarWeekViewComponent_div_2_Template","_r27","CalendarWeekViewComponent_div_2_Template_div_dragEnter_0_listener","ctx_r26","dragEnter","CalendarWeekViewComponent_div_2_Template_div_dragLeave_0_listener","dragLeave","allDayEventsLabelTemplate","allDayEventRows","trackById","CalendarWeekViewComponent_div_4_div_1_mwl_calendar_week_view_hour_segment_1_Template","segment_r33","ctx_r32","hourSegmentHeight","hourSegmentTemplate","CalendarWeekViewComponent_div_4_div_1_Template","hour_r30","odd_r31","odd","ctx_r29","segments","trackByHourSegment","CalendarWeekViewComponent_div_4_Template","ctx_r1","hourColumns","hours","trackByHour","_c21","top","CalendarWeekViewComponent_div_7_div_3_div_2_Template","CalendarWeekViewComponent_div_7_div_3_ng_template_3_Template","CalendarWeekViewComponent_div_7_div_3_ng_template_4_Template","_r46","CalendarWeekViewComponent_div_7_div_3_ng_template_4_Template_mwl_calendar_week_view_event_eventClicked_0_listener","timeEvent_r37","ctx_r44","column_r34","ctx_r42","dragActive","timeEventResizes","_c22","bottom","CalendarWeekViewComponent_div_7_div_3_div_6_Template","_c23","CalendarWeekViewComponent_div_7_div_3_Template","_r50","CalendarWeekViewComponent_div_7_div_3_Template_div_resizeStart_0_listener","ctx_r49","_r2","timeEventResizeStarted","CalendarWeekViewComponent_div_7_div_3_Template_div_resizing_0_listener","ctx_r51","timeEventResizing","CalendarWeekViewComponent_div_7_div_3_Template_div_resizeEnd_0_listener","ctx_r52","timeEventResizeEnded","CalendarWeekViewComponent_div_7_div_3_Template_div_dragStart_0_listener","_r38","ctx_r53","CalendarWeekViewComponent_div_7_div_3_Template_div_dragging_0_listener","ctx_r54","dragMove","CalendarWeekViewComponent_div_7_div_3_Template_div_dragEnd_0_listener","ctx_r55","ɵɵtemplateRefExtractor","_r41","ctx_r35","height","width","startsBeforeDay","endsAfterDay","ɵɵpureFunction4","eventSnapSize","CalendarWeekViewComponent_div_7_div_4_mwl_calendar_week_view_hour_segment_1_Template","_r61","CalendarWeekViewComponent_div_7_div_4_mwl_calendar_week_view_hour_segment_1_Template_mwl_calendar_week_view_hour_segment_mwlClick_0_listener","segment_r59","ctx_r60","hourSegmentClicked","CalendarWeekViewComponent_div_7_div_4_mwl_calendar_week_view_hour_segment_1_Template_mwl_calendar_week_view_hour_segment_drop_0_listener","ctx_r62","CalendarWeekViewComponent_div_7_div_4_mwl_calendar_week_view_hour_segment_1_Template_mwl_calendar_week_view_hour_segment_dragEnter_0_listener","ctx_r63","ctx_r58","CalendarWeekViewComponent_div_7_div_4_Template","hour_r56","odd_r57","ctx_r36","CalendarWeekViewComponent_div_7_Template","ctx_r3","dayStartHour","dayStartMinute","dayEndHour","dayEndMinute","hourSegments","currentTimeMarkerTemplate","trackByWeekTimeEvent","CalendarWeekViewHeaderComponent_ng_template_0_div_1_Template","CalendarWeekViewHeaderComponent_ng_template_0_div_1_Template_div_mwlClick_0_listener","day_r10","dayHeaderClicked_r5","dayHeaderClicked","CalendarWeekViewHeaderComponent_ng_template_0_div_1_Template_div_drop_0_listener","eventDropped_r6","newStart","CalendarWeekViewHeaderComponent_ng_template_0_div_1_Template_div_dragEnter_0_listener","dragEnter_r8","CalendarWeekViewHeaderComponent_ng_template_0_Template","trackByWeekDayHeaderDate_r7","CalendarWeekViewHeaderComponent_ng_template_2_Template","_c24","_c25","borderColor","CalendarWeekViewEventComponent_ng_template_0_Template","_r13","CalendarWeekViewEventComponent_ng_template_0_Template_div_mwlClick_0_listener","eventClicked_r5","CalendarWeekViewEventComponent_ng_template_0_Template_div_mwlKeydownEnter_0_listener","weekEvent_r3","weekEvent","tooltipPlacement_r4","tooltipTemplate_r6","tooltipAppendToBody_r7","tooltipDisabled_r8","tooltipDisabled","tooltipDelay_r9","daysInWeek_r11","secondary","tempEvent","CalendarWeekViewEventComponent_ng_template_2_Template","_c26","column","CalendarWeekViewHourSegmentComponent_ng_template_0_div_2_Template","segment_r3","segment","daysInWeek_r7","displayDate","CalendarWeekViewHourSegmentComponent_ng_template_0_Template","segmentHeight_r5","segmentHeight","isTimeLabel_r6","isTimeLabel","isStart","CalendarWeekViewHourSegmentComponent_ng_template_2_Template","_c27","CalendarWeekViewCurrentTimeMarkerComponent_ng_template_0_div_0_Template","topPx_r9","topPx","CalendarWeekViewCurrentTimeMarkerComponent_ng_template_0_Template","isVisible_r8","isVisible","CalendarWeekViewCurrentTimeMarkerComponent_ng_template_2_Template","_c28","columnDate","DAYS_OF_WEEK","DragAndDropModule","trigger","state","style","transition","animate","ResizableModule","CalendarEventActionsComponent","constructor","index","id","ɵfac","CalendarEventActionsComponent_Factory","t","ɵcmp","ɵɵdefineComponent","type","selectors","inputs","customTemplate","decls","vars","consts","template","CalendarEventActionsComponent_Template","_r0","dependencies","NgClass","NgForOf","NgIf","NgTemplateOutlet","ClickDirective","KeydownEnterDirective","CalendarA11yPipe","encapsulation","Object","prototype","CalendarEventTitleComponent","CalendarEventTitleComponent_Factory","CalendarEventTitleComponent_Template","CalendarEventTitlePipe","String","CalendarTooltipWindowComponent","CalendarTooltipWindowComponent_Factory","CalendarTooltipWindowComponent_Template","ɵɵpureFunction3","CalendarTooltipDirective","elementRef","injector","renderer","componentFactoryResolver","viewContainerRef","document","cancelTooltipDelay$","tooltipFactory","resolveComponentFactory","ngOnChanges","changes","tooltipRef","instance","changeDetectorRef","markForCheck","hide","ngOnDestroy","onMouseOver","delay$","pipe","subscribe","show","onMouseOut","createComponent","appendToBody","body","appendChild","location","nativeElement","requestAnimationFrame","positionTooltip","remove","indexOf","hostView","next","previousPositions","detectChanges","children","CalendarTooltipDirective_Factory","ɵɵdirectiveInject","ɵdir","ɵɵdefineDirective","hostBindings","CalendarTooltipDirective_HostBindings","CalendarTooltipDirective_mouseenter_HostBindingHandler","CalendarTooltipDirective_mouseleave_HostBindingHandler","features","ɵɵNgOnChangesFeature","ctorParameters","decorators","args","Boolean","Number","Function","DateAdapter","CalendarView","warn","console","isInside","outer","inner","Math","floor","ceil","roundToNearest","amount","precision","round","toISOString","hour","MINUTES_IN_HOUR","getPixelAmountInMinutes","getMinutesMoved","movedY","draggedInPixelsSnapSize","pixelAmountInMinutes","getMinimumEventHeightInMinutes","getDefaultEventEnd","dateAdapter","minimumMinutes","end","addMinutes","start","addDaysWithExclusions","excluded","daysCounter","daysToAdd","changeDays","subDays","addDays","result","abs","getDay","isDraggedWithinPeriod","newEnd","period","shouldFireDroppedEvent","dropEvent","allDay","getWeekViewPeriod","viewDate","weekStartsOn","viewStart","startOfDay","startOfWeek","endOfWeek","viewEnd","endOfDay","isWithinThreshold","DRAG_THRESHOLD","CalendarPreviousViewDirective","excludeDays","viewDateChange","subFn","week","subWeeks","month","subMonths","Day","Week","CalendarPreviousViewDirective_Factory","CalendarPreviousViewDirective_HostBindings","CalendarPreviousViewDirective_click_HostBindingHandler","outputs","Date","Array","CalendarNextViewDirective","addFn","addWeeks","addMonths","CalendarNextViewDirective_Factory","CalendarNextViewDirective_HostBindings","CalendarNextViewDirective_click_HostBindingHandler","CalendarTodayDirective","CalendarTodayDirective_Factory","CalendarTodayDirective_HostBindings","CalendarTodayDirective_click_HostBindingHandler","CalendarAngularDateFormatter","monthViewColumnHeader","monthViewDayNumber","monthViewTitle","weekViewColumnHeader","weekViewColumnSubHeader","weekViewTitle","format","dateToFormat","showYear","getUTCFullYear","weekViewHour","dayViewHour","dayViewTitle","CalendarAngularDateFormatter_Factory","ɵɵinject","ɵprov","ɵɵdefineInjectable","token","factory","CalendarDateFormatter","ɵCalendarDateFormatter_BaseFactory","CalendarDateFormatter_Factory","ɵɵgetInheritedFactory","CalendarDatePipe","dateFormatter","transform","method","allowedMethods","getOwnPropertyNames","getPrototypeOf","filter","iMethod","Error","join","CalendarDatePipe_Factory","ɵpipe","ɵɵdefinePipe","name","pure","CalendarEventTitleFormatter","monthTooltip","weekTooltip","dayTooltip","calendarEventTitle","titleType","CalendarEventTitlePipe_Factory","elm","clickListenerDisabled","click","destroy$","ngOnInit","listen","stopPropagation","observer","ClickDirective_Factory","host","ngZone","keydown","keydownListener","runOutsideAngular","keyCode","which","key","preventDefault","run","KeydownEnterDirective_Factory","CalendarUtils","CalendarUtils_Factory","CalendarA11y","i18nPlural","monthCell","other","openDayEventsLandmark","openDayEventsAlert","eventDescription","allDayEventDescription","aria","actionButtonLabel","a11yLabel","monthCellTabIndex","hideMonthCellEvents","hideEventTitle","hideWeekHourSegment","hideDayHourSegment","CalendarA11y_Factory","calendarA11y","a11yParams","CalendarA11yPipe_Factory","MOMENT","CalendarMomentDateFormatter","moment","CalendarMomentDateFormatter_Factory","CalendarNativeDateFormatter","Intl","DateTimeFormat","weekday","year","CalendarNativeDateFormatter_Factory","CalendarEventTimesChangedEventType","CalendarCommonModule_1","CalendarCommonModule","forRoot","config","ngModule","providers","eventTitleFormatter","utils","a11y","CalendarCommonModule_Factory","ɵmod","ɵɵdefineNgModule","ɵinj","ɵɵdefineInjector","imports","CalendarMonthViewComponent","cdr","activeDayIsOpen","beforeViewRender","eventTimesChanged","trackByRowOffset","slice","refresh","refreshSubscription","refreshAll","refreshHeader","weekendDays","refreshBody","emitBeforeViewRender","activeDay","checkActiveDayIsOpen","unsubscribe","isHighlighted","forEach","droppedOn","getYear","getMonth","getDate","setDate","setMonth","setYear","secondsDiff","differenceInSeconds","addSeconds","Drop","columnHeaders","find","isSameDay","header","CalendarMonthViewComponent_Factory","headerTemplate","CalendarMonthViewComponent_Template","CalendarMonthViewComponent_Template_mwl_calendar_month_view_header_columnHeaderClicked_1_listener","rowOffsets","NgStyle","ɵa","CalendarMonthCellComponent","CalendarOpenDayEventsComponent","CalendarMonthViewHeaderComponent","SlicePipe","CalendarMonthViewHeaderComponent_Factory","CalendarMonthViewHeaderComponent_Template","CalendarMonthCellComponent_Factory","hostAttrs","hostVars","CalendarMonthCellComponent_HostBindings","inMonth","CalendarMonthCellComponent_Template","ɵɵpureFunctionV","ɵb","collapseAnimation","overflow","CalendarOpenDayEventsComponent_Factory","CalendarOpenDayEventsComponent_Template","ɵɵpureFunction5","data","animation","CalendarMonthModule","CalendarMonthModule_Factory","CalendarDragHelper","dragContainerElement","draggableElement","startPosition","getBoundingClientRect","dragAlreadyMoved","newRect","assign","CalendarResizeHelper","resizeContainerElement","minWidth","rectangle","CalendarWeekViewComponent","Map","eventDragEnterByType","time","Symbol","trackByHourColumn","eventsContainer","timeEvent","resizeEvent","set","resizeStarted","adjustedEvents","tempEvents","lastResizeEvent","newEventDates","getTimeEventResizedDates","adjustedEvent","eventIndex","restoreOriginalEvents","get","delete","Resize","allDayEventsContainer","allDayEvent","originalOffset","originalSpan","edge","edges","getDayColumnWidth","dayWidth","currentResize","diff","allDayEventResizingBeforeStart","daysDiff","eventRowContainer","offsetWidth","lastDragEnterDate","getTime","lastDraggedEvent","dayEvent","dragHelper","linkedEvent","columnEvent","dragEvent","newEventTimes","getDragMovedEventTimes","originalEvent","dragEndEvent","useY","Drag","absolutePositionedEvents","dayStart","minute","dayEnd","daysDragged","minutesMoved","previousView","adjustedEventsArray","has","columnIndex","hourIndex","segmentIndex","existingColumnEvent","push","clear","calendarEvent","minimumEventHeight","eventWithoutEnd","smallestResizes","resizeHelper","CalendarWeekViewComponent_Factory","CalendarWeekViewComponent_Template","CalendarWeekViewComponent_Template_mwl_calendar_week_view_header_dayHeaderClicked_1_listener","CalendarWeekViewComponent_Template_mwl_calendar_week_view_header_eventDropped_1_listener","CalendarWeekViewComponent_Template_mwl_calendar_week_view_header_dragEnter_1_listener","CalendarWeekViewComponent_Template_div_dragEnter_3_listener","CalendarWeekViewComponent_Template_div_dragLeave_3_listener","ResizableDirective","ResizeHandleDirective","CalendarWeekViewHeaderComponent","CalendarWeekViewEventComponent","CalendarWeekViewHourSegmentComponent","CalendarWeekViewCurrentTimeMarkerComponent","CalendarWeekViewHeaderComponent_Factory","CalendarWeekViewHeaderComponent_Template","ɵɵpureFunction6","CalendarWeekViewEventComponent_Factory","CalendarWeekViewEventComponent_Template","CalendarWeekViewHourSegmentComponent_Factory","CalendarWeekViewHourSegmentComponent_Template","zone","columnDate$","marker$","onStable","setMinutes","setHours","hourHeightModifier","now","differenceInMinutes","currentValue","CalendarWeekViewCurrentTimeMarkerComponent_Factory","CalendarWeekViewCurrentTimeMarkerComponent_Template","tmp_1_0","ɵɵpureFunction7","ɵɵpipeBind1","AsyncPipe","CalendarWeekModule","CalendarWeekModule_Factory","CalendarDayViewComponent","CalendarDayViewComponent_Factory","CalendarDayViewComponent_Template","CalendarDayViewComponent_Template_mwl_calendar_week_view_eventClicked_0_listener","CalendarDayViewComponent_Template_mwl_calendar_week_view_hourSegmentClicked_0_listener","CalendarDayViewComponent_Template_mwl_calendar_week_view_eventTimesChanged_0_listener","CalendarDayViewComponent_Template_mwl_calendar_week_view_beforeViewRender_0_listener","CalendarDayModule","CalendarDayModule_Factory","CalendarModule_1","CalendarModule","CalendarModule_Factory","ngDevMode","ɵsetClassMetadata","selector","declarations","exports","entryComponents","ngJitMode","ɵɵsetNgModuleScope","class","animations","ɵc","ɵd","ɵe","ɵf","ɵg","ɵh","ɵi","ɵj","ɵk","ɵl","ɵm","ɵn","ɵo","ɵp","ɵq","ɵr","ɵs"],"sources":["C:/Users/eudes.inacio/GabineteDigital/gabinete-digital-fo/node_modules/angular-calendar/__ivy_ngcc__/fesm2015/angular-calendar.js"],"sourcesContent":["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';\n\nconst _c0 = function (a0) { return { action: a0 }; };\nfunction CalendarEventActionsComponent_ng_template_0_span_0_a_1_Template(rf, ctx) { 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) { const restoredCtx = ɵngcc0.ɵɵrestoreView(_r10); const action_r7 = restoredCtx.$implicit; const event_r3 = ɵngcc0.ɵɵnextContext(2).event; return ɵngcc0.ɵɵresetView(action_r7.onClick({ event: event_r3, sourceEvent: $event })); })(\"mwlKeydownEnter\", function CalendarEventActionsComponent_ng_template_0_span_0_a_1_Template_a_mwlKeydownEnter_0_listener($event) { const restoredCtx = ɵngcc0.ɵɵrestoreView(_r10); const action_r7 = restoredCtx.$implicit; const event_r3 = ɵngcc0.ɵɵnextContext(2).event; return ɵngcc0.ɵɵresetView(action_r7.onClick({ event: event_r3, sourceEvent: $event })); });\n ɵngcc0.ɵɵpipe(1, \"calendarA11y\");\n ɵngcc0.ɵɵelementEnd();\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} }\nfunction CalendarEventActionsComponent_ng_template_0_span_0_Template(rf, ctx) { 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} 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} }\nfunction CalendarEventActionsComponent_ng_template_0_Template(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵtemplate(0, CalendarEventActionsComponent_ng_template_0_span_0_Template, 2, 2, \"span\", 2);\n} if (rf & 2) {\n const event_r3 = ctx.event;\n ɵngcc0.ɵɵproperty(\"ngIf\", event_r3.actions);\n} }\nfunction CalendarEventActionsComponent_ng_template_2_Template(rf, ctx) { }\nconst _c1 = function (a0, a1) { return { event: a0, trackByActionId: a1 }; };\nconst _c2 = function () { return {}; };\nfunction CalendarEventTitleComponent_ng_template_0_Template(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵelement(0, \"span\", 2);\n ɵngcc0.ɵɵpipe(1, \"calendarEventTitle\");\n ɵngcc0.ɵɵpipe(2, \"calendarA11y\");\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} }\nfunction CalendarEventTitleComponent_ng_template_2_Template(rf, ctx) { }\nconst _c3 = function (a0, a1) { return { event: a0, view: a1 }; };\nfunction CalendarTooltipWindowComponent_ng_template_0_Template(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵelementStart(0, \"div\", 2);\n ɵngcc0.ɵɵelement(1, \"div\", 3)(2, \"div\", 4);\n ɵngcc0.ɵɵelementEnd();\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} }\nfunction CalendarTooltipWindowComponent_ng_template_2_Template(rf, ctx) { }\nconst _c4 = function (a0, a1, a2) { return { contents: a0, placement: a1, event: a2 }; };\nconst _c5 = function (a0) { return { backgroundColor: a0 }; };\nfunction CalendarMonthViewComponent_div_3_mwl_calendar_month_cell_2_Template(rf, ctx) { 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) { const restoredCtx = ɵngcc0.ɵɵrestoreView(_r5); const day_r3 = restoredCtx.$implicit; const ctx_r4 = ɵngcc0.ɵɵnextContext(2); return ɵngcc0.ɵɵresetView(ctx_r4.dayClicked.emit({ day: day_r3, sourceEvent: $event })); })(\"mwlKeydownEnter\", function CalendarMonthViewComponent_div_3_mwl_calendar_month_cell_2_Template_mwl_calendar_month_cell_mwlKeydownEnter_0_listener($event) { const restoredCtx = ɵngcc0.ɵɵrestoreView(_r5); const day_r3 = restoredCtx.$implicit; const ctx_r6 = ɵngcc0.ɵɵnextContext(2); return ɵngcc0.ɵɵresetView(ctx_r6.dayClicked.emit({ day: day_r3, sourceEvent: $event })); })(\"highlightDay\", function CalendarMonthViewComponent_div_3_mwl_calendar_month_cell_2_Template_mwl_calendar_month_cell_highlightDay_0_listener($event) { ɵngcc0.ɵɵrestoreView(_r5); const ctx_r7 = ɵngcc0.ɵɵnextContext(2); return ɵngcc0.ɵɵresetView(ctx_r7.toggleDayHighlight($event.event, true)); })(\"unhighlightDay\", function CalendarMonthViewComponent_div_3_mwl_calendar_month_cell_2_Template_mwl_calendar_month_cell_unhighlightDay_0_listener($event) { ɵngcc0.ɵɵrestoreView(_r5); const ctx_r8 = ɵngcc0.ɵɵnextContext(2); return ɵngcc0.ɵɵresetView(ctx_r8.toggleDayHighlight($event.event, false)); })(\"drop\", function CalendarMonthViewComponent_div_3_mwl_calendar_month_cell_2_Template_mwl_calendar_month_cell_drop_0_listener($event) { const restoredCtx = ɵngcc0.ɵɵrestoreView(_r5); const day_r3 = restoredCtx.$implicit; const ctx_r9 = ɵngcc0.ɵɵnextContext(2); return ɵngcc0.ɵɵresetView(ctx_r9.eventDropped(day_r3, $event.dropData.event, $event.dropData.draggedFrom)); })(\"eventClicked\", function CalendarMonthViewComponent_div_3_mwl_calendar_month_cell_2_Template_mwl_calendar_month_cell_eventClicked_0_listener($event) { ɵngcc0.ɵɵrestoreView(_r5); const ctx_r10 = ɵngcc0.ɵɵnextContext(2); return ɵngcc0.ɵɵresetView(ctx_r10.eventClicked.emit({ event: $event.event, sourceEvent: $event.sourceEvent })); });\n ɵngcc0.ɵɵpipe(1, \"calendarA11y\");\n ɵngcc0.ɵɵelementEnd();\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} }\nfunction CalendarMonthViewComponent_div_3_Template(rf, ctx) { 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) { ɵngcc0.ɵɵrestoreView(_r12); const ctx_r11 = ɵngcc0.ɵɵnextContext(); return ɵngcc0.ɵɵresetView(ctx_r11.eventClicked.emit({ event: $event.event, sourceEvent: $event.sourceEvent })); })(\"drop\", function CalendarMonthViewComponent_div_3_Template_mwl_calendar_open_day_events_drop_4_listener($event) { ɵngcc0.ɵɵrestoreView(_r12); const ctx_r13 = ɵngcc0.ɵɵnextContext(); return ɵngcc0.ɵɵresetView(ctx_r13.eventDropped(ctx_r13.openDay, $event.dropData.event, $event.dropData.draggedFrom)); });\n ɵngcc0.ɵɵelementEnd()();\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} }\nfunction CalendarMonthViewHeaderComponent_ng_template_0_div_1_Template(rf, ctx) { 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) { const restoredCtx = ɵngcc0.ɵɵrestoreView(_r9); const day_r7 = restoredCtx.$implicit; const ctx_r8 = ɵngcc0.ɵɵnextContext(2); return ɵngcc0.ɵɵresetView(ctx_r8.columnHeaderClicked.emit({ isoDayNumber: day_r7.day, sourceEvent: $event })); });\n ɵngcc0.ɵɵtext(1);\n ɵngcc0.ɵɵpipe(2, \"calendarDate\");\n ɵngcc0.ɵɵelementEnd();\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} }\nfunction CalendarMonthViewHeaderComponent_ng_template_0_Template(rf, ctx) { 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} 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} }\nfunction CalendarMonthViewHeaderComponent_ng_template_2_Template(rf, ctx) { }\nconst _c6 = function (a0, a1, a2) { return { days: a0, locale: a1, trackByWeekDayHeaderDate: a2 }; };\nfunction CalendarMonthCellComponent_ng_template_0_span_3_Template(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵelementStart(0, \"span\", 7);\n ɵngcc0.ɵɵtext(1);\n ɵngcc0.ɵɵelementEnd();\n} if (rf & 2) {\n const day_r3 = ɵngcc0.ɵɵnextContext().day;\n ɵngcc0.ɵɵadvance(1);\n ɵngcc0.ɵɵtextInterpolate(day_r3.badgeTotal);\n} }\nconst _c7 = function (a0, a1) { return { event: a0, draggedFrom: a1 }; };\nconst _c8 = function (a0, a1) { return { x: a0, y: a1 }; };\nconst _c9 = function () { return { delay: 300, delta: 30 }; };\nfunction CalendarMonthCellComponent_ng_template_0_div_7_div_1_Template(rf, ctx) { 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() { const restoredCtx = ɵngcc0.ɵɵrestoreView(_r21); const event_r19 = restoredCtx.$implicit; const highlightDay_r7 = ɵngcc0.ɵɵnextContext(2).highlightDay; return ɵngcc0.ɵɵresetView(highlightDay_r7.emit({ event: event_r19 })); })(\"mouseleave\", function CalendarMonthCellComponent_ng_template_0_div_7_div_1_Template_div_mouseleave_0_listener() { const restoredCtx = ɵngcc0.ɵɵrestoreView(_r21); const event_r19 = restoredCtx.$implicit; const unhighlightDay_r8 = ɵngcc0.ɵɵnextContext(2).unhighlightDay; return ɵngcc0.ɵɵresetView(unhighlightDay_r8.emit({ event: event_r19 })); })(\"mwlClick\", function CalendarMonthCellComponent_ng_template_0_div_7_div_1_Template_div_mwlClick_0_listener($event) { const restoredCtx = ɵngcc0.ɵɵrestoreView(_r21); const event_r19 = restoredCtx.$implicit; const eventClicked_r9 = ɵngcc0.ɵɵnextContext(2).eventClicked; return ɵngcc0.ɵɵresetView(eventClicked_r9.emit({ event: event_r19, sourceEvent: $event })); });\n ɵngcc0.ɵɵpipe(1, \"calendarEventTitle\");\n ɵngcc0.ɵɵpipe(2, \"calendarA11y\");\n ɵngcc0.ɵɵelementEnd();\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} }\nfunction CalendarMonthCellComponent_ng_template_0_div_7_Template(rf, ctx) { 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} 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} }\nconst _c10 = function (a0, a1) { return { day: a0, locale: a1 }; };\nfunction CalendarMonthCellComponent_ng_template_0_Template(rf, ctx) { 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} 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} }\nfunction CalendarMonthCellComponent_ng_template_2_Template(rf, ctx) { }\nconst _c11 = function (a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11) { return { day: a0, openDay: a1, locale: a2, tooltipPlacement: a3, highlightDay: a4, unhighlightDay: a5, eventClicked: a6, tooltipTemplate: a7, tooltipAppendToBody: a8, tooltipDelay: a9, trackByEventId: a10, validateDrag: a11 }; };\nconst _c12 = function (a0) { return { event: a0 }; };\nconst _c13 = function (a0, a1) { return { event: a0, locale: a1 }; };\nfunction CalendarOpenDayEventsComponent_ng_template_0_div_0_div_5_Template(rf, ctx) { 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) { const restoredCtx = ɵngcc0.ɵɵrestoreView(_r12); const event_r10 = restoredCtx.$implicit; const eventClicked_r4 = ɵngcc0.ɵɵnextContext(2).eventClicked; return ɵngcc0.ɵɵresetView(eventClicked_r4.emit({ event: event_r10, sourceEvent: $event })); })(\"mwlKeydownEnter\", function CalendarOpenDayEventsComponent_ng_template_0_div_0_div_5_Template_mwl_calendar_event_title_mwlKeydownEnter_3_listener($event) { const restoredCtx = ɵngcc0.ɵɵrestoreView(_r12); const event_r10 = restoredCtx.$implicit; const eventClicked_r4 = ɵngcc0.ɵɵnextContext(2).eventClicked; return ɵngcc0.ɵɵresetView(eventClicked_r4.emit({ event: event_r10, sourceEvent: $event })); });\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} 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} }\nconst _c14 = function (a0, a1) { return { date: a0, locale: a1 }; };\nfunction CalendarOpenDayEventsComponent_ng_template_0_div_0_Template(rf, ctx) { 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} 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} }\nfunction CalendarOpenDayEventsComponent_ng_template_0_Template(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵtemplate(0, CalendarOpenDayEventsComponent_ng_template_0_div_0_Template, 6, 17, \"div\", 2);\n} if (rf & 2) {\n const isOpen_r5 = ctx.isOpen;\n ɵngcc0.ɵɵproperty(\"ngIf\", isOpen_r5);\n} }\nfunction CalendarOpenDayEventsComponent_ng_template_2_Template(rf, ctx) { }\nconst _c15 = function (a0, a1, a2, a3, a4) { return { events: a0, eventClicked: a1, isOpen: a2, trackByEventId: a3, validateDrag: a4 }; };\nfunction CalendarWeekViewComponent_div_2_div_4_Template(rf, ctx) { 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) { const restoredCtx = ɵngcc0.ɵɵrestoreView(_r9); const day_r7 = restoredCtx.$implicit; const ctx_r8 = ɵngcc0.ɵɵnextContext(2); return ɵngcc0.ɵɵresetView(ctx_r8.eventDropped($event, day_r7.date, true)); })(\"dragEnter\", function CalendarWeekViewComponent_div_2_div_4_Template_div_dragEnter_0_listener() { const restoredCtx = ɵngcc0.ɵɵrestoreView(_r9); const day_r7 = restoredCtx.$implicit; const ctx_r10 = ɵngcc0.ɵɵnextContext(2); return ɵngcc0.ɵɵresetView(ctx_r10.dateDragEnter(day_r7.date)); });\n ɵngcc0.ɵɵelementEnd();\n} }\nconst _c16 = function () { return { left: true }; };\nfunction CalendarWeekViewComponent_div_2_div_5_div_2_div_2_Template(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵelement(0, \"div\", 22);\n} if (rf & 2) {\n ɵngcc0.ɵɵproperty(\"resizeEdges\", ɵngcc0.ɵɵpureFunction0(1, _c16));\n} }\nconst _c17 = function () { return { right: true }; };\nfunction CalendarWeekViewComponent_div_2_div_5_div_2_div_4_Template(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵelement(0, \"div\", 23);\n} if (rf & 2) {\n ɵngcc0.ɵɵproperty(\"resizeEdges\", ɵngcc0.ɵɵpureFunction0(1, _c17));\n} }\nconst _c18 = function (a0, a1) { return { left: a0, right: a1 }; };\nconst _c19 = function (a0, a1) { return { event: a0, calendarId: a1 }; };\nconst _c20 = function (a0) { return { x: a0 }; };\nfunction CalendarWeekViewComponent_div_2_div_5_div_2_Template(rf, ctx) { 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) { const restoredCtx = ɵngcc0.ɵɵrestoreView(_r19); const allDayEvent_r14 = restoredCtx.$implicit; ɵngcc0.ɵɵnextContext(); const _r12 = ɵngcc0.ɵɵreference(1); const ctx_r18 = ɵngcc0.ɵɵnextContext(2); return ɵngcc0.ɵɵresetView(ctx_r18.allDayEventResizeStarted(_r12, allDayEvent_r14, $event)); })(\"resizing\", function CalendarWeekViewComponent_div_2_div_5_div_2_Template_div_resizing_0_listener($event) { const restoredCtx = ɵngcc0.ɵɵrestoreView(_r19); const allDayEvent_r14 = restoredCtx.$implicit; const ctx_r20 = ɵngcc0.ɵɵnextContext(3); return ɵngcc0.ɵɵresetView(ctx_r20.allDayEventResizing(allDayEvent_r14, $event, ctx_r20.dayColumnWidth)); })(\"resizeEnd\", function CalendarWeekViewComponent_div_2_div_5_div_2_Template_div_resizeEnd_0_listener() { const restoredCtx = ɵngcc0.ɵɵrestoreView(_r19); const allDayEvent_r14 = restoredCtx.$implicit; const ctx_r21 = ɵngcc0.ɵɵnextContext(3); return ɵngcc0.ɵɵresetView(ctx_r21.allDayEventResizeEnded(allDayEvent_r14)); })(\"dragStart\", function CalendarWeekViewComponent_div_2_div_5_div_2_Template_div_dragStart_0_listener() { ɵngcc0.ɵɵrestoreView(_r19); const _r15 = ɵngcc0.ɵɵreference(1); ɵngcc0.ɵɵnextContext(); const _r12 = ɵngcc0.ɵɵreference(1); const ctx_r22 = ɵngcc0.ɵɵnextContext(2); return ɵngcc0.ɵɵresetView(ctx_r22.dragStarted(_r12, _r15)); })(\"dragging\", function CalendarWeekViewComponent_div_2_div_5_div_2_Template_div_dragging_0_listener() { ɵngcc0.ɵɵrestoreView(_r19); const ctx_r23 = ɵngcc0.ɵɵnextContext(3); return ɵngcc0.ɵɵresetView(ctx_r23.allDayEventDragMove()); })(\"dragEnd\", function CalendarWeekViewComponent_div_2_div_5_div_2_Template_div_dragEnd_0_listener($event) { const restoredCtx = ɵngcc0.ɵɵrestoreView(_r19); const allDayEvent_r14 = restoredCtx.$implicit; const ctx_r24 = ɵngcc0.ɵɵnextContext(3); return ɵngcc0.ɵɵresetView(ctx_r24.dragEnded(allDayEvent_r14, $event, ctx_r24.dayColumnWidth)); });\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) { const restoredCtx = ɵngcc0.ɵɵrestoreView(_r19); const allDayEvent_r14 = restoredCtx.$implicit; const ctx_r25 = ɵngcc0.ɵɵnextContext(3); return ɵngcc0.ɵɵresetView(ctx_r25.eventClicked.emit({ event: allDayEvent_r14.event, sourceEvent: $event.sourceEvent })); });\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} 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} }\nfunction CalendarWeekViewComponent_div_2_div_5_Template(rf, ctx) { 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} 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} }\nfunction CalendarWeekViewComponent_div_2_Template(rf, ctx) { 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() { ɵngcc0.ɵɵrestoreView(_r27); const ctx_r26 = ɵngcc0.ɵɵnextContext(); return ɵngcc0.ɵɵresetView(ctx_r26.dragEnter(\"allDay\")); })(\"dragLeave\", function CalendarWeekViewComponent_div_2_Template_div_dragLeave_0_listener() { ɵngcc0.ɵɵrestoreView(_r27); const ctx_r28 = ɵngcc0.ɵɵnextContext(); return ɵngcc0.ɵɵresetView(ctx_r28.dragLeave(\"allDay\")); });\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} 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} }\nfunction CalendarWeekViewComponent_div_4_div_1_mwl_calendar_week_view_hour_segment_1_Template(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵelement(0, \"mwl-calendar-week-view-hour-segment\", 28);\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} }\nfunction CalendarWeekViewComponent_div_4_div_1_Template(rf, ctx) { 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} 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} }\nfunction CalendarWeekViewComponent_div_4_Template(rf, ctx) { 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} 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} }\nconst _c21 = function () { return { left: true, top: true }; };\nfunction CalendarWeekViewComponent_div_7_div_3_div_2_Template(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵelement(0, \"div\", 22);\n} if (rf & 2) {\n ɵngcc0.ɵɵproperty(\"resizeEdges\", ɵngcc0.ɵɵpureFunction0(1, _c21));\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) { 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) { ɵngcc0.ɵɵrestoreView(_r46); const timeEvent_r37 = ɵngcc0.ɵɵnextContext().$implicit; const ctx_r44 = ɵngcc0.ɵɵnextContext(2); return ɵngcc0.ɵɵresetView(ctx_r44.eventClicked.emit({ event: timeEvent_r37.event, sourceEvent: $event.sourceEvent })); });\n ɵngcc0.ɵɵelementEnd();\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} }\nconst _c22 = function () { return { right: true, bottom: true }; };\nfunction CalendarWeekViewComponent_div_7_div_3_div_6_Template(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵelement(0, \"div\", 23);\n} if (rf & 2) {\n ɵngcc0.ɵɵproperty(\"resizeEdges\", ɵngcc0.ɵɵpureFunction0(1, _c22));\n} }\nconst _c23 = function (a0, a1, a2, a3) { return { left: a0, right: a1, top: a2, bottom: a3 }; };\nfunction CalendarWeekViewComponent_div_7_div_3_Template(rf, ctx) { 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) { const restoredCtx = ɵngcc0.ɵɵrestoreView(_r50); const timeEvent_r37 = restoredCtx.$implicit; const ctx_r49 = ɵngcc0.ɵɵnextContext(2); const _r2 = ɵngcc0.ɵɵreference(6); return ɵngcc0.ɵɵresetView(ctx_r49.timeEventResizeStarted(_r2, timeEvent_r37, $event)); })(\"resizing\", function CalendarWeekViewComponent_div_7_div_3_Template_div_resizing_0_listener($event) { const restoredCtx = ɵngcc0.ɵɵrestoreView(_r50); const timeEvent_r37 = restoredCtx.$implicit; const ctx_r51 = ɵngcc0.ɵɵnextContext(2); return ɵngcc0.ɵɵresetView(ctx_r51.timeEventResizing(timeEvent_r37, $event)); })(\"resizeEnd\", function CalendarWeekViewComponent_div_7_div_3_Template_div_resizeEnd_0_listener() { const restoredCtx = ɵngcc0.ɵɵrestoreView(_r50); const timeEvent_r37 = restoredCtx.$implicit; const ctx_r52 = ɵngcc0.ɵɵnextContext(2); return ɵngcc0.ɵɵresetView(ctx_r52.timeEventResizeEnded(timeEvent_r37)); })(\"dragStart\", function CalendarWeekViewComponent_div_7_div_3_Template_div_dragStart_0_listener() { const restoredCtx = ɵngcc0.ɵɵrestoreView(_r50); const timeEvent_r37 = restoredCtx.$implicit; const _r38 = ɵngcc0.ɵɵreference(1); const ctx_r53 = ɵngcc0.ɵɵnextContext(2); const _r2 = ɵngcc0.ɵɵreference(6); return ɵngcc0.ɵɵresetView(ctx_r53.dragStarted(_r2, _r38, timeEvent_r37)); })(\"dragging\", function CalendarWeekViewComponent_div_7_div_3_Template_div_dragging_0_listener($event) { const restoredCtx = ɵngcc0.ɵɵrestoreView(_r50); const timeEvent_r37 = restoredCtx.$implicit; const ctx_r54 = ɵngcc0.ɵɵnextContext(2); return ɵngcc0.ɵɵresetView(ctx_r54.dragMove(timeEvent_r37, $event)); })(\"dragEnd\", function CalendarWeekViewComponent_div_7_div_3_Template_div_dragEnd_0_listener($event) { const restoredCtx = ɵngcc0.ɵɵrestoreView(_r50); const timeEvent_r37 = restoredCtx.$implicit; const ctx_r55 = ɵngcc0.ɵɵnextContext(2); return ɵngcc0.ɵɵresetView(ctx_r55.dragEnded(timeEvent_r37, $event, ctx_r55.dayColumnWidth, true)); });\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} 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} }\nfunction CalendarWeekViewComponent_div_7_div_4_mwl_calendar_week_view_hour_segment_1_Template(rf, ctx) { 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) { const restoredCtx = ɵngcc0.ɵɵrestoreView(_r61); const segment_r59 = restoredCtx.$implicit; const ctx_r60 = ɵngcc0.ɵɵnextContext(3); return ɵngcc0.ɵɵresetView(ctx_r60.hourSegmentClicked.emit({ date: segment_r59.date, sourceEvent: $event })); })(\"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) { const restoredCtx = ɵngcc0.ɵɵrestoreView(_r61); const segment_r59 = restoredCtx.$implicit; const ctx_r62 = ɵngcc0.ɵɵnextContext(3); return ɵngcc0.ɵɵresetView(ctx_r62.eventDropped($event, segment_r59.date, false)); })(\"dragEnter\", function CalendarWeekViewComponent_div_7_div_4_mwl_calendar_week_view_hour_segment_1_Template_mwl_calendar_week_view_hour_segment_dragEnter_0_listener() { const restoredCtx = ɵngcc0.ɵɵrestoreView(_r61); const segment_r59 = restoredCtx.$implicit; const ctx_r63 = ɵngcc0.ɵɵnextContext(3); return ɵngcc0.ɵɵresetView(ctx_r63.dateDragEnter(segment_r59.date)); });\n ɵngcc0.ɵɵelementEnd();\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} }\nfunction CalendarWeekViewComponent_div_7_div_4_Template(rf, ctx) { 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} 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} }\nfunction CalendarWeekViewComponent_div_7_Template(rf, ctx) { 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} 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} }\nfunction CalendarWeekViewHeaderComponent_ng_template_0_div_1_Template(rf, ctx) { 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) { const restoredCtx = ɵngcc0.ɵɵrestoreView(_r12); const day_r10 = restoredCtx.$implicit; const dayHeaderClicked_r5 = ɵngcc0.ɵɵnextContext().dayHeaderClicked; return ɵngcc0.ɵɵresetView(dayHeaderClicked_r5.emit({ day: day_r10, sourceEvent: $event })); })(\"drop\", function CalendarWeekViewHeaderComponent_ng_template_0_div_1_Template_div_drop_0_listener($event) { const restoredCtx = ɵngcc0.ɵɵrestoreView(_r12); const day_r10 = restoredCtx.$implicit; const eventDropped_r6 = ɵngcc0.ɵɵnextContext().eventDropped; return ɵngcc0.ɵɵresetView(eventDropped_r6.emit({ event: $event.dropData.event, newStart: day_r10.date })); })(\"dragEnter\", function CalendarWeekViewHeaderComponent_ng_template_0_div_1_Template_div_dragEnter_0_listener() { const restoredCtx = ɵngcc0.ɵɵrestoreView(_r12); const day_r10 = restoredCtx.$implicit; const dragEnter_r8 = ɵngcc0.ɵɵnextContext().dragEnter; return ɵngcc0.ɵɵresetView(dragEnter_r8.emit({ date: day_r10.date })); });\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} 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} }\nfunction CalendarWeekViewHeaderComponent_ng_template_0_Template(rf, ctx) { 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} 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} }\nfunction CalendarWeekViewHeaderComponent_ng_template_2_Template(rf, ctx) { }\nconst _c24 = function (a0, a1, a2, a3, a4, a5) { return { days: a0, locale: a1, dayHeaderClicked: a2, eventDropped: a3, dragEnter: a4, trackByWeekDayHeaderDate: a5 }; };\nconst _c25 = function (a0, a1) { return { backgroundColor: a0, borderColor: a1 }; };\nfunction CalendarWeekViewEventComponent_ng_template_0_Template(rf, ctx) { 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) { const restoredCtx = ɵngcc0.ɵɵrestoreView(_r13); const eventClicked_r5 = restoredCtx.eventClicked; return ɵngcc0.ɵɵresetView(eventClicked_r5.emit({ sourceEvent: $event })); })(\"mwlKeydownEnter\", function CalendarWeekViewEventComponent_ng_template_0_Template_div_mwlKeydownEnter_0_listener($event) { const restoredCtx = ɵngcc0.ɵɵrestoreView(_r13); const eventClicked_r5 = restoredCtx.eventClicked; return ɵngcc0.ɵɵresetView(eventClicked_r5.emit({ sourceEvent: $event })); });\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} 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} }\nfunction CalendarWeekViewEventComponent_ng_template_2_Template(rf, ctx) { }\nconst _c26 = function (a0, a1, a2, a3, a4, a5, a6, a7, a8) { return { weekEvent: a0, tooltipPlacement: a1, eventClicked: a2, tooltipTemplate: a3, tooltipAppendToBody: a4, tooltipDisabled: a5, tooltipDelay: a6, column: a7, daysInWeek: a8 }; };\nfunction CalendarWeekViewHourSegmentComponent_ng_template_0_div_2_Template(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵelementStart(0, \"div\", 4);\n ɵngcc0.ɵɵtext(1);\n ɵngcc0.ɵɵpipe(2, \"calendarDate\");\n ɵngcc0.ɵɵelementEnd();\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} }\nfunction CalendarWeekViewHourSegmentComponent_ng_template_0_Template(rf, ctx) { 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} 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} }\nfunction CalendarWeekViewHourSegmentComponent_ng_template_2_Template(rf, ctx) { }\nconst _c27 = function (a0, a1, a2, a3, a4) { return { segment: a0, locale: a1, segmentHeight: a2, isTimeLabel: a3, daysInWeek: a4 }; };\nfunction CalendarWeekViewCurrentTimeMarkerComponent_ng_template_0_div_0_Template(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵelement(0, \"div\", 3);\n} if (rf & 2) {\n const topPx_r9 = ɵngcc0.ɵɵnextContext().topPx;\n ɵngcc0.ɵɵstyleProp(\"top\", topPx_r9, \"px\");\n} }\nfunction CalendarWeekViewCurrentTimeMarkerComponent_ng_template_0_Template(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵtemplate(0, CalendarWeekViewCurrentTimeMarkerComponent_ng_template_0_div_0_Template, 1, 2, \"div\", 2);\n} if (rf & 2) {\n const isVisible_r8 = ctx.isVisible;\n ɵngcc0.ɵɵproperty(\"ngIf\", isVisible_r8);\n} }\nfunction CalendarWeekViewCurrentTimeMarkerComponent_ng_template_2_Template(rf, ctx) { }\nconst _c28 = function (a0, a1, a2, a3, a4, a5, a6) { return { columnDate: a0, dayStartHour: a1, dayStartMinute: a2, dayEndHour: a3, dayEndMinute: a4, isVisible: a5, topPx: a6 }; };\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';\n\nlet CalendarEventActionsComponent = class CalendarEventActionsComponent {\n constructor() {\n this.trackByActionId = (index, action) => action.id ? action.id : action;\n }\n};\nCalendarEventActionsComponent.ɵfac = function CalendarEventActionsComponent_Factory(t) { return new (t || CalendarEventActionsComponent)(); };\nCalendarEventActionsComponent.ɵcmp = /*@__PURE__*/ ɵngcc0.ɵɵdefineComponent({ type: CalendarEventActionsComponent, selectors: [[\"mwl-calendar-event-actions\"]], inputs: { event: \"event\", customTemplate: \"customTemplate\" }, decls: 3, vars: 5, 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\"]], template: function CalendarEventActionsComponent_Template(rf, ctx) { 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 } 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 } }, dependencies: function () { return [ɵngcc1.NgClass, ɵngcc1.NgForOf, ɵngcc1.NgIf, ɵngcc1.NgTemplateOutlet, ClickDirective, KeydownEnterDirective, CalendarA11yPipe]; }, encapsulation: 2 });\n__decorate([\n Input(),\n __metadata(\"design:type\", Object)\n], CalendarEventActionsComponent.prototype, \"event\", void 0);\n__decorate([\n Input(),\n __metadata(\"design:type\", TemplateRef)\n], CalendarEventActionsComponent.prototype, \"customTemplate\", void 0);\n\nlet CalendarEventTitleComponent = class CalendarEventTitleComponent {\n};\nCalendarEventTitleComponent.ɵfac = function CalendarEventTitleComponent_Factory(t) { return new (t || CalendarEventTitleComponent)(); };\nCalendarEventTitleComponent.ɵcmp = /*@__PURE__*/ ɵngcc0.ɵɵdefineComponent({ type: CalendarEventTitleComponent, selectors: [[\"mwl-calendar-event-title\"]], inputs: { event: \"event\", customTemplate: \"customTemplate\", view: \"view\" }, decls: 3, vars: 5, consts: [[\"defaultTemplate\", \"\"], [3, \"ngTemplateOutlet\", \"ngTemplateOutletContext\"], [1, \"cal-event-title\", 3, \"innerHTML\"]], template: function CalendarEventTitleComponent_Template(rf, ctx) { 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 } 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 } }, dependencies: function () { return [ɵngcc1.NgTemplateOutlet, CalendarEventTitlePipe, CalendarA11yPipe]; }, encapsulation: 2 });\n__decorate([\n Input(),\n __metadata(\"design:type\", Object)\n], CalendarEventTitleComponent.prototype, \"event\", void 0);\n__decorate([\n Input(),\n __metadata(\"design:type\", TemplateRef)\n], CalendarEventTitleComponent.prototype, \"customTemplate\", void 0);\n__decorate([\n Input(),\n __metadata(\"design:type\", String)\n], CalendarEventTitleComponent.prototype, \"view\", void 0);\n\nlet CalendarTooltipWindowComponent = class CalendarTooltipWindowComponent {\n};\nCalendarTooltipWindowComponent.ɵfac = function CalendarTooltipWindowComponent_Factory(t) { return new (t || CalendarTooltipWindowComponent)(); };\nCalendarTooltipWindowComponent.ɵcmp = /*@__PURE__*/ ɵngcc0.ɵɵdefineComponent({ type: CalendarTooltipWindowComponent, selectors: [[\"mwl-calendar-tooltip-window\"]], inputs: { contents: \"contents\", placement: \"placement\", event: \"event\", customTemplate: \"customTemplate\" }, decls: 3, vars: 6, consts: [[\"defaultTemplate\", \"\"], [3, \"ngTemplateOutlet\", \"ngTemplateOutletContext\"], [1, \"cal-tooltip\", 3, \"ngClass\"], [1, \"cal-tooltip-arrow\"], [1, \"cal-tooltip-inner\", 3, \"innerHtml\"]], template: function CalendarTooltipWindowComponent_Template(rf, ctx) { 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 } 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 } }, dependencies: [ɵngcc1.NgClass, ɵngcc1.NgTemplateOutlet], encapsulation: 2 });\n__decorate([\n Input(),\n __metadata(\"design:type\", String)\n], CalendarTooltipWindowComponent.prototype, \"contents\", void 0);\n__decorate([\n Input(),\n __metadata(\"design:type\", String)\n], CalendarTooltipWindowComponent.prototype, \"placement\", void 0);\n__decorate([\n Input(),\n __metadata(\"design:type\", Object)\n], CalendarTooltipWindowComponent.prototype, \"event\", void 0);\n__decorate([\n Input(),\n __metadata(\"design:type\", TemplateRef)\n], 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 &&\n (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([\n ...previousPositions,\n this.tooltipRef.instance.placement,\n ]);\n }\n }\n }\n};\nCalendarTooltipDirective.ɵfac = function CalendarTooltipDirective_Factory(t) { 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)); };\nCalendarTooltipDirective.ɵdir = /*@__PURE__*/ ɵngcc0.ɵɵdefineDirective({ type: CalendarTooltipDirective, selectors: [[\"\", \"mwlCalendarTooltip\", \"\"]], hostBindings: function CalendarTooltipDirective_HostBindings(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵlistener(\"mouseenter\", function CalendarTooltipDirective_mouseenter_HostBindingHandler() { return ctx.onMouseOver(); })(\"mouseleave\", function CalendarTooltipDirective_mouseleave_HostBindingHandler() { return ctx.onMouseOut(); });\n } }, inputs: { placement: [\"tooltipPlacement\", \"placement\"], delay: [\"tooltipDelay\", \"delay\"], contents: [\"mwlCalendarTooltip\", \"contents\"], customTemplate: [\"tooltipTemplate\", \"customTemplate\"], event: [\"tooltipEvent\", \"event\"], appendToBody: [\"tooltipAppendToBody\", \"appendToBody\"] }, features: [ɵngcc0.ɵɵNgOnChangesFeature] });\nCalendarTooltipDirective.ctorParameters = () => [\n { type: ElementRef },\n { type: Injector },\n { type: Renderer2 },\n { type: ComponentFactoryResolver },\n { type: ViewContainerRef },\n { type: undefined, decorators: [{ type: Inject, args: [DOCUMENT,] }] }\n];\n__decorate([\n Input('mwlCalendarTooltip'),\n __metadata(\"design:type\", String)\n], CalendarTooltipDirective.prototype, \"contents\", void 0);\n__decorate([\n Input('tooltipPlacement'),\n __metadata(\"design:type\", Object)\n], CalendarTooltipDirective.prototype, \"placement\", void 0);\n__decorate([\n Input('tooltipTemplate'),\n __metadata(\"design:type\", TemplateRef)\n], CalendarTooltipDirective.prototype, \"customTemplate\", void 0);\n__decorate([\n Input('tooltipEvent'),\n __metadata(\"design:type\", Object)\n], CalendarTooltipDirective.prototype, \"event\", void 0);\n__decorate([\n Input('tooltipAppendToBody'),\n __metadata(\"design:type\", Boolean)\n], CalendarTooltipDirective.prototype, \"appendToBody\", void 0);\n__decorate([\n Input('tooltipDelay'),\n __metadata(\"design:type\", Number)\n], CalendarTooltipDirective.prototype, \"delay\", void 0);\n__decorate([\n HostListener('mouseenter'),\n __metadata(\"design:type\", Function),\n __metadata(\"design:paramtypes\", []),\n __metadata(\"design:returntype\", void 0)\n], CalendarTooltipDirective.prototype, \"onMouseOver\", null);\n__decorate([\n HostListener('mouseleave'),\n __metadata(\"design:type\", Function),\n __metadata(\"design:paramtypes\", []),\n __metadata(\"design:returntype\", void 0)\n], CalendarTooltipDirective.prototype, \"onMouseOut\", null);\nCalendarTooltipDirective = __decorate([ __param(5, Inject(DOCUMENT)),\n __metadata(\"design:paramtypes\", [ElementRef,\n Injector,\n Renderer2,\n ComponentFactoryResolver,\n ViewContainerRef, Object])\n], CalendarTooltipDirective);\n\nclass DateAdapter {\n}\n\nvar CalendarView;\n(function (CalendarView) {\n CalendarView[\"Month\"] = \"month\";\n CalendarView[\"Week\"] = \"week\";\n CalendarView[\"Day\"] = \"day\";\n})(CalendarView || (CalendarView = {}));\n\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) &&\n Math.floor(inner.left) <= Math.ceil(outer.right) &&\n Math.floor(outer.left) <= Math.ceil(inner.right) &&\n Math.floor(inner.right) <= Math.ceil(outer.right) &&\n Math.floor(outer.top) <= Math.ceil(inner.top) &&\n Math.floor(inner.top) <= Math.ceil(outer.bottom) &&\n Math.floor(outer.top) <= Math.ceil(inner.bottom) &&\n 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 }\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) ||\n (period.start <= end && end <= period.end));\n}\nfunction shouldFireDroppedEvent(dropEvent, date, allDay, calendarId) {\n return (dropEvent.dropData &&\n dropEvent.dropData.event &&\n (dropEvent.dropData.calendarId !== calendarId ||\n (dropEvent.dropData.event.allDay && !allDay) ||\n (!dropEvent.dropData.event.allDay && allDay)));\n}\nfunction getWeekViewPeriod(dateAdapter, viewDate, weekStartsOn, excluded = [], daysInWeek) {\n let viewStart = daysInWeek\n ? dateAdapter.startOfDay(viewDate)\n : dateAdapter.startOfWeek(viewDate, { weekStartsOn });\n const endOfWeek = dateAdapter.endOfWeek(viewDate, { weekStartsOn });\n while (excluded.indexOf(dateAdapter.getDay(viewStart)) > -1 &&\n 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 { viewStart, viewEnd };\n }\n else {\n let viewEnd = endOfWeek;\n while (excluded.indexOf(dateAdapter.getDay(viewEnd)) > -1 &&\n viewEnd > viewStart) {\n viewEnd = dateAdapter.subDays(viewEnd, 1);\n }\n return { viewStart, viewEnd };\n }\n}\nfunction isWithinThreshold({ x, y }) {\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 * <button\n * mwlCalendarPreviousView\n * [(viewDate)]=\"viewDate\"\n * [view]=\"view\">\n * Previous\n * </button>\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 }\n else if (this.view === CalendarView.Week && this.daysInWeek) {\n this.viewDateChange.emit(addDaysWithExclusions(this.dateAdapter, this.viewDate, -this.daysInWeek, this.excludeDays));\n }\n else {\n this.viewDateChange.emit(subFn(this.viewDate, 1));\n }\n }\n};\nCalendarPreviousViewDirective.ɵfac = function CalendarPreviousViewDirective_Factory(t) { return new (t || CalendarPreviousViewDirective)(ɵngcc0.ɵɵdirectiveInject(DateAdapter)); };\nCalendarPreviousViewDirective.ɵdir = /*@__PURE__*/ ɵngcc0.ɵɵdefineDirective({ type: CalendarPreviousViewDirective, selectors: [[\"\", \"mwlCalendarPreviousView\", \"\"]], hostBindings: function CalendarPreviousViewDirective_HostBindings(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵlistener(\"click\", function CalendarPreviousViewDirective_click_HostBindingHandler() { return ctx.onClick(); });\n } }, inputs: { excludeDays: \"excludeDays\", view: \"view\", viewDate: \"viewDate\", daysInWeek: \"daysInWeek\" }, outputs: { viewDateChange: \"viewDateChange\" } });\nCalendarPreviousViewDirective.ctorParameters = () => [\n { type: DateAdapter }\n];\n__decorate([\n Input(),\n __metadata(\"design:type\", String)\n], CalendarPreviousViewDirective.prototype, \"view\", void 0);\n__decorate([\n Input(),\n __metadata(\"design:type\", Date)\n], CalendarPreviousViewDirective.prototype, \"viewDate\", void 0);\n__decorate([\n Input(),\n __metadata(\"design:type\", Array)\n], CalendarPreviousViewDirective.prototype, \"excludeDays\", void 0);\n__decorate([\n Input(),\n __metadata(\"design:type\", Number)\n], CalendarPreviousViewDirective.prototype, \"daysInWeek\", void 0);\n__decorate([\n Output(),\n __metadata(\"design:type\", EventEmitter)\n], CalendarPreviousViewDirective.prototype, \"viewDateChange\", void 0);\n__decorate([\n HostListener('click'),\n __metadata(\"design:type\", Function),\n __metadata(\"design:paramtypes\", []),\n __metadata(\"design:returntype\", void 0)\n], CalendarPreviousViewDirective.prototype, \"onClick\", null);\nCalendarPreviousViewDirective = __decorate([ __metadata(\"design:paramtypes\", [DateAdapter])\n], CalendarPreviousViewDirective);\n\n/**\n * Change the view date to the next view. For example:\n *\n * ```typescript\n * <button\n * mwlCalendarNextView\n * [(viewDate)]=\"viewDate\"\n * [view]=\"view\">\n * Next\n * </button>\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 }\n else if (this.view === CalendarView.Week && this.daysInWeek) {\n this.viewDateChange.emit(addDaysWithExclusions(this.dateAdapter, this.viewDate, this.daysInWeek, this.excludeDays));\n }\n else {\n this.viewDateChange.emit(addFn(this.viewDate, 1));\n }\n }\n};\nCalendarNextViewDirective.ɵfac = function CalendarNextViewDirective_Factory(t) { return new (t || CalendarNextViewDirective)(ɵngcc0.ɵɵdirectiveInject(DateAdapter)); };\nCalendarNextViewDirective.ɵdir = /*@__PURE__*/ ɵngcc0.ɵɵdefineDirective({ type: CalendarNextViewDirective, selectors: [[\"\", \"mwlCalendarNextView\", \"\"]], hostBindings: function CalendarNextViewDirective_HostBindings(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵlistener(\"click\", function CalendarNextViewDirective_click_HostBindingHandler() { return ctx.onClick(); });\n } }, inputs: { excludeDays: \"excludeDays\", view: \"view\", viewDate: \"viewDate\", daysInWeek: \"daysInWeek\" }, outputs: { viewDateChange: \"viewDateChange\" } });\nCalendarNextViewDirective.ctorParameters = () => [\n { type: DateAdapter }\n];\n__decorate([\n Input(),\n __metadata(\"design:type\", String)\n], CalendarNextViewDirective.prototype, \"view\", void 0);\n__decorate([\n Input(),\n __metadata(\"design:type\", Date)\n], CalendarNextViewDirective.prototype, \"viewDate\", void 0);\n__decorate([\n Input(),\n __metadata(\"design:type\", Array)\n], CalendarNextViewDirective.prototype, \"excludeDays\", void 0);\n__decorate([\n Input(),\n __metadata(\"design:type\", Number)\n], CalendarNextViewDirective.prototype, \"daysInWeek\", void 0);\n__decorate([\n Output(),\n __metadata(\"design:type\", EventEmitter)\n], CalendarNextViewDirective.prototype, \"viewDateChange\", void 0);\n__decorate([\n HostListener('click'),\n __metadata(\"design:type\", Function),\n __metadata(\"design:paramtypes\", []),\n __metadata(\"design:returntype\", void 0)\n], CalendarNextViewDirective.prototype, \"onClick\", null);\nCalendarNextViewDirective = __decorate([ __metadata(\"design:paramtypes\", [DateAdapter])\n], CalendarNextViewDirective);\n\n/**\n * Change the view date to the current day. For example:\n *\n * ```typescript\n * <button\n * mwlCalendarToday\n * [(viewDate)]=\"viewDate\">\n * Today\n * </button>\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) { return new (t || CalendarTodayDirective)(ɵngcc0.ɵɵdirectiveInject(DateAdapter)); };\nCalendarTodayDirective.ɵdir = /*@__PURE__*/ ɵngcc0.ɵɵdefineDirective({ type: CalendarTodayDirective, selectors: [[\"\", \"mwlCalendarToday\", \"\"]], hostBindings: function CalendarTodayDirective_HostBindings(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵlistener(\"click\", function CalendarTodayDirective_click_HostBindingHandler() { return ctx.onClick(); });\n } }, inputs: { viewDate: \"viewDate\" }, outputs: { viewDateChange: \"viewDateChange\" } });\nCalendarTodayDirective.ctorParameters = () => [\n { type: DateAdapter }\n];\n__decorate([\n Input(),\n __metadata(\"design:type\", Date)\n], CalendarTodayDirective.prototype, \"viewDate\", void 0);\n__decorate([\n Output(),\n __metadata(\"design:type\", EventEmitter)\n], CalendarTodayDirective.prototype, \"viewDateChange\", void 0);\n__decorate([\n HostListener('click'),\n __metadata(\"design:type\", Function),\n __metadata(\"design:paramtypes\", []),\n __metadata(\"design:returntype\", void 0)\n], CalendarTodayDirective.prototype, \"onClick\", null);\nCalendarTodayDirective = __decorate([ __metadata(\"design:paramtypes\", [DateAdapter])\n], 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({ date, locale }) {\n return formatDate(date, 'EEEE', locale);\n }\n /**\n * The month view cell day number\n */\n monthViewDayNumber({ date, locale }) {\n return formatDate(date, 'd', locale);\n }\n /**\n * The month view title\n */\n monthViewTitle({ date, locale }) {\n return formatDate(date, 'LLLL y', locale);\n }\n /**\n * The week view header week day labels\n */\n weekViewColumnHeader({ date, locale }) {\n return formatDate(date, 'EEEE', locale);\n }\n /**\n * The week view sub header day and month labels\n */\n weekViewColumnSubHeader({ date, locale, }) {\n return formatDate(date, 'MMM d', locale);\n }\n /**\n * The week view title\n */\n weekViewTitle({ date, locale, weekStartsOn, excludeDays, daysInWeek, }) {\n const { viewStart, viewEnd } = 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({ date, locale }) {\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({ date, locale }) {\n return formatDate(date, 'h a', locale);\n }\n /**\n * The day view title\n */\n dayViewTitle({ date, locale }) {\n return formatDate(date, 'EEEE, MMMM d, y', locale);\n }\n};\nCalendarAngularDateFormatter.ɵfac = function CalendarAngularDateFormatter_Factory(t) { return new (t || CalendarAngularDateFormatter)(ɵngcc0.ɵɵinject(DateAdapter)); };\nCalendarAngularDateFormatter.ɵprov = /*@__PURE__*/ ɵngcc0.ɵɵdefineInjectable({ token: CalendarAngularDateFormatter, factory: function (t) { return CalendarAngularDateFormatter.ɵfac(t); } });\nCalendarAngularDateFormatter.ctorParameters = () => [\n { type: DateAdapter }\n];\nCalendarAngularDateFormatter = __decorate([ __metadata(\"design:paramtypes\", [DateAdapter])\n], 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 <a href=\"https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/Intl\" target=\"_blank\">Intl</a> API to format dates, or there is the `CalendarMomentDateFormatter` which uses <a href=\"http://momentjs.com/\" target=\"_blank\">moment</a>.\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 {\n};\nCalendarDateFormatter.ɵfac = /*@__PURE__*/ function () { let ɵCalendarDateFormatter_BaseFactory; return function CalendarDateFormatter_Factory(t) { return (ɵCalendarDateFormatter_BaseFactory || (ɵCalendarDateFormatter_BaseFactory = ɵngcc0.ɵɵgetInheritedFactory(CalendarDateFormatter)))(t || CalendarDateFormatter); }; }();\nCalendarDateFormatter.ɵprov = /*@__PURE__*/ ɵngcc0.ɵɵdefineInjectable({ token: CalendarDateFormatter, factory: function (t) { return CalendarDateFormatter.ɵfac(t); } });\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) { return new (t || CalendarDatePipe)(ɵngcc0.ɵɵdirectiveInject(CalendarDateFormatter, 16), ɵngcc0.ɵɵdirectiveInject(LOCALE_ID, 16)); };\nCalendarDatePipe.ɵpipe = /*@__PURE__*/ ɵngcc0.ɵɵdefinePipe({ name: \"calendarDate\", type: CalendarDatePipe, pure: true });\nCalendarDatePipe.ctorParameters = () => [\n { type: CalendarDateFormatter },\n { type: String, decorators: [{ type: Inject, args: [LOCALE_ID,] }] }\n];\nCalendarDatePipe = __decorate([ __param(1, Inject(LOCALE_ID)),\n __metadata(\"design:paramtypes\", [CalendarDateFormatter, String])\n], 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}\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) { return new (t || CalendarEventTitlePipe)(ɵngcc0.ɵɵdirectiveInject(CalendarEventTitleFormatter, 16)); };\nCalendarEventTitlePipe.ɵpipe = /*@__PURE__*/ ɵngcc0.ɵɵdefinePipe({ name: \"calendarEventTitle\", type: CalendarEventTitlePipe, pure: true });\nCalendarEventTitlePipe.ctorParameters = () => [\n { type: CalendarEventTitleFormatter }\n];\nCalendarEventTitlePipe = __decorate([ __metadata(\"design:paramtypes\", [CalendarEventTitleFormatter])\n], CalendarEventTitlePipe);\n\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()\n .pipe(takeUntil(this.destroy$))\n .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) { return new (t || ClickDirective)(ɵngcc0.ɵɵdirectiveInject(ɵngcc0.Renderer2), ɵngcc0.ɵɵdirectiveInject(ɵngcc0.ElementRef), ɵngcc0.ɵɵdirectiveInject(DOCUMENT)); };\nClickDirective.ɵdir = /*@__PURE__*/ ɵngcc0.ɵɵdefineDirective({ type: ClickDirective, selectors: [[\"\", \"mwlClick\", \"\"]], inputs: { clickListenerDisabled: \"clickListenerDisabled\" }, outputs: { click: \"mwlClick\" } });\nClickDirective.ctorParameters = () => [\n { type: Renderer2 },\n { type: ElementRef },\n { type: undefined, decorators: [{ type: Inject, args: [DOCUMENT,] }] }\n];\n__decorate([\n Input(),\n __metadata(\"design:type\", Object)\n], ClickDirective.prototype, \"clickListenerDisabled\", void 0);\n__decorate([\n Output('mwlClick'),\n __metadata(\"design:type\", Object)\n], ClickDirective.prototype, \"click\", void 0);\nClickDirective = __decorate([ __param(2, Inject(DOCUMENT)),\n __metadata(\"design:paramtypes\", [Renderer2,\n ElementRef, Object])\n], ClickDirective);\n\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 ||\n event.which === 13 ||\n 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) { return new (t || KeydownEnterDirective)(ɵngcc0.ɵɵdirectiveInject(ɵngcc0.ElementRef), ɵngcc0.ɵɵdirectiveInject(ɵngcc0.NgZone), ɵngcc0.ɵɵdirectiveInject(ɵngcc0.Renderer2)); };\nKeydownEnterDirective.ɵdir = /*@__PURE__*/ ɵngcc0.ɵɵdefineDirective({ type: KeydownEnterDirective, selectors: [[\"\", \"mwlKeydownEnter\", \"\"]], outputs: { keydown: \"mwlKeydownEnter\" } });\nKeydownEnterDirective.ctorParameters = () => [\n { type: ElementRef },\n { type: NgZone },\n { type: Renderer2 }\n];\n__decorate([\n Output('mwlKeydownEnter'),\n __metadata(\"design:type\", Object)\n], KeydownEnterDirective.prototype, \"keydown\", void 0);\nKeydownEnterDirective = __decorate([ __metadata(\"design:paramtypes\", [ElementRef,\n NgZone,\n Renderer2])\n], KeydownEnterDirective);\n\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) { return new (t || CalendarUtils)(ɵngcc0.ɵɵinject(DateAdapter)); };\nCalendarUtils.ɵprov = /*@__PURE__*/ ɵngcc0.ɵɵdefineInjectable({ token: CalendarUtils, factory: function (t) { return CalendarUtils.ɵfac(t); } });\nCalendarUtils.ctorParameters = () => [\n { type: DateAdapter }\n];\nCalendarUtils = __decorate([ __metadata(\"design:paramtypes\", [DateAdapter])\n], 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({ day, locale }) {\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 }\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({ date, locale }) {\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({ date, locale }) {\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({ event, locale }) {\n if (event.allDay === true) {\n return this.allDayEventDescription({ event, locale });\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({ event, locale }) {\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({ action }) {\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) { return new (t || CalendarA11y)(ɵngcc0.ɵɵinject(ɵngcc1.I18nPluralPipe)); };\nCalendarA11y.ɵprov = /*@__PURE__*/ ɵngcc0.ɵɵdefineInjectable({ token: CalendarA11y, factory: function (t) { return CalendarA11y.ɵfac(t); } });\nCalendarA11y.ctorParameters = () => [\n { type: I18nPluralPipe }\n];\nCalendarA11y = __decorate([ __metadata(\"design:paramtypes\", [I18nPluralPipe])\n], 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) { return new (t || CalendarA11yPipe)(ɵngcc0.ɵɵdirectiveInject(CalendarA11y, 16), ɵngcc0.ɵɵdirectiveInject(LOCALE_ID, 16)); };\nCalendarA11yPipe.ɵpipe = /*@__PURE__*/ ɵngcc0.ɵɵdefinePipe({ name: \"calendarA11y\", type: CalendarA11yPipe, pure: true });\nCalendarA11yPipe.ctorParameters = () => [\n { type: CalendarA11y },\n { type: String, decorators: [{ type: Inject, args: [LOCALE_ID,] }] }\n];\nCalendarA11yPipe = __decorate([ __param(1, Inject(LOCALE_ID)),\n __metadata(\"design:paramtypes\", [CalendarA11y, String])\n], CalendarA11yPipe);\n\nconst MOMENT = new InjectionToken('Moment');\n/**\n * This will use <a href=\"http://momentjs.com/\" target=\"_blank\">moment</a> 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({ date, locale }) {\n return this.moment(date).locale(locale).format('dddd');\n }\n /**\n * The month view cell day number\n */\n monthViewDayNumber({ date, locale }) {\n return this.moment(date).locale(locale).format('D');\n }\n /**\n * The month view title\n */\n monthViewTitle({ date, locale }) {\n return this.moment(date).locale(locale).format('MMMM YYYY');\n }\n /**\n * The week view header week day labels\n */\n weekViewColumnHeader({ date, locale }) {\n return this.moment(date).locale(locale).format('dddd');\n }\n /**\n * The week view sub header day and month labels\n */\n weekViewColumnSubHeader({ date, locale, }) {\n return this.moment(date).locale(locale).format('MMM D');\n }\n /**\n * The week view title\n */\n weekViewTitle({ date, locale, weekStartsOn, excludeDays, daysInWeek, }) {\n const { viewStart, viewEnd } = getWeekViewPeriod(this.dateAdapter, date, weekStartsOn, excludeDays, daysInWeek);\n const format = (dateToFormat, showYear) => this.moment(dateToFormat)\n .locale(locale)\n .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({ date, locale }) {\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({ date, locale }) {\n return this.moment(date).locale(locale).format('ha');\n }\n /**\n * The day view title\n */\n dayViewTitle({ date, locale }) {\n return this.moment(date).locale(locale).format('dddd, D MMMM, YYYY');\n }\n};\nCalendarMomentDateFormatter.ɵfac = function CalendarMomentDateFormatter_Factory(t) { return new (t || CalendarMomentDateFormatter)(ɵngcc0.ɵɵinject(MOMENT), ɵngcc0.ɵɵinject(DateAdapter)); };\nCalendarMomentDateFormatter.ɵprov = /*@__PURE__*/ ɵngcc0.ɵɵdefineInjectable({ token: CalendarMomentDateFormatter, factory: function (t) { return CalendarMomentDateFormatter.ɵfac(t); } });\nCalendarMomentDateFormatter.ctorParameters = () => [\n { type: undefined, decorators: [{ type: Inject, args: [MOMENT,] }] },\n { type: DateAdapter }\n];\nCalendarMomentDateFormatter = __decorate([ __param(0, Inject(MOMENT)),\n __metadata(\"design:paramtypes\", [Object, DateAdapter])\n], CalendarMomentDateFormatter);\n\n/**\n * This will use <a href=\"https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/Intl\" target=\"_blank\">Intl</a> API to do all date formatting.\n *\n * You will need to include a <a href=\"https://github.com/andyearnshaw/Intl.js/\">polyfill</a> 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({ date, locale }) {\n return new Intl.DateTimeFormat(locale, { weekday: 'long' }).format(date);\n }\n /**\n * The month view cell day number\n */\n monthViewDayNumber({ date, locale }) {\n return new Intl.DateTimeFormat(locale, { day: 'numeric' }).format(date);\n }\n /**\n * The month view title\n */\n monthViewTitle({ date, locale }) {\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({ date, locale }) {\n return new Intl.DateTimeFormat(locale, { weekday: 'long' }).format(date);\n }\n /**\n * The week view sub header day and month labels\n */\n weekViewColumnSubHeader({ date, locale, }) {\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({ date, locale, weekStartsOn, excludeDays, daysInWeek, }) {\n const { viewStart, viewEnd } = 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({ date, locale }) {\n return new Intl.DateTimeFormat(locale, { hour: 'numeric' }).format(date);\n }\n /**\n * The time formatting down the left hand side of the day view\n */\n dayViewHour({ date, locale }) {\n return new Intl.DateTimeFormat(locale, { hour: 'numeric' }).format(date);\n }\n /**\n * The day view title\n */\n dayViewTitle({ date, locale }) {\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) { return new (t || CalendarNativeDateFormatter)(ɵngcc0.ɵɵinject(DateAdapter)); };\nCalendarNativeDateFormatter.ɵprov = /*@__PURE__*/ ɵngcc0.ɵɵdefineInjectable({ token: CalendarNativeDateFormatter, factory: function (t) { return CalendarNativeDateFormatter.ɵfac(t); } });\nCalendarNativeDateFormatter.ctorParameters = () => [\n { type: DateAdapter }\n];\nCalendarNativeDateFormatter = __decorate([ __metadata(\"design:paramtypes\", [DateAdapter])\n], CalendarNativeDateFormatter);\n\nvar CalendarEventTimesChangedEventType;\n(function (CalendarEventTimesChangedEventType) {\n CalendarEventTimesChangedEventType[\"Drag\"] = \"drag\";\n CalendarEventTimesChangedEventType[\"Drop\"] = \"drop\";\n CalendarEventTimesChangedEventType[\"Resize\"] = \"resize\";\n})(CalendarEventTimesChangedEventType || (CalendarEventTimesChangedEventType = {}));\n\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: [\n dateAdapter,\n config.eventTitleFormatter || CalendarEventTitleFormatter,\n config.dateFormatter || CalendarDateFormatter,\n config.utils || CalendarUtils,\n config.a11y || CalendarA11y,\n ],\n };\n }\n};\nCalendarCommonModule.ɵfac = function CalendarCommonModule_Factory(t) { return new (t || CalendarCommonModule)(); };\nCalendarCommonModule.ɵmod = /*@__PURE__*/ ɵngcc0.ɵɵdefineNgModule({ type: CalendarCommonModule });\nCalendarCommonModule.ɵinj = /*@__PURE__*/ ɵngcc0.ɵɵdefineInjector({ providers: [I18nPluralPipe], imports: [CommonModule] });\n\n/**\n * Shows all events on a given month. Example usage:\n *\n * ```typescript\n * <mwl-calendar-month-view\n * [viewDate]=\"viewDate\"\n * [events]=\"events\">\n * </mwl-calendar-month-view>\n * ```\n */\nlet CalendarMonthViewComponent = class CalendarMonthViewComponent {\n /**\n * @hidden\n */\n constructor(cdr, utils, locale, dateAdapter) {\n this.cdr = cdr;\n this.utils = utils;\n this.dateAdapter = dateAdapter;\n /**\n * An array of events to display on view.\n * The schema is available here: https://github.com/mattlewis92/calendar-utils/blob/c51689985f59a271940e30bc4e2c4e1fee3fcb5c/src/calendarUtils.ts#L49-L63\n */\n this.events = [];\n /**\n * An array of day indexes (0 = sunday, 1 = monday etc) that will be hidden on the view\n */\n this.excludeDays = [];\n /**\n * Whether the events list for the day of the `viewDate` option is visible or not\n */\n this.activeDayIsOpen = false;\n /**\n * The placement of the event tooltip\n */\n this.tooltipPlacement = 'auto';\n /**\n * Whether to append tooltips to the body or next to the trigger element\n */\n this.tooltipAppendToBody = true;\n /**\n * The delay in milliseconds before the tooltip should be displayed. If not provided the tooltip\n * will be displayed immediately.\n */\n this.tooltipDelay = null;\n /**\n * An output that will be called before the view is rendered for the current month.\n * If you add the `cssClass` property to a day in the body it will add that class to the cell element in the template\n */\n this.beforeViewRender = new EventEmitter();\n /**\n * Called when the day cell is clicked\n */\n this.dayClicked = new EventEmitter();\n /**\n * Called when the event title is clicked\n */\n this.eventClicked = new EventEmitter();\n /**\n * Called when a header week day is clicked. Returns ISO day number.\n */\n this.columnHeaderClicked = new EventEmitter();\n /**\n * Called when an event is dragged and dropped\n */\n this.eventTimesChanged = new EventEmitter();\n /**\n * @hidden\n */\n this.trackByRowOffset = (index, offset) => this.view.days\n .slice(offset, this.view.totalDaysVisibleInWeek)\n .map((day) => day.date.toISOString())\n .join('-');\n /**\n * @hidden\n */\n this.trackByDate = (index, day) => day.date.toISOString();\n this.locale = locale;\n }\n /**\n * @hidden\n */\n ngOnInit() {\n if (this.refresh) {\n this.refreshSubscription = this.refresh.subscribe(() => {\n this.refreshAll();\n this.cdr.markForCheck();\n });\n }\n }\n /**\n * @hidden\n */\n ngOnChanges(changes) {\n const refreshHeader = changes.viewDate || changes.excludeDays || changes.weekendDays;\n const refreshBody = changes.viewDate ||\n changes.events ||\n changes.excludeDays ||\n changes.weekendDays;\n if (refreshHeader) {\n this.refreshHeader();\n }\n if (changes.events) {\n validateEvents(this.events);\n }\n if (refreshBody) {\n this.refreshBody();\n }\n if (refreshHeader || refreshBody) {\n this.emitBeforeViewRender();\n }\n if (changes.activeDayIsOpen ||\n changes.viewDate ||\n changes.events ||\n changes.excludeDays ||\n changes.activeDay) {\n this.checkActiveDayIsOpen();\n }\n }\n /**\n * @hidden\n */\n ngOnDestroy() {\n if (this.refreshSubscription) {\n this.refreshSubscription.unsubscribe();\n }\n }\n /**\n * @hidden\n */\n toggleDayHighlight(event, isHighlighted) {\n this.view.days.forEach((day) => {\n if (isHighlighted && day.events.indexOf(event) > -1) {\n day.backgroundColor =\n (event.color && event.color.secondary) || '#D1E8FF';\n }\n else {\n delete day.backgroundColor;\n }\n });\n }\n /**\n * @hidden\n */\n eventDropped(droppedOn, event, draggedFrom) {\n if (droppedOn !== draggedFrom) {\n const year = this.dateAdapter.getYear(droppedOn.date);\n const month = this.dateAdapter.getMonth(droppedOn.date);\n const date = this.dateAdapter.getDate(droppedOn.date);\n const newStart = this.dateAdapter.setDate(this.dateAdapter.setMonth(this.dateAdapter.setYear(event.start, year), month), date);\n let newEnd;\n if (event.end) {\n const secondsDiff = this.dateAdapter.differenceInSeconds(newStart, event.start);\n newEnd = this.dateAdapter.addSeconds(event.end, secondsDiff);\n }\n this.eventTimesChanged.emit({\n event,\n newStart,\n newEnd,\n day: droppedOn,\n type: CalendarEventTimesChangedEventType.Drop,\n });\n }\n }\n refreshHeader() {\n this.columnHeaders = this.utils.getWeekViewHeader({\n viewDate: this.viewDate,\n weekStartsOn: this.weekStartsOn,\n excluded: this.excludeDays,\n weekendDays: this.weekendDays,\n });\n }\n refreshBody() {\n this.view = this.utils.getMonthView({\n events: this.events,\n viewDate: this.viewDate,\n weekStartsOn: this.weekStartsOn,\n excluded: this.excludeDays,\n weekendDays: this.weekendDays,\n });\n }\n checkActiveDayIsOpen() {\n if (this.activeDayIsOpen === true) {\n const activeDay = this.activeDay || this.viewDate;\n this.openDay = this.view.days.find((day) => this.dateAdapter.isSameDay(day.date, activeDay));\n const index = this.view.days.indexOf(this.openDay);\n this.openRowIndex =\n Math.floor(index / this.view.totalDaysVisibleInWeek) *\n this.view.totalDaysVisibleInWeek;\n }\n else {\n this.openRowIndex = null;\n this.openDay = null;\n }\n }\n refreshAll() {\n this.refreshHeader();\n this.refreshBody();\n this.emitBeforeViewRender();\n this.checkActiveDayIsOpen();\n }\n emitBeforeViewRender() {\n if (this.columnHeaders && this.view) {\n this.beforeViewRender.emit({\n header: this.columnHeaders,\n body: this.view.days,\n period: this.view.period,\n });\n }\n }\n};\nCalendarMonthViewComponent.ɵfac = function CalendarMonthViewComponent_Factory(t) { return new (t || CalendarMonthViewComponent)(ɵngcc0.ɵɵdirectiveInject(ɵngcc0.ChangeDetectorRef), ɵngcc0.ɵɵdirectiveInject(CalendarUtils), ɵngcc0.ɵɵdirectiveInject(LOCALE_ID), ɵngcc0.ɵɵdirectiveInject(DateAdapter)); };\nCalendarMonthViewComponent.ɵcmp = /*@__PURE__*/ ɵngcc0.ɵɵdefineComponent({ type: CalendarMonthViewComponent, selectors: [[\"mwl-calendar-month-view\"]], inputs: { events: \"events\", excludeDays: \"excludeDays\", activeDayIsOpen: \"activeDayIsOpen\", tooltipPlacement: \"tooltipPlacement\", tooltipAppendToBody: \"tooltipAppendToBody\", tooltipDelay: \"tooltipDelay\", locale: \"locale\", viewDate: \"viewDate\", activeDay: \"activeDay\", refresh: \"refresh\", tooltipTemplate: \"tooltipTemplate\", weekStartsOn: \"weekStartsOn\", headerTemplate: \"headerTemplate\", cellTemplate: \"cellTemplate\", openDayEventsTemplate: \"openDayEventsTemplate\", eventTitleTemplate: \"eventTitleTemplate\", eventActionsTemplate: \"eventActionsTemplate\", weekendDays: \"weekendDays\" }, outputs: { beforeViewRender: \"beforeViewRender\", dayClicked: \"dayClicked\", eventClicked: \"eventClicked\", columnHeaderClicked: \"columnHeaderClicked\", eventTimesChanged: \"eventTimesChanged\" }, features: [ɵngcc0.ɵɵNgOnChangesFeature], decls: 4, vars: 5, consts: [[\"role\", \"grid\", 1, \"cal-month-view\"], [3, \"days\", \"locale\", \"customTemplate\", \"columnHeaderClicked\"], [1, \"cal-days\"], [4, \"ngFor\", \"ngForOf\", \"ngForTrackBy\"], [\"role\", \"row\", 1, \"cal-cell-row\"], [\"role\", \"gridcell\", \"mwlDroppable\", \"\", \"dragOverClass\", \"cal-drag-over\", 3, \"ngClass\", \"day\", \"openDay\", \"locale\", \"tooltipPlacement\", \"tooltipAppendToBody\", \"tooltipTemplate\", \"tooltipDelay\", \"customTemplate\", \"ngStyle\", \"clickListenerDisabled\", \"mwlClick\", \"mwlKeydownEnter\", \"highlightDay\", \"unhighlightDay\", \"drop\", \"eventClicked\", 4, \"ngFor\", \"ngForOf\", \"ngForTrackBy\"], [\"mwlDroppable\", \"\", \"dragOverClass\", \"cal-drag-over\", 3, \"locale\", \"isOpen\", \"events\", \"date\", \"customTemplate\", \"eventTitleTemplate\", \"eventActionsTemplate\", \"eventClicked\", \"drop\"], [\"role\", \"gridcell\", \"mwlDroppable\", \"\", \"dragOverClass\", \"cal-drag-over\", 3, \"ngClass\", \"day\", \"openDay\", \"locale\", \"tooltipPlacement\", \"tooltipAppendToBody\", \"tooltipTemplate\", \"tooltipDelay\", \"customTemplate\", \"ngStyle\", \"clickListenerDisabled\", \"mwlClick\", \"mwlKeydownEnter\", \"highlightDay\", \"unhighlightDay\", \"drop\", \"eventClicked\"]], template: function CalendarMonthViewComponent_Template(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵelementStart(0, \"div\", 0)(1, \"mwl-calendar-month-view-header\", 1);\n ɵngcc0.ɵɵlistener(\"columnHeaderClicked\", function CalendarMonthViewComponent_Template_mwl_calendar_month_view_header_columnHeaderClicked_1_listener($event) { return ctx.columnHeaderClicked.emit($event); });\n ɵngcc0.ɵɵelementEnd();\n ɵngcc0.ɵɵelementStart(2, \"div\", 2);\n ɵngcc0.ɵɵtemplate(3, CalendarMonthViewComponent_div_3_Template, 5, 13, \"div\", 3);\n ɵngcc0.ɵɵelementEnd()();\n } if (rf & 2) {\n ɵngcc0.ɵɵadvance(1);\n ɵngcc0.ɵɵproperty(\"days\", ctx.columnHeaders)(\"locale\", ctx.locale)(\"customTemplate\", ctx.headerTemplate);\n ɵngcc0.ɵɵadvance(2);\n ɵngcc0.ɵɵproperty(\"ngForOf\", ctx.view.rowOffsets)(\"ngForTrackBy\", ctx.trackByRowOffset);\n } }, dependencies: function () { return [ɵngcc1.NgClass, ɵngcc1.NgForOf, ɵngcc1.NgStyle, ɵngcc2.ɵa, ClickDirective, KeydownEnterDirective, CalendarMonthCellComponent, CalendarOpenDayEventsComponent, CalendarMonthViewHeaderComponent, ɵngcc1.SlicePipe, CalendarA11yPipe]; }, encapsulation: 2 });\nCalendarMonthViewComponent.ctorParameters = () => [\n { type: ChangeDetectorRef },\n { type: CalendarUtils },\n { type: String, decorators: [{ type: Inject, args: [LOCALE_ID,] }] },\n { type: DateAdapter }\n];\n__decorate([\n Input(),\n __metadata(\"design:type\", Date)\n], CalendarMonthViewComponent.prototype, \"viewDate\", void 0);\n__decorate([\n Input(),\n __metadata(\"design:type\", Array)\n], CalendarMonthViewComponent.prototype, \"events\", void 0);\n__decorate([\n Input(),\n __metadata(\"design:type\", Array)\n], CalendarMonthViewComponent.prototype, \"excludeDays\", void 0);\n__decorate([\n Input(),\n __metadata(\"design:type\", Boolean)\n], CalendarMonthViewComponent.prototype, \"activeDayIsOpen\", void 0);\n__decorate([\n Input(),\n __metadata(\"design:type\", Date)\n], CalendarMonthViewComponent.prototype, \"activeDay\", void 0);\n__decorate([\n Input(),\n __metadata(\"design:type\", Subject)\n], CalendarMonthViewComponent.prototype, \"refresh\", void 0);\n__decorate([\n Input(),\n __metadata(\"design:type\", String)\n], CalendarMonthViewComponent.prototype, \"locale\", void 0);\n__decorate([\n Input(),\n __metadata(\"design:type\", Object)\n], CalendarMonthViewComponent.prototype, \"tooltipPlacement\", void 0);\n__decorate([\n Input(),\n __metadata(\"design:type\", TemplateRef)\n], CalendarMonthViewComponent.prototype, \"tooltipTemplate\", void 0);\n__decorate([\n Input(),\n __metadata(\"design:type\", Boolean)\n], CalendarMonthViewComponent.prototype, \"tooltipAppendToBody\", void 0);\n__decorate([\n Input(),\n __metadata(\"design:type\", Number)\n], CalendarMonthViewComponent.prototype, \"tooltipDelay\", void 0);\n__decorate([\n Input(),\n __metadata(\"design:type\", Number)\n], CalendarMonthViewComponent.prototype, \"weekStartsOn\", void 0);\n__decorate([\n Input(),\n __metadata(\"design:type\", TemplateRef)\n], CalendarMonthViewComponent.prototype, \"headerTemplate\", void 0);\n__decorate([\n Input(),\n __metadata(\"design:type\", TemplateRef)\n], CalendarMonthViewComponent.prototype, \"cellTemplate\", void 0);\n__decorate([\n Input(),\n __metadata(\"design:type\", TemplateRef)\n], CalendarMonthViewComponent.prototype, \"openDayEventsTemplate\", void 0);\n__decorate([\n Input(),\n __metadata(\"design:type\", TemplateRef)\n], CalendarMonthViewComponent.prototype, \"eventTitleTemplate\", void 0);\n__decorate([\n Input(),\n __metadata(\"design:type\", TemplateRef)\n], CalendarMonthViewComponent.prototype, \"eventActionsTemplate\", void 0);\n__decorate([\n Input(),\n __metadata(\"design:type\", Array)\n], CalendarMonthViewComponent.prototype, \"weekendDays\", void 0);\n__decorate([\n Output(),\n __metadata(\"design:type\", Object)\n], CalendarMonthViewComponent.prototype, \"beforeViewRender\", void 0);\n__decorate([\n Output(),\n __metadata(\"design:type\", Object)\n], CalendarMonthViewComponent.prototype, \"dayClicked\", void 0);\n__decorate([\n Output(),\n __metadata(\"design:type\", Object)\n], CalendarMonthViewComponent.prototype, \"eventClicked\", void 0);\n__decorate([\n Output(),\n __metadata(\"design:type\", Object)\n], CalendarMonthViewComponent.prototype, \"columnHeaderClicked\", void 0);\n__decorate([\n Output(),\n __metadata(\"design:type\", Object)\n], CalendarMonthViewComponent.prototype, \"eventTimesChanged\", void 0);\nCalendarMonthViewComponent = __decorate([ __param(2, Inject(LOCALE_ID)),\n __metadata(\"design:paramtypes\", [ChangeDetectorRef,\n CalendarUtils, String, DateAdapter])\n], CalendarMonthViewComponent);\n\nlet CalendarMonthViewHeaderComponent = class CalendarMonthViewHeaderComponent {\n constructor() {\n this.columnHeaderClicked = new EventEmitter();\n this.trackByWeekDayHeaderDate = trackByWeekDayHeaderDate;\n }\n};\nCalendarMonthViewHeaderComponent.ɵfac = function CalendarMonthViewHeaderComponent_Factory(t) { return new (t || CalendarMonthViewHeaderComponent)(); };\nCalendarMonthViewHeaderComponent.ɵcmp = /*@__PURE__*/ ɵngcc0.ɵɵdefineComponent({ type: CalendarMonthViewHeaderComponent, selectors: [[\"mwl-calendar-month-view-header\"]], inputs: { days: \"days\", locale: \"locale\", customTemplate: \"customTemplate\" }, outputs: { columnHeaderClicked: \"columnHeaderClicked\" }, decls: 3, vars: 6, consts: [[\"defaultTemplate\", \"\"], [3, \"ngTemplateOutlet\", \"ngTemplateOutletContext\"], [\"role\", \"row\", 1, \"cal-cell-row\", \"cal-header\"], [\"class\", \"cal-cell\", \"tabindex\", \"0\", \"role\", \"columnheader\", 3, \"cal-past\", \"cal-today\", \"cal-future\", \"cal-weekend\", \"ngClass\", \"click\", 4, \"ngFor\", \"ngForOf\", \"ngForTrackBy\"], [\"tabindex\", \"0\", \"role\", \"columnheader\", 1, \"cal-cell\", 3, \"ngClass\", \"click\"]], template: function CalendarMonthViewHeaderComponent_Template(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵtemplate(0, CalendarMonthViewHeaderComponent_ng_template_0_Template, 2, 2, \"ng-template\", null, 0, ɵngcc0.ɵɵtemplateRefExtractor);\n ɵngcc0.ɵɵtemplate(2, CalendarMonthViewHeaderComponent_ng_template_2_Template, 0, 0, \"ng-template\", 1);\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, _c6, ctx.days, ctx.locale, ctx.trackByWeekDayHeaderDate));\n } }, dependencies: [ɵngcc1.NgClass, ɵngcc1.NgForOf, ɵngcc1.NgTemplateOutlet, CalendarDatePipe], encapsulation: 2 });\n__decorate([\n Input(),\n __metadata(\"design:type\", Array)\n], CalendarMonthViewHeaderComponent.prototype, \"days\", void 0);\n__decorate([\n Input(),\n __metadata(\"design:type\", String)\n], CalendarMonthViewHeaderComponent.prototype, \"locale\", void 0);\n__decorate([\n Input(),\n __metadata(\"design:type\", TemplateRef)\n], CalendarMonthViewHeaderComponent.prototype, \"customTemplate\", void 0);\n__decorate([\n Output(),\n __metadata(\"design:type\", Object)\n], CalendarMonthViewHeaderComponent.prototype, \"columnHeaderClicked\", void 0);\n\nlet CalendarMonthCellComponent = class CalendarMonthCellComponent {\n constructor() {\n this.highlightDay = new EventEmitter();\n this.unhighlightDay = new EventEmitter();\n this.eventClicked = new EventEmitter();\n this.trackByEventId = trackByEventId;\n this.validateDrag = isWithinThreshold;\n }\n};\nCalendarMonthCellComponent.ɵfac = function CalendarMonthCellComponent_Factory(t) { return new (t || CalendarMonthCellComponent)(); };\nCalendarMonthCellComponent.ɵcmp = /*@__PURE__*/ ɵngcc0.ɵɵdefineComponent({ type: CalendarMonthCellComponent, selectors: [[\"mwl-calendar-month-cell\"]], hostAttrs: [1, \"cal-cell\", \"cal-day-cell\"], hostVars: 18, hostBindings: function CalendarMonthCellComponent_HostBindings(rf, ctx) { if (rf & 2) {\n ɵngcc0.ɵɵclassProp(\"cal-past\", ctx.day.isPast)(\"cal-today\", ctx.day.isToday)(\"cal-future\", ctx.day.isFuture)(\"cal-weekend\", ctx.day.isWeekend)(\"cal-in-month\", ctx.day.inMonth)(\"cal-out-month\", !ctx.day.inMonth)(\"cal-has-events\", ctx.day.events.length > 0)(\"cal-open\", ctx.day === ctx.openDay)(\"cal-event-highlight\", !!ctx.day.backgroundColor);\n } }, inputs: { day: \"day\", openDay: \"openDay\", locale: \"locale\", tooltipPlacement: \"tooltipPlacement\", tooltipAppendToBody: \"tooltipAppendToBody\", customTemplate: \"customTemplate\", tooltipTemplate: \"tooltipTemplate\", tooltipDelay: \"tooltipDelay\" }, outputs: { highlightDay: \"highlightDay\", unhighlightDay: \"unhighlightDay\", eventClicked: \"eventClicked\" }, decls: 3, vars: 15, consts: [[\"defaultTemplate\", \"\"], [3, \"ngTemplateOutlet\", \"ngTemplateOutletContext\"], [1, \"cal-cell-top\"], [\"aria-hidden\", \"true\"], [\"class\", \"cal-day-badge\", 4, \"ngIf\"], [1, \"cal-day-number\"], [\"class\", \"cal-events\", 4, \"ngIf\"], [1, \"cal-day-badge\"], [1, \"cal-events\"], [\"class\", \"cal-event\", \"mwlDraggable\", \"\", \"dragActiveClass\", \"cal-drag-active\", 3, \"ngStyle\", \"ngClass\", \"mwlCalendarTooltip\", \"tooltipPlacement\", \"tooltipEvent\", \"tooltipTemplate\", \"tooltipAppendToBody\", \"tooltipDelay\", \"cal-draggable\", \"dropData\", \"dragAxis\", \"validateDrag\", \"touchStartLongPress\", \"mouseenter\", \"mouseleave\", \"mwlClick\", 4, \"ngFor\", \"ngForOf\", \"ngForTrackBy\"], [\"mwlDraggable\", \"\", \"dragActiveClass\", \"cal-drag-active\", 1, \"cal-event\", 3, \"ngStyle\", \"ngClass\", \"mwlCalendarTooltip\", \"tooltipPlacement\", \"tooltipEvent\", \"tooltipTemplate\", \"tooltipAppendToBody\", \"tooltipDelay\", \"dropData\", \"dragAxis\", \"validateDrag\", \"touchStartLongPress\", \"mouseenter\", \"mouseleave\", \"mwlClick\"]], template: function CalendarMonthCellComponent_Template(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵtemplate(0, CalendarMonthCellComponent_ng_template_0_Template, 8, 14, \"ng-template\", null, 0, ɵngcc0.ɵɵtemplateRefExtractor);\n ɵngcc0.ɵɵtemplate(2, CalendarMonthCellComponent_ng_template_2_Template, 0, 0, \"ng-template\", 1);\n } if (rf & 2) {\n const _r0 = ɵngcc0.ɵɵreference(1);\n ɵngcc0.ɵɵadvance(2);\n ɵngcc0.ɵɵproperty(\"ngTemplateOutlet\", ctx.customTemplate || _r0)(\"ngTemplateOutletContext\", ɵngcc0.ɵɵpureFunctionV(2, _c11, [ctx.day, ctx.openDay, ctx.locale, ctx.tooltipPlacement, ctx.highlightDay, ctx.unhighlightDay, ctx.eventClicked, ctx.tooltipTemplate, ctx.tooltipAppendToBody, ctx.tooltipDelay, ctx.trackByEventId, ctx.validateDrag]));\n } }, dependencies: [ɵngcc1.NgClass, ɵngcc1.NgForOf, ɵngcc1.NgIf, ɵngcc1.NgTemplateOutlet, ɵngcc1.NgStyle, ɵngcc2.ɵb, CalendarTooltipDirective, ClickDirective, CalendarDatePipe, CalendarEventTitlePipe, CalendarA11yPipe], encapsulation: 2 });\n__decorate([\n Input(),\n __metadata(\"design:type\", Object)\n], CalendarMonthCellComponent.prototype, \"day\", void 0);\n__decorate([\n Input(),\n __metadata(\"design:type\", Object)\n], CalendarMonthCellComponent.prototype, \"openDay\", void 0);\n__decorate([\n Input(),\n __metadata(\"design:type\", String)\n], CalendarMonthCellComponent.prototype, \"locale\", void 0);\n__decorate([\n Input(),\n __metadata(\"design:type\", Object)\n], CalendarMonthCellComponent.prototype, \"tooltipPlacement\", void 0);\n__decorate([\n Input(),\n __metadata(\"design:type\", Boolean)\n], CalendarMonthCellComponent.prototype, \"tooltipAppendToBody\", void 0);\n__decorate([\n Input(),\n __metadata(\"design:type\", TemplateRef)\n], CalendarMonthCellComponent.prototype, \"customTemplate\", void 0);\n__decorate([\n Input(),\n __metadata(\"design:type\", TemplateRef)\n], CalendarMonthCellComponent.prototype, \"tooltipTemplate\", void 0);\n__decorate([\n Input(),\n __metadata(\"design:type\", Number)\n], CalendarMonthCellComponent.prototype, \"tooltipDelay\", void 0);\n__decorate([\n Output(),\n __metadata(\"design:type\", EventEmitter)\n], CalendarMonthCellComponent.prototype, \"highlightDay\", void 0);\n__decorate([\n Output(),\n __metadata(\"design:type\", EventEmitter)\n], CalendarMonthCellComponent.prototype, \"unhighlightDay\", void 0);\n__decorate([\n Output(),\n __metadata(\"design:type\", Object)\n], CalendarMonthCellComponent.prototype, \"eventClicked\", void 0);\n\nconst collapseAnimation = trigger('collapse', [\n state('void', style({\n height: 0,\n overflow: 'hidden',\n 'padding-top': 0,\n 'padding-bottom': 0,\n })),\n state('*', style({\n height: '*',\n overflow: 'hidden',\n 'padding-top': '*',\n 'padding-bottom': '*',\n })),\n transition('* => void', animate('150ms ease-out')),\n transition('void => *', animate('150ms ease-in')),\n]);\nlet CalendarOpenDayEventsComponent = class CalendarOpenDayEventsComponent {\n constructor() {\n this.isOpen = false;\n this.eventClicked = new EventEmitter();\n this.trackByEventId = trackByEventId;\n this.validateDrag = isWithinThreshold;\n }\n};\nCalendarOpenDayEventsComponent.ɵfac = function CalendarOpenDayEventsComponent_Factory(t) { return new (t || CalendarOpenDayEventsComponent)(); };\nCalendarOpenDayEventsComponent.ɵcmp = /*@__PURE__*/ ɵngcc0.ɵɵdefineComponent({ type: CalendarOpenDayEventsComponent, selectors: [[\"mwl-calendar-open-day-events\"]], inputs: { isOpen: \"isOpen\", locale: \"locale\", events: \"events\", customTemplate: \"customTemplate\", eventTitleTemplate: \"eventTitleTemplate\", eventActionsTemplate: \"eventActionsTemplate\", date: \"date\" }, outputs: { eventClicked: \"eventClicked\" }, decls: 3, vars: 8, consts: [[\"defaultTemplate\", \"\"], [3, \"ngTemplateOutlet\", \"ngTemplateOutletContext\"], [\"class\", \"cal-open-day-events\", \"role\", \"application\", 4, \"ngIf\"], [\"role\", \"application\", 1, \"cal-open-day-events\"], [\"tabindex\", \"-1\", \"role\", \"alert\"], [\"tabindex\", \"0\", \"role\", \"landmark\"], [\"mwlDraggable\", \"\", \"dragActiveClass\", \"cal-drag-active\", 3, \"ngClass\", \"cal-draggable\", \"dropData\", \"dragAxis\", \"validateDrag\", \"touchStartLongPress\", 4, \"ngFor\", \"ngForOf\", \"ngForTrackBy\"], [\"mwlDraggable\", \"\", \"dragActiveClass\", \"cal-drag-active\", 3, \"ngClass\", \"dropData\", \"dragAxis\", \"validateDrag\", \"touchStartLongPress\"], [1, \"cal-event\", 3, \"ngStyle\"], [\"view\", \"month\", \"tabindex\", \"0\", 3, \"event\", \"customTemplate\", \"mwlClick\", \"mwlKeydownEnter\"], [3, \"event\", \"customTemplate\"]], template: function CalendarOpenDayEventsComponent_Template(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵtemplate(0, CalendarOpenDayEventsComponent_ng_template_0_Template, 1, 1, \"ng-template\", null, 0, ɵngcc0.ɵɵtemplateRefExtractor);\n ɵngcc0.ɵɵtemplate(2, CalendarOpenDayEventsComponent_ng_template_2_Template, 0, 0, \"ng-template\", 1);\n } if (rf & 2) {\n const _r0 = ɵngcc0.ɵɵreference(1);\n ɵngcc0.ɵɵadvance(2);\n ɵngcc0.ɵɵproperty(\"ngTemplateOutlet\", ctx.customTemplate || _r0)(\"ngTemplateOutletContext\", ɵngcc0.ɵɵpureFunction5(2, _c15, ctx.events, ctx.eventClicked, ctx.isOpen, ctx.trackByEventId, ctx.validateDrag));\n } }, dependencies: [ɵngcc1.NgClass, ɵngcc1.NgForOf, ɵngcc1.NgIf, ɵngcc1.NgTemplateOutlet, ɵngcc1.NgStyle, ɵngcc2.ɵb, CalendarEventActionsComponent, CalendarEventTitleComponent, ClickDirective, KeydownEnterDirective, CalendarA11yPipe], encapsulation: 2, data: { animation: [collapseAnimation] } });\n__decorate([\n Input(),\n __metadata(\"design:type\", String)\n], CalendarOpenDayEventsComponent.prototype, \"locale\", void 0);\n__decorate([\n Input(),\n __metadata(\"design:type\", Boolean)\n], CalendarOpenDayEventsComponent.prototype, \"isOpen\", void 0);\n__decorate([\n Input(),\n __metadata(\"design:type\", Array)\n], CalendarOpenDayEventsComponent.prototype, \"events\", void 0);\n__decorate([\n Input(),\n __metadata(\"design:type\", TemplateRef)\n], CalendarOpenDayEventsComponent.prototype, \"customTemplate\", void 0);\n__decorate([\n Input(),\n __metadata(\"design:type\", TemplateRef)\n], CalendarOpenDayEventsComponent.prototype, \"eventTitleTemplate\", void 0);\n__decorate([\n Input(),\n __metadata(\"design:type\", TemplateRef)\n], CalendarOpenDayEventsComponent.prototype, \"eventActionsTemplate\", void 0);\n__decorate([\n Input(),\n __metadata(\"design:type\", Date)\n], CalendarOpenDayEventsComponent.prototype, \"date\", void 0);\n__decorate([\n Output(),\n __metadata(\"design:type\", Object)\n], CalendarOpenDayEventsComponent.prototype, \"eventClicked\", void 0);\n\nlet CalendarMonthModule = class CalendarMonthModule {\n};\nCalendarMonthModule.ɵfac = function CalendarMonthModule_Factory(t) { return new (t || CalendarMonthModule)(); };\nCalendarMonthModule.ɵmod = /*@__PURE__*/ ɵngcc0.ɵɵdefineNgModule({ type: CalendarMonthModule });\nCalendarMonthModule.ɵinj = /*@__PURE__*/ ɵngcc0.ɵɵdefineInjector({ imports: [CommonModule, DragAndDropModule, CalendarCommonModule, DragAndDropModule] });\n\nclass CalendarDragHelper {\n constructor(dragContainerElement, draggableElement) {\n this.dragContainerElement = dragContainerElement;\n this.startPosition = draggableElement.getBoundingClientRect();\n }\n validateDrag({ x, y, snapDraggedEvents, dragAlreadyMoved, transform, }) {\n if (snapDraggedEvents) {\n const newRect = Object.assign({}, this.startPosition, {\n left: this.startPosition.left + transform.x,\n right: this.startPosition.right + transform.x,\n top: this.startPosition.top + transform.y,\n bottom: this.startPosition.bottom + transform.y,\n });\n return ((isWithinThreshold({ x, y }) || dragAlreadyMoved) &&\n isInside(this.dragContainerElement.getBoundingClientRect(), newRect));\n }\n else {\n return isWithinThreshold({ x, y }) || dragAlreadyMoved;\n }\n }\n}\n\nclass CalendarResizeHelper {\n constructor(resizeContainerElement, minWidth) {\n this.resizeContainerElement = resizeContainerElement;\n this.minWidth = minWidth;\n }\n validateResize({ rectangle }) {\n if (this.minWidth &&\n Math.ceil(rectangle.width) < Math.ceil(this.minWidth)) {\n return false;\n }\n return isInside(this.resizeContainerElement.getBoundingClientRect(), rectangle);\n }\n}\n\n/**\n * Shows all events on a given week. Example usage:\n *\n * ```typescript\n * <mwl-calendar-week-view\n * [viewDate]=\"viewDate\"\n * [events]=\"events\">\n * </mwl-calendar-week-view>\n * ```\n */\nlet CalendarWeekViewComponent = class CalendarWeekViewComponent {\n /**\n * @hidden\n */\n constructor(cdr, utils, locale, dateAdapter) {\n this.cdr = cdr;\n this.utils = utils;\n this.dateAdapter = dateAdapter;\n /**\n * An array of events to display on view\n * The schema is available here: https://github.com/mattlewis92/calendar-utils/blob/c51689985f59a271940e30bc4e2c4e1fee3fcb5c/src/calendarUtils.ts#L49-L63\n */\n this.events = [];\n /**\n * An array of day indexes (0 = sunday, 1 = monday etc) that will be hidden on the view\n */\n this.excludeDays = [];\n /**\n * The placement of the event tooltip\n */\n this.tooltipPlacement = 'auto';\n /**\n * Whether to append tooltips to the body or next to the trigger element\n */\n this.tooltipAppendToBody = true;\n /**\n * The delay in milliseconds before the tooltip should be displayed. If not provided the tooltip\n * will be displayed immediately.\n */\n this.tooltipDelay = null;\n /**\n * The precision to display events.\n * `days` will round event start and end dates to the nearest day and `minutes` will not do this rounding\n */\n this.precision = 'days';\n /**\n * Whether to snap events to a grid when dragging\n */\n this.snapDraggedEvents = true;\n /**\n * The number of segments in an hour. Must divide equally into 60.\n */\n this.hourSegments = 2;\n /**\n * The height in pixels of each hour segment\n */\n this.hourSegmentHeight = 30;\n /**\n * The day start hours in 24 hour time. Must be 0-23\n */\n this.dayStartHour = 0;\n /**\n * The day start minutes. Must be 0-59\n */\n this.dayStartMinute = 0;\n /**\n * The day end hours in 24 hour time. Must be 0-23\n */\n this.dayEndHour = 23;\n /**\n * The day end minutes. Must be 0-59\n */\n this.dayEndMinute = 59;\n /**\n * Called when a header week day is clicked. Adding a `cssClass` property on `$event.day` will add that class to the header element\n */\n this.dayHeaderClicked = new EventEmitter();\n /**\n * Called when the event title is clicked\n */\n this.eventClicked = new EventEmitter();\n /**\n * Called when an event is resized or dragged and dropped\n */\n this.eventTimesChanged = new EventEmitter();\n /**\n * An output that will be called before the view is rendered for the current week.\n * If you add the `cssClass` property to a day in the header it will add that class to the cell element in the template\n */\n this.beforeViewRender = new EventEmitter();\n /**\n * Called when an hour segment is clicked\n */\n this.hourSegmentClicked = new EventEmitter();\n /**\n * @hidden\n */\n this.allDayEventResizes = new Map();\n /**\n * @hidden\n */\n this.timeEventResizes = new Map();\n /**\n * @hidden\n */\n this.eventDragEnterByType = {\n allDay: 0,\n time: 0,\n };\n /**\n * @hidden\n */\n this.dragActive = false;\n /**\n * @hidden\n */\n this.dragAlreadyMoved = false;\n /**\n * @hidden\n */\n this.calendarId = Symbol('angular calendar week view id');\n /**\n * @hidden\n */\n this.trackByWeekDayHeaderDate = trackByWeekDayHeaderDate;\n /**\n * @hidden\n */\n this.trackByHourSegment = trackByHourSegment;\n /**\n * @hidden\n */\n this.trackByHour = trackByHour;\n /**\n * @hidden\n */\n this.trackByWeekAllDayEvent = trackByWeekAllDayEvent;\n /**\n * @hidden\n */\n this.trackByWeekTimeEvent = trackByWeekTimeEvent;\n /**\n * @hidden\n */\n this.trackByHourColumn = (index, column) => column.hours[0] ? column.hours[0].segments[0].date.toISOString() : column;\n /**\n * @hidden\n */\n this.trackById = (index, row) => row.id;\n this.locale = locale;\n }\n /**\n * @hidden\n */\n ngOnInit() {\n if (this.refresh) {\n this.refreshSubscription = this.refresh.subscribe(() => {\n this.refreshAll();\n this.cdr.markForCheck();\n });\n }\n }\n /**\n * @hidden\n */\n ngOnChanges(changes) {\n const refreshHeader = changes.viewDate ||\n changes.excludeDays ||\n changes.weekendDays ||\n changes.daysInWeek ||\n changes.weekStartsOn;\n const refreshBody = changes.viewDate ||\n changes.dayStartHour ||\n changes.dayStartMinute ||\n changes.dayEndHour ||\n changes.dayEndMinute ||\n changes.hourSegments ||\n changes.weekStartsOn ||\n changes.weekendDays ||\n changes.excludeDays ||\n changes.hourSegmentHeight ||\n changes.events ||\n changes.daysInWeek;\n if (refreshHeader) {\n this.refreshHeader();\n }\n if (changes.events) {\n validateEvents(this.events);\n }\n if (refreshBody) {\n this.refreshBody();\n }\n if (refreshHeader || refreshBody) {\n this.emitBeforeViewRender();\n }\n }\n /**\n * @hidden\n */\n ngOnDestroy() {\n if (this.refreshSubscription) {\n this.refreshSubscription.unsubscribe();\n }\n }\n /**\n * @hidden\n */\n timeEventResizeStarted(eventsContainer, timeEvent, resizeEvent) {\n this.timeEventResizes.set(timeEvent.event, resizeEvent);\n this.resizeStarted(eventsContainer);\n }\n /**\n * @hidden\n */\n timeEventResizing(timeEvent, resizeEvent) {\n this.timeEventResizes.set(timeEvent.event, resizeEvent);\n const adjustedEvents = new Map();\n const tempEvents = [...this.events];\n this.timeEventResizes.forEach((lastResizeEvent, event) => {\n const newEventDates = this.getTimeEventResizedDates(event, lastResizeEvent);\n const adjustedEvent = Object.assign(Object.assign({}, event), newEventDates);\n adjustedEvents.set(adjustedEvent, event);\n const eventIndex = tempEvents.indexOf(event);\n tempEvents[eventIndex] = adjustedEvent;\n });\n this.restoreOriginalEvents(tempEvents, adjustedEvents, true);\n }\n /**\n * @hidden\n */\n timeEventResizeEnded(timeEvent) {\n this.view = this.getWeekView(this.events);\n const lastResizeEvent = this.timeEventResizes.get(timeEvent.event);\n if (lastResizeEvent) {\n this.timeEventResizes.delete(timeEvent.event);\n const newEventDates = this.getTimeEventResizedDates(timeEvent.event, lastResizeEvent);\n this.eventTimesChanged.emit({\n newStart: newEventDates.start,\n newEnd: newEventDates.end,\n event: timeEvent.event,\n type: CalendarEventTimesChangedEventType.Resize,\n });\n }\n }\n /**\n * @hidden\n */\n allDayEventResizeStarted(allDayEventsContainer, allDayEvent, resizeEvent) {\n this.allDayEventResizes.set(allDayEvent, {\n originalOffset: allDayEvent.offset,\n originalSpan: allDayEvent.span,\n edge: typeof resizeEvent.edges.left !== 'undefined' ? 'left' : 'right',\n });\n this.resizeStarted(allDayEventsContainer, this.getDayColumnWidth(allDayEventsContainer));\n }\n /**\n * @hidden\n */\n allDayEventResizing(allDayEvent, resizeEvent, dayWidth) {\n const currentResize = this.allDayEventResizes.get(allDayEvent);\n if (typeof resizeEvent.edges.left !== 'undefined') {\n const diff = Math.round(+resizeEvent.edges.left / dayWidth);\n allDayEvent.offset = currentResize.originalOffset + diff;\n allDayEvent.span = currentResize.originalSpan - diff;\n }\n else if (typeof resizeEvent.edges.right !== 'undefined') {\n const diff = Math.round(+resizeEvent.edges.right / dayWidth);\n allDayEvent.span = currentResize.originalSpan + diff;\n }\n }\n /**\n * @hidden\n */\n allDayEventResizeEnded(allDayEvent) {\n const currentResize = this.allDayEventResizes.get(allDayEvent);\n if (currentResize) {\n const allDayEventResizingBeforeStart = currentResize.edge === 'left';\n let daysDiff;\n if (allDayEventResizingBeforeStart) {\n daysDiff = allDayEvent.offset - currentResize.originalOffset;\n }\n else {\n daysDiff = allDayEvent.span - currentResize.originalSpan;\n }\n allDayEvent.offset = currentResize.originalOffset;\n allDayEvent.span = currentResize.originalSpan;\n let newStart = allDayEvent.event.start;\n let newEnd = allDayEvent.event.end || allDayEvent.event.start;\n if (allDayEventResizingBeforeStart) {\n newStart = addDaysWithExclusions(this.dateAdapter, newStart, daysDiff, this.excludeDays);\n }\n else {\n newEnd = addDaysWithExclusions(this.dateAdapter, newEnd, daysDiff, this.excludeDays);\n }\n this.eventTimesChanged.emit({\n newStart,\n newEnd,\n event: allDayEvent.event,\n type: CalendarEventTimesChangedEventType.Resize,\n });\n this.allDayEventResizes.delete(allDayEvent);\n }\n }\n /**\n * @hidden\n */\n getDayColumnWidth(eventRowContainer) {\n return Math.floor(eventRowContainer.offsetWidth / this.days.length);\n }\n /**\n * @hidden\n */\n dateDragEnter(date) {\n this.lastDragEnterDate = date;\n }\n /**\n * @hidden\n */\n eventDropped(dropEvent, date, allDay) {\n if (shouldFireDroppedEvent(dropEvent, date, allDay, this.calendarId) &&\n this.lastDragEnterDate.getTime() === date.getTime() &&\n (!this.snapDraggedEvents ||\n dropEvent.dropData.event !== this.lastDraggedEvent)) {\n this.eventTimesChanged.emit({\n type: CalendarEventTimesChangedEventType.Drop,\n event: dropEvent.dropData.event,\n newStart: date,\n allDay,\n });\n }\n this.lastDraggedEvent = null;\n }\n /**\n * @hidden\n */\n dragEnter(type) {\n this.eventDragEnterByType[type]++;\n }\n /**\n * @hidden\n */\n dragLeave(type) {\n this.eventDragEnterByType[type]--;\n }\n /**\n * @hidden\n */\n dragStarted(eventsContainer, event, dayEvent) {\n this.dayColumnWidth = this.getDayColumnWidth(eventsContainer);\n const dragHelper = new CalendarDragHelper(eventsContainer, event);\n this.validateDrag = ({ x, y, transform }) => this.allDayEventResizes.size === 0 &&\n this.timeEventResizes.size === 0 &&\n dragHelper.validateDrag({\n x,\n y,\n snapDraggedEvents: this.snapDraggedEvents,\n dragAlreadyMoved: this.dragAlreadyMoved,\n transform,\n });\n this.dragActive = true;\n this.dragAlreadyMoved = false;\n this.lastDraggedEvent = null;\n this.eventDragEnterByType = {\n allDay: 0,\n time: 0,\n };\n if (!this.snapDraggedEvents && dayEvent) {\n this.view.hourColumns.forEach((column) => {\n const linkedEvent = column.events.find((columnEvent) => columnEvent.event === dayEvent.event && columnEvent !== dayEvent);\n // hide any linked events while dragging\n if (linkedEvent) {\n linkedEvent.width = 0;\n linkedEvent.height = 0;\n }\n });\n }\n this.cdr.markForCheck();\n }\n /**\n * @hidden\n */\n dragMove(dayEvent, dragEvent) {\n const newEventTimes = this.getDragMovedEventTimes(dayEvent, dragEvent, this.dayColumnWidth, true);\n const originalEvent = dayEvent.event;\n const adjustedEvent = Object.assign(Object.assign({}, originalEvent), newEventTimes);\n const tempEvents = this.events.map((event) => {\n if (event === originalEvent) {\n return adjustedEvent;\n }\n return event;\n });\n this.restoreOriginalEvents(tempEvents, new Map([[adjustedEvent, originalEvent]]), this.snapDraggedEvents);\n this.dragAlreadyMoved = true;\n }\n /**\n * @hidden\n */\n allDayEventDragMove() {\n this.dragAlreadyMoved = true;\n }\n /**\n * @hidden\n */\n dragEnded(weekEvent, dragEndEvent, dayWidth, useY = false) {\n this.view = this.getWeekView(this.events);\n this.dragActive = false;\n this.validateDrag = null;\n const { start, end } = this.getDragMovedEventTimes(weekEvent, dragEndEvent, dayWidth, useY);\n if ((this.snapDraggedEvents ||\n this.eventDragEnterByType[useY ? 'time' : 'allDay'] > 0) &&\n isDraggedWithinPeriod(start, end, this.view.period)) {\n this.lastDraggedEvent = weekEvent.event;\n this.eventTimesChanged.emit({\n newStart: start,\n newEnd: end,\n event: weekEvent.event,\n type: CalendarEventTimesChangedEventType.Drag,\n allDay: !useY,\n });\n }\n }\n refreshHeader() {\n this.days = this.utils.getWeekViewHeader(Object.assign({ viewDate: this.viewDate, weekStartsOn: this.weekStartsOn, excluded: this.excludeDays, weekendDays: this.weekendDays }, getWeekViewPeriod(this.dateAdapter, this.viewDate, this.weekStartsOn, this.excludeDays, this.daysInWeek)));\n }\n refreshBody() {\n this.view = this.getWeekView(this.events);\n }\n refreshAll() {\n this.refreshHeader();\n this.refreshBody();\n this.emitBeforeViewRender();\n }\n emitBeforeViewRender() {\n if (this.days && this.view) {\n this.beforeViewRender.emit(Object.assign({ header: this.days }, this.view));\n }\n }\n getWeekView(events) {\n return this.utils.getWeekView(Object.assign({ events, viewDate: this.viewDate, weekStartsOn: this.weekStartsOn, excluded: this.excludeDays, precision: this.precision, absolutePositionedEvents: true, hourSegments: this.hourSegments, dayStart: {\n hour: this.dayStartHour,\n minute: this.dayStartMinute,\n }, dayEnd: {\n hour: this.dayEndHour,\n minute: this.dayEndMinute,\n }, segmentHeight: this.hourSegmentHeight, weekendDays: this.weekendDays }, getWeekViewPeriod(this.dateAdapter, this.viewDate, this.weekStartsOn, this.excludeDays, this.daysInWeek)));\n }\n getDragMovedEventTimes(weekEvent, dragEndEvent, dayWidth, useY) {\n const daysDragged = roundToNearest(dragEndEvent.x, dayWidth) / dayWidth;\n const minutesMoved = useY\n ? getMinutesMoved(dragEndEvent.y, this.hourSegments, this.hourSegmentHeight, this.eventSnapSize)\n : 0;\n const start = this.dateAdapter.addMinutes(addDaysWithExclusions(this.dateAdapter, weekEvent.event.start, daysDragged, this.excludeDays), minutesMoved);\n let end;\n if (weekEvent.event.end) {\n end = this.dateAdapter.addMinutes(addDaysWithExclusions(this.dateAdapter, weekEvent.event.end, daysDragged, this.excludeDays), minutesMoved);\n }\n return { start, end };\n }\n restoreOriginalEvents(tempEvents, adjustedEvents, snapDraggedEvents = true) {\n const previousView = this.view;\n if (snapDraggedEvents) {\n this.view = this.getWeekView(tempEvents);\n }\n const adjustedEventsArray = tempEvents.filter((event) => adjustedEvents.has(event));\n this.view.hourColumns.forEach((column, columnIndex) => {\n previousView.hourColumns[columnIndex].hours.forEach((hour, hourIndex) => {\n hour.segments.forEach((segment, segmentIndex) => {\n column.hours[hourIndex].segments[segmentIndex].cssClass =\n segment.cssClass;\n });\n });\n adjustedEventsArray.forEach((adjustedEvent) => {\n const originalEvent = adjustedEvents.get(adjustedEvent);\n const existingColumnEvent = column.events.find((columnEvent) => columnEvent.event ===\n (snapDraggedEvents ? adjustedEvent : originalEvent));\n if (existingColumnEvent) {\n // restore the original event so trackBy kicks in and the dom isn't changed\n existingColumnEvent.event = originalEvent;\n existingColumnEvent['tempEvent'] = adjustedEvent;\n if (!snapDraggedEvents) {\n existingColumnEvent.height = 0;\n existingColumnEvent.width = 0;\n }\n }\n else {\n // add a dummy event to the drop so if the event was removed from the original column the drag doesn't end early\n const event = {\n event: originalEvent,\n left: 0,\n top: 0,\n height: 0,\n width: 0,\n startsBeforeDay: false,\n endsAfterDay: false,\n tempEvent: adjustedEvent,\n };\n column.events.push(event);\n }\n });\n });\n adjustedEvents.clear();\n }\n getTimeEventResizedDates(calendarEvent, resizeEvent) {\n const minimumEventHeight = getMinimumEventHeightInMinutes(this.hourSegments, this.hourSegmentHeight);\n const newEventDates = {\n start: calendarEvent.start,\n end: getDefaultEventEnd(this.dateAdapter, calendarEvent, minimumEventHeight),\n };\n const { end } = calendarEvent, eventWithoutEnd = __rest(calendarEvent, [\"end\"]);\n const smallestResizes = {\n start: this.dateAdapter.addMinutes(newEventDates.end, minimumEventHeight * -1),\n end: getDefaultEventEnd(this.dateAdapter, eventWithoutEnd, minimumEventHeight),\n };\n if (typeof resizeEvent.edges.left !== 'undefined') {\n const daysDiff = Math.round(+resizeEvent.edges.left / this.dayColumnWidth);\n const newStart = addDaysWithExclusions(this.dateAdapter, newEventDates.start, daysDiff, this.excludeDays);\n if (newStart < smallestResizes.start) {\n newEventDates.start = newStart;\n }\n else {\n newEventDates.start = smallestResizes.start;\n }\n }\n else if (typeof resizeEvent.edges.right !== 'undefined') {\n const daysDiff = Math.round(+resizeEvent.edges.right / this.dayColumnWidth);\n const newEnd = addDaysWithExclusions(this.dateAdapter, newEventDates.end, daysDiff, this.excludeDays);\n if (newEnd > smallestResizes.end) {\n newEventDates.end = newEnd;\n }\n else {\n newEventDates.end = smallestResizes.end;\n }\n }\n if (typeof resizeEvent.edges.top !== 'undefined') {\n const minutesMoved = getMinutesMoved(resizeEvent.edges.top, this.hourSegments, this.hourSegmentHeight, this.eventSnapSize);\n const newStart = this.dateAdapter.addMinutes(newEventDates.start, minutesMoved);\n if (newStart < smallestResizes.start) {\n newEventDates.start = newStart;\n }\n else {\n newEventDates.start = smallestResizes.start;\n }\n }\n else if (typeof resizeEvent.edges.bottom !== 'undefined') {\n const minutesMoved = getMinutesMoved(resizeEvent.edges.bottom, this.hourSegments, this.hourSegmentHeight, this.eventSnapSize);\n const newEnd = this.dateAdapter.addMinutes(newEventDates.end, minutesMoved);\n if (newEnd > smallestResizes.end) {\n newEventDates.end = newEnd;\n }\n else {\n newEventDates.end = smallestResizes.end;\n }\n }\n return newEventDates;\n }\n resizeStarted(eventsContainer, minWidth) {\n this.dayColumnWidth = this.getDayColumnWidth(eventsContainer);\n const resizeHelper = new CalendarResizeHelper(eventsContainer, minWidth);\n this.validateResize = ({ rectangle }) => resizeHelper.validateResize({ rectangle });\n this.cdr.markForCheck();\n }\n};\nCalendarWeekViewComponent.ɵfac = function CalendarWeekViewComponent_Factory(t) { return new (t || CalendarWeekViewComponent)(ɵngcc0.ɵɵdirectiveInject(ɵngcc0.ChangeDetectorRef), ɵngcc0.ɵɵdirectiveInject(CalendarUtils), ɵngcc0.ɵɵdirectiveInject(LOCALE_ID), ɵngcc0.ɵɵdirectiveInject(DateAdapter)); };\nCalendarWeekViewComponent.ɵcmp = /*@__PURE__*/ ɵngcc0.ɵɵdefineComponent({ type: CalendarWeekViewComponent, selectors: [[\"mwl-calendar-week-view\"]], inputs: { events: \"events\", excludeDays: \"excludeDays\", tooltipPlacement: \"tooltipPlacement\", tooltipAppendToBody: \"tooltipAppendToBody\", tooltipDelay: \"tooltipDelay\", precision: \"precision\", snapDraggedEvents: \"snapDraggedEvents\", hourSegments: \"hourSegments\", hourSegmentHeight: \"hourSegmentHeight\", dayStartHour: \"dayStartHour\", dayStartMinute: \"dayStartMinute\", dayEndHour: \"dayEndHour\", dayEndMinute: \"dayEndMinute\", locale: \"locale\", viewDate: \"viewDate\", refresh: \"refresh\", tooltipTemplate: \"tooltipTemplate\", weekStartsOn: \"weekStartsOn\", headerTemplate: \"headerTemplate\", eventTemplate: \"eventTemplate\", eventTitleTemplate: \"eventTitleTemplate\", eventActionsTemplate: \"eventActionsTemplate\", weekendDays: \"weekendDays\", hourSegmentTemplate: \"hourSegmentTemplate\", eventSnapSize: \"eventSnapSize\", allDayEventsLabelTemplate: \"allDayEventsLabelTemplate\", daysInWeek: \"daysInWeek\", currentTimeMarkerTemplate: \"currentTimeMarkerTemplate\" }, outputs: { dayHeaderClicked: \"dayHeaderClicked\", eventClicked: \"eventClicked\", eventTimesChanged: \"eventTimesChanged\", beforeViewRender: \"beforeViewRender\", hourSegmentClicked: \"hourSegmentClicked\" }, features: [ɵngcc0.ɵɵNgOnChangesFeature], decls: 8, vars: 9, consts: [[\"role\", \"grid\", 1, \"cal-week-view\"], [3, \"days\", \"locale\", \"customTemplate\", \"dayHeaderClicked\", \"eventDropped\", \"dragEnter\"], [\"class\", \"cal-all-day-events\", \"mwlDroppable\", \"\", 3, \"dragEnter\", \"dragLeave\", 4, \"ngIf\"], [\"mwlDroppable\", \"\", 1, \"cal-time-events\", 3, \"dragEnter\", \"dragLeave\"], [\"class\", \"cal-time-label-column\", 4, \"ngIf\"], [1, \"cal-day-columns\"], [\"dayColumns\", \"\"], [\"class\", \"cal-day-column\", 4, \"ngFor\", \"ngForOf\", \"ngForTrackBy\"], [\"mwlDroppable\", \"\", 1, \"cal-all-day-events\", 3, \"dragEnter\", \"dragLeave\"], [\"allDayEventsContainer\", \"\"], [1, \"cal-time-label-column\", 3, \"ngTemplateOutlet\"], [\"class\", \"cal-day-column\", \"mwlDroppable\", \"\", \"dragOverClass\", \"cal-drag-over\", 3, \"drop\", \"dragEnter\", 4, \"ngFor\", \"ngForOf\", \"ngForTrackBy\"], [\"class\", \"cal-events-row\", 4, \"ngFor\", \"ngForOf\", \"ngForTrackBy\"], [\"mwlDroppable\", \"\", \"dragOverClass\", \"cal-drag-over\", 1, \"cal-day-column\", 3, \"drop\", \"dragEnter\"], [1, \"cal-events-row\"], [\"eventRowContainer\", \"\"], [\"class\", \"cal-event-container\", \"mwlResizable\", \"\", \"mwlDraggable\", \"\", \"dragActiveClass\", \"cal-drag-active\", 3, \"cal-draggable\", \"cal-starts-within-week\", \"cal-ends-within-week\", \"ngClass\", \"width\", \"marginLeft\", \"resizeSnapGrid\", \"validateResize\", \"dropData\", \"dragAxis\", \"dragSnapGrid\", \"validateDrag\", \"touchStartLongPress\", \"resizeStart\", \"resizing\", \"resizeEnd\", \"dragStart\", \"dragging\", \"dragEnd\", 4, \"ngFor\", \"ngForOf\", \"ngForTrackBy\"], [\"mwlResizable\", \"\", \"mwlDraggable\", \"\", \"dragActiveClass\", \"cal-drag-active\", 1, \"cal-event-container\", 3, \"ngClass\", \"resizeSnapGrid\", \"validateResize\", \"dropData\", \"dragAxis\", \"dragSnapGrid\", \"validateDrag\", \"touchStartLongPress\", \"resizeStart\", \"resizing\", \"resizeEnd\", \"dragStart\", \"dragging\", \"dragEnd\"], [\"event\", \"\"], [\"class\", \"cal-resize-handle cal-resize-handle-before-start\", \"mwlResizeHandle\", \"\", 3, \"resizeEdges\", 4, \"ngIf\"], [3, \"locale\", \"weekEvent\", \"tooltipPlacement\", \"tooltipTemplate\", \"tooltipAppendToBody\", \"tooltipDelay\", \"customTemplate\", \"eventTitleTemplate\", \"eventActionsTemplate\", \"daysInWeek\", \"eventClicked\"], [\"class\", \"cal-resize-handle cal-resize-handle-after-end\", \"mwlResizeHandle\", \"\", 3, \"resizeEdges\", 4, \"ngIf\"], [\"mwlResizeHandle\", \"\", 1, \"cal-resize-handle\", \"cal-resize-handle-before-start\", 3, \"resizeEdges\"], [\"mwlResizeHandle\", \"\", 1, \"cal-resize-handle\", \"cal-resize-handle-after-end\", 3, \"resizeEdges\"], [1, \"cal-time-label-column\"], [\"class\", \"cal-hour\", 3, \"cal-hour-odd\", 4, \"ngFor\", \"ngForOf\", \"ngForTrackBy\"], [1, \"cal-hour\"], [3, \"height\", \"segment\", \"segmentHeight\", \"locale\", \"customTemplate\", \"isTimeLabel\", \"daysInWeek\", 4, \"ngFor\", \"ngForOf\", \"ngForTrackBy\"], [3, \"segment\", \"segmentHeight\", \"locale\", \"customTemplate\", \"isTimeLabel\", \"daysInWeek\"], [1, \"cal-day-column\"], [3, \"columnDate\", \"dayStartHour\", \"dayStartMinute\", \"dayEndHour\", \"dayEndMinute\", \"hourSegments\", \"hourSegmentHeight\", \"customTemplate\"], [1, \"cal-events-container\"], [\"class\", \"cal-event-container\", \"mwlResizable\", \"\", \"mwlDraggable\", \"\", \"dragActiveClass\", \"cal-drag-active\", 3, \"cal-draggable\", \"cal-starts-within-day\", \"cal-ends-within-day\", \"ngClass\", \"hidden\", \"top\", \"height\", \"left\", \"width\", \"resizeSnapGrid\", \"validateResize\", \"allowNegativeResizes\", \"dropData\", \"dragAxis\", \"dragSnapGrid\", \"touchStartLongPress\", \"ghostDragEnabled\", \"ghostElementTemplate\", \"validateDrag\", \"resizeStart\", \"resizing\", \"resizeEnd\", \"dragStart\", \"dragging\", \"dragEnd\", 4, \"ngFor\", \"ngForOf\", \"ngForTrackBy\"], [\"mwlResizable\", \"\", \"mwlDraggable\", \"\", \"dragActiveClass\", \"cal-drag-active\", 1, \"cal-event-container\", 3, \"ngClass\", \"hidden\", \"resizeSnapGrid\", \"validateResize\", \"allowNegativeResizes\", \"dropData\", \"dragAxis\", \"dragSnapGrid\", \"touchStartLongPress\", \"ghostDragEnabled\", \"ghostElementTemplate\", \"validateDrag\", \"resizeStart\", \"resizing\", \"resizeEnd\", \"dragStart\", \"dragging\", \"dragEnd\"], [3, \"ngTemplateOutlet\"], [\"weekEventTemplate\", \"\"], [3, \"locale\", \"weekEvent\", \"tooltipPlacement\", \"tooltipTemplate\", \"tooltipAppendToBody\", \"tooltipDisabled\", \"tooltipDelay\", \"customTemplate\", \"eventTitleTemplate\", \"eventActionsTemplate\", \"column\", \"daysInWeek\", \"eventClicked\"], [\"mwlDroppable\", \"\", \"dragActiveClass\", \"cal-drag-active\", 3, \"height\", \"segment\", \"segmentHeight\", \"locale\", \"customTemplate\", \"daysInWeek\", \"clickListenerDisabled\", \"dragOverClass\", \"isTimeLabel\", \"mwlClick\", \"drop\", \"dragEnter\", 4, \"ngFor\", \"ngForOf\", \"ngForTrackBy\"], [\"mwlDroppable\", \"\", \"dragActiveClass\", \"cal-drag-active\", 3, \"segment\", \"segmentHeight\", \"locale\", \"customTemplate\", \"daysInWeek\", \"clickListenerDisabled\", \"dragOverClass\", \"isTimeLabel\", \"mwlClick\", \"drop\", \"dragEnter\"]], template: function CalendarWeekViewComponent_Template(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵelementStart(0, \"div\", 0)(1, \"mwl-calendar-week-view-header\", 1);\n ɵngcc0.ɵɵlistener(\"dayHeaderClicked\", function CalendarWeekViewComponent_Template_mwl_calendar_week_view_header_dayHeaderClicked_1_listener($event) { return ctx.dayHeaderClicked.emit($event); })(\"eventDropped\", function CalendarWeekViewComponent_Template_mwl_calendar_week_view_header_eventDropped_1_listener($event) { return ctx.eventDropped({ dropData: $event }, $event.newStart, true); })(\"dragEnter\", function CalendarWeekViewComponent_Template_mwl_calendar_week_view_header_dragEnter_1_listener($event) { return ctx.dateDragEnter($event.date); });\n ɵngcc0.ɵɵelementEnd();\n ɵngcc0.ɵɵtemplate(2, CalendarWeekViewComponent_div_2_Template, 6, 5, \"div\", 2);\n ɵngcc0.ɵɵelementStart(3, \"div\", 3);\n ɵngcc0.ɵɵlistener(\"dragEnter\", function CalendarWeekViewComponent_Template_div_dragEnter_3_listener() { return ctx.dragEnter(\"time\"); })(\"dragLeave\", function CalendarWeekViewComponent_Template_div_dragLeave_3_listener() { return ctx.dragLeave(\"time\"); });\n ɵngcc0.ɵɵtemplate(4, CalendarWeekViewComponent_div_4_Template, 2, 2, \"div\", 4);\n ɵngcc0.ɵɵelementStart(5, \"div\", 5, 6);\n ɵngcc0.ɵɵtemplate(7, CalendarWeekViewComponent_div_7_Template, 5, 12, \"div\", 7);\n ɵngcc0.ɵɵelementEnd()()();\n } if (rf & 2) {\n ɵngcc0.ɵɵadvance(1);\n ɵngcc0.ɵɵproperty(\"days\", ctx.days)(\"locale\", ctx.locale)(\"customTemplate\", ctx.headerTemplate);\n ɵngcc0.ɵɵadvance(1);\n ɵngcc0.ɵɵproperty(\"ngIf\", ctx.view.allDayEventRows.length > 0);\n ɵngcc0.ɵɵadvance(2);\n ɵngcc0.ɵɵproperty(\"ngIf\", ctx.view.hourColumns.length > 0 && ctx.daysInWeek !== 1);\n ɵngcc0.ɵɵadvance(1);\n ɵngcc0.ɵɵclassProp(\"cal-resize-active\", ctx.timeEventResizes.size > 0);\n ɵngcc0.ɵɵadvance(2);\n ɵngcc0.ɵɵproperty(\"ngForOf\", ctx.view.hourColumns)(\"ngForTrackBy\", ctx.trackByHourColumn);\n } }, dependencies: function () { return [ɵngcc1.NgClass, ɵngcc1.NgForOf, ɵngcc1.NgIf, ɵngcc1.NgTemplateOutlet, ɵngcc3.ResizableDirective, ɵngcc3.ResizeHandleDirective, ɵngcc2.ɵb, ɵngcc2.ɵa, ClickDirective, CalendarWeekViewHeaderComponent, CalendarWeekViewEventComponent, CalendarWeekViewHourSegmentComponent, CalendarWeekViewCurrentTimeMarkerComponent]; }, encapsulation: 2 });\nCalendarWeekViewComponent.ctorParameters = () => [\n { type: ChangeDetectorRef },\n { type: CalendarUtils },\n { type: String, decorators: [{ type: Inject, args: [LOCALE_ID,] }] },\n { type: DateAdapter }\n];\n__decorate([\n Input(),\n __metadata(\"design:type\", Date)\n], CalendarWeekViewComponent.prototype, \"viewDate\", void 0);\n__decorate([\n Input(),\n __metadata(\"design:type\", Array)\n], CalendarWeekViewComponent.prototype, \"events\", void 0);\n__decorate([\n Input(),\n __metadata(\"design:type\", Array)\n], CalendarWeekViewComponent.prototype, \"excludeDays\", void 0);\n__decorate([\n Input(),\n __metadata(\"design:type\", Subject)\n], CalendarWeekViewComponent.prototype, \"refresh\", void 0);\n__decorate([\n Input(),\n __metadata(\"design:type\", String)\n], CalendarWeekViewComponent.prototype, \"locale\", void 0);\n__decorate([\n Input(),\n __metadata(\"design:type\", Object)\n], CalendarWeekViewComponent.prototype, \"tooltipPlacement\", void 0);\n__decorate([\n Input(),\n __metadata(\"design:type\", TemplateRef)\n], CalendarWeekViewComponent.prototype, \"tooltipTemplate\", void 0);\n__decorate([\n Input(),\n __metadata(\"design:type\", Boolean)\n], CalendarWeekViewComponent.prototype, \"tooltipAppendToBody\", void 0);\n__decorate([\n Input(),\n __metadata(\"design:type\", Number)\n], CalendarWeekViewComponent.prototype, \"tooltipDelay\", void 0);\n__decorate([\n Input(),\n __metadata(\"design:type\", Number)\n], CalendarWeekViewComponent.prototype, \"weekStartsOn\", void 0);\n__decorate([\n Input(),\n __metadata(\"design:type\", TemplateRef)\n], CalendarWeekViewComponent.prototype, \"headerTemplate\", void 0);\n__decorate([\n Input(),\n __metadata(\"design:type\", TemplateRef)\n], CalendarWeekViewComponent.prototype, \"eventTemplate\", void 0);\n__decorate([\n Input(),\n __metadata(\"design:type\", TemplateRef)\n], CalendarWeekViewComponent.prototype, \"eventTitleTemplate\", void 0);\n__decorate([\n Input(),\n __metadata(\"design:type\", TemplateRef)\n], CalendarWeekViewComponent.prototype, \"eventActionsTemplate\", void 0);\n__decorate([\n Input(),\n __metadata(\"design:type\", String)\n], CalendarWeekViewComponent.prototype, \"precision\", void 0);\n__decorate([\n Input(),\n __metadata(\"design:type\", Array)\n], CalendarWeekViewComponent.prototype, \"weekendDays\", void 0);\n__decorate([\n Input(),\n __metadata(\"design:type\", Boolean)\n], CalendarWeekViewComponent.prototype, \"snapDraggedEvents\", void 0);\n__decorate([\n Input(),\n __metadata(\"design:type\", Number)\n], CalendarWeekViewComponent.prototype, \"hourSegments\", void 0);\n__decorate([\n Input(),\n __metadata(\"design:type\", Number)\n], CalendarWeekViewComponent.prototype, \"hourSegmentHeight\", void 0);\n__decorate([\n Input(),\n __metadata(\"design:type\", Number)\n], CalendarWeekViewComponent.prototype, \"dayStartHour\", void 0);\n__decorate([\n Input(),\n __metadata(\"design:type\", Number)\n], CalendarWeekViewComponent.prototype, \"dayStartMinute\", void 0);\n__decorate([\n Input(),\n __metadata(\"design:type\", Number)\n], CalendarWeekViewComponent.prototype, \"dayEndHour\", void 0);\n__decorate([\n Input(),\n __metadata(\"design:type\", Number)\n], CalendarWeekViewComponent.prototype, \"dayEndMinute\", void 0);\n__decorate([\n Input(),\n __metadata(\"design:type\", TemplateRef)\n], CalendarWeekViewComponent.prototype, \"hourSegmentTemplate\", void 0);\n__decorate([\n Input(),\n __metadata(\"design:type\", Number)\n], CalendarWeekViewComponent.prototype, \"eventSnapSize\", void 0);\n__decorate([\n Input(),\n __metadata(\"design:type\", TemplateRef)\n], CalendarWeekViewComponent.prototype, \"allDayEventsLabelTemplate\", void 0);\n__decorate([\n Input(),\n __metadata(\"design:type\", Number)\n], CalendarWeekViewComponent.prototype, \"daysInWeek\", void 0);\n__decorate([\n Input(),\n __metadata(\"design:type\", TemplateRef)\n], CalendarWeekViewComponent.prototype, \"currentTimeMarkerTemplate\", void 0);\n__decorate([\n Output(),\n __metadata(\"design:type\", Object)\n], CalendarWeekViewComponent.prototype, \"dayHeaderClicked\", void 0);\n__decorate([\n Output(),\n __metadata(\"design:type\", Object)\n], CalendarWeekViewComponent.prototype, \"eventClicked\", void 0);\n__decorate([\n Output(),\n __metadata(\"design:type\", Object)\n], CalendarWeekViewComponent.prototype, \"eventTimesChanged\", void 0);\n__decorate([\n Output(),\n __metadata(\"design:type\", Object)\n], CalendarWeekViewComponent.prototype, \"beforeViewRender\", void 0);\n__decorate([\n Output(),\n __metadata(\"design:type\", Object)\n], CalendarWeekViewComponent.prototype, \"hourSegmentClicked\", void 0);\nCalendarWeekViewComponent = __decorate([ __param(2, Inject(LOCALE_ID)),\n __metadata(\"design:paramtypes\", [ChangeDetectorRef,\n CalendarUtils, String, DateAdapter])\n], CalendarWeekViewComponent);\n\nlet CalendarWeekViewHeaderComponent = class CalendarWeekViewHeaderComponent {\n constructor() {\n this.dayHeaderClicked = new EventEmitter();\n this.eventDropped = new EventEmitter();\n this.dragEnter = new EventEmitter();\n this.trackByWeekDayHeaderDate = trackByWeekDayHeaderDate;\n }\n};\nCalendarWeekViewHeaderComponent.ɵfac = function CalendarWeekViewHeaderComponent_Factory(t) { return new (t || CalendarWeekViewHeaderComponent)(); };\nCalendarWeekViewHeaderComponent.ɵcmp = /*@__PURE__*/ ɵngcc0.ɵɵdefineComponent({ type: CalendarWeekViewHeaderComponent, selectors: [[\"mwl-calendar-week-view-header\"]], inputs: { days: \"days\", locale: \"locale\", customTemplate: \"customTemplate\" }, outputs: { dayHeaderClicked: \"dayHeaderClicked\", eventDropped: \"eventDropped\", dragEnter: \"dragEnter\" }, decls: 3, vars: 9, consts: [[\"defaultTemplate\", \"\"], [3, \"ngTemplateOutlet\", \"ngTemplateOutletContext\"], [\"role\", \"row\", 1, \"cal-day-headers\"], [\"class\", \"cal-header\", \"mwlDroppable\", \"\", \"dragOverClass\", \"cal-drag-over\", \"tabindex\", \"0\", \"role\", \"columnheader\", 3, \"cal-past\", \"cal-today\", \"cal-future\", \"cal-weekend\", \"ngClass\", \"mwlClick\", \"drop\", \"dragEnter\", 4, \"ngFor\", \"ngForOf\", \"ngForTrackBy\"], [\"mwlDroppable\", \"\", \"dragOverClass\", \"cal-drag-over\", \"tabindex\", \"0\", \"role\", \"columnheader\", 1, \"cal-header\", 3, \"ngClass\", \"mwlClick\", \"drop\", \"dragEnter\"]], template: function CalendarWeekViewHeaderComponent_Template(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵtemplate(0, CalendarWeekViewHeaderComponent_ng_template_0_Template, 2, 2, \"ng-template\", null, 0, ɵngcc0.ɵɵtemplateRefExtractor);\n ɵngcc0.ɵɵtemplate(2, CalendarWeekViewHeaderComponent_ng_template_2_Template, 0, 0, \"ng-template\", 1);\n } if (rf & 2) {\n const _r0 = ɵngcc0.ɵɵreference(1);\n ɵngcc0.ɵɵadvance(2);\n ɵngcc0.ɵɵproperty(\"ngTemplateOutlet\", ctx.customTemplate || _r0)(\"ngTemplateOutletContext\", ɵngcc0.ɵɵpureFunction6(2, _c24, ctx.days, ctx.locale, ctx.dayHeaderClicked, ctx.eventDropped, ctx.dragEnter, ctx.trackByWeekDayHeaderDate));\n } }, dependencies: [ɵngcc1.NgClass, ɵngcc1.NgForOf, ɵngcc1.NgTemplateOutlet, ɵngcc2.ɵa, ClickDirective, CalendarDatePipe], encapsulation: 2 });\n__decorate([\n Input(),\n __metadata(\"design:type\", Array)\n], CalendarWeekViewHeaderComponent.prototype, \"days\", void 0);\n__decorate([\n Input(),\n __metadata(\"design:type\", String)\n], CalendarWeekViewHeaderComponent.prototype, \"locale\", void 0);\n__decorate([\n Input(),\n __metadata(\"design:type\", TemplateRef)\n], CalendarWeekViewHeaderComponent.prototype, \"customTemplate\", void 0);\n__decorate([\n Output(),\n __metadata(\"design:type\", Object)\n], CalendarWeekViewHeaderComponent.prototype, \"dayHeaderClicked\", void 0);\n__decorate([\n Output(),\n __metadata(\"design:type\", Object)\n], CalendarWeekViewHeaderComponent.prototype, \"eventDropped\", void 0);\n__decorate([\n Output(),\n __metadata(\"design:type\", Object)\n], CalendarWeekViewHeaderComponent.prototype, \"dragEnter\", void 0);\n\nlet CalendarWeekViewEventComponent = class CalendarWeekViewEventComponent {\n constructor() {\n this.eventClicked = new EventEmitter();\n }\n};\nCalendarWeekViewEventComponent.ɵfac = function CalendarWeekViewEventComponent_Factory(t) { return new (t || CalendarWeekViewEventComponent)(); };\nCalendarWeekViewEventComponent.ɵcmp = /*@__PURE__*/ ɵngcc0.ɵɵdefineComponent({ type: CalendarWeekViewEventComponent, selectors: [[\"mwl-calendar-week-view-event\"]], inputs: { locale: \"locale\", weekEvent: \"weekEvent\", tooltipPlacement: \"tooltipPlacement\", tooltipAppendToBody: \"tooltipAppendToBody\", tooltipDisabled: \"tooltipDisabled\", tooltipDelay: \"tooltipDelay\", customTemplate: \"customTemplate\", eventTitleTemplate: \"eventTitleTemplate\", eventActionsTemplate: \"eventActionsTemplate\", tooltipTemplate: \"tooltipTemplate\", column: \"column\", daysInWeek: \"daysInWeek\" }, outputs: { eventClicked: \"eventClicked\" }, decls: 3, vars: 12, consts: [[\"defaultTemplate\", \"\"], [3, \"ngTemplateOutlet\", \"ngTemplateOutletContext\"], [\"tabindex\", \"0\", \"role\", \"application\", 1, \"cal-event\", 3, \"ngStyle\", \"mwlCalendarTooltip\", \"tooltipPlacement\", \"tooltipEvent\", \"tooltipTemplate\", \"tooltipAppendToBody\", \"tooltipDelay\", \"mwlClick\", \"mwlKeydownEnter\"], [3, \"event\", \"customTemplate\"], [3, \"event\", \"customTemplate\", \"view\"]], template: function CalendarWeekViewEventComponent_Template(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵtemplate(0, CalendarWeekViewEventComponent_ng_template_0_Template, 6, 26, \"ng-template\", null, 0, ɵngcc0.ɵɵtemplateRefExtractor);\n ɵngcc0.ɵɵtemplate(2, CalendarWeekViewEventComponent_ng_template_2_Template, 0, 0, \"ng-template\", 1);\n } if (rf & 2) {\n const _r0 = ɵngcc0.ɵɵreference(1);\n ɵngcc0.ɵɵadvance(2);\n ɵngcc0.ɵɵproperty(\"ngTemplateOutlet\", ctx.customTemplate || _r0)(\"ngTemplateOutletContext\", ɵngcc0.ɵɵpureFunctionV(2, _c26, [ctx.weekEvent, ctx.tooltipPlacement, ctx.eventClicked, ctx.tooltipTemplate, ctx.tooltipAppendToBody, ctx.tooltipDisabled, ctx.tooltipDelay, ctx.column, ctx.daysInWeek]));\n } }, dependencies: [ɵngcc1.NgTemplateOutlet, ɵngcc1.NgStyle, CalendarEventActionsComponent, CalendarEventTitleComponent, CalendarTooltipDirective, ClickDirective, KeydownEnterDirective, CalendarEventTitlePipe, CalendarA11yPipe], encapsulation: 2 });\n__decorate([\n Input(),\n __metadata(\"design:type\", String)\n], CalendarWeekViewEventComponent.prototype, \"locale\", void 0);\n__decorate([\n Input(),\n __metadata(\"design:type\", Object)\n], CalendarWeekViewEventComponent.prototype, \"weekEvent\", void 0);\n__decorate([\n Input(),\n __metadata(\"design:type\", Object)\n], CalendarWeekViewEventComponent.prototype, \"tooltipPlacement\", void 0);\n__decorate([\n Input(),\n __metadata(\"design:type\", Boolean)\n], CalendarWeekViewEventComponent.prototype, \"tooltipAppendToBody\", void 0);\n__decorate([\n Input(),\n __metadata(\"design:type\", Boolean)\n], CalendarWeekViewEventComponent.prototype, \"tooltipDisabled\", void 0);\n__decorate([\n Input(),\n __metadata(\"design:type\", Number)\n], CalendarWeekViewEventComponent.prototype, \"tooltipDelay\", void 0);\n__decorate([\n Input(),\n __metadata(\"design:type\", TemplateRef)\n], CalendarWeekViewEventComponent.prototype, \"customTemplate\", void 0);\n__decorate([\n Input(),\n __metadata(\"design:type\", TemplateRef)\n], CalendarWeekViewEventComponent.prototype, \"eventTitleTemplate\", void 0);\n__decorate([\n Input(),\n __metadata(\"design:type\", TemplateRef)\n], CalendarWeekViewEventComponent.prototype, \"eventActionsTemplate\", void 0);\n__decorate([\n Input(),\n __metadata(\"design:type\", TemplateRef)\n], CalendarWeekViewEventComponent.prototype, \"tooltipTemplate\", void 0);\n__decorate([\n Input(),\n __metadata(\"design:type\", Object)\n], CalendarWeekViewEventComponent.prototype, \"column\", void 0);\n__decorate([\n Input(),\n __metadata(\"design:type\", Number)\n], CalendarWeekViewEventComponent.prototype, \"daysInWeek\", void 0);\n__decorate([\n Output(),\n __metadata(\"design:type\", Object)\n], CalendarWeekViewEventComponent.prototype, \"eventClicked\", void 0);\n\nlet CalendarWeekViewHourSegmentComponent = class CalendarWeekViewHourSegmentComponent {\n};\nCalendarWeekViewHourSegmentComponent.ɵfac = function CalendarWeekViewHourSegmentComponent_Factory(t) { return new (t || CalendarWeekViewHourSegmentComponent)(); };\nCalendarWeekViewHourSegmentComponent.ɵcmp = /*@__PURE__*/ ɵngcc0.ɵɵdefineComponent({ type: CalendarWeekViewHourSegmentComponent, selectors: [[\"mwl-calendar-week-view-hour-segment\"]], inputs: { segment: \"segment\", segmentHeight: \"segmentHeight\", locale: \"locale\", isTimeLabel: \"isTimeLabel\", daysInWeek: \"daysInWeek\", customTemplate: \"customTemplate\" }, decls: 3, vars: 8, consts: [[\"defaultTemplate\", \"\"], [3, \"ngTemplateOutlet\", \"ngTemplateOutletContext\"], [1, \"cal-hour-segment\", 3, \"ngClass\"], [\"class\", \"cal-time\", 4, \"ngIf\"], [1, \"cal-time\"]], template: function CalendarWeekViewHourSegmentComponent_Template(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵtemplate(0, CalendarWeekViewHourSegmentComponent_ng_template_0_Template, 3, 13, \"ng-template\", null, 0, ɵngcc0.ɵɵtemplateRefExtractor);\n ɵngcc0.ɵɵtemplate(2, CalendarWeekViewHourSegmentComponent_ng_template_2_Template, 0, 0, \"ng-template\", 1);\n } if (rf & 2) {\n const _r0 = ɵngcc0.ɵɵreference(1);\n ɵngcc0.ɵɵadvance(2);\n ɵngcc0.ɵɵproperty(\"ngTemplateOutlet\", ctx.customTemplate || _r0)(\"ngTemplateOutletContext\", ɵngcc0.ɵɵpureFunction5(2, _c27, ctx.segment, ctx.locale, ctx.segmentHeight, ctx.isTimeLabel, ctx.daysInWeek));\n } }, dependencies: [ɵngcc1.NgClass, ɵngcc1.NgIf, ɵngcc1.NgTemplateOutlet, CalendarDatePipe, CalendarA11yPipe], encapsulation: 2 });\n__decorate([\n Input(),\n __metadata(\"design:type\", Object)\n], CalendarWeekViewHourSegmentComponent.prototype, \"segment\", void 0);\n__decorate([\n Input(),\n __metadata(\"design:type\", Number)\n], CalendarWeekViewHourSegmentComponent.prototype, \"segmentHeight\", void 0);\n__decorate([\n Input(),\n __metadata(\"design:type\", String)\n], CalendarWeekViewHourSegmentComponent.prototype, \"locale\", void 0);\n__decorate([\n Input(),\n __metadata(\"design:type\", Boolean)\n], CalendarWeekViewHourSegmentComponent.prototype, \"isTimeLabel\", void 0);\n__decorate([\n Input(),\n __metadata(\"design:type\", Number)\n], CalendarWeekViewHourSegmentComponent.prototype, \"daysInWeek\", void 0);\n__decorate([\n Input(),\n __metadata(\"design:type\", TemplateRef)\n], CalendarWeekViewHourSegmentComponent.prototype, \"customTemplate\", void 0);\n\nlet CalendarWeekViewCurrentTimeMarkerComponent = class CalendarWeekViewCurrentTimeMarkerComponent {\n constructor(dateAdapter, zone) {\n this.dateAdapter = dateAdapter;\n this.zone = zone;\n this.columnDate$ = new BehaviorSubject(this.columnDate);\n this.marker$ = this.zone.onStable.pipe(switchMap(() => interval(60 * 1000)), startWith(0), switchMapTo(this.columnDate$), map((columnDate) => {\n const startOfDay = this.dateAdapter.setMinutes(this.dateAdapter.setHours(columnDate, this.dayStartHour), this.dayStartMinute);\n const endOfDay = this.dateAdapter.setMinutes(this.dateAdapter.setHours(columnDate, this.dayEndHour), this.dayEndMinute);\n const hourHeightModifier = (this.hourSegments * this.hourSegmentHeight) / 60;\n const now = new Date();\n return {\n isVisible: this.dateAdapter.isSameDay(columnDate, now) &&\n now >= startOfDay &&\n now <= endOfDay,\n top: this.dateAdapter.differenceInMinutes(now, startOfDay) *\n hourHeightModifier,\n };\n }));\n }\n ngOnChanges(changes) {\n if (changes.columnDate) {\n this.columnDate$.next(changes.columnDate.currentValue);\n }\n }\n};\nCalendarWeekViewCurrentTimeMarkerComponent.ɵfac = function CalendarWeekViewCurrentTimeMarkerComponent_Factory(t) { return new (t || CalendarWeekViewCurrentTimeMarkerComponent)(ɵngcc0.ɵɵdirectiveInject(DateAdapter), ɵngcc0.ɵɵdirectiveInject(ɵngcc0.NgZone)); };\nCalendarWeekViewCurrentTimeMarkerComponent.ɵcmp = /*@__PURE__*/ ɵngcc0.ɵɵdefineComponent({ type: CalendarWeekViewCurrentTimeMarkerComponent, selectors: [[\"mwl-calendar-week-view-current-time-marker\"]], inputs: { columnDate: \"columnDate\", dayStartHour: \"dayStartHour\", dayStartMinute: \"dayStartMinute\", dayEndHour: \"dayEndHour\", dayEndMinute: \"dayEndMinute\", hourSegments: \"hourSegments\", hourSegmentHeight: \"hourSegmentHeight\", customTemplate: \"customTemplate\" }, features: [ɵngcc0.ɵɵNgOnChangesFeature], decls: 5, vars: 14, consts: [[\"defaultTemplate\", \"\"], [3, \"ngTemplateOutlet\", \"ngTemplateOutletContext\"], [\"class\", \"cal-current-time-marker\", 3, \"top\", 4, \"ngIf\"], [1, \"cal-current-time-marker\"]], template: function CalendarWeekViewCurrentTimeMarkerComponent_Template(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵtemplate(0, CalendarWeekViewCurrentTimeMarkerComponent_ng_template_0_Template, 1, 1, \"ng-template\", null, 0, ɵngcc0.ɵɵtemplateRefExtractor);\n ɵngcc0.ɵɵtemplate(2, CalendarWeekViewCurrentTimeMarkerComponent_ng_template_2_Template, 0, 0, \"ng-template\", 1);\n ɵngcc0.ɵɵpipe(3, \"async\");\n ɵngcc0.ɵɵpipe(4, \"async\");\n } if (rf & 2) {\n const _r0 = ɵngcc0.ɵɵreference(1);\n let tmp_1_0;\n ɵngcc0.ɵɵadvance(2);\n ɵngcc0.ɵɵproperty(\"ngTemplateOutlet\", ctx.customTemplate || _r0)(\"ngTemplateOutletContext\", ɵngcc0.ɵɵpureFunction7(6, _c28, ctx.columnDate, ctx.dayStartHour, ctx.dayStartMinute, ctx.dayEndHour, ctx.dayEndMinute, (tmp_1_0 = ɵngcc0.ɵɵpipeBind1(3, 2, ctx.marker$)) == null ? null : tmp_1_0.isVisible, (tmp_1_0 = ɵngcc0.ɵɵpipeBind1(4, 4, ctx.marker$)) == null ? null : tmp_1_0.top));\n } }, dependencies: [ɵngcc1.NgIf, ɵngcc1.NgTemplateOutlet, ɵngcc1.AsyncPipe], encapsulation: 2 });\nCalendarWeekViewCurrentTimeMarkerComponent.ctorParameters = () => [\n { type: DateAdapter },\n { type: NgZone }\n];\n__decorate([\n Input(),\n __metadata(\"design:type\", Date)\n], CalendarWeekViewCurrentTimeMarkerComponent.prototype, \"columnDate\", void 0);\n__decorate([\n Input(),\n __metadata(\"design:type\", Number)\n], CalendarWeekViewCurrentTimeMarkerComponent.prototype, \"dayStartHour\", void 0);\n__decorate([\n Input(),\n __metadata(\"design:type\", Number)\n], CalendarWeekViewCurrentTimeMarkerComponent.prototype, \"dayStartMinute\", void 0);\n__decorate([\n Input(),\n __metadata(\"design:type\", Number)\n], CalendarWeekViewCurrentTimeMarkerComponent.prototype, \"dayEndHour\", void 0);\n__decorate([\n Input(),\n __metadata(\"design:type\", Number)\n], CalendarWeekViewCurrentTimeMarkerComponent.prototype, \"dayEndMinute\", void 0);\n__decorate([\n Input(),\n __metadata(\"design:type\", Number)\n], CalendarWeekViewCurrentTimeMarkerComponent.prototype, \"hourSegments\", void 0);\n__decorate([\n Input(),\n __metadata(\"design:type\", Number)\n], CalendarWeekViewCurrentTimeMarkerComponent.prototype, \"hourSegmentHeight\", void 0);\n__decorate([\n Input(),\n __metadata(\"design:type\", TemplateRef)\n], CalendarWeekViewCurrentTimeMarkerComponent.prototype, \"customTemplate\", void 0);\nCalendarWeekViewCurrentTimeMarkerComponent = __decorate([ __metadata(\"design:paramtypes\", [DateAdapter, NgZone])\n], CalendarWeekViewCurrentTimeMarkerComponent);\n\nlet CalendarWeekModule = class CalendarWeekModule {\n};\nCalendarWeekModule.ɵfac = function CalendarWeekModule_Factory(t) { return new (t || CalendarWeekModule)(); };\nCalendarWeekModule.ɵmod = /*@__PURE__*/ ɵngcc0.ɵɵdefineNgModule({ type: CalendarWeekModule });\nCalendarWeekModule.ɵinj = /*@__PURE__*/ ɵngcc0.ɵɵdefineInjector({ imports: [CommonModule,\n ResizableModule,\n DragAndDropModule,\n CalendarCommonModule, ResizableModule,\n DragAndDropModule] });\n\n/**\n * Shows all events on a given day. Example usage:\n *\n * ```typescript\n * <mwl-calendar-day-view\n * [viewDate]=\"viewDate\"\n * [events]=\"events\">\n * </mwl-calendar-day-view>\n * ```\n */\nlet CalendarDayViewComponent = class CalendarDayViewComponent {\n constructor() {\n /**\n * An array of events to display on view\n * The schema is available here: https://github.com/mattlewis92/calendar-utils/blob/c51689985f59a271940e30bc4e2c4e1fee3fcb5c/src/calendarUtils.ts#L49-L63\n */\n this.events = [];\n /**\n * The number of segments in an hour. Must divide equally into 60.\n */\n this.hourSegments = 2;\n /**\n * The height in pixels of each hour segment\n */\n this.hourSegmentHeight = 30;\n /**\n * The day start hours in 24 hour time. Must be 0-23\n */\n this.dayStartHour = 0;\n /**\n * The day start minutes. Must be 0-59\n */\n this.dayStartMinute = 0;\n /**\n * The day end hours in 24 hour time. Must be 0-23\n */\n this.dayEndHour = 23;\n /**\n * The day end minutes. Must be 0-59\n */\n this.dayEndMinute = 59;\n /**\n * The placement of the event tooltip\n */\n this.tooltipPlacement = 'auto';\n /**\n * Whether to append tooltips to the body or next to the trigger element\n */\n this.tooltipAppendToBody = true;\n /**\n * The delay in milliseconds before the tooltip should be displayed. If not provided the tooltip\n * will be displayed immediately.\n */\n this.tooltipDelay = null;\n /**\n * Whether to snap events to a grid when dragging\n */\n this.snapDraggedEvents = true;\n /**\n * Called when an event title is clicked\n */\n this.eventClicked = new EventEmitter();\n /**\n * Called when an hour segment is clicked\n */\n this.hourSegmentClicked = new EventEmitter();\n /**\n * Called when an event is resized or dragged and dropped\n */\n this.eventTimesChanged = new EventEmitter();\n /**\n * An output that will be called before the view is rendered for the current day.\n * If you add the `cssClass` property to an hour grid segment it will add that class to the hour segment in the template\n */\n this.beforeViewRender = new EventEmitter();\n }\n};\nCalendarDayViewComponent.ɵfac = function CalendarDayViewComponent_Factory(t) { return new (t || CalendarDayViewComponent)(); };\nCalendarDayViewComponent.ɵcmp = /*@__PURE__*/ ɵngcc0.ɵɵdefineComponent({ type: CalendarDayViewComponent, selectors: [[\"mwl-calendar-day-view\"]], inputs: { events: \"events\", hourSegments: \"hourSegments\", hourSegmentHeight: \"hourSegmentHeight\", dayStartHour: \"dayStartHour\", dayStartMinute: \"dayStartMinute\", dayEndHour: \"dayEndHour\", dayEndMinute: \"dayEndMinute\", tooltipPlacement: \"tooltipPlacement\", tooltipAppendToBody: \"tooltipAppendToBody\", tooltipDelay: \"tooltipDelay\", snapDraggedEvents: \"snapDraggedEvents\", viewDate: \"viewDate\", refresh: \"refresh\", locale: \"locale\", eventSnapSize: \"eventSnapSize\", tooltipTemplate: \"tooltipTemplate\", hourSegmentTemplate: \"hourSegmentTemplate\", eventTemplate: \"eventTemplate\", eventTitleTemplate: \"eventTitleTemplate\", eventActionsTemplate: \"eventActionsTemplate\", allDayEventsLabelTemplate: \"allDayEventsLabelTemplate\", currentTimeMarkerTemplate: \"currentTimeMarkerTemplate\" }, outputs: { eventClicked: \"eventClicked\", hourSegmentClicked: \"hourSegmentClicked\", eventTimesChanged: \"eventTimesChanged\", beforeViewRender: \"beforeViewRender\" }, decls: 1, vars: 23, consts: [[1, \"cal-day-view\", 3, \"daysInWeek\", \"viewDate\", \"events\", \"hourSegments\", \"hourSegmentHeight\", \"dayStartHour\", \"dayStartMinute\", \"dayEndHour\", \"dayEndMinute\", \"refresh\", \"locale\", \"eventSnapSize\", \"tooltipPlacement\", \"tooltipTemplate\", \"tooltipAppendToBody\", \"tooltipDelay\", \"hourSegmentTemplate\", \"eventTemplate\", \"eventTitleTemplate\", \"eventActionsTemplate\", \"snapDraggedEvents\", \"allDayEventsLabelTemplate\", \"currentTimeMarkerTemplate\", \"eventClicked\", \"hourSegmentClicked\", \"eventTimesChanged\", \"beforeViewRender\"]], template: function CalendarDayViewComponent_Template(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵelementStart(0, \"mwl-calendar-week-view\", 0);\n ɵngcc0.ɵɵlistener(\"eventClicked\", function CalendarDayViewComponent_Template_mwl_calendar_week_view_eventClicked_0_listener($event) { return ctx.eventClicked.emit($event); })(\"hourSegmentClicked\", function CalendarDayViewComponent_Template_mwl_calendar_week_view_hourSegmentClicked_0_listener($event) { return ctx.hourSegmentClicked.emit($event); })(\"eventTimesChanged\", function CalendarDayViewComponent_Template_mwl_calendar_week_view_eventTimesChanged_0_listener($event) { return ctx.eventTimesChanged.emit($event); })(\"beforeViewRender\", function CalendarDayViewComponent_Template_mwl_calendar_week_view_beforeViewRender_0_listener($event) { return ctx.beforeViewRender.emit($event); });\n ɵngcc0.ɵɵelementEnd();\n } if (rf & 2) {\n ɵngcc0.ɵɵproperty(\"daysInWeek\", 1)(\"viewDate\", ctx.viewDate)(\"events\", ctx.events)(\"hourSegments\", ctx.hourSegments)(\"hourSegmentHeight\", ctx.hourSegmentHeight)(\"dayStartHour\", ctx.dayStartHour)(\"dayStartMinute\", ctx.dayStartMinute)(\"dayEndHour\", ctx.dayEndHour)(\"dayEndMinute\", ctx.dayEndMinute)(\"refresh\", ctx.refresh)(\"locale\", ctx.locale)(\"eventSnapSize\", ctx.eventSnapSize)(\"tooltipPlacement\", ctx.tooltipPlacement)(\"tooltipTemplate\", ctx.tooltipTemplate)(\"tooltipAppendToBody\", ctx.tooltipAppendToBody)(\"tooltipDelay\", ctx.tooltipDelay)(\"hourSegmentTemplate\", ctx.hourSegmentTemplate)(\"eventTemplate\", ctx.eventTemplate)(\"eventTitleTemplate\", ctx.eventTitleTemplate)(\"eventActionsTemplate\", ctx.eventActionsTemplate)(\"snapDraggedEvents\", ctx.snapDraggedEvents)(\"allDayEventsLabelTemplate\", ctx.allDayEventsLabelTemplate)(\"currentTimeMarkerTemplate\", ctx.currentTimeMarkerTemplate);\n } }, dependencies: [CalendarWeekViewComponent], encapsulation: 2 });\n__decorate([\n Input(),\n __metadata(\"design:type\", Date)\n], CalendarDayViewComponent.prototype, \"viewDate\", void 0);\n__decorate([\n Input(),\n __metadata(\"design:type\", Array)\n], CalendarDayViewComponent.prototype, \"events\", void 0);\n__decorate([\n Input(),\n __metadata(\"design:type\", Number)\n], CalendarDayViewComponent.prototype, \"hourSegments\", void 0);\n__decorate([\n Input(),\n __metadata(\"design:type\", Number)\n], CalendarDayViewComponent.prototype, \"hourSegmentHeight\", void 0);\n__decorate([\n Input(),\n __metadata(\"design:type\", Number)\n], CalendarDayViewComponent.prototype, \"dayStartHour\", void 0);\n__decorate([\n Input(),\n __metadata(\"design:type\", Number)\n], CalendarDayViewComponent.prototype, \"dayStartMinute\", void 0);\n__decorate([\n Input(),\n __metadata(\"design:type\", Number)\n], CalendarDayViewComponent.prototype, \"dayEndHour\", void 0);\n__decorate([\n Input(),\n __metadata(\"design:type\", Number)\n], CalendarDayViewComponent.prototype, \"dayEndMinute\", void 0);\n__decorate([\n Input(),\n __metadata(\"design:type\", Subject)\n], CalendarDayViewComponent.prototype, \"refresh\", void 0);\n__decorate([\n Input(),\n __metadata(\"design:type\", String)\n], CalendarDayViewComponent.prototype, \"locale\", void 0);\n__decorate([\n Input(),\n __metadata(\"design:type\", Number)\n], CalendarDayViewComponent.prototype, \"eventSnapSize\", void 0);\n__decorate([\n Input(),\n __metadata(\"design:type\", Object)\n], CalendarDayViewComponent.prototype, \"tooltipPlacement\", void 0);\n__decorate([\n Input(),\n __metadata(\"design:type\", TemplateRef)\n], CalendarDayViewComponent.prototype, \"tooltipTemplate\", void 0);\n__decorate([\n Input(),\n __metadata(\"design:type\", Boolean)\n], CalendarDayViewComponent.prototype, \"tooltipAppendToBody\", void 0);\n__decorate([\n Input(),\n __metadata(\"design:type\", Number)\n], CalendarDayViewComponent.prototype, \"tooltipDelay\", void 0);\n__decorate([\n Input(),\n __metadata(\"design:type\", TemplateRef)\n], CalendarDayViewComponent.prototype, \"hourSegmentTemplate\", void 0);\n__decorate([\n Input(),\n __metadata(\"design:type\", TemplateRef)\n], CalendarDayViewComponent.prototype, \"eventTemplate\", void 0);\n__decorate([\n Input(),\n __metadata(\"design:type\", TemplateRef)\n], CalendarDayViewComponent.prototype, \"eventTitleTemplate\", void 0);\n__decorate([\n Input(),\n __metadata(\"design:type\", TemplateRef)\n], CalendarDayViewComponent.prototype, \"eventActionsTemplate\", void 0);\n__decorate([\n Input(),\n __metadata(\"design:type\", Boolean)\n], CalendarDayViewComponent.prototype, \"snapDraggedEvents\", void 0);\n__decorate([\n Input(),\n __metadata(\"design:type\", TemplateRef)\n], CalendarDayViewComponent.prototype, \"allDayEventsLabelTemplate\", void 0);\n__decorate([\n Input(),\n __metadata(\"design:type\", TemplateRef)\n], CalendarDayViewComponent.prototype, \"currentTimeMarkerTemplate\", void 0);\n__decorate([\n Output(),\n __metadata(\"design:type\", Object)\n], CalendarDayViewComponent.prototype, \"eventClicked\", void 0);\n__decorate([\n Output(),\n __metadata(\"design:type\", Object)\n], CalendarDayViewComponent.prototype, \"hourSegmentClicked\", void 0);\n__decorate([\n Output(),\n __metadata(\"design:type\", Object)\n], CalendarDayViewComponent.prototype, \"eventTimesChanged\", void 0);\n__decorate([\n Output(),\n __metadata(\"design:type\", Object)\n], CalendarDayViewComponent.prototype, \"beforeViewRender\", void 0);\n\nlet CalendarDayModule = class CalendarDayModule {\n};\nCalendarDayModule.ɵfac = function CalendarDayModule_Factory(t) { return new (t || CalendarDayModule)(); };\nCalendarDayModule.ɵmod = /*@__PURE__*/ ɵngcc0.ɵɵdefineNgModule({ type: CalendarDayModule });\nCalendarDayModule.ɵinj = /*@__PURE__*/ ɵngcc0.ɵɵdefineInjector({ imports: [CommonModule, CalendarCommonModule, CalendarWeekModule] });\n\nvar CalendarModule_1;\n/**\n * The main module of this library. Example usage:\n *\n * ```typescript\n * import { CalenderModule } from 'angular-calendar';\n *\n * @NgModule({\n * imports: [\n * CalenderModule.forRoot()\n * ]\n * })\n * class MyModule {}\n * ```\n *\n */\nlet CalendarModule = CalendarModule_1 = class CalendarModule {\n static forRoot(dateAdapter, config = {}) {\n return {\n ngModule: CalendarModule_1,\n providers: [\n dateAdapter,\n config.eventTitleFormatter || CalendarEventTitleFormatter,\n config.dateFormatter || CalendarDateFormatter,\n config.utils || CalendarUtils,\n config.a11y || CalendarA11y,\n ],\n };\n }\n};\nCalendarModule.ɵfac = function CalendarModule_Factory(t) { return new (t || CalendarModule)(); };\nCalendarModule.ɵmod = /*@__PURE__*/ ɵngcc0.ɵɵdefineNgModule({ type: CalendarModule });\nCalendarModule.ɵinj = /*@__PURE__*/ ɵngcc0.ɵɵdefineInjector({ imports: [CalendarCommonModule,\n CalendarMonthModule,\n CalendarWeekModule,\n CalendarDayModule, CalendarCommonModule, CalendarMonthModule, CalendarWeekModule, CalendarDayModule] });\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(CalendarEventActionsComponent, [{\n type: Component,\n args: [{\n selector: 'mwl-calendar-event-actions',\n template: `\n <ng-template\n #defaultTemplate\n let-event=\"event\"\n let-trackByActionId=\"trackByActionId\"\n >\n <span *ngIf=\"event.actions\" class=\"cal-event-actions\">\n <a\n class=\"cal-event-action\"\n href=\"javascript:;\"\n *ngFor=\"let action of event.actions; trackBy: trackByActionId\"\n (mwlClick)=\"action.onClick({ event: event, sourceEvent: $event })\"\n (mwlKeydownEnter)=\"\n action.onClick({ event: event, sourceEvent: $event })\n \"\n [ngClass]=\"action.cssClass\"\n [innerHtml]=\"action.label\"\n tabindex=\"0\"\n role=\"button\"\n [attr.aria-label]=\"\n { action: action } | calendarA11y: 'actionButtonLabel'\n \"\n >\n </a>\n </span>\n </ng-template>\n <ng-template\n [ngTemplateOutlet]=\"customTemplate || defaultTemplate\"\n [ngTemplateOutletContext]=\"{\n event: event,\n trackByActionId: trackByActionId\n }\"\n >\n </ng-template>\n `\n }]\n }], function () { return []; }, { event: [{\n type: Input\n }], customTemplate: [{\n type: Input\n }] }); })();\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(CalendarEventTitleComponent, [{\n type: Component,\n args: [{\n selector: 'mwl-calendar-event-title',\n template: `\n <ng-template #defaultTemplate let-event=\"event\" let-view=\"view\">\n <span\n class=\"cal-event-title\"\n [innerHTML]=\"event.title | calendarEventTitle: view:event\"\n [attr.aria-hidden]=\"{} | calendarA11y: 'hideEventTitle'\"\n >\n </span>\n </ng-template>\n <ng-template\n [ngTemplateOutlet]=\"customTemplate || defaultTemplate\"\n [ngTemplateOutletContext]=\"{\n event: event,\n view: view\n }\"\n >\n </ng-template>\n `\n }]\n }], null, { event: [{\n type: Input\n }], customTemplate: [{\n type: Input\n }], view: [{\n type: Input\n }] }); })();\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(CalendarTooltipWindowComponent, [{\n type: Component,\n args: [{\n selector: 'mwl-calendar-tooltip-window',\n template: `\n <ng-template\n #defaultTemplate\n let-contents=\"contents\"\n let-placement=\"placement\"\n let-event=\"event\"\n >\n <div class=\"cal-tooltip\" [ngClass]=\"'cal-tooltip-' + placement\">\n <div class=\"cal-tooltip-arrow\"></div>\n <div class=\"cal-tooltip-inner\" [innerHtml]=\"contents\"></div>\n </div>\n </ng-template>\n <ng-template\n [ngTemplateOutlet]=\"customTemplate || defaultTemplate\"\n [ngTemplateOutletContext]=\"{\n contents: contents,\n placement: placement,\n event: event\n }\"\n >\n </ng-template>\n `\n }]\n }], null, { contents: [{\n type: Input\n }], placement: [{\n type: Input\n }], event: [{\n type: Input\n }], customTemplate: [{\n type: Input\n }] }); })();\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(CalendarTooltipDirective, [{\n type: Directive,\n args: [{\n selector: '[mwlCalendarTooltip]'\n }]\n }], function () { return [{ type: ɵngcc0.ElementRef }, { type: ɵngcc0.Injector }, { type: ɵngcc0.Renderer2 }, { type: ɵngcc0.ComponentFactoryResolver }, { type: ɵngcc0.ViewContainerRef }, { type: undefined, decorators: [{\n type: Inject,\n args: [DOCUMENT]\n }] }]; }, { placement: [{\n type: Input,\n args: ['tooltipPlacement']\n }], delay: [{\n type: Input,\n args: ['tooltipDelay']\n }], onMouseOver: [{\n type: HostListener,\n args: ['mouseenter']\n }], onMouseOut: [{\n type: HostListener,\n args: ['mouseleave']\n }], contents: [{\n type: Input,\n args: ['mwlCalendarTooltip']\n }], customTemplate: [{\n type: Input,\n args: ['tooltipTemplate']\n }], event: [{\n type: Input,\n args: ['tooltipEvent']\n }], appendToBody: [{\n type: Input,\n args: ['tooltipAppendToBody']\n }] }); })();\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(CalendarPreviousViewDirective, [{\n type: Directive,\n args: [{\n selector: '[mwlCalendarPreviousView]'\n }]\n }], function () { return [{ type: DateAdapter }]; }, { excludeDays: [{\n type: Input\n }], viewDateChange: [{\n type: Output\n }], \n /**\n * @hidden\n */\n onClick: [{\n type: HostListener,\n args: ['click']\n }], view: [{\n type: Input\n }], viewDate: [{\n type: Input\n }], daysInWeek: [{\n type: Input\n }] }); })();\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(CalendarNextViewDirective, [{\n type: Directive,\n args: [{\n selector: '[mwlCalendarNextView]'\n }]\n }], function () { return [{ type: DateAdapter }]; }, { excludeDays: [{\n type: Input\n }], viewDateChange: [{\n type: Output\n }], \n /**\n * @hidden\n */\n onClick: [{\n type: HostListener,\n args: ['click']\n }], view: [{\n type: Input\n }], viewDate: [{\n type: Input\n }], daysInWeek: [{\n type: Input\n }] }); })();\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(CalendarTodayDirective, [{\n type: Directive,\n args: [{\n selector: '[mwlCalendarToday]'\n }]\n }], function () { return [{ type: DateAdapter }]; }, { viewDateChange: [{\n type: Output\n }], \n /**\n * @hidden\n */\n onClick: [{\n type: HostListener,\n args: ['click']\n }], viewDate: [{\n type: Input\n }] }); })();\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(CalendarAngularDateFormatter, [{\n type: Injectable\n }], function () { return [{ type: DateAdapter }]; }, null); })();\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(CalendarDateFormatter, [{\n type: Injectable\n }], null, null); })();\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(CalendarDatePipe, [{\n type: Pipe,\n args: [{\n name: 'calendarDate'\n }]\n }], function () { return [{ type: CalendarDateFormatter }, { type: String, decorators: [{\n type: Inject,\n args: [LOCALE_ID]\n }] }]; }, null); })();\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(CalendarEventTitlePipe, [{\n type: Pipe,\n args: [{\n name: 'calendarEventTitle'\n }]\n }], function () { return [{ type: CalendarEventTitleFormatter }]; }, null); })();\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(ClickDirective, [{\n type: Directive,\n args: [{\n selector: '[mwlClick]'\n }]\n }], function () { return [{ type: ɵngcc0.Renderer2 }, { type: ɵngcc0.ElementRef }, { type: undefined, decorators: [{\n type: Inject,\n args: [DOCUMENT]\n }] }]; }, { clickListenerDisabled: [{\n type: Input\n }], click: [{\n type: Output,\n args: ['mwlClick']\n }] }); })();\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(KeydownEnterDirective, [{\n type: Directive,\n args: [{ selector: '[mwlKeydownEnter]' }]\n }], function () { return [{ type: ɵngcc0.ElementRef }, { type: ɵngcc0.NgZone }, { type: ɵngcc0.Renderer2 }]; }, { keydown: [{\n type: Output,\n args: ['mwlKeydownEnter']\n }] }); })();\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(CalendarUtils, [{\n type: Injectable\n }], function () { return [{ type: DateAdapter }]; }, null); })();\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(CalendarA11y, [{\n type: Injectable\n }], function () { return [{ type: ɵngcc1.I18nPluralPipe }]; }, null); })();\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(CalendarA11yPipe, [{\n type: Pipe,\n args: [{\n name: 'calendarA11y'\n }]\n }], function () { return [{ type: CalendarA11y }, { type: String, decorators: [{\n type: Inject,\n args: [LOCALE_ID]\n }] }]; }, null); })();\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(CalendarMomentDateFormatter, [{\n type: Injectable\n }], function () { return [{ type: undefined, decorators: [{\n type: Inject,\n args: [MOMENT]\n }] }, { type: DateAdapter }]; }, null); })();\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(CalendarNativeDateFormatter, [{\n type: Injectable\n }], function () { return [{ type: DateAdapter }]; }, null); })();\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(CalendarCommonModule, [{\n type: NgModule,\n args: [{\n declarations: [\n CalendarEventActionsComponent,\n CalendarEventTitleComponent,\n CalendarTooltipWindowComponent,\n CalendarTooltipDirective,\n CalendarPreviousViewDirective,\n CalendarNextViewDirective,\n CalendarTodayDirective,\n CalendarDatePipe,\n CalendarEventTitlePipe,\n CalendarA11yPipe,\n ClickDirective,\n KeydownEnterDirective,\n ],\n imports: [CommonModule],\n exports: [\n CalendarEventActionsComponent,\n CalendarEventTitleComponent,\n CalendarTooltipWindowComponent,\n CalendarTooltipDirective,\n CalendarPreviousViewDirective,\n CalendarNextViewDirective,\n CalendarTodayDirective,\n CalendarDatePipe,\n CalendarEventTitlePipe,\n CalendarA11yPipe,\n ClickDirective,\n KeydownEnterDirective,\n ],\n providers: [I18nPluralPipe],\n entryComponents: [CalendarTooltipWindowComponent]\n }]\n }], null, null); })();\n(function () { (typeof ngJitMode === \"undefined\" || ngJitMode) && ɵngcc0.ɵɵsetNgModuleScope(CalendarCommonModule, { declarations: function () { return [CalendarEventActionsComponent, CalendarEventTitleComponent, CalendarTooltipWindowComponent, CalendarTooltipDirective, CalendarPreviousViewDirective, CalendarNextViewDirective, CalendarTodayDirective, CalendarDatePipe, CalendarEventTitlePipe, CalendarA11yPipe, ClickDirective, KeydownEnterDirective]; }, imports: function () { return [CommonModule]; }, exports: function () { return [CalendarEventActionsComponent, CalendarEventTitleComponent, CalendarTooltipWindowComponent, CalendarTooltipDirective, CalendarPreviousViewDirective, CalendarNextViewDirective, CalendarTodayDirective, CalendarDatePipe, CalendarEventTitlePipe, CalendarA11yPipe, ClickDirective, KeydownEnterDirective]; } }); })();\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(CalendarMonthViewComponent, [{\n type: Component,\n args: [{\n selector: 'mwl-calendar-month-view',\n template: `\n <div class=\"cal-month-view\" role=\"grid\">\n <mwl-calendar-month-view-header\n [days]=\"columnHeaders\"\n [locale]=\"locale\"\n (columnHeaderClicked)=\"columnHeaderClicked.emit($event)\"\n [customTemplate]=\"headerTemplate\"\n >\n </mwl-calendar-month-view-header>\n <div class=\"cal-days\">\n <div\n *ngFor=\"let rowIndex of view.rowOffsets; trackBy: trackByRowOffset\"\n >\n <div role=\"row\" class=\"cal-cell-row\">\n <mwl-calendar-month-cell\n role=\"gridcell\"\n *ngFor=\"\n let day of view.days\n | slice: rowIndex:rowIndex + view.totalDaysVisibleInWeek;\n trackBy: trackByDate\n \"\n [ngClass]=\"day?.cssClass\"\n [day]=\"day\"\n [openDay]=\"openDay\"\n [locale]=\"locale\"\n [tooltipPlacement]=\"tooltipPlacement\"\n [tooltipAppendToBody]=\"tooltipAppendToBody\"\n [tooltipTemplate]=\"tooltipTemplate\"\n [tooltipDelay]=\"tooltipDelay\"\n [customTemplate]=\"cellTemplate\"\n [ngStyle]=\"{ backgroundColor: day.backgroundColor }\"\n (mwlClick)=\"dayClicked.emit({ day: day, sourceEvent: $event })\"\n [clickListenerDisabled]=\"dayClicked.observers.length === 0\"\n (mwlKeydownEnter)=\"\n dayClicked.emit({ day: day, sourceEvent: $event })\n \"\n (highlightDay)=\"toggleDayHighlight($event.event, true)\"\n (unhighlightDay)=\"toggleDayHighlight($event.event, false)\"\n mwlDroppable\n dragOverClass=\"cal-drag-over\"\n (drop)=\"\n eventDropped(\n day,\n $event.dropData.event,\n $event.dropData.draggedFrom\n )\n \"\n (eventClicked)=\"\n eventClicked.emit({\n event: $event.event,\n sourceEvent: $event.sourceEvent\n })\n \"\n [attr.tabindex]=\"{} | calendarA11y: 'monthCellTabIndex'\"\n >\n </mwl-calendar-month-cell>\n </div>\n <mwl-calendar-open-day-events\n [locale]=\"locale\"\n [isOpen]=\"openRowIndex === rowIndex\"\n [events]=\"openDay?.events\"\n [date]=\"openDay?.date\"\n [customTemplate]=\"openDayEventsTemplate\"\n [eventTitleTemplate]=\"eventTitleTemplate\"\n [eventActionsTemplate]=\"eventActionsTemplate\"\n (eventClicked)=\"\n eventClicked.emit({\n event: $event.event,\n sourceEvent: $event.sourceEvent\n })\n \"\n mwlDroppable\n dragOverClass=\"cal-drag-over\"\n (drop)=\"\n eventDropped(\n openDay,\n $event.dropData.event,\n $event.dropData.draggedFrom\n )\n \"\n >\n </mwl-calendar-open-day-events>\n </div>\n </div>\n </div>\n `\n }]\n }], function () { return [{ type: ɵngcc0.ChangeDetectorRef }, { type: CalendarUtils }, { type: String, decorators: [{\n type: Inject,\n args: [LOCALE_ID]\n }] }, { type: DateAdapter }]; }, { events: [{\n type: Input\n }], excludeDays: [{\n type: Input\n }], activeDayIsOpen: [{\n type: Input\n }], tooltipPlacement: [{\n type: Input\n }], tooltipAppendToBody: [{\n type: Input\n }], tooltipDelay: [{\n type: Input\n }], beforeViewRender: [{\n type: Output\n }], dayClicked: [{\n type: Output\n }], eventClicked: [{\n type: Output\n }], columnHeaderClicked: [{\n type: Output\n }], eventTimesChanged: [{\n type: Output\n }], locale: [{\n type: Input\n }], viewDate: [{\n type: Input\n }], activeDay: [{\n type: Input\n }], refresh: [{\n type: Input\n }], tooltipTemplate: [{\n type: Input\n }], weekStartsOn: [{\n type: Input\n }], headerTemplate: [{\n type: Input\n }], cellTemplate: [{\n type: Input\n }], openDayEventsTemplate: [{\n type: Input\n }], eventTitleTemplate: [{\n type: Input\n }], eventActionsTemplate: [{\n type: Input\n }], weekendDays: [{\n type: Input\n }] }); })();\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(CalendarMonthViewHeaderComponent, [{\n type: Component,\n args: [{\n selector: 'mwl-calendar-month-view-header',\n template: `\n <ng-template\n #defaultTemplate\n let-days=\"days\"\n let-locale=\"locale\"\n let-trackByWeekDayHeaderDate=\"trackByWeekDayHeaderDate\"\n >\n <div class=\"cal-cell-row cal-header\" role=\"row\">\n <div\n class=\"cal-cell\"\n *ngFor=\"let day of days; trackBy: trackByWeekDayHeaderDate\"\n [class.cal-past]=\"day.isPast\"\n [class.cal-today]=\"day.isToday\"\n [class.cal-future]=\"day.isFuture\"\n [class.cal-weekend]=\"day.isWeekend\"\n (click)=\"\n columnHeaderClicked.emit({\n isoDayNumber: day.day,\n sourceEvent: $event\n })\n \"\n [ngClass]=\"day.cssClass\"\n tabindex=\"0\"\n role=\"columnheader\"\n >\n {{ day.date | calendarDate: 'monthViewColumnHeader':locale }}\n </div>\n </div>\n </ng-template>\n <ng-template\n [ngTemplateOutlet]=\"customTemplate || defaultTemplate\"\n [ngTemplateOutletContext]=\"{\n days: days,\n locale: locale,\n trackByWeekDayHeaderDate: trackByWeekDayHeaderDate\n }\"\n >\n </ng-template>\n `\n }]\n }], function () { return []; }, { columnHeaderClicked: [{\n type: Output\n }], days: [{\n type: Input\n }], locale: [{\n type: Input\n }], customTemplate: [{\n type: Input\n }] }); })();\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(CalendarMonthCellComponent, [{\n type: Component,\n args: [{\n selector: 'mwl-calendar-month-cell',\n template: `\n <ng-template\n #defaultTemplate\n let-day=\"day\"\n let-openDay=\"openDay\"\n let-locale=\"locale\"\n let-tooltipPlacement=\"tooltipPlacement\"\n let-highlightDay=\"highlightDay\"\n let-unhighlightDay=\"unhighlightDay\"\n let-eventClicked=\"eventClicked\"\n let-tooltipTemplate=\"tooltipTemplate\"\n let-tooltipAppendToBody=\"tooltipAppendToBody\"\n let-tooltipDelay=\"tooltipDelay\"\n let-trackByEventId=\"trackByEventId\"\n let-validateDrag=\"validateDrag\"\n >\n <div\n class=\"cal-cell-top\"\n [attr.aria-label]=\"\n { day: day, locale: locale } | calendarA11y: 'monthCell'\n \"\n >\n <span aria-hidden=\"true\">\n <span class=\"cal-day-badge\" *ngIf=\"day.badgeTotal > 0\">{{\n day.badgeTotal\n }}</span>\n <span class=\"cal-day-number\">{{\n day.date | calendarDate: 'monthViewDayNumber':locale\n }}</span>\n </span>\n </div>\n <div class=\"cal-events\" *ngIf=\"day.events.length > 0\">\n <div\n class=\"cal-event\"\n *ngFor=\"let event of day.events; trackBy: trackByEventId\"\n [ngStyle]=\"{ backgroundColor: event.color?.primary }\"\n [ngClass]=\"event?.cssClass\"\n (mouseenter)=\"highlightDay.emit({ event: event })\"\n (mouseleave)=\"unhighlightDay.emit({ event: event })\"\n [mwlCalendarTooltip]=\"\n event.title | calendarEventTitle: 'monthTooltip':event\n \"\n [tooltipPlacement]=\"tooltipPlacement\"\n [tooltipEvent]=\"event\"\n [tooltipTemplate]=\"tooltipTemplate\"\n [tooltipAppendToBody]=\"tooltipAppendToBody\"\n [tooltipDelay]=\"tooltipDelay\"\n mwlDraggable\n [class.cal-draggable]=\"event.draggable\"\n dragActiveClass=\"cal-drag-active\"\n [dropData]=\"{ event: event, draggedFrom: day }\"\n [dragAxis]=\"{ x: event.draggable, y: event.draggable }\"\n [validateDrag]=\"validateDrag\"\n [touchStartLongPress]=\"{ delay: 300, delta: 30 }\"\n (mwlClick)=\"eventClicked.emit({ event: event, sourceEvent: $event })\"\n [attr.aria-hidden]=\"{} | calendarA11y: 'hideMonthCellEvents'\"\n ></div>\n </div>\n </ng-template>\n <ng-template\n [ngTemplateOutlet]=\"customTemplate || defaultTemplate\"\n [ngTemplateOutletContext]=\"{\n day: day,\n openDay: openDay,\n locale: locale,\n tooltipPlacement: tooltipPlacement,\n highlightDay: highlightDay,\n unhighlightDay: unhighlightDay,\n eventClicked: eventClicked,\n tooltipTemplate: tooltipTemplate,\n tooltipAppendToBody: tooltipAppendToBody,\n tooltipDelay: tooltipDelay,\n trackByEventId: trackByEventId,\n validateDrag: validateDrag\n }\"\n >\n </ng-template>\n `,\n host: {\n class: 'cal-cell cal-day-cell',\n '[class.cal-past]': 'day.isPast',\n '[class.cal-today]': 'day.isToday',\n '[class.cal-future]': 'day.isFuture',\n '[class.cal-weekend]': 'day.isWeekend',\n '[class.cal-in-month]': 'day.inMonth',\n '[class.cal-out-month]': '!day.inMonth',\n '[class.cal-has-events]': 'day.events.length > 0',\n '[class.cal-open]': 'day === openDay',\n '[class.cal-event-highlight]': '!!day.backgroundColor'\n }\n }]\n }], function () { return []; }, { highlightDay: [{\n type: Output\n }], unhighlightDay: [{\n type: Output\n }], eventClicked: [{\n type: Output\n }], day: [{\n type: Input\n }], openDay: [{\n type: Input\n }], locale: [{\n type: Input\n }], tooltipPlacement: [{\n type: Input\n }], tooltipAppendToBody: [{\n type: Input\n }], customTemplate: [{\n type: Input\n }], tooltipTemplate: [{\n type: Input\n }], tooltipDelay: [{\n type: Input\n }] }); })();\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(CalendarOpenDayEventsComponent, [{\n type: Component,\n args: [{\n selector: 'mwl-calendar-open-day-events',\n template: `\n <ng-template\n #defaultTemplate\n let-events=\"events\"\n let-eventClicked=\"eventClicked\"\n let-isOpen=\"isOpen\"\n let-trackByEventId=\"trackByEventId\"\n let-validateDrag=\"validateDrag\"\n >\n <div\n class=\"cal-open-day-events\"\n [@collapse]\n *ngIf=\"isOpen\"\n role=\"application\"\n >\n <span\n tabindex=\"-1\"\n role=\"alert\"\n [attr.aria-label]=\"\n { date: date, locale: locale } | calendarA11y: 'openDayEventsAlert'\n \"\n ></span>\n <span\n tabindex=\"0\"\n role=\"landmark\"\n [attr.aria-label]=\"\n { date: date, locale: locale }\n | calendarA11y: 'openDayEventsLandmark'\n \"\n ></span>\n <div\n *ngFor=\"let event of events; trackBy: trackByEventId\"\n [ngClass]=\"event?.cssClass\"\n mwlDraggable\n [class.cal-draggable]=\"event.draggable\"\n dragActiveClass=\"cal-drag-active\"\n [dropData]=\"{ event: event }\"\n [dragAxis]=\"{ x: event.draggable, y: event.draggable }\"\n [validateDrag]=\"validateDrag\"\n [touchStartLongPress]=\"{ delay: 300, delta: 30 }\"\n >\n <span\n class=\"cal-event\"\n [ngStyle]=\"{ backgroundColor: event.color?.primary }\"\n >\n </span>\n &ngsp;\n <mwl-calendar-event-title\n [event]=\"event\"\n [customTemplate]=\"eventTitleTemplate\"\n view=\"month\"\n (mwlClick)=\"\n eventClicked.emit({ event: event, sourceEvent: $event })\n \"\n (mwlKeydownEnter)=\"\n eventClicked.emit({ event: event, sourceEvent: $event })\n \"\n tabindex=\"0\"\n [attr.aria-label]=\"\n { event: event, locale: locale }\n | calendarA11y: 'eventDescription'\n \"\n >\n </mwl-calendar-event-title>\n &ngsp;\n <mwl-calendar-event-actions\n [event]=\"event\"\n [customTemplate]=\"eventActionsTemplate\"\n >\n </mwl-calendar-event-actions>\n </div>\n </div>\n </ng-template>\n <ng-template\n [ngTemplateOutlet]=\"customTemplate || defaultTemplate\"\n [ngTemplateOutletContext]=\"{\n events: events,\n eventClicked: eventClicked,\n isOpen: isOpen,\n trackByEventId: trackByEventId,\n validateDrag: validateDrag\n }\"\n >\n </ng-template>\n `,\n animations: [collapseAnimation]\n }]\n }], function () { return []; }, { isOpen: [{\n type: Input\n }], eventClicked: [{\n type: Output\n }], locale: [{\n type: Input\n }], events: [{\n type: Input\n }], customTemplate: [{\n type: Input\n }], eventTitleTemplate: [{\n type: Input\n }], eventActionsTemplate: [{\n type: Input\n }], date: [{\n type: Input\n }] }); })();\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(CalendarMonthModule, [{\n type: NgModule,\n args: [{\n imports: [CommonModule, DragAndDropModule, CalendarCommonModule],\n declarations: [\n CalendarMonthViewComponent,\n CalendarMonthCellComponent,\n CalendarOpenDayEventsComponent,\n CalendarMonthViewHeaderComponent,\n ],\n exports: [\n DragAndDropModule,\n CalendarMonthViewComponent,\n CalendarMonthCellComponent,\n CalendarOpenDayEventsComponent,\n CalendarMonthViewHeaderComponent,\n ]\n }]\n }], null, null); })();\n(function () { (typeof ngJitMode === \"undefined\" || ngJitMode) && ɵngcc0.ɵɵsetNgModuleScope(CalendarMonthModule, { declarations: function () { return [CalendarMonthViewComponent, CalendarMonthCellComponent, CalendarOpenDayEventsComponent, CalendarMonthViewHeaderComponent]; }, imports: function () { return [CommonModule, DragAndDropModule, CalendarCommonModule]; }, exports: function () { return [DragAndDropModule, CalendarMonthViewComponent, CalendarMonthCellComponent, CalendarOpenDayEventsComponent, CalendarMonthViewHeaderComponent]; } }); })();\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(CalendarWeekViewComponent, [{\n type: Component,\n args: [{\n selector: 'mwl-calendar-week-view',\n template: `\n <div class=\"cal-week-view\" role=\"grid\">\n <mwl-calendar-week-view-header\n [days]=\"days\"\n [locale]=\"locale\"\n [customTemplate]=\"headerTemplate\"\n (dayHeaderClicked)=\"dayHeaderClicked.emit($event)\"\n (eventDropped)=\"\n eventDropped({ dropData: $event }, $event.newStart, true)\n \"\n (dragEnter)=\"dateDragEnter($event.date)\"\n >\n </mwl-calendar-week-view-header>\n <div\n class=\"cal-all-day-events\"\n #allDayEventsContainer\n *ngIf=\"view.allDayEventRows.length > 0\"\n mwlDroppable\n (dragEnter)=\"dragEnter('allDay')\"\n (dragLeave)=\"dragLeave('allDay')\"\n >\n <div class=\"cal-day-columns\">\n <div\n class=\"cal-time-label-column\"\n [ngTemplateOutlet]=\"allDayEventsLabelTemplate\"\n ></div>\n <div\n class=\"cal-day-column\"\n *ngFor=\"let day of days; trackBy: trackByWeekDayHeaderDate\"\n mwlDroppable\n dragOverClass=\"cal-drag-over\"\n (drop)=\"eventDropped($event, day.date, true)\"\n (dragEnter)=\"dateDragEnter(day.date)\"\n ></div>\n </div>\n <div\n *ngFor=\"let eventRow of view.allDayEventRows; trackBy: trackById\"\n #eventRowContainer\n class=\"cal-events-row\"\n >\n <div\n *ngFor=\"\n let allDayEvent of eventRow.row;\n trackBy: trackByWeekAllDayEvent\n \"\n #event\n class=\"cal-event-container\"\n [class.cal-draggable]=\"\n allDayEvent.event.draggable && allDayEventResizes.size === 0\n \"\n [class.cal-starts-within-week]=\"!allDayEvent.startsBeforeWeek\"\n [class.cal-ends-within-week]=\"!allDayEvent.endsAfterWeek\"\n [ngClass]=\"allDayEvent.event?.cssClass\"\n [style.width.%]=\"(100 / days.length) * allDayEvent.span\"\n [style.marginLeft.%]=\"(100 / days.length) * allDayEvent.offset\"\n mwlResizable\n [resizeSnapGrid]=\"{ left: dayColumnWidth, right: dayColumnWidth }\"\n [validateResize]=\"validateResize\"\n (resizeStart)=\"\n allDayEventResizeStarted(eventRowContainer, allDayEvent, $event)\n \"\n (resizing)=\"\n allDayEventResizing(allDayEvent, $event, dayColumnWidth)\n \"\n (resizeEnd)=\"allDayEventResizeEnded(allDayEvent)\"\n mwlDraggable\n dragActiveClass=\"cal-drag-active\"\n [dropData]=\"{ event: allDayEvent.event, calendarId: calendarId }\"\n [dragAxis]=\"{\n x: allDayEvent.event.draggable && allDayEventResizes.size === 0,\n y:\n !snapDraggedEvents &&\n allDayEvent.event.draggable &&\n allDayEventResizes.size === 0\n }\"\n [dragSnapGrid]=\"snapDraggedEvents ? { x: dayColumnWidth } : {}\"\n [validateDrag]=\"validateDrag\"\n [touchStartLongPress]=\"{ delay: 300, delta: 30 }\"\n (dragStart)=\"dragStarted(eventRowContainer, event)\"\n (dragging)=\"allDayEventDragMove()\"\n (dragEnd)=\"dragEnded(allDayEvent, $event, dayColumnWidth)\"\n >\n <div\n class=\"cal-resize-handle cal-resize-handle-before-start\"\n *ngIf=\"\n allDayEvent.event?.resizable?.beforeStart &&\n !allDayEvent.startsBeforeWeek\n \"\n mwlResizeHandle\n [resizeEdges]=\"{ left: true }\"\n ></div>\n <mwl-calendar-week-view-event\n [locale]=\"locale\"\n [weekEvent]=\"allDayEvent\"\n [tooltipPlacement]=\"tooltipPlacement\"\n [tooltipTemplate]=\"tooltipTemplate\"\n [tooltipAppendToBody]=\"tooltipAppendToBody\"\n [tooltipDelay]=\"tooltipDelay\"\n [customTemplate]=\"eventTemplate\"\n [eventTitleTemplate]=\"eventTitleTemplate\"\n [eventActionsTemplate]=\"eventActionsTemplate\"\n [daysInWeek]=\"daysInWeek\"\n (eventClicked)=\"\n eventClicked.emit({\n event: allDayEvent.event,\n sourceEvent: $event.sourceEvent\n })\n \"\n >\n </mwl-calendar-week-view-event>\n <div\n class=\"cal-resize-handle cal-resize-handle-after-end\"\n *ngIf=\"\n allDayEvent.event?.resizable?.afterEnd &&\n !allDayEvent.endsAfterWeek\n \"\n mwlResizeHandle\n [resizeEdges]=\"{ right: true }\"\n ></div>\n </div>\n </div>\n </div>\n <div\n class=\"cal-time-events\"\n mwlDroppable\n (dragEnter)=\"dragEnter('time')\"\n (dragLeave)=\"dragLeave('time')\"\n >\n <div\n class=\"cal-time-label-column\"\n *ngIf=\"view.hourColumns.length > 0 && daysInWeek !== 1\"\n >\n <div\n *ngFor=\"\n let hour of view.hourColumns[0].hours;\n trackBy: trackByHour;\n let odd = odd\n \"\n class=\"cal-hour\"\n [class.cal-hour-odd]=\"odd\"\n >\n <mwl-calendar-week-view-hour-segment\n *ngFor=\"let segment of hour.segments; trackBy: trackByHourSegment\"\n [style.height.px]=\"hourSegmentHeight\"\n [segment]=\"segment\"\n [segmentHeight]=\"hourSegmentHeight\"\n [locale]=\"locale\"\n [customTemplate]=\"hourSegmentTemplate\"\n [isTimeLabel]=\"true\"\n [daysInWeek]=\"daysInWeek\"\n >\n </mwl-calendar-week-view-hour-segment>\n </div>\n </div>\n <div\n class=\"cal-day-columns\"\n [class.cal-resize-active]=\"timeEventResizes.size > 0\"\n #dayColumns\n >\n <div\n class=\"cal-day-column\"\n *ngFor=\"let column of view.hourColumns; trackBy: trackByHourColumn\"\n >\n <mwl-calendar-week-view-current-time-marker\n [columnDate]=\"column.date\"\n [dayStartHour]=\"dayStartHour\"\n [dayStartMinute]=\"dayStartMinute\"\n [dayEndHour]=\"dayEndHour\"\n [dayEndMinute]=\"dayEndMinute\"\n [hourSegments]=\"hourSegments\"\n [hourSegmentHeight]=\"hourSegmentHeight\"\n [customTemplate]=\"currentTimeMarkerTemplate\"\n ></mwl-calendar-week-view-current-time-marker>\n <div class=\"cal-events-container\">\n <div\n *ngFor=\"\n let timeEvent of column.events;\n trackBy: trackByWeekTimeEvent\n \"\n #event\n class=\"cal-event-container\"\n [class.cal-draggable]=\"\n timeEvent.event.draggable && timeEventResizes.size === 0\n \"\n [class.cal-starts-within-day]=\"!timeEvent.startsBeforeDay\"\n [class.cal-ends-within-day]=\"!timeEvent.endsAfterDay\"\n [ngClass]=\"timeEvent.event.cssClass\"\n [hidden]=\"timeEvent.height === 0 && timeEvent.width === 0\"\n [style.top.px]=\"timeEvent.top\"\n [style.height.px]=\"timeEvent.height\"\n [style.left.%]=\"timeEvent.left\"\n [style.width.%]=\"timeEvent.width\"\n mwlResizable\n [resizeSnapGrid]=\"{\n left: dayColumnWidth,\n right: dayColumnWidth,\n top: eventSnapSize || hourSegmentHeight,\n bottom: eventSnapSize || hourSegmentHeight\n }\"\n [validateResize]=\"validateResize\"\n [allowNegativeResizes]=\"true\"\n (resizeStart)=\"\n timeEventResizeStarted(dayColumns, timeEvent, $event)\n \"\n (resizing)=\"timeEventResizing(timeEvent, $event)\"\n (resizeEnd)=\"timeEventResizeEnded(timeEvent)\"\n mwlDraggable\n dragActiveClass=\"cal-drag-active\"\n [dropData]=\"{ event: timeEvent.event, calendarId: calendarId }\"\n [dragAxis]=\"{\n x: timeEvent.event.draggable && timeEventResizes.size === 0,\n y: timeEvent.event.draggable && timeEventResizes.size === 0\n }\"\n [dragSnapGrid]=\"\n snapDraggedEvents\n ? {\n x: dayColumnWidth,\n y: eventSnapSize || hourSegmentHeight\n }\n : {}\n \"\n [touchStartLongPress]=\"{ delay: 300, delta: 30 }\"\n [ghostDragEnabled]=\"!snapDraggedEvents\"\n [ghostElementTemplate]=\"weekEventTemplate\"\n [validateDrag]=\"validateDrag\"\n (dragStart)=\"dragStarted(dayColumns, event, timeEvent)\"\n (dragging)=\"dragMove(timeEvent, $event)\"\n (dragEnd)=\"dragEnded(timeEvent, $event, dayColumnWidth, true)\"\n >\n <div\n class=\"cal-resize-handle cal-resize-handle-before-start\"\n *ngIf=\"\n timeEvent.event?.resizable?.beforeStart &&\n !timeEvent.startsBeforeDay\n \"\n mwlResizeHandle\n [resizeEdges]=\"{\n left: true,\n top: true\n }\"\n ></div>\n <ng-template\n [ngTemplateOutlet]=\"weekEventTemplate\"\n ></ng-template>\n <ng-template #weekEventTemplate>\n <mwl-calendar-week-view-event\n [locale]=\"locale\"\n [weekEvent]=\"timeEvent\"\n [tooltipPlacement]=\"tooltipPlacement\"\n [tooltipTemplate]=\"tooltipTemplate\"\n [tooltipAppendToBody]=\"tooltipAppendToBody\"\n [tooltipDisabled]=\"dragActive || timeEventResizes.size > 0\"\n [tooltipDelay]=\"tooltipDelay\"\n [customTemplate]=\"eventTemplate\"\n [eventTitleTemplate]=\"eventTitleTemplate\"\n [eventActionsTemplate]=\"eventActionsTemplate\"\n [column]=\"column\"\n [daysInWeek]=\"daysInWeek\"\n (eventClicked)=\"\n eventClicked.emit({\n event: timeEvent.event,\n sourceEvent: $event.sourceEvent\n })\n \"\n >\n </mwl-calendar-week-view-event>\n </ng-template>\n <div\n class=\"cal-resize-handle cal-resize-handle-after-end\"\n *ngIf=\"\n timeEvent.event?.resizable?.afterEnd &&\n !timeEvent.endsAfterDay\n \"\n mwlResizeHandle\n [resizeEdges]=\"{\n right: true,\n bottom: true\n }\"\n ></div>\n </div>\n </div>\n\n <div\n *ngFor=\"\n let hour of column.hours;\n trackBy: trackByHour;\n let odd = odd\n \"\n class=\"cal-hour\"\n [class.cal-hour-odd]=\"odd\"\n >\n <mwl-calendar-week-view-hour-segment\n *ngFor=\"\n let segment of hour.segments;\n trackBy: trackByHourSegment\n \"\n [style.height.px]=\"hourSegmentHeight\"\n [segment]=\"segment\"\n [segmentHeight]=\"hourSegmentHeight\"\n [locale]=\"locale\"\n [customTemplate]=\"hourSegmentTemplate\"\n [daysInWeek]=\"daysInWeek\"\n (mwlClick)=\"\n hourSegmentClicked.emit({\n date: segment.date,\n sourceEvent: $event\n })\n \"\n [clickListenerDisabled]=\"\n hourSegmentClicked.observers.length === 0\n \"\n mwlDroppable\n [dragOverClass]=\"\n !dragActive || !snapDraggedEvents ? 'cal-drag-over' : null\n \"\n dragActiveClass=\"cal-drag-active\"\n (drop)=\"eventDropped($event, segment.date, false)\"\n (dragEnter)=\"dateDragEnter(segment.date)\"\n [isTimeLabel]=\"daysInWeek === 1\"\n >\n </mwl-calendar-week-view-hour-segment>\n </div>\n </div>\n </div>\n </div>\n </div>\n `\n }]\n }], function () { return [{ type: ɵngcc0.ChangeDetectorRef }, { type: CalendarUtils }, { type: String, decorators: [{\n type: Inject,\n args: [LOCALE_ID]\n }] }, { type: DateAdapter }]; }, { events: [{\n type: Input\n }], excludeDays: [{\n type: Input\n }], tooltipPlacement: [{\n type: Input\n }], tooltipAppendToBody: [{\n type: Input\n }], tooltipDelay: [{\n type: Input\n }], precision: [{\n type: Input\n }], snapDraggedEvents: [{\n type: Input\n }], hourSegments: [{\n type: Input\n }], hourSegmentHeight: [{\n type: Input\n }], dayStartHour: [{\n type: Input\n }], dayStartMinute: [{\n type: Input\n }], dayEndHour: [{\n type: Input\n }], dayEndMinute: [{\n type: Input\n }], dayHeaderClicked: [{\n type: Output\n }], eventClicked: [{\n type: Output\n }], eventTimesChanged: [{\n type: Output\n }], beforeViewRender: [{\n type: Output\n }], hourSegmentClicked: [{\n type: Output\n }], locale: [{\n type: Input\n }], viewDate: [{\n type: Input\n }], refresh: [{\n type: Input\n }], tooltipTemplate: [{\n type: Input\n }], weekStartsOn: [{\n type: Input\n }], headerTemplate: [{\n type: Input\n }], eventTemplate: [{\n type: Input\n }], eventTitleTemplate: [{\n type: Input\n }], eventActionsTemplate: [{\n type: Input\n }], weekendDays: [{\n type: Input\n }], hourSegmentTemplate: [{\n type: Input\n }], eventSnapSize: [{\n type: Input\n }], allDayEventsLabelTemplate: [{\n type: Input\n }], daysInWeek: [{\n type: Input\n }], currentTimeMarkerTemplate: [{\n type: Input\n }] }); })();\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(CalendarWeekViewHeaderComponent, [{\n type: Component,\n args: [{\n selector: 'mwl-calendar-week-view-header',\n template: `\n <ng-template\n #defaultTemplate\n let-days=\"days\"\n let-locale=\"locale\"\n let-dayHeaderClicked=\"dayHeaderClicked\"\n let-eventDropped=\"eventDropped\"\n let-trackByWeekDayHeaderDate=\"trackByWeekDayHeaderDate\"\n let-dragEnter=\"dragEnter\"\n >\n <div class=\"cal-day-headers\" role=\"row\">\n <div\n class=\"cal-header\"\n *ngFor=\"let day of days; trackBy: trackByWeekDayHeaderDate\"\n [class.cal-past]=\"day.isPast\"\n [class.cal-today]=\"day.isToday\"\n [class.cal-future]=\"day.isFuture\"\n [class.cal-weekend]=\"day.isWeekend\"\n [ngClass]=\"day.cssClass\"\n (mwlClick)=\"dayHeaderClicked.emit({ day: day, sourceEvent: $event })\"\n mwlDroppable\n dragOverClass=\"cal-drag-over\"\n (drop)=\"\n eventDropped.emit({\n event: $event.dropData.event,\n newStart: day.date\n })\n \"\n (dragEnter)=\"dragEnter.emit({ date: day.date })\"\n tabindex=\"0\"\n role=\"columnheader\"\n >\n <b>{{ day.date | calendarDate: 'weekViewColumnHeader':locale }}</b\n ><br />\n <span>{{\n day.date | calendarDate: 'weekViewColumnSubHeader':locale\n }}</span>\n </div>\n </div>\n </ng-template>\n <ng-template\n [ngTemplateOutlet]=\"customTemplate || defaultTemplate\"\n [ngTemplateOutletContext]=\"{\n days: days,\n locale: locale,\n dayHeaderClicked: dayHeaderClicked,\n eventDropped: eventDropped,\n dragEnter: dragEnter,\n trackByWeekDayHeaderDate: trackByWeekDayHeaderDate\n }\"\n >\n </ng-template>\n `\n }]\n }], function () { return []; }, { dayHeaderClicked: [{\n type: Output\n }], eventDropped: [{\n type: Output\n }], dragEnter: [{\n type: Output\n }], days: [{\n type: Input\n }], locale: [{\n type: Input\n }], customTemplate: [{\n type: Input\n }] }); })();\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(CalendarWeekViewEventComponent, [{\n type: Component,\n args: [{\n selector: 'mwl-calendar-week-view-event',\n template: `\n <ng-template\n #defaultTemplate\n let-weekEvent=\"weekEvent\"\n let-tooltipPlacement=\"tooltipPlacement\"\n let-eventClicked=\"eventClicked\"\n let-tooltipTemplate=\"tooltipTemplate\"\n let-tooltipAppendToBody=\"tooltipAppendToBody\"\n let-tooltipDisabled=\"tooltipDisabled\"\n let-tooltipDelay=\"tooltipDelay\"\n let-column=\"column\"\n let-daysInWeek=\"daysInWeek\"\n >\n <div\n class=\"cal-event\"\n [ngStyle]=\"{\n backgroundColor: weekEvent.event.color?.secondary,\n borderColor: weekEvent.event.color?.primary\n }\"\n [mwlCalendarTooltip]=\"\n !tooltipDisabled\n ? (weekEvent.event.title\n | calendarEventTitle\n : (daysInWeek === 1 ? 'dayTooltip' : 'weekTooltip')\n : weekEvent.tempEvent || weekEvent.event)\n : ''\n \"\n [tooltipPlacement]=\"tooltipPlacement\"\n [tooltipEvent]=\"weekEvent.tempEvent || weekEvent.event\"\n [tooltipTemplate]=\"tooltipTemplate\"\n [tooltipAppendToBody]=\"tooltipAppendToBody\"\n [tooltipDelay]=\"tooltipDelay\"\n (mwlClick)=\"eventClicked.emit({ sourceEvent: $event })\"\n (mwlKeydownEnter)=\"eventClicked.emit({ sourceEvent: $event })\"\n tabindex=\"0\"\n role=\"application\"\n [attr.aria-label]=\"\n { event: weekEvent.tempEvent || weekEvent.event, locale: locale }\n | calendarA11y: 'eventDescription'\n \"\n >\n <mwl-calendar-event-actions\n [event]=\"weekEvent.tempEvent || weekEvent.event\"\n [customTemplate]=\"eventActionsTemplate\"\n >\n </mwl-calendar-event-actions>\n &ngsp;\n <mwl-calendar-event-title\n [event]=\"weekEvent.tempEvent || weekEvent.event\"\n [customTemplate]=\"eventTitleTemplate\"\n [view]=\"daysInWeek === 1 ? 'day' : 'week'\"\n >\n </mwl-calendar-event-title>\n </div>\n </ng-template>\n <ng-template\n [ngTemplateOutlet]=\"customTemplate || defaultTemplate\"\n [ngTemplateOutletContext]=\"{\n weekEvent: weekEvent,\n tooltipPlacement: tooltipPlacement,\n eventClicked: eventClicked,\n tooltipTemplate: tooltipTemplate,\n tooltipAppendToBody: tooltipAppendToBody,\n tooltipDisabled: tooltipDisabled,\n tooltipDelay: tooltipDelay,\n column: column,\n daysInWeek: daysInWeek\n }\"\n >\n </ng-template>\n `\n }]\n }], function () { return []; }, { eventClicked: [{\n type: Output\n }], locale: [{\n type: Input\n }], weekEvent: [{\n type: Input\n }], tooltipPlacement: [{\n type: Input\n }], tooltipAppendToBody: [{\n type: Input\n }], tooltipDisabled: [{\n type: Input\n }], tooltipDelay: [{\n type: Input\n }], customTemplate: [{\n type: Input\n }], eventTitleTemplate: [{\n type: Input\n }], eventActionsTemplate: [{\n type: Input\n }], tooltipTemplate: [{\n type: Input\n }], column: [{\n type: Input\n }], daysInWeek: [{\n type: Input\n }] }); })();\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(CalendarWeekViewHourSegmentComponent, [{\n type: Component,\n args: [{\n selector: 'mwl-calendar-week-view-hour-segment',\n template: `\n <ng-template\n #defaultTemplate\n let-segment=\"segment\"\n let-locale=\"locale\"\n let-segmentHeight=\"segmentHeight\"\n let-isTimeLabel=\"isTimeLabel\"\n let-daysInWeek=\"daysInWeek\"\n >\n <div\n [attr.aria-hidden]=\"\n {}\n | calendarA11y\n : (daysInWeek === 1\n ? 'hideDayHourSegment'\n : 'hideWeekHourSegment')\n \"\n class=\"cal-hour-segment\"\n [style.height.px]=\"segmentHeight\"\n [class.cal-hour-start]=\"segment.isStart\"\n [class.cal-after-hour-start]=\"!segment.isStart\"\n [ngClass]=\"segment.cssClass\"\n >\n <div class=\"cal-time\" *ngIf=\"isTimeLabel\">\n {{\n segment.displayDate\n | calendarDate\n : (daysInWeek === 1 ? 'dayViewHour' : 'weekViewHour')\n : locale\n }}\n </div>\n </div>\n </ng-template>\n <ng-template\n [ngTemplateOutlet]=\"customTemplate || defaultTemplate\"\n [ngTemplateOutletContext]=\"{\n segment: segment,\n locale: locale,\n segmentHeight: segmentHeight,\n isTimeLabel: isTimeLabel,\n daysInWeek: daysInWeek\n }\"\n >\n </ng-template>\n `\n }]\n }], null, { segment: [{\n type: Input\n }], segmentHeight: [{\n type: Input\n }], locale: [{\n type: Input\n }], isTimeLabel: [{\n type: Input\n }], daysInWeek: [{\n type: Input\n }], customTemplate: [{\n type: Input\n }] }); })();\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(CalendarWeekViewCurrentTimeMarkerComponent, [{\n type: Component,\n args: [{\n selector: 'mwl-calendar-week-view-current-time-marker',\n template: `\n <ng-template\n #defaultTemplate\n let-columnDate=\"columnDate\"\n let-dayStartHour=\"dayStartHour\"\n let-dayStartMinute=\"dayStartMinute\"\n let-dayEndHour=\"dayEndHour\"\n let-dayEndMinute=\"dayEndMinute\"\n let-isVisible=\"isVisible\"\n let-topPx=\"topPx\"\n >\n <div\n class=\"cal-current-time-marker\"\n *ngIf=\"isVisible\"\n [style.top.px]=\"topPx\"\n ></div>\n </ng-template>\n <ng-template\n [ngTemplateOutlet]=\"customTemplate || defaultTemplate\"\n [ngTemplateOutletContext]=\"{\n columnDate: columnDate,\n dayStartHour: dayStartHour,\n dayStartMinute: dayStartMinute,\n dayEndHour: dayEndHour,\n dayEndMinute: dayEndMinute,\n isVisible: (marker$ | async)?.isVisible,\n topPx: (marker$ | async)?.top\n }\"\n >\n </ng-template>\n `\n }]\n }], function () { return [{ type: DateAdapter }, { type: ɵngcc0.NgZone }]; }, { columnDate: [{\n type: Input\n }], dayStartHour: [{\n type: Input\n }], dayStartMinute: [{\n type: Input\n }], dayEndHour: [{\n type: Input\n }], dayEndMinute: [{\n type: Input\n }], hourSegments: [{\n type: Input\n }], hourSegmentHeight: [{\n type: Input\n }], customTemplate: [{\n type: Input\n }] }); })();\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(CalendarWeekModule, [{\n type: NgModule,\n args: [{\n imports: [\n CommonModule,\n ResizableModule,\n DragAndDropModule,\n CalendarCommonModule,\n ],\n declarations: [\n CalendarWeekViewComponent,\n CalendarWeekViewHeaderComponent,\n CalendarWeekViewEventComponent,\n CalendarWeekViewHourSegmentComponent,\n CalendarWeekViewCurrentTimeMarkerComponent,\n ],\n exports: [\n ResizableModule,\n DragAndDropModule,\n CalendarWeekViewComponent,\n CalendarWeekViewHeaderComponent,\n CalendarWeekViewEventComponent,\n CalendarWeekViewHourSegmentComponent,\n CalendarWeekViewCurrentTimeMarkerComponent,\n ]\n }]\n }], null, null); })();\n(function () { (typeof ngJitMode === \"undefined\" || ngJitMode) && ɵngcc0.ɵɵsetNgModuleScope(CalendarWeekModule, { declarations: function () { return [CalendarWeekViewComponent, CalendarWeekViewHeaderComponent, CalendarWeekViewEventComponent, CalendarWeekViewHourSegmentComponent, CalendarWeekViewCurrentTimeMarkerComponent]; }, imports: function () { return [CommonModule,\n ResizableModule,\n DragAndDropModule, CalendarCommonModule]; }, exports: function () { return [ResizableModule,\n DragAndDropModule, CalendarWeekViewComponent, CalendarWeekViewHeaderComponent, CalendarWeekViewEventComponent, CalendarWeekViewHourSegmentComponent, CalendarWeekViewCurrentTimeMarkerComponent]; } }); })();\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(CalendarDayViewComponent, [{\n type: Component,\n args: [{\n selector: 'mwl-calendar-day-view',\n template: `\n <mwl-calendar-week-view\n class=\"cal-day-view\"\n [daysInWeek]=\"1\"\n [viewDate]=\"viewDate\"\n [events]=\"events\"\n [hourSegments]=\"hourSegments\"\n [hourSegmentHeight]=\"hourSegmentHeight\"\n [dayStartHour]=\"dayStartHour\"\n [dayStartMinute]=\"dayStartMinute\"\n [dayEndHour]=\"dayEndHour\"\n [dayEndMinute]=\"dayEndMinute\"\n [refresh]=\"refresh\"\n [locale]=\"locale\"\n [eventSnapSize]=\"eventSnapSize\"\n [tooltipPlacement]=\"tooltipPlacement\"\n [tooltipTemplate]=\"tooltipTemplate\"\n [tooltipAppendToBody]=\"tooltipAppendToBody\"\n [tooltipDelay]=\"tooltipDelay\"\n [hourSegmentTemplate]=\"hourSegmentTemplate\"\n [eventTemplate]=\"eventTemplate\"\n [eventTitleTemplate]=\"eventTitleTemplate\"\n [eventActionsTemplate]=\"eventActionsTemplate\"\n [snapDraggedEvents]=\"snapDraggedEvents\"\n [allDayEventsLabelTemplate]=\"allDayEventsLabelTemplate\"\n [currentTimeMarkerTemplate]=\"currentTimeMarkerTemplate\"\n (eventClicked)=\"eventClicked.emit($event)\"\n (hourSegmentClicked)=\"hourSegmentClicked.emit($event)\"\n (eventTimesChanged)=\"eventTimesChanged.emit($event)\"\n (beforeViewRender)=\"beforeViewRender.emit($event)\"\n ></mwl-calendar-week-view>\n `\n }]\n }], function () { return []; }, { events: [{\n type: Input\n }], hourSegments: [{\n type: Input\n }], hourSegmentHeight: [{\n type: Input\n }], dayStartHour: [{\n type: Input\n }], dayStartMinute: [{\n type: Input\n }], dayEndHour: [{\n type: Input\n }], dayEndMinute: [{\n type: Input\n }], tooltipPlacement: [{\n type: Input\n }], tooltipAppendToBody: [{\n type: Input\n }], tooltipDelay: [{\n type: Input\n }], snapDraggedEvents: [{\n type: Input\n }], eventClicked: [{\n type: Output\n }], hourSegmentClicked: [{\n type: Output\n }], eventTimesChanged: [{\n type: Output\n }], beforeViewRender: [{\n type: Output\n }], viewDate: [{\n type: Input\n }], refresh: [{\n type: Input\n }], locale: [{\n type: Input\n }], eventSnapSize: [{\n type: Input\n }], tooltipTemplate: [{\n type: Input\n }], hourSegmentTemplate: [{\n type: Input\n }], eventTemplate: [{\n type: Input\n }], eventTitleTemplate: [{\n type: Input\n }], eventActionsTemplate: [{\n type: Input\n }], allDayEventsLabelTemplate: [{\n type: Input\n }], currentTimeMarkerTemplate: [{\n type: Input\n }] }); })();\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(CalendarDayModule, [{\n type: NgModule,\n args: [{\n imports: [CommonModule, CalendarCommonModule, CalendarWeekModule],\n declarations: [CalendarDayViewComponent],\n exports: [CalendarDayViewComponent]\n }]\n }], null, null); })();\n(function () { (typeof ngJitMode === \"undefined\" || ngJitMode) && ɵngcc0.ɵɵsetNgModuleScope(CalendarDayModule, { declarations: function () { return [CalendarDayViewComponent]; }, imports: function () { return [CommonModule, CalendarCommonModule, CalendarWeekModule]; }, exports: function () { return [CalendarDayViewComponent]; } }); })();\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(CalendarModule, [{\n type: NgModule,\n args: [{\n imports: [\n CalendarCommonModule,\n CalendarMonthModule,\n CalendarWeekModule,\n CalendarDayModule,\n ],\n exports: [\n CalendarCommonModule,\n CalendarMonthModule,\n CalendarWeekModule,\n CalendarDayModule,\n ]\n }]\n }], null, null); })();\n(function () { (typeof ngJitMode === \"undefined\" || ngJitMode) && ɵngcc0.ɵɵsetNgModuleScope(CalendarModule, { imports: [CalendarCommonModule, CalendarMonthModule, CalendarWeekModule, CalendarDayModule], exports: [CalendarCommonModule, CalendarMonthModule, CalendarWeekModule, CalendarDayModule] }); })();\n\n/*\n * Public API Surface of angular-calendar\n */\n\n/**\n * Generated bundle index. Do not edit.\n */\n\nexport { CalendarA11y, CalendarAngularDateFormatter, CalendarCommonModule, CalendarDateFormatter, CalendarDayModule, CalendarDayViewComponent, CalendarEventTimesChangedEventType, CalendarEventTitleFormatter, CalendarModule, CalendarMomentDateFormatter, CalendarMonthModule, CalendarMonthViewComponent, CalendarNativeDateFormatter, CalendarUtils, CalendarView, CalendarWeekModule, CalendarWeekViewComponent, DateAdapter, MOMENT, collapseAnimation, getWeekViewPeriod, CalendarOpenDayEventsComponent as ɵa, CalendarEventActionsComponent as ɵb, CalendarEventTitleComponent as ɵc, CalendarTooltipWindowComponent as ɵd, CalendarTooltipDirective as ɵe, CalendarPreviousViewDirective as ɵf, CalendarNextViewDirective as ɵg, CalendarTodayDirective as ɵh, CalendarDatePipe as ɵi, CalendarEventTitlePipe as ɵj, CalendarA11yPipe as ɵk, ClickDirective as ɵl, KeydownEnterDirective as ɵm, CalendarMonthCellComponent as ɵn, CalendarMonthViewHeaderComponent as ɵo, CalendarWeekViewHeaderComponent as ɵp, CalendarWeekViewEventComponent as ɵq, CalendarWeekViewHourSegmentComponent as ɵr, CalendarWeekViewCurrentTimeMarkerComponent as ɵs };\n\n"],"mappings":"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B,EAAEC,8BAA8B,EAAEC,gCAAgC,CAAC;IAAE,CAAC;IAAE5C,OAAO,EAAE,SAAAA,CAAA,EAAY;MAAE,OAAO,CAAC9tB,YAAY,EAAEob,iBAAiB,EAAE6R,oBAAoB,CAAC;IAAE,CAAC;IAAEsN,OAAO,EAAE,SAAAA,CAAA,EAAY;MAAE,OAAO,CAACnf,iBAAiB,EAAE2S,0BAA0B,EAAEyC,0BAA0B,EAAEC,8BAA8B,EAAEC,gCAAgC,CAAC;IAAE;EAAE,CAAC,CAAC;AAAE,CAAC,EAAE,CAAC;AACtiB,CAAC,YAAY;EAAE,CAAC,OAAOyJ,SAAS,KAAK,WAAW,IAAIA,SAAS,KAAKj5B,MAAM,CAACk5B,iBAAiB,CAACzH,yBAAyB,EAAE,CAAC;IAC/GvW,IAAI,EAAEzd,SAAS;IACf0iB,IAAI,EAAE,CAAC;MACCgZ,QAAQ,EAAE,wBAAwB;MAClC1d,QAAQ,EAAG;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;IACY,CAAC;EACT,CAAC,CAAC,EAAE,YAAY;IAAE,OAAO,CAAC;MAAEP,IAAI,EAAElb,MAAM,CAACtB;IAAkB,CAAC,EAAE;MAAEwc,IAAI,EAAE2O;IAAc,CAAC,EAAE;MAAE3O,IAAI,EAAEyB,MAAM;MAAEuD,UAAU,EAAE,CAAC;QACxGhF,IAAI,EAAEnd,MAAM;QACZoiB,IAAI,EAAE,CAAC9hB,SAAS;MACpB,CAAC;IAAE,CAAC,EAAE;MAAE6c,IAAI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"},"metadata":{},"sourceType":"module"} |