@skyux/datetime 7.0.0-beta.12 → 7.0.0-beta.13
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/documentation.json +1532 -991
- package/esm2020/lib/modules/date-range-picker/date-range-picker-end-date-resource-key.pipe.mjs +20 -0
- package/esm2020/lib/modules/date-range-picker/date-range-picker-start-date-resource-key.pipe.mjs +20 -0
- package/esm2020/lib/modules/date-range-picker/date-range-picker.component.mjs +262 -204
- package/esm2020/lib/modules/date-range-picker/date-range-picker.module.mjs +11 -3
- package/esm2020/lib/modules/date-range-picker/date-range.service.mjs +42 -38
- package/esm2020/lib/modules/date-range-picker/types/date-range-calculator-date-range-function.mjs +1 -1
- package/esm2020/lib/modules/date-range-picker/types/date-range-calculator-validate-function.mjs +1 -1
- package/esm2020/lib/modules/date-range-picker/types/date-range-calculator.mjs +15 -15
- package/esm2020/lib/modules/date-range-picker/types/date-range-default-calculator-configs.mjs +4 -2
- package/esm2020/lib/modules/date-range-picker/types/date-range.mjs +1 -1
- package/esm2020/lib/modules/datepicker/date-formatter.mjs +2 -2
- package/esm2020/lib/modules/datepicker/datepicker-adapter.service.mjs +7 -14
- package/esm2020/lib/modules/datepicker/datepicker-calendar-inner.component.mjs +43 -20
- package/esm2020/lib/modules/datepicker/datepicker-calendar.component.mjs +28 -35
- package/esm2020/lib/modules/datepicker/datepicker-config.service.mjs +1 -1
- package/esm2020/lib/modules/datepicker/datepicker-input-fuzzy.directive.mjs +223 -209
- package/esm2020/lib/modules/datepicker/datepicker-input.directive.mjs +212 -220
- package/esm2020/lib/modules/datepicker/datepicker.component.mjs +117 -138
- package/esm2020/lib/modules/datepicker/daypicker-button.component.mjs +3 -3
- package/esm2020/lib/modules/datepicker/daypicker-cell.component.mjs +61 -59
- package/esm2020/lib/modules/datepicker/daypicker.component.mjs +143 -137
- package/esm2020/lib/modules/datepicker/fuzzy-date.service.mjs +123 -132
- package/esm2020/lib/modules/datepicker/monthpicker.component.mjs +51 -49
- package/esm2020/lib/modules/datepicker/yearpicker.component.mjs +52 -50
- package/esm2020/lib/modules/timepicker/timepicker.component.mjs +104 -88
- package/esm2020/lib/modules/timepicker/timepicker.directive.mjs +105 -98
- package/fesm2015/skyux-datetime.mjs +1642 -1516
- package/fesm2015/skyux-datetime.mjs.map +1 -1
- package/fesm2020/skyux-datetime.mjs +1618 -1510
- package/fesm2020/skyux-datetime.mjs.map +1 -1
- package/lib/modules/date-range-picker/date-range-picker-end-date-resource-key.pipe.d.ts +8 -0
- package/lib/modules/date-range-picker/date-range-picker-start-date-resource-key.pipe.d.ts +8 -0
- package/lib/modules/date-range-picker/date-range-picker.component.d.ts +14 -43
- package/lib/modules/date-range-picker/date-range-picker.module.d.ts +9 -7
- package/lib/modules/date-range-picker/date-range.service.d.ts +1 -5
- package/lib/modules/date-range-picker/types/date-range-calculator-date-range-function.d.ts +1 -1
- package/lib/modules/date-range-picker/types/date-range-calculator-validate-function.d.ts +1 -1
- package/lib/modules/date-range-picker/types/date-range-calculator.d.ts +3 -8
- package/lib/modules/date-range-picker/types/date-range.d.ts +2 -2
- package/lib/modules/datepicker/date-formatter.d.ts +3 -3
- package/lib/modules/datepicker/datepicker-adapter.service.d.ts +1 -5
- package/lib/modules/datepicker/datepicker-calendar-inner.component.d.ts +18 -19
- package/lib/modules/datepicker/datepicker-calendar.component.d.ts +14 -25
- package/lib/modules/datepicker/datepicker-config.service.d.ts +3 -3
- package/lib/modules/datepicker/datepicker-input-fuzzy.directive.d.ts +17 -53
- package/lib/modules/datepicker/datepicker-input.directive.d.ts +13 -68
- package/lib/modules/datepicker/datepicker.component.d.ts +21 -58
- package/lib/modules/datepicker/daypicker-button.component.d.ts +1 -1
- package/lib/modules/datepicker/daypicker-cell.component.d.ts +3 -10
- package/lib/modules/datepicker/daypicker.component.d.ts +4 -16
- package/lib/modules/datepicker/fuzzy-date.service.d.ts +6 -30
- package/lib/modules/datepicker/monthpicker.component.d.ts +1 -4
- package/lib/modules/datepicker/yearpicker.component.d.ts +1 -3
- package/lib/modules/timepicker/timepicker.component.d.ts +14 -32
- package/lib/modules/timepicker/timepicker.directive.d.ts +9 -27
- package/package.json +8 -8
@@ -1,3 +1,5 @@
|
|
1
|
+
var _SkyDatepickerComponent_instances, _SkyDatepickerComponent_affixer, _SkyDatepickerComponent_calendarUnsubscribe, _SkyDatepickerComponent_customDatesSubscription, _SkyDatepickerComponent_ngUnsubscribe, _SkyDatepickerComponent_overlay, _SkyDatepickerComponent_overlayKeydownListner, _SkyDatepickerComponent__calendarRef, _SkyDatepickerComponent__disabled, _SkyDatepickerComponent__selectedDate, _SkyDatepickerComponent_affixService, _SkyDatepickerComponent_changeDetector, _SkyDatepickerComponent_coreAdapter, _SkyDatepickerComponent_overlayService, _SkyDatepickerComponent_closePicker, _SkyDatepickerComponent_openPicker, _SkyDatepickerComponent_createAffixer, _SkyDatepickerComponent_destroyAffixer, _SkyDatepickerComponent_createOverlay, _SkyDatepickerComponent_destroyOverlay, _SkyDatepickerComponent_addKeydownListener, _SkyDatepickerComponent_removePickerEventListeners, _SkyDatepickerComponent_cancelCustomDatesSubscription;
|
2
|
+
import { __classPrivateFieldGet, __classPrivateFieldSet } from "tslib";
|
1
3
|
import { ChangeDetectionStrategy, ChangeDetectorRef, Component, ElementRef, EventEmitter, Input, Optional, Output, TemplateRef, ViewChild, } from '@angular/core';
|
2
4
|
import { SkyAffixAutoFitContext, SkyAffixService, SkyCoreAdapterService, SkyOverlayService, } from '@skyux/core';
|
3
5
|
import { SkyInputBoxHostService } from '@skyux/forms';
|
@@ -20,11 +22,8 @@ let nextId = 0;
|
|
20
22
|
*/
|
21
23
|
export class SkyDatepickerComponent {
|
22
24
|
constructor(affixService, changeDetector, coreAdapter, overlayService, inputBoxHostService, themeSvc) {
|
23
|
-
this.affixService = affixService;
|
24
|
-
this.changeDetector = changeDetector;
|
25
|
-
this.coreAdapter = coreAdapter;
|
26
|
-
this.overlayService = overlayService;
|
27
25
|
this.inputBoxHostService = inputBoxHostService;
|
26
|
+
_SkyDatepickerComponent_instances.add(this);
|
28
27
|
/**
|
29
28
|
* Adds a class to the datepicker.
|
30
29
|
* @default ""
|
@@ -40,86 +39,74 @@ export class SkyDatepickerComponent {
|
|
40
39
|
this.isDaypickerWaiting = false;
|
41
40
|
this.isOpen = false;
|
42
41
|
this.isVisible = false;
|
43
|
-
this
|
44
|
-
this
|
42
|
+
_SkyDatepickerComponent_affixer.set(this, void 0);
|
43
|
+
_SkyDatepickerComponent_calendarUnsubscribe.set(this, new Subject());
|
44
|
+
_SkyDatepickerComponent_customDatesSubscription.set(this, void 0);
|
45
|
+
_SkyDatepickerComponent_ngUnsubscribe.set(this, new Subject());
|
46
|
+
_SkyDatepickerComponent_overlay.set(this, void 0);
|
47
|
+
_SkyDatepickerComponent_overlayKeydownListner.set(this, void 0);
|
48
|
+
_SkyDatepickerComponent__calendarRef.set(this, void 0);
|
49
|
+
_SkyDatepickerComponent__disabled.set(this, false);
|
50
|
+
_SkyDatepickerComponent__selectedDate.set(this, void 0);
|
51
|
+
_SkyDatepickerComponent_affixService.set(this, void 0);
|
52
|
+
_SkyDatepickerComponent_changeDetector.set(this, void 0);
|
53
|
+
_SkyDatepickerComponent_coreAdapter.set(this, void 0);
|
54
|
+
_SkyDatepickerComponent_overlayService.set(this, void 0);
|
55
|
+
__classPrivateFieldSet(this, _SkyDatepickerComponent_affixService, affixService, "f");
|
56
|
+
__classPrivateFieldSet(this, _SkyDatepickerComponent_changeDetector, changeDetector, "f");
|
57
|
+
__classPrivateFieldSet(this, _SkyDatepickerComponent_coreAdapter, coreAdapter, "f");
|
58
|
+
__classPrivateFieldSet(this, _SkyDatepickerComponent_overlayService, overlayService, "f");
|
45
59
|
const uniqueId = nextId++;
|
46
60
|
this.calendarId = `sky-datepicker-calendar-${uniqueId}`;
|
47
61
|
this.triggerButtonId = `sky-datepicker-button-${uniqueId}`;
|
48
62
|
// Update icons when theme changes.
|
49
63
|
themeSvc?.settingsChange
|
50
|
-
.pipe(takeUntil(this
|
64
|
+
.pipe(takeUntil(__classPrivateFieldGet(this, _SkyDatepickerComponent_ngUnsubscribe, "f")))
|
51
65
|
.subscribe(() => {
|
52
|
-
this.
|
66
|
+
__classPrivateFieldGet(this, _SkyDatepickerComponent_changeDetector, "f").markForCheck();
|
53
67
|
});
|
54
68
|
}
|
55
|
-
/**
|
56
|
-
* @internal
|
57
|
-
* Indicates if the calendar button element or any of its children have focus.
|
58
|
-
* @deprecated This property will be removed in the next major version release.
|
59
|
-
*/
|
60
|
-
get buttonIsFocused() {
|
61
|
-
/* sanity check */
|
62
|
-
/* istanbul ignore if */
|
63
|
-
if (!this.triggerButtonRef) {
|
64
|
-
return false;
|
65
|
-
}
|
66
|
-
const activeEl = document.activeElement;
|
67
|
-
return this.triggerButtonRef.nativeElement === activeEl;
|
68
|
-
}
|
69
|
-
/**
|
70
|
-
* @internal
|
71
|
-
* Indicates if the calendar element or any of its children have focus.
|
72
|
-
* @deprecated This property will be removed in the next major version release.
|
73
|
-
*/
|
74
|
-
get calendarIsFocused() {
|
75
|
-
if (!this.calendarRef) {
|
76
|
-
return false;
|
77
|
-
}
|
78
|
-
const focusedEl = document.activeElement;
|
79
|
-
return this.calendarRef.nativeElement.contains(focusedEl);
|
80
|
-
}
|
81
|
-
/**
|
82
|
-
* @internal
|
83
|
-
* Indicates if the calendar element's visiblity property is 'visible'.
|
84
|
-
* @deprecated This property will be removed in the next major version release.
|
85
|
-
*/
|
86
|
-
get calendarIsVisible() {
|
87
|
-
return this.calendar ? this.calendar.isVisible : false;
|
88
|
-
}
|
89
69
|
get disabled() {
|
90
|
-
return this
|
70
|
+
return __classPrivateFieldGet(this, _SkyDatepickerComponent__disabled, "f");
|
91
71
|
}
|
92
72
|
set disabled(value) {
|
93
|
-
this
|
94
|
-
this.
|
73
|
+
__classPrivateFieldSet(this, _SkyDatepickerComponent__disabled, value, "f");
|
74
|
+
__classPrivateFieldGet(this, _SkyDatepickerComponent_changeDetector, "f").markForCheck();
|
95
75
|
}
|
96
76
|
set selectedDate(value) {
|
97
|
-
this
|
77
|
+
__classPrivateFieldSet(this, _SkyDatepickerComponent__selectedDate, value, "f");
|
98
78
|
if (this.calendar) {
|
99
|
-
this.calendar.writeValue(
|
79
|
+
this.calendar.writeValue(value);
|
100
80
|
}
|
101
81
|
}
|
82
|
+
get selectedDate() {
|
83
|
+
return __classPrivateFieldGet(this, _SkyDatepickerComponent__selectedDate, "f");
|
84
|
+
}
|
102
85
|
set calendarRef(value) {
|
103
86
|
if (value) {
|
104
|
-
this
|
87
|
+
__classPrivateFieldSet(this, _SkyDatepickerComponent__calendarRef, value, "f");
|
105
88
|
// Wait for the calendar component to render before gauging dimensions.
|
106
89
|
setTimeout(() => {
|
107
|
-
|
108
|
-
|
109
|
-
|
110
|
-
|
111
|
-
|
112
|
-
|
113
|
-
|
114
|
-
|
90
|
+
if (this.calendarRef) {
|
91
|
+
this.calendar?.writeValue(this.selectedDate);
|
92
|
+
__classPrivateFieldGet(this, _SkyDatepickerComponent_instances, "m", _SkyDatepickerComponent_destroyAffixer).call(this);
|
93
|
+
__classPrivateFieldGet(this, _SkyDatepickerComponent_instances, "m", _SkyDatepickerComponent_createAffixer).call(this);
|
94
|
+
setTimeout(() => {
|
95
|
+
if (this.calendarRef) {
|
96
|
+
__classPrivateFieldGet(this, _SkyDatepickerComponent_coreAdapter, "f").getFocusableChildrenAndApplyFocus(this.calendarRef, '.sky-datepicker-calendar-inner', false);
|
97
|
+
this.isVisible = true;
|
98
|
+
__classPrivateFieldGet(this, _SkyDatepickerComponent_changeDetector, "f").markForCheck();
|
99
|
+
}
|
100
|
+
});
|
101
|
+
}
|
115
102
|
});
|
116
103
|
}
|
117
104
|
}
|
118
105
|
get calendarRef() {
|
119
|
-
return this
|
106
|
+
return __classPrivateFieldGet(this, _SkyDatepickerComponent__calendarRef, "f");
|
120
107
|
}
|
121
108
|
ngOnInit() {
|
122
|
-
if (this.inputBoxHostService) {
|
109
|
+
if (this.inputBoxHostService && this.inputTemplateRef) {
|
123
110
|
this.inputBoxHostService.populate({
|
124
111
|
inputTemplate: this.inputTemplateRef,
|
125
112
|
buttonsTemplate: this.triggerButtonTemplateRef,
|
@@ -128,34 +115,34 @@ export class SkyDatepickerComponent {
|
|
128
115
|
}
|
129
116
|
ngOnDestroy() {
|
130
117
|
this.dateChange.complete();
|
131
|
-
this.
|
132
|
-
this.
|
133
|
-
this.
|
134
|
-
this.
|
135
|
-
this.
|
118
|
+
__classPrivateFieldGet(this, _SkyDatepickerComponent_ngUnsubscribe, "f").next();
|
119
|
+
__classPrivateFieldGet(this, _SkyDatepickerComponent_ngUnsubscribe, "f").complete();
|
120
|
+
__classPrivateFieldGet(this, _SkyDatepickerComponent_instances, "m", _SkyDatepickerComponent_removePickerEventListeners).call(this);
|
121
|
+
__classPrivateFieldGet(this, _SkyDatepickerComponent_instances, "m", _SkyDatepickerComponent_destroyAffixer).call(this);
|
122
|
+
__classPrivateFieldGet(this, _SkyDatepickerComponent_instances, "m", _SkyDatepickerComponent_destroyOverlay).call(this);
|
136
123
|
}
|
137
124
|
onCalendarModeChange() {
|
138
125
|
// Let the calendar populate in the DOM before recalculating placement.
|
139
126
|
setTimeout(() => {
|
140
|
-
this
|
127
|
+
__classPrivateFieldGet(this, _SkyDatepickerComponent_affixer, "f")?.reaffix();
|
141
128
|
});
|
142
129
|
}
|
143
130
|
onSelectedDateChange(value) {
|
144
131
|
this.dateChange.emit(value);
|
145
|
-
this.
|
132
|
+
__classPrivateFieldGet(this, _SkyDatepickerComponent_instances, "m", _SkyDatepickerComponent_closePicker).call(this);
|
146
133
|
}
|
147
134
|
onTriggerButtonClick() {
|
148
135
|
if (this.isOpen) {
|
149
|
-
this.
|
136
|
+
__classPrivateFieldGet(this, _SkyDatepickerComponent_instances, "m", _SkyDatepickerComponent_closePicker).call(this);
|
150
137
|
}
|
151
138
|
else {
|
152
|
-
this.
|
139
|
+
__classPrivateFieldGet(this, _SkyDatepickerComponent_instances, "m", _SkyDatepickerComponent_openPicker).call(this);
|
153
140
|
}
|
154
141
|
}
|
155
142
|
onCalendarDateRangeChange(event) {
|
156
143
|
/* istanbul ignore else */
|
157
144
|
if (event) {
|
158
|
-
this.
|
145
|
+
__classPrivateFieldGet(this, _SkyDatepickerComponent_instances, "m", _SkyDatepickerComponent_cancelCustomDatesSubscription).call(this);
|
159
146
|
const args = {
|
160
147
|
startDate: event.startDate,
|
161
148
|
endDate: event.endDate,
|
@@ -167,15 +154,15 @@ export class SkyDatepickerComponent {
|
|
167
154
|
if (args.customDates) {
|
168
155
|
this.isDaypickerWaiting = true;
|
169
156
|
// Avoid an ExpressionChangedAfterItHasBeenCheckedError.
|
170
|
-
this.
|
171
|
-
this
|
157
|
+
__classPrivateFieldGet(this, _SkyDatepickerComponent_changeDetector, "f").detectChanges();
|
158
|
+
__classPrivateFieldSet(this, _SkyDatepickerComponent_customDatesSubscription, args.customDates
|
172
159
|
.pipe(debounceTime(250))
|
173
160
|
.subscribe((result) => {
|
174
161
|
this.customDates = result;
|
175
162
|
this.isDaypickerWaiting = false;
|
176
163
|
// Trigger change detection in child components to show changes in the calendar.
|
177
|
-
this.
|
178
|
-
});
|
164
|
+
__classPrivateFieldGet(this, _SkyDatepickerComponent_changeDetector, "f").markForCheck();
|
165
|
+
}), "f");
|
179
166
|
}
|
180
167
|
else {
|
181
168
|
// If consumer returns an undefined value after custom dates have
|
@@ -183,36 +170,35 @@ export class SkyDatepickerComponent {
|
|
183
170
|
if (this.customDates) {
|
184
171
|
this.customDates = undefined;
|
185
172
|
// Avoid an ExpressionChangedAfterItHasBeenCheckedError.
|
186
|
-
this.
|
173
|
+
__classPrivateFieldGet(this, _SkyDatepickerComponent_changeDetector, "f").detectChanges();
|
187
174
|
}
|
188
175
|
}
|
189
176
|
}
|
190
177
|
}
|
191
|
-
|
192
|
-
|
193
|
-
|
194
|
-
|
195
|
-
|
196
|
-
|
197
|
-
|
198
|
-
|
199
|
-
|
200
|
-
|
201
|
-
|
202
|
-
|
203
|
-
|
204
|
-
|
205
|
-
|
206
|
-
|
207
|
-
|
208
|
-
|
209
|
-
const affixer = this.affixService.createAffixer(this.calendarRef);
|
178
|
+
}
|
179
|
+
_SkyDatepickerComponent_affixer = new WeakMap(), _SkyDatepickerComponent_calendarUnsubscribe = new WeakMap(), _SkyDatepickerComponent_customDatesSubscription = new WeakMap(), _SkyDatepickerComponent_ngUnsubscribe = new WeakMap(), _SkyDatepickerComponent_overlay = new WeakMap(), _SkyDatepickerComponent_overlayKeydownListner = new WeakMap(), _SkyDatepickerComponent__calendarRef = new WeakMap(), _SkyDatepickerComponent__disabled = new WeakMap(), _SkyDatepickerComponent__selectedDate = new WeakMap(), _SkyDatepickerComponent_affixService = new WeakMap(), _SkyDatepickerComponent_changeDetector = new WeakMap(), _SkyDatepickerComponent_coreAdapter = new WeakMap(), _SkyDatepickerComponent_overlayService = new WeakMap(), _SkyDatepickerComponent_instances = new WeakSet(), _SkyDatepickerComponent_closePicker = function _SkyDatepickerComponent_closePicker() {
|
180
|
+
__classPrivateFieldGet(this, _SkyDatepickerComponent_instances, "m", _SkyDatepickerComponent_destroyAffixer).call(this);
|
181
|
+
__classPrivateFieldGet(this, _SkyDatepickerComponent_instances, "m", _SkyDatepickerComponent_destroyOverlay).call(this);
|
182
|
+
__classPrivateFieldGet(this, _SkyDatepickerComponent_instances, "m", _SkyDatepickerComponent_removePickerEventListeners).call(this);
|
183
|
+
this.triggerButtonRef?.nativeElement.focus();
|
184
|
+
this.isOpen = false;
|
185
|
+
}, _SkyDatepickerComponent_openPicker = function _SkyDatepickerComponent_openPicker() {
|
186
|
+
this.isVisible = false;
|
187
|
+
__classPrivateFieldGet(this, _SkyDatepickerComponent_changeDetector, "f").markForCheck();
|
188
|
+
__classPrivateFieldGet(this, _SkyDatepickerComponent_instances, "m", _SkyDatepickerComponent_removePickerEventListeners).call(this);
|
189
|
+
__classPrivateFieldGet(this, _SkyDatepickerComponent_instances, "m", _SkyDatepickerComponent_destroyOverlay).call(this);
|
190
|
+
__classPrivateFieldGet(this, _SkyDatepickerComponent_instances, "m", _SkyDatepickerComponent_createOverlay).call(this);
|
191
|
+
this.isOpen = true;
|
192
|
+
__classPrivateFieldGet(this, _SkyDatepickerComponent_changeDetector, "f").markForCheck();
|
193
|
+
}, _SkyDatepickerComponent_createAffixer = function _SkyDatepickerComponent_createAffixer() {
|
194
|
+
if (this.calendarRef && this.triggerButtonRef) {
|
195
|
+
const affixer = __classPrivateFieldGet(this, _SkyDatepickerComponent_affixService, "f").createAffixer(this.calendarRef);
|
210
196
|
// Hide calendar when trigger button is scrolled off screen.
|
211
197
|
affixer.placementChange
|
212
|
-
.pipe(takeUntil(this
|
198
|
+
.pipe(takeUntil(__classPrivateFieldGet(this, _SkyDatepickerComponent_calendarUnsubscribe, "f")))
|
213
199
|
.subscribe((change) => {
|
214
200
|
this.isVisible = change.placement !== null;
|
215
|
-
this.
|
201
|
+
__classPrivateFieldGet(this, _SkyDatepickerComponent_changeDetector, "f").markForCheck();
|
216
202
|
});
|
217
203
|
affixer.affixTo(this.triggerButtonRef.nativeElement, {
|
218
204
|
autoFitContext: SkyAffixAutoFitContext.Viewport,
|
@@ -221,66 +207,59 @@ export class SkyDatepickerComponent {
|
|
221
207
|
isSticky: true,
|
222
208
|
placement: 'below',
|
223
209
|
});
|
224
|
-
this
|
210
|
+
__classPrivateFieldSet(this, _SkyDatepickerComponent_affixer, affixer, "f");
|
225
211
|
}
|
226
|
-
|
227
|
-
|
228
|
-
|
229
|
-
|
230
|
-
|
231
|
-
}
|
212
|
+
}, _SkyDatepickerComponent_destroyAffixer = function _SkyDatepickerComponent_destroyAffixer() {
|
213
|
+
/*istanbul ignore else*/
|
214
|
+
if (__classPrivateFieldGet(this, _SkyDatepickerComponent_affixer, "f")) {
|
215
|
+
__classPrivateFieldGet(this, _SkyDatepickerComponent_affixer, "f").destroy();
|
216
|
+
__classPrivateFieldSet(this, _SkyDatepickerComponent_affixer, undefined, "f");
|
232
217
|
}
|
233
|
-
|
234
|
-
|
218
|
+
}, _SkyDatepickerComponent_createOverlay = function _SkyDatepickerComponent_createOverlay() {
|
219
|
+
if (this.calendarTemplateRef) {
|
220
|
+
const overlay = __classPrivateFieldGet(this, _SkyDatepickerComponent_overlayService, "f").create({
|
235
221
|
wrapperClass: this.pickerClass,
|
236
222
|
enableClose: false,
|
237
223
|
enablePointerEvents: false,
|
238
224
|
});
|
239
225
|
overlay.backdropClick
|
240
|
-
.pipe(takeUntil(this
|
226
|
+
.pipe(takeUntil(__classPrivateFieldGet(this, _SkyDatepickerComponent_calendarUnsubscribe, "f")))
|
241
227
|
.subscribe(() => {
|
242
228
|
/* istanbul ignore else */
|
243
229
|
if (this.isOpen) {
|
244
|
-
this.
|
230
|
+
__classPrivateFieldGet(this, _SkyDatepickerComponent_instances, "m", _SkyDatepickerComponent_closePicker).call(this);
|
245
231
|
}
|
246
232
|
});
|
247
|
-
this.
|
233
|
+
__classPrivateFieldGet(this, _SkyDatepickerComponent_instances, "m", _SkyDatepickerComponent_addKeydownListener).call(this);
|
248
234
|
overlay.attachTemplate(this.calendarTemplateRef);
|
249
|
-
this
|
250
|
-
}
|
251
|
-
destroyOverlay() {
|
252
|
-
/*istanbul ignore else*/
|
253
|
-
if (this.overlay) {
|
254
|
-
this.overlayService.close(this.overlay);
|
255
|
-
this.overlay = undefined;
|
256
|
-
}
|
257
|
-
}
|
258
|
-
addKeydownListner() {
|
259
|
-
this.overlayKeydownListner = fromEvent(window.document, 'keydown')
|
260
|
-
.pipe(takeUntil(this.ngUnsubscribe))
|
261
|
-
.subscribe((event) => {
|
262
|
-
const key = event.key?.toLowerCase();
|
263
|
-
if (key === 'escape' && this.isOpen) {
|
264
|
-
this.closePicker();
|
265
|
-
}
|
266
|
-
});
|
235
|
+
__classPrivateFieldSet(this, _SkyDatepickerComponent_overlay, overlay, "f");
|
267
236
|
}
|
268
|
-
|
269
|
-
|
270
|
-
|
271
|
-
|
272
|
-
|
273
|
-
this.calendarUnsubscribe = undefined;
|
274
|
-
}
|
275
|
-
this.overlayKeydownListner?.unsubscribe();
|
237
|
+
}, _SkyDatepickerComponent_destroyOverlay = function _SkyDatepickerComponent_destroyOverlay() {
|
238
|
+
/*istanbul ignore else*/
|
239
|
+
if (__classPrivateFieldGet(this, _SkyDatepickerComponent_overlay, "f")) {
|
240
|
+
__classPrivateFieldGet(this, _SkyDatepickerComponent_overlayService, "f").close(__classPrivateFieldGet(this, _SkyDatepickerComponent_overlay, "f"));
|
241
|
+
__classPrivateFieldSet(this, _SkyDatepickerComponent_overlay, undefined, "f");
|
276
242
|
}
|
277
|
-
|
278
|
-
|
279
|
-
|
280
|
-
|
243
|
+
}, _SkyDatepickerComponent_addKeydownListener = function _SkyDatepickerComponent_addKeydownListener() {
|
244
|
+
__classPrivateFieldSet(this, _SkyDatepickerComponent_overlayKeydownListner, fromEvent(window.document, 'keydown')
|
245
|
+
.pipe(takeUntil(__classPrivateFieldGet(this, _SkyDatepickerComponent_ngUnsubscribe, "f")))
|
246
|
+
.subscribe((event) => {
|
247
|
+
const key = event.key?.toLowerCase();
|
248
|
+
if (key === 'escape' && this.isOpen) {
|
249
|
+
__classPrivateFieldGet(this, _SkyDatepickerComponent_instances, "m", _SkyDatepickerComponent_closePicker).call(this);
|
281
250
|
}
|
251
|
+
}), "f");
|
252
|
+
}, _SkyDatepickerComponent_removePickerEventListeners = function _SkyDatepickerComponent_removePickerEventListeners() {
|
253
|
+
__classPrivateFieldGet(this, _SkyDatepickerComponent_calendarUnsubscribe, "f").next();
|
254
|
+
__classPrivateFieldGet(this, _SkyDatepickerComponent_calendarUnsubscribe, "f").complete();
|
255
|
+
__classPrivateFieldSet(this, _SkyDatepickerComponent_calendarUnsubscribe, new Subject(), "f");
|
256
|
+
__classPrivateFieldGet(this, _SkyDatepickerComponent_overlayKeydownListner, "f")?.unsubscribe();
|
257
|
+
}, _SkyDatepickerComponent_cancelCustomDatesSubscription = function _SkyDatepickerComponent_cancelCustomDatesSubscription() {
|
258
|
+
if (__classPrivateFieldGet(this, _SkyDatepickerComponent_customDatesSubscription, "f")) {
|
259
|
+
__classPrivateFieldGet(this, _SkyDatepickerComponent_customDatesSubscription, "f").unsubscribe();
|
260
|
+
__classPrivateFieldSet(this, _SkyDatepickerComponent_customDatesSubscription, undefined, "f");
|
282
261
|
}
|
283
|
-
}
|
262
|
+
};
|
284
263
|
SkyDatepickerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: SkyDatepickerComponent, deps: [{ token: i1.SkyAffixService }, { token: i0.ChangeDetectorRef }, { token: i1.SkyCoreAdapterService }, { token: i1.SkyOverlayService }, { token: i2.SkyInputBoxHostService, optional: true }, { token: i3.SkyThemeService, optional: true }], target: i0.ɵɵFactoryTarget.Component });
|
285
264
|
SkyDatepickerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.0", type: SkyDatepickerComponent, selector: "sky-datepicker", inputs: { pickerClass: "pickerClass" }, outputs: { calendarDateRangeChange: "calendarDateRangeChange" }, viewQueries: [{ propertyName: "calendar", first: true, predicate: SkyDatepickerCalendarComponent, descendants: true }, { propertyName: "calendarRef", first: true, predicate: ["calendarRef"], descendants: true, read: ElementRef }, { propertyName: "calendarTemplateRef", first: true, predicate: ["calendarTemplateRef"], descendants: true, read: TemplateRef }, { propertyName: "triggerButtonRef", first: true, predicate: ["triggerButtonRef"], descendants: true, read: ElementRef }, { propertyName: "inputTemplateRef", first: true, predicate: ["inputTemplateRef"], descendants: true, read: TemplateRef, static: true }, { propertyName: "triggerButtonTemplateRef", first: true, predicate: ["triggerButtonTemplateRef"], descendants: true, read: TemplateRef, static: true }], ngImport: i0, template: "<div class=\"sky-datepicker\">\n <ng-container *ngIf=\"!inputBoxHostService\">\n <div class=\"sky-input-group\">\n <ng-container *ngTemplateOutlet=\"inputTemplateRef\"></ng-container>\n <ng-container *ngTemplateOutlet=\"triggerButtonTemplateRef\"></ng-container>\n </div>\n </ng-container>\n</div>\n\n<ng-template #inputTemplateRef>\n <ng-content></ng-content>\n</ng-template>\n\n<ng-template #triggerButtonTemplateRef>\n <div class=\"sky-input-group-btn\">\n <button\n aria-haspopup=\"dialog\"\n class=\"sky-btn sky-btn-default sky-input-group-datepicker-btn\"\n type=\"button\"\n [attr.aria-controls]=\"isOpen ? calendarId : null\"\n [attr.aria-expanded]=\"isOpen\"\n [attr.aria-label]=\"\n 'skyux_datepicker_trigger_button_label' | skyLibResources\n \"\n [attr.id]=\"triggerButtonId\"\n [attr.title]=\"'skyux_datepicker_trigger_button_label' | skyLibResources\"\n [disabled]=\"disabled\"\n (click)=\"onTriggerButtonClick()\"\n #triggerButtonRef\n >\n <sky-icon *skyThemeIf=\"'default'\" icon=\"calendar\" size=\"lg\"></sky-icon>\n <sky-icon\n *skyThemeIf=\"'modern'\"\n icon=\"calendar\"\n size=\"lg\"\n iconType=\"skyux\"\n ></sky-icon>\n </button>\n </div>\n</ng-template>\n\n<ng-template #calendarTemplateRef>\n <div\n class=\"sky-datepicker-calendar-container sky-shadow sky-elevation-4\"\n role=\"dialog\"\n [attr.aria-labelledby]=\"triggerButtonId\"\n [attr.id]=\"calendarId\"\n [class.sky-datepicker-hidden]=\"!isVisible\"\n #calendarRef\n >\n <sky-datepicker-calendar\n [customDates]=\"customDates\"\n [isDaypickerWaiting]=\"isDaypickerWaiting\"\n [maxDate]=\"maxDate\"\n [minDate]=\"minDate\"\n [startingDay]=\"startingDay\"\n (calendarDateRangeChange)=\"onCalendarDateRangeChange($event)\"\n (calendarModeChange)=\"onCalendarModeChange()\"\n (selectedDateChange)=\"onSelectedDateChange($event)\"\n >\n </sky-datepicker-calendar>\n </div>\n</ng-template>\n", styles: [".sky-datepicker-calendar-container{position:fixed;border-radius:5px}.sky-datepicker-hidden{visibility:hidden}\n"], dependencies: [{ kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i5.λ4, selector: "sky-icon", inputs: ["icon", "iconType", "size", "fixedWidth", "variant"] }, { kind: "directive", type: i3.λ3, selector: "[skyThemeIf]", inputs: ["skyThemeIf"] }, { kind: "component", type: i6.SkyDatepickerCalendarComponent, selector: "sky-datepicker-calendar", inputs: ["customDates", "isDaypickerWaiting", "minDate", "maxDate", "selectedDate", "startingDay"], outputs: ["calendarDateRangeChange", "calendarModeChange", "selectedDateChange"] }, { kind: "pipe", type: i7.SkyLibResourcesPipe, name: "skyLibResources" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
286
265
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: SkyDatepickerComponent, decorators: [{
|
@@ -325,4 +304,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImpor
|
|
325
304
|
static: true,
|
326
305
|
}]
|
327
306
|
}] } });
|
328
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZXBpY2tlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvZGF0ZXRpbWUvc3JjL2xpYi9tb2R1bGVzL2RhdGVwaWNrZXIvZGF0ZXBpY2tlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvZGF0ZXRpbWUvc3JjL2xpYi9tb2R1bGVzL2RhdGVwaWNrZXIvZGF0ZXBpY2tlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsVUFBVSxFQUNWLFlBQVksRUFDWixLQUFLLEVBR0wsUUFBUSxFQUNSLE1BQU0sRUFDTixXQUFXLEVBQ1gsU0FBUyxHQUNWLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFDTCxzQkFBc0IsRUFDdEIsZUFBZSxFQUVmLHFCQUFxQixFQUVyQixpQkFBaUIsR0FDbEIsTUFBTSxhQUFhLENBQUM7QUFDckIsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQ3RELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFFL0MsT0FBTyxFQUFFLE9BQU8sRUFBZ0IsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3hELE9BQU8sRUFBRSxZQUFZLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFHekQsT0FBTyxFQUFFLDhCQUE4QixFQUFFLE1BQU0saUNBQWlDLENBQUM7Ozs7Ozs7OztBQUdqRixJQUFJLE1BQU0sR0FBRyxDQUFDLENBQUM7QUFFZjs7O0dBR0c7QUFPSCxNQUFNLE9BQU8sc0JBQXNCO0lBcUtqQyxZQUNVLFlBQTZCLEVBQzdCLGNBQWlDLEVBQ2pDLFdBQWtDLEVBQ2xDLGNBQWlDLEVBQ3RCLG1CQUE0QyxFQUNuRCxR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Y3Rpb25TdHJhdGVneSxcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIENvbXBvbmVudCxcbiAgRWxlbWVudFJlZixcbiAgRXZlbnRFbWl0dGVyLFxuICBJbnB1dCxcbiAgT25EZXN0cm95LFxuICBPbkluaXQsXG4gIE9wdGlvbmFsLFxuICBPdXRwdXQsXG4gIFRlbXBsYXRlUmVmLFxuICBWaWV3Q2hpbGQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgU2t5QWZmaXhBdXRvRml0Q29udGV4dCxcbiAgU2t5QWZmaXhTZXJ2aWNlLFxuICBTa3lBZmZpeGVyLFxuICBTa3lDb3JlQWRhcHRlclNlcnZpY2UsXG4gIFNreU92ZXJsYXlJbnN0YW5jZSxcbiAgU2t5T3ZlcmxheVNlcnZpY2UsXG59IGZyb20gJ0Bza3l1eC9jb3JlJztcbmltcG9ydCB7IFNreUlucHV0Qm94SG9zdFNlcnZpY2UgfSBmcm9tICdAc2t5dXgvZm9ybXMnO1xuaW1wb3J0IHsgU2t5VGhlbWVTZXJ2aWNlIH0gZnJvbSAnQHNreXV4L3RoZW1lJztcblxuaW1wb3J0IHsgU3ViamVjdCwgU3Vic2NyaXB0aW9uLCBmcm9tRXZlbnQgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGRlYm91bmNlVGltZSwgdGFrZVVudGlsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQgeyBTa3lEYXRlcGlja2VyQ2FsZW5kYXJDaGFuZ2UgfSBmcm9tICcuL2RhdGVwaWNrZXItY2FsZW5kYXItY2hhbmdlJztcbmltcG9ydCB7IFNreURhdGVwaWNrZXJDYWxlbmRhckNvbXBvbmVudCB9IGZyb20gJy4vZGF0ZXBpY2tlci1jYWxlbmRhci5jb21wb25lbnQnO1xuaW1wb3J0IHsgU2t5RGF0ZXBpY2tlckN1c3RvbURhdGUgfSBmcm9tICcuL2RhdGVwaWNrZXItY3VzdG9tLWRhdGUnO1xuXG5sZXQgbmV4dElkID0gMDtcblxuLyoqXG4gKiBDcmVhdGVzIHRoZSBkYXRlcGlja2VyIGJ1dHRvbiBhbmQgY2FsZW5kYXIuXG4gKiBZb3UgbXVzdCB3cmFwIHRoaXMgY29tcG9uZW50IGFyb3VuZCBhbiBpbnB1dCB3aXRoIHRoZSBgc2t5RGF0ZXBpY2tlcklucHV0YCBkaXJlY3RpdmUuXG4gKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3NreS1kYXRlcGlja2VyJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2RhdGVwaWNrZXIuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9kYXRlcGlja2VyLmNvbXBvbmVudC5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBTa3lEYXRlcGlja2VyQ29tcG9uZW50IGltcGxlbWVudHMgT25EZXN0cm95LCBPbkluaXQge1xuICAvKipcbiAgICogQWRkcyBhIGNsYXNzIHRvIHRoZSBkYXRlcGlja2VyLlxuICAgKiBAZGVmYXVsdCBcIlwiXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgcGlja2VyQ2xhc3MgPSAnJztcblxuICAvKipcbiAgICogQGludGVybmFsXG4gICAqIEluZGljYXRlcyBpZiB0aGUgY2FsZW5kYXIgYnV0dG9uIGVsZW1lbnQgb3IgYW55IG9mIGl0cyBjaGlsZHJlbiBoYXZlIGZvY3VzLlxuICAgKiBAZGVwcmVjYXRlZCBUaGlzIHByb3BlcnR5IHdpbGwgYmUgcmVtb3ZlZCBpbiB0aGUgbmV4dCBtYWpvciB2ZXJzaW9uIHJlbGVhc2UuXG4gICAqL1xuICBwdWJsaWMgZ2V0IGJ1dHRvbklzRm9jdXNlZCgpOiBib29sZWFuIHtcbiAgICAvKiBzYW5pdHkgY2hlY2sgKi9cbiAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgaWYgKi9cbiAgICBpZiAoIXRoaXMudHJpZ2dlckJ1dHRvblJlZikge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgICBjb25zdCBhY3RpdmVFbCA9IGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQ7XG4gICAgcmV0dXJuIHRoaXMudHJpZ2dlckJ1dHRvblJlZi5uYXRpdmVFbGVtZW50ID09PSBhY3RpdmVFbDtcbiAgfVxuXG4gIC8qKlxuICAgKiBAaW50ZXJuYWxcbiAgICogSW5kaWNhdGVzIGlmIHRoZSBjYWxlbmRhciBlbGVtZW50IG9yIGFueSBvZiBpdHMgY2hpbGRyZW4gaGF2ZSBmb2N1cy5cbiAgICogQGRlcHJlY2F0ZWQgVGhpcyBwcm9wZXJ0eSB3aWxsIGJlIHJlbW92ZWQgaW4gdGhlIG5leHQgbWFqb3IgdmVyc2lvbiByZWxlYXNlLlxuICAgKi9cbiAgcHVibGljIGdldCBjYWxlbmRhcklzRm9jdXNlZCgpOiBib29sZWFuIHtcbiAgICBpZiAoIXRoaXMuY2FsZW5kYXJSZWYpIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG5cbiAgICBjb25zdCBmb2N1c2VkRWwgPSBkb2N1bWVudC5hY3RpdmVFbGVtZW50O1xuICAgIHJldHVybiB0aGlzLmNhbGVuZGFyUmVmLm5hdGl2ZUVsZW1lbnQuY29udGFpbnMoZm9jdXNlZEVsKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBAaW50ZXJuYWxcbiAgICogSW5kaWNhdGVzIGlmIHRoZSBjYWxlbmRhciBlbGVtZW50J3MgdmlzaWJsaXR5IHByb3BlcnR5IGlzICd2aXNpYmxlJy5cbiAgICogQGRlcHJlY2F0ZWQgVGhpcyBwcm9wZXJ0eSB3aWxsIGJlIHJlbW92ZWQgaW4gdGhlIG5leHQgbWFqb3IgdmVyc2lvbiByZWxlYXNlLlxuICAgKi9cbiAgcHVibGljIGdldCBjYWxlbmRhcklzVmlzaWJsZSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5jYWxlbmRhciA/IHRoaXMuY2FsZW5kYXIuaXNWaXNpYmxlIDogZmFsc2U7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGRpc2FibGVkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLl9kaXNhYmxlZDtcbiAgfVxuXG4gIHB1YmxpYyBzZXQgZGlzYWJsZWQodmFsdWU6IGJvb2xlYW4pIHtcbiAgICB0aGlzLl9kaXNhYmxlZCA9IHZhbHVlO1xuICAgIHRoaXMuY2hhbmdlRGV0ZWN0b3IubWFya0ZvckNoZWNrKCk7XG4gIH1cblxuICBwdWJsaWMgc2V0IHNlbGVjdGVkRGF0ZSh2YWx1ZTogRGF0ZSkge1xuICAgIHRoaXMuX3NlbGVjdGVkRGF0ZSA9IHZhbHVlO1xuICAgIGlmICh0aGlzLmNhbGVuZGFyKSB7XG4gICAgICB0aGlzLmNhbGVuZGFyLndyaXRlVmFsdWUodGhpcy5fc2VsZWN0ZWREYXRlKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogRmlyZXMgd2hlbiB0aGUgcmFuZ2Ugb2YgZGlzcGxheWVkIGRhdGVzIGluIHRoZSBjYWxlbmRhciBjaGFuZ2VzLiBQcm92aWRlcyB0aGVcbiAgICogY3VycmVudCByYW5nZSBvZiBkaXNwbGF5ZWQgZGF0ZXMgYW5kIGEgbXV0YWJsZSBgY3VzdG9tRGF0ZWAgcHJvcGVydHkgY29uc3VtZXJzIGNhbiB1c2VcbiAgICogdG8gbW9kaWZ5IGluZGl2aWR1YWwgZGF0ZXMgb24gdGhlIGNhbGVuZGFyLlxuICAgKi9cbiAgQE91dHB1dCgpXG4gIHB1YmxpYyBjYWxlbmRhckRhdGVSYW5nZUNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8U2t5RGF0ZXBpY2tlckNhbGVuZGFyQ2hhbmdlPigpO1xuXG4gIHB1YmxpYyBjYWxlbmRhcklkOiBzdHJpbmc7XG5cbiAgcHVibGljIGN1c3RvbURhdGVzOiBTa3lEYXRlcGlja2VyQ3VzdG9tRGF0ZVtdIHwgdW5kZWZpbmVkO1xuXG4gIHB1YmxpYyBkYXRlQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxEYXRlPigpO1xuXG4gIHB1YmxpYyBpc0RheXBpY2tlcldhaXRpbmcgPSBmYWxzZTtcblxuICBwdWJsaWMgaXNPcGVuID0gZmFsc2U7XG5cbiAgcHVibGljIGlzVmlzaWJsZSA9IGZhbHNlO1xuXG4gIHB1YmxpYyBtYXhEYXRlOiBEYXRlO1xuXG4gIHB1YmxpYyBtaW5EYXRlOiBEYXRlO1xuXG4gIHB1YmxpYyBzdGFydGluZ0RheTogbnVtYmVyO1xuXG4gIHB1YmxpYyB0cmlnZ2VyQnV0dG9uSWQ6IHN0cmluZztcblxuICBAVmlld0NoaWxkKFNreURhdGVwaWNrZXJDYWxlbmRhckNvbXBvbmVudClcbiAgcHJpdmF0ZSBjYWxlbmRhcjogU2t5RGF0ZXBpY2tlckNhbGVuZGFyQ29tcG9uZW50O1xuXG4gIEBWaWV3Q2hpbGQoJ2NhbGVuZGFyUmVmJywge1xuICAgIHJlYWQ6IEVsZW1lbnRSZWYsXG4gIH0pXG4gIHByaXZhdGUgc2V0IGNhbGVuZGFyUmVmKHZhbHVlOiBFbGVtZW50UmVmKSB7XG4gICAgaWYgKHZhbHVlKSB7XG4gICAgICB0aGlzLl9jYWxlbmRhclJlZiA9IHZhbHVlO1xuXG4gICAgICAvLyBXYWl0IGZvciB0aGUgY2FsZW5kYXIgY29tcG9uZW50IHRvIHJlbmRlciBiZWZvcmUgZ2F1Z2luZyBkaW1lbnNpb25zLlxuICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgIHRoaXMuY2FsZW5kYXIud3JpdGVWYWx1ZSh0aGlzLl9zZWxlY3RlZERhdGUpO1xuXG4gICAgICAgIHRoaXMuZGVzdHJveUFmZml4ZXIoKTtcbiAgICAgICAgdGhpcy5jcmVhdGVBZmZpeGVyKCk7XG5cbiAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgdGhpcy5jb3JlQWRhcHRlci5nZXRGb2N1c2FibGVDaGlsZHJlbkFuZEFwcGx5Rm9jdXMoXG4gICAgICAgICAgICB0aGlzLmNhbGVuZGFyUmVmLFxuICAgICAgICAgICAgJy5za3ktZGF0ZXBpY2tlci1jYWxlbmRhci1pbm5lcicsXG4gICAgICAgICAgICBmYWxzZVxuICAgICAgICAgICk7XG5cbiAgICAgICAgICB0aGlzLmlzVmlzaWJsZSA9IHRydWU7XG4gICAgICAgICAgdGhpcy5jaGFuZ2VEZXRlY3Rvci5tYXJrRm9yQ2hlY2soKTtcbiAgICAgICAgfSk7XG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGdldCBjYWxlbmRhclJlZigpOiBFbGVtZW50UmVmIHtcbiAgICByZXR1cm4gdGhpcy5fY2FsZW5kYXJSZWY7XG4gIH1cblxuICBAVmlld0NoaWxkKCdjYWxlbmRhclRlbXBsYXRlUmVmJywge1xuICAgIHJlYWQ6IFRlbXBsYXRlUmVmLFxuICB9KVxuICBwcml2YXRlIGNhbGVuZGFyVGVtcGxhdGVSZWY6IFRlbXBsYXRlUmVmPHVua25vd24+O1xuXG4gIEBWaWV3Q2hpbGQoJ3RyaWdnZXJCdXR0b25SZWYnLCB7XG4gICAgcmVhZDogRWxlbWVudFJlZixcbiAgfSlcbiAgcHJpdmF0ZSB0cmlnZ2VyQnV0dG9uUmVmOiBFbGVtZW50UmVmO1xuXG4gIEBWaWV3Q2hpbGQoJ2lucHV0VGVtcGxhdGVSZWYnLCB7XG4gICAgcmVhZDogVGVtcGxhdGVSZWYsXG4gICAgc3RhdGljOiB0cnVlLFxuICB9KVxuICBwcml2YXRlIGlucHV0VGVtcGxhdGVSZWY6IFRlbXBsYXRlUmVmPHVua25vd24+O1xuXG4gIEBWaWV3Q2hpbGQoJ3RyaWdnZXJCdXR0b25UZW1wbGF0ZVJlZicsIHtcbiAgICByZWFkOiBUZW1wbGF0ZVJlZixcbiAgICBzdGF0aWM6IHRydWUsXG4gIH0pXG4gIHByaXZhdGUgdHJpZ2dlckJ1dHRvblRlbXBsYXRlUmVmOiBUZW1wbGF0ZVJlZjx1bmtub3duPjtcblxuICBwcml2YXRlIGFmZml4ZXI6IFNreUFmZml4ZXI7XG5cbiAgcHJpdmF0ZSBjYWxlbmRhclVuc3Vic2NyaWJlOiBTdWJqZWN0PHZvaWQ+O1xuXG4gIHByaXZhdGUgY3VzdG9tRGF0ZXNTdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbjtcblxuICBwcml2YXRlIG5nVW5zdWJzY3JpYmUgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuXG4gIHByaXZhdGUgb3ZlcmxheTogU2t5T3ZlcmxheUluc3RhbmNlO1xuXG4gIHByaXZhdGUgb3ZlcmxheUtleWRvd25MaXN0bmVyOiBTdWJzY3JpcHRpb247XG5cbiAgcHJpdmF0ZSBfY2FsZW5kYXJSZWY6IEVsZW1lbnRSZWY7XG5cbiAgcHJpdmF0ZSBfZGlzYWJsZWQgPSBmYWxzZTtcblxuICBwcml2YXRlIF9zZWxlY3RlZERhdGU6IERhdGU7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBhZmZpeFNlcnZpY2U6IFNreUFmZml4U2VydmljZSxcbiAgICBwcml2YXRlIGNoYW5nZURldGVjdG9yOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBwcml2YXRlIGNvcmVBZGFwdGVyOiBTa3lDb3JlQWRhcHRlclNlcnZpY2UsXG4gICAgcHJpdmF0ZSBvdmVybGF5U2VydmljZTogU2t5T3ZlcmxheVNlcnZpY2UsXG4gICAgQE9wdGlvbmFsKCkgcHVibGljIGlucHV0Qm94SG9zdFNlcnZpY2U/OiBTa3lJbnB1dEJveEhvc3RTZXJ2aWNlLFxuICAgIEBPcHRpb25hbCgpIHRoZW1lU3ZjPzogU2t5VGhlbWVTZXJ2aWNlXG4gICkge1xuICAgIGNvbnN0IHVuaXF1ZUlkID0gbmV4dElkKys7XG4gICAgdGhpcy5jYWxlbmRhcklkID0gYHNreS1kYXRlcGlja2VyLWNhbGVuZGFyLSR7dW5pcXVlSWR9YDtcbiAgICB0aGlzLnRyaWdnZXJCdXR0b25JZCA9IGBza3ktZGF0ZXBpY2tlci1idXR0b24tJHt1bmlxdWVJZH1gO1xuXG4gICAgLy8gVXBkYXRlIGljb25zIHdoZW4gdGhlbWUgY2hhbmdlcy5cbiAgICB0aGVtZVN2Yz8uc2V0dGluZ3NDaGFuZ2VcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLm5nVW5zdWJzY3JpYmUpKVxuICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgIHRoaXMuY2hhbmdlRGV0ZWN0b3IubWFya0ZvckNoZWNrKCk7XG4gICAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5pbnB1dEJveEhvc3RTZXJ2aWNlKSB7XG4gICAgICB0aGlzLmlucHV0Qm94SG9zdFNlcnZpY2UucG9wdWxhdGUoe1xuICAgICAgICBpbnB1dFRlbXBsYXRlOiB0aGlzLmlucHV0VGVtcGxhdGVSZWYsXG4gICAgICAgIGJ1dHRvbnNUZW1wbGF0ZTogdGhpcy50cmlnZ2VyQnV0dG9uVGVtcGxhdGVSZWYsXG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5kYXRlQ2hhbmdlLmNvbXBsZXRlKCk7XG4gICAgdGhpcy5uZ1Vuc3Vic2NyaWJlLm5leHQoKTtcbiAgICB0aGlzLm5nVW5zdWJzY3JpYmUuY29tcGxldGUoKTtcbiAgICB0aGlzLnJlbW92ZVBpY2tlckV2ZW50TGlzdGVuZXJzKCk7XG4gICAgdGhpcy5kZXN0cm95QWZmaXhlcigpO1xuICAgIHRoaXMuZGVzdHJveU92ZXJsYXkoKTtcbiAgfVxuXG4gIHB1YmxpYyBvbkNhbGVuZGFyTW9kZUNoYW5nZSgpOiB2b2lkIHtcbiAgICAvLyBMZXQgdGhlIGNhbGVuZGFyIHBvcHVsYXRlIGluIHRoZSBET00gYmVmb3JlIHJlY2FsY3VsYXRpbmcgcGxhY2VtZW50LlxuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgdGhpcy5hZmZpeGVyLnJlYWZmaXgoKTtcbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBvblNlbGVjdGVkRGF0ZUNoYW5nZSh2YWx1ZTogRGF0ZSk6IHZvaWQge1xuICAgIHRoaXMuZGF0ZUNoYW5nZS5lbWl0KHZhbHVlKTtcbiAgICB0aGlzLmNsb3NlUGlja2VyKCk7XG4gIH1cblxuICBwdWJsaWMgb25UcmlnZ2VyQnV0dG9uQ2xpY2soKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuaXNPcGVuKSB7XG4gICAgICB0aGlzLmNsb3NlUGlja2VyKCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMub3BlblBpY2tlcigpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBvbkNhbGVuZGFyRGF0ZVJhbmdlQ2hhbmdlKGV2ZW50OiBTa3lEYXRlcGlja2VyQ2FsZW5kYXJDaGFuZ2UpOiB2b2lkIHtcbiAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgZWxzZSAqL1xuICAgIGlmIChldmVudCkge1xuICAgICAgdGhpcy5jYW5jZWxDdXN0b21EYXRlc1N1YnNjcmlwdGlvbigpO1xuXG4gICAgICBjb25zdCBhcmdzOiBTa3lEYXRlcGlja2VyQ2FsZW5kYXJDaGFuZ2UgPSB7XG4gICAgICAgIHN0YXJ0RGF0ZTogZXZlbnQuc3RhcnREYXRlLFxuICAgICAgICBlbmREYXRlOiBldmVudC5lbmREYXRlLFxuICAgICAgICBjdXN0b21EYXRlczogdW5kZWZpbmVkLFxuICAgICAgfTtcbiAgICAgIHRoaXMuY2FsZW5kYXJEYXRlUmFuZ2VDaGFuZ2UuZW1pdChhcmdzKTtcbiAgICAgIC8vIElmIGNvbnN1bWVyIGhhcyBhZGRlZCBhbiBvYnNlcnZhYmxlIHRvIHRoZSBhcmdzLCB3YXRjaCBmb3IgaW5jb21pbmcgY3VzdG9tIGRhdGVzLlxuICAgICAgLyogaXN0YW5idWwgaWdub3JlIGVsc2UgKi9cbiAgICAgIGlmIChhcmdzLmN1c3RvbURhdGVzKSB7XG4gICAgICAgIHRoaXMuaXNEYXlwaWNrZXJXYWl0aW5nID0gdHJ1ZTtcbiAgICAgICAgLy8gQXZvaWQgYW4gRXhwcmVzc2lvbkNoYW5nZWRBZnRlckl0SGFzQmVlbkNoZWNrZWRFcnJvci5cbiAgICAgICAgdGhpcy5jaGFuZ2VEZXRlY3Rvci5kZXRlY3RDaGFuZ2VzKCk7XG5cbiAgICAgICAgdGhpcy5jdXN0b21EYXRlc1N1YnNjcmlwdGlvbiA9IGFyZ3MuY3VzdG9tRGF0ZXNcbiAgICAgICAgICAucGlwZShkZWJvdW5jZVRpbWUoMjUwKSlcbiAgICAgICAgICAuc3Vic2NyaWJlKChyZXN1bHQpID0+IHtcbiAgICAgICAgICAgIHRoaXMuY3VzdG9tRGF0ZXMgPSByZXN1bHQ7XG4gICAgICAgICAgICB0aGlzLmlzRGF5cGlja2VyV2FpdGluZyA9IGZhbHNlO1xuXG4gICAgICAgICAgICAvLyBUcmlnZ2VyIGNoYW5nZSBkZXRlY3Rpb24gaW4gY2hpbGQgY29tcG9uZW50cyB0byBzaG93IGNoYW5nZXMgaW4gdGhlIGNhbGVuZGFyLlxuICAgICAgICAgICAgdGhpcy5jaGFuZ2VEZXRlY3Rvci5tYXJrRm9yQ2hlY2soKTtcbiAgICAgICAgICB9KTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIC8vIElmIGNvbnN1bWVyIHJldHVybnMgYW4gdW5kZWZpbmVkIHZhbHVlIGFmdGVyIGN1c3RvbSBkYXRlcyBoYXZlXG4gICAgICAgIC8vIGFscmVhZHkgYmVuIGVzdGFibGlzaGVkLCByZW1vdmUgY3VzdG9tIGRhdGVzLlxuICAgICAgICBpZiAodGhpcy5jdXN0b21EYXRlcykge1xuICAgICAgICAgIHRoaXMuY3VzdG9tRGF0ZXMgPSB1bmRlZmluZWQ7XG4gICAgICAgICAgLy8gQXZvaWQgYW4gRXhwcmVzc2lvbkNoYW5nZWRBZnRlckl0SGFzQmVlbkNoZWNrZWRFcnJvci5cbiAgICAgICAgICB0aGlzLmNoYW5nZURldGVjdG9yLmRldGVjdENoYW5nZXMoKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgY2xvc2VQaWNrZXIoKSB7XG4gICAgdGhpcy5kZXN0cm95QWZmaXhlcigpO1xuICAgIHRoaXMuZGVzdHJveU92ZXJsYXkoKTtcbiAgICB0aGlzLnJlbW92ZVBpY2tlckV2ZW50TGlzdGVuZXJzKCk7XG4gICAgdGhpcy50cmlnZ2VyQnV0dG9uUmVmLm5hdGl2ZUVsZW1lbnQuZm9jdXMoKTtcbiAgICB0aGlzLmlzT3BlbiA9IGZhbHNlO1xuICB9XG5cbiAgcHJpdmF0ZSBvcGVuUGlja2VyKCk6IHZvaWQge1xuICAgIHRoaXMuaXNWaXNpYmxlID0gZmFsc2U7XG4gICAgdGhpcy5jaGFuZ2VEZXRlY3Rvci5tYXJrRm9yQ2hlY2soKTtcblxuICAgIHRoaXMucmVtb3ZlUGlja2VyRXZlbnRMaXN0ZW5lcnMoKTtcbiAgICB0aGlzLmNhbGVuZGFyVW5zdWJzY3JpYmUgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuICAgIHRoaXMuZGVzdHJveU92ZXJsYXkoKTtcbiAgICB0aGlzLmNyZWF0ZU92ZXJsYXkoKTtcblxuICAgIHRoaXMuaXNPcGVuID0gdHJ1ZTtcbiAgICB0aGlzLmNoYW5nZURldGVjdG9yLm1hcmtGb3JDaGVjaygpO1xuICB9XG5cbiAgcHJpdmF0ZSBjcmVhdGVBZmZpeGVyKCk6IHZvaWQge1xuICAgIGNvbnN0IGFmZml4ZXIgPSB0aGlzLmFmZml4U2VydmljZS5jcmVhdGVBZmZpeGVyKHRoaXMuY2FsZW5kYXJSZWYpO1xuXG4gICAgLy8gSGlkZSBjYWxlbmRhciB3aGVuIHRyaWdnZXIgYnV0dG9uIGlzIHNjcm9sbGVkIG9mZiBzY3JlZW4uXG4gICAgYWZmaXhlci5wbGFjZW1lbnRDaGFuZ2VcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLmNhbGVuZGFyVW5zdWJzY3JpYmUpKVxuICAgICAgLnN1YnNjcmliZSgoY2hhbmdlKSA9PiB7XG4gICAgICAgIHRoaXMuaXNWaXNpYmxlID0gY2hhbmdlLnBsYWNlbWVudCAhPT0gbnVsbDtcbiAgICAgICAgdGhpcy5jaGFuZ2VEZXRlY3Rvci5tYXJrRm9yQ2hlY2soKTtcbiAgICAgIH0pO1xuXG4gICAgYWZmaXhlci5hZmZpeFRvKHRoaXMudHJpZ2dlckJ1dHRvblJlZi5uYXRpdmVFbGVtZW50LCB7XG4gICAgICBhdXRvRml0Q29udGV4dDogU2t5QWZmaXhBdXRvRml0Q29udGV4dC5WaWV3cG9ydCxcbiAgICAgIGVuYWJsZUF1dG9GaXQ6IHRydWUsXG4gICAgICBob3Jpem9udGFsQWxpZ25tZW50OiAncmlnaHQnLFxuICAgICAgaXNTdGlja3k6IHRydWUsXG4gICAgICBwbGFjZW1lbnQ6ICdiZWxvdycsXG4gICAgfSk7XG5cbiAgICB0aGlzLmFmZml4ZXIgPSBhZmZpeGVyO1xuICB9XG5cbiAgcHJpdmF0ZSBkZXN0cm95QWZmaXhlcigpOiB2b2lkIHtcbiAgICAvKmlzdGFuYnVsIGlnbm9yZSBlbHNlKi9cbiAgICBpZiAodGhpcy5hZmZpeGVyKSB7XG4gICAgICB0aGlzLmFmZml4ZXIuZGVzdHJveSgpO1xuICAgICAgdGhpcy5hZmZpeGVyID0gdW5kZWZpbmVkO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgY3JlYXRlT3ZlcmxheSgpOiB2b2lkIHtcbiAgICBjb25zdCBvdmVybGF5ID0gdGhpcy5vdmVybGF5U2VydmljZS5jcmVhdGUoe1xuICAgICAgd3JhcHBlckNsYXNzOiB0aGlzLnBpY2tlckNsYXNzLFxuICAgICAgZW5hYmxlQ2xvc2U6IGZhbHNlLFxuICAgICAgZW5hYmxlUG9pbnRlckV2ZW50czogZmFsc2UsXG4gICAgfSk7XG5cbiAgICBvdmVybGF5LmJhY2tkcm9wQ2xpY2tcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLmNhbGVuZGFyVW5zdWJzY3JpYmUpKVxuICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBlbHNlICovXG4gICAgICAgIGlmICh0aGlzLmlzT3Blbikge1xuICAgICAgICAgIHRoaXMuY2xvc2VQaWNrZXIoKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG5cbiAgICB0aGlzLmFkZEtleWRvd25MaXN0bmVyKCk7XG5cbiAgICBvdmVybGF5LmF0dGFjaFRlbXBsYXRlKHRoaXMuY2FsZW5kYXJUZW1wbGF0ZVJlZik7XG5cbiAgICB0aGlzLm92ZXJsYXkgPSBvdmVybGF5O1xuICB9XG5cbiAgcHJpdmF0ZSBkZXN0cm95T3ZlcmxheSgpOiB2b2lkIHtcbiAgICAvKmlzdGFuYnVsIGlnbm9yZSBlbHNlKi9cbiAgICBpZiAodGhpcy5vdmVybGF5KSB7XG4gICAgICB0aGlzLm92ZXJsYXlTZXJ2aWNlLmNsb3NlKHRoaXMub3ZlcmxheSk7XG4gICAgICB0aGlzLm92ZXJsYXkgPSB1bmRlZmluZWQ7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBhZGRLZXlkb3duTGlzdG5lcigpOiB2b2lkIHtcbiAgICB0aGlzLm92ZXJsYXlLZXlkb3duTGlzdG5lciA9IGZyb21FdmVudCh3aW5kb3cuZG9jdW1lbnQsICdrZXlkb3duJylcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLm5nVW5zdWJzY3JpYmUpKVxuICAgICAgLnN1YnNjcmliZSgoZXZlbnQ6IEtleWJvYXJkRXZlbnQpID0+IHtcbiAgICAgICAgY29uc3Qga2V5ID0gZXZlbnQua2V5Py50b0xvd2VyQ2FzZSgpO1xuICAgICAgICBpZiAoa2V5ID09PSAnZXNjYXBlJyAmJiB0aGlzLmlzT3Blbikge1xuICAgICAgICAgIHRoaXMuY2xvc2VQaWNrZXIoKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gIH1cblxuICBwcml2YXRlIHJlbW92ZVBpY2tlckV2ZW50TGlzdGVuZXJzKCk6IHZvaWQge1xuICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBlbHNlICovXG4gICAgaWYgKHRoaXMuY2FsZW5kYXJVbnN1YnNjcmliZSkge1xuICAgICAgdGhpcy5jYWxlbmRhclVuc3Vic2NyaWJlLm5leHQoKTtcbiAgICAgIHRoaXMuY2FsZW5kYXJVbnN1YnNjcmliZS5jb21wbGV0ZSgpO1xuICAgICAgdGhpcy5jYWxlbmRhclVuc3Vic2NyaWJlID0gdW5kZWZpbmVkO1xuICAgIH1cbiAgICB0aGlzLm92ZXJsYXlLZXlkb3duTGlzdG5lcj8udW5zdWJzY3JpYmUoKTtcbiAgfVxuXG4gIHByaXZhdGUgY2FuY2VsQ3VzdG9tRGF0ZXNTdWJzY3JpcHRpb24oKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuY3VzdG9tRGF0ZXNTdWJzY3JpcHRpb24pIHtcbiAgICAgIHRoaXMuY3VzdG9tRGF0ZXNTdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcbiAgICAgIHRoaXMuY3VzdG9tRGF0ZXNTdWJzY3JpcHRpb24gPSB1bmRlZmluZWQ7XG4gICAgfVxuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwic2t5LWRhdGVwaWNrZXJcIj5cbiAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFpbnB1dEJveEhvc3RTZXJ2aWNlXCI+XG4gICAgPGRpdiBjbGFzcz1cInNreS1pbnB1dC1ncm91cFwiPlxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImlucHV0VGVtcGxhdGVSZWZcIj48L25nLWNvbnRhaW5lcj5cbiAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJ0cmlnZ2VyQnV0dG9uVGVtcGxhdGVSZWZcIj48L25nLWNvbnRhaW5lcj5cbiAgICA8L2Rpdj5cbiAgPC9uZy1jb250YWluZXI+XG48L2Rpdj5cblxuPG5nLXRlbXBsYXRlICNpbnB1dFRlbXBsYXRlUmVmPlxuICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG48L25nLXRlbXBsYXRlPlxuXG48bmctdGVtcGxhdGUgI3RyaWdnZXJCdXR0b25UZW1wbGF0ZVJlZj5cbiAgPGRpdiBjbGFzcz1cInNreS1pbnB1dC1ncm91cC1idG5cIj5cbiAgICA8YnV0dG9uXG4gICAgICBhcmlhLWhhc3BvcHVwPVwiZGlhbG9nXCJcbiAgICAgIGNsYXNzPVwic2t5LWJ0biBza3ktYnRuLWRlZmF1bHQgc2t5LWlucHV0LWdyb3VwLWRhdGVwaWNrZXItYnRuXCJcbiAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgW2F0dHIuYXJpYS1jb250cm9sc109XCJpc09wZW4gPyBjYWxlbmRhcklkIDogbnVsbFwiXG4gICAgICBbYXR0ci5hcmlhLWV4cGFuZGVkXT1cImlzT3BlblwiXG4gICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cIlxuICAgICAgICAnc2t5dXhfZGF0ZXBpY2tlcl90cmlnZ2VyX2J1dHRvbl9sYWJlbCcgfCBza3lMaWJSZXNvdXJjZXNcbiAgICAgIFwiXG4gICAgICBbYXR0ci5pZF09XCJ0cmlnZ2VyQnV0dG9uSWRcIlxuICAgICAgW2F0dHIudGl0bGVdPVwiJ3NreXV4X2RhdGVwaWNrZXJfdHJpZ2dlcl9idXR0b25fbGFiZWwnIHwgc2t5TGliUmVzb3VyY2VzXCJcbiAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gICAgICAoY2xpY2spPVwib25UcmlnZ2VyQnV0dG9uQ2xpY2soKVwiXG4gICAgICAjdHJpZ2dlckJ1dHRvblJlZlxuICAgID5cbiAgICAgIDxza3ktaWNvbiAqc2t5VGhlbWVJZj1cIidkZWZhdWx0J1wiIGljb249XCJjYWxlbmRhclwiIHNpemU9XCJsZ1wiPjwvc2t5LWljb24+XG4gICAgICA8c2t5LWljb25cbiAgICAgICAgKnNreVRoZW1lSWY9XCInbW9kZXJuJ1wiXG4gICAgICAgIGljb249XCJjYWxlbmRhclwiXG4gICAgICAgIHNpemU9XCJsZ1wiXG4gICAgICAgIGljb25UeXBlPVwic2t5dXhcIlxuICAgICAgPjwvc2t5LWljb24+XG4gICAgPC9idXR0b24+XG4gIDwvZGl2PlxuPC9uZy10ZW1wbGF0ZT5cblxuPG5nLXRlbXBsYXRlICNjYWxlbmRhclRlbXBsYXRlUmVmPlxuICA8ZGl2XG4gICAgY2xhc3M9XCJza3ktZGF0ZXBpY2tlci1jYWxlbmRhci1jb250YWluZXIgc2t5LXNoYWRvdyBza3ktZWxldmF0aW9uLTRcIlxuICAgIHJvbGU9XCJkaWFsb2dcIlxuICAgIFthdHRyLmFyaWEtbGFiZWxsZWRieV09XCJ0cmlnZ2VyQnV0dG9uSWRcIlxuICAgIFthdHRyLmlkXT1cImNhbGVuZGFySWRcIlxuICAgIFtjbGFzcy5za3ktZGF0ZXBpY2tlci1oaWRkZW5dPVwiIWlzVmlzaWJsZVwiXG4gICAgI2NhbGVuZGFyUmVmXG4gID5cbiAgICA8c2t5LWRhdGVwaWNrZXItY2FsZW5kYXJcbiAgICAgIFtjdXN0b21EYXRlc109XCJjdXN0b21EYXRlc1wiXG4gICAgICBbaXNEYXlwaWNrZXJXYWl0aW5nXT1cImlzRGF5cGlja2VyV2FpdGluZ1wiXG4gICAgICBbbWF4RGF0ZV09XCJtYXhEYXRlXCJcbiAgICAgIFttaW5EYXRlXT1cIm1pbkRhdGVcIlxuICAgICAgW3N0YXJ0aW5nRGF5XT1cInN0YXJ0aW5nRGF5XCJcbiAgICAgIChjYWxlbmRhckRhdGVSYW5nZUNoYW5nZSk9XCJvbkNhbGVuZGFyRGF0ZVJhbmdlQ2hhbmdlKCRldmVudClcIlxuICAgICAgKGNhbGVuZGFyTW9kZUNoYW5nZSk9XCJvbkNhbGVuZGFyTW9kZUNoYW5nZSgpXCJcbiAgICAgIChzZWxlY3RlZERhdGVDaGFuZ2UpPVwib25TZWxlY3RlZERhdGVDaGFuZ2UoJGV2ZW50KVwiXG4gICAgPlxuICAgIDwvc2t5LWRhdGVwaWNrZXItY2FsZW5kYXI+XG4gIDwvZGl2PlxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==
|
307
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZXBpY2tlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvZGF0ZXRpbWUvc3JjL2xpYi9tb2R1bGVzL2RhdGVwaWNrZXIvZGF0ZXBpY2tlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvZGF0ZXRpbWUvc3JjL2xpYi9tb2R1bGVzL2RhdGVwaWNrZXIvZGF0ZXBpY2tlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCxVQUFVLEVBQ1YsWUFBWSxFQUNaLEtBQUssRUFHTCxRQUFRLEVBQ1IsTUFBTSxFQUNOLFdBQVcsRUFDWCxTQUFTLEdBQ1YsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUNMLHNCQUFzQixFQUN0QixlQUFlLEVBRWYscUJBQXFCLEVBRXJCLGlCQUFpQixHQUNsQixNQUFNLGFBQWEsQ0FBQztBQUNyQixPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDdEQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUUvQyxPQUFPLEVBQUUsT0FBTyxFQUFnQixTQUFTLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDeEQsT0FBTyxFQUFFLFlBQVksRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUd6RCxPQUFPLEVBQUUsOEJBQThCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQzs7Ozs7Ozs7O0FBR2pGLElBQUksTUFBTSxHQUFHLENBQUMsQ0FBQztBQUVmOzs7R0FHRztBQU9ILE1BQU0sT0FBTyxzQkFBc0I7SUE0SWpDLFlBQ0UsWUFBNkIsRUFDN0IsY0FBaUMsRUFDakMsV0FBa0MsRUFDbEMsY0FBaUMsRUFDZCxtQkFBNEMsRUFDbkQs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WyJpbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIENvbXBvbmVudCxcbiAgRWxlbWVudFJlZixcbiAgRXZlbnRFbWl0dGVyLFxuICBJbnB1dCxcbiAgT25EZXN0cm95LFxuICBPbkluaXQsXG4gIE9wdGlvbmFsLFxuICBPdXRwdXQsXG4gIFRlbXBsYXRlUmVmLFxuICBWaWV3Q2hpbGQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgU2t5QWZmaXhBdXRvRml0Q29udGV4dCxcbiAgU2t5QWZmaXhTZXJ2aWNlLFxuICBTa3lBZmZpeGVyLFxuICBTa3lDb3JlQWRhcHRlclNlcnZpY2UsXG4gIFNreU92ZXJsYXlJbnN0YW5jZSxcbiAgU2t5T3ZlcmxheVNlcnZpY2UsXG59IGZyb20gJ0Bza3l1eC9jb3JlJztcbmltcG9ydCB7IFNreUlucHV0Qm94SG9zdFNlcnZpY2UgfSBmcm9tICdAc2t5dXgvZm9ybXMnO1xuaW1wb3J0IHsgU2t5VGhlbWVTZXJ2aWNlIH0gZnJvbSAnQHNreXV4L3RoZW1lJztcblxuaW1wb3J0IHsgU3ViamVjdCwgU3Vic2NyaXB0aW9uLCBmcm9tRXZlbnQgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGRlYm91bmNlVGltZSwgdGFrZVVudGlsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQgeyBTa3lEYXRlcGlja2VyQ2FsZW5kYXJDaGFuZ2UgfSBmcm9tICcuL2RhdGVwaWNrZXItY2FsZW5kYXItY2hhbmdlJztcbmltcG9ydCB7IFNreURhdGVwaWNrZXJDYWxlbmRhckNvbXBvbmVudCB9IGZyb20gJy4vZGF0ZXBpY2tlci1jYWxlbmRhci5jb21wb25lbnQnO1xuaW1wb3J0IHsgU2t5RGF0ZXBpY2tlckN1c3RvbURhdGUgfSBmcm9tICcuL2RhdGVwaWNrZXItY3VzdG9tLWRhdGUnO1xuXG5sZXQgbmV4dElkID0gMDtcblxuLyoqXG4gKiBDcmVhdGVzIHRoZSBkYXRlcGlja2VyIGJ1dHRvbiBhbmQgY2FsZW5kYXIuXG4gKiBZb3UgbXVzdCB3cmFwIHRoaXMgY29tcG9uZW50IGFyb3VuZCBhbiBpbnB1dCB3aXRoIHRoZSBgc2t5RGF0ZXBpY2tlcklucHV0YCBkaXJlY3RpdmUuXG4gKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3NreS1kYXRlcGlja2VyJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2RhdGVwaWNrZXIuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9kYXRlcGlja2VyLmNvbXBvbmVudC5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBTa3lEYXRlcGlja2VyQ29tcG9uZW50IGltcGxlbWVudHMgT25EZXN0cm95LCBPbkluaXQge1xuICAvKipcbiAgICogQWRkcyBhIGNsYXNzIHRvIHRoZSBkYXRlcGlja2VyLlxuICAgKiBAZGVmYXVsdCBcIlwiXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgcGlja2VyQ2xhc3M6IHN0cmluZyB8IHVuZGVmaW5lZCA9ICcnO1xuXG4gIHB1YmxpYyBnZXQgZGlzYWJsZWQoKTogYm9vbGVhbiB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIHRoaXMuI19kaXNhYmxlZDtcbiAgfVxuXG4gIHB1YmxpYyBzZXQgZGlzYWJsZWQodmFsdWU6IGJvb2xlYW4gfCB1bmRlZmluZWQpIHtcbiAgICB0aGlzLiNfZGlzYWJsZWQgPSB2YWx1ZTtcbiAgICB0aGlzLiNjaGFuZ2VEZXRlY3Rvci5tYXJrRm9yQ2hlY2soKTtcbiAgfVxuXG4gIHB1YmxpYyBzZXQgc2VsZWN0ZWREYXRlKHZhbHVlOiBEYXRlIHwgdW5kZWZpbmVkKSB7XG4gICAgdGhpcy4jX3NlbGVjdGVkRGF0ZSA9IHZhbHVlO1xuICAgIGlmICh0aGlzLmNhbGVuZGFyKSB7XG4gICAgICB0aGlzLmNhbGVuZGFyLndyaXRlVmFsdWUodmFsdWUpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBnZXQgc2VsZWN0ZWREYXRlKCk6IERhdGUgfCB1bmRlZmluZWQge1xuICAgIHJldHVybiB0aGlzLiNfc2VsZWN0ZWREYXRlO1xuICB9XG5cbiAgLyoqXG4gICAqIEZpcmVzIHdoZW4gdGhlIHJhbmdlIG9mIGRpc3BsYXllZCBkYXRlcyBpbiB0aGUgY2FsZW5kYXIgY2hhbmdlcy4gUHJvdmlkZXMgdGhlXG4gICAqIGN1cnJlbnQgcmFuZ2Ugb2YgZGlzcGxheWVkIGRhdGVzIGFuZCBhIG11dGFibGUgYGN1c3RvbURhdGVgIHByb3BlcnR5IGNvbnN1bWVycyBjYW4gdXNlXG4gICAqIHRvIG1vZGlmeSBpbmRpdmlkdWFsIGRhdGVzIG9uIHRoZSBjYWxlbmRhci5cbiAgICovXG4gIEBPdXRwdXQoKVxuICBwdWJsaWMgY2FsZW5kYXJEYXRlUmFuZ2VDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPFNreURhdGVwaWNrZXJDYWxlbmRhckNoYW5nZT4oKTtcblxuICBwdWJsaWMgY2FsZW5kYXJJZDogc3RyaW5nO1xuXG4gIHB1YmxpYyBjdXN0b21EYXRlczogU2t5RGF0ZXBpY2tlckN1c3RvbURhdGVbXSB8IHVuZGVmaW5lZDtcblxuICBwdWJsaWMgZGF0ZUNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8RGF0ZT4oKTtcblxuICBwdWJsaWMgaXNEYXlwaWNrZXJXYWl0aW5nID0gZmFsc2U7XG5cbiAgcHVibGljIGlzT3BlbiA9IGZhbHNlO1xuXG4gIHB1YmxpYyBpc1Zpc2libGUgPSBmYWxzZTtcblxuICBwdWJsaWMgbWF4RGF0ZTogRGF0ZSB8IHVuZGVmaW5lZDtcblxuICBwdWJsaWMgbWluRGF0ZTogRGF0ZSB8IHVuZGVmaW5lZDtcblxuICBwdWJsaWMgc3RhcnRpbmdEYXk6IG51bWJlciB8IHVuZGVmaW5lZDtcblxuICBwdWJsaWMgdHJpZ2dlckJ1dHRvbklkOiBzdHJpbmc7XG5cbiAgQFZpZXdDaGlsZChTa3lEYXRlcGlja2VyQ2FsZW5kYXJDb21wb25lbnQpXG4gIHB1YmxpYyBjYWxlbmRhcjogU2t5RGF0ZXBpY2tlckNhbGVuZGFyQ29tcG9uZW50IHwgdW5kZWZpbmVkO1xuXG4gIEBWaWV3Q2hpbGQoJ2NhbGVuZGFyUmVmJywge1xuICAgIHJlYWQ6IEVsZW1lbnRSZWYsXG4gIH0pXG4gIHB1YmxpYyBzZXQgY2FsZW5kYXJSZWYodmFsdWU6IEVsZW1lbnRSZWYgfCB1bmRlZmluZWQpIHtcbiAgICBpZiAodmFsdWUpIHtcbiAgICAgIHRoaXMuI19jYWxlbmRhclJlZiA9IHZhbHVlO1xuXG4gICAgICAvLyBXYWl0IGZvciB0aGUgY2FsZW5kYXIgY29tcG9uZW50IHRvIHJlbmRlciBiZWZvcmUgZ2F1Z2luZyBkaW1lbnNpb25zLlxuICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgIGlmICh0aGlzLmNhbGVuZGFyUmVmKSB7XG4gICAgICAgICAgdGhpcy5jYWxlbmRhcj8ud3JpdGVWYWx1ZSh0aGlzLnNlbGVjdGVkRGF0ZSk7XG5cbiAgICAgICAgICB0aGlzLiNkZXN0cm95QWZmaXhlcigpO1xuICAgICAgICAgIHRoaXMuI2NyZWF0ZUFmZml4ZXIoKTtcblxuICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgaWYgKHRoaXMuY2FsZW5kYXJSZWYpIHtcbiAgICAgICAgICAgICAgdGhpcy4jY29yZUFkYXB0ZXIuZ2V0Rm9jdXNhYmxlQ2hpbGRyZW5BbmRBcHBseUZvY3VzKFxuICAgICAgICAgICAgICAgIHRoaXMuY2FsZW5kYXJSZWYsXG4gICAgICAgICAgICAgICAgJy5za3ktZGF0ZXBpY2tlci1jYWxlbmRhci1pbm5lcicsXG4gICAgICAgICAgICAgICAgZmFsc2VcbiAgICAgICAgICAgICAgKTtcblxuICAgICAgICAgICAgICB0aGlzLmlzVmlzaWJsZSA9IHRydWU7XG4gICAgICAgICAgICAgIHRoaXMuI2NoYW5nZURldGVjdG9yLm1hcmtGb3JDaGVjaygpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgZ2V0IGNhbGVuZGFyUmVmKCk6IEVsZW1lbnRSZWYgfCB1bmRlZmluZWQge1xuICAgIHJldHVybiB0aGlzLiNfY2FsZW5kYXJSZWY7XG4gIH1cblxuICBAVmlld0NoaWxkKCdjYWxlbmRhclRlbXBsYXRlUmVmJywge1xuICAgIHJlYWQ6IFRlbXBsYXRlUmVmLFxuICB9KVxuICBwdWJsaWMgY2FsZW5kYXJUZW1wbGF0ZVJlZjogVGVtcGxhdGVSZWY8dW5rbm93bj4gfCB1bmRlZmluZWQ7XG5cbiAgQFZpZXdDaGlsZCgndHJpZ2dlckJ1dHRvblJlZicsIHtcbiAgICByZWFkOiBFbGVtZW50UmVmLFxuICB9KVxuICBwdWJsaWMgdHJpZ2dlckJ1dHRvblJlZjogRWxlbWVudFJlZiB8IHVuZGVmaW5lZDtcblxuICBAVmlld0NoaWxkKCdpbnB1dFRlbXBsYXRlUmVmJywge1xuICAgIHJlYWQ6IFRlbXBsYXRlUmVmLFxuICAgIHN0YXRpYzogdHJ1ZSxcbiAgfSlcbiAgcHVibGljIGlucHV0VGVtcGxhdGVSZWY6IFRlbXBsYXRlUmVmPHVua25vd24+IHwgdW5kZWZpbmVkO1xuXG4gIEBWaWV3Q2hpbGQoJ3RyaWdnZXJCdXR0b25UZW1wbGF0ZVJlZicsIHtcbiAgICByZWFkOiBUZW1wbGF0ZVJlZixcbiAgICBzdGF0aWM6IHRydWUsXG4gIH0pXG4gIHB1YmxpYyB0cmlnZ2VyQnV0dG9uVGVtcGxhdGVSZWY6IFRlbXBsYXRlUmVmPHVua25vd24+IHwgdW5kZWZpbmVkO1xuXG4gICNhZmZpeGVyOiBTa3lBZmZpeGVyIHwgdW5kZWZpbmVkO1xuXG4gICNjYWxlbmRhclVuc3Vic2NyaWJlOiBTdWJqZWN0PHZvaWQ+ID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcblxuICAjY3VzdG9tRGF0ZXNTdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbiB8IHVuZGVmaW5lZDtcblxuICAjbmdVbnN1YnNjcmliZSA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG5cbiAgI292ZXJsYXk6IFNreU92ZXJsYXlJbnN0YW5jZSB8IHVuZGVmaW5lZDtcblxuICAjb3ZlcmxheUtleWRvd25MaXN0bmVyOiBTdWJzY3JpcHRpb24gfCB1bmRlZmluZWQ7XG5cbiAgI19jYWxlbmRhclJlZjogRWxlbWVudFJlZiB8IHVuZGVmaW5lZDtcblxuICAjX2Rpc2FibGVkOiBib29sZWFuIHwgdW5kZWZpbmVkID0gZmFsc2U7XG5cbiAgI19zZWxlY3RlZERhdGU6IERhdGUgfCB1bmRlZmluZWQ7XG5cbiAgI2FmZml4U2VydmljZTogU2t5QWZmaXhTZXJ2aWNlO1xuICAjY2hhbmdlRGV0ZWN0b3I6IENoYW5nZURldGVjdG9yUmVmO1xuICAjY29yZUFkYXB0ZXI6IFNreUNvcmVBZGFwdGVyU2VydmljZTtcbiAgI292ZXJsYXlTZXJ2aWNlOiBTa3lPdmVybGF5U2VydmljZTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBhZmZpeFNlcnZpY2U6IFNreUFmZml4U2VydmljZSxcbiAgICBjaGFuZ2VEZXRlY3RvcjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgY29yZUFkYXB0ZXI6IFNreUNvcmVBZGFwdGVyU2VydmljZSxcbiAgICBvdmVybGF5U2VydmljZTogU2t5T3ZlcmxheVNlcnZpY2UsXG4gICAgQE9wdGlvbmFsKCkgcHVibGljIGlucHV0Qm94SG9zdFNlcnZpY2U/OiBTa3lJbnB1dEJveEhvc3RTZXJ2aWNlLFxuICAgIEBPcHRpb25hbCgpIHRoZW1lU3ZjPzogU2t5VGhlbWVTZXJ2aWNlXG4gICkge1xuICAgIHRoaXMuI2FmZml4U2VydmljZSA9IGFmZml4U2VydmljZTtcbiAgICB0aGlzLiNjaGFuZ2VEZXRlY3RvciA9IGNoYW5nZURldGVjdG9yO1xuICAgIHRoaXMuI2NvcmVBZGFwdGVyID0gY29yZUFkYXB0ZXI7XG4gICAgdGhpcy4jb3ZlcmxheVNlcnZpY2UgPSBvdmVybGF5U2VydmljZTtcbiAgICBjb25zdCB1bmlxdWVJZCA9IG5leHRJZCsrO1xuICAgIHRoaXMuY2FsZW5kYXJJZCA9IGBza3ktZGF0ZXBpY2tlci1jYWxlbmRhci0ke3VuaXF1ZUlkfWA7XG4gICAgdGhpcy50cmlnZ2VyQnV0dG9uSWQgPSBgc2t5LWRhdGVwaWNrZXItYnV0dG9uLSR7dW5pcXVlSWR9YDtcblxuICAgIC8vIFVwZGF0ZSBpY29ucyB3aGVuIHRoZW1lIGNoYW5nZXMuXG4gICAgdGhlbWVTdmM/LnNldHRpbmdzQ2hhbmdlXG4gICAgICAucGlwZSh0YWtlVW50aWwodGhpcy4jbmdVbnN1YnNjcmliZSkpXG4gICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgdGhpcy4jY2hhbmdlRGV0ZWN0b3IubWFya0ZvckNoZWNrKCk7XG4gICAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5pbnB1dEJveEhvc3RTZXJ2aWNlICYmIHRoaXMuaW5wdXRUZW1wbGF0ZVJlZikge1xuICAgICAgdGhpcy5pbnB1dEJveEhvc3RTZXJ2aWNlLnBvcHVsYXRlKHtcbiAgICAgICAgaW5wdXRUZW1wbGF0ZTogdGhpcy5pbnB1dFRlbXBsYXRlUmVmLFxuICAgICAgICBidXR0b25zVGVtcGxhdGU6IHRoaXMudHJpZ2dlckJ1dHRvblRlbXBsYXRlUmVmLFxuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuZGF0ZUNoYW5nZS5jb21wbGV0ZSgpO1xuICAgIHRoaXMuI25nVW5zdWJzY3JpYmUubmV4dCgpO1xuICAgIHRoaXMuI25nVW5zdWJzY3JpYmUuY29tcGxldGUoKTtcbiAgICB0aGlzLiNyZW1vdmVQaWNrZXJFdmVudExpc3RlbmVycygpO1xuICAgIHRoaXMuI2Rlc3Ryb3lBZmZpeGVyKCk7XG4gICAgdGhpcy4jZGVzdHJveU92ZXJsYXkoKTtcbiAgfVxuXG4gIHB1YmxpYyBvbkNhbGVuZGFyTW9kZUNoYW5nZSgpOiB2b2lkIHtcbiAgICAvLyBMZXQgdGhlIGNhbGVuZGFyIHBvcHVsYXRlIGluIHRoZSBET00gYmVmb3JlIHJlY2FsY3VsYXRpbmcgcGxhY2VtZW50LlxuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgdGhpcy4jYWZmaXhlcj8ucmVhZmZpeCgpO1xuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIG9uU2VsZWN0ZWREYXRlQ2hhbmdlKHZhbHVlOiBEYXRlKTogdm9pZCB7XG4gICAgdGhpcy5kYXRlQ2hhbmdlLmVtaXQodmFsdWUpO1xuICAgIHRoaXMuI2Nsb3NlUGlja2VyKCk7XG4gIH1cblxuICBwdWJsaWMgb25UcmlnZ2VyQnV0dG9uQ2xpY2soKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuaXNPcGVuKSB7XG4gICAgICB0aGlzLiNjbG9zZVBpY2tlcigpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLiNvcGVuUGlja2VyKCk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIG9uQ2FsZW5kYXJEYXRlUmFuZ2VDaGFuZ2UoZXZlbnQ/OiBTa3lEYXRlcGlja2VyQ2FsZW5kYXJDaGFuZ2UpOiB2b2lkIHtcbiAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgZWxzZSAqL1xuICAgIGlmIChldmVudCkge1xuICAgICAgdGhpcy4jY2FuY2VsQ3VzdG9tRGF0ZXNTdWJzY3JpcHRpb24oKTtcblxuICAgICAgY29uc3QgYXJnczogU2t5RGF0ZXBpY2tlckNhbGVuZGFyQ2hhbmdlID0ge1xuICAgICAgICBzdGFydERhdGU6IGV2ZW50LnN0YXJ0RGF0ZSxcbiAgICAgICAgZW5kRGF0ZTogZXZlbnQuZW5kRGF0ZSxcbiAgICAgICAgY3VzdG9tRGF0ZXM6IHVuZGVmaW5lZCxcbiAgICAgIH07XG4gICAgICB0aGlzLmNhbGVuZGFyRGF0ZVJhbmdlQ2hhbmdlLmVtaXQoYXJncyk7XG4gICAgICAvLyBJZiBjb25zdW1lciBoYXMgYWRkZWQgYW4gb2JzZXJ2YWJsZSB0byB0aGUgYXJncywgd2F0Y2ggZm9yIGluY29taW5nIGN1c3RvbSBkYXRlcy5cbiAgICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBlbHNlICovXG4gICAgICBpZiAoYXJncy5jdXN0b21EYXRlcykge1xuICAgICAgICB0aGlzLmlzRGF5cGlja2VyV2FpdGluZyA9IHRydWU7XG4gICAgICAgIC8vIEF2b2lkIGFuIEV4cHJlc3Npb25DaGFuZ2VkQWZ0ZXJJdEhhc0JlZW5DaGVja2VkRXJyb3IuXG4gICAgICAgIHRoaXMuI2NoYW5nZURldGVjdG9yLmRldGVjdENoYW5nZXMoKTtcblxuICAgICAgICB0aGlzLiNjdXN0b21EYXRlc1N1YnNjcmlwdGlvbiA9IGFyZ3MuY3VzdG9tRGF0ZXNcbiAgICAgICAgICAucGlwZShkZWJvdW5jZVRpbWUoMjUwKSlcbiAgICAgICAgICAuc3Vic2NyaWJlKChyZXN1bHQpID0+IHtcbiAgICAgICAgICAgIHRoaXMuY3VzdG9tRGF0ZXMgPSByZXN1bHQ7XG4gICAgICAgICAgICB0aGlzLmlzRGF5cGlja2VyV2FpdGluZyA9IGZhbHNlO1xuXG4gICAgICAgICAgICAvLyBUcmlnZ2VyIGNoYW5nZSBkZXRlY3Rpb24gaW4gY2hpbGQgY29tcG9uZW50cyB0byBzaG93IGNoYW5nZXMgaW4gdGhlIGNhbGVuZGFyLlxuICAgICAgICAgICAgdGhpcy4jY2hhbmdlRGV0ZWN0b3IubWFya0ZvckNoZWNrKCk7XG4gICAgICAgICAgfSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICAvLyBJZiBjb25zdW1lciByZXR1cm5zIGFuIHVuZGVmaW5lZCB2YWx1ZSBhZnRlciBjdXN0b20gZGF0ZXMgaGF2ZVxuICAgICAgICAvLyBhbHJlYWR5IGJlbiBlc3RhYmxpc2hlZCwgcmVtb3ZlIGN1c3RvbSBkYXRlcy5cbiAgICAgICAgaWYgKHRoaXMuY3VzdG9tRGF0ZXMpIHtcbiAgICAgICAgICB0aGlzLmN1c3RvbURhdGVzID0gdW5kZWZpbmVkO1xuICAgICAgICAgIC8vIEF2b2lkIGFuIEV4cHJlc3Npb25DaGFuZ2VkQWZ0ZXJJdEhhc0JlZW5DaGVja2VkRXJyb3IuXG4gICAgICAgICAgdGhpcy4jY2hhbmdlRGV0ZWN0b3IuZGV0ZWN0Q2hhbmdlcygpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgI2Nsb3NlUGlja2VyKCkge1xuICAgIHRoaXMuI2Rlc3Ryb3lBZmZpeGVyKCk7XG4gICAgdGhpcy4jZGVzdHJveU92ZXJsYXkoKTtcbiAgICB0aGlzLiNyZW1vdmVQaWNrZXJFdmVudExpc3RlbmVycygpO1xuICAgIHRoaXMudHJpZ2dlckJ1dHRvblJlZj8ubmF0aXZlRWxlbWVudC5mb2N1cygpO1xuICAgIHRoaXMuaXNPcGVuID0gZmFsc2U7XG4gIH1cblxuICAjb3BlblBpY2tlcigpOiB2b2lkIHtcbiAgICB0aGlzLmlzVmlzaWJsZSA9IGZhbHNlO1xuICAgIHRoaXMuI2NoYW5nZURldGVjdG9yLm1hcmtGb3JDaGVjaygpO1xuXG4gICAgdGhpcy4jcmVtb3ZlUGlja2VyRXZlbnRMaXN0ZW5lcnMoKTtcbiAgICB0aGlzLiNkZXN0cm95T3ZlcmxheSgpO1xuICAgIHRoaXMuI2NyZWF0ZU92ZXJsYXkoKTtcblxuICAgIHRoaXMuaXNPcGVuID0gdHJ1ZTtcbiAgICB0aGlzLiNjaGFuZ2VEZXRlY3Rvci5tYXJrRm9yQ2hlY2soKTtcbiAgfVxuXG4gICNjcmVhdGVBZmZpeGVyKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmNhbGVuZGFyUmVmICYmIHRoaXMudHJpZ2dlckJ1dHRvblJlZikge1xuICAgICAgY29uc3QgYWZmaXhlciA9IHRoaXMuI2FmZml4U2VydmljZS5jcmVhdGVBZmZpeGVyKHRoaXMuY2FsZW5kYXJSZWYpO1xuXG4gICAgICAvLyBIaWRlIGNhbGVuZGFyIHdoZW4gdHJpZ2dlciBidXR0b24gaXMgc2Nyb2xsZWQgb2ZmIHNjcmVlbi5cbiAgICAgIGFmZml4ZXIucGxhY2VtZW50Q2hhbmdlXG4gICAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLiNjYWxlbmRhclVuc3Vic2NyaWJlKSlcbiAgICAgICAgLnN1YnNjcmliZSgoY2hhbmdlKSA9PiB7XG4gICAgICAgICAgdGhpcy5pc1Zpc2libGUgPSBjaGFuZ2UucGxhY2VtZW50ICE9PSBudWxsO1xuICAgICAgICAgIHRoaXMuI2NoYW5nZURldGVjdG9yLm1hcmtGb3JDaGVjaygpO1xuICAgICAgICB9KTtcblxuICAgICAgYWZmaXhlci5hZmZpeFRvKHRoaXMudHJpZ2dlckJ1dHRvblJlZi5uYXRpdmVFbGVtZW50LCB7XG4gICAgICAgIGF1dG9GaXRDb250ZXh0OiBTa3lBZmZpeEF1dG9GaXRDb250ZXh0LlZpZXdwb3J0LFxuICAgICAgICBlbmFibGVBdXRvRml0OiB0cnVlLFxuICAgICAgICBob3Jpem9udGFsQWxpZ25tZW50OiAncmlnaHQnLFxuICAgICAgICBpc1N0aWNreTogdHJ1ZSxcbiAgICAgICAgcGxhY2VtZW50OiAnYmVsb3cnLFxuICAgICAgfSk7XG5cbiAgICAgIHRoaXMuI2FmZml4ZXIgPSBhZmZpeGVyO1xuICAgIH1cbiAgfVxuXG4gICNkZXN0cm95QWZmaXhlcigpOiB2b2lkIHtcbiAgICAvKmlzdGFuYnVsIGlnbm9yZSBlbHNlKi9cbiAgICBpZiAodGhpcy4jYWZmaXhlcikge1xuICAgICAgdGhpcy4jYWZmaXhlci5kZXN0cm95KCk7XG4gICAgICB0aGlzLiNhZmZpeGVyID0gdW5kZWZpbmVkO1xuICAgIH1cbiAgfVxuXG4gICNjcmVhdGVPdmVybGF5KCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmNhbGVuZGFyVGVtcGxhdGVSZWYpIHtcbiAgICAgIGNvbnN0IG92ZXJsYXkgPSB0aGlzLiNvdmVybGF5U2VydmljZS5jcmVhdGUoe1xuICAgICAgICB3cmFwcGVyQ2xhc3M6IHRoaXMucGlja2VyQ2xhc3MsXG4gICAgICAgIGVuYWJsZUNsb3NlOiBmYWxzZSxcbiAgICAgICAgZW5hYmxlUG9pbnRlckV2ZW50czogZmFsc2UsXG4gICAgICB9KTtcblxuICAgICAgb3ZlcmxheS5iYWNrZHJvcENsaWNrXG4gICAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLiNjYWxlbmRhclVuc3Vic2NyaWJlKSlcbiAgICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgLyogaXN0YW5idWwgaWdub3JlIGVsc2UgKi9cbiAgICAgICAgICBpZiAodGhpcy5pc09wZW4pIHtcbiAgICAgICAgICAgIHRoaXMuI2Nsb3NlUGlja2VyKCk7XG4gICAgICAgICAgfVxuICAgICAgICB9KTtcblxuICAgICAgdGhpcy4jYWRkS2V5ZG93bkxpc3RlbmVyKCk7XG5cbiAgICAgIG92ZXJsYXkuYXR0YWNoVGVtcGxhdGUodGhpcy5jYWxlbmRhclRlbXBsYXRlUmVmKTtcblxuICAgICAgdGhpcy4jb3ZlcmxheSA9IG92ZXJsYXk7XG4gICAgfVxuICB9XG5cbiAgI2Rlc3Ryb3lPdmVybGF5KCk6IHZvaWQge1xuICAgIC8qaXN0YW5idWwgaWdub3JlIGVsc2UqL1xuICAgIGlmICh0aGlzLiNvdmVybGF5KSB7XG4gICAgICB0aGlzLiNvdmVybGF5U2VydmljZS5jbG9zZSh0aGlzLiNvdmVybGF5KTtcbiAgICAgIHRoaXMuI292ZXJsYXkgPSB1bmRlZmluZWQ7XG4gICAgfVxuICB9XG5cbiAgI2FkZEtleWRvd25MaXN0ZW5lcigpOiB2b2lkIHtcbiAgICB0aGlzLiNvdmVybGF5S2V5ZG93bkxpc3RuZXIgPSBmcm9tRXZlbnQ8S2V5Ym9hcmRFdmVudD4oXG4gICAgICB3aW5kb3cuZG9jdW1lbnQsXG4gICAgICAna2V5ZG93bidcbiAgICApXG4gICAgICAucGlwZSh0YWtlVW50aWwodGhpcy4jbmdVbnN1YnNjcmliZSkpXG4gICAgICAuc3Vic2NyaWJlKChldmVudCkgPT4ge1xuICAgICAgICBjb25zdCBrZXkgPSBldmVudC5rZXk/LnRvTG93ZXJDYXNlKCk7XG4gICAgICAgIGlmIChrZXkgPT09ICdlc2NhcGUnICYmIHRoaXMuaXNPcGVuKSB7XG4gICAgICAgICAgdGhpcy4jY2xvc2VQaWNrZXIoKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gIH1cblxuICAjcmVtb3ZlUGlja2VyRXZlbnRMaXN0ZW5lcnMoKTogdm9pZCB7XG4gICAgdGhpcy4jY2FsZW5kYXJVbnN1YnNjcmliZS5uZXh0KCk7XG4gICAgdGhpcy4jY2FsZW5kYXJVbnN1YnNjcmliZS5jb21wbGV0ZSgpO1xuICAgIHRoaXMuI2NhbGVuZGFyVW5zdWJzY3JpYmUgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuICAgIHRoaXMuI292ZXJsYXlLZXlkb3duTGlzdG5lcj8udW5zdWJzY3JpYmUoKTtcbiAgfVxuXG4gICNjYW5jZWxDdXN0b21EYXRlc1N1YnNjcmlwdGlvbigpOiB2b2lkIHtcbiAgICBpZiAodGhpcy4jY3VzdG9tRGF0ZXNTdWJzY3JpcHRpb24pIHtcbiAgICAgIHRoaXMuI2N1c3RvbURhdGVzU3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gICAgICB0aGlzLiNjdXN0b21EYXRlc1N1YnNjcmlwdGlvbiA9IHVuZGVmaW5lZDtcbiAgICB9XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJza3ktZGF0ZXBpY2tlclwiPlxuICA8bmctY29udGFpbmVyICpuZ0lmPVwiIWlucHV0Qm94SG9zdFNlcnZpY2VcIj5cbiAgICA8ZGl2IGNsYXNzPVwic2t5LWlucHV0LWdyb3VwXCI+XG4gICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiaW5wdXRUZW1wbGF0ZVJlZlwiPjwvbmctY29udGFpbmVyPlxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cInRyaWdnZXJCdXR0b25UZW1wbGF0ZVJlZlwiPjwvbmctY29udGFpbmVyPlxuICAgIDwvZGl2PlxuICA8L25nLWNvbnRhaW5lcj5cbjwvZGl2PlxuXG48bmctdGVtcGxhdGUgI2lucHV0VGVtcGxhdGVSZWY+XG4gIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbjwvbmctdGVtcGxhdGU+XG5cbjxuZy10ZW1wbGF0ZSAjdHJpZ2dlckJ1dHRvblRlbXBsYXRlUmVmPlxuICA8ZGl2IGNsYXNzPVwic2t5LWlucHV0LWdyb3VwLWJ0blwiPlxuICAgIDxidXR0b25cbiAgICAgIGFyaWEtaGFzcG9wdXA9XCJkaWFsb2dcIlxuICAgICAgY2xhc3M9XCJza3ktYnRuIHNreS1idG4tZGVmYXVsdCBza3ktaW5wdXQtZ3JvdXAtZGF0ZXBpY2tlci1idG5cIlxuICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICBbYXR0ci5hcmlhLWNvbnRyb2xzXT1cImlzT3BlbiA/IGNhbGVuZGFySWQgOiBudWxsXCJcbiAgICAgIFthdHRyLmFyaWEtZXhwYW5kZWRdPVwiaXNPcGVuXCJcbiAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiXG4gICAgICAgICdza3l1eF9kYXRlcGlja2VyX3RyaWdnZXJfYnV0dG9uX2xhYmVsJyB8IHNreUxpYlJlc291cmNlc1xuICAgICAgXCJcbiAgICAgIFthdHRyLmlkXT1cInRyaWdnZXJCdXR0b25JZFwiXG4gICAgICBbYXR0ci50aXRsZV09XCInc2t5dXhfZGF0ZXBpY2tlcl90cmlnZ2VyX2J1dHRvbl9sYWJlbCcgfCBza3lMaWJSZXNvdXJjZXNcIlxuICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgICAgIChjbGljayk9XCJvblRyaWdnZXJCdXR0b25DbGljaygpXCJcbiAgICAgICN0cmlnZ2VyQnV0dG9uUmVmXG4gICAgPlxuICAgICAgPHNreS1pY29uICpza3lUaGVtZUlmPVwiJ2RlZmF1bHQnXCIgaWNvbj1cImNhbGVuZGFyXCIgc2l6ZT1cImxnXCI+PC9za3ktaWNvbj5cbiAgICAgIDxza3ktaWNvblxuICAgICAgICAqc2t5VGhlbWVJZj1cIidtb2Rlcm4nXCJcbiAgICAgICAgaWNvbj1cImNhbGVuZGFyXCJcbiAgICAgICAgc2l6ZT1cImxnXCJcbiAgICAgICAgaWNvblR5cGU9XCJza3l1eFwiXG4gICAgICA+PC9za3ktaWNvbj5cbiAgICA8L2J1dHRvbj5cbiAgPC9kaXY+XG48L25nLXRlbXBsYXRlPlxuXG48bmctdGVtcGxhdGUgI2NhbGVuZGFyVGVtcGxhdGVSZWY+XG4gIDxkaXZcbiAgICBjbGFzcz1cInNreS1kYXRlcGlja2VyLWNhbGVuZGFyLWNvbnRhaW5lciBza3ktc2hhZG93IHNreS1lbGV2YXRpb24tNFwiXG4gICAgcm9sZT1cImRpYWxvZ1wiXG4gICAgW2F0dHIuYXJpYS1sYWJlbGxlZGJ5XT1cInRyaWdnZXJCdXR0b25JZFwiXG4gICAgW2F0dHIuaWRdPVwiY2FsZW5kYXJJZFwiXG4gICAgW2NsYXNzLnNreS1kYXRlcGlja2VyLWhpZGRlbl09XCIhaXNWaXNpYmxlXCJcbiAgICAjY2FsZW5kYXJSZWZcbiAgPlxuICAgIDxza3ktZGF0ZXBpY2tlci1jYWxlbmRhclxuICAgICAgW2N1c3RvbURhdGVzXT1cImN1c3RvbURhdGVzXCJcbiAgICAgIFtpc0RheXBpY2tlcldhaXRpbmddPVwiaXNEYXlwaWNrZXJXYWl0aW5nXCJcbiAgICAgIFttYXhEYXRlXT1cIm1heERhdGVcIlxuICAgICAgW21pbkRhdGVdPVwibWluRGF0ZVwiXG4gICAgICBbc3RhcnRpbmdEYXldPVwic3RhcnRpbmdEYXlcIlxuICAgICAgKGNhbGVuZGFyRGF0ZVJhbmdlQ2hhbmdlKT1cIm9uQ2FsZW5kYXJEYXRlUmFuZ2VDaGFuZ2UoJGV2ZW50KVwiXG4gICAgICAoY2FsZW5kYXJNb2RlQ2hhbmdlKT1cIm9uQ2FsZW5kYXJNb2RlQ2hhbmdlKClcIlxuICAgICAgKHNlbGVjdGVkRGF0ZUNoYW5nZSk9XCJvblNlbGVjdGVkRGF0ZUNoYW5nZSgkZXZlbnQpXCJcbiAgICA+XG4gICAgPC9za3ktZGF0ZXBpY2tlci1jYWxlbmRhcj5cbiAgPC9kaXY+XG48L25nLXRlbXBsYXRlPlxuIl19
|
@@ -12,11 +12,11 @@ export class SkyDayPickerButtonComponent {
|
|
12
12
|
}
|
13
13
|
}
|
14
14
|
SkyDayPickerButtonComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: SkyDayPickerButtonComponent, deps: [{ token: i1.SkyDatepickerCalendarInnerComponent }], target: i0.ɵɵFactoryTarget.Component });
|
15
|
-
SkyDayPickerButtonComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.0", type: SkyDayPickerButtonComponent, selector: "sky-daypicker-button", inputs: { date: "date" }, ngImport: i0, template: "<button\n class=\"sky-btn sky-btn-sm sky-btn-default sky-datepicker-btn-date\"\n tabindex=\"-1\"\n type=\"button\"\n [disabled]=\"date.disabled\"\n [ngClass]=\"{\n 'sky-datepicker-btn-selected': date.selected,\n 'sky-btn-disabled': date.disabled,\n 'sky-btn-active': datepicker.isActive(date),\n 'sky-datepicker-btn-disabled': date.disabled,\n 'sky-datepicker-btn-key-date': date.keyDate\n }\"\n (click)=\"datepicker.selectCalendar($event, date.date, true)\"\n>\n <span [ngClass]=\"{ 'sky-datepicker-secondary': date.secondary }\">\n {{ date.label }}\n </span>\n</button>\n", styles: [".sky-datepicker-btn-disabled{font-style:italic}.sky-datepicker-btn-key-date{position:relative}.sky-datepicker-btn-key-date:before{position:absolute;content:\"\";height:5px;width:5px;background-color:#d93a3d;border-radius:50%;left:15px;top:22px}:host-context(.sky-theme-modern) .sky-datepicker-btn-key-date:before{left:12px}.sky-theme-modern .sky-datepicker-btn-key-date:before{left:12px}\n"], dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }] });
|
15
|
+
SkyDayPickerButtonComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.0", type: SkyDayPickerButtonComponent, selector: "sky-daypicker-button", inputs: { date: "date" }, ngImport: i0, template: "<button\n *ngIf=\"date\"\n class=\"sky-btn sky-btn-sm sky-btn-default sky-datepicker-btn-date\"\n tabindex=\"-1\"\n type=\"button\"\n [disabled]=\"date.disabled\"\n [ngClass]=\"{\n 'sky-datepicker-btn-selected': date.selected,\n 'sky-btn-disabled': date.disabled,\n 'sky-btn-active': datepicker.isActive(date),\n 'sky-datepicker-btn-disabled': date.disabled,\n 'sky-datepicker-btn-key-date': date.keyDate\n }\"\n (click)=\"datepicker.selectCalendar($event, date.date, true)\"\n>\n <span [ngClass]=\"{ 'sky-datepicker-secondary': date.secondary }\">\n {{ date.label }}\n </span>\n</button>\n", styles: [".sky-datepicker-btn-disabled{font-style:italic}.sky-datepicker-btn-key-date{position:relative}.sky-datepicker-btn-key-date:before{position:absolute;content:\"\";height:5px;width:5px;background-color:#d93a3d;border-radius:50%;left:15px;top:22px}:host-context(.sky-theme-modern) .sky-datepicker-btn-key-date:before{left:12px}.sky-theme-modern .sky-datepicker-btn-key-date:before{left:12px}\n"], dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
|
16
16
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: SkyDayPickerButtonComponent, decorators: [{
|
17
17
|
type: Component,
|
18
|
-
args: [{ selector: 'sky-daypicker-button', template: "<button\n class=\"sky-btn sky-btn-sm sky-btn-default sky-datepicker-btn-date\"\n tabindex=\"-1\"\n type=\"button\"\n [disabled]=\"date.disabled\"\n [ngClass]=\"{\n 'sky-datepicker-btn-selected': date.selected,\n 'sky-btn-disabled': date.disabled,\n 'sky-btn-active': datepicker.isActive(date),\n 'sky-datepicker-btn-disabled': date.disabled,\n 'sky-datepicker-btn-key-date': date.keyDate\n }\"\n (click)=\"datepicker.selectCalendar($event, date.date, true)\"\n>\n <span [ngClass]=\"{ 'sky-datepicker-secondary': date.secondary }\">\n {{ date.label }}\n </span>\n</button>\n", styles: [".sky-datepicker-btn-disabled{font-style:italic}.sky-datepicker-btn-key-date{position:relative}.sky-datepicker-btn-key-date:before{position:absolute;content:\"\";height:5px;width:5px;background-color:#d93a3d;border-radius:50%;left:15px;top:22px}:host-context(.sky-theme-modern) .sky-datepicker-btn-key-date:before{left:12px}.sky-theme-modern .sky-datepicker-btn-key-date:before{left:12px}\n"] }]
|
18
|
+
args: [{ selector: 'sky-daypicker-button', template: "<button\n *ngIf=\"date\"\n class=\"sky-btn sky-btn-sm sky-btn-default sky-datepicker-btn-date\"\n tabindex=\"-1\"\n type=\"button\"\n [disabled]=\"date.disabled\"\n [ngClass]=\"{\n 'sky-datepicker-btn-selected': date.selected,\n 'sky-btn-disabled': date.disabled,\n 'sky-btn-active': datepicker.isActive(date),\n 'sky-datepicker-btn-disabled': date.disabled,\n 'sky-datepicker-btn-key-date': date.keyDate\n }\"\n (click)=\"datepicker.selectCalendar($event, date.date, true)\"\n>\n <span [ngClass]=\"{ 'sky-datepicker-secondary': date.secondary }\">\n {{ date.label }}\n </span>\n</button>\n", styles: [".sky-datepicker-btn-disabled{font-style:italic}.sky-datepicker-btn-key-date{position:relative}.sky-datepicker-btn-key-date:before{position:absolute;content:\"\";height:5px;width:5px;background-color:#d93a3d;border-radius:50%;left:15px;top:22px}:host-context(.sky-theme-modern) .sky-datepicker-btn-key-date:before{left:12px}.sky-theme-modern .sky-datepicker-btn-key-date:before{left:12px}\n"] }]
|
19
19
|
}], ctorParameters: function () { return [{ type: i1.SkyDatepickerCalendarInnerComponent }]; }, propDecorators: { date: [{
|
20
20
|
type: Input
|
21
21
|
}] } });
|
22
|
-
//# sourceMappingURL=data:application/json;base64,
|
22
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF5cGlja2VyLWJ1dHRvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvZGF0ZXRpbWUvc3JjL2xpYi9tb2R1bGVzL2RhdGVwaWNrZXIvZGF5cGlja2VyLWJ1dHRvbi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvZGF0ZXRpbWUvc3JjL2xpYi9tb2R1bGVzL2RhdGVwaWNrZXIvZGF5cGlja2VyLWJ1dHRvbi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUVqRCxPQUFPLEVBQUUsbUNBQW1DLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQzs7OztBQUc1Rjs7R0FFRztBQU1ILE1BQU0sT0FBTywyQkFBMkI7SUFPdEMsWUFBbUIsVUFBK0M7UUFBL0MsZUFBVSxHQUFWLFVBQVUsQ0FBcUM7SUFBRyxDQUFDOzt3SEFQM0QsMkJBQTJCOzRHQUEzQiwyQkFBMkIsc0ZDYnhDLDRtQkFtQkE7MkZETmEsMkJBQTJCO2tCQUx2QyxTQUFTOytCQUNFLHNCQUFzQjswSEFTekIsSUFBSTtzQkFEVixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBTa3lEYXRlcGlja2VyQ2FsZW5kYXJJbm5lckNvbXBvbmVudCB9IGZyb20gJy4vZGF0ZXBpY2tlci1jYWxlbmRhci1pbm5lci5jb21wb25lbnQnO1xuaW1wb3J0IHsgU2t5RGF0ZXBpY2tlckRhdGUgfSBmcm9tICcuL2RhdGVwaWNrZXItZGF0ZSc7XG5cbi8qKlxuICogQGludGVybmFsXG4gKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3NreS1kYXlwaWNrZXItYnV0dG9uJyxcbiAgdGVtcGxhdGVVcmw6ICdkYXlwaWNrZXItYnV0dG9uLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vZGF5cGlja2VyLWJ1dHRvbi5jb21wb25lbnQuc2NzcyddLFxufSlcbmV4cG9ydCBjbGFzcyBTa3lEYXlQaWNrZXJCdXR0b25Db21wb25lbnQge1xuICAvKipcbiAgICogU3BlY2lmaWVzIHRoZSBkYXRlIHRoaXMgcGlja2VyIGJ1dHRvbiB3aWxsIHJlcHJlc2VudCBvbiB0aGUgY2FsZW5kYXIuXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgZGF0ZTogU2t5RGF0ZXBpY2tlckRhdGUgfCB1bmRlZmluZWQ7XG5cbiAgY29uc3RydWN0b3IocHVibGljIGRhdGVwaWNrZXI6IFNreURhdGVwaWNrZXJDYWxlbmRhcklubmVyQ29tcG9uZW50KSB7fVxufVxuIiwiPGJ1dHRvblxuICAqbmdJZj1cImRhdGVcIlxuICBjbGFzcz1cInNreS1idG4gc2t5LWJ0bi1zbSBza3ktYnRuLWRlZmF1bHQgc2t5LWRhdGVwaWNrZXItYnRuLWRhdGVcIlxuICB0YWJpbmRleD1cIi0xXCJcbiAgdHlwZT1cImJ1dHRvblwiXG4gIFtkaXNhYmxlZF09XCJkYXRlLmRpc2FibGVkXCJcbiAgW25nQ2xhc3NdPVwie1xuICAgICdza3ktZGF0ZXBpY2tlci1idG4tc2VsZWN0ZWQnOiBkYXRlLnNlbGVjdGVkLFxuICAgICdza3ktYnRuLWRpc2FibGVkJzogZGF0ZS5kaXNhYmxlZCxcbiAgICAnc2t5LWJ0bi1hY3RpdmUnOiBkYXRlcGlja2VyLmlzQWN0aXZlKGRhdGUpLFxuICAgICdza3ktZGF0ZXBpY2tlci1idG4tZGlzYWJsZWQnOiBkYXRlLmRpc2FibGVkLFxuICAgICdza3ktZGF0ZXBpY2tlci1idG4ta2V5LWRhdGUnOiBkYXRlLmtleURhdGVcbiAgfVwiXG4gIChjbGljayk9XCJkYXRlcGlja2VyLnNlbGVjdENhbGVuZGFyKCRldmVudCwgZGF0ZS5kYXRlLCB0cnVlKVwiXG4+XG4gIDxzcGFuIFtuZ0NsYXNzXT1cInsgJ3NreS1kYXRlcGlja2VyLXNlY29uZGFyeSc6IGRhdGUuc2Vjb25kYXJ5IH1cIj5cbiAgICB7eyBkYXRlLmxhYmVsIH19XG4gIDwvc3Bhbj5cbjwvYnV0dG9uPlxuIl19
|