@sarasanalytics-com/design-system 0.0.4 → 0.0.5
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/esm2022/lib/calendar-header/calendar-header.component.mjs +20 -22
- package/esm2022/lib/chips/chips.component.mjs +1 -1
- package/esm2022/lib/datepicker/datepicker.component.mjs +1 -1
- package/esm2022/lib/grid-cell/grid-cell.component.mjs +1 -1
- package/esm2022/lib/header/header.component.mjs +1 -1
- package/fesm2022/sarasanalytics-com-design-system.mjs +20 -21
- package/fesm2022/sarasanalytics-com-design-system.mjs.map +1 -1
- package/package.json +1 -1
|
@@ -3,7 +3,6 @@ import { MAT_DATE_FORMATS, } from '@angular/material/core';
|
|
|
3
3
|
import { Subject } from 'rxjs';
|
|
4
4
|
import { takeUntil } from 'rxjs/operators';
|
|
5
5
|
import { MatIconModule } from '@angular/material/icon';
|
|
6
|
-
import { MatIconButton } from '@angular/material/button';
|
|
7
6
|
import { MatButton } from '@angular/material/button';
|
|
8
7
|
import { NgFor } from '@angular/common';
|
|
9
8
|
import * as i0 from "@angular/core";
|
|
@@ -39,14 +38,14 @@ export class CalendarHeaderComponent {
|
|
|
39
38
|
}
|
|
40
39
|
// active date label rendered between the arrow buttons
|
|
41
40
|
ngOnInit() {
|
|
42
|
-
|
|
41
|
+
const currentRange = this.calendar.selected;
|
|
43
42
|
currentRange?.start.setHours(0, 0, 0, 0);
|
|
44
43
|
currentRange?.end.setHours(0, 0, 0, 0);
|
|
45
44
|
// To pre-select a preset when the calendar opens.
|
|
46
45
|
// Match the already selected date range with the date-ranges of all presets.
|
|
47
46
|
// If already selected date range matches with a preset, pre-select it.
|
|
48
47
|
for (let i = 0; i < this.presets.length; i++) {
|
|
49
|
-
|
|
48
|
+
const tempRange = this.findDate(this.presets[i]);
|
|
50
49
|
if (tempRange.newStart.getTime() == currentRange.start.getTime() && tempRange.newEnd.getTime() == currentRange.end.getTime()) {
|
|
51
50
|
this.selectedPreset = this.presets[i];
|
|
52
51
|
break;
|
|
@@ -74,22 +73,22 @@ export class CalendarHeaderComponent {
|
|
|
74
73
|
: "month";
|
|
75
74
|
}
|
|
76
75
|
presetChanged(evt) {
|
|
77
|
-
|
|
76
|
+
const newRange = this.findDate(evt.target.value);
|
|
78
77
|
this.calendar.activeDate = newRange.newStart;
|
|
79
78
|
this.picker.select(newRange.newStart);
|
|
80
79
|
this.picker.select(newRange.newEnd);
|
|
81
80
|
}
|
|
82
81
|
findDate(selected) {
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
82
|
+
const date = this.today.getDate();
|
|
83
|
+
const month = this.today.getMonth();
|
|
84
|
+
const year = this.today.getFullYear();
|
|
86
85
|
let newRange;
|
|
87
86
|
this.selectedPreset = selected;
|
|
88
87
|
switch (selected) {
|
|
89
88
|
case "This Quarter": {
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
89
|
+
const thisQuarterMonth = Math.floor(month / 3) * 3;
|
|
90
|
+
const start = this.dateAdapter.createDate(year, thisQuarterMonth, 1);
|
|
91
|
+
const end = this.dateAdapter.createDate(year, thisQuarterMonth + 3, 1);
|
|
93
92
|
newRange = {
|
|
94
93
|
newStart: start,
|
|
95
94
|
newEnd: end,
|
|
@@ -97,9 +96,9 @@ export class CalendarHeaderComponent {
|
|
|
97
96
|
break;
|
|
98
97
|
}
|
|
99
98
|
case "Last Quarter": {
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
99
|
+
const lastQuarterMonth = (Math.floor(month / 3) * 3) - 3;
|
|
100
|
+
const start = this.dateAdapter.createDate(year, lastQuarterMonth, 1);
|
|
101
|
+
const end = this.dateAdapter.createDate(year, lastQuarterMonth + 3, 1);
|
|
103
102
|
newRange = {
|
|
104
103
|
newStart: start,
|
|
105
104
|
newEnd: end,
|
|
@@ -107,8 +106,8 @@ export class CalendarHeaderComponent {
|
|
|
107
106
|
break;
|
|
108
107
|
}
|
|
109
108
|
case "Last 6 Months": {
|
|
110
|
-
|
|
111
|
-
|
|
109
|
+
const end = this.dateAdapter.createDate(year, month, date);
|
|
110
|
+
const start = this.dateAdapter.addCalendarMonths(end, -6);
|
|
112
111
|
newRange = {
|
|
113
112
|
newStart: start,
|
|
114
113
|
newEnd: end,
|
|
@@ -116,8 +115,8 @@ export class CalendarHeaderComponent {
|
|
|
116
115
|
break;
|
|
117
116
|
}
|
|
118
117
|
case "This Year": {
|
|
119
|
-
|
|
120
|
-
|
|
118
|
+
const start = this.dateAdapter.createDate(year, 0, 1);
|
|
119
|
+
const end = this.dateAdapter.createDate(year, 11, 31);
|
|
121
120
|
newRange = {
|
|
122
121
|
newStart: start,
|
|
123
122
|
newEnd: end,
|
|
@@ -125,8 +124,8 @@ export class CalendarHeaderComponent {
|
|
|
125
124
|
break;
|
|
126
125
|
}
|
|
127
126
|
case "Last Year": {
|
|
128
|
-
|
|
129
|
-
|
|
127
|
+
const start = this.dateAdapter.createDate(year - 1, 0, 1);
|
|
128
|
+
const end = this.dateAdapter.createDate(year - 1, 11, 31);
|
|
130
129
|
newRange = {
|
|
131
130
|
newStart: start,
|
|
132
131
|
newEnd: end,
|
|
@@ -153,12 +152,11 @@ export class CalendarHeaderComponent {
|
|
|
153
152
|
this.destroy$.next(); // will trigger unsubscription in takeUntil
|
|
154
153
|
}
|
|
155
154
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: CalendarHeaderComponent, deps: [{ token: i1.MatCalendar }, { token: i2.DateAdapter }, { token: i1.MatDateRangePicker }, { token: MAT_DATE_FORMATS }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
156
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.2.4", type: CalendarHeaderComponent, isStandalone: true, selector: "ng-component", ngImport: i0, template: "<div class=\"range-preset\">\n <div class=\"preset\" *ngFor=\"let preset of presets, let i = index\">\n <label class=\"preset-label {{preset == selectedPreset ? 'preset-selected' : ''}}\"\n for=\"preset-radio-{{i}}\">{{preset}}</label>\n <input class=\"preset-radio\" (change)=\"presetChanged($event)\" [checked]=\"preset == selectedPreset\"\n id=\"preset-radio-{{i}}\" type=\"radio\" name=\"preset-radios-{{uuid}}\" value=\"{{preset}}\">\n </div>\n</div>\n\n<div class=\"header\">\n <button mat-icon-button (click)=\"previousClicked('month')\">\n <mat-icon>keyboard_arrow_left</mat-icon>\n </button>\n\n <button mat-button class=\"header-label\" (click)=\"changeView()\">{{ periodLabel }}</button>\n\n <button mat-icon-button (click)=\"nextClicked('month')\">\n <mat-icon>keyboard_arrow_right</mat-icon>\n </button>\n</div>\n", styles: [".header{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--grey-50);margin-top:-4px;margin-bottom:var(--small-8px, 8px)}.header-label{font-family:Roboto;font-size:14px;font-style:normal;font-weight:400;line-height:20px;letter-spacing:.25px}.range-preset{width:180px;position:absolute;padding:var(--small-12px, 12px) 0 0 var(--medium-24px, 24px);box-sizing:border-box;margin-top:-9px;margin-left:-180px;height:356px;background-color:#fff;border-top:1px solid var(--grey-50);border-left:1px solid var(--grey-50);border-bottom:1px solid var(--grey-50);border-bottom-left-radius:var(--small-8px, 8px);border-top-left-radius:var(--small-8px, 8px);gap:var(--small-8px, 8px);display:flex;flex-direction:column}.preset{padding:var(--small-8px, 8px);display:flex;gap:var(--small-4px, 4px);font-size:14px;font-style:normal;font-weight:400;line-height:20px;letter-spacing:.25px;color:var(--text-mediumemphasis);margin-bottom:-5px}.preset-radio,.preset-label{cursor:pointer}.preset-selected{color:var(--primary-500)}\n"], dependencies: [{ kind: "
|
|
155
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.2.4", type: CalendarHeaderComponent, isStandalone: true, selector: "ng-component", ngImport: i0, template: "<div class=\"range-preset\">\n <div class=\"preset\" *ngFor=\"let preset of presets, let i = index\">\n <label class=\"preset-label {{preset == selectedPreset ? 'preset-selected' : ''}}\"\n for=\"preset-radio-{{i}}\">{{preset}}</label>\n <input class=\"preset-radio\" (change)=\"presetChanged($event)\" [checked]=\"preset == selectedPreset\"\n id=\"preset-radio-{{i}}\" type=\"radio\" name=\"preset-radios-{{uuid}}\" value=\"{{preset}}\">\n </div>\n</div>\n\n<div class=\"header\">\n <button mat-icon-button (click)=\"previousClicked('month')\">\n <mat-icon>keyboard_arrow_left</mat-icon>\n </button>\n\n <button mat-button class=\"header-label\" (click)=\"changeView()\">{{ periodLabel }}</button>\n\n <button mat-icon-button (click)=\"nextClicked('month')\">\n <mat-icon>keyboard_arrow_right</mat-icon>\n </button>\n</div>\n", styles: [".header{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--grey-50);margin-top:-4px;margin-bottom:var(--small-8px, 8px)}.header-label{font-family:Roboto;font-size:14px;font-style:normal;font-weight:400;line-height:20px;letter-spacing:.25px}.range-preset{width:180px;position:absolute;padding:var(--small-12px, 12px) 0 0 var(--medium-24px, 24px);box-sizing:border-box;margin-top:-9px;margin-left:-180px;height:356px;background-color:#fff;border-top:1px solid var(--grey-50);border-left:1px solid var(--grey-50);border-bottom:1px solid var(--grey-50);border-bottom-left-radius:var(--small-8px, 8px);border-top-left-radius:var(--small-8px, 8px);gap:var(--small-8px, 8px);display:flex;flex-direction:column}.preset{padding:var(--small-8px, 8px);display:flex;gap:var(--small-4px, 4px);font-size:14px;font-style:normal;font-weight:400;line-height:20px;letter-spacing:.25px;color:var(--text-mediumemphasis);margin-bottom:-5px}.preset-radio,.preset-label{cursor:pointer}.preset-selected{color:var(--primary-500)}\n"], dependencies: [{ kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i3.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }] }); }
|
|
157
156
|
}
|
|
158
157
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: CalendarHeaderComponent, decorators: [{
|
|
159
158
|
type: Component,
|
|
160
159
|
args: [{ standalone: true, imports: [
|
|
161
|
-
MatIconButton,
|
|
162
160
|
NgFor,
|
|
163
161
|
MatIconModule,
|
|
164
162
|
MatButton
|
|
@@ -167,4 +165,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.4", ngImpor
|
|
|
167
165
|
type: Inject,
|
|
168
166
|
args: [MAT_DATE_FORMATS]
|
|
169
167
|
}] }, { type: i0.ChangeDetectorRef }] });
|
|
170
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FsZW5kYXItaGVhZGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvbXBvbmVudC1saWJyYXJ5L3NyYy9saWIvY2FsZW5kYXItaGVhZGVyL2NhbGVuZGFyLWhlYWRlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb21wb25lbnQtbGlicmFyeS9zcmMvbGliL2NhbGVuZGFyLWhlYWRlci9jYWxlbmRhci1oZWFkZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUdMLFNBQVMsRUFDVCxNQUFNLEdBRVAsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUdMLGdCQUFnQixHQUNqQixNQUFNLHdCQUF3QixDQUFDO0FBR2hDLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDL0IsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzNDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDekQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ3JELE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7Ozs7QUFLeEMsSUFBSSxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQVUsaURBQWlEO0FBYzFFLE1BQU0sT0FBTyx1QkFBdUI7SUFLbEMsWUFDVSxRQUF3QixFQUFFLDhCQUE4QjtJQUN4RCxXQUEyQixFQUFFLGdDQUFnQztJQUM3RCxNQUE2QixFQUNILFdBQTJCLEVBQUUsaUJBQWlCO0lBQ2hGLEdBQXNCO1FBSmQsYUFBUSxHQUFSLFFBQVEsQ0FBZ0I7UUFDeEIsZ0JBQVcsR0FBWCxXQUFXLENBQWdCO1FBQzNCLFdBQU0sR0FBTixNQUFNLENBQXVCO1FBQ0gsZ0JBQVcsR0FBWCxXQUFXLENBQWdCO1FBUi9ELFNBQUksR0FBVyxNQUFNLEVBQUUsQ0FBQztRQUVQLGFBQVEsR0FBRyxJQUFJLE9BQU8sRUFBUSxDQUFDO1FBZ0JoRCxtQkFBYyxHQUFHLFFBQVEsQ0FBQTtRQUN6QixZQUFPLEdBQUc7WUFDUixjQUFjO1lBQ2QsY0FBYztZQUNkLGVBQWU7WUFDZixXQUFXO1lBQ1gsV0FBVztZQUNYLFFBQVE7U0FDVCxDQUFBO1FBOENELFVBQUssR0FBRyxJQUFJLElBQUksRUFBRSxDQUFDO1FBN0RqQix5REFBeUQ7UUFDekQsUUFBUSxDQUFDLFlBQVk7YUFDbEIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyw2QkFBNkI7YUFDNUQsU0FBUyxDQUFDLEdBQUcsRUFBRSxDQUFDLEdBQUcsQ0FBQyxZQUFZLEVBQUUsQ0FBQyxDQUFDO0lBRXpDLENBQUM7SUFXRCx1REFBdUQ7SUFFdkQsUUFBUTtRQUNOLElBQUksWUFBWSxHQUFRLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDO1FBRS9DLFlBQVksRUFBRSxLQUFLLENBQUMsUUFBUSxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBQ3pDLFlBQVksRUFBRSxHQUFHLENBQUMsUUFBUSxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBRXZDLGtEQUFrRDtRQUNsRCw2RUFBNkU7UUFDN0UsdUVBQXVFO1FBRXZFLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDO1lBQzdDLElBQUksU0FBUyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQy9DLElBQUksU0FBUyxDQUFDLFFBQVEsQ0FBQyxPQUFPLEVBQUUsSUFBSSxZQUFZLENBQUMsS0FBSyxDQUFDLE9BQU8sRUFBRSxJQUFJLFNBQVMsQ0FBQyxNQUFNLENBQUMsT0FBTyxFQUFFLElBQUksWUFBWSxDQUFDLEdBQUcsQ0FBQyxPQUFPLEVBQUUsRUFBRSxDQUFDO2dCQUM3SCxJQUFJLENBQUMsY0FBYyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUM7Z0JBQ3RDLE1BQU07WUFDUixDQUFDO1FBQ0gsQ0FBQztJQUNILENBQUM7SUFFRCxJQUFJLFdBQVc7UUFDYix3REFBd0Q7UUFDeEQsT0FBTyxJQUFJLENBQUMsV0FBVzthQUNwQixNQUFNLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxVQUFVLEVBQUUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsY0FBYyxDQUFDO2FBQ3pFLGlCQUFpQixFQUFFLENBQUM7SUFDekIsQ0FBQztJQUVELGVBQWUsQ0FBQyxJQUFzQjtRQUNwQyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQzVCLENBQUM7SUFFRCxXQUFXLENBQUMsSUFBc0I7UUFDaEMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDM0IsQ0FBQztJQUVELFVBQVU7UUFDUixJQUFJLENBQUMsUUFBUSxDQUFDLFdBQVc7WUFDdkIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxXQUFXLElBQUksT0FBTztnQkFDbEMsQ0FBQyxDQUFDLE1BQU07Z0JBQ1IsQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsV0FBVyxJQUFJLE1BQU07b0JBQ25DLENBQUMsQ0FBQyxZQUFZO29CQUNkLENBQUMsQ0FBQyxPQUFPLENBQUM7SUFDbEIsQ0FBQztJQUlELGFBQWEsQ0FBQyxHQUFRO1FBQ3BCLElBQUksUUFBUSxHQUFRLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNwRCxJQUFJLENBQUMsUUFBUSxDQUFDLFVBQVUsR0FBRyxRQUFRLENBQUMsUUFBUSxDQUFDO1FBQzdDLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUN0QyxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDdEMsQ0FBQztJQUVELFFBQVEsQ0FBQyxRQUFnQjtRQUN2QixJQUFJLElBQUksR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQ2hDLElBQUksS0FBSyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDbEMsSUFBSSxJQUFJLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUNwQyxJQUFJLFFBQWEsQ0FBQztRQUNsQixJQUFJLENBQUMsY0FBYyxHQUFHLFFBQVEsQ0FBQztRQUMvQixRQUFRLFFBQVEsRUFBRSxDQUFDO1lBQ2pCLEtBQUssY0FBYyxDQUFDLENBQUMsQ0FBQztnQkFDcEIsSUFBSSxnQkFBZ0IsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUM7Z0JBQ2pELElBQUksS0FBSyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsVUFBVSxDQUFDLElBQUksRUFBRSxnQkFBZ0IsRUFBRSxDQUFDLENBQUMsQ0FBQztnQkFDbkUsSUFBSSxHQUFHLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxVQUFVLENBQUMsSUFBSSxFQUFFLGdCQUFnQixHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztnQkFDckUsUUFBUSxHQUFHO29CQUNULFFBQVEsRUFBRSxLQUFLO29CQUNmLE1BQU0sRUFBRSxHQUFHO2lCQUNaLENBQUE7Z0JBQ0QsTUFBTTtZQUNSLENBQUM7WUFDRCxLQUFLLGNBQWMsQ0FBQyxDQUFDLENBQUM7Z0JBQ3BCLElBQUksZ0JBQWdCLEdBQUcsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUM7Z0JBQ3ZELElBQUksS0FBSyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsVUFBVSxDQUFDLElBQUksRUFBRSxnQkFBZ0IsRUFBRSxDQUFDLENBQUMsQ0FBQztnQkFDbkUsSUFBSSxHQUFHLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxVQUFVLENBQUMsSUFBSSxFQUFFLGdCQUFnQixHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztnQkFDckUsUUFBUSxHQUFHO29CQUNULFFBQVEsRUFBRSxLQUFLO29CQUNmLE1BQU0sRUFBRSxHQUFHO2lCQUNaLENBQUE7Z0JBQ0QsTUFBTTtZQUNSLENBQUM7WUFDRCxLQUFLLGVBQWUsQ0FBQyxDQUFDLENBQUM7Z0JBQ3JCLElBQUksR0FBRyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsVUFBVSxDQUFDLElBQUksRUFBRSxLQUFLLEVBQUUsSUFBSSxDQUFDLENBQUM7Z0JBQ3pELElBQUksS0FBSyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsaUJBQWlCLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUM7Z0JBQ3hELFFBQVEsR0FBRztvQkFDVCxRQUFRLEVBQUUsS0FBSztvQkFDZixNQUFNLEVBQUUsR0FBRztpQkFDWixDQUFBO2dCQUNELE1BQU07WUFDUixDQUFDO1lBQ0QsS0FBSyxXQUFXLENBQUMsQ0FBQyxDQUFDO2dCQUNqQixJQUFJLEtBQUssR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLFVBQVUsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO2dCQUNwRCxJQUFJLEdBQUcsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLFVBQVUsQ0FBQyxJQUFJLEVBQUUsRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDO2dCQUNwRCxRQUFRLEdBQUc7b0JBQ1QsUUFBUSxFQUFFLEtBQUs7b0JBQ2YsTUFBTSxFQUFFLEdBQUc7aUJBQ1osQ0FBQTtnQkFDRCxNQUFNO1lBQ1IsQ0FBQztZQUNELEtBQUssV0FBVyxDQUFDLENBQUMsQ0FBQztnQkFDakIsSUFBSSxLQUFLLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxVQUFVLENBQUMsSUFBSSxHQUFHLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7Z0JBQ3hELElBQUksR0FBRyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsVUFBVSxDQUFDLElBQUksR0FBRyxDQUFDLEVBQUUsRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDO2dCQUN4RCxRQUFRLEdBQUc7b0JBQ1QsUUFBUSxFQUFFLEtBQUs7b0JBQ2YsTUFBTSxFQUFFLEdBQUc7aUJBQ1osQ0FBQTtnQkFDRCxNQUFNO1lBQ1IsQ0FBQztZQUNELE9BQU8sQ0FBQyxDQUFDLENBQUM7Z0JBQ1IsUUFBUSxHQUFHO29CQUNULFFBQVEsRUFBRSxJQUFJLElBQUksRUFBRTtvQkFDcEIsTUFBTSxFQUFFLElBQUksSUFBSSxFQUFFO2lCQUNuQixDQUFBO1lBQ0gsQ0FBQztRQUNILENBQUM7UUFDRCxPQUFPLFFBQVEsQ0FBQztJQUNsQixDQUFDO0lBRU8sVUFBVSxDQUFDLElBQXNCLEVBQUUsTUFBYztRQUN2RCx1Q0FBdUM7UUFDdkMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxVQUFVO1lBQ3RCLElBQUksS0FBSyxPQUFPO2dCQUNkLENBQUMsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsVUFBVSxFQUFFLE1BQU0sQ0FBQztnQkFDdEUsQ0FBQyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxVQUFVLEVBQUUsTUFBTSxDQUFDLENBQUM7SUFDNUUsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsMkNBQTJDO0lBQ25FLENBQUM7OEdBNUpVLHVCQUF1QiwwR0FTeEIsZ0JBQWdCO2tHQVRmLHVCQUF1Qix3RUN0Q3BDLHkxQkFvQkEsaWxDRFdJLGFBQWEsNkZBQ2IsS0FBSyxrSEFDTCxhQUFhLG9MQUNiLFNBQVM7OzJGQUlBLHVCQUF1QjtrQkFabkMsU0FBUztpQ0FHSSxJQUFJLFdBQ1A7d0JBQ1AsYUFBYTt3QkFDYixLQUFLO3dCQUNMLGFBQWE7d0JBQ2IsU0FBUztxQkFDVjs7MEJBWUUsTUFBTTsyQkFBQyxnQkFBZ0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIENvbXBvbmVudCxcbiAgSW5qZWN0LFxuICBPbkRlc3Ryb3ksXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgRGF0ZUFkYXB0ZXIsXG4gIE1hdERhdGVGb3JtYXRzLFxuICBNQVRfREFURV9GT1JNQVRTLFxufSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9jb3JlJztcbmltcG9ydCB7IE1BVF9EQVRFX1JBTkdFX1NFTEVDVElPTl9TVFJBVEVHWSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RhdGVwaWNrZXInO1xuaW1wb3J0IHsgTWF0Q2FsZW5kYXIgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kYXRlcGlja2VyJztcbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IHRha2VVbnRpbCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IE1hdEljb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pY29uJztcbmltcG9ydCB7IE1hdEljb25CdXR0b24gfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9idXR0b24nO1xuaW1wb3J0IHsgTWF0QnV0dG9uIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvYnV0dG9uJztcbmltcG9ydCB7IE5nRm9yIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IE1hdERhdGVSYW5nZVBpY2tlciB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RhdGVwaWNrZXInO1xuaW1wb3J0IHsgTWF0RGF0ZVJhbmdlU2VsZWN0aW9uU3RyYXRlZ3kgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kYXRlcGlja2VyJ1xuXG5cbmxldCBuZXh0SWQgPSAwOyAgICAgICAgICAvLyB1c2VkIHRvIGdpdmUgdW5pcXVlIGlkcyB0byBpbnB1dHMgdXNlZCBpbiBodG1sXG5cbkBDb21wb25lbnQoe1xuICB0ZW1wbGF0ZVVybDogJy4vY2FsZW5kYXItaGVhZGVyLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vY2FsZW5kYXItaGVhZGVyLmNvbXBvbmVudC5jc3MnXSxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW1xuICAgIE1hdEljb25CdXR0b24sXG4gICAgTmdGb3IsXG4gICAgTWF0SWNvbk1vZHVsZSxcbiAgICBNYXRCdXR0b25cbiAgXSxcbiAgLy8gY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIENhbGVuZGFySGVhZGVyQ29tcG9uZW50PEQ+IGltcGxlbWVudHMgT25EZXN0cm95IHtcbiAgdXVpZDogbnVtYmVyID0gbmV4dElkKys7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBkZXN0cm95JCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBjYWxlbmRhcjogTWF0Q2FsZW5kYXI8RD4sIC8vIGNhbGVuZGFyIGluc3RhbmNlIG9mIHBpY2tlclxuICAgIHByaXZhdGUgZGF0ZUFkYXB0ZXI6IERhdGVBZGFwdGVyPEQ+LCAvLyBuYXRpdmUgb3IgbW9tZW50IGRhdGUgYWRhcHRlclxuICAgIHByaXZhdGUgcGlja2VyOiBNYXREYXRlUmFuZ2VQaWNrZXI8RD4sXG4gICAgQEluamVjdChNQVRfREFURV9GT1JNQVRTKSBwcml2YXRlIGRhdGVGb3JtYXRzOiBNYXREYXRlRm9ybWF0cywgLy8gZm9yIGZvcm1hdHRpbmdcbiAgICBjZHI6IENoYW5nZURldGVjdG9yUmVmXG4gICkge1xuICAgIC8vIG1ha2Ugc3VyZSB5b3VyIGhlYWRlciBzdGF5cyBpbiBzeW5jIHdpdGggdGhlIGNhbGVuZGFyOlxuICAgIGNhbGVuZGFyLnN0YXRlQ2hhbmdlc1xuICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKSAvLyB1bnN1YnNjcmliZSB3aGVuIGRlc3Ryb3llZFxuICAgICAgLnN1YnNjcmliZSgoKSA9PiBjZHIubWFya0ZvckNoZWNrKCkpO1xuXG4gIH1cblxuICBzZWxlY3RlZFByZXNldCA9IFwiQ3VzdG9tXCJcbiAgcHJlc2V0cyA9IFtcbiAgICBcIlRoaXMgUXVhcnRlclwiLFxuICAgIFwiTGFzdCBRdWFydGVyXCIsXG4gICAgXCJMYXN0IDYgTW9udGhzXCIsXG4gICAgXCJUaGlzIFllYXJcIixcbiAgICBcIkxhc3QgWWVhclwiLFxuICAgIFwiQ3VzdG9tXCJcbiAgXVxuICAvLyBhY3RpdmUgZGF0ZSBsYWJlbCByZW5kZXJlZCBiZXR3ZWVuIHRoZSBhcnJvdyBidXR0b25zXG5cbiAgbmdPbkluaXQoKSB7XG4gICAgbGV0IGN1cnJlbnRSYW5nZTogYW55ID0gdGhpcy5jYWxlbmRhci5zZWxlY3RlZDtcblxuICAgIGN1cnJlbnRSYW5nZT8uc3RhcnQuc2V0SG91cnMoMCwgMCwgMCwgMCk7XG4gICAgY3VycmVudFJhbmdlPy5lbmQuc2V0SG91cnMoMCwgMCwgMCwgMCk7XG5cbiAgICAvLyBUbyBwcmUtc2VsZWN0IGEgcHJlc2V0IHdoZW4gdGhlIGNhbGVuZGFyIG9wZW5zLlxuICAgIC8vIE1hdGNoIHRoZSBhbHJlYWR5IHNlbGVjdGVkIGRhdGUgcmFuZ2Ugd2l0aCB0aGUgZGF0ZS1yYW5nZXMgb2YgYWxsIHByZXNldHMuXG4gICAgLy8gSWYgYWxyZWFkeSBzZWxlY3RlZCBkYXRlIHJhbmdlIG1hdGNoZXMgd2l0aCBhIHByZXNldCwgcHJlLXNlbGVjdCBpdC5cblxuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgdGhpcy5wcmVzZXRzLmxlbmd0aDsgaSsrKSB7XG4gICAgICBsZXQgdGVtcFJhbmdlID0gdGhpcy5maW5kRGF0ZSh0aGlzLnByZXNldHNbaV0pO1xuICAgICAgaWYgKHRlbXBSYW5nZS5uZXdTdGFydC5nZXRUaW1lKCkgPT0gY3VycmVudFJhbmdlLnN0YXJ0LmdldFRpbWUoKSAmJiB0ZW1wUmFuZ2UubmV3RW5kLmdldFRpbWUoKSA9PSBjdXJyZW50UmFuZ2UuZW5kLmdldFRpbWUoKSkge1xuICAgICAgICB0aGlzLnNlbGVjdGVkUHJlc2V0ID0gdGhpcy5wcmVzZXRzW2ldO1xuICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBnZXQgcGVyaW9kTGFiZWwoKTogc3RyaW5nIHtcbiAgICAvLyB1c2UgZGF0ZSBhZGFwdGVyIHRvIGZvcm1hdCB0aGUgbGFiZWwsIGUuZy4gXCJTRVAgMjAyMFwiXG4gICAgcmV0dXJuIHRoaXMuZGF0ZUFkYXB0ZXJcbiAgICAgIC5mb3JtYXQodGhpcy5jYWxlbmRhci5hY3RpdmVEYXRlLCB0aGlzLmRhdGVGb3JtYXRzLmRpc3BsYXkubW9udGhZZWFyTGFiZWwpXG4gICAgICAudG9Mb2NhbGVVcHBlckNhc2UoKTtcbiAgfVxuXG4gIHByZXZpb3VzQ2xpY2tlZChtb2RlOiAnbW9udGgnIHwgJ3llYXInKTogdm9pZCB7XG4gICAgdGhpcy5jaGFuZ2VEYXRlKG1vZGUsIC0xKTtcbiAgfVxuXG4gIG5leHRDbGlja2VkKG1vZGU6ICdtb250aCcgfCAneWVhcicpOiB2b2lkIHtcbiAgICB0aGlzLmNoYW5nZURhdGUobW9kZSwgMSk7XG4gIH1cblxuICBjaGFuZ2VWaWV3KCkge1xuICAgIHRoaXMuY2FsZW5kYXIuY3VycmVudFZpZXcgPVxuICAgICAgdGhpcy5jYWxlbmRhci5jdXJyZW50VmlldyA9PSBcIm1vbnRoXCJcbiAgICAgICAgPyBcInllYXJcIlxuICAgICAgICA6IHRoaXMuY2FsZW5kYXIuY3VycmVudFZpZXcgPT0gXCJ5ZWFyXCJcbiAgICAgICAgICA/IFwibXVsdGkteWVhclwiXG4gICAgICAgICAgOiBcIm1vbnRoXCI7XG4gIH1cblxuICB0b2RheSA9IG5ldyBEYXRlKCk7XG5cbiAgcHJlc2V0Q2hhbmdlZChldnQ6IGFueSkge1xuICAgIGxldCBuZXdSYW5nZTogYW55ID0gdGhpcy5maW5kRGF0ZShldnQudGFyZ2V0LnZhbHVlKTtcbiAgICB0aGlzLmNhbGVuZGFyLmFjdGl2ZURhdGUgPSBuZXdSYW5nZS5uZXdTdGFydDtcbiAgICB0aGlzLnBpY2tlci5zZWxlY3QobmV3UmFuZ2UubmV3U3RhcnQpO1xuICAgIHRoaXMucGlja2VyLnNlbGVjdChuZXdSYW5nZS5uZXdFbmQpO1xuICB9XG5cbiAgZmluZERhdGUoc2VsZWN0ZWQ6IHN0cmluZykge1xuICAgIGxldCBkYXRlID0gdGhpcy50b2RheS5nZXREYXRlKCk7XG4gICAgbGV0IG1vbnRoID0gdGhpcy50b2RheS5nZXRNb250aCgpO1xuICAgIGxldCB5ZWFyID0gdGhpcy50b2RheS5nZXRGdWxsWWVhcigpO1xuICAgIGxldCBuZXdSYW5nZTogYW55O1xuICAgIHRoaXMuc2VsZWN0ZWRQcmVzZXQgPSBzZWxlY3RlZDtcbiAgICBzd2l0Y2ggKHNlbGVjdGVkKSB7XG4gICAgICBjYXNlIFwiVGhpcyBRdWFydGVyXCI6IHtcbiAgICAgICAgbGV0IHRoaXNRdWFydGVyTW9udGggPSBNYXRoLmZsb29yKG1vbnRoIC8gMykgKiAzO1xuICAgICAgICBsZXQgc3RhcnQgPSB0aGlzLmRhdGVBZGFwdGVyLmNyZWF0ZURhdGUoeWVhciwgdGhpc1F1YXJ0ZXJNb250aCwgMSk7XG4gICAgICAgIGxldCBlbmQgPSB0aGlzLmRhdGVBZGFwdGVyLmNyZWF0ZURhdGUoeWVhciwgdGhpc1F1YXJ0ZXJNb250aCArIDMsIDEpO1xuICAgICAgICBuZXdSYW5nZSA9IHtcbiAgICAgICAgICBuZXdTdGFydDogc3RhcnQsXG4gICAgICAgICAgbmV3RW5kOiBlbmQsXG4gICAgICAgIH1cbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgICBjYXNlIFwiTGFzdCBRdWFydGVyXCI6IHtcbiAgICAgICAgbGV0IGxhc3RRdWFydGVyTW9udGggPSAoTWF0aC5mbG9vcihtb250aCAvIDMpICogMykgLSAzO1xuICAgICAgICBsZXQgc3RhcnQgPSB0aGlzLmRhdGVBZGFwdGVyLmNyZWF0ZURhdGUoeWVhciwgbGFzdFF1YXJ0ZXJNb250aCwgMSk7XG4gICAgICAgIGxldCBlbmQgPSB0aGlzLmRhdGVBZGFwdGVyLmNyZWF0ZURhdGUoeWVhciwgbGFzdFF1YXJ0ZXJNb250aCArIDMsIDEpO1xuICAgICAgICBuZXdSYW5nZSA9IHtcbiAgICAgICAgICBuZXdTdGFydDogc3RhcnQsXG4gICAgICAgICAgbmV3RW5kOiBlbmQsXG4gICAgICAgIH1cbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgICBjYXNlIFwiTGFzdCA2IE1vbnRoc1wiOiB7XG4gICAgICAgIGxldCBlbmQgPSB0aGlzLmRhdGVBZGFwdGVyLmNyZWF0ZURhdGUoeWVhciwgbW9udGgsIGRhdGUpO1xuICAgICAgICBsZXQgc3RhcnQgPSB0aGlzLmRhdGVBZGFwdGVyLmFkZENhbGVuZGFyTW9udGhzKGVuZCwgLTYpO1xuICAgICAgICBuZXdSYW5nZSA9IHtcbiAgICAgICAgICBuZXdTdGFydDogc3RhcnQsXG4gICAgICAgICAgbmV3RW5kOiBlbmQsXG4gICAgICAgIH1cbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgICBjYXNlIFwiVGhpcyBZZWFyXCI6IHtcbiAgICAgICAgbGV0IHN0YXJ0ID0gdGhpcy5kYXRlQWRhcHRlci5jcmVhdGVEYXRlKHllYXIsIDAsIDEpO1xuICAgICAgICBsZXQgZW5kID0gdGhpcy5kYXRlQWRhcHRlci5jcmVhdGVEYXRlKHllYXIsIDExLCAzMSk7XG4gICAgICAgIG5ld1JhbmdlID0ge1xuICAgICAgICAgIG5ld1N0YXJ0OiBzdGFydCxcbiAgICAgICAgICBuZXdFbmQ6IGVuZCxcbiAgICAgICAgfVxuICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICAgIGNhc2UgXCJMYXN0IFllYXJcIjoge1xuICAgICAgICBsZXQgc3RhcnQgPSB0aGlzLmRhdGVBZGFwdGVyLmNyZWF0ZURhdGUoeWVhciAtIDEsIDAsIDEpO1xuICAgICAgICBsZXQgZW5kID0gdGhpcy5kYXRlQWRhcHRlci5jcmVhdGVEYXRlKHllYXIgLSAxLCAxMSwgMzEpO1xuICAgICAgICBuZXdSYW5nZSA9IHtcbiAgICAgICAgICBuZXdTdGFydDogc3RhcnQsXG4gICAgICAgICAgbmV3RW5kOiBlbmQsXG4gICAgICAgIH1cbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgICBkZWZhdWx0OiB7XG4gICAgICAgIG5ld1JhbmdlID0ge1xuICAgICAgICAgIG5ld1N0YXJ0OiBuZXcgRGF0ZSgpLFxuICAgICAgICAgIG5ld0VuZDogbmV3IERhdGUoKSxcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gbmV3UmFuZ2U7XG4gIH1cblxuICBwcml2YXRlIGNoYW5nZURhdGUobW9kZTogJ21vbnRoJyB8ICd5ZWFyJywgYW1vdW50OiAtMSB8IDEpOiB2b2lkIHtcbiAgICAvLyBpbmNyZW1lbnQgb3IgZGVjcmVtZW50IG1vbnRoIG9yIHllYXJcbiAgICB0aGlzLmNhbGVuZGFyLmFjdGl2ZURhdGUgPVxuICAgICAgbW9kZSA9PT0gJ21vbnRoJ1xuICAgICAgICA/IHRoaXMuZGF0ZUFkYXB0ZXIuYWRkQ2FsZW5kYXJNb250aHModGhpcy5jYWxlbmRhci5hY3RpdmVEYXRlLCBhbW91bnQpXG4gICAgICAgIDogdGhpcy5kYXRlQWRhcHRlci5hZGRDYWxlbmRhclllYXJzKHRoaXMuY2FsZW5kYXIuYWN0aXZlRGF0ZSwgYW1vdW50KTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuZGVzdHJveSQubmV4dCgpOyAvLyB3aWxsIHRyaWdnZXIgdW5zdWJzY3JpcHRpb24gaW4gdGFrZVVudGlsXG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJyYW5nZS1wcmVzZXRcIj5cbiAgPGRpdiBjbGFzcz1cInByZXNldFwiICpuZ0Zvcj1cImxldCBwcmVzZXQgb2YgcHJlc2V0cywgbGV0IGkgPSBpbmRleFwiPlxuICAgIDxsYWJlbCBjbGFzcz1cInByZXNldC1sYWJlbCB7e3ByZXNldCA9PSBzZWxlY3RlZFByZXNldCA/ICdwcmVzZXQtc2VsZWN0ZWQnIDogJyd9fVwiXG4gICAgICBmb3I9XCJwcmVzZXQtcmFkaW8te3tpfX1cIj57e3ByZXNldH19PC9sYWJlbD5cbiAgICA8aW5wdXQgY2xhc3M9XCJwcmVzZXQtcmFkaW9cIiAoY2hhbmdlKT1cInByZXNldENoYW5nZWQoJGV2ZW50KVwiIFtjaGVja2VkXT1cInByZXNldCA9PSBzZWxlY3RlZFByZXNldFwiXG4gICAgICBpZD1cInByZXNldC1yYWRpby17e2l9fVwiIHR5cGU9XCJyYWRpb1wiIG5hbWU9XCJwcmVzZXQtcmFkaW9zLXt7dXVpZH19XCIgdmFsdWU9XCJ7e3ByZXNldH19XCI+XG4gIDwvZGl2PlxuPC9kaXY+XG5cbjxkaXYgY2xhc3M9XCJoZWFkZXJcIj5cbiAgPGJ1dHRvbiBtYXQtaWNvbi1idXR0b24gKGNsaWNrKT1cInByZXZpb3VzQ2xpY2tlZCgnbW9udGgnKVwiPlxuICAgIDxtYXQtaWNvbj5rZXlib2FyZF9hcnJvd19sZWZ0PC9tYXQtaWNvbj5cbiAgPC9idXR0b24+XG5cbiAgPGJ1dHRvbiBtYXQtYnV0dG9uIGNsYXNzPVwiaGVhZGVyLWxhYmVsXCIgKGNsaWNrKT1cImNoYW5nZVZpZXcoKVwiPnt7IHBlcmlvZExhYmVsIH19PC9idXR0b24+XG5cbiAgPGJ1dHRvbiBtYXQtaWNvbi1idXR0b24gKGNsaWNrKT1cIm5leHRDbGlja2VkKCdtb250aCcpXCI+XG4gICAgPG1hdC1pY29uPmtleWJvYXJkX2Fycm93X3JpZ2h0PC9tYXQtaWNvbj5cbiAgPC9idXR0b24+XG48L2Rpdj5cbiJdfQ==
|
|
168
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FsZW5kYXItaGVhZGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvbXBvbmVudC1saWJyYXJ5L3NyYy9saWIvY2FsZW5kYXItaGVhZGVyL2NhbGVuZGFyLWhlYWRlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb21wb25lbnQtbGlicmFyeS9zcmMvbGliL2NhbGVuZGFyLWhlYWRlci9jYWxlbmRhci1oZWFkZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVMLFNBQVMsRUFDVCxNQUFNLEdBRVAsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUdMLGdCQUFnQixHQUNqQixNQUFNLHdCQUF3QixDQUFDO0FBRWhDLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDL0IsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzNDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDckQsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLGlCQUFpQixDQUFDOzs7OztBQUl4QyxJQUFJLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBVSxpREFBaUQ7QUFhMUUsTUFBTSxPQUFPLHVCQUF1QjtJQUtsQyxZQUNVLFFBQXdCLEVBQUUsOEJBQThCO0lBQ3hELFdBQTJCLEVBQUUsZ0NBQWdDO0lBQzdELE1BQTZCLEVBQ0gsV0FBMkIsRUFBRSxpQkFBaUI7SUFDaEYsR0FBc0I7UUFKZCxhQUFRLEdBQVIsUUFBUSxDQUFnQjtRQUN4QixnQkFBVyxHQUFYLFdBQVcsQ0FBZ0I7UUFDM0IsV0FBTSxHQUFOLE1BQU0sQ0FBdUI7UUFDSCxnQkFBVyxHQUFYLFdBQVcsQ0FBZ0I7UUFSL0QsU0FBSSxHQUFX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QUFhLG9MQUNiLFNBQVM7OzJGQUlBLHVCQUF1QjtrQkFYbkMsU0FBUztpQ0FHSSxJQUFJLFdBQ1A7d0JBQ1AsS0FBSzt3QkFDTCxhQUFhO3dCQUNiLFNBQVM7cUJBQ1Y7OzBCQVlFLE1BQU07MkJBQUMsZ0JBQWdCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIENvbXBvbmVudCxcbiAgSW5qZWN0LFxuICBPbkRlc3Ryb3ksXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgRGF0ZUFkYXB0ZXIsXG4gIE1hdERhdGVGb3JtYXRzLFxuICBNQVRfREFURV9GT1JNQVRTLFxufSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9jb3JlJztcbmltcG9ydCB7IE1hdENhbGVuZGFyIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGF0ZXBpY2tlcic7XG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyB0YWtlVW50aWwgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBNYXRJY29uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaWNvbic7XG5pbXBvcnQgeyBNYXRCdXR0b24gfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9idXR0b24nO1xuaW1wb3J0IHsgTmdGb3IgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgTWF0RGF0ZVJhbmdlUGlja2VyIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGF0ZXBpY2tlcic7XG5cblxubGV0IG5leHRJZCA9IDA7ICAgICAgICAgIC8vIHVzZWQgdG8gZ2l2ZSB1bmlxdWUgaWRzIHRvIGlucHV0cyB1c2VkIGluIGh0bWxcblxuQENvbXBvbmVudCh7XG4gIHRlbXBsYXRlVXJsOiAnLi9jYWxlbmRhci1oZWFkZXIuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9jYWxlbmRhci1oZWFkZXIuY29tcG9uZW50LmNzcyddLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbXG4gICAgTmdGb3IsXG4gICAgTWF0SWNvbk1vZHVsZSxcbiAgICBNYXRCdXR0b25cbiAgXSxcbiAgLy8gY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIENhbGVuZGFySGVhZGVyQ29tcG9uZW50PEQ+IGltcGxlbWVudHMgT25EZXN0cm95IHtcbiAgdXVpZDogbnVtYmVyID0gbmV4dElkKys7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBkZXN0cm95JCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBjYWxlbmRhcjogTWF0Q2FsZW5kYXI8RD4sIC8vIGNhbGVuZGFyIGluc3RhbmNlIG9mIHBpY2tlclxuICAgIHByaXZhdGUgZGF0ZUFkYXB0ZXI6IERhdGVBZGFwdGVyPEQ+LCAvLyBuYXRpdmUgb3IgbW9tZW50IGRhdGUgYWRhcHRlclxuICAgIHByaXZhdGUgcGlja2VyOiBNYXREYXRlUmFuZ2VQaWNrZXI8RD4sXG4gICAgQEluamVjdChNQVRfREFURV9GT1JNQVRTKSBwcml2YXRlIGRhdGVGb3JtYXRzOiBNYXREYXRlRm9ybWF0cywgLy8gZm9yIGZvcm1hdHRpbmdcbiAgICBjZHI6IENoYW5nZURldGVjdG9yUmVmXG4gICkge1xuICAgIC8vIG1ha2Ugc3VyZSB5b3VyIGhlYWRlciBzdGF5cyBpbiBzeW5jIHdpdGggdGhlIGNhbGVuZGFyOlxuICAgIGNhbGVuZGFyLnN0YXRlQ2hhbmdlc1xuICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKSAvLyB1bnN1YnNjcmliZSB3aGVuIGRlc3Ryb3llZFxuICAgICAgLnN1YnNjcmliZSgoKSA9PiBjZHIubWFya0ZvckNoZWNrKCkpO1xuXG4gIH1cblxuICBzZWxlY3RlZFByZXNldCA9IFwiQ3VzdG9tXCJcbiAgcHJlc2V0cyA9IFtcbiAgICBcIlRoaXMgUXVhcnRlclwiLFxuICAgIFwiTGFzdCBRdWFydGVyXCIsXG4gICAgXCJMYXN0IDYgTW9udGhzXCIsXG4gICAgXCJUaGlzIFllYXJcIixcbiAgICBcIkxhc3QgWWVhclwiLFxuICAgIFwiQ3VzdG9tXCJcbiAgXVxuICAvLyBhY3RpdmUgZGF0ZSBsYWJlbCByZW5kZXJlZCBiZXR3ZWVuIHRoZSBhcnJvdyBidXR0b25zXG5cbiAgbmdPbkluaXQoKSB7XG4gICAgY29uc3QgY3VycmVudFJhbmdlOiBhbnkgPSB0aGlzLmNhbGVuZGFyLnNlbGVjdGVkO1xuXG4gICAgY3VycmVudFJhbmdlPy5zdGFydC5zZXRIb3VycygwLCAwLCAwLCAwKTtcbiAgICBjdXJyZW50UmFuZ2U/LmVuZC5zZXRIb3VycygwLCAwLCAwLCAwKTtcblxuICAgIC8vIFRvIHByZS1zZWxlY3QgYSBwcmVzZXQgd2hlbiB0aGUgY2FsZW5kYXIgb3BlbnMuXG4gICAgLy8gTWF0Y2ggdGhlIGFscmVhZHkgc2VsZWN0ZWQgZGF0ZSByYW5nZSB3aXRoIHRoZSBkYXRlLXJhbmdlcyBvZiBhbGwgcHJlc2V0cy5cbiAgICAvLyBJZiBhbHJlYWR5IHNlbGVjdGVkIGRhdGUgcmFuZ2UgbWF0Y2hlcyB3aXRoIGEgcHJlc2V0LCBwcmUtc2VsZWN0IGl0LlxuXG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCB0aGlzLnByZXNldHMubGVuZ3RoOyBpKyspIHtcbiAgICAgIGNvbnN0IHRlbXBSYW5nZSA9IHRoaXMuZmluZERhdGUodGhpcy5wcmVzZXRzW2ldKTtcbiAgICAgIGlmICh0ZW1wUmFuZ2UubmV3U3RhcnQuZ2V0VGltZSgpID09IGN1cnJlbnRSYW5nZS5zdGFydC5nZXRUaW1lKCkgJiYgdGVtcFJhbmdlLm5ld0VuZC5nZXRUaW1lKCkgPT0gY3VycmVudFJhbmdlLmVuZC5nZXRUaW1lKCkpIHtcbiAgICAgICAgdGhpcy5zZWxlY3RlZFByZXNldCA9IHRoaXMucHJlc2V0c1tpXTtcbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgZ2V0IHBlcmlvZExhYmVsKCk6IHN0cmluZyB7XG4gICAgLy8gdXNlIGRhdGUgYWRhcHRlciB0byBmb3JtYXQgdGhlIGxhYmVsLCBlLmcuIFwiU0VQIDIwMjBcIlxuICAgIHJldHVybiB0aGlzLmRhdGVBZGFwdGVyXG4gICAgICAuZm9ybWF0KHRoaXMuY2FsZW5kYXIuYWN0aXZlRGF0ZSwgdGhpcy5kYXRlRm9ybWF0cy5kaXNwbGF5Lm1vbnRoWWVhckxhYmVsKVxuICAgICAgLnRvTG9jYWxlVXBwZXJDYXNlKCk7XG4gIH1cblxuICBwcmV2aW91c0NsaWNrZWQobW9kZTogJ21vbnRoJyB8ICd5ZWFyJyk6IHZvaWQge1xuICAgIHRoaXMuY2hhbmdlRGF0ZShtb2RlLCAtMSk7XG4gIH1cblxuICBuZXh0Q2xpY2tlZChtb2RlOiAnbW9udGgnIHwgJ3llYXInKTogdm9pZCB7XG4gICAgdGhpcy5jaGFuZ2VEYXRlKG1vZGUsIDEpO1xuICB9XG5cbiAgY2hhbmdlVmlldygpIHtcbiAgICB0aGlzLmNhbGVuZGFyLmN1cnJlbnRWaWV3ID1cbiAgICAgIHRoaXMuY2FsZW5kYXIuY3VycmVudFZpZXcgPT0gXCJtb250aFwiXG4gICAgICAgID8gXCJ5ZWFyXCJcbiAgICAgICAgOiB0aGlzLmNhbGVuZGFyLmN1cnJlbnRWaWV3ID09IFwieWVhclwiXG4gICAgICAgICAgPyBcIm11bHRpLXllYXJcIlxuICAgICAgICAgIDogXCJtb250aFwiO1xuICB9XG5cbiAgdG9kYXkgPSBuZXcgRGF0ZSgpO1xuXG4gIHByZXNldENoYW5nZWQoZXZ0OiBhbnkpIHtcbiAgICBjb25zdCBuZXdSYW5nZTogYW55ID0gdGhpcy5maW5kRGF0ZShldnQudGFyZ2V0LnZhbHVlKTtcbiAgICB0aGlzLmNhbGVuZGFyLmFjdGl2ZURhdGUgPSBuZXdSYW5nZS5uZXdTdGFydDtcbiAgICB0aGlzLnBpY2tlci5zZWxlY3QobmV3UmFuZ2UubmV3U3RhcnQpO1xuICAgIHRoaXMucGlja2VyLnNlbGVjdChuZXdSYW5nZS5uZXdFbmQpO1xuICB9XG5cbiAgZmluZERhdGUoc2VsZWN0ZWQ6IHN0cmluZykge1xuICAgIGNvbnN0IGRhdGUgPSB0aGlzLnRvZGF5LmdldERhdGUoKTtcbiAgICBjb25zdCBtb250aCA9IHRoaXMudG9kYXkuZ2V0TW9udGgoKTtcbiAgICBjb25zdCB5ZWFyID0gdGhpcy50b2RheS5nZXRGdWxsWWVhcigpO1xuICAgIGxldCBuZXdSYW5nZTogYW55O1xuICAgIHRoaXMuc2VsZWN0ZWRQcmVzZXQgPSBzZWxlY3RlZDtcbiAgICBzd2l0Y2ggKHNlbGVjdGVkKSB7XG4gICAgICBjYXNlIFwiVGhpcyBRdWFydGVyXCI6IHtcbiAgICAgICAgY29uc3QgdGhpc1F1YXJ0ZXJNb250aCA9IE1hdGguZmxvb3IobW9udGggLyAzKSAqIDM7XG4gICAgICAgIGNvbnN0IHN0YXJ0ID0gdGhpcy5kYXRlQWRhcHRlci5jcmVhdGVEYXRlKHllYXIsIHRoaXNRdWFydGVyTW9udGgsIDEpO1xuICAgICAgICBjb25zdCBlbmQgPSB0aGlzLmRhdGVBZGFwdGVyLmNyZWF0ZURhdGUoeWVhciwgdGhpc1F1YXJ0ZXJNb250aCArIDMsIDEpO1xuICAgICAgICBuZXdSYW5nZSA9IHtcbiAgICAgICAgICBuZXdTdGFydDogc3RhcnQsXG4gICAgICAgICAgbmV3RW5kOiBlbmQsXG4gICAgICAgIH1cbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgICBjYXNlIFwiTGFzdCBRdWFydGVyXCI6IHtcbiAgICAgICAgY29uc3QgbGFzdFF1YXJ0ZXJNb250aCA9IChNYXRoLmZsb29yKG1vbnRoIC8gMykgKiAzKSAtIDM7XG4gICAgICAgIGNvbnN0IHN0YXJ0ID0gdGhpcy5kYXRlQWRhcHRlci5jcmVhdGVEYXRlKHllYXIsIGxhc3RRdWFydGVyTW9udGgsIDEpO1xuICAgICAgICBjb25zdCBlbmQgPSB0aGlzLmRhdGVBZGFwdGVyLmNyZWF0ZURhdGUoeWVhciwgbGFzdFF1YXJ0ZXJNb250aCArIDMsIDEpO1xuICAgICAgICBuZXdSYW5nZSA9IHtcbiAgICAgICAgICBuZXdTdGFydDogc3RhcnQsXG4gICAgICAgICAgbmV3RW5kOiBlbmQsXG4gICAgICAgIH1cbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgICBjYXNlIFwiTGFzdCA2IE1vbnRoc1wiOiB7XG4gICAgICAgIGNvbnN0IGVuZCA9IHRoaXMuZGF0ZUFkYXB0ZXIuY3JlYXRlRGF0ZSh5ZWFyLCBtb250aCwgZGF0ZSk7XG4gICAgICAgIGNvbnN0IHN0YXJ0ID0gdGhpcy5kYXRlQWRhcHRlci5hZGRDYWxlbmRhck1vbnRocyhlbmQsIC02KTtcbiAgICAgICAgbmV3UmFuZ2UgPSB7XG4gICAgICAgICAgbmV3U3RhcnQ6IHN0YXJ0LFxuICAgICAgICAgIG5ld0VuZDogZW5kLFxuICAgICAgICB9XG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgICAgY2FzZSBcIlRoaXMgWWVhclwiOiB7XG4gICAgICAgIGNvbnN0IHN0YXJ0ID0gdGhpcy5kYXRlQWRhcHRlci5jcmVhdGVEYXRlKHllYXIsIDAsIDEpO1xuICAgICAgICBjb25zdCBlbmQgPSB0aGlzLmRhdGVBZGFwdGVyLmNyZWF0ZURhdGUoeWVhciwgMTEsIDMxKTtcbiAgICAgICAgbmV3UmFuZ2UgPSB7XG4gICAgICAgICAgbmV3U3RhcnQ6IHN0YXJ0LFxuICAgICAgICAgIG5ld0VuZDogZW5kLFxuICAgICAgICB9XG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgICAgY2FzZSBcIkxhc3QgWWVhclwiOiB7XG4gICAgICAgIGNvbnN0IHN0YXJ0ID0gdGhpcy5kYXRlQWRhcHRlci5jcmVhdGVEYXRlKHllYXIgLSAxLCAwLCAxKTtcbiAgICAgICAgY29uc3QgZW5kID0gdGhpcy5kYXRlQWRhcHRlci5jcmVhdGVEYXRlKHllYXIgLSAxLCAxMSwgMzEpO1xuICAgICAgICBuZXdSYW5nZSA9IHtcbiAgICAgICAgICBuZXdTdGFydDogc3RhcnQsXG4gICAgICAgICAgbmV3RW5kOiBlbmQsXG4gICAgICAgIH1cbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgICBkZWZhdWx0OiB7XG4gICAgICAgIG5ld1JhbmdlID0ge1xuICAgICAgICAgIG5ld1N0YXJ0OiBuZXcgRGF0ZSgpLFxuICAgICAgICAgIG5ld0VuZDogbmV3IERhdGUoKSxcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gbmV3UmFuZ2U7XG4gIH1cblxuICBwcml2YXRlIGNoYW5nZURhdGUobW9kZTogJ21vbnRoJyB8ICd5ZWFyJywgYW1vdW50OiAtMSB8IDEpOiB2b2lkIHtcbiAgICAvLyBpbmNyZW1lbnQgb3IgZGVjcmVtZW50IG1vbnRoIG9yIHllYXJcbiAgICB0aGlzLmNhbGVuZGFyLmFjdGl2ZURhdGUgPVxuICAgICAgbW9kZSA9PT0gJ21vbnRoJ1xuICAgICAgICA/IHRoaXMuZGF0ZUFkYXB0ZXIuYWRkQ2FsZW5kYXJNb250aHModGhpcy5jYWxlbmRhci5hY3RpdmVEYXRlLCBhbW91bnQpXG4gICAgICAgIDogdGhpcy5kYXRlQWRhcHRlci5hZGRDYWxlbmRhclllYXJzKHRoaXMuY2FsZW5kYXIuYWN0aXZlRGF0ZSwgYW1vdW50KTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuZGVzdHJveSQubmV4dCgpOyAvLyB3aWxsIHRyaWdnZXIgdW5zdWJzY3JpcHRpb24gaW4gdGFrZVVudGlsXG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJyYW5nZS1wcmVzZXRcIj5cbiAgPGRpdiBjbGFzcz1cInByZXNldFwiICpuZ0Zvcj1cImxldCBwcmVzZXQgb2YgcHJlc2V0cywgbGV0IGkgPSBpbmRleFwiPlxuICAgIDxsYWJlbCBjbGFzcz1cInByZXNldC1sYWJlbCB7e3ByZXNldCA9PSBzZWxlY3RlZFByZXNldCA/ICdwcmVzZXQtc2VsZWN0ZWQnIDogJyd9fVwiXG4gICAgICBmb3I9XCJwcmVzZXQtcmFkaW8te3tpfX1cIj57e3ByZXNldH19PC9sYWJlbD5cbiAgICA8aW5wdXQgY2xhc3M9XCJwcmVzZXQtcmFkaW9cIiAoY2hhbmdlKT1cInByZXNldENoYW5nZWQoJGV2ZW50KVwiIFtjaGVja2VkXT1cInByZXNldCA9PSBzZWxlY3RlZFByZXNldFwiXG4gICAgICBpZD1cInByZXNldC1yYWRpby17e2l9fVwiIHR5cGU9XCJyYWRpb1wiIG5hbWU9XCJwcmVzZXQtcmFkaW9zLXt7dXVpZH19XCIgdmFsdWU9XCJ7e3ByZXNldH19XCI+XG4gIDwvZGl2PlxuPC9kaXY+XG5cbjxkaXYgY2xhc3M9XCJoZWFkZXJcIj5cbiAgPGJ1dHRvbiBtYXQtaWNvbi1idXR0b24gKGNsaWNrKT1cInByZXZpb3VzQ2xpY2tlZCgnbW9udGgnKVwiPlxuICAgIDxtYXQtaWNvbj5rZXlib2FyZF9hcnJvd19sZWZ0PC9tYXQtaWNvbj5cbiAgPC9idXR0b24+XG5cbiAgPGJ1dHRvbiBtYXQtYnV0dG9uIGNsYXNzPVwiaGVhZGVyLWxhYmVsXCIgKGNsaWNrKT1cImNoYW5nZVZpZXcoKVwiPnt7IHBlcmlvZExhYmVsIH19PC9idXR0b24+XG5cbiAgPGJ1dHRvbiBtYXQtaWNvbi1idXR0b24gKGNsaWNrKT1cIm5leHRDbGlja2VkKCdtb250aCcpXCI+XG4gICAgPG1hdC1pY29uPmtleWJvYXJkX2Fycm93X3JpZ2h0PC9tYXQtaWNvbj5cbiAgPC9idXR0b24+XG48L2Rpdj5cbiJdfQ==
|
|
@@ -59,4 +59,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.4", ngImpor
|
|
|
59
59
|
}], onClickEvent: [{
|
|
60
60
|
type: Output
|
|
61
61
|
}] } });
|
|
62
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
62
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hpcHMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29tcG9uZW50LWxpYnJhcnkvc3JjL2xpYi9jaGlwcy9jaGlwcy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb21wb25lbnQtbGlicmFyeS9zcmMvbGliL2NoaXBzL2NoaXBzLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzFDLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdEMsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN2QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQUU3QyxJQUFJLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBVSxpREFBaUQ7QUFTMUUsTUFBTSxPQUFPLGNBQWM7SUFQM0I7UUFrQlksaUJBQVksR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO1FBRTVDLGFBQVEsR0FBRyxFQUFFLENBQUE7UUFDYixtQkFBYyxHQUFHLEVBQUUsQ0FBQTtRQUNuQixvQkFBZSxHQUFHLEVBQUUsQ0FBQTtRQUNwQixTQUFJLEdBQVcsTUFBTSxFQUFFLENBQUM7S0FzQnpCO0lBcEJDLFdBQVc7UUFDVCxJQUFJLENBQUMsUUFBUSxHQUFHO1lBQ2Qsb0JBQW9CLEVBQUUsT0FBTyxJQUFJLENBQUMsUUFBUSxHQUFHO1lBQzdDLFlBQVksRUFBRSxPQUFPLElBQUksQ0FBQyxRQUFRLEdBQUc7U0FDdEMsQ0FBQTtRQUNELElBQUksQ0FBQyxjQUFjLEdBQUc7WUFDcEIsb0JBQW9CLEVBQUUsT0FBTyxJQUFJLENBQUMsY0FBYyxHQUFHO1lBQ25ELFlBQVksRUFBRSxPQUFPLElBQUksQ0FBQyxjQUFjLEdBQUc7U0FDNUMsQ0FBQTtRQUNELElBQUksQ0FBQyxlQUFlLEdBQUc7WUFDckIsRUFBRSxFQUFFLElBQUksQ0FBQyxFQUFFO1NBQ1osQ0FBQTtJQUNILENBQUM7SUFFRCxhQUFhLENBQUMsR0FBVTtRQUN0QixJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQztZQUNyQixHQUFHLElBQUksQ0FBQyxlQUFlO1lBQ3ZCLEdBQUc7U0FDSixDQUFDLENBQUM7SUFDTCxDQUFDOzhHQXJDVSxjQUFjO2tHQUFkLGNBQWMsaVZDZjNCLDQyQkFpQkEsNDdFRE5ZLFlBQVk7OzJGQUlYLGNBQWM7a0JBUDFCLFNBQVM7K0JBQ0UsU0FBUyxjQUNQLElBQUksV0FDUCxDQUFDLFlBQVksQ0FBQzs4QkFLZCxFQUFFO3NCQUFWLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csSUFBSTtzQkFBWixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csWUFBWTtzQkFBcEIsS0FBSztnQkFDRyxjQUFjO3NCQUF0QixLQUFLO2dCQUNHLGNBQWM7c0JBQXRCLEtBQUs7Z0JBRUksWUFBWTtzQkFBckIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBDb21wb25lbnQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEV2ZW50RW1pdHRlciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5sZXQgbmV4dElkID0gMDsgICAgICAgICAgLy8gdXNlZCB0byBnaXZlIHVuaXF1ZSBpZHMgdG8gaW5wdXRzIHVzZWQgaW4gaHRtbFxuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdzYS1jaGlwJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZV0sXG4gIHRlbXBsYXRlVXJsOiAnLi9jaGlwcy5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsOiAnLi9jaGlwcy5jb21wb25lbnQuY3NzJ1xufSlcbmV4cG9ydCBjbGFzcyBDaGlwc0NvbXBvbmVudCB7XG4gIEBJbnB1dCgpIGlkOiBzdHJpbmcgfCBudW1iZXI7XG4gIEBJbnB1dCgpIGljb25QYXRoOiBzdHJpbmc7XG4gIEBJbnB1dCgpIHRleHQ6IHN0cmluZyB8IG51bWJlcjtcbiAgQElucHV0KCkgdHlwZTogc3RyaW5nO1xuICBASW5wdXQoKSBzdGF0ZTogc3RyaW5nO1xuICBASW5wdXQoKSBmaWxsaW5nOiBzdHJpbmc7XG4gIEBJbnB1dCgpIGljb25Qb3NpdGlvbjogc3RyaW5nO1xuICBASW5wdXQoKSBsYXJnZVN0YXRlSWNvbjogc3RyaW5nO1xuICBASW5wdXQoKSBsYXJnZVN0YXRlVGV4dDogc3RyaW5nO1xuXG4gIEBPdXRwdXQoKSBvbkNsaWNrRXZlbnQgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgc3ZnU3R5bGUgPSB7fVxuICBzZWNvbmRTdmdTdHlsZSA9IHt9XG4gIGV2ZW50RW1pdE9iamVjdCA9IHt9XG4gIHV1aWQ6IG51bWJlciA9IG5leHRJZCsrO1xuXG4gIG5nT25DaGFuZ2VzKCk6IHZvaWQge1xuICAgIHRoaXMuc3ZnU3R5bGUgPSB7XG4gICAgICAnLXdlYmtpdC1tYXNrLWltYWdlJzogYHVybCgke3RoaXMuaWNvblBhdGh9KWAsXG4gICAgICAnbWFzay1pbWFnZSc6IGB1cmwoJHt0aGlzLmljb25QYXRofSlgLFxuICAgIH1cbiAgICB0aGlzLnNlY29uZFN2Z1N0eWxlID0ge1xuICAgICAgJy13ZWJraXQtbWFzay1pbWFnZSc6IGB1cmwoJHt0aGlzLmxhcmdlU3RhdGVJY29ufSlgLFxuICAgICAgJ21hc2staW1hZ2UnOiBgdXJsKCR7dGhpcy5sYXJnZVN0YXRlSWNvbn0pYCxcbiAgICB9XG4gICAgdGhpcy5ldmVudEVtaXRPYmplY3QgPSB7XG4gICAgICBpZDogdGhpcy5pZFxuICAgIH1cbiAgfVxuXG4gIGJ1dHRvbkNsaWNrZWQoZXZ0OiBFdmVudCkge1xuICAgIHRoaXMub25DbGlja0V2ZW50LmVtaXQoe1xuICAgICAgLi4udGhpcy5ldmVudEVtaXRPYmplY3QsXG4gICAgICBldnRcbiAgICB9KTtcbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cImNoaXAge3t0eXBlfX0ge3tzdGF0ZX19IHt7ZmlsbGluZ319XCI+XG4gIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIChjbGljayk9XCJidXR0b25DbGlja2VkKCRldmVudClcIiBpZD1cImljb24tYnV0dG9uX3t7dXVpZH19XCIgY2xhc3M9XCJidG5faGlkZVwiPjwvYnV0dG9uPlxuICA8IS0tIChjbGljayk9XCJidXR0b25DbGlja2VkKClcIiBvbiBidXR0b24gaW5zdGVhZCBvZiBsYWJlbCBicmVha3Mgd2hvbGUgdGhpbmcgLS0+XG4gIDxsYWJlbCBmb3I9XCJpY29uLWJ1dHRvbl97e3V1aWR9fVwiIGNsYXNzPVwic3ZnLWljb25cIiBbc3R5bGVdPVwic3ZnU3R5bGVcIlxuICAgIFtzdHlsZS5kaXNwbGF5XT1cIigoaWNvblBvc2l0aW9uID09ICdsZWZ0JyB8fCBpY29uUG9zaXRpb24gPT0gJ2JvdGgnKSAmJiB0eXBlICE9ICdsYXJnZScpID8gJ2Jsb2NrJyA6ICdub25lJ1wiPlxuICA8L2xhYmVsPlxuXG4gIHt7dGV4dH19XG5cbiAgPGRpdiBjbGFzcz1cInNlY29uZC1zdmctaWNvblwiIFtzdHlsZV09XCJzZWNvbmRTdmdTdHlsZVwiIFtzdHlsZS5kaXNwbGF5XT1cIih0eXBlID09ICdsYXJnZScpID8gJ2Jsb2NrJyA6ICdub25lJ1wiPjwvZGl2PlxuXG4gIHt7dHlwZSA9PSAnbGFyZ2UnID8gbGFyZ2VTdGF0ZVRleHQgOiBcIlwifX1cblxuICA8bGFiZWwgZm9yPVwiaWNvbi1idXR0b25fe3t1dWlkfX1cIiBjbGFzcz1cInN2Zy1pY29uXCIgW3N0eWxlXT1cInN2Z1N0eWxlXCJcbiAgICBbc3R5bGUuZGlzcGxheV09XCIoKGljb25Qb3NpdGlvbiA9PSAncmlnaHQnIHx8IGljb25Qb3NpdGlvbiA9PSAnYm90aCcpICYmIHR5cGUgIT0gJ2xhcmdlJykgPyAnYmxvY2snIDogJ25vbmUnXCI+XG4gIDwvbGFiZWw+XG48L2Rpdj5cbiJdfQ==
|
|
@@ -36,4 +36,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.4", ngImpor
|
|
|
36
36
|
}], propDecorators: { range: [{
|
|
37
37
|
type: Input
|
|
38
38
|
}] } });
|
|
39
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
39
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZXBpY2tlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb21wb25lbnQtbGlicmFyeS9zcmMvbGliL2RhdGVwaWNrZXIvZGF0ZXBpY2tlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb21wb25lbnQtbGlicmFyeS9zcmMvbGliL2RhdGVwaWNrZXIvZGF0ZXBpY2tlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNqRCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUNuRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDekQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDbEUsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDbEUsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3hDLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN2QyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNyRCxPQUFPLEVBQUUsU0FBUyxFQUFtQixNQUFNLGtCQUFrQixDQUFDO0FBQzlELE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDhDQUE4QyxDQUFDO0FBQ3ZGLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7Ozs7QUFtQi9DLE1BQU0sT0FBTyxtQkFBb0IsU0FBUSxTQUEwQjtJQWpCbkU7O1FBb0JXLDRCQUF1QixHQUFHLHVCQUF1QixDQUFDO0tBRTVEOzhHQUxZLG1CQUFtQjtrR0FBbkIsbUJBQW1CLHdGQWRuQixDQUFDLHdCQUF3QixFQUFFLENBQUMsaURDZnpDLDJrQkFXQSx3K0JETUksa0JBQWtCLG1nQkFDbEIsY0FBYyw4QkFDZCxtQkFBbUIsb3pCQUduQixtQkFBbUIsbTJCQUVuQixZQUFZOzsyRkFLSCxtQkFBbUI7a0JBakIvQixTQUFTOytCQUNFLGVBQWUsY0FDYixJQUFJLGFBQ0wsQ0FBQyx3QkFBd0IsRUFBRSxDQUFDLFdBQzlCO3dCQUNQLGtCQUFrQjt3QkFDbEIsY0FBYzt3QkFDZCxtQkFBbUI7d0JBQ25CLEtBQUs7d0JBQ0wsSUFBSTt3QkFDSixtQkFBbUI7d0JBQ25CLHVCQUF1Qjt3QkFDdkIsWUFBWTtxQkFDYjs4QkFLUSxLQUFLO3NCQUFiLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBNYXREYXRlcGlja2VyTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGF0ZXBpY2tlcic7XG5pbXBvcnQgeyBNYXRJbnB1dE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2lucHV0JztcbmltcG9ydCB7IE1hdEZvcm1GaWVsZE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2Zvcm0tZmllbGQnO1xuaW1wb3J0IHsgcHJvdmlkZU5hdGl2ZURhdGVBZGFwdGVyIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvY29yZSc7XG5pbXBvcnQgeyBOZ0ZvciB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBOZ0lmIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IFJlYWN0aXZlRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBGaWVsZFR5cGUsIEZpZWxkVHlwZUNvbmZpZyB9IGZyb20gJ0BuZ3gtZm9ybWx5L2NvcmUnO1xuaW1wb3J0IHsgQ2FsZW5kYXJIZWFkZXJDb21wb25lbnQgfSBmcm9tICcuLi9jYWxlbmRhci1oZWFkZXIvY2FsZW5kYXItaGVhZGVyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdzYS1kYXRlcGlja2VyJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgcHJvdmlkZXJzOiBbcHJvdmlkZU5hdGl2ZURhdGVBZGFwdGVyKCldLFxuICBpbXBvcnRzOiBbXG4gICAgTWF0Rm9ybUZpZWxkTW9kdWxlLFxuICAgIE1hdElucHV0TW9kdWxlLFxuICAgIE1hdERhdGVwaWNrZXJNb2R1bGUsXG4gICAgTmdGb3IsXG4gICAgTmdJZixcbiAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxuICAgIENhbGVuZGFySGVhZGVyQ29tcG9uZW50LFxuICAgIENvbW1vbk1vZHVsZSxcbiAgXSxcbiAgdGVtcGxhdGVVcmw6ICcuL2RhdGVwaWNrZXIuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybDogJy4vZGF0ZXBpY2tlci5jb21wb25lbnQuY3NzJ1xufSlcbmV4cG9ydCBjbGFzcyBEYXRlcGlja2VyQ29tcG9uZW50IGV4dGVuZHMgRmllbGRUeXBlPEZpZWxkVHlwZUNvbmZpZz4ge1xuICBASW5wdXQoKSByYW5nZTogYW55O1xuXG4gIHJlYWRvbmx5IENhbGVuZGFySGVhZGVyQ29tcG9uZW50ID0gQ2FsZW5kYXJIZWFkZXJDb21wb25lbnQ7XG5cbn1cbiIsIjxtYXQtZm9ybS1maWVsZCBjbGFzcz1cImRhdGUtcGlja2VyXCI+XG4gIDxtYXQtbGFiZWw+Q2hvb3NlIGEgZGF0ZTwvbWF0LWxhYmVsPlxuICA8bWF0LWRhdGUtcmFuZ2UtaW5wdXQgW3JhbmdlUGlja2VyXT1cInBpY2tlclwiIFtmb3JtR3JvdXBdPVwicmFuZ2VcIj5cbiAgICA8aW5wdXQgZm9ybUNvbnRyb2xOYW1lPVwic3RhcnRcIiBtYXRTdGFydERhdGUgcGxhY2Vob2xkZXI9XCJTdGFydCBkYXRlXCI+XG4gICAgPGlucHV0IGZvcm1Db250cm9sTmFtZT1cImVuZFwiIG1hdEVuZERhdGUgcGxhY2Vob2xkZXI9XCJFbmQgZGF0ZVwiPlxuICA8L21hdC1kYXRlLXJhbmdlLWlucHV0PlxuICA8bWF0LWhpbnQ+TU0vREQvWVlZWTwvbWF0LWhpbnQ+XG4gIDxtYXQtZGF0ZXBpY2tlci10b2dnbGUgbWF0SWNvblN1ZmZpeCBbZm9yXT1cInBpY2tlclwiPjwvbWF0LWRhdGVwaWNrZXItdG9nZ2xlPlxuICA8bWF0LWRhdGUtcmFuZ2UtcGlja2VyIFtjYWxlbmRhckhlYWRlckNvbXBvbmVudF09XCJDYWxlbmRhckhlYWRlckNvbXBvbmVudFwiICNwaWNrZXI+XG4gIDwvbWF0LWRhdGUtcmFuZ2UtcGlja2VyPlxuPC9tYXQtZm9ybS1maWVsZD5cbiJdfQ==
|
|
@@ -81,4 +81,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.4", ngImpor
|
|
|
81
81
|
}], onClickAvatarEvent: [{
|
|
82
82
|
type: Output
|
|
83
83
|
}] } });
|
|
84
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JpZC1jZWxsLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvbXBvbmVudC1saWJyYXJ5L3NyYy9saWIvZ3JpZC1jZWxsL2dyaWQtY2VsbC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb21wb25lbnQtbGlicmFyeS9zcmMvbGliL2dyaWQtY2VsbC9ncmlkLWNlbGwuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQVMsTUFBTSxlQUFlLENBQUM7QUFDL0QsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN2QyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDN0QsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzFELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUM3RCxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0saUJBQWlCLENBQUM7O0FBZ0J4QyxNQUFNLE9BQU8saUJBQWlCO0lBWjlCO1FBZ0JZLHVCQUFrQixHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7UUFDeEMscUJBQWdCLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUN0QyxxQkFBZ0IsR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO1FBQ3RDLHVCQUFrQixHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7S0E0RG5EO0lBMURDLGFBQWEsQ0FBQyxHQUFVO1FBQ3RCLElBQUksQ0FBQyxNQUFNLENBQUMsYUFBYSxJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsYUFBYSxDQUFDO1lBQ3JELEdBQUcsR0FBRztZQUNOLEtBQUssRUFBRSxJQUFJLENBQUMsTUFBTTtTQUNuQixDQUFDLENBQUM7UUFDSCxJQUFJLENBQUMsa0JBQWtCLENBQUMsSUFB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QUFrQjtzQkFBM0IsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBpbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBdmF0YXJDb21wb25lbnQgfSBmcm9tICcuLi9hdmF0YXIvYXZhdGFyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBDaGlwc0NvbXBvbmVudCB9IGZyb20gJy4uL2NoaXBzL2NoaXBzLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBCdXR0b25Db21wb25lbnQgfSBmcm9tICcuLi9idXR0b24vYnV0dG9uLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBOZ0ZvciB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBJQ2VsbFJlbmRlcmVyQW5ndWxhckNvbXAsIElIZWFkZXJBbmd1bGFyQ29tcCB9IGZyb20gJ2FnLWdyaWQtYW5ndWxhcic7XG5pbXBvcnQgeyBHcmlkSW50ZXJmYWNlIH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcy9ncmlkLWludGVyZmFjZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2xpYi1ncmlkLWNlbGwnLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbXG4gICAgQXZhdGFyQ29tcG9uZW50LFxuICAgIENoaXBzQ29tcG9uZW50LFxuICAgIEJ1dHRvbkNvbXBvbmVudCxcbiAgICBOZ0ZvclxuICBdLFxuICB0ZW1wbGF0ZVVybDogJy4vZ3JpZC1jZWxsLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmw6ICcuL2dyaWQtY2VsbC5jb21wb25lbnQuY3NzJ1xufSlcbmV4cG9ydCBjbGFzcyBHcmlkQ2VsbENvbXBvbmVudCBpbXBsZW1lbnRzIElDZWxsUmVuZGVyZXJBbmd1bGFyQ29tcCwgSUhlYWRlckFuZ3VsYXJDb21wIHtcbiAgcGFyYW1zOiBHcmlkSW50ZXJmYWNlO1xuICByb3dOdW06IG51bWJlcjtcblxuICBAT3V0cHV0KCkgb25DbGlja0J1dHRvbkV2ZW50ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuICBAT3V0cHV0KCkgb25DbGlja0NoaXBFdmVudCA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgQE91dHB1dCgpIG9uQ2xpY2tMaW5rRXZlbnQgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gIEBPdXRwdXQoKSBvbkNsaWNrQXZhdGFyRXZlbnQgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgYnV0dG9uQ2xpY2tlZChldnQ6IEV2ZW50KSB7XG4gICAgdGhpcy5wYXJhbXMuYnV0dG9uQ2xpY2tlZCAmJiB0aGlzLnBhcmFtcy5idXR0b25DbGlja2VkKHsgICAgICAgICAgICAvLyBjYWxscyB0aGUgZnVuY3Rpb24gcGFzc2VkIHZpYSBwYXJhbXMgaW4gZ3JpZEludGVyZmFjZS5cbiAgICAgIC4uLmV2dCxcbiAgICAgIHJvd0lkOiB0aGlzLnJvd051bVxuICAgIH0pO1xuICAgIHRoaXMub25DbGlja0J1dHRvbkV2ZW50LmVtaXQoeyAuLi5ldnQsIHJvd0lkOiB0aGlzLnJvd051bSB9KTsgICAgICAvLyB0aGlzIGV2ZW50IGlzbid0IGNhdWdodCBieSBhbnl0aGluZy4gXG4gIH1cblxuICAvLyBhYm92ZSBmdW5jdGlvbiBiZWhhdmlvciBpcyBzYW1lIGZvciBhbGwgZnVuY3Rpb25zIGluIHRoaXMgY2xhc3NcblxuICBjaGlwQ2xpY2tlZChldnQ6IEV2ZW50KSB7XG4gICAgdGhpcy5wYXJhbXMuY2hpcENsaWNrZWQgJiYgdGhpcy5wYXJhbXMuY2hpcENsaWNrZWQoe1xuICAgICAgLi4uZXZ0LFxuICAgICAgcm93SWQ6IHRoaXMucm93TnVtXG4gICAgfSk7XG4gICAgdGhpcy5vbkNsaWNrQ2hpcEV2ZW50LmVtaXQoeyAuLi5ldnQsIHJvd0lkOiB0aGlzLnJvd051bSB9KTtcbiAgfVxuXG4gIGxpbmtDbGlja2VkKCkge1xuICAgIGlmICh0aGlzLnBhcmFtcy5jZWxsVHlwZSAhPSBcImludGVyYWN0aXZlXCIpIHJldHVybjtcblxuICAgIHRoaXMucGFyYW1zLmxpbmtDbGlja2VkICYmIHRoaXMucGFyYW1zLmxpbmtDbGlja2VkKHsgICAgICAgICAvL2NhbGxpbmcgZnVuY3Rpb24gcGFzc2VkIGluIHBhcmFtcyB3aXRoIHJvd0lkIG9iamVjdCBpbiBhcmd1bWVudHNcbiAgICAgIHJvd0lkOiB0aGlzLnJvd051bVxuICAgIH0pO1xuXG4gICAgaWYgKHRoaXMucGFyYW1zLmludGVyYWN0aXZlTGluayAhPSBcIlwiKSB7XG4gICAgICBpZiAodGhpcy5wYXJhbXMuaW50ZXJhY3RpdmVMaW5rVGFyZ2V0ID09IFwiYmxhbmtcIikge1xuICAgICAgICB3aW5kb3cub3Blbih0aGlzLnBhcmFtcy5pbnRlcmFjdGl2ZUxpbmspITtcbiAgICAgIH1cbiAgICAgIGVsc2UgaWYgKHRoaXMucGFyYW1zLmludGVyYWN0aXZlTGlua1RhcmdldCA9PSBcInNlbGZcIikge1xuICAgICAgICBsb2NhdGlvbi5ocmVmID0gdGhpcy5wYXJhbXMuaW50ZXJhY3RpdmVMaW5rITtcbiAgICAgIH1cbiAgICB9XG4gICAgdGhpcy5vbkNsaWNrTGlua0V2ZW50LmVtaXQoeyByb3dJZDogdGhpcy5yb3dOdW0gfSk7XG4gIH1cblxuICBhdmF0YXJDbGlja2VkKGV2dDogRXZlbnQpIHtcbiAgICB0aGlzLnBhcmFtcy5hdmF0YXJDbGlja2VkICYmIHRoaXMucGFyYW1zLmF2YXRhckNsaWNrZWQoe1xuICAgICAgLi4uZXZ0LFxuICAgICAgcm93SWQ6IHRoaXMucm93TnVtXG4gICAgfSk7XG4gICAgdGhpcy5vbkNsaWNrQ2hpcEV2ZW50LmVtaXQoeyAuLi5ldnQsIHJvd0lkOiB0aGlzLnJvd051bSB9KTtcbiAgfVxuXG4gIGFnSW5pdChpblBhcmFtczogYW55KTogdm9pZCB7ICAgICAgICAgIC8vIG11c3QgZXhpc3Qgd2hlbiBjbGFzcyBpbXBsZW1lbnRzIElDZWxsUmVuZGVyZXJBbmd1bGFyQ29tcCAvIElIZWFkZXJBbmd1bGFyQ29tcFxuXG4gICAgdGhpcy5yb3dOdW0gPSBpblBhcmFtcy5yb3dJbmRleDtcbiAgICB0aGlzLnBhcmFtcyA9IGluUGFyYW1zLnZhbHVlOyAgICAgICAvLyBpblBhcmFtcy52YWx1ZSBleGlzdHMgd2hlbiBncmlkQ2VsbCBpcyByZW5kZXJlZCBhcyBjZWxsLCBgY2VsbFJlbmRlcmVyOiBHcmlkQ2VsbENvbXBvbmVudGBcbiAgICBpZiAoaW5QYXJhbXMudmFsdWUgPT0gdW5kZWZpbmVkKSB7ICAgIC8vIGluUGFyYW1zLnZhbHVlIGlzIHVuZGVmaW5lZCB3aGVuIGdyaWRDZWxsIGlzIHJlbmRlcmVkIGFzIGhlYWRlciwgYGhlYWRlckNvbXBvbmVudDogR3JpZENlbGxDb21wb25lbnRgLCBcbiAgICAgIHRoaXMucGFyYW1zID0gaW5QYXJhbXNcbiAgICB9XG4gICAgLy8gY29uc29sZS5sb2codGhpcy5wYXJhbXMpO1xuICB9XG5cbiAgcmVmcmVzaChwYXJhbXM6IGFueSkgeyAgICAgLy8gbXVzdCBleGlzdCB3aGVuIGNsYXNzIGltcGxlbWVudHMgSUNlbGxSZW5kZXJlckFuZ3VsYXJDb21wIC8gSUhlYWRlckFuZ3VsYXJDb21wXG4gICAgcmV0dXJuIGZhbHNlOyAgICAgICAgICAgLy8gbm90IHN1cmUgd2hhdCB0aGlzIHJldHVybiB2YWx1ZSBkb2VzLlxuICB9XG5cbn1cbiIsIjxkaXYgY2xhc3M9XCJncmlkLWNlbGwge3twYXJhbXMuY2VsbFR5cGV9fVwiPlxuXG4gIDxpbWcgY2xhc3M9XCJpY29uc1wiIHNyYz17e3BhcmFtcy5pY29uUGF0aH19IFtzdHlsZS5kaXNwbGF5XT1cIihwYXJhbXMudmlld0xlYWRpbmdJY29uKSA/ICdibG9jaycgOiAnbm9uZSdcIiBhbHQ9XCJcIj5cblxuICA8c2EtYXZhdGFyIFtpZF09XCJwYXJhbXMuYXZhdGFyQ29uZmlnPy5pZFwiIFthbHRUZXh0XT1cInBhcmFtcy5hdmF0YXJDb25maWc/LmFsdFRleHRcIlxuICAgIFtpbWFnZVBhdGhdPVwicGFyYW1zLmF2YXRhckNvbmZpZz8uaW1hZ2VQYXRoXCIgW3NpemVdPVwicGFyYW1zLmF2YXRhckNvbmZpZz8uc2l6ZVwiXG4gICAgW3N0eWxlLmRpc3BsYXldPVwiKHBhcmFtcy52aWV3QXZhdGFyKSA/ICdibG9jaycgOiAnbm9uZSdcIiAob25DbGlja0V2ZW50KT1cImF2YXRhckNsaWNrZWQoJGV2ZW50KVwiPlxuICA8L3NhLWF2YXRhcj5cblxuICA8ZGl2IGNsYXNzPVwiZ3JpZC10ZXh0XCIgW3N0eWxlLmRpc3BsYXldPVwiKHBhcmFtcy52aWV3VGV4dCkgPyAnYmxvY2snIDogJ25vbmUnXCI+XG4gICAgPGRpdiBbc3R5bGUuZGlzcGxheV09XCIocGFyYW1zLnRleHQpID8gJ2Jsb2NrJyA6ICdub25lJ1wiIChjbGljayk9XCJsaW5rQ2xpY2tlZCgpXCIgY2xhc3M9XCJtYWluLXRleHRcIj57e3BhcmFtcy50ZXh0fX1cbiAgICA8L2Rpdj5cblxuICAgIDxkaXYgW3N0eWxlLmRpc3BsYXldPVwiKHBhcmFtcy5zdWJUZXh0KSA/ICdibG9jaycgOiAnbm9uZSdcIiBjbGFzcz1cInN1Yi10ZXh0XCI+e3twYXJhbXMuc3ViVGV4dH19PC9kaXY+XG4gIDwvZGl2PlxuXG4gIDxpbWcgY2xhc3M9XCJpY29uc1wiIHNyYz17e3BhcmFtcy5pY29uUGF0aH19IFtzdHlsZS5kaXNwbGF5XT1cIihwYXJhbXMudmlld1RyYWlsaW5nSWNvbikgPyAnYmxvY2snIDogJ25vbmUnXCIgYWx0PVwiXCI+XG5cblxuICA8c2EtY2hpcCAqbmdGb3I9XCJsZXQgY29uZmlnIG9mIHBhcmFtcy5jaGlwQ29uZmlnLCBsZXQgaSA9IGluZGV4XCIgW2lkXT1cImNvbmZpZy5pZFwiIFtmaWxsaW5nXT1cImNvbmZpZy5maWxsaW5nXCJcbiAgICBpZD1cImNoaXBfe3tyb3dOdW19fV97e2NvbmZpZy5pZH19XCIgW2ljb25QYXRoXT1cImNvbmZpZy5pY29uUGF0aFwiIFtpY29uUG9zaXRpb25dPVwiY29uZmlnLmljb25Qb3NpdGlvblwiXG4gICAgW2xhcmdlU3RhdGVJY29uXT1cImNvbmZpZy5sYXJnZVN0YXRlSWNvblwiIFtzdGF0ZV09XCJjb25maWcuc3RhdGVcIiBbdHlwZV09XCJjb25maWcudHlwZVwiIFt0ZXh0XT1cImNvbmZpZy50ZXh0XCJcbiAgICBbc3R5bGUuZGlzcGxheV09XCIocGFyYW1zLnZpZXdDaGlwKSA/ICdibG9jaycgOiAnbm9uZSdcIiAob25DbGlja0V2ZW50KT1cImNoaXBDbGlja2VkKCRldmVudClcIj48L3NhLWNoaXA+XG5cbiAgPHNhLWJ1dHRvbiBbaWNvblBvc2l0aW9uXT1cInBhcmFtcy5idXR0b25Db25maWc/Lmljb25Qb3NpdGlvblwiIFtJbWFnZVBhdGhdPVwicGFyYW1zLmJ1dHRvbkNvbmZpZz8uaW1hZ2VQYXRoXCJcbiAgICBbaWRdPVwicGFyYW1zLmJ1dHRvbkNvbmZpZz8uaWRcIiBbc2l6ZV09XCJwYXJhbXMuYnV0dG9uQ29uZmlnPy5zaXplXCIgW3N0YXRlXT1cInBhcmFtcy5idXR0b25Db25maWc/LnN0YXRlXCJcbiAgICBbdHlwZV09XCJwYXJhbXMuYnV0dG9uQ29uZmlnPy50eXBlXCIgW3RleHRdPVwicGFyYW1zLmJ1dHRvbkNvbmZpZz8udGV4dFwiIFtocmVmXT1cInBhcmFtcy5idXR0b25Db25maWc/LmhyZWZcIlxuICAgIFtocmVmVGFyZ2V0XT1cInBhcmFtcy5idXR0b25Db25maWc/LmhyZWZUYXJnZXRcIiBbc3R5bGUuZGlzcGxheV09XCIocGFyYW1zLnZpZXdCdXR0b24pID8gJ2Jsb2NrJyA6ICdub25lJ1wiXG4gICAgKG9uQ2xpY2tFdmVudCk9XCJidXR0b25DbGlja2VkKCRldmVudClcIj48L3NhLWJ1dHRvbj5cblxuPC9kaXY+XG4iXX0=
|
|
84
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JpZC1jZWxsLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvbXBvbmVudC1saWJyYXJ5L3NyYy9saWIvZ3JpZC1jZWxsL2dyaWQtY2VsbC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb21wb25lbnQtbGlicmFyeS9zcmMvbGliL2dyaWQtY2VsbC9ncmlkLWNlbGwuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDeEQsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN2QyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDN0QsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzFELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUM3RCxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0saUJBQWlCLENBQUM7O0FBZ0J4QyxNQUFNLE9BQU8saUJBQWlCO0lBWjlCO1FBZ0JZLHVCQUFrQixHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7UUFDeEMscUJBQWdCLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUN0QyxxQkFBZ0IsR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO1FBQ3RDLHVCQUFrQixHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7S0E0RG5EO0lBMURDLGFBQWEsQ0FBQyxHQUFVO1FBQ3RCLElBQUksQ0FBQyxNQUFNLENBQUMsYUFBYSxJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsYUFBYSxDQUFDO1lBQ3JELEdBQUcsR0FBRztZQUNOLEtBQUssRUFBRSxJQUFJLENBQUMsTUFBTTtTQUNuQixDQUFDLENBQUM7UUFDSCxJQUFJLENBQUMsa0JBQWtCLENBQUMsSUFB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QUFrQjtzQkFBM0IsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEF2YXRhckNvbXBvbmVudCB9IGZyb20gJy4uL2F2YXRhci9hdmF0YXIuY29tcG9uZW50JztcbmltcG9ydCB7IENoaXBzQ29tcG9uZW50IH0gZnJvbSAnLi4vY2hpcHMvY2hpcHMuY29tcG9uZW50JztcbmltcG9ydCB7IEJ1dHRvbkNvbXBvbmVudCB9IGZyb20gJy4uL2J1dHRvbi9idXR0b24uY29tcG9uZW50JztcbmltcG9ydCB7IE5nRm9yIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IElDZWxsUmVuZGVyZXJBbmd1bGFyQ29tcCwgSUhlYWRlckFuZ3VsYXJDb21wIH0gZnJvbSAnYWctZ3JpZC1hbmd1bGFyJztcbmltcG9ydCB7IEdyaWRJbnRlcmZhY2UgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzL2dyaWQtaW50ZXJmYWNlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbGliLWdyaWQtY2VsbCcsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtcbiAgICBBdmF0YXJDb21wb25lbnQsXG4gICAgQ2hpcHNDb21wb25lbnQsXG4gICAgQnV0dG9uQ29tcG9uZW50LFxuICAgIE5nRm9yXG4gIF0sXG4gIHRlbXBsYXRlVXJsOiAnLi9ncmlkLWNlbGwuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybDogJy4vZ3JpZC1jZWxsLmNvbXBvbmVudC5jc3MnXG59KVxuZXhwb3J0IGNsYXNzIEdyaWRDZWxsQ29tcG9uZW50IGltcGxlbWVudHMgSUNlbGxSZW5kZXJlckFuZ3VsYXJDb21wLCBJSGVhZGVyQW5ndWxhckNvbXAge1xuICBwYXJhbXM6IEdyaWRJbnRlcmZhY2U7XG4gIHJvd051bTogbnVtYmVyO1xuXG4gIEBPdXRwdXQoKSBvbkNsaWNrQnV0dG9uRXZlbnQgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gIEBPdXRwdXQoKSBvbkNsaWNrQ2hpcEV2ZW50ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuICBAT3V0cHV0KCkgb25DbGlja0xpbmtFdmVudCA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgQE91dHB1dCgpIG9uQ2xpY2tBdmF0YXJFdmVudCA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICBidXR0b25DbGlja2VkKGV2dDogRXZlbnQpIHtcbiAgICB0aGlzLnBhcmFtcy5idXR0b25DbGlja2VkICYmIHRoaXMucGFyYW1zLmJ1dHRvbkNsaWNrZWQoeyAgICAgICAgICAgIC8vIGNhbGxzIHRoZSBmdW5jdGlvbiBwYXNzZWQgdmlhIHBhcmFtcyBpbiBncmlkSW50ZXJmYWNlLlxuICAgICAgLi4uZXZ0LFxuICAgICAgcm93SWQ6IHRoaXMucm93TnVtXG4gICAgfSk7XG4gICAgdGhpcy5vbkNsaWNrQnV0dG9uRXZlbnQuZW1pdCh7IC4uLmV2dCwgcm93SWQ6IHRoaXMucm93TnVtIH0pOyAgICAgIC8vIHRoaXMgZXZlbnQgaXNuJ3QgY2F1Z2h0IGJ5IGFueXRoaW5nLiBcbiAgfVxuXG4gIC8vIGFib3ZlIGZ1bmN0aW9uIGJlaGF2aW9yIGlzIHNhbWUgZm9yIGFsbCBmdW5jdGlvbnMgaW4gdGhpcyBjbGFzc1xuXG4gIGNoaXBDbGlja2VkKGV2dDogRXZlbnQpIHtcbiAgICB0aGlzLnBhcmFtcy5jaGlwQ2xpY2tlZCAmJiB0aGlzLnBhcmFtcy5jaGlwQ2xpY2tlZCh7XG4gICAgICAuLi5ldnQsXG4gICAgICByb3dJZDogdGhpcy5yb3dOdW1cbiAgICB9KTtcbiAgICB0aGlzLm9uQ2xpY2tDaGlwRXZlbnQuZW1pdCh7IC4uLmV2dCwgcm93SWQ6IHRoaXMucm93TnVtIH0pO1xuICB9XG5cbiAgbGlua0NsaWNrZWQoKSB7XG4gICAgaWYgKHRoaXMucGFyYW1zLmNlbGxUeXBlICE9IFwiaW50ZXJhY3RpdmVcIikgcmV0dXJuO1xuXG4gICAgdGhpcy5wYXJhbXMubGlua0NsaWNrZWQgJiYgdGhpcy5wYXJhbXMubGlua0NsaWNrZWQoeyAgICAgICAgIC8vY2FsbGluZyBmdW5jdGlvbiBwYXNzZWQgaW4gcGFyYW1zIHdpdGggcm93SWQgb2JqZWN0IGluIGFyZ3VtZW50c1xuICAgICAgcm93SWQ6IHRoaXMucm93TnVtXG4gICAgfSk7XG5cbiAgICBpZiAodGhpcy5wYXJhbXMuaW50ZXJhY3RpdmVMaW5rICE9IFwiXCIpIHtcbiAgICAgIGlmICh0aGlzLnBhcmFtcy5pbnRlcmFjdGl2ZUxpbmtUYXJnZXQgPT0gXCJibGFua1wiKSB7XG4gICAgICAgIHdpbmRvdy5vcGVuKHRoaXMucGFyYW1zLmludGVyYWN0aXZlTGluaykhO1xuICAgICAgfVxuICAgICAgZWxzZSBpZiAodGhpcy5wYXJhbXMuaW50ZXJhY3RpdmVMaW5rVGFyZ2V0ID09IFwic2VsZlwiKSB7XG4gICAgICAgIGxvY2F0aW9uLmhyZWYgPSB0aGlzLnBhcmFtcy5pbnRlcmFjdGl2ZUxpbmshO1xuICAgICAgfVxuICAgIH1cbiAgICB0aGlzLm9uQ2xpY2tMaW5rRXZlbnQuZW1pdCh7IHJvd0lkOiB0aGlzLnJvd051bSB9KTtcbiAgfVxuXG4gIGF2YXRhckNsaWNrZWQoZXZ0OiBFdmVudCkge1xuICAgIHRoaXMucGFyYW1zLmF2YXRhckNsaWNrZWQgJiYgdGhpcy5wYXJhbXMuYXZhdGFyQ2xpY2tlZCh7XG4gICAgICAuLi5ldnQsXG4gICAgICByb3dJZDogdGhpcy5yb3dOdW1cbiAgICB9KTtcbiAgICB0aGlzLm9uQ2xpY2tDaGlwRXZlbnQuZW1pdCh7IC4uLmV2dCwgcm93SWQ6IHRoaXMucm93TnVtIH0pO1xuICB9XG5cbiAgYWdJbml0KGluUGFyYW1zOiBhbnkpOiB2b2lkIHsgICAgICAgICAgLy8gbXVzdCBleGlzdCB3aGVuIGNsYXNzIGltcGxlbWVudHMgSUNlbGxSZW5kZXJlckFuZ3VsYXJDb21wIC8gSUhlYWRlckFuZ3VsYXJDb21wXG5cbiAgICB0aGlzLnJvd051bSA9IGluUGFyYW1zLnJvd0luZGV4O1xuICAgIHRoaXMucGFyYW1zID0gaW5QYXJhbXMudmFsdWU7ICAgICAgIC8vIGluUGFyYW1zLnZhbHVlIGV4aXN0cyB3aGVuIGdyaWRDZWxsIGlzIHJlbmRlcmVkIGFzIGNlbGwsIGBjZWxsUmVuZGVyZXI6IEdyaWRDZWxsQ29tcG9uZW50YFxuICAgIGlmIChpblBhcmFtcy52YWx1ZSA9PSB1bmRlZmluZWQpIHsgICAgLy8gaW5QYXJhbXMudmFsdWUgaXMgdW5kZWZpbmVkIHdoZW4gZ3JpZENlbGwgaXMgcmVuZGVyZWQgYXMgaGVhZGVyLCBgaGVhZGVyQ29tcG9uZW50OiBHcmlkQ2VsbENvbXBvbmVudGAsIFxuICAgICAgdGhpcy5wYXJhbXMgPSBpblBhcmFtc1xuICAgIH1cbiAgICAvLyBjb25zb2xlLmxvZyh0aGlzLnBhcmFtcyk7XG4gIH1cblxuICByZWZyZXNoKHBhcmFtczogYW55KSB7ICAgICAvLyBtdXN0IGV4aXN0IHdoZW4gY2xhc3MgaW1wbGVtZW50cyBJQ2VsbFJlbmRlcmVyQW5ndWxhckNvbXAgLyBJSGVhZGVyQW5ndWxhckNvbXBcbiAgICByZXR1cm4gZmFsc2U7ICAgICAgICAgICAvLyBub3Qgc3VyZSB3aGF0IHRoaXMgcmV0dXJuIHZhbHVlIGRvZXMuXG4gIH1cblxufVxuIiwiPGRpdiBjbGFzcz1cImdyaWQtY2VsbCB7e3BhcmFtcy5jZWxsVHlwZX19XCI+XG5cbiAgPGltZyBjbGFzcz1cImljb25zXCIgc3JjPXt7cGFyYW1zLmljb25QYXRofX0gW3N0eWxlLmRpc3BsYXldPVwiKHBhcmFtcy52aWV3TGVhZGluZ0ljb24pID8gJ2Jsb2NrJyA6ICdub25lJ1wiIGFsdD1cIlwiPlxuXG4gIDxzYS1hdmF0YXIgW2lkXT1cInBhcmFtcy5hdmF0YXJDb25maWc/LmlkXCIgW2FsdFRleHRdPVwicGFyYW1zLmF2YXRhckNvbmZpZz8uYWx0VGV4dFwiXG4gICAgW2ltYWdlUGF0aF09XCJwYXJhbXMuYXZhdGFyQ29uZmlnPy5pbWFnZVBhdGhcIiBbc2l6ZV09XCJwYXJhbXMuYXZhdGFyQ29uZmlnPy5zaXplXCJcbiAgICBbc3R5bGUuZGlzcGxheV09XCIocGFyYW1zLnZpZXdBdmF0YXIpID8gJ2Jsb2NrJyA6ICdub25lJ1wiIChvbkNsaWNrRXZlbnQpPVwiYXZhdGFyQ2xpY2tlZCgkZXZlbnQpXCI+XG4gIDwvc2EtYXZhdGFyPlxuXG4gIDxkaXYgY2xhc3M9XCJncmlkLXRleHRcIiBbc3R5bGUuZGlzcGxheV09XCIocGFyYW1zLnZpZXdUZXh0KSA/ICdibG9jaycgOiAnbm9uZSdcIj5cbiAgICA8ZGl2IFtzdHlsZS5kaXNwbGF5XT1cIihwYXJhbXMudGV4dCkgPyAnYmxvY2snIDogJ25vbmUnXCIgKGNsaWNrKT1cImxpbmtDbGlja2VkKClcIiBjbGFzcz1cIm1haW4tdGV4dFwiPnt7cGFyYW1zLnRleHR9fVxuICAgIDwvZGl2PlxuXG4gICAgPGRpdiBbc3R5bGUuZGlzcGxheV09XCIocGFyYW1zLnN1YlRleHQpID8gJ2Jsb2NrJyA6ICdub25lJ1wiIGNsYXNzPVwic3ViLXRleHRcIj57e3BhcmFtcy5zdWJUZXh0fX08L2Rpdj5cbiAgPC9kaXY+XG5cbiAgPGltZyBjbGFzcz1cImljb25zXCIgc3JjPXt7cGFyYW1zLmljb25QYXRofX0gW3N0eWxlLmRpc3BsYXldPVwiKHBhcmFtcy52aWV3VHJhaWxpbmdJY29uKSA/ICdibG9jaycgOiAnbm9uZSdcIiBhbHQ9XCJcIj5cblxuXG4gIDxzYS1jaGlwICpuZ0Zvcj1cImxldCBjb25maWcgb2YgcGFyYW1zLmNoaXBDb25maWcsIGxldCBpID0gaW5kZXhcIiBbaWRdPVwiY29uZmlnLmlkXCIgW2ZpbGxpbmddPVwiY29uZmlnLmZpbGxpbmdcIlxuICAgIGlkPVwiY2hpcF97e3Jvd051bX19X3t7Y29uZmlnLmlkfX1cIiBbaWNvblBhdGhdPVwiY29uZmlnLmljb25QYXRoXCIgW2ljb25Qb3NpdGlvbl09XCJjb25maWcuaWNvblBvc2l0aW9uXCJcbiAgICBbbGFyZ2VTdGF0ZUljb25dPVwiY29uZmlnLmxhcmdlU3RhdGVJY29uXCIgW3N0YXRlXT1cImNvbmZpZy5zdGF0ZVwiIFt0eXBlXT1cImNvbmZpZy50eXBlXCIgW3RleHRdPVwiY29uZmlnLnRleHRcIlxuICAgIFtzdHlsZS5kaXNwbGF5XT1cIihwYXJhbXMudmlld0NoaXApID8gJ2Jsb2NrJyA6ICdub25lJ1wiIChvbkNsaWNrRXZlbnQpPVwiY2hpcENsaWNrZWQoJGV2ZW50KVwiPjwvc2EtY2hpcD5cblxuICA8c2EtYnV0dG9uIFtpY29uUG9zaXRpb25dPVwicGFyYW1zLmJ1dHRvbkNvbmZpZz8uaWNvblBvc2l0aW9uXCIgW0ltYWdlUGF0aF09XCJwYXJhbXMuYnV0dG9uQ29uZmlnPy5pbWFnZVBhdGhcIlxuICAgIFtpZF09XCJwYXJhbXMuYnV0dG9uQ29uZmlnPy5pZFwiIFtzaXplXT1cInBhcmFtcy5idXR0b25Db25maWc/LnNpemVcIiBbc3RhdGVdPVwicGFyYW1zLmJ1dHRvbkNvbmZpZz8uc3RhdGVcIlxuICAgIFt0eXBlXT1cInBhcmFtcy5idXR0b25Db25maWc/LnR5cGVcIiBbdGV4dF09XCJwYXJhbXMuYnV0dG9uQ29uZmlnPy50ZXh0XCIgW2hyZWZdPVwicGFyYW1zLmJ1dHRvbkNvbmZpZz8uaHJlZlwiXG4gICAgW2hyZWZUYXJnZXRdPVwicGFyYW1zLmJ1dHRvbkNvbmZpZz8uaHJlZlRhcmdldFwiIFtzdHlsZS5kaXNwbGF5XT1cIihwYXJhbXMudmlld0J1dHRvbikgPyAnYmxvY2snIDogJ25vbmUnXCJcbiAgICAob25DbGlja0V2ZW50KT1cImJ1dHRvbkNsaWNrZWQoJGV2ZW50KVwiPjwvc2EtYnV0dG9uPlxuXG48L2Rpdj5cbiJdfQ==
|
|
@@ -34,4 +34,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.4", ngImpor
|
|
|
34
34
|
}], helperButtonClicked: [{
|
|
35
35
|
type: Output
|
|
36
36
|
}] } });
|
|
37
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
37
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVhZGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvbXBvbmVudC1saWJyYXJ5L3NyYy9saWIvaGVhZGVyL2hlYWRlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb21wb25lbnQtbGlicmFyeS9zcmMvbGliL2hlYWRlci9oZWFkZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2hFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMxRCxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3RDLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN4QyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDN0QsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLGlCQUFpQixDQUFDOztBQVN2QyxNQUFNLE9BQU8sZUFBZTtJQVA1QjtRQWNZLHNCQUFpQixHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7UUFDdkMsd0JBQW1CLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztLQUtwRDtJQUhDLE9BQU8sQ0FBQyxHQUFXO1FBQ2pCLEdBQUcsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsbUJBQW1CLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDeEUsQ0FBQzs4R0FaVSxlQUFlO2tHQUFmLGVBQWUsNFNDZDVCLDYzQkF1QkEsODdCRGJZLGNBQWMsbU1BQUUsS0FBSyxtSEFBRSxlQUFlLHNPQUFFLElBQUk7OzJGQUkzQyxlQUFlO2tCQVAzQixTQUFTOytCQUNFLFdBQVcsY0FDVCxJQUFJLFdBQ1AsQ0FBQyxjQUFjLEVBQUUsS0FBSyxFQUFFLGVBQWUsRUFBRSxJQUFJLENBQUM7OEJBSzlDLElBQUk7c0JBQVosS0FBSztnQkFDRyxVQUFVO3NCQUFsQixLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0csWUFBWTtzQkFBcEIsS0FBSztnQkFDRyxVQUFVO3NCQUFsQixLQUFLO2dCQUVJLGlCQUFpQjtzQkFBMUIsTUFBTTtnQkFDRyxtQkFBbUI7c0JBQTVCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDaGlwc0NvbXBvbmVudCB9IGZyb20gJy4uL2NoaXBzL2NoaXBzLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTmdGb3IgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQnV0dG9uQ29tcG9uZW50IH0gZnJvbSAnLi4vYnV0dG9uL2J1dHRvbi5jb21wb25lbnQnO1xuaW1wb3J0IHsgTmdJZiB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3NhLWhlYWRlcicsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtDaGlwc0NvbXBvbmVudCwgTmdGb3IsIEJ1dHRvbkNvbXBvbmVudCwgTmdJZl0sXG4gIHRlbXBsYXRlVXJsOiAnLi9oZWFkZXIuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybDogJy4vaGVhZGVyLmNvbXBvbmVudC5jc3MnXG59KVxuZXhwb3J0IGNsYXNzIEhlYWRlckNvbXBvbmVudCB7XG4gIEBJbnB1dCgpIGluZm86IHN0cmluZ1tdW107XG4gIEBJbnB1dCgpIGhlYWRlck5hbWU6IHN0cmluZztcbiAgQElucHV0KCkgY2hpcENvbmZpZzogc3RyaW5nW11bXTtcbiAgQElucHV0KCkgYnV0dG9uSGVscGVyOiBzdHJpbmc7XG4gIEBJbnB1dCgpIGJ1dHRvbk1haW46IHN0cmluZztcblxuICBAT3V0cHV0KCkgbWFpbkJ1dHRvbkNsaWNrZWQgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gIEBPdXRwdXQoKSBoZWxwZXJCdXR0b25DbGlja2VkID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gIGNsaWNrZWQobnVtOiBudW1iZXIpIHtcbiAgICBudW0gPyB0aGlzLm1haW5CdXR0b25DbGlja2VkLmVtaXQoKSA6IHRoaXMuaGVscGVyQnV0dG9uQ2xpY2tlZC5lbWl0KCk7XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJoZWFkZXJcIj5cbiAgPGRpdiBjbGFzcz1cImhlYWRlci1jb250ZW50XCI+XG4gICAgPGRpdiBjbGFzcz1cImhlYWRpbmdcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJoZWFkZXItbmFtZVwiPnt7aGVhZGVyTmFtZX19PC9kaXY+XG4gICAgICA8ZGl2ICpuZ0Zvcj1cImxldCBjaGlwIG9mIGNoaXBDb25maWdcIj5cbiAgICAgICAgPHNhLWNoaXAgdHlwZT1cInJlZ3VsYXJcIiBbc3RhdGVdPVwiY2hpcFsxXVwiIGZpbGxpbmc9XCJmaWxsZWRcIiBbdGV4dF09XCJjaGlwWzBdXCI+PC9zYS1jaGlwPlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gICAgPGRpdiBjbGFzcz1cImhlYWRlci1pbmZvXCI+XG4gICAgICA8ZGl2IGNsYXNzPVwiaW5mby1pdGVtXCIgKm5nRm9yPVwibGV0IGl0ZW0gb2YgaW5mb1wiPlxuICAgICAgICA8aW1nIFtzcmNdPVwiaXRlbVsxXVwiIGFsdD1cIlwiPlxuICAgICAgICB7e2l0ZW1bMF19fVxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuICA8ZGl2IGNsYXNzPVwiYWN0aW9uc1wiPlxuICAgIDxzYS1idXR0b24gKm5nSWY9XCJidXR0b25IZWxwZXJcIiAob25DbGlja0V2ZW50KT1cImNsaWNrZWQoMClcIiBbdGV4dF09XCJidXR0b25IZWxwZXJcIiB0eXBlPVwidHJhbnNwYXJlbnRcIiBzaXplPVwibWVkaXVtXCJcbiAgICAgIHN0YXRlPVwiZGVmYXVsdFwiPlxuICAgIDwvc2EtYnV0dG9uPlxuICAgIDxzYS1idXR0b24gKm5nSWY9XCJidXR0b25NYWluXCIgKG9uQ2xpY2tFdmVudCk9XCJjbGlja2VkKDEpXCIgW3RleHRdPVwiYnV0dG9uTWFpblwiIHR5cGU9XCJwcmltYXJ5XCIgc2l6ZT1cIm1lZGl1bVwiXG4gICAgICBzdGF0ZT1cImRlZmF1bHRcIj48L3NhLWJ1dHRvbj5cbiAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
|
|
@@ -18,7 +18,7 @@ import * as i2$2 from '@angular/material/core';
|
|
|
18
18
|
import { MAT_DATE_FORMATS, provideNativeDateAdapter } from '@angular/material/core';
|
|
19
19
|
import { Subject } from 'rxjs';
|
|
20
20
|
import { takeUntil } from 'rxjs/operators';
|
|
21
|
-
import {
|
|
21
|
+
import { MatButton } from '@angular/material/button';
|
|
22
22
|
|
|
23
23
|
class TestLibraryService {
|
|
24
24
|
constructor() { }
|
|
@@ -561,14 +561,14 @@ class CalendarHeaderComponent {
|
|
|
561
561
|
}
|
|
562
562
|
// active date label rendered between the arrow buttons
|
|
563
563
|
ngOnInit() {
|
|
564
|
-
|
|
564
|
+
const currentRange = this.calendar.selected;
|
|
565
565
|
currentRange?.start.setHours(0, 0, 0, 0);
|
|
566
566
|
currentRange?.end.setHours(0, 0, 0, 0);
|
|
567
567
|
// To pre-select a preset when the calendar opens.
|
|
568
568
|
// Match the already selected date range with the date-ranges of all presets.
|
|
569
569
|
// If already selected date range matches with a preset, pre-select it.
|
|
570
570
|
for (let i = 0; i < this.presets.length; i++) {
|
|
571
|
-
|
|
571
|
+
const tempRange = this.findDate(this.presets[i]);
|
|
572
572
|
if (tempRange.newStart.getTime() == currentRange.start.getTime() && tempRange.newEnd.getTime() == currentRange.end.getTime()) {
|
|
573
573
|
this.selectedPreset = this.presets[i];
|
|
574
574
|
break;
|
|
@@ -596,22 +596,22 @@ class CalendarHeaderComponent {
|
|
|
596
596
|
: "month";
|
|
597
597
|
}
|
|
598
598
|
presetChanged(evt) {
|
|
599
|
-
|
|
599
|
+
const newRange = this.findDate(evt.target.value);
|
|
600
600
|
this.calendar.activeDate = newRange.newStart;
|
|
601
601
|
this.picker.select(newRange.newStart);
|
|
602
602
|
this.picker.select(newRange.newEnd);
|
|
603
603
|
}
|
|
604
604
|
findDate(selected) {
|
|
605
|
-
|
|
606
|
-
|
|
607
|
-
|
|
605
|
+
const date = this.today.getDate();
|
|
606
|
+
const month = this.today.getMonth();
|
|
607
|
+
const year = this.today.getFullYear();
|
|
608
608
|
let newRange;
|
|
609
609
|
this.selectedPreset = selected;
|
|
610
610
|
switch (selected) {
|
|
611
611
|
case "This Quarter": {
|
|
612
|
-
|
|
613
|
-
|
|
614
|
-
|
|
612
|
+
const thisQuarterMonth = Math.floor(month / 3) * 3;
|
|
613
|
+
const start = this.dateAdapter.createDate(year, thisQuarterMonth, 1);
|
|
614
|
+
const end = this.dateAdapter.createDate(year, thisQuarterMonth + 3, 1);
|
|
615
615
|
newRange = {
|
|
616
616
|
newStart: start,
|
|
617
617
|
newEnd: end,
|
|
@@ -619,9 +619,9 @@ class CalendarHeaderComponent {
|
|
|
619
619
|
break;
|
|
620
620
|
}
|
|
621
621
|
case "Last Quarter": {
|
|
622
|
-
|
|
623
|
-
|
|
624
|
-
|
|
622
|
+
const lastQuarterMonth = (Math.floor(month / 3) * 3) - 3;
|
|
623
|
+
const start = this.dateAdapter.createDate(year, lastQuarterMonth, 1);
|
|
624
|
+
const end = this.dateAdapter.createDate(year, lastQuarterMonth + 3, 1);
|
|
625
625
|
newRange = {
|
|
626
626
|
newStart: start,
|
|
627
627
|
newEnd: end,
|
|
@@ -629,8 +629,8 @@ class CalendarHeaderComponent {
|
|
|
629
629
|
break;
|
|
630
630
|
}
|
|
631
631
|
case "Last 6 Months": {
|
|
632
|
-
|
|
633
|
-
|
|
632
|
+
const end = this.dateAdapter.createDate(year, month, date);
|
|
633
|
+
const start = this.dateAdapter.addCalendarMonths(end, -6);
|
|
634
634
|
newRange = {
|
|
635
635
|
newStart: start,
|
|
636
636
|
newEnd: end,
|
|
@@ -638,8 +638,8 @@ class CalendarHeaderComponent {
|
|
|
638
638
|
break;
|
|
639
639
|
}
|
|
640
640
|
case "This Year": {
|
|
641
|
-
|
|
642
|
-
|
|
641
|
+
const start = this.dateAdapter.createDate(year, 0, 1);
|
|
642
|
+
const end = this.dateAdapter.createDate(year, 11, 31);
|
|
643
643
|
newRange = {
|
|
644
644
|
newStart: start,
|
|
645
645
|
newEnd: end,
|
|
@@ -647,8 +647,8 @@ class CalendarHeaderComponent {
|
|
|
647
647
|
break;
|
|
648
648
|
}
|
|
649
649
|
case "Last Year": {
|
|
650
|
-
|
|
651
|
-
|
|
650
|
+
const start = this.dateAdapter.createDate(year - 1, 0, 1);
|
|
651
|
+
const end = this.dateAdapter.createDate(year - 1, 11, 31);
|
|
652
652
|
newRange = {
|
|
653
653
|
newStart: start,
|
|
654
654
|
newEnd: end,
|
|
@@ -675,12 +675,11 @@ class CalendarHeaderComponent {
|
|
|
675
675
|
this.destroy$.next(); // will trigger unsubscription in takeUntil
|
|
676
676
|
}
|
|
677
677
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: CalendarHeaderComponent, deps: [{ token: i2$1.MatCalendar }, { token: i2$2.DateAdapter }, { token: i2$1.MatDateRangePicker }, { token: MAT_DATE_FORMATS }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
678
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.2.4", type: CalendarHeaderComponent, isStandalone: true, selector: "ng-component", ngImport: i0, template: "<div class=\"range-preset\">\n <div class=\"preset\" *ngFor=\"let preset of presets, let i = index\">\n <label class=\"preset-label {{preset == selectedPreset ? 'preset-selected' : ''}}\"\n for=\"preset-radio-{{i}}\">{{preset}}</label>\n <input class=\"preset-radio\" (change)=\"presetChanged($event)\" [checked]=\"preset == selectedPreset\"\n id=\"preset-radio-{{i}}\" type=\"radio\" name=\"preset-radios-{{uuid}}\" value=\"{{preset}}\">\n </div>\n</div>\n\n<div class=\"header\">\n <button mat-icon-button (click)=\"previousClicked('month')\">\n <mat-icon>keyboard_arrow_left</mat-icon>\n </button>\n\n <button mat-button class=\"header-label\" (click)=\"changeView()\">{{ periodLabel }}</button>\n\n <button mat-icon-button (click)=\"nextClicked('month')\">\n <mat-icon>keyboard_arrow_right</mat-icon>\n </button>\n</div>\n", styles: [".header{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--grey-50);margin-top:-4px;margin-bottom:var(--small-8px, 8px)}.header-label{font-family:Roboto;font-size:14px;font-style:normal;font-weight:400;line-height:20px;letter-spacing:.25px}.range-preset{width:180px;position:absolute;padding:var(--small-12px, 12px) 0 0 var(--medium-24px, 24px);box-sizing:border-box;margin-top:-9px;margin-left:-180px;height:356px;background-color:#fff;border-top:1px solid var(--grey-50);border-left:1px solid var(--grey-50);border-bottom:1px solid var(--grey-50);border-bottom-left-radius:var(--small-8px, 8px);border-top-left-radius:var(--small-8px, 8px);gap:var(--small-8px, 8px);display:flex;flex-direction:column}.preset{padding:var(--small-8px, 8px);display:flex;gap:var(--small-4px, 4px);font-size:14px;font-style:normal;font-weight:400;line-height:20px;letter-spacing:.25px;color:var(--text-mediumemphasis);margin-bottom:-5px}.preset-radio,.preset-label{cursor:pointer}.preset-selected{color:var(--primary-500)}\n"], dependencies: [{ kind: "
|
|
678
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.2.4", type: CalendarHeaderComponent, isStandalone: true, selector: "ng-component", ngImport: i0, template: "<div class=\"range-preset\">\n <div class=\"preset\" *ngFor=\"let preset of presets, let i = index\">\n <label class=\"preset-label {{preset == selectedPreset ? 'preset-selected' : ''}}\"\n for=\"preset-radio-{{i}}\">{{preset}}</label>\n <input class=\"preset-radio\" (change)=\"presetChanged($event)\" [checked]=\"preset == selectedPreset\"\n id=\"preset-radio-{{i}}\" type=\"radio\" name=\"preset-radios-{{uuid}}\" value=\"{{preset}}\">\n </div>\n</div>\n\n<div class=\"header\">\n <button mat-icon-button (click)=\"previousClicked('month')\">\n <mat-icon>keyboard_arrow_left</mat-icon>\n </button>\n\n <button mat-button class=\"header-label\" (click)=\"changeView()\">{{ periodLabel }}</button>\n\n <button mat-icon-button (click)=\"nextClicked('month')\">\n <mat-icon>keyboard_arrow_right</mat-icon>\n </button>\n</div>\n", styles: [".header{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--grey-50);margin-top:-4px;margin-bottom:var(--small-8px, 8px)}.header-label{font-family:Roboto;font-size:14px;font-style:normal;font-weight:400;line-height:20px;letter-spacing:.25px}.range-preset{width:180px;position:absolute;padding:var(--small-12px, 12px) 0 0 var(--medium-24px, 24px);box-sizing:border-box;margin-top:-9px;margin-left:-180px;height:356px;background-color:#fff;border-top:1px solid var(--grey-50);border-left:1px solid var(--grey-50);border-bottom:1px solid var(--grey-50);border-bottom-left-radius:var(--small-8px, 8px);border-top-left-radius:var(--small-8px, 8px);gap:var(--small-8px, 8px);display:flex;flex-direction:column}.preset{padding:var(--small-8px, 8px);display:flex;gap:var(--small-4px, 4px);font-size:14px;font-style:normal;font-weight:400;line-height:20px;letter-spacing:.25px;color:var(--text-mediumemphasis);margin-bottom:-5px}.preset-radio,.preset-label{cursor:pointer}.preset-selected{color:var(--primary-500)}\n"], dependencies: [{ kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i3$2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }] }); }
|
|
679
679
|
}
|
|
680
680
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: CalendarHeaderComponent, decorators: [{
|
|
681
681
|
type: Component,
|
|
682
682
|
args: [{ standalone: true, imports: [
|
|
683
|
-
MatIconButton,
|
|
684
683
|
NgFor,
|
|
685
684
|
MatIconModule,
|
|
686
685
|
MatButton
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sarasanalytics-com-design-system.mjs","sources":["../../../projects/component-library/src/lib/component-library.service.ts","../../../projects/component-library/src/lib/component-library.component.ts","../../../projects/component-library/src/lib/button/button.component.ts","../../../projects/component-library/src/lib/button/button.component.html","../../../projects/component-library/src/lib/chips/chips.component.ts","../../../projects/component-library/src/lib/chips/chips.component.html","../../../projects/component-library/src/lib/avatar/avatar.component.ts","../../../projects/component-library/src/lib/avatar/avatar.component.html","../../../projects/component-library/src/lib/grid-cell/grid-cell.component.ts","../../../projects/component-library/src/lib/grid-cell/grid-cell.component.html","../../../projects/component-library/src/lib/header/header.component.ts","../../../projects/component-library/src/lib/header/header.component.html","../../../projects/component-library/src/lib/toast/toast.component.ts","../../../projects/component-library/src/lib/toast/toast.component.html","../../../projects/component-library/src/lib/form-select/form-select.component.ts","../../../projects/component-library/src/lib/form-select/form-select.component.html","../../../projects/component-library/src/lib/stepper/stepper.component.ts","../../../projects/component-library/src/lib/stepper/stepper.component.html","../../../projects/component-library/src/lib/tool-tip/tool-tip.component.ts","../../../projects/component-library/src/lib/tool-tip/tool-tip.component.html","../../../projects/component-library/src/lib/calendar-header/calendar-header.component.ts","../../../projects/component-library/src/lib/calendar-header/calendar-header.component.html","../../../projects/component-library/src/lib/datepicker/datepicker.component.ts","../../../projects/component-library/src/lib/datepicker/datepicker.component.html","../../../projects/component-library/src/lib/tabs/tabs.component.ts","../../../projects/component-library/src/lib/tabs/tabs.component.html","../../../projects/component-library/src/public-api.ts","../../../projects/component-library/src/sarasanalytics-com-design-system.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class TestLibraryService {\n\n constructor() { }\n}\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'lib-component-library',\n standalone: true,\n imports: [],\n template: `\n <p>\n component-library works!\n </p>\n `,\n styles: ``\n})\nexport class TestLibraryComponent {\n\n}\n","import { Component, Output } from '@angular/core';\nimport { Input } from '@angular/core';\nimport { EventEmitter } from '@angular/core';\nimport { NgIf } from '@angular/common';\nimport { NgStyle } from '@angular/common';\n\nlet nextId = 0; // used to give unique ids to inputs used in html\n\n@Component({\n selector: 'sa-button',\n standalone: true,\n imports: [NgIf, NgStyle],\n templateUrl: './button.component.html',\n styleUrl: './button.component.css'\n})\n\nexport class ButtonComponent {\n @Input() id: string | number;\n @Input() type: string;\n @Input() state: string;\n @Input() size: string;\n @Input() text: string | number;\n @Input() ImagePath: string;\n @Input() iconPosition: string;\n @Input() href: string;\n @Input() hrefTarget: string;\n @Input() isSubmit: boolean = false;\n\n @Output() onClickEvent = new EventEmitter();\n @Output() onMouseInEvent = new EventEmitter();\n @Output() onMouseOutEvent = new EventEmitter();\n\n svgStyle = {}\n eventEmitObject = {}\n uuid: number = nextId++;\n\n ngOnChanges(): void {\n this.svgStyle = {\n '-webkit-mask-image': `url(${this.ImagePath})`,\n 'mask-image': `url(${this.ImagePath})`,\n }\n this.eventEmitObject = {\n id: this.id\n }\n }\n\n buttonClicked(evt: Event) {\n if (this.state == \"disabled\") return;\n this.onClickEvent.emit({\n ...this.eventEmitObject,\n evt\n });\n if (this.href != \"\") {\n if (this.hrefTarget == \"blank\") window.open(this.href);\n else if (this.hrefTarget == \"self\") location.href = this.href;\n }\n }\n\n mouseIn() {\n if (this.state == \"disabled\") return;\n this.onMouseInEvent.emit();\n }\n\n mouseOut() {\n if (this.state == \"disabled\") return;\n this.onMouseOutEvent.emit();\n }\n}\n","<button (click)=\"buttonClicked($event)\" id=\"sa-button-{{uuid}}\" class=\"btn-hide\"\n [type]=\"isSubmit ? 'submit' : 'button'\"></button>\n<!-- (click)=\"buttonClicked()\" on button instead of label breaks whole thing -->\n<label for=\"sa-button-{{uuid}}\" role=\"button\" tabindex=\"0\" (mouseenter)=\"mouseIn()\" (mouseleave)=\"mouseOut()\"\n (keydown.enter)=\"buttonClicked($event)\" for=\"sa-button\" class=\"sa-button {{state}} {{type}} {{size}}\">\n <div class=\"svg-icon\" [style]=\"svgStyle\"\n [style.display]=\"(iconPosition == 'left' || iconPosition == 'both') ? 'block' : 'none'\"></div>\n {{text}}\n <div class=\"svg-icon\" [style]=\"svgStyle\"\n [style.display]=\"(iconPosition == 'right' || iconPosition == 'both') ? 'block' : 'none'\"></div>\n</label>\n","import { CommonModule } from '@angular/common';\nimport { Component, input } from '@angular/core';\nimport { Input } from '@angular/core';\nimport { Output } from '@angular/core';\nimport { EventEmitter } from '@angular/core';\nimport { v4 as uuidv4 } from 'uuid';\n\nlet nextId = 0; // used to give unique ids to inputs used in html\n\n@Component({\n selector: 'sa-chip',\n standalone: true,\n imports: [CommonModule],\n templateUrl: './chips.component.html',\n styleUrl: './chips.component.css'\n})\nexport class ChipsComponent {\n @Input() id: string | number;\n @Input() iconPath: string;\n @Input() text: string | number;\n @Input() type: string;\n @Input() state: string;\n @Input() filling: string;\n @Input() iconPosition: string;\n @Input() largeStateIcon: string;\n @Input() largeStateText: string;\n\n @Output() onClickEvent = new EventEmitter();\n\n svgStyle = {}\n secondSvgStyle = {}\n eventEmitObject = {}\n uuid: number = nextId++;\n\n ngOnChanges(): void {\n this.svgStyle = {\n '-webkit-mask-image': `url(${this.iconPath})`,\n 'mask-image': `url(${this.iconPath})`,\n }\n this.secondSvgStyle = {\n '-webkit-mask-image': `url(${this.largeStateIcon})`,\n 'mask-image': `url(${this.largeStateIcon})`,\n }\n this.eventEmitObject = {\n id: this.id\n }\n }\n\n buttonClicked(evt: Event) {\n this.onClickEvent.emit({\n ...this.eventEmitObject,\n evt\n });\n }\n}\n","<div class=\"chip {{type}} {{state}} {{filling}}\">\n <button type=\"button\" (click)=\"buttonClicked($event)\" id=\"icon-button_{{uuid}}\" class=\"btn_hide\"></button>\n <!-- (click)=\"buttonClicked()\" on button instead of label breaks whole thing -->\n <label for=\"icon-button_{{uuid}}\" class=\"svg-icon\" [style]=\"svgStyle\"\n [style.display]=\"((iconPosition == 'left' || iconPosition == 'both') && type != 'large') ? 'block' : 'none'\">\n </label>\n\n {{text}}\n\n <div class=\"second-svg-icon\" [style]=\"secondSvgStyle\" [style.display]=\"(type == 'large') ? 'block' : 'none'\"></div>\n\n {{type == 'large' ? largeStateText : \"\"}}\n\n <label for=\"icon-button_{{uuid}}\" class=\"svg-icon\" [style]=\"svgStyle\"\n [style.display]=\"((iconPosition == 'right' || iconPosition == 'both') && type != 'large') ? 'block' : 'none'\">\n </label>\n</div>\n","import { Component, EventEmitter } from '@angular/core';\nimport { Input, Output } from '@angular/core';\nimport { NgIf } from '@angular/common';\n\n@Component({\n selector: 'sa-avatar',\n standalone: true,\n imports: [NgIf],\n templateUrl: './avatar.component.html',\n styleUrl: './avatar.component.css'\n})\nexport class AvatarComponent {\n @Input() id: string | number;\n @Input() imagePath: string;\n @Input() altText: string;\n @Input() size: string;\n\n @Output() onClickEvent = new EventEmitter\n @Output() onMouseInEvent = new EventEmitter\n @Output() onMouseOutEvent = new EventEmitter\n\n eventEmitObject = {}\n\n ngOnChanges(): void {\n this.eventEmitObject = {\n id: this.id\n }\n }\n\n avatarClicked(evt: Event) {\n this.onClickEvent.emit({\n ...this.eventEmitObject,\n evt\n })\n }\n\n mouseEnter(evt: Event) {\n this.onMouseInEvent.emit({\n ...this.eventEmitObject,\n evt\n })\n }\n\n mouseLeave(evt: Event) {\n this.onMouseOutEvent.emit({\n ...this.eventEmitObject,\n evt\n })\n }\n}\n","<div class=\"avatar {{size}}\" (click)=\"avatarClicked($event)\" (mouseenter)=\"mouseEnter($event)\"\n (mouseleave)=\"mouseLeave($event)\">\n <img *ngIf=\"imagePath\" class=\"avatar-img\" alt=\"{{altText}}\" src=\"{{imagePath}}\">\n <p *ngIf=\"!imagePath\" class=\"avatar-img\">{{altText}}</p>\n</div>\n","import { Component, EventEmitter, input } from '@angular/core';\nimport { Output } from '@angular/core';\nimport { AvatarComponent } from '../avatar/avatar.component';\nimport { ChipsComponent } from '../chips/chips.component';\nimport { ButtonComponent } from '../button/button.component';\nimport { NgFor } from '@angular/common';\nimport { ICellRendererAngularComp, IHeaderAngularComp } from 'ag-grid-angular';\nimport { GridInterface } from '../../interfaces/grid-interface';\n\n@Component({\n selector: 'lib-grid-cell',\n standalone: true,\n imports: [\n AvatarComponent,\n ChipsComponent,\n ButtonComponent,\n NgFor\n ],\n templateUrl: './grid-cell.component.html',\n styleUrl: './grid-cell.component.css'\n})\nexport class GridCellComponent implements ICellRendererAngularComp, IHeaderAngularComp {\n params: GridInterface;\n rowNum: number;\n\n @Output() onClickButtonEvent = new EventEmitter();\n @Output() onClickChipEvent = new EventEmitter();\n @Output() onClickLinkEvent = new EventEmitter();\n @Output() onClickAvatarEvent = new EventEmitter();\n\n buttonClicked(evt: Event) {\n this.params.buttonClicked && this.params.buttonClicked({ // calls the function passed via params in gridInterface.\n ...evt,\n rowId: this.rowNum\n });\n this.onClickButtonEvent.emit({ ...evt, rowId: this.rowNum }); // this event isn't caught by anything. \n }\n\n // above function behavior is same for all functions in this class\n\n chipClicked(evt: Event) {\n this.params.chipClicked && this.params.chipClicked({\n ...evt,\n rowId: this.rowNum\n });\n this.onClickChipEvent.emit({ ...evt, rowId: this.rowNum });\n }\n\n linkClicked() {\n if (this.params.cellType != \"interactive\") return;\n\n this.params.linkClicked && this.params.linkClicked({ //calling function passed in params with rowId object in arguments\n rowId: this.rowNum\n });\n\n if (this.params.interactiveLink != \"\") {\n if (this.params.interactiveLinkTarget == \"blank\") {\n window.open(this.params.interactiveLink)!;\n }\n else if (this.params.interactiveLinkTarget == \"self\") {\n location.href = this.params.interactiveLink!;\n }\n }\n this.onClickLinkEvent.emit({ rowId: this.rowNum });\n }\n\n avatarClicked(evt: Event) {\n this.params.avatarClicked && this.params.avatarClicked({\n ...evt,\n rowId: this.rowNum\n });\n this.onClickChipEvent.emit({ ...evt, rowId: this.rowNum });\n }\n\n agInit(inParams: any): void { // must exist when class implements ICellRendererAngularComp / IHeaderAngularComp\n\n this.rowNum = inParams.rowIndex;\n this.params = inParams.value; // inParams.value exists when gridCell is rendered as cell, `cellRenderer: GridCellComponent`\n if (inParams.value == undefined) { // inParams.value is undefined when gridCell is rendered as header, `headerComponent: GridCellComponent`, \n this.params = inParams\n }\n // console.log(this.params);\n }\n\n refresh(params: any) { // must exist when class implements ICellRendererAngularComp / IHeaderAngularComp\n return false; // not sure what this return value does.\n }\n\n}\n","<div class=\"grid-cell {{params.cellType}}\">\n\n <img class=\"icons\" src={{params.iconPath}} [style.display]=\"(params.viewLeadingIcon) ? 'block' : 'none'\" alt=\"\">\n\n <sa-avatar [id]=\"params.avatarConfig?.id\" [altText]=\"params.avatarConfig?.altText\"\n [imagePath]=\"params.avatarConfig?.imagePath\" [size]=\"params.avatarConfig?.size\"\n [style.display]=\"(params.viewAvatar) ? 'block' : 'none'\" (onClickEvent)=\"avatarClicked($event)\">\n </sa-avatar>\n\n <div class=\"grid-text\" [style.display]=\"(params.viewText) ? 'block' : 'none'\">\n <div [style.display]=\"(params.text) ? 'block' : 'none'\" (click)=\"linkClicked()\" class=\"main-text\">{{params.text}}\n </div>\n\n <div [style.display]=\"(params.subText) ? 'block' : 'none'\" class=\"sub-text\">{{params.subText}}</div>\n </div>\n\n <img class=\"icons\" src={{params.iconPath}} [style.display]=\"(params.viewTrailingIcon) ? 'block' : 'none'\" alt=\"\">\n\n\n <sa-chip *ngFor=\"let config of params.chipConfig, let i = index\" [id]=\"config.id\" [filling]=\"config.filling\"\n id=\"chip_{{rowNum}}_{{config.id}}\" [iconPath]=\"config.iconPath\" [iconPosition]=\"config.iconPosition\"\n [largeStateIcon]=\"config.largeStateIcon\" [state]=\"config.state\" [type]=\"config.type\" [text]=\"config.text\"\n [style.display]=\"(params.viewChip) ? 'block' : 'none'\" (onClickEvent)=\"chipClicked($event)\"></sa-chip>\n\n <sa-button [iconPosition]=\"params.buttonConfig?.iconPosition\" [ImagePath]=\"params.buttonConfig?.imagePath\"\n [id]=\"params.buttonConfig?.id\" [size]=\"params.buttonConfig?.size\" [state]=\"params.buttonConfig?.state\"\n [type]=\"params.buttonConfig?.type\" [text]=\"params.buttonConfig?.text\" [href]=\"params.buttonConfig?.href\"\n [hrefTarget]=\"params.buttonConfig?.hrefTarget\" [style.display]=\"(params.viewButton) ? 'block' : 'none'\"\n (onClickEvent)=\"buttonClicked($event)\"></sa-button>\n\n</div>\n","import { Component, EventEmitter, Output, input } from '@angular/core';\nimport { ChipsComponent } from '../chips/chips.component';\nimport { Input } from '@angular/core';\nimport { NgFor } from '@angular/common';\nimport { ButtonComponent } from '../button/button.component';\nimport { NgIf } from '@angular/common';\n\n@Component({\n selector: 'sa-header',\n standalone: true,\n imports: [ChipsComponent, NgFor, ButtonComponent, NgIf],\n templateUrl: './header.component.html',\n styleUrl: './header.component.css'\n})\nexport class HeaderComponent {\n @Input() info: string[][];\n @Input() headerName: string;\n @Input() chipConfig: string[][];\n @Input() buttonHelper: string;\n @Input() buttonMain: string;\n\n @Output() mainButtonClicked = new EventEmitter();\n @Output() helperButtonClicked = new EventEmitter();\n\n clicked(num: number) {\n num ? this.mainButtonClicked.emit() : this.helperButtonClicked.emit();\n }\n}\n","<div class=\"header\">\n <div class=\"header-content\">\n <div class=\"heading\">\n <div class=\"header-name\">{{headerName}}</div>\n <div *ngFor=\"let chip of chipConfig\">\n <sa-chip type=\"regular\" [state]=\"chip[1]\" filling=\"filled\" [text]=\"chip[0]\"></sa-chip>\n </div>\n </div>\n <div class=\"header-info\">\n <div class=\"info-item\" *ngFor=\"let item of info\">\n <img [src]=\"item[1]\" alt=\"\">\n {{item[0]}}\n </div>\n </div>\n </div>\n <div class=\"actions\">\n <sa-button *ngIf=\"buttonHelper\" (onClickEvent)=\"clicked(0)\" [text]=\"buttonHelper\" type=\"transparent\" size=\"medium\"\n state=\"default\">\n </sa-button>\n <sa-button *ngIf=\"buttonMain\" (onClickEvent)=\"clicked(1)\" [text]=\"buttonMain\" type=\"primary\" size=\"medium\"\n state=\"default\"></sa-button>\n </div>\n</div>\n","import { Component, EventEmitter, OnChanges } from '@angular/core';\nimport { ButtonComponent } from '../button/button.component';\nimport { Input } from '@angular/core';\nimport { Output } from '@angular/core';\nimport { MatIcon } from '@angular/material/icon';\nimport { NgIf } from '@angular/common';\n\n@Component({\n selector: 'sa-toast',\n standalone: true,\n imports: [ButtonComponent, MatIcon, NgIf],\n templateUrl: './toast.component.html',\n styleUrl: './toast.component.css'\n})\nexport class ToastComponent implements OnChanges {\n @Input() finishPercentage: number = -1;\n @Input() heading: string;\n @Input() subHeading: string;\n @Input() statusIcon: string;\n @Input() status: string;\n @Input() firstButtonName: string;\n @Input() secondButtonName: string;\n\n @Output() firstButton = new EventEmitter();\n @Output() secondButton = new EventEmitter();\n @Output() closed = new EventEmitter();\n\n ngOnChanges() {\n if (this.finishPercentage > 100) this.finishPercentage = 100;\n }\n\n clicked(num: number) {\n if (num == 0) this.firstButton.emit();\n else if (num == 1) this.secondButton.emit();\n else if (num == 2) this.closed.emit();\n }\n}\n","<div class=\"toast\">\n <div class=\"content\">\n <div class=\"toast-icon {{status}}\">\n <img [src]=\"statusIcon\" alt=\"\">\n </div>\n <div class=\"head-subhead\">\n <p class=\"heading\">{{heading}}</p>\n <p class=\"subheading\">{{subHeading}}</p>\n </div>\n <!-- <img class=\"cross\" (click)=\"clicked(2)\" [src]=\"crossmark\" alt=\"\"> -->\n <mat-icon class=\"cross\" (click)=\"clicked(2)\">close</mat-icon>\n </div>\n <div class=\"controls\">\n <sa-button *ngIf=\"firstButtonName\" (onClickEvent)=\"clicked(0)\" [text]=\"firstButtonName\" type=\"transparent\"\n size=\"medium\" state=\"default\">\n </sa-button>\n <sa-button *ngIf=\"secondButtonName\" (onClickEvent)=\"clicked(1)\" [text]=\"secondButtonName\" type=\"outline\"\n size=\"medium\" state=\"default\">\n </sa-button>\n </div>\n <div *ngIf=\"finishPercentage >= 0\" class=\"progress-bar\">\n <div class=\"progress-done\" [style.width]=\"finishPercentage+'%'\"></div>\n <div class=\"progress-left\" [style.width]=\"100-finishPercentage+'%'\"></div>\n </div>\n</div>\n","import { Component } from '@angular/core';\nimport { ReactiveFormsModule } from '@angular/forms';\nimport { FormlyModule } from '@ngx-formly/core';\nimport { FieldType, FieldTypeConfig } from '@ngx-formly/core';\nimport { NgSelectModule } from '@ng-select/ng-select';\nimport { ChipsComponent } from '../chips/chips.component';\nimport { NgIf, NgFor } from '@angular/common';\n\n@Component({\n selector: 'lib-form-select',\n standalone: true,\n imports: [\n ReactiveFormsModule,\n FormlyModule,\n ReactiveFormsModule,\n NgSelectModule,\n ChipsComponent,\n NgIf,\n NgFor\n ],\n templateUrl: './form-select.component.html',\n styleUrl: './form-select.component.css'\n})\nexport class FormSelectComponent extends FieldType<FieldTypeConfig> {\n selectables: any;\n params: any;\n\n svgStyle = {};\n openState: boolean = false;\n topLabel: boolean;\n startInd: number = 0;\n labelLimit: number = 2;\n\n ngOnInit() {\n this.selectables = this.field.props.options;\n this.params = this.field.props['params'];\n this.svgStyle = {\n '-webkit-mask-image': `url(${this.params.dropIcon})})`,\n 'mask-image': `url(${this.params.dropIcon})`,\n }\n }\n openClose(state: boolean) {\n if (this.field.props.disabled) return;\n this.openState = state;\n }\n shiftLabel(action: string) {\n if (action == 'clicked') this.startInd++;\n if (action == 'cleared') this.startInd = 0;\n if (action == 'removed' && this.startInd > 0) this.startInd--;\n }\n checkForZero(selected: any) {\n this.topLabel = selected.length == 0 ? false : true;\n }\n}\n","<div [style.visibility]=\"(openState || topLabel) ? 'visible' : 'hidden'\" class=\"clicked-label\">{{params.label}}</div>\n<div class=\"ng-select-field {{openState ? 'activated' : 'idle'}} {{field.props.disabled ? 'disabled' : ''}}\">\n\n <div role=\"button\" title=\"drop-button\" tabindex=\"0\" class=\"left-icon svg-icon\" [style]=\"svgStyle\"\n (click)=\"openClose(true)\" (blur)=\"openClose(false)\"\n *ngIf=\"(params.dropIconPosition == 'left' || params.dropIconPosition == 'both')\">\n </div>\n\n <ng-select (change)=\"checkForZero($event)\" (remove)=\"shiftLabel('removed')\" (clear)=\"shiftLabel('cleared')\"\n (search)=\"openClose(true)\" (focus)=\"openClose(true)\" (blur)=\" openClose(false)\" [isOpen]=\"openState\"\n placeholder={{params.label}} bindLabel=\"name\" [items]=\"selectables\" [multiple]=\"params.multiple\"\n [formControl]=\"formControl\" [style] [formlyAttributes]=\"field\">\n <ng-template ng-multi-label-tmp let-items=\"items\" let-clear=\"clear\">\n <div *ngFor=\"let item of (items ? items.slice(startInd,startInd+labelLimit): [])\">\n <sa-chip (onClickEvent)=\" (!field.props.disabled) ? clear(item) : null\" [id]=\"item.id\"\n [iconPath]=\"params.iconPath\" [text]=\"item.name\" [type]=\"params.type\"\n [state]=\"field.props.disabled ? 'neutral' : params.state\" [filling]=\"params.filling\"\n [iconPosition]=\"params.iconPosition\">\n </sa-chip>\n </div>\n <div (click)=\"shiftLabel('clicked')\" class=\"ng-value overflow-label\" *ngIf=\"items.length > (startInd+labelLimit)\">\n <sa-chip text=\"+{{items.length-(startInd+labelLimit)}}\" type=\"regular\" state=\"default\" filling=\"filled\">\n </sa-chip>\n </div>\n <div (click)=\"shiftLabel('cleared')\" *ngIf=\"startInd == items.length-labelLimit\" class=\"ng-value overflow-label\">\n <sa-chip text=\"...\" type=\"regular\" state=\"default\" filling=\"filled\">\n </sa-chip>\n </div>\n </ng-template>\n </ng-select>\n\n <div role=\"button\" title=\"drop-button\" tabindex=\"0\" class=\"right-icon svg-icon\" [style]=\"svgStyle\"\n (click)=\"openClose(true)\" (blur)=\"openClose(false)\"\n *ngIf=\"(params.dropIconPosition == 'right' || params.dropIconPosition == 'both')\">\n </div>\n\n</div>\n<div class=\"support-label\">{{params.supportText}}</div>\n","import { Component, EventEmitter, Input } from '@angular/core';\nimport { FieldType, FieldTypeConfig } from '@ngx-formly/core';\nimport { NgFor, NgIf } from '@angular/common';\nimport { Output } from '@angular/core';\n\nlet nextId = 0; // used to give unique ids to inputs used in html\n\n@Component({\n selector: 'sa-stepper',\n standalone: true,\n imports: [NgFor, NgIf],\n templateUrl: './stepper.component.html',\n styleUrl: './stepper.component.css'\n})\nexport class StepperComponent extends FieldType<FieldTypeConfig> {\n @Input() latestStep: number = -1;\n @Input() editable: boolean = true;\n @Input() stepLabels: any;\n @Input() doneIcon: string;\n\n @Output() stepped = new EventEmitter;\n\n uuid: number = nextId++;\n\n isDisabled: boolean = false;\n\n tickIcon = {};\n\n // {\n // '-webkit-mask-image': `url(${this.ImagePath})`,\n // 'mask-image': `url(${this.ImagePath})`,\n // }\n\n ngOnInit() {\n if (this.field.props) {\n this.stepLabels = this.field.props.options;\n this.editable = this.field.props['params'].editable;\n this.latestStep = this.model[`${this.key}`] ? this.model[`${this.key}`].id : -1;\n this.doneIcon = this.field.props['params'].doneIcon;\n\n this.isDisabled = this.field.props.disabled!;\n }\n console.log(this.doneIcon);\n this.tickIcon = {\n '-webkit-mask-image': `url(${this.doneIcon})`,\n 'mask-image': `url(${this.doneIcon})`\n };\n }\n\n update(chosen: number) {\n if (!this.editable || this.field.props?.disabled) return;\n this.latestStep = chosen;\n if (!this.formControl) {\n this.stepped.emit(this.latestStep);\n return;\n }\n this.formControl.setValue({\n id: this.latestStep\n });\n }\n}\n","<div class=\"stepper {{isDisabled ? 'disabled' : 'active'}}\">\n <div class=\"steps\" *ngFor=\"let label of stepLabels; let i = index\">\n <input id=\"stepper-{{uuid}}-{{i}}\" (change)=\"update(i)\" name=\"stepper-radio-{{uuid}}\"\n [checked]=\"i == latestStep ? true: false\" class=\"step-hide\" type=\"radio\">\n <div\n class=\"label-wrapper {{i < latestStep ? 'done' : ''}} {{i > latestStep ? 'default' : ''}} {{i == latestStep ? 'latest' : ''}}\">\n <label [style]=\"i < latestStep ? tickIcon : ''\" for=\"stepper-{{uuid}}-{{i}}\"\n class=\"step-label-icon {{i > latestStep ? 'undone' : ''}}\">\n </label>\n <label for=\"stepper-{{uuid}}-{{i}}\" class=\"step-label-text\">{{label.name}}</label>\n </div>\n <div *ngIf=\" i !=stepLabels.length-1\" class=\"line {{i < latestStep ? 'done' : 'default'}}\"></div>\n </div>\n</div>\n","import { Component, EventEmitter, Input, Output } from '@angular/core';\nimport { ButtonComponent } from '../button/button.component';\nimport { NgFor } from '@angular/common';\nimport { NgIf } from '@angular/common';\n\n@Component({\n selector: 'sa-tool-tip',\n standalone: true,\n imports: [ButtonComponent, NgFor, NgIf],\n templateUrl: './tool-tip.component.html',\n styleUrl: './tool-tip.component.css'\n})\nexport class ToolTipComponent {\n @Input() messages: string[];\n @Input() pointerPosition: string;\n\n @Output() toolTipSkipped = new EventEmitter();\n @Output() toolTipSeen = new EventEmitter();\n arrowIcon = \"../assets/arrow.svg\";\n pointer = \"../assets/pointer-polygon.svg\";\n\n msgInd: number = 0; // is the index of current message being displayed\n\n updateMsgInd(k: number) {\n this.msgInd += k;\n if (this.msgInd < 0) this.msgInd = 0;\n if (this.msgInd > this.messages.length - 1) {\n this.msgInd = this.messages.length - 1;\n this.toolTipSeen.emit();\n }\n }\n\n skipToolTip() {\n this.toolTipSkipped.emit();\n }\n\n}\n","<div class=\"tool-tip-vertical\">\n <div class=\"tool-tip-pointer-icon pointer-top\" *ngIf=\"pointerPosition == 'top'\"></div>\n <div class=\"tool-tip-horizontal\">\n <div class=\"tool-tip-pointer-icon pointer-left\" *ngIf=\"pointerPosition == 'left'\"></div>\n <div class=\"tool-tip\">\n <div class=\"tool-tip-content\">\n <div class=\"tool-tip-heading\">Heading</div>\n <div *ngFor=\"let msg of messages, let i = index\" class=\"tool-tip-message {{msgInd != i ? 'hidden-msg': ''}}\">\n {{msg}}\n </div>\n </div>\n <div class=\"tool-tip-break\">\n </div>\n <div class=\"tool-tip-controls\">\n <div class=\"tool-tip-navigate\">\n <img class=\"left-icon tool-tip-navigate-icon\" (click)=\"updateMsgInd(-1)\" [src]=\"arrowIcon\" alt=\"\">\n {{msgInd+1}} of {{messages.length}}\n <img class=\"right-icon tool-tip-navigate-icon\" (click)=\"updateMsgInd(1)\" [src]=\"arrowIcon\" alt=\"\">\n </div>\n <div class=\"tool-tip-control-buttons\">\n <sa-button (onClickEvent)=\"skipToolTip()\" class=\"skip-button\" text=\"Skip\" type=\"transparent\" size=\"medium\"\n state=\"default\"></sa-button>\n <sa-button (onClickEvent)=\"updateMsgInd(1)\" text=\"Next\" type=\"primary\" size=\"medium\" state=\"default\">\n </sa-button>\n </div>\n </div>\n </div>\n <div class=\"tool-tip-pointer-icon pointer-right\" *ngIf=\"pointerPosition == 'right'\"></div>\n </div>\n <div class=\"tool-tip-pointer-icon pointer-bottom\" *ngIf=\"pointerPosition == 'bottom'\"></div>\n</div>\n","import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n Inject,\n OnDestroy,\n} from '@angular/core';\nimport {\n DateAdapter,\n MatDateFormats,\n MAT_DATE_FORMATS,\n} from '@angular/material/core';\nimport { MAT_DATE_RANGE_SELECTION_STRATEGY } from '@angular/material/datepicker';\nimport { MatCalendar } from '@angular/material/datepicker';\nimport { Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatIconButton } from '@angular/material/button';\nimport { MatButton } from '@angular/material/button';\nimport { NgFor } from '@angular/common';\nimport { MatDateRangePicker } from '@angular/material/datepicker';\nimport { MatDateRangeSelectionStrategy } from '@angular/material/datepicker'\n\n\nlet nextId = 0; // used to give unique ids to inputs used in html\n\n@Component({\n templateUrl: './calendar-header.component.html',\n styleUrls: ['./calendar-header.component.css'],\n standalone: true,\n imports: [\n MatIconButton,\n NgFor,\n MatIconModule,\n MatButton\n ],\n // changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class CalendarHeaderComponent<D> implements OnDestroy {\n uuid: number = nextId++;\n\n private readonly destroy$ = new Subject<void>();\n\n constructor(\n private calendar: MatCalendar<D>, // calendar instance of picker\n private dateAdapter: DateAdapter<D>, // native or moment date adapter\n private picker: MatDateRangePicker<D>,\n @Inject(MAT_DATE_FORMATS) private dateFormats: MatDateFormats, // for formatting\n cdr: ChangeDetectorRef\n ) {\n // make sure your header stays in sync with the calendar:\n calendar.stateChanges\n .pipe(takeUntil(this.destroy$)) // unsubscribe when destroyed\n .subscribe(() => cdr.markForCheck());\n\n }\n\n selectedPreset = \"Custom\"\n presets = [\n \"This Quarter\",\n \"Last Quarter\",\n \"Last 6 Months\",\n \"This Year\",\n \"Last Year\",\n \"Custom\"\n ]\n // active date label rendered between the arrow buttons\n\n ngOnInit() {\n let currentRange: any = this.calendar.selected;\n\n currentRange?.start.setHours(0, 0, 0, 0);\n currentRange?.end.setHours(0, 0, 0, 0);\n\n // To pre-select a preset when the calendar opens.\n // Match the already selected date range with the date-ranges of all presets.\n // If already selected date range matches with a preset, pre-select it.\n\n for (let i = 0; i < this.presets.length; i++) {\n let tempRange = this.findDate(this.presets[i]);\n if (tempRange.newStart.getTime() == currentRange.start.getTime() && tempRange.newEnd.getTime() == currentRange.end.getTime()) {\n this.selectedPreset = this.presets[i];\n break;\n }\n }\n }\n\n get periodLabel(): string {\n // use date adapter to format the label, e.g. \"SEP 2020\"\n return this.dateAdapter\n .format(this.calendar.activeDate, this.dateFormats.display.monthYearLabel)\n .toLocaleUpperCase();\n }\n\n previousClicked(mode: 'month' | 'year'): void {\n this.changeDate(mode, -1);\n }\n\n nextClicked(mode: 'month' | 'year'): void {\n this.changeDate(mode, 1);\n }\n\n changeView() {\n this.calendar.currentView =\n this.calendar.currentView == \"month\"\n ? \"year\"\n : this.calendar.currentView == \"year\"\n ? \"multi-year\"\n : \"month\";\n }\n\n today = new Date();\n\n presetChanged(evt: any) {\n let newRange: any = this.findDate(evt.target.value);\n this.calendar.activeDate = newRange.newStart;\n this.picker.select(newRange.newStart);\n this.picker.select(newRange.newEnd);\n }\n\n findDate(selected: string) {\n let date = this.today.getDate();\n let month = this.today.getMonth();\n let year = this.today.getFullYear();\n let newRange: any;\n this.selectedPreset = selected;\n switch (selected) {\n case \"This Quarter\": {\n let thisQuarterMonth = Math.floor(month / 3) * 3;\n let start = this.dateAdapter.createDate(year, thisQuarterMonth, 1);\n let end = this.dateAdapter.createDate(year, thisQuarterMonth + 3, 1);\n newRange = {\n newStart: start,\n newEnd: end,\n }\n break;\n }\n case \"Last Quarter\": {\n let lastQuarterMonth = (Math.floor(month / 3) * 3) - 3;\n let start = this.dateAdapter.createDate(year, lastQuarterMonth, 1);\n let end = this.dateAdapter.createDate(year, lastQuarterMonth + 3, 1);\n newRange = {\n newStart: start,\n newEnd: end,\n }\n break;\n }\n case \"Last 6 Months\": {\n let end = this.dateAdapter.createDate(year, month, date);\n let start = this.dateAdapter.addCalendarMonths(end, -6);\n newRange = {\n newStart: start,\n newEnd: end,\n }\n break;\n }\n case \"This Year\": {\n let start = this.dateAdapter.createDate(year, 0, 1);\n let end = this.dateAdapter.createDate(year, 11, 31);\n newRange = {\n newStart: start,\n newEnd: end,\n }\n break;\n }\n case \"Last Year\": {\n let start = this.dateAdapter.createDate(year - 1, 0, 1);\n let end = this.dateAdapter.createDate(year - 1, 11, 31);\n newRange = {\n newStart: start,\n newEnd: end,\n }\n break;\n }\n default: {\n newRange = {\n newStart: new Date(),\n newEnd: new Date(),\n }\n }\n }\n return newRange;\n }\n\n private changeDate(mode: 'month' | 'year', amount: -1 | 1): void {\n // increment or decrement month or year\n this.calendar.activeDate =\n mode === 'month'\n ? this.dateAdapter.addCalendarMonths(this.calendar.activeDate, amount)\n : this.dateAdapter.addCalendarYears(this.calendar.activeDate, amount);\n }\n\n ngOnDestroy(): void {\n this.destroy$.next(); // will trigger unsubscription in takeUntil\n }\n}\n","<div class=\"range-preset\">\n <div class=\"preset\" *ngFor=\"let preset of presets, let i = index\">\n <label class=\"preset-label {{preset == selectedPreset ? 'preset-selected' : ''}}\"\n for=\"preset-radio-{{i}}\">{{preset}}</label>\n <input class=\"preset-radio\" (change)=\"presetChanged($event)\" [checked]=\"preset == selectedPreset\"\n id=\"preset-radio-{{i}}\" type=\"radio\" name=\"preset-radios-{{uuid}}\" value=\"{{preset}}\">\n </div>\n</div>\n\n<div class=\"header\">\n <button mat-icon-button (click)=\"previousClicked('month')\">\n <mat-icon>keyboard_arrow_left</mat-icon>\n </button>\n\n <button mat-button class=\"header-label\" (click)=\"changeView()\">{{ periodLabel }}</button>\n\n <button mat-icon-button (click)=\"nextClicked('month')\">\n <mat-icon>keyboard_arrow_right</mat-icon>\n </button>\n</div>\n","import { Component, EventEmitter, Input, Output } from '@angular/core';\nimport { MatDatepickerModule } from '@angular/material/datepicker';\nimport { MatInputModule } from '@angular/material/input';\nimport { MatFormFieldModule } from '@angular/material/form-field';\nimport { provideNativeDateAdapter } from '@angular/material/core';\nimport { NgFor } from '@angular/common';\nimport { NgIf } from '@angular/common';\nimport { ReactiveFormsModule } from '@angular/forms';\nimport { FieldType, FieldTypeConfig } from '@ngx-formly/core';\nimport { CalendarHeaderComponent } from '../calendar-header/calendar-header.component';\nimport { FormControl, FormGroup } from '@angular/forms';\nimport { CommonModule } from '@angular/common';\nimport { BrowserAnimationsModule } from '@angular/platform-browser/animations';\n\n@Component({\n selector: 'sa-datepicker',\n standalone: true,\n providers: [provideNativeDateAdapter()],\n imports: [\n MatFormFieldModule,\n MatInputModule,\n MatDatepickerModule,\n NgFor,\n NgIf,\n ReactiveFormsModule,\n CalendarHeaderComponent,\n CommonModule,\n ],\n templateUrl: './datepicker.component.html',\n styleUrl: './datepicker.component.css'\n})\nexport class DatepickerComponent extends FieldType<FieldTypeConfig> {\n @Input() range: any;\n\n readonly CalendarHeaderComponent = CalendarHeaderComponent;\n\n}\n","<mat-form-field class=\"date-picker\">\n <mat-label>Choose a date</mat-label>\n <mat-date-range-input [rangePicker]=\"picker\" [formGroup]=\"range\">\n <input formControlName=\"start\" matStartDate placeholder=\"Start date\">\n <input formControlName=\"end\" matEndDate placeholder=\"End date\">\n </mat-date-range-input>\n <mat-hint>MM/DD/YYYY</mat-hint>\n <mat-datepicker-toggle matIconSuffix [for]=\"picker\"></mat-datepicker-toggle>\n <mat-date-range-picker [calendarHeaderComponent]=\"CalendarHeaderComponent\" #picker>\n </mat-date-range-picker>\n</mat-form-field>\n","import { Component, EventEmitter, Input, Output } from '@angular/core';\nimport { TabInterface } from '../../interfaces/tab-interface';\nimport { NgFor } from '@angular/common';\nimport { NgIf } from '@angular/common';\n\n\nlet nextId = 0; // used to give unique ids to inputs used in html\n@Component({\n selector: 'sa-tabs',\n standalone: true,\n imports: [NgFor, NgIf],\n templateUrl: './tabs.component.html',\n styleUrl: './tabs.component.css'\n})\nexport class TabsComponent {\n @Input() tabs: TabInterface[];\n @Input() type: string;\n @Input() defaultTab: number;\n\n @Output() tabChanged = new EventEmitter();\n\n\n uuid: number = nextId++;\n svgStyle: any = [];\n\n ngOnChanges(): void {\n this.svgStyle = this.tabs.map((item) => {\n return {\n '-webkit-mask-image': `url(${item.tabIcon})`,\n 'mask-image': `url(${item.tabIcon})`,\n }\n })\n }\n tabChange(evt: any) {\n this.tabChanged.emit(evt.target.value)\n }\n}\n","<div class=\"tab-wrapper {{type}}\">\n <div class=\"tabs\">\n <div *ngFor=\"let item of tabs, let i = index\" class=\"tab-item\">\n <input [checked]=\"(defaultTab == i) ? true : false\" [value]=\"i\" (change)=\"tabChange($event)\"\n id=\"tab-check-{{i}}-{{uuid}}\" class=\"tab-checks\" type=\"radio\" name=\"tab-checkbox-{{uuid}}\">\n <label for=\"tab-check-{{i}}-{{uuid}}\" class=\"tab-label\">\n <div *ngIf=\"item.iconPosition == 'left' || item.iconPosition == 'both'\" class=\"svg-icon\" [style]=\"svgStyle[i]\">\n </div>\n {{item.tabName}}\n <div *ngIf=\"item.iconPosition == 'right' || item.iconPosition == 'both'\" class=\"svg-icon\" [style]=\"svgStyle[i]\">\n </div>\n <div class=\"badge\" *ngIf=\"item.badgeContent\">{{item.badgeContent}}</div>\n </label>\n </div>\n </div>\n</div>\n","/*\n * Public API Surface of component-library\n */\n\n\nexport * from './lib/component-library.service';\nexport * from './lib/component-library.component';\nexport * from './lib/button/button.component';\nexport * from './lib/chips/chips.component';\nexport * from './lib/avatar/avatar.component';\nexport * from './lib/grid-cell/grid-cell.component';\nexport * from './lib/header/header.component';\nexport * from './lib/toast/toast.component';\nexport * from './lib/form-select/form-select.component';\nexport * from './lib/stepper/stepper.component';\nexport * from './lib/tool-tip/tool-tip.component';\nexport * from './lib/datepicker/datepicker.component';\nexport * from './lib/tabs/tabs.component';\n\nexport * from './interfaces/grid-interface';\nexport * from './interfaces/avatar-interface';\nexport * from './interfaces/button-interface';\nexport * from './interfaces/chip-interface';\nexport * from './interfaces/select-interface';\nexport * from './interfaces/tab-interface';","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["nextId","i1","i3","i2"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"sarasanalytics-com-design-system.mjs","sources":["../../../projects/component-library/src/lib/component-library.service.ts","../../../projects/component-library/src/lib/component-library.component.ts","../../../projects/component-library/src/lib/button/button.component.ts","../../../projects/component-library/src/lib/button/button.component.html","../../../projects/component-library/src/lib/chips/chips.component.ts","../../../projects/component-library/src/lib/chips/chips.component.html","../../../projects/component-library/src/lib/avatar/avatar.component.ts","../../../projects/component-library/src/lib/avatar/avatar.component.html","../../../projects/component-library/src/lib/grid-cell/grid-cell.component.ts","../../../projects/component-library/src/lib/grid-cell/grid-cell.component.html","../../../projects/component-library/src/lib/header/header.component.ts","../../../projects/component-library/src/lib/header/header.component.html","../../../projects/component-library/src/lib/toast/toast.component.ts","../../../projects/component-library/src/lib/toast/toast.component.html","../../../projects/component-library/src/lib/form-select/form-select.component.ts","../../../projects/component-library/src/lib/form-select/form-select.component.html","../../../projects/component-library/src/lib/stepper/stepper.component.ts","../../../projects/component-library/src/lib/stepper/stepper.component.html","../../../projects/component-library/src/lib/tool-tip/tool-tip.component.ts","../../../projects/component-library/src/lib/tool-tip/tool-tip.component.html","../../../projects/component-library/src/lib/calendar-header/calendar-header.component.ts","../../../projects/component-library/src/lib/calendar-header/calendar-header.component.html","../../../projects/component-library/src/lib/datepicker/datepicker.component.ts","../../../projects/component-library/src/lib/datepicker/datepicker.component.html","../../../projects/component-library/src/lib/tabs/tabs.component.ts","../../../projects/component-library/src/lib/tabs/tabs.component.html","../../../projects/component-library/src/public-api.ts","../../../projects/component-library/src/sarasanalytics-com-design-system.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class TestLibraryService {\n\n constructor() { }\n}\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'lib-component-library',\n standalone: true,\n imports: [],\n template: `\n <p>\n component-library works!\n </p>\n `,\n styles: ``\n})\nexport class TestLibraryComponent {\n\n}\n","import { Component, Output } from '@angular/core';\nimport { Input } from '@angular/core';\nimport { EventEmitter } from '@angular/core';\nimport { NgIf } from '@angular/common';\nimport { NgStyle } from '@angular/common';\n\nlet nextId = 0; // used to give unique ids to inputs used in html\n\n@Component({\n selector: 'sa-button',\n standalone: true,\n imports: [NgIf, NgStyle],\n templateUrl: './button.component.html',\n styleUrl: './button.component.css'\n})\n\nexport class ButtonComponent {\n @Input() id: string | number;\n @Input() type: string;\n @Input() state: string;\n @Input() size: string;\n @Input() text: string | number;\n @Input() ImagePath: string;\n @Input() iconPosition: string;\n @Input() href: string;\n @Input() hrefTarget: string;\n @Input() isSubmit: boolean = false;\n\n @Output() onClickEvent = new EventEmitter();\n @Output() onMouseInEvent = new EventEmitter();\n @Output() onMouseOutEvent = new EventEmitter();\n\n svgStyle = {}\n eventEmitObject = {}\n uuid: number = nextId++;\n\n ngOnChanges(): void {\n this.svgStyle = {\n '-webkit-mask-image': `url(${this.ImagePath})`,\n 'mask-image': `url(${this.ImagePath})`,\n }\n this.eventEmitObject = {\n id: this.id\n }\n }\n\n buttonClicked(evt: Event) {\n if (this.state == \"disabled\") return;\n this.onClickEvent.emit({\n ...this.eventEmitObject,\n evt\n });\n if (this.href != \"\") {\n if (this.hrefTarget == \"blank\") window.open(this.href);\n else if (this.hrefTarget == \"self\") location.href = this.href;\n }\n }\n\n mouseIn() {\n if (this.state == \"disabled\") return;\n this.onMouseInEvent.emit();\n }\n\n mouseOut() {\n if (this.state == \"disabled\") return;\n this.onMouseOutEvent.emit();\n }\n}\n","<button (click)=\"buttonClicked($event)\" id=\"sa-button-{{uuid}}\" class=\"btn-hide\"\n [type]=\"isSubmit ? 'submit' : 'button'\"></button>\n<!-- (click)=\"buttonClicked()\" on button instead of label breaks whole thing -->\n<label for=\"sa-button-{{uuid}}\" role=\"button\" tabindex=\"0\" (mouseenter)=\"mouseIn()\" (mouseleave)=\"mouseOut()\"\n (keydown.enter)=\"buttonClicked($event)\" for=\"sa-button\" class=\"sa-button {{state}} {{type}} {{size}}\">\n <div class=\"svg-icon\" [style]=\"svgStyle\"\n [style.display]=\"(iconPosition == 'left' || iconPosition == 'both') ? 'block' : 'none'\"></div>\n {{text}}\n <div class=\"svg-icon\" [style]=\"svgStyle\"\n [style.display]=\"(iconPosition == 'right' || iconPosition == 'both') ? 'block' : 'none'\"></div>\n</label>\n","import { CommonModule } from '@angular/common';\nimport { Component } from '@angular/core';\nimport { Input } from '@angular/core';\nimport { Output } from '@angular/core';\nimport { EventEmitter } from '@angular/core';\n\nlet nextId = 0; // used to give unique ids to inputs used in html\n\n@Component({\n selector: 'sa-chip',\n standalone: true,\n imports: [CommonModule],\n templateUrl: './chips.component.html',\n styleUrl: './chips.component.css'\n})\nexport class ChipsComponent {\n @Input() id: string | number;\n @Input() iconPath: string;\n @Input() text: string | number;\n @Input() type: string;\n @Input() state: string;\n @Input() filling: string;\n @Input() iconPosition: string;\n @Input() largeStateIcon: string;\n @Input() largeStateText: string;\n\n @Output() onClickEvent = new EventEmitter();\n\n svgStyle = {}\n secondSvgStyle = {}\n eventEmitObject = {}\n uuid: number = nextId++;\n\n ngOnChanges(): void {\n this.svgStyle = {\n '-webkit-mask-image': `url(${this.iconPath})`,\n 'mask-image': `url(${this.iconPath})`,\n }\n this.secondSvgStyle = {\n '-webkit-mask-image': `url(${this.largeStateIcon})`,\n 'mask-image': `url(${this.largeStateIcon})`,\n }\n this.eventEmitObject = {\n id: this.id\n }\n }\n\n buttonClicked(evt: Event) {\n this.onClickEvent.emit({\n ...this.eventEmitObject,\n evt\n });\n }\n}\n","<div class=\"chip {{type}} {{state}} {{filling}}\">\n <button type=\"button\" (click)=\"buttonClicked($event)\" id=\"icon-button_{{uuid}}\" class=\"btn_hide\"></button>\n <!-- (click)=\"buttonClicked()\" on button instead of label breaks whole thing -->\n <label for=\"icon-button_{{uuid}}\" class=\"svg-icon\" [style]=\"svgStyle\"\n [style.display]=\"((iconPosition == 'left' || iconPosition == 'both') && type != 'large') ? 'block' : 'none'\">\n </label>\n\n {{text}}\n\n <div class=\"second-svg-icon\" [style]=\"secondSvgStyle\" [style.display]=\"(type == 'large') ? 'block' : 'none'\"></div>\n\n {{type == 'large' ? largeStateText : \"\"}}\n\n <label for=\"icon-button_{{uuid}}\" class=\"svg-icon\" [style]=\"svgStyle\"\n [style.display]=\"((iconPosition == 'right' || iconPosition == 'both') && type != 'large') ? 'block' : 'none'\">\n </label>\n</div>\n","import { Component, EventEmitter } from '@angular/core';\nimport { Input, Output } from '@angular/core';\nimport { NgIf } from '@angular/common';\n\n@Component({\n selector: 'sa-avatar',\n standalone: true,\n imports: [NgIf],\n templateUrl: './avatar.component.html',\n styleUrl: './avatar.component.css'\n})\nexport class AvatarComponent {\n @Input() id: string | number;\n @Input() imagePath: string;\n @Input() altText: string;\n @Input() size: string;\n\n @Output() onClickEvent = new EventEmitter\n @Output() onMouseInEvent = new EventEmitter\n @Output() onMouseOutEvent = new EventEmitter\n\n eventEmitObject = {}\n\n ngOnChanges(): void {\n this.eventEmitObject = {\n id: this.id\n }\n }\n\n avatarClicked(evt: Event) {\n this.onClickEvent.emit({\n ...this.eventEmitObject,\n evt\n })\n }\n\n mouseEnter(evt: Event) {\n this.onMouseInEvent.emit({\n ...this.eventEmitObject,\n evt\n })\n }\n\n mouseLeave(evt: Event) {\n this.onMouseOutEvent.emit({\n ...this.eventEmitObject,\n evt\n })\n }\n}\n","<div class=\"avatar {{size}}\" (click)=\"avatarClicked($event)\" (mouseenter)=\"mouseEnter($event)\"\n (mouseleave)=\"mouseLeave($event)\">\n <img *ngIf=\"imagePath\" class=\"avatar-img\" alt=\"{{altText}}\" src=\"{{imagePath}}\">\n <p *ngIf=\"!imagePath\" class=\"avatar-img\">{{altText}}</p>\n</div>\n","import { Component, EventEmitter } from '@angular/core';\nimport { Output } from '@angular/core';\nimport { AvatarComponent } from '../avatar/avatar.component';\nimport { ChipsComponent } from '../chips/chips.component';\nimport { ButtonComponent } from '../button/button.component';\nimport { NgFor } from '@angular/common';\nimport { ICellRendererAngularComp, IHeaderAngularComp } from 'ag-grid-angular';\nimport { GridInterface } from '../../interfaces/grid-interface';\n\n@Component({\n selector: 'lib-grid-cell',\n standalone: true,\n imports: [\n AvatarComponent,\n ChipsComponent,\n ButtonComponent,\n NgFor\n ],\n templateUrl: './grid-cell.component.html',\n styleUrl: './grid-cell.component.css'\n})\nexport class GridCellComponent implements ICellRendererAngularComp, IHeaderAngularComp {\n params: GridInterface;\n rowNum: number;\n\n @Output() onClickButtonEvent = new EventEmitter();\n @Output() onClickChipEvent = new EventEmitter();\n @Output() onClickLinkEvent = new EventEmitter();\n @Output() onClickAvatarEvent = new EventEmitter();\n\n buttonClicked(evt: Event) {\n this.params.buttonClicked && this.params.buttonClicked({ // calls the function passed via params in gridInterface.\n ...evt,\n rowId: this.rowNum\n });\n this.onClickButtonEvent.emit({ ...evt, rowId: this.rowNum }); // this event isn't caught by anything. \n }\n\n // above function behavior is same for all functions in this class\n\n chipClicked(evt: Event) {\n this.params.chipClicked && this.params.chipClicked({\n ...evt,\n rowId: this.rowNum\n });\n this.onClickChipEvent.emit({ ...evt, rowId: this.rowNum });\n }\n\n linkClicked() {\n if (this.params.cellType != \"interactive\") return;\n\n this.params.linkClicked && this.params.linkClicked({ //calling function passed in params with rowId object in arguments\n rowId: this.rowNum\n });\n\n if (this.params.interactiveLink != \"\") {\n if (this.params.interactiveLinkTarget == \"blank\") {\n window.open(this.params.interactiveLink)!;\n }\n else if (this.params.interactiveLinkTarget == \"self\") {\n location.href = this.params.interactiveLink!;\n }\n }\n this.onClickLinkEvent.emit({ rowId: this.rowNum });\n }\n\n avatarClicked(evt: Event) {\n this.params.avatarClicked && this.params.avatarClicked({\n ...evt,\n rowId: this.rowNum\n });\n this.onClickChipEvent.emit({ ...evt, rowId: this.rowNum });\n }\n\n agInit(inParams: any): void { // must exist when class implements ICellRendererAngularComp / IHeaderAngularComp\n\n this.rowNum = inParams.rowIndex;\n this.params = inParams.value; // inParams.value exists when gridCell is rendered as cell, `cellRenderer: GridCellComponent`\n if (inParams.value == undefined) { // inParams.value is undefined when gridCell is rendered as header, `headerComponent: GridCellComponent`, \n this.params = inParams\n }\n // console.log(this.params);\n }\n\n refresh(params: any) { // must exist when class implements ICellRendererAngularComp / IHeaderAngularComp\n return false; // not sure what this return value does.\n }\n\n}\n","<div class=\"grid-cell {{params.cellType}}\">\n\n <img class=\"icons\" src={{params.iconPath}} [style.display]=\"(params.viewLeadingIcon) ? 'block' : 'none'\" alt=\"\">\n\n <sa-avatar [id]=\"params.avatarConfig?.id\" [altText]=\"params.avatarConfig?.altText\"\n [imagePath]=\"params.avatarConfig?.imagePath\" [size]=\"params.avatarConfig?.size\"\n [style.display]=\"(params.viewAvatar) ? 'block' : 'none'\" (onClickEvent)=\"avatarClicked($event)\">\n </sa-avatar>\n\n <div class=\"grid-text\" [style.display]=\"(params.viewText) ? 'block' : 'none'\">\n <div [style.display]=\"(params.text) ? 'block' : 'none'\" (click)=\"linkClicked()\" class=\"main-text\">{{params.text}}\n </div>\n\n <div [style.display]=\"(params.subText) ? 'block' : 'none'\" class=\"sub-text\">{{params.subText}}</div>\n </div>\n\n <img class=\"icons\" src={{params.iconPath}} [style.display]=\"(params.viewTrailingIcon) ? 'block' : 'none'\" alt=\"\">\n\n\n <sa-chip *ngFor=\"let config of params.chipConfig, let i = index\" [id]=\"config.id\" [filling]=\"config.filling\"\n id=\"chip_{{rowNum}}_{{config.id}}\" [iconPath]=\"config.iconPath\" [iconPosition]=\"config.iconPosition\"\n [largeStateIcon]=\"config.largeStateIcon\" [state]=\"config.state\" [type]=\"config.type\" [text]=\"config.text\"\n [style.display]=\"(params.viewChip) ? 'block' : 'none'\" (onClickEvent)=\"chipClicked($event)\"></sa-chip>\n\n <sa-button [iconPosition]=\"params.buttonConfig?.iconPosition\" [ImagePath]=\"params.buttonConfig?.imagePath\"\n [id]=\"params.buttonConfig?.id\" [size]=\"params.buttonConfig?.size\" [state]=\"params.buttonConfig?.state\"\n [type]=\"params.buttonConfig?.type\" [text]=\"params.buttonConfig?.text\" [href]=\"params.buttonConfig?.href\"\n [hrefTarget]=\"params.buttonConfig?.hrefTarget\" [style.display]=\"(params.viewButton) ? 'block' : 'none'\"\n (onClickEvent)=\"buttonClicked($event)\"></sa-button>\n\n</div>\n","import { Component, EventEmitter, Output } from '@angular/core';\nimport { ChipsComponent } from '../chips/chips.component';\nimport { Input } from '@angular/core';\nimport { NgFor } from '@angular/common';\nimport { ButtonComponent } from '../button/button.component';\nimport { NgIf } from '@angular/common';\n\n@Component({\n selector: 'sa-header',\n standalone: true,\n imports: [ChipsComponent, NgFor, ButtonComponent, NgIf],\n templateUrl: './header.component.html',\n styleUrl: './header.component.css'\n})\nexport class HeaderComponent {\n @Input() info: string[][];\n @Input() headerName: string;\n @Input() chipConfig: string[][];\n @Input() buttonHelper: string;\n @Input() buttonMain: string;\n\n @Output() mainButtonClicked = new EventEmitter();\n @Output() helperButtonClicked = new EventEmitter();\n\n clicked(num: number) {\n num ? this.mainButtonClicked.emit() : this.helperButtonClicked.emit();\n }\n}\n","<div class=\"header\">\n <div class=\"header-content\">\n <div class=\"heading\">\n <div class=\"header-name\">{{headerName}}</div>\n <div *ngFor=\"let chip of chipConfig\">\n <sa-chip type=\"regular\" [state]=\"chip[1]\" filling=\"filled\" [text]=\"chip[0]\"></sa-chip>\n </div>\n </div>\n <div class=\"header-info\">\n <div class=\"info-item\" *ngFor=\"let item of info\">\n <img [src]=\"item[1]\" alt=\"\">\n {{item[0]}}\n </div>\n </div>\n </div>\n <div class=\"actions\">\n <sa-button *ngIf=\"buttonHelper\" (onClickEvent)=\"clicked(0)\" [text]=\"buttonHelper\" type=\"transparent\" size=\"medium\"\n state=\"default\">\n </sa-button>\n <sa-button *ngIf=\"buttonMain\" (onClickEvent)=\"clicked(1)\" [text]=\"buttonMain\" type=\"primary\" size=\"medium\"\n state=\"default\"></sa-button>\n </div>\n</div>\n","import { Component, EventEmitter, OnChanges } from '@angular/core';\nimport { ButtonComponent } from '../button/button.component';\nimport { Input } from '@angular/core';\nimport { Output } from '@angular/core';\nimport { MatIcon } from '@angular/material/icon';\nimport { NgIf } from '@angular/common';\n\n@Component({\n selector: 'sa-toast',\n standalone: true,\n imports: [ButtonComponent, MatIcon, NgIf],\n templateUrl: './toast.component.html',\n styleUrl: './toast.component.css'\n})\nexport class ToastComponent implements OnChanges {\n @Input() finishPercentage: number = -1;\n @Input() heading: string;\n @Input() subHeading: string;\n @Input() statusIcon: string;\n @Input() status: string;\n @Input() firstButtonName: string;\n @Input() secondButtonName: string;\n\n @Output() firstButton = new EventEmitter();\n @Output() secondButton = new EventEmitter();\n @Output() closed = new EventEmitter();\n\n ngOnChanges() {\n if (this.finishPercentage > 100) this.finishPercentage = 100;\n }\n\n clicked(num: number) {\n if (num == 0) this.firstButton.emit();\n else if (num == 1) this.secondButton.emit();\n else if (num == 2) this.closed.emit();\n }\n}\n","<div class=\"toast\">\n <div class=\"content\">\n <div class=\"toast-icon {{status}}\">\n <img [src]=\"statusIcon\" alt=\"\">\n </div>\n <div class=\"head-subhead\">\n <p class=\"heading\">{{heading}}</p>\n <p class=\"subheading\">{{subHeading}}</p>\n </div>\n <!-- <img class=\"cross\" (click)=\"clicked(2)\" [src]=\"crossmark\" alt=\"\"> -->\n <mat-icon class=\"cross\" (click)=\"clicked(2)\">close</mat-icon>\n </div>\n <div class=\"controls\">\n <sa-button *ngIf=\"firstButtonName\" (onClickEvent)=\"clicked(0)\" [text]=\"firstButtonName\" type=\"transparent\"\n size=\"medium\" state=\"default\">\n </sa-button>\n <sa-button *ngIf=\"secondButtonName\" (onClickEvent)=\"clicked(1)\" [text]=\"secondButtonName\" type=\"outline\"\n size=\"medium\" state=\"default\">\n </sa-button>\n </div>\n <div *ngIf=\"finishPercentage >= 0\" class=\"progress-bar\">\n <div class=\"progress-done\" [style.width]=\"finishPercentage+'%'\"></div>\n <div class=\"progress-left\" [style.width]=\"100-finishPercentage+'%'\"></div>\n </div>\n</div>\n","import { Component } from '@angular/core';\nimport { ReactiveFormsModule } from '@angular/forms';\nimport { FormlyModule } from '@ngx-formly/core';\nimport { FieldType, FieldTypeConfig } from '@ngx-formly/core';\nimport { NgSelectModule } from '@ng-select/ng-select';\nimport { ChipsComponent } from '../chips/chips.component';\nimport { NgIf, NgFor } from '@angular/common';\n\n@Component({\n selector: 'lib-form-select',\n standalone: true,\n imports: [\n ReactiveFormsModule,\n FormlyModule,\n ReactiveFormsModule,\n NgSelectModule,\n ChipsComponent,\n NgIf,\n NgFor\n ],\n templateUrl: './form-select.component.html',\n styleUrl: './form-select.component.css'\n})\nexport class FormSelectComponent extends FieldType<FieldTypeConfig> {\n selectables: any;\n params: any;\n\n svgStyle = {};\n openState: boolean = false;\n topLabel: boolean;\n startInd: number = 0;\n labelLimit: number = 2;\n\n ngOnInit() {\n this.selectables = this.field.props.options;\n this.params = this.field.props['params'];\n this.svgStyle = {\n '-webkit-mask-image': `url(${this.params.dropIcon})})`,\n 'mask-image': `url(${this.params.dropIcon})`,\n }\n }\n openClose(state: boolean) {\n if (this.field.props.disabled) return;\n this.openState = state;\n }\n shiftLabel(action: string) {\n if (action == 'clicked') this.startInd++;\n if (action == 'cleared') this.startInd = 0;\n if (action == 'removed' && this.startInd > 0) this.startInd--;\n }\n checkForZero(selected: any) {\n this.topLabel = selected.length == 0 ? false : true;\n }\n}\n","<div [style.visibility]=\"(openState || topLabel) ? 'visible' : 'hidden'\" class=\"clicked-label\">{{params.label}}</div>\n<div class=\"ng-select-field {{openState ? 'activated' : 'idle'}} {{field.props.disabled ? 'disabled' : ''}}\">\n\n <div role=\"button\" title=\"drop-button\" tabindex=\"0\" class=\"left-icon svg-icon\" [style]=\"svgStyle\"\n (click)=\"openClose(true)\" (blur)=\"openClose(false)\"\n *ngIf=\"(params.dropIconPosition == 'left' || params.dropIconPosition == 'both')\">\n </div>\n\n <ng-select (change)=\"checkForZero($event)\" (remove)=\"shiftLabel('removed')\" (clear)=\"shiftLabel('cleared')\"\n (search)=\"openClose(true)\" (focus)=\"openClose(true)\" (blur)=\" openClose(false)\" [isOpen]=\"openState\"\n placeholder={{params.label}} bindLabel=\"name\" [items]=\"selectables\" [multiple]=\"params.multiple\"\n [formControl]=\"formControl\" [style] [formlyAttributes]=\"field\">\n <ng-template ng-multi-label-tmp let-items=\"items\" let-clear=\"clear\">\n <div *ngFor=\"let item of (items ? items.slice(startInd,startInd+labelLimit): [])\">\n <sa-chip (onClickEvent)=\" (!field.props.disabled) ? clear(item) : null\" [id]=\"item.id\"\n [iconPath]=\"params.iconPath\" [text]=\"item.name\" [type]=\"params.type\"\n [state]=\"field.props.disabled ? 'neutral' : params.state\" [filling]=\"params.filling\"\n [iconPosition]=\"params.iconPosition\">\n </sa-chip>\n </div>\n <div (click)=\"shiftLabel('clicked')\" class=\"ng-value overflow-label\" *ngIf=\"items.length > (startInd+labelLimit)\">\n <sa-chip text=\"+{{items.length-(startInd+labelLimit)}}\" type=\"regular\" state=\"default\" filling=\"filled\">\n </sa-chip>\n </div>\n <div (click)=\"shiftLabel('cleared')\" *ngIf=\"startInd == items.length-labelLimit\" class=\"ng-value overflow-label\">\n <sa-chip text=\"...\" type=\"regular\" state=\"default\" filling=\"filled\">\n </sa-chip>\n </div>\n </ng-template>\n </ng-select>\n\n <div role=\"button\" title=\"drop-button\" tabindex=\"0\" class=\"right-icon svg-icon\" [style]=\"svgStyle\"\n (click)=\"openClose(true)\" (blur)=\"openClose(false)\"\n *ngIf=\"(params.dropIconPosition == 'right' || params.dropIconPosition == 'both')\">\n </div>\n\n</div>\n<div class=\"support-label\">{{params.supportText}}</div>\n","import { Component, EventEmitter, Input } from '@angular/core';\nimport { FieldType, FieldTypeConfig } from '@ngx-formly/core';\nimport { NgFor, NgIf } from '@angular/common';\nimport { Output } from '@angular/core';\n\nlet nextId = 0; // used to give unique ids to inputs used in html\n\n@Component({\n selector: 'sa-stepper',\n standalone: true,\n imports: [NgFor, NgIf],\n templateUrl: './stepper.component.html',\n styleUrl: './stepper.component.css'\n})\nexport class StepperComponent extends FieldType<FieldTypeConfig> {\n @Input() latestStep: number = -1;\n @Input() editable: boolean = true;\n @Input() stepLabels: any;\n @Input() doneIcon: string;\n\n @Output() stepped = new EventEmitter;\n\n uuid: number = nextId++;\n\n isDisabled: boolean = false;\n\n tickIcon = {};\n\n // {\n // '-webkit-mask-image': `url(${this.ImagePath})`,\n // 'mask-image': `url(${this.ImagePath})`,\n // }\n\n ngOnInit() {\n if (this.field.props) {\n this.stepLabels = this.field.props.options;\n this.editable = this.field.props['params'].editable;\n this.latestStep = this.model[`${this.key}`] ? this.model[`${this.key}`].id : -1;\n this.doneIcon = this.field.props['params'].doneIcon;\n\n this.isDisabled = this.field.props.disabled!;\n }\n console.log(this.doneIcon);\n this.tickIcon = {\n '-webkit-mask-image': `url(${this.doneIcon})`,\n 'mask-image': `url(${this.doneIcon})`\n };\n }\n\n update(chosen: number) {\n if (!this.editable || this.field.props?.disabled) return;\n this.latestStep = chosen;\n if (!this.formControl) {\n this.stepped.emit(this.latestStep);\n return;\n }\n this.formControl.setValue({\n id: this.latestStep\n });\n }\n}\n","<div class=\"stepper {{isDisabled ? 'disabled' : 'active'}}\">\n <div class=\"steps\" *ngFor=\"let label of stepLabels; let i = index\">\n <input id=\"stepper-{{uuid}}-{{i}}\" (change)=\"update(i)\" name=\"stepper-radio-{{uuid}}\"\n [checked]=\"i == latestStep ? true: false\" class=\"step-hide\" type=\"radio\">\n <div\n class=\"label-wrapper {{i < latestStep ? 'done' : ''}} {{i > latestStep ? 'default' : ''}} {{i == latestStep ? 'latest' : ''}}\">\n <label [style]=\"i < latestStep ? tickIcon : ''\" for=\"stepper-{{uuid}}-{{i}}\"\n class=\"step-label-icon {{i > latestStep ? 'undone' : ''}}\">\n </label>\n <label for=\"stepper-{{uuid}}-{{i}}\" class=\"step-label-text\">{{label.name}}</label>\n </div>\n <div *ngIf=\" i !=stepLabels.length-1\" class=\"line {{i < latestStep ? 'done' : 'default'}}\"></div>\n </div>\n</div>\n","import { Component, EventEmitter, Input, Output } from '@angular/core';\nimport { ButtonComponent } from '../button/button.component';\nimport { NgFor } from '@angular/common';\nimport { NgIf } from '@angular/common';\n\n@Component({\n selector: 'sa-tool-tip',\n standalone: true,\n imports: [ButtonComponent, NgFor, NgIf],\n templateUrl: './tool-tip.component.html',\n styleUrl: './tool-tip.component.css'\n})\nexport class ToolTipComponent {\n @Input() messages: string[];\n @Input() pointerPosition: string;\n\n @Output() toolTipSkipped = new EventEmitter();\n @Output() toolTipSeen = new EventEmitter();\n arrowIcon = \"../assets/arrow.svg\";\n pointer = \"../assets/pointer-polygon.svg\";\n\n msgInd: number = 0; // is the index of current message being displayed\n\n updateMsgInd(k: number) {\n this.msgInd += k;\n if (this.msgInd < 0) this.msgInd = 0;\n if (this.msgInd > this.messages.length - 1) {\n this.msgInd = this.messages.length - 1;\n this.toolTipSeen.emit();\n }\n }\n\n skipToolTip() {\n this.toolTipSkipped.emit();\n }\n\n}\n","<div class=\"tool-tip-vertical\">\n <div class=\"tool-tip-pointer-icon pointer-top\" *ngIf=\"pointerPosition == 'top'\"></div>\n <div class=\"tool-tip-horizontal\">\n <div class=\"tool-tip-pointer-icon pointer-left\" *ngIf=\"pointerPosition == 'left'\"></div>\n <div class=\"tool-tip\">\n <div class=\"tool-tip-content\">\n <div class=\"tool-tip-heading\">Heading</div>\n <div *ngFor=\"let msg of messages, let i = index\" class=\"tool-tip-message {{msgInd != i ? 'hidden-msg': ''}}\">\n {{msg}}\n </div>\n </div>\n <div class=\"tool-tip-break\">\n </div>\n <div class=\"tool-tip-controls\">\n <div class=\"tool-tip-navigate\">\n <img class=\"left-icon tool-tip-navigate-icon\" (click)=\"updateMsgInd(-1)\" [src]=\"arrowIcon\" alt=\"\">\n {{msgInd+1}} of {{messages.length}}\n <img class=\"right-icon tool-tip-navigate-icon\" (click)=\"updateMsgInd(1)\" [src]=\"arrowIcon\" alt=\"\">\n </div>\n <div class=\"tool-tip-control-buttons\">\n <sa-button (onClickEvent)=\"skipToolTip()\" class=\"skip-button\" text=\"Skip\" type=\"transparent\" size=\"medium\"\n state=\"default\"></sa-button>\n <sa-button (onClickEvent)=\"updateMsgInd(1)\" text=\"Next\" type=\"primary\" size=\"medium\" state=\"default\">\n </sa-button>\n </div>\n </div>\n </div>\n <div class=\"tool-tip-pointer-icon pointer-right\" *ngIf=\"pointerPosition == 'right'\"></div>\n </div>\n <div class=\"tool-tip-pointer-icon pointer-bottom\" *ngIf=\"pointerPosition == 'bottom'\"></div>\n</div>\n","import {\n ChangeDetectorRef,\n Component,\n Inject,\n OnDestroy,\n} from '@angular/core';\nimport {\n DateAdapter,\n MatDateFormats,\n MAT_DATE_FORMATS,\n} from '@angular/material/core';\nimport { MatCalendar } from '@angular/material/datepicker';\nimport { Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatButton } from '@angular/material/button';\nimport { NgFor } from '@angular/common';\nimport { MatDateRangePicker } from '@angular/material/datepicker';\n\n\nlet nextId = 0; // used to give unique ids to inputs used in html\n\n@Component({\n templateUrl: './calendar-header.component.html',\n styleUrls: ['./calendar-header.component.css'],\n standalone: true,\n imports: [\n NgFor,\n MatIconModule,\n MatButton\n ],\n // changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class CalendarHeaderComponent<D> implements OnDestroy {\n uuid: number = nextId++;\n\n private readonly destroy$ = new Subject<void>();\n\n constructor(\n private calendar: MatCalendar<D>, // calendar instance of picker\n private dateAdapter: DateAdapter<D>, // native or moment date adapter\n private picker: MatDateRangePicker<D>,\n @Inject(MAT_DATE_FORMATS) private dateFormats: MatDateFormats, // for formatting\n cdr: ChangeDetectorRef\n ) {\n // make sure your header stays in sync with the calendar:\n calendar.stateChanges\n .pipe(takeUntil(this.destroy$)) // unsubscribe when destroyed\n .subscribe(() => cdr.markForCheck());\n\n }\n\n selectedPreset = \"Custom\"\n presets = [\n \"This Quarter\",\n \"Last Quarter\",\n \"Last 6 Months\",\n \"This Year\",\n \"Last Year\",\n \"Custom\"\n ]\n // active date label rendered between the arrow buttons\n\n ngOnInit() {\n const currentRange: any = this.calendar.selected;\n\n currentRange?.start.setHours(0, 0, 0, 0);\n currentRange?.end.setHours(0, 0, 0, 0);\n\n // To pre-select a preset when the calendar opens.\n // Match the already selected date range with the date-ranges of all presets.\n // If already selected date range matches with a preset, pre-select it.\n\n for (let i = 0; i < this.presets.length; i++) {\n const tempRange = this.findDate(this.presets[i]);\n if (tempRange.newStart.getTime() == currentRange.start.getTime() && tempRange.newEnd.getTime() == currentRange.end.getTime()) {\n this.selectedPreset = this.presets[i];\n break;\n }\n }\n }\n\n get periodLabel(): string {\n // use date adapter to format the label, e.g. \"SEP 2020\"\n return this.dateAdapter\n .format(this.calendar.activeDate, this.dateFormats.display.monthYearLabel)\n .toLocaleUpperCase();\n }\n\n previousClicked(mode: 'month' | 'year'): void {\n this.changeDate(mode, -1);\n }\n\n nextClicked(mode: 'month' | 'year'): void {\n this.changeDate(mode, 1);\n }\n\n changeView() {\n this.calendar.currentView =\n this.calendar.currentView == \"month\"\n ? \"year\"\n : this.calendar.currentView == \"year\"\n ? \"multi-year\"\n : \"month\";\n }\n\n today = new Date();\n\n presetChanged(evt: any) {\n const newRange: any = this.findDate(evt.target.value);\n this.calendar.activeDate = newRange.newStart;\n this.picker.select(newRange.newStart);\n this.picker.select(newRange.newEnd);\n }\n\n findDate(selected: string) {\n const date = this.today.getDate();\n const month = this.today.getMonth();\n const year = this.today.getFullYear();\n let newRange: any;\n this.selectedPreset = selected;\n switch (selected) {\n case \"This Quarter\": {\n const thisQuarterMonth = Math.floor(month / 3) * 3;\n const start = this.dateAdapter.createDate(year, thisQuarterMonth, 1);\n const end = this.dateAdapter.createDate(year, thisQuarterMonth + 3, 1);\n newRange = {\n newStart: start,\n newEnd: end,\n }\n break;\n }\n case \"Last Quarter\": {\n const lastQuarterMonth = (Math.floor(month / 3) * 3) - 3;\n const start = this.dateAdapter.createDate(year, lastQuarterMonth, 1);\n const end = this.dateAdapter.createDate(year, lastQuarterMonth + 3, 1);\n newRange = {\n newStart: start,\n newEnd: end,\n }\n break;\n }\n case \"Last 6 Months\": {\n const end = this.dateAdapter.createDate(year, month, date);\n const start = this.dateAdapter.addCalendarMonths(end, -6);\n newRange = {\n newStart: start,\n newEnd: end,\n }\n break;\n }\n case \"This Year\": {\n const start = this.dateAdapter.createDate(year, 0, 1);\n const end = this.dateAdapter.createDate(year, 11, 31);\n newRange = {\n newStart: start,\n newEnd: end,\n }\n break;\n }\n case \"Last Year\": {\n const start = this.dateAdapter.createDate(year - 1, 0, 1);\n const end = this.dateAdapter.createDate(year - 1, 11, 31);\n newRange = {\n newStart: start,\n newEnd: end,\n }\n break;\n }\n default: {\n newRange = {\n newStart: new Date(),\n newEnd: new Date(),\n }\n }\n }\n return newRange;\n }\n\n private changeDate(mode: 'month' | 'year', amount: -1 | 1): void {\n // increment or decrement month or year\n this.calendar.activeDate =\n mode === 'month'\n ? this.dateAdapter.addCalendarMonths(this.calendar.activeDate, amount)\n : this.dateAdapter.addCalendarYears(this.calendar.activeDate, amount);\n }\n\n ngOnDestroy(): void {\n this.destroy$.next(); // will trigger unsubscription in takeUntil\n }\n}\n","<div class=\"range-preset\">\n <div class=\"preset\" *ngFor=\"let preset of presets, let i = index\">\n <label class=\"preset-label {{preset == selectedPreset ? 'preset-selected' : ''}}\"\n for=\"preset-radio-{{i}}\">{{preset}}</label>\n <input class=\"preset-radio\" (change)=\"presetChanged($event)\" [checked]=\"preset == selectedPreset\"\n id=\"preset-radio-{{i}}\" type=\"radio\" name=\"preset-radios-{{uuid}}\" value=\"{{preset}}\">\n </div>\n</div>\n\n<div class=\"header\">\n <button mat-icon-button (click)=\"previousClicked('month')\">\n <mat-icon>keyboard_arrow_left</mat-icon>\n </button>\n\n <button mat-button class=\"header-label\" (click)=\"changeView()\">{{ periodLabel }}</button>\n\n <button mat-icon-button (click)=\"nextClicked('month')\">\n <mat-icon>keyboard_arrow_right</mat-icon>\n </button>\n</div>\n","import { Component, Input } from '@angular/core';\nimport { MatDatepickerModule } from '@angular/material/datepicker';\nimport { MatInputModule } from '@angular/material/input';\nimport { MatFormFieldModule } from '@angular/material/form-field';\nimport { provideNativeDateAdapter } from '@angular/material/core';\nimport { NgFor } from '@angular/common';\nimport { NgIf } from '@angular/common';\nimport { ReactiveFormsModule } from '@angular/forms';\nimport { FieldType, FieldTypeConfig } from '@ngx-formly/core';\nimport { CalendarHeaderComponent } from '../calendar-header/calendar-header.component';\nimport { CommonModule } from '@angular/common';\n\n@Component({\n selector: 'sa-datepicker',\n standalone: true,\n providers: [provideNativeDateAdapter()],\n imports: [\n MatFormFieldModule,\n MatInputModule,\n MatDatepickerModule,\n NgFor,\n NgIf,\n ReactiveFormsModule,\n CalendarHeaderComponent,\n CommonModule,\n ],\n templateUrl: './datepicker.component.html',\n styleUrl: './datepicker.component.css'\n})\nexport class DatepickerComponent extends FieldType<FieldTypeConfig> {\n @Input() range: any;\n\n readonly CalendarHeaderComponent = CalendarHeaderComponent;\n\n}\n","<mat-form-field class=\"date-picker\">\n <mat-label>Choose a date</mat-label>\n <mat-date-range-input [rangePicker]=\"picker\" [formGroup]=\"range\">\n <input formControlName=\"start\" matStartDate placeholder=\"Start date\">\n <input formControlName=\"end\" matEndDate placeholder=\"End date\">\n </mat-date-range-input>\n <mat-hint>MM/DD/YYYY</mat-hint>\n <mat-datepicker-toggle matIconSuffix [for]=\"picker\"></mat-datepicker-toggle>\n <mat-date-range-picker [calendarHeaderComponent]=\"CalendarHeaderComponent\" #picker>\n </mat-date-range-picker>\n</mat-form-field>\n","import { Component, EventEmitter, Input, Output } from '@angular/core';\nimport { TabInterface } from '../../interfaces/tab-interface';\nimport { NgFor } from '@angular/common';\nimport { NgIf } from '@angular/common';\n\n\nlet nextId = 0; // used to give unique ids to inputs used in html\n@Component({\n selector: 'sa-tabs',\n standalone: true,\n imports: [NgFor, NgIf],\n templateUrl: './tabs.component.html',\n styleUrl: './tabs.component.css'\n})\nexport class TabsComponent {\n @Input() tabs: TabInterface[];\n @Input() type: string;\n @Input() defaultTab: number;\n\n @Output() tabChanged = new EventEmitter();\n\n\n uuid: number = nextId++;\n svgStyle: any = [];\n\n ngOnChanges(): void {\n this.svgStyle = this.tabs.map((item) => {\n return {\n '-webkit-mask-image': `url(${item.tabIcon})`,\n 'mask-image': `url(${item.tabIcon})`,\n }\n })\n }\n tabChange(evt: any) {\n this.tabChanged.emit(evt.target.value)\n }\n}\n","<div class=\"tab-wrapper {{type}}\">\n <div class=\"tabs\">\n <div *ngFor=\"let item of tabs, let i = index\" class=\"tab-item\">\n <input [checked]=\"(defaultTab == i) ? true : false\" [value]=\"i\" (change)=\"tabChange($event)\"\n id=\"tab-check-{{i}}-{{uuid}}\" class=\"tab-checks\" type=\"radio\" name=\"tab-checkbox-{{uuid}}\">\n <label for=\"tab-check-{{i}}-{{uuid}}\" class=\"tab-label\">\n <div *ngIf=\"item.iconPosition == 'left' || item.iconPosition == 'both'\" class=\"svg-icon\" [style]=\"svgStyle[i]\">\n </div>\n {{item.tabName}}\n <div *ngIf=\"item.iconPosition == 'right' || item.iconPosition == 'both'\" class=\"svg-icon\" [style]=\"svgStyle[i]\">\n </div>\n <div class=\"badge\" *ngIf=\"item.badgeContent\">{{item.badgeContent}}</div>\n </label>\n </div>\n </div>\n</div>\n","/*\n * Public API Surface of component-library\n */\n\n\nexport * from './lib/component-library.service';\nexport * from './lib/component-library.component';\nexport * from './lib/button/button.component';\nexport * from './lib/chips/chips.component';\nexport * from './lib/avatar/avatar.component';\nexport * from './lib/grid-cell/grid-cell.component';\nexport * from './lib/header/header.component';\nexport * from './lib/toast/toast.component';\nexport * from './lib/form-select/form-select.component';\nexport * from './lib/stepper/stepper.component';\nexport * from './lib/tool-tip/tool-tip.component';\nexport * from './lib/datepicker/datepicker.component';\nexport * from './lib/tabs/tabs.component';\n\nexport * from './interfaces/grid-interface';\nexport * from './interfaces/avatar-interface';\nexport * from './interfaces/button-interface';\nexport * from './interfaces/chip-interface';\nexport * from './interfaces/select-interface';\nexport * from './interfaces/tab-interface';","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["nextId","i1","i3","i2"],"mappings":"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"}
|