@agorapulse/ui-components 15.1.25 → 15.1.27
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.
- package/agorapulse-ui-components-15.1.27.tgz +0 -0
- package/datepicker/datepicker.component.d.ts +21 -11
- package/esm2020/datepicker/datepicker.component.mjs +53 -24
- package/fesm2015/agorapulse-ui-components-datepicker.mjs +52 -23
- package/fesm2015/agorapulse-ui-components-datepicker.mjs.map +1 -1
- package/fesm2020/agorapulse-ui-components-datepicker.mjs +52 -23
- package/fesm2020/agorapulse-ui-components-datepicker.mjs.map +1 -1
- package/package.json +2 -2
- package/agorapulse-ui-components-15.1.25.tgz +0 -0
|
Binary file
|
|
@@ -1,7 +1,12 @@
|
|
|
1
1
|
import { SymbolRegistry } from '@agorapulse/ui-symbol';
|
|
2
2
|
import { AfterViewInit, ChangeDetectorRef, EventEmitter, OnChanges, OnInit } from '@angular/core';
|
|
3
|
-
import {
|
|
4
|
-
import
|
|
3
|
+
import { DaterangepickerComponent } from '@agorapulse/ngx-daterangepicker-material';
|
|
4
|
+
import dayjs from 'dayjs';
|
|
5
|
+
import 'dayjs/locale/de';
|
|
6
|
+
import 'dayjs/locale/en';
|
|
7
|
+
import 'dayjs/locale/es';
|
|
8
|
+
import 'dayjs/locale/fr';
|
|
9
|
+
import 'dayjs/locale/pt';
|
|
5
10
|
import * as i0 from "@angular/core";
|
|
6
11
|
export declare enum DatepickerMode {
|
|
7
12
|
Single = "Single",
|
|
@@ -9,8 +14,11 @@ export declare enum DatepickerMode {
|
|
|
9
14
|
Range = "Range"
|
|
10
15
|
}
|
|
11
16
|
export interface Period {
|
|
12
|
-
startDate
|
|
13
|
-
endDate
|
|
17
|
+
startDate?: dayjs.Dayjs;
|
|
18
|
+
endDate?: dayjs.Dayjs;
|
|
19
|
+
}
|
|
20
|
+
export interface StartDate {
|
|
21
|
+
startDate: dayjs.Dayjs;
|
|
14
22
|
}
|
|
15
23
|
export interface I18nDatePicker {
|
|
16
24
|
ranges: {
|
|
@@ -28,11 +36,11 @@ export declare class DatepickerComponent implements OnInit, OnChanges, AfterView
|
|
|
28
36
|
firstDayOfWeek: string;
|
|
29
37
|
i18n: I18nDatePicker;
|
|
30
38
|
locale: any;
|
|
31
|
-
maxDate:
|
|
32
|
-
minDate:
|
|
39
|
+
set maxDate(maxDate: dayjs.Dayjs);
|
|
40
|
+
set minDate(minDate: dayjs.Dayjs);
|
|
33
41
|
mode: DatepickerMode;
|
|
34
|
-
selectedDate:
|
|
35
|
-
selectedDates:
|
|
42
|
+
selectedDate: dayjs.Dayjs;
|
|
43
|
+
selectedDates: dayjs.Dayjs[];
|
|
36
44
|
selectedPeriod: Period;
|
|
37
45
|
showRanges: boolean;
|
|
38
46
|
dateSelected: EventEmitter<any>;
|
|
@@ -46,11 +54,13 @@ export declare class DatepickerComponent implements OnInit, OnChanges, AfterView
|
|
|
46
54
|
firstDay: number;
|
|
47
55
|
};
|
|
48
56
|
ranges: {
|
|
49
|
-
[period: string]: [
|
|
57
|
+
[period: string]: [dayjs.Dayjs, dayjs.Dayjs];
|
|
50
58
|
};
|
|
51
59
|
rangePickerWidth: number;
|
|
52
60
|
width: number;
|
|
53
61
|
pageSet: boolean;
|
|
62
|
+
maxDateStr: string;
|
|
63
|
+
minDateStr: string;
|
|
54
64
|
constructor(changeDetectorRef: ChangeDetectorRef, symbolRegistry: SymbolRegistry);
|
|
55
65
|
ngOnInit(): void;
|
|
56
66
|
ngOnChanges(changes: any): void;
|
|
@@ -59,8 +69,8 @@ export declare class DatepickerComponent implements OnInit, OnChanges, AfterView
|
|
|
59
69
|
initRanges(): void;
|
|
60
70
|
isCustomDate: (date: any) => string[];
|
|
61
71
|
private isSelected;
|
|
62
|
-
onStartDateChanged(event:
|
|
63
|
-
onDatesUpdated(event:
|
|
72
|
+
onStartDateChanged(event: StartDate): void;
|
|
73
|
+
onDatesUpdated(event: Period): void;
|
|
64
74
|
onNextMonth(): void;
|
|
65
75
|
onPreviousMonth(): void;
|
|
66
76
|
/**
|
|
@@ -1,11 +1,17 @@
|
|
|
1
1
|
import { AgorapulseUiSymbolModule, apArrowLeft1, apArrowRight1 } from '@agorapulse/ui-symbol';
|
|
2
2
|
import { NgIf } from '@angular/common';
|
|
3
3
|
import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output, ViewChild, } from '@angular/core';
|
|
4
|
-
import
|
|
5
|
-
import
|
|
4
|
+
import { NgxDaterangepickerMd } from '@agorapulse/ngx-daterangepicker-material';
|
|
5
|
+
import dayjs from 'dayjs';
|
|
6
|
+
import 'dayjs/locale/de';
|
|
7
|
+
import 'dayjs/locale/en';
|
|
8
|
+
import 'dayjs/locale/es';
|
|
9
|
+
import 'dayjs/locale/fr';
|
|
10
|
+
import 'dayjs/locale/pt';
|
|
11
|
+
import localeData from 'dayjs/plugin/localeData';
|
|
6
12
|
import * as i0 from "@angular/core";
|
|
7
13
|
import * as i1 from "@agorapulse/ui-symbol";
|
|
8
|
-
import * as i2 from "ngx-daterangepicker-material";
|
|
14
|
+
import * as i2 from "@agorapulse/ngx-daterangepicker-material";
|
|
9
15
|
export var DatepickerMode;
|
|
10
16
|
(function (DatepickerMode) {
|
|
11
17
|
DatepickerMode["Single"] = "Single";
|
|
@@ -19,6 +25,22 @@ var SideEnum;
|
|
|
19
25
|
})(SideEnum || (SideEnum = {}));
|
|
20
26
|
// TODO fix css for range mode (more lateral padding)
|
|
21
27
|
export class DatepickerComponent {
|
|
28
|
+
set maxDate(maxDate) {
|
|
29
|
+
if (maxDate) {
|
|
30
|
+
this.maxDateStr = maxDate.toISOString();
|
|
31
|
+
}
|
|
32
|
+
else {
|
|
33
|
+
this.maxDateStr = null;
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
set minDate(minDate) {
|
|
37
|
+
if (minDate) {
|
|
38
|
+
this.minDateStr = minDate.toISOString();
|
|
39
|
+
}
|
|
40
|
+
else {
|
|
41
|
+
this.minDateStr = null;
|
|
42
|
+
}
|
|
43
|
+
}
|
|
22
44
|
constructor(changeDetectorRef, symbolRegistry) {
|
|
23
45
|
this.changeDetectorRef = changeDetectorRef;
|
|
24
46
|
this.symbolRegistry = symbolRegistry;
|
|
@@ -51,7 +73,7 @@ export class DatepickerComponent {
|
|
|
51
73
|
else if (this.mode === DatepickerMode.Range) {
|
|
52
74
|
classes.push('range-picker-mode');
|
|
53
75
|
// Workaround to fix the auto-active today date when no date is selected
|
|
54
|
-
if (
|
|
76
|
+
if (dayjs().isSame(date, 'day') && !this.selectedPeriod?.startDate && !this.selectedPeriod?.endDate) {
|
|
55
77
|
classes.push('force-inactive');
|
|
56
78
|
}
|
|
57
79
|
}
|
|
@@ -63,6 +85,7 @@ export class DatepickerComponent {
|
|
|
63
85
|
]);
|
|
64
86
|
}
|
|
65
87
|
ngOnInit() {
|
|
88
|
+
dayjs.extend(localeData);
|
|
66
89
|
this.initRanges();
|
|
67
90
|
this.initDatePickerLocale();
|
|
68
91
|
}
|
|
@@ -97,7 +120,7 @@ export class DatepickerComponent {
|
|
|
97
120
|
}
|
|
98
121
|
initDatePickerLocale() {
|
|
99
122
|
if (this.locale) {
|
|
100
|
-
|
|
123
|
+
dayjs.locale(this.locale);
|
|
101
124
|
}
|
|
102
125
|
let firstDayOfWeekIndex;
|
|
103
126
|
if (this.firstDayOfWeek === 'sunday') {
|
|
@@ -107,40 +130,42 @@ export class DatepickerComponent {
|
|
|
107
130
|
firstDayOfWeekIndex = 1;
|
|
108
131
|
}
|
|
109
132
|
else {
|
|
110
|
-
firstDayOfWeekIndex =
|
|
133
|
+
firstDayOfWeekIndex = dayjs.localeData().firstDayOfWeek();
|
|
111
134
|
}
|
|
112
135
|
this.localeConfig = {
|
|
113
136
|
customRangeLabel: 'custom',
|
|
114
|
-
daysOfWeek:
|
|
115
|
-
monthNames:
|
|
137
|
+
daysOfWeek: dayjs.weekdaysMin(),
|
|
138
|
+
monthNames: dayjs.months(),
|
|
116
139
|
firstDay: firstDayOfWeekIndex,
|
|
117
140
|
};
|
|
118
141
|
}
|
|
119
142
|
initRanges() {
|
|
120
|
-
this.ranges[this.i18n.ranges.yesterday] = [
|
|
121
|
-
this.ranges[this.i18n.ranges.lastWeek] = [
|
|
122
|
-
this.ranges[this.i18n.ranges.last30Days] = [
|
|
143
|
+
this.ranges[this.i18n.ranges.yesterday] = [dayjs().subtract(1, 'days'), dayjs().subtract(1, 'days')];
|
|
144
|
+
this.ranges[this.i18n.ranges.lastWeek] = [dayjs().subtract(7, 'days'), dayjs().subtract(1, 'days')];
|
|
145
|
+
this.ranges[this.i18n.ranges.last30Days] = [dayjs().subtract(30, 'days'), dayjs().subtract(1, 'days')];
|
|
123
146
|
this.ranges[this.i18n.ranges.lastMonth] = [
|
|
124
|
-
|
|
125
|
-
|
|
147
|
+
dayjs().subtract(1, 'month').startOf('month'),
|
|
148
|
+
dayjs().subtract(1, 'month').endOf('month'),
|
|
126
149
|
];
|
|
127
|
-
this.ranges[this.i18n.ranges.thisMonth] = [
|
|
150
|
+
this.ranges[this.i18n.ranges.thisMonth] = [dayjs().startOf('month'), dayjs().endOf('month')];
|
|
128
151
|
}
|
|
129
152
|
isSelected(date) {
|
|
130
153
|
return this.selectedDates && this.selectedDates.some(selectedDate => selectedDate.isSame(date, 'day'));
|
|
131
154
|
}
|
|
132
155
|
onStartDateChanged(event) {
|
|
133
|
-
const date = event.startDate;
|
|
156
|
+
const date = event.startDate.toDate();
|
|
157
|
+
const dateLocalTime = new Date(date.getTime() + date.getTimezoneOffset() * 60000);
|
|
158
|
+
const dayJsDate = dayjs(dateLocalTime);
|
|
134
159
|
if (this.mode !== DatepickerMode.Range) {
|
|
135
|
-
this.selectedDate =
|
|
136
|
-
this.datepickerRef.setEndDate(
|
|
160
|
+
this.selectedDate = dayJsDate;
|
|
161
|
+
this.datepickerRef.setEndDate(dayJsDate);
|
|
137
162
|
if (this.pageSet) {
|
|
138
163
|
this.pageSet = false;
|
|
139
164
|
}
|
|
140
165
|
else {
|
|
141
|
-
this.dateSelected.emit(
|
|
166
|
+
this.dateSelected.emit(dayJsDate.clone());
|
|
142
167
|
if (this.mode === DatepickerMode.Multiple) {
|
|
143
|
-
this.selectedDates.push(
|
|
168
|
+
this.selectedDates.push(dayJsDate);
|
|
144
169
|
}
|
|
145
170
|
}
|
|
146
171
|
if (this.datepickerRef) {
|
|
@@ -150,9 +175,13 @@ export class DatepickerComponent {
|
|
|
150
175
|
}
|
|
151
176
|
onDatesUpdated(event) {
|
|
152
177
|
if (this.mode === DatepickerMode.Range) {
|
|
178
|
+
const startDate = event.startDate?.toDate();
|
|
179
|
+
const startDateLocalTime = new Date(startDate.getTime() + startDate.getTimezoneOffset() * 60000);
|
|
180
|
+
const endDate = event.endDate?.toDate();
|
|
181
|
+
const endDateLocalTime = new Date(endDate.getTime() + endDate.getTimezoneOffset() * 60000);
|
|
153
182
|
this.periodSelected.emit({
|
|
154
|
-
startDate:
|
|
155
|
-
endDate:
|
|
183
|
+
startDate: dayjs(startDateLocalTime).startOf('day'),
|
|
184
|
+
endDate: dayjs(endDateLocalTime).endOf('day'),
|
|
156
185
|
});
|
|
157
186
|
}
|
|
158
187
|
if (this.datepickerRef) {
|
|
@@ -195,10 +224,10 @@ export class DatepickerComponent {
|
|
|
195
224
|
}
|
|
196
225
|
}
|
|
197
226
|
DatepickerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.2", ngImport: i0, type: DatepickerComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i1.SymbolRegistry }], target: i0.ɵɵFactoryTarget.Component });
|
|
198
|
-
DatepickerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.2", type: DatepickerComponent, isStandalone: true, selector: "ap-datepicker", inputs: { firstDayOfWeek: "firstDayOfWeek", i18n: "i18n", locale: "locale", maxDate: "maxDate", minDate: "minDate", mode: "mode", selectedDate: "selectedDate", selectedDates: "selectedDates", selectedPeriod: "selectedPeriod", showRanges: "showRanges" }, outputs: { dateSelected: "dateSelected", periodSelected: "periodSelected" }, viewQueries: [{ propertyName: "datepickerRef", first: true, predicate: ["datepickerRef"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<div class=\"custom-calendar\" [style.width]=\"width + 'px'\">\n <div class=\"custom-header\">\n <div class=\"month-header\"\n *ngIf=\"this.datepickerRef.leftCalendar.month\">\n <div class=\"month-arrow-button\" (click)=\"onPreviousMonth()\">\n <ap-symbol\n [symbolId]=\"'arrow-left-1'\"\n [color]=\"'#858FA1'\"\n [size]=\"'14'\"></ap-symbol>\n </div>\n <div class=\"month-label\">\n {{ this.datepickerRef.leftCalendar.month.locale(locale).format('MMMM YYYY') }}\n </div>\n </div>\n <div class=\"month-header\"\n *ngIf=\"this.datepickerRef.rightCalendar.month\">\n <div class=\"month-label\">\n {{ this.datepickerRef.rightCalendar.month.locale(locale).format('MMMM YYYY') }}\n </div>\n <div class=\"month-arrow-button\" (click)=\"onNextMonth()\">\n <ap-symbol\n [symbolId]=\"'arrow-right-1'\"\n [color]=\"'#858FA1'\"\n [size]=\"'14'\"></ap-symbol>\n </div>\n </div>\n <div class=\"header-filler\" *ngIf=\"showRanges && mode === DatepickerMode.Range\">\n </div>\n </div>\n <ngx-daterangepicker-material\n #datepickerRef\n [class.hide-ranges]=\"!showRanges\"\n [alwaysShowCalendars]=\"true\"\n [autoApply]=\"true\"\n [customRangeDirection]=\"true\"\n [isCustomDate]=\"$any(isCustomDate)\"\n [locale]=\"localeConfig\"\n [maxDate]=\"maxDate\"\n [minDate]=\"minDate\"\n [ranges]=\"showRanges && mode === DatepickerMode.Range ? ranges : null\"\n (datesUpdated)=\"onDatesUpdated($event)\"\n (startDateChanged)=\"onStartDateChanged($event)\">\n </ngx-daterangepicker-material>\n</div>\n", styles: ["[color=facebook]{color:#1877f2}[bgcolor=facebook],[hcolor=facebook]:hover{background-color:#1877f2}[border=facebook]{border:1px solid #1877f2}[color=google]{color:#4e85e8}[bgcolor=google],[hcolor=google]:hover{background-color:#4e85e8}[border=google]{border:1px solid #4e85e8}[color=instagram]{color:#e1306c}[bgcolor=instagram],[hcolor=instagram]:hover{background-color:#e1306c}[border=instagram]{border:1px solid #e1306c}[color=instagrammagenta]{color:#c13584}[bgcolor=instagrammagenta],[hcolor=instagrammagenta]:hover{background-color:#c13584}[border=instagrammagenta]{border:1px solid #c13584}[color=instagramblue]{color:#5851db}[bgcolor=instagramblue],[hcolor=instagramblue]:hover{background-color:#5851db}[border=instagramblue]{border:1px solid #5851db}[color=instagrampurple]{color:#833ab4}[bgcolor=instagrampurple],[hcolor=instagrampurple]:hover{background-color:#833ab4}[border=instagrampurple]{border:1px solid #833ab4}[color=instagramorange]{color:#f56040}[bgcolor=instagramorange],[hcolor=instagramorange]:hover{background-color:#f56040}[border=instagramorange]{border:1px solid #f56040}[color=instagramyellow]{color:#ffdc80}[bgcolor=instagramyellow],[hcolor=instagramyellow]:hover{background-color:#ffdc80}[border=instagramyellow]{border:1px solid #ffdc80}[color=linkedin]{color:#2c67bc}[bgcolor=linkedin],[hcolor=linkedin]:hover{background-color:#2c67bc}[border=linkedin]{border:1px solid #2c67bc}[color=twitter]{color:#55acee}[bgcolor=twitter],[hcolor=twitter]:hover{background-color:#55acee}[border=twitter]{border:1px solid #55acee}[color=youtube]{color:red}[bgcolor=youtube],[hcolor=youtube]:hover{background-color:red}[border=youtube]{border:1px solid #ff0000}[color=blood-orange]{color:#ff4d00}[bgcolor=blood-orange],[hcolor=blood-orange]:hover{background-color:#ff4d00}[border=blood-orange]{border:1px solid #ff4d00}[color=pinkish-orange]{color:#ff7b49}[bgcolor=pinkish-orange],[hcolor=pinkish-orange]:hover{background-color:#ff7b49}[border=pinkish-orange]{border:1px solid #ff7b49}[color=charcoal-grey]{color:#2a2f34}[bgcolor=charcoal-grey],[hcolor=charcoal-grey]:hover{background-color:#2a2f34}[border=charcoal-grey]{border:1px solid #2a2f34}[color=azure]{color:#00aeef}[bgcolor=azure],[hcolor=azure]:hover{background-color:#00aeef}[border=azure]{border:1px solid #00aeef}[color=light-azure]{color:#eaf5fd}[bgcolor=light-azure],[hcolor=light-azure]:hover{background-color:#eaf5fd}[border=light-azure]{border:1px solid #eaf5fd}[color=blue-grey]{color:#8d98a9}[bgcolor=blue-grey],[hcolor=blue-grey]:hover{background-color:#8d98a9}[border=blue-grey]{border:1px solid #8d98a9}[color=silver]{color:#ced0da}[bgcolor=silver],[hcolor=silver]:hover{background-color:#ced0da}[border=silver]{border:1px solid #ced0da}[color=pale-grey]{color:#dfe3e9}[bgcolor=pale-grey],[hcolor=pale-grey]:hover{background-color:#dfe3e9}[border=pale-grey]{border:1px solid #dfe3e9}[color=grey-white]{color:#f5f7f8}[bgcolor=grey-white],[hcolor=grey-white]:hover{background-color:#f5f7f8}[border=grey-white]{border:1px solid #f5f7f8}[color=cool-grey]{color:#b4bbc6}[bgcolor=cool-grey],[hcolor=cool-grey]:hover{background-color:#b4bbc6}[border=cool-grey]{border:1px solid #b4bbc6}[color=black]{color:#344563}[bgcolor=black],[hcolor=black]:hover{background-color:#344563}[border=black]{border:1px solid #344563}[color=grey-blue]{color:#68768c}[bgcolor=grey-blue],[hcolor=grey-blue]:hover{background-color:#68768c}[border=grey-blue]{border:1px solid #68768c}[color=strawberry]{color:#f4282d}[bgcolor=strawberry],[hcolor=strawberry]:hover{background-color:#f4282d}[border=strawberry]{border:1px solid #f4282d}[color=light-strawberry]{color:#f8eded}[bgcolor=light-strawberry],[hcolor=light-strawberry]:hover{background-color:#f8eded}[border=light-strawberry]{border:1px solid #f8eded}[color=white]{color:#fff}[bgcolor=white],[hcolor=white]:hover{background-color:#fff}[border=white]{border:1px solid #ffffff}[color=cool-green]{color:#33c15d}[bgcolor=cool-green],[hcolor=cool-green]:hover{background-color:#33c15d}[border=cool-green]{border:1px solid #33c15d}[color=light-green]{color:#ebfaef}[bgcolor=light-green],[hcolor=light-green]:hover{background-color:#ebfaef}[border=light-green]{border:1px solid #ebfaef}[color=transparent]{color:transparent}[bgcolor=transparent],[hcolor=transparent]:hover{background-color:transparent}[border=transparent]{border:1px solid transparent}[color=c0]{color:#a566a5}[bgcolor=c0],[hcolor=c0]:hover{background-color:#a566a5}[border=c0]{border:1px solid #A566A5}[color=c1]{color:#c7ab82}[bgcolor=c1],[hcolor=c1]:hover{background-color:#c7ab82}[border=c1]{border:1px solid #C7AB82}[color=c2]{color:#f2713c}[bgcolor=c2],[hcolor=c2]:hover{background-color:#f2713c}[border=c2]{border:1px solid #F2713C}[color=c3]{color:#ffd006}[bgcolor=c3],[hcolor=c3]:hover{background-color:#ffd006}[border=c3]{border:1px solid #FFD006}[color=c4]{color:#94c5aa}[bgcolor=c4],[hcolor=c4]:hover{background-color:#94c5aa}[border=c4]{border:1px solid #94C5AA}[color=c5]{color:#2a9d8f}[bgcolor=c5],[hcolor=c5]:hover{background-color:#2a9d8f}[border=c5]{border:1px solid #2A9D8F}[color=c6]{color:#78acd8}[bgcolor=c6],[hcolor=c6]:hover{background-color:#78acd8}[border=c6]{border:1px solid #78ACD8}[color=c7]{color:#525a9e}[bgcolor=c7],[hcolor=c7]:hover{background-color:#525a9e}[border=c7]{border:1px solid #525A9E}[color=c8]{color:#6a2459}[bgcolor=c8],[hcolor=c8]:hover{background-color:#6a2459}[border=c8]{border:1px solid #6A2459}[color=c9]{color:#74729e}[bgcolor=c9],[hcolor=c9]:hover{background-color:#74729e}[border=c9]{border:1px solid #74729E}::ng-deep .custom-calendar{background-color:#fff;display:flex;flex-direction:column;justify-content:center;border-radius:4px;height:-moz-fit-content;height:fit-content}::ng-deep .custom-calendar .custom-header{display:flex;align-items:center;justify-content:center;color:#344563;font-size:12px;font-weight:700;height:55px;text-transform:capitalize}::ng-deep .custom-calendar .custom-header .month-header{height:30px;width:255px;display:flex;align-items:center}::ng-deep .custom-calendar .custom-header .month-header .month-arrow-button{padding:10px;border-radius:2em;cursor:pointer}::ng-deep .custom-calendar .custom-header .month-header .month-arrow-button:hover{background-color:#eaecef}::ng-deep .custom-calendar .custom-header .month-header .month-label{flex:1;text-align:center}::ng-deep .custom-calendar .custom-header .header-filler{width:150px}::ng-deep .custom-calendar .md-drppicker{font-family:Averta;width:unset;height:219px;padding:0;margin:0 0 16px;box-shadow:none!important;z-index:0!important}::ng-deep .custom-calendar .md-drppicker .ranges{border-left:1px solid #eaecef;float:right!important;max-width:150px;height:100%}::ng-deep .custom-calendar .md-drppicker .ranges ul li{margin-left:12px}::ng-deep .custom-calendar .md-drppicker .ranges ul li:hover{background:unset}::ng-deep .custom-calendar .md-drppicker .ranges ul li button{font-family:Averta;font-size:14px;border-radius:4px;color:#5d6a82}::ng-deep .custom-calendar .md-drppicker .ranges ul li button:hover:not(.active):not(:disabled){color:#178dfe;background:#e8f4ff}::ng-deep .custom-calendar .md-drppicker .ranges ul li button.active{color:#fff;background:#178dfe}::ng-deep .custom-calendar .md-drppicker .ranges ul li button.active:hover{background:#3a9efe}::ng-deep .custom-calendar .md-drppicker .ranges ul li button:disabled{color:#d6dae0;background:none;cursor:default}::ng-deep .custom-calendar .md-drppicker .month{cursor:auto}::ng-deep .custom-calendar .md-drppicker .calendar{margin:0!important;padding:0 16px}::ng-deep .custom-calendar .md-drppicker .calendar.left{border-right:1px solid #eaecef}::ng-deep .custom-calendar .md-drppicker .calendar-table{width:231px;padding:0!important;border:none!important}::ng-deep .custom-calendar .md-drppicker .calendar-table table{border-spacing:0 5px!important;height:184px}::ng-deep .custom-calendar .md-drppicker .calendar-table table td,::ng-deep .custom-calendar .md-drppicker .calendar-table table th{height:unset;border:none}::ng-deep .custom-calendar .md-drppicker .calendar-table table thead{line-height:10px}::ng-deep .custom-calendar .md-drppicker .calendar-table table thead tr:first-child{display:none}::ng-deep .custom-calendar .md-drppicker .calendar-table table thead tr th{color:#aeb5c1;font-weight:700;font-size:12px;text-transform:capitalize;padding-bottom:10px}::ng-deep .custom-calendar .md-drppicker .calendar-table table thead tr th.month,::ng-deep .custom-calendar .md-drppicker .calendar-table table thead tr th.prev,::ng-deep .custom-calendar .md-drppicker .calendar-table table thead tr th.next{color:#344563}::ng-deep .custom-calendar .md-drppicker .calendar-table table thead tr th.prev,::ng-deep .custom-calendar .md-drppicker .calendar-table table thead tr th.next{font-size:16px}::ng-deep .custom-calendar .md-drppicker .calendar-table table tbody tr td:last-child.in-range{border-radius:0 2em 2em 0}::ng-deep .custom-calendar .md-drppicker .calendar-table table tbody tr td:first-child.in-range{border-radius:2em 0 0 2em}::ng-deep .custom-calendar .md-drppicker .calendar-table table tbody td{opacity:1!important;border-spacing:0;height:27px}::ng-deep .custom-calendar .md-drppicker .calendar-table table tbody td span{width:27px!important;height:27px!important;border-radius:50%;display:flex;align-items:center;justify-content:center;margin-left:3px}::ng-deep .custom-calendar .md-drppicker .calendar-table table tbody td.in-range:not(.off):not(.force-inactive){background-color:#e8f4ff!important;color:#344563!important}::ng-deep .custom-calendar .md-drppicker .calendar-table table tbody td.active.start-date:not(.end-date).range-picker-mode:not(.off){border-radius:2em 0 0 2em;background-color:#178dfe!important;color:#fff!important}::ng-deep .custom-calendar .md-drppicker .calendar-table table tbody td.active.end-date:not(.start-date).range-picker-mode:not(.off){border-radius:0 2em 2em 0;background-color:#178dfe!important;color:#fff!important}::ng-deep .custom-calendar .md-drppicker .calendar-table table tbody td.active:not(.force-inactive).start-date.end-date.range-picker-mode:not(.off){background-color:unset!important}::ng-deep .custom-calendar .md-drppicker .calendar-table table tbody td.active:not(.force-inactive).start-date.end-date.range-picker-mode:not(.off) span{border-radius:2em;background-color:#178dfe!important;color:#fff!important}::ng-deep .custom-calendar .md-drppicker .calendar-table table tbody td.available:not(.start-date):not(.end-date):hover span,::ng-deep .custom-calendar .md-drppicker .calendar-table table tbody td.available.today.force-inactive:hover span{background-color:#d1e8ff!important}::ng-deep .custom-calendar .md-drppicker .calendar-table table tbody td.available:not(.start-date):not(.end-date):hover:not(.in-range),::ng-deep .custom-calendar .md-drppicker .calendar-table table tbody td.available.today.force-inactive:hover:not(.in-range){background-color:unset!important}::ng-deep .custom-calendar .md-drppicker .calendar-table table tbody td.available.in-range:not(.start-date):not(.end-date):hover{border-radius:unset!important}::ng-deep .custom-calendar .md-drppicker .calendar-table table tbody td.off{background-color:unset!important;color:#d6dae0!important}::ng-deep .custom-calendar .md-drppicker .calendar-table table tbody td.active:not(.off):not(.range-picker-mode):not(.force-inactive),::ng-deep .custom-calendar .md-drppicker .calendar-table table tbody td.active:hover:not(.off):not(.range-picker-mode){background-color:unset!important}::ng-deep .custom-calendar .md-drppicker .calendar-table table tbody td.active:not(.off):not(.range-picker-mode):not(.force-inactive) span,::ng-deep .custom-calendar .md-drppicker .calendar-table table tbody td.active:hover:not(.off):not(.range-picker-mode) span{background-color:#178dfe!important;color:#fff!important}::ng-deep .custom-calendar .md-drppicker .calendar-table table tbody td.force-inactive{background-color:unset!important;color:#5d6a82}::ng-deep .custom-calendar .md-drppicker .calendar-table table tbody td.today:not(.off) span{border:1px solid #178dfe;color:#5d6a82;height:25px!important;width:25px!important}::ng-deep .custom-calendar .md-drppicker .calendar-table table tbody td.today:not(.off).start-date:not(.force-inactive) span,::ng-deep .custom-calendar .md-drppicker .calendar-table table tbody td.today:not(.off).end-date:not(.force-inactive) span{color:#fff}.hide-ranges ::ng-deep .ranges{display:none}\n"], dependencies: [{ kind: "ngmodule", type: AgorapulseUiSymbolModule }, { kind: "component", type: i1.SymbolComponent, selector: "ap-symbol[symbolId]", inputs: ["color", "symbolId", "size", "state"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: NgxDaterangepickerMd }, { kind: "component", type: i2.DaterangepickerComponent, selector: "ngx-daterangepicker-material", inputs: ["startDate", "endDate", "dateLimit", "minDate", "maxDate", "autoApply", "singleDatePicker", "showDropdowns", "showWeekNumbers", "showISOWeekNumbers", "linkedCalendars", "autoUpdateInput", "alwaysShowCalendars", "maxSpan", "lockStartDate", "timePicker", "timePicker24Hour", "timePickerIncrement", "timePickerSeconds", "showClearButton", "firstMonthDayClass", "lastMonthDayClass", "emptyWeekRowClass", "emptyWeekColumnClass", "firstDayOfNextMonthClass", "lastDayOfPreviousMonthClass", "showCancel", "keepCalendarOpeningWithRange", "showRangeLabelOnInput", "customRangeDirection", "closeOnAutoApply", "locale", "ranges", "isInvalidDate", "isCustomDate", "isTooltipDate", "showCustomRangeLabel", "drops", "opens"], outputs: ["choosedDate", "rangeClicked", "datesUpdated", "startDateChanged", "endDateChanged"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
227
|
+
DatepickerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.2", type: DatepickerComponent, isStandalone: true, selector: "ap-datepicker", inputs: { firstDayOfWeek: "firstDayOfWeek", i18n: "i18n", locale: "locale", maxDate: "maxDate", minDate: "minDate", mode: "mode", selectedDate: "selectedDate", selectedDates: "selectedDates", selectedPeriod: "selectedPeriod", showRanges: "showRanges" }, outputs: { dateSelected: "dateSelected", periodSelected: "periodSelected" }, viewQueries: [{ propertyName: "datepickerRef", first: true, predicate: ["datepickerRef"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<div class=\"custom-calendar\" [style.width]=\"width + 'px'\">\n <div class=\"custom-header\">\n <div class=\"month-header\"\n *ngIf=\"this.datepickerRef.leftCalendar.month\">\n <div class=\"month-arrow-button\" (click)=\"onPreviousMonth()\">\n <ap-symbol\n [symbolId]=\"'arrow-left-1'\"\n [color]=\"'#858FA1'\"\n [size]=\"'14'\"></ap-symbol>\n </div>\n <div class=\"month-label\">\n {{ this.datepickerRef.leftCalendar.month.locale(locale).format('MMMM YYYY') }}\n </div>\n </div>\n <div class=\"month-header\"\n *ngIf=\"this.datepickerRef.rightCalendar.month\">\n <div class=\"month-label\">\n {{ this.datepickerRef.rightCalendar.month.locale(locale).format('MMMM YYYY') }}\n </div>\n <div class=\"month-arrow-button\" (click)=\"onNextMonth()\">\n <ap-symbol\n [symbolId]=\"'arrow-right-1'\"\n [color]=\"'#858FA1'\"\n [size]=\"'14'\"></ap-symbol>\n </div>\n </div>\n <div class=\"header-filler\" *ngIf=\"showRanges && mode === DatepickerMode.Range\">\n </div>\n </div>\n <ngx-daterangepicker-material\n #datepickerRef\n [class.hide-ranges]=\"!showRanges\"\n [alwaysShowCalendars]=\"true\"\n [autoApply]=\"true\"\n [customRangeDirection]=\"true\"\n [isCustomDate]=\"$any(isCustomDate)\"\n [locale]=\"localeConfig\"\n [maxDate]=\"maxDateStr\"\n [minDate]=\"minDateStr\"\n [ranges]=\"showRanges && mode === DatepickerMode.Range ? ranges : null\"\n (datesUpdated)=\"onDatesUpdated($event)\"\n (startDateChanged)=\"onStartDateChanged($event)\">\n </ngx-daterangepicker-material>\n</div>\n", styles: ["[color=facebook]{color:#1877f2}[bgcolor=facebook],[hcolor=facebook]:hover{background-color:#1877f2}[border=facebook]{border:1px solid #1877f2}[color=google]{color:#4e85e8}[bgcolor=google],[hcolor=google]:hover{background-color:#4e85e8}[border=google]{border:1px solid #4e85e8}[color=instagram]{color:#e1306c}[bgcolor=instagram],[hcolor=instagram]:hover{background-color:#e1306c}[border=instagram]{border:1px solid #e1306c}[color=instagrammagenta]{color:#c13584}[bgcolor=instagrammagenta],[hcolor=instagrammagenta]:hover{background-color:#c13584}[border=instagrammagenta]{border:1px solid #c13584}[color=instagramblue]{color:#5851db}[bgcolor=instagramblue],[hcolor=instagramblue]:hover{background-color:#5851db}[border=instagramblue]{border:1px solid #5851db}[color=instagrampurple]{color:#833ab4}[bgcolor=instagrampurple],[hcolor=instagrampurple]:hover{background-color:#833ab4}[border=instagrampurple]{border:1px solid #833ab4}[color=instagramorange]{color:#f56040}[bgcolor=instagramorange],[hcolor=instagramorange]:hover{background-color:#f56040}[border=instagramorange]{border:1px solid #f56040}[color=instagramyellow]{color:#ffdc80}[bgcolor=instagramyellow],[hcolor=instagramyellow]:hover{background-color:#ffdc80}[border=instagramyellow]{border:1px solid #ffdc80}[color=linkedin]{color:#2c67bc}[bgcolor=linkedin],[hcolor=linkedin]:hover{background-color:#2c67bc}[border=linkedin]{border:1px solid #2c67bc}[color=twitter]{color:#55acee}[bgcolor=twitter],[hcolor=twitter]:hover{background-color:#55acee}[border=twitter]{border:1px solid #55acee}[color=youtube]{color:red}[bgcolor=youtube],[hcolor=youtube]:hover{background-color:red}[border=youtube]{border:1px solid #ff0000}[color=blood-orange]{color:#ff4d00}[bgcolor=blood-orange],[hcolor=blood-orange]:hover{background-color:#ff4d00}[border=blood-orange]{border:1px solid #ff4d00}[color=pinkish-orange]{color:#ff7b49}[bgcolor=pinkish-orange],[hcolor=pinkish-orange]:hover{background-color:#ff7b49}[border=pinkish-orange]{border:1px solid #ff7b49}[color=charcoal-grey]{color:#2a2f34}[bgcolor=charcoal-grey],[hcolor=charcoal-grey]:hover{background-color:#2a2f34}[border=charcoal-grey]{border:1px solid #2a2f34}[color=azure]{color:#00aeef}[bgcolor=azure],[hcolor=azure]:hover{background-color:#00aeef}[border=azure]{border:1px solid #00aeef}[color=light-azure]{color:#eaf5fd}[bgcolor=light-azure],[hcolor=light-azure]:hover{background-color:#eaf5fd}[border=light-azure]{border:1px solid #eaf5fd}[color=blue-grey]{color:#8d98a9}[bgcolor=blue-grey],[hcolor=blue-grey]:hover{background-color:#8d98a9}[border=blue-grey]{border:1px solid #8d98a9}[color=silver]{color:#ced0da}[bgcolor=silver],[hcolor=silver]:hover{background-color:#ced0da}[border=silver]{border:1px solid #ced0da}[color=pale-grey]{color:#dfe3e9}[bgcolor=pale-grey],[hcolor=pale-grey]:hover{background-color:#dfe3e9}[border=pale-grey]{border:1px solid #dfe3e9}[color=grey-white]{color:#f5f7f8}[bgcolor=grey-white],[hcolor=grey-white]:hover{background-color:#f5f7f8}[border=grey-white]{border:1px solid #f5f7f8}[color=cool-grey]{color:#b4bbc6}[bgcolor=cool-grey],[hcolor=cool-grey]:hover{background-color:#b4bbc6}[border=cool-grey]{border:1px solid #b4bbc6}[color=black]{color:#344563}[bgcolor=black],[hcolor=black]:hover{background-color:#344563}[border=black]{border:1px solid #344563}[color=grey-blue]{color:#68768c}[bgcolor=grey-blue],[hcolor=grey-blue]:hover{background-color:#68768c}[border=grey-blue]{border:1px solid #68768c}[color=strawberry]{color:#f4282d}[bgcolor=strawberry],[hcolor=strawberry]:hover{background-color:#f4282d}[border=strawberry]{border:1px solid #f4282d}[color=light-strawberry]{color:#f8eded}[bgcolor=light-strawberry],[hcolor=light-strawberry]:hover{background-color:#f8eded}[border=light-strawberry]{border:1px solid #f8eded}[color=white]{color:#fff}[bgcolor=white],[hcolor=white]:hover{background-color:#fff}[border=white]{border:1px solid #ffffff}[color=cool-green]{color:#33c15d}[bgcolor=cool-green],[hcolor=cool-green]:hover{background-color:#33c15d}[border=cool-green]{border:1px solid #33c15d}[color=light-green]{color:#ebfaef}[bgcolor=light-green],[hcolor=light-green]:hover{background-color:#ebfaef}[border=light-green]{border:1px solid #ebfaef}[color=transparent]{color:transparent}[bgcolor=transparent],[hcolor=transparent]:hover{background-color:transparent}[border=transparent]{border:1px solid transparent}[color=c0]{color:#a566a5}[bgcolor=c0],[hcolor=c0]:hover{background-color:#a566a5}[border=c0]{border:1px solid #A566A5}[color=c1]{color:#c7ab82}[bgcolor=c1],[hcolor=c1]:hover{background-color:#c7ab82}[border=c1]{border:1px solid #C7AB82}[color=c2]{color:#f2713c}[bgcolor=c2],[hcolor=c2]:hover{background-color:#f2713c}[border=c2]{border:1px solid #F2713C}[color=c3]{color:#ffd006}[bgcolor=c3],[hcolor=c3]:hover{background-color:#ffd006}[border=c3]{border:1px solid #FFD006}[color=c4]{color:#94c5aa}[bgcolor=c4],[hcolor=c4]:hover{background-color:#94c5aa}[border=c4]{border:1px solid #94C5AA}[color=c5]{color:#2a9d8f}[bgcolor=c5],[hcolor=c5]:hover{background-color:#2a9d8f}[border=c5]{border:1px solid #2A9D8F}[color=c6]{color:#78acd8}[bgcolor=c6],[hcolor=c6]:hover{background-color:#78acd8}[border=c6]{border:1px solid #78ACD8}[color=c7]{color:#525a9e}[bgcolor=c7],[hcolor=c7]:hover{background-color:#525a9e}[border=c7]{border:1px solid #525A9E}[color=c8]{color:#6a2459}[bgcolor=c8],[hcolor=c8]:hover{background-color:#6a2459}[border=c8]{border:1px solid #6A2459}[color=c9]{color:#74729e}[bgcolor=c9],[hcolor=c9]:hover{background-color:#74729e}[border=c9]{border:1px solid #74729E}::ng-deep .custom-calendar{background-color:#fff;display:flex;flex-direction:column;justify-content:center;border-radius:4px;height:-moz-fit-content;height:fit-content}::ng-deep .custom-calendar .custom-header{display:flex;align-items:center;justify-content:center;color:#344563;font-size:12px;font-weight:700;height:55px;text-transform:capitalize}::ng-deep .custom-calendar .custom-header .month-header{height:30px;width:255px;display:flex;align-items:center}::ng-deep .custom-calendar .custom-header .month-header .month-arrow-button{padding:10px;border-radius:2em;cursor:pointer}::ng-deep .custom-calendar .custom-header .month-header .month-arrow-button:hover{background-color:#eaecef}::ng-deep .custom-calendar .custom-header .month-header .month-label{flex:1;text-align:center}::ng-deep .custom-calendar .custom-header .header-filler{width:150px}::ng-deep .custom-calendar .md-drppicker{font-family:Averta;width:unset;height:219px;padding:0;margin:0 0 16px;box-shadow:none!important;z-index:0!important}::ng-deep .custom-calendar .md-drppicker .ranges{border-left:1px solid #eaecef;float:right!important;max-width:150px;height:100%}::ng-deep .custom-calendar .md-drppicker .ranges ul li{margin-left:12px}::ng-deep .custom-calendar .md-drppicker .ranges ul li:hover{background:unset}::ng-deep .custom-calendar .md-drppicker .ranges ul li button{font-family:Averta;font-size:14px;border-radius:4px;color:#5d6a82}::ng-deep .custom-calendar .md-drppicker .ranges ul li button:hover:not(.active):not(:disabled){color:#178dfe;background:#e8f4ff}::ng-deep .custom-calendar .md-drppicker .ranges ul li button.active{color:#fff;background:#178dfe}::ng-deep .custom-calendar .md-drppicker .ranges ul li button.active:hover{background:#3a9efe}::ng-deep .custom-calendar .md-drppicker .ranges ul li button:disabled{color:#d6dae0;background:none;cursor:default}::ng-deep .custom-calendar .md-drppicker .month{cursor:auto}::ng-deep .custom-calendar .md-drppicker .calendar{margin:0!important;padding:0 16px}::ng-deep .custom-calendar .md-drppicker .calendar.left{border-right:1px solid #eaecef}::ng-deep .custom-calendar .md-drppicker .calendar-table{width:231px;padding:0!important;border:none!important}::ng-deep .custom-calendar .md-drppicker .calendar-table table{border-spacing:0 5px!important;height:184px}::ng-deep .custom-calendar .md-drppicker .calendar-table table td,::ng-deep .custom-calendar .md-drppicker .calendar-table table th{height:unset;border:none}::ng-deep .custom-calendar .md-drppicker .calendar-table table thead{line-height:10px}::ng-deep .custom-calendar .md-drppicker .calendar-table table thead tr:first-child{display:none}::ng-deep .custom-calendar .md-drppicker .calendar-table table thead tr th{color:#aeb5c1;font-weight:700;font-size:12px;text-transform:capitalize;padding-bottom:10px}::ng-deep .custom-calendar .md-drppicker .calendar-table table thead tr th.month,::ng-deep .custom-calendar .md-drppicker .calendar-table table thead tr th.prev,::ng-deep .custom-calendar .md-drppicker .calendar-table table thead tr th.next{color:#344563}::ng-deep .custom-calendar .md-drppicker .calendar-table table thead tr th.prev,::ng-deep .custom-calendar .md-drppicker .calendar-table table thead tr th.next{font-size:16px}::ng-deep .custom-calendar .md-drppicker .calendar-table table tbody tr td:last-child.in-range{border-radius:0 2em 2em 0}::ng-deep .custom-calendar .md-drppicker .calendar-table table tbody tr td:first-child.in-range{border-radius:2em 0 0 2em}::ng-deep .custom-calendar .md-drppicker .calendar-table table tbody td{opacity:1!important;border-spacing:0;height:27px}::ng-deep .custom-calendar .md-drppicker .calendar-table table tbody td span{width:27px!important;height:27px!important;border-radius:50%;display:flex;align-items:center;justify-content:center;margin-left:3px}::ng-deep .custom-calendar .md-drppicker .calendar-table table tbody td.in-range:not(.off):not(.force-inactive){background-color:#e8f4ff!important;color:#344563!important}::ng-deep .custom-calendar .md-drppicker .calendar-table table tbody td.active.start-date:not(.end-date).range-picker-mode:not(.off){border-radius:2em 0 0 2em;background-color:#178dfe!important;color:#fff!important}::ng-deep .custom-calendar .md-drppicker .calendar-table table tbody td.active.end-date:not(.start-date).range-picker-mode:not(.off){border-radius:0 2em 2em 0;background-color:#178dfe!important;color:#fff!important}::ng-deep .custom-calendar .md-drppicker .calendar-table table tbody td.active:not(.force-inactive).start-date.end-date.range-picker-mode:not(.off){background-color:unset!important}::ng-deep .custom-calendar .md-drppicker .calendar-table table tbody td.active:not(.force-inactive).start-date.end-date.range-picker-mode:not(.off) span{border-radius:2em;background-color:#178dfe!important;color:#fff!important}::ng-deep .custom-calendar .md-drppicker .calendar-table table tbody td.available:not(.start-date):not(.end-date):hover span,::ng-deep .custom-calendar .md-drppicker .calendar-table table tbody td.available.today.force-inactive:hover span{background-color:#d1e8ff!important}::ng-deep .custom-calendar .md-drppicker .calendar-table table tbody td.available:not(.start-date):not(.end-date):hover:not(.in-range),::ng-deep .custom-calendar .md-drppicker .calendar-table table tbody td.available.today.force-inactive:hover:not(.in-range){background-color:unset!important}::ng-deep .custom-calendar .md-drppicker .calendar-table table tbody td.available.in-range:not(.start-date):not(.end-date):hover{border-radius:unset!important}::ng-deep .custom-calendar .md-drppicker .calendar-table table tbody td.off{background-color:unset!important;color:#d6dae0!important}::ng-deep .custom-calendar .md-drppicker .calendar-table table tbody td.active:not(.off):not(.range-picker-mode):not(.force-inactive),::ng-deep .custom-calendar .md-drppicker .calendar-table table tbody td.active:hover:not(.off):not(.range-picker-mode){background-color:unset!important}::ng-deep .custom-calendar .md-drppicker .calendar-table table tbody td.active:not(.off):not(.range-picker-mode):not(.force-inactive) span,::ng-deep .custom-calendar .md-drppicker .calendar-table table tbody td.active:hover:not(.off):not(.range-picker-mode) span{background-color:#178dfe!important;color:#fff!important}::ng-deep .custom-calendar .md-drppicker .calendar-table table tbody td.force-inactive{background-color:unset!important;color:#5d6a82}::ng-deep .custom-calendar .md-drppicker .calendar-table table tbody td.today:not(.off) span{border:1px solid #178dfe;color:#5d6a82;height:25px!important;width:25px!important}::ng-deep .custom-calendar .md-drppicker .calendar-table table tbody td.today:not(.off).start-date:not(.force-inactive) span,::ng-deep .custom-calendar .md-drppicker .calendar-table table tbody td.today:not(.off).end-date:not(.force-inactive) span{color:#fff}.hide-ranges ::ng-deep .ranges{display:none}\n"], dependencies: [{ kind: "ngmodule", type: AgorapulseUiSymbolModule }, { kind: "component", type: i1.SymbolComponent, selector: "ap-symbol[symbolId]", inputs: ["color", "symbolId", "size", "state"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: NgxDaterangepickerMd }, { kind: "component", type: i2.DaterangepickerComponent, selector: "ngx-daterangepicker-material", inputs: ["startDate", "endDate", "dateLimit", "autoApply", "singleDatePicker", "showDropdowns", "showWeekNumbers", "showISOWeekNumbers", "linkedCalendars", "autoUpdateInput", "alwaysShowCalendars", "maxSpan", "lockStartDate", "timePicker", "timePicker24Hour", "timePickerIncrement", "timePickerSeconds", "showClearButton", "firstMonthDayClass", "lastMonthDayClass", "emptyWeekRowClass", "emptyWeekColumnClass", "firstDayOfNextMonthClass", "lastDayOfPreviousMonthClass", "showCustomRangeLabel", "showCancel", "keepCalendarOpeningWithRange", "showRangeLabelOnInput", "customRangeDirection", "drops", "opens", "closeOnAutoApply", "minDate", "locale", "ranges", "maxDate", "isInvalidDate", "isCustomDate", "isTooltipDate"], outputs: ["choosedDate", "rangeClicked", "datesUpdated", "startDateChanged", "endDateChanged", "cancelClicked", "clearClicked"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
199
228
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.2", ngImport: i0, type: DatepickerComponent, decorators: [{
|
|
200
229
|
type: Component,
|
|
201
|
-
args: [{ changeDetection: ChangeDetectionStrategy.OnPush, selector: 'ap-datepicker', standalone: true, imports: [AgorapulseUiSymbolModule, NgIf, NgxDaterangepickerMd], template: "<div class=\"custom-calendar\" [style.width]=\"width + 'px'\">\n <div class=\"custom-header\">\n <div class=\"month-header\"\n *ngIf=\"this.datepickerRef.leftCalendar.month\">\n <div class=\"month-arrow-button\" (click)=\"onPreviousMonth()\">\n <ap-symbol\n [symbolId]=\"'arrow-left-1'\"\n [color]=\"'#858FA1'\"\n [size]=\"'14'\"></ap-symbol>\n </div>\n <div class=\"month-label\">\n {{ this.datepickerRef.leftCalendar.month.locale(locale).format('MMMM YYYY') }}\n </div>\n </div>\n <div class=\"month-header\"\n *ngIf=\"this.datepickerRef.rightCalendar.month\">\n <div class=\"month-label\">\n {{ this.datepickerRef.rightCalendar.month.locale(locale).format('MMMM YYYY') }}\n </div>\n <div class=\"month-arrow-button\" (click)=\"onNextMonth()\">\n <ap-symbol\n [symbolId]=\"'arrow-right-1'\"\n [color]=\"'#858FA1'\"\n [size]=\"'14'\"></ap-symbol>\n </div>\n </div>\n <div class=\"header-filler\" *ngIf=\"showRanges && mode === DatepickerMode.Range\">\n </div>\n </div>\n <ngx-daterangepicker-material\n #datepickerRef\n [class.hide-ranges]=\"!showRanges\"\n [alwaysShowCalendars]=\"true\"\n [autoApply]=\"true\"\n [customRangeDirection]=\"true\"\n [isCustomDate]=\"$any(isCustomDate)\"\n [locale]=\"localeConfig\"\n [maxDate]=\"maxDate\"\n [minDate]=\"minDate\"\n [ranges]=\"showRanges && mode === DatepickerMode.Range ? ranges : null\"\n (datesUpdated)=\"onDatesUpdated($event)\"\n (startDateChanged)=\"onStartDateChanged($event)\">\n </ngx-daterangepicker-material>\n</div>\n", styles: ["[color=facebook]{color:#1877f2}[bgcolor=facebook],[hcolor=facebook]:hover{background-color:#1877f2}[border=facebook]{border:1px solid #1877f2}[color=google]{color:#4e85e8}[bgcolor=google],[hcolor=google]:hover{background-color:#4e85e8}[border=google]{border:1px solid #4e85e8}[color=instagram]{color:#e1306c}[bgcolor=instagram],[hcolor=instagram]:hover{background-color:#e1306c}[border=instagram]{border:1px solid #e1306c}[color=instagrammagenta]{color:#c13584}[bgcolor=instagrammagenta],[hcolor=instagrammagenta]:hover{background-color:#c13584}[border=instagrammagenta]{border:1px solid #c13584}[color=instagramblue]{color:#5851db}[bgcolor=instagramblue],[hcolor=instagramblue]:hover{background-color:#5851db}[border=instagramblue]{border:1px solid #5851db}[color=instagrampurple]{color:#833ab4}[bgcolor=instagrampurple],[hcolor=instagrampurple]:hover{background-color:#833ab4}[border=instagrampurple]{border:1px solid #833ab4}[color=instagramorange]{color:#f56040}[bgcolor=instagramorange],[hcolor=instagramorange]:hover{background-color:#f56040}[border=instagramorange]{border:1px solid #f56040}[color=instagramyellow]{color:#ffdc80}[bgcolor=instagramyellow],[hcolor=instagramyellow]:hover{background-color:#ffdc80}[border=instagramyellow]{border:1px solid #ffdc80}[color=linkedin]{color:#2c67bc}[bgcolor=linkedin],[hcolor=linkedin]:hover{background-color:#2c67bc}[border=linkedin]{border:1px solid #2c67bc}[color=twitter]{color:#55acee}[bgcolor=twitter],[hcolor=twitter]:hover{background-color:#55acee}[border=twitter]{border:1px solid #55acee}[color=youtube]{color:red}[bgcolor=youtube],[hcolor=youtube]:hover{background-color:red}[border=youtube]{border:1px solid #ff0000}[color=blood-orange]{color:#ff4d00}[bgcolor=blood-orange],[hcolor=blood-orange]:hover{background-color:#ff4d00}[border=blood-orange]{border:1px solid #ff4d00}[color=pinkish-orange]{color:#ff7b49}[bgcolor=pinkish-orange],[hcolor=pinkish-orange]:hover{background-color:#ff7b49}[border=pinkish-orange]{border:1px solid #ff7b49}[color=charcoal-grey]{color:#2a2f34}[bgcolor=charcoal-grey],[hcolor=charcoal-grey]:hover{background-color:#2a2f34}[border=charcoal-grey]{border:1px solid #2a2f34}[color=azure]{color:#00aeef}[bgcolor=azure],[hcolor=azure]:hover{background-color:#00aeef}[border=azure]{border:1px solid #00aeef}[color=light-azure]{color:#eaf5fd}[bgcolor=light-azure],[hcolor=light-azure]:hover{background-color:#eaf5fd}[border=light-azure]{border:1px solid #eaf5fd}[color=blue-grey]{color:#8d98a9}[bgcolor=blue-grey],[hcolor=blue-grey]:hover{background-color:#8d98a9}[border=blue-grey]{border:1px solid #8d98a9}[color=silver]{color:#ced0da}[bgcolor=silver],[hcolor=silver]:hover{background-color:#ced0da}[border=silver]{border:1px solid #ced0da}[color=pale-grey]{color:#dfe3e9}[bgcolor=pale-grey],[hcolor=pale-grey]:hover{background-color:#dfe3e9}[border=pale-grey]{border:1px solid #dfe3e9}[color=grey-white]{color:#f5f7f8}[bgcolor=grey-white],[hcolor=grey-white]:hover{background-color:#f5f7f8}[border=grey-white]{border:1px solid #f5f7f8}[color=cool-grey]{color:#b4bbc6}[bgcolor=cool-grey],[hcolor=cool-grey]:hover{background-color:#b4bbc6}[border=cool-grey]{border:1px solid #b4bbc6}[color=black]{color:#344563}[bgcolor=black],[hcolor=black]:hover{background-color:#344563}[border=black]{border:1px solid #344563}[color=grey-blue]{color:#68768c}[bgcolor=grey-blue],[hcolor=grey-blue]:hover{background-color:#68768c}[border=grey-blue]{border:1px solid #68768c}[color=strawberry]{color:#f4282d}[bgcolor=strawberry],[hcolor=strawberry]:hover{background-color:#f4282d}[border=strawberry]{border:1px solid #f4282d}[color=light-strawberry]{color:#f8eded}[bgcolor=light-strawberry],[hcolor=light-strawberry]:hover{background-color:#f8eded}[border=light-strawberry]{border:1px solid #f8eded}[color=white]{color:#fff}[bgcolor=white],[hcolor=white]:hover{background-color:#fff}[border=white]{border:1px solid #ffffff}[color=cool-green]{color:#33c15d}[bgcolor=cool-green],[hcolor=cool-green]:hover{background-color:#33c15d}[border=cool-green]{border:1px solid #33c15d}[color=light-green]{color:#ebfaef}[bgcolor=light-green],[hcolor=light-green]:hover{background-color:#ebfaef}[border=light-green]{border:1px solid #ebfaef}[color=transparent]{color:transparent}[bgcolor=transparent],[hcolor=transparent]:hover{background-color:transparent}[border=transparent]{border:1px solid transparent}[color=c0]{color:#a566a5}[bgcolor=c0],[hcolor=c0]:hover{background-color:#a566a5}[border=c0]{border:1px solid #A566A5}[color=c1]{color:#c7ab82}[bgcolor=c1],[hcolor=c1]:hover{background-color:#c7ab82}[border=c1]{border:1px solid #C7AB82}[color=c2]{color:#f2713c}[bgcolor=c2],[hcolor=c2]:hover{background-color:#f2713c}[border=c2]{border:1px solid #F2713C}[color=c3]{color:#ffd006}[bgcolor=c3],[hcolor=c3]:hover{background-color:#ffd006}[border=c3]{border:1px solid #FFD006}[color=c4]{color:#94c5aa}[bgcolor=c4],[hcolor=c4]:hover{background-color:#94c5aa}[border=c4]{border:1px solid #94C5AA}[color=c5]{color:#2a9d8f}[bgcolor=c5],[hcolor=c5]:hover{background-color:#2a9d8f}[border=c5]{border:1px solid #2A9D8F}[color=c6]{color:#78acd8}[bgcolor=c6],[hcolor=c6]:hover{background-color:#78acd8}[border=c6]{border:1px solid #78ACD8}[color=c7]{color:#525a9e}[bgcolor=c7],[hcolor=c7]:hover{background-color:#525a9e}[border=c7]{border:1px solid #525A9E}[color=c8]{color:#6a2459}[bgcolor=c8],[hcolor=c8]:hover{background-color:#6a2459}[border=c8]{border:1px solid #6A2459}[color=c9]{color:#74729e}[bgcolor=c9],[hcolor=c9]:hover{background-color:#74729e}[border=c9]{border:1px solid #74729E}::ng-deep .custom-calendar{background-color:#fff;display:flex;flex-direction:column;justify-content:center;border-radius:4px;height:-moz-fit-content;height:fit-content}::ng-deep .custom-calendar .custom-header{display:flex;align-items:center;justify-content:center;color:#344563;font-size:12px;font-weight:700;height:55px;text-transform:capitalize}::ng-deep .custom-calendar .custom-header .month-header{height:30px;width:255px;display:flex;align-items:center}::ng-deep .custom-calendar .custom-header .month-header .month-arrow-button{padding:10px;border-radius:2em;cursor:pointer}::ng-deep .custom-calendar .custom-header .month-header .month-arrow-button:hover{background-color:#eaecef}::ng-deep .custom-calendar .custom-header .month-header .month-label{flex:1;text-align:center}::ng-deep .custom-calendar .custom-header .header-filler{width:150px}::ng-deep .custom-calendar .md-drppicker{font-family:Averta;width:unset;height:219px;padding:0;margin:0 0 16px;box-shadow:none!important;z-index:0!important}::ng-deep .custom-calendar .md-drppicker .ranges{border-left:1px solid #eaecef;float:right!important;max-width:150px;height:100%}::ng-deep .custom-calendar .md-drppicker .ranges ul li{margin-left:12px}::ng-deep .custom-calendar .md-drppicker .ranges ul li:hover{background:unset}::ng-deep .custom-calendar .md-drppicker .ranges ul li button{font-family:Averta;font-size:14px;border-radius:4px;color:#5d6a82}::ng-deep .custom-calendar .md-drppicker .ranges ul li button:hover:not(.active):not(:disabled){color:#178dfe;background:#e8f4ff}::ng-deep .custom-calendar .md-drppicker .ranges ul li button.active{color:#fff;background:#178dfe}::ng-deep .custom-calendar .md-drppicker .ranges ul li button.active:hover{background:#3a9efe}::ng-deep .custom-calendar .md-drppicker .ranges ul li button:disabled{color:#d6dae0;background:none;cursor:default}::ng-deep .custom-calendar .md-drppicker .month{cursor:auto}::ng-deep .custom-calendar .md-drppicker .calendar{margin:0!important;padding:0 16px}::ng-deep .custom-calendar .md-drppicker .calendar.left{border-right:1px solid #eaecef}::ng-deep .custom-calendar .md-drppicker .calendar-table{width:231px;padding:0!important;border:none!important}::ng-deep .custom-calendar .md-drppicker .calendar-table table{border-spacing:0 5px!important;height:184px}::ng-deep .custom-calendar .md-drppicker .calendar-table table td,::ng-deep .custom-calendar .md-drppicker .calendar-table table th{height:unset;border:none}::ng-deep .custom-calendar .md-drppicker .calendar-table table thead{line-height:10px}::ng-deep .custom-calendar .md-drppicker .calendar-table table thead tr:first-child{display:none}::ng-deep .custom-calendar .md-drppicker .calendar-table table thead tr th{color:#aeb5c1;font-weight:700;font-size:12px;text-transform:capitalize;padding-bottom:10px}::ng-deep .custom-calendar .md-drppicker .calendar-table table thead tr th.month,::ng-deep .custom-calendar .md-drppicker .calendar-table table thead tr th.prev,::ng-deep .custom-calendar .md-drppicker .calendar-table table thead tr th.next{color:#344563}::ng-deep .custom-calendar .md-drppicker .calendar-table table thead tr th.prev,::ng-deep .custom-calendar .md-drppicker .calendar-table table thead tr th.next{font-size:16px}::ng-deep .custom-calendar .md-drppicker .calendar-table table tbody tr td:last-child.in-range{border-radius:0 2em 2em 0}::ng-deep .custom-calendar .md-drppicker .calendar-table table tbody tr td:first-child.in-range{border-radius:2em 0 0 2em}::ng-deep .custom-calendar .md-drppicker .calendar-table table tbody td{opacity:1!important;border-spacing:0;height:27px}::ng-deep .custom-calendar .md-drppicker .calendar-table table tbody td span{width:27px!important;height:27px!important;border-radius:50%;display:flex;align-items:center;justify-content:center;margin-left:3px}::ng-deep .custom-calendar .md-drppicker .calendar-table table tbody td.in-range:not(.off):not(.force-inactive){background-color:#e8f4ff!important;color:#344563!important}::ng-deep .custom-calendar .md-drppicker .calendar-table table tbody td.active.start-date:not(.end-date).range-picker-mode:not(.off){border-radius:2em 0 0 2em;background-color:#178dfe!important;color:#fff!important}::ng-deep .custom-calendar .md-drppicker .calendar-table table tbody td.active.end-date:not(.start-date).range-picker-mode:not(.off){border-radius:0 2em 2em 0;background-color:#178dfe!important;color:#fff!important}::ng-deep .custom-calendar .md-drppicker .calendar-table table tbody td.active:not(.force-inactive).start-date.end-date.range-picker-mode:not(.off){background-color:unset!important}::ng-deep .custom-calendar .md-drppicker .calendar-table table tbody td.active:not(.force-inactive).start-date.end-date.range-picker-mode:not(.off) span{border-radius:2em;background-color:#178dfe!important;color:#fff!important}::ng-deep .custom-calendar .md-drppicker .calendar-table table tbody td.available:not(.start-date):not(.end-date):hover span,::ng-deep .custom-calendar .md-drppicker .calendar-table table tbody td.available.today.force-inactive:hover span{background-color:#d1e8ff!important}::ng-deep .custom-calendar .md-drppicker .calendar-table table tbody td.available:not(.start-date):not(.end-date):hover:not(.in-range),::ng-deep .custom-calendar .md-drppicker .calendar-table table tbody td.available.today.force-inactive:hover:not(.in-range){background-color:unset!important}::ng-deep .custom-calendar .md-drppicker .calendar-table table tbody td.available.in-range:not(.start-date):not(.end-date):hover{border-radius:unset!important}::ng-deep .custom-calendar .md-drppicker .calendar-table table tbody td.off{background-color:unset!important;color:#d6dae0!important}::ng-deep .custom-calendar .md-drppicker .calendar-table table tbody td.active:not(.off):not(.range-picker-mode):not(.force-inactive),::ng-deep .custom-calendar .md-drppicker .calendar-table table tbody td.active:hover:not(.off):not(.range-picker-mode){background-color:unset!important}::ng-deep .custom-calendar .md-drppicker .calendar-table table tbody td.active:not(.off):not(.range-picker-mode):not(.force-inactive) span,::ng-deep .custom-calendar .md-drppicker .calendar-table table tbody td.active:hover:not(.off):not(.range-picker-mode) span{background-color:#178dfe!important;color:#fff!important}::ng-deep .custom-calendar .md-drppicker .calendar-table table tbody td.force-inactive{background-color:unset!important;color:#5d6a82}::ng-deep .custom-calendar .md-drppicker .calendar-table table tbody td.today:not(.off) span{border:1px solid #178dfe;color:#5d6a82;height:25px!important;width:25px!important}::ng-deep .custom-calendar .md-drppicker .calendar-table table tbody td.today:not(.off).start-date:not(.force-inactive) span,::ng-deep .custom-calendar .md-drppicker .calendar-table table tbody td.today:not(.off).end-date:not(.force-inactive) span{color:#fff}.hide-ranges ::ng-deep .ranges{display:none}\n"] }]
|
|
230
|
+
args: [{ changeDetection: ChangeDetectionStrategy.OnPush, selector: 'ap-datepicker', standalone: true, imports: [AgorapulseUiSymbolModule, NgIf, NgxDaterangepickerMd], template: "<div class=\"custom-calendar\" [style.width]=\"width + 'px'\">\n <div class=\"custom-header\">\n <div class=\"month-header\"\n *ngIf=\"this.datepickerRef.leftCalendar.month\">\n <div class=\"month-arrow-button\" (click)=\"onPreviousMonth()\">\n <ap-symbol\n [symbolId]=\"'arrow-left-1'\"\n [color]=\"'#858FA1'\"\n [size]=\"'14'\"></ap-symbol>\n </div>\n <div class=\"month-label\">\n {{ this.datepickerRef.leftCalendar.month.locale(locale).format('MMMM YYYY') }}\n </div>\n </div>\n <div class=\"month-header\"\n *ngIf=\"this.datepickerRef.rightCalendar.month\">\n <div class=\"month-label\">\n {{ this.datepickerRef.rightCalendar.month.locale(locale).format('MMMM YYYY') }}\n </div>\n <div class=\"month-arrow-button\" (click)=\"onNextMonth()\">\n <ap-symbol\n [symbolId]=\"'arrow-right-1'\"\n [color]=\"'#858FA1'\"\n [size]=\"'14'\"></ap-symbol>\n </div>\n </div>\n <div class=\"header-filler\" *ngIf=\"showRanges && mode === DatepickerMode.Range\">\n </div>\n </div>\n <ngx-daterangepicker-material\n #datepickerRef\n [class.hide-ranges]=\"!showRanges\"\n [alwaysShowCalendars]=\"true\"\n [autoApply]=\"true\"\n [customRangeDirection]=\"true\"\n [isCustomDate]=\"$any(isCustomDate)\"\n [locale]=\"localeConfig\"\n [maxDate]=\"maxDateStr\"\n [minDate]=\"minDateStr\"\n [ranges]=\"showRanges && mode === DatepickerMode.Range ? ranges : null\"\n (datesUpdated)=\"onDatesUpdated($event)\"\n (startDateChanged)=\"onStartDateChanged($event)\">\n </ngx-daterangepicker-material>\n</div>\n", styles: ["[color=facebook]{color:#1877f2}[bgcolor=facebook],[hcolor=facebook]:hover{background-color:#1877f2}[border=facebook]{border:1px solid #1877f2}[color=google]{color:#4e85e8}[bgcolor=google],[hcolor=google]:hover{background-color:#4e85e8}[border=google]{border:1px solid #4e85e8}[color=instagram]{color:#e1306c}[bgcolor=instagram],[hcolor=instagram]:hover{background-color:#e1306c}[border=instagram]{border:1px solid #e1306c}[color=instagrammagenta]{color:#c13584}[bgcolor=instagrammagenta],[hcolor=instagrammagenta]:hover{background-color:#c13584}[border=instagrammagenta]{border:1px solid #c13584}[color=instagramblue]{color:#5851db}[bgcolor=instagramblue],[hcolor=instagramblue]:hover{background-color:#5851db}[border=instagramblue]{border:1px solid #5851db}[color=instagrampurple]{color:#833ab4}[bgcolor=instagrampurple],[hcolor=instagrampurple]:hover{background-color:#833ab4}[border=instagrampurple]{border:1px solid #833ab4}[color=instagramorange]{color:#f56040}[bgcolor=instagramorange],[hcolor=instagramorange]:hover{background-color:#f56040}[border=instagramorange]{border:1px solid #f56040}[color=instagramyellow]{color:#ffdc80}[bgcolor=instagramyellow],[hcolor=instagramyellow]:hover{background-color:#ffdc80}[border=instagramyellow]{border:1px solid #ffdc80}[color=linkedin]{color:#2c67bc}[bgcolor=linkedin],[hcolor=linkedin]:hover{background-color:#2c67bc}[border=linkedin]{border:1px solid #2c67bc}[color=twitter]{color:#55acee}[bgcolor=twitter],[hcolor=twitter]:hover{background-color:#55acee}[border=twitter]{border:1px solid #55acee}[color=youtube]{color:red}[bgcolor=youtube],[hcolor=youtube]:hover{background-color:red}[border=youtube]{border:1px solid #ff0000}[color=blood-orange]{color:#ff4d00}[bgcolor=blood-orange],[hcolor=blood-orange]:hover{background-color:#ff4d00}[border=blood-orange]{border:1px solid #ff4d00}[color=pinkish-orange]{color:#ff7b49}[bgcolor=pinkish-orange],[hcolor=pinkish-orange]:hover{background-color:#ff7b49}[border=pinkish-orange]{border:1px solid #ff7b49}[color=charcoal-grey]{color:#2a2f34}[bgcolor=charcoal-grey],[hcolor=charcoal-grey]:hover{background-color:#2a2f34}[border=charcoal-grey]{border:1px solid #2a2f34}[color=azure]{color:#00aeef}[bgcolor=azure],[hcolor=azure]:hover{background-color:#00aeef}[border=azure]{border:1px solid #00aeef}[color=light-azure]{color:#eaf5fd}[bgcolor=light-azure],[hcolor=light-azure]:hover{background-color:#eaf5fd}[border=light-azure]{border:1px solid #eaf5fd}[color=blue-grey]{color:#8d98a9}[bgcolor=blue-grey],[hcolor=blue-grey]:hover{background-color:#8d98a9}[border=blue-grey]{border:1px solid #8d98a9}[color=silver]{color:#ced0da}[bgcolor=silver],[hcolor=silver]:hover{background-color:#ced0da}[border=silver]{border:1px solid #ced0da}[color=pale-grey]{color:#dfe3e9}[bgcolor=pale-grey],[hcolor=pale-grey]:hover{background-color:#dfe3e9}[border=pale-grey]{border:1px solid #dfe3e9}[color=grey-white]{color:#f5f7f8}[bgcolor=grey-white],[hcolor=grey-white]:hover{background-color:#f5f7f8}[border=grey-white]{border:1px solid #f5f7f8}[color=cool-grey]{color:#b4bbc6}[bgcolor=cool-grey],[hcolor=cool-grey]:hover{background-color:#b4bbc6}[border=cool-grey]{border:1px solid #b4bbc6}[color=black]{color:#344563}[bgcolor=black],[hcolor=black]:hover{background-color:#344563}[border=black]{border:1px solid #344563}[color=grey-blue]{color:#68768c}[bgcolor=grey-blue],[hcolor=grey-blue]:hover{background-color:#68768c}[border=grey-blue]{border:1px solid #68768c}[color=strawberry]{color:#f4282d}[bgcolor=strawberry],[hcolor=strawberry]:hover{background-color:#f4282d}[border=strawberry]{border:1px solid #f4282d}[color=light-strawberry]{color:#f8eded}[bgcolor=light-strawberry],[hcolor=light-strawberry]:hover{background-color:#f8eded}[border=light-strawberry]{border:1px solid #f8eded}[color=white]{color:#fff}[bgcolor=white],[hcolor=white]:hover{background-color:#fff}[border=white]{border:1px solid #ffffff}[color=cool-green]{color:#33c15d}[bgcolor=cool-green],[hcolor=cool-green]:hover{background-color:#33c15d}[border=cool-green]{border:1px solid #33c15d}[color=light-green]{color:#ebfaef}[bgcolor=light-green],[hcolor=light-green]:hover{background-color:#ebfaef}[border=light-green]{border:1px solid #ebfaef}[color=transparent]{color:transparent}[bgcolor=transparent],[hcolor=transparent]:hover{background-color:transparent}[border=transparent]{border:1px solid transparent}[color=c0]{color:#a566a5}[bgcolor=c0],[hcolor=c0]:hover{background-color:#a566a5}[border=c0]{border:1px solid #A566A5}[color=c1]{color:#c7ab82}[bgcolor=c1],[hcolor=c1]:hover{background-color:#c7ab82}[border=c1]{border:1px solid #C7AB82}[color=c2]{color:#f2713c}[bgcolor=c2],[hcolor=c2]:hover{background-color:#f2713c}[border=c2]{border:1px solid #F2713C}[color=c3]{color:#ffd006}[bgcolor=c3],[hcolor=c3]:hover{background-color:#ffd006}[border=c3]{border:1px solid #FFD006}[color=c4]{color:#94c5aa}[bgcolor=c4],[hcolor=c4]:hover{background-color:#94c5aa}[border=c4]{border:1px solid #94C5AA}[color=c5]{color:#2a9d8f}[bgcolor=c5],[hcolor=c5]:hover{background-color:#2a9d8f}[border=c5]{border:1px solid #2A9D8F}[color=c6]{color:#78acd8}[bgcolor=c6],[hcolor=c6]:hover{background-color:#78acd8}[border=c6]{border:1px solid #78ACD8}[color=c7]{color:#525a9e}[bgcolor=c7],[hcolor=c7]:hover{background-color:#525a9e}[border=c7]{border:1px solid #525A9E}[color=c8]{color:#6a2459}[bgcolor=c8],[hcolor=c8]:hover{background-color:#6a2459}[border=c8]{border:1px solid #6A2459}[color=c9]{color:#74729e}[bgcolor=c9],[hcolor=c9]:hover{background-color:#74729e}[border=c9]{border:1px solid #74729E}::ng-deep .custom-calendar{background-color:#fff;display:flex;flex-direction:column;justify-content:center;border-radius:4px;height:-moz-fit-content;height:fit-content}::ng-deep .custom-calendar .custom-header{display:flex;align-items:center;justify-content:center;color:#344563;font-size:12px;font-weight:700;height:55px;text-transform:capitalize}::ng-deep .custom-calendar .custom-header .month-header{height:30px;width:255px;display:flex;align-items:center}::ng-deep .custom-calendar .custom-header .month-header .month-arrow-button{padding:10px;border-radius:2em;cursor:pointer}::ng-deep .custom-calendar .custom-header .month-header .month-arrow-button:hover{background-color:#eaecef}::ng-deep .custom-calendar .custom-header .month-header .month-label{flex:1;text-align:center}::ng-deep .custom-calendar .custom-header .header-filler{width:150px}::ng-deep .custom-calendar .md-drppicker{font-family:Averta;width:unset;height:219px;padding:0;margin:0 0 16px;box-shadow:none!important;z-index:0!important}::ng-deep .custom-calendar .md-drppicker .ranges{border-left:1px solid #eaecef;float:right!important;max-width:150px;height:100%}::ng-deep .custom-calendar .md-drppicker .ranges ul li{margin-left:12px}::ng-deep .custom-calendar .md-drppicker .ranges ul li:hover{background:unset}::ng-deep .custom-calendar .md-drppicker .ranges ul li button{font-family:Averta;font-size:14px;border-radius:4px;color:#5d6a82}::ng-deep .custom-calendar .md-drppicker .ranges ul li button:hover:not(.active):not(:disabled){color:#178dfe;background:#e8f4ff}::ng-deep .custom-calendar .md-drppicker .ranges ul li button.active{color:#fff;background:#178dfe}::ng-deep .custom-calendar .md-drppicker .ranges ul li button.active:hover{background:#3a9efe}::ng-deep .custom-calendar .md-drppicker .ranges ul li button:disabled{color:#d6dae0;background:none;cursor:default}::ng-deep .custom-calendar .md-drppicker .month{cursor:auto}::ng-deep .custom-calendar .md-drppicker .calendar{margin:0!important;padding:0 16px}::ng-deep .custom-calendar .md-drppicker .calendar.left{border-right:1px solid #eaecef}::ng-deep .custom-calendar .md-drppicker .calendar-table{width:231px;padding:0!important;border:none!important}::ng-deep .custom-calendar .md-drppicker .calendar-table table{border-spacing:0 5px!important;height:184px}::ng-deep .custom-calendar .md-drppicker .calendar-table table td,::ng-deep .custom-calendar .md-drppicker .calendar-table table th{height:unset;border:none}::ng-deep .custom-calendar .md-drppicker .calendar-table table thead{line-height:10px}::ng-deep .custom-calendar .md-drppicker .calendar-table table thead tr:first-child{display:none}::ng-deep .custom-calendar .md-drppicker .calendar-table table thead tr th{color:#aeb5c1;font-weight:700;font-size:12px;text-transform:capitalize;padding-bottom:10px}::ng-deep .custom-calendar .md-drppicker .calendar-table table thead tr th.month,::ng-deep .custom-calendar .md-drppicker .calendar-table table thead tr th.prev,::ng-deep .custom-calendar .md-drppicker .calendar-table table thead tr th.next{color:#344563}::ng-deep .custom-calendar .md-drppicker .calendar-table table thead tr th.prev,::ng-deep .custom-calendar .md-drppicker .calendar-table table thead tr th.next{font-size:16px}::ng-deep .custom-calendar .md-drppicker .calendar-table table tbody tr td:last-child.in-range{border-radius:0 2em 2em 0}::ng-deep .custom-calendar .md-drppicker .calendar-table table tbody tr td:first-child.in-range{border-radius:2em 0 0 2em}::ng-deep .custom-calendar .md-drppicker .calendar-table table tbody td{opacity:1!important;border-spacing:0;height:27px}::ng-deep .custom-calendar .md-drppicker .calendar-table table tbody td span{width:27px!important;height:27px!important;border-radius:50%;display:flex;align-items:center;justify-content:center;margin-left:3px}::ng-deep .custom-calendar .md-drppicker .calendar-table table tbody td.in-range:not(.off):not(.force-inactive){background-color:#e8f4ff!important;color:#344563!important}::ng-deep .custom-calendar .md-drppicker .calendar-table table tbody td.active.start-date:not(.end-date).range-picker-mode:not(.off){border-radius:2em 0 0 2em;background-color:#178dfe!important;color:#fff!important}::ng-deep .custom-calendar .md-drppicker .calendar-table table tbody td.active.end-date:not(.start-date).range-picker-mode:not(.off){border-radius:0 2em 2em 0;background-color:#178dfe!important;color:#fff!important}::ng-deep .custom-calendar .md-drppicker .calendar-table table tbody td.active:not(.force-inactive).start-date.end-date.range-picker-mode:not(.off){background-color:unset!important}::ng-deep .custom-calendar .md-drppicker .calendar-table table tbody td.active:not(.force-inactive).start-date.end-date.range-picker-mode:not(.off) span{border-radius:2em;background-color:#178dfe!important;color:#fff!important}::ng-deep .custom-calendar .md-drppicker .calendar-table table tbody td.available:not(.start-date):not(.end-date):hover span,::ng-deep .custom-calendar .md-drppicker .calendar-table table tbody td.available.today.force-inactive:hover span{background-color:#d1e8ff!important}::ng-deep .custom-calendar .md-drppicker .calendar-table table tbody td.available:not(.start-date):not(.end-date):hover:not(.in-range),::ng-deep .custom-calendar .md-drppicker .calendar-table table tbody td.available.today.force-inactive:hover:not(.in-range){background-color:unset!important}::ng-deep .custom-calendar .md-drppicker .calendar-table table tbody td.available.in-range:not(.start-date):not(.end-date):hover{border-radius:unset!important}::ng-deep .custom-calendar .md-drppicker .calendar-table table tbody td.off{background-color:unset!important;color:#d6dae0!important}::ng-deep .custom-calendar .md-drppicker .calendar-table table tbody td.active:not(.off):not(.range-picker-mode):not(.force-inactive),::ng-deep .custom-calendar .md-drppicker .calendar-table table tbody td.active:hover:not(.off):not(.range-picker-mode){background-color:unset!important}::ng-deep .custom-calendar .md-drppicker .calendar-table table tbody td.active:not(.off):not(.range-picker-mode):not(.force-inactive) span,::ng-deep .custom-calendar .md-drppicker .calendar-table table tbody td.active:hover:not(.off):not(.range-picker-mode) span{background-color:#178dfe!important;color:#fff!important}::ng-deep .custom-calendar .md-drppicker .calendar-table table tbody td.force-inactive{background-color:unset!important;color:#5d6a82}::ng-deep .custom-calendar .md-drppicker .calendar-table table tbody td.today:not(.off) span{border:1px solid #178dfe;color:#5d6a82;height:25px!important;width:25px!important}::ng-deep .custom-calendar .md-drppicker .calendar-table table tbody td.today:not(.off).start-date:not(.force-inactive) span,::ng-deep .custom-calendar .md-drppicker .calendar-table table tbody td.today:not(.off).end-date:not(.force-inactive) span{color:#fff}.hide-ranges ::ng-deep .ranges{display:none}\n"] }]
|
|
202
231
|
}], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i1.SymbolRegistry }]; }, propDecorators: { datepickerRef: [{
|
|
203
232
|
type: ViewChild,
|
|
204
233
|
args: ['datepickerRef']
|
|
@@ -227,4 +256,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.2", ngImpor
|
|
|
227
256
|
}], periodSelected: [{
|
|
228
257
|
type: Output
|
|
229
258
|
}] } });
|
|
230
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZXBpY2tlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9saWJzL3VpLWNvbXBvbmVudHMvZGF0ZXBpY2tlci9zcmMvZGF0ZXBpY2tlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi9saWJzL3VpLWNvbXBvbmVudHMvZGF0ZXBpY2tlci9zcmMvZGF0ZXBpY2tlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsd0JBQXdCLEVBQUUsWUFBWSxFQUFFLGFBQWEsRUFBaUIsTUFBTSx1QkFBdUIsQ0FBQztBQUM1RyxPQUFPLEVBQUMsSUFBSSxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFDckMsT0FBTyxFQUVILHVCQUF1QixFQUV2QixTQUFTLEVBQ1QsWUFBWSxFQUNaLEtBQUssRUFHTCxNQUFNLEVBQ04sU0FBUyxHQUNaLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sTUFBTSxNQUFNLFFBQVEsQ0FBQztBQUU1QixPQUFPLEVBQTJCLG9CQUFvQixFQUFDLE1BQU0sOEJBQThCLENBQUM7Ozs7QUFFNUYsTUFBTSxDQUFOLElBQVksY0FJWDtBQUpELFdBQVksY0FBYztJQUN0QixtQ0FBaUIsQ0FBQTtJQUNqQix1Q0FBcUIsQ0FBQTtJQUNyQixpQ0FBZSxDQUFBO0FBQ25CLENBQUMsRUFKVyxjQUFjLEtBQWQsY0FBYyxRQUl6QjtBQWlCRCxJQUFLLFFBR0o7QUFIRCxXQUFLLFFBQVE7SUFDVCx5QkFBYSxDQUFBO0lBQ2IsMkJBQWUsQ0FBQTtBQUNuQixDQUFDLEVBSEksUUFBUSxLQUFSLFFBQVEsUUFHWjtBQUVELHFEQUFxRDtBQVNyRCxNQUFNLE9BQU8sbUJBQW1CO0lBc0M1QixZQUFtQixpQkFBb0MsRUFDcEMsY0FBOEI7UUFEOUIsc0JBQWlCLEdBQWpCLGlCQUFpQixDQUFtQjtRQUNwQyxtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7UUFuQ3hDLFNBQUksR0FBbUI7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Q2pELENBQUMsQ0FBQyxJQUFJLENBQUMsbUJBQW1CLEdBQUcsSUFBSSxDQUFDLGdCQUFnQjtnQkFDbEQsQ0FBQyxDQUFDLElBQUksQ0FBQyxtQkFBbUIsQ0FBQztJQUN2QyxDQUFDOztnSEF0TVEsbUJBQW1CO29HQUFuQixtQkFBbUIseWhCQ3JEaEMsZzNEQTRDQSxvdFlETWMsd0JBQXdCLGlLQUFFLElBQUksNEZBQUUsb0JBQW9COzJGQUdyRCxtQkFBbUI7a0JBUi9CLFNBQVM7c0NBQ1csdUJBQXVCLENBQUMsTUFBTSxZQUNyQyxlQUFlLGNBRWIsSUFBSSxXQUNQLENBQUMsd0JBQXdCLEVBQUUsSUFBSSxFQUFFLG9CQUFvQixDQUFDO3FJQUluQyxhQUFhO3NCQUF4QyxTQUFTO3VCQUFDLGVBQWU7Z0JBRWpCLGNBQWM7c0JBQXRCLEtBQUs7Z0JBQ0csSUFBSTtzQkFBWixLQUFLO2dCQVNHLE1BQU07c0JBQWQsS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSztnQkFDRyxZQUFZO3NCQUFwQixLQUFLO2dCQUNHLGFBQWE7c0JBQXJCLEtBQUs7Z0JBQ0csY0FBYztzQkFBdEIsS0FBSztnQkFDRyxVQUFVO3NCQUFsQixLQUFLO2dCQUVJLFlBQVk7c0JBQXJCLE1BQU07Z0JBQ0csY0FBYztzQkFBdkIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7QWdvcmFwdWxzZVVpU3ltYm9sTW9kdWxlLCBhcEFycm93TGVmdDEsIGFwQXJyb3dSaWdodDEsIFN5bWJvbFJlZ2lzdHJ5fSBmcm9tICdAYWdvcmFwdWxzZS91aS1zeW1ib2wnO1xuaW1wb3J0IHtOZ0lmfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtcbiAgICBBZnRlclZpZXdJbml0LFxuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICAgIENoYW5nZURldGVjdG9yUmVmLFxuICAgIENvbXBvbmVudCxcbiAgICBFdmVudEVtaXR0ZXIsXG4gICAgSW5wdXQsXG4gICAgT25DaGFuZ2VzLFxuICAgIE9uSW5pdCxcbiAgICBPdXRwdXQsXG4gICAgVmlld0NoaWxkLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCBtb21lbnQgZnJvbSAnbW9tZW50JztcbmltcG9ydCB7TW9tZW50fSBmcm9tICdtb21lbnQnO1xuaW1wb3J0IHtEYXRlcmFuZ2VwaWNrZXJDb21wb25lbnQsIE5neERhdGVyYW5nZXBpY2tlck1kfSBmcm9tICduZ3gtZGF0ZXJhbmdlcGlja2VyLW1hdGVyaWFsJztcblxuZXhwb3J0IGVudW0gRGF0ZXBpY2tlck1vZGUge1xuICAgIFNpbmdsZSA9ICdTaW5nbGUnLFxuICAgIE11bHRpcGxlID0gJ011bHRpcGxlJyxcbiAgICBSYW5nZSA9ICdSYW5nZScsXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUGVyaW9kIHtcbiAgICBzdGFydERhdGU6IE1vbWVudDtcbiAgICBlbmREYXRlOiBNb21lbnQ7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSTE4bkRhdGVQaWNrZXIge1xuICAgIHJhbmdlczoge1xuICAgICAgICB5ZXN0ZXJkYXk6IHN0cmluZztcbiAgICAgICAgbGFzdFdlZWs6IHN0cmluZztcbiAgICAgICAgbGFzdDMwRGF5czogc3RyaW5nO1xuICAgICAgICBsYXN0TW9udGg6IHN0cmluZztcbiAgICAgICAgdGhpc01vbnRoOiBzdHJpbmc7XG4gICAgfVxufVxuXG5lbnVtIFNpZGVFbnVtIHtcbiAgICBsZWZ0ID0gXCJsZWZ0XCIsXG4gICAgcmlnaHQgPSBcInJpZ2h0XCJcbn1cblxuLy8gVE9ETyBmaXggY3NzIGZvciByYW5nZSBtb2RlIChtb3JlIGxhdGVyYWwgcGFkZGluZylcbkBDb21wb25lbnQoe1xuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIHNlbGVjdG9yOiAnYXAtZGF0ZXBpY2tlcicsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2RhdGVwaWNrZXIuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgaW1wb3J0czogW0Fnb3JhcHVsc2VVaVN5bWJvbE1vZHVsZSwgTmdJZiwgTmd4RGF0ZXJhbmdlcGlja2VyTWRdLFxuICAgIHN0eWxlVXJsczogWycuL2RhdGVwaWNrZXIuY29tcG9uZW50LnNjc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgRGF0ZXBpY2tlckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25DaGFuZ2VzLCBBZnRlclZpZXdJbml0IHtcbiAgICBAVmlld0NoaWxkKCdkYXRlcGlja2VyUmVmJykgZGF0ZXBpY2tlclJlZjogRGF0ZXJhbmdlcGlja2VyQ29tcG9uZW50O1xuXG4gICAgQElucHV0KCkgZmlyc3REYXlPZldlZWs6IHN0cmluZztcbiAgICBASW5wdXQoKSBpMThuOiBJMThuRGF0ZVBpY2tlciA9IHtcbiAgICAgICAgcmFuZ2VzOiB7XG4gICAgICAgICAgICB5ZXN0ZXJkYXk6ICdZZXN0ZXJkYXknLFxuICAgICAgICAgICAgbGFzdFdlZWs6ICdMYXN0IFdlZWsnLFxuICAgICAgICAgICAgbGFzdDMwRGF5czogJ0xhc3QgMzAgZGF5cycsXG4gICAgICAgICAgICBsYXN0TW9udGg6ICdQcmV2aW91cyBtb250aCcsXG4gICAgICAgICAgICB0aGlzTW9udGg6ICdUaGlzIE1vbnRoJyxcbiAgICAgICAgfSxcbiAgICB9O1xuICAgIEBJbnB1dCgpIGxvY2FsZTtcbiAgICBASW5wdXQoKSBtYXhEYXRlOiBNb21lbnQ7XG4gICAgQElucHV0KCkgbWluRGF0ZTogTW9tZW50O1xuICAgIEBJbnB1dCgpIG1vZGU6IERhdGVwaWNrZXJNb2RlO1xuICAgIEBJbnB1dCgpIHNlbGVjdGVkRGF0ZTogTW9tZW50O1xuICAgIEBJbnB1dCgpIHNlbGVjdGVkRGF0ZXM6IE1vbWVudFtdID0gW107XG4gICAgQElucHV0KCkgc2VsZWN0ZWRQZXJpb2Q6IFBlcmlvZCA9IHtzdGFydERhdGU6IG51bGwsIGVuZERhdGU6IG51bGx9O1xuICAgIEBJbnB1dCgpIHNob3dSYW5nZXM6IGJvb2xlYW47XG5cbiAgICBAT3V0cHV0KCkgZGF0ZVNlbGVjdGVkID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG4gICAgQE91dHB1dCgpIHBlcmlvZFNlbGVjdGVkID0gbmV3IEV2ZW50RW1pdHRlcjxQZXJpb2Q+KCk7XG5cbiAgICBEYXRlcGlja2VyTW9kZSA9IERhdGVwaWNrZXJNb2RlO1xuICAgIGRvdWJsZUNhbGVuZGFyV2lkdGggPSA1Mjg7IC8vIDIzMXB4IGNhbGVuZGFyIHRhYmxlICogMiA9IDQ2MiAoKyAxNnB4IHgtcGFkZGluZyAqIDQgPSA2NClcbiAgICBsb2NhbGVDb25maWc6IHtcbiAgICAgICAgY3VzdG9tUmFuZ2VMYWJlbDogc3RyaW5nO1xuICAgICAgICBkYXlzT2ZXZWVrOiBzdHJpbmdbXTtcbiAgICAgICAgbW9udGhOYW1lczogc3RyaW5nW107XG4gICAgICAgIGZpcnN0RGF5OiBudW1iZXI7XG4gICAgfTtcbiAgICByYW5nZXM6IHtbcGVyaW9kOiBzdHJpbmddOiBbTW9tZW50LCBNb21lbnRdfSA9IHt9O1xuICAgIHJhbmdlUGlja2VyV2lkdGggPSAxNTA7XG4gICAgd2lkdGg6IG51bWJlcjtcbiAgICBwYWdlU2V0ID0gZmFsc2U7XG5cbiAgICBjb25zdHJ1Y3RvcihwdWJsaWMgY2hhbmdlRGV0ZWN0b3JSZWY6IENoYW5nZURldGVjdG9yUmVmLFxuICAgICAgICAgICAgICAgIHB1YmxpYyBzeW1ib2xSZWdpc3RyeTogU3ltYm9sUmVnaXN0cnkpIHtcbiAgICAgICAgdGhpcy5zeW1ib2xSZWdpc3RyeS5yZWdpc3RlclN5bWJvbHMoW1xuICAgICAgICAgICAgYXBBcnJvd0xlZnQxLFxuICAgICAgICAgICAgYXBBcnJvd1JpZ2h0MVxuICAgICAgICBdKTtcbiAgICB9XG5cbiAgICBuZ09uSW5pdCgpIHtcbiAgICAgICAgdGhpcy5pbml0UmFuZ2VzKCk7XG4gICAgICAgIHRoaXMuaW5pdERhdGVQaWNrZXJMb2NhbGUoKTtcbiAgICB9XG5cbiAgICBuZ09uQ2hhbmdlcyhjaGFuZ2VzKSB7XG4gICAgICAgIHRoaXMuc2V0V2lkdGgoKTtcbiAgICAgICAgaWYgKHRoaXMuZGF0ZXBpY2tlclJlZikge1xuICAgICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5kYXRlcGlja2VyUmVmLnVwZGF0ZUNhbGVuZGFycygpO1xuICAgICAgICAgICAgICAgIHRoaXMuY2hhbmdlRGV0ZWN0b3JSZWYuZGV0ZWN0Q2hhbmdlcygpO1xuICAgICAgICAgICAgfSwgMTAwKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoY2hhbmdlcy5zZWxlY3RlZFBlcmlvZD8uY3VycmVudFZhbHVlICYmIHRoaXMuZGF0ZXBpY2tlclJlZikge1xuICAgICAgICAgICAgaWYgKHRoaXMuc2VsZWN0ZWRQZXJpb2Quc3RhcnREYXRlID09PSBudWxsICYmIHRoaXMuc2VsZWN0ZWRQZXJpb2QuZW5kRGF0ZSA9PT0gbnVsbCkge1xuICAgICAgICAgICAgICAgIHRoaXMuZGF0ZXBpY2tlclJlZi5jbGVhcigpO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICB0aGlzLmRhdGVwaWNrZXJSZWYuc2V0U3RhcnREYXRlKHRoaXMuc2VsZWN0ZWRQZXJpb2Quc3RhcnREYXRlKTtcbiAgICAgICAgICAgICAgICB0aGlzLmRhdGVwaWNrZXJSZWYuc2V0RW5kRGF0ZSh0aGlzLnNlbGVjdGVkUGVyaW9kLmVuZERhdGUpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGlmIChjaGFuZ2VzLm1vZGU/LmN1cnJlbnRWYWx1ZSA9PT0gRGF0ZXBpY2tlck1vZGUuU2luZ2xlICYmIHRoaXMuZGF0ZXBpY2tlclJlZikge1xuICAgICAgICAgICAgdGhpcy5zZXRDYWxlbmRhckN1cnJlbnRQYWdlKCk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5kYXRlcGlja2VyUmVmKSB7XG4gICAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLmRhdGVwaWNrZXJSZWYudXBkYXRlQ2FsZW5kYXJzKCk7XG4gICAgICAgICAgICAgICAgdGhpcy5zZXRDYWxlbmRhckN1cnJlbnRQYWdlKCk7XG4gICAgICAgICAgICB9LCAxMDApO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgaW5pdERhdGVQaWNrZXJMb2NhbGUoKSB7XG4gICAgICAgIGlmICh0aGlzLmxvY2FsZSkge1xuICAgICAgICAgICAgbW9tZW50LmxvY2FsZSh0aGlzLmxvY2FsZSk7XG4gICAgICAgIH1cbiAgICAgICAgbGV0IGZpcnN0RGF5T2ZXZWVrSW5kZXg6IG51bWJlcjtcbiAgICAgICAgaWYgKHRoaXMuZmlyc3REYXlPZldlZWsgPT09ICdzdW5kYXknKSB7XG4gICAgICAgICAgICBmaXJzdERheU9mV2Vla0luZGV4ID0gMDtcbiAgICAgICAgfSBlbHNlIGlmICh0aGlzLmZpcnN0RGF5T2ZXZWVrID09PSAnbW9uZGF5Jykge1xuICAgICAgICAgICAgZmlyc3REYXlPZldlZWtJbmRleCA9IDE7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBmaXJzdERheU9mV2Vla0luZGV4ID0gbW9tZW50LmxvY2FsZURhdGEoKS5maXJzdERheU9mV2VlaygpO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMubG9jYWxlQ29uZmlnID0ge1xuICAgICAgICAgICAgY3VzdG9tUmFuZ2VMYWJlbDogJ2N1c3RvbScsXG4gICAgICAgICAgICBkYXlzT2ZXZWVrOiBtb21lbnQud2Vla2RheXNNaW4oKSxcbiAgICAgICAgICAgIG1vbnRoTmFtZXM6IG1vbWVudC5tb250aHMoKSxcbiAgICAgICAgICAgIGZpcnN0RGF5OiBmaXJzdERheU9mV2Vla0luZGV4LFxuICAgICAgICB9O1xuICAgIH1cblxuICAgIGluaXRSYW5nZXMoKSB7XG4gICAgICAgIHRoaXMucmFuZ2VzW3RoaXMuaTE4bi5yYW5nZXMueWVzdGVyZGF5XSA9IFttb21lbnQoKS5zdWJ0cmFjdCgxLCAnZGF5cycpLCBtb21lbnQoKS5zdWJ0cmFjdCgxLCAnZGF5cycpXTtcbiAgICAgICAgdGhpcy5yYW5nZXNbdGhpcy5pMThuLnJhbmdlcy5sYXN0V2Vla10gPSBbbW9tZW50KCkuc3VidHJhY3QoNywgJ2RheXMnKSwgbW9tZW50KCkuc3VidHJhY3QoMSwgJ2RheXMnKV07XG4gICAgICAgIHRoaXMucmFuZ2VzW3RoaXMuaTE4bi5yYW5nZXMubGFzdDMwRGF5c10gPSBbbW9tZW50KCkuc3VidHJhY3QoMzAsICdkYXlzJyksIG1vbWVudCgpLnN1YnRyYWN0KDEsICdkYXlzJyldO1xuICAgICAgICB0aGlzLnJhbmdlc1t0aGlzLmkxOG4ucmFuZ2VzLmxhc3RNb250aF0gPSBbXG4gICAgICAgICAgICBtb21lbnQoKS5zdWJ0cmFjdCgxLCAnbW9udGgnKS5zdGFydE9mKCdtb250aCcpLFxuICAgICAgICAgICAgbW9tZW50KCkuc3VidHJhY3QoMSwgJ21vbnRoJykuZW5kT2YoJ21vbnRoJyksXG4gICAgICAgIF07XG4gICAgICAgIHRoaXMucmFuZ2VzW3RoaXMuaTE4bi5yYW5nZXMudGhpc01vbnRoXSA9IFttb21lbnQoKS5zdGFydE9mKCdtb250aCcpLCBtb21lbnQoKS5lbmRPZignbW9udGgnKV07XG4gICAgfVxuXG4gICAgaXNDdXN0b21EYXRlID0gKGRhdGU6IGFueSkgPT4ge1xuICAgICAgICBjb25zdCBjbGFzc2VzOiBzdHJpbmdbXSA9IFtdO1xuICAgICAgICBpZiAodGhpcy5tb2RlID09PSBEYXRlcGlja2VyTW9kZS5NdWx0aXBsZSkge1xuICAgICAgICAgICAgY2xhc3Nlcy5wdXNoKHRoaXMuaXNTZWxlY3RlZChkYXRlKSA/ICdhY3RpdmUnIDogJ2ZvcmNlLWluYWN0aXZlJyk7XG4gICAgICAgIH0gZWxzZSBpZiAodGhpcy5tb2RlID09PSBEYXRlcGlja2VyTW9kZS5TaW5nbGUpIHtcbiAgICAgICAgICAgIGNsYXNzZXMucHVzaCh0aGlzLnNlbGVjdGVkRGF0ZSAmJiB0aGlzLnNlbGVjdGVkRGF0ZS5pc1NhbWUoZGF0ZSwgJ2RheScpID8gJ2FjdGl2ZScgOiAnZm9yY2UtaW5hY3RpdmUnKTtcbiAgICAgICAgfSBlbHNlIGlmICh0aGlzLm1vZGUgPT09IERhdGVwaWNrZXJNb2RlLlJhbmdlKSB7XG4gICAgICAgICAgICBjbGFzc2VzLnB1c2goJ3JhbmdlLXBpY2tlci1tb2RlJyk7XG4gICAgICAgICAgICAvLyBXb3JrYXJvdW5kIHRvIGZpeCB0aGUgYXV0by1hY3RpdmUgdG9kYXkgZGF0ZSB3aGVuIG5vIGRhdGUgaXMgc2VsZWN0ZWRcbiAgICAgICAgICAgIGlmIChtb21lbnQoKS5pc1NhbWUoZGF0ZSwgJ2RheScpICYmICF0aGlzLnNlbGVjdGVkUGVyaW9kPy5zdGFydERhdGUgJiYgIXRoaXMuc2VsZWN0ZWRQZXJpb2Q/LmVuZERhdGUpIHtcbiAgICAgICAgICAgICAgICBjbGFzc2VzLnB1c2goJ2ZvcmNlLWluYWN0aXZlJyk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGNsYXNzZXM7XG4gICAgfTtcblxuICAgIHByaXZhdGUgaXNTZWxlY3RlZChkYXRlOiBhbnkpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuc2VsZWN0ZWREYXRlcyAmJiB0aGlzLnNlbGVjdGVkRGF0ZXMuc29tZShzZWxlY3RlZERhdGUgPT4gc2VsZWN0ZWREYXRlLmlzU2FtZShkYXRlLCAnZGF5JykpO1xuICAgIH1cblxuICAgIG9uU3RhcnREYXRlQ2hhbmdlZChldmVudDogYW55KSB7XG4gICAgICAgIGNvbnN0IGRhdGUgPSBldmVudC5zdGFydERhdGU7XG4gICAgICAgIGlmICh0aGlzLm1vZGUgIT09IERhdGVwaWNrZXJNb2RlLlJhbmdlKSB7XG4gICAgICAgICAgICB0aGlzLnNlbGVjdGVkRGF0ZSA9IGRhdGU7XG4gICAgICAgICAgICB0aGlzLmRhdGVwaWNrZXJSZWYuc2V0RW5kRGF0ZShkYXRlKTtcbiAgICAgICAgICAgIGlmICh0aGlzLnBhZ2VTZXQpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnBhZ2VTZXQgPSBmYWxzZTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgdGhpcy5kYXRlU2VsZWN0ZWQuZW1pdChkYXRlLmNsb25lKCkpO1xuICAgICAgICAgICAgICAgIGlmICh0aGlzLm1vZGUgPT09IERhdGVwaWNrZXJNb2RlLk11bHRpcGxlKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuc2VsZWN0ZWREYXRlcy5wdXNoKGRhdGUpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmICh0aGlzLmRhdGVwaWNrZXJSZWYpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmRhdGVwaWNrZXJSZWYudXBkYXRlQ2FsZW5kYXJzKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBvbkRhdGVzVXBkYXRlZChldmVudDogYW55KSB7XG4gICAgICAgIGlmICh0aGlzLm1vZGUgPT09IERhdGVwaWNrZXJNb2RlLlJhbmdlKSB7XG4gICAgICAgICAgICB0aGlzLnBlcmlvZFNlbGVjdGVkLmVtaXQoe1xuICAgICAgICAgICAgICAgIHN0YXJ0RGF0ZTogZXZlbnQuc3RhcnREYXRlPy5jbG9uZSgpLFxuICAgICAgICAgICAgICAgIGVuZERhdGU6IGV2ZW50LmVuZERhdGU/LmNsb25lKCksXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgICBpZiAodGhpcy5kYXRlcGlja2VyUmVmKSB7XG4gICAgICAgICAgICB0aGlzLmRhdGVwaWNrZXJSZWYudXBkYXRlQ2FsZW5kYXJzKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBvbk5leHRNb250aCgpIHtcbiAgICAgICAgdGhpcy5kYXRlcGlja2VyUmVmLmxlZnRDYWxlbmRhci5tb250aCA9IHRoaXMuZGF0ZXBpY2tlclJlZi5sZWZ0Q2FsZW5kYXIubW9udGguYWRkKDEsICdtb250aHMnKS5jbG9uZSgpO1xuICAgICAgICB0aGlzLmRhdGVwaWNrZXJSZWYucmlnaHRDYWxlbmRhci5tb250aCA9IHRoaXMuZGF0ZXBpY2tlclJlZi5yaWdodENhbGVuZGFyLm1vbnRoLmFkZCgxLCAnbW9udGhzJykuY2xvbmUoKTtcbiAgICAgICAgdGhpcy5kYXRlcGlja2VyUmVmLmNsaWNrTmV4dChTaWRlRW51bS5sZWZ0KTtcbiAgICAgICAgdGhpcy5kYXRlcGlja2VyUmVmLmNsaWNrTmV4dChTaWRlRW51bS5yaWdodCk7XG4gICAgfVxuXG4gICAgb25QcmV2aW91c01vbnRoKCkge1xuICAgICAgICB0aGlzLmRhdGVwaWNrZXJSZWYubGVmdENhbGVuZGFyLm1vbnRoID0gdGhpcy5kYXRlcGlja2VyUmVmLmxlZnRDYWxlbmRhci5tb250aC5zdWJ0cmFjdCgxLCAnbW9udGhzJykuY2xvbmUoKTtcbiAgICAgICAgdGhpcy5kYXRlcGlja2VyUmVmLnJpZ2h0Q2FsZW5kYXIubW9udGggPSB0aGlzLmRhdGVwaWNrZXJSZWYucmlnaHRDYWxlbmRhci5tb250aC5zdWJ0cmFjdCgxLCAnbW9udGhzJykuY2xvbmUoKTtcbiAgICAgICAgdGhpcy5kYXRlcGlja2VyUmVmLmNsaWNrUHJldihTaWRlRW51bS5sZWZ0KTtcbiAgICAgICAgdGhpcy5kYXRlcGlja2VyUmVmLmNsaWNrUHJldihTaWRlRW51bS5yaWdodCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogVWdseSBoYWNrIHVzZWQgaGVyZSB0byBvcGVuIHRoZSBjYWxlbmRhciBvbiB0aGUgcmlnaHQgZGF5IGlmIHRoZXkgYXJlIHNlbGVjdGVkIGRhdGVzXG4gICAgICogICAgICAqIGh0dHBzOi8vZ2l0aHViLmNvbS9mZXRyYXJpai9uZ3gtZGF0ZXJhbmdlcGlja2VyLW1hdGVyaWFsL2lzc3Vlcy8xMzlcbiAgICAgKi9cbiAgICBzZXRDYWxlbmRhckN1cnJlbnRQYWdlKCk6IHZvaWQge1xuICAgICAgICBjb25zdCBzZWxlY3RlZEZpcnN0RGF0ZSA9IHRoaXMuc2VsZWN0ZWREYXRlcy5sZW5ndGggPiAwID8gdGhpcy5zZWxlY3RlZERhdGVzWzBdIDogdGhpcy5zZWxlY3RlZERhdGU7XG4gICAgICAgIGlmIChzZWxlY3RlZEZpcnN0RGF0ZSAmJiBzZWxlY3RlZEZpcnN0RGF0ZS5pc1ZhbGlkKCkgJiYgdGhpcy5tb2RlICE9PSBEYXRlcGlja2VyTW9kZS5SYW5nZSkge1xuICAgICAgICAgICAgY29uc3QgZW5kRGF0ZSA9IHNlbGVjdGVkRmlyc3REYXRlLmNsb25lKCk7XG4gICAgICAgICAgICBlbmREYXRlLmFkZCgxLCAnbW9udGgnKTtcbiAgICAgICAgICAgIHRoaXMucGFnZVNldCA9IHRydWU7XG4gICAgICAgICAgICB0aGlzLmRhdGVwaWNrZXJSZWYuc2V0U3RhcnREYXRlKHNlbGVjdGVkRmlyc3REYXRlKTtcbiAgICAgICAgICAgIHRoaXMuZGF0ZXBpY2tlclJlZi5zZXRFbmREYXRlKGVuZERhdGUpO1xuICAgICAgICAgICAgdGhpcy5kYXRlcGlja2VyUmVmLnVwZGF0ZVZpZXcoKTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLmNoYW5nZURldGVjdG9yUmVmLmRldGVjdENoYW5nZXMoKTtcbiAgICB9XG5cbiAgICBzZXRXaWR0aCgpIHtcbiAgICAgICAgdGhpcy53aWR0aCA9XG4gICAgICAgICAgICB0aGlzLnNob3dSYW5nZXMgJiYgdGhpcy5tb2RlID09PSBEYXRlcGlja2VyTW9kZS5SYW5nZVxuICAgICAgICAgICAgICAgID8gdGhpcy5kb3VibGVDYWxlbmRhcldpZHRoICsgdGhpcy5yYW5nZVBpY2tlcldpZHRoXG4gICAgICAgICAgICAgICAgOiB0aGlzLmRvdWJsZUNhbGVuZGFyV2lkdGg7XG4gICAgfVxufVxuIiwiPGRpdiBjbGFzcz1cImN1c3RvbS1jYWxlbmRhclwiIFtzdHlsZS53aWR0aF09XCJ3aWR0aCArICdweCdcIj5cbiAgICA8ZGl2IGNsYXNzPVwiY3VzdG9tLWhlYWRlclwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwibW9udGgtaGVhZGVyXCJcbiAgICAgICAgICAgICAqbmdJZj1cInRoaXMuZGF0ZXBpY2tlclJlZi5sZWZ0Q2FsZW5kYXIubW9udGhcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtb250aC1hcnJvdy1idXR0b25cIiAoY2xpY2spPVwib25QcmV2aW91c01vbnRoKClcIj5cbiAgICAgICAgICAgICAgICA8YXAtc3ltYm9sXG4gICAgICAgICAgICAgICAgICAgIFtzeW1ib2xJZF09XCInYXJyb3ctbGVmdC0xJ1wiXG4gICAgICAgICAgICAgICAgICAgIFtjb2xvcl09XCInIzg1OEZBMSdcIlxuICAgICAgICAgICAgICAgICAgICBbc2l6ZV09XCInMTQnXCI+PC9hcC1zeW1ib2w+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtb250aC1sYWJlbFwiPlxuICAgICAgICAgICAgICAgIHt7IHRoaXMuZGF0ZXBpY2tlclJlZi5sZWZ0Q2FsZW5kYXIubW9udGgubG9jYWxlKGxvY2FsZSkuZm9ybWF0KCdNTU1NIFlZWVknKSB9fVxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPVwibW9udGgtaGVhZGVyXCJcbiAgICAgICAgICAgICAqbmdJZj1cInRoaXMuZGF0ZXBpY2tlclJlZi5yaWdodENhbGVuZGFyLm1vbnRoXCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwibW9udGgtbGFiZWxcIj5cbiAgICAgICAgICAgICAgICB7eyB0aGlzLmRhdGVwaWNrZXJSZWYucmlnaHRDYWxlbmRhci5tb250aC5sb2NhbGUobG9jYWxlKS5mb3JtYXQoJ01NTU0gWVlZWScpIH19XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtb250aC1hcnJvdy1idXR0b25cIiAoY2xpY2spPVwib25OZXh0TW9udGgoKVwiPlxuICAgICAgICAgICAgICAgIDxhcC1zeW1ib2xcbiAgICAgICAgICAgICAgICAgICAgW3N5bWJvbElkXT1cIidhcnJvdy1yaWdodC0xJ1wiXG4gICAgICAgICAgICAgICAgICAgIFtjb2xvcl09XCInIzg1OEZBMSdcIlxuICAgICAgICAgICAgICAgICAgICBbc2l6ZV09XCInMTQnXCI+PC9hcC1zeW1ib2w+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJoZWFkZXItZmlsbGVyXCIgKm5nSWY9XCJzaG93UmFuZ2VzICYmIG1vZGUgPT09IERhdGVwaWNrZXJNb2RlLlJhbmdlXCI+XG4gICAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICAgIDxuZ3gtZGF0ZXJhbmdlcGlja2VyLW1hdGVyaWFsXG4gICAgICAgICNkYXRlcGlja2VyUmVmXG4gICAgICAgIFtjbGFzcy5oaWRlLXJhbmdlc109XCIhc2hvd1Jhbmdlc1wiXG4gICAgICAgIFthbHdheXNTaG93Q2FsZW5kYXJzXT1cInRydWVcIlxuICAgICAgICBbYXV0b0FwcGx5XT1cInRydWVcIlxuICAgICAgICBbY3VzdG9tUmFuZ2VEaXJlY3Rpb25dPVwidHJ1ZVwiXG4gICAgICAgIFtpc0N1c3RvbURhdGVdPVwiJGFueShpc0N1c3RvbURhdGUpXCJcbiAgICAgICAgW2xvY2FsZV09XCJsb2NhbGVDb25maWdcIlxuICAgICAgICBbbWF4RGF0ZV09XCJtYXhEYXRlXCJcbiAgICAgICAgW21pbkRhdGVdPVwibWluRGF0ZVwiXG4gICAgICAgIFtyYW5nZXNdPVwic2hvd1JhbmdlcyAmJiBtb2RlID09PSBEYXRlcGlja2VyTW9kZS5SYW5nZSA/IHJhbmdlcyA6IG51bGxcIlxuICAgICAgICAoZGF0ZXNVcGRhdGVkKT1cIm9uRGF0ZXNVcGRhdGVkKCRldmVudClcIlxuICAgICAgICAoc3RhcnREYXRlQ2hhbmdlZCk9XCJvblN0YXJ0RGF0ZUNoYW5nZWQoJGV2ZW50KVwiPlxuICAgIDwvbmd4LWRhdGVyYW5nZXBpY2tlci1tYXRlcmlhbD5cbjwvZGl2PlxuIl19
|
|
259
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZXBpY2tlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9saWJzL3VpLWNvbXBvbmVudHMvZGF0ZXBpY2tlci9zcmMvZGF0ZXBpY2tlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi9saWJzL3VpLWNvbXBvbmVudHMvZGF0ZXBpY2tlci9zcmMvZGF0ZXBpY2tlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsd0JBQXdCLEVBQUUsWUFBWSxFQUFFLGFBQWEsRUFBaUIsTUFBTSx1QkFBdUIsQ0FBQztBQUM1RyxPQUFPLEVBQUMsSUFBSSxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFDckMsT0FBTyxFQUVILHVCQUF1QixFQUV2QixTQUFTLEVBQ1QsWUFBWSxFQUNaLEtBQUssRUFHTCxNQUFNLEVBQ04sU0FBUyxHQUNaLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBMkIsb0JBQW9CLEVBQUMsTUFBTSwwQ0FBMEMsQ0FBQztBQUN4RyxPQUFPLEtBQUssTUFBTSxPQUFPLENBQUM7QUFDMUIsT0FBTyxpQkFBaUIsQ0FBQztBQUN6QixPQUFPLGlCQUFpQixDQUFDO0FBQ3pCLE9BQU8saUJBQWlCLENBQUM7QUFDekIsT0FBTyxpQkFBaUIsQ0FBQztBQUN6QixPQUFPLGlCQUFpQixDQUFDO0FBQ3pCLE9BQU8sVUFBVSxNQUFNLHlCQUF5QixDQUFDOzs7O0FBRWpELE1BQU0sQ0FBTixJQUFZLGNBSVg7QUFKRCxXQUFZLGNBQWM7SUFDdEIsbUNBQWlCLENBQUE7SUFDakIsdUNBQXFCLENBQUE7SUFDckIsaUNBQWUsQ0FBQTtBQUNuQixDQUFDLEVBSlcsY0FBYyxLQUFkLGNBQWMsUUFJekI7QUFxQkQsSUFBSyxRQUdKO0FBSEQsV0FBSyxRQUFRO0lBQ1QseUJBQWEsQ0FBQTtJQUNiLDJCQUFlLENBQUE7QUFDbkIsQ0FBQyxFQUhJLFFBQVEsS0FBUixRQUFRLFFB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QkFBaUIsQ0FBQyxhQUFhLEVBQUUsQ0FBQztJQUMzQyxDQUFDO0lBRUQsUUFBUTtRQUNKLElBQUksQ0FBQyxLQUFLO1lBQ04sSUFBSSxDQUFDLFVBQVUsSUFBSSxJQUFJLENBQUMsSUFBSSxLQUFLLGNBQWMsQ0FBQyxLQUFLO2dCQUNqRCxDQUFDLENBQUMsSUFBSSxDQUFDLG1CQUFtQixHQUFHLElBQUksQ0FBQyxnQkFBZ0I7Z0JBQ2xELENBQUMsQ0FBQyxJQUFJLENBQUMsbUJBQW1CLENBQUM7SUFDdkMsQ0FBQzs7Z0hBMU5RLG1CQUFtQjtvR0FBbkIsbUJBQW1CLHloQkM5RGhDLHMzREE0Q0Esb3RZRGVjLHdCQUF3QixpS0FBRSxJQUFJLDRGQUFFLG9CQUFvQjsyRkFHckQsbUJBQW1CO2tCQVIvQixTQUFTO3NDQUNXLHVCQUF1QixDQUFDLE1BQU0sWUFDckMsZUFBZSxjQUViLElBQUksV0FDUCxDQUFDLHdCQUF3QixFQUFFLElBQUksRUFBRSxvQkFBb0IsQ0FBQztxSUFJbkMsYUFBYTtzQkFBeEMsU0FBUzt1QkFBQyxlQUFlO2dCQUVqQixjQUFjO3NCQUF0QixLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSztnQkFTRyxNQUFNO3NCQUFkLEtBQUs7Z0JBQ08sT0FBTztzQkFBbkIsS0FBSztnQkFPTyxPQUFPO3NCQUFuQixLQUFLO2dCQU9HLElBQUk7c0JBQVosS0FBSztnQkFDRyxZQUFZO3NCQUFwQixLQUFLO2dCQUNHLGFBQWE7c0JBQXJCLEtBQUs7Z0JBQ0csY0FBYztzQkFBdEIsS0FBSztnQkFDRyxVQUFVO3NCQUFsQixLQUFLO2dCQUVJLFlBQVk7c0JBQXJCLE1BQU07Z0JBQ0csY0FBYztzQkFBdkIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7QWdvcmFwdWxzZVVpU3ltYm9sTW9kdWxlLCBhcEFycm93TGVmdDEsIGFwQXJyb3dSaWdodDEsIFN5bWJvbFJlZ2lzdHJ5fSBmcm9tICdAYWdvcmFwdWxzZS91aS1zeW1ib2wnO1xuaW1wb3J0IHtOZ0lmfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtcbiAgICBBZnRlclZpZXdJbml0LFxuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICAgIENoYW5nZURldGVjdG9yUmVmLFxuICAgIENvbXBvbmVudCxcbiAgICBFdmVudEVtaXR0ZXIsXG4gICAgSW5wdXQsXG4gICAgT25DaGFuZ2VzLFxuICAgIE9uSW5pdCxcbiAgICBPdXRwdXQsXG4gICAgVmlld0NoaWxkLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7RGF0ZXJhbmdlcGlja2VyQ29tcG9uZW50LCBOZ3hEYXRlcmFuZ2VwaWNrZXJNZH0gZnJvbSAnQGFnb3JhcHVsc2Uvbmd4LWRhdGVyYW5nZXBpY2tlci1tYXRlcmlhbCc7XG5pbXBvcnQgZGF5anMgZnJvbSAnZGF5anMnO1xuaW1wb3J0ICdkYXlqcy9sb2NhbGUvZGUnO1xuaW1wb3J0ICdkYXlqcy9sb2NhbGUvZW4nO1xuaW1wb3J0ICdkYXlqcy9sb2NhbGUvZXMnO1xuaW1wb3J0ICdkYXlqcy9sb2NhbGUvZnInO1xuaW1wb3J0ICdkYXlqcy9sb2NhbGUvcHQnO1xuaW1wb3J0IGxvY2FsZURhdGEgZnJvbSAnZGF5anMvcGx1Z2luL2xvY2FsZURhdGEnO1xuXG5leHBvcnQgZW51bSBEYXRlcGlja2VyTW9kZSB7XG4gICAgU2luZ2xlID0gJ1NpbmdsZScsXG4gICAgTXVsdGlwbGUgPSAnTXVsdGlwbGUnLFxuICAgIFJhbmdlID0gJ1JhbmdlJyxcbn1cblxuZXhwb3J0IGludGVyZmFjZSBQZXJpb2Qge1xuICAgIHN0YXJ0RGF0ZT86IGRheWpzLkRheWpzO1xuICAgIGVuZERhdGU/OiBkYXlqcy5EYXlqcztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBTdGFydERhdGUge1xuICAgIHN0YXJ0RGF0ZTogZGF5anMuRGF5anM7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSTE4bkRhdGVQaWNrZXIge1xuICAgIHJhbmdlczoge1xuICAgICAgICB5ZXN0ZXJkYXk6IHN0cmluZztcbiAgICAgICAgbGFzdFdlZWs6IHN0cmluZztcbiAgICAgICAgbGFzdDMwRGF5czogc3RyaW5nO1xuICAgICAgICBsYXN0TW9udGg6IHN0cmluZztcbiAgICAgICAgdGhpc01vbnRoOiBzdHJpbmc7XG4gICAgfVxufVxuXG5lbnVtIFNpZGVFbnVtIHtcbiAgICBsZWZ0ID0gXCJsZWZ0XCIsXG4gICAgcmlnaHQgPSBcInJpZ2h0XCJcbn1cblxuLy8gVE9ETyBmaXggY3NzIGZvciByYW5nZSBtb2RlIChtb3JlIGxhdGVyYWwgcGFkZGluZylcbkBDb21wb25lbnQoe1xuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIHNlbGVjdG9yOiAnYXAtZGF0ZXBpY2tlcicsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2RhdGVwaWNrZXIuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgaW1wb3J0czogW0Fnb3JhcHVsc2VVaVN5bWJvbE1vZHVsZSwgTmdJZiwgTmd4RGF0ZXJhbmdlcGlja2VyTWRdLFxuICAgIHN0eWxlVXJsczogWycuL2RhdGVwaWNrZXIuY29tcG9uZW50LnNjc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgRGF0ZXBpY2tlckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25DaGFuZ2VzLCBBZnRlclZpZXdJbml0IHtcbiAgICBAVmlld0NoaWxkKCdkYXRlcGlja2VyUmVmJykgZGF0ZXBpY2tlclJlZjogRGF0ZXJhbmdlcGlja2VyQ29tcG9uZW50O1xuXG4gICAgQElucHV0KCkgZmlyc3REYXlPZldlZWs6IHN0cmluZztcbiAgICBASW5wdXQoKSBpMThuOiBJMThuRGF0ZVBpY2tlciA9IHtcbiAgICAgICAgcmFuZ2VzOiB7XG4gICAgICAgICAgICB5ZXN0ZXJkYXk6ICdZZXN0ZXJkYXknLFxuICAgICAgICAgICAgbGFzdFdlZWs6ICdMYXN0IFdlZWsnLFxuICAgICAgICAgICAgbGFzdDMwRGF5czogJ0xhc3QgMzAgZGF5cycsXG4gICAgICAgICAgICBsYXN0TW9udGg6ICdQcmV2aW91cyBtb250aCcsXG4gICAgICAgICAgICB0aGlzTW9udGg6ICdUaGlzIE1vbnRoJyxcbiAgICAgICAgfSxcbiAgICB9O1xuICAgIEBJbnB1dCgpIGxvY2FsZTtcbiAgICBASW5wdXQoKSBzZXQgbWF4RGF0ZShtYXhEYXRlOiBkYXlqcy5EYXlqcykge1xuICAgICAgICBpZiAobWF4RGF0ZSkge1xuICAgICAgICAgICAgdGhpcy5tYXhEYXRlU3RyID0gbWF4RGF0ZS50b0lTT1N0cmluZygpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5tYXhEYXRlU3RyID0gbnVsbDtcbiAgICAgICAgfSAgICAgICAgIFxuICAgIH1cbiAgICBASW5wdXQoKSBzZXQgbWluRGF0ZShtaW5EYXRlOiBkYXlqcy5EYXlqcykge1xuICAgICAgICBpZiAobWluRGF0ZSkge1xuICAgICAgICAgICAgdGhpcy5taW5EYXRlU3RyID0gbWluRGF0ZS50b0lTT1N0cmluZygpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5taW5EYXRlU3RyID0gbnVsbDtcbiAgICAgICAgfSAgICAgICAgIFxuICAgIH1cbiAgICBASW5wdXQoKSBtb2RlOiBEYXRlcGlja2VyTW9kZTtcbiAgICBASW5wdXQoKSBzZWxlY3RlZERhdGU6IGRheWpzLkRheWpzO1xuICAgIEBJbnB1dCgpIHNlbGVjdGVkRGF0ZXM6IGRheWpzLkRheWpzW10gPSBbXTtcbiAgICBASW5wdXQoKSBzZWxlY3RlZFBlcmlvZDogUGVyaW9kID0ge3N0YXJ0RGF0ZTogbnVsbCwgZW5kRGF0ZTogbnVsbH07XG4gICAgQElucHV0KCkgc2hvd1JhbmdlczogYm9vbGVhbjtcblxuICAgIEBPdXRwdXQoKSBkYXRlU2VsZWN0ZWQgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcbiAgICBAT3V0cHV0KCkgcGVyaW9kU2VsZWN0ZWQgPSBuZXcgRXZlbnRFbWl0dGVyPFBlcmlvZD4oKTtcblxuICAgIERhdGVwaWNrZXJNb2RlID0gRGF0ZXBpY2tlck1vZGU7XG4gICAgZG91YmxlQ2FsZW5kYXJXaWR0aCA9IDUyODsgLy8gMjMxcHggY2FsZW5kYXIgdGFibGUgKiAyID0gNDYyICgrIDE2cHggeC1wYWRkaW5nICogNCA9IDY0KVxuICAgIGxvY2FsZUNvbmZpZzoge1xuICAgICAgICBjdXN0b21SYW5nZUxhYmVsOiBzdHJpbmc7XG4gICAgICAgIGRheXNPZldlZWs6IHN0cmluZ1tdO1xuICAgICAgICBtb250aE5hbWVzOiBzdHJpbmdbXTtcbiAgICAgICAgZmlyc3REYXk6IG51bWJlcjtcbiAgICB9O1xuICAgIHJhbmdlczoge1twZXJpb2Q6IHN0cmluZ106IFtkYXlqcy5EYXlqcywgZGF5anMuRGF5anNdfSA9IHt9O1xuICAgIHJhbmdlUGlja2VyV2lkdGggPSAxNTA7XG4gICAgd2lkdGg6IG51bWJlcjtcbiAgICBwYWdlU2V0ID0gZmFsc2U7XG4gICAgbWF4RGF0ZVN0cjogc3RyaW5nO1xuICAgIG1pbkRhdGVTdHI6IHN0cmluZztcbiAgICBjb25zdHJ1Y3RvcihwdWJsaWMgY2hhbmdlRGV0ZWN0b3JSZWY6IENoYW5nZURldGVjdG9yUmVmLFxuICAgICAgICAgICAgICAgIHB1YmxpYyBzeW1ib2xSZWdpc3RyeTogU3ltYm9sUmVnaXN0cnkpIHtcbiAgICAgICAgdGhpcy5zeW1ib2xSZWdpc3RyeS5yZWdpc3RlclN5bWJvbHMoW1xuICAgICAgICAgICAgYXBBcnJvd0xlZnQxLFxuICAgICAgICAgICAgYXBBcnJvd1JpZ2h0MVxuICAgICAgICBdKTtcbiAgICB9XG5cbiAgICBuZ09uSW5pdCgpIHtcbiAgICAgICAgZGF5anMuZXh0ZW5kKGxvY2FsZURhdGEpO1xuICAgICAgICB0aGlzLmluaXRSYW5nZXMoKTtcbiAgICAgICAgdGhpcy5pbml0RGF0ZVBpY2tlckxvY2FsZSgpO1xuICAgIH1cblxuICAgIG5nT25DaGFuZ2VzKGNoYW5nZXMpIHtcbiAgICAgICAgdGhpcy5zZXRXaWR0aCgpO1xuICAgICAgICBpZiAodGhpcy5kYXRlcGlja2VyUmVmKSB7XG4gICAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLmRhdGVwaWNrZXJSZWYudXBkYXRlQ2FsZW5kYXJzKCk7XG4gICAgICAgICAgICAgICAgdGhpcy5jaGFuZ2VEZXRlY3RvclJlZi5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgICAgICAgICB9LCAxMDApO1xuICAgICAgICB9XG4gICAgICAgIGlmIChjaGFuZ2VzLnNlbGVjdGVkUGVyaW9kPy5jdXJyZW50VmFsdWUgJiYgdGhpcy5kYXRlcGlja2VyUmVmKSB7XG4gICAgICAgICAgICBpZiAodGhpcy5zZWxlY3RlZFBlcmlvZC5zdGFydERhdGUgPT09IG51bGwgJiYgdGhpcy5zZWxlY3RlZFBlcmlvZC5lbmREYXRlID09PSBudWxsKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5kYXRlcGlja2VyUmVmLmNsZWFyKCk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHRoaXMuZGF0ZXBpY2tlclJlZi5zZXRTdGFydERhdGUodGhpcy5zZWxlY3RlZFBlcmlvZC5zdGFydERhdGUpO1xuICAgICAgICAgICAgICAgIHRoaXMuZGF0ZXBpY2tlclJlZi5zZXRFbmREYXRlKHRoaXMuc2VsZWN0ZWRQZXJpb2QuZW5kRGF0ZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGNoYW5nZXMubW9kZT8uY3VycmVudFZhbHVlID09PSBEYXRlcGlja2VyTW9kZS5TaW5nbGUgJiYgdGhpcy5kYXRlcGlja2VyUmVmKSB7XG4gICAgICAgICAgICB0aGlzLnNldENhbGVuZGFyQ3VycmVudFBhZ2UoKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLmRhdGVwaWNrZXJSZWYpIHtcbiAgICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuZGF0ZXBpY2tlclJlZi51cGRhdGVDYWxlbmRhcnMoKTtcbiAgICAgICAgICAgICAgICB0aGlzLnNldENhbGVuZGFyQ3VycmVudFBhZ2UoKTtcbiAgICAgICAgICAgIH0sIDEwMCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBpbml0RGF0ZVBpY2tlckxvY2FsZSgpIHtcbiAgICAgICAgaWYgKHRoaXMubG9jYWxlKSB7XG4gICAgICAgICAgICBkYXlqcy5sb2NhbGUodGhpcy5sb2NhbGUpO1xuICAgICAgICB9XG4gICAgICAgIGxldCBmaXJzdERheU9mV2Vla0luZGV4OiBudW1iZXI7XG4gICAgICAgIGlmICh0aGlzLmZpcnN0RGF5T2ZXZWVrID09PSAnc3VuZGF5Jykge1xuICAgICAgICAgICAgZmlyc3REYXlPZldlZWtJbmRleCA9IDA7XG4gICAgICAgIH0gZWxzZSBpZiAodGhpcy5maXJzdERheU9mV2VlayA9PT0gJ21vbmRheScpIHtcbiAgICAgICAgICAgIGZpcnN0RGF5T2ZXZWVrSW5kZXggPSAxO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgZmlyc3REYXlPZldlZWtJbmRleCA9IGRheWpzLmxvY2FsZURhdGEoKS5maXJzdERheU9mV2VlaygpO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMubG9jYWxlQ29uZmlnID0ge1xuICAgICAgICAgICAgY3VzdG9tUmFuZ2VMYWJlbDogJ2N1c3RvbScsXG4gICAgICAgICAgICBkYXlzT2ZXZWVrOiBkYXlqcy53ZWVrZGF5c01pbigpLFxuICAgICAgICAgICAgbW9udGhOYW1lczogZGF5anMubW9udGhzKCksXG4gICAgICAgICAgICBmaXJzdERheTogZmlyc3REYXlPZldlZWtJbmRleCxcbiAgICAgICAgfTtcbiAgICB9XG5cbiAgICBpbml0UmFuZ2VzKCkge1xuICAgICAgICB0aGlzLnJhbmdlc1t0aGlzLmkxOG4ucmFuZ2VzLnllc3RlcmRheV0gPSBbZGF5anMoKS5zdWJ0cmFjdCgxLCAnZGF5cycpLCBkYXlqcygpLnN1YnRyYWN0KDEsICdkYXlzJyldO1xuICAgICAgICB0aGlzLnJhbmdlc1t0aGlzLmkxOG4ucmFuZ2VzLmxhc3RXZWVrXSA9IFtkYXlqcygpLnN1YnRyYWN0KDcsICdkYXlzJyksIGRheWpzKCkuc3VidHJhY3QoMSwgJ2RheXMnKV07XG4gICAgICAgIHRoaXMucmFuZ2VzW3RoaXMuaTE4bi5yYW5nZXMubGFzdDMwRGF5c10gPSBbZGF5anMoKS5zdWJ0cmFjdCgzMCwgJ2RheXMnKSwgZGF5anMoKS5zdWJ0cmFjdCgxLCAnZGF5cycpXTtcbiAgICAgICAgdGhpcy5yYW5nZXNbdGhpcy5pMThuLnJhbmdlcy5sYXN0TW9udGhdID0gW1xuICAgICAgICAgICAgZGF5anMoKS5zdWJ0cmFjdCgxLCAnbW9udGgnKS5zdGFydE9mKCdtb250aCcpLFxuICAgICAgICAgICAgZGF5anMoKS5zdWJ0cmFjdCgxLCAnbW9udGgnKS5lbmRPZignbW9udGgnKSxcbiAgICAgICAgXTtcbiAgICAgICAgdGhpcy5yYW5nZXNbdGhpcy5pMThuLnJhbmdlcy50aGlzTW9udGhdID0gW2RheWpzKCkuc3RhcnRPZignbW9udGgnKSwgZGF5anMoKS5lbmRPZignbW9udGgnKV07XG4gICAgfVxuXG4gICAgaXNDdXN0b21EYXRlID0gKGRhdGU6IGFueSkgPT4ge1xuICAgICAgICBjb25zdCBjbGFzc2VzOiBzdHJpbmdbXSA9IFtdO1xuICAgICAgICBpZiAodGhpcy5tb2RlID09PSBEYXRlcGlja2VyTW9kZS5NdWx0aXBsZSkge1xuICAgICAgICAgICAgY2xhc3Nlcy5wdXNoKHRoaXMuaXNTZWxlY3RlZChkYXRlKSA/ICdhY3RpdmUnIDogJ2ZvcmNlLWluYWN0aXZlJyk7XG4gICAgICAgIH0gZWxzZSBpZiAodGhpcy5tb2RlID09PSBEYXRlcGlja2VyTW9kZS5TaW5nbGUpIHtcbiAgICAgICAgICAgIGNsYXNzZXMucHVzaCh0aGlzLnNlbGVjdGVkRGF0ZSAmJiB0aGlzLnNlbGVjdGVkRGF0ZS5pc1NhbWUoZGF0ZSwgJ2RheScpID8gJ2FjdGl2ZScgOiAnZm9yY2UtaW5hY3RpdmUnKTtcbiAgICAgICAgfSBlbHNlIGlmICh0aGlzLm1vZGUgPT09IERhdGVwaWNrZXJNb2RlLlJhbmdlKSB7XG4gICAgICAgICAgICBjbGFzc2VzLnB1c2goJ3JhbmdlLXBpY2tlci1tb2RlJyk7XG4gICAgICAgICAgICAvLyBXb3JrYXJvdW5kIHRvIGZpeCB0aGUgYXV0by1hY3RpdmUgdG9kYXkgZGF0ZSB3aGVuIG5vIGRhdGUgaXMgc2VsZWN0ZWRcbiAgICAgICAgICAgIGlmIChkYXlqcygpLmlzU2FtZShkYXRlLCAnZGF5JykgJiYgIXRoaXMuc2VsZWN0ZWRQZXJpb2Q/LnN0YXJ0RGF0ZSAmJiAhdGhpcy5zZWxlY3RlZFBlcmlvZD8uZW5kRGF0ZSkge1xuICAgICAgICAgICAgICAgIGNsYXNzZXMucHVzaCgnZm9yY2UtaW5hY3RpdmUnKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gY2xhc3NlcztcbiAgICB9O1xuXG4gICAgcHJpdmF0ZSBpc1NlbGVjdGVkKGRhdGU6IGFueSkge1xuICAgICAgICByZXR1cm4gdGhpcy5zZWxlY3RlZERhdGVzICYmIHRoaXMuc2VsZWN0ZWREYXRlcy5zb21lKHNlbGVjdGVkRGF0ZSA9PiBzZWxlY3RlZERhdGUuaXNTYW1lKGRhdGUsICdkYXknKSk7XG4gICAgfVxuXG4gICAgb25TdGFydERhdGVDaGFuZ2VkKGV2ZW50OiBTdGFydERhdGUpIHtcbiAgICAgICAgY29uc3QgZGF0ZSA9IGV2ZW50LnN0YXJ0RGF0ZS50b0RhdGUoKTtcbiAgICAgICAgY29uc3QgZGF0ZUxvY2FsVGltZSA9IG5ldyBEYXRlKGRhdGUuZ2V0VGltZSgpICsgZGF0ZS5nZXRUaW1lem9uZU9mZnNldCgpICogNjAwMDApO1xuICAgICAgICBjb25zdCBkYXlKc0RhdGUgPSBkYXlqcyhkYXRlTG9jYWxUaW1lKTtcbiAgICAgICAgaWYgKHRoaXMubW9kZSAhPT0gRGF0ZXBpY2tlck1vZGUuUmFuZ2UpIHtcbiAgICAgICAgICAgIHRoaXMuc2VsZWN0ZWREYXRlID0gZGF5SnNEYXRlO1xuICAgICAgICAgICAgdGhpcy5kYXRlcGlja2VyUmVmLnNldEVuZERhdGUoZGF5SnNEYXRlKTtcbiAgICAgICAgICAgIGlmICh0aGlzLnBhZ2VTZXQpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnBhZ2VTZXQgPSBmYWxzZTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgdGhpcy5kYXRlU2VsZWN0ZWQuZW1pdChkYXlKc0RhdGUuY2xvbmUoKSk7XG4gICAgICAgICAgICAgICAgaWYgKHRoaXMubW9kZSA9PT0gRGF0ZXBpY2tlck1vZGUuTXVsdGlwbGUpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5zZWxlY3RlZERhdGVzLnB1c2goZGF5SnNEYXRlKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAodGhpcy5kYXRlcGlja2VyUmVmKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5kYXRlcGlja2VyUmVmLnVwZGF0ZUNhbGVuZGFycygpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgb25EYXRlc1VwZGF0ZWQoZXZlbnQ6IFBlcmlvZCkge1xuICAgICAgICBpZiAodGhpcy5tb2RlID09PSBEYXRlcGlja2VyTW9kZS5SYW5nZSkge1xuICAgICAgICAgICAgY29uc3Qgc3RhcnREYXRlID0gZXZlbnQuc3RhcnREYXRlPy50b0RhdGUoKTtcbiAgICAgICAgICAgIGNvbnN0IHN0YXJ0RGF0ZUxvY2FsVGltZSA9IG5ldyBEYXRlKHN0YXJ0RGF0ZS5nZXRUaW1lKCkgKyBzdGFydERhdGUuZ2V0VGltZXpvbmVPZmZzZXQoKSAqIDYwMDAwKTtcbiAgICAgICAgICAgIGNvbnN0IGVuZERhdGUgPSBldmVudC5lbmREYXRlPy50b0RhdGUoKTtcbiAgICAgICAgICAgIGNvbnN0IGVuZERhdGVMb2NhbFRpbWUgPSBuZXcgRGF0ZShlbmREYXRlLmdldFRpbWUoKSArIGVuZERhdGUuZ2V0VGltZXpvbmVPZmZzZXQoKSAqIDYwMDAwKTtcbiAgICAgICAgICAgIHRoaXMucGVyaW9kU2VsZWN0ZWQuZW1pdCh7XG4gICAgICAgICAgICAgICAgc3RhcnREYXRlOiBkYXlqcyhzdGFydERhdGVMb2NhbFRpbWUpLnN0YXJ0T2YoJ2RheScpLFxuICAgICAgICAgICAgICAgIGVuZERhdGU6IGRheWpzKGVuZERhdGVMb2NhbFRpbWUpLmVuZE9mKCdkYXknKSxcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICAgIGlmICh0aGlzLmRhdGVwaWNrZXJSZWYpIHtcbiAgICAgICAgICAgIHRoaXMuZGF0ZXBpY2tlclJlZi51cGRhdGVDYWxlbmRhcnMoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG9uTmV4dE1vbnRoKCkge1xuICAgICAgICB0aGlzLmRhdGVwaWNrZXJSZWYubGVmdENhbGVuZGFyLm1vbnRoID0gdGhpcy5kYXRlcGlja2VyUmVmLmxlZnRDYWxlbmRhci5tb250aC5hZGQoMSwgJ21vbnRocycpLmNsb25lKCk7XG4gICAgICAgIHRoaXMuZGF0ZXBpY2tlclJlZi5yaWdodENhbGVuZGFyLm1vbnRoID0gdGhpcy5kYXRlcGlja2VyUmVmLnJpZ2h0Q2FsZW5kYXIubW9udGguYWRkKDEsICdtb250aHMnKS5jbG9uZSgpO1xuICAgICAgICB0aGlzLmRhdGVwaWNrZXJSZWYuY2xpY2tOZXh0KFNpZGVFbnVtLmxlZnQpO1xuICAgICAgICB0aGlzLmRhdGVwaWNrZXJSZWYuY2xpY2tOZXh0KFNpZGVFbnVtLnJpZ2h0KTtcbiAgICB9XG5cbiAgICBvblByZXZpb3VzTW9udGgoKSB7XG4gICAgICAgIHRoaXMuZGF0ZXBpY2tlclJlZi5sZWZ0Q2FsZW5kYXIubW9udGggPSB0aGlzLmRhdGVwaWNrZXJSZWYubGVmdENhbGVuZGFyLm1vbnRoLnN1YnRyYWN0KDEsICdtb250aHMnKS5jbG9uZSgpO1xuICAgICAgICB0aGlzLmRhdGVwaWNrZXJSZWYucmlnaHRDYWxlbmRhci5tb250aCA9IHRoaXMuZGF0ZXBpY2tlclJlZi5yaWdodENhbGVuZGFyLm1vbnRoLnN1YnRyYWN0KDEsICdtb250aHMnKS5jbG9uZSgpO1xuICAgICAgICB0aGlzLmRhdGVwaWNrZXJSZWYuY2xpY2tQcmV2KFNpZGVFbnVtLmxlZnQpO1xuICAgICAgICB0aGlzLmRhdGVwaWNrZXJSZWYuY2xpY2tQcmV2KFNpZGVFbnVtLnJpZ2h0KTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBVZ2x5IGhhY2sgdXNlZCBoZXJlIHRvIG9wZW4gdGhlIGNhbGVuZGFyIG9uIHRoZSByaWdodCBkYXkgaWYgdGhleSBhcmUgc2VsZWN0ZWQgZGF0ZXNcbiAgICAgKiAgICAgICogaHR0cHM6Ly9naXRodWIuY29tL2ZldHJhcmlqL25neC1kYXRlcmFuZ2VwaWNrZXItbWF0ZXJpYWwvaXNzdWVzLzEzOVxuICAgICAqL1xuICAgIHNldENhbGVuZGFyQ3VycmVudFBhZ2UoKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IHNlbGVjdGVkRmlyc3REYXRlID0gdGhpcy5zZWxlY3RlZERhdGVzLmxlbmd0aCA+IDAgPyB0aGlzLnNlbGVjdGVkRGF0ZXNbMF0gOiB0aGlzLnNlbGVjdGVkRGF0ZTtcbiAgICAgICAgaWYgKHNlbGVjdGVkRmlyc3REYXRlICYmIHNlbGVjdGVkRmlyc3REYXRlLmlzVmFsaWQoKSAmJiB0aGlzLm1vZGUgIT09IERhdGVwaWNrZXJNb2RlLlJhbmdlKSB7XG4gICAgICAgICAgICBjb25zdCBlbmREYXRlID0gc2VsZWN0ZWRGaXJzdERhdGUuY2xvbmUoKTtcbiAgICAgICAgICAgIGVuZERhdGUuYWRkKDEsICdtb250aCcpO1xuICAgICAgICAgICAgdGhpcy5wYWdlU2V0ID0gdHJ1ZTtcbiAgICAgICAgICAgIHRoaXMuZGF0ZXBpY2tlclJlZi5zZXRTdGFydERhdGUoc2VsZWN0ZWRGaXJzdERhdGUpO1xuICAgICAgICAgICAgdGhpcy5kYXRlcGlja2VyUmVmLnNldEVuZERhdGUoZW5kRGF0ZSk7XG4gICAgICAgICAgICB0aGlzLmRhdGVwaWNrZXJSZWYudXBkYXRlVmlldygpO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuY2hhbmdlRGV0ZWN0b3JSZWYuZGV0ZWN0Q2hhbmdlcygpO1xuICAgIH1cblxuICAgIHNldFdpZHRoKCkge1xuICAgICAgICB0aGlzLndpZHRoID1cbiAgICAgICAgICAgIHRoaXMuc2hvd1JhbmdlcyAmJiB0aGlzLm1vZGUgPT09IERhdGVwaWNrZXJNb2RlLlJhbmdlXG4gICAgICAgICAgICAgICAgPyB0aGlzLmRvdWJsZUNhbGVuZGFyV2lkdGggKyB0aGlzLnJhbmdlUGlja2VyV2lkdGhcbiAgICAgICAgICAgICAgICA6IHRoaXMuZG91YmxlQ2FsZW5kYXJXaWR0aDtcbiAgICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwiY3VzdG9tLWNhbGVuZGFyXCIgW3N0eWxlLndpZHRoXT1cIndpZHRoICsgJ3B4J1wiPlxuICAgIDxkaXYgY2xhc3M9XCJjdXN0b20taGVhZGVyXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJtb250aC1oZWFkZXJcIlxuICAgICAgICAgICAgICpuZ0lmPVwidGhpcy5kYXRlcGlja2VyUmVmLmxlZnRDYWxlbmRhci5tb250aFwiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1vbnRoLWFycm93LWJ1dHRvblwiIChjbGljayk9XCJvblByZXZpb3VzTW9udGgoKVwiPlxuICAgICAgICAgICAgICAgIDxhcC1zeW1ib2xcbiAgICAgICAgICAgICAgICAgICAgW3N5bWJvbElkXT1cIidhcnJvdy1sZWZ0LTEnXCJcbiAgICAgICAgICAgICAgICAgICAgW2NvbG9yXT1cIicjODU4RkExJ1wiXG4gICAgICAgICAgICAgICAgICAgIFtzaXplXT1cIicxNCdcIj48L2FwLXN5bWJvbD5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1vbnRoLWxhYmVsXCI+XG4gICAgICAgICAgICAgICAge3sgdGhpcy5kYXRlcGlja2VyUmVmLmxlZnRDYWxlbmRhci5tb250aC5sb2NhbGUobG9jYWxlKS5mb3JtYXQoJ01NTU0gWVlZWScpIH19XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJtb250aC1oZWFkZXJcIlxuICAgICAgICAgICAgICpuZ0lmPVwidGhpcy5kYXRlcGlja2VyUmVmLnJpZ2h0Q2FsZW5kYXIubW9udGhcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtb250aC1sYWJlbFwiPlxuICAgICAgICAgICAgICAgIHt7IHRoaXMuZGF0ZXBpY2tlclJlZi5yaWdodENhbGVuZGFyLm1vbnRoLmxvY2FsZShsb2NhbGUpLmZvcm1hdCgnTU1NTSBZWVlZJykgfX1cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1vbnRoLWFycm93LWJ1dHRvblwiIChjbGljayk9XCJvbk5leHRNb250aCgpXCI+XG4gICAgICAgICAgICAgICAgPGFwLXN5bWJvbFxuICAgICAgICAgICAgICAgICAgICBbc3ltYm9sSWRdPVwiJ2Fycm93LXJpZ2h0LTEnXCJcbiAgICAgICAgICAgICAgICAgICAgW2NvbG9yXT1cIicjODU4RkExJ1wiXG4gICAgICAgICAgICAgICAgICAgIFtzaXplXT1cIicxNCdcIj48L2FwLXN5bWJvbD5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImhlYWRlci1maWxsZXJcIiAqbmdJZj1cInNob3dSYW5nZXMgJiYgbW9kZSA9PT0gRGF0ZXBpY2tlck1vZGUuUmFuZ2VcIj5cbiAgICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gICAgPG5neC1kYXRlcmFuZ2VwaWNrZXItbWF0ZXJpYWxcbiAgICAgICAgI2RhdGVwaWNrZXJSZWZcbiAgICAgICAgW2NsYXNzLmhpZGUtcmFuZ2VzXT1cIiFzaG93UmFuZ2VzXCJcbiAgICAgICAgW2Fsd2F5c1Nob3dDYWxlbmRhcnNdPVwidHJ1ZVwiXG4gICAgICAgIFthdXRvQXBwbHldPVwidHJ1ZVwiXG4gICAgICAgIFtjdXN0b21SYW5nZURpcmVjdGlvbl09XCJ0cnVlXCJcbiAgICAgICAgW2lzQ3VzdG9tRGF0ZV09XCIkYW55KGlzQ3VzdG9tRGF0ZSlcIlxuICAgICAgICBbbG9jYWxlXT1cImxvY2FsZUNvbmZpZ1wiXG4gICAgICAgIFttYXhEYXRlXT1cIm1heERhdGVTdHJcIlxuICAgICAgICBbbWluRGF0ZV09XCJtaW5EYXRlU3RyXCJcbiAgICAgICAgW3Jhbmdlc109XCJzaG93UmFuZ2VzICYmIG1vZGUgPT09IERhdGVwaWNrZXJNb2RlLlJhbmdlID8gcmFuZ2VzIDogbnVsbFwiXG4gICAgICAgIChkYXRlc1VwZGF0ZWQpPVwib25EYXRlc1VwZGF0ZWQoJGV2ZW50KVwiXG4gICAgICAgIChzdGFydERhdGVDaGFuZ2VkKT1cIm9uU3RhcnREYXRlQ2hhbmdlZCgkZXZlbnQpXCI+XG4gICAgPC9uZ3gtZGF0ZXJhbmdlcGlja2VyLW1hdGVyaWFsPlxuPC9kaXY+XG4iXX0=
|