@leanix/components 0.4.3 → 0.4.4
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/esm2020/lib/forms-ui/components/date-input/date-input.component.mjs +5 -4
- package/esm2020/lib/forms-ui/components/date-picker-ui/date-formatter.mjs +8 -0
- package/esm2020/lib/forms-ui/components/date-picker-ui/datepicker-inner.component.mjs +310 -0
- package/esm2020/lib/forms-ui/components/date-picker-ui/datepicker-ui.module.mjs +28 -0
- package/esm2020/lib/forms-ui/components/date-picker-ui/datepicker.component.mjs +205 -0
- package/esm2020/lib/forms-ui/components/date-picker-ui/datepicker.config.mjs +29 -0
- package/esm2020/lib/forms-ui/components/date-picker-ui/daypicker.component.mjs +305 -0
- package/esm2020/lib/forms-ui/components/date-picker-ui/isBs3.mjs +2 -0
- package/esm2020/lib/forms-ui/components/date-picker-ui/monthpicker.component.mjs +149 -0
- package/esm2020/lib/forms-ui/components/date-picker-ui/yearpicker.component.mjs +153 -0
- package/esm2020/lib/forms-ui/forms-ui.module.mjs +6 -6
- package/fesm2015/leanix-components.mjs +1151 -8
- package/fesm2015/leanix-components.mjs.map +1 -1
- package/fesm2020/leanix-components.mjs +1150 -8
- package/fesm2020/leanix-components.mjs.map +1 -1
- package/lib/forms-ui/components/date-picker-ui/date-formatter.d.ts +3 -0
- package/lib/forms-ui/components/date-picker-ui/datepicker-inner.component.d.ts +78 -0
- package/lib/forms-ui/components/date-picker-ui/datepicker-ui.module.d.ts +15 -0
- package/lib/forms-ui/components/date-picker-ui/datepicker.component.d.ts +81 -0
- package/lib/forms-ui/components/date-picker-ui/datepicker.config.d.ts +22 -0
- package/lib/forms-ui/components/date-picker-ui/daypicker.component.d.ts +17 -0
- package/lib/forms-ui/components/date-picker-ui/isBs3.d.ts +1 -0
- package/lib/forms-ui/components/date-picker-ui/monthpicker.component.d.ts +14 -0
- package/lib/forms-ui/components/date-picker-ui/yearpicker.component.d.ts +14 -0
- package/lib/forms-ui/forms-ui.module.d.ts +2 -2
- package/package.json +1 -1
- package/src/lib/forms-ui/components/date-picker-ui/README.md +8 -0
|
@@ -0,0 +1,205 @@
|
|
|
1
|
+
import { Component, EventEmitter, forwardRef, Input, Output, ViewChild } from '@angular/core';
|
|
2
|
+
import { NG_VALUE_ACCESSOR } from '@angular/forms';
|
|
3
|
+
import { DatePickerInnerComponent } from './datepicker-inner.component';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
import * as i1 from "./datepicker.config";
|
|
6
|
+
import * as i2 from "./datepicker-inner.component";
|
|
7
|
+
import * as i3 from "./daypicker.component";
|
|
8
|
+
import * as i4 from "./monthpicker.component";
|
|
9
|
+
import * as i5 from "./yearpicker.component";
|
|
10
|
+
export const DATEPICKER_CONTROL_VALUE_ACCESSOR = {
|
|
11
|
+
provide: NG_VALUE_ACCESSOR,
|
|
12
|
+
useExisting: forwardRef(() => DatePickerComponent),
|
|
13
|
+
multi: true
|
|
14
|
+
};
|
|
15
|
+
/* tslint:enable:component-selector-name component-selector-type */
|
|
16
|
+
export class DatePickerComponent {
|
|
17
|
+
constructor(config) {
|
|
18
|
+
/** sets datepicker mode, supports: `day`, `month`, `year` */
|
|
19
|
+
this.datepickerMode = 'day';
|
|
20
|
+
/** if false week numbers will be hidden */
|
|
21
|
+
this.showWeeks = true;
|
|
22
|
+
this.selectionDone = new EventEmitter(undefined);
|
|
23
|
+
/** callback to invoke when the activeDate is changed. */
|
|
24
|
+
this.activeDateChange = new EventEmitter(undefined);
|
|
25
|
+
/* tslint:disable-next-line: no-any*/
|
|
26
|
+
this.onChange = Function.prototype;
|
|
27
|
+
/* tslint:disable-next-line: no-any*/
|
|
28
|
+
this.onTouched = Function.prototype;
|
|
29
|
+
this._now = new Date();
|
|
30
|
+
this.config = config;
|
|
31
|
+
this.configureOptions();
|
|
32
|
+
}
|
|
33
|
+
/** currently active date */
|
|
34
|
+
get activeDate() {
|
|
35
|
+
return this._activeDate || this._now;
|
|
36
|
+
}
|
|
37
|
+
set activeDate(value) {
|
|
38
|
+
this._activeDate = value;
|
|
39
|
+
}
|
|
40
|
+
configureOptions() {
|
|
41
|
+
Object.assign(this, this.config);
|
|
42
|
+
}
|
|
43
|
+
onUpdate(event) {
|
|
44
|
+
this.activeDate = event;
|
|
45
|
+
this.onChange(event);
|
|
46
|
+
}
|
|
47
|
+
onSelectionDone(event) {
|
|
48
|
+
this.selectionDone.emit(event);
|
|
49
|
+
}
|
|
50
|
+
onActiveDateChange(event) {
|
|
51
|
+
this.activeDateChange.emit(event);
|
|
52
|
+
}
|
|
53
|
+
// todo: support null value
|
|
54
|
+
/* tslint:disable-next-line: no-any*/
|
|
55
|
+
writeValue(value) {
|
|
56
|
+
if (this._datePicker.compare(value, this._activeDate) === 0) {
|
|
57
|
+
return;
|
|
58
|
+
}
|
|
59
|
+
if (value && value instanceof Date) {
|
|
60
|
+
this.activeDate = value;
|
|
61
|
+
this._datePicker.select(value, false);
|
|
62
|
+
return;
|
|
63
|
+
}
|
|
64
|
+
this.activeDate = (value ? new Date(value) : void 0);
|
|
65
|
+
}
|
|
66
|
+
registerOnChange(fn) {
|
|
67
|
+
this.onChange = fn;
|
|
68
|
+
}
|
|
69
|
+
registerOnTouched(fn) {
|
|
70
|
+
this.onTouched = fn;
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
DatePickerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: DatePickerComponent, deps: [{ token: i1.DatepickerConfig }], target: i0.ɵɵFactoryTarget.Component });
|
|
74
|
+
DatePickerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.1", type: DatePickerComponent, selector: "datepicker", inputs: { datepickerMode: "datepickerMode", initDate: "initDate", minDate: "minDate", maxDate: "maxDate", minMode: "minMode", maxMode: "maxMode", showWeeks: "showWeeks", formatDay: "formatDay", formatMonth: "formatMonth", formatYear: "formatYear", formatDayHeader: "formatDayHeader", formatDayTitle: "formatDayTitle", formatMonthTitle: "formatMonthTitle", startingDay: "startingDay", yearRange: "yearRange", onlyCurrentMonth: "onlyCurrentMonth", shortcutPropagation: "shortcutPropagation", monthColLimit: "monthColLimit", yearColLimit: "yearColLimit", customClass: "customClass", dateDisabled: "dateDisabled", dayDisabled: "dayDisabled", activeDate: "activeDate" }, outputs: { selectionDone: "selectionDone", activeDateChange: "activeDateChange" }, providers: [DATEPICKER_CONTROL_VALUE_ACCESSOR], viewQueries: [{ propertyName: "_datePicker", first: true, predicate: DatePickerInnerComponent, descendants: true, static: true }], ngImport: i0, template: `
|
|
75
|
+
<datepicker-inner
|
|
76
|
+
[activeDate]="activeDate"
|
|
77
|
+
(update)="onUpdate($event)"
|
|
78
|
+
[locale]="config.locale"
|
|
79
|
+
[datepickerMode]="datepickerMode"
|
|
80
|
+
[initDate]="initDate"
|
|
81
|
+
[minDate]="minDate"
|
|
82
|
+
[maxDate]="maxDate"
|
|
83
|
+
[minMode]="minMode"
|
|
84
|
+
[maxMode]="maxMode"
|
|
85
|
+
[showWeeks]="showWeeks"
|
|
86
|
+
[formatDay]="formatDay"
|
|
87
|
+
[formatMonth]="formatMonth"
|
|
88
|
+
[formatYear]="formatYear"
|
|
89
|
+
[formatDayHeader]="formatDayHeader"
|
|
90
|
+
[formatDayTitle]="formatDayTitle"
|
|
91
|
+
[formatMonthTitle]="formatMonthTitle"
|
|
92
|
+
[startingDay]="startingDay"
|
|
93
|
+
[yearRange]="yearRange"
|
|
94
|
+
[customClass]="customClass"
|
|
95
|
+
[dateDisabled]="dateDisabled"
|
|
96
|
+
[dayDisabled]="dayDisabled"
|
|
97
|
+
[onlyCurrentMonth]="onlyCurrentMonth"
|
|
98
|
+
[shortcutPropagation]="shortcutPropagation"
|
|
99
|
+
[monthColLimit]="monthColLimit"
|
|
100
|
+
[yearColLimit]="yearColLimit"
|
|
101
|
+
(selectionDone)="onSelectionDone($event)"
|
|
102
|
+
(activeDateChange)="onActiveDateChange($event)"
|
|
103
|
+
>
|
|
104
|
+
<daypicker tabindex="0"></daypicker>
|
|
105
|
+
<monthpicker tabindex="0"></monthpicker>
|
|
106
|
+
<yearpicker tabindex="0"></yearpicker>
|
|
107
|
+
</datepicker-inner>
|
|
108
|
+
`, isInline: true, dependencies: [{ kind: "component", type: i2.DatePickerInnerComponent, selector: "datepicker-inner", inputs: ["locale", "datepickerMode", "startingDay", "yearRange", "minDate", "maxDate", "minMode", "maxMode", "showWeeks", "formatDay", "formatMonth", "formatYear", "formatDayHeader", "formatDayTitle", "formatMonthTitle", "onlyCurrentMonth", "shortcutPropagation", "customClass", "monthColLimit", "yearColLimit", "dateDisabled", "dayDisabled", "initDate", "activeDate"], outputs: ["selectionDone", "update", "activeDateChange"] }, { kind: "component", type: i3.DayPickerComponent, selector: "daypicker" }, { kind: "component", type: i4.MonthPickerComponent, selector: "monthpicker" }, { kind: "component", type: i5.YearPickerComponent, selector: "yearpicker" }] });
|
|
109
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: DatePickerComponent, decorators: [{
|
|
110
|
+
type: Component,
|
|
111
|
+
args: [{
|
|
112
|
+
// eslint-disable-next-line @angular-eslint/component-selector
|
|
113
|
+
selector: 'datepicker',
|
|
114
|
+
template: `
|
|
115
|
+
<datepicker-inner
|
|
116
|
+
[activeDate]="activeDate"
|
|
117
|
+
(update)="onUpdate($event)"
|
|
118
|
+
[locale]="config.locale"
|
|
119
|
+
[datepickerMode]="datepickerMode"
|
|
120
|
+
[initDate]="initDate"
|
|
121
|
+
[minDate]="minDate"
|
|
122
|
+
[maxDate]="maxDate"
|
|
123
|
+
[minMode]="minMode"
|
|
124
|
+
[maxMode]="maxMode"
|
|
125
|
+
[showWeeks]="showWeeks"
|
|
126
|
+
[formatDay]="formatDay"
|
|
127
|
+
[formatMonth]="formatMonth"
|
|
128
|
+
[formatYear]="formatYear"
|
|
129
|
+
[formatDayHeader]="formatDayHeader"
|
|
130
|
+
[formatDayTitle]="formatDayTitle"
|
|
131
|
+
[formatMonthTitle]="formatMonthTitle"
|
|
132
|
+
[startingDay]="startingDay"
|
|
133
|
+
[yearRange]="yearRange"
|
|
134
|
+
[customClass]="customClass"
|
|
135
|
+
[dateDisabled]="dateDisabled"
|
|
136
|
+
[dayDisabled]="dayDisabled"
|
|
137
|
+
[onlyCurrentMonth]="onlyCurrentMonth"
|
|
138
|
+
[shortcutPropagation]="shortcutPropagation"
|
|
139
|
+
[monthColLimit]="monthColLimit"
|
|
140
|
+
[yearColLimit]="yearColLimit"
|
|
141
|
+
(selectionDone)="onSelectionDone($event)"
|
|
142
|
+
(activeDateChange)="onActiveDateChange($event)"
|
|
143
|
+
>
|
|
144
|
+
<daypicker tabindex="0"></daypicker>
|
|
145
|
+
<monthpicker tabindex="0"></monthpicker>
|
|
146
|
+
<yearpicker tabindex="0"></yearpicker>
|
|
147
|
+
</datepicker-inner>
|
|
148
|
+
`,
|
|
149
|
+
providers: [DATEPICKER_CONTROL_VALUE_ACCESSOR]
|
|
150
|
+
}]
|
|
151
|
+
}], ctorParameters: function () { return [{ type: i1.DatepickerConfig }]; }, propDecorators: { datepickerMode: [{
|
|
152
|
+
type: Input
|
|
153
|
+
}], initDate: [{
|
|
154
|
+
type: Input
|
|
155
|
+
}], minDate: [{
|
|
156
|
+
type: Input
|
|
157
|
+
}], maxDate: [{
|
|
158
|
+
type: Input
|
|
159
|
+
}], minMode: [{
|
|
160
|
+
type: Input
|
|
161
|
+
}], maxMode: [{
|
|
162
|
+
type: Input
|
|
163
|
+
}], showWeeks: [{
|
|
164
|
+
type: Input
|
|
165
|
+
}], formatDay: [{
|
|
166
|
+
type: Input
|
|
167
|
+
}], formatMonth: [{
|
|
168
|
+
type: Input
|
|
169
|
+
}], formatYear: [{
|
|
170
|
+
type: Input
|
|
171
|
+
}], formatDayHeader: [{
|
|
172
|
+
type: Input
|
|
173
|
+
}], formatDayTitle: [{
|
|
174
|
+
type: Input
|
|
175
|
+
}], formatMonthTitle: [{
|
|
176
|
+
type: Input
|
|
177
|
+
}], startingDay: [{
|
|
178
|
+
type: Input
|
|
179
|
+
}], yearRange: [{
|
|
180
|
+
type: Input
|
|
181
|
+
}], onlyCurrentMonth: [{
|
|
182
|
+
type: Input
|
|
183
|
+
}], shortcutPropagation: [{
|
|
184
|
+
type: Input
|
|
185
|
+
}], monthColLimit: [{
|
|
186
|
+
type: Input
|
|
187
|
+
}], yearColLimit: [{
|
|
188
|
+
type: Input
|
|
189
|
+
}], customClass: [{
|
|
190
|
+
type: Input
|
|
191
|
+
}], dateDisabled: [{
|
|
192
|
+
type: Input
|
|
193
|
+
}], dayDisabled: [{
|
|
194
|
+
type: Input
|
|
195
|
+
}], activeDate: [{
|
|
196
|
+
type: Input
|
|
197
|
+
}], selectionDone: [{
|
|
198
|
+
type: Output
|
|
199
|
+
}], activeDateChange: [{
|
|
200
|
+
type: Output
|
|
201
|
+
}], _datePicker: [{
|
|
202
|
+
type: ViewChild,
|
|
203
|
+
args: [DatePickerInnerComponent, { static: true }]
|
|
204
|
+
}] } });
|
|
205
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZXBpY2tlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvc3JjL2xpYi9mb3Jtcy11aS9jb21wb25lbnRzL2RhdGUtcGlja2VyLXVpL2RhdGVwaWNrZXIuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLFVBQVUsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFZLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN4RyxPQUFPLEVBQXdCLGlCQUFpQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDekUsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sOEJBQThCLENBQUM7Ozs7Ozs7QUFHeEUsTUFBTSxDQUFDLE1BQU0saUNBQWlDLEdBQWE7SUFDekQsT0FBTyxFQUFFLGlCQUFpQjtJQUMxQixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLG1CQUFtQixDQUFDO0lBQ2xELEtBQUssRUFBRSxJQUFJO0NBQ1osQ0FBQztBQTBDRixtRUFBbUU7QUFDbkUsTUFBTSxPQUFPLG1CQUFtQjtJQWdHOUIsWUFBWSxNQUF3QjtRQS9GcEMsNkRBQTZEO1FBQ3BELG1CQUFjLEdBQUcsS0FBSyxDQUFDO1FBZ0JoQywyQ0FBMkM7UUFDbEMsY0FBUyxHQUFHLElBQUksQ0FBQztRQTBEMUIsa0JBQWEsR0FBdUIsSUFBSSxZQUFZLENBQU8sU0FBUyxDQUFDLENBQUM7UUFFdEUseURBQXlEO1FBRXpELHFCQUFnQixHQUF1QixJQUFJLFlBQVksQ0FBTyxTQUFTLENBQUMsQ0FBQztRQUt6RSxxQ0FBcUM7UUFDckMsYUFBUSxHQUFRLFFBQVEsQ0FBQyxTQUFTLENBQUM7UUFDbkMscUNBQXFDO1FBQ3JDLGNBQVMsR0FBUSxRQUFRLENBQUMsU0FBUyxDQUFDO1FBSTFCLFNBQUksR0FBUyxJQUFJLElB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O3NCQURmLEtBQUs7Z0JBSU4sbUJBQW1CO3NCQURsQixLQUFLO2dCQUlOLGFBQWE7c0JBRFosS0FBSztnQkFJTixZQUFZO3NCQURYLEtBQUs7Z0JBSU4sV0FBVztzQkFEVixLQUFLO2dCQUlOLFlBQVk7c0JBRFgsS0FBSztnQkFJTixXQUFXO3NCQURWLEtBQUs7Z0JBS0YsVUFBVTtzQkFEYixLQUFLO2dCQVVOLGFBQWE7c0JBRFosTUFBTTtnQkFLUCxnQkFBZ0I7c0JBRGYsTUFBTTtnQkFJUCxXQUFXO3NCQURWLFNBQVM7dUJBQUMsd0JBQXdCLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIGZvcndhcmRSZWYsIElucHV0LCBPdXRwdXQsIFByb3ZpZGVyLCBWaWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBOR19WQUxVRV9BQ0NFU1NPUiB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IERhdGVQaWNrZXJJbm5lckNvbXBvbmVudCB9IGZyb20gJy4vZGF0ZXBpY2tlci1pbm5lci5jb21wb25lbnQnO1xuaW1wb3J0IHsgRGF0ZXBpY2tlckNvbmZpZyB9IGZyb20gJy4vZGF0ZXBpY2tlci5jb25maWcnO1xuXG5leHBvcnQgY29uc3QgREFURVBJQ0tFUl9DT05UUk9MX1ZBTFVFX0FDQ0VTU09SOiBQcm92aWRlciA9IHtcbiAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXG4gIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IERhdGVQaWNrZXJDb21wb25lbnQpLFxuICBtdWx0aTogdHJ1ZVxufTtcblxuQENvbXBvbmVudCh7XG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvY29tcG9uZW50LXNlbGVjdG9yXG4gIHNlbGVjdG9yOiAnZGF0ZXBpY2tlcicsXG4gIHRlbXBsYXRlOiBgXG4gICAgPGRhdGVwaWNrZXItaW5uZXJcbiAgICAgIFthY3RpdmVEYXRlXT1cImFjdGl2ZURhdGVcIlxuICAgICAgKHVwZGF0ZSk9XCJvblVwZGF0ZSgkZXZlbnQpXCJcbiAgICAgIFtsb2NhbGVdPVwiY29uZmlnLmxvY2FsZVwiXG4gICAgICBbZGF0ZXBpY2tlck1vZGVdPVwiZGF0ZXBpY2tlck1vZGVcIlxuICAgICAgW2luaXREYXRlXT1cImluaXREYXRlXCJcbiAgICAgIFttaW5EYXRlXT1cIm1pbkRhdGVcIlxuICAgICAgW21heERhdGVdPVwibWF4RGF0ZVwiXG4gICAgICBbbWluTW9kZV09XCJtaW5Nb2RlXCJcbiAgICAgIFttYXhNb2RlXT1cIm1heE1vZGVcIlxuICAgICAgW3Nob3dXZWVrc109XCJzaG93V2Vla3NcIlxuICAgICAgW2Zvcm1hdERheV09XCJmb3JtYXREYXlcIlxuICAgICAgW2Zvcm1hdE1vbnRoXT1cImZvcm1hdE1vbnRoXCJcbiAgICAgIFtmb3JtYXRZZWFyXT1cImZvcm1hdFllYXJcIlxuICAgICAgW2Zvcm1hdERheUhlYWRlcl09XCJmb3JtYXREYXlIZWFkZXJcIlxuICAgICAgW2Zvcm1hdERheVRpdGxlXT1cImZvcm1hdERheVRpdGxlXCJcbiAgICAgIFtmb3JtYXRNb250aFRpdGxlXT1cImZvcm1hdE1vbnRoVGl0bGVcIlxuICAgICAgW3N0YXJ0aW5nRGF5XT1cInN0YXJ0aW5nRGF5XCJcbiAgICAgIFt5ZWFyUmFuZ2VdPVwieWVhclJhbmdlXCJcbiAgICAgIFtjdXN0b21DbGFzc109XCJjdXN0b21DbGFzc1wiXG4gICAgICBbZGF0ZURpc2FibGVkXT1cImRhdGVEaXNhYmxlZFwiXG4gICAgICBbZGF5RGlzYWJsZWRdPVwiZGF5RGlzYWJsZWRcIlxuICAgICAgW29ubHlDdXJyZW50TW9udGhdPVwib25seUN1cnJlbnRNb250aFwiXG4gICAgICBbc2hvcnRjdXRQcm9wYWdhdGlvbl09XCJzaG9ydGN1dFByb3BhZ2F0aW9uXCJcbiAgICAgIFttb250aENvbExpbWl0XT1cIm1vbnRoQ29sTGltaXRcIlxuICAgICAgW3llYXJDb2xMaW1pdF09XCJ5ZWFyQ29sTGltaXRcIlxuICAgICAgKHNlbGVjdGlvbkRvbmUpPVwib25TZWxlY3Rpb25Eb25lKCRldmVudClcIlxuICAgICAgKGFjdGl2ZURhdGVDaGFuZ2UpPVwib25BY3RpdmVEYXRlQ2hhbmdlKCRldmVudClcIlxuICAgID5cbiAgICAgIDxkYXlwaWNrZXIgdGFiaW5kZXg9XCIwXCI+PC9kYXlwaWNrZXI+XG4gICAgICA8bW9udGhwaWNrZXIgdGFiaW5kZXg9XCIwXCI+PC9tb250aHBpY2tlcj5cbiAgICAgIDx5ZWFycGlja2VyIHRhYmluZGV4PVwiMFwiPjwveWVhcnBpY2tlcj5cbiAgICA8L2RhdGVwaWNrZXItaW5uZXI+XG4gIGAsXG4gIHByb3ZpZGVyczogW0RBVEVQSUNLRVJfQ09OVFJPTF9WQUxVRV9BQ0NFU1NPUl1cbn0pXG4vKiB0c2xpbnQ6ZW5hYmxlOmNvbXBvbmVudC1zZWxlY3Rvci1uYW1lIGNvbXBvbmVudC1zZWxlY3Rvci10eXBlICovXG5leHBvcnQgY2xhc3MgRGF0ZVBpY2tlckNvbXBvbmVudCBpbXBsZW1lbnRzIENvbnRyb2xWYWx1ZUFjY2Vzc29yIHtcbiAgLyoqIHNldHMgZGF0ZXBpY2tlciBtb2RlLCBzdXBwb3J0czogYGRheWAsIGBtb250aGAsIGB5ZWFyYCAqL1xuICBASW5wdXQoKSBkYXRlcGlja2VyTW9kZSA9ICdkYXknO1xuICAvKiogZGVmYXVsdCBkYXRlIHRvIHNob3cgaWYgYG5nLW1vZGVsYCB2YWx1ZSBpcyBub3Qgc3BlY2lmaWVkICovXG4gIEBJbnB1dCgpXG4gIGluaXREYXRlITogRGF0ZTtcbiAgLyoqICBvbGRlc3Qgc2VsZWN0YWJsZSBkYXRlICovXG4gIEBJbnB1dCgpXG4gIG1pbkRhdGUhOiBEYXRlO1xuICAvKiogbGF0ZXN0IHNlbGVjdGFibGUgZGF0ZSAqL1xuICBASW5wdXQoKVxuICBtYXhEYXRlITogRGF0ZTtcbiAgLyoqIHNldCBsb3dlciBkYXRlcGlja2VyIG1vZGUsIHN1cHBvcnRzOiBgZGF5YCwgYG1vbnRoYCwgYHllYXJgICovXG4gIEBJbnB1dCgpXG4gIG1pbk1vZGUhOiBzdHJpbmc7XG4gIC8qKiBzZXRzIHVwcGVyIGRhdGVwaWNrZXIgbW9kZSwgc3VwcG9ydHM6IGBkYXlgLCBgbW9udGhgLCBgeWVhcmAgKi9cbiAgQElucHV0KClcbiAgbWF4TW9kZSE6IHN0cmluZztcbiAgLyoqIGlmIGZhbHNlIHdlZWsgbnVtYmVycyB3aWxsIGJlIGhpZGRlbiAqL1xuICBASW5wdXQoKSBzaG93V2Vla3MgPSB0cnVlO1xuICAvKiogZm9ybWF0IG9mIGRheSBpbiBtb250aCAqL1xuICBASW5wdXQoKVxuICBmb3JtYXREYXkhOiBzdHJpbmc7XG4gIC8qKiBmb3JtYXQgb2YgbW9udGggaW4geWVhciAqL1xuICBASW5wdXQoKVxuICBmb3JtYXRNb250aCE6IHN0cmluZztcbiAgLyoqIGZvcm1hdCBvZiB5ZWFyIGluIHllYXIgcmFuZ2UgKi9cbiAgQElucHV0KClcbiAgZm9ybWF0WWVhciE6IHN0cmluZztcbiAgLyoqIGZvcm1hdCBvZiBkYXkgaW4gd2VlayBoZWFkZXIgKi9cbiAgQElucHV0KClcbiAgZm9ybWF0RGF5SGVhZGVyITogc3RyaW5nO1xuICAvKiogZm9ybWF0IG9mIHRpdGxlIHdoZW4gc2VsZWN0aW5nIGRheSAqL1xuICBASW5wdXQoKVxuICBmb3JtYXREYXlUaXRsZSE6IHN0cmluZztcbiAgLyoqIGZvcm1hdCBvZiB0aXRsZSB3aGVuIHNlbGVjdGluZyBtb250aCAqL1xuICBASW5wdXQoKVxuICBmb3JtYXRNb250aFRpdGxlITogc3RyaW5nO1xuICAvKiogc3RhcnRpbmcgZGF5IG9mIHRoZSB3ZWVrIGZyb20gMC02ICgwPVN1bmRheSwgLi4uLCA2PVNhdHVyZGF5KSAqL1xuICBASW5wdXQoKVxuICBzdGFydGluZ0RheSE6IG51bWJlcjtcbiAgLyoqIG51bWJlciBvZiB5ZWFycyBkaXNwbGF5ZWQgaW4geWVhciBzZWxlY3Rpb24gKi9cbiAgQElucHV0KClcbiAgeWVhclJhbmdlITogbnVtYmVyO1xuICAvKiogaWYgdHJ1ZSBvbmx5IGRhdGVzIGZyb20gdGhlIGN1cnJlbnRseSBkaXNwbGF5ZWQgbW9udGggd2lsbCBiZSBzaG93biAqL1xuICBASW5wdXQoKVxuICBvbmx5Q3VycmVudE1vbnRoITogYm9vbGVhbjtcbiAgLyoqIGlmIHRydWUgc2hvcnRjdXRgcyBldmVudCBwcm9wYWdhdGlvbiB3aWxsIGJlIGRpc2FibGVkICovXG4gIEBJbnB1dCgpXG4gIHNob3J0Y3V0UHJvcGFnYXRpb24hOiBib29sZWFuO1xuICAvKiogbnVtYmVyIG9mIG1vbnRocyBkaXNwbGF5ZWQgaW4gYSBzaW5nbGUgcm93IG9mIG1vbnRoIHBpY2tlciAqL1xuICBASW5wdXQoKVxuICBtb250aENvbExpbWl0ITogbnVtYmVyO1xuICAvKiogbnVtYmVyIG9mIHllYXJzIGRpc3BsYXllZCBpbiBhIHNpbmdsZSByb3cgb2YgeWVhciBwaWNrZXIgKi9cbiAgQElucHV0KClcbiAgeWVhckNvbExpbWl0ITogbnVtYmVyO1xuICAvKiogYXJyYXkgb2YgY3VzdG9tIGNzcyBjbGFzc2VzIHRvIGJlIGFwcGxpZWQgdG8gdGFyZ2V0ZWQgZGF0ZXMgKi9cbiAgQElucHV0KClcbiAgY3VzdG9tQ2xhc3MhOiB7IGRhdGU6IERhdGU7IG1vZGU6IHN0cmluZzsgY2xheno6IHN0cmluZyB9W107XG4gIC8qKiBhcnJheSBvZiBkaXNhYmxlZCBkYXRlcyAqL1xuICBASW5wdXQoKVxuICBkYXRlRGlzYWJsZWQhOiB7IGRhdGU6IERhdGU7IG1vZGU6IHN0cmluZyB9W107XG4gIC8qKiBkaXNhYmxlZCBkYXlzIG9mIHRoZSB3ZWVrIGZyb20gMC02ICgwPVN1bmRheSwgLi4uLCA2PVNhdHVyZGF5KSAqL1xuICBASW5wdXQoKVxuICBkYXlEaXNhYmxlZCE6IG51bWJlcltdO1xuXG4gIC8qKiBjdXJyZW50bHkgYWN0aXZlIGRhdGUgKi9cbiAgQElucHV0KClcbiAgZ2V0IGFjdGl2ZURhdGUoKTogRGF0ZSB7XG4gICAgcmV0dXJuIHRoaXMuX2FjdGl2ZURhdGUgfHwgdGhpcy5fbm93O1xuICB9XG5cbiAgc2V0IGFjdGl2ZURhdGUodmFsdWU6IERhdGUpIHtcbiAgICB0aGlzLl9hY3RpdmVEYXRlID0gdmFsdWU7XG4gIH1cblxuICBAT3V0cHV0KClcbiAgc2VsZWN0aW9uRG9uZTogRXZlbnRFbWl0dGVyPERhdGU+ID0gbmV3IEV2ZW50RW1pdHRlcjxEYXRlPih1bmRlZmluZWQpO1xuXG4gIC8qKiBjYWxsYmFjayB0byBpbnZva2Ugd2hlbiB0aGUgYWN0aXZlRGF0ZSBpcyBjaGFuZ2VkLiAqL1xuICBAT3V0cHV0KClcbiAgYWN0aXZlRGF0ZUNoYW5nZTogRXZlbnRFbWl0dGVyPERhdGU+ID0gbmV3IEV2ZW50RW1pdHRlcjxEYXRlPih1bmRlZmluZWQpO1xuXG4gIEBWaWV3Q2hpbGQoRGF0ZVBpY2tlcklubmVyQ29tcG9uZW50LCB7IHN0YXRpYzogdHJ1ZSB9KVxuICBfZGF0ZVBpY2tlciE6IERhdGVQaWNrZXJJbm5lckNvbXBvbmVudDtcblxuICAvKiB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6IG5vLWFueSovXG4gIG9uQ2hhbmdlOiBhbnkgPSBGdW5jdGlvbi5wcm90b3R5cGU7XG4gIC8qIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTogbm8tYW55Ki9cbiAgb25Ub3VjaGVkOiBhbnkgPSBGdW5jdGlvbi5wcm90b3R5cGU7XG5cbiAgY29uZmlnOiBEYXRlcGlja2VyQ29uZmlnO1xuXG4gIHByb3RlY3RlZCBfbm93OiBEYXRlID0gbmV3IERhdGUoKTtcbiAgcHJvdGVjdGVkIF9hY3RpdmVEYXRlITogRGF0ZTtcblxuICBjb25zdHJ1Y3Rvcihjb25maWc6IERhdGVwaWNrZXJDb25maWcpIHtcbiAgICB0aGlzLmNvbmZpZyA9IGNvbmZpZztcbiAgICB0aGlzLmNvbmZpZ3VyZU9wdGlvbnMoKTtcbiAgfVxuXG4gIGNvbmZpZ3VyZU9wdGlvbnMoKTogdm9pZCB7XG4gICAgT2JqZWN0LmFzc2lnbih0aGlzLCB0aGlzLmNvbmZpZyk7XG4gIH1cblxuICBvblVwZGF0ZShldmVudDogRGF0ZSk6IHZvaWQge1xuICAgIHRoaXMuYWN0aXZlRGF0ZSA9IGV2ZW50O1xuICAgIHRoaXMub25DaGFuZ2UoZXZlbnQpO1xuICB9XG5cbiAgb25TZWxlY3Rpb25Eb25lKGV2ZW50OiBEYXRlKTogdm9pZCB7XG4gICAgdGhpcy5zZWxlY3Rpb25Eb25lLmVtaXQoZXZlbnQpO1xuICB9XG5cbiAgb25BY3RpdmVEYXRlQ2hhbmdlKGV2ZW50OiBEYXRlKTogdm9pZCB7XG4gICAgdGhpcy5hY3RpdmVEYXRlQ2hhbmdlLmVtaXQoZXZlbnQpO1xuICB9XG4gIC8vIHRvZG86IHN1cHBvcnQgbnVsbCB2YWx1ZVxuICAvKiB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6IG5vLWFueSovXG4gIHdyaXRlVmFsdWUodmFsdWU6IGFueSk6IHZvaWQge1xuICAgIGlmICh0aGlzLl9kYXRlUGlja2VyLmNvbXBhcmUodmFsdWUsIHRoaXMuX2FjdGl2ZURhdGUpID09PSAwKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGlmICh2YWx1ZSAmJiB2YWx1ZSBpbnN0YW5jZW9mIERhdGUpIHtcbiAgICAgIHRoaXMuYWN0aXZlRGF0ZSA9IHZhbHVlO1xuICAgICAgdGhpcy5fZGF0ZVBpY2tlci5zZWxlY3QodmFsdWUsIGZhbHNlKTtcblxuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMuYWN0aXZlRGF0ZSA9ICh2YWx1ZSA/IG5ldyBEYXRlKHZhbHVlKSA6IHZvaWQgMCkhO1xuICB9XG5cbiAgcmVnaXN0ZXJPbkNoYW5nZShmbjogKCkgPT4gdm9pZCk6IHZvaWQge1xuICAgIHRoaXMub25DaGFuZ2UgPSBmbjtcbiAgfVxuXG4gIHJlZ2lzdGVyT25Ub3VjaGVkKGZuOiAoKSA9PiB2b2lkKTogdm9pZCB7XG4gICAgdGhpcy5vblRvdWNoZWQgPSBmbjtcbiAgfVxufVxuIl19
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { Injectable } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
export class DatepickerConfig {
|
|
4
|
+
constructor() {
|
|
5
|
+
this.locale = 'en';
|
|
6
|
+
this.datepickerMode = 'day';
|
|
7
|
+
this.startingDay = 0;
|
|
8
|
+
this.yearRange = 20;
|
|
9
|
+
this.minMode = 'day';
|
|
10
|
+
this.maxMode = 'year';
|
|
11
|
+
this.showWeeks = true;
|
|
12
|
+
this.formatDay = 'DD';
|
|
13
|
+
this.formatMonth = 'MMMM';
|
|
14
|
+
this.formatYear = 'YYYY';
|
|
15
|
+
this.formatDayHeader = 'dd';
|
|
16
|
+
this.formatDayTitle = 'MMMM YYYY';
|
|
17
|
+
this.formatMonthTitle = 'YYYY';
|
|
18
|
+
this.onlyCurrentMonth = false;
|
|
19
|
+
this.monthColLimit = 3;
|
|
20
|
+
this.yearColLimit = 5;
|
|
21
|
+
this.shortcutPropagation = false;
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
DatepickerConfig.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: DatepickerConfig, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
25
|
+
DatepickerConfig.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: DatepickerConfig });
|
|
26
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: DatepickerConfig, decorators: [{
|
|
27
|
+
type: Injectable
|
|
28
|
+
}] });
|
|
29
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZXBpY2tlci5jb25maWcuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvc3JjL2xpYi9mb3Jtcy11aS9jb21wb25lbnRzL2RhdGUtcGlja2VyLXVpL2RhdGVwaWNrZXIuY29uZmlnLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBRzNDLE1BQU0sT0FBTyxnQkFBZ0I7SUFEN0I7UUFFRSxXQUFNLEdBQUcsSUFBSSxDQUFDO1FBQ2QsbUJBQWMsR0FBRyxLQUFLLENBQUM7UUFDdkIsZ0JBQVcsR0FBRyxDQUFDLENBQUM7UUFDaEIsY0FBUyxHQUFHLEVBQUUsQ0FBQztRQUNmLFlBQU8sR0FBRyxLQUFLLENBQUM7UUFDaEIsWUFBTyxHQUFHLE1BQU0sQ0FBQztRQUNqQixjQUFTLEdBQUcsSUFBSSxDQUFDO1FBQ2pCLGNBQVMsR0FBRyxJQUFJLENBQUM7UUFDakIsZ0JBQVcsR0FBRyxNQUFNLENBQUM7UUFDckIsZUFBVSxHQUFHLE1BQU0sQ0FBQztRQUNwQixvQkFBZSxHQUFHLElBQUksQ0FBQztRQUN2QixtQkFBYyxHQUFHLFdBQVcsQ0FBQztRQUM3QixxQkFBZ0IsR0FBRyxNQUFNLENBQUM7UUFDMUIscUJBQWdCLEdBQUcsS0FBSyxDQUFDO1FBQ3pCLGtCQUFhLEdBQUcsQ0FBQyxDQUFDO1FBQ2xCLGlCQUFZLEdBQUcsQ0FBQyxDQUFDO1FBQ2pCLHdCQUFtQixHQUFHLEtBQUssQ0FBQztLQUM3Qjs7NkdBbEJZLGdCQUFnQjtpSEFBaEIsZ0JBQWdCOzJGQUFoQixnQkFBZ0I7a0JBRDVCLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBEYXRlcGlja2VyQ29uZmlnIHtcbiAgbG9jYWxlID0gJ2VuJztcbiAgZGF0ZXBpY2tlck1vZGUgPSAnZGF5JztcbiAgc3RhcnRpbmdEYXkgPSAwO1xuICB5ZWFyUmFuZ2UgPSAyMDtcbiAgbWluTW9kZSA9ICdkYXknO1xuICBtYXhNb2RlID0gJ3llYXInO1xuICBzaG93V2Vla3MgPSB0cnVlO1xuICBmb3JtYXREYXkgPSAnREQnO1xuICBmb3JtYXRNb250aCA9ICdNTU1NJztcbiAgZm9ybWF0WWVhciA9ICdZWVlZJztcbiAgZm9ybWF0RGF5SGVhZGVyID0gJ2RkJztcbiAgZm9ybWF0RGF5VGl0bGUgPSAnTU1NTSBZWVlZJztcbiAgZm9ybWF0TW9udGhUaXRsZSA9ICdZWVlZJztcbiAgb25seUN1cnJlbnRNb250aCA9IGZhbHNlO1xuICBtb250aENvbExpbWl0ID0gMztcbiAgeWVhckNvbExpbWl0ID0gNTtcbiAgc2hvcnRjdXRQcm9wYWdhdGlvbiA9IGZhbHNlO1xufVxuIl19
|
|
@@ -0,0 +1,305 @@
|
|
|
1
|
+
// @deprecated
|
|
2
|
+
// tslint:disable
|
|
3
|
+
import { Component } from '@angular/core';
|
|
4
|
+
import { isBs3 } from './isBs3';
|
|
5
|
+
import * as i0 from "@angular/core";
|
|
6
|
+
import * as i1 from "./datepicker-inner.component";
|
|
7
|
+
import * as i2 from "@angular/common";
|
|
8
|
+
export class DayPickerComponent {
|
|
9
|
+
constructor(datePicker) {
|
|
10
|
+
this.labels = [];
|
|
11
|
+
this.rows = [];
|
|
12
|
+
this.weekNumbers = [];
|
|
13
|
+
this.datePicker = datePicker;
|
|
14
|
+
}
|
|
15
|
+
get isBs4() {
|
|
16
|
+
return !isBs3();
|
|
17
|
+
}
|
|
18
|
+
/*protected getDaysInMonth(year:number, month:number) {
|
|
19
|
+
return ((month === 1) && (year % 4 === 0) &&
|
|
20
|
+
((year % 100 !== 0) || (year % 400 === 0))) ? 29 : DAYS_IN_MONTH[month];
|
|
21
|
+
}*/
|
|
22
|
+
ngOnInit() {
|
|
23
|
+
// eslint-disable-next-line @typescript-eslint/no-this-alias
|
|
24
|
+
const self = this;
|
|
25
|
+
this.datePicker.stepDay = { months: 1 };
|
|
26
|
+
this.datePicker.setRefreshViewHandler(function () {
|
|
27
|
+
const year = this.activeDate.getFullYear();
|
|
28
|
+
const month = this.activeDate.getMonth();
|
|
29
|
+
const firstDayOfMonth = new Date(year, month, 1);
|
|
30
|
+
const difference = this.startingDay - firstDayOfMonth.getDay();
|
|
31
|
+
const numDisplayedFromPreviousMonth = difference > 0 ? 7 - difference : -difference;
|
|
32
|
+
const firstDate = new Date(firstDayOfMonth.getTime());
|
|
33
|
+
if (numDisplayedFromPreviousMonth > 0) {
|
|
34
|
+
firstDate.setDate(-numDisplayedFromPreviousMonth + 1);
|
|
35
|
+
}
|
|
36
|
+
// 42 is the number of days on a six-week calendar
|
|
37
|
+
const _days = self.getDates(firstDate, 42);
|
|
38
|
+
const days = [];
|
|
39
|
+
for (let i = 0; i < 42; i++) {
|
|
40
|
+
const _dateObject = this.createDateObject(_days[i], this.formatDay);
|
|
41
|
+
_dateObject.secondary = _days[i]?.getMonth() !== month;
|
|
42
|
+
_dateObject.uid = this.uniqueId + '-' + i;
|
|
43
|
+
days[i] = _dateObject;
|
|
44
|
+
}
|
|
45
|
+
self.labels = [];
|
|
46
|
+
for (let j = 0; j < 7; j++) {
|
|
47
|
+
self.labels[j] = {};
|
|
48
|
+
self.labels[j].abbr = this.dateFilter(days[j].date, this.formatDayHeader);
|
|
49
|
+
self.labels[j].full = this.dateFilter(days[j].date, 'EEEE');
|
|
50
|
+
}
|
|
51
|
+
self.title = this.dateFilter(this.activeDate, this.formatDayTitle);
|
|
52
|
+
self.rows = this.split(days, 7);
|
|
53
|
+
if (this.showWeeks) {
|
|
54
|
+
self.weekNumbers = [];
|
|
55
|
+
const thursdayIndex = (4 + 7 - this.startingDay) % 7;
|
|
56
|
+
const numWeeks = self.rows.length;
|
|
57
|
+
for (let curWeek = 0; curWeek < numWeeks; curWeek++) {
|
|
58
|
+
self.weekNumbers.push(self.getISO8601WeekNumber(self.rows[curWeek][thursdayIndex].date));
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
}, 'day');
|
|
62
|
+
this.datePicker.setCompareHandler(function (date1, date2) {
|
|
63
|
+
const d1 = new Date(date1.getFullYear(), date1.getMonth(), date1.getDate());
|
|
64
|
+
const d2 = new Date(date2.getFullYear(), date2.getMonth(), date2.getDate());
|
|
65
|
+
return d1.getTime() - d2.getTime();
|
|
66
|
+
}, 'day');
|
|
67
|
+
this.datePicker.refreshView();
|
|
68
|
+
}
|
|
69
|
+
getDates(startDate, n) {
|
|
70
|
+
const dates = new Array(n);
|
|
71
|
+
let current = new Date(startDate.getTime());
|
|
72
|
+
let i = 0;
|
|
73
|
+
let date;
|
|
74
|
+
while (i < n) {
|
|
75
|
+
date = new Date(current.getTime());
|
|
76
|
+
date = this.datePicker.fixTimeZone(date);
|
|
77
|
+
dates[i++] = date;
|
|
78
|
+
current = new Date(date.getFullYear(), date.getMonth(), date.getDate() + 1);
|
|
79
|
+
}
|
|
80
|
+
return dates;
|
|
81
|
+
}
|
|
82
|
+
getISO8601WeekNumber(date) {
|
|
83
|
+
const checkDate = new Date(date.getTime());
|
|
84
|
+
// Thursday
|
|
85
|
+
checkDate.setDate(checkDate.getDate() + 4 - (checkDate.getDay() || 7));
|
|
86
|
+
const time = checkDate.getTime();
|
|
87
|
+
// Compare with Jan 1
|
|
88
|
+
checkDate.setMonth(0);
|
|
89
|
+
checkDate.setDate(1);
|
|
90
|
+
return Math.floor(Math.round((time - checkDate.getTime()) / 86400000) / 7) + 1;
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
DayPickerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: DayPickerComponent, deps: [{ token: i1.DatePickerInnerComponent }], target: i0.ɵɵFactoryTarget.Component });
|
|
94
|
+
DayPickerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.1", type: DayPickerComponent, selector: "daypicker", ngImport: i0, template: `
|
|
95
|
+
<table
|
|
96
|
+
*ngIf="datePicker.datepickerMode === 'day'"
|
|
97
|
+
role="grid"
|
|
98
|
+
[attr.aria-labelledby]="datePicker.uniqueId + '-title'"
|
|
99
|
+
aria-activedescendant="activeDateId"
|
|
100
|
+
>
|
|
101
|
+
<thead>
|
|
102
|
+
<tr>
|
|
103
|
+
<th>
|
|
104
|
+
<button
|
|
105
|
+
*ngIf="!isBs4"
|
|
106
|
+
type="button"
|
|
107
|
+
class="btn btn-default btn-secondary btn-sm pull-left float-left"
|
|
108
|
+
(click)="datePicker.move(-1)"
|
|
109
|
+
tabindex="-1"
|
|
110
|
+
>
|
|
111
|
+
‹
|
|
112
|
+
</button>
|
|
113
|
+
<button
|
|
114
|
+
*ngIf="isBs4"
|
|
115
|
+
type="button"
|
|
116
|
+
class="btn btn-default btn-secondary btn-sm pull-left float-left"
|
|
117
|
+
(click)="datePicker.move(-1)"
|
|
118
|
+
tabindex="-1"
|
|
119
|
+
>
|
|
120
|
+
<
|
|
121
|
+
</button>
|
|
122
|
+
</th>
|
|
123
|
+
<th [attr.colspan]="5 + (datePicker.showWeeks ? 1 : 0)">
|
|
124
|
+
<button
|
|
125
|
+
[id]="datePicker.uniqueId + '-title'"
|
|
126
|
+
type="button"
|
|
127
|
+
class="btn btn-default btn-secondary btn-sm"
|
|
128
|
+
(click)="datePicker.toggleMode(0)"
|
|
129
|
+
[disabled]="datePicker.datepickerMode === datePicker.maxMode"
|
|
130
|
+
[ngClass]="{ disabled: datePicker.datepickerMode === datePicker.maxMode }"
|
|
131
|
+
tabindex="-1"
|
|
132
|
+
style="width:100%;"
|
|
133
|
+
>
|
|
134
|
+
<strong>{{ title }}</strong>
|
|
135
|
+
</button>
|
|
136
|
+
</th>
|
|
137
|
+
<th>
|
|
138
|
+
<button
|
|
139
|
+
*ngIf="!isBs4"
|
|
140
|
+
type="button"
|
|
141
|
+
class="btn btn-default btn-secondary btn-sm pull-right float-right"
|
|
142
|
+
(click)="datePicker.move(1)"
|
|
143
|
+
tabindex="-1"
|
|
144
|
+
>
|
|
145
|
+
›
|
|
146
|
+
</button>
|
|
147
|
+
<button
|
|
148
|
+
*ngIf="isBs4"
|
|
149
|
+
type="button"
|
|
150
|
+
class="btn btn-default btn-secondary btn-sm pull-right float-right"
|
|
151
|
+
(click)="datePicker.move(1)"
|
|
152
|
+
tabindex="-1"
|
|
153
|
+
>
|
|
154
|
+
>
|
|
155
|
+
</button>
|
|
156
|
+
</th>
|
|
157
|
+
</tr>
|
|
158
|
+
<tr>
|
|
159
|
+
<th *ngIf="datePicker.showWeeks"></th>
|
|
160
|
+
<th *ngFor="let labelz of labels" class="text-center">
|
|
161
|
+
<small aria-label="labelz.full"
|
|
162
|
+
><b>{{ labelz.abbr }}</b></small
|
|
163
|
+
>
|
|
164
|
+
</th>
|
|
165
|
+
</tr>
|
|
166
|
+
</thead>
|
|
167
|
+
<tbody>
|
|
168
|
+
<ng-template ngFor [ngForOf]="rows" let-rowz="$implicit" let-index="index">
|
|
169
|
+
<tr *ngIf="!(datePicker.onlyCurrentMonth && rowz[0].secondary && rowz[6].secondary)">
|
|
170
|
+
<td *ngIf="datePicker.showWeeks" class="h6" class="text-center">
|
|
171
|
+
<em>{{ weekNumbers[index] }}</em>
|
|
172
|
+
</td>
|
|
173
|
+
<td *ngFor="let dtz of rowz" class="text-center" role="gridcell" [id]="dtz.uid">
|
|
174
|
+
<button
|
|
175
|
+
type="button"
|
|
176
|
+
style="min-width:100%;"
|
|
177
|
+
class="btn btn-sm {{ dtz.customClass }}"
|
|
178
|
+
*ngIf="!(datePicker.onlyCurrentMonth && dtz.secondary)"
|
|
179
|
+
[ngClass]="{
|
|
180
|
+
'btn-secondary': isBs4 && !dtz.selected && !datePicker.isActive(dtz),
|
|
181
|
+
'btn-info': dtz.selected,
|
|
182
|
+
disabled: dtz.disabled,
|
|
183
|
+
active: !isBs4 && datePicker.isActive(dtz),
|
|
184
|
+
'btn-default': !isBs4
|
|
185
|
+
}"
|
|
186
|
+
[disabled]="dtz.disabled"
|
|
187
|
+
(click)="datePicker.select(dtz.date)"
|
|
188
|
+
tabindex="-1"
|
|
189
|
+
>
|
|
190
|
+
<span [ngClass]="{ 'text-muted': dtz.secondary || dtz.current, 'text-info': !isBs4 && dtz.current }">{{ dtz.label }}</span>
|
|
191
|
+
</button>
|
|
192
|
+
</td>
|
|
193
|
+
</tr>
|
|
194
|
+
</ng-template>
|
|
195
|
+
</tbody>
|
|
196
|
+
</table>
|
|
197
|
+
`, isInline: true, styles: [":host .btn-secondary{color:#292b2c;background-color:#fff;border-color:#ccc}:host .btn-info .text-muted{color:#292b2c!important}\n"], dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
|
|
198
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: DayPickerComponent, decorators: [{
|
|
199
|
+
type: Component,
|
|
200
|
+
args: [{ selector: 'daypicker', template: `
|
|
201
|
+
<table
|
|
202
|
+
*ngIf="datePicker.datepickerMode === 'day'"
|
|
203
|
+
role="grid"
|
|
204
|
+
[attr.aria-labelledby]="datePicker.uniqueId + '-title'"
|
|
205
|
+
aria-activedescendant="activeDateId"
|
|
206
|
+
>
|
|
207
|
+
<thead>
|
|
208
|
+
<tr>
|
|
209
|
+
<th>
|
|
210
|
+
<button
|
|
211
|
+
*ngIf="!isBs4"
|
|
212
|
+
type="button"
|
|
213
|
+
class="btn btn-default btn-secondary btn-sm pull-left float-left"
|
|
214
|
+
(click)="datePicker.move(-1)"
|
|
215
|
+
tabindex="-1"
|
|
216
|
+
>
|
|
217
|
+
‹
|
|
218
|
+
</button>
|
|
219
|
+
<button
|
|
220
|
+
*ngIf="isBs4"
|
|
221
|
+
type="button"
|
|
222
|
+
class="btn btn-default btn-secondary btn-sm pull-left float-left"
|
|
223
|
+
(click)="datePicker.move(-1)"
|
|
224
|
+
tabindex="-1"
|
|
225
|
+
>
|
|
226
|
+
<
|
|
227
|
+
</button>
|
|
228
|
+
</th>
|
|
229
|
+
<th [attr.colspan]="5 + (datePicker.showWeeks ? 1 : 0)">
|
|
230
|
+
<button
|
|
231
|
+
[id]="datePicker.uniqueId + '-title'"
|
|
232
|
+
type="button"
|
|
233
|
+
class="btn btn-default btn-secondary btn-sm"
|
|
234
|
+
(click)="datePicker.toggleMode(0)"
|
|
235
|
+
[disabled]="datePicker.datepickerMode === datePicker.maxMode"
|
|
236
|
+
[ngClass]="{ disabled: datePicker.datepickerMode === datePicker.maxMode }"
|
|
237
|
+
tabindex="-1"
|
|
238
|
+
style="width:100%;"
|
|
239
|
+
>
|
|
240
|
+
<strong>{{ title }}</strong>
|
|
241
|
+
</button>
|
|
242
|
+
</th>
|
|
243
|
+
<th>
|
|
244
|
+
<button
|
|
245
|
+
*ngIf="!isBs4"
|
|
246
|
+
type="button"
|
|
247
|
+
class="btn btn-default btn-secondary btn-sm pull-right float-right"
|
|
248
|
+
(click)="datePicker.move(1)"
|
|
249
|
+
tabindex="-1"
|
|
250
|
+
>
|
|
251
|
+
›
|
|
252
|
+
</button>
|
|
253
|
+
<button
|
|
254
|
+
*ngIf="isBs4"
|
|
255
|
+
type="button"
|
|
256
|
+
class="btn btn-default btn-secondary btn-sm pull-right float-right"
|
|
257
|
+
(click)="datePicker.move(1)"
|
|
258
|
+
tabindex="-1"
|
|
259
|
+
>
|
|
260
|
+
>
|
|
261
|
+
</button>
|
|
262
|
+
</th>
|
|
263
|
+
</tr>
|
|
264
|
+
<tr>
|
|
265
|
+
<th *ngIf="datePicker.showWeeks"></th>
|
|
266
|
+
<th *ngFor="let labelz of labels" class="text-center">
|
|
267
|
+
<small aria-label="labelz.full"
|
|
268
|
+
><b>{{ labelz.abbr }}</b></small
|
|
269
|
+
>
|
|
270
|
+
</th>
|
|
271
|
+
</tr>
|
|
272
|
+
</thead>
|
|
273
|
+
<tbody>
|
|
274
|
+
<ng-template ngFor [ngForOf]="rows" let-rowz="$implicit" let-index="index">
|
|
275
|
+
<tr *ngIf="!(datePicker.onlyCurrentMonth && rowz[0].secondary && rowz[6].secondary)">
|
|
276
|
+
<td *ngIf="datePicker.showWeeks" class="h6" class="text-center">
|
|
277
|
+
<em>{{ weekNumbers[index] }}</em>
|
|
278
|
+
</td>
|
|
279
|
+
<td *ngFor="let dtz of rowz" class="text-center" role="gridcell" [id]="dtz.uid">
|
|
280
|
+
<button
|
|
281
|
+
type="button"
|
|
282
|
+
style="min-width:100%;"
|
|
283
|
+
class="btn btn-sm {{ dtz.customClass }}"
|
|
284
|
+
*ngIf="!(datePicker.onlyCurrentMonth && dtz.secondary)"
|
|
285
|
+
[ngClass]="{
|
|
286
|
+
'btn-secondary': isBs4 && !dtz.selected && !datePicker.isActive(dtz),
|
|
287
|
+
'btn-info': dtz.selected,
|
|
288
|
+
disabled: dtz.disabled,
|
|
289
|
+
active: !isBs4 && datePicker.isActive(dtz),
|
|
290
|
+
'btn-default': !isBs4
|
|
291
|
+
}"
|
|
292
|
+
[disabled]="dtz.disabled"
|
|
293
|
+
(click)="datePicker.select(dtz.date)"
|
|
294
|
+
tabindex="-1"
|
|
295
|
+
>
|
|
296
|
+
<span [ngClass]="{ 'text-muted': dtz.secondary || dtz.current, 'text-info': !isBs4 && dtz.current }">{{ dtz.label }}</span>
|
|
297
|
+
</button>
|
|
298
|
+
</td>
|
|
299
|
+
</tr>
|
|
300
|
+
</ng-template>
|
|
301
|
+
</tbody>
|
|
302
|
+
</table>
|
|
303
|
+
`, styles: [":host .btn-secondary{color:#292b2c;background-color:#fff;border-color:#ccc}:host .btn-info .text-muted{color:#292b2c!important}\n"] }]
|
|
304
|
+
}], ctorParameters: function () { return [{ type: i1.DatePickerInnerComponent }]; } });
|
|
305
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF5cGlja2VyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9zcmMvbGliL2Zvcm1zLXVpL2NvbXBvbmVudHMvZGF0ZS1waWNrZXItdWkvZGF5cGlja2VyLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjO0FBQ2QsaUJBQWlCO0FBQ2pCLE9BQU8sRUFBRSxTQUFTLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFFbEQsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLFNBQVMsQ0FBQzs7OztBQTBIaEMsTUFBTSxPQUFPLGtCQUFrQjtJQU83QixZQUFZLFVBQW9DO1FBTmhELFdBQU0sR0FBVSxFQUFFLENBQUM7UUFFbkIsU0FBSSxHQUFVLEVBQUUsQ0FBQztRQUNqQixnQkFBVyxHQUFhLEVBQUUsQ0FBQztRQUl6QixJQUFJLENBQUMsVUFBVSxHQUFHLFVBQVUsQ0FBQztJQUMvQixDQUFDO0lBRUQsSUFBSSxLQUFLO1FBQ1AsT0FBTyxDQUFDLEtBQUssRUFBRSxDQUFDO0lBQ2xCLENBQUM7SUFFRDs7O1FBR0k7SUFDSixRQUFRO1FBQ04sNERBQTREO1FBQzVELE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQztRQUVsQixJQUFJLENBQUMsVUFBVSxDQUFDLE9BQU8sR0FBRyxFQUFFLE1BQU0sRUFBRSxDQUFDLEVBQUUsQ0FBQztRQUV4QyxJQUFJLENBQUMsVUFBVSxDQUFDLHFCQUFxQixDQUFDO1lBQ3BDLE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsV0FBVyxFQUFFLENBQUM7WUFDM0MsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUN6QyxNQUFNLGVBQWUsR0FBRyxJQUFJLElBQUksQ0FBQyxJQUFJLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDO1lBQ2pELE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxXQUFXLEdBQUcsZUFBZSxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQy9ELE1BQU0sNkJBQTZCLEdBQUcsVUFBVSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUM7WUFDcEYsTUFBTSxTQUFTLEdBQUcsSUFBSSxJQUFJLENBQUMsZUFBZSxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUM7WUFFdEQsSUFBSSw2QkFBNkIsR0FBRyxDQUFDLEVBQUU7Z0JBQ3JDLFNBQVMsQ0FBQyxPQUFPLENBQUMsQ0FBQyw2QkFBNkIsR0FBRyxDQUFDLENBQUMsQ0FBQzthQUN2RDtZQUVELGtEQUFrRDtZQUNsRCxNQUFNLEtBQUssR0FBVyxJQUFJLENBQUMsUUFBUSxDQUFDLFNBQVMsRUFBRSxFQUFFLENBQUMsQ0FBQztZQUNuRCxNQUFNLElBQUksR0FBVSxFQUFFLENBQUM7WUFDdkIsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLEVBQUUsRUFBRTtnQkFDM0IsTUFBTSxXQUFXLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7Z0JBQ3BFLFdBQVcsQ0FBQyxTQUFTLEdBQUcsS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFFLFFBQVEsRUFBRSxLQUFLLEtBQUssQ0FBQztnQkFDdkQsV0FBVyxDQUFDLEdBQUcsR0FBRyxJQUFJLENBQUMsUUFBUSxHQUFHLEdBQUcsR0FBRyxDQUFDLENBQUM7Z0JBQzFDLElBQUksQ0FBQyxDQUFDLENBQUMsR0FBRyxXQUFXLENBQUM7YUFDdkI7WUFFRCxJQUFJLENBQUMsTUFBTSxHQUFHLEVBQUUsQ0FBQztZQUNqQixLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFO2dCQUMxQixJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQztnQkFDcEIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQztnQkFDMUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUFFLE1BQU0sQ0FBQyxDQUFDO2FBQzdEO1lBRUQsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUUsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDO1lBQ25FLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUM7WUFFaEMsSUFBSSxJQUFJLENBQUMsU0FBUyxFQUFFO2dCQUNsQixJQUFJLENBQUMsV0FBVyxHQUFHLEVBQUUsQ0FBQztnQkFDdEIsTUFBTSxhQUFhLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLENBQUM7Z0JBQ3JELE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDO2dCQUNsQyxLQUFLLElBQUksT0FBTyxHQUFHLENBQUMsRUFBRSxPQUFPLEdBQUcsUUFBUSxFQUFFLE9BQU8sRUFBRSxFQUFFO29CQUNuRCxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsb0JBQW9CLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxhQUFhLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO2lCQUMxRjthQUNGO1FBQ0gsQ0FBQyxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBRVYsSUFBSSxDQUFDLFVBQVUsQ0FBQyxpQkFBaUIsQ0FBQyxVQUFVLEtBQVcsRUFBRSxLQUFXO1lBQ2xFLE1BQU0sRUFBRSxHQUFHLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxXQUFXLEVBQUUsRUFBRSxLQUFLLENBQUMsUUFBUSxFQUFFLEVBQUUsS0FBSyxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUM7WUFDNUUsTUFBTSxFQUFFLEdBQUcsSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLFdBQVcsRUFBRSxFQUFFLEtBQUssQ0FBQyxRQUFRLEVBQUUsRUFBRSxLQUFLLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQztZQUM1RSxPQUFPLEVBQUUsQ0FBQyxPQUFPLEVBQUUsR0FBRyxFQUFFLENBQUMsT0FBTyxFQUFFLENBQUM7UUFDckMsQ0FBQyxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBRVYsSUFBSSxDQUFDLFVBQVUsQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUNoQyxDQUFDO0lBRVMsUUFBUSxDQUFDLFNBQWUsRUFBRSxDQUFTO1FBQzNDLE1BQU0sS0FBSyxHQUFXLElBQUksS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ25DLElBQUksT0FBTyxHQUFHLElBQUksSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDO1FBQzVDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUNWLElBQUksSUFBVSxDQUFDO1FBQ2YsT0FBTyxDQUFDLEdBQUcsQ0FBQyxFQUFFO1lBQ1osSUFBSSxHQUFHLElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDO1lBQ25DLElBQUksR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUN6QyxLQUFLLENBQUMsQ0FBQyxFQUFFLENBQUMsR0FBRyxJQUFJLENBQUM7WUFDbEIsT0FBTyxHQUFHLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsRUFBRSxJQUFJLENBQUMsUUFBUSxFQUFFLEVBQUUsSUFBSSxDQUFDLE9BQU8sRUFBRSxHQUFHLENBQUMsQ0FBQyxDQUFDO1NBQzdFO1FBQ0QsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDO0lBRVMsb0JBQW9CLENBQUMsSUFBVTtRQUN2QyxNQUFNLFNBQVMsR0FBRyxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQztRQUMzQyxXQUFXO1FBQ1gsU0FBUyxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsT0FBTyxFQUFFLEdBQUcsQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDdkUsTUFBTSxJQUFJLEdBQUcsU0FBUyxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQ2pDLHFCQUFxQjtRQUNyQixTQUFTLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ3RCLFNBQVMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDckIsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxJQUFJLEdBQUcsU0FBUyxDQUFDLE9BQU8sRUFBRSxDQUFDLEdBQUcsUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ2pGLENBQUM7OytHQW5HVSxrQkFBa0I7bUdBQWxCLGtCQUFrQixpREFySG5COzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBdUdUOzJGQWNVLGtCQUFrQjtrQkF4SDlCLFNBQVM7K0JBRUUsV0FBVyxZQUNYOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBdUdUIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQGRlcHJlY2F0ZWRcbi8vIHRzbGludDpkaXNhYmxlXG5pbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRGF0ZVBpY2tlcklubmVyQ29tcG9uZW50IH0gZnJvbSAnLi9kYXRlcGlja2VyLWlubmVyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBpc0JzMyB9IGZyb20gJy4vaXNCczMnO1xuXG5AQ29tcG9uZW50KHtcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9jb21wb25lbnQtc2VsZWN0b3JcbiAgc2VsZWN0b3I6ICdkYXlwaWNrZXInLFxuICB0ZW1wbGF0ZTogYFxuICAgIDx0YWJsZVxuICAgICAgKm5nSWY9XCJkYXRlUGlja2VyLmRhdGVwaWNrZXJNb2RlID09PSAnZGF5J1wiXG4gICAgICByb2xlPVwiZ3JpZFwiXG4gICAgICBbYXR0ci5hcmlhLWxhYmVsbGVkYnldPVwiZGF0ZVBpY2tlci51bmlxdWVJZCArICctdGl0bGUnXCJcbiAgICAgIGFyaWEtYWN0aXZlZGVzY2VuZGFudD1cImFjdGl2ZURhdGVJZFwiXG4gICAgPlxuICAgICAgPHRoZWFkPlxuICAgICAgICA8dHI+XG4gICAgICAgICAgPHRoPlxuICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAqbmdJZj1cIiFpc0JzNFwiXG4gICAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgICBjbGFzcz1cImJ0biBidG4tZGVmYXVsdCBidG4tc2Vjb25kYXJ5IGJ0bi1zbSBwdWxsLWxlZnQgZmxvYXQtbGVmdFwiXG4gICAgICAgICAgICAgIChjbGljayk9XCJkYXRlUGlja2VyLm1vdmUoLTEpXCJcbiAgICAgICAgICAgICAgdGFiaW5kZXg9XCItMVwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIOKAuVxuICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICpuZ0lmPVwiaXNCczRcIlxuICAgICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgICAgY2xhc3M9XCJidG4gYnRuLWRlZmF1bHQgYnRuLXNlY29uZGFyeSBidG4tc20gcHVsbC1sZWZ0IGZsb2F0LWxlZnRcIlxuICAgICAgICAgICAgICAoY2xpY2spPVwiZGF0ZVBpY2tlci5tb3ZlKC0xKVwiXG4gICAgICAgICAgICAgIHRhYmluZGV4PVwiLTFcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAmbHQ7XG4gICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICA8L3RoPlxuICAgICAgICAgIDx0aCBbYXR0ci5jb2xzcGFuXT1cIjUgKyAoZGF0ZVBpY2tlci5zaG93V2Vla3MgPyAxIDogMClcIj5cbiAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgW2lkXT1cImRhdGVQaWNrZXIudW5pcXVlSWQgKyAnLXRpdGxlJ1wiXG4gICAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgICBjbGFzcz1cImJ0biBidG4tZGVmYXVsdCBidG4tc2Vjb25kYXJ5IGJ0bi1zbVwiXG4gICAgICAgICAgICAgIChjbGljayk9XCJkYXRlUGlja2VyLnRvZ2dsZU1vZGUoMClcIlxuICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwiZGF0ZVBpY2tlci5kYXRlcGlja2VyTW9kZSA9PT0gZGF0ZVBpY2tlci5tYXhNb2RlXCJcbiAgICAgICAgICAgICAgW25nQ2xhc3NdPVwieyBkaXNhYmxlZDogZGF0ZVBpY2tlci5kYXRlcGlja2VyTW9kZSA9PT0gZGF0ZVBpY2tlci5tYXhNb2RlIH1cIlxuICAgICAgICAgICAgICB0YWJpbmRleD1cIi0xXCJcbiAgICAgICAgICAgICAgc3R5bGU9XCJ3aWR0aDoxMDAlO1wiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIDxzdHJvbmc+e3sgdGl0bGUgfX08L3N0cm9uZz5cbiAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgIDwvdGg+XG4gICAgICAgICAgPHRoPlxuICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAqbmdJZj1cIiFpc0JzNFwiXG4gICAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgICBjbGFzcz1cImJ0biBidG4tZGVmYXVsdCBidG4tc2Vjb25kYXJ5IGJ0bi1zbSBwdWxsLXJpZ2h0IGZsb2F0LXJpZ2h0XCJcbiAgICAgICAgICAgICAgKGNsaWNrKT1cImRhdGVQaWNrZXIubW92ZSgxKVwiXG4gICAgICAgICAgICAgIHRhYmluZGV4PVwiLTFcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICDigLpcbiAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAqbmdJZj1cImlzQnM0XCJcbiAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAgIGNsYXNzPVwiYnRuIGJ0bi1kZWZhdWx0IGJ0bi1zZWNvbmRhcnkgYnRuLXNtIHB1bGwtcmlnaHQgZmxvYXQtcmlnaHRcIlxuICAgICAgICAgICAgICAoY2xpY2spPVwiZGF0ZVBpY2tlci5tb3ZlKDEpXCJcbiAgICAgICAgICAgICAgdGFiaW5kZXg9XCItMVwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgICZndDtcbiAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgIDwvdGg+XG4gICAgICAgIDwvdHI+XG4gICAgICAgIDx0cj5cbiAgICAgICAgICA8dGggKm5nSWY9XCJkYXRlUGlja2VyLnNob3dXZWVrc1wiPjwvdGg+XG4gICAgICAgICAgPHRoICpuZ0Zvcj1cImxldCBsYWJlbHogb2YgbGFiZWxzXCIgY2xhc3M9XCJ0ZXh0LWNlbnRlclwiPlxuICAgICAgICAgICAgPHNtYWxsIGFyaWEtbGFiZWw9XCJsYWJlbHouZnVsbFwiXG4gICAgICAgICAgICAgID48Yj57eyBsYWJlbHouYWJiciB9fTwvYj48L3NtYWxsXG4gICAgICAgICAgICA+XG4gICAgICAgICAgPC90aD5cbiAgICAgICAgPC90cj5cbiAgICAgIDwvdGhlYWQ+XG4gICAgICA8dGJvZHk+XG4gICAgICAgIDxuZy10ZW1wbGF0ZSBuZ0ZvciBbbmdGb3JPZl09XCJyb3dzXCIgbGV0LXJvd3o9XCIkaW1wbGljaXRcIiBsZXQtaW5kZXg9XCJpbmRleFwiPlxuICAgICAgICAgIDx0ciAqbmdJZj1cIiEoZGF0ZVBpY2tlci5vbmx5Q3VycmVudE1vbnRoICYmIHJvd3pbMF0uc2Vjb25kYXJ5ICYmIHJvd3pbNl0uc2Vjb25kYXJ5KVwiPlxuICAgICAgICAgICAgPHRkICpuZ0lmPVwiZGF0ZVBpY2tlci5zaG93V2Vla3NcIiBjbGFzcz1cImg2XCIgY2xhc3M9XCJ0ZXh0LWNlbnRlclwiPlxuICAgICAgICAgICAgICA8ZW0+e3sgd2Vla051bWJlcnNbaW5kZXhdIH19PC9lbT5cbiAgICAgICAgICAgIDwvdGQ+XG4gICAgICAgICAgICA8dGQgKm5nRm9yPVwibGV0IGR0eiBvZiByb3d6XCIgY2xhc3M9XCJ0ZXh0LWNlbnRlclwiIHJvbGU9XCJncmlkY2VsbFwiIFtpZF09XCJkdHoudWlkXCI+XG4gICAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgICAgICBzdHlsZT1cIm1pbi13aWR0aDoxMDAlO1wiXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJidG4gYnRuLXNtIHt7IGR0ei5jdXN0b21DbGFzcyB9fVwiXG4gICAgICAgICAgICAgICAgKm5nSWY9XCIhKGRhdGVQaWNrZXIub25seUN1cnJlbnRNb250aCAmJiBkdHouc2Vjb25kYXJ5KVwiXG4gICAgICAgICAgICAgICAgW25nQ2xhc3NdPVwie1xuICAgICAgICAgICAgICAgICAgJ2J0bi1zZWNvbmRhcnknOiBpc0JzNCAmJiAhZHR6LnNlbGVjdGVkICYmICFkYXRlUGlja2VyLmlzQWN0aXZlKGR0eiksXG4gICAgICAgICAgICAgICAgICAnYnRuLWluZm8nOiBkdHouc2VsZWN0ZWQsXG4gICAgICAgICAgICAgICAgICBkaXNhYmxlZDogZHR6LmRpc2FibGVkLFxuICAgICAgICAgICAgICAgICAgYWN0aXZlOiAhaXNCczQgJiYgZGF0ZVBpY2tlci5pc0FjdGl2ZShkdHopLFxuICAgICAgICAgICAgICAgICAgJ2J0bi1kZWZhdWx0JzogIWlzQnM0XG4gICAgICAgICAgICAgICAgfVwiXG4gICAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cImR0ei5kaXNhYmxlZFwiXG4gICAgICAgICAgICAgICAgKGNsaWNrKT1cImRhdGVQaWNrZXIuc2VsZWN0KGR0ei5kYXRlKVwiXG4gICAgICAgICAgICAgICAgdGFiaW5kZXg9XCItMVwiXG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICA8c3BhbiBbbmdDbGFzc109XCJ7ICd0ZXh0LW11dGVkJzogZHR6LnNlY29uZGFyeSB8fCBkdHouY3VycmVudCwgJ3RleHQtaW5mbyc6ICFpc0JzNCAmJiBkdHouY3VycmVudCB9XCI+e3sgZHR6LmxhYmVsIH19PC9zcGFuPlxuICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgIDwvdGQ+XG4gICAgICAgICAgPC90cj5cbiAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgIDwvdGJvZHk+XG4gICAgPC90YWJsZT5cbiAgYCxcbiAgc3R5bGVzOiBbXG4gICAgYFxuICAgICAgOmhvc3QgLmJ0bi1zZWNvbmRhcnkge1xuICAgICAgICBjb2xvcjogIzI5MmIyYztcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjY2NjO1xuICAgICAgfVxuICAgICAgOmhvc3QgLmJ0bi1pbmZvIC50ZXh0LW11dGVkIHtcbiAgICAgICAgY29sb3I6ICMyOTJiMmMgIWltcG9ydGFudDtcbiAgICAgIH1cbiAgICBgXG4gIF1cbn0pXG5leHBvcnQgY2xhc3MgRGF5UGlja2VyQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgbGFiZWxzOiBhbnlbXSA9IFtdO1xuICB0aXRsZSE6IHN0cmluZztcbiAgcm93czogYW55W10gPSBbXTtcbiAgd2Vla051bWJlcnM6IG51bWJlcltdID0gW107XG4gIGRhdGVQaWNrZXI6IERhdGVQaWNrZXJJbm5lckNvbXBvbmVudDtcblxuICBjb25zdHJ1Y3RvcihkYXRlUGlja2VyOiBEYXRlUGlja2VySW5uZXJDb21wb25lbnQpIHtcbiAgICB0aGlzLmRhdGVQaWNrZXIgPSBkYXRlUGlja2VyO1xuICB9XG5cbiAgZ2V0IGlzQnM0KCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAhaXNCczMoKTtcbiAgfVxuXG4gIC8qcHJvdGVjdGVkIGdldERheXNJbk1vbnRoKHllYXI6bnVtYmVyLCBtb250aDpudW1iZXIpIHtcbiAgIHJldHVybiAoKG1vbnRoID09PSAxKSAmJiAoeWVhciAlIDQgPT09IDApICYmXG4gICAoKHllYXIgJSAxMDAgIT09IDApIHx8ICh5ZWFyICUgNDAwID09PSAwKSkpID8gMjkgOiBEQVlTX0lOX01PTlRIW21vbnRoXTtcbiAgIH0qL1xuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXRoaXMtYWxpYXNcbiAgICBjb25zdCBzZWxmID0gdGhpcztcblxuICAgIHRoaXMuZGF0ZVBpY2tlci5zdGVwRGF5ID0geyBtb250aHM6IDEgfTtcblxuICAgIHRoaXMuZGF0ZVBpY2tlci5zZXRSZWZyZXNoVmlld0hhbmRsZXIoZnVuY3Rpb24gKHRoaXM6IGFueSk6IHZvaWQge1xuICAgICAgY29uc3QgeWVhciA9IHRoaXMuYWN0aXZlRGF0ZS5nZXRGdWxsWWVhcigpO1xuICAgICAgY29uc3QgbW9udGggPSB0aGlzLmFjdGl2ZURhdGUuZ2V0TW9udGgoKTtcbiAgICAgIGNvbnN0IGZpcnN0RGF5T2ZNb250aCA9IG5ldyBEYXRlKHllYXIsIG1vbnRoLCAxKTtcbiAgICAgIGNvbnN0IGRpZmZlcmVuY2UgPSB0aGlzLnN0YXJ0aW5nRGF5IC0gZmlyc3REYXlPZk1vbnRoLmdldERheSgpO1xuICAgICAgY29uc3QgbnVtRGlzcGxheWVkRnJvbVByZXZpb3VzTW9udGggPSBkaWZmZXJlbmNlID4gMCA/IDcgLSBkaWZmZXJlbmNlIDogLWRpZmZlcmVuY2U7XG4gICAgICBjb25zdCBmaXJzdERhdGUgPSBuZXcgRGF0ZShmaXJzdERheU9mTW9udGguZ2V0VGltZSgpKTtcblxuICAgICAgaWYgKG51bURpc3BsYXllZEZyb21QcmV2aW91c01vbnRoID4gMCkge1xuICAgICAgICBmaXJzdERhdGUuc2V0RGF0ZSgtbnVtRGlzcGxheWVkRnJvbVByZXZpb3VzTW9udGggKyAxKTtcbiAgICAgIH1cblxuICAgICAgLy8gNDIgaXMgdGhlIG51bWJlciBvZiBkYXlzIG9uIGEgc2l4LXdlZWsgY2FsZW5kYXJcbiAgICAgIGNvbnN0IF9kYXlzOiBEYXRlW10gPSBzZWxmLmdldERhdGVzKGZpcnN0RGF0ZSwgNDIpO1xuICAgICAgY29uc3QgZGF5czogYW55W10gPSBbXTtcbiAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgNDI7IGkrKykge1xuICAgICAgICBjb25zdCBfZGF0ZU9iamVjdCA9IHRoaXMuY3JlYXRlRGF0ZU9iamVjdChfZGF5c1tpXSwgdGhpcy5mb3JtYXREYXkpO1xuICAgICAgICBfZGF0ZU9iamVjdC5zZWNvbmRhcnkgPSBfZGF5c1tpXT8uZ2V0TW9udGgoKSAhPT0gbW9udGg7XG4gICAgICAgIF9kYXRlT2JqZWN0LnVpZCA9IHRoaXMudW5pcXVlSWQgKyAnLScgKyBpO1xuICAgICAgICBkYXlzW2ldID0gX2RhdGVPYmplY3Q7XG4gICAgICB9XG5cbiAgICAgIHNlbGYubGFiZWxzID0gW107XG4gICAgICBmb3IgKGxldCBqID0gMDsgaiA8IDc7IGorKykge1xuICAgICAgICBzZWxmLmxhYmVsc1tqXSA9IHt9O1xuICAgICAgICBzZWxmLmxhYmVsc1tqXS5hYmJyID0gdGhpcy5kYXRlRmlsdGVyKGRheXNbal0uZGF0ZSwgdGhpcy5mb3JtYXREYXlIZWFkZXIpO1xuICAgICAgICBzZWxmLmxhYmVsc1tqXS5mdWxsID0gdGhpcy5kYXRlRmlsdGVyKGRheXNbal0uZGF0ZSwgJ0VFRUUnKTtcbiAgICAgIH1cblxuICAgICAgc2VsZi50aXRsZSA9IHRoaXMuZGF0ZUZpbHRlcih0aGlzLmFjdGl2ZURhdGUsIHRoaXMuZm9ybWF0RGF5VGl0bGUpO1xuICAgICAgc2VsZi5yb3dzID0gdGhpcy5zcGxpdChkYXlzLCA3KTtcblxuICAgICAgaWYgKHRoaXMuc2hvd1dlZWtzKSB7XG4gICAgICAgIHNlbGYud2Vla051bWJlcnMgPSBbXTtcbiAgICAgICAgY29uc3QgdGh1cnNkYXlJbmRleCA9ICg0ICsgNyAtIHRoaXMuc3RhcnRpbmdEYXkpICUgNztcbiAgICAgICAgY29uc3QgbnVtV2Vla3MgPSBzZWxmLnJvd3MubGVuZ3RoO1xuICAgICAgICBmb3IgKGxldCBjdXJXZWVrID0gMDsgY3VyV2VlayA8IG51bVdlZWtzOyBjdXJXZWVrKyspIHtcbiAgICAgICAgICBzZWxmLndlZWtOdW1iZXJzLnB1c2goc2VsZi5nZXRJU084NjAxV2Vla051bWJlcihzZWxmLnJvd3NbY3VyV2Vla11bdGh1cnNkYXlJbmRleF0uZGF0ZSkpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSwgJ2RheScpO1xuXG4gICAgdGhpcy5kYXRlUGlja2VyLnNldENvbXBhcmVIYW5kbGVyKGZ1bmN0aW9uIChkYXRlMTogRGF0ZSwgZGF0ZTI6IERhdGUpOiBudW1iZXIge1xuICAgICAgY29uc3QgZDEgPSBuZXcgRGF0ZShkYXRlMS5nZXRGdWxsWWVhcigpLCBkYXRlMS5nZXRNb250aCgpLCBkYXRlMS5nZXREYXRlKCkpO1xuICAgICAgY29uc3QgZDIgPSBuZXcgRGF0ZShkYXRlMi5nZXRGdWxsWWVhcigpLCBkYXRlMi5nZXRNb250aCgpLCBkYXRlMi5nZXREYXRlKCkpO1xuICAgICAgcmV0dXJuIGQxLmdldFRpbWUoKSAtIGQyLmdldFRpbWUoKTtcbiAgICB9LCAnZGF5Jyk7XG5cbiAgICB0aGlzLmRhdGVQaWNrZXIucmVmcmVzaFZpZXcoKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBnZXREYXRlcyhzdGFydERhdGU6IERhdGUsIG46IG51bWJlcik6IERhdGVbXSB7XG4gICAgY29uc3QgZGF0ZXM6IERhdGVbXSA9IG5ldyBBcnJheShuKTtcbiAgICBsZXQgY3VycmVudCA9IG5ldyBEYXRlKHN0YXJ0RGF0ZS5nZXRUaW1lKCkpO1xuICAgIGxldCBpID0gMDtcbiAgICBsZXQgZGF0ZTogRGF0ZTtcbiAgICB3aGlsZSAoaSA8IG4pIHtcbiAgICAgIGRhdGUgPSBuZXcgRGF0ZShjdXJyZW50LmdldFRpbWUoKSk7XG4gICAgICBkYXRlID0gdGhpcy5kYXRlUGlja2VyLmZpeFRpbWVab25lKGRhdGUpO1xuICAgICAgZGF0ZXNbaSsrXSA9IGRhdGU7XG4gICAgICBjdXJyZW50ID0gbmV3IERhdGUoZGF0ZS5nZXRGdWxsWWVhcigpLCBkYXRlLmdldE1vbnRoKCksIGRhdGUuZ2V0RGF0ZSgpICsgMSk7XG4gICAgfVxuICAgIHJldHVybiBkYXRlcztcbiAgfVxuXG4gIHByb3RlY3RlZCBnZXRJU084NjAxV2Vla051bWJlcihkYXRlOiBEYXRlKTogbnVtYmVyIHtcbiAgICBjb25zdCBjaGVja0RhdGUgPSBuZXcgRGF0ZShkYXRlLmdldFRpbWUoKSk7XG4gICAgLy8gVGh1cnNkYXlcbiAgICBjaGVja0RhdGUuc2V0RGF0ZShjaGVja0RhdGUuZ2V0RGF0ZSgpICsgNCAtIChjaGVja0RhdGUuZ2V0RGF5KCkgfHwgNykpO1xuICAgIGNvbnN0IHRpbWUgPSBjaGVja0RhdGUuZ2V0VGltZSgpO1xuICAgIC8vIENvbXBhcmUgd2l0aCBKYW4gMVxuICAgIGNoZWNrRGF0ZS5zZXRNb250aCgwKTtcbiAgICBjaGVja0RhdGUuc2V0RGF0ZSgxKTtcbiAgICByZXR1cm4gTWF0aC5mbG9vcihNYXRoLnJvdW5kKCh0aW1lIC0gY2hlY2tEYXRlLmdldFRpbWUoKSkgLyA4NjQwMDAwMCkgLyA3KSArIDE7XG4gIH1cblxuICAvLyB0b2RvOiBrZXkgZXZlbnRzIGltcGxlbWVudGF0aW9uXG59XG4iXX0=
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export const isBs3 = () => true;
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaXNCczMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvc3JjL2xpYi9mb3Jtcy11aS9jb21wb25lbnRzL2RhdGUtcGlja2VyLXVpL2lzQnMzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sQ0FBQyxNQUFNLEtBQUssR0FBRyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY29uc3QgaXNCczMgPSAoKSA9PiB0cnVlO1xuIl19
|