@progressio_resources/gravity-design-system 3.0.42 → 3.0.43
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/components/gravity-calendar-next/components/days-calendar/days-calendar.component.mjs +87 -83
- package/esm2022/lib/components/gravity-calendar-next/gravity-calendar-next.component.mjs +5 -13
- package/esm2022/lib/components/gravity-calendar-next/shared/calendar.utils.mjs +24 -0
- package/esm2022/lib/components/gravity-dropdown-list/gravity-dropdown-list.component.mjs +5 -6
- package/fesm2022/progressio_resources-gravity-design-system.mjs +118 -100
- package/fesm2022/progressio_resources-gravity-design-system.mjs.map +1 -1
- package/lib/components/gravity-calendar-next/components/days-calendar/days-calendar.component.d.ts +14 -10
- package/lib/components/gravity-calendar-next/gravity-calendar-next.component.d.ts +3 -5
- package/lib/components/gravity-calendar-next/shared/calendar.utils.d.ts +7 -0
- package/lib/components/gravity-dropdown-list/gravity-dropdown-list.component.d.ts +1 -1
- package/package.json +1 -1
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { Component, EventEmitter, Input, Output } from '@angular/core';
|
|
2
2
|
import { CALENDAR_I18N, DAYS_EN, DAYS_ES, MONTHS_EN, MONTHS_ES } from "../../shared/calendar.constants";
|
|
3
|
+
import { toDate, getMonthStart, changeMonth, toCalendarDay, trackByWeek, trackByDay, } from '../../shared/calendar.utils';
|
|
3
4
|
import * as i0 from "@angular/core";
|
|
4
5
|
import * as i1 from "@angular/common";
|
|
5
6
|
import * as i2 from "../../../gravity-button/gravity-button.component";
|
|
@@ -9,112 +10,96 @@ import * as i5 from "../../../gravity-dropdown-label/gravity-dropdown-label.comp
|
|
|
9
10
|
export class DaysCalendarComponent {
|
|
10
11
|
constructor() {
|
|
11
12
|
this.range = false;
|
|
13
|
+
this.restart = false;
|
|
12
14
|
this.disabled = false;
|
|
13
15
|
this.language = 'en';
|
|
14
16
|
this.actionsSection = true;
|
|
15
17
|
this.navType = 'both';
|
|
16
|
-
this.
|
|
17
|
-
this.applyAction = new EventEmitter();
|
|
18
|
+
this.clearSelectionDate = new EventEmitter();
|
|
18
19
|
this.calendarResponse = new EventEmitter();
|
|
20
|
+
this.trackByDay = trackByDay;
|
|
21
|
+
this.trackByWeek = trackByWeek;
|
|
22
|
+
this.changeMonth = changeMonth;
|
|
19
23
|
this.currentDate = new Date();
|
|
20
24
|
this.hoveredDay = null;
|
|
21
25
|
this.selectedDay = null;
|
|
22
26
|
this.selectedRangeEnd = null;
|
|
23
27
|
this.selectedRangeStart = null;
|
|
24
28
|
}
|
|
25
|
-
get i18n() {
|
|
26
|
-
|
|
27
|
-
}
|
|
28
|
-
get daysList() {
|
|
29
|
-
return this.language === 'en' ? DAYS_EN : DAYS_ES;
|
|
30
|
-
}
|
|
31
|
-
get monthsList() {
|
|
32
|
-
return this.language === 'en' ? MONTHS_EN : MONTHS_ES;
|
|
33
|
-
}
|
|
34
|
-
trackByWeek(index, _) {
|
|
35
|
-
return index;
|
|
36
|
-
}
|
|
37
|
-
trackByDay(_, day) {
|
|
38
|
-
return `${day.year}-${day.month}-${day.day}`;
|
|
39
|
-
}
|
|
29
|
+
get i18n() { return CALENDAR_I18N[this.language]; }
|
|
30
|
+
get daysList() { return this.language === 'en' ? DAYS_EN : DAYS_ES; }
|
|
31
|
+
get monthsList() { return this.language === 'en' ? MONTHS_EN : MONTHS_ES; }
|
|
40
32
|
ngOnChanges(changes) {
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
day: this.preSelectedDate.getDate(),
|
|
46
|
-
month: this.preSelectedDate.getMonth() - 1,
|
|
47
|
-
year: this.preSelectedDate.getFullYear(),
|
|
48
|
-
};
|
|
49
|
-
this.currentDate = new Date(this.preSelectedDate.getFullYear(), this.preSelectedDate.getMonth() - 1, 1);
|
|
33
|
+
const shouldRestart = changes['restart'] && this.restart;
|
|
34
|
+
const shouldProcessPreSelected = changes['preSelectedDate'] && this.preSelectedDate;
|
|
35
|
+
if (shouldRestart || shouldProcessPreSelected) {
|
|
36
|
+
this.processPreselectedDate();
|
|
50
37
|
}
|
|
51
38
|
}
|
|
52
|
-
|
|
53
|
-
if (
|
|
54
|
-
|
|
39
|
+
processPreselectedDate() {
|
|
40
|
+
if (this.range && Array.isArray(this.preSelectedDate)) {
|
|
41
|
+
const [start, end] = this.preSelectedDate;
|
|
42
|
+
if (start instanceof Date) {
|
|
43
|
+
this.selectedRangeStart = toCalendarDay(start);
|
|
44
|
+
this.currentDate = getMonthStart(start);
|
|
45
|
+
}
|
|
46
|
+
if (end instanceof Date) {
|
|
47
|
+
this.selectedRangeEnd = toCalendarDay(end);
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
else if (this.preSelectedDate instanceof Date) {
|
|
51
|
+
this.selectedDay = toCalendarDay(this.preSelectedDate);
|
|
52
|
+
this.currentDate = getMonthStart(this.preSelectedDate);
|
|
55
53
|
}
|
|
56
54
|
}
|
|
57
55
|
isDateSelected() {
|
|
58
|
-
if (!this.range
|
|
59
|
-
return
|
|
56
|
+
if (!this.range) {
|
|
57
|
+
return !!this.selectedDay;
|
|
58
|
+
}
|
|
59
|
+
else {
|
|
60
|
+
return !!this.selectedRangeStart && !!this.selectedRangeEnd;
|
|
60
61
|
}
|
|
61
|
-
return this.selectedRangeEnd;
|
|
62
|
-
}
|
|
63
|
-
clearSelectedDate() {
|
|
64
|
-
this.clearAction.emit();
|
|
65
|
-
this.selectedDay = null;
|
|
66
|
-
this.selectedRangeEnd = null;
|
|
67
|
-
this.selectedRangeStart = null;
|
|
68
62
|
}
|
|
69
63
|
isPreview(day) {
|
|
70
64
|
if (!this.selectedRangeStart || this.selectedRangeEnd || !this.hoveredDay) {
|
|
71
65
|
return false;
|
|
72
66
|
}
|
|
73
|
-
const current =
|
|
74
|
-
const hover =
|
|
75
|
-
const start =
|
|
76
|
-
if (hover <= start)
|
|
67
|
+
const current = toDate(day);
|
|
68
|
+
const hover = toDate(this.hoveredDay);
|
|
69
|
+
const start = toDate(this.selectedRangeStart);
|
|
70
|
+
if (hover <= start) {
|
|
77
71
|
return false;
|
|
78
|
-
return current > start && current <= hover;
|
|
79
|
-
}
|
|
80
|
-
onHoverDay(day) {
|
|
81
|
-
if (this.selectedRangeEnd) {
|
|
82
|
-
return;
|
|
83
72
|
}
|
|
84
|
-
|
|
85
|
-
}
|
|
86
|
-
clearHover() {
|
|
87
|
-
this.hoveredDay = null;
|
|
73
|
+
return current > start && current <= hover;
|
|
88
74
|
}
|
|
89
75
|
getDaySelectionClass(day) {
|
|
90
76
|
if (!day.inCurrentMonth)
|
|
91
77
|
return 'disabled';
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
}
|
|
99
|
-
return '';
|
|
78
|
+
return this.range ? this.getRangeSelectionClass(day) : this.getSingleDaySelectionClass(day);
|
|
79
|
+
}
|
|
80
|
+
getSingleDaySelectionClass(day) {
|
|
81
|
+
if (this.selectedDay && day.day === this.selectedDay.day &&
|
|
82
|
+
day.month === this.selectedDay.month && day.year === this.selectedDay.year) {
|
|
83
|
+
return 'sl single';
|
|
100
84
|
}
|
|
85
|
+
return '';
|
|
86
|
+
}
|
|
87
|
+
getRangeSelectionClass(day) {
|
|
101
88
|
if (!this.selectedRangeStart)
|
|
102
89
|
return 'nsl-start';
|
|
103
|
-
const current =
|
|
104
|
-
const start =
|
|
90
|
+
const current = toDate(day);
|
|
91
|
+
const start = toDate(this.selectedRangeStart);
|
|
105
92
|
if (!this.selectedRangeEnd) {
|
|
106
|
-
if (current.getTime() === start.getTime())
|
|
93
|
+
if (current.getTime() === start.getTime())
|
|
107
94
|
return 'sl start';
|
|
108
|
-
}
|
|
109
95
|
if (this.hoveredDay) {
|
|
110
|
-
const hover =
|
|
111
|
-
if (current.getTime() === hover.getTime() && hover < start)
|
|
96
|
+
const hover = toDate(this.hoveredDay);
|
|
97
|
+
if (current.getTime() === hover.getTime() && hover < start)
|
|
112
98
|
return 'nsl-start';
|
|
113
|
-
}
|
|
114
99
|
}
|
|
115
100
|
return 'nsl-end';
|
|
116
101
|
}
|
|
117
|
-
const end =
|
|
102
|
+
const end = toDate(this.selectedRangeEnd);
|
|
118
103
|
if (current.getTime() === start.getTime())
|
|
119
104
|
return 'sl start';
|
|
120
105
|
if (current.getTime() === end.getTime())
|
|
@@ -123,12 +108,36 @@ export class DaysCalendarComponent {
|
|
|
123
108
|
return 'sl range';
|
|
124
109
|
return 'nsl-start';
|
|
125
110
|
}
|
|
111
|
+
applySelectedDate() {
|
|
112
|
+
if (!this.range && this.selectedDay) {
|
|
113
|
+
const date = toDate(this.selectedDay);
|
|
114
|
+
this.calendarResponse.emit(date);
|
|
115
|
+
}
|
|
116
|
+
else if (this.range && this.selectedRangeStart && this.selectedRangeEnd) {
|
|
117
|
+
const start = toDate(this.selectedRangeStart);
|
|
118
|
+
const end = toDate(this.selectedRangeEnd);
|
|
119
|
+
this.calendarResponse.emit([start, end]);
|
|
120
|
+
}
|
|
121
|
+
}
|
|
122
|
+
clearSelectedDate() {
|
|
123
|
+
this.selectedDay = null;
|
|
124
|
+
this.selectedRangeEnd = null;
|
|
125
|
+
this.selectedRangeStart = null;
|
|
126
|
+
this.clearSelectionDate.emit();
|
|
127
|
+
}
|
|
128
|
+
onHoverDay(day) {
|
|
129
|
+
if (this.selectedRangeEnd) {
|
|
130
|
+
return;
|
|
131
|
+
}
|
|
132
|
+
this.hoveredDay = day;
|
|
133
|
+
}
|
|
134
|
+
clearHover() { this.hoveredDay = null; }
|
|
126
135
|
onSelectDay(day) {
|
|
127
136
|
if (!day.inCurrentMonth)
|
|
128
137
|
return;
|
|
129
138
|
if (!this.range) {
|
|
130
139
|
this.selectedDay = day;
|
|
131
|
-
const currentDate =
|
|
140
|
+
const currentDate = toDate(day);
|
|
132
141
|
this.calendarResponse.emit(currentDate);
|
|
133
142
|
return;
|
|
134
143
|
}
|
|
@@ -137,16 +146,11 @@ export class DaysCalendarComponent {
|
|
|
137
146
|
this.selectedRangeEnd = null;
|
|
138
147
|
}
|
|
139
148
|
else {
|
|
140
|
-
const
|
|
141
|
-
const
|
|
149
|
+
const selectedDate = toDate(day);
|
|
150
|
+
const startDate = toDate(this.selectedRangeStart);
|
|
142
151
|
selectedDate >= startDate ? this.selectedRangeEnd = day : this.selectedRangeStart = day;
|
|
143
152
|
}
|
|
144
153
|
}
|
|
145
|
-
changeMonth(offset) {
|
|
146
|
-
const month = this.currentDate.getMonth();
|
|
147
|
-
const year = this.currentDate.getFullYear();
|
|
148
|
-
this.currentDate = new Date(year, month + offset, 1);
|
|
149
|
-
}
|
|
150
154
|
getMonthGrid() {
|
|
151
155
|
let week = [];
|
|
152
156
|
const today = new Date();
|
|
@@ -184,29 +188,29 @@ export class DaysCalendarComponent {
|
|
|
184
188
|
return grid;
|
|
185
189
|
}
|
|
186
190
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DaysCalendarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
187
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: DaysCalendarComponent, selector: "days-calendar", inputs: { preSelectedDate: "preSelectedDate", range: "range", disabled: "disabled", language: "language", actionsSection: "actionsSection", navType: "navType" }, outputs: { clearAction: "clearAction", applyAction: "applyAction", calendarResponse: "response" }, usesOnChanges: true, ngImport: i0, template: "<section class=\"gravity-calendar-header\">\n <div class=\"previous-button\">\n <gravity-icon *ngIf=\"!(navType === 'next')\" [style.--icon-color]=\"'var(--text-highlight-primary)'\" [iconName]=\"'arrow-left'\"\n [iconSize]=\"'sm-12'\" (click)=\"changeMonth(-1)\" ></gravity-icon> </div>\n\n <gravity-dropdown-label [fontClass]=\"'hr-title sm-bold'\" [size]=\"'sm'\"\n\n [label]=\"monthsList[currentDate.getMonth()]\"></gravity-dropdown-label>\n <gravity-dropdown-label [fontClass]=\"'hr-title sm-bold'\"\n\n [size]=\"'sm'\" [label]=\"currentDate.getFullYear().toString()\"></gravity-dropdown-label>\n <div class=\"next-button\">\n <gravity-icon *ngIf=\"!(navType === 'prev')\" [style.--icon-color]=\"'var(--text-highlight-primary)'\" [iconName]=\"'arrow-right'\"\n [iconSize]=\"'sm-12'\" (click)=\"changeMonth(1)\"></gravity-icon> </div>\n</section>\n\n<section class=\"gravity-calendar-body\">\n <section class=\"days-name-line\">\n <div class=\"days-name\">\n <span class=\"hr-body sm-regular\" *ngFor=\"let day of daysList\">{{day}}</span>\n </div>\n <div class=\"separator-line\"></div>\n </section>\n\n <section class=\"days-number-selector\">\n <div class=\"days-number-table\">\n <div class=\"week-row\" *ngFor=\"let week of getMonthGrid(); trackBy: trackByWeek\">\n <span class=\"hr-body sm-regular\" *ngFor=\"let d of week; trackBy: trackByDay\"\n [ngClass]=\"disabled ? 'disabled' : getDaySelectionClass(d)\"\n [class.disabled]=\"!d.inCurrentMonth\" [class.today]=\"d.isToday\" [class.preview]=\"range ? isPreview(d) : null\"\n (click)=\"onSelectDay(d)\" (mouseenter)=\"range ? onHoverDay(d) : null\" (mouseleave)=\"range ? clearHover() : null\">\n {{ d.day }}\n </span>\n </div>\n </div>\n\n <div class=\"action-section\">\n <gravity-link *ngIf=\"actionsSection\" [linkText]=\"i18n.clear\" [state]=\"!isDateSelected() ? 'disabled' : 'active'\" (click)=\"clearSelectedDate()\"></gravity-link>\n <gravity-button *ngIf=\"actionsSection\" [size]=\"'sm'\" [type]=\"'tertiary'\" [disabled]=\"!isDateSelected()\" (click)=\"applySelectedDate()\">{{i18n.apply}}</gravity-button>\n </div>\n </section>\n</section>\n", styles: [":root{--gravity-spacing-none: 0;--gravity-spacing-xxs: .25rem;--gravity-spacing-xs: .5rem;--gravity-spacing-sm: 1rem;--gravity-spacing-md: 1.5rem;--gravity-spacing-lg: 2rem;--gravity-spacing-xl: 2.5rem;--gravity-spacing-xxl: 3rem;--gravity-spacing-xxxl: 4rem;--gravity-spacing-xxxxl: 6rem;--gravity-spacing-xxxxxl: 12rem}.gravity-padding-none{padding:0!important}.gravity-padding-top-none{padding-top:0!important}.gravity-padding-bottom-none{padding-bottom:0!important}.gravity-padding-left-none{padding-left:0!important}.gravity-padding-right-none{padding-right:0!important}.gravity-padding-block-none{padding-block:0!important}.gravity-padding-inline-none{padding-inline:0!important}.gravity-padding-xxs{padding:.25rem!important}.gravity-padding-top-xxs{padding-top:.25rem!important}.gravity-padding-bottom-xxs{padding-bottom:.25rem!important}.gravity-padding-left-xxs{padding-left:.25rem!important}.gravity-padding-right-xxs{padding-right:.25rem!important}.gravity-padding-block-xxs{padding-block:.25rem!important}.gravity-padding-inline-xxs{padding-inline:.25rem!important}.gravity-padding-xs{padding:.5rem!important}.gravity-padding-top-xs{padding-top:.5rem!important}.gravity-padding-bottom-xs{padding-bottom:.5rem!important}.gravity-padding-left-xs{padding-left:.5rem!important}.gravity-padding-right-xs{padding-right:.5rem!important}.gravity-padding-block-xs{padding-block:.5rem!important}.gravity-padding-inline-xs{padding-inline:.5rem!important}.gravity-padding-sm{padding:1rem!important}.gravity-padding-top-sm{padding-top:1rem!important}.gravity-padding-bottom-sm{padding-bottom:1rem!important}.gravity-padding-left-sm{padding-left:1rem!important}.gravity-padding-right-sm{padding-right:1rem!important}.gravity-padding-block-sm{padding-block:1rem!important}.gravity-padding-inline-sm{padding-inline:1rem!important}.gravity-padding-md{padding:1.5rem!important}.gravity-padding-top-md{padding-top:1.5rem!important}.gravity-padding-bottom-md{padding-bottom:1.5rem!important}.gravity-padding-left-md{padding-left:1.5rem!important}.gravity-padding-right-md{padding-right:1.5rem!important}.gravity-padding-block-md{padding-block:1.5rem!important}.gravity-padding-inline-md{padding-inline:1.5rem!important}.gravity-padding-lg{padding:2rem!important}.gravity-padding-top-lg{padding-top:2rem!important}.gravity-padding-bottom-lg{padding-bottom:2rem!important}.gravity-padding-left-lg{padding-left:2rem!important}.gravity-padding-right-lg{padding-right:2rem!important}.gravity-padding-block-lg{padding-block:2rem!important}.gravity-padding-inline-lg{padding-inline:2rem!important}.gravity-padding-xl{padding:2.5rem!important}.gravity-padding-top-xl{padding-top:2.5rem!important}.gravity-padding-bottom-xl{padding-bottom:2.5rem!important}.gravity-padding-left-xl{padding-left:2.5rem!important}.gravity-padding-right-xl{padding-right:2.5rem!important}.gravity-padding-block-xl{padding-block:2.5rem!important}.gravity-padding-inline-xl{padding-inline:2.5rem!important}.gravity-padding-xxl{padding:3rem!important}.gravity-padding-top-xxl{padding-top:3rem!important}.gravity-padding-bottom-xxl{padding-bottom:3rem!important}.gravity-padding-left-xxl{padding-left:3rem!important}.gravity-padding-right-xxl{padding-right:3rem!important}.gravity-padding-block-xxl{padding-block:3rem!important}.gravity-padding-inline-xxl{padding-inline:3rem!important}.gravity-padding-xxxl{padding:4rem!important}.gravity-padding-top-xxxl{padding-top:4rem!important}.gravity-padding-bottom-xxxl{padding-bottom:4rem!important}.gravity-padding-left-xxxl{padding-left:4rem!important}.gravity-padding-right-xxxl{padding-right:4rem!important}.gravity-padding-block-xxxl{padding-block:4rem!important}.gravity-padding-inline-xxxl{padding-inline:4rem!important}.gravity-padding-xxxxl{padding:6rem!important}.gravity-padding-top-xxxxl{padding-top:6rem!important}.gravity-padding-bottom-xxxxl{padding-bottom:6rem!important}.gravity-padding-left-xxxxl{padding-left:6rem!important}.gravity-padding-right-xxxxl{padding-right:6rem!important}.gravity-padding-block-xxxxl{padding-block:6rem!important}.gravity-padding-inline-xxxxl{padding-inline:6rem!important}.gravity-padding-xxxxxl{padding:12rem!important}.gravity-padding-top-xxxxxl{padding-top:12rem!important}.gravity-padding-bottom-xxxxxl{padding-bottom:12rem!important}.gravity-padding-left-xxxxxl{padding-left:12rem!important}.gravity-padding-right-xxxxxl{padding-right:12rem!important}.gravity-padding-block-xxxxxl{padding-block:12rem!important}.gravity-padding-inline-xxxxxl{padding-inline:12rem!important}.gravity-margin-none{margin:0!important}.gravity-margin-top-none{margin-top:0!important}.gravity-margin-bottom-none{margin-bottom:0!important}.gravity-margin-left-none{margin-left:0!important}.gravity-margin-right-none{margin-right:0!important}.gravity-margin-block-none{margin-block:0!important}.gravity-margin-inline-none{margin-inline:0!important}.gravity-margin-xxs{margin:.25rem!important}.gravity-margin-top-xxs{margin-top:.25rem!important}.gravity-margin-bottom-xxs{margin-bottom:.25rem!important}.gravity-margin-left-xxs{margin-left:.25rem!important}.gravity-margin-right-xxs{margin-right:.25rem!important}.gravity-margin-block-xxs{margin-block:.25rem!important}.gravity-margin-inline-xxs{margin-inline:.25rem!important}.gravity-margin-xs{margin:.5rem!important}.gravity-margin-top-xs{margin-top:.5rem!important}.gravity-margin-bottom-xs{margin-bottom:.5rem!important}.gravity-margin-left-xs{margin-left:.5rem!important}.gravity-margin-right-xs{margin-right:.5rem!important}.gravity-margin-block-xs{margin-block:.5rem!important}.gravity-margin-inline-xs{margin-inline:.5rem!important}.gravity-margin-sm{margin:1rem!important}.gravity-margin-top-sm{margin-top:1rem!important}.gravity-margin-bottom-sm{margin-bottom:1rem!important}.gravity-margin-left-sm{margin-left:1rem!important}.gravity-margin-right-sm{margin-right:1rem!important}.gravity-margin-block-sm{margin-block:1rem!important}.gravity-margin-inline-sm{margin-inline:1rem!important}.gravity-margin-md{margin:1.5rem!important}.gravity-margin-top-md{margin-top:1.5rem!important}.gravity-margin-bottom-md{margin-bottom:1.5rem!important}.gravity-margin-left-md{margin-left:1.5rem!important}.gravity-margin-right-md{margin-right:1.5rem!important}.gravity-margin-block-md{margin-block:1.5rem!important}.gravity-margin-inline-md{margin-inline:1.5rem!important}.gravity-margin-lg{margin:2rem!important}.gravity-margin-top-lg{margin-top:2rem!important}.gravity-margin-bottom-lg{margin-bottom:2rem!important}.gravity-margin-left-lg{margin-left:2rem!important}.gravity-margin-right-lg{margin-right:2rem!important}.gravity-margin-block-lg{margin-block:2rem!important}.gravity-margin-inline-lg{margin-inline:2rem!important}.gravity-margin-xl{margin:2.5rem!important}.gravity-margin-top-xl{margin-top:2.5rem!important}.gravity-margin-bottom-xl{margin-bottom:2.5rem!important}.gravity-margin-left-xl{margin-left:2.5rem!important}.gravity-margin-right-xl{margin-right:2.5rem!important}.gravity-margin-block-xl{margin-block:2.5rem!important}.gravity-margin-inline-xl{margin-inline:2.5rem!important}.gravity-margin-xxl{margin:3rem!important}.gravity-margin-top-xxl{margin-top:3rem!important}.gravity-margin-bottom-xxl{margin-bottom:3rem!important}.gravity-margin-left-xxl{margin-left:3rem!important}.gravity-margin-right-xxl{margin-right:3rem!important}.gravity-margin-block-xxl{margin-block:3rem!important}.gravity-margin-inline-xxl{margin-inline:3rem!important}.gravity-margin-xxxl{margin:4rem!important}.gravity-margin-top-xxxl{margin-top:4rem!important}.gravity-margin-bottom-xxxl{margin-bottom:4rem!important}.gravity-margin-left-xxxl{margin-left:4rem!important}.gravity-margin-right-xxxl{margin-right:4rem!important}.gravity-margin-block-xxxl{margin-block:4rem!important}.gravity-margin-inline-xxxl{margin-inline:4rem!important}.gravity-margin-xxxxl{margin:6rem!important}.gravity-margin-top-xxxxl{margin-top:6rem!important}.gravity-margin-bottom-xxxxl{margin-bottom:6rem!important}.gravity-margin-left-xxxxl{margin-left:6rem!important}.gravity-margin-right-xxxxl{margin-right:6rem!important}.gravity-margin-block-xxxxl{margin-block:6rem!important}.gravity-margin-inline-xxxxl{margin-inline:6rem!important}.gravity-margin-xxxxxl{margin:12rem!important}.gravity-margin-top-xxxxxl{margin-top:12rem!important}.gravity-margin-bottom-xxxxxl{margin-bottom:12rem!important}.gravity-margin-left-xxxxxl{margin-left:12rem!important}.gravity-margin-right-xxxxxl{margin-right:12rem!important}.gravity-margin-block-xxxxxl{margin-block:12rem!important}.gravity-margin-inline-xxxxxl{margin-inline:12rem!important}.border-radius-none{border-radius:0}.border-radius-xs{border-radius:.0625rem}.border-radius-sm{border-radius:.3125rem}.border-radius-md{border-radius:.625rem}.border-radius-lg{border-radius:.9375rem}.border-radius-xl{border-radius:1.25rem}.border-radius-xxl{border-radius:2rem}.border-radius-rounded{border-radius:6.25rem}.gravity-calendar-header{width:248px;display:flex;align-items:center;align-self:stretch;justify-content:center;gap:var(--gravity-spacing-sm)}.gravity-calendar-header .next-button,.gravity-calendar-header .previous-button{cursor:pointer;margin:var(--gravity-spacing-xs)}.gravity-calendar-body{width:248px;display:flex;align-items:center;align-self:stretch;flex-direction:column;justify-content:center}.gravity-calendar-body .days-name-line{display:flex;align-items:center;align-self:stretch;flex-direction:column;justify-content:center;gap:var(--gravity-spacing-xs);padding-bottom:var(--gravity-spacing-xs)}.gravity-calendar-body .days-name-line .days-name{display:flex;align-items:center;align-self:stretch;justify-content:space-between}.gravity-calendar-body .days-name-line .days-name span{display:flex;cursor:default;align-items:center;justify-content:center;padding:var(--gravity-spacing-xs);color:var(--text-highlight-primary)}.gravity-calendar-body .days-name-line .separator-line{width:248px;border-bottom:2px solid var(--divider-menu-active-primary)}.gravity-calendar-body .days-number-selector{display:flex;align-items:center;align-self:stretch;flex-direction:column;justify-content:center;gap:var(--gravity-spacing-sm)}.gravity-calendar-body .days-number-selector .days-number-table{display:flex;min-height:150px;align-items:center;align-self:stretch;flex-direction:column;justify-content:flex-start}.gravity-calendar-body .days-number-selector .days-number-table .week-row{height:25px;display:flex;align-items:center;align-self:stretch}.gravity-calendar-body .days-number-selector .days-number-table .week-row span{gap:10px;flex:1 0 0;display:flex;cursor:pointer;align-items:center;align-self:stretch;flex-direction:column;justify-content:center;padding:var(--gravity-spacing-xs);border-radius:var(--gravity-spacing-xs);border:2px solid var(--bg-calender-primary)}.gravity-calendar-body .days-number-selector .days-number-table .week-row span:not(.sl).today{border-color:var(--bg-number-calendar-hover-primary)}.gravity-calendar-body .days-number-selector .days-number-table .week-row span:not(.disabled):not(.sl):hover{color:var(--on-bg-button-pressed-tertiary);background:var(--bg-button-active-tertiary);border-color:var(--bg-button-active-tertiary)}.gravity-calendar-body .days-number-selector .days-number-table .week-row span.single,.gravity-calendar-body .days-number-selector .days-number-table .week-row span.start,.gravity-calendar-body .days-number-selector .days-number-table .week-row span.end{color:var(--on-bg-button-pressed-primary);background:var(--bg-button-pressed-primary);border-color:var(--bg-button-pressed-primary)}.gravity-calendar-body .days-number-selector .days-number-table .week-row span.range,.gravity-calendar-body .days-number-selector .days-number-table .week-row span:not(.disabled).preview{border-radius:0;background:var(--bg-button-active-tertiary);border-color:var(--bg-button-active-tertiary)}.gravity-calendar-body .days-number-selector .days-number-table .week-row span.start,.gravity-calendar-body .days-number-selector .days-number-table .week-row span.nsl-start:hover{border-radius:var(--gravity-spacing-xs) 0 0 var(--gravity-spacing-xs)}.gravity-calendar-body .days-number-selector .days-number-table .week-row span.end,.gravity-calendar-body .days-number-selector .days-number-table .week-row span.nsl-end:hover{border-radius:0 var(--gravity-spacing-xs) var(--gravity-spacing-xs) 0}.gravity-calendar-body .days-number-selector .days-number-table .week-row span.nsl-end:hover{border-color:var(--bg-button-pressed-primary)!important}.gravity-calendar-body .days-number-selector .days-number-table .week-row span.disabled{cursor:default;pointer-events:none;color:var(--on-bg-disabled)}.gravity-calendar-body .days-number-selector .action-section{height:25px;display:flex;align-items:center;align-self:stretch;justify-content:space-between}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.GravityButtonComponent, selector: "gravity-button", inputs: ["cypressTag", "disabled", "customState", "iconPosition", "iconName", "isLoading", "showContent", "size", "type"] }, { kind: "component", type: i3.GravityIconComponent, selector: "gravity-icon", inputs: ["customIconColorVariable", "iconName", "iconSize", "hoverIcon", "size", "isCoin"] }, { kind: "component", type: i4.GravityLinkComponent, selector: "gravity-link", inputs: ["linkText", "fontClass", "link", "cypressTag", "iconName", "target", "iconPosition", "iconSize", "state"] }, { kind: "component", type: i5.GravityDropdownLabelComponent, selector: "gravity-dropdown-label", inputs: ["label", "fontClass", "isOpen", "stopPropagation", "size"], outputs: ["onClickLabel"] }] }); }
|
|
191
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: DaysCalendarComponent, selector: "days-calendar", inputs: { range: "range", restart: "restart", disabled: "disabled", language: "language", preSelectedDate: "preSelectedDate", actionsSection: "actionsSection", navType: "navType" }, outputs: { clearSelectionDate: "clearSelectionDate", calendarResponse: "response" }, usesOnChanges: true, ngImport: i0, template: "<section class=\"gravity-calendar-header\">\n <div class=\"previous-button\">\n <gravity-icon *ngIf=\"!(navType === 'next')\" [style.--icon-color]=\"'var(--text-highlight-primary)'\" [iconName]=\"'arrow-left'\"\n [iconSize]=\"'sm-12'\" (click)=\"currentDate = changeMonth(-1, currentDate)\" ></gravity-icon>\n </div>\n\n <div class=\"month-year-label\">\n <gravity-dropdown-label [fontClass]=\"'hr-title sm-bold'\" [size]=\"'sm'\" [label]=\"monthsList[currentDate.getMonth()]\"></gravity-dropdown-label>\n <gravity-dropdown-label [fontClass]=\"'hr-title sm-bold'\" [size]=\"'sm'\" [label]=\"currentDate.getFullYear().toString()\"></gravity-dropdown-label>\n </div>\n\n <div class=\"next-button\">\n <gravity-icon *ngIf=\"!(navType === 'prev')\" [style.--icon-color]=\"'var(--text-highlight-primary)'\" [iconName]=\"'arrow-right'\"\n [iconSize]=\"'sm-12'\" (click)=\"currentDate = changeMonth(1, currentDate)\"></gravity-icon>\n </div>\n</section>\n\n<section class=\"gravity-calendar-body\">\n <section class=\"days-name-line\">\n <div class=\"days-name\">\n <span class=\"hr-body sm-regular\" *ngFor=\"let day of daysList\">{{day}}</span>\n </div>\n <div class=\"separator-line\"></div>\n </section>\n\n <section class=\"days-number-selector\">\n <div class=\"days-number-table\">\n <div class=\"week-row\" *ngFor=\"let week of getMonthGrid(); trackBy: trackByWeek\">\n <span class=\"hr-body sm-regular\" *ngFor=\"let d of week; trackBy: trackByDay\"\n [ngClass]=\"disabled ? 'disabled' : getDaySelectionClass(d)\"\n [class.disabled]=\"!d.inCurrentMonth\" [class.today]=\"d.isToday\" [class.preview]=\"range ? isPreview(d) : null\"\n (click)=\"onSelectDay(d)\" (mouseenter)=\"range ? onHoverDay(d) : null\" (mouseleave)=\"range ? clearHover() : null\">\n {{ d.day }}\n </span>\n </div>\n </div>\n\n <div class=\"action-section\">\n <gravity-link *ngIf=\"actionsSection\" [linkText]=\"i18n.clear\" [state]=\"!isDateSelected() ? 'disabled' : 'active'\" (click)=\"clearSelectedDate()\"></gravity-link>\n <gravity-button *ngIf=\"actionsSection\" [size]=\"'sm'\" [type]=\"'tertiary'\" [disabled]=\"!isDateSelected()\" (click)=\"applySelectedDate()\">{{i18n.apply}}</gravity-button>\n </div>\n </section>\n</section>\n", styles: [":root{--gravity-spacing-none: 0;--gravity-spacing-xxs: .25rem;--gravity-spacing-xs: .5rem;--gravity-spacing-sm: 1rem;--gravity-spacing-md: 1.5rem;--gravity-spacing-lg: 2rem;--gravity-spacing-xl: 2.5rem;--gravity-spacing-xxl: 3rem;--gravity-spacing-xxxl: 4rem;--gravity-spacing-xxxxl: 6rem;--gravity-spacing-xxxxxl: 12rem}.gravity-padding-none{padding:0!important}.gravity-padding-top-none{padding-top:0!important}.gravity-padding-bottom-none{padding-bottom:0!important}.gravity-padding-left-none{padding-left:0!important}.gravity-padding-right-none{padding-right:0!important}.gravity-padding-block-none{padding-block:0!important}.gravity-padding-inline-none{padding-inline:0!important}.gravity-padding-xxs{padding:.25rem!important}.gravity-padding-top-xxs{padding-top:.25rem!important}.gravity-padding-bottom-xxs{padding-bottom:.25rem!important}.gravity-padding-left-xxs{padding-left:.25rem!important}.gravity-padding-right-xxs{padding-right:.25rem!important}.gravity-padding-block-xxs{padding-block:.25rem!important}.gravity-padding-inline-xxs{padding-inline:.25rem!important}.gravity-padding-xs{padding:.5rem!important}.gravity-padding-top-xs{padding-top:.5rem!important}.gravity-padding-bottom-xs{padding-bottom:.5rem!important}.gravity-padding-left-xs{padding-left:.5rem!important}.gravity-padding-right-xs{padding-right:.5rem!important}.gravity-padding-block-xs{padding-block:.5rem!important}.gravity-padding-inline-xs{padding-inline:.5rem!important}.gravity-padding-sm{padding:1rem!important}.gravity-padding-top-sm{padding-top:1rem!important}.gravity-padding-bottom-sm{padding-bottom:1rem!important}.gravity-padding-left-sm{padding-left:1rem!important}.gravity-padding-right-sm{padding-right:1rem!important}.gravity-padding-block-sm{padding-block:1rem!important}.gravity-padding-inline-sm{padding-inline:1rem!important}.gravity-padding-md{padding:1.5rem!important}.gravity-padding-top-md{padding-top:1.5rem!important}.gravity-padding-bottom-md{padding-bottom:1.5rem!important}.gravity-padding-left-md{padding-left:1.5rem!important}.gravity-padding-right-md{padding-right:1.5rem!important}.gravity-padding-block-md{padding-block:1.5rem!important}.gravity-padding-inline-md{padding-inline:1.5rem!important}.gravity-padding-lg{padding:2rem!important}.gravity-padding-top-lg{padding-top:2rem!important}.gravity-padding-bottom-lg{padding-bottom:2rem!important}.gravity-padding-left-lg{padding-left:2rem!important}.gravity-padding-right-lg{padding-right:2rem!important}.gravity-padding-block-lg{padding-block:2rem!important}.gravity-padding-inline-lg{padding-inline:2rem!important}.gravity-padding-xl{padding:2.5rem!important}.gravity-padding-top-xl{padding-top:2.5rem!important}.gravity-padding-bottom-xl{padding-bottom:2.5rem!important}.gravity-padding-left-xl{padding-left:2.5rem!important}.gravity-padding-right-xl{padding-right:2.5rem!important}.gravity-padding-block-xl{padding-block:2.5rem!important}.gravity-padding-inline-xl{padding-inline:2.5rem!important}.gravity-padding-xxl{padding:3rem!important}.gravity-padding-top-xxl{padding-top:3rem!important}.gravity-padding-bottom-xxl{padding-bottom:3rem!important}.gravity-padding-left-xxl{padding-left:3rem!important}.gravity-padding-right-xxl{padding-right:3rem!important}.gravity-padding-block-xxl{padding-block:3rem!important}.gravity-padding-inline-xxl{padding-inline:3rem!important}.gravity-padding-xxxl{padding:4rem!important}.gravity-padding-top-xxxl{padding-top:4rem!important}.gravity-padding-bottom-xxxl{padding-bottom:4rem!important}.gravity-padding-left-xxxl{padding-left:4rem!important}.gravity-padding-right-xxxl{padding-right:4rem!important}.gravity-padding-block-xxxl{padding-block:4rem!important}.gravity-padding-inline-xxxl{padding-inline:4rem!important}.gravity-padding-xxxxl{padding:6rem!important}.gravity-padding-top-xxxxl{padding-top:6rem!important}.gravity-padding-bottom-xxxxl{padding-bottom:6rem!important}.gravity-padding-left-xxxxl{padding-left:6rem!important}.gravity-padding-right-xxxxl{padding-right:6rem!important}.gravity-padding-block-xxxxl{padding-block:6rem!important}.gravity-padding-inline-xxxxl{padding-inline:6rem!important}.gravity-padding-xxxxxl{padding:12rem!important}.gravity-padding-top-xxxxxl{padding-top:12rem!important}.gravity-padding-bottom-xxxxxl{padding-bottom:12rem!important}.gravity-padding-left-xxxxxl{padding-left:12rem!important}.gravity-padding-right-xxxxxl{padding-right:12rem!important}.gravity-padding-block-xxxxxl{padding-block:12rem!important}.gravity-padding-inline-xxxxxl{padding-inline:12rem!important}.gravity-margin-none{margin:0!important}.gravity-margin-top-none{margin-top:0!important}.gravity-margin-bottom-none{margin-bottom:0!important}.gravity-margin-left-none{margin-left:0!important}.gravity-margin-right-none{margin-right:0!important}.gravity-margin-block-none{margin-block:0!important}.gravity-margin-inline-none{margin-inline:0!important}.gravity-margin-xxs{margin:.25rem!important}.gravity-margin-top-xxs{margin-top:.25rem!important}.gravity-margin-bottom-xxs{margin-bottom:.25rem!important}.gravity-margin-left-xxs{margin-left:.25rem!important}.gravity-margin-right-xxs{margin-right:.25rem!important}.gravity-margin-block-xxs{margin-block:.25rem!important}.gravity-margin-inline-xxs{margin-inline:.25rem!important}.gravity-margin-xs{margin:.5rem!important}.gravity-margin-top-xs{margin-top:.5rem!important}.gravity-margin-bottom-xs{margin-bottom:.5rem!important}.gravity-margin-left-xs{margin-left:.5rem!important}.gravity-margin-right-xs{margin-right:.5rem!important}.gravity-margin-block-xs{margin-block:.5rem!important}.gravity-margin-inline-xs{margin-inline:.5rem!important}.gravity-margin-sm{margin:1rem!important}.gravity-margin-top-sm{margin-top:1rem!important}.gravity-margin-bottom-sm{margin-bottom:1rem!important}.gravity-margin-left-sm{margin-left:1rem!important}.gravity-margin-right-sm{margin-right:1rem!important}.gravity-margin-block-sm{margin-block:1rem!important}.gravity-margin-inline-sm{margin-inline:1rem!important}.gravity-margin-md{margin:1.5rem!important}.gravity-margin-top-md{margin-top:1.5rem!important}.gravity-margin-bottom-md{margin-bottom:1.5rem!important}.gravity-margin-left-md{margin-left:1.5rem!important}.gravity-margin-right-md{margin-right:1.5rem!important}.gravity-margin-block-md{margin-block:1.5rem!important}.gravity-margin-inline-md{margin-inline:1.5rem!important}.gravity-margin-lg{margin:2rem!important}.gravity-margin-top-lg{margin-top:2rem!important}.gravity-margin-bottom-lg{margin-bottom:2rem!important}.gravity-margin-left-lg{margin-left:2rem!important}.gravity-margin-right-lg{margin-right:2rem!important}.gravity-margin-block-lg{margin-block:2rem!important}.gravity-margin-inline-lg{margin-inline:2rem!important}.gravity-margin-xl{margin:2.5rem!important}.gravity-margin-top-xl{margin-top:2.5rem!important}.gravity-margin-bottom-xl{margin-bottom:2.5rem!important}.gravity-margin-left-xl{margin-left:2.5rem!important}.gravity-margin-right-xl{margin-right:2.5rem!important}.gravity-margin-block-xl{margin-block:2.5rem!important}.gravity-margin-inline-xl{margin-inline:2.5rem!important}.gravity-margin-xxl{margin:3rem!important}.gravity-margin-top-xxl{margin-top:3rem!important}.gravity-margin-bottom-xxl{margin-bottom:3rem!important}.gravity-margin-left-xxl{margin-left:3rem!important}.gravity-margin-right-xxl{margin-right:3rem!important}.gravity-margin-block-xxl{margin-block:3rem!important}.gravity-margin-inline-xxl{margin-inline:3rem!important}.gravity-margin-xxxl{margin:4rem!important}.gravity-margin-top-xxxl{margin-top:4rem!important}.gravity-margin-bottom-xxxl{margin-bottom:4rem!important}.gravity-margin-left-xxxl{margin-left:4rem!important}.gravity-margin-right-xxxl{margin-right:4rem!important}.gravity-margin-block-xxxl{margin-block:4rem!important}.gravity-margin-inline-xxxl{margin-inline:4rem!important}.gravity-margin-xxxxl{margin:6rem!important}.gravity-margin-top-xxxxl{margin-top:6rem!important}.gravity-margin-bottom-xxxxl{margin-bottom:6rem!important}.gravity-margin-left-xxxxl{margin-left:6rem!important}.gravity-margin-right-xxxxl{margin-right:6rem!important}.gravity-margin-block-xxxxl{margin-block:6rem!important}.gravity-margin-inline-xxxxl{margin-inline:6rem!important}.gravity-margin-xxxxxl{margin:12rem!important}.gravity-margin-top-xxxxxl{margin-top:12rem!important}.gravity-margin-bottom-xxxxxl{margin-bottom:12rem!important}.gravity-margin-left-xxxxxl{margin-left:12rem!important}.gravity-margin-right-xxxxxl{margin-right:12rem!important}.gravity-margin-block-xxxxxl{margin-block:12rem!important}.gravity-margin-inline-xxxxxl{margin-inline:12rem!important}.border-radius-none{border-radius:0}.border-radius-xs{border-radius:.0625rem}.border-radius-sm{border-radius:.3125rem}.border-radius-md{border-radius:.625rem}.border-radius-lg{border-radius:.9375rem}.border-radius-xl{border-radius:1.25rem}.border-radius-xxl{border-radius:2rem}.border-radius-rounded{border-radius:6.25rem}.gravity-calendar-header{display:flex;align-items:center;justify-content:space-between}.gravity-calendar-header .month-year-label{display:flex;gap:var(--gravity-spacing-sm)}.gravity-calendar-header .next-button,.gravity-calendar-header .previous-button{cursor:pointer;margin:var(--gravity-spacing-xs)}.gravity-calendar-body{width:248px;display:flex;align-items:center;align-self:stretch;flex-direction:column;justify-content:center}.gravity-calendar-body .days-name-line{display:flex;align-items:center;align-self:stretch;flex-direction:column;justify-content:center;gap:var(--gravity-spacing-xs);padding-bottom:var(--gravity-spacing-xs)}.gravity-calendar-body .days-name-line .days-name{display:flex;align-items:center;align-self:stretch;justify-content:space-between}.gravity-calendar-body .days-name-line .days-name span{display:flex;cursor:default;align-items:center;justify-content:center;padding:var(--gravity-spacing-xs);color:var(--text-highlight-primary)}.gravity-calendar-body .days-name-line .separator-line{width:248px;border-bottom:2px solid var(--divider-menu-active-primary)}.gravity-calendar-body .days-number-selector{display:flex;align-items:center;align-self:stretch;flex-direction:column;justify-content:center;gap:var(--gravity-spacing-sm)}.gravity-calendar-body .days-number-selector .days-number-table{display:flex;min-height:150px;align-items:center;align-self:stretch;flex-direction:column;justify-content:flex-start}.gravity-calendar-body .days-number-selector .days-number-table .week-row{height:25px;display:flex;align-items:center;align-self:stretch}.gravity-calendar-body .days-number-selector .days-number-table .week-row span{gap:10px;flex:1 0 0;display:flex;cursor:pointer;align-items:center;align-self:stretch;flex-direction:column;justify-content:center;padding:var(--gravity-spacing-xs);border-radius:var(--gravity-spacing-xs);border:2px solid var(--bg-calender-primary)}.gravity-calendar-body .days-number-selector .days-number-table .week-row span:not(.sl).today{border-color:var(--bg-number-calendar-hover-primary)}.gravity-calendar-body .days-number-selector .days-number-table .week-row span:not(.disabled):not(.sl):hover{color:var(--on-bg-button-pressed-tertiary);background:var(--bg-button-active-tertiary);border-color:var(--bg-button-active-tertiary)}.gravity-calendar-body .days-number-selector .days-number-table .week-row span.single,.gravity-calendar-body .days-number-selector .days-number-table .week-row span.start,.gravity-calendar-body .days-number-selector .days-number-table .week-row span.end{color:var(--on-bg-button-pressed-primary);background:var(--bg-button-pressed-primary);border-color:var(--bg-button-pressed-primary)}.gravity-calendar-body .days-number-selector .days-number-table .week-row span.range,.gravity-calendar-body .days-number-selector .days-number-table .week-row span:not(.disabled).preview{border-radius:0;background:var(--bg-button-active-tertiary);border-color:var(--bg-button-active-tertiary)}.gravity-calendar-body .days-number-selector .days-number-table .week-row span.start,.gravity-calendar-body .days-number-selector .days-number-table .week-row span.nsl-start:hover{border-radius:var(--gravity-spacing-xs) 0 0 var(--gravity-spacing-xs)}.gravity-calendar-body .days-number-selector .days-number-table .week-row span.end,.gravity-calendar-body .days-number-selector .days-number-table .week-row span.nsl-end:hover{border-radius:0 var(--gravity-spacing-xs) var(--gravity-spacing-xs) 0}.gravity-calendar-body .days-number-selector .days-number-table .week-row span.nsl-end:hover{border-color:var(--bg-button-pressed-primary)!important}.gravity-calendar-body .days-number-selector .days-number-table .week-row span.disabled{cursor:default;pointer-events:none;color:var(--on-bg-disabled)}.gravity-calendar-body .days-number-selector .action-section{height:25px;display:flex;align-items:center;align-self:stretch;justify-content:space-between}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.GravityButtonComponent, selector: "gravity-button", inputs: ["cypressTag", "disabled", "customState", "iconPosition", "iconName", "isLoading", "showContent", "size", "type"] }, { kind: "component", type: i3.GravityIconComponent, selector: "gravity-icon", inputs: ["customIconColorVariable", "iconName", "iconSize", "hoverIcon", "size", "isCoin"] }, { kind: "component", type: i4.GravityLinkComponent, selector: "gravity-link", inputs: ["linkText", "fontClass", "link", "cypressTag", "iconName", "target", "iconPosition", "iconSize", "state"] }, { kind: "component", type: i5.GravityDropdownLabelComponent, selector: "gravity-dropdown-label", inputs: ["label", "fontClass", "isOpen", "stopPropagation", "size"], outputs: ["onClickLabel"] }] }); }
|
|
188
192
|
}
|
|
189
193
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DaysCalendarComponent, decorators: [{
|
|
190
194
|
type: Component,
|
|
191
|
-
args: [{ selector: 'days-calendar', template: "<section class=\"gravity-calendar-header\">\n <div class=\"previous-button\">\n <gravity-icon *ngIf=\"!(navType === 'next')\" [style.--icon-color]=\"'var(--text-highlight-primary)'\" [iconName]=\"'arrow-left'\"\n [iconSize]=\"'sm-12'\" (click)=\"changeMonth(-1)\" ></gravity-icon> </div>\n\n <gravity-dropdown-label [fontClass]=\"'hr-title sm-bold'\" [size]=\"'sm'\"\n\n [label]=\"monthsList[currentDate.getMonth()]\"></gravity-dropdown-label>\n <gravity-dropdown-label [fontClass]=\"'hr-title sm-bold'\"\n\n [size]=\"'sm'\" [label]=\"currentDate.getFullYear().toString()\"></gravity-dropdown-label>\n <div class=\"next-button\">\n <gravity-icon *ngIf=\"!(navType === 'prev')\" [style.--icon-color]=\"'var(--text-highlight-primary)'\" [iconName]=\"'arrow-right'\"\n [iconSize]=\"'sm-12'\" (click)=\"changeMonth(1)\"></gravity-icon> </div>\n</section>\n\n<section class=\"gravity-calendar-body\">\n <section class=\"days-name-line\">\n <div class=\"days-name\">\n <span class=\"hr-body sm-regular\" *ngFor=\"let day of daysList\">{{day}}</span>\n </div>\n <div class=\"separator-line\"></div>\n </section>\n\n <section class=\"days-number-selector\">\n <div class=\"days-number-table\">\n <div class=\"week-row\" *ngFor=\"let week of getMonthGrid(); trackBy: trackByWeek\">\n <span class=\"hr-body sm-regular\" *ngFor=\"let d of week; trackBy: trackByDay\"\n [ngClass]=\"disabled ? 'disabled' : getDaySelectionClass(d)\"\n [class.disabled]=\"!d.inCurrentMonth\" [class.today]=\"d.isToday\" [class.preview]=\"range ? isPreview(d) : null\"\n (click)=\"onSelectDay(d)\" (mouseenter)=\"range ? onHoverDay(d) : null\" (mouseleave)=\"range ? clearHover() : null\">\n {{ d.day }}\n </span>\n </div>\n </div>\n\n <div class=\"action-section\">\n <gravity-link *ngIf=\"actionsSection\" [linkText]=\"i18n.clear\" [state]=\"!isDateSelected() ? 'disabled' : 'active'\" (click)=\"clearSelectedDate()\"></gravity-link>\n <gravity-button *ngIf=\"actionsSection\" [size]=\"'sm'\" [type]=\"'tertiary'\" [disabled]=\"!isDateSelected()\" (click)=\"applySelectedDate()\">{{i18n.apply}}</gravity-button>\n </div>\n </section>\n</section>\n", styles: [":root{--gravity-spacing-none: 0;--gravity-spacing-xxs: .25rem;--gravity-spacing-xs: .5rem;--gravity-spacing-sm: 1rem;--gravity-spacing-md: 1.5rem;--gravity-spacing-lg: 2rem;--gravity-spacing-xl: 2.5rem;--gravity-spacing-xxl: 3rem;--gravity-spacing-xxxl: 4rem;--gravity-spacing-xxxxl: 6rem;--gravity-spacing-xxxxxl: 12rem}.gravity-padding-none{padding:0!important}.gravity-padding-top-none{padding-top:0!important}.gravity-padding-bottom-none{padding-bottom:0!important}.gravity-padding-left-none{padding-left:0!important}.gravity-padding-right-none{padding-right:0!important}.gravity-padding-block-none{padding-block:0!important}.gravity-padding-inline-none{padding-inline:0!important}.gravity-padding-xxs{padding:.25rem!important}.gravity-padding-top-xxs{padding-top:.25rem!important}.gravity-padding-bottom-xxs{padding-bottom:.25rem!important}.gravity-padding-left-xxs{padding-left:.25rem!important}.gravity-padding-right-xxs{padding-right:.25rem!important}.gravity-padding-block-xxs{padding-block:.25rem!important}.gravity-padding-inline-xxs{padding-inline:.25rem!important}.gravity-padding-xs{padding:.5rem!important}.gravity-padding-top-xs{padding-top:.5rem!important}.gravity-padding-bottom-xs{padding-bottom:.5rem!important}.gravity-padding-left-xs{padding-left:.5rem!important}.gravity-padding-right-xs{padding-right:.5rem!important}.gravity-padding-block-xs{padding-block:.5rem!important}.gravity-padding-inline-xs{padding-inline:.5rem!important}.gravity-padding-sm{padding:1rem!important}.gravity-padding-top-sm{padding-top:1rem!important}.gravity-padding-bottom-sm{padding-bottom:1rem!important}.gravity-padding-left-sm{padding-left:1rem!important}.gravity-padding-right-sm{padding-right:1rem!important}.gravity-padding-block-sm{padding-block:1rem!important}.gravity-padding-inline-sm{padding-inline:1rem!important}.gravity-padding-md{padding:1.5rem!important}.gravity-padding-top-md{padding-top:1.5rem!important}.gravity-padding-bottom-md{padding-bottom:1.5rem!important}.gravity-padding-left-md{padding-left:1.5rem!important}.gravity-padding-right-md{padding-right:1.5rem!important}.gravity-padding-block-md{padding-block:1.5rem!important}.gravity-padding-inline-md{padding-inline:1.5rem!important}.gravity-padding-lg{padding:2rem!important}.gravity-padding-top-lg{padding-top:2rem!important}.gravity-padding-bottom-lg{padding-bottom:2rem!important}.gravity-padding-left-lg{padding-left:2rem!important}.gravity-padding-right-lg{padding-right:2rem!important}.gravity-padding-block-lg{padding-block:2rem!important}.gravity-padding-inline-lg{padding-inline:2rem!important}.gravity-padding-xl{padding:2.5rem!important}.gravity-padding-top-xl{padding-top:2.5rem!important}.gravity-padding-bottom-xl{padding-bottom:2.5rem!important}.gravity-padding-left-xl{padding-left:2.5rem!important}.gravity-padding-right-xl{padding-right:2.5rem!important}.gravity-padding-block-xl{padding-block:2.5rem!important}.gravity-padding-inline-xl{padding-inline:2.5rem!important}.gravity-padding-xxl{padding:3rem!important}.gravity-padding-top-xxl{padding-top:3rem!important}.gravity-padding-bottom-xxl{padding-bottom:3rem!important}.gravity-padding-left-xxl{padding-left:3rem!important}.gravity-padding-right-xxl{padding-right:3rem!important}.gravity-padding-block-xxl{padding-block:3rem!important}.gravity-padding-inline-xxl{padding-inline:3rem!important}.gravity-padding-xxxl{padding:4rem!important}.gravity-padding-top-xxxl{padding-top:4rem!important}.gravity-padding-bottom-xxxl{padding-bottom:4rem!important}.gravity-padding-left-xxxl{padding-left:4rem!important}.gravity-padding-right-xxxl{padding-right:4rem!important}.gravity-padding-block-xxxl{padding-block:4rem!important}.gravity-padding-inline-xxxl{padding-inline:4rem!important}.gravity-padding-xxxxl{padding:6rem!important}.gravity-padding-top-xxxxl{padding-top:6rem!important}.gravity-padding-bottom-xxxxl{padding-bottom:6rem!important}.gravity-padding-left-xxxxl{padding-left:6rem!important}.gravity-padding-right-xxxxl{padding-right:6rem!important}.gravity-padding-block-xxxxl{padding-block:6rem!important}.gravity-padding-inline-xxxxl{padding-inline:6rem!important}.gravity-padding-xxxxxl{padding:12rem!important}.gravity-padding-top-xxxxxl{padding-top:12rem!important}.gravity-padding-bottom-xxxxxl{padding-bottom:12rem!important}.gravity-padding-left-xxxxxl{padding-left:12rem!important}.gravity-padding-right-xxxxxl{padding-right:12rem!important}.gravity-padding-block-xxxxxl{padding-block:12rem!important}.gravity-padding-inline-xxxxxl{padding-inline:12rem!important}.gravity-margin-none{margin:0!important}.gravity-margin-top-none{margin-top:0!important}.gravity-margin-bottom-none{margin-bottom:0!important}.gravity-margin-left-none{margin-left:0!important}.gravity-margin-right-none{margin-right:0!important}.gravity-margin-block-none{margin-block:0!important}.gravity-margin-inline-none{margin-inline:0!important}.gravity-margin-xxs{margin:.25rem!important}.gravity-margin-top-xxs{margin-top:.25rem!important}.gravity-margin-bottom-xxs{margin-bottom:.25rem!important}.gravity-margin-left-xxs{margin-left:.25rem!important}.gravity-margin-right-xxs{margin-right:.25rem!important}.gravity-margin-block-xxs{margin-block:.25rem!important}.gravity-margin-inline-xxs{margin-inline:.25rem!important}.gravity-margin-xs{margin:.5rem!important}.gravity-margin-top-xs{margin-top:.5rem!important}.gravity-margin-bottom-xs{margin-bottom:.5rem!important}.gravity-margin-left-xs{margin-left:.5rem!important}.gravity-margin-right-xs{margin-right:.5rem!important}.gravity-margin-block-xs{margin-block:.5rem!important}.gravity-margin-inline-xs{margin-inline:.5rem!important}.gravity-margin-sm{margin:1rem!important}.gravity-margin-top-sm{margin-top:1rem!important}.gravity-margin-bottom-sm{margin-bottom:1rem!important}.gravity-margin-left-sm{margin-left:1rem!important}.gravity-margin-right-sm{margin-right:1rem!important}.gravity-margin-block-sm{margin-block:1rem!important}.gravity-margin-inline-sm{margin-inline:1rem!important}.gravity-margin-md{margin:1.5rem!important}.gravity-margin-top-md{margin-top:1.5rem!important}.gravity-margin-bottom-md{margin-bottom:1.5rem!important}.gravity-margin-left-md{margin-left:1.5rem!important}.gravity-margin-right-md{margin-right:1.5rem!important}.gravity-margin-block-md{margin-block:1.5rem!important}.gravity-margin-inline-md{margin-inline:1.5rem!important}.gravity-margin-lg{margin:2rem!important}.gravity-margin-top-lg{margin-top:2rem!important}.gravity-margin-bottom-lg{margin-bottom:2rem!important}.gravity-margin-left-lg{margin-left:2rem!important}.gravity-margin-right-lg{margin-right:2rem!important}.gravity-margin-block-lg{margin-block:2rem!important}.gravity-margin-inline-lg{margin-inline:2rem!important}.gravity-margin-xl{margin:2.5rem!important}.gravity-margin-top-xl{margin-top:2.5rem!important}.gravity-margin-bottom-xl{margin-bottom:2.5rem!important}.gravity-margin-left-xl{margin-left:2.5rem!important}.gravity-margin-right-xl{margin-right:2.5rem!important}.gravity-margin-block-xl{margin-block:2.5rem!important}.gravity-margin-inline-xl{margin-inline:2.5rem!important}.gravity-margin-xxl{margin:3rem!important}.gravity-margin-top-xxl{margin-top:3rem!important}.gravity-margin-bottom-xxl{margin-bottom:3rem!important}.gravity-margin-left-xxl{margin-left:3rem!important}.gravity-margin-right-xxl{margin-right:3rem!important}.gravity-margin-block-xxl{margin-block:3rem!important}.gravity-margin-inline-xxl{margin-inline:3rem!important}.gravity-margin-xxxl{margin:4rem!important}.gravity-margin-top-xxxl{margin-top:4rem!important}.gravity-margin-bottom-xxxl{margin-bottom:4rem!important}.gravity-margin-left-xxxl{margin-left:4rem!important}.gravity-margin-right-xxxl{margin-right:4rem!important}.gravity-margin-block-xxxl{margin-block:4rem!important}.gravity-margin-inline-xxxl{margin-inline:4rem!important}.gravity-margin-xxxxl{margin:6rem!important}.gravity-margin-top-xxxxl{margin-top:6rem!important}.gravity-margin-bottom-xxxxl{margin-bottom:6rem!important}.gravity-margin-left-xxxxl{margin-left:6rem!important}.gravity-margin-right-xxxxl{margin-right:6rem!important}.gravity-margin-block-xxxxl{margin-block:6rem!important}.gravity-margin-inline-xxxxl{margin-inline:6rem!important}.gravity-margin-xxxxxl{margin:12rem!important}.gravity-margin-top-xxxxxl{margin-top:12rem!important}.gravity-margin-bottom-xxxxxl{margin-bottom:12rem!important}.gravity-margin-left-xxxxxl{margin-left:12rem!important}.gravity-margin-right-xxxxxl{margin-right:12rem!important}.gravity-margin-block-xxxxxl{margin-block:12rem!important}.gravity-margin-inline-xxxxxl{margin-inline:12rem!important}.border-radius-none{border-radius:0}.border-radius-xs{border-radius:.0625rem}.border-radius-sm{border-radius:.3125rem}.border-radius-md{border-radius:.625rem}.border-radius-lg{border-radius:.9375rem}.border-radius-xl{border-radius:1.25rem}.border-radius-xxl{border-radius:2rem}.border-radius-rounded{border-radius:6.25rem}.gravity-calendar-header{width:248px;display:flex;align-items:center;align-self:stretch;justify-content:center;gap:var(--gravity-spacing-sm)}.gravity-calendar-header .next-button,.gravity-calendar-header .previous-button{cursor:pointer;margin:var(--gravity-spacing-xs)}.gravity-calendar-body{width:248px;display:flex;align-items:center;align-self:stretch;flex-direction:column;justify-content:center}.gravity-calendar-body .days-name-line{display:flex;align-items:center;align-self:stretch;flex-direction:column;justify-content:center;gap:var(--gravity-spacing-xs);padding-bottom:var(--gravity-spacing-xs)}.gravity-calendar-body .days-name-line .days-name{display:flex;align-items:center;align-self:stretch;justify-content:space-between}.gravity-calendar-body .days-name-line .days-name span{display:flex;cursor:default;align-items:center;justify-content:center;padding:var(--gravity-spacing-xs);color:var(--text-highlight-primary)}.gravity-calendar-body .days-name-line .separator-line{width:248px;border-bottom:2px solid var(--divider-menu-active-primary)}.gravity-calendar-body .days-number-selector{display:flex;align-items:center;align-self:stretch;flex-direction:column;justify-content:center;gap:var(--gravity-spacing-sm)}.gravity-calendar-body .days-number-selector .days-number-table{display:flex;min-height:150px;align-items:center;align-self:stretch;flex-direction:column;justify-content:flex-start}.gravity-calendar-body .days-number-selector .days-number-table .week-row{height:25px;display:flex;align-items:center;align-self:stretch}.gravity-calendar-body .days-number-selector .days-number-table .week-row span{gap:10px;flex:1 0 0;display:flex;cursor:pointer;align-items:center;align-self:stretch;flex-direction:column;justify-content:center;padding:var(--gravity-spacing-xs);border-radius:var(--gravity-spacing-xs);border:2px solid var(--bg-calender-primary)}.gravity-calendar-body .days-number-selector .days-number-table .week-row span:not(.sl).today{border-color:var(--bg-number-calendar-hover-primary)}.gravity-calendar-body .days-number-selector .days-number-table .week-row span:not(.disabled):not(.sl):hover{color:var(--on-bg-button-pressed-tertiary);background:var(--bg-button-active-tertiary);border-color:var(--bg-button-active-tertiary)}.gravity-calendar-body .days-number-selector .days-number-table .week-row span.single,.gravity-calendar-body .days-number-selector .days-number-table .week-row span.start,.gravity-calendar-body .days-number-selector .days-number-table .week-row span.end{color:var(--on-bg-button-pressed-primary);background:var(--bg-button-pressed-primary);border-color:var(--bg-button-pressed-primary)}.gravity-calendar-body .days-number-selector .days-number-table .week-row span.range,.gravity-calendar-body .days-number-selector .days-number-table .week-row span:not(.disabled).preview{border-radius:0;background:var(--bg-button-active-tertiary);border-color:var(--bg-button-active-tertiary)}.gravity-calendar-body .days-number-selector .days-number-table .week-row span.start,.gravity-calendar-body .days-number-selector .days-number-table .week-row span.nsl-start:hover{border-radius:var(--gravity-spacing-xs) 0 0 var(--gravity-spacing-xs)}.gravity-calendar-body .days-number-selector .days-number-table .week-row span.end,.gravity-calendar-body .days-number-selector .days-number-table .week-row span.nsl-end:hover{border-radius:0 var(--gravity-spacing-xs) var(--gravity-spacing-xs) 0}.gravity-calendar-body .days-number-selector .days-number-table .week-row span.nsl-end:hover{border-color:var(--bg-button-pressed-primary)!important}.gravity-calendar-body .days-number-selector .days-number-table .week-row span.disabled{cursor:default;pointer-events:none;color:var(--on-bg-disabled)}.gravity-calendar-body .days-number-selector .action-section{height:25px;display:flex;align-items:center;align-self:stretch;justify-content:space-between}\n"] }]
|
|
192
|
-
}], propDecorators: {
|
|
195
|
+
args: [{ selector: 'days-calendar', template: "<section class=\"gravity-calendar-header\">\n <div class=\"previous-button\">\n <gravity-icon *ngIf=\"!(navType === 'next')\" [style.--icon-color]=\"'var(--text-highlight-primary)'\" [iconName]=\"'arrow-left'\"\n [iconSize]=\"'sm-12'\" (click)=\"currentDate = changeMonth(-1, currentDate)\" ></gravity-icon>\n </div>\n\n <div class=\"month-year-label\">\n <gravity-dropdown-label [fontClass]=\"'hr-title sm-bold'\" [size]=\"'sm'\" [label]=\"monthsList[currentDate.getMonth()]\"></gravity-dropdown-label>\n <gravity-dropdown-label [fontClass]=\"'hr-title sm-bold'\" [size]=\"'sm'\" [label]=\"currentDate.getFullYear().toString()\"></gravity-dropdown-label>\n </div>\n\n <div class=\"next-button\">\n <gravity-icon *ngIf=\"!(navType === 'prev')\" [style.--icon-color]=\"'var(--text-highlight-primary)'\" [iconName]=\"'arrow-right'\"\n [iconSize]=\"'sm-12'\" (click)=\"currentDate = changeMonth(1, currentDate)\"></gravity-icon>\n </div>\n</section>\n\n<section class=\"gravity-calendar-body\">\n <section class=\"days-name-line\">\n <div class=\"days-name\">\n <span class=\"hr-body sm-regular\" *ngFor=\"let day of daysList\">{{day}}</span>\n </div>\n <div class=\"separator-line\"></div>\n </section>\n\n <section class=\"days-number-selector\">\n <div class=\"days-number-table\">\n <div class=\"week-row\" *ngFor=\"let week of getMonthGrid(); trackBy: trackByWeek\">\n <span class=\"hr-body sm-regular\" *ngFor=\"let d of week; trackBy: trackByDay\"\n [ngClass]=\"disabled ? 'disabled' : getDaySelectionClass(d)\"\n [class.disabled]=\"!d.inCurrentMonth\" [class.today]=\"d.isToday\" [class.preview]=\"range ? isPreview(d) : null\"\n (click)=\"onSelectDay(d)\" (mouseenter)=\"range ? onHoverDay(d) : null\" (mouseleave)=\"range ? clearHover() : null\">\n {{ d.day }}\n </span>\n </div>\n </div>\n\n <div class=\"action-section\">\n <gravity-link *ngIf=\"actionsSection\" [linkText]=\"i18n.clear\" [state]=\"!isDateSelected() ? 'disabled' : 'active'\" (click)=\"clearSelectedDate()\"></gravity-link>\n <gravity-button *ngIf=\"actionsSection\" [size]=\"'sm'\" [type]=\"'tertiary'\" [disabled]=\"!isDateSelected()\" (click)=\"applySelectedDate()\">{{i18n.apply}}</gravity-button>\n </div>\n </section>\n</section>\n", styles: [":root{--gravity-spacing-none: 0;--gravity-spacing-xxs: .25rem;--gravity-spacing-xs: .5rem;--gravity-spacing-sm: 1rem;--gravity-spacing-md: 1.5rem;--gravity-spacing-lg: 2rem;--gravity-spacing-xl: 2.5rem;--gravity-spacing-xxl: 3rem;--gravity-spacing-xxxl: 4rem;--gravity-spacing-xxxxl: 6rem;--gravity-spacing-xxxxxl: 12rem}.gravity-padding-none{padding:0!important}.gravity-padding-top-none{padding-top:0!important}.gravity-padding-bottom-none{padding-bottom:0!important}.gravity-padding-left-none{padding-left:0!important}.gravity-padding-right-none{padding-right:0!important}.gravity-padding-block-none{padding-block:0!important}.gravity-padding-inline-none{padding-inline:0!important}.gravity-padding-xxs{padding:.25rem!important}.gravity-padding-top-xxs{padding-top:.25rem!important}.gravity-padding-bottom-xxs{padding-bottom:.25rem!important}.gravity-padding-left-xxs{padding-left:.25rem!important}.gravity-padding-right-xxs{padding-right:.25rem!important}.gravity-padding-block-xxs{padding-block:.25rem!important}.gravity-padding-inline-xxs{padding-inline:.25rem!important}.gravity-padding-xs{padding:.5rem!important}.gravity-padding-top-xs{padding-top:.5rem!important}.gravity-padding-bottom-xs{padding-bottom:.5rem!important}.gravity-padding-left-xs{padding-left:.5rem!important}.gravity-padding-right-xs{padding-right:.5rem!important}.gravity-padding-block-xs{padding-block:.5rem!important}.gravity-padding-inline-xs{padding-inline:.5rem!important}.gravity-padding-sm{padding:1rem!important}.gravity-padding-top-sm{padding-top:1rem!important}.gravity-padding-bottom-sm{padding-bottom:1rem!important}.gravity-padding-left-sm{padding-left:1rem!important}.gravity-padding-right-sm{padding-right:1rem!important}.gravity-padding-block-sm{padding-block:1rem!important}.gravity-padding-inline-sm{padding-inline:1rem!important}.gravity-padding-md{padding:1.5rem!important}.gravity-padding-top-md{padding-top:1.5rem!important}.gravity-padding-bottom-md{padding-bottom:1.5rem!important}.gravity-padding-left-md{padding-left:1.5rem!important}.gravity-padding-right-md{padding-right:1.5rem!important}.gravity-padding-block-md{padding-block:1.5rem!important}.gravity-padding-inline-md{padding-inline:1.5rem!important}.gravity-padding-lg{padding:2rem!important}.gravity-padding-top-lg{padding-top:2rem!important}.gravity-padding-bottom-lg{padding-bottom:2rem!important}.gravity-padding-left-lg{padding-left:2rem!important}.gravity-padding-right-lg{padding-right:2rem!important}.gravity-padding-block-lg{padding-block:2rem!important}.gravity-padding-inline-lg{padding-inline:2rem!important}.gravity-padding-xl{padding:2.5rem!important}.gravity-padding-top-xl{padding-top:2.5rem!important}.gravity-padding-bottom-xl{padding-bottom:2.5rem!important}.gravity-padding-left-xl{padding-left:2.5rem!important}.gravity-padding-right-xl{padding-right:2.5rem!important}.gravity-padding-block-xl{padding-block:2.5rem!important}.gravity-padding-inline-xl{padding-inline:2.5rem!important}.gravity-padding-xxl{padding:3rem!important}.gravity-padding-top-xxl{padding-top:3rem!important}.gravity-padding-bottom-xxl{padding-bottom:3rem!important}.gravity-padding-left-xxl{padding-left:3rem!important}.gravity-padding-right-xxl{padding-right:3rem!important}.gravity-padding-block-xxl{padding-block:3rem!important}.gravity-padding-inline-xxl{padding-inline:3rem!important}.gravity-padding-xxxl{padding:4rem!important}.gravity-padding-top-xxxl{padding-top:4rem!important}.gravity-padding-bottom-xxxl{padding-bottom:4rem!important}.gravity-padding-left-xxxl{padding-left:4rem!important}.gravity-padding-right-xxxl{padding-right:4rem!important}.gravity-padding-block-xxxl{padding-block:4rem!important}.gravity-padding-inline-xxxl{padding-inline:4rem!important}.gravity-padding-xxxxl{padding:6rem!important}.gravity-padding-top-xxxxl{padding-top:6rem!important}.gravity-padding-bottom-xxxxl{padding-bottom:6rem!important}.gravity-padding-left-xxxxl{padding-left:6rem!important}.gravity-padding-right-xxxxl{padding-right:6rem!important}.gravity-padding-block-xxxxl{padding-block:6rem!important}.gravity-padding-inline-xxxxl{padding-inline:6rem!important}.gravity-padding-xxxxxl{padding:12rem!important}.gravity-padding-top-xxxxxl{padding-top:12rem!important}.gravity-padding-bottom-xxxxxl{padding-bottom:12rem!important}.gravity-padding-left-xxxxxl{padding-left:12rem!important}.gravity-padding-right-xxxxxl{padding-right:12rem!important}.gravity-padding-block-xxxxxl{padding-block:12rem!important}.gravity-padding-inline-xxxxxl{padding-inline:12rem!important}.gravity-margin-none{margin:0!important}.gravity-margin-top-none{margin-top:0!important}.gravity-margin-bottom-none{margin-bottom:0!important}.gravity-margin-left-none{margin-left:0!important}.gravity-margin-right-none{margin-right:0!important}.gravity-margin-block-none{margin-block:0!important}.gravity-margin-inline-none{margin-inline:0!important}.gravity-margin-xxs{margin:.25rem!important}.gravity-margin-top-xxs{margin-top:.25rem!important}.gravity-margin-bottom-xxs{margin-bottom:.25rem!important}.gravity-margin-left-xxs{margin-left:.25rem!important}.gravity-margin-right-xxs{margin-right:.25rem!important}.gravity-margin-block-xxs{margin-block:.25rem!important}.gravity-margin-inline-xxs{margin-inline:.25rem!important}.gravity-margin-xs{margin:.5rem!important}.gravity-margin-top-xs{margin-top:.5rem!important}.gravity-margin-bottom-xs{margin-bottom:.5rem!important}.gravity-margin-left-xs{margin-left:.5rem!important}.gravity-margin-right-xs{margin-right:.5rem!important}.gravity-margin-block-xs{margin-block:.5rem!important}.gravity-margin-inline-xs{margin-inline:.5rem!important}.gravity-margin-sm{margin:1rem!important}.gravity-margin-top-sm{margin-top:1rem!important}.gravity-margin-bottom-sm{margin-bottom:1rem!important}.gravity-margin-left-sm{margin-left:1rem!important}.gravity-margin-right-sm{margin-right:1rem!important}.gravity-margin-block-sm{margin-block:1rem!important}.gravity-margin-inline-sm{margin-inline:1rem!important}.gravity-margin-md{margin:1.5rem!important}.gravity-margin-top-md{margin-top:1.5rem!important}.gravity-margin-bottom-md{margin-bottom:1.5rem!important}.gravity-margin-left-md{margin-left:1.5rem!important}.gravity-margin-right-md{margin-right:1.5rem!important}.gravity-margin-block-md{margin-block:1.5rem!important}.gravity-margin-inline-md{margin-inline:1.5rem!important}.gravity-margin-lg{margin:2rem!important}.gravity-margin-top-lg{margin-top:2rem!important}.gravity-margin-bottom-lg{margin-bottom:2rem!important}.gravity-margin-left-lg{margin-left:2rem!important}.gravity-margin-right-lg{margin-right:2rem!important}.gravity-margin-block-lg{margin-block:2rem!important}.gravity-margin-inline-lg{margin-inline:2rem!important}.gravity-margin-xl{margin:2.5rem!important}.gravity-margin-top-xl{margin-top:2.5rem!important}.gravity-margin-bottom-xl{margin-bottom:2.5rem!important}.gravity-margin-left-xl{margin-left:2.5rem!important}.gravity-margin-right-xl{margin-right:2.5rem!important}.gravity-margin-block-xl{margin-block:2.5rem!important}.gravity-margin-inline-xl{margin-inline:2.5rem!important}.gravity-margin-xxl{margin:3rem!important}.gravity-margin-top-xxl{margin-top:3rem!important}.gravity-margin-bottom-xxl{margin-bottom:3rem!important}.gravity-margin-left-xxl{margin-left:3rem!important}.gravity-margin-right-xxl{margin-right:3rem!important}.gravity-margin-block-xxl{margin-block:3rem!important}.gravity-margin-inline-xxl{margin-inline:3rem!important}.gravity-margin-xxxl{margin:4rem!important}.gravity-margin-top-xxxl{margin-top:4rem!important}.gravity-margin-bottom-xxxl{margin-bottom:4rem!important}.gravity-margin-left-xxxl{margin-left:4rem!important}.gravity-margin-right-xxxl{margin-right:4rem!important}.gravity-margin-block-xxxl{margin-block:4rem!important}.gravity-margin-inline-xxxl{margin-inline:4rem!important}.gravity-margin-xxxxl{margin:6rem!important}.gravity-margin-top-xxxxl{margin-top:6rem!important}.gravity-margin-bottom-xxxxl{margin-bottom:6rem!important}.gravity-margin-left-xxxxl{margin-left:6rem!important}.gravity-margin-right-xxxxl{margin-right:6rem!important}.gravity-margin-block-xxxxl{margin-block:6rem!important}.gravity-margin-inline-xxxxl{margin-inline:6rem!important}.gravity-margin-xxxxxl{margin:12rem!important}.gravity-margin-top-xxxxxl{margin-top:12rem!important}.gravity-margin-bottom-xxxxxl{margin-bottom:12rem!important}.gravity-margin-left-xxxxxl{margin-left:12rem!important}.gravity-margin-right-xxxxxl{margin-right:12rem!important}.gravity-margin-block-xxxxxl{margin-block:12rem!important}.gravity-margin-inline-xxxxxl{margin-inline:12rem!important}.border-radius-none{border-radius:0}.border-radius-xs{border-radius:.0625rem}.border-radius-sm{border-radius:.3125rem}.border-radius-md{border-radius:.625rem}.border-radius-lg{border-radius:.9375rem}.border-radius-xl{border-radius:1.25rem}.border-radius-xxl{border-radius:2rem}.border-radius-rounded{border-radius:6.25rem}.gravity-calendar-header{display:flex;align-items:center;justify-content:space-between}.gravity-calendar-header .month-year-label{display:flex;gap:var(--gravity-spacing-sm)}.gravity-calendar-header .next-button,.gravity-calendar-header .previous-button{cursor:pointer;margin:var(--gravity-spacing-xs)}.gravity-calendar-body{width:248px;display:flex;align-items:center;align-self:stretch;flex-direction:column;justify-content:center}.gravity-calendar-body .days-name-line{display:flex;align-items:center;align-self:stretch;flex-direction:column;justify-content:center;gap:var(--gravity-spacing-xs);padding-bottom:var(--gravity-spacing-xs)}.gravity-calendar-body .days-name-line .days-name{display:flex;align-items:center;align-self:stretch;justify-content:space-between}.gravity-calendar-body .days-name-line .days-name span{display:flex;cursor:default;align-items:center;justify-content:center;padding:var(--gravity-spacing-xs);color:var(--text-highlight-primary)}.gravity-calendar-body .days-name-line .separator-line{width:248px;border-bottom:2px solid var(--divider-menu-active-primary)}.gravity-calendar-body .days-number-selector{display:flex;align-items:center;align-self:stretch;flex-direction:column;justify-content:center;gap:var(--gravity-spacing-sm)}.gravity-calendar-body .days-number-selector .days-number-table{display:flex;min-height:150px;align-items:center;align-self:stretch;flex-direction:column;justify-content:flex-start}.gravity-calendar-body .days-number-selector .days-number-table .week-row{height:25px;display:flex;align-items:center;align-self:stretch}.gravity-calendar-body .days-number-selector .days-number-table .week-row span{gap:10px;flex:1 0 0;display:flex;cursor:pointer;align-items:center;align-self:stretch;flex-direction:column;justify-content:center;padding:var(--gravity-spacing-xs);border-radius:var(--gravity-spacing-xs);border:2px solid var(--bg-calender-primary)}.gravity-calendar-body .days-number-selector .days-number-table .week-row span:not(.sl).today{border-color:var(--bg-number-calendar-hover-primary)}.gravity-calendar-body .days-number-selector .days-number-table .week-row span:not(.disabled):not(.sl):hover{color:var(--on-bg-button-pressed-tertiary);background:var(--bg-button-active-tertiary);border-color:var(--bg-button-active-tertiary)}.gravity-calendar-body .days-number-selector .days-number-table .week-row span.single,.gravity-calendar-body .days-number-selector .days-number-table .week-row span.start,.gravity-calendar-body .days-number-selector .days-number-table .week-row span.end{color:var(--on-bg-button-pressed-primary);background:var(--bg-button-pressed-primary);border-color:var(--bg-button-pressed-primary)}.gravity-calendar-body .days-number-selector .days-number-table .week-row span.range,.gravity-calendar-body .days-number-selector .days-number-table .week-row span:not(.disabled).preview{border-radius:0;background:var(--bg-button-active-tertiary);border-color:var(--bg-button-active-tertiary)}.gravity-calendar-body .days-number-selector .days-number-table .week-row span.start,.gravity-calendar-body .days-number-selector .days-number-table .week-row span.nsl-start:hover{border-radius:var(--gravity-spacing-xs) 0 0 var(--gravity-spacing-xs)}.gravity-calendar-body .days-number-selector .days-number-table .week-row span.end,.gravity-calendar-body .days-number-selector .days-number-table .week-row span.nsl-end:hover{border-radius:0 var(--gravity-spacing-xs) var(--gravity-spacing-xs) 0}.gravity-calendar-body .days-number-selector .days-number-table .week-row span.nsl-end:hover{border-color:var(--bg-button-pressed-primary)!important}.gravity-calendar-body .days-number-selector .days-number-table .week-row span.disabled{cursor:default;pointer-events:none;color:var(--on-bg-disabled)}.gravity-calendar-body .days-number-selector .action-section{height:25px;display:flex;align-items:center;align-self:stretch;justify-content:space-between}\n"] }]
|
|
196
|
+
}], propDecorators: { range: [{
|
|
193
197
|
type: Input
|
|
194
|
-
}],
|
|
198
|
+
}], restart: [{
|
|
195
199
|
type: Input
|
|
196
200
|
}], disabled: [{
|
|
197
201
|
type: Input
|
|
198
202
|
}], language: [{
|
|
199
203
|
type: Input
|
|
204
|
+
}], preSelectedDate: [{
|
|
205
|
+
type: Input
|
|
200
206
|
}], actionsSection: [{
|
|
201
207
|
type: Input
|
|
202
208
|
}], navType: [{
|
|
203
209
|
type: Input
|
|
204
|
-
}],
|
|
205
|
-
type: Output
|
|
206
|
-
}], applyAction: [{
|
|
210
|
+
}], clearSelectionDate: [{
|
|
207
211
|
type: Output
|
|
208
212
|
}], calendarResponse: [{
|
|
209
213
|
type: Output,
|
|
210
214
|
args: ['response']
|
|
211
215
|
}] } });
|
|
212
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF5cy1jYWxlbmRhci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9ncmF2aXR5LWRlc2lnbi1zeXN0ZW0vc3JjL2xpYi9jb21wb25lbnRzL2dyYXZpdHktY2FsZW5kYXItbmV4dC9jb21wb25lbnRzL2RheXMtY2FsZW5kYXIvZGF5cy1jYWxlbmRhci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9ncmF2aXR5LWRlc2lnbi1zeXN0ZW0vc3JjL2xpYi9jb21wb25lbnRzL2dyYXZpdHktY2FsZW5kYXItbmV4dC9jb21wb25lbnRzL2RheXMtY2FsZW5kYXIvZGF5cy1jYWxlbmRhci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUMsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQWEsTUFBTSxFQUFnQixNQUFNLGVBQWUsQ0FBQztBQUMvRixPQUFPLEVBQUMsYUFBYSxFQUFFLE9BQU8sRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBQyxNQUFNLGlDQUFpQyxDQUFDOzs7Ozs7O0FBT3RHLE1BQU0sT0FBTyxxQkFBcUI7SUFMbEM7UUFPb0IsVUFBSyxHQUFZLEtBQUssQ0FBQztRQUN2QixhQUFRLEdBQVksS0FBSyxDQUFDO1FBQzFCLGFBQVEsR0FBZ0IsSUFBSSxDQUFDO1FBQzdCLG1CQUFjLEdBQVksSUFBSSxDQUFDO1FBQy9CLFlBQU8sR0FBNkIsTUFBTSxDQUFBO1FBRXpDLGdCQUFXLEdBQXVCLElBQUksWUFBWSxFQUFRLENBQUM7UUFDM0QsZ0JBQVcsR0FBZ0MsSUFBSSxZQUFZLEVBQWlCLENBQUM7UUFDbkUscUJBQWdCLEdBQWdDLElBQUksWUFBWSxFQUFpQixDQUFDO1FBR3RHLGdCQUFXLEdBQUcsSUFBSSxJQUFJLEVBQUUsQ0FBQztRQUN6QixlQUFVLEdBQXVCLElBQUks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QUFLLEdBQUcsQ0FBQyxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLGNBQWMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDO1NBQ2hHO1FBRUQsTUFBTSxrQkFBa0IsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLGNBQWMsQ0FBQyxDQUFDO1FBQ2hFLElBQUksa0JBQWtCLEVBQUU7WUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1NBQUU7UUFFNUMsT0FBTyxJQUFJLENBQUM7SUFDaEIsQ0FBQzsrR0FyTU0scUJBQXFCO21HQUFyQixxQkFBcUIsK1VDVGxDLHU2RUEwQ0E7OzRGRGpDYSxxQkFBcUI7a0JBTGpDLFNBQVM7K0JBQ0UsZUFBZTs4QkFLUCxlQUFlO3NCQUE5QixLQUFLO2dCQUNVLEtBQUs7c0JBQXBCLEtBQUs7Z0JBQ1UsUUFBUTtzQkFBdkIsS0FBSztnQkFDVSxRQUFRO3NCQUF2QixLQUFLO2dCQUNVLGNBQWM7c0JBQTdCLEtBQUs7Z0JBQ1UsT0FBTztzQkFBdEIsS0FBSztnQkFFVyxXQUFXO3NCQUEzQixNQUFNO2dCQUNVLFdBQVc7c0JBQTNCLE1BQU07Z0JBQ29CLGdCQUFnQjtzQkFBMUMsTUFBTTt1QkFBQyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDYWxlbmRhckRheX0gZnJvbSBcIi4uLy4uL3NoYXJlZC9jYWxlbmRhci5tb2RhbFwiO1xuaW1wb3J0IHtDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uQ2hhbmdlcywgT3V0cHV0LCBTaW1wbGVDaGFuZ2VzfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7Q0FMRU5EQVJfSTE4TiwgREFZU19FTiwgREFZU19FUywgTU9OVEhTX0VOLCBNT05USFNfRVN9IGZyb20gXCIuLi8uLi9zaGFyZWQvY2FsZW5kYXIuY29uc3RhbnRzXCI7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2RheXMtY2FsZW5kYXInLFxuICB0ZW1wbGF0ZVVybDogJy4vZGF5cy1jYWxlbmRhci5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2RheXMtY2FsZW5kYXIuY29tcG9uZW50LnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBEYXlzQ2FsZW5kYXJDb21wb25lbnQgaW1wbGVtZW50cyBPbkNoYW5nZXMge1xuICAgIEBJbnB1dCgpIHB1YmxpYyBwcmVTZWxlY3RlZERhdGU6IERhdGU7XG4gICAgQElucHV0KCkgcHVibGljIHJhbmdlOiBib29sZWFuID0gZmFsc2U7XG4gICAgQElucHV0KCkgcHVibGljIGRpc2FibGVkOiBib29sZWFuID0gZmFsc2U7XG4gICAgQElucHV0KCkgcHVibGljIGxhbmd1YWdlOiAnZXMnIHwgJ2VuJyA9ICdlbic7XG4gICAgQElucHV0KCkgcHVibGljIGFjdGlvbnNTZWN0aW9uOiBib29sZWFuID0gdHJ1ZTtcbiAgICBASW5wdXQoKSBwdWJsaWMgbmF2VHlwZTogJ3ByZXYnIHwgJ25leHQnIHwgJ2JvdGgnID0gJ2JvdGgnXG5cbiAgICBAT3V0cHV0KCkgcHVibGljIGNsZWFyQWN0aW9uOiBFdmVudEVtaXR0ZXI8dm9pZD4gPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG4gICAgQE91dHB1dCgpIHB1YmxpYyBhcHBseUFjdGlvbjogRXZlbnRFbWl0dGVyPERhdGVbXSB8IERhdGU+ID0gbmV3IEV2ZW50RW1pdHRlcjxEYXRlW10gfCBEYXRlPigpO1xuICAgIEBPdXRwdXQoJ3Jlc3BvbnNlJykgcHVibGljIGNhbGVuZGFyUmVzcG9uc2U6IEV2ZW50RW1pdHRlcjxEYXRlW10gfCBEYXRlPiA9IG5ldyBFdmVudEVtaXR0ZXI8RGF0ZVtdIHwgRGF0ZT4oKTtcblxuXG4gICAgcHVibGljIGN1cnJlbnREYXRlID0gbmV3IERhdGUoKTtcbiAgICBwdWJsaWMgaG92ZXJlZERheTogQ2FsZW5kYXJEYXkgfCBudWxsID0gbnVsbDtcbiAgICBwdWJsaWMgc2VsZWN0ZWREYXk6IENhbGVuZGFyRGF5IHwgbnVsbCA9IG51bGw7XG4gICAgcHVibGljIHNlbGVjdGVkUmFuZ2VFbmQ6IENhbGVuZGFyRGF5IHwgbnVsbCA9IG51bGw7XG4gICAgcHVibGljIHNlbGVjdGVkUmFuZ2VTdGFydDogQ2FsZW5kYXJEYXkgfCBudWxsID0gbnVsbDtcblxuXG4gICAgICBwdWJsaWMgZ2V0IGkxOG4oKSB7XG4gICAgICAgIHJldHVybiBDQUxFTkRBUl9JMThOW3RoaXMubGFuZ3VhZ2VdO1xuICAgICAgfVxuXG4gICAgICBwdWJsaWMgZ2V0IGRheXNMaXN0KCkge1xuICAgICAgICByZXR1cm4gdGhpcy5sYW5ndWFnZSA9PT0gJ2VuJyA/IERBWVNfRU4gOiBEQVlTX0VTO1xuICAgICAgfVxuXG4gICAgICBwdWJsaWMgZ2V0IG1vbnRoc0xpc3QoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmxhbmd1YWdlID09PSAnZW4nID8gTU9OVEhTX0VOIDogTU9OVEhTX0VTO1xuICAgICAgfVxuXG4gICAgICBwdWJsaWMgdHJhY2tCeVdlZWsoaW5kZXg6IG51bWJlciwgXzogYW55KTogbnVtYmVyIHtcbiAgICAgICAgICByZXR1cm4gaW5kZXg7XG4gICAgICB9XG5cbiAgICAgIHB1YmxpYyB0cmFja0J5RGF5KF86IG51bWJlciwgZGF5OiBDYWxlbmRhckRheSk6IHN0cmluZyB7XG4gICAgICAgICAgcmV0dXJuIGAke2RheS55ZWFyfS0ke2RheS5tb250aH0tJHtkYXkuZGF5fWA7XG4gICAgICB9XG5cbiAgICAgIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICAgICAgICBpZiAoY2hhbmdlc1sncHJlU2VsZWN0ZWREYXRlJ10gJiYgdGhpcy5wcmVTZWxlY3RlZERhdGUgaW5zdGFuY2VvZiBEYXRlKSB7XG4gICAgICAgICAgICAgIHRoaXMuc2VsZWN0ZWREYXkgPSB7XG4gICAgICAgICAgICAgICAgICBpbkN1cnJlbnRNb250aDogdHJ1ZSxcbiAgICAgICAgICAgICAgICAgIGlzVG9kYXk6IGZhbHNlLFxuICAgICAgICAgICAgICAgICAgZGF5OiB0aGlzLnByZVNlbGVjdGVkRGF0ZS5nZXREYXRlKCksXG4gICAgICAgICAgICAgICAgICBtb250aDogdGhpcy5wcmVTZWxlY3RlZERhdGUuZ2V0TW9udGgoKSAtIDEsXG4gICAgICAgICAgICAgICAgICB5ZWFyOiB0aGlzLnByZVNlbGVjdGVkRGF0ZS5nZXRGdWxsWWVhcigpLFxuICAgICAgICAgICAgICB9O1xuXG4gICAgICAgICAgICAgIHRoaXMuY3VycmVudERhdGUgPSBuZXcgRGF0ZSh0aGlzLnByZVNlbGVjdGVkRGF0ZS5nZXRGdWxsWWVhcigpLCB0aGlzLnByZVNlbGVjdGVkRGF0ZS5nZXRNb250aCgpIC0xICwgMSk7XG4gICAgICAgICAgfVxuICAgICAgfVxuXG4gICAgcHVibGljIGFwcGx5U2VsZWN0ZWREYXRlKCk6IHZvaWQge1xuICAgICAgICBpZiAoIXRoaXMucmFuZ2UpIHtcbiAgICAgICAgICAgIHRoaXMuYXBwbHlBY3Rpb24uZW1pdChuZXcgRGF0ZSh0aGlzLnNlbGVjdGVkRGF5LnllYXIsIHRoaXMuc2VsZWN0ZWREYXkubW9udGggKyAxLCB0aGlzLnNlbGVjdGVkRGF5LmRheSkpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgICBwdWJsaWMgaXNEYXRlU2VsZWN0ZWQoKXtcbiAgICAgICAgICBpZighdGhpcy5yYW5nZSAmJiB0aGlzLnNlbGVjdGVkRGF5KSB7IHJldHVybiB0cnVlOyB9XG4gICAgICAgICAgcmV0dXJuIHRoaXMuc2VsZWN0ZWRSYW5nZUVuZDtcbiAgICAgIH1cblxuICAgICAgcHVibGljIGNsZWFyU2VsZWN0ZWREYXRlKCkge1xuICAgICAgICAgIHRoaXMuY2xlYXJBY3Rpb24uZW1pdCgpO1xuICAgICAgICAgIHRoaXMuc2VsZWN0ZWREYXkgPSBudWxsO1xuICAgICAgICAgIHRoaXMuc2VsZWN0ZWRSYW5nZUVuZCA9IG51bGw7XG4gICAgICAgICAgdGhpcy5zZWxlY3RlZFJhbmdlU3RhcnQgPSBudWxsO1xuICAgICAgfVxuXG4gICAgICBwdWJsaWMgaXNQcmV2aWV3KGRheTogQ2FsZW5kYXJEYXkpOiBib29sZWFuIHtcbiAgICAgICAgICBpZiAoIXRoaXMuc2VsZWN0ZWRSYW5nZVN0YXJ0IHx8IHRoaXMuc2VsZWN0ZWRSYW5nZUVuZCB8fCAhdGhpcy5ob3ZlcmVkRGF5KSB7IHJldHVybiBmYWxzZTsgfVxuXG4gICAgICAgICAgY29uc3QgY3VycmVudCA9IG5ldyBEYXRlKGRheS55ZWFyLCBkYXkubW9udGgsIGRheS5kYXkpO1xuICAgICAgICAgIGNvbnN0IGhvdmVyID0gbmV3IERhdGUodGhpcy5ob3ZlcmVkRGF5LnllYXIsIHRoaXMuaG92ZXJlZERheS5tb250aCwgdGhpcy5ob3ZlcmVkRGF5LmRheSk7XG4gICAgICAgICAgY29uc3Qgc3RhcnQgPSBuZXcgRGF0ZSh0aGlzLnNlbGVjdGVkUmFuZ2VTdGFydC55ZWFyLCB0aGlzLnNlbGVjdGVkUmFuZ2VTdGFydC5tb250aCwgdGhpcy5zZWxlY3RlZFJhbmdlU3RhcnQuZGF5KTtcblxuICAgICAgICAgIGlmIChob3ZlciA8PSBzdGFydCkgcmV0dXJuIGZhbHNlO1xuICAgICAgICAgIHJldHVybiBjdXJyZW50ID4gc3RhcnQgJiYgY3VycmVudCA8PSBob3ZlcjtcbiAgICAgIH1cblxuICAgICAgcHVibGljIG9uSG92ZXJEYXkoZGF5OiBDYWxlbmRhckRheSk6IHZvaWQge1xuICAgICAgICAgIGlmICh0aGlzLnNlbGVjdGVkUmFuZ2VFbmQpIHsgcmV0dXJuOyB9XG4gICAgICAgICAgdGhpcy5ob3ZlcmVkRGF5ID0gZGF5O1xuICAgICAgfVxuXG4gICAgICBwdWJsaWMgY2xlYXJIb3ZlcigpOiB2b2lkIHtcbiAgICAgICAgICB0aGlzLmhvdmVyZWREYXkgPSBudWxsO1xuICAgICAgfVxuXG4gICAgICBwdWJsaWMgZ2V0RGF5U2VsZWN0aW9uQ2xhc3MoZGF5OiBDYWxlbmRhckRheSk6IHN0cmluZyB7XG4gICAgICAgICAgaWYgKCFkYXkuaW5DdXJyZW50TW9udGgpIHJldHVybiAnZGlzYWJsZWQnO1xuXG4gICAgICAgICAgaWYgKCF0aGlzLnJhbmdlKSB7XG4gICAgICAgICAgICAgIGlmICh0aGlzLnNlbGVjdGVkRGF5ICYmXG4gICAgICAgICAgICAgICAgICBkYXkuZGF5ID09PSB0aGlzLnNlbGVjdGVkRGF5LmRheSAmJlxuICAgICAgICAgICAgICAgICAgZGF5Lm1vbnRoID09PSB0aGlzLnNlbGVjdGVkRGF5Lm1vbnRoICYmXG4gICAgICAgICAgICAgICAgICBkYXkueWVhciA9PT0gdGhpcy5zZWxlY3RlZERheS55ZWFyKSB7XG4gICAgICAgICAgICAgICAgICByZXR1cm4gJ3NsIHNpbmdsZSc7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgcmV0dXJuICcnO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIGlmICghdGhpcy5zZWxlY3RlZFJhbmdlU3RhcnQpIHJldHVybiAnbnNsLXN0YXJ0JztcblxuICAgICAgICAgIGNvbnN0IGN1cnJlbnQgPSBuZXcgRGF0ZShkYXkueWVhciwgZGF5Lm1vbnRoLCBkYXkuZGF5KTtcbiAgICAgICAgICBjb25zdCBzdGFydCA9IG5ldyBEYXRlKHRoaXMuc2VsZWN0ZWRSYW5nZVN0YXJ0LnllYXIsIHRoaXMuc2VsZWN0ZWRSYW5nZVN0YXJ0Lm1vbnRoLCB0aGlzLnNlbGVjdGVkUmFuZ2VTdGFydC5kYXkpO1xuXG4gICAgICAgICAgaWYgKCF0aGlzLnNlbGVjdGVkUmFuZ2VFbmQpIHtcbiAgICAgICAgICAgICAgaWYgKGN1cnJlbnQuZ2V0VGltZSgpID09PSBzdGFydC5nZXRUaW1lKCkpIHsgcmV0dXJuICdzbCBzdGFydCc7IH1cblxuICAgICAgICAgICAgICBpZiAodGhpcy5ob3ZlcmVkRGF5KSB7XG4gICAgICAgICAgICAgICAgICBjb25zdCBob3ZlciA9IG5ldyBEYXRlKHRoaXMuaG92ZXJlZERheS55ZWFyLCB0aGlzLmhvdmVyZWREYXkubW9udGgsIHRoaXMuaG92ZXJlZERheS5kYXkpO1xuICAgICAgICAgICAgICAgICAgaWYgKGN1cnJlbnQuZ2V0VGltZSgpID09PSBob3Zlci5nZXRUaW1lKCkgJiYgaG92ZXIgPCBzdGFydCkgeyByZXR1cm4gJ25zbC1zdGFydCc7IH1cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICByZXR1cm4gJ25zbC1lbmQnO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIGNvbnN0IGVuZCA9IG5ldyBEYXRlKHRoaXMuc2VsZWN0ZWRSYW5nZUVuZC55ZWFyLCB0aGlzLnNlbGVjdGVkUmFuZ2VFbmQubW9udGgsIHRoaXMuc2VsZWN0ZWRSYW5nZUVuZC5kYXkpO1xuXG4gICAgICAgICAgaWYgKGN1cnJlbnQuZ2V0VGltZSgpID09PSBzdGFydC5nZXRUaW1lKCkpIHJldHVybiAnc2wgc3RhcnQnO1xuICAgICAgICAgIGlmIChjdXJyZW50LmdldFRpbWUoKSA9PT0gZW5kLmdldFRpbWUoKSkgcmV0dXJuICdzbCBlbmQnO1xuICAgICAgICAgIGlmIChjdXJyZW50ID4gc3RhcnQgJiYgY3VycmVudCA8IGVuZCkgcmV0dXJuICdzbCByYW5nZSc7XG5cbiAgICAgICAgICByZXR1cm4gJ25zbC1zdGFydCc7XG4gICAgICB9XG5cbiAgICAgIHB1YmxpYyBvblNlbGVjdERheShkYXk6IENhbGVuZGFyRGF5KTogdm9pZCB7XG4gICAgICAgICAgaWYgKCFkYXkuaW5DdXJyZW50TW9udGgpIHJldHVybjtcblxuICAgICAgICAgIGlmICghdGhpcy5yYW5nZSkge1xuICAgICAgICAgICAgICB0aGlzLnNlbGVjdGVkRGF5ID0gZGF5O1xuICAgICAgICAgICAgICBjb25zdCBjdXJyZW50RGF0ZSA9IG5ldyBEYXRlKGRheS55ZWFyLCBkYXkubW9udGggKyAxLCBkYXkuZGF5KTtcbiAgICAgICAgICAgICAgdGhpcy5jYWxlbmRhclJlc3BvbnNlLmVtaXQoY3VycmVudERhdGUpO1xuICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgaWYgKCF0aGlzLnNlbGVjdGVkUmFuZ2VTdGFydCB8fCB0aGlzLnNlbGVjdGVkUmFuZ2VFbmQpIHtcbiAgICAgICAgICAgICAgdGhpcy5zZWxlY3RlZFJhbmdlU3RhcnQgPSBkYXk7XG4gICAgICAgICAgICAgIHRoaXMuc2VsZWN0ZWRSYW5nZUVuZCA9IG51bGw7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgY29uc3Qgc3RhcnREYXRlID0gbmV3IERhdGUoXG4gICAgICAgICAgICAgICAgICB0aGlzLnNlbGVjdGVkUmFuZ2VTdGFydC55ZWFyLFxuICAgICAgICAgICAgICAgICAgdGhpcy5zZWxlY3RlZFJhbmdlU3RhcnQubW9udGgsXG4gICAgICAgICAgICAgICAgICB0aGlzLnNlbGVjdGVkUmFuZ2VTdGFydC5kYXkgKTtcblxuICAgICAgICAgICAgICBjb25zdCBzZWxlY3RlZERhdGUgPSBuZXcgRGF0ZShkYXkueWVhciwgZGF5Lm1vbnRoLCBkYXkuZGF5KTtcbiAgICAgICAgICAgICAgc2VsZWN0ZWREYXRlID49IHN0YXJ0RGF0ZSA/IHRoaXMuc2VsZWN0ZWRSYW5nZUVuZCA9IGRheSA6IHRoaXMuc2VsZWN0ZWRSYW5nZVN0YXJ0ID0gZGF5O1xuICAgICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgcHVibGljIGNoYW5nZU1vbnRoKG9mZnNldDogbnVtYmVyKTogdm9pZCB7XG4gICAgICAgICAgY29uc3QgbW9udGggPSB0aGlzLmN1cnJlbnREYXRlLmdldE1vbnRoKCk7XG4gICAgICAgICAgY29uc3QgeWVhciA9IHRoaXMuY3VycmVudERhdGUuZ2V0RnVsbFllYXIoKTtcbiAgICAgICAgICB0aGlzLmN1cnJlbnREYXRlID0gbmV3IERhdGUoeWVhciwgbW9udGggKyBvZmZzZXQsIDEpO1xuICAgICAgfVxuXG4gICAgICBwdWJsaWMgZ2V0TW9udGhHcmlkKCk6IENhbGVuZGFyRGF5W11bXSB7XG4gICAgICAgICAgbGV0IHdlZWs6IENhbGVuZGFyRGF5W10gPSBbXTtcblxuICAgICAgICAgIGNvbnN0IHRvZGF5ID0gbmV3IERhdGUoKTtcbiAgICAgICAgICBjb25zdCBncmlkOiBDYWxlbmRhckRheVtdW10gPSBbXTtcbiAgICAgICAgICBjb25zdCBiYXNlRGF0ZSA9IHRoaXMuY3VycmVudERhdGU7XG4gICAgICAgICAgY29uc3QgbW9udGggPSBiYXNlRGF0ZS5nZXRNb250aCgpO1xuICAgICAgICAgIGNvbnN0IHllYXIgPSBiYXNlRGF0ZS5nZXRGdWxsWWVhcigpO1xuXG4gICAgICAgICAgY29uc3QgZmlyc3REYXkgPSBuZXcgRGF0ZSh5ZWFyLCBtb250aCwgMSk7XG4gICAgICAgICAgY29uc3Qgc3RhcnRXZWVrZGF5ID0gKGZpcnN0RGF5LmdldERheSgpICsgNikgJSA3O1xuICAgICAgICAgIGNvbnN0IGRheXNJbk1vbnRoID0gbmV3IERhdGUoeWVhciwgbW9udGggKyAxLCAwKS5nZXREYXRlKCk7XG4gICAgICAgICAgY29uc3QgZGF5c0luUHJldk1vbnRoID0gbmV3IERhdGUoeWVhciwgbW9udGgsIDApLmdldERhdGUoKTtcblxuICAgICAgICAgIC8vIGZpbGwgZGF5cyBmcm9tIHByZXZpb3VzIG1vbnRoXG4gICAgICAgICAgZm9yIChsZXQgaSA9IHN0YXJ0V2Vla2RheSAtIDE7IGkgPj0gMDsgaS0tKSB7XG4gICAgICAgICAgICAgIGNvbnN0IGRheSA9IGRheXNJblByZXZNb250aCAtIGk7XG4gICAgICAgICAgICAgIHdlZWsucHVzaCh7IGRheSwgbW9udGg6IG1vbnRoIC0gMSwgeWVhciwgaXNUb2RheTogZmFsc2UsIGluQ3VycmVudE1vbnRoOiBmYWxzZSB9KTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAvLyBmaWxsIGRheXMgZnJvbSBjdXJyZW50IG1vbnRoXG4gICAgICAgICAgZm9yIChsZXQgZCA9IDE7IGQgPD0gZGF5c0luTW9udGg7IGQrKykge1xuICAgICAgICAgICAgICBjb25zdCBpc1RvZGF5ID0gZCA9PT0gdG9kYXkuZ2V0RGF0ZSgpICYmIG1vbnRoID09PSB0b2RheS5nZXRNb250aCgpICYmIHllYXIgPT09IHRvZGF5LmdldEZ1bGxZZWFyKCk7XG4gICAgICAgICAgICAgIHdlZWsucHVzaCh7IGRheTogZCwgbW9udGgsIHllYXIsIGlzVG9kYXksIGluQ3VycmVudE1vbnRoOiB0cnVlIH0pO1xuXG4gICAgICAgICAgICAgIGlmICh3ZWVrLmxlbmd0aCA9PT0gNykgeyBncmlkLnB1c2god2Vlayk7IHdlZWsgPSBbXTsgfVxuICAgICAgICAgIH1cblxuICAgICAgICAgIC8vIGZpbGwgcmVtYWluaW5nIGRheXMgZnJvbSBuZXh0IG1vbnRoXG4gICAgICAgICAgbGV0IG5leHREYXkgPSAxO1xuICAgICAgICAgIHdoaWxlICh3ZWVrLmxlbmd0aCA8IDcpIHtcbiAgICAgICAgICAgICAgd2Vlay5wdXNoKHsgZGF5OiBuZXh0RGF5KyssIG1vbnRoOiBtb250aCArIDEsIHllYXIsIGlzVG9kYXk6IGZhbHNlLCBpbkN1cnJlbnRNb250aDogZmFsc2UgfSk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgY29uc3QgaGFzQ3VycmVudE1vbnRoRGF5ID0gd2Vlay5zb21lKGRheSA9PiBkYXkuaW5DdXJyZW50TW9udGgpO1xuICAgICAgICAgIGlmIChoYXNDdXJyZW50TW9udGhEYXkpIHsgZ3JpZC5wdXNoKHdlZWspOyB9XG5cbiAgICAgICAgICByZXR1cm4gZ3JpZDtcbiAgICAgIH1cblxufVxuIiwiPHNlY3Rpb24gY2xhc3M9XCJncmF2aXR5LWNhbGVuZGFyLWhlYWRlclwiPlxuICAgIDxkaXYgY2xhc3M9XCJwcmV2aW91cy1idXR0b25cIj5cbiAgICAgICAgPGdyYXZpdHktaWNvbiAqbmdJZj1cIiEobmF2VHlwZSA9PT0gJ25leHQnKVwiIFtzdHlsZS4tLWljb24tY29sb3JdPVwiJ3ZhcigtLXRleHQtaGlnaGxpZ2h0LXByaW1hcnkpJ1wiIFtpY29uTmFtZV09XCInYXJyb3ctbGVmdCdcIlxuICAgICAgICAgICAgICAgICAgICAgIFtpY29uU2l6ZV09XCInc20tMTInXCIgKGNsaWNrKT1cImNoYW5nZU1vbnRoKC0xKVwiID48L2dyYXZpdHktaWNvbj4gPC9kaXY+XG5cbiAgICAgICAgPGdyYXZpdHktZHJvcGRvd24tbGFiZWwgW2ZvbnRDbGFzc109XCInaHItdGl0bGUgc20tYm9sZCdcIiBbc2l6ZV09XCInc20nXCJcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbGFiZWxdPVwibW9udGhzTGlzdFtjdXJyZW50RGF0ZS5nZXRNb250aCgpXVwiPjwvZ3Jhdml0eS1kcm9wZG93bi1sYWJlbD5cbiAgICAgICAgPGdyYXZpdHktZHJvcGRvd24tbGFiZWwgW2ZvbnRDbGFzc109XCInaHItdGl0bGUgc20tYm9sZCdcIlxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtzaXplXT1cIidzbSdcIiBbbGFiZWxdPVwiY3VycmVudERhdGUuZ2V0RnVsbFllYXIoKS50b1N0cmluZygpXCI+PC9ncmF2aXR5LWRyb3Bkb3duLWxhYmVsPlxuICAgIDxkaXYgY2xhc3M9XCJuZXh0LWJ1dHRvblwiPlxuICAgICAgICA8Z3Jhdml0eS1pY29uICpuZ0lmPVwiIShuYXZUeXBlID09PSAncHJldicpXCIgW3N0eWxlLi0taWNvbi1jb2xvcl09XCIndmFyKC0tdGV4dC1oaWdobGlnaHQtcHJpbWFyeSknXCIgW2ljb25OYW1lXT1cIidhcnJvdy1yaWdodCdcIlxuICAgICAgICAgICAgICAgICAgICAgIFtpY29uU2l6ZV09XCInc20tMTInXCIgKGNsaWNrKT1cImNoYW5nZU1vbnRoKDEpXCI+PC9ncmF2aXR5LWljb24+IDwvZGl2PlxuPC9zZWN0aW9uPlxuXG48c2VjdGlvbiBjbGFzcz1cImdyYXZpdHktY2FsZW5kYXItYm9keVwiPlxuICAgIDxzZWN0aW9uIGNsYXNzPVwiZGF5cy1uYW1lLWxpbmVcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImRheXMtbmFtZVwiPlxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJoci1ib2R5IHNtLXJlZ3VsYXJcIiAqbmdGb3I9XCJsZXQgZGF5IG9mIGRheXNMaXN0XCI+e3tkYXl9fTwvc3Bhbj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJzZXBhcmF0b3ItbGluZVwiPjwvZGl2PlxuICAgIDwvc2VjdGlvbj5cblxuICAgIDxzZWN0aW9uIGNsYXNzPVwiZGF5cy1udW1iZXItc2VsZWN0b3JcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImRheXMtbnVtYmVyLXRhYmxlXCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwid2Vlay1yb3dcIiAqbmdGb3I9XCJsZXQgd2VlayBvZiBnZXRNb250aEdyaWQoKTsgdHJhY2tCeTogdHJhY2tCeVdlZWtcIj5cbiAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJoci1ib2R5IHNtLXJlZ3VsYXJcIiAqbmdGb3I9XCJsZXQgZCBvZiB3ZWVrOyB0cmFja0J5OiB0cmFja0J5RGF5XCJcbiAgICAgICAgICAgICAgICAgICAgW25nQ2xhc3NdPVwiZGlzYWJsZWQgPyAnZGlzYWJsZWQnIDogZ2V0RGF5U2VsZWN0aW9uQ2xhc3MoZClcIlxuICAgICAgICAgICAgICAgICAgICBbY2xhc3MuZGlzYWJsZWRdPVwiIWQuaW5DdXJyZW50TW9udGhcIiBbY2xhc3MudG9kYXldPVwiZC5pc1RvZGF5XCIgW2NsYXNzLnByZXZpZXddPVwicmFuZ2UgPyBpc1ByZXZpZXcoZCkgOiBudWxsXCJcbiAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIm9uU2VsZWN0RGF5KGQpXCIgKG1vdXNlZW50ZXIpPVwicmFuZ2UgPyBvbkhvdmVyRGF5KGQpIDogbnVsbFwiIChtb3VzZWxlYXZlKT1cInJhbmdlID8gY2xlYXJIb3ZlcigpIDogbnVsbFwiPlxuICAgICAgICAgICAgICAgIHt7IGQuZGF5IH19XG4gICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cblxuICAgICAgICA8ZGl2IGNsYXNzPVwiYWN0aW9uLXNlY3Rpb25cIj5cbiAgICAgICAgICAgIDxncmF2aXR5LWxpbmsgKm5nSWY9XCJhY3Rpb25zU2VjdGlvblwiIFtsaW5rVGV4dF09XCJpMThuLmNsZWFyXCIgW3N0YXRlXT1cIiFpc0RhdGVTZWxlY3RlZCgpID8gJ2Rpc2FibGVkJyA6ICdhY3RpdmUnXCIgKGNsaWNrKT1cImNsZWFyU2VsZWN0ZWREYXRlKClcIj48L2dyYXZpdHktbGluaz5cbiAgICAgICAgICAgIDxncmF2aXR5LWJ1dHRvbiAqbmdJZj1cImFjdGlvbnNTZWN0aW9uXCIgW3NpemVdPVwiJ3NtJ1wiIFt0eXBlXT1cIid0ZXJ0aWFyeSdcIiBbZGlzYWJsZWRdPVwiIWlzRGF0ZVNlbGVjdGVkKClcIiAoY2xpY2spPVwiYXBwbHlTZWxlY3RlZERhdGUoKVwiPnt7aTE4bi5hcHBseX19PC9ncmF2aXR5LWJ1dHRvbj5cbiAgICAgICAgPC9kaXY+XG4gICAgPC9zZWN0aW9uPlxuPC9zZWN0aW9uPlxuIl19
|
|
216
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF5cy1jYWxlbmRhci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9ncmF2aXR5LWRlc2lnbi1zeXN0ZW0vc3JjL2xpYi9jb21wb25lbnRzL2dyYXZpdHktY2FsZW5kYXItbmV4dC9jb21wb25lbnRzL2RheXMtY2FsZW5kYXIvZGF5cy1jYWxlbmRhci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9ncmF2aXR5LWRlc2lnbi1zeXN0ZW0vc3JjL2xpYi9jb21wb25lbnRzL2dyYXZpdHktY2FsZW5kYXItbmV4dC9jb21wb25lbnRzL2RheXMtY2FsZW5kYXIvZGF5cy1jYWxlbmRhci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUMsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQWEsTUFBTSxFQUFnQixNQUFNLGVBQWUsQ0FBQztBQUMvRixPQUFPLEVBQUMsYUFBYSxFQUFFLE9BQU8sRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBQyxNQUFNLGlDQUFpQyxDQUFDO0FBQ3RHLE9BQU8sRUFBQyxNQUFNLEVBQUUsYUFBYSxFQUFFLFdBQVcsRUFBRSxhQUFhLEVBQUUsV0FBVyxFQUFFLFVBQVUsR0FBRSxNQUFNLDZCQUE2QixDQUFDOzs7Ozs7O0FBT3hILE1BQU0sT0FBTyxxQkFBcUI7SUFMbEM7UUFNb0IsVUFBSyxHQUFZLEtBQUssQ0FBQztRQUN2QixZQUFPLEdBQVksS0FBSyxDQUFDO1FBQ3pCLGFBQVEsR0FBWSxLQUFLLENBQUM7UUFDMUIsYUFBUSxHQUFnQixJQUFJLENBQUM7UUFFN0IsbUJBQWMsR0FBWSxJQUFJLENBQUM7UUFDL0IsWUFBTyxHQUE2QixNQUFNLENBQUE7UUFFekMsdUJBQWtCLEdBQXVCLElBQUksWUFBWSxFQUFRLENBQUM7UUFDeEQscUJBQWdCLEdBQWdD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O1lBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztTQUFFO1FBRTVDLE9BQU8sSUFBSSxDQUFDO0lBQ2hCLENBQUM7K0dBM0xRLHFCQUFxQjttR0FBckIscUJBQXFCLHFWQ1ZsQyxxOUVBMkNBOzs0RkRqQ2EscUJBQXFCO2tCQUxqQyxTQUFTOytCQUNJLGVBQWU7OEJBS1QsS0FBSztzQkFBcEIsS0FBSztnQkFDVSxPQUFPO3NCQUF0QixLQUFLO2dCQUNVLFFBQVE7c0JBQXZCLEtBQUs7Z0JBQ1UsUUFBUTtzQkFBdkIsS0FBSztnQkFDVSxlQUFlO3NCQUE5QixLQUFLO2dCQUNVLGNBQWM7c0JBQTdCLEtBQUs7Z0JBQ1UsT0FBTztzQkFBdEIsS0FBSztnQkFFVyxrQkFBa0I7c0JBQWxDLE1BQU07Z0JBQ29CLGdCQUFnQjtzQkFBMUMsTUFBTTt1QkFBQyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDYWxlbmRhckRheX0gZnJvbSBcIi4uLy4uL3NoYXJlZC9jYWxlbmRhci5tb2RhbFwiO1xuaW1wb3J0IHtDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uQ2hhbmdlcywgT3V0cHV0LCBTaW1wbGVDaGFuZ2VzfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7Q0FMRU5EQVJfSTE4TiwgREFZU19FTiwgREFZU19FUywgTU9OVEhTX0VOLCBNT05USFNfRVN9IGZyb20gXCIuLi8uLi9zaGFyZWQvY2FsZW5kYXIuY29uc3RhbnRzXCI7XG5pbXBvcnQge3RvRGF0ZSwgZ2V0TW9udGhTdGFydCwgY2hhbmdlTW9udGgsIHRvQ2FsZW5kYXJEYXksIHRyYWNrQnlXZWVrLCB0cmFja0J5RGF5LH0gZnJvbSAnLi4vLi4vc2hhcmVkL2NhbGVuZGFyLnV0aWxzJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdkYXlzLWNhbGVuZGFyJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vZGF5cy1jYWxlbmRhci5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vZGF5cy1jYWxlbmRhci5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIERheXNDYWxlbmRhckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uQ2hhbmdlcyB7XG4gICAgQElucHV0KCkgcHVibGljIHJhbmdlOiBib29sZWFuID0gZmFsc2U7XG4gICAgQElucHV0KCkgcHVibGljIHJlc3RhcnQ6IGJvb2xlYW4gPSBmYWxzZTtcbiAgICBASW5wdXQoKSBwdWJsaWMgZGlzYWJsZWQ6IGJvb2xlYW4gPSBmYWxzZTtcbiAgICBASW5wdXQoKSBwdWJsaWMgbGFuZ3VhZ2U6ICdlcycgfCAnZW4nID0gJ2VuJztcbiAgICBASW5wdXQoKSBwdWJsaWMgcHJlU2VsZWN0ZWREYXRlOiBEYXRlIHwgRGF0ZVtdO1xuICAgIEBJbnB1dCgpIHB1YmxpYyBhY3Rpb25zU2VjdGlvbjogYm9vbGVhbiA9IHRydWU7XG4gICAgQElucHV0KCkgcHVibGljIG5hdlR5cGU6ICdwcmV2JyB8ICduZXh0JyB8ICdib3RoJyA9ICdib3RoJ1xuXG4gICAgQE91dHB1dCgpIHB1YmxpYyBjbGVhclNlbGVjdGlvbkRhdGU6IEV2ZW50RW1pdHRlcjx2b2lkPiA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcbiAgICBAT3V0cHV0KCdyZXNwb25zZScpIHB1YmxpYyBjYWxlbmRhclJlc3BvbnNlOiBFdmVudEVtaXR0ZXI8RGF0ZVtdIHwgRGF0ZT4gPSBuZXcgRXZlbnRFbWl0dGVyPERhdGVbXSB8IERhdGU+KCk7XG5cbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgdHJhY2tCeURheSA9IHRyYWNrQnlEYXk7XG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IHRyYWNrQnlXZWVrID0gdHJhY2tCeVdlZWs7XG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IGNoYW5nZU1vbnRoID0gY2hhbmdlTW9udGg7XG5cbiAgICBwdWJsaWMgY3VycmVudERhdGU6IERhdGUgPSBuZXcgRGF0ZSgpO1xuICAgIHB1YmxpYyBob3ZlcmVkRGF5OiBDYWxlbmRhckRheSB8IG51bGwgPSBudWxsO1xuICAgIHB1YmxpYyBzZWxlY3RlZERheTogQ2FsZW5kYXJEYXkgfCBudWxsID0gbnVsbDtcbiAgICBwdWJsaWMgc2VsZWN0ZWRSYW5nZUVuZDogQ2FsZW5kYXJEYXkgfCBudWxsID0gbnVsbDtcbiAgICBwdWJsaWMgc2VsZWN0ZWRSYW5nZVN0YXJ0OiBDYWxlbmRhckRheSB8IG51bGwgPSBudWxsO1xuXG4gICAgcHVibGljIGdldCBpMThuKCkgeyByZXR1cm4gQ0FMRU5EQVJfSTE4Tlt0aGlzLmxhbmd1YWdlXTsgfVxuICAgIHB1YmxpYyBnZXQgZGF5c0xpc3QoKSB7IHJldHVybiB0aGlzLmxhbmd1YWdlID09PSAnZW4nID8gREFZU19FTiA6IERBWVNfRVM7IH1cbiAgICBwdWJsaWMgZ2V0IG1vbnRoc0xpc3QoKSB7IHJldHVybiB0aGlzLmxhbmd1YWdlID09PSAnZW4nID8gTU9OVEhTX0VOIDogTU9OVEhTX0VTOyB9XG5cbiAgICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IHNob3VsZFJlc3RhcnQgPSBjaGFuZ2VzWydyZXN0YXJ0J10gJiYgdGhpcy5yZXN0YXJ0O1xuICAgICAgICBjb25zdCBzaG91bGRQcm9jZXNzUHJlU2VsZWN0ZWQgPSBjaGFuZ2VzWydwcmVTZWxlY3RlZERhdGUnXSAmJiB0aGlzLnByZVNlbGVjdGVkRGF0ZTtcbiAgICAgICAgaWYgKHNob3VsZFJlc3RhcnQgfHwgc2hvdWxkUHJvY2Vzc1ByZVNlbGVjdGVkKSB7IHRoaXMucHJvY2Vzc1ByZXNlbGVjdGVkRGF0ZSgpOyB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBwcm9jZXNzUHJlc2VsZWN0ZWREYXRlKCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5yYW5nZSAmJiBBcnJheS5pc0FycmF5KHRoaXMucHJlU2VsZWN0ZWREYXRlKSkge1xuICAgICAgICAgICAgY29uc3QgW3N0YXJ0LCBlbmRdID0gdGhpcy5wcmVTZWxlY3RlZERhdGU7XG5cbiAgICAgICAgICAgIGlmIChzdGFydCBpbnN0YW5jZW9mIERhdGUpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnNlbGVjdGVkUmFuZ2VTdGFydCA9IHRvQ2FsZW5kYXJEYXkoc3RhcnQpO1xuICAgICAgICAgICAgICAgIHRoaXMuY3VycmVudERhdGUgPSBnZXRNb250aFN0YXJ0KHN0YXJ0KTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaWYgKGVuZCBpbnN0YW5jZW9mIERhdGUpIHsgdGhpcy5zZWxlY3RlZFJhbmdlRW5kID0gdG9DYWxlbmRhckRheShlbmQpOyB9XG5cbiAgICAgICAgfSBlbHNlIGlmICh0aGlzLnByZVNlbGVjdGVkRGF0ZSBpbnN0YW5jZW9mIERhdGUpIHtcbiAgICAgICAgICAgIHRoaXMuc2VsZWN0ZWREYXkgPSB0b0NhbGVuZGFyRGF5KHRoaXMucHJlU2VsZWN0ZWREYXRlKTtcbiAgICAgICAgICAgIHRoaXMuY3VycmVudERhdGUgPSBnZXRNb250aFN0YXJ0KHRoaXMucHJlU2VsZWN0ZWREYXRlKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHB1YmxpYyBpc0RhdGVTZWxlY3RlZCgpOiBib29sZWFuIHtcbiAgICAgICAgaWYgKCF0aGlzLnJhbmdlKSB7IHJldHVybiAhIXRoaXMuc2VsZWN0ZWREYXk7IH1cbiAgICAgICAgZWxzZSB7IHJldHVybiAhIXRoaXMuc2VsZWN0ZWRSYW5nZVN0YXJ0ICYmICEhdGhpcy5zZWxlY3RlZFJhbmdlRW5kOyB9XG4gICAgfVxuXG4gICAgcHVibGljIGlzUHJldmlldyhkYXk6IENhbGVuZGFyRGF5KTogYm9vbGVhbiB7XG4gICAgICAgIGlmICghdGhpcy5zZWxlY3RlZFJhbmdlU3RhcnQgfHwgdGhpcy5zZWxlY3RlZFJhbmdlRW5kIHx8ICF0aGlzLmhvdmVyZWREYXkpIHsgcmV0dXJuIGZhbHNlOyB9XG5cbiAgICAgICAgY29uc3QgY3VycmVudCA9IHRvRGF0ZShkYXkpO1xuICAgICAgICBjb25zdCBob3ZlciA9IHRvRGF0ZSh0aGlzLmhvdmVyZWREYXkpO1xuICAgICAgICBjb25zdCBzdGFydCA9IHRvRGF0ZSh0aGlzLnNlbGVjdGVkUmFuZ2VTdGFydCk7XG5cbiAgICAgICAgaWYgKGhvdmVyIDw9IHN0YXJ0KSB7IHJldHVybiBmYWxzZTsgfVxuICAgICAgICByZXR1cm4gY3VycmVudCA+IHN0YXJ0ICYmIGN1cnJlbnQgPD0gaG92ZXI7XG4gICAgfVxuXG4gICAgcHVibGljIGdldERheVNlbGVjdGlvbkNsYXNzKGRheTogQ2FsZW5kYXJEYXkpOiBzdHJpbmcge1xuICAgICAgICBpZiAoIWRheS5pbkN1cnJlbnRNb250aCkgcmV0dXJuICdkaXNhYmxlZCc7XG4gICAgICAgIHJldHVybiB0aGlzLnJhbmdlID8gdGhpcy5nZXRSYW5nZVNlbGVjdGlvbkNsYXNzKGRheSkgOiB0aGlzLmdldFNpbmdsZURheVNlbGVjdGlvbkNsYXNzKGRheSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXRTaW5nbGVEYXlTZWxlY3Rpb25DbGFzcyhkYXk6IENhbGVuZGFyRGF5KTogc3RyaW5nIHtcbiAgICAgICAgaWYgKHRoaXMuc2VsZWN0ZWREYXkgJiYgZGF5LmRheSA9PT0gdGhpcy5zZWxlY3RlZERheS5kYXkgJiZcbiAgICAgICAgICAgIGRheS5tb250aCA9PT0gdGhpcy5zZWxlY3RlZERheS5tb250aCAmJiBkYXkueWVhciA9PT0gdGhpcy5zZWxlY3RlZERheS55ZWFyKSB7XG4gICAgICAgICAgICByZXR1cm4gJ3NsIHNpbmdsZSc7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuICcnO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0UmFuZ2VTZWxlY3Rpb25DbGFzcyhkYXk6IENhbGVuZGFyRGF5KTogc3RyaW5nIHtcbiAgICAgICAgaWYgKCF0aGlzLnNlbGVjdGVkUmFuZ2VTdGFydCkgcmV0dXJuICduc2wtc3RhcnQnO1xuXG4gICAgICAgIGNvbnN0IGN1cnJlbnQgPSB0b0RhdGUoZGF5KTtcbiAgICAgICAgY29uc3Qgc3RhcnQgPSB0b0RhdGUodGhpcy5zZWxlY3RlZFJhbmdlU3RhcnQpO1xuXG4gICAgICAgIGlmICghdGhpcy5zZWxlY3RlZFJhbmdlRW5kKSB7XG4gICAgICAgICAgICBpZiAoY3VycmVudC5nZXRUaW1lKCkgPT09IHN0YXJ0LmdldFRpbWUoKSkgcmV0dXJuICdzbCBzdGFydCc7XG5cbiAgICAgICAgICAgIGlmICh0aGlzLmhvdmVyZWREYXkpIHtcbiAgICAgICAgICAgICAgICBjb25zdCBob3ZlciA9IHRvRGF0ZSh0aGlzLmhvdmVyZWREYXkpO1xuICAgICAgICAgICAgICAgIGlmIChjdXJyZW50LmdldFRpbWUoKSA9PT0gaG92ZXIuZ2V0VGltZSgpICYmIGhvdmVyIDwgc3RhcnQpIHJldHVybiAnbnNsLXN0YXJ0JztcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgcmV0dXJuICduc2wtZW5kJztcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IGVuZCA9IHRvRGF0ZSh0aGlzLnNlbGVjdGVkUmFuZ2VFbmQpO1xuXG4gICAgICAgIGlmIChjdXJyZW50LmdldFRpbWUoKSA9PT0gc3RhcnQuZ2V0VGltZSgpKSByZXR1cm4gJ3NsIHN0YXJ0JztcbiAgICAgICAgaWYgKGN1cnJlbnQuZ2V0VGltZSgpID09PSBlbmQuZ2V0VGltZSgpKSByZXR1cm4gJ3NsIGVuZCc7XG4gICAgICAgIGlmIChjdXJyZW50ID4gc3RhcnQgJiYgY3VycmVudCA8IGVuZCkgcmV0dXJuICdzbCByYW5nZSc7XG5cbiAgICAgICAgcmV0dXJuICduc2wtc3RhcnQnO1xuICAgIH1cblxuICAgIHB1YmxpYyBhcHBseVNlbGVjdGVkRGF0ZSgpOiB2b2lkIHtcbiAgICAgICAgaWYgKCF0aGlzLnJhbmdlICYmIHRoaXMuc2VsZWN0ZWREYXkpIHtcbiAgICAgICAgICAgIGNvbnN0IGRhdGUgPSB0b0RhdGUodGhpcy5zZWxlY3RlZERheSlcbiAgICAgICAgICAgIHRoaXMuY2FsZW5kYXJSZXNwb25zZS5lbWl0KGRhdGUpO1xuICAgICAgICB9IGVsc2UgaWYgKHRoaXMucmFuZ2UgJiYgdGhpcy5zZWxlY3RlZFJhbmdlU3RhcnQgJiYgdGhpcy5zZWxlY3RlZFJhbmdlRW5kKSB7XG4gICAgICAgICAgICBjb25zdCBzdGFydCA9IHRvRGF0ZSh0aGlzLnNlbGVjdGVkUmFuZ2VTdGFydCk7XG4gICAgICAgICAgICBjb25zdCBlbmQgPXRvRGF0ZSh0aGlzLnNlbGVjdGVkUmFuZ2VFbmQpO1xuICAgICAgICAgICAgdGhpcy5jYWxlbmRhclJlc3BvbnNlLmVtaXQoW3N0YXJ0LCBlbmRdKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHB1YmxpYyBjbGVhclNlbGVjdGVkRGF0ZSgpIHtcbiAgICAgICAgdGhpcy5zZWxlY3RlZERheSA9IG51bGw7XG4gICAgICAgIHRoaXMuc2VsZWN0ZWRSYW5nZUVuZCA9IG51bGw7XG4gICAgICAgIHRoaXMuc2VsZWN0ZWRSYW5nZVN0YXJ0ID0gbnVsbDtcbiAgICAgICAgdGhpcy5jbGVhclNlbGVjdGlvbkRhdGUuZW1pdCgpO1xuICAgIH1cblxuICAgIHB1YmxpYyBvbkhvdmVyRGF5KGRheTogQ2FsZW5kYXJEYXkpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuc2VsZWN0ZWRSYW5nZUVuZCkgeyByZXR1cm47IH1cbiAgICAgICAgdGhpcy5ob3ZlcmVkRGF5ID0gZGF5O1xuICAgIH1cblxuICAgIHB1YmxpYyBjbGVhckhvdmVyKCk6IHZvaWQgeyB0aGlzLmhvdmVyZWREYXkgPSBudWxsOyB9XG5cbiAgICBwdWJsaWMgb25TZWxlY3REYXkoZGF5OiBDYWxlbmRhckRheSk6IHZvaWQge1xuICAgICAgICBpZiAoIWRheS5pbkN1cnJlbnRNb250aCkgcmV0dXJuO1xuXG4gICAgICAgIGlmICghdGhpcy5yYW5nZSkge1xuICAgICAgICAgICAgdGhpcy5zZWxlY3RlZERheSA9IGRheTtcbiAgICAgICAgICAgIGNvbnN0IGN1cnJlbnREYXRlID0gdG9EYXRlKGRheSlcbiAgICAgICAgICAgIHRoaXMuY2FsZW5kYXJSZXNwb25zZS5lbWl0KGN1cnJlbnREYXRlKTtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICghdGhpcy5zZWxlY3RlZFJhbmdlU3RhcnQgfHwgdGhpcy5zZWxlY3RlZFJhbmdlRW5kKSB7XG4gICAgICAgICAgICB0aGlzLnNlbGVjdGVkUmFuZ2VTdGFydCA9IGRheTtcbiAgICAgICAgICAgIHRoaXMuc2VsZWN0ZWRSYW5nZUVuZCA9IG51bGw7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBjb25zdCBzZWxlY3RlZERhdGUgPSB0b0RhdGUoZGF5KTtcbiAgICAgICAgICAgIGNvbnN0IHN0YXJ0RGF0ZSA9IHRvRGF0ZSh0aGlzLnNlbGVjdGVkUmFuZ2VTdGFydCk7XG4gICAgICAgICAgICBzZWxlY3RlZERhdGUgPj0gc3RhcnREYXRlID8gdGhpcy5zZWxlY3RlZFJhbmdlRW5kID0gZGF5IDogdGhpcy5zZWxlY3RlZFJhbmdlU3RhcnQgPSBkYXk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0TW9udGhHcmlkKCk6IENhbGVuZGFyRGF5W11bXSB7XG4gICAgICAgIGxldCB3ZWVrOiBDYWxlbmRhckRheVtdID0gW107XG5cbiAgICAgICAgY29uc3QgdG9kYXkgPSBuZXcgRGF0ZSgpO1xuICAgICAgICBjb25zdCBncmlkOiBDYWxlbmRhckRheVtdW10gPSBbXTtcbiAgICAgICAgY29uc3QgYmFzZURhdGUgPSB0aGlzLmN1cnJlbnREYXRlO1xuICAgICAgICBjb25zdCBtb250aCA9IGJhc2VEYXRlLmdldE1vbnRoKCk7XG4gICAgICAgIGNvbnN0IHllYXIgPSBiYXNlRGF0ZS5nZXRGdWxsWWVhcigpO1xuXG4gICAgICAgIGNvbnN0IGZpcnN0RGF5ID0gbmV3IERhdGUoeWVhciwgbW9udGgsIDEpO1xuICAgICAgICBjb25zdCBzdGFydFdlZWtkYXkgPSAoZmlyc3REYXkuZ2V0RGF5KCkgKyA2KSAlIDc7XG4gICAgICAgIGNvbnN0IGRheXNJbk1vbnRoID0gbmV3IERhdGUoeWVhciwgbW9udGggKyAxLCAwKS5nZXREYXRlKCk7XG4gICAgICAgIGNvbnN0IGRheXNJblByZXZNb250aCA9IG5ldyBEYXRlKHllYXIsIG1vbnRoLCAwKS5nZXREYXRlKCk7XG5cbiAgICAgICAgLy8gZmlsbCBkYXlzIGZyb20gcHJldmlvdXMgbW9udGhcbiAgICAgICAgZm9yIChsZXQgaSA9IHN0YXJ0V2Vla2RheSAtIDE7IGkgPj0gMDsgaS0tKSB7XG4gICAgICAgICAgICBjb25zdCBkYXkgPSBkYXlzSW5QcmV2TW9udGggLSBpO1xuICAgICAgICAgICAgd2Vlay5wdXNoKHsgZGF5LCBtb250aDogbW9udGggLSAxLCB5ZWFyLCBpc1RvZGF5OiBmYWxzZSwgaW5DdXJyZW50TW9udGg6IGZhbHNlIH0pO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gZmlsbCBkYXlzIGZyb20gY3VycmVudCBtb250aFxuICAgICAgICBmb3IgKGxldCBkID0gMTsgZCA8PSBkYXlzSW5Nb250aDsgZCsrKSB7XG4gICAgICAgICAgICBjb25zdCBpc1RvZGF5ID0gZCA9PT0gdG9kYXkuZ2V0RGF0ZSgpICYmIG1vbnRoID09PSB0b2RheS5nZXRNb250aCgpICYmIHllYXIgPT09IHRvZGF5LmdldEZ1bGxZZWFyKCk7XG4gICAgICAgICAgICB3ZWVrLnB1c2goeyBkYXk6IGQsIG1vbnRoLCB5ZWFyLCBpc1RvZGF5LCBpbkN1cnJlbnRNb250aDogdHJ1ZSB9KTtcblxuICAgICAgICAgICAgaWYgKHdlZWsubGVuZ3RoID09PSA3KSB7IGdyaWQucHVzaCh3ZWVrKTsgd2VlayA9IFtdOyB9XG4gICAgICAgIH1cblxuICAgICAgICAvLyBmaWxsIHJlbWFpbmluZyBkYXlzIGZyb20gbmV4dCBtb250aFxuICAgICAgICBsZXQgbmV4dERheSA9IDE7XG4gICAgICAgIHdoaWxlICh3ZWVrLmxlbmd0aCA8IDcpIHtcbiAgICAgICAgICAgIHdlZWsucHVzaCh7IGRheTogbmV4dERheSsrLCBtb250aDogbW9udGggKyAxLCB5ZWFyLCBpc1RvZGF5OiBmYWxzZSwgaW5DdXJyZW50TW9udGg6IGZhbHNlIH0pO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgaGFzQ3VycmVudE1vbnRoRGF5ID0gd2Vlay5zb21lKGRheSA9PiBkYXkuaW5DdXJyZW50TW9udGgpO1xuICAgICAgICBpZiAoaGFzQ3VycmVudE1vbnRoRGF5KSB7IGdyaWQucHVzaCh3ZWVrKTsgfVxuXG4gICAgICAgIHJldHVybiBncmlkO1xuICAgIH1cblxufSIsIjxzZWN0aW9uIGNsYXNzPVwiZ3Jhdml0eS1jYWxlbmRhci1oZWFkZXJcIj5cbiAgICA8ZGl2IGNsYXNzPVwicHJldmlvdXMtYnV0dG9uXCI+XG4gICAgICAgIDxncmF2aXR5LWljb24gKm5nSWY9XCIhKG5hdlR5cGUgPT09ICduZXh0JylcIiBbc3R5bGUuLS1pY29uLWNvbG9yXT1cIid2YXIoLS10ZXh0LWhpZ2hsaWdodC1wcmltYXJ5KSdcIiBbaWNvbk5hbWVdPVwiJ2Fycm93LWxlZnQnXCJcbiAgICAgICAgICAgICAgICAgICAgICBbaWNvblNpemVdPVwiJ3NtLTEyJ1wiIChjbGljayk9XCJjdXJyZW50RGF0ZSA9IGNoYW5nZU1vbnRoKC0xLCBjdXJyZW50RGF0ZSlcIiA+PC9ncmF2aXR5LWljb24+XG4gICAgPC9kaXY+XG5cbiAgICA8ZGl2IGNsYXNzPVwibW9udGgteWVhci1sYWJlbFwiPlxuICAgICAgICA8Z3Jhdml0eS1kcm9wZG93bi1sYWJlbCBbZm9udENsYXNzXT1cIidoci10aXRsZSBzbS1ib2xkJ1wiIFtzaXplXT1cIidzbSdcIiBbbGFiZWxdPVwibW9udGhzTGlzdFtjdXJyZW50RGF0ZS5nZXRNb250aCgpXVwiPjwvZ3Jhdml0eS1kcm9wZG93bi1sYWJlbD5cbiAgICAgICAgPGdyYXZpdHktZHJvcGRvd24tbGFiZWwgW2ZvbnRDbGFzc109XCInaHItdGl0bGUgc20tYm9sZCdcIiBbc2l6ZV09XCInc20nXCIgW2xhYmVsXT1cImN1cnJlbnREYXRlLmdldEZ1bGxZZWFyKCkudG9TdHJpbmcoKVwiPjwvZ3Jhdml0eS1kcm9wZG93bi1sYWJlbD5cbiAgICA8L2Rpdj5cblxuICAgIDxkaXYgY2xhc3M9XCJuZXh0LWJ1dHRvblwiPlxuICAgICAgICA8Z3Jhdml0eS1pY29uICpuZ0lmPVwiIShuYXZUeXBlID09PSAncHJldicpXCIgW3N0eWxlLi0taWNvbi1jb2xvcl09XCIndmFyKC0tdGV4dC1oaWdobGlnaHQtcHJpbWFyeSknXCIgW2ljb25OYW1lXT1cIidhcnJvdy1yaWdodCdcIlxuICAgICAgICAgICAgICAgICAgICAgIFtpY29uU2l6ZV09XCInc20tMTInXCIgKGNsaWNrKT1cImN1cnJlbnREYXRlID0gY2hhbmdlTW9udGgoMSwgY3VycmVudERhdGUpXCI+PC9ncmF2aXR5LWljb24+XG4gICAgPC9kaXY+XG48L3NlY3Rpb24+XG5cbjxzZWN0aW9uIGNsYXNzPVwiZ3Jhdml0eS1jYWxlbmRhci1ib2R5XCI+XG4gICAgPHNlY3Rpb24gY2xhc3M9XCJkYXlzLW5hbWUtbGluZVwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiZGF5cy1uYW1lXCI+XG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cImhyLWJvZHkgc20tcmVndWxhclwiICpuZ0Zvcj1cImxldCBkYXkgb2YgZGF5c0xpc3RcIj57e2RheX19PC9zcGFuPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz1cInNlcGFyYXRvci1saW5lXCI+PC9kaXY+XG4gICAgPC9zZWN0aW9uPlxuXG4gICAgPHNlY3Rpb24gY2xhc3M9XCJkYXlzLW51bWJlci1zZWxlY3RvclwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiZGF5cy1udW1iZXItdGFibGVcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ3ZWVrLXJvd1wiICpuZ0Zvcj1cImxldCB3ZWVrIG9mIGdldE1vbnRoR3JpZCgpOyB0cmFja0J5OiB0cmFja0J5V2Vla1wiPlxuICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImhyLWJvZHkgc20tcmVndWxhclwiICpuZ0Zvcj1cImxldCBkIG9mIHdlZWs7IHRyYWNrQnk6IHRyYWNrQnlEYXlcIlxuICAgICAgICAgICAgICAgICAgICBbbmdDbGFzc109XCJkaXNhYmxlZCA/ICdkaXNhYmxlZCcgOiBnZXREYXlTZWxlY3Rpb25DbGFzcyhkKVwiXG4gICAgICAgICAgICAgICAgICAgIFtjbGFzcy5kaXNhYmxlZF09XCIhZC5pbkN1cnJlbnRNb250aFwiIFtjbGFzcy50b2RheV09XCJkLmlzVG9kYXlcIiBbY2xhc3MucHJldmlld109XCJyYW5nZSA/IGlzUHJldmlldyhkKSA6IG51bGxcIlxuICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwib25TZWxlY3REYXkoZClcIiAobW91c2VlbnRlcik9XCJyYW5nZSA/IG9uSG92ZXJEYXkoZCkgOiBudWxsXCIgKG1vdXNlbGVhdmUpPVwicmFuZ2UgPyBjbGVhckhvdmVyKCkgOiBudWxsXCI+XG4gICAgICAgICAgICAgICAge3sgZC5kYXkgfX1cbiAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuXG4gICAgICAgIDxkaXYgY2xhc3M9XCJhY3Rpb24tc2VjdGlvblwiPlxuICAgICAgICAgICAgPGdyYXZpdHktbGluayAqbmdJZj1cImFjdGlvbnNTZWN0aW9uXCIgW2xpbmtUZXh0XT1cImkxOG4uY2xlYXJcIiBbc3RhdGVdPVwiIWlzRGF0ZVNlbGVjdGVkKCkgPyAnZGlzYWJsZWQnIDogJ2FjdGl2ZSdcIiAoY2xpY2spPVwiY2xlYXJTZWxlY3RlZERhdGUoKVwiPjwvZ3Jhdml0eS1saW5rPlxuICAgICAgICAgICAgPGdyYXZpdHktYnV0dG9uICpuZ0lmPVwiYWN0aW9uc1NlY3Rpb25cIiBbc2l6ZV09XCInc20nXCIgW3R5cGVdPVwiJ3RlcnRpYXJ5J1wiIFtkaXNhYmxlZF09XCIhaXNEYXRlU2VsZWN0ZWQoKVwiIChjbGljayk9XCJhcHBseVNlbGVjdGVkRGF0ZSgpXCI+e3tpMThuLmFwcGx5fX08L2dyYXZpdHktYnV0dG9uPlxuICAgICAgICA8L2Rpdj5cbiAgICA8L3NlY3Rpb24+XG48L3NlY3Rpb24+XG4iXX0=
|