@agorapulse/ui-components 14.1.7 → 14.1.9
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-14.1.9.tgz +0 -0
- package/datepicker/datepicker.component.d.ts +3 -1
- package/esm2020/datepicker/datepicker.component.mjs +10 -5
- package/esm2020/infobox/infobox.component.mjs +12 -5
- package/esm2020/labels/label.component.mjs +9 -5
- package/esm2020/labels-selector/labels-selector.component.mjs +9 -5
- package/esm2020/media-display-overlay/media-display-overlay-dialog.component.mjs +11 -5
- package/esm2020/modal/modal.component.mjs +9 -5
- package/esm2020/neo-datepicker/neo-datepicker.component.mjs +58 -24
- package/esm2020/paginator/paginator.component.mjs +10 -5
- package/esm2020/password-input/password-input.component.mjs +10 -5
- package/esm2020/snackbar/snackbar.component.mjs +9 -5
- package/esm2020/snackbars-thread/component/snackbars-thread.component.mjs +13 -5
- package/fesm2015/agorapulse-ui-components-datepicker.mjs +9 -4
- package/fesm2015/agorapulse-ui-components-datepicker.mjs.map +1 -1
- package/fesm2015/agorapulse-ui-components-infobox.mjs +11 -4
- package/fesm2015/agorapulse-ui-components-infobox.mjs.map +1 -1
- package/fesm2015/agorapulse-ui-components-labels-selector.mjs +8 -4
- package/fesm2015/agorapulse-ui-components-labels-selector.mjs.map +1 -1
- package/fesm2015/agorapulse-ui-components-labels.mjs +8 -4
- package/fesm2015/agorapulse-ui-components-labels.mjs.map +1 -1
- package/fesm2015/agorapulse-ui-components-media-display-overlay.mjs +10 -4
- package/fesm2015/agorapulse-ui-components-media-display-overlay.mjs.map +1 -1
- package/fesm2015/agorapulse-ui-components-modal.mjs +8 -4
- package/fesm2015/agorapulse-ui-components-modal.mjs.map +1 -1
- package/fesm2015/agorapulse-ui-components-neo-datepicker.mjs +57 -23
- package/fesm2015/agorapulse-ui-components-neo-datepicker.mjs.map +1 -1
- package/fesm2015/agorapulse-ui-components-paginator.mjs +9 -4
- package/fesm2015/agorapulse-ui-components-paginator.mjs.map +1 -1
- package/fesm2015/agorapulse-ui-components-password-input.mjs +9 -4
- package/fesm2015/agorapulse-ui-components-password-input.mjs.map +1 -1
- package/fesm2015/agorapulse-ui-components-snackbar.mjs +8 -4
- package/fesm2015/agorapulse-ui-components-snackbar.mjs.map +1 -1
- package/fesm2015/agorapulse-ui-components-snackbars-thread.mjs +12 -4
- package/fesm2015/agorapulse-ui-components-snackbars-thread.mjs.map +1 -1
- package/fesm2020/agorapulse-ui-components-datepicker.mjs +9 -4
- package/fesm2020/agorapulse-ui-components-datepicker.mjs.map +1 -1
- package/fesm2020/agorapulse-ui-components-infobox.mjs +11 -4
- package/fesm2020/agorapulse-ui-components-infobox.mjs.map +1 -1
- package/fesm2020/agorapulse-ui-components-labels-selector.mjs +8 -4
- package/fesm2020/agorapulse-ui-components-labels-selector.mjs.map +1 -1
- package/fesm2020/agorapulse-ui-components-labels.mjs +8 -4
- package/fesm2020/agorapulse-ui-components-labels.mjs.map +1 -1
- package/fesm2020/agorapulse-ui-components-media-display-overlay.mjs +10 -4
- package/fesm2020/agorapulse-ui-components-media-display-overlay.mjs.map +1 -1
- package/fesm2020/agorapulse-ui-components-modal.mjs +8 -4
- package/fesm2020/agorapulse-ui-components-modal.mjs.map +1 -1
- package/fesm2020/agorapulse-ui-components-neo-datepicker.mjs +57 -23
- package/fesm2020/agorapulse-ui-components-neo-datepicker.mjs.map +1 -1
- package/fesm2020/agorapulse-ui-components-paginator.mjs +9 -4
- package/fesm2020/agorapulse-ui-components-paginator.mjs.map +1 -1
- package/fesm2020/agorapulse-ui-components-password-input.mjs +9 -4
- package/fesm2020/agorapulse-ui-components-password-input.mjs.map +1 -1
- package/fesm2020/agorapulse-ui-components-snackbar.mjs +8 -4
- package/fesm2020/agorapulse-ui-components-snackbar.mjs.map +1 -1
- package/fesm2020/agorapulse-ui-components-snackbars-thread.mjs +12 -4
- package/fesm2020/agorapulse-ui-components-snackbars-thread.mjs.map +1 -1
- package/infobox/infobox.component.d.ts +3 -1
- package/labels/label.component.d.ts +3 -1
- package/labels-selector/labels-selector.component.d.ts +3 -1
- package/media-display-overlay/media-display-overlay-dialog.component.d.ts +3 -1
- package/modal/modal.component.d.ts +3 -1
- package/neo-datepicker/neo-datepicker.component.d.ts +13 -4
- package/package.json +1 -1
- package/paginator/paginator.component.d.ts +3 -0
- package/password-input/password-input.component.d.ts +3 -0
- package/snackbar/snackbar.component.d.ts +3 -1
- package/snackbars-thread/component/snackbars-thread.component.d.ts +4 -2
- package/agorapulse-ui-components-14.1.7.tgz +0 -0
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { AgorapulseUiSymbolModule } from '@agorapulse/ui-symbol';
|
|
2
|
-
import { NgForOf, NgIf, NgTemplateOutlet, SlicePipe, TitleCasePipe } from '@angular/common';
|
|
1
|
+
import { AgorapulseUiSymbolModule, apArrowButtonLeft, apArrowButtonRight } from '@agorapulse/ui-symbol';
|
|
2
|
+
import { AsyncPipe, NgForOf, NgIf, NgTemplateOutlet, SlicePipe, TitleCasePipe } from '@angular/common';
|
|
3
3
|
import { ChangeDetectionStrategy, Component, EventEmitter, inject, Input, Output, } from '@angular/core';
|
|
4
4
|
import { MatButtonModule } from '@angular/material/button';
|
|
5
5
|
import dayjs from 'dayjs';
|
|
@@ -10,20 +10,43 @@ import 'dayjs/locale/fr';
|
|
|
10
10
|
import 'dayjs/locale/pt';
|
|
11
11
|
import localeData from 'dayjs/plugin/localeData';
|
|
12
12
|
import { DayDisabledPipe } from './day-disabled.pipe';
|
|
13
|
+
import { BehaviorSubject, filter } from "rxjs";
|
|
14
|
+
import { distinctUntilChanged } from "rxjs/operators";
|
|
13
15
|
import * as i0 from "@angular/core";
|
|
14
16
|
import * as i1 from "@agorapulse/ui-symbol";
|
|
15
17
|
import * as i2 from "@angular/material/button";
|
|
16
18
|
export class NeoDatepickerComponent {
|
|
17
|
-
constructor() {
|
|
19
|
+
constructor(symbolRegistry) {
|
|
20
|
+
this.symbolRegistry = symbolRegistry;
|
|
18
21
|
this.ONE_DAY = 60 * 60 * 24 * 1000;
|
|
19
22
|
this.TODAY_TIMESTAMP = Date.now() - (Date.now() % this.ONE_DAY) + new Date().getTimezoneOffset() * 1000 * 60;
|
|
23
|
+
this.previousMonthAvailable = true;
|
|
20
24
|
this._mode = 'single';
|
|
21
25
|
this.startsOn = 'monday';
|
|
22
26
|
this.datesSelected = new EventEmitter();
|
|
23
27
|
this.nextMonth = new EventEmitter();
|
|
24
28
|
this.previousMonth = new EventEmitter();
|
|
29
|
+
this.currentMonthDates$ = new BehaviorSubject([]);
|
|
25
30
|
this.selectedDaysTimestamp = new Set();
|
|
26
31
|
this.dayDisabledPipe = inject(DayDisabledPipe);
|
|
32
|
+
this.symbolRegistry.registerSymbols([
|
|
33
|
+
apArrowButtonLeft,
|
|
34
|
+
apArrowButtonRight
|
|
35
|
+
]);
|
|
36
|
+
}
|
|
37
|
+
set maxDate(maxDate) {
|
|
38
|
+
this._maxDate = maxDate;
|
|
39
|
+
this.maxDateTimestamp = maxDate.toDate().getTime();
|
|
40
|
+
}
|
|
41
|
+
get maxDate() {
|
|
42
|
+
return this._maxDate;
|
|
43
|
+
}
|
|
44
|
+
set minDate(minDate) {
|
|
45
|
+
this._minDate = minDate;
|
|
46
|
+
this.minDateTimestamp = minDate.toDate().getTime();
|
|
47
|
+
}
|
|
48
|
+
get minDate() {
|
|
49
|
+
return this._minDate;
|
|
27
50
|
}
|
|
28
51
|
set mode(mode) {
|
|
29
52
|
this._mode = mode;
|
|
@@ -55,12 +78,6 @@ export class NeoDatepickerComponent {
|
|
|
55
78
|
const date = new Date();
|
|
56
79
|
this.currentYear = date.getFullYear();
|
|
57
80
|
this.currentMonth = date.getMonth();
|
|
58
|
-
if (this.minDate) {
|
|
59
|
-
this.minDateTimestamp = this.minDate.toDate().getTime();
|
|
60
|
-
}
|
|
61
|
-
if (this.maxDate) {
|
|
62
|
-
this.maxDateTimestamp = this.maxDate.toDate().getTime();
|
|
63
|
-
}
|
|
64
81
|
if (this.locale) {
|
|
65
82
|
dayjs.locale(this.locale);
|
|
66
83
|
}
|
|
@@ -71,7 +88,12 @@ export class NeoDatepickerComponent {
|
|
|
71
88
|
this.weekDays.splice(0, 1);
|
|
72
89
|
this.weekDays = this.weekDays.concat(sunday);
|
|
73
90
|
}
|
|
74
|
-
this.currentMonthDates
|
|
91
|
+
this.currentMonthDates$.next(this.getMonthDetails(this.currentYear, this.currentMonth));
|
|
92
|
+
this.currentMonthDates$
|
|
93
|
+
.pipe(distinctUntilChanged(), filter(() => !!this.minDateTimestamp))
|
|
94
|
+
.subscribe(currentMonthDates => {
|
|
95
|
+
this.previousMonthAvailable = !currentMonthDates.some((dayDetail) => dayDetail.timestamp === this.minDateTimestamp);
|
|
96
|
+
});
|
|
75
97
|
}
|
|
76
98
|
getDayDetails(index, firstDay, month, numberOfDays, year) {
|
|
77
99
|
const date = index - firstDay;
|
|
@@ -125,13 +147,15 @@ export class NeoDatepickerComponent {
|
|
|
125
147
|
return monthArray;
|
|
126
148
|
}
|
|
127
149
|
onPreviousMonth() {
|
|
128
|
-
this.
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
this.currentMonth
|
|
132
|
-
|
|
150
|
+
if (this.previousMonthAvailable) {
|
|
151
|
+
this.previousMonth.emit();
|
|
152
|
+
this.currentMonth -= 1;
|
|
153
|
+
if (this.currentMonth === -1) {
|
|
154
|
+
this.currentMonth = 11;
|
|
155
|
+
this.currentYear -= 1;
|
|
156
|
+
}
|
|
157
|
+
this.currentMonthDates$.next(this.getMonthDetails(this.currentYear, this.currentMonth));
|
|
133
158
|
}
|
|
134
|
-
this.currentMonthDates = this.getMonthDetails(this.currentYear, this.currentMonth);
|
|
135
159
|
}
|
|
136
160
|
onNextMonth() {
|
|
137
161
|
this.nextMonth.emit();
|
|
@@ -140,7 +164,7 @@ export class NeoDatepickerComponent {
|
|
|
140
164
|
this.currentMonth = 0;
|
|
141
165
|
this.currentYear += 1;
|
|
142
166
|
}
|
|
143
|
-
this.currentMonthDates
|
|
167
|
+
this.currentMonthDates$.next(this.getMonthDetails(this.currentYear, this.currentMonth));
|
|
144
168
|
}
|
|
145
169
|
onSelectDay(dayDetail) {
|
|
146
170
|
const dayDisabled = this.dayDisabledPipe.transform(dayDetail, this.TODAY_TIMESTAMP, this.minDateTimestamp, this.maxDateTimestamp);
|
|
@@ -164,19 +188,29 @@ export class NeoDatepickerComponent {
|
|
|
164
188
|
}
|
|
165
189
|
}
|
|
166
190
|
}
|
|
167
|
-
NeoDatepickerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: NeoDatepickerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
168
|
-
NeoDatepickerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.0", type: NeoDatepickerComponent, isStandalone: true, selector: "ap-neo-date-picker", inputs: { dayTemplate: "dayTemplate", locale: "locale", minDate: "minDate", maxDate: "maxDate", mode: "mode", selectedDates: "selectedDates", startsOn: "startsOn" }, outputs: { datesSelected: "datesSelected", nextMonth: "nextMonth", previousMonth: "previousMonth" }, providers: [DayDisabledPipe], ngImport: i0, template: "<div class=\"date-picker-container\">\n <div class=\"date-picker\">\n <div class=\"month-navigation\">\n <button mat-stroked-button\n class=\"circle ghost left\"\n (click)=\"onPreviousMonth()\"\n >\n <ap-symbol\n symbolId=\"arrow-button-left\"\n size=\"micro\"\n >\n </ap-symbol>\n </button>\n <span>\n {{ months[currentMonth] | titlecase }} {{ currentYear }}\n </span>\n <button mat-stroked-button\n class=\"circle ghost right\"\n (click)=\"onNextMonth()\"\n >\n <ap-symbol\n symbolId=\"arrow-button-right\"\n size=\"micro\"\n >\n </ap-symbol>\n </button>\n </div>\n <div class=\"week-header\">\n <ng-container *ngFor=\"let day of weekDays\">\n <div class=\"day\">\n {{ day | slice:0:2 | titlecase }}\n </div>\n </ng-container>\n </div>\n <div class=\"days-container\">\n <ng-container *ngFor=\"let day of currentMonthDates\">\n <ng-container *ngIf=\"dayTemplate\"\n [ngTemplateOutlet]=\"dayTemplate\"\n [ngTemplateOutletContext]=\"{day: day}\"\n ></ng-container>\n <ng-container *ngIf=\"!dayTemplate\">\n <div class=\"day\"\n [class.disabled]=\"day | dayDisabled:TODAY_TIMESTAMP:minDateTimestamp:maxDateTimestamp\"\n [class.today]=\"day.timestamp === TODAY_TIMESTAMP\"\n [class.selected]=\"selectedDaysTimestamp.has(day.timestamp)\"\n (click)=\"onSelectDay(day)\"\n >\n <span>\n {{ day.date }}\n </span>\n </div>\n </ng-container>\n </ng-container>\n </div>\n </div>\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}:host .date-picker-container{display:flex;justify-content:center;align-items:center}:host .date-picker-container .date-picker{width:248px}:host .date-picker-container .date-picker .month-navigation{display:flex;justify-content:space-between;margin-bottom:24px}:host .date-picker-container .date-picker .month-navigation .left ap-symbol{margin-right:2px}:host .date-picker-container .date-picker .month-navigation .right ap-symbol{margin-left:2px}:host .date-picker-container .date-picker .month-navigation ap-symbol{display:grid;place-content:center}:host .date-picker-container .date-picker .month-navigation button:hover{background:#f5f5f7}:host .date-picker-container .date-picker .month-navigation span{font-style:normal;font-weight:700;font-size:16px;line-height:20px;text-align:center;color:#344563;align-items:center;display:flex}:host .date-picker-container .date-picker .week-header{display:flex;justify-content:space-between;margin-bottom:8px}:host .date-picker-container .date-picker .week-header .day{width:32px;text-align:center;font-weight:700;font-size:12px;line-height:15px;color:#aeb5c1}:host .date-picker-container .date-picker .days-container{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:2px}:host .date-picker-container .date-picker .days-container .day{font-style:normal;font-weight:400;font-size:14px;line-height:128.7%;text-align:center;width:32px;height:32px;display:flex;justify-content:center;align-items:center;border-radius:100%;position:relative}:host .date-picker-container .date-picker .days-container .day:hover{cursor:pointer}:host .date-picker-container .date-picker .days-container .day:hover:not(.disabled):not(.selected){background:#f5f5f7}:host .date-picker-container .date-picker .days-container .day.today{border:1px #178dfe solid}:host .date-picker-container .date-picker .days-container .day.selected{background:#178dfe;color:#fff!important}:host .date-picker-container .date-picker .days-container .day.selected .bubble{background:white!important}:host .date-picker-container .date-picker .days-container .day.disabled{color:#aeb5c1}:host .date-picker-container .date-picker .days-container .day .bubble{width:4px;height:4px;border-radius:100%;bottom:3px;position:absolute;background:#178dfe}\n"], dependencies: [{ kind: "ngmodule", type: AgorapulseUiSymbolModule }, { kind: "component", type: i1.SymbolComponent, selector: "ap-symbol[symbolId]", inputs: ["color", "symbolId", "size", "state"] }, { kind: "pipe", type: TitleCasePipe, name: "titlecase" }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i2.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "directive", type: NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: SlicePipe, name: "slice" }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "pipe", type: DayDisabledPipe, name: "dayDisabled" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
191
|
+
NeoDatepickerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: NeoDatepickerComponent, deps: [{ token: i1.SymbolRegistry }], target: i0.ɵɵFactoryTarget.Component });
|
|
192
|
+
NeoDatepickerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.0", type: NeoDatepickerComponent, isStandalone: true, selector: "ap-neo-date-picker", inputs: { dayTemplate: "dayTemplate", locale: "locale", maxDate: "maxDate", minDate: "minDate", mode: "mode", selectedDates: "selectedDates", startsOn: "startsOn" }, outputs: { datesSelected: "datesSelected", nextMonth: "nextMonth", previousMonth: "previousMonth" }, providers: [DayDisabledPipe], ngImport: i0, template: "<div class=\"date-picker-container\">\n <div class=\"date-picker\">\n <div class=\"month-navigation\">\n <button mat-stroked-button\n class=\"circle ghost left\"\n [disabled]=\"!previousMonthAvailable\"\n (click)=\"onPreviousMonth()\"\n >\n <ap-symbol\n symbolId=\"arrow-button-left\"\n size=\"micro\"\n >\n </ap-symbol>\n </button>\n <span>\n {{ months[currentMonth] | titlecase }} {{ currentYear }}\n </span>\n <button mat-stroked-button\n class=\"circle ghost right\"\n (click)=\"onNextMonth()\"\n >\n <ap-symbol\n symbolId=\"arrow-button-right\"\n size=\"micro\"\n >\n </ap-symbol>\n </button>\n </div>\n <div class=\"week-header\">\n <ng-container *ngFor=\"let day of weekDays\">\n <div class=\"day\">\n {{ day | slice:0:2 | titlecase }}\n </div>\n </ng-container>\n </div>\n <div class=\"days-container\">\n <ng-container *ngFor=\"let day of currentMonthDates$ | async\">\n <ng-container *ngIf=\"dayTemplate\"\n [ngTemplateOutlet]=\"dayTemplate\"\n [ngTemplateOutletContext]=\"{day: day}\"\n ></ng-container>\n <ng-container *ngIf=\"!dayTemplate\">\n <div class=\"day\"\n [class.disabled]=\"day | dayDisabled:TODAY_TIMESTAMP:minDateTimestamp:maxDateTimestamp\"\n [class.today]=\"day.timestamp === TODAY_TIMESTAMP\"\n [class.selected]=\"selectedDaysTimestamp.has(day.timestamp)\"\n (click)=\"onSelectDay(day)\"\n >\n <span>\n {{ day.date }}\n </span>\n </div>\n </ng-container>\n </ng-container>\n </div>\n </div>\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}:host .date-picker-container{display:flex;justify-content:center;align-items:center}:host .date-picker-container .date-picker{width:248px}:host .date-picker-container .date-picker .month-navigation{display:flex;justify-content:space-between;margin-bottom:24px}:host .date-picker-container .date-picker .month-navigation button:disabled{background:transparent}:host .date-picker-container .date-picker .month-navigation button:disabled ap-symbol{color:#d6dae0!important}:host .date-picker-container .date-picker .month-navigation button:disabled:hover{background:transparent!important}:host .date-picker-container .date-picker .month-navigation .left ap-symbol{margin-right:2px}:host .date-picker-container .date-picker .month-navigation .right ap-symbol{margin-left:2px}:host .date-picker-container .date-picker .month-navigation ap-symbol{display:grid;place-content:center}:host .date-picker-container .date-picker .month-navigation button:hover{background:#f5f5f7}:host .date-picker-container .date-picker .month-navigation span{font-style:normal;font-weight:700;font-size:16px;line-height:20px;text-align:center;color:#344563;align-items:center;display:flex}:host .date-picker-container .date-picker .week-header{display:flex;justify-content:space-between;margin-bottom:8px}:host .date-picker-container .date-picker .week-header .day{width:32px;text-align:center;font-weight:700;font-size:12px;line-height:15px;color:#aeb5c1}:host .date-picker-container .date-picker .days-container{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:2px}:host .date-picker-container .date-picker .days-container .day{font-style:normal;font-weight:400;font-size:14px;line-height:128.7%;text-align:center;width:32px;height:32px;display:flex;justify-content:center;align-items:center;border-radius:100%;position:relative}:host .date-picker-container .date-picker .days-container .day:hover{cursor:pointer}:host .date-picker-container .date-picker .days-container .day:hover:not(.disabled):not(.selected){background:#f5f5f7}:host .date-picker-container .date-picker .days-container .day.today{border:1px #178dfe solid}:host .date-picker-container .date-picker .days-container .day.selected{background:#178dfe;color:#fff!important}:host .date-picker-container .date-picker .days-container .day.selected .bubble{background:white!important}:host .date-picker-container .date-picker .days-container .day.disabled{color:#aeb5c1}:host .date-picker-container .date-picker .days-container .day .bubble{width:4px;height:4px;border-radius:100%;bottom:3px;position:absolute;background:#178dfe}\n"], dependencies: [{ kind: "ngmodule", type: AgorapulseUiSymbolModule }, { kind: "component", type: i1.SymbolComponent, selector: "ap-symbol[symbolId]", inputs: ["color", "symbolId", "size", "state"] }, { kind: "pipe", type: TitleCasePipe, name: "titlecase" }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i2.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "directive", type: NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: SlicePipe, name: "slice" }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "pipe", type: DayDisabledPipe, name: "dayDisabled" }, { kind: "pipe", type: AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
169
193
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: NeoDatepickerComponent, decorators: [{
|
|
170
194
|
type: Component,
|
|
171
|
-
args: [{ selector: 'ap-neo-date-picker', changeDetection: ChangeDetectionStrategy.OnPush, providers: [DayDisabledPipe], imports: [AgorapulseUiSymbolModule, TitleCasePipe, MatButtonModule, NgForOf, NgIf, SlicePipe, NgTemplateOutlet, DayDisabledPipe], standalone: true, template: "<div class=\"date-picker-container\">\n <div class=\"date-picker\">\n <div class=\"month-navigation\">\n <button mat-stroked-button\n class=\"circle ghost left\"\n (click)=\"onPreviousMonth()\"\n >\n <ap-symbol\n symbolId=\"arrow-button-left\"\n size=\"micro\"\n >\n </ap-symbol>\n </button>\n <span>\n {{ months[currentMonth] | titlecase }} {{ currentYear }}\n </span>\n <button mat-stroked-button\n class=\"circle ghost right\"\n (click)=\"onNextMonth()\"\n >\n <ap-symbol\n symbolId=\"arrow-button-right\"\n size=\"micro\"\n >\n </ap-symbol>\n </button>\n </div>\n <div class=\"week-header\">\n <ng-container *ngFor=\"let day of weekDays\">\n <div class=\"day\">\n {{ day | slice:0:2 | titlecase }}\n </div>\n </ng-container>\n </div>\n <div class=\"days-container\">\n <ng-container *ngFor=\"let day of currentMonthDates\">\n <ng-container *ngIf=\"dayTemplate\"\n [ngTemplateOutlet]=\"dayTemplate\"\n [ngTemplateOutletContext]=\"{day: day}\"\n ></ng-container>\n <ng-container *ngIf=\"!dayTemplate\">\n <div class=\"day\"\n [class.disabled]=\"day | dayDisabled:TODAY_TIMESTAMP:minDateTimestamp:maxDateTimestamp\"\n [class.today]=\"day.timestamp === TODAY_TIMESTAMP\"\n [class.selected]=\"selectedDaysTimestamp.has(day.timestamp)\"\n (click)=\"onSelectDay(day)\"\n >\n <span>\n {{ day.date }}\n </span>\n </div>\n </ng-container>\n </ng-container>\n </div>\n </div>\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}:host .date-picker-container{display:flex;justify-content:center;align-items:center}:host .date-picker-container .date-picker{width:248px}:host .date-picker-container .date-picker .month-navigation{display:flex;justify-content:space-between;margin-bottom:24px}:host .date-picker-container .date-picker .month-navigation .left ap-symbol{margin-right:2px}:host .date-picker-container .date-picker .month-navigation .right ap-symbol{margin-left:2px}:host .date-picker-container .date-picker .month-navigation ap-symbol{display:grid;place-content:center}:host .date-picker-container .date-picker .month-navigation button:hover{background:#f5f5f7}:host .date-picker-container .date-picker .month-navigation span{font-style:normal;font-weight:700;font-size:16px;line-height:20px;text-align:center;color:#344563;align-items:center;display:flex}:host .date-picker-container .date-picker .week-header{display:flex;justify-content:space-between;margin-bottom:8px}:host .date-picker-container .date-picker .week-header .day{width:32px;text-align:center;font-weight:700;font-size:12px;line-height:15px;color:#aeb5c1}:host .date-picker-container .date-picker .days-container{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:2px}:host .date-picker-container .date-picker .days-container .day{font-style:normal;font-weight:400;font-size:14px;line-height:128.7%;text-align:center;width:32px;height:32px;display:flex;justify-content:center;align-items:center;border-radius:100%;position:relative}:host .date-picker-container .date-picker .days-container .day:hover{cursor:pointer}:host .date-picker-container .date-picker .days-container .day:hover:not(.disabled):not(.selected){background:#f5f5f7}:host .date-picker-container .date-picker .days-container .day.today{border:1px #178dfe solid}:host .date-picker-container .date-picker .days-container .day.selected{background:#178dfe;color:#fff!important}:host .date-picker-container .date-picker .days-container .day.selected .bubble{background:white!important}:host .date-picker-container .date-picker .days-container .day.disabled{color:#aeb5c1}:host .date-picker-container .date-picker .days-container .day .bubble{width:4px;height:4px;border-radius:100%;bottom:3px;position:absolute;background:#178dfe}\n"] }]
|
|
172
|
-
|
|
195
|
+
args: [{ selector: 'ap-neo-date-picker', changeDetection: ChangeDetectionStrategy.OnPush, providers: [DayDisabledPipe], imports: [
|
|
196
|
+
AgorapulseUiSymbolModule,
|
|
197
|
+
TitleCasePipe,
|
|
198
|
+
MatButtonModule,
|
|
199
|
+
NgForOf,
|
|
200
|
+
NgIf,
|
|
201
|
+
SlicePipe,
|
|
202
|
+
NgTemplateOutlet,
|
|
203
|
+
DayDisabledPipe,
|
|
204
|
+
AsyncPipe
|
|
205
|
+
], standalone: true, template: "<div class=\"date-picker-container\">\n <div class=\"date-picker\">\n <div class=\"month-navigation\">\n <button mat-stroked-button\n class=\"circle ghost left\"\n [disabled]=\"!previousMonthAvailable\"\n (click)=\"onPreviousMonth()\"\n >\n <ap-symbol\n symbolId=\"arrow-button-left\"\n size=\"micro\"\n >\n </ap-symbol>\n </button>\n <span>\n {{ months[currentMonth] | titlecase }} {{ currentYear }}\n </span>\n <button mat-stroked-button\n class=\"circle ghost right\"\n (click)=\"onNextMonth()\"\n >\n <ap-symbol\n symbolId=\"arrow-button-right\"\n size=\"micro\"\n >\n </ap-symbol>\n </button>\n </div>\n <div class=\"week-header\">\n <ng-container *ngFor=\"let day of weekDays\">\n <div class=\"day\">\n {{ day | slice:0:2 | titlecase }}\n </div>\n </ng-container>\n </div>\n <div class=\"days-container\">\n <ng-container *ngFor=\"let day of currentMonthDates$ | async\">\n <ng-container *ngIf=\"dayTemplate\"\n [ngTemplateOutlet]=\"dayTemplate\"\n [ngTemplateOutletContext]=\"{day: day}\"\n ></ng-container>\n <ng-container *ngIf=\"!dayTemplate\">\n <div class=\"day\"\n [class.disabled]=\"day | dayDisabled:TODAY_TIMESTAMP:minDateTimestamp:maxDateTimestamp\"\n [class.today]=\"day.timestamp === TODAY_TIMESTAMP\"\n [class.selected]=\"selectedDaysTimestamp.has(day.timestamp)\"\n (click)=\"onSelectDay(day)\"\n >\n <span>\n {{ day.date }}\n </span>\n </div>\n </ng-container>\n </ng-container>\n </div>\n </div>\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}:host .date-picker-container{display:flex;justify-content:center;align-items:center}:host .date-picker-container .date-picker{width:248px}:host .date-picker-container .date-picker .month-navigation{display:flex;justify-content:space-between;margin-bottom:24px}:host .date-picker-container .date-picker .month-navigation button:disabled{background:transparent}:host .date-picker-container .date-picker .month-navigation button:disabled ap-symbol{color:#d6dae0!important}:host .date-picker-container .date-picker .month-navigation button:disabled:hover{background:transparent!important}:host .date-picker-container .date-picker .month-navigation .left ap-symbol{margin-right:2px}:host .date-picker-container .date-picker .month-navigation .right ap-symbol{margin-left:2px}:host .date-picker-container .date-picker .month-navigation ap-symbol{display:grid;place-content:center}:host .date-picker-container .date-picker .month-navigation button:hover{background:#f5f5f7}:host .date-picker-container .date-picker .month-navigation span{font-style:normal;font-weight:700;font-size:16px;line-height:20px;text-align:center;color:#344563;align-items:center;display:flex}:host .date-picker-container .date-picker .week-header{display:flex;justify-content:space-between;margin-bottom:8px}:host .date-picker-container .date-picker .week-header .day{width:32px;text-align:center;font-weight:700;font-size:12px;line-height:15px;color:#aeb5c1}:host .date-picker-container .date-picker .days-container{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:2px}:host .date-picker-container .date-picker .days-container .day{font-style:normal;font-weight:400;font-size:14px;line-height:128.7%;text-align:center;width:32px;height:32px;display:flex;justify-content:center;align-items:center;border-radius:100%;position:relative}:host .date-picker-container .date-picker .days-container .day:hover{cursor:pointer}:host .date-picker-container .date-picker .days-container .day:hover:not(.disabled):not(.selected){background:#f5f5f7}:host .date-picker-container .date-picker .days-container .day.today{border:1px #178dfe solid}:host .date-picker-container .date-picker .days-container .day.selected{background:#178dfe;color:#fff!important}:host .date-picker-container .date-picker .days-container .day.selected .bubble{background:white!important}:host .date-picker-container .date-picker .days-container .day.disabled{color:#aeb5c1}:host .date-picker-container .date-picker .days-container .day .bubble{width:4px;height:4px;border-radius:100%;bottom:3px;position:absolute;background:#178dfe}\n"] }]
|
|
206
|
+
}], ctorParameters: function () { return [{ type: i1.SymbolRegistry }]; }, propDecorators: { dayTemplate: [{
|
|
173
207
|
type: Input
|
|
174
208
|
}], locale: [{
|
|
175
209
|
type: Input
|
|
176
|
-
}], minDate: [{
|
|
177
|
-
type: Input
|
|
178
210
|
}], maxDate: [{
|
|
179
211
|
type: Input
|
|
212
|
+
}], minDate: [{
|
|
213
|
+
type: Input
|
|
180
214
|
}], mode: [{
|
|
181
215
|
type: Input
|
|
182
216
|
}], selectedDates: [{
|
|
@@ -190,4 +224,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImpor
|
|
|
190
224
|
}], previousMonth: [{
|
|
191
225
|
type: Output
|
|
192
226
|
}] } });
|
|
193
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmVvLWRhdGVwaWNrZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vbGlicy91aS1jb21wb25lbnRzL25lby1kYXRlcGlja2VyL3NyYy9uZW8tZGF0ZXBpY2tlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi9saWJzL3VpLWNvbXBvbmVudHMvbmVvLWRhdGVwaWNrZXIvc3JjL25lby1kYXRlcGlja2VyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyx3QkFBd0IsRUFBQyxNQUFNLHVCQUF1QixDQUFDO0FBQy9ELE9BQU8sRUFBQyxPQUFPLEVBQUUsSUFBSSxFQUFFLGdCQUFnQixFQUFFLFNBQVMsRUFBRSxhQUFhLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUMxRixPQUFPLEVBQ0gsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxZQUFZLEVBQ1osTUFBTSxFQUNOLEtBQUssRUFFTCxNQUFNLEdBRVQsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFDLGVBQWUsRUFBQyxNQUFNLDBCQUEwQixDQUFDO0FBQ3pELE9BQU8sS0FBSyxNQUFNLE9BQU8sQ0FBQztBQUMxQixPQUFPLGlCQUFpQixDQUFDO0FBQ3pCLE9BQU8saUJBQWlCLENBQUM7QUFDekIsT0FBTyxpQkFBaUIsQ0FBQztBQUN6QixPQUFPLGlCQUFpQixDQUFDO0FBQ3pCLE9BQU8saUJBQWlCLENBQUM7QUFDekIsT0FBTyxVQUFVLE1BQU0seUJBQXlCLENBQUM7QUFFakQsT0FBTyxFQUFDLGVBQWUsRUFBQyxNQUFNLHFCQUFxQixDQUFDOzs7O0FBZXBELE1BQU0sT0FBTyxzQkFBc0I7SUFUbkM7UUFVYSxZQUFPLEdBQVcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsSUFBSSxDQUFDO1FBQ3RDLG9CQUFlLEdBQ3BCLElBQUksQ0FBQyxHQUFHLEVBQUUsR0FBRyxDQUFDLElBQUksQ0FBQyxHQUFH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QUFTLENBQUMsQ0FBQzthQUN2RDtZQUNELElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLHFCQUFxQixDQUFDLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQztTQUN0RztJQUNMLENBQUM7O21IQXJMUSxzQkFBc0I7dUdBQXRCLHNCQUFzQiw0VUFKcEIsQ0FBQyxlQUFlLENBQUMsMEJDaENoQyw4cEVBd0RBLGdyUER2QmMsd0JBQXdCLDRKQUFFLGFBQWEsaURBQUUsZUFBZSwyVkFBRSxPQUFPLG1IQUFFLElBQUksd0ZBQUUsU0FBUyw4Q0FBRSxnQkFBZ0IsK0lBQUUsZUFBZTsyRkFHdEgsc0JBQXNCO2tCQVRsQyxTQUFTOytCQUNJLG9CQUFvQixtQkFHYix1QkFBdUIsQ0FBQyxNQUFNLGFBQ3BDLENBQUMsZUFBZSxDQUFDLFdBQ25CLENBQUMsd0JBQXdCLEVBQUUsYUFBYSxFQUFFLGVBQWUsRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxnQkFBZ0IsRUFBRSxlQUFlLENBQUMsY0FDcEgsSUFBSTs4QkFPUCxXQUFXO3NCQUFuQixLQUFLO2dCQUNHLE1BQU07c0JBQWQsS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLO2dCQUdPLElBQUk7c0JBQWhCLEtBQUs7Z0JBWU8sYUFBYTtzQkFBekIsS0FBSztnQkFpQkcsUUFBUTtzQkFBaEIsS0FBSztnQkFFSSxhQUFhO3NCQUF0QixNQUFNO2dCQUNHLFNBQVM7c0JBQWxCLE1BQU07Z0JBQ0csYUFBYTtzQkFBdEIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7QWdvcmFwdWxzZVVpU3ltYm9sTW9kdWxlfSBmcm9tICdAYWdvcmFwdWxzZS91aS1zeW1ib2wnO1xuaW1wb3J0IHtOZ0Zvck9mLCBOZ0lmLCBOZ1RlbXBsYXRlT3V0bGV0LCBTbGljZVBpcGUsIFRpdGxlQ2FzZVBpcGV9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge1xuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICAgIENvbXBvbmVudCxcbiAgICBFdmVudEVtaXR0ZXIsXG4gICAgaW5qZWN0LFxuICAgIElucHV0LFxuICAgIE9uSW5pdCxcbiAgICBPdXRwdXQsXG4gICAgVGVtcGxhdGVSZWYsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtNYXRCdXR0b25Nb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2J1dHRvbic7XG5pbXBvcnQgZGF5anMgZnJvbSAnZGF5anMnO1xuaW1wb3J0ICdkYXlqcy9sb2NhbGUvZGUnO1xuaW1wb3J0ICdkYXlqcy9sb2NhbGUvZW4nO1xuaW1wb3J0ICdkYXlqcy9sb2NhbGUvZXMnO1xuaW1wb3J0ICdkYXlqcy9sb2NhbGUvZnInO1xuaW1wb3J0ICdkYXlqcy9sb2NhbGUvcHQnO1xuaW1wb3J0IGxvY2FsZURhdGEgZnJvbSAnZGF5anMvcGx1Z2luL2xvY2FsZURhdGEnO1xuaW1wb3J0IHtEYXlEZXRhaWx9IGZyb20gJy4vZGF5LWRldGFpbC5tb2RlbCc7XG5pbXBvcnQge0RheURpc2FibGVkUGlwZX0gZnJvbSAnLi9kYXktZGlzYWJsZWQucGlwZSc7XG5cbmV4cG9ydCB0eXBlIE5lb0RhdGVQaWNrZXJNb2RlID0gJ3NpbmdsZScgfCAnbXVsdGlwbGUnO1xuZXhwb3J0IHR5cGUgTmVvRGF0ZVBpY2tlclN0YXJ0c09uID0gJ21vbmRheScgfCAnc3VuZGF5JztcbmV4cG9ydCB0eXBlIE5lb0RhdGVQaWNrZXJMb2NhbGUgPSAnZW4nIHwgJ2VzJyB8ICdmcicgfCAncHQnIHwgJ2RlJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdhcC1uZW8tZGF0ZS1waWNrZXInLFxuICAgIHN0eWxlVXJsczogWyduZW8tZGF0ZXBpY2tlci5jb21wb25lbnQuc2NzcyddLFxuICAgIHRlbXBsYXRlVXJsOiAnbmVvLWRhdGVwaWNrZXIuY29tcG9uZW50Lmh0bWwnLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIHByb3ZpZGVyczogW0RheURpc2FibGVkUGlwZV0sXG4gICAgaW1wb3J0czogW0Fnb3JhcHVsc2VVaVN5bWJvbE1vZHVsZSwgVGl0bGVDYXNlUGlwZSwgTWF0QnV0dG9uTW9kdWxlLCBOZ0Zvck9mLCBOZ0lmLCBTbGljZVBpcGUsIE5nVGVtcGxhdGVPdXRsZXQsIERheURpc2FibGVkUGlwZV0sXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbn0pXG5leHBvcnQgY2xhc3MgTmVvRGF0ZXBpY2tlckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gICAgcmVhZG9ubHkgT05FX0RBWTogbnVtYmVyID0gNjAgKiA2MCAqIDI0ICogMTAwMDtcbiAgICByZWFkb25seSBUT0RBWV9USU1FU1RBTVA6IG51bWJlciA9XG4gICAgICAgIERhdGUubm93KCkgLSAoRGF0ZS5ub3coKSAlIHRoaXMuT05FX0RBWSkgKyBuZXcgRGF0ZSgpLmdldFRpbWV6b25lT2Zmc2V0KCkgKiAxMDAwICogNjA7XG5cbiAgICBASW5wdXQoKSBkYXlUZW1wbGF0ZTogVGVtcGxhdGVSZWY8SFRNTEVsZW1lbnQ+O1xuICAgIEBJbnB1dCgpIGxvY2FsZTogTmVvRGF0ZVBpY2tlckxvY2FsZTtcbiAgICBASW5wdXQoKSBtaW5EYXRlOiBkYXlqcy5EYXlqcztcbiAgICBASW5wdXQoKSBtYXhEYXRlOiBkYXlqcy5EYXlqcztcblxuICAgIHByaXZhdGUgX21vZGU6IE5lb0RhdGVQaWNrZXJNb2RlID0gJ3NpbmdsZSc7XG4gICAgQElucHV0KCkgc2V0IG1vZGUobW9kZTogTmVvRGF0ZVBpY2tlck1vZGUpIHtcbiAgICAgICAgdGhpcy5fbW9kZSA9IG1vZGU7XG4gICAgICAgIGlmICh0aGlzLl9tb2RlID09PSAnc2luZ2xlJykge1xuICAgICAgICAgICAgdGhpcy5fc2VsZWN0ZWREYXRlcyA9IHRoaXMuX3NlbGVjdGVkRGF0ZXMuc2xpY2UoMCwgMSk7XG4gICAgICAgICAgICB0aGlzLnNlbGVjdGVkRGF5c1RpbWVzdGFtcCA9IG5ldyBTZXQoQXJyYXkuZnJvbSh0aGlzLnNlbGVjdGVkRGF5c1RpbWVzdGFtcCkuc2xpY2UoMCwgMSkpO1xuICAgICAgICB9XG4gICAgfVxuICAgIGdldCBtb2RlKCk6IE5lb0RhdGVQaWNrZXJNb2RlIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX21vZGU7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBfc2VsZWN0ZWREYXRlczogZGF5anMuRGF5anNbXTtcbiAgICBASW5wdXQoKSBzZXQgc2VsZWN0ZWREYXRlcyhkYXRlczogZGF5anMuRGF5anNbXSkge1xuICAgICAgICBpZiAodGhpcy5fbW9kZSA9PT0gJ3NpbmdsZScpIHtcbiAgICAgICAgICAgIGRhdGVzID0gZGF0ZXMuc2xpY2UoMCwgMSk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5zZWxlY3RlZERheXNUaW1lc3RhbXAgPSBuZXcgU2V0KCk7XG4gICAgICAgIHRoaXMuX3NlbGVjdGVkRGF0ZXMgPSBkYXRlcztcbiAgICAgICAgaWYgKHRoaXMuX3NlbGVjdGVkRGF0ZXMubGVuZ3RoKSB7XG4gICAgICAgICAgICB0aGlzLl9zZWxlY3RlZERhdGVzLmZvckVhY2goZGF5ID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLnNlbGVjdGVkRGF5c1RpbWVzdGFtcC5hZGQoZGF5LnRvRGF0ZSgpLmdldFRpbWUoKSk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGdldCBzZWxlY3RlZERhdGVzKCk6IGRheWpzLkRheWpzW10ge1xuICAgICAgICByZXR1cm4gdGhpcy5fc2VsZWN0ZWREYXRlcztcbiAgICB9XG5cbiAgICBASW5wdXQoKSBzdGFydHNPbjogTmVvRGF0ZVBpY2tlclN0YXJ0c09uID0gJ21vbmRheSc7XG5cbiAgICBAT3V0cHV0KCkgZGF0ZXNTZWxlY3RlZDogRXZlbnRFbWl0dGVyPGRheWpzLkRheWpzW10+ID0gbmV3IEV2ZW50RW1pdHRlcjxkYXlqcy5EYXlqc1tdPigpO1xuICAgIEBPdXRwdXQoKSBuZXh0TW9udGg6IEV2ZW50RW1pdHRlcjx2b2lkPiA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcbiAgICBAT3V0cHV0KCkgcHJldmlvdXNNb250aDogRXZlbnRFbWl0dGVyPHZvaWQ+ID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuXG4gICAgY3VycmVudFllYXI6IG51bWJlcjtcbiAgICBjdXJyZW50TW9udGg6IG51bWJlcjtcbiAgICBjdXJyZW50TW9udGhEYXRlczogYW55O1xuICAgIG1pbkRhdGVUaW1lc3RhbXA6IG51bWJlcjtcbiAgICBtYXhEYXRlVGltZXN0YW1wOiBudW1iZXI7XG4gICAgbW9udGhzOiBzdHJpbmdbXTtcbiAgICBzZWxlY3RlZERheXNUaW1lc3RhbXA6IFNldDxudW1iZXI+ID0gbmV3IFNldCgpO1xuICAgIHdlZWtEYXlzOiBzdHJpbmdbXTtcblxuICAgIGRheURpc2FibGVkUGlwZTogRGF5RGlzYWJsZWRQaXBlID0gaW5qZWN0KERheURpc2FibGVkUGlwZSk7XG5cbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAgICAgZGF5anMuZXh0ZW5kKGxvY2FsZURhdGEpO1xuICAgICAgICBjb25zdCBkYXRlID0gbmV3IERhdGUoKTtcbiAgICAgICAgdGhpcy5jdXJyZW50WWVhciA9IGRhdGUuZ2V0RnVsbFllYXIoKTtcbiAgICAgICAgdGhpcy5jdXJyZW50TW9udGggPSBkYXRlLmdldE1vbnRoKCk7XG4gICAgICAgIGlmICh0aGlzLm1pbkRhdGUpIHtcbiAgICAgICAgICAgIHRoaXMubWluRGF0ZVRpbWVzdGFtcCA9IHRoaXMubWluRGF0ZS50b0RhdGUoKS5nZXRUaW1lKCk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHRoaXMubWF4RGF0ZSkge1xuICAgICAgICAgICAgdGhpcy5tYXhEYXRlVGltZXN0YW1wID0gdGhpcy5tYXhEYXRlLnRvRGF0ZSgpLmdldFRpbWUoKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAodGhpcy5sb2NhbGUpIHtcbiAgICAgICAgICAgIGRheWpzLmxvY2FsZSh0aGlzLmxvY2FsZSk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5tb250aHMgPSBkYXlqcy5tb250aHMoKTtcbiAgICAgICAgdGhpcy53ZWVrRGF5cyA9IFsuLi5kYXlqcy53ZWVrZGF5cygpXTtcblxuICAgICAgICBpZiAodGhpcy5zdGFydHNPbiA9PT0gJ21vbmRheScpIHtcbiAgICAgICAgICAgIGNvbnN0IHN1bmRheSA9IHRoaXMud2Vla0RheXMuc2xpY2UoMCwgMSk7XG4gICAgICAgICAgICB0aGlzLndlZWtEYXlzLnNwbGljZSgwLCAxKTtcbiAgICAgICAgICAgIHRoaXMud2Vla0RheXMgPSB0aGlzLndlZWtEYXlzLmNvbmNhdChzdW5kYXkpO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuY3VycmVudE1vbnRoRGF0ZXMgPSB0aGlzLmdldE1vbnRoRGV0YWlscyh0aGlzLmN1cnJlbnRZZWFyLCB0aGlzLmN1cnJlbnRNb250aCk7XG4gICAgfVxuXG4gICAgZ2V0RGF5RGV0YWlscyhpbmRleDogbnVtYmVyLCBmaXJzdERheTogbnVtYmVyLCBtb250aDogbnVtYmVyLCBudW1iZXJPZkRheXM6IG51bWJlciwgeWVhcjogbnVtYmVyKTogRGF5RGV0YWlsIHtcbiAgICAgICAgY29uc3QgZGF0ZSA9IGluZGV4IC0gZmlyc3REYXk7XG4gICAgICAgIGNvbnN0IGRheSA9IGluZGV4ICUgNztcbiAgICAgICAgbGV0IHByZXZNb250aCA9IG1vbnRoIC0gMTtcbiAgICAgICAgbGV0IHByZXZZZWFyID0geWVhcjtcbiAgICAgICAgaWYgKHByZXZNb250aCA8IDApIHtcbiAgICAgICAgICAgIHByZXZNb250aCA9IDExO1xuICAgICAgICAgICAgcHJldlllYXItLTtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBwcmV2TW9udGhOdW1iZXJPZkRheXMgPSB0aGlzLmdldE51bWJlck9mRGF5cyhwcmV2WWVhciwgcHJldk1vbnRoKTtcbiAgICAgICAgY29uc3QgX2RhdGUgPSAoZGF0ZSA8IDAgPyBwcmV2TW9udGhOdW1iZXJPZkRheXMgKyBkYXRlIDogZGF0ZSAlIG51bWJlck9mRGF5cykgKyAxO1xuICAgICAgICBjb25zdCBfbW9udGggPSBkYXRlIDwgMCA/IC0xIDogZGF0ZSA+PSBudW1iZXJPZkRheXMgPyAxIDogMDtcbiAgICAgICAgY29uc3QgbmV3RGF0ZSA9IG5ldyBEYXRlKHllYXIsIF9tb250aCArIG1vbnRoLCBfZGF0ZSk7XG4gICAgICAgIGNvbnN0IHRpbWVzdGFtcCA9IG5ld0RhdGUuZ2V0VGltZSgpO1xuICAgICAgICBjb25zdCBkYXlTdHJpbmcgPSB0aGlzLndlZWtEYXlzW2RheV07XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBkYXRlOiBfZGF0ZSxcbiAgICAgICAgICAgIGRheSxcbiAgICAgICAgICAgIG1vbnRoOiBfbW9udGgsXG4gICAgICAgICAgICB0aW1lc3RhbXAsXG4gICAgICAgICAgICBkYXlTdHJpbmcsXG4gICAgICAgICAgICBkYXlqczogZGF5anMobmV3RGF0ZSksXG4gICAgICAgIH07XG4gICAgfVxuXG4gICAgZ2V0TnVtYmVyT2ZEYXlzKHllYXI6IG51bWJlciwgbW9udGg6IG51bWJlcik6IG51bWJlciB7XG4gICAgICAgIHJldHVybiA0MCAtIG5ldyBEYXRlKHllYXIsIG1vbnRoLCA0MCkuZ2V0RGF0ZSgpO1xuICAgIH1cblxuICAgIGdldE1vbnRoRGV0YWlscyh5ZWFyOiBudW1iZXIsIG1vbnRoOiBudW1iZXIpOiBEYXlEZXRhaWxbXSB7XG4gICAgICAgIGxldCBmaXJzdERheSA9IG5ldyBEYXRlKHllYXIsIG1vbnRoKS5nZXREYXkoKTtcbiAgICAgICAgaWYgKHRoaXMuc3RhcnRzT24gPT09ICdtb25kYXknKSB7XG4gICAgICAgICAgICBmaXJzdERheSAtPSAxO1xuICAgICAgICB9XG4gICAgICAgIC8vIElmIHRoZSBmaXJzdCBkYXkgaXMgYmVsb3cgMCBpdCBtZWFucyB0aGUgc3VuZGF5IGlzIHRoZSBmaXJzdCBkYXkgb2YgdGhlIG1vbnRoIHNvIHdlIG5lZWQgdG8gc2hvdyB0aGUgbGFzdCBtb250aFxuICAgICAgICBpZiAoZmlyc3REYXkgPCAwKSB7XG4gICAgICAgICAgICBmaXJzdERheSA9IDY7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgbnVtYmVyT2ZEYXlzID0gdGhpcy5nZXROdW1iZXJPZkRheXMoeWVhciwgbW9udGgpO1xuICAgICAgICBjb25zdCBtb250aEFycmF5ID0gW107XG4gICAgICAgIGNvbnN0IHJvd3MgPSA2O1xuICAgICAgICBsZXQgY3VycmVudERheSA9IG51bGw7XG4gICAgICAgIGxldCBpbmRleCA9IDA7XG4gICAgICAgIGNvbnN0IGNvbHMgPSA3O1xuXG4gICAgICAgIGZvciAobGV0IHJvdyA9IDA7IHJvdyA8IHJvd3M7IHJvdysrKSB7XG4gICAgICAgICAgICBmb3IgKGxldCBjb2wgPSAwOyBjb2wgPCBjb2xzOyBjb2wrKykge1xuICAgICAgICAgICAgICAgIGN1cnJlbnREYXkgPSB0aGlzLmdldERheURldGFpbHMoaW5kZXgsIGZpcnN0RGF5LCBtb250aCwgbnVtYmVyT2ZEYXlzLCB5ZWFyKTtcbiAgICAgICAgICAgICAgICBtb250aEFycmF5LnB1c2goY3VycmVudERheSk7XG4gICAgICAgICAgICAgICAgaW5kZXgrKztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gbW9udGhBcnJheTtcbiAgICB9XG5cbiAgICBvblByZXZpb3VzTW9udGgoKTogdm9pZCB7XG4gICAgICAgIHRoaXMucHJldmlvdXNNb250aC5lbWl0KCk7XG4gICAgICAgIHRoaXMuY3VycmVudE1vbnRoIC09IDE7XG4gICAgICAgIGlmICh0aGlzLmN1cnJlbnRNb250aCA9PT0gLTEpIHtcbiAgICAgICAgICAgIHRoaXMuY3VycmVudE1vbnRoID0gMTE7XG4gICAgICAgICAgICB0aGlzLmN1cnJlbnRZZWFyIC09IDE7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5jdXJyZW50TW9udGhEYXRlcyA9IHRoaXMuZ2V0TW9udGhEZXRhaWxzKHRoaXMuY3VycmVudFllYXIsIHRoaXMuY3VycmVudE1vbnRoKTtcbiAgICB9XG5cbiAgICBvbk5leHRNb250aCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5uZXh0TW9udGguZW1pdCgpO1xuICAgICAgICB0aGlzLmN1cnJlbnRNb250aCArPSAxO1xuICAgICAgICBpZiAodGhpcy5jdXJyZW50TW9udGggPT09IDEyKSB7XG4gICAgICAgICAgICB0aGlzLmN1cnJlbnRNb250aCA9IDA7XG4gICAgICAgICAgICB0aGlzLmN1cnJlbnRZZWFyICs9IDE7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5jdXJyZW50TW9udGhEYXRlcyA9IHRoaXMuZ2V0TW9udGhEZXRhaWxzKHRoaXMuY3VycmVudFllYXIsIHRoaXMuY3VycmVudE1vbnRoKTtcbiAgICB9XG5cbiAgICBvblNlbGVjdERheShkYXlEZXRhaWw6IERheURldGFpbCk6IHZvaWQge1xuICAgICAgICBjb25zdCBkYXlEaXNhYmxlZCA9IHRoaXMuZGF5RGlzYWJsZWRQaXBlLnRyYW5zZm9ybShcbiAgICAgICAgICAgIGRheURldGFpbCxcbiAgICAgICAgICAgIHRoaXMuVE9EQVlfVElNRVNUQU1QLFxuICAgICAgICAgICAgdGhpcy5taW5EYXRlVGltZXN0YW1wLFxuICAgICAgICAgICAgdGhpcy5tYXhEYXRlVGltZXN0YW1wXG4gICAgICAgICk7XG4gICAgICAgIGlmICghZGF5RGlzYWJsZWQpIHtcbiAgICAgICAgICAgIGlmICh0aGlzLm1vZGUgPT09ICdzaW5nbGUnKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5zZWxlY3RlZERheXNUaW1lc3RhbXAuY2xlYXIoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmICh0aGlzLm1pbkRhdGUgJiYgZGF5RGV0YWlsLmRheWpzLmlzQmVmb3JlKGRheWpzKHRoaXMubWluRGF0ZSkpKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKHRoaXMubWF4RGF0ZSAmJiBkYXlEZXRhaWwuZGF5anMuaXNBZnRlcihkYXlqcyh0aGlzLm1heERhdGUpKSkge1xuICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmICh0aGlzLnNlbGVjdGVkRGF5c1RpbWVzdGFtcC5oYXMoZGF5RGV0YWlsLnRpbWVzdGFtcCkpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnNlbGVjdGVkRGF5c1RpbWVzdGFtcC5kZWxldGUoZGF5RGV0YWlsLnRpbWVzdGFtcCk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHRoaXMuc2VsZWN0ZWREYXlzVGltZXN0YW1wLmFkZChkYXlEZXRhaWwudGltZXN0YW1wKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHRoaXMuZGF0ZXNTZWxlY3RlZC5lbWl0KEFycmF5LmZyb20odGhpcy5zZWxlY3RlZERheXNUaW1lc3RhbXApLm1hcCh0aW1lc3RhbXAgPT4gZGF5anModGltZXN0YW1wKSkpO1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiPGRpdiBjbGFzcz1cImRhdGUtcGlja2VyLWNvbnRhaW5lclwiPlxuICAgIDxkaXYgY2xhc3M9XCJkYXRlLXBpY2tlclwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwibW9udGgtbmF2aWdhdGlvblwiPlxuICAgICAgICAgICAgPGJ1dHRvbiBtYXQtc3Ryb2tlZC1idXR0b25cbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJjaXJjbGUgZ2hvc3QgbGVmdFwiXG4gICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJvblByZXZpb3VzTW9udGgoKVwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPGFwLXN5bWJvbFxuICAgICAgICAgICAgICAgICAgICBzeW1ib2xJZD1cImFycm93LWJ1dHRvbi1sZWZ0XCJcbiAgICAgICAgICAgICAgICAgICAgc2l6ZT1cIm1pY3JvXCJcbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPC9hcC1zeW1ib2w+XG4gICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgIDxzcGFuPlxuICAgICAgICAgICAgICAgIHt7IG1vbnRoc1tjdXJyZW50TW9udGhdIHwgdGl0bGVjYXNlICB9fSB7eyBjdXJyZW50WWVhciB9fVxuICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgPGJ1dHRvbiBtYXQtc3Ryb2tlZC1idXR0b25cbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJjaXJjbGUgZ2hvc3QgcmlnaHRcIlxuICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwib25OZXh0TW9udGgoKVwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPGFwLXN5bWJvbFxuICAgICAgICAgICAgICAgICAgICBzeW1ib2xJZD1cImFycm93LWJ1dHRvbi1yaWdodFwiXG4gICAgICAgICAgICAgICAgICAgIHNpemU9XCJtaWNyb1wiXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDwvYXAtc3ltYm9sPlxuICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPVwid2Vlay1oZWFkZXJcIj5cbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGRheSBvZiB3ZWVrRGF5c1wiPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkYXlcIj5cbiAgICAgICAgICAgICAgICAgICAge3sgZGF5IHwgc2xpY2U6MDoyIHwgdGl0bGVjYXNlIH19XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJkYXlzLWNvbnRhaW5lclwiPlxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgZGF5IG9mIGN1cnJlbnRNb250aERhdGVzXCI+XG4gICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImRheVRlbXBsYXRlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldF09XCJkYXlUZW1wbGF0ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cIntkYXk6IGRheX1cIlxuICAgICAgICAgICAgICAgID48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiIWRheVRlbXBsYXRlXCI+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkYXlcIlxuICAgICAgICAgICAgICAgICAgICAgICAgIFtjbGFzcy5kaXNhYmxlZF09XCJkYXkgfCBkYXlEaXNhYmxlZDpUT0RBWV9USU1FU1RBTVA6bWluRGF0ZVRpbWVzdGFtcDptYXhEYXRlVGltZXN0YW1wXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICBbY2xhc3MudG9kYXldPVwiZGF5LnRpbWVzdGFtcCA9PT0gVE9EQVlfVElNRVNUQU1QXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICBbY2xhc3Muc2VsZWN0ZWRdPVwic2VsZWN0ZWREYXlzVGltZXN0YW1wLmhhcyhkYXkudGltZXN0YW1wKVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwib25TZWxlY3REYXkoZGF5KVwiXG4gICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7IGRheS5kYXRlIH19XG4gICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuPC9kaXY+XG4iXX0=
|
|
227
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmVvLWRhdGVwaWNrZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vbGlicy91aS1jb21wb25lbnRzL25lby1kYXRlcGlja2VyL3NyYy9uZW8tZGF0ZXBpY2tlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi9saWJzL3VpLWNvbXBvbmVudHMvbmVvLWRhdGVwaWNrZXIvc3JjL25lby1kYXRlcGlja2VyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyx3QkFBd0IsRUFBRSxpQkFBaUIsRUFBRSxrQkFBa0IsRUFBaUIsTUFBTSx1QkFBdUIsQ0FBQztBQUN0SCxPQUFPLEVBQUMsU0FBUyxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsZ0JBQWdCLEVBQUUsU0FBUyxFQUFFLGFBQWEsRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQ3JHLE9BQU8sRUFDSCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULFlBQVksRUFDWixNQUFNLEVBQ04sS0FBSyxFQUVMLE1BQU0sR0FFVCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUMsZUFBZSxFQUFDLE1BQU0sMEJBQTBCLENBQUM7QUFDekQsT0FBTyxLQUFLLE1BQU0sT0FBTyxDQUFDO0FBQzFCLE9BQU8saUJBQWlCLENBQUM7QUFDekIsT0FBTyxpQkFBaUIsQ0FBQztBQUN6QixPQUFPLGlCQUFpQixDQUFDO0FBQ3pCLE9BQU8saUJBQWlCLENBQUM7QUFDekIsT0FBTyxpQkFBaUIsQ0FBQztBQUN6QixPQUFPLFVBQVUsTUFBTSx5QkFBeUIsQ0FBQztBQUVqRCxPQUFPLEVBQUMsZUFBZSxFQUFDLE1BQU0scUJBQXFCLENBQUM7QUFDcEQsT0FBTyxFQUFDLGVBQWUsRUFBRSxNQUFNLEVBQUMsTUFBTSxNQUFNLENBQUM7QUFDN0MsT0FBTyxFQUFDLG9CQUFvQixFQUFDLE1BQU0sZ0JBQWdCLENBQUM7Ozs7QUF5QnBELE1BQU0sT0FB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YUFDdkQ7WUFDRCxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUM7U0FDdEc7SUFDTCxDQUFDOzttSEFsTlEsc0JBQXNCO3VHQUF0QixzQkFBc0IsNFVBZHBCLENBQUMsZUFBZSxDQUFDLDBCQ2xDaEMsbXVFQXlEQSxvL1BEckJRLHdCQUF3Qiw0SkFDeEIsYUFBYSxpREFDYixlQUFlLDJWQUNmLE9BQU8sbUhBQ1AsSUFBSSx3RkFDSixTQUFTLDhDQUNULGdCQUFnQiwrSUFDaEIsZUFBZSwrQ0FDZixTQUFTOzJGQUlKLHNCQUFzQjtrQkFuQmxDLFNBQVM7K0JBQ0ksb0JBQW9CLG1CQUdiLHVCQUF1QixDQUFDLE1BQU0sYUFDcEMsQ0FBQyxlQUFlLENBQUMsV0FDbkI7d0JBQ0wsd0JBQXdCO3dCQUN4QixhQUFhO3dCQUNiLGVBQWU7d0JBQ2YsT0FBTzt3QkFDUCxJQUFJO3dCQUNKLFNBQVM7d0JBQ1QsZ0JBQWdCO3dCQUNoQixlQUFlO3dCQUNmLFNBQVM7cUJBQ1osY0FDVyxJQUFJO3FHQU9QLFdBQVc7c0JBQW5CLEtBQUs7Z0JBQ0csTUFBTTtzQkFBZCxLQUFLO2dCQUdPLE9BQU87c0JBQW5CLEtBQUs7Z0JBU08sT0FBTztzQkFBbkIsS0FBSztnQkFXTyxJQUFJO3NCQUFoQixLQUFLO2dCQVlPLGFBQWE7c0JBQXpCLEtBQUs7Z0JBaUJHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBRUksYUFBYTtzQkFBdEIsTUFBTTtnQkFDRyxTQUFTO3NCQUFsQixNQUFNO2dCQUNHLGFBQWE7c0JBQXRCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0Fnb3JhcHVsc2VVaVN5bWJvbE1vZHVsZSwgYXBBcnJvd0J1dHRvbkxlZnQsIGFwQXJyb3dCdXR0b25SaWdodCwgU3ltYm9sUmVnaXN0cnl9IGZyb20gJ0BhZ29yYXB1bHNlL3VpLXN5bWJvbCc7XG5pbXBvcnQge0FzeW5jUGlwZSwgTmdGb3JPZiwgTmdJZiwgTmdUZW1wbGF0ZU91dGxldCwgU2xpY2VQaXBlLCBUaXRsZUNhc2VQaXBlfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgQ29tcG9uZW50LFxuICAgIEV2ZW50RW1pdHRlcixcbiAgICBpbmplY3QsXG4gICAgSW5wdXQsXG4gICAgT25Jbml0LFxuICAgIE91dHB1dCxcbiAgICBUZW1wbGF0ZVJlZixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge01hdEJ1dHRvbk1vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvYnV0dG9uJztcbmltcG9ydCBkYXlqcyBmcm9tICdkYXlqcyc7XG5pbXBvcnQgJ2RheWpzL2xvY2FsZS9kZSc7XG5pbXBvcnQgJ2RheWpzL2xvY2FsZS9lbic7XG5pbXBvcnQgJ2RheWpzL2xvY2FsZS9lcyc7XG5pbXBvcnQgJ2RheWpzL2xvY2FsZS9mcic7XG5pbXBvcnQgJ2RheWpzL2xvY2FsZS9wdCc7XG5pbXBvcnQgbG9jYWxlRGF0YSBmcm9tICdkYXlqcy9wbHVnaW4vbG9jYWxlRGF0YSc7XG5pbXBvcnQge0RheURldGFpbH0gZnJvbSAnLi9kYXktZGV0YWlsLm1vZGVsJztcbmltcG9ydCB7RGF5RGlzYWJsZWRQaXBlfSBmcm9tICcuL2RheS1kaXNhYmxlZC5waXBlJztcbmltcG9ydCB7QmVoYXZpb3JTdWJqZWN0LCBmaWx0ZXJ9IGZyb20gXCJyeGpzXCI7XG5pbXBvcnQge2Rpc3RpbmN0VW50aWxDaGFuZ2VkfSBmcm9tIFwicnhqcy9vcGVyYXRvcnNcIjtcblxuZXhwb3J0IHR5cGUgTmVvRGF0ZVBpY2tlck1vZGUgPSAnc2luZ2xlJyB8ICdtdWx0aXBsZSc7XG5leHBvcnQgdHlwZSBOZW9EYXRlUGlja2VyU3RhcnRzT24gPSAnbW9uZGF5JyB8ICdzdW5kYXknO1xuZXhwb3J0IHR5cGUgTmVvRGF0ZVBpY2tlckxvY2FsZSA9ICdlbicgfCAnZXMnIHwgJ2ZyJyB8ICdwdCcgfCAnZGUnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2FwLW5lby1kYXRlLXBpY2tlcicsXG4gICAgc3R5bGVVcmxzOiBbJ25lby1kYXRlcGlja2VyLmNvbXBvbmVudC5zY3NzJ10sXG4gICAgdGVtcGxhdGVVcmw6ICduZW8tZGF0ZXBpY2tlci5jb21wb25lbnQuaHRtbCcsXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgcHJvdmlkZXJzOiBbRGF5RGlzYWJsZWRQaXBlXSxcbiAgICBpbXBvcnRzOiBbXG4gICAgICAgIEFnb3JhcHVsc2VVaVN5bWJvbE1vZHVsZSxcbiAgICAgICAgVGl0bGVDYXNlUGlwZSxcbiAgICAgICAgTWF0QnV0dG9uTW9kdWxlLFxuICAgICAgICBOZ0Zvck9mLFxuICAgICAgICBOZ0lmLFxuICAgICAgICBTbGljZVBpcGUsXG4gICAgICAgIE5nVGVtcGxhdGVPdXRsZXQsXG4gICAgICAgIERheURpc2FibGVkUGlwZSxcbiAgICAgICAgQXN5bmNQaXBlXG4gICAgXSxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxufSlcbmV4cG9ydCBjbGFzcyBOZW9EYXRlcGlja2VyQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgICByZWFkb25seSBPTkVfREFZOiBudW1iZXIgPSA2MCAqIDYwICogMjQgKiAxMDAwO1xuICAgIHJlYWRvbmx5IFRPREFZX1RJTUVTVEFNUDogbnVtYmVyID1cbiAgICAgICAgRGF0ZS5ub3coKSAtIChEYXRlLm5vdygpICUgdGhpcy5PTkVfREFZKSArIG5ldyBEYXRlKCkuZ2V0VGltZXpvbmVPZmZzZXQoKSAqIDEwMDAgKiA2MDtcblxuICAgIEBJbnB1dCgpIGRheVRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxIVE1MRWxlbWVudD47XG4gICAgQElucHV0KCkgbG9jYWxlOiBOZW9EYXRlUGlja2VyTG9jYWxlO1xuXG4gICAgcHJpdmF0ZSBfbWF4RGF0ZTogZGF5anMuRGF5anM7XG4gICAgQElucHV0KCkgc2V0IG1heERhdGUobWF4RGF0ZTogZGF5anMuRGF5anMpIHtcbiAgICAgICAgdGhpcy5fbWF4RGF0ZSA9IG1heERhdGU7XG4gICAgICAgIHRoaXMubWF4RGF0ZVRpbWVzdGFtcCA9IG1heERhdGUudG9EYXRlKCkuZ2V0VGltZSgpO1xuICAgIH1cbiAgICBnZXQgbWF4RGF0ZSgpOiBkYXlqcy5EYXlqcyB7XG4gICAgICAgIHJldHVybiB0aGlzLl9tYXhEYXRlO1xuICAgIH1cblxuICAgIHByaXZhdGUgX21pbkRhdGU6IGRheWpzLkRheWpzO1xuICAgIEBJbnB1dCgpIHNldCBtaW5EYXRlKG1pbkRhdGU6IGRheWpzLkRheWpzKSB7XG4gICAgICAgIHRoaXMuX21pbkRhdGUgPSBtaW5EYXRlO1xuICAgICAgICB0aGlzLm1pbkRhdGVUaW1lc3RhbXAgPSBtaW5EYXRlLnRvRGF0ZSgpLmdldFRpbWUoKTtcbiAgICB9XG4gICAgZ2V0IG1pbkRhdGUoKTogZGF5anMuRGF5anMge1xuICAgICAgICByZXR1cm4gdGhpcy5fbWluRGF0ZTtcbiAgICB9XG5cbiAgICBwcmV2aW91c01vbnRoQXZhaWxhYmxlOiBib29sZWFuID0gdHJ1ZTtcblxuICAgIHByaXZhdGUgX21vZGU6IE5lb0RhdGVQaWNrZXJNb2RlID0gJ3NpbmdsZSc7XG4gICAgQElucHV0KCkgc2V0IG1vZGUobW9kZTogTmVvRGF0ZVBpY2tlck1vZGUpIHtcbiAgICAgICAgdGhpcy5fbW9kZSA9IG1vZGU7XG4gICAgICAgIGlmICh0aGlzLl9tb2RlID09PSAnc2luZ2xlJykge1xuICAgICAgICAgICAgdGhpcy5fc2VsZWN0ZWREYXRlcyA9IHRoaXMuX3NlbGVjdGVkRGF0ZXMuc2xpY2UoMCwgMSk7XG4gICAgICAgICAgICB0aGlzLnNlbGVjdGVkRGF5c1RpbWVzdGFtcCA9IG5ldyBTZXQoQXJyYXkuZnJvbSh0aGlzLnNlbGVjdGVkRGF5c1RpbWVzdGFtcCkuc2xpY2UoMCwgMSkpO1xuICAgICAgICB9XG4gICAgfVxuICAgIGdldCBtb2RlKCk6IE5lb0RhdGVQaWNrZXJNb2RlIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX21vZGU7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBfc2VsZWN0ZWREYXRlczogZGF5anMuRGF5anNbXTtcbiAgICBASW5wdXQoKSBzZXQgc2VsZWN0ZWREYXRlcyhkYXRlczogZGF5anMuRGF5anNbXSkge1xuICAgICAgICBpZiAodGhpcy5fbW9kZSA9PT0gJ3NpbmdsZScpIHtcbiAgICAgICAgICAgIGRhdGVzID0gZGF0ZXMuc2xpY2UoMCwgMSk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5zZWxlY3RlZERheXNUaW1lc3RhbXAgPSBuZXcgU2V0KCk7XG4gICAgICAgIHRoaXMuX3NlbGVjdGVkRGF0ZXMgPSBkYXRlcztcbiAgICAgICAgaWYgKHRoaXMuX3NlbGVjdGVkRGF0ZXMubGVuZ3RoKSB7XG4gICAgICAgICAgICB0aGlzLl9zZWxlY3RlZERhdGVzLmZvckVhY2goZGF5ID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLnNlbGVjdGVkRGF5c1RpbWVzdGFtcC5hZGQoZGF5LnRvRGF0ZSgpLmdldFRpbWUoKSk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGdldCBzZWxlY3RlZERhdGVzKCk6IGRheWpzLkRheWpzW10ge1xuICAgICAgICByZXR1cm4gdGhpcy5fc2VsZWN0ZWREYXRlcztcbiAgICB9XG5cbiAgICBASW5wdXQoKSBzdGFydHNPbjogTmVvRGF0ZVBpY2tlclN0YXJ0c09uID0gJ21vbmRheSc7XG5cbiAgICBAT3V0cHV0KCkgZGF0ZXNTZWxlY3RlZDogRXZlbnRFbWl0dGVyPGRheWpzLkRheWpzW10+ID0gbmV3IEV2ZW50RW1pdHRlcjxkYXlqcy5EYXlqc1tdPigpO1xuICAgIEBPdXRwdXQoKSBuZXh0TW9udGg6IEV2ZW50RW1pdHRlcjx2b2lkPiA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcbiAgICBAT3V0cHV0KCkgcHJldmlvdXNNb250aDogRXZlbnRFbWl0dGVyPHZvaWQ+ID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuXG4gICAgY3VycmVudFllYXI6IG51bWJlcjtcbiAgICBjdXJyZW50TW9udGg6IG51bWJlcjtcbiAgICBjdXJyZW50TW9udGhEYXRlcyQ6IEJlaGF2aW9yU3ViamVjdDxEYXlEZXRhaWxbXT4gPSBuZXcgQmVoYXZpb3JTdWJqZWN0PERheURldGFpbFtdPihbXSk7XG4gICAgbWluRGF0ZVRpbWVzdGFtcDogbnVtYmVyO1xuICAgIG1heERhdGVUaW1lc3RhbXA6IG51bWJlcjtcbiAgICBtb250aHM6IHN0cmluZ1tdO1xuICAgIHNlbGVjdGVkRGF5c1RpbWVzdGFtcDogU2V0PG51bWJlcj4gPSBuZXcgU2V0KCk7XG4gICAgd2Vla0RheXM6IHN0cmluZ1tdO1xuXG4gICAgZGF5RGlzYWJsZWRQaXBlOiBEYXlEaXNhYmxlZFBpcGUgPSBpbmplY3QoRGF5RGlzYWJsZWRQaXBlKTtcblxuICAgIGNvbnN0cnVjdG9yKHB1YmxpYyBzeW1ib2xSZWdpc3RyeTogU3ltYm9sUmVnaXN0cnkpIHtcbiAgICAgICAgdGhpcy5zeW1ib2xSZWdpc3RyeS5yZWdpc3RlclN5bWJvbHMoW1xuICAgICAgICAgICAgYXBBcnJvd0J1dHRvbkxlZnQsXG4gICAgICAgICAgICBhcEFycm93QnV0dG9uUmlnaHRcbiAgICAgICAgXSk7XG4gICAgfVxuXG4gICAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgICAgIGRheWpzLmV4dGVuZChsb2NhbGVEYXRhKTtcbiAgICAgICAgY29uc3QgZGF0ZSA9IG5ldyBEYXRlKCk7XG4gICAgICAgIHRoaXMuY3VycmVudFllYXIgPSBkYXRlLmdldEZ1bGxZZWFyKCk7XG4gICAgICAgIHRoaXMuY3VycmVudE1vbnRoID0gZGF0ZS5nZXRNb250aCgpO1xuICAgICAgICBpZiAodGhpcy5sb2NhbGUpIHtcbiAgICAgICAgICAgIGRheWpzLmxvY2FsZSh0aGlzLmxvY2FsZSk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5tb250aHMgPSBkYXlqcy5tb250aHMoKTtcbiAgICAgICAgdGhpcy53ZWVrRGF5cyA9IFsuLi5kYXlqcy53ZWVrZGF5cygpXTtcblxuICAgICAgICBpZiAodGhpcy5zdGFydHNPbiA9PT0gJ21vbmRheScpIHtcbiAgICAgICAgICAgIGNvbnN0IHN1bmRheSA9IHRoaXMud2Vla0RheXMuc2xpY2UoMCwgMSk7XG4gICAgICAgICAgICB0aGlzLndlZWtEYXlzLnNwbGljZSgwLCAxKTtcbiAgICAgICAgICAgIHRoaXMud2Vla0RheXMgPSB0aGlzLndlZWtEYXlzLmNvbmNhdChzdW5kYXkpO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuY3VycmVudE1vbnRoRGF0ZXMkLm5leHQodGhpcy5nZXRNb250aERldGFpbHModGhpcy5jdXJyZW50WWVhciwgdGhpcy5jdXJyZW50TW9udGgpKTtcbiAgICAgICAgdGhpcy5jdXJyZW50TW9udGhEYXRlcyRcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKCksXG4gICAgICAgICAgICAgICAgZmlsdGVyKCgpID0+ICEhdGhpcy5taW5EYXRlVGltZXN0YW1wKVxuICAgICAgICAgICAgKVxuICAgICAgICAgICAgLnN1YnNjcmliZShjdXJyZW50TW9udGhEYXRlcyA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5wcmV2aW91c01vbnRoQXZhaWxhYmxlID0gIWN1cnJlbnRNb250aERhdGVzLnNvbWUoKGRheURldGFpbCkgPT4gZGF5RGV0YWlsLnRpbWVzdGFtcCA9PT0gdGhpcy5taW5EYXRlVGltZXN0YW1wKTtcbiAgICAgICAgfSlcbiAgICB9XG5cbiAgICBnZXREYXlEZXRhaWxzKGluZGV4OiBudW1iZXIsIGZpcnN0RGF5OiBudW1iZXIsIG1vbnRoOiBudW1iZXIsIG51bWJlck9mRGF5czogbnVtYmVyLCB5ZWFyOiBudW1iZXIpOiBEYXlEZXRhaWwge1xuICAgICAgICBjb25zdCBkYXRlID0gaW5kZXggLSBmaXJzdERheTtcbiAgICAgICAgY29uc3QgZGF5ID0gaW5kZXggJSA3O1xuICAgICAgICBsZXQgcHJldk1vbnRoID0gbW9udGggLSAxO1xuICAgICAgICBsZXQgcHJldlllYXIgPSB5ZWFyO1xuICAgICAgICBpZiAocHJldk1vbnRoIDwgMCkge1xuICAgICAgICAgICAgcHJldk1vbnRoID0gMTE7XG4gICAgICAgICAgICBwcmV2WWVhci0tO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IHByZXZNb250aE51bWJlck9mRGF5cyA9IHRoaXMuZ2V0TnVtYmVyT2ZEYXlzKHByZXZZZWFyLCBwcmV2TW9udGgpO1xuICAgICAgICBjb25zdCBfZGF0ZSA9IChkYXRlIDwgMCA/IHByZXZNb250aE51bWJlck9mRGF5cyArIGRhdGUgOiBkYXRlICUgbnVtYmVyT2ZEYXlzKSArIDE7XG4gICAgICAgIGNvbnN0IF9tb250aCA9IGRhdGUgPCAwID8gLTEgOiBkYXRlID49IG51bWJlck9mRGF5cyA/IDEgOiAwO1xuICAgICAgICBjb25zdCBuZXdEYXRlID0gbmV3IERhdGUoeWVhciwgX21vbnRoICsgbW9udGgsIF9kYXRlKTtcbiAgICAgICAgY29uc3QgdGltZXN0YW1wID0gbmV3RGF0ZS5nZXRUaW1lKCk7XG4gICAgICAgIGNvbnN0IGRheVN0cmluZyA9IHRoaXMud2Vla0RheXNbZGF5XTtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIGRhdGU6IF9kYXRlLFxuICAgICAgICAgICAgZGF5LFxuICAgICAgICAgICAgbW9udGg6IF9tb250aCxcbiAgICAgICAgICAgIHRpbWVzdGFtcCxcbiAgICAgICAgICAgIGRheVN0cmluZyxcbiAgICAgICAgICAgIGRheWpzOiBkYXlqcyhuZXdEYXRlKSxcbiAgICAgICAgfTtcbiAgICB9XG5cbiAgICBnZXROdW1iZXJPZkRheXMoeWVhcjogbnVtYmVyLCBtb250aDogbnVtYmVyKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIDQwIC0gbmV3IERhdGUoeWVhciwgbW9udGgsIDQwKS5nZXREYXRlKCk7XG4gICAgfVxuXG4gICAgZ2V0TW9udGhEZXRhaWxzKHllYXI6IG51bWJlciwgbW9udGg6IG51bWJlcik6IERheURldGFpbFtdIHtcbiAgICAgICAgbGV0IGZpcnN0RGF5ID0gbmV3IERhdGUoeWVhciwgbW9udGgpLmdldERheSgpO1xuICAgICAgICBpZiAodGhpcy5zdGFydHNPbiA9PT0gJ21vbmRheScpIHtcbiAgICAgICAgICAgIGZpcnN0RGF5IC09IDE7XG4gICAgICAgIH1cbiAgICAgICAgLy8gSWYgdGhlIGZpcnN0IGRheSBpcyBiZWxvdyAwIGl0IG1lYW5zIHRoZSBzdW5kYXkgaXMgdGhlIGZpcnN0IGRheSBvZiB0aGUgbW9udGggc28gd2UgbmVlZCB0byBzaG93IHRoZSBsYXN0IG1vbnRoXG4gICAgICAgIGlmIChmaXJzdERheSA8IDApIHtcbiAgICAgICAgICAgIGZpcnN0RGF5ID0gNjtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBudW1iZXJPZkRheXMgPSB0aGlzLmdldE51bWJlck9mRGF5cyh5ZWFyLCBtb250aCk7XG4gICAgICAgIGNvbnN0IG1vbnRoQXJyYXkgPSBbXTtcbiAgICAgICAgY29uc3Qgcm93cyA9IDY7XG4gICAgICAgIGxldCBjdXJyZW50RGF5ID0gbnVsbDtcbiAgICAgICAgbGV0IGluZGV4ID0gMDtcbiAgICAgICAgY29uc3QgY29scyA9IDc7XG5cbiAgICAgICAgZm9yIChsZXQgcm93ID0gMDsgcm93IDwgcm93czsgcm93KyspIHtcbiAgICAgICAgICAgIGZvciAobGV0IGNvbCA9IDA7IGNvbCA8IGNvbHM7IGNvbCsrKSB7XG4gICAgICAgICAgICAgICAgY3VycmVudERheSA9IHRoaXMuZ2V0RGF5RGV0YWlscyhpbmRleCwgZmlyc3REYXksIG1vbnRoLCBudW1iZXJPZkRheXMsIHllYXIpO1xuICAgICAgICAgICAgICAgIG1vbnRoQXJyYXkucHVzaChjdXJyZW50RGF5KTtcbiAgICAgICAgICAgICAgICBpbmRleCsrO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHJldHVybiBtb250aEFycmF5O1xuICAgIH1cblxuICAgIG9uUHJldmlvdXNNb250aCgpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMucHJldmlvdXNNb250aEF2YWlsYWJsZSkge1xuICAgICAgICAgICAgdGhpcy5wcmV2aW91c01vbnRoLmVtaXQoKTtcbiAgICAgICAgICAgIHRoaXMuY3VycmVudE1vbnRoIC09IDE7XG4gICAgICAgICAgICBpZiAodGhpcy5jdXJyZW50TW9udGggPT09IC0xKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5jdXJyZW50TW9udGggPSAxMTtcbiAgICAgICAgICAgICAgICB0aGlzLmN1cnJlbnRZZWFyIC09IDE7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB0aGlzLmN1cnJlbnRNb250aERhdGVzJC5uZXh0KHRoaXMuZ2V0TW9udGhEZXRhaWxzKHRoaXMuY3VycmVudFllYXIsIHRoaXMuY3VycmVudE1vbnRoKSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBvbk5leHRNb250aCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5uZXh0TW9udGguZW1pdCgpO1xuICAgICAgICB0aGlzLmN1cnJlbnRNb250aCArPSAxO1xuICAgICAgICBpZiAodGhpcy5jdXJyZW50TW9udGggPT09IDEyKSB7XG4gICAgICAgICAgICB0aGlzLmN1cnJlbnRNb250aCA9IDA7XG4gICAgICAgICAgICB0aGlzLmN1cnJlbnRZZWFyICs9IDE7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5jdXJyZW50TW9udGhEYXRlcyQubmV4dCh0aGlzLmdldE1vbnRoRGV0YWlscyh0aGlzLmN1cnJlbnRZZWFyLCB0aGlzLmN1cnJlbnRNb250aCkpO1xuICAgIH1cblxuICAgIG9uU2VsZWN0RGF5KGRheURldGFpbDogRGF5RGV0YWlsKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IGRheURpc2FibGVkID0gdGhpcy5kYXlEaXNhYmxlZFBpcGUudHJhbnNmb3JtKFxuICAgICAgICAgICAgZGF5RGV0YWlsLFxuICAgICAgICAgICAgdGhpcy5UT0RBWV9USU1FU1RBTVAsXG4gICAgICAgICAgICB0aGlzLm1pbkRhdGVUaW1lc3RhbXAsXG4gICAgICAgICAgICB0aGlzLm1heERhdGVUaW1lc3RhbXBcbiAgICAgICAgKTtcbiAgICAgICAgaWYgKCFkYXlEaXNhYmxlZCkge1xuICAgICAgICAgICAgaWYgKHRoaXMubW9kZSA9PT0gJ3NpbmdsZScpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnNlbGVjdGVkRGF5c1RpbWVzdGFtcC5jbGVhcigpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKHRoaXMubWluRGF0ZSAmJiBkYXlEZXRhaWwuZGF5anMuaXNCZWZvcmUoZGF5anModGhpcy5taW5EYXRlKSkpIHtcbiAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAodGhpcy5tYXhEYXRlICYmIGRheURldGFpbC5kYXlqcy5pc0FmdGVyKGRheWpzKHRoaXMubWF4RGF0ZSkpKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKHRoaXMuc2VsZWN0ZWREYXlzVGltZXN0YW1wLmhhcyhkYXlEZXRhaWwudGltZXN0YW1wKSkge1xuICAgICAgICAgICAgICAgIHRoaXMuc2VsZWN0ZWREYXlzVGltZXN0YW1wLmRlbGV0ZShkYXlEZXRhaWwudGltZXN0YW1wKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgdGhpcy5zZWxlY3RlZERheXNUaW1lc3RhbXAuYWRkKGRheURldGFpbC50aW1lc3RhbXApO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdGhpcy5kYXRlc1NlbGVjdGVkLmVtaXQoQXJyYXkuZnJvbSh0aGlzLnNlbGVjdGVkRGF5c1RpbWVzdGFtcCkubWFwKHRpbWVzdGFtcCA9PiBkYXlqcyh0aW1lc3RhbXApKSk7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwiZGF0ZS1waWNrZXItY29udGFpbmVyXCI+XG4gICAgPGRpdiBjbGFzcz1cImRhdGUtcGlja2VyXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJtb250aC1uYXZpZ2F0aW9uXCI+XG4gICAgICAgICAgICA8YnV0dG9uIG1hdC1zdHJva2VkLWJ1dHRvblxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImNpcmNsZSBnaG9zdCBsZWZ0XCJcbiAgICAgICAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cIiFwcmV2aW91c01vbnRoQXZhaWxhYmxlXCJcbiAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIm9uUHJldmlvdXNNb250aCgpXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICA8YXAtc3ltYm9sXG4gICAgICAgICAgICAgICAgICAgIHN5bWJvbElkPVwiYXJyb3ctYnV0dG9uLWxlZnRcIlxuICAgICAgICAgICAgICAgICAgICBzaXplPVwibWljcm9cIlxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICA8L2FwLXN5bWJvbD5cbiAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgPHNwYW4+XG4gICAgICAgICAgICAgICAge3sgbW9udGhzW2N1cnJlbnRNb250aF0gfCB0aXRsZWNhc2UgIH19IHt7IGN1cnJlbnRZZWFyIH19XG4gICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICA8YnV0dG9uIG1hdC1zdHJva2VkLWJ1dHRvblxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImNpcmNsZSBnaG9zdCByaWdodFwiXG4gICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJvbk5leHRNb250aCgpXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICA8YXAtc3ltYm9sXG4gICAgICAgICAgICAgICAgICAgIHN5bWJvbElkPVwiYXJyb3ctYnV0dG9uLXJpZ2h0XCJcbiAgICAgICAgICAgICAgICAgICAgc2l6ZT1cIm1pY3JvXCJcbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPC9hcC1zeW1ib2w+XG4gICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJ3ZWVrLWhlYWRlclwiPlxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgZGF5IG9mIHdlZWtEYXlzXCI+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImRheVwiPlxuICAgICAgICAgICAgICAgICAgICB7eyBkYXkgfCBzbGljZTowOjIgfCB0aXRsZWNhc2UgfX1cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImRheXMtY29udGFpbmVyXCI+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBkYXkgb2YgY3VycmVudE1vbnRoRGF0ZXMkIHwgYXN5bmNcIj5cbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiZGF5VGVtcGxhdGVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImRheVRlbXBsYXRlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwie2RheTogZGF5fVwiXG4gICAgICAgICAgICAgICAgPjwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIhZGF5VGVtcGxhdGVcIj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImRheVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgW2NsYXNzLmRpc2FibGVkXT1cImRheSB8IGRheURpc2FibGVkOlRPREFZX1RJTUVTVEFNUDptaW5EYXRlVGltZXN0YW1wOm1heERhdGVUaW1lc3RhbXBcIlxuICAgICAgICAgICAgICAgICAgICAgICAgIFtjbGFzcy50b2RheV09XCJkYXkudGltZXN0YW1wID09PSBUT0RBWV9USU1FU1RBTVBcIlxuICAgICAgICAgICAgICAgICAgICAgICAgIFtjbGFzcy5zZWxlY3RlZF09XCJzZWxlY3RlZERheXNUaW1lc3RhbXAuaGFzKGRheS50aW1lc3RhbXApXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJvblNlbGVjdERheShkYXkpXCJcbiAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAge3sgZGF5LmRhdGUgfX1cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { AgorapulseUiSymbolModule } from '@agorapulse/ui-symbol';
|
|
1
|
+
import { AgorapulseUiSymbolModule, apArrowLeft1, apArrowRight1 } from '@agorapulse/ui-symbol';
|
|
2
2
|
import { NgForOf, NgIf } from '@angular/common';
|
|
3
3
|
import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output } from '@angular/core';
|
|
4
4
|
import { MatButtonModule } from '@angular/material/button';
|
|
@@ -7,7 +7,8 @@ import * as i0 from "@angular/core";
|
|
|
7
7
|
import * as i1 from "@agorapulse/ui-symbol";
|
|
8
8
|
import * as i2 from "@angular/material/button";
|
|
9
9
|
export class PaginatorComponent {
|
|
10
|
-
constructor() {
|
|
10
|
+
constructor(symbolRegistry) {
|
|
11
|
+
this.symbolRegistry = symbolRegistry;
|
|
11
12
|
this.itemCount = 0;
|
|
12
13
|
this.itemCountPerPage = 10;
|
|
13
14
|
this.edgeSize = 5;
|
|
@@ -17,6 +18,10 @@ export class PaginatorComponent {
|
|
|
17
18
|
this.pageCount = 0;
|
|
18
19
|
this.firstPageDisplayed = true;
|
|
19
20
|
this.lastPageDisplayed = true;
|
|
21
|
+
this.symbolRegistry.registerSymbols([
|
|
22
|
+
apArrowLeft1,
|
|
23
|
+
apArrowRight1
|
|
24
|
+
]);
|
|
20
25
|
}
|
|
21
26
|
ngOnChanges(changes) {
|
|
22
27
|
// make sure middle size is an odd number
|
|
@@ -35,12 +40,12 @@ export class PaginatorComponent {
|
|
|
35
40
|
this.currentPageIndexChange.emit(pageIndex);
|
|
36
41
|
}
|
|
37
42
|
}
|
|
38
|
-
PaginatorComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: PaginatorComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
43
|
+
PaginatorComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: PaginatorComponent, deps: [{ token: i1.SymbolRegistry }], target: i0.ɵɵFactoryTarget.Component });
|
|
39
44
|
PaginatorComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.0", type: PaginatorComponent, isStandalone: true, selector: "ap-paginator", inputs: { itemCount: "itemCount", itemCountPerPage: "itemCountPerPage", edgeSize: "edgeSize", middleSize: "middleSize", currentPageIndex: "currentPageIndex" }, outputs: { currentPageIndexChange: "currentPageIndexChange" }, usesOnChanges: true, ngImport: i0, template: "<div class=\"item-index-overview\">\n {{(currentPageIndex * itemCountPerPage) + 1}}\n -{{lastPageDisplayed ? itemCount : (currentPageIndex + 1) * itemCountPerPage}}\n of {{itemCount}}\n</div>\n\n<div class=\"pages\">\n <button class=\"square\"\n mat-flat-button\n [disabled]=\"firstPageDisplayed\"\n (click)=\"onSelectPage(currentPageIndex - 1)\">\n <ap-symbol symbolId=\"arrow-left-1\"></ap-symbol>\n </button>\n <ng-container *ngIf=\"pageCount > edgeSize + 1; else allPagesDisplayed\">\n <ng-container *ngIf=\"currentPageIndex >= edgeSize - 1; else oneOfFirstPagesDisplayed\">\n <ng-container *ngIf=\"currentPageIndex <= pageCount - edgeSize; else oneOfLastPagesDisplayed\">\n <ap-paginator-button [pageIndex]=\"0\"\n [selectedPageIndex]=\"currentPageIndex\"\n (selectPage)=\"onSelectPage($event)\">\n </ap-paginator-button>\n <span class=\"ellipsis\">...</span>\n <ng-container *ngFor=\"let dummy of [].constructor(middleSize); let i = index\">\n <ap-paginator-button [pageIndex]=\"currentPageIndex + i - (middleSize - 1) / 2\"\n [selectedPageIndex]=\"currentPageIndex\"\n (selectPage)=\"onSelectPage($event)\">\n </ap-paginator-button>\n </ng-container>\n <span class=\"ellipsis\">...</span>\n <ap-paginator-button [pageIndex]=\"pageCount - 1\"\n [selectedPageIndex]=\"currentPageIndex\"\n (selectPage)=\"onSelectPage($event)\">\n </ap-paginator-button>\n </ng-container>\n </ng-container>\n <ng-template #oneOfFirstPagesDisplayed>\n <ng-container *ngFor=\"let dummy of [].constructor(edgeSize); let i = index\">\n <ap-paginator-button [pageIndex]=\"i\"\n [selectedPageIndex]=\"currentPageIndex\"\n (selectPage)=\"onSelectPage($event)\">\n </ap-paginator-button>\n </ng-container>\n <span class=\"ellipsis\">...</span>\n <ap-paginator-button [pageIndex]=\"pageCount - 1\"\n [selectedPageIndex]=\"currentPageIndex\"\n (selectPage)=\"onSelectPage($event)\">\n </ap-paginator-button>\n </ng-template>\n <ng-template #oneOfLastPagesDisplayed>\n <ap-paginator-button [pageIndex]=\"0\"\n [selectedPageIndex]=\"currentPageIndex\"\n (selectPage)=\"onSelectPage($event)\">\n </ap-paginator-button>\n <span class=\"ellipsis\">...</span>\n <ng-container *ngFor=\"let dummy of [].constructor(edgeSize); let i = index\">\n <ap-paginator-button [pageIndex]=\"pageCount - edgeSize + i\"\n [selectedPageIndex]=\"currentPageIndex\"\n (selectPage)=\"onSelectPage($event)\">\n </ap-paginator-button>\n </ng-container>\n </ng-template>\n </ng-container>\n <ng-template #allPagesDisplayed>\n <ng-container *ngFor=\"let dummy of [].constructor(pageCount); let i = index\">\n <ap-paginator-button [pageIndex]=\"i\"\n [selectedPageIndex]=\"currentPageIndex\"\n (selectPage)=\"onSelectPage($event)\">\n </ap-paginator-button>\n </ng-container>\n </ng-template>\n <button class=\"square\"\n mat-flat-button\n [disabled]=\"lastPageDisplayed\"\n (click)=\"onSelectPage(currentPageIndex + 1)\">\n <ap-symbol symbolId=\"arrow-right-1\"></ap-symbol>\n </button>\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}.item-index-overview{position:absolute;line-height:36px}.pages{display:flex;justify-content:center;color:#178dfe}.pages ap-paginator-button,.pages button.mat-flat-button{vertical-align:middle}.pages button.mat-flat-button:not(.mat-accent):not([disabled]){color:#178dfe}.pages button.mat-flat-button:not(.mat-accent):not([disabled]):hover{background-color:#e8f4ff}.pages .ellipsis{display:inline-block;width:36px;line-height:36px;text-align:center;vertical-align:bottom}\n"], dependencies: [{ kind: "ngmodule", type: AgorapulseUiSymbolModule }, { kind: "component", type: i1.SymbolComponent, selector: "ap-symbol[symbolId]", inputs: ["color", "symbolId", "size", "state"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i2.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: PaginatorButtonComponent, selector: "ap-paginator-button", inputs: ["pageIndex", "selectedPageIndex"], outputs: ["selectPage"] }, { kind: "directive", type: NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
40
45
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: PaginatorComponent, decorators: [{
|
|
41
46
|
type: Component,
|
|
42
47
|
args: [{ selector: 'ap-paginator', changeDetection: ChangeDetectionStrategy.OnPush, imports: [AgorapulseUiSymbolModule, MatButtonModule, NgIf, PaginatorButtonComponent, NgForOf], standalone: true, template: "<div class=\"item-index-overview\">\n {{(currentPageIndex * itemCountPerPage) + 1}}\n -{{lastPageDisplayed ? itemCount : (currentPageIndex + 1) * itemCountPerPage}}\n of {{itemCount}}\n</div>\n\n<div class=\"pages\">\n <button class=\"square\"\n mat-flat-button\n [disabled]=\"firstPageDisplayed\"\n (click)=\"onSelectPage(currentPageIndex - 1)\">\n <ap-symbol symbolId=\"arrow-left-1\"></ap-symbol>\n </button>\n <ng-container *ngIf=\"pageCount > edgeSize + 1; else allPagesDisplayed\">\n <ng-container *ngIf=\"currentPageIndex >= edgeSize - 1; else oneOfFirstPagesDisplayed\">\n <ng-container *ngIf=\"currentPageIndex <= pageCount - edgeSize; else oneOfLastPagesDisplayed\">\n <ap-paginator-button [pageIndex]=\"0\"\n [selectedPageIndex]=\"currentPageIndex\"\n (selectPage)=\"onSelectPage($event)\">\n </ap-paginator-button>\n <span class=\"ellipsis\">...</span>\n <ng-container *ngFor=\"let dummy of [].constructor(middleSize); let i = index\">\n <ap-paginator-button [pageIndex]=\"currentPageIndex + i - (middleSize - 1) / 2\"\n [selectedPageIndex]=\"currentPageIndex\"\n (selectPage)=\"onSelectPage($event)\">\n </ap-paginator-button>\n </ng-container>\n <span class=\"ellipsis\">...</span>\n <ap-paginator-button [pageIndex]=\"pageCount - 1\"\n [selectedPageIndex]=\"currentPageIndex\"\n (selectPage)=\"onSelectPage($event)\">\n </ap-paginator-button>\n </ng-container>\n </ng-container>\n <ng-template #oneOfFirstPagesDisplayed>\n <ng-container *ngFor=\"let dummy of [].constructor(edgeSize); let i = index\">\n <ap-paginator-button [pageIndex]=\"i\"\n [selectedPageIndex]=\"currentPageIndex\"\n (selectPage)=\"onSelectPage($event)\">\n </ap-paginator-button>\n </ng-container>\n <span class=\"ellipsis\">...</span>\n <ap-paginator-button [pageIndex]=\"pageCount - 1\"\n [selectedPageIndex]=\"currentPageIndex\"\n (selectPage)=\"onSelectPage($event)\">\n </ap-paginator-button>\n </ng-template>\n <ng-template #oneOfLastPagesDisplayed>\n <ap-paginator-button [pageIndex]=\"0\"\n [selectedPageIndex]=\"currentPageIndex\"\n (selectPage)=\"onSelectPage($event)\">\n </ap-paginator-button>\n <span class=\"ellipsis\">...</span>\n <ng-container *ngFor=\"let dummy of [].constructor(edgeSize); let i = index\">\n <ap-paginator-button [pageIndex]=\"pageCount - edgeSize + i\"\n [selectedPageIndex]=\"currentPageIndex\"\n (selectPage)=\"onSelectPage($event)\">\n </ap-paginator-button>\n </ng-container>\n </ng-template>\n </ng-container>\n <ng-template #allPagesDisplayed>\n <ng-container *ngFor=\"let dummy of [].constructor(pageCount); let i = index\">\n <ap-paginator-button [pageIndex]=\"i\"\n [selectedPageIndex]=\"currentPageIndex\"\n (selectPage)=\"onSelectPage($event)\">\n </ap-paginator-button>\n </ng-container>\n </ng-template>\n <button class=\"square\"\n mat-flat-button\n [disabled]=\"lastPageDisplayed\"\n (click)=\"onSelectPage(currentPageIndex + 1)\">\n <ap-symbol symbolId=\"arrow-right-1\"></ap-symbol>\n </button>\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}.item-index-overview{position:absolute;line-height:36px}.pages{display:flex;justify-content:center;color:#178dfe}.pages ap-paginator-button,.pages button.mat-flat-button{vertical-align:middle}.pages button.mat-flat-button:not(.mat-accent):not([disabled]){color:#178dfe}.pages button.mat-flat-button:not(.mat-accent):not([disabled]):hover{background-color:#e8f4ff}.pages .ellipsis{display:inline-block;width:36px;line-height:36px;text-align:center;vertical-align:bottom}\n"] }]
|
|
43
|
-
}], propDecorators: { itemCount: [{
|
|
48
|
+
}], ctorParameters: function () { return [{ type: i1.SymbolRegistry }]; }, propDecorators: { itemCount: [{
|
|
44
49
|
type: Input
|
|
45
50
|
}], itemCountPerPage: [{
|
|
46
51
|
type: Input
|
|
@@ -53,4 +58,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImpor
|
|
|
53
58
|
}], currentPageIndexChange: [{
|
|
54
59
|
type: Output
|
|
55
60
|
}] } });
|
|
56
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnaW5hdG9yLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL2xpYnMvdWktY29tcG9uZW50cy9wYWdpbmF0b3Ivc3JjL3BhZ2luYXRvci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi9saWJzL3VpLWNvbXBvbmVudHMvcGFnaW5hdG9yL3NyYy9wYWdpbmF0b3IuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLHdCQUF3QixFQUFDLE1BQU0sdUJBQXVCLENBQUM7QUFDL0QsT0FBTyxFQUFDLE9BQU8sRUFBRSxJQUFJLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUM5QyxPQUFPLEVBQUMsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQWEsTUFBTSxFQUFnQixNQUFNLGVBQWUsQ0FBQztBQUN4SCxPQUFPLEVBQUMsZUFBZSxFQUFDLE1BQU0sMEJBQTBCLENBQUM7QUFDekQsT0FBTyxFQUFDLHdCQUF3QixFQUFDLE1BQU0sK0NBQStDLENBQUM7Ozs7QUFVdkYsTUFBTSxPQUFPLGtCQUFrQjtJQVIvQjtRQVNhLGNBQVMsR0FBRyxDQUFDLENBQUM7UUFDZCxxQkFBZ0IsR0FBRyxFQUFFLENBQUM7UUFDdEIsYUFBUSxHQUFHLENBQUMsQ0FBQztRQUNiLGVBQVUsR0FBRyxDQUFDLENBQUM7UUFFZixxQkFBZ0IsR0FBRyxDQUFDLENBQUM7UUFDcEIsMkJBQXNCLEdBQUcsSUFBSSxZQUFZLEVBQVUsQ0FBQztRQUV2RCxjQUFTLEdBQUcsQ0FBQyxDQUFDO1FBQ2QsdUJBQWtCLEdBQUcsSUFBSSxDQUFDO1FBQzFCLHNCQUFpQixHQUFHLElBQUksQ0FBQztLQW1CbkM7SUFqQkcsV0FBVyxDQUFDLE9BQXNCO1FBQzlCLHlDQUF5QztRQUN6QyxJQUFJLE9BQU8sQ0FBQyxVQUFVLElBQUksSUFBSSxDQUFDLFVBQVUsR0FBRyxDQUFDLEtBQUssQ0FBQyxFQUFFO1lBQ2pELElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztTQUNyQjtRQUNELElBQUksQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLElBQUksQ0FBQyxPQUFPLENBQUMsU0FBUyxJQUFJLE9BQU8sQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLElBQUksT0FBTyxDQUFDLGdCQUFnQixFQUFFO1lBQ3hHLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1lBQ25FLHlEQUF5RDtZQUN6RCxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsU0FBUyxHQUFHLENBQUMsRUFBRSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDO1lBQ3pGLElBQUksQ0FBQyxrQkFBa0IsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLEtBQUssQ0FBQyxDQUFDO1lBQ3RELElBQUksQ0FBQyxpQkFBaUIsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLEtBQUssSUFBSSxDQUFDLFNBQVMsR0FBRyxDQUFDLENBQUM7U0FDekU7SUFDTCxDQUFDO0lBRUQsWUFBWSxDQUFDLFNBQWlCO1FBQzFCLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDaEQsQ0FBQzs7K0dBN0JRLGtCQUFrQjttR0FBbEIsa0JBQWtCLDRUQ2QvQiwrOEhBNEVBLHc3TERqRWMsd0JBQXdCLGdLQUFFLGVBQWUsMlZBQUUsSUFBSSw2RkFBRSx3QkFBd0IscUlBQUUsT0FBTzsyRkFHbkYsa0JBQWtCO2tCQVI5QixTQUFTOytCQUNJLGNBQWMsbUJBR1AsdUJBQXVCLENBQUMsTUFBTSxXQUN0QyxDQUFDLHdCQUF3QixFQUFFLGVBQWUsRUFBRSxJQUFJLEVBQUUsd0JBQXdCLEVBQUUsT0FBTyxDQUFDLGNBQ2pGLElBQUk7OEJBR1AsU0FBUztzQkFBakIsS0FBSztnQkFDRyxnQkFBZ0I7c0JBQXhCLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxVQUFVO3NCQUFsQixLQUFLO2dCQUVHLGdCQUFnQjtzQkFBeEIsS0FBSztnQkFDSSxzQkFBc0I7c0JBQS9CLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0Fnb3JhcHVsc2VVaVN5bWJvbE1vZHVsZX0gZnJvbSAnQGFnb3JhcHVsc2UvdWktc3ltYm9sJztcbmltcG9ydCB7TmdGb3JPZiwgTmdJZn0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7Q2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25DaGFuZ2VzLCBPdXRwdXQsIFNpbXBsZUNoYW5nZXN9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtNYXRCdXR0b25Nb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2J1dHRvbic7XG5pbXBvcnQge1BhZ2luYXRvckJ1dHRvbkNvbXBvbmVudH0gZnJvbSAnLi9wYWdpbmF0b3ItYnV0dG9uL3BhZ2luYXRvci1idXR0b24uY29tcG9uZW50JztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdhcC1wYWdpbmF0b3InLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9wYWdpbmF0b3IuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL3BhZ2luYXRvci5jb21wb25lbnQuc2NzcyddLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIGltcG9ydHM6IFtBZ29yYXB1bHNlVWlTeW1ib2xNb2R1bGUsIE1hdEJ1dHRvbk1vZHVsZSwgTmdJZiwgUGFnaW5hdG9yQnV0dG9uQ29tcG9uZW50LCBOZ0Zvck9mXSxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxufSlcbmV4cG9ydCBjbGFzcyBQYWdpbmF0b3JDb21wb25lbnQgaW1wbGVtZW50cyBPbkNoYW5nZXMge1xuICAgIEBJbnB1dCgpIGl0ZW1Db3VudCA9IDA7XG4gICAgQElucHV0KCkgaXRlbUNvdW50UGVyUGFnZSA9IDEwO1xuICAgIEBJbnB1dCgpIGVkZ2VTaXplID0gNTtcbiAgICBASW5wdXQoKSBtaWRkbGVTaXplID0gMztcblxuICAgIEBJbnB1dCgpIGN1cnJlbnRQYWdlSW5kZXggPSAwO1xuICAgIEBPdXRwdXQoKSBjdXJyZW50UGFnZUluZGV4Q2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxudW1iZXI+KCk7XG5cbiAgICBwdWJsaWMgcGFnZUNvdW50ID0gMDtcbiAgICBwdWJsaWMgZmlyc3RQYWdlRGlzcGxheWVkID0gdHJ1ZTtcbiAgICBwdWJsaWMgbGFzdFBhZ2VEaXNwbGF5ZWQgPSB0cnVlO1xuXG4gICAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcykge1xuICAgICAgICAvLyBtYWtlIHN1cmUgbWlkZGxlIHNpemUgaXMgYW4gb2RkIG51bWJlclxuICAgICAgICBpZiAoY2hhbmdlcy5taWRkbGVTaXplICYmIHRoaXMubWlkZGxlU2l6ZSAlIDIgPT09IDApIHtcbiAgICAgICAgICAgIHRoaXMubWlkZGxlU2l6ZSsrO1xuICAgICAgICB9XG4gICAgICAgIGlmICgodGhpcy5pdGVtQ291bnRQZXJQYWdlICYmIChjaGFuZ2VzLml0ZW1Db3VudCB8fCBjaGFuZ2VzLml0ZW1Db3VudFBlclBhZ2UpKSB8fCBjaGFuZ2VzLmN1cnJlbnRQYWdlSW5kZXgpIHtcbiAgICAgICAgICAgIHRoaXMucGFnZUNvdW50ID0gTWF0aC5jZWlsKHRoaXMuaXRlbUNvdW50IC8gdGhpcy5pdGVtQ291bnRQZXJQYWdlKTtcbiAgICAgICAgICAgIC8vIG1ha2Ugc3VyZSBwYWdlIGluZGV4IGlzIGJldHdlZW4gbWluIGFuZCBtYXggcGFnZSBpbmRleFxuICAgICAgICAgICAgdGhpcy5jdXJyZW50UGFnZUluZGV4ID0gTWF0aC5tYXgoMCwgTWF0aC5taW4odGhpcy5wYWdlQ291bnQgLSAxLCB0aGlzLmN1cnJlbnRQYWdlSW5kZXgpKTtcbiAgICAgICAgICAgIHRoaXMuZmlyc3RQYWdlRGlzcGxheWVkID0gdGhpcy5jdXJyZW50UGFnZUluZGV4ID09PSAwO1xuICAgICAgICAgICAgdGhpcy5sYXN0UGFnZURpc3BsYXllZCA9IHRoaXMuY3VycmVudFBhZ2VJbmRleCA9PT0gdGhpcy5wYWdlQ291bnQgLSAxO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgb25TZWxlY3RQYWdlKHBhZ2VJbmRleDogbnVtYmVyKTogdm9pZCB7XG4gICAgICAgIHRoaXMuY3VycmVudFBhZ2VJbmRleENoYW5nZS5lbWl0KHBhZ2VJbmRleCk7XG4gICAgfVxufVxuIiwiPGRpdiBjbGFzcz1cIml0ZW0taW5kZXgtb3ZlcnZpZXdcIj5cbiAgICB7eyhjdXJyZW50UGFnZUluZGV4ICogaXRlbUNvdW50UGVyUGFnZSkgKyAxfX1cbiAgICAte3tsYXN0UGFnZURpc3BsYXllZCA/IGl0ZW1Db3VudCA6IChjdXJyZW50UGFnZUluZGV4ICsgMSkgKiBpdGVtQ291bnRQZXJQYWdlfX1cbiAgICBvZiB7e2l0ZW1Db3VudH19XG48L2Rpdj5cblxuPGRpdiBjbGFzcz1cInBhZ2VzXCI+XG4gICAgPGJ1dHRvbiBjbGFzcz1cInNxdWFyZVwiXG4gICAgICAgICAgICBtYXQtZmxhdC1idXR0b25cbiAgICAgICAgICAgIFtkaXNhYmxlZF09XCJmaXJzdFBhZ2VEaXNwbGF5ZWRcIlxuICAgICAgICAgICAgKGNsaWNrKT1cIm9uU2VsZWN0UGFnZShjdXJyZW50UGFnZUluZGV4IC0gMSlcIj5cbiAgICAgICAgPGFwLXN5bWJvbCBzeW1ib2xJZD1cImFycm93LWxlZnQtMVwiPjwvYXAtc3ltYm9sPlxuICAgIDwvYnV0dG9uPlxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJwYWdlQ291bnQgPiBlZGdlU2l6ZSArIDE7IGVsc2UgYWxsUGFnZXNEaXNwbGF5ZWRcIj5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImN1cnJlbnRQYWdlSW5kZXggPj0gZWRnZVNpemUgLSAxOyBlbHNlIG9uZU9mRmlyc3RQYWdlc0Rpc3BsYXllZFwiPlxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImN1cnJlbnRQYWdlSW5kZXggPD0gcGFnZUNvdW50IC0gZWRnZVNpemU7IGVsc2Ugb25lT2ZMYXN0UGFnZXNEaXNwbGF5ZWRcIj5cbiAgICAgICAgICAgICAgICA8YXAtcGFnaW5hdG9yLWJ1dHRvbiBbcGFnZUluZGV4XT1cIjBcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtzZWxlY3RlZFBhZ2VJbmRleF09XCJjdXJyZW50UGFnZUluZGV4XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoc2VsZWN0UGFnZSk9XCJvblNlbGVjdFBhZ2UoJGV2ZW50KVwiPlxuICAgICAgICAgICAgICAgIDwvYXAtcGFnaW5hdG9yLWJ1dHRvbj5cbiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImVsbGlwc2lzXCI+Li4uPC9zcGFuPlxuICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGR1bW15IG9mIFtdLmNvbnN0cnVjdG9yKG1pZGRsZVNpemUpOyBsZXQgaSA9IGluZGV4XCI+XG4gICAgICAgICAgICAgICAgICAgIDxhcC1wYWdpbmF0b3ItYnV0dG9uIFtwYWdlSW5kZXhdPVwiY3VycmVudFBhZ2VJbmRleCArIGkgLSAobWlkZGxlU2l6ZSAtIDEpIC8gMlwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtzZWxlY3RlZFBhZ2VJbmRleF09XCJjdXJyZW50UGFnZUluZGV4XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKHNlbGVjdFBhZ2UpPVwib25TZWxlY3RQYWdlKCRldmVudClcIj5cbiAgICAgICAgICAgICAgICAgICAgPC9hcC1wYWdpbmF0b3ItYnV0dG9uPlxuICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZWxsaXBzaXNcIj4uLi48L3NwYW4+XG4gICAgICAgICAgICAgICAgPGFwLXBhZ2luYXRvci1idXR0b24gW3BhZ2VJbmRleF09XCJwYWdlQ291bnQgLSAxXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbc2VsZWN0ZWRQYWdlSW5kZXhdPVwiY3VycmVudFBhZ2VJbmRleFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKHNlbGVjdFBhZ2UpPVwib25TZWxlY3RQYWdlKCRldmVudClcIj5cbiAgICAgICAgICAgICAgICA8L2FwLXBhZ2luYXRvci1idXR0b24+XG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgIDxuZy10ZW1wbGF0ZSAjb25lT2ZGaXJzdFBhZ2VzRGlzcGxheWVkPlxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgZHVtbXkgb2YgW10uY29uc3RydWN0b3IoZWRnZVNpemUpOyBsZXQgaSA9IGluZGV4XCI+XG4gICAgICAgICAgICAgICAgPGFwLXBhZ2luYXRvci1idXR0b24gW3BhZ2VJbmRleF09XCJpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbc2VsZWN0ZWRQYWdlSW5kZXhdPVwiY3VycmVudFBhZ2VJbmRleFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKHNlbGVjdFBhZ2UpPVwib25TZWxlY3RQYWdlKCRldmVudClcIj5cbiAgICAgICAgICAgICAgICA8L2FwLXBhZ2luYXRvci1idXR0b24+XG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZWxsaXBzaXNcIj4uLi48L3NwYW4+XG4gICAgICAgICAgICA8YXAtcGFnaW5hdG9yLWJ1dHRvbiBbcGFnZUluZGV4XT1cInBhZ2VDb3VudCAtIDFcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3NlbGVjdGVkUGFnZUluZGV4XT1cImN1cnJlbnRQYWdlSW5kZXhcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKHNlbGVjdFBhZ2UpPVwib25TZWxlY3RQYWdlKCRldmVudClcIj5cbiAgICAgICAgICAgIDwvYXAtcGFnaW5hdG9yLWJ1dHRvbj5cbiAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgPG5nLXRlbXBsYXRlICNvbmVPZkxhc3RQYWdlc0Rpc3BsYXllZD5cbiAgICAgICAgICAgIDxhcC1wYWdpbmF0b3ItYnV0dG9uIFtwYWdlSW5kZXhdPVwiMFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbc2VsZWN0ZWRQYWdlSW5kZXhdPVwiY3VycmVudFBhZ2VJbmRleFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoc2VsZWN0UGFnZSk9XCJvblNlbGVjdFBhZ2UoJGV2ZW50KVwiPlxuICAgICAgICAgICAgPC9hcC1wYWdpbmF0b3ItYnV0dG9uPlxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJlbGxpcHNpc1wiPi4uLjwvc3Bhbj5cbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGR1bW15IG9mIFtdLmNvbnN0cnVjdG9yKGVkZ2VTaXplKTsgbGV0IGkgPSBpbmRleFwiPlxuICAgICAgICAgICAgICAgIDxhcC1wYWdpbmF0b3ItYnV0dG9uIFtwYWdlSW5kZXhdPVwicGFnZUNvdW50IC0gZWRnZVNpemUgKyBpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbc2VsZWN0ZWRQYWdlSW5kZXhdPVwiY3VycmVudFBhZ2VJbmRleFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKHNlbGVjdFBhZ2UpPVwib25TZWxlY3RQYWdlKCRldmVudClcIj5cbiAgICAgICAgICAgICAgICA8L2FwLXBhZ2luYXRvci1idXR0b24+XG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8bmctdGVtcGxhdGUgI2FsbFBhZ2VzRGlzcGxheWVkPlxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBkdW1teSBvZiBbXS5jb25zdHJ1Y3RvcihwYWdlQ291bnQpOyBsZXQgaSA9IGluZGV4XCI+XG4gICAgICAgICAgICA8YXAtcGFnaW5hdG9yLWJ1dHRvbiBbcGFnZUluZGV4XT1cImlcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3NlbGVjdGVkUGFnZUluZGV4XT1cImN1cnJlbnRQYWdlSW5kZXhcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKHNlbGVjdFBhZ2UpPVwib25TZWxlY3RQYWdlKCRldmVudClcIj5cbiAgICAgICAgICAgIDwvYXAtcGFnaW5hdG9yLWJ1dHRvbj5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgPC9uZy10ZW1wbGF0ZT5cbiAgICA8YnV0dG9uIGNsYXNzPVwic3F1YXJlXCJcbiAgICAgICAgICAgIG1hdC1mbGF0LWJ1dHRvblxuICAgICAgICAgICAgW2Rpc2FibGVkXT1cImxhc3RQYWdlRGlzcGxheWVkXCJcbiAgICAgICAgICAgIChjbGljayk9XCJvblNlbGVjdFBhZ2UoY3VycmVudFBhZ2VJbmRleCArIDEpXCI+XG4gICAgICAgIDxhcC1zeW1ib2wgc3ltYm9sSWQ9XCJhcnJvdy1yaWdodC0xXCI+PC9hcC1zeW1ib2w+XG4gICAgPC9idXR0b24+XG48L2Rpdj5cbiJdfQ==
|
|
61
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnaW5hdG9yLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL2xpYnMvdWktY29tcG9uZW50cy9wYWdpbmF0b3Ivc3JjL3BhZ2luYXRvci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi9saWJzL3VpLWNvbXBvbmVudHMvcGFnaW5hdG9yL3NyYy9wYWdpbmF0b3IuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLHdCQUF3QixFQUFFLFlBQVksRUFBRSxhQUFhLEVBQWlCLE1BQU0sdUJBQXVCLENBQUM7QUFDNUcsT0FBTyxFQUFDLE9BQU8sRUFBRSxJQUFJLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUM5QyxPQUFPLEVBQUMsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQWEsTUFBTSxFQUFnQixNQUFNLGVBQWUsQ0FBQztBQUN4SCxPQUFPLEVBQUMsZUFBZSxFQUFDLE1BQU0sMEJBQTBCLENBQUM7QUFDekQsT0FBTyxFQUFDLHdCQUF3QixFQUFDLE1BQU0sK0NBQStDLENBQUM7Ozs7QUFVdkYsTUFBTSxPQUFPLGtCQUFrQjtJQWEzQixZQUFtQixjQUE4QjtRQUE5QixtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7UUFaeEMsY0FBUyxHQUFHLENBQUMsQ0FBQztRQUNkLHFCQUFnQixHQUFHLEVBQUUsQ0FBQztRQUN0QixhQUFRLEdBQUcsQ0FBQyxDQUFDO1FBQ2IsZUFBVSxHQUFHLENBQUMsQ0FBQztRQUVmLHFCQUFnQixHQUFHLENBQUMsQ0FBQztRQUNwQiwyQkFBc0IsR0FBRyxJQUFJLFlBQVksRUFBVSxDQUFDO1FBRXZELGNBQVMsR0FBRyxDQUFDLENBQUM7UUFDZCx1QkFBa0IsR0FBRyxJQUFJLENBQUM7UUFDMUIsc0JBQWlCLEdBQUcsSUFBSSxDQUFDO1FBRzVCLElBQUksQ0FBQyxjQUFjLENBQUMsZUFBZSxDQUFDO1lBQ2hDLFlBQVk7WUFDWixhQUFhO1NBQ2hCLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFRCxXQUFXLENBQUMsT0FBc0I7UUFDOUIseUNBQXlDO1FBQ3pDLElBQUksT0FBTyxDQUFDLFVBQVUsSUFBSSxJQUFJLENBQUMsVUFBVSxHQUFHLENBQUMsS0FBSyxDQUFDLEVBQUU7WUFDakQsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO1NBQ3JCO1FBQ0QsSUFBSSxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsSUFBSSxDQUFDLE9BQU8sQ0FBQyxTQUFTLElBQUksT0FBTyxDQUFDLGdCQUFnQixDQUFDLENBQUMsSUFBSSxPQUFPLENBQUMsZ0JBQWdCLEVBQUU7WUFDeEcsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDLENBQUM7WUFDbkUseURBQXlEO1lBQ3pELElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxTQUFTLEdBQUcsQ0FBQyxFQUFFLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUM7WUFDekYsSUFBSSxDQUFDLGtCQUFrQixHQUFHLElBQUksQ0FBQyxnQkFBZ0IsS0FBSyxDQUFDLENBQUM7WUFDdEQsSUFBSSxDQUFDLGlCQUFpQixHQUFHLElBQUksQ0FBQyxnQkFBZ0IsS0FBSyxJQUFJLENBQUMsU0FBUyxHQUFHLENBQUMsQ0FBQztTQUN6RTtJQUNMLENBQUM7SUFFRCxZQUFZLENBQUMsU0FBaUI7UUFDMUIsSUFBSSxDQUFDLHNCQUFzQixDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUNoRCxDQUFDOzsrR0FwQ1Esa0JBQWtCO21HQUFsQixrQkFBa0IsNFRDZC9CLCs4SEE0RUEsdzdMRGpFYyx3QkFBd0IsZ0tBQUUsZUFBZSwyVkFBRSxJQUFJLDZGQUFFLHdCQUF3QixxSUFBRSxPQUFPOzJGQUduRixrQkFBa0I7a0JBUjlCLFNBQVM7K0JBQ0ksY0FBYyxtQkFHUCx1QkFBdUIsQ0FBQyxNQUFNLFdBQ3RDLENBQUMsd0JBQXdCLEVBQUUsZUFBZSxFQUFFLElBQUksRUFBRSx3QkFBd0IsRUFBRSxPQUFPLENBQUMsY0FDakYsSUFBSTtxR0FHUCxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLGdCQUFnQjtzQkFBeEIsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBRUcsZ0JBQWdCO3NCQUF4QixLQUFLO2dCQUNJLHNCQUFzQjtzQkFBL0IsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7QWdvcmFwdWxzZVVpU3ltYm9sTW9kdWxlLCBhcEFycm93TGVmdDEsIGFwQXJyb3dSaWdodDEsIFN5bWJvbFJlZ2lzdHJ5fSBmcm9tICdAYWdvcmFwdWxzZS91aS1zeW1ib2wnO1xuaW1wb3J0IHtOZ0Zvck9mLCBOZ0lmfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkNoYW5nZXMsIE91dHB1dCwgU2ltcGxlQ2hhbmdlc30gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge01hdEJ1dHRvbk1vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvYnV0dG9uJztcbmltcG9ydCB7UGFnaW5hdG9yQnV0dG9uQ29tcG9uZW50fSBmcm9tICcuL3BhZ2luYXRvci1idXR0b24vcGFnaW5hdG9yLWJ1dHRvbi5jb21wb25lbnQnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2FwLXBhZ2luYXRvcicsXG4gICAgdGVtcGxhdGVVcmw6ICcuL3BhZ2luYXRvci5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vcGFnaW5hdG9yLmNvbXBvbmVudC5zY3NzJ10sXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgaW1wb3J0czogW0Fnb3JhcHVsc2VVaVN5bWJvbE1vZHVsZSwgTWF0QnV0dG9uTW9kdWxlLCBOZ0lmLCBQYWdpbmF0b3JCdXR0b25Db21wb25lbnQsIE5nRm9yT2ZdLFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG59KVxuZXhwb3J0IGNsYXNzIFBhZ2luYXRvckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uQ2hhbmdlcyB7XG4gICAgQElucHV0KCkgaXRlbUNvdW50ID0gMDtcbiAgICBASW5wdXQoKSBpdGVtQ291bnRQZXJQYWdlID0gMTA7XG4gICAgQElucHV0KCkgZWRnZVNpemUgPSA1O1xuICAgIEBJbnB1dCgpIG1pZGRsZVNpemUgPSAzO1xuXG4gICAgQElucHV0KCkgY3VycmVudFBhZ2VJbmRleCA9IDA7XG4gICAgQE91dHB1dCgpIGN1cnJlbnRQYWdlSW5kZXhDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPG51bWJlcj4oKTtcblxuICAgIHB1YmxpYyBwYWdlQ291bnQgPSAwO1xuICAgIHB1YmxpYyBmaXJzdFBhZ2VEaXNwbGF5ZWQgPSB0cnVlO1xuICAgIHB1YmxpYyBsYXN0UGFnZURpc3BsYXllZCA9IHRydWU7XG5cbiAgICBjb25zdHJ1Y3RvcihwdWJsaWMgc3ltYm9sUmVnaXN0cnk6IFN5bWJvbFJlZ2lzdHJ5KSB7XG4gICAgICAgIHRoaXMuc3ltYm9sUmVnaXN0cnkucmVnaXN0ZXJTeW1ib2xzKFtcbiAgICAgICAgICAgIGFwQXJyb3dMZWZ0MSxcbiAgICAgICAgICAgIGFwQXJyb3dSaWdodDFcbiAgICAgICAgXSk7XG4gICAgfVxuXG4gICAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcykge1xuICAgICAgICAvLyBtYWtlIHN1cmUgbWlkZGxlIHNpemUgaXMgYW4gb2RkIG51bWJlclxuICAgICAgICBpZiAoY2hhbmdlcy5taWRkbGVTaXplICYmIHRoaXMubWlkZGxlU2l6ZSAlIDIgPT09IDApIHtcbiAgICAgICAgICAgIHRoaXMubWlkZGxlU2l6ZSsrO1xuICAgICAgICB9XG4gICAgICAgIGlmICgodGhpcy5pdGVtQ291bnRQZXJQYWdlICYmIChjaGFuZ2VzLml0ZW1Db3VudCB8fCBjaGFuZ2VzLml0ZW1Db3VudFBlclBhZ2UpKSB8fCBjaGFuZ2VzLmN1cnJlbnRQYWdlSW5kZXgpIHtcbiAgICAgICAgICAgIHRoaXMucGFnZUNvdW50ID0gTWF0aC5jZWlsKHRoaXMuaXRlbUNvdW50IC8gdGhpcy5pdGVtQ291bnRQZXJQYWdlKTtcbiAgICAgICAgICAgIC8vIG1ha2Ugc3VyZSBwYWdlIGluZGV4IGlzIGJldHdlZW4gbWluIGFuZCBtYXggcGFnZSBpbmRleFxuICAgICAgICAgICAgdGhpcy5jdXJyZW50UGFnZUluZGV4ID0gTWF0aC5tYXgoMCwgTWF0aC5taW4odGhpcy5wYWdlQ291bnQgLSAxLCB0aGlzLmN1cnJlbnRQYWdlSW5kZXgpKTtcbiAgICAgICAgICAgIHRoaXMuZmlyc3RQYWdlRGlzcGxheWVkID0gdGhpcy5jdXJyZW50UGFnZUluZGV4ID09PSAwO1xuICAgICAgICAgICAgdGhpcy5sYXN0UGFnZURpc3BsYXllZCA9IHRoaXMuY3VycmVudFBhZ2VJbmRleCA9PT0gdGhpcy5wYWdlQ291bnQgLSAxO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgb25TZWxlY3RQYWdlKHBhZ2VJbmRleDogbnVtYmVyKTogdm9pZCB7XG4gICAgICAgIHRoaXMuY3VycmVudFBhZ2VJbmRleENoYW5nZS5lbWl0KHBhZ2VJbmRleCk7XG4gICAgfVxufVxuIiwiPGRpdiBjbGFzcz1cIml0ZW0taW5kZXgtb3ZlcnZpZXdcIj5cbiAgICB7eyhjdXJyZW50UGFnZUluZGV4ICogaXRlbUNvdW50UGVyUGFnZSkgKyAxfX1cbiAgICAte3tsYXN0UGFnZURpc3BsYXllZCA/IGl0ZW1Db3VudCA6IChjdXJyZW50UGFnZUluZGV4ICsgMSkgKiBpdGVtQ291bnRQZXJQYWdlfX1cbiAgICBvZiB7e2l0ZW1Db3VudH19XG48L2Rpdj5cblxuPGRpdiBjbGFzcz1cInBhZ2VzXCI+XG4gICAgPGJ1dHRvbiBjbGFzcz1cInNxdWFyZVwiXG4gICAgICAgICAgICBtYXQtZmxhdC1idXR0b25cbiAgICAgICAgICAgIFtkaXNhYmxlZF09XCJmaXJzdFBhZ2VEaXNwbGF5ZWRcIlxuICAgICAgICAgICAgKGNsaWNrKT1cIm9uU2VsZWN0UGFnZShjdXJyZW50UGFnZUluZGV4IC0gMSlcIj5cbiAgICAgICAgPGFwLXN5bWJvbCBzeW1ib2xJZD1cImFycm93LWxlZnQtMVwiPjwvYXAtc3ltYm9sPlxuICAgIDwvYnV0dG9uPlxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJwYWdlQ291bnQgPiBlZGdlU2l6ZSArIDE7IGVsc2UgYWxsUGFnZXNEaXNwbGF5ZWRcIj5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImN1cnJlbnRQYWdlSW5kZXggPj0gZWRnZVNpemUgLSAxOyBlbHNlIG9uZU9mRmlyc3RQYWdlc0Rpc3BsYXllZFwiPlxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImN1cnJlbnRQYWdlSW5kZXggPD0gcGFnZUNvdW50IC0gZWRnZVNpemU7IGVsc2Ugb25lT2ZMYXN0UGFnZXNEaXNwbGF5ZWRcIj5cbiAgICAgICAgICAgICAgICA8YXAtcGFnaW5hdG9yLWJ1dHRvbiBbcGFnZUluZGV4XT1cIjBcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtzZWxlY3RlZFBhZ2VJbmRleF09XCJjdXJyZW50UGFnZUluZGV4XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoc2VsZWN0UGFnZSk9XCJvblNlbGVjdFBhZ2UoJGV2ZW50KVwiPlxuICAgICAgICAgICAgICAgIDwvYXAtcGFnaW5hdG9yLWJ1dHRvbj5cbiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImVsbGlwc2lzXCI+Li4uPC9zcGFuPlxuICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGR1bW15IG9mIFtdLmNvbnN0cnVjdG9yKG1pZGRsZVNpemUpOyBsZXQgaSA9IGluZGV4XCI+XG4gICAgICAgICAgICAgICAgICAgIDxhcC1wYWdpbmF0b3ItYnV0dG9uIFtwYWdlSW5kZXhdPVwiY3VycmVudFBhZ2VJbmRleCArIGkgLSAobWlkZGxlU2l6ZSAtIDEpIC8gMlwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtzZWxlY3RlZFBhZ2VJbmRleF09XCJjdXJyZW50UGFnZUluZGV4XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKHNlbGVjdFBhZ2UpPVwib25TZWxlY3RQYWdlKCRldmVudClcIj5cbiAgICAgICAgICAgICAgICAgICAgPC9hcC1wYWdpbmF0b3ItYnV0dG9uPlxuICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZWxsaXBzaXNcIj4uLi48L3NwYW4+XG4gICAgICAgICAgICAgICAgPGFwLXBhZ2luYXRvci1idXR0b24gW3BhZ2VJbmRleF09XCJwYWdlQ291bnQgLSAxXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbc2VsZWN0ZWRQYWdlSW5kZXhdPVwiY3VycmVudFBhZ2VJbmRleFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKHNlbGVjdFBhZ2UpPVwib25TZWxlY3RQYWdlKCRldmVudClcIj5cbiAgICAgICAgICAgICAgICA8L2FwLXBhZ2luYXRvci1idXR0b24+XG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgIDxuZy10ZW1wbGF0ZSAjb25lT2ZGaXJzdFBhZ2VzRGlzcGxheWVkPlxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgZHVtbXkgb2YgW10uY29uc3RydWN0b3IoZWRnZVNpemUpOyBsZXQgaSA9IGluZGV4XCI+XG4gICAgICAgICAgICAgICAgPGFwLXBhZ2luYXRvci1idXR0b24gW3BhZ2VJbmRleF09XCJpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbc2VsZWN0ZWRQYWdlSW5kZXhdPVwiY3VycmVudFBhZ2VJbmRleFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKHNlbGVjdFBhZ2UpPVwib25TZWxlY3RQYWdlKCRldmVudClcIj5cbiAgICAgICAgICAgICAgICA8L2FwLXBhZ2luYXRvci1idXR0b24+XG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZWxsaXBzaXNcIj4uLi48L3NwYW4+XG4gICAgICAgICAgICA8YXAtcGFnaW5hdG9yLWJ1dHRvbiBbcGFnZUluZGV4XT1cInBhZ2VDb3VudCAtIDFcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3NlbGVjdGVkUGFnZUluZGV4XT1cImN1cnJlbnRQYWdlSW5kZXhcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKHNlbGVjdFBhZ2UpPVwib25TZWxlY3RQYWdlKCRldmVudClcIj5cbiAgICAgICAgICAgIDwvYXAtcGFnaW5hdG9yLWJ1dHRvbj5cbiAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgPG5nLXRlbXBsYXRlICNvbmVPZkxhc3RQYWdlc0Rpc3BsYXllZD5cbiAgICAgICAgICAgIDxhcC1wYWdpbmF0b3ItYnV0dG9uIFtwYWdlSW5kZXhdPVwiMFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbc2VsZWN0ZWRQYWdlSW5kZXhdPVwiY3VycmVudFBhZ2VJbmRleFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoc2VsZWN0UGFnZSk9XCJvblNlbGVjdFBhZ2UoJGV2ZW50KVwiPlxuICAgICAgICAgICAgPC9hcC1wYWdpbmF0b3ItYnV0dG9uPlxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJlbGxpcHNpc1wiPi4uLjwvc3Bhbj5cbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGR1bW15IG9mIFtdLmNvbnN0cnVjdG9yKGVkZ2VTaXplKTsgbGV0IGkgPSBpbmRleFwiPlxuICAgICAgICAgICAgICAgIDxhcC1wYWdpbmF0b3ItYnV0dG9uIFtwYWdlSW5kZXhdPVwicGFnZUNvdW50IC0gZWRnZVNpemUgKyBpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbc2VsZWN0ZWRQYWdlSW5kZXhdPVwiY3VycmVudFBhZ2VJbmRleFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKHNlbGVjdFBhZ2UpPVwib25TZWxlY3RQYWdlKCRldmVudClcIj5cbiAgICAgICAgICAgICAgICA8L2FwLXBhZ2luYXRvci1idXR0b24+XG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8bmctdGVtcGxhdGUgI2FsbFBhZ2VzRGlzcGxheWVkPlxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBkdW1teSBvZiBbXS5jb25zdHJ1Y3RvcihwYWdlQ291bnQpOyBsZXQgaSA9IGluZGV4XCI+XG4gICAgICAgICAgICA8YXAtcGFnaW5hdG9yLWJ1dHRvbiBbcGFnZUluZGV4XT1cImlcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3NlbGVjdGVkUGFnZUluZGV4XT1cImN1cnJlbnRQYWdlSW5kZXhcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKHNlbGVjdFBhZ2UpPVwib25TZWxlY3RQYWdlKCRldmVudClcIj5cbiAgICAgICAgICAgIDwvYXAtcGFnaW5hdG9yLWJ1dHRvbj5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgPC9uZy10ZW1wbGF0ZT5cbiAgICA8YnV0dG9uIGNsYXNzPVwic3F1YXJlXCJcbiAgICAgICAgICAgIG1hdC1mbGF0LWJ1dHRvblxuICAgICAgICAgICAgW2Rpc2FibGVkXT1cImxhc3RQYWdlRGlzcGxheWVkXCJcbiAgICAgICAgICAgIChjbGljayk9XCJvblNlbGVjdFBhZ2UoY3VycmVudFBhZ2VJbmRleCArIDEpXCI+XG4gICAgICAgIDxhcC1zeW1ib2wgc3ltYm9sSWQ9XCJhcnJvdy1yaWdodC0xXCI+PC9hcC1zeW1ib2w+XG4gICAgPC9idXR0b24+XG48L2Rpdj5cbiJdfQ==
|