@dereekb/dbx-web 8.11.0 → 8.12.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (35) hide show
  1. package/esm2020/lib/extension/calendar/calendar.component.mjs +86 -0
  2. package/esm2020/lib/extension/calendar/calendar.module.mjs +74 -0
  3. package/esm2020/lib/extension/calendar/calendar.store.mjs +107 -0
  4. package/esm2020/lib/extension/calendar/index.mjs +4 -0
  5. package/esm2020/lib/extension/index.mjs +2 -0
  6. package/esm2020/lib/index.mjs +2 -1
  7. package/esm2020/lib/layout/column/two/two.column.component.mjs +6 -7
  8. package/esm2020/lib/layout/column/two/two.column.store.mjs +10 -1
  9. package/fesm2015/dereekb-dbx-web.mjs +260 -9
  10. package/fesm2015/dereekb-dbx-web.mjs.map +1 -1
  11. package/fesm2020/dereekb-dbx-web.mjs +261 -9
  12. package/fesm2020/dereekb-dbx-web.mjs.map +1 -1
  13. package/lib/extension/_extension.scss +38 -0
  14. package/lib/extension/calendar/_calendar.scss +188 -0
  15. package/lib/extension/calendar/calendar.component.d.ts +43 -0
  16. package/lib/extension/calendar/calendar.module.d.ts +22 -0
  17. package/lib/extension/calendar/calendar.store.d.ts +67 -0
  18. package/lib/extension/calendar/index.d.ts +3 -0
  19. package/lib/extension/calendar/style/_angular-calendar.scss +23 -0
  20. package/lib/extension/calendar/style/_variables.scss +76 -0
  21. package/lib/extension/calendar/style/common/calendar-tooltip.scss +113 -0
  22. package/lib/extension/calendar/style/day/calendar-day-view.scss +34 -0
  23. package/lib/extension/calendar/style/month/calendar-month-view.scss +221 -0
  24. package/lib/extension/calendar/style/week/calendar-week-view.scss +377 -0
  25. package/lib/extension/index.d.ts +1 -0
  26. package/lib/index.d.ts +1 -0
  27. package/lib/layout/column/_column.scss +17 -5
  28. package/lib/layout/column/two/two.column.component.d.ts +1 -1
  29. package/lib/layout/column/two/two.column.store.d.ts +15 -0
  30. package/lib/style/_all-core.scss +3 -1
  31. package/lib/style/_all-theme.scss +2 -0
  32. package/lib/style/_all-typography.scss +3 -1
  33. package/lib/style/_config.scss +30 -1
  34. package/lib/style/_core.scss +2 -3
  35. package/package.json +4 -3
@@ -0,0 +1,86 @@
1
+ import { Component, EventEmitter, Output } from '@angular/core';
2
+ import { isSameMonth } from 'date-fns';
3
+ import { DbxCalendarStore } from './calendar.store';
4
+ import { map, shareReplay, withLatestFrom } from 'rxjs/operators';
5
+ import { formatToTimeAndDurationString } from '@dereekb/date';
6
+ import * as i0 from "@angular/core";
7
+ import * as i1 from "./calendar.store";
8
+ import * as i2 from "@angular/material/button";
9
+ import * as i3 from "@angular/material/icon";
10
+ import * as i4 from "@angular/material/button-toggle";
11
+ import * as i5 from "angular-calendar";
12
+ import * as i6 from "@angular/flex-layout/flex";
13
+ import * as i7 from "../../button/button.spacer.component";
14
+ import * as i8 from "@angular/common";
15
+ import * as i9 from "@angular/flex-layout/extended";
16
+ function timeSubtitleForEvent(event) {
17
+ let subtitle;
18
+ if (event.allDay) {
19
+ subtitle = `(All Day)`;
20
+ }
21
+ else {
22
+ subtitle = formatToTimeAndDurationString(event.start, event.end ?? new Date());
23
+ }
24
+ return subtitle;
25
+ }
26
+ export class DbxCalendarComponent {
27
+ constructor(calendarStore) {
28
+ this.calendarStore = calendarStore;
29
+ this.clickEvent = new EventEmitter();
30
+ this.viewDate$ = this.calendarStore.date$;
31
+ this.events$ = this.calendarStore.visibleEvents$.pipe(map((events) => {
32
+ return events
33
+ .map((event) => {
34
+ const subtitle = timeSubtitleForEvent(event);
35
+ let title;
36
+ if (event.allDay) {
37
+ title = event.title + ' ' + subtitle;
38
+ }
39
+ else {
40
+ title = `${event.title} - ${subtitle}`;
41
+ }
42
+ return {
43
+ ...event,
44
+ title
45
+ };
46
+ })
47
+ .sort((a, b) => {
48
+ return a.start.getTime() - b.start.getTime();
49
+ });
50
+ }), shareReplay(1));
51
+ this.activeDayIsOpen$ = this.calendarStore.eventsForDateState$.pipe(withLatestFrom(this.calendarStore.date$), map(([x, date]) => {
52
+ if (x.events.length && isSameMonth(x.date, date)) {
53
+ return !x.dateTappedTwice;
54
+ }
55
+ return false;
56
+ }));
57
+ this.displayType$ = this.calendarStore.displayType$;
58
+ }
59
+ todayClicked() {
60
+ this.dayClicked({ date: new Date() });
61
+ }
62
+ nextButtonClicked() {
63
+ this.calendarStore.tapNext();
64
+ }
65
+ previousButtonClicked() {
66
+ this.calendarStore.tapPrevious();
67
+ }
68
+ dayClicked({ date }) {
69
+ this.calendarStore.tapDay(date);
70
+ }
71
+ eventClicked(action, event) {
72
+ this.clickEvent.emit({ action, event });
73
+ }
74
+ typeToggleChanged(event) {
75
+ this.calendarStore.setDisplayType(event.value);
76
+ }
77
+ }
78
+ DbxCalendarComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxCalendarComponent, deps: [{ token: i1.DbxCalendarStore }], target: i0.ɵɵFactoryTarget.Component });
79
+ DbxCalendarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.2", type: DbxCalendarComponent, selector: "dbx-calendar", outputs: { clickEvent: "clickEvent" }, ngImport: i0, template: "<div class=\"dbx-calendar\">\n <h3 class=\"dbx-calendar-title\">{{ (viewDate$ | async)! | calendarDate: (displayType$ | async) + 'ViewTitle':'en' }}</h3>\n <div class=\"dbx-calendar-header\">\n <div class=\"dbx-calendar-controls\" fxLayout=\"row\">\n <span class=\"dbx-calendar-controls-left\" fxFlex=\"nogrow\">\n <button mat-stroked-button (click)=\"todayClicked()\">Today</button>\n <dbx-button-spacer></dbx-button-spacer>\n <button mat-icon-button [attr.aria-label]=\"'Previous ' + (displayType$ | async) + ' button'\" (click)=\"previousButtonClicked()\">\n <mat-icon>navigate_before</mat-icon>\n </button>\n <button mat-icon-button [attr.aria-label]=\"'Next' + (displayType$ | async)! + ' button'\" (click)=\"nextButtonClicked()\">\n <mat-icon>navigate_next</mat-icon>\n </button>\n </span>\n <span class=\"spacer\"></span>\n <span class=\"dbx-calendar-controls-right\" fxFlex=\"nogrow\">\n <mat-button-toggle-group name=\"calendarDisplayStyle\" [value]=\"(displayType$ | async)!\" (change)=\"typeToggleChanged($event)\" aria-label=\"Display Style\">\n <mat-button-toggle value=\"month\">Month</mat-button-toggle>\n <mat-button-toggle value=\"week\">Week</mat-button-toggle>\n <mat-button-toggle value=\"day\">Day</mat-button-toggle>\n </mat-button-toggle-group>\n </span>\n </div>\n </div>\n <div class=\"dbx-calendar-content\" [ngClass]=\"'dbx-calendar-content-' + (displayType$ | async)!\" [ngSwitch]=\"displayType$ | async\">\n <mwl-calendar-month-view *ngSwitchCase=\"'month'\" [viewDate]=\"(viewDate$ | async)!\" [events]=\"(events$ | async)!\" [activeDayIsOpen]=\"(activeDayIsOpen$ | async)!\" (dayClicked)=\"dayClicked($event.day)\" (eventClicked)=\"eventClicked('Clicked', $event.event)\"></mwl-calendar-month-view>\n <mwl-calendar-week-view *ngSwitchCase=\"'week'\" [viewDate]=\"(viewDate$ | async)!\" [events]=\"(events$ | async)!\" (eventClicked)=\"eventClicked('Clicked', $event.event)\"></mwl-calendar-week-view>\n <mwl-calendar-day-view *ngSwitchCase=\"'day'\" [viewDate]=\"(viewDate$ | async)!\" [events]=\"(events$ | async)!\" (eventClicked)=\"eventClicked('Clicked', $event.event)\"></mwl-calendar-day-view>\n </div>\n</div>\n", components: [{ type: i2.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { type: i3.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { type: i4.MatButtonToggle, selector: "mat-button-toggle", inputs: ["disableRipple", "aria-label", "aria-labelledby", "id", "name", "value", "tabIndex", "appearance", "checked", "disabled"], outputs: ["change"], exportAs: ["matButtonToggle"] }, { type: i5.CalendarMonthViewComponent, selector: "mwl-calendar-month-view", inputs: ["viewDate", "events", "excludeDays", "activeDayIsOpen", "activeDay", "refresh", "locale", "tooltipPlacement", "tooltipTemplate", "tooltipAppendToBody", "tooltipDelay", "weekStartsOn", "headerTemplate", "cellTemplate", "openDayEventsTemplate", "eventTitleTemplate", "eventActionsTemplate", "weekendDays"], outputs: ["beforeViewRender", "dayClicked", "eventClicked", "columnHeaderClicked", "eventTimesChanged"] }, { type: i5.CalendarWeekViewComponent, selector: "mwl-calendar-week-view", inputs: ["viewDate", "events", "excludeDays", "refresh", "locale", "tooltipPlacement", "tooltipTemplate", "tooltipAppendToBody", "tooltipDelay", "weekStartsOn", "headerTemplate", "eventTemplate", "eventTitleTemplate", "eventActionsTemplate", "precision", "weekendDays", "snapDraggedEvents", "hourSegments", "hourDuration", "hourSegmentHeight", "minimumEventHeight", "dayStartHour", "dayStartMinute", "dayEndHour", "dayEndMinute", "hourSegmentTemplate", "eventSnapSize", "allDayEventsLabelTemplate", "daysInWeek", "currentTimeMarkerTemplate", "validateEventTimesChanged"], outputs: ["dayHeaderClicked", "eventClicked", "eventTimesChanged", "beforeViewRender", "hourSegmentClicked"] }, { type: i5.CalendarDayViewComponent, selector: "mwl-calendar-day-view", inputs: ["viewDate", "events", "hourSegments", "hourSegmentHeight", "hourDuration", "minimumEventHeight", "dayStartHour", "dayStartMinute", "dayEndHour", "dayEndMinute", "refresh", "locale", "eventSnapSize", "tooltipPlacement", "tooltipTemplate", "tooltipAppendToBody", "tooltipDelay", "hourSegmentTemplate", "eventTemplate", "eventTitleTemplate", "eventActionsTemplate", "snapDraggedEvents", "allDayEventsLabelTemplate", "currentTimeMarkerTemplate", "validateEventTimesChanged"], outputs: ["eventClicked", "hourSegmentClicked", "eventTimesChanged", "beforeViewRender"] }], directives: [{ type: i6.DefaultLayoutDirective, selector: " [fxLayout], [fxLayout.xs], [fxLayout.sm], [fxLayout.md], [fxLayout.lg], [fxLayout.xl], [fxLayout.lt-sm], [fxLayout.lt-md], [fxLayout.lt-lg], [fxLayout.lt-xl], [fxLayout.gt-xs], [fxLayout.gt-sm], [fxLayout.gt-md], [fxLayout.gt-lg]", inputs: ["fxLayout", "fxLayout.xs", "fxLayout.sm", "fxLayout.md", "fxLayout.lg", "fxLayout.xl", "fxLayout.lt-sm", "fxLayout.lt-md", "fxLayout.lt-lg", "fxLayout.lt-xl", "fxLayout.gt-xs", "fxLayout.gt-sm", "fxLayout.gt-md", "fxLayout.gt-lg"] }, { type: i6.DefaultFlexDirective, selector: " [fxFlex], [fxFlex.xs], [fxFlex.sm], [fxFlex.md], [fxFlex.lg], [fxFlex.xl], [fxFlex.lt-sm], [fxFlex.lt-md], [fxFlex.lt-lg], [fxFlex.lt-xl], [fxFlex.gt-xs], [fxFlex.gt-sm], [fxFlex.gt-md], [fxFlex.gt-lg]", inputs: ["fxFlex", "fxFlex.xs", "fxFlex.sm", "fxFlex.md", "fxFlex.lg", "fxFlex.xl", "fxFlex.lt-sm", "fxFlex.lt-md", "fxFlex.lt-lg", "fxFlex.lt-xl", "fxFlex.gt-xs", "fxFlex.gt-sm", "fxFlex.gt-md", "fxFlex.gt-lg"] }, { type: i7.DbxButtonSpacerDirective, selector: "dbx-button-spacer,[dbxButtonSpacer]" }, { type: i4.MatButtonToggleGroup, selector: "mat-button-toggle-group", inputs: ["appearance", "name", "vertical", "value", "multiple", "disabled"], outputs: ["valueChange", "change"], exportAs: ["matButtonToggleGroup"] }, { type: i8.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i9.DefaultClassDirective, selector: " [ngClass], [ngClass.xs], [ngClass.sm], [ngClass.md], [ngClass.lg], [ngClass.xl], [ngClass.lt-sm], [ngClass.lt-md], [ngClass.lt-lg], [ngClass.lt-xl], [ngClass.gt-xs], [ngClass.gt-sm], [ngClass.gt-md], [ngClass.gt-lg]", inputs: ["ngClass", "ngClass.xs", "ngClass.sm", "ngClass.md", "ngClass.lg", "ngClass.xl", "ngClass.lt-sm", "ngClass.lt-md", "ngClass.lt-lg", "ngClass.lt-xl", "ngClass.gt-xs", "ngClass.gt-sm", "ngClass.gt-md", "ngClass.gt-lg"] }, { type: i8.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { type: i8.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }], pipes: { "calendarDate": i5.ɵCalendarDatePipe, "async": i8.AsyncPipe } });
80
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxCalendarComponent, decorators: [{
81
+ type: Component,
82
+ args: [{ selector: 'dbx-calendar', template: "<div class=\"dbx-calendar\">\n <h3 class=\"dbx-calendar-title\">{{ (viewDate$ | async)! | calendarDate: (displayType$ | async) + 'ViewTitle':'en' }}</h3>\n <div class=\"dbx-calendar-header\">\n <div class=\"dbx-calendar-controls\" fxLayout=\"row\">\n <span class=\"dbx-calendar-controls-left\" fxFlex=\"nogrow\">\n <button mat-stroked-button (click)=\"todayClicked()\">Today</button>\n <dbx-button-spacer></dbx-button-spacer>\n <button mat-icon-button [attr.aria-label]=\"'Previous ' + (displayType$ | async) + ' button'\" (click)=\"previousButtonClicked()\">\n <mat-icon>navigate_before</mat-icon>\n </button>\n <button mat-icon-button [attr.aria-label]=\"'Next' + (displayType$ | async)! + ' button'\" (click)=\"nextButtonClicked()\">\n <mat-icon>navigate_next</mat-icon>\n </button>\n </span>\n <span class=\"spacer\"></span>\n <span class=\"dbx-calendar-controls-right\" fxFlex=\"nogrow\">\n <mat-button-toggle-group name=\"calendarDisplayStyle\" [value]=\"(displayType$ | async)!\" (change)=\"typeToggleChanged($event)\" aria-label=\"Display Style\">\n <mat-button-toggle value=\"month\">Month</mat-button-toggle>\n <mat-button-toggle value=\"week\">Week</mat-button-toggle>\n <mat-button-toggle value=\"day\">Day</mat-button-toggle>\n </mat-button-toggle-group>\n </span>\n </div>\n </div>\n <div class=\"dbx-calendar-content\" [ngClass]=\"'dbx-calendar-content-' + (displayType$ | async)!\" [ngSwitch]=\"displayType$ | async\">\n <mwl-calendar-month-view *ngSwitchCase=\"'month'\" [viewDate]=\"(viewDate$ | async)!\" [events]=\"(events$ | async)!\" [activeDayIsOpen]=\"(activeDayIsOpen$ | async)!\" (dayClicked)=\"dayClicked($event.day)\" (eventClicked)=\"eventClicked('Clicked', $event.event)\"></mwl-calendar-month-view>\n <mwl-calendar-week-view *ngSwitchCase=\"'week'\" [viewDate]=\"(viewDate$ | async)!\" [events]=\"(events$ | async)!\" (eventClicked)=\"eventClicked('Clicked', $event.event)\"></mwl-calendar-week-view>\n <mwl-calendar-day-view *ngSwitchCase=\"'day'\" [viewDate]=\"(viewDate$ | async)!\" [events]=\"(events$ | async)!\" (eventClicked)=\"eventClicked('Clicked', $event.event)\"></mwl-calendar-day-view>\n </div>\n</div>\n" }]
83
+ }], ctorParameters: function () { return [{ type: i1.DbxCalendarStore }]; }, propDecorators: { clickEvent: [{
84
+ type: Output
85
+ }] } });
86
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FsZW5kYXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZGJ4LXdlYi9zcmMvbGliL2V4dGVuc2lvbi9jYWxlbmRhci9jYWxlbmRhci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9kYngtd2ViL3NyYy9saWIvZXh0ZW5zaW9uL2NhbGVuZGFyL2NhbGVuZGFyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNoRSxPQUFPLEVBQUUsV0FBVyxFQUErQixNQUFNLFVBQVUsQ0FBQztBQUVwRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQXNDLE1BQU0sa0JBQWtCLENBQUM7QUFDeEYsT0FBTyxFQUFFLEdBQUcsRUFBRSxXQUFXLEVBQUUsY0FBYyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFbEUsT0FBTyxFQUFFLDZCQUE2QixFQUFFLE1BQU0sZUFBZSxDQUFDOzs7Ozs7Ozs7OztBQU85RCxTQUFTLG9CQUFvQixDQUFDLEtBQW9CO0lBQ2hELElBQUksUUFBUSxDQUFDO0lBRWIsSUFBSSxLQUFLLENBQUMsTUFBTSxFQUFFO1FBQ2hCLFFBQVEsR0FBRyxXQUFXLENBQUM7S0FDeEI7U0FBTTtRQUNMLFFBQVEsR0FBRyw2QkFBNkIsQ0FBQyxLQUFLLENBQUMsS0FBSyxFQUFFLEtBQUssQ0FBQyxHQUFHLElBQUksSUFBSSxJQUFJLEVBQUUsQ0FBQyxDQUFDO0tBQ2hGO0lBRUQsT0FBTyxRQUFRLENBQUM7QUFDbEIsQ0FBQztBQU1ELE1BQU0sT0FBTyxvQkFBb0I7SUE0Qy9CLFlBQTRCLGFBQWtDO1FBQWxDLGtCQUFhLEdBQWIsYUFBYSxDQUFxQjtRQTFDOUQsZUFBVSxHQUFHLElBQUksWUFBWSxFQUF1QixDQUFDO1FBRTVDLGNBQVMsR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQztRQUVyQyxZQUFPLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUN2RCxHQUFHLENBQUMsQ0FBQyxNQUF1QixFQUFFLEVBQUU7WUFDOUIsT0FBTyxNQUFNO2lCQUNWLEdBQUcsQ0FBQyxDQUFDLEtBQW9CLEVBQUUsRUFBRTtnQkFDNUIsTUFBTSxRQUFRLEdBQUcsb0JBQW9CLENBQUMsS0FBSyxDQUFDLENBQUM7Z0JBQzdDLElBQUksS0FBSyxDQUFDO2dCQUVWLElBQUksS0FBSyxDQUFDLE1BQU0sRUFBRTtvQkFDaEIsS0FBSyxHQUFHLEtBQUssQ0FBQyxLQUFLLEdBQUcsR0FBRyxHQUFHLFFBQVEsQ0FBQztpQkFDdEM7cUJBQU07b0JBQ0wsS0FBSyxHQUFHLEdBQUcsS0FBSyxDQUFDLEtBQUssTUFBTSxRQUFRLEVBQUUsQ0FBQztpQkFDeEM7Z0JBRUQsT0FBTztvQkFDTCxHQUFHLEtBQUs7b0JBQ1IsS0FBSztpQkFDTixDQUFDO1lBQ0osQ0FBQyxDQUFDO2lCQUNELElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRTtnQkFDYixPQUFPLENBQUMsQ0FBQyxLQUFLLENBQUMsT0FBTyxFQUFFLEdBQUcsQ0FBQyxDQUFDLEtBQUssQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUMvQyxDQUFDLENBQUMsQ0FBQztRQUNQLENBQUMsQ0FBQyxFQUNGLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FDZixDQUFDO1FBRU8scUJBQWdCLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLENBQ3JFLGNBQWMsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxFQUN4QyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxJQUFJLENBQUMsRUFBRSxFQUFFO1lBQ2hCLElBQUksQ0FBQyxDQUFDLE1BQU0sQ0FBQyxNQUFNLElBQUksV0FBVyxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLEVBQUU7Z0JBQ2hELE9BQU8sQ0FBQyxDQUFDLENBQUMsZUFBZSxDQUFDO2FBQzNCO1lBRUQsT0FBTyxLQUFLLENBQUM7UUFDZixDQUFDLENBQUMsQ0FDSCxDQUFDO1FBRU8saUJBQVksR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLFlBQVksQ0FBQztJQUVTLENBQUM7SUFFbEUsWUFBWTtRQUNWLElBQUksQ0FBQyxVQUFVLENBQUMsRUFBRSxJQUFJLEVBQUUsSUFBSSxJQUFJLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFDeEMsQ0FBQztJQUVELGlCQUFpQjtRQUNmLElBQUksQ0FBQyxhQUFhLENBQUMsT0FBTyxFQUFFLENBQUM7SUFDL0IsQ0FBQztJQUVELHFCQUFxQjtRQUNuQixJQUFJLENBQUMsYUFBYSxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQ25DLENBQUM7SUFFRCxVQUFVLENBQUMsRUFBRSxJQUFJLEVBQWtCO1FBQ2pDLElBQUksQ0FBQyxhQUFhLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ2xDLENBQUM7SUFFRCxZQUFZLENBQUMsTUFBYyxFQUFFLEtBQXVCO1FBQ2xELElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUM7SUFDMUMsQ0FBQztJQUVELGlCQUFpQixDQUFDLEtBQTRCO1FBQzVDLElBQUksQ0FBQyxhQUFhLENBQUMsY0FBYyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNqRCxDQUFDOztpSEFwRVUsb0JBQW9CO3FHQUFwQixvQkFBb0IsMkZDN0JqQyx5dkVBOEJBOzJGRERhLG9CQUFvQjtrQkFKaEMsU0FBUzsrQkFDRSxjQUFjO3VHQUt4QixVQUFVO3NCQURULE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBpc1NhbWVNb250aCwgZm9ybWF0LCBkaWZmZXJlbmNlSW5NaW51dGVzIH0gZnJvbSAnZGF0ZS1mbnMnO1xuaW1wb3J0IHsgQ2FsZW5kYXJFdmVudCB9IGZyb20gJ2FuZ3VsYXItY2FsZW5kYXInO1xuaW1wb3J0IHsgRGJ4Q2FsZW5kYXJTdG9yZSwgQ2FsZW5kYXJEaXNwbGF5VHlwZSwgQ2FsZW5kYXJTdGF0ZSB9IGZyb20gJy4vY2FsZW5kYXIuc3RvcmUnO1xuaW1wb3J0IHsgbWFwLCBzaGFyZVJlcGxheSwgd2l0aExhdGVzdEZyb20gfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBNYXRCdXR0b25Ub2dnbGVDaGFuZ2UgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9idXR0b24tdG9nZ2xlJztcbmltcG9ydCB7IGZvcm1hdFRvVGltZUFuZER1cmF0aW9uU3RyaW5nIH0gZnJvbSAnQGRlcmVla2IvZGF0ZSc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgRGJ4Q2FsZW5kYXJFdmVudDxUPiB7XG4gIGV2ZW50OiBDYWxlbmRhckV2ZW50PFQ+O1xuICBhY3Rpb24/OiBzdHJpbmc7XG59XG5cbmZ1bmN0aW9uIHRpbWVTdWJ0aXRsZUZvckV2ZW50KGV2ZW50OiBDYWxlbmRhckV2ZW50KTogc3RyaW5nIHtcbiAgbGV0IHN1YnRpdGxlO1xuXG4gIGlmIChldmVudC5hbGxEYXkpIHtcbiAgICBzdWJ0aXRsZSA9IGAoQWxsIERheSlgO1xuICB9IGVsc2Uge1xuICAgIHN1YnRpdGxlID0gZm9ybWF0VG9UaW1lQW5kRHVyYXRpb25TdHJpbmcoZXZlbnQuc3RhcnQsIGV2ZW50LmVuZCA/PyBuZXcgRGF0ZSgpKTtcbiAgfVxuXG4gIHJldHVybiBzdWJ0aXRsZTtcbn1cblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZGJ4LWNhbGVuZGFyJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2NhbGVuZGFyLmNvbXBvbmVudC5odG1sJ1xufSlcbmV4cG9ydCBjbGFzcyBEYnhDYWxlbmRhckNvbXBvbmVudDxUPiB7XG4gIEBPdXRwdXQoKVxuICBjbGlja0V2ZW50ID0gbmV3IEV2ZW50RW1pdHRlcjxEYnhDYWxlbmRhckV2ZW50PFQ+PigpO1xuXG4gIHJlYWRvbmx5IHZpZXdEYXRlJCA9IHRoaXMuY2FsZW5kYXJTdG9yZS5kYXRlJDtcblxuICByZWFkb25seSBldmVudHMkID0gdGhpcy5jYWxlbmRhclN0b3JlLnZpc2libGVFdmVudHMkLnBpcGUoXG4gICAgbWFwKChldmVudHM6IENhbGVuZGFyRXZlbnRbXSkgPT4ge1xuICAgICAgcmV0dXJuIGV2ZW50c1xuICAgICAgICAubWFwKChldmVudDogQ2FsZW5kYXJFdmVudCkgPT4ge1xuICAgICAgICAgIGNvbnN0IHN1YnRpdGxlID0gdGltZVN1YnRpdGxlRm9yRXZlbnQoZXZlbnQpO1xuICAgICAgICAgIGxldCB0aXRsZTtcblxuICAgICAgICAgIGlmIChldmVudC5hbGxEYXkpIHtcbiAgICAgICAgICAgIHRpdGxlID0gZXZlbnQudGl0bGUgKyAnICcgKyBzdWJ0aXRsZTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGl0bGUgPSBgJHtldmVudC50aXRsZX0gLSAke3N1YnRpdGxlfWA7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIC4uLmV2ZW50LFxuICAgICAgICAgICAgdGl0bGVcbiAgICAgICAgICB9O1xuICAgICAgICB9KVxuICAgICAgICAuc29ydCgoYSwgYikgPT4ge1xuICAgICAgICAgIHJldHVybiBhLnN0YXJ0LmdldFRpbWUoKSAtIGIuc3RhcnQuZ2V0VGltZSgpO1xuICAgICAgICB9KTtcbiAgICB9KSxcbiAgICBzaGFyZVJlcGxheSgxKVxuICApO1xuXG4gIHJlYWRvbmx5IGFjdGl2ZURheUlzT3BlbiQgPSB0aGlzLmNhbGVuZGFyU3RvcmUuZXZlbnRzRm9yRGF0ZVN0YXRlJC5waXBlKFxuICAgIHdpdGhMYXRlc3RGcm9tKHRoaXMuY2FsZW5kYXJTdG9yZS5kYXRlJCksXG4gICAgbWFwKChbeCwgZGF0ZV0pID0+IHtcbiAgICAgIGlmICh4LmV2ZW50cy5sZW5ndGggJiYgaXNTYW1lTW9udGgoeC5kYXRlLCBkYXRlKSkge1xuICAgICAgICByZXR1cm4gIXguZGF0ZVRhcHBlZFR3aWNlO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfSlcbiAgKTtcblxuICByZWFkb25seSBkaXNwbGF5VHlwZSQgPSB0aGlzLmNhbGVuZGFyU3RvcmUuZGlzcGxheVR5cGUkO1xuXG4gIGNvbnN0cnVjdG9yKHB1YmxpYyByZWFkb25seSBjYWxlbmRhclN0b3JlOiBEYnhDYWxlbmRhclN0b3JlPFQ+KSB7fVxuXG4gIHRvZGF5Q2xpY2tlZCgpOiB2b2lkIHtcbiAgICB0aGlzLmRheUNsaWNrZWQoeyBkYXRlOiBuZXcgRGF0ZSgpIH0pO1xuICB9XG5cbiAgbmV4dEJ1dHRvbkNsaWNrZWQoKTogdm9pZCB7XG4gICAgdGhpcy5jYWxlbmRhclN0b3JlLnRhcE5leHQoKTtcbiAgfVxuXG4gIHByZXZpb3VzQnV0dG9uQ2xpY2tlZCgpOiB2b2lkIHtcbiAgICB0aGlzLmNhbGVuZGFyU3RvcmUudGFwUHJldmlvdXMoKTtcbiAgfVxuXG4gIGRheUNsaWNrZWQoeyBkYXRlIH06IHsgZGF0ZTogRGF0ZSB9KTogdm9pZCB7XG4gICAgdGhpcy5jYWxlbmRhclN0b3JlLnRhcERheShkYXRlKTtcbiAgfVxuXG4gIGV2ZW50Q2xpY2tlZChhY3Rpb246IHN0cmluZywgZXZlbnQ6IENhbGVuZGFyRXZlbnQ8VD4pOiB2b2lkIHtcbiAgICB0aGlzLmNsaWNrRXZlbnQuZW1pdCh7IGFjdGlvbiwgZXZlbnQgfSk7XG4gIH1cblxuICB0eXBlVG9nZ2xlQ2hhbmdlZChldmVudDogTWF0QnV0dG9uVG9nZ2xlQ2hhbmdlKTogdm9pZCB7XG4gICAgdGhpcy5jYWxlbmRhclN0b3JlLnNldERpc3BsYXlUeXBlKGV2ZW50LnZhbHVlKTtcbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cImRieC1jYWxlbmRhclwiPlxuICA8aDMgY2xhc3M9XCJkYngtY2FsZW5kYXItdGl0bGVcIj57eyAodmlld0RhdGUkIHwgYXN5bmMpISB8IGNhbGVuZGFyRGF0ZTogKGRpc3BsYXlUeXBlJCB8IGFzeW5jKSArICdWaWV3VGl0bGUnOidlbicgfX08L2gzPlxuICA8ZGl2IGNsYXNzPVwiZGJ4LWNhbGVuZGFyLWhlYWRlclwiPlxuICAgIDxkaXYgY2xhc3M9XCJkYngtY2FsZW5kYXItY29udHJvbHNcIiBmeExheW91dD1cInJvd1wiPlxuICAgICAgPHNwYW4gY2xhc3M9XCJkYngtY2FsZW5kYXItY29udHJvbHMtbGVmdFwiIGZ4RmxleD1cIm5vZ3Jvd1wiPlxuICAgICAgICA8YnV0dG9uIG1hdC1zdHJva2VkLWJ1dHRvbiAoY2xpY2spPVwidG9kYXlDbGlja2VkKClcIj5Ub2RheTwvYnV0dG9uPlxuICAgICAgICA8ZGJ4LWJ1dHRvbi1zcGFjZXI+PC9kYngtYnV0dG9uLXNwYWNlcj5cbiAgICAgICAgPGJ1dHRvbiBtYXQtaWNvbi1idXR0b24gW2F0dHIuYXJpYS1sYWJlbF09XCInUHJldmlvdXMgJyArIChkaXNwbGF5VHlwZSQgfCBhc3luYykgKyAnIGJ1dHRvbidcIiAoY2xpY2spPVwicHJldmlvdXNCdXR0b25DbGlja2VkKClcIj5cbiAgICAgICAgICA8bWF0LWljb24+bmF2aWdhdGVfYmVmb3JlPC9tYXQtaWNvbj5cbiAgICAgICAgPC9idXR0b24+XG4gICAgICAgIDxidXR0b24gbWF0LWljb24tYnV0dG9uIFthdHRyLmFyaWEtbGFiZWxdPVwiJ05leHQnICsgKGRpc3BsYXlUeXBlJCB8IGFzeW5jKSEgKyAnIGJ1dHRvbidcIiAoY2xpY2spPVwibmV4dEJ1dHRvbkNsaWNrZWQoKVwiPlxuICAgICAgICAgIDxtYXQtaWNvbj5uYXZpZ2F0ZV9uZXh0PC9tYXQtaWNvbj5cbiAgICAgICAgPC9idXR0b24+XG4gICAgICA8L3NwYW4+XG4gICAgICA8c3BhbiBjbGFzcz1cInNwYWNlclwiPjwvc3Bhbj5cbiAgICAgIDxzcGFuIGNsYXNzPVwiZGJ4LWNhbGVuZGFyLWNvbnRyb2xzLXJpZ2h0XCIgZnhGbGV4PVwibm9ncm93XCI+XG4gICAgICAgIDxtYXQtYnV0dG9uLXRvZ2dsZS1ncm91cCBuYW1lPVwiY2FsZW5kYXJEaXNwbGF5U3R5bGVcIiBbdmFsdWVdPVwiKGRpc3BsYXlUeXBlJCB8IGFzeW5jKSFcIiAoY2hhbmdlKT1cInR5cGVUb2dnbGVDaGFuZ2VkKCRldmVudClcIiBhcmlhLWxhYmVsPVwiRGlzcGxheSBTdHlsZVwiPlxuICAgICAgICAgIDxtYXQtYnV0dG9uLXRvZ2dsZSB2YWx1ZT1cIm1vbnRoXCI+TW9udGg8L21hdC1idXR0b24tdG9nZ2xlPlxuICAgICAgICAgIDxtYXQtYnV0dG9uLXRvZ2dsZSB2YWx1ZT1cIndlZWtcIj5XZWVrPC9tYXQtYnV0dG9uLXRvZ2dsZT5cbiAgICAgICAgICA8bWF0LWJ1dHRvbi10b2dnbGUgdmFsdWU9XCJkYXlcIj5EYXk8L21hdC1idXR0b24tdG9nZ2xlPlxuICAgICAgICA8L21hdC1idXR0b24tdG9nZ2xlLWdyb3VwPlxuICAgICAgPC9zcGFuPlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbiAgPGRpdiBjbGFzcz1cImRieC1jYWxlbmRhci1jb250ZW50XCIgW25nQ2xhc3NdPVwiJ2RieC1jYWxlbmRhci1jb250ZW50LScgKyAoZGlzcGxheVR5cGUkIHwgYXN5bmMpIVwiIFtuZ1N3aXRjaF09XCJkaXNwbGF5VHlwZSQgfCBhc3luY1wiPlxuICAgIDxtd2wtY2FsZW5kYXItbW9udGgtdmlldyAqbmdTd2l0Y2hDYXNlPVwiJ21vbnRoJ1wiIFt2aWV3RGF0ZV09XCIodmlld0RhdGUkIHwgYXN5bmMpIVwiIFtldmVudHNdPVwiKGV2ZW50cyQgfCBhc3luYykhXCIgW2FjdGl2ZURheUlzT3Blbl09XCIoYWN0aXZlRGF5SXNPcGVuJCB8IGFzeW5jKSFcIiAoZGF5Q2xpY2tlZCk9XCJkYXlDbGlja2VkKCRldmVudC5kYXkpXCIgKGV2ZW50Q2xpY2tlZCk9XCJldmVudENsaWNrZWQoJ0NsaWNrZWQnLCAkZXZlbnQuZXZlbnQpXCI+PC9td2wtY2FsZW5kYXItbW9udGgtdmlldz5cbiAgICA8bXdsLWNhbGVuZGFyLXdlZWstdmlldyAqbmdTd2l0Y2hDYXNlPVwiJ3dlZWsnXCIgW3ZpZXdEYXRlXT1cIih2aWV3RGF0ZSQgfCBhc3luYykhXCIgW2V2ZW50c109XCIoZXZlbnRzJCB8IGFzeW5jKSFcIiAoZXZlbnRDbGlja2VkKT1cImV2ZW50Q2xpY2tlZCgnQ2xpY2tlZCcsICRldmVudC5ldmVudClcIj48L213bC1jYWxlbmRhci13ZWVrLXZpZXc+XG4gICAgPG13bC1jYWxlbmRhci1kYXktdmlldyAqbmdTd2l0Y2hDYXNlPVwiJ2RheSdcIiBbdmlld0RhdGVdPVwiKHZpZXdEYXRlJCB8IGFzeW5jKSFcIiBbZXZlbnRzXT1cIihldmVudHMkIHwgYXN5bmMpIVwiIChldmVudENsaWNrZWQpPVwiZXZlbnRDbGlja2VkKCdDbGlja2VkJywgJGV2ZW50LmV2ZW50KVwiPjwvbXdsLWNhbGVuZGFyLWRheS12aWV3PlxuICA8L2Rpdj5cbjwvZGl2PlxuIl19
@@ -0,0 +1,74 @@
1
+ import { NgModule } from '@angular/core';
2
+ import { DbxCalendarComponent } from './calendar.component';
3
+ import { CalendarDayModule, CalendarModule, CalendarWeekModule, DateAdapter } from 'angular-calendar';
4
+ import { CommonModule } from '@angular/common';
5
+ import { DbxButtonModule } from '../../button/button.module';
6
+ import { MatIconModule } from '@angular/material/icon';
7
+ import { MatButtonToggleModule } from '@angular/material/button-toggle';
8
+ import { adapterFactory as dateAdapterFactory } from 'angular-calendar/date-adapters/date-fns';
9
+ import { MatButtonModule } from '@angular/material/button';
10
+ import { FlexLayoutModule } from '@angular/flex-layout';
11
+ import * as i0 from "@angular/core";
12
+ import * as i1 from "angular-calendar";
13
+ const declarations = [DbxCalendarComponent];
14
+ export class DbxCalendarModule {
15
+ }
16
+ DbxCalendarModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxCalendarModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
17
+ DbxCalendarModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxCalendarModule, declarations: [DbxCalendarComponent], imports: [
18
+ //
19
+ CommonModule,
20
+ MatIconModule,
21
+ MatButtonModule,
22
+ MatButtonToggleModule,
23
+ CalendarModule,
24
+ CalendarDayModule,
25
+ FlexLayoutModule,
26
+ CalendarWeekModule,
27
+ DbxButtonModule], exports: [DbxCalendarComponent] });
28
+ DbxCalendarModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxCalendarModule, imports: [[
29
+ //
30
+ CommonModule,
31
+ MatIconModule,
32
+ MatButtonModule,
33
+ MatButtonToggleModule,
34
+ CalendarModule,
35
+ CalendarDayModule,
36
+ FlexLayoutModule,
37
+ CalendarWeekModule,
38
+ DbxButtonModule
39
+ ]] });
40
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxCalendarModule, decorators: [{
41
+ type: NgModule,
42
+ args: [{
43
+ declarations,
44
+ imports: [
45
+ //
46
+ CommonModule,
47
+ MatIconModule,
48
+ MatButtonModule,
49
+ MatButtonToggleModule,
50
+ CalendarModule,
51
+ CalendarDayModule,
52
+ FlexLayoutModule,
53
+ CalendarWeekModule,
54
+ DbxButtonModule
55
+ ],
56
+ exports: declarations
57
+ }]
58
+ }] });
59
+ /**
60
+ * Provides default configuration for the DbxCalendarModule
61
+ */
62
+ export class DbxCalendarRootModule {
63
+ }
64
+ DbxCalendarRootModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxCalendarRootModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
65
+ DbxCalendarRootModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxCalendarRootModule, imports: [i1.CalendarModule], exports: [DbxCalendarModule] });
66
+ DbxCalendarRootModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxCalendarRootModule, imports: [[CalendarModule.forRoot({ provide: DateAdapter, useFactory: dateAdapterFactory })], DbxCalendarModule] });
67
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxCalendarRootModule, decorators: [{
68
+ type: NgModule,
69
+ args: [{
70
+ imports: [CalendarModule.forRoot({ provide: DateAdapter, useFactory: dateAdapterFactory })],
71
+ exports: [DbxCalendarModule]
72
+ }]
73
+ }] });
74
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FsZW5kYXIubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZGJ4LXdlYi9zcmMvbGliL2V4dGVuc2lvbi9jYWxlbmRhci9jYWxlbmRhci5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUM1RCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsY0FBYyxFQUFFLGtCQUFrQixFQUFFLFdBQVcsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ3RHLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDN0QsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ3hFLE9BQU8sRUFBRSxjQUFjLElBQUksa0JBQWtCLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQztBQUMvRixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDM0QsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7OztBQUV4RCxNQUFNLFlBQVksR0FBRyxDQUFDLG9CQUFvQixDQUFDLENBQUM7QUFrQjVDLE1BQU0sT0FBTyxpQkFBaUI7OzhHQUFqQixpQkFBaUI7K0dBQWpCLGlCQUFpQixpQkFsQlIsb0JBQW9CO1FBS3RDLEVBQUU7UUFDRixZQUFZO1FBQ1osYUFBYTtRQUNiLGVBQWU7UUFDZixxQkFBcUI7UUFDckIsY0FBYztRQUNkLGlCQUFpQjtRQUNqQixnQkFBZ0I7UUFDaEIsa0JBQWtCO1FBQ2xCLGVBQWUsYUFkRyxvQkFBb0I7K0dBa0I3QixpQkFBaUIsWUFkbkI7WUFDUCxFQUFFO1lBQ0YsWUFBWTtZQUNaLGFBQWE7WUFDYixlQUFlO1lBQ2YscUJBQXFCO1lBQ3JCLGNBQWM7WUFDZCxpQkFBaUI7WUFDakIsZ0JBQWdCO1lBQ2hCLGtCQUFrQjtZQUNsQixlQUFlO1NBQ2hCOzJGQUdVLGlCQUFpQjtrQkFoQjdCLFFBQVE7bUJBQUM7b0JBQ1IsWUFBWTtvQkFDWixPQUFPLEVBQUU7d0JBQ1AsRUFBRTt3QkFDRixZQUFZO3dCQUNaLGFBQWE7d0JBQ2IsZUFBZTt3QkFDZixxQkFBcUI7d0JBQ3JCLGNBQWM7d0JBQ2QsaUJBQWlCO3dCQUNqQixnQkFBZ0I7d0JBQ2hCLGtCQUFrQjt3QkFDbEIsZUFBZTtxQkFDaEI7b0JBQ0QsT0FBTyxFQUFFLFlBQVk7aUJBQ3RCOztBQUdEOztHQUVHO0FBS0gsTUFBTSxPQUFPLHFCQUFxQjs7a0hBQXJCLHFCQUFxQjttSEFBckIscUJBQXFCLDBDQVRyQixpQkFBaUI7bUhBU2pCLHFCQUFxQixZQUh2QixDQUFDLGNBQWMsQ0FBQyxPQUFPLENBQUMsRUFBRSxPQUFPLEVBQUUsV0FBVyxFQUFFLFVBQVUsRUFBRSxrQkFBa0IsRUFBRSxDQUFDLENBQUMsRUFOaEYsaUJBQWlCOzJGQVNqQixxQkFBcUI7a0JBSmpDLFFBQVE7bUJBQUM7b0JBQ1IsT0FBTyxFQUFFLENBQUMsY0FBYyxDQUFDLE9BQU8sQ0FBQyxFQUFFLE9BQU8sRUFBRSxXQUFXLEVBQUUsVUFBVSxFQUFFLGtCQUFrQixFQUFFLENBQUMsQ0FBQztvQkFDM0YsT0FBTyxFQUFFLENBQUMsaUJBQWlCLENBQUM7aUJBQzdCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IERieENhbGVuZGFyQ29tcG9uZW50IH0gZnJvbSAnLi9jYWxlbmRhci5jb21wb25lbnQnO1xuaW1wb3J0IHsgQ2FsZW5kYXJEYXlNb2R1bGUsIENhbGVuZGFyTW9kdWxlLCBDYWxlbmRhcldlZWtNb2R1bGUsIERhdGVBZGFwdGVyIH0gZnJvbSAnYW5ndWxhci1jYWxlbmRhcic7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgRGJ4QnV0dG9uTW9kdWxlIH0gZnJvbSAnLi4vLi4vYnV0dG9uL2J1dHRvbi5tb2R1bGUnO1xuaW1wb3J0IHsgTWF0SWNvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2ljb24nO1xuaW1wb3J0IHsgTWF0QnV0dG9uVG9nZ2xlTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvYnV0dG9uLXRvZ2dsZSc7XG5pbXBvcnQgeyBhZGFwdGVyRmFjdG9yeSBhcyBkYXRlQWRhcHRlckZhY3RvcnkgfSBmcm9tICdhbmd1bGFyLWNhbGVuZGFyL2RhdGUtYWRhcHRlcnMvZGF0ZS1mbnMnO1xuaW1wb3J0IHsgTWF0QnV0dG9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvYnV0dG9uJztcbmltcG9ydCB7IEZsZXhMYXlvdXRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mbGV4LWxheW91dCc7XG5cbmNvbnN0IGRlY2xhcmF0aW9ucyA9IFtEYnhDYWxlbmRhckNvbXBvbmVudF07XG5cbkBOZ01vZHVsZSh7XG4gIGRlY2xhcmF0aW9ucyxcbiAgaW1wb3J0czogW1xuICAgIC8vXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIE1hdEljb25Nb2R1bGUsXG4gICAgTWF0QnV0dG9uTW9kdWxlLFxuICAgIE1hdEJ1dHRvblRvZ2dsZU1vZHVsZSxcbiAgICBDYWxlbmRhck1vZHVsZSxcbiAgICBDYWxlbmRhckRheU1vZHVsZSxcbiAgICBGbGV4TGF5b3V0TW9kdWxlLFxuICAgIENhbGVuZGFyV2Vla01vZHVsZSxcbiAgICBEYnhCdXR0b25Nb2R1bGVcbiAgXSxcbiAgZXhwb3J0czogZGVjbGFyYXRpb25zXG59KVxuZXhwb3J0IGNsYXNzIERieENhbGVuZGFyTW9kdWxlIHt9XG5cbi8qKlxuICogUHJvdmlkZXMgZGVmYXVsdCBjb25maWd1cmF0aW9uIGZvciB0aGUgRGJ4Q2FsZW5kYXJNb2R1bGVcbiAqL1xuQE5nTW9kdWxlKHtcbiAgaW1wb3J0czogW0NhbGVuZGFyTW9kdWxlLmZvclJvb3QoeyBwcm92aWRlOiBEYXRlQWRhcHRlciwgdXNlRmFjdG9yeTogZGF0ZUFkYXB0ZXJGYWN0b3J5IH0pXSxcbiAgZXhwb3J0czogW0RieENhbGVuZGFyTW9kdWxlXVxufSlcbmV4cG9ydCBjbGFzcyBEYnhDYWxlbmRhclJvb3RNb2R1bGUge31cbiJdfQ==
@@ -0,0 +1,107 @@
1
+ import { Injectable } from '@angular/core';
2
+ import { ComponentStore } from '@ngrx/component-store';
3
+ import { differenceInDays, addDays, endOfDay, endOfMonth, endOfWeek, isSameDay, startOfDay, startOfMonth, startOfWeek, isBefore, isAfter } from 'date-fns';
4
+ import { distinctUntilChanged, first, map, shareReplay, switchMap, tap } from 'rxjs/operators';
5
+ import * as i0 from "@angular/core";
6
+ export var CalendarDisplayType;
7
+ (function (CalendarDisplayType) {
8
+ CalendarDisplayType["MONTH"] = "month";
9
+ CalendarDisplayType["WEEK"] = "week";
10
+ CalendarDisplayType["DAY"] = "day";
11
+ })(CalendarDisplayType || (CalendarDisplayType = {}));
12
+ export function visibleDateRangeForCalendarState(calendarState) {
13
+ const { type, date } = calendarState;
14
+ let start;
15
+ let end;
16
+ let distance;
17
+ switch (type) {
18
+ case CalendarDisplayType.MONTH:
19
+ start = startOfDay(startOfWeek(startOfMonth(date), { weekStartsOn: 0 }));
20
+ end = endOfWeek(endOfMonth(date));
21
+ distance = differenceInDays(end, start) + 1;
22
+ break;
23
+ case CalendarDisplayType.WEEK:
24
+ start = startOfWeek(date);
25
+ end = endOfWeek(start);
26
+ distance = 7; // 7 days in a week.
27
+ break;
28
+ case CalendarDisplayType.DAY:
29
+ start = startOfDay(date);
30
+ end = endOfDay(date);
31
+ distance = 1;
32
+ break;
33
+ }
34
+ // console.log('Date range: ', start, end, distance);
35
+ return {
36
+ type,
37
+ start,
38
+ end,
39
+ distance
40
+ };
41
+ }
42
+ const distinctUntilDateOrTypeOrEventsChanged = distinctUntilChanged((a, b) => a?.date === b?.date && a?.type === b?.type && a?.events === b?.events);
43
+ export class DbxCalendarStore extends ComponentStore {
44
+ constructor() {
45
+ super({
46
+ type: CalendarDisplayType.MONTH,
47
+ date: new Date(),
48
+ dateTappedTwice: false,
49
+ events: []
50
+ });
51
+ // MARK: Effects
52
+ this.tapNext = this.effect((input) => {
53
+ return input.pipe(switchMap(() => this.visibleDateRange$.pipe(first(), tap(({ end }) => {
54
+ this.tapDay(addDays(end, 1));
55
+ }))));
56
+ });
57
+ this.tapPrevious = this.effect((input) => {
58
+ return input.pipe(switchMap(() => this.visibleDateRange$.pipe(first(), tap(({ start }) => {
59
+ this.tapDay(addDays(start, -1));
60
+ }))));
61
+ });
62
+ // MARK: Accessors
63
+ this.date$ = this.state$.pipe(map((x) => x.date));
64
+ this.dateTappedTwice$ = this.state$.pipe(map((x) => x.dateTappedTwice));
65
+ this.events$ = this.state$.pipe(map((x) => x.events));
66
+ // TODO: Filter to be events that will only be displayed based on the current calendar.
67
+ this.visibleEvents$ = this.state$.pipe(map((x) => x.events), shareReplay(1));
68
+ this.eventsForDateState$ = this.state$.pipe(distinctUntilDateOrTypeOrEventsChanged, map((state) => ({
69
+ date: state.date,
70
+ events: state.events.filter((x) => isSameDay(x.start, state.date) || (x.end && isBefore(x.start, state.date) && isAfter(x.end, state.date))),
71
+ dateTappedTwice: state.dateTappedTwice
72
+ })), shareReplay(1));
73
+ this.eventsForDate$ = this.eventsForDateState$.pipe(map((state) => state.events));
74
+ this.visibleDateRange$ = this.state$.pipe(
75
+ // If the date or type changes, check again.
76
+ distinctUntilChanged((a, b) => a?.date === b?.date && a?.type === b?.type), map(visibleDateRangeForCalendarState), distinctUntilChanged((a, b) => {
77
+ if (a.type === b.type) {
78
+ return isSameDay(a.start, b.start);
79
+ }
80
+ else {
81
+ return false; // Type changed, date range changed.
82
+ }
83
+ }), shareReplay(1));
84
+ this.displayType$ = this.state$.pipe(map((x) => x.type), distinctUntilChanged((a, b) => a === b), shareReplay(1));
85
+ // MARK: State Changes
86
+ /**
87
+ * Tap a day.
88
+ *
89
+ * - If the same day is presented, dateTappedTwice is flipped.
90
+ */
91
+ this.tapDay = this.updater((state, date) => ({ ...state, date, dateTappedTwice: isSameDay(date, state.date) ? !state.dateTappedTwice : false }));
92
+ /**
93
+ * Set all events on the calendar.
94
+ */
95
+ this.setEvents = this.updater((state, events) => ({ ...state, events }));
96
+ /**
97
+ * Set all events on the calendar.
98
+ */
99
+ this.setDisplayType = this.updater((state, type) => ({ ...state, type }));
100
+ }
101
+ }
102
+ DbxCalendarStore.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxCalendarStore, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
103
+ DbxCalendarStore.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxCalendarStore });
104
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxCalendarStore, decorators: [{
105
+ type: Injectable
106
+ }], ctorParameters: function () { return []; } });
107
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FsZW5kYXIuc3RvcmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9kYngtd2ViL3NyYy9saWIvZXh0ZW5zaW9uL2NhbGVuZGFyL2NhbGVuZGFyLnN0b3JlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBRXZELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxPQUFPLEVBQUUsUUFBUSxFQUFFLFVBQVUsRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFlLFVBQVUsRUFBRSxZQUFZLEVBQUUsV0FBVyxFQUFFLFFBQVEsRUFBRSxPQUFPLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFFeEssT0FBTyxFQUFFLG9CQUFvQixFQUFFLEtBQUssRUFBRSxHQUFHLEVBQUUsV0FBVyxFQUFFLFNBQVMsRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7QUFFL0YsTUFBTSxDQUFOLElBQVksbUJBSVg7QUFKRCxXQUFZLG1CQUFtQjtJQUM3QixzQ0FBZSxDQUFBO0lBQ2Ysb0NBQWEsQ0FBQTtJQUNiLGtDQUFXLENBQUE7QUFDYixDQUFDLEVBSlcsbUJBQW1CLEtBQW5CLG1CQUFtQixRQUk5QjtBQTRCRCxNQUFNLFVBQVUsZ0NBQWdDLENBQUMsYUFBNEI7SUFDM0UsTUFBTSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsR0FBRyxhQUFhLENBQUM7SUFDckMsSUFBSSxLQUFXLENBQUM7SUFDaEIsSUFBSSxHQUFTLENBQUM7SUFDZCxJQUFJLFFBQWdCLENBQUM7SUFFckIsUUFBUSxJQUFJLEVBQUU7UUFDWixLQUFLLG1CQUFtQixDQUFDLEtBQUs7WUFDNUIsS0FBSyxHQUFHLFVBQVUsQ0FBQyxXQUFXLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxFQUFFLEVBQUUsWUFBWSxF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QUFLLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFFM0o7O1dBRUc7UUFDTSxjQUFTLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLEtBQUssRUFBRSxNQUEwQixFQUFFLEVBQUUsQ0FBQyxDQUFDLEVBQUUsR0FBRyxLQUFLLEVBQUUsTUFBTSxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBRWpHOztXQUVHO1FBQ00sbUJBQWMsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsS0FBSyxFQUFFLElBQXlCLEVBQUUsRUFBRSxDQUFDLENBQUMsRUFBRSxHQUFHLEtBQUssRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUF6Rm5HLENBQUM7OzZHQVJVLGdCQUFnQjtpSEFBaEIsZ0JBQWdCOzJGQUFoQixnQkFBZ0I7a0JBRDVCLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21wb25lbnRTdG9yZSB9IGZyb20gJ0BuZ3J4L2NvbXBvbmVudC1zdG9yZSc7XG5pbXBvcnQgeyBDYWxlbmRhckV2ZW50IH0gZnJvbSAnYW5ndWxhci1jYWxlbmRhcic7XG5pbXBvcnQgeyBkaWZmZXJlbmNlSW5EYXlzLCBhZGREYXlzLCBlbmRPZkRheSwgZW5kT2ZNb250aCwgZW5kT2ZXZWVrLCBpc1NhbWVEYXksIGlzU2FtZU1vbnRoLCBzdGFydE9mRGF5LCBzdGFydE9mTW9udGgsIHN0YXJ0T2ZXZWVrLCBpc0JlZm9yZSwgaXNBZnRlciB9IGZyb20gJ2RhdGUtZm5zJztcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGRpc3RpbmN0VW50aWxDaGFuZ2VkLCBmaXJzdCwgbWFwLCBzaGFyZVJlcGxheSwgc3dpdGNoTWFwLCB0YXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmV4cG9ydCBlbnVtIENhbGVuZGFyRGlzcGxheVR5cGUge1xuICBNT05USCA9ICdtb250aCcsXG4gIFdFRUsgPSAnd2VlaycsXG4gIERBWSA9ICdkYXknXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ2FsZW5kYXJWaWV3RGF0ZVJhbmdlIHtcbiAgdHlwZTogQ2FsZW5kYXJEaXNwbGF5VHlwZTtcbiAgc3RhcnQ6IERhdGU7XG4gIGVuZDogRGF0ZTtcbiAgZGlzdGFuY2U6IG51bWJlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDYWxlbmRhclN0YXRlPFQgPSBhbnk+IHtcbiAgLyoqXG4gICAqIENhbGVuZGFyIGRpc3BsYXkgbW9kZVxuICAgKi9cbiAgdHlwZTogQ2FsZW5kYXJEaXNwbGF5VHlwZTtcbiAgLyoqXG4gICAqIERhdGUgdGhhdCBpcyBzZWxlY3RlZC5cbiAgICovXG4gIGRhdGU6IERhdGU7XG4gIC8qKlxuICAgKiBXaGV0aGVyIG9yIG5vdCB0aGUgZGF5IHdhcyB0YXBwZWQvc2V0IHR3aWNlLlxuICAgKi9cbiAgZGF0ZVRhcHBlZFR3aWNlOiBib29sZWFuO1xuICAvKipcbiAgICogU2V0IG9mIGNhbGVuZGFyIGV2ZW50cy5cbiAgICovXG4gIGV2ZW50czogQ2FsZW5kYXJFdmVudDxUPltdO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gdmlzaWJsZURhdGVSYW5nZUZvckNhbGVuZGFyU3RhdGUoY2FsZW5kYXJTdGF0ZTogQ2FsZW5kYXJTdGF0ZSk6IENhbGVuZGFyVmlld0RhdGVSYW5nZSB7XG4gIGNvbnN0IHsgdHlwZSwgZGF0ZSB9ID0gY2FsZW5kYXJTdGF0ZTtcbiAgbGV0IHN0YXJ0OiBEYXRlO1xuICBsZXQgZW5kOiBEYXRlO1xuICBsZXQgZGlzdGFuY2U6IG51bWJlcjtcblxuICBzd2l0Y2ggKHR5cGUpIHtcbiAgICBjYXNlIENhbGVuZGFyRGlzcGxheVR5cGUuTU9OVEg6XG4gICAgICBzdGFydCA9IHN0YXJ0T2ZEYXkoc3RhcnRPZldlZWsoc3RhcnRPZk1vbnRoKGRhdGUpLCB7IHdlZWtTdGFydHNPbjogMCB9KSk7XG4gICAgICBlbmQgPSBlbmRPZldlZWsoZW5kT2ZNb250aChkYXRlKSk7XG4gICAgICBkaXN0YW5jZSA9IGRpZmZlcmVuY2VJbkRheXMoZW5kLCBzdGFydCkgKyAxO1xuICAgICAgYnJlYWs7XG4gICAgY2FzZSBDYWxlbmRhckRpc3BsYXlUeXBlLldFRUs6XG4gICAgICBzdGFydCA9IHN0YXJ0T2ZXZWVrKGRhdGUpO1xuICAgICAgZW5kID0gZW5kT2ZXZWVrKHN0YXJ0KTtcbiAgICAgIGRpc3RhbmNlID0gNzsgLy8gNyBkYXlzIGluIGEgd2Vlay5cbiAgICAgIGJyZWFrO1xuICAgIGNhc2UgQ2FsZW5kYXJEaXNwbGF5VHlwZS5EQVk6XG4gICAgICBzdGFydCA9IHN0YXJ0T2ZEYXkoZGF0ZSk7XG4gICAgICBlbmQgPSBlbmRPZkRheShkYXRlKTtcbiAgICAgIGRpc3RhbmNlID0gMTtcbiAgICAgIGJyZWFrO1xuICB9XG5cbiAgLy8gY29uc29sZS5sb2coJ0RhdGUgcmFuZ2U6ICcsIHN0YXJ0LCBlbmQsIGRpc3RhbmNlKTtcblxuICByZXR1cm4ge1xuICAgIHR5cGUsXG4gICAgc3RhcnQsXG4gICAgZW5kLFxuICAgIGRpc3RhbmNlXG4gIH07XG59XG5cbmNvbnN0IGRpc3RpbmN0VW50aWxEYXRlT3JUeXBlT3JFdmVudHNDaGFuZ2VkID0gZGlzdGluY3RVbnRpbENoYW5nZWQ8Q2FsZW5kYXJTdGF0ZT4oKGEsIGIpID0+IGE/LmRhdGUgPT09IGI/LmRhdGUgJiYgYT8udHlwZSA9PT0gYj8udHlwZSAmJiBhPy5ldmVudHMgPT09IGI/LmV2ZW50cyk7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBEYnhDYWxlbmRhclN0b3JlPFQgPSBhbnk+IGV4dGVuZHMgQ29tcG9uZW50U3RvcmU8Q2FsZW5kYXJTdGF0ZTxUPj4ge1xuICBjb25zdHJ1Y3RvcigpIHtcbiAgICBzdXBlcih7XG4gICAgICB0eXBlOiBDYWxlbmRhckRpc3BsYXlUeXBlLk1PTlRILFxuICAgICAgZGF0ZTogbmV3IERhdGUoKSxcbiAgICAgIGRhdGVUYXBwZWRUd2ljZTogZmFsc2UsXG4gICAgICBldmVudHM6IFtdXG4gICAgfSk7XG4gIH1cblxuICAvLyBNQVJLOiBFZmZlY3RzXG4gIHJlYWRvbmx5IHRhcE5leHQgPSB0aGlzLmVmZmVjdCgoaW5wdXQ6IE9ic2VydmFibGU8dm9pZD4pID0+IHtcbiAgICByZXR1cm4gaW5wdXQucGlwZShcbiAgICAgIHN3aXRjaE1hcCgoKSA9PlxuICAgICAgICB0aGlzLnZpc2libGVEYXRlUmFuZ2UkLnBpcGUoXG4gICAgICAgICAgZmlyc3QoKSxcbiAgICAgICAgICB0YXAoKHsgZW5kIH0pID0+IHtcbiAgICAgICAgICAgIHRoaXMudGFwRGF5KGFkZERheXMoZW5kLCAxKSk7XG4gICAgICAgICAgfSlcbiAgICAgICAgKVxuICAgICAgKVxuICAgICk7XG4gIH0pO1xuXG4gIHJlYWRvbmx5IHRhcFByZXZpb3VzID0gdGhpcy5lZmZlY3QoKGlucHV0OiBPYnNlcnZhYmxlPHZvaWQ+KSA9PiB7XG4gICAgcmV0dXJuIGlucHV0LnBpcGUoXG4gICAgICBzd2l0Y2hNYXAoKCkgPT5cbiAgICAgICAgdGhpcy52aXNpYmxlRGF0ZVJhbmdlJC5waXBlKFxuICAgICAgICAgIGZpcnN0KCksXG4gICAgICAgICAgdGFwKCh7IHN0YXJ0IH0pID0+IHtcbiAgICAgICAgICAgIHRoaXMudGFwRGF5KGFkZERheXMoc3RhcnQsIC0xKSk7XG4gICAgICAgICAgfSlcbiAgICAgICAgKVxuICAgICAgKVxuICAgICk7XG4gIH0pO1xuXG4gIC8vIE1BUks6IEFjY2Vzc29yc1xuICByZWFkb25seSBkYXRlJCA9IHRoaXMuc3RhdGUkLnBpcGUobWFwKCh4KSA9PiB4LmRhdGUpKTtcbiAgcmVhZG9ubHkgZGF0ZVRhcHBlZFR3aWNlJCA9IHRoaXMuc3RhdGUkLnBpcGUobWFwKCh4KSA9PiB4LmRhdGVUYXBwZWRUd2ljZSkpO1xuXG4gIHJlYWRvbmx5IGV2ZW50cyQgPSB0aGlzLnN0YXRlJC5waXBlKG1hcCgoeCkgPT4geC5ldmVudHMpKTtcblxuICAvLyBUT0RPOiBGaWx0ZXIgdG8gYmUgZXZlbnRzIHRoYXQgd2lsbCBvbmx5IGJlIGRpc3BsYXllZCBiYXNlZCBvbiB0aGUgY3VycmVudCBjYWxlbmRhci5cbiAgcmVhZG9ubHkgdmlzaWJsZUV2ZW50cyQgPSB0aGlzLnN0YXRlJC5waXBlKFxuICAgIG1hcCgoeCkgPT4geC5ldmVudHMpLFxuICAgIHNoYXJlUmVwbGF5KDEpXG4gICk7XG5cbiAgcmVhZG9ubHkgZXZlbnRzRm9yRGF0ZVN0YXRlJCA9IHRoaXMuc3RhdGUkLnBpcGUoXG4gICAgZGlzdGluY3RVbnRpbERhdGVPclR5cGVPckV2ZW50c0NoYW5nZWQsXG4gICAgbWFwKChzdGF0ZSkgPT4gKHtcbiAgICAgIGRhdGU6IHN0YXRlLmRhdGUsXG4gICAgICBldmVudHM6IHN0YXRlLmV2ZW50cy5maWx0ZXIoKHgpID0+IGlzU2FtZURheSh4LnN0YXJ0LCBzdGF0ZS5kYXRlKSB8fCAoeC5lbmQgJiYgaXNCZWZvcmUoeC5zdGFydCwgc3RhdGUuZGF0ZSkgJiYgaXNBZnRlcih4LmVuZCwgc3RhdGUuZGF0ZSkpKSxcbiAgICAgIGRhdGVUYXBwZWRUd2ljZTogc3RhdGUuZGF0ZVRhcHBlZFR3aWNlXG4gICAgfSkpLFxuICAgIHNoYXJlUmVwbGF5KDEpXG4gICk7XG5cbiAgcmVhZG9ubHkgZXZlbnRzRm9yRGF0ZSQgPSB0aGlzLmV2ZW50c0ZvckRhdGVTdGF0ZSQucGlwZShtYXAoKHN0YXRlKSA9PiBzdGF0ZS5ldmVudHMpKTtcblxuICByZWFkb25seSB2aXNpYmxlRGF0ZVJhbmdlJCA9IHRoaXMuc3RhdGUkLnBpcGUoXG4gICAgLy8gSWYgdGhlIGRhdGUgb3IgdHlwZSBjaGFuZ2VzLCBjaGVjayBhZ2Fpbi5cbiAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCgoYSwgYikgPT4gYT8uZGF0ZSA9PT0gYj8uZGF0ZSAmJiBhPy50eXBlID09PSBiPy50eXBlKSxcbiAgICBtYXAodmlzaWJsZURhdGVSYW5nZUZvckNhbGVuZGFyU3RhdGUpLFxuICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKChhLCBiKSA9PiB7XG4gICAgICBpZiAoYS50eXBlID09PSBiLnR5cGUpIHtcbiAgICAgICAgcmV0dXJuIGlzU2FtZURheShhLnN0YXJ0LCBiLnN0YXJ0KTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHJldHVybiBmYWxzZTsgLy8gVHlwZSBjaGFuZ2VkLCBkYXRlIHJhbmdlIGNoYW5nZWQuXG4gICAgICB9XG4gICAgfSksXG4gICAgc2hhcmVSZXBsYXkoMSlcbiAgKTtcblxuICByZWFkb25seSBkaXNwbGF5VHlwZSQgPSB0aGlzLnN0YXRlJC5waXBlKFxuICAgIG1hcCgoeCkgPT4geC50eXBlKSxcbiAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCgoYSwgYikgPT4gYSA9PT0gYiksXG4gICAgc2hhcmVSZXBsYXkoMSlcbiAgKTtcblxuICAvLyBNQVJLOiBTdGF0ZSBDaGFuZ2VzXG4gIC8qKlxuICAgKiBUYXAgYSBkYXkuXG4gICAqXG4gICAqIC0gSWYgdGhlIHNhbWUgZGF5IGlzIHByZXNlbnRlZCwgZGF0ZVRhcHBlZFR3aWNlIGlzIGZsaXBwZWQuXG4gICAqL1xuICByZWFkb25seSB0YXBEYXkgPSB0aGlzLnVwZGF0ZXIoKHN0YXRlLCBkYXRlOiBEYXRlKSA9PiAoeyAuLi5zdGF0ZSwgZGF0ZSwgZGF0ZVRhcHBlZFR3aWNlOiBpc1NhbWVEYXkoZGF0ZSwgc3RhdGUuZGF0ZSkgPyAhc3RhdGUuZGF0ZVRhcHBlZFR3aWNlIDogZmFsc2UgfSkpO1xuXG4gIC8qKlxuICAgKiBTZXQgYWxsIGV2ZW50cyBvbiB0aGUgY2FsZW5kYXIuXG4gICAqL1xuICByZWFkb25seSBzZXRFdmVudHMgPSB0aGlzLnVwZGF0ZXIoKHN0YXRlLCBldmVudHM6IENhbGVuZGFyRXZlbnQ8VD5bXSkgPT4gKHsgLi4uc3RhdGUsIGV2ZW50cyB9KSk7XG5cbiAgLyoqXG4gICAqIFNldCBhbGwgZXZlbnRzIG9uIHRoZSBjYWxlbmRhci5cbiAgICovXG4gIHJlYWRvbmx5IHNldERpc3BsYXlUeXBlID0gdGhpcy51cGRhdGVyKChzdGF0ZSwgdHlwZTogQ2FsZW5kYXJEaXNwbGF5VHlwZSkgPT4gKHsgLi4uc3RhdGUsIHR5cGUgfSkpO1xufVxuIl19
@@ -0,0 +1,4 @@
1
+ export * from './calendar.module';
2
+ export * from './calendar.component';
3
+ export * from './calendar.store';
4
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9kYngtd2ViL3NyYy9saWIvZXh0ZW5zaW9uL2NhbGVuZGFyL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsbUJBQW1CLENBQUM7QUFDbEMsY0FBYyxzQkFBc0IsQ0FBQztBQUNyQyxjQUFjLGtCQUFrQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9jYWxlbmRhci5tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9jYWxlbmRhci5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9jYWxlbmRhci5zdG9yZSc7XG4iXX0=
@@ -0,0 +1,2 @@
1
+ export * from './calendar';
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9kYngtd2ViL3NyYy9saWIvZXh0ZW5zaW9uL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsWUFBWSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9jYWxlbmRhcic7XG4iXX0=
@@ -1,6 +1,7 @@
1
1
  export * from './action';
2
2
  export * from './button';
3
3
  export * from './error';
4
+ export * from './extension';
4
5
  export * from './interaction';
5
6
  export * from './keypress';
6
7
  export * from './loading';
@@ -8,4 +9,4 @@ export * from './layout';
8
9
  export * from './router';
9
10
  export * from './screen';
10
11
  export * from './dbx-web.module';
11
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9kYngtd2ViL3NyYy9saWIvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxVQUFVLENBQUM7QUFDekIsY0FBYyxVQUFVLENBQUM7QUFDekIsY0FBYyxTQUFTLENBQUM7QUFDeEIsY0FBYyxlQUFlLENBQUM7QUFDOUIsY0FBYyxZQUFZLENBQUM7QUFDM0IsY0FBYyxXQUFXLENBQUM7QUFDMUIsY0FBYyxVQUFVLENBQUM7QUFDekIsY0FBYyxVQUFVLENBQUM7QUFDekIsY0FBYyxVQUFVLENBQUM7QUFDekIsY0FBYyxrQkFBa0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vYWN0aW9uJztcbmV4cG9ydCAqIGZyb20gJy4vYnV0dG9uJztcbmV4cG9ydCAqIGZyb20gJy4vZXJyb3InO1xuZXhwb3J0ICogZnJvbSAnLi9pbnRlcmFjdGlvbic7XG5leHBvcnQgKiBmcm9tICcuL2tleXByZXNzJztcbmV4cG9ydCAqIGZyb20gJy4vbG9hZGluZyc7XG5leHBvcnQgKiBmcm9tICcuL2xheW91dCc7XG5leHBvcnQgKiBmcm9tICcuL3JvdXRlcic7XG5leHBvcnQgKiBmcm9tICcuL3NjcmVlbic7XG5leHBvcnQgKiBmcm9tICcuL2RieC13ZWIubW9kdWxlJztcbiJdfQ==
12
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9kYngtd2ViL3NyYy9saWIvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxVQUFVLENBQUM7QUFDekIsY0FBYyxVQUFVLENBQUM7QUFDekIsY0FBYyxTQUFTLENBQUM7QUFDeEIsY0FBYyxhQUFhLENBQUM7QUFDNUIsY0FBYyxlQUFlLENBQUM7QUFDOUIsY0FBYyxZQUFZLENBQUM7QUFDM0IsY0FBYyxXQUFXLENBQUM7QUFDMUIsY0FBYyxVQUFVLENBQUM7QUFDekIsY0FBYyxVQUFVLENBQUM7QUFDekIsY0FBYyxVQUFVLENBQUM7QUFDekIsY0FBYyxrQkFBa0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vYWN0aW9uJztcbmV4cG9ydCAqIGZyb20gJy4vYnV0dG9uJztcbmV4cG9ydCAqIGZyb20gJy4vZXJyb3InO1xuZXhwb3J0ICogZnJvbSAnLi9leHRlbnNpb24nO1xuZXhwb3J0ICogZnJvbSAnLi9pbnRlcmFjdGlvbic7XG5leHBvcnQgKiBmcm9tICcuL2tleXByZXNzJztcbmV4cG9ydCAqIGZyb20gJy4vbG9hZGluZyc7XG5leHBvcnQgKiBmcm9tICcuL2xheW91dCc7XG5leHBvcnQgKiBmcm9tICcuL3JvdXRlcic7XG5leHBvcnQgKiBmcm9tICcuL3NjcmVlbic7XG5leHBvcnQgKiBmcm9tICcuL2RieC13ZWIubW9kdWxlJztcbiJdfQ==
@@ -21,15 +21,15 @@ export class DbxTwoColumnComponent extends AbstractSubscriptionDirective {
21
21
  this.elementRef = elementRef;
22
22
  this.cdRef = cdRef;
23
23
  this._view = { showRight: false, showFullLeft: true, hideLeftColumn: false, reverseSizing: false, inSectionPage: false };
24
- this._reverseSizing = new BehaviorSubject(false);
25
24
  this._inSectionPage = new BehaviorSubject(false);
25
+ this.reverseSizing$ = this.twoColumnsContextStore.reverseSizing$;
26
26
  this.hideLeftColumn$ = this.twoColumnsContextStore.hideLeft$;
27
27
  this.showRight$ = this.twoColumnsContextStore.showRight$;
28
28
  this.showFullLeft$ = this.twoColumnsContextStore.showFullLeft$;
29
29
  this.hideRight$ = this.twoColumnsContextStore.hideRight$;
30
30
  }
31
31
  ngOnInit() {
32
- this.sub = combineLatest([this.showRight$, this.showFullLeft$, this.hideLeftColumn$, this._reverseSizing, this._inSectionPage]).subscribe(([showRight, showFullLeft, hideLeftColumn, reverseSizing, inSectionPage]) => {
32
+ this.sub = combineLatest([this.showRight$, this.showFullLeft$, this.hideLeftColumn$, this.reverseSizing$, this._inSectionPage]).subscribe(([showRight, showFullLeft, hideLeftColumn, reverseSizing, inSectionPage]) => {
33
33
  this._view = {
34
34
  showRight,
35
35
  showFullLeft,
@@ -42,14 +42,13 @@ export class DbxTwoColumnComponent extends AbstractSubscriptionDirective {
42
42
  }
43
43
  ngOnDestroy() {
44
44
  super.ngOnDestroy();
45
- this._reverseSizing.complete();
46
45
  this._inSectionPage.complete();
47
46
  }
48
47
  get v() {
49
48
  return this._view;
50
49
  }
51
50
  set reverseSizing(reverseSizing) {
52
- this._reverseSizing.next(reverseSizing);
51
+ this.twoColumnsContextStore.setReverseSizing(reverseSizing);
53
52
  }
54
53
  set inSectionPage(inSectionPage) {
55
54
  this._inSectionPage.next(inSectionPage);
@@ -60,13 +59,13 @@ export class DbxTwoColumnComponent extends AbstractSubscriptionDirective {
60
59
  }
61
60
  }
62
61
  DbxTwoColumnComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxTwoColumnComponent, deps: [{ token: TwoColumnsContextStore }, { token: i0.ElementRef }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
63
- DbxTwoColumnComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.2", type: DbxTwoColumnComponent, selector: "dbx-two-column", inputs: { reverseSizing: "reverseSizing", inSectionPage: "inSectionPage" }, host: { properties: { "class": "{ 'right-shown': v.showRight, 'full-left': v.showFullLeft,'hide-left-column': v.hideLeftColumn, 'two-column-reverse-sizing': v.reverseSizing, 'dbx-section-page-two': v.inSectionPage }" }, classAttribute: "dbx-two-column" }, exportAs: ["columns"], usesInheritance: true, ngImport: i0, template: "<dbx-content-container grow=\"full\" padding=\"none\" class=\"dbx-content dbx-content-auto-height left-column\">\n <ng-content select=\"[left]\"></ng-content>\n</dbx-content-container>\n<dbx-content-container grow=\"full\" padding=\"none\" class=\"dbx-content dbx-content-auto-height right-column\" *ngIf=\"v.showRight\" (resized)=\"onResized($event)\">\n <ng-content select=\"[right]\"></ng-content>\n</dbx-content-container>\n", directives: [{ type: i1.DbxContentContainerDirective, selector: "dbx-content-container,[dbxContentContainer],.dbx-content-container", inputs: ["grow", "padding"] }, { type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i3.ResizedDirective, selector: "[resized]", outputs: ["resized"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
62
+ DbxTwoColumnComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.2", type: DbxTwoColumnComponent, selector: "dbx-two-column", inputs: { reverseSizing: "reverseSizing", inSectionPage: "inSectionPage" }, host: { properties: { "class": "{ 'right-shown': v.showRight, 'full-left': v.showFullLeft,'hide-left-column': v.hideLeftColumn, 'two-column-reverse-sizing': v.reverseSizing, 'dbx-section-page-two': v.inSectionPage }" }, classAttribute: "dbx-two-column" }, exportAs: ["columns"], usesInheritance: true, ngImport: i0, template: "<dbx-content-container grow=\"full\" padding=\"none\" class=\"dbx-content dbx-content-auto-height left-column\">\n <div *ngIf=\"!v.hideLeftColumn && v.reverseSizing\" (resized)=\"onResized($event)\"></div>\n <ng-content select=\"[left]\"></ng-content>\n</dbx-content-container>\n<dbx-content-container grow=\"full\" padding=\"none\" class=\"dbx-content dbx-content-auto-height right-column\" *ngIf=\"v.showRight\">\n <div *ngIf=\"v.hideLeftColumn || !v.reverseSizing\" (resized)=\"onResized($event)\"></div>\n <ng-content select=\"[right]\"></ng-content>\n</dbx-content-container>\n", directives: [{ type: i1.DbxContentContainerDirective, selector: "dbx-content-container,[dbxContentContainer],.dbx-content-container", inputs: ["grow", "padding"] }, { type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i3.ResizedDirective, selector: "[resized]", outputs: ["resized"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
64
63
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxTwoColumnComponent, decorators: [{
65
64
  type: Component,
66
65
  args: [{ selector: 'dbx-two-column', exportAs: 'columns', host: {
67
66
  class: 'dbx-two-column',
68
67
  '[class]': "{ 'right-shown': v.showRight, 'full-left': v.showFullLeft,'hide-left-column': v.hideLeftColumn, 'two-column-reverse-sizing': v.reverseSizing, 'dbx-section-page-two': v.inSectionPage }"
69
- }, changeDetection: ChangeDetectionStrategy.OnPush, template: "<dbx-content-container grow=\"full\" padding=\"none\" class=\"dbx-content dbx-content-auto-height left-column\">\n <ng-content select=\"[left]\"></ng-content>\n</dbx-content-container>\n<dbx-content-container grow=\"full\" padding=\"none\" class=\"dbx-content dbx-content-auto-height right-column\" *ngIf=\"v.showRight\" (resized)=\"onResized($event)\">\n <ng-content select=\"[right]\"></ng-content>\n</dbx-content-container>\n" }]
68
+ }, changeDetection: ChangeDetectionStrategy.OnPush, template: "<dbx-content-container grow=\"full\" padding=\"none\" class=\"dbx-content dbx-content-auto-height left-column\">\n <div *ngIf=\"!v.hideLeftColumn && v.reverseSizing\" (resized)=\"onResized($event)\"></div>\n <ng-content select=\"[left]\"></ng-content>\n</dbx-content-container>\n<dbx-content-container grow=\"full\" padding=\"none\" class=\"dbx-content dbx-content-auto-height right-column\" *ngIf=\"v.showRight\">\n <div *ngIf=\"v.hideLeftColumn || !v.reverseSizing\" (resized)=\"onResized($event)\"></div>\n <ng-content select=\"[right]\"></ng-content>\n</dbx-content-container>\n" }]
70
69
  }], ctorParameters: function () { return [{ type: i4.TwoColumnsContextStore, decorators: [{
71
70
  type: Inject,
72
71
  args: [TwoColumnsContextStore]
@@ -75,4 +74,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImpor
75
74
  }], inSectionPage: [{
76
75
  type: Input
77
76
  }] } });
78
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHdvLmNvbHVtbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9kYngtd2ViL3NyYy9saWIvbGF5b3V0L2NvbHVtbi90d28vdHdvLmNvbHVtbi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9kYngtd2ViL3NyYy9saWIvbGF5b3V0L2NvbHVtbi90d28vdHdvLmNvbHVtbi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsaUJBQWlCLEVBQWEsdUJBQXVCLEVBQVUsU0FBUyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3BJLE9BQU8sRUFBRSw2QkFBNkIsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBRXBGLE9BQU8sRUFBYyxlQUFlLEVBQUUsYUFBYSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ2xFLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLG9CQUFvQixDQUFDOzs7Ozs7QUFVNUQ7Ozs7OztHQU1HO0FBV0gsTUFBTSxPQUFPLHFCQUFzQixTQUFRLDZCQUE2QjtJQVl0RSxZQUE0RCxzQkFBOEMsRUFBVSxVQUFzQixFQUFXLEtBQXdCO1FBQzNLLEtBQUssRUFBRSxDQUFDO1FBRGtELDJCQUFzQixHQUF0QixzQkFBc0IsQ0FBd0I7UUFBVSxlQUFVLEdBQVYsVUFBVSxDQUFZO1FBQVcsVUFBSyxHQUFMLEtBQUssQ0FBbUI7UUFYckssVUFBSyxHQUEwQixFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsWUFBWSxFQUFFLElBQUksRUFBRSxjQUFjLEVBQUUsS0FBSyxFQUFFLGFBQWEsRUFBRSxLQUFLLEVBQUUsYUFBYSxFQUFFLEtBQUssRUFBRSxDQUFDO1FBRTNJLG1CQUFjLEdBQUcsSUFBSSxlQUFlLENBQVUsS0FBSyxDQUFDLENBQUM7UUFDckQsbUJBQWMsR0FBRyxJQUFJLGVBQWUsQ0FBVSxLQUFLLENBQUMsQ0FBQztRQUVwRCxvQkFBZSxHQUF3QixJQUFJLENBQUMsc0JBQXNCLENBQUMsU0FBUyxDQUFDO1FBQzdFLGVBQVUsR0FBd0IsSUFBSSxDQUFDLHNCQUFzQixDQUFDLFVBQVUsQ0FBQztRQUN6RSxrQkFBYSxHQUF3QixJQUFJLENBQUMsc0JBQXNCLENBQUMsYUFBYSxDQUFDO1FBRS9FLGVBQVUsR0FBd0IsSUFBSSxDQUFDLHNCQUFzQixDQUFDLFVBQVUsQ0FBQztJQUlsRixDQUFDO0lBRUQsUUFBUTtRQUNOLElBQUksQ0FBQyxHQUFHLEdBQUcsYUFBYSxDQUFDLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxJQUFJLENBQUMsYUFBYSxFQUFFLElBQUksQ0FBQyxlQUFlLEVBQUUsSUFBSSxDQUFDLGNBQWMsRUFBRSxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLFNBQVMsRUFBRSxZQUFZLEVBQUUsY0FBYyxFQUFFLGFBQWEsRUFBRSxhQUFhLENBQWdELEVBQUUsRUFBRTtZQUNuUSxJQUFJLENBQUMsS0FBSyxHQUFHO2dCQUNYLFNBQVM7Z0JBQ1QsWUFBWTtnQkFDWixjQUFjO2dCQUNkLGFBQWE7Z0JBQ2IsYUFBYTthQUNkLENBQUM7WUFFRixnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDL0IsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRVEsV0FBVztRQUNsQixLQUFLLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDcEIsSUFBSSxDQUFDLGNBQWMsQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUMvQixJQUFJLENBQUMsY0FBYyxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQ2pDLENBQUM7SUFFRCxJQUFJLENBQUM7UUFDSCxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUM7SUFDcEIsQ0FBQztJQUVELElBQ0ksYUFBYSxDQUFDLGFBQXNCO1FBQ3RDLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDO0lBQzFDLENBQUM7SUFFRCxJQUNJLGFBQWEsQ0FBQyxhQUFzQjtRQUN0QyxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQztJQUMxQyxDQUFDO0lBRUQsU0FBUyxDQUFDLEtBQW1CO1FBQzNCLE1BQU0sVUFBVSxHQUFJLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBNkIsQ0FBQyxXQUFXLENBQUM7UUFDOUUsSUFBSSxDQUFDLHNCQUFzQixDQUFDLGFBQWEsQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUN4RCxDQUFDOztrSEFyRFUscUJBQXFCLGtCQVlaLHNCQUFzQjtzR0FaL0IscUJBQXFCLGdiQy9CbEMsZ2JBTUE7MkZEeUJhLHFCQUFxQjtrQkFWakMsU0FBUzsrQkFDRSxnQkFBZ0IsWUFFaEIsU0FBUyxRQUNiO3dCQUNKLEtBQUssRUFBRSxnQkFBZ0I7d0JBQ3ZCLFNBQVMsRUFBRSx5TEFBeUw7cUJBQ3JNLG1CQUNnQix1QkFBdUIsQ0FBQyxNQUFNOzswQkFjbEMsTUFBTTsyQkFBQyxzQkFBc0I7cUdBNkJ0QyxhQUFhO3NCQURoQixLQUFLO2dCQU1GLGFBQWE7c0JBRGhCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3RvclJlZiwgT25EZXN0cm95LCBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgT25Jbml0LCBDb21wb25lbnQsIEluamVjdCwgSW5wdXQsIEVsZW1lbnRSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFic3RyYWN0U3Vic2NyaXB0aW9uRGlyZWN0aXZlLCBzYWZlTWFya0ZvckNoZWNrIH0gZnJvbSAnQGRlcmVla2IvZGJ4LWNvcmUnO1xuaW1wb3J0IHsgUmVzaXplZEV2ZW50IH0gZnJvbSAnYW5ndWxhci1yZXNpemUtZXZlbnQnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgQmVoYXZpb3JTdWJqZWN0LCBjb21iaW5lTGF0ZXN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBUd29Db2x1bW5zQ29udGV4dFN0b3JlIH0gZnJvbSAnLi90d28uY29sdW1uLnN0b3JlJztcblxuZXhwb3J0IGludGVyZmFjZSBEYnhUd29Db2x1bW5WaWV3U3RhdGUge1xuICBzaG93UmlnaHQ6IGJvb2xlYW47XG4gIHNob3dGdWxsTGVmdDogYm9vbGVhbjtcbiAgaGlkZUxlZnRDb2x1bW46IGJvb2xlYW47XG4gIHJldmVyc2VTaXppbmc6IGJvb2xlYW47XG4gIGluU2VjdGlvblBhZ2U6IGJvb2xlYW47XG59XG5cbi8qKlxuICogUmVzcG9uc2l2ZSBjb21wb25lbnQgbWVhbnQgdG8gc3BsaXQgYSBsZWZ0IGFuZCByaWdodCBjb2x1bW4uXG4gKlxuICogVGhlIGxlZnQgY29sdW1uIGlzIHNtYWxsZXIgdGhhbiB0aGUgcmlnaHQgY29sdW1uLCB3aGljaCBjb250YWlucyB0aGUgcHJpbWFyeSBjb250ZW50LlxuICpcbiAqIFJlcXVpcmVzIGEgVHdvQ29sdW1uc0NvbnRleHRTdG9yZSB0byBiZSBwcm92aWRlZC5cbiAqL1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZGJ4LXR3by1jb2x1bW4nLFxuICB0ZW1wbGF0ZVVybDogJy4vdHdvLmNvbHVtbi5jb21wb25lbnQuaHRtbCcsXG4gIGV4cG9ydEFzOiAnY29sdW1ucycsXG4gIGhvc3Q6IHtcbiAgICBjbGFzczogJ2RieC10d28tY29sdW1uJyxcbiAgICAnW2NsYXNzXSc6IFwieyAncmlnaHQtc2hvd24nOiB2LnNob3dSaWdodCwgJ2Z1bGwtbGVmdCc6IHYuc2hvd0Z1bGxMZWZ0LCdoaWRlLWxlZnQtY29sdW1uJzogdi5oaWRlTGVmdENvbHVtbiwgJ3R3by1jb2x1bW4tcmV2ZXJzZS1zaXppbmcnOiB2LnJldmVyc2VTaXppbmcsICdkYngtc2VjdGlvbi1wYWdlLXR3byc6IHYuaW5TZWN0aW9uUGFnZSB9XCJcbiAgfSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcbn0pXG5leHBvcnQgY2xhc3MgRGJ4VHdvQ29sdW1uQ29tcG9uZW50IGV4dGVuZHMgQWJzdHJhY3RTdWJzY3JpcHRpb25EaXJlY3RpdmUgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG4gIHByaXZhdGUgX3ZpZXc6IERieFR3b0NvbHVtblZpZXdTdGF0ZSA9IHsgc2hvd1JpZ2h0OiBmYWxzZSwgc2hvd0Z1bGxMZWZ0OiB0cnVlLCBoaWRlTGVmdENvbHVtbjogZmFsc2UsIHJldmVyc2VTaXppbmc6IGZhbHNlLCBpblNlY3Rpb25QYWdlOiBmYWxzZSB9O1xuXG4gIHByaXZhdGUgX3JldmVyc2VTaXppbmcgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+KGZhbHNlKTtcbiAgcHJpdmF0ZSBfaW5TZWN0aW9uUGFnZSA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4oZmFsc2UpO1xuXG4gIHJlYWRvbmx5IGhpZGVMZWZ0Q29sdW1uJDogT2JzZXJ2YWJsZTxib29sZWFuPiA9IHRoaXMudHdvQ29sdW1uc0NvbnRleHRTdG9yZS5oaWRlTGVmdCQ7XG4gIHJlYWRvbmx5IHNob3dSaWdodCQ6IE9ic2VydmFibGU8Ym9vbGVhbj4gPSB0aGlzLnR3b0NvbHVtbnNDb250ZXh0U3RvcmUuc2hvd1JpZ2h0JDtcbiAgcmVhZG9ubHkgc2hvd0Z1bGxMZWZ0JDogT2JzZXJ2YWJsZTxib29sZWFuPiA9IHRoaXMudHdvQ29sdW1uc0NvbnRleHRTdG9yZS5zaG93RnVsbExlZnQkO1xuXG4gIHJlYWRvbmx5IGhpZGVSaWdodCQ6IE9ic2VydmFibGU8Ym9vbGVhbj4gPSB0aGlzLnR3b0NvbHVtbnNDb250ZXh0U3RvcmUuaGlkZVJpZ2h0JDtcblxuICBjb25zdHJ1Y3RvcihASW5qZWN0KFR3b0NvbHVtbnNDb250ZXh0U3RvcmUpIHB1YmxpYyByZWFkb25seSB0d29Db2x1bW5zQ29udGV4dFN0b3JlOiBUd29Db2x1bW5zQ29udGV4dFN0b3JlLCBwcml2YXRlIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWYsIHJlYWRvbmx5IGNkUmVmOiBDaGFuZ2VEZXRlY3RvclJlZikge1xuICAgIHN1cGVyKCk7XG4gIH1cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLnN1YiA9IGNvbWJpbmVMYXRlc3QoW3RoaXMuc2hvd1JpZ2h0JCwgdGhpcy5zaG93RnVsbExlZnQkLCB0aGlzLmhpZGVMZWZ0Q29sdW1uJCwgdGhpcy5fcmV2ZXJzZVNpemluZywgdGhpcy5faW5TZWN0aW9uUGFnZV0pLnN1YnNjcmliZSgoW3Nob3dSaWdodCwgc2hvd0Z1bGxMZWZ0LCBoaWRlTGVmdENvbHVtbiwgcmV2ZXJzZVNpemluZywgaW5TZWN0aW9uUGFnZV06IFtib29sZWFuLCBib29sZWFuLCBib29sZWFuLCBib29sZWFuLCBib29sZWFuXSkgPT4ge1xuICAgICAgdGhpcy5fdmlldyA9IHtcbiAgICAgICAgc2hvd1JpZ2h0LFxuICAgICAgICBzaG93RnVsbExlZnQsXG4gICAgICAgIGhpZGVMZWZ0Q29sdW1uLFxuICAgICAgICByZXZlcnNlU2l6aW5nLFxuICAgICAgICBpblNlY3Rpb25QYWdlXG4gICAgICB9O1xuXG4gICAgICBzYWZlTWFya0ZvckNoZWNrKHRoaXMuY2RSZWYpO1xuICAgIH0pO1xuICB9XG5cbiAgb3ZlcnJpZGUgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgc3VwZXIubmdPbkRlc3Ryb3koKTtcbiAgICB0aGlzLl9yZXZlcnNlU2l6aW5nLmNvbXBsZXRlKCk7XG4gICAgdGhpcy5faW5TZWN0aW9uUGFnZS5jb21wbGV0ZSgpO1xuICB9XG5cbiAgZ2V0IHYoKTogRGJ4VHdvQ29sdW1uVmlld1N0YXRlIHtcbiAgICByZXR1cm4gdGhpcy5fdmlldztcbiAgfVxuXG4gIEBJbnB1dCgpXG4gIHNldCByZXZlcnNlU2l6aW5nKHJldmVyc2VTaXppbmc6IGJvb2xlYW4pIHtcbiAgICB0aGlzLl9yZXZlcnNlU2l6aW5nLm5leHQocmV2ZXJzZVNpemluZyk7XG4gIH1cblxuICBASW5wdXQoKVxuICBzZXQgaW5TZWN0aW9uUGFnZShpblNlY3Rpb25QYWdlOiBib29sZWFuKSB7XG4gICAgdGhpcy5faW5TZWN0aW9uUGFnZS5uZXh0KGluU2VjdGlvblBhZ2UpO1xuICB9XG5cbiAgb25SZXNpemVkKGV2ZW50OiBSZXNpemVkRXZlbnQpOiB2b2lkIHtcbiAgICBjb25zdCB0b3RhbFdpZHRoID0gKHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50IGFzIEhUTUxFbGVtZW50KS5jbGllbnRXaWR0aDtcbiAgICB0aGlzLnR3b0NvbHVtbnNDb250ZXh0U3RvcmUuc2V0VG90YWxXaWR0aCh0b3RhbFdpZHRoKTtcbiAgfVxufVxuIiwiPGRieC1jb250ZW50LWNvbnRhaW5lciBncm93PVwiZnVsbFwiIHBhZGRpbmc9XCJub25lXCIgY2xhc3M9XCJkYngtY29udGVudCBkYngtY29udGVudC1hdXRvLWhlaWdodCBsZWZ0LWNvbHVtblwiPlxuICA8bmctY29udGVudCBzZWxlY3Q9XCJbbGVmdF1cIj48L25nLWNvbnRlbnQ+XG48L2RieC1jb250ZW50LWNvbnRhaW5lcj5cbjxkYngtY29udGVudC1jb250YWluZXIgZ3Jvdz1cImZ1bGxcIiBwYWRkaW5nPVwibm9uZVwiIGNsYXNzPVwiZGJ4LWNvbnRlbnQgZGJ4LWNvbnRlbnQtYXV0by1oZWlnaHQgcmlnaHQtY29sdW1uXCIgKm5nSWY9XCJ2LnNob3dSaWdodFwiIChyZXNpemVkKT1cIm9uUmVzaXplZCgkZXZlbnQpXCI+XG4gIDxuZy1jb250ZW50IHNlbGVjdD1cIltyaWdodF1cIj48L25nLWNvbnRlbnQ+XG48L2RieC1jb250ZW50LWNvbnRhaW5lcj5cbiJdfQ==
77
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHdvLmNvbHVtbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9kYngtd2ViL3NyYy9saWIvbGF5b3V0L2NvbHVtbi90d28vdHdvLmNvbHVtbi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9kYngtd2ViL3NyYy9saWIvbGF5b3V0L2NvbHVtbi90d28vdHdvLmNvbHVtbi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsaUJBQWlCLEVBQWEsdUJBQXVCLEVBQVUsU0FBUyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3BJLE9BQU8sRUFBRSw2QkFBNkIsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBRXBGLE9BQU8sRUFBYyxlQUFlLEVBQUUsYUFBYSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ2xFLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLG9CQUFvQixDQUFDOzs7Ozs7QUFVNUQ7Ozs7OztHQU1HO0FBV0gsTUFBTSxPQUFPLHFCQUFzQixTQUFRLDZCQUE2QjtJQVl0RSxZQUE0RCxzQkFBOEMsRUFBVSxVQUFzQixFQUFXLEtBQXdCO1FBQzNLLEtBQUssRUFBRSxDQUFDO1FBRGtELDJCQUFzQixHQUF0QixzQkFBc0IsQ0FBd0I7UUFBVSxlQUFVLEdBQVYsVUFBVSxDQUFZO1FBQVcsVUFBSyxHQUFMLEtBQUssQ0FBbUI7UUFYckssVUFBSyxHQUEwQixFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsWUFBWSxFQUFFLElBQUksRUFBRSxjQUFjLEVBQUUsS0FBSyxFQUFFLGFBQWEsRUFBRSxLQUFLLEVBQUUsYUFBYSxFQUFFLEtBQUssRUFBRSxDQUFDO1FBRTNJLG1CQUFjLEdBQUcsSUFBSSxlQUFlLENBQVUsS0FBSyxDQUFDLENBQUM7UUFFcEQsbUJBQWMsR0FBRyxJQUFJLENBQUMsc0JBQXNCLENBQUMsY0FBYyxDQUFDO1FBQzVELG9CQUFlLEdBQXdCLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxTQUFTLENBQUM7UUFDN0UsZUFBVSxHQUF3QixJQUFJLENBQUMsc0JBQXNCLENBQUMsVUFBVSxDQUFDO1FBQ3pFLGtCQUFhLEdBQXdCLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxhQUFhLENBQUM7UUFFL0UsZUFBVSxHQUF3QixJQUFJLENBQUMsc0JBQXNCLENBQUMsVUFBVSxDQUFDO0lBSWxGLENBQUM7SUFFRCxRQUFRO1FBQ04sSUFBSSxDQUFDLEdBQUcsR0FBRyxhQUFhLENBQUMsQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLElBQUksQ0FBQyxhQUFhLEVBQUUsSUFBSSxDQUFDLGVBQWUsRUFBRSxJQUFJLENBQUMsY0FBYyxFQUFFLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsU0FBUyxFQUFFLFlBQVksRUFBRSxjQUFjLEVBQUUsYUFBYSxFQUFFLGFBQWEsQ0FBZ0QsRUFBRSxFQUFFO1lBQ25RLElBQUksQ0FBQyxLQUFLLEdBQUc7Z0JBQ1gsU0FBUztnQkFDVCxZQUFZO2dCQUNaLGNBQWM7Z0JBQ2QsYUFBYTtnQkFDYixhQUFhO2FBQ2QsQ0FBQztZQUVGLGdCQUFnQixDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUMvQixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFUSxXQUFXO1FBQ2xCLEtBQUssQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUNwQixJQUFJLENBQUMsY0FBYyxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQ2pDLENBQUM7SUFFRCxJQUFJLENBQUM7UUFDSCxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUM7SUFDcEIsQ0FBQztJQUVELElBQ0ksYUFBYSxDQUFDLGFBQXNCO1FBQ3RDLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxnQkFBZ0IsQ0FBQyxhQUFhLENBQUMsQ0FBQztJQUM5RCxDQUFDO0lBRUQsSUFDSSxhQUFhLENBQUMsYUFBc0I7UUFDdEMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUM7SUFDMUMsQ0FBQztJQUVELFNBQVMsQ0FBQyxLQUFtQjtRQUMzQixNQUFNLFVBQVUsR0FBSSxJQUFJLENBQUMsVUFBVSxDQUFDLGFBQTZCLENBQUMsV0FBVyxDQUFDO1FBQzlFLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxhQUFhLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDeEQsQ0FBQzs7a0hBcERVLHFCQUFxQixrQkFZWixzQkFBc0I7c0dBWi9CLHFCQUFxQixnYkMvQmxDLDRrQkFRQTsyRkR1QmEscUJBQXFCO2tCQVZqQyxTQUFTOytCQUNFLGdCQUFnQixZQUVoQixTQUFTLFFBQ2I7d0JBQ0osS0FBSyxFQUFFLGdCQUFnQjt3QkFDdkIsU0FBUyxFQUFFLHlMQUF5TDtxQkFDck0sbUJBQ2dCLHVCQUF1QixDQUFDLE1BQU07OzBCQWNsQyxNQUFNOzJCQUFDLHNCQUFzQjtxR0E0QnRDLGFBQWE7c0JBRGhCLEtBQUs7Z0JBTUYsYUFBYTtzQkFEaEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdG9yUmVmLCBPbkRlc3Ryb3ksIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBPbkluaXQsIENvbXBvbmVudCwgSW5qZWN0LCBJbnB1dCwgRWxlbWVudFJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQWJzdHJhY3RTdWJzY3JpcHRpb25EaXJlY3RpdmUsIHNhZmVNYXJrRm9yQ2hlY2sgfSBmcm9tICdAZGVyZWVrYi9kYngtY29yZSc7XG5pbXBvcnQgeyBSZXNpemVkRXZlbnQgfSBmcm9tICdhbmd1bGFyLXJlc2l6ZS1ldmVudCc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBCZWhhdmlvclN1YmplY3QsIGNvbWJpbmVMYXRlc3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IFR3b0NvbHVtbnNDb250ZXh0U3RvcmUgfSBmcm9tICcuL3R3by5jb2x1bW4uc3RvcmUnO1xuXG5leHBvcnQgaW50ZXJmYWNlIERieFR3b0NvbHVtblZpZXdTdGF0ZSB7XG4gIHNob3dSaWdodDogYm9vbGVhbjtcbiAgc2hvd0Z1bGxMZWZ0OiBib29sZWFuO1xuICBoaWRlTGVmdENvbHVtbjogYm9vbGVhbjtcbiAgcmV2ZXJzZVNpemluZzogYm9vbGVhbjtcbiAgaW5TZWN0aW9uUGFnZTogYm9vbGVhbjtcbn1cblxuLyoqXG4gKiBSZXNwb25zaXZlIGNvbXBvbmVudCBtZWFudCB0byBzcGxpdCBhIGxlZnQgYW5kIHJpZ2h0IGNvbHVtbi5cbiAqXG4gKiBUaGUgbGVmdCBjb2x1bW4gaXMgc21hbGxlciB0aGFuIHRoZSByaWdodCBjb2x1bW4sIHdoaWNoIGNvbnRhaW5zIHRoZSBwcmltYXJ5IGNvbnRlbnQuXG4gKlxuICogUmVxdWlyZXMgYSBUd29Db2x1bW5zQ29udGV4dFN0b3JlIHRvIGJlIHByb3ZpZGVkLlxuICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdkYngtdHdvLWNvbHVtbicsXG4gIHRlbXBsYXRlVXJsOiAnLi90d28uY29sdW1uLmNvbXBvbmVudC5odG1sJyxcbiAgZXhwb3J0QXM6ICdjb2x1bW5zJyxcbiAgaG9zdDoge1xuICAgIGNsYXNzOiAnZGJ4LXR3by1jb2x1bW4nLFxuICAgICdbY2xhc3NdJzogXCJ7ICdyaWdodC1zaG93bic6IHYuc2hvd1JpZ2h0LCAnZnVsbC1sZWZ0Jzogdi5zaG93RnVsbExlZnQsJ2hpZGUtbGVmdC1jb2x1bW4nOiB2LmhpZGVMZWZ0Q29sdW1uLCAndHdvLWNvbHVtbi1yZXZlcnNlLXNpemluZyc6IHYucmV2ZXJzZVNpemluZywgJ2RieC1zZWN0aW9uLXBhZ2UtdHdvJzogdi5pblNlY3Rpb25QYWdlIH1cIlxuICB9LFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxufSlcbmV4cG9ydCBjbGFzcyBEYnhUd29Db2x1bW5Db21wb25lbnQgZXh0ZW5kcyBBYnN0cmFjdFN1YnNjcmlwdGlvbkRpcmVjdGl2ZSBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcbiAgcHJpdmF0ZSBfdmlldzogRGJ4VHdvQ29sdW1uVmlld1N0YXRlID0geyBzaG93UmlnaHQ6IGZhbHNlLCBzaG93RnVsbExlZnQ6IHRydWUsIGhpZGVMZWZ0Q29sdW1uOiBmYWxzZSwgcmV2ZXJzZVNpemluZzogZmFsc2UsIGluU2VjdGlvblBhZ2U6IGZhbHNlIH07XG5cbiAgcHJpdmF0ZSBfaW5TZWN0aW9uUGFnZSA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4oZmFsc2UpO1xuXG4gIHJlYWRvbmx5IHJldmVyc2VTaXppbmckID0gdGhpcy50d29Db2x1bW5zQ29udGV4dFN0b3JlLnJldmVyc2VTaXppbmckO1xuICByZWFkb25seSBoaWRlTGVmdENvbHVtbiQ6IE9ic2VydmFibGU8Ym9vbGVhbj4gPSB0aGlzLnR3b0NvbHVtbnNDb250ZXh0U3RvcmUuaGlkZUxlZnQkO1xuICByZWFkb25seSBzaG93UmlnaHQkOiBPYnNlcnZhYmxlPGJvb2xlYW4+ID0gdGhpcy50d29Db2x1bW5zQ29udGV4dFN0b3JlLnNob3dSaWdodCQ7XG4gIHJlYWRvbmx5IHNob3dGdWxsTGVmdCQ6IE9ic2VydmFibGU8Ym9vbGVhbj4gPSB0aGlzLnR3b0NvbHVtbnNDb250ZXh0U3RvcmUuc2hvd0Z1bGxMZWZ0JDtcblxuICByZWFkb25seSBoaWRlUmlnaHQkOiBPYnNlcnZhYmxlPGJvb2xlYW4+ID0gdGhpcy50d29Db2x1bW5zQ29udGV4dFN0b3JlLmhpZGVSaWdodCQ7XG5cbiAgY29uc3RydWN0b3IoQEluamVjdChUd29Db2x1bW5zQ29udGV4dFN0b3JlKSBwdWJsaWMgcmVhZG9ubHkgdHdvQ29sdW1uc0NvbnRleHRTdG9yZTogVHdvQ29sdW1uc0NvbnRleHRTdG9yZSwgcHJpdmF0ZSBlbGVtZW50UmVmOiBFbGVtZW50UmVmLCByZWFkb25seSBjZFJlZjogQ2hhbmdlRGV0ZWN0b3JSZWYpIHtcbiAgICBzdXBlcigpO1xuICB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5zdWIgPSBjb21iaW5lTGF0ZXN0KFt0aGlzLnNob3dSaWdodCQsIHRoaXMuc2hvd0Z1bGxMZWZ0JCwgdGhpcy5oaWRlTGVmdENvbHVtbiQsIHRoaXMucmV2ZXJzZVNpemluZyQsIHRoaXMuX2luU2VjdGlvblBhZ2VdKS5zdWJzY3JpYmUoKFtzaG93UmlnaHQsIHNob3dGdWxsTGVmdCwgaGlkZUxlZnRDb2x1bW4sIHJldmVyc2VTaXppbmcsIGluU2VjdGlvblBhZ2VdOiBbYm9vbGVhbiwgYm9vbGVhbiwgYm9vbGVhbiwgYm9vbGVhbiwgYm9vbGVhbl0pID0+IHtcbiAgICAgIHRoaXMuX3ZpZXcgPSB7XG4gICAgICAgIHNob3dSaWdodCxcbiAgICAgICAgc2hvd0Z1bGxMZWZ0LFxuICAgICAgICBoaWRlTGVmdENvbHVtbixcbiAgICAgICAgcmV2ZXJzZVNpemluZyxcbiAgICAgICAgaW5TZWN0aW9uUGFnZVxuICAgICAgfTtcblxuICAgICAgc2FmZU1hcmtGb3JDaGVjayh0aGlzLmNkUmVmKTtcbiAgICB9KTtcbiAgfVxuXG4gIG92ZXJyaWRlIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHN1cGVyLm5nT25EZXN0cm95KCk7XG4gICAgdGhpcy5faW5TZWN0aW9uUGFnZS5jb21wbGV0ZSgpO1xuICB9XG5cbiAgZ2V0IHYoKTogRGJ4VHdvQ29sdW1uVmlld1N0YXRlIHtcbiAgICByZXR1cm4gdGhpcy5fdmlldztcbiAgfVxuXG4gIEBJbnB1dCgpXG4gIHNldCByZXZlcnNlU2l6aW5nKHJldmVyc2VTaXppbmc6IGJvb2xlYW4pIHtcbiAgICB0aGlzLnR3b0NvbHVtbnNDb250ZXh0U3RvcmUuc2V0UmV2ZXJzZVNpemluZyhyZXZlcnNlU2l6aW5nKTtcbiAgfVxuXG4gIEBJbnB1dCgpXG4gIHNldCBpblNlY3Rpb25QYWdlKGluU2VjdGlvblBhZ2U6IGJvb2xlYW4pIHtcbiAgICB0aGlzLl9pblNlY3Rpb25QYWdlLm5leHQoaW5TZWN0aW9uUGFnZSk7XG4gIH1cblxuICBvblJlc2l6ZWQoZXZlbnQ6IFJlc2l6ZWRFdmVudCk6IHZvaWQge1xuICAgIGNvbnN0IHRvdGFsV2lkdGggPSAodGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQgYXMgSFRNTEVsZW1lbnQpLmNsaWVudFdpZHRoO1xuICAgIHRoaXMudHdvQ29sdW1uc0NvbnRleHRTdG9yZS5zZXRUb3RhbFdpZHRoKHRvdGFsV2lkdGgpO1xuICB9XG59XG4iLCI8ZGJ4LWNvbnRlbnQtY29udGFpbmVyIGdyb3c9XCJmdWxsXCIgcGFkZGluZz1cIm5vbmVcIiBjbGFzcz1cImRieC1jb250ZW50IGRieC1jb250ZW50LWF1dG8taGVpZ2h0IGxlZnQtY29sdW1uXCI+XG4gIDxkaXYgKm5nSWY9XCIhdi5oaWRlTGVmdENvbHVtbiAmJiB2LnJldmVyc2VTaXppbmdcIiAocmVzaXplZCk9XCJvblJlc2l6ZWQoJGV2ZW50KVwiPjwvZGl2PlxuICA8bmctY29udGVudCBzZWxlY3Q9XCJbbGVmdF1cIj48L25nLWNvbnRlbnQ+XG48L2RieC1jb250ZW50LWNvbnRhaW5lcj5cbjxkYngtY29udGVudC1jb250YWluZXIgZ3Jvdz1cImZ1bGxcIiBwYWRkaW5nPVwibm9uZVwiIGNsYXNzPVwiZGJ4LWNvbnRlbnQgZGJ4LWNvbnRlbnQtYXV0by1oZWlnaHQgcmlnaHQtY29sdW1uXCIgKm5nSWY9XCJ2LnNob3dSaWdodFwiPlxuICA8ZGl2ICpuZ0lmPVwidi5oaWRlTGVmdENvbHVtbiB8fCAhdi5yZXZlcnNlU2l6aW5nXCIgKHJlc2l6ZWQpPVwib25SZXNpemVkKCRldmVudClcIj48L2Rpdj5cbiAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiW3JpZ2h0XVwiPjwvbmctY29udGVudD5cbjwvZGJ4LWNvbnRlbnQtY29udGFpbmVyPlxuIl19
@@ -5,6 +5,7 @@ import { isMaybeNot } from '@dereekb/util';
5
5
  import * as i0 from "@angular/core";
6
6
  export const DEFAULT_TWO_COLUMNS_MIN_RIGHT_WIDTH = 320;
7
7
  const INITIAL_STATE = {
8
+ reverseSizing: false,
8
9
  showRight: false,
9
10
  fullLeft: false,
10
11
  minRightWidth: DEFAULT_TWO_COLUMNS_MIN_RIGHT_WIDTH
@@ -22,6 +23,10 @@ export class TwoColumnsContextStore extends ComponentStore {
22
23
  const hideLeft = x.showRight && expectedRightWidth < x.minRightWidth;
23
24
  return hideLeft;
24
25
  }));
26
+ /**
27
+ * Pipes the current state of reverseSizing.
28
+ */
29
+ this.reverseSizing$ = this.state$.pipe(map((x) => x.reverseSizing));
25
30
  /**
26
31
  * Pipes the current state of showRight.
27
32
  */
@@ -51,6 +56,10 @@ export class TwoColumnsContextStore extends ComponentStore {
51
56
  * Completely resets the store.
52
57
  */
53
58
  this.reset = this.updater(() => ({ ...INITIAL_STATE }));
59
+ /**
60
+ * Changes the state to show right or not.
61
+ */
62
+ this.setReverseSizing = this.updater((state, reverseSizing) => (isMaybeNot(reverseSizing) ? state : { ...state, reverseSizing }));
54
63
  /**
55
64
  * Changes the state to show right or not.
56
65
  */
@@ -97,4 +106,4 @@ export function provideTwoColumnsContext() {
97
106
  }
98
107
  ];
99
108
  }
100
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHdvLmNvbHVtbi5zdG9yZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2RieC13ZWIvc3JjL2xpYi9sYXlvdXQvY29sdW1uL3R3by90d28uY29sdW1uLnN0b3JlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQXVCLE1BQU0sZUFBZSxDQUFDO0FBQ2hFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUN2RCxPQUFPLEVBQUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxHQUFHLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFFOUMsT0FBTyxFQUFFLFVBQVUsRUFBUyxNQUFNLGVBQWUsQ0FBQzs7QUFzQmxELE1BQU0sQ0FBQyxNQUFNLG1DQUFtQyxHQUFHLEdBQUcsQ0FBQztBQUV2RCxNQUFNLGFBQWEsR0FBb0I7SUFDckMsU0FBUyxFQUFFLEtBQUs7SUFDaEIsUUFBUSxFQUFFLEtBQUs7SUFDZixhQUFhLEVBQUUsbUNBQW1DO0NBQ25ELENBQUM7QUFHRixNQUFNLE9BQU8sc0JBQXVCLFNBQVEsY0FBK0I7SUFHekU7UUFDRSxLQUFLLENBQUMsRUFBRSxHQUFHLGFBQWEsRUFBRSxDQUFDLENBQUM7UUFIYixVQUFLLEdBQUcsSUFBSSxPQUFPLEVBQVEsQ0FBQztRQU03QyxrQkFBa0I7UUFDVCxjQUFTLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQ25DLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFO1lBQ1I7O2VBRUc7WUFDSCxNQUFNLGtCQUFrQixHQUFHLENBQUMsQ0FBQyxDQUFDLFVBQVUsSUFBSSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDbkQsTUFBTSxRQUFRLEdBQUcsQ0FBQyxDQUFDLFNBQVMsSUFBSSxrQkFBa0IsR0FBRyxDQUFDLENBQUMsYUFBYSxDQUFDO1lBQ3JFLE9BQU8sUUFBUSxDQUFDO1FBQ2xC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SUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUN4QixDQUFDOzttSEE5RlUsc0JBQXNCO3VIQUF0QixzQkFBc0I7MkZBQXRCLHNCQUFzQjtrQkFEbEMsVUFBVTs7QUFrR1gsTUFBTSxVQUFVLHdCQUF3QjtJQUN0QyxPQUFPO1FBQ0w7WUFDRSxPQUFPLEVBQUUsc0JBQXNCO1lBQy9CLFFBQVEsRUFBRSxzQkFBc0I7U0FDakM7S0FDRixDQUFDO0FBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUsIE9uRGVzdHJveSwgUHJvdmlkZXIgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbXBvbmVudFN0b3JlIH0gZnJvbSAnQG5ncngvY29tcG9uZW50LXN0b3JlJztcbmltcG9ydCB7IFN1YmplY3QsIGRpc3RpbmN0LCBtYXAgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IFNlZ3VlUmVmIH0gZnJvbSAnQGRlcmVla2IvZGJ4LWNvcmUnO1xuaW1wb3J0IHsgaXNNYXliZU5vdCwgTWF5YmUgfSBmcm9tICdAZGVyZWVrYi91dGlsJztcblxuZXhwb3J0IGludGVyZmFjZSBUd29Db2x1bW5zU3RhdGUge1xuICBzaG93UmlnaHQ6IGJvb2xlYW47XG4gIC8qKlxuICAgKiBXaGV0aGVyIG9yIG5vdCB0byBhbGxvdyB0aGUgbGVmdCB0byBmaWxsIHVwIHRoZSBzY3JlZW4gd2hlbiBubyByaWdodCBpcyBzaG93bi5cbiAgICovXG4gIGZ1bGxMZWZ0OiBib29sZWFuO1xuICAvKipcbiAgICogT3B0aW9uYWwgcmVmIHRvIHVzZSB3aXRoIFR3b0NvbHVtbnMgdGhhdCB1c2UgYW4gc3JlZiBmb3IgdGhlIGJhY2sgYnV0dG9uLlxuICAgKi9cbiAgYmFja1JlZj86IE1heWJlPFNlZ3VlUmVmPjtcbiAgLyoqXG4gICAqIFNpemUgb2YgdGhlIHZpZXcncyB0b3RhbCB3aWR0aCBpbiBwaXhlbHMuXG4gICAqL1xuICB0b3RhbFdpZHRoPzogTWF5YmU8bnVtYmVyPjtcbiAgLyoqXG4gICAqIE1pbmltdW0gcmlnaHQgc2lkZSBzaXplIGFsbG93ZWQgYmVmb3JlIGhpZGluZyB0aGUgbGVmdCBjb250ZW50LlxuICAgKi9cbiAgbWluUmlnaHRXaWR0aDogbnVtYmVyO1xufVxuXG5leHBvcnQgY29uc3QgREVGQVVMVF9UV09fQ09MVU1OU19NSU5fUklHSFRfV0lEVEggPSAzMjA7XG5cbmNvbnN0IElOSVRJQUxfU1RBVEU6IFR3b0NvbHVtbnNTdGF0ZSA9IHtcbiAgc2hvd1JpZ2h0OiBmYWxzZSxcbiAgZnVsbExlZnQ6IGZhbHNlLFxuICBtaW5SaWdodFdpZHRoOiBERUZBVUxUX1RXT19DT0xVTU5TX01JTl9SSUdIVF9XSURUSFxufTtcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIFR3b0NvbHVtbnNDb250ZXh0U3RvcmUgZXh0ZW5kcyBDb21wb25lbnRTdG9yZTxUd29Db2x1bW5zU3RhdGU+IGltcGxlbWVudHMgT25EZXN0cm95IHtcbiAgcHJpdmF0ZSByZWFkb25seSBfYmFjayA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgc3VwZXIoeyAuLi5JTklUSUFMX1NUQVRFIH0pO1xuICB9XG5cbiAgLy8gTUFSSzogQWNjZXNzb3JzXG4gIHJlYWRvbmx5IGhpZGVMZWZ0JCA9IHRoaXMuc3RhdGUkLnBpcGUoXG4gICAgbWFwKCh4KSA9PiB7XG4gICAgICAvKipcbiAgICAgICAqIFRoZSByaWdodCBzaWRlIGlzIGxlc3MtdGhhbiBvciBlcXVhbCB0byBoYWxmIHRoZSB0b3RhbCB3aWR0aCB3aGVuIHJlc2l6aW5nLCBzbyB3ZSBjYW4gdXNlIHRoZSB0b3RhbCB3aWR0aCB0byBndWVzcyB0aGUgYmVzdCBjYXNlIGN1cnJlbnQgc2NlbmFyaW8uXG4gICAgICAgKi9cbiAgICAgIGNvbnN0IGV4cGVjdGVkUmlnaHRXaWR0aCA9ICh4LnRvdGFsV2lkdGggPz8gMCkgLyAyO1xuICAgICAgY29uc3QgaGlkZUxlZnQgPSB4LnNob3dSaWdodCAmJiBleHBlY3RlZFJpZ2h0V2lkdGggPCB4Lm1pblJpZ2h0V2lkdGg7XG4gICAgICByZXR1cm4gaGlkZUxlZnQ7XG4gICAgfSlcbiAgKTtcblxuICAvKipcbiAgICogUGlwZXMgdGhlIGN1cnJlbnQgc3RhdGUgb2Ygc2hvd1JpZ2h0LlxuICAgKi9cbiAgcmVhZG9ubHkgc2hvd1JpZ2h0JCA9IHRoaXMuc3RhdGUkLnBpcGUobWFwKCh4KSA9PiB4LnNob3dSaWdodCkpO1xuXG4gIC8qKlxuICAgKiBDb252ZW5pZW5jZSBmdW5jdGlvbiBmb3IgdGhlIHNob3dSaWdodCBjb21wbGltZW50LlxuICAgKi9cbiAgcmVhZG9ubHkgaGlkZVJpZ2h0JCA9IHRoaXMuc3RhdGUkLnBpcGUobWFwKCh4KSA9PiAheC5zaG93UmlnaHQpKTtcblxuICAvKipcbiAgICogUGlwZXMgdGhlIGN1cnJlbnQgc3RhdGUgb2YgZnVsbExlZnQuXG4gICAqL1xuICByZWFkb25seSBmdWxsTGVmdCQgPSB0aGlzLnN0YXRlJC5waXBlKG1hcCgoeCkgPT4geC5mdWxsTGVmdCkpO1xuXG4gIC8qKlxuICAgKiBXaGV0aGVyIG9yIG5vdCB0byBzaG93IHRoZSBmdWxsIGxlZnQuXG4gICAqL1xuICByZWFkb25seSBzaG93RnVsbExlZnQkID0gdGhpcy5zdGF0ZSQucGlwZShtYXAoKHgpID0+ICF4LnNob3dSaWdodCAmJiB4LmZ1bGxMZWZ0KSk7XG5cbiAgLyoqXG4gICAqIFBpcGVzIHRoZSBjdXJyZW50IGJhY2tSZWYgdmFsdWUuXG4gICAqL1xuICByZWFkb25seSBiYWNrUmVmJCA9IHRoaXMuc3RhdGUkLnBpcGUoXG4gICAgbWFwKCh4KSA9PiB4LmJhY2tSZWYpLFxuICAgIGRpc3RpbmN0KClcbiAgKTtcblxuICAvKipcbiAgICogRW1pdHMgYmFjayBldmVudHMuXG4gICAqL1xuICByZWFkb25seSBiYWNrJCA9IHRoaXMuX2JhY2suYXNPYnNlcnZhYmxlKCk7XG5cbiAgLy8gTUFSSzogU3RhdGUgQ2hhbmdlc1xuICAvKipcbiAgICogQ29tcGxldGVseSByZXNldHMgdGhlIHN0b3JlLlxuICAgKi9cbiAgcmVhZG9ubHkgcmVzZXQgPSB0aGlzLnVwZGF0ZXIoKCkgPT4gKHsgLi4uSU5JVElBTF9TVEFURSB9KSk7XG5cbiAgLyoqXG4gICAqIENoYW5nZXMgdGhlIHN0YXRlIHRvIHNob3cgcmlnaHQgb3Igbm90LlxuICAgKi9cbiAgcmVhZG9ubHkgc2V0U2hvd1JpZ2h0ID0gdGhpcy51cGRhdGVyKChzdGF0ZSwgc2hvd1JpZ2h0OiBNYXliZTxib29sZWFuPikgPT4gKGlzTWF5YmVOb3Qoc2hvd1JpZ2h0KSA/IHN0YXRlIDogeyAuLi5zdGF0ZSwgc2hvd1JpZ2h0IH0pKTtcblxuICAvKipcbiAgICogU2V0cyB0aGUgZnVsbCBsZWZ0LiBJZiB1bmRlZmluZWQgaXMgcGFzc2VkLCBubyBjaGFuZ2Ugb2NjdXJzLlxuICAgKi9cbiAgcmVhZG9ubHkgc2V0RnVsbExlZnQgPSB0aGlzLnVwZGF0ZXIoKHN0YXRlLCBmdWxsTGVmdDogTWF5YmU8Ym9vbGVhbj4pID0+IChpc01heWJlTm90KGZ1bGxMZWZ0KSA/IHN0YXRlIDogeyAuLi5zdGF0ZSwgZnVsbExlZnQgfSkpO1xuXG4gIC8qKlxuICAgKiBTZXRzIHRoZSBuZXcgYmFjayByZWYuXG4gICAqL1xuICByZWFkb25seSBzZXRCYWNrUmVmID0gdGhpcy51cGRhdGVyKChzdGF0ZSwgYmFja1JlZjogTWF5YmU8U2VndWVSZWY+KSA9PiAoeyAuLi5zdGF0ZSwgYmFja1JlZiB9KSk7XG5cbiAgLyoqXG4gICAqIFNldHMgdGhlIG5ldyB0b3RhbCB3aWR0aC5cbiAgICovXG4gIHJlYWRvbmx5IHNldFRvdGFsV2lkdGggPSB0aGlzLnVwZGF0ZXIoKHN0YXRlLCB0b3RhbFdpZHRoOiBNYXliZTxudW1iZXI+KSA9PiAoeyAuLi5zdGF0ZSwgdG90YWxXaWR0aCB9KSk7XG5cbiAgLyoqXG4gICAqIFNldHMgdGhlIG5ldyBtaW4gcmlnaHQgd2lkdGguXG4gICAqL1xuICByZWFkb25seSBzZXRNaW5SaWdodFdpZHRoID0gdGhpcy51cGRhdGVyKChzdGF0ZSwgbWluUmlnaHRXaWR0aDogTWF5YmU8bnVtYmVyPikgPT4gKHsgLi4uc3RhdGUsIG1pblJpZ2h0V2lkdGg6IG1pblJpZ2h0V2lkdGggPz8gREVGQVVMVF9UV09fQ09MVU1OU19NSU5fUklHSFRfV0lEVEggfSkpO1xuXG4gIC8qKlxuICAgKiBFbWl0cyBhIGJhY2sgZXZlbnQuXG4gICAqL1xuICBiYWNrKCk6IHZvaWQge1xuICAgIHRoaXMuX2JhY2submV4dCgpO1xuICB9XG5cbiAgLy8gTUFSSzogSW50ZXJuYWxcbiAgb3ZlcnJpZGUgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgc3VwZXIubmdPbkRlc3Ryb3koKTtcbiAgICB0aGlzLl9iYWNrLmNvbXBsZXRlKCk7XG4gIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHByb3ZpZGVUd29Db2x1bW5zQ29udGV4dCgpOiBQcm92aWRlcltdIHtcbiAgcmV0dXJuIFtcbiAgICB7XG4gICAgICBwcm92aWRlOiBUd29Db2x1bW5zQ29udGV4dFN0b3JlLFxuICAgICAgdXNlQ2xhc3M6IFR3b0NvbHVtbnNDb250ZXh0U3RvcmVcbiAgICB9XG4gIF07XG59XG4iXX0=
109
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHdvLmNvbHVtbi5zdG9yZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2RieC13ZWIvc3JjL2xpYi9sYXlvdXQvY29sdW1uL3R3by90d28uY29sdW1uLnN0b3JlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQXVCLE1BQU0sZUFBZSxDQUFDO0FBQ2hFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUN2RCxPQUFPLEVBQUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxHQUFHLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFFOUMsT0FBTyxFQUFFLFVBQVUsRUFBUyxNQUFNLGVBQWUsQ0FBQzs7QUE2QmxELE1BQU0sQ0FBQyxNQUFNLG1DQUFtQyxHQUFHLEdBQUcsQ0FBQztBQUV2RCxNQUFNLGFBQWEsR0FBb0I7SUFDckMsYUFBYSxFQUFFLEtBQUs7SUFDcEIsU0FBUyxFQUFFLEtBQUs7SUFDaEIsUUFBUSxFQUFFLEtBQUs7SUFDZixhQUFhLEVBQUUsbUNBQW1DO0NBQ25ELENBQUM7QUFHRixNQUFNLE9BQU8sc0JBQXVCLFNBQVEsY0FBK0I7SUFHekU7UUFDRSxLQUFLLENBQUMsRUFBRSxHQUFHLGFBQWEsRUFBRSxDQUFDLENBQUM7UUFIYixVQUFLLEdBQUcsSUFBSSxPQUFPLEVBQVEsQ0FBQztRQU03QyxrQkFBa0I7UUFDVCxjQUFTLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQ25DLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFO1lBQ1I7O2VBRUc7WUFDSCxNQUFNLGtCQUFrQixHQUFHLENBQUMsQ0FBQyxDQUFDLFVBQVUsSUFBSSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDbkQsTUFBTSxRQUFRLEdBQUcsQ0FBQyxDQUFDLFNBQVMsSUFBSSxrQkFBa0IsR0FBRyxDQUFDLENBQUMsYUFBYSxDQUFDO1lBQ3JF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QUssRUFBRSxVQUFVLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFFeEc7O1dBRUc7UUFDTSxxQkFBZ0IsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsS0FBSyxFQUFFLGFBQTRCLEVBQUUsRUFBRSxDQUFDLENBQUMsRUFBRSxHQUFHLEtBQUssRUFBRSxhQUFhLEVBQUUsYUFBYSxJQUFJLG1DQUFtQyxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBdEZ2SyxDQUFDO0lBd0ZEOztPQUVHO0lBQ0gsSUFBSTtRQUNGLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDcEIsQ0FBQztJQUVELGlCQUFpQjtJQUNSLFdBQVc7UUFDbEIsS0FBSyxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQ3BCLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDeEIsQ0FBQzs7bUhBeEdVLHNCQUFzQjt1SEFBdEIsc0JBQXNCOzJGQUF0QixzQkFBc0I7a0JBRGxDLFVBQVU7O0FBNEdYLE1BQU0sVUFBVSx3QkFBd0I7SUFDdEMsT0FBTztRQUNMO1lBQ0UsT0FBTyxFQUFFLHNCQUFzQjtZQUMvQixRQUFRLEVBQUUsc0JBQXNCO1NBQ2pDO0tBQ0YsQ0FBQztBQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlLCBPbkRlc3Ryb3ksIFByb3ZpZGVyIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21wb25lbnRTdG9yZSB9IGZyb20gJ0BuZ3J4L2NvbXBvbmVudC1zdG9yZSc7XG5pbXBvcnQgeyBTdWJqZWN0LCBkaXN0aW5jdCwgbWFwIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBTZWd1ZVJlZiB9IGZyb20gJ0BkZXJlZWtiL2RieC1jb3JlJztcbmltcG9ydCB7IGlzTWF5YmVOb3QsIE1heWJlIH0gZnJvbSAnQGRlcmVla2IvdXRpbCc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgVHdvQ29sdW1uc1N0YXRlIHtcbiAgLyoqXG4gICAqIFdoZXRoZXIgb3Igbm90IHRvIHJldmVyc2UgdGhlIHNpemluZy5cbiAgICovXG4gIHJldmVyc2VTaXppbmc6IGJvb2xlYW47XG4gIC8qKlxuICAgKiBXaGV0aGVyIG9yIG5vdCB0aGUgcmlnaHQgc2lkZSBzaG91bGQgYmUgc2hvd24uXG4gICAqL1xuICBzaG93UmlnaHQ6IGJvb2xlYW47XG4gIC8qKlxuICAgKiBXaGV0aGVyIG9yIG5vdCB0byBhbGxvdyB0aGUgbGVmdCB0byBmaWxsIHVwIHRoZSBzY3JlZW4gd2hlbiBubyByaWdodCBpcyBzaG93bi5cbiAgICovXG4gIGZ1bGxMZWZ0OiBib29sZWFuO1xuICAvKipcbiAgICogT3B0aW9uYWwgcmVmIHRvIHVzZSB3aXRoIFR3b0NvbHVtbnMgdGhhdCB1c2UgYW4gc3JlZiBmb3IgdGhlIGJhY2sgYnV0dG9uLlxuICAgKi9cbiAgYmFja1JlZj86IE1heWJlPFNlZ3VlUmVmPjtcbiAgLyoqXG4gICAqIFNpemUgb2YgdGhlIHZpZXcncyB0b3RhbCB3aWR0aCBpbiBwaXhlbHMuXG4gICAqL1xuICB0b3RhbFdpZHRoPzogTWF5YmU8bnVtYmVyPjtcbiAgLyoqXG4gICAqIE1pbmltdW0gcmlnaHQgc2lkZSBzaXplIGFsbG93ZWQgYmVmb3JlIGhpZGluZyB0aGUgbGVmdCBjb250ZW50LlxuICAgKi9cbiAgbWluUmlnaHRXaWR0aDogbnVtYmVyO1xufVxuXG5leHBvcnQgY29uc3QgREVGQVVMVF9UV09fQ09MVU1OU19NSU5fUklHSFRfV0lEVEggPSAzMjA7XG5cbmNvbnN0IElOSVRJQUxfU1RBVEU6IFR3b0NvbHVtbnNTdGF0ZSA9IHtcbiAgcmV2ZXJzZVNpemluZzogZmFsc2UsXG4gIHNob3dSaWdodDogZmFsc2UsXG4gIGZ1bGxMZWZ0OiBmYWxzZSxcbiAgbWluUmlnaHRXaWR0aDogREVGQVVMVF9UV09fQ09MVU1OU19NSU5fUklHSFRfV0lEVEhcbn07XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBUd29Db2x1bW5zQ29udGV4dFN0b3JlIGV4dGVuZHMgQ29tcG9uZW50U3RvcmU8VHdvQ29sdW1uc1N0YXRlPiBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XG4gIHByaXZhdGUgcmVhZG9ubHkgX2JhY2sgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIHN1cGVyKHsgLi4uSU5JVElBTF9TVEFURSB9KTtcbiAgfVxuXG4gIC8vIE1BUks6IEFjY2Vzc29yc1xuICByZWFkb25seSBoaWRlTGVmdCQgPSB0aGlzLnN0YXRlJC5waXBlKFxuICAgIG1hcCgoeCkgPT4ge1xuICAgICAgLyoqXG4gICAgICAgKiBUaGUgcmlnaHQgc2lkZSBpcyBsZXNzLXRoYW4gb3IgZXF1YWwgdG8gaGFsZiB0aGUgdG90YWwgd2lkdGggd2hlbiByZXNpemluZywgc28gd2UgY2FuIHVzZSB0aGUgdG90YWwgd2lkdGggdG8gZ3Vlc3MgdGhlIGJlc3QgY2FzZSBjdXJyZW50IHNjZW5hcmlvLlxuICAgICAgICovXG4gICAgICBjb25zdCBleHBlY3RlZFJpZ2h0V2lkdGggPSAoeC50b3RhbFdpZHRoID8/IDApIC8gMjtcbiAgICAgIGNvbnN0IGhpZGVMZWZ0ID0geC5zaG93UmlnaHQgJiYgZXhwZWN0ZWRSaWdodFdpZHRoIDwgeC5taW5SaWdodFdpZHRoO1xuICAgICAgcmV0dXJuIGhpZGVMZWZ0O1xuICAgIH0pXG4gICk7XG5cbiAgLyoqXG4gICAqIFBpcGVzIHRoZSBjdXJyZW50IHN0YXRlIG9mIHJldmVyc2VTaXppbmcuXG4gICAqL1xuICByZWFkb25seSByZXZlcnNlU2l6aW5nJCA9IHRoaXMuc3RhdGUkLnBpcGUobWFwKCh4KSA9PiB4LnJldmVyc2VTaXppbmcpKTtcblxuICAvKipcbiAgICogUGlwZXMgdGhlIGN1cnJlbnQgc3RhdGUgb2Ygc2hvd1JpZ2h0LlxuICAgKi9cbiAgcmVhZG9ubHkgc2hvd1JpZ2h0JCA9IHRoaXMuc3RhdGUkLnBpcGUobWFwKCh4KSA9PiB4LnNob3dSaWdodCkpO1xuXG4gIC8qKlxuICAgKiBDb252ZW5pZW5jZSBmdW5jdGlvbiBmb3IgdGhlIHNob3dSaWdodCBjb21wbGltZW50LlxuICAgKi9cbiAgcmVhZG9ubHkgaGlkZVJpZ2h0JCA9IHRoaXMuc3RhdGUkLnBpcGUobWFwKCh4KSA9PiAheC5zaG93UmlnaHQpKTtcblxuICAvKipcbiAgICogUGlwZXMgdGhlIGN1cnJlbnQgc3RhdGUgb2YgZnVsbExlZnQuXG4gICAqL1xuICByZWFkb25seSBmdWxsTGVmdCQgPSB0aGlzLnN0YXRlJC5waXBlKG1hcCgoeCkgPT4geC5mdWxsTGVmdCkpO1xuXG4gIC8qKlxuICAgKiBXaGV0aGVyIG9yIG5vdCB0byBzaG93IHRoZSBmdWxsIGxlZnQuXG4gICAqL1xuICByZWFkb25seSBzaG93RnVsbExlZnQkID0gdGhpcy5zdGF0ZSQucGlwZShtYXAoKHgpID0+ICF4LnNob3dSaWdodCAmJiB4LmZ1bGxMZWZ0KSk7XG5cbiAgLyoqXG4gICAqIFBpcGVzIHRoZSBjdXJyZW50IGJhY2tSZWYgdmFsdWUuXG4gICAqL1xuICByZWFkb25seSBiYWNrUmVmJCA9IHRoaXMuc3RhdGUkLnBpcGUoXG4gICAgbWFwKCh4KSA9PiB4LmJhY2tSZWYpLFxuICAgIGRpc3RpbmN0KClcbiAgKTtcblxuICAvKipcbiAgICogRW1pdHMgYmFjayBldmVudHMuXG4gICAqL1xuICByZWFkb25seSBiYWNrJCA9IHRoaXMuX2JhY2suYXNPYnNlcnZhYmxlKCk7XG5cbiAgLy8gTUFSSzogU3RhdGUgQ2hhbmdlc1xuICAvKipcbiAgICogQ29tcGxldGVseSByZXNldHMgdGhlIHN0b3JlLlxuICAgKi9cbiAgcmVhZG9ubHkgcmVzZXQgPSB0aGlzLnVwZGF0ZXIoKCkgPT4gKHsgLi4uSU5JVElBTF9TVEFURSB9KSk7XG5cbiAgLyoqXG4gICAqIENoYW5nZXMgdGhlIHN0YXRlIHRvIHNob3cgcmlnaHQgb3Igbm90LlxuICAgKi9cbiAgcmVhZG9ubHkgc2V0UmV2ZXJzZVNpemluZyA9IHRoaXMudXBkYXRlcigoc3RhdGUsIHJldmVyc2VTaXppbmc6IE1heWJlPGJvb2xlYW4+KSA9PiAoaXNNYXliZU5vdChyZXZlcnNlU2l6aW5nKSA/IHN0YXRlIDogeyAuLi5zdGF0ZSwgcmV2ZXJzZVNpemluZyB9KSk7XG5cbiAgLyoqXG4gICAqIENoYW5nZXMgdGhlIHN0YXRlIHRvIHNob3cgcmlnaHQgb3Igbm90LlxuICAgKi9cbiAgcmVhZG9ubHkgc2V0U2hvd1JpZ2h0ID0gdGhpcy51cGRhdGVyKChzdGF0ZSwgc2hvd1JpZ2h0OiBNYXliZTxib29sZWFuPikgPT4gKGlzTWF5YmVOb3Qoc2hvd1JpZ2h0KSA/IHN0YXRlIDogeyAuLi5zdGF0ZSwgc2hvd1JpZ2h0IH0pKTtcblxuICAvKipcbiAgICogU2V0cyB0aGUgZnVsbCBsZWZ0LiBJZiB1bmRlZmluZWQgaXMgcGFzc2VkLCBubyBjaGFuZ2Ugb2NjdXJzLlxuICAgKi9cbiAgcmVhZG9ubHkgc2V0RnVsbExlZnQgPSB0aGlzLnVwZGF0ZXIoKHN0YXRlLCBmdWxsTGVmdDogTWF5YmU8Ym9vbGVhbj4pID0+IChpc01heWJlTm90KGZ1bGxMZWZ0KSA/IHN0YXRlIDogeyAuLi5zdGF0ZSwgZnVsbExlZnQgfSkpO1xuXG4gIC8qKlxuICAgKiBTZXRzIHRoZSBuZXcgYmFjayByZWYuXG4gICAqL1xuICByZWFkb25seSBzZXRCYWNrUmVmID0gdGhpcy51cGRhdGVyKChzdGF0ZSwgYmFja1JlZjogTWF5YmU8U2VndWVSZWY+KSA9PiAoeyAuLi5zdGF0ZSwgYmFja1JlZiB9KSk7XG5cbiAgLyoqXG4gICAqIFNldHMgdGhlIG5ldyB0b3RhbCB3aWR0aC5cbiAgICovXG4gIHJlYWRvbmx5IHNldFRvdGFsV2lkdGggPSB0aGlzLnVwZGF0ZXIoKHN0YXRlLCB0b3RhbFdpZHRoOiBNYXliZTxudW1iZXI+KSA9PiAoeyAuLi5zdGF0ZSwgdG90YWxXaWR0aCB9KSk7XG5cbiAgLyoqXG4gICAqIFNldHMgdGhlIG5ldyBtaW4gcmlnaHQgd2lkdGguXG4gICAqL1xuICByZWFkb25seSBzZXRNaW5SaWdodFdpZHRoID0gdGhpcy51cGRhdGVyKChzdGF0ZSwgbWluUmlnaHRXaWR0aDogTWF5YmU8bnVtYmVyPikgPT4gKHsgLi4uc3RhdGUsIG1pblJpZ2h0V2lkdGg6IG1pblJpZ2h0V2lkdGggPz8gREVGQVVMVF9UV09fQ09MVU1OU19NSU5fUklHSFRfV0lEVEggfSkpO1xuXG4gIC8qKlxuICAgKiBFbWl0cyBhIGJhY2sgZXZlbnQuXG4gICAqL1xuICBiYWNrKCk6IHZvaWQge1xuICAgIHRoaXMuX2JhY2submV4dCgpO1xuICB9XG5cbiAgLy8gTUFSSzogSW50ZXJuYWxcbiAgb3ZlcnJpZGUgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgc3VwZXIubmdPbkRlc3Ryb3koKTtcbiAgICB0aGlzLl9iYWNrLmNvbXBsZXRlKCk7XG4gIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHByb3ZpZGVUd29Db2x1bW5zQ29udGV4dCgpOiBQcm92aWRlcltdIHtcbiAgcmV0dXJuIFtcbiAgICB7XG4gICAgICBwcm92aWRlOiBUd29Db2x1bW5zQ29udGV4dFN0b3JlLFxuICAgICAgdXNlQ2xhc3M6IFR3b0NvbHVtbnNDb250ZXh0U3RvcmVcbiAgICB9XG4gIF07XG59XG4iXX0=