@wkly/datetime-picker 11.0.0 → 13.0.0
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/cdk-overlay/package.json +5 -6
- package/cdk-overlay/public-api.d.ts +10 -0
- package/cdk-overlay/wkly-datetime-picker-cdk-overlay.d.ts +1 -0
- package/config.d.ts +3 -0
- package/esm2020/cdk-overlay/public-api.mjs +137 -0
- package/{esm2015/cdk-overlay/wkly-datetime-picker-cdk-overlay.js → esm2020/cdk-overlay/wkly-datetime-picker-cdk-overlay.mjs} +1 -1
- package/esm2020/config.mjs +100 -0
- package/esm2020/field.component.mjs +253 -0
- package/esm2020/picker.component.mjs +955 -0
- package/esm2020/presentation.mjs +303 -0
- package/esm2020/public-api.mjs +31 -0
- package/{esm2015/wkly-datetime-picker.js → esm2020/wkly-datetime-picker.mjs} +1 -1
- package/fesm2015/wkly-datetime-picker-cdk-overlay.mjs +143 -0
- package/fesm2015/wkly-datetime-picker-cdk-overlay.mjs.map +1 -0
- package/fesm2015/wkly-datetime-picker.mjs +1624 -0
- package/fesm2015/wkly-datetime-picker.mjs.map +1 -0
- package/fesm2020/wkly-datetime-picker-cdk-overlay.mjs +143 -0
- package/fesm2020/wkly-datetime-picker-cdk-overlay.mjs.map +1 -0
- package/fesm2020/wkly-datetime-picker.mjs +1622 -0
- package/fesm2020/wkly-datetime-picker.mjs.map +1 -0
- package/field.component.d.ts +3 -0
- package/package.json +34 -14
- package/picker.component.d.ts +3 -0
- package/presentation.d.ts +7 -0
- package/public-api.d.ts +8 -0
- package/wkly-datetime-picker.d.ts +1 -1
- package/bundles/wkly-datetime-picker-cdk-overlay.umd.js +0 -653
- package/bundles/wkly-datetime-picker-cdk-overlay.umd.js.map +0 -1
- package/bundles/wkly-datetime-picker-cdk-overlay.umd.min.js +0 -2
- package/bundles/wkly-datetime-picker-cdk-overlay.umd.min.js.map +0 -1
- package/bundles/wkly-datetime-picker.umd.js +0 -2354
- package/bundles/wkly-datetime-picker.umd.js.map +0 -1
- package/bundles/wkly-datetime-picker.umd.min.js +0 -2
- package/bundles/wkly-datetime-picker.umd.min.js.map +0 -1
- package/cdk-overlay/public-api.ngfactory.d.ts +0 -3
- package/cdk-overlay/wkly-datetime-picker-cdk-overlay.metadata.json +0 -1
- package/esm2015/cdk-overlay/public-api.js +0 -127
- package/esm2015/cdk-overlay/public-api.ngfactory.js +0 -19
- package/esm2015/cdk-overlay/public-api.ngsummary.json +0 -1
- package/esm2015/cdk-overlay/wkly-datetime-picker-cdk-overlay.ngsummary.json +0 -1
- package/esm2015/config.js +0 -241
- package/esm2015/config.ngsummary.json +0 -1
- package/esm2015/field.component.css.shim.ngstyle.js +0 -9
- package/esm2015/field.component.js +0 -240
- package/esm2015/field.component.ngfactory.js +0 -52
- package/esm2015/field.component.ngsummary.json +0 -1
- package/esm2015/picker.component.js +0 -929
- package/esm2015/picker.component.ngfactory.js +0 -137
- package/esm2015/picker.component.ngsummary.json +0 -1
- package/esm2015/presentation.js +0 -295
- package/esm2015/presentation.ngsummary.json +0 -1
- package/esm2015/public-api.js +0 -24
- package/esm2015/public-api.ngfactory.js +0 -13
- package/esm2015/public-api.ngsummary.json +0 -1
- package/esm2015/wkly-datetime-picker.ngsummary.json +0 -1
- package/fesm2015/wkly-datetime-picker-cdk-overlay.js +0 -131
- package/fesm2015/wkly-datetime-picker-cdk-overlay.js.map +0 -1
- package/fesm2015/wkly-datetime-picker.js +0 -1713
- package/fesm2015/wkly-datetime-picker.js.map +0 -1
- package/field.component.css.shim.ngstyle.d.ts +0 -1
- package/field.component.ngfactory.d.ts +0 -1
- package/picker.component.ngfactory.d.ts +0 -1
- package/public-api.ngfactory.d.ts +0 -3
- package/wkly-datetime-picker.metadata.json +0 -1
package/esm2015/config.js
DELETED
|
@@ -1,241 +0,0 @@
|
|
|
1
|
-
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
2
|
-
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
3
|
-
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
4
|
-
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
5
|
-
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6
|
-
};
|
|
7
|
-
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
8
|
-
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
9
|
-
};
|
|
10
|
-
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x, _y, _z, _0, _1, _2, _3, _4, _5, _6, _7, _8, _9;
|
|
11
|
-
import { Directive, EventEmitter, InjectionToken, Input, Output, } from "@angular/core";
|
|
12
|
-
import { DEFAULT_OVERSCAN_WEEKS, WklyPickerInputsPropertyKeys, WklyPickerOutputsPropertyKeys, } from "@wkly/presentation";
|
|
13
|
-
export * from "@wkly/presentation";
|
|
14
|
-
export const WKLY_CLOCK = new InjectionToken("WKLY_CLOCK", {
|
|
15
|
-
providedIn: "root",
|
|
16
|
-
factory: () => ({ now: () => new Date() }),
|
|
17
|
-
});
|
|
18
|
-
export const WKLY_CONFIG = new InjectionToken("WKLY_CONFIG", { providedIn: "root", factory: () => ({}) });
|
|
19
|
-
export const WKLY_LOCALIZATION = new InjectionToken("WKLY_LOCALIZATION", { providedIn: "root", factory: () => ({}) });
|
|
20
|
-
export const WKLY_TRANSLATIONS = new InjectionToken("WKLY_TRANSLATIONS", { providedIn: "root", factory: () => ({}) });
|
|
21
|
-
/** Shared public inputs/outputs inherited by the picker and both trigger directives. */
|
|
22
|
-
// Angular 11 consumers need literal names in published decorator metadata.
|
|
23
|
-
export class WklyPickerInputs {
|
|
24
|
-
constructor() {
|
|
25
|
-
this[_a] = "datetime";
|
|
26
|
-
this[_b] = null;
|
|
27
|
-
this[_d] = "";
|
|
28
|
-
this[_e] = null;
|
|
29
|
-
this[_f] = {
|
|
30
|
-
kind: "full-month",
|
|
31
|
-
};
|
|
32
|
-
this[_g] = "locale";
|
|
33
|
-
this[_h] = false;
|
|
34
|
-
this[_j] = 1;
|
|
35
|
-
this[_k] = 1;
|
|
36
|
-
this[_l] = null;
|
|
37
|
-
this[_m] = null;
|
|
38
|
-
this[_o] = null;
|
|
39
|
-
this[_p] = null;
|
|
40
|
-
this[_q] = null;
|
|
41
|
-
this[_r] = false;
|
|
42
|
-
this[_s] = false;
|
|
43
|
-
this[_t] = false;
|
|
44
|
-
this[_u] = "locale";
|
|
45
|
-
this[_v] = null;
|
|
46
|
-
this[_w] = 256;
|
|
47
|
-
this[_x] = DEFAULT_OVERSCAN_WEEKS;
|
|
48
|
-
this[_y] = null;
|
|
49
|
-
this[_z] = null;
|
|
50
|
-
this[_0] = null;
|
|
51
|
-
this[_1] = true;
|
|
52
|
-
this[_2] = [];
|
|
53
|
-
this[_3] = null;
|
|
54
|
-
this[_4] = new EventEmitter();
|
|
55
|
-
this[_5] = new EventEmitter(true);
|
|
56
|
-
this[_6] = new EventEmitter();
|
|
57
|
-
this[_7] = new EventEmitter();
|
|
58
|
-
this[_8] = new EventEmitter(true);
|
|
59
|
-
this[_9] = new EventEmitter();
|
|
60
|
-
}
|
|
61
|
-
}
|
|
62
|
-
_a = WklyPickerInputsPropertyKeys.Mode, _b = WklyPickerInputsPropertyKeys.Value, _c = WklyPickerInputsPropertyKeys.CalendarAdapter, _d = WklyPickerInputsPropertyKeys.Locale, _e = WklyPickerInputsPropertyKeys.WeekOffset, _f = WklyPickerInputsPropertyKeys.ViewportPreset, _g = WklyPickerInputsPropertyKeys.HourCycle, _h = WklyPickerInputsPropertyKeys.ShowSeconds, _j = WklyPickerInputsPropertyKeys.MinuteStep, _k = WklyPickerInputsPropertyKeys.SecondStep, _l = WklyPickerInputsPropertyKeys.Min, _m = WklyPickerInputsPropertyKeys.Max, _o = WklyPickerInputsPropertyKeys.IsDateDisabled, _p = WklyPickerInputsPropertyKeys.IsTimeDisabled, _q = WklyPickerInputsPropertyKeys.RangeValidator, _r = WklyPickerInputsPropertyKeys.AllowRangeAcrossDisabled, _s = WklyPickerInputsPropertyKeys.Required, _t = WklyPickerInputsPropertyKeys.Disabled, _u = WklyPickerInputsPropertyKeys.WeekLabelMode, _v = WklyPickerInputsPropertyKeys.WeekLabelFormatter, _w = WklyPickerInputsPropertyKeys.WeekCacheSize, _x = WklyPickerInputsPropertyKeys.OverscanWeeks, _y = WklyPickerInputsPropertyKeys.AriaLabel, _z = WklyPickerInputsPropertyKeys.AriaDescribedBy, _0 = WklyPickerInputsPropertyKeys.InitialEpochDay, _1 = WklyPickerInputsPropertyKeys.CloseOnBackdrop, _2 = WklyPickerInputsPropertyKeys.Validators, _3 = WklyPickerInputsPropertyKeys.Translations, _4 = WklyPickerOutputsPropertyKeys.ValueChange, _5 = WklyPickerOutputsPropertyKeys.ValidationChange, _6 = WklyPickerOutputsPropertyKeys.Opened, _7 = WklyPickerOutputsPropertyKeys.Closed, _8 = WklyPickerOutputsPropertyKeys.ViewportChange, _9 = WklyPickerOutputsPropertyKeys.ViewModeChange;
|
|
63
|
-
WklyPickerInputs.decorators = [
|
|
64
|
-
{ type: Directive, args: [{
|
|
65
|
-
inputs: [
|
|
66
|
-
"mode",
|
|
67
|
-
"value",
|
|
68
|
-
"calendarAdapter",
|
|
69
|
-
"locale",
|
|
70
|
-
"weekOffset",
|
|
71
|
-
"viewportPreset",
|
|
72
|
-
"hourCycle",
|
|
73
|
-
"showSeconds",
|
|
74
|
-
"minuteStep",
|
|
75
|
-
"secondStep",
|
|
76
|
-
"min",
|
|
77
|
-
"max",
|
|
78
|
-
"isDateDisabled",
|
|
79
|
-
"isTimeDisabled",
|
|
80
|
-
"rangeValidator",
|
|
81
|
-
"allowRangeAcrossDisabled",
|
|
82
|
-
"required",
|
|
83
|
-
"disabled",
|
|
84
|
-
"weekLabelMode",
|
|
85
|
-
"weekLabelFormatter",
|
|
86
|
-
"weekCacheSize",
|
|
87
|
-
"overscanWeeks",
|
|
88
|
-
"ariaLabel",
|
|
89
|
-
"ariaDescribedBy",
|
|
90
|
-
"initialEpochDay",
|
|
91
|
-
"closeOnBackdrop",
|
|
92
|
-
"validators",
|
|
93
|
-
"translations",
|
|
94
|
-
],
|
|
95
|
-
outputs: [
|
|
96
|
-
"valueChange",
|
|
97
|
-
"validationChange",
|
|
98
|
-
"opened",
|
|
99
|
-
"closed",
|
|
100
|
-
"viewportChange",
|
|
101
|
-
"viewModeChange",
|
|
102
|
-
],
|
|
103
|
-
},] }
|
|
104
|
-
];
|
|
105
|
-
__decorate([
|
|
106
|
-
Input(),
|
|
107
|
-
__metadata("design:type", String)
|
|
108
|
-
], WklyPickerInputs.prototype, _a, void 0);
|
|
109
|
-
__decorate([
|
|
110
|
-
Input(),
|
|
111
|
-
__metadata("design:type", Object)
|
|
112
|
-
], WklyPickerInputs.prototype, _b, void 0);
|
|
113
|
-
__decorate([
|
|
114
|
-
Input(),
|
|
115
|
-
__metadata("design:type", Object)
|
|
116
|
-
], WklyPickerInputs.prototype, _c, void 0);
|
|
117
|
-
__decorate([
|
|
118
|
-
Input(),
|
|
119
|
-
__metadata("design:type", String)
|
|
120
|
-
], WklyPickerInputs.prototype, _d, void 0);
|
|
121
|
-
__decorate([
|
|
122
|
-
Input(),
|
|
123
|
-
__metadata("design:type", Object)
|
|
124
|
-
], WklyPickerInputs.prototype, _e, void 0);
|
|
125
|
-
__decorate([
|
|
126
|
-
Input(),
|
|
127
|
-
__metadata("design:type", Object)
|
|
128
|
-
], WklyPickerInputs.prototype, _f, void 0);
|
|
129
|
-
__decorate([
|
|
130
|
-
Input(),
|
|
131
|
-
__metadata("design:type", String)
|
|
132
|
-
], WklyPickerInputs.prototype, _g, void 0);
|
|
133
|
-
__decorate([
|
|
134
|
-
Input(),
|
|
135
|
-
__metadata("design:type", Boolean)
|
|
136
|
-
], WklyPickerInputs.prototype, _h, void 0);
|
|
137
|
-
__decorate([
|
|
138
|
-
Input(),
|
|
139
|
-
__metadata("design:type", Number)
|
|
140
|
-
], WklyPickerInputs.prototype, _j, void 0);
|
|
141
|
-
__decorate([
|
|
142
|
-
Input(),
|
|
143
|
-
__metadata("design:type", Number)
|
|
144
|
-
], WklyPickerInputs.prototype, _k, void 0);
|
|
145
|
-
__decorate([
|
|
146
|
-
Input(),
|
|
147
|
-
__metadata("design:type", Object)
|
|
148
|
-
], WklyPickerInputs.prototype, _l, void 0);
|
|
149
|
-
__decorate([
|
|
150
|
-
Input(),
|
|
151
|
-
__metadata("design:type", Object)
|
|
152
|
-
], WklyPickerInputs.prototype, _m, void 0);
|
|
153
|
-
__decorate([
|
|
154
|
-
Input(),
|
|
155
|
-
__metadata("design:type", Object)
|
|
156
|
-
], WklyPickerInputs.prototype, _o, void 0);
|
|
157
|
-
__decorate([
|
|
158
|
-
Input(),
|
|
159
|
-
__metadata("design:type", Object)
|
|
160
|
-
], WklyPickerInputs.prototype, _p, void 0);
|
|
161
|
-
__decorate([
|
|
162
|
-
Input(),
|
|
163
|
-
__metadata("design:type", Object)
|
|
164
|
-
], WklyPickerInputs.prototype, _q, void 0);
|
|
165
|
-
__decorate([
|
|
166
|
-
Input(),
|
|
167
|
-
__metadata("design:type", Object)
|
|
168
|
-
], WklyPickerInputs.prototype, _r, void 0);
|
|
169
|
-
__decorate([
|
|
170
|
-
Input(),
|
|
171
|
-
__metadata("design:type", Object)
|
|
172
|
-
], WklyPickerInputs.prototype, _s, void 0);
|
|
173
|
-
__decorate([
|
|
174
|
-
Input(),
|
|
175
|
-
__metadata("design:type", Object)
|
|
176
|
-
], WklyPickerInputs.prototype, _t, void 0);
|
|
177
|
-
__decorate([
|
|
178
|
-
Input(),
|
|
179
|
-
__metadata("design:type", String)
|
|
180
|
-
], WklyPickerInputs.prototype, _u, void 0);
|
|
181
|
-
__decorate([
|
|
182
|
-
Input(),
|
|
183
|
-
__metadata("design:type", Object)
|
|
184
|
-
], WklyPickerInputs.prototype, _v, void 0);
|
|
185
|
-
__decorate([
|
|
186
|
-
Input(),
|
|
187
|
-
__metadata("design:type", Object)
|
|
188
|
-
], WklyPickerInputs.prototype, _w, void 0);
|
|
189
|
-
__decorate([
|
|
190
|
-
Input(),
|
|
191
|
-
__metadata("design:type", Object)
|
|
192
|
-
], WklyPickerInputs.prototype, _x, void 0);
|
|
193
|
-
__decorate([
|
|
194
|
-
Input(),
|
|
195
|
-
__metadata("design:type", Object)
|
|
196
|
-
], WklyPickerInputs.prototype, _y, void 0);
|
|
197
|
-
__decorate([
|
|
198
|
-
Input(),
|
|
199
|
-
__metadata("design:type", Object)
|
|
200
|
-
], WklyPickerInputs.prototype, _z, void 0);
|
|
201
|
-
__decorate([
|
|
202
|
-
Input(),
|
|
203
|
-
__metadata("design:type", Object)
|
|
204
|
-
], WklyPickerInputs.prototype, _0, void 0);
|
|
205
|
-
__decorate([
|
|
206
|
-
Input(),
|
|
207
|
-
__metadata("design:type", Object)
|
|
208
|
-
], WklyPickerInputs.prototype, _1, void 0);
|
|
209
|
-
__decorate([
|
|
210
|
-
Input(),
|
|
211
|
-
__metadata("design:type", Array)
|
|
212
|
-
], WklyPickerInputs.prototype, _2, void 0);
|
|
213
|
-
__decorate([
|
|
214
|
-
Input(),
|
|
215
|
-
__metadata("design:type", Object)
|
|
216
|
-
], WklyPickerInputs.prototype, _3, void 0);
|
|
217
|
-
__decorate([
|
|
218
|
-
Output(),
|
|
219
|
-
__metadata("design:type", Object)
|
|
220
|
-
], WklyPickerInputs.prototype, _4, void 0);
|
|
221
|
-
__decorate([
|
|
222
|
-
Output(),
|
|
223
|
-
__metadata("design:type", Object)
|
|
224
|
-
], WklyPickerInputs.prototype, _5, void 0);
|
|
225
|
-
__decorate([
|
|
226
|
-
Output(),
|
|
227
|
-
__metadata("design:type", Object)
|
|
228
|
-
], WklyPickerInputs.prototype, _6, void 0);
|
|
229
|
-
__decorate([
|
|
230
|
-
Output(),
|
|
231
|
-
__metadata("design:type", Object)
|
|
232
|
-
], WklyPickerInputs.prototype, _7, void 0);
|
|
233
|
-
__decorate([
|
|
234
|
-
Output(),
|
|
235
|
-
__metadata("design:type", Object)
|
|
236
|
-
], WklyPickerInputs.prototype, _8, void 0);
|
|
237
|
-
__decorate([
|
|
238
|
-
Output(),
|
|
239
|
-
__metadata("design:type", Object)
|
|
240
|
-
], WklyPickerInputs.prototype, _9, void 0);
|
|
241
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vcHJvamVjdHMvd2tseS1kYXRldGltZS1waWNrZXIuMTEvc3JjL2NvbmZpZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7O0FBQUEsT0FBTyxFQUNMLFNBQVMsRUFDVCxZQUFZLEVBQ1osY0FBYyxFQUNkLEtBQUssRUFDTCxNQUFNLEdBQ1AsTUFBTSxlQUFlLENBQUM7QUFldkIsT0FBTyxFQUNMLHNCQUFzQixFQVN0Qiw0QkFBNEIsRUFDNUIsNkJBQTZCLEdBQzlCLE1BQU0sb0JBQW9CLENBQUM7QUFDNUIsY0FBYyxvQkFBb0IsQ0FBQztBQUNuQyxNQUFNLENBQUMsTUFBTSxVQUFVLEdBQUcsSUFBSSxjQUFjLENBQVksWUFBWSxFQUFFO0lBQ3BFLFVBQVUsRUFBRSxNQUFNO0lBQ2xCLE9BQU8sRUFBRSxHQUFHLEVBQUUsQ0FBQyxDQUFDLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxDQUFDLElBQUksSUFBSSxFQUFFLEVBQUUsQ0FBQztDQUMzQyxDQUFDLENBQUM7QUFDSCxNQUFNLENBQUMsTUFBTSxXQUFXLEdBQUcsSUFBSSxjQUFjLENBQzNDLGFBQWEsRUFDYixFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsT0FBTyxFQUFFLEdBQUcsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FDNUMsQ0FBQztBQUNGLE1BQU0sQ0FBQyxNQUFNLGlCQUFpQixHQUFHLElBQUksY0FBYyxDQUNqRCxtQkFBbUIsRUFDbkIsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLE9BQU8sRUFBRSxHQUFHLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQzVDLENBQUM7QUFDRixNQUFNLENBQUMsTUFBTSxpQkFBaUIsR0FBRyxJQUFJLGNBQWMsQ0FDakQsbUJBQW1CLEVBQ25CLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxPQUFPLEVBQUUsR0FBRyxFQUFFLENBQUMs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SUFBUixLQUFLLEVBQUU7OzBDQUEwRDtBQUVsRTtJQURDLEtBQUssRUFBRTs7MENBRUQ7QUFFUDtJQURDLEtBQUssRUFBRTs7MENBRUQ7QUFFUDtJQURDLEtBQUssRUFBRTs7MENBRUQ7QUFDRTtJQUFSLEtBQUssRUFBRTs7MENBQWlFO0FBQ2hFO0lBQVIsS0FBSyxFQUFFOzswQ0FBaUQ7QUFDaEQ7SUFBUixLQUFLLEVBQUU7OzBDQUFpRDtBQUNoRDtJQUFSLEtBQUssRUFBRTs7MENBQ0c7QUFFWDtJQURDLEtBQUssRUFBRTs7MENBRUQ7QUFDRTtJQUFSLEtBQUssRUFBRTs7MENBQW9EO0FBQ25EO0lBQVIsS0FBSyxFQUFFOzswQ0FDaUI7QUFDaEI7SUFBUixLQUFLLEVBQUU7OzBDQUFnRTtBQUMvRDtJQUFSLEtBQUssRUFBRTs7MENBQXNFO0FBQ3JFO0lBQVIsS0FBSyxFQUFFOzswQ0FBc0U7QUFDckU7SUFBUixLQUFLLEVBQUU7OzBDQUF1RDtBQUN0RDtJQUFSLEtBQUssRUFBRTs7MENBRWdDO0FBRXhDO0lBREMsS0FBSyxFQUFFOzswQ0FDb0U7QUFDbEU7SUFBVCxNQUFNLEVBQUU7OzBDQUM2QjtBQUM1QjtJQUFULE1BQU0sRUFBRTs7MENBRUQ7QUFDRTtJQUFULE1BQU0sRUFBRTs7MENBQW1FO0FBQ2xFO0lBQVQsTUFBTSxFQUFFOzswQ0FDNkI7QUFDNUI7SUFBVCxNQUFNLEVBQUU7OzBDQUNvQztBQUNuQztJQUFULE1BQU0sRUFBRTs7MENBRUwiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBEaXJlY3RpdmUsXG4gIEV2ZW50RW1pdHRlcixcbiAgSW5qZWN0aW9uVG9rZW4sXG4gIElucHV0LFxuICBPdXRwdXQsXG59IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBXa2x5V2Vla09mZnNldCB9IGZyb20gXCJAd2tseS9jb3JlXCI7XG5pbXBvcnQge1xuICBXa2x5Q2FsZW5kYXJBZGFwdGVyLFxuICBXa2x5RGlzYWJsZWREYXRlUHJlZGljYXRlLFxuICBXa2x5RGlzYWJsZWRUaW1lUHJlZGljYXRlLFxuICBXa2x5SG91ckN5Y2xlLFxuICBXa2x5UGlja2VyVmFsdWUsXG4gIFdrbHlSYW5nZVZhbGlkYXRvcixcbiAgV2tseVNlbGVjdGlvbk1vZGUsXG4gIFdrbHlWYWxpZGF0aW9uRXJyb3IsXG4gIFdrbHlWaWV3cG9ydFByZXNldCxcbiAgV2tseVdlZWtMYWJlbEZvcm1hdHRlcixcbiAgV2tseVdlZWtMYWJlbE1vZGUsXG59IGZyb20gXCJAd2tseS9hZGFwdGVyc1wiO1xuaW1wb3J0IHtcbiAgREVGQVVMVF9PVkVSU0NBTl9XRUVLUyxcbiAgV2tseUNsb2NrLFxuICBXa2x5Q29uZmlndXJhdGlvbixcbiAgV2tseUNsb3NlUmVhc29uLFxuICBXa2x5UGlja2VySW5wdXRzIGFzIFdrbHlQaWNrZXJJbnB1dHNDb250cmFjdCxcbiAgV2tseVBpY2tlck91dHB1dHMgYXMgV2tseVBpY2tlck91dHB1dHNDb250cmFjdCxcbiAgV2tseVN0cmluZ3MsXG4gIFdrbHlUcmFuc2xhdGlvbnMsXG4gIFdrbHlWaWV3cG9ydENoYW5nZSxcbiAgV2tseVBpY2tlcklucHV0c1Byb3BlcnR5S2V5cyxcbiAgV2tseVBpY2tlck91dHB1dHNQcm9wZXJ0eUtleXMsXG59IGZyb20gXCJAd2tseS9wcmVzZW50YXRpb25cIjtcbmV4cG9ydCAqIGZyb20gXCJAd2tseS9wcmVzZW50YXRpb25cIjtcbmV4cG9ydCBjb25zdCBXS0xZX0NMT0NLID0gbmV3IEluamVjdGlvblRva2VuPFdrbHlDbG9jaz4oXCJXS0xZX0NMT0NLXCIsIHtcbiAgcHJvdmlkZWRJbjogXCJyb290XCIsXG4gIGZhY3Rvcnk6ICgpID0+ICh7IG5vdzogKCkgPT4gbmV3IERhdGUoKSB9KSxcbn0pO1xuZXhwb3J0IGNvbnN0IFdLTFlfQ09ORklHID0gbmV3IEluamVjdGlvblRva2VuPFdrbHlDb25maWd1cmF0aW9uPihcbiAgXCJXS0xZX0NPTkZJR1wiLFxuICB7IHByb3ZpZGVkSW46IFwicm9vdFwiLCBmYWN0b3J5OiAoKSA9PiAoe30pIH0sXG4pO1xuZXhwb3J0IGNvbnN0IFdLTFlfTE9DQUxJWkFUSU9OID0gbmV3IEluamVjdGlvblRva2VuPFdrbHlTdHJpbmdzPihcbiAgXCJXS0xZX0xPQ0FMSVpBVElPTlwiLFxuICB7IHByb3ZpZGVkSW46IFwicm9vdFwiLCBmYWN0b3J5OiAoKSA9PiAoe30pIH0sXG4pO1xuZXhwb3J0IGNvbnN0IFdLTFlfVFJBTlNMQVRJT05TID0gbmV3IEluamVjdGlvblRva2VuPFdrbHlUcmFuc2xhdGlvbnM+KFxuICBcIldLTFlfVFJBTlNMQVRJT05TXCIsXG4gIHsgcHJvdmlkZWRJbjogXCJyb290XCIsIGZhY3Rvcnk6ICgpID0+ICh7fSkgfSxcbik7XG4vKiogU2hhcmVkIHB1YmxpYyBpbnB1dHMvb3V0cHV0cyBpbmhlcml0ZWQgYnkgdGhlIHBpY2tlciBhbmQgYm90aCB0cmlnZ2VyIGRpcmVjdGl2ZXMuICovXG4vLyBBbmd1bGFyIDExIGNvbnN1bWVycyBuZWVkIGxpdGVyYWwgbmFtZXMgaW4gcHVibGlzaGVkIGRlY29yYXRvciBtZXRhZGF0YS5cbkBEaXJlY3RpdmUoe1xuICBpbnB1dHM6IFtcbiAgICBcIm1vZGVcIixcbiAgICBcInZhbHVlXCIsXG4gICAgXCJjYWxlbmRhckFkYXB0ZXJcIixcbiAgICBcImxvY2FsZVwiLFxuICAgIFwid2Vla09mZnNldFwiLFxuICAgIFwidmlld3BvcnRQcmVzZXRcIixcbiAgICBcImhvdXJDeWNsZVwiLFxuICAgIFwic2hvd1NlY29uZHNcIixcbiAgICBcIm1pbnV0ZVN0ZXBcIixcbiAgICBcInNlY29uZFN0ZXBcIixcbiAgICBcIm1pblwiLFxuICAgIFwibWF4XCIsXG4gICAgXCJpc0RhdGVEaXNhYmxlZFwiLFxuICAgIFwiaXNUaW1lRGlzYWJsZWRcIixcbiAgICBcInJhbmdlVmFsaWRhdG9yXCIsXG4gICAgXCJhbGxvd1JhbmdlQWNyb3NzRGlzYWJsZWRcIixcbiAgICBcInJlcXVpcmVkXCIsXG4gICAgXCJkaXNhYmxlZFwiLFxuICAgIFwid2Vla0xhYmVsTW9kZVwiLFxuICAgIFwid2Vla0xhYmVsRm9ybWF0dGVyXCIsXG4gICAgXCJ3ZWVrQ2FjaGVTaXplXCIsXG4gICAgXCJvdmVyc2NhbldlZWtzXCIsXG4gICAgXCJhcmlhTGFiZWxcIixcbiAgICBcImFyaWFEZXNjcmliZWRCeVwiLFxuICAgIFwiaW5pdGlhbEVwb2NoRGF5XCIsXG4gICAgXCJjbG9zZU9uQmFja2Ryb3BcIixcbiAgICBcInZhbGlkYXRvcnNcIixcbiAgICBcInRyYW5zbGF0aW9uc1wiLFxuICBdLFxuICBvdXRwdXRzOiBbXG4gICAgXCJ2YWx1ZUNoYW5nZVwiLFxuICAgIFwidmFsaWRhdGlvbkNoYW5nZVwiLFxuICAgIFwib3BlbmVkXCIsXG4gICAgXCJjbG9zZWRcIixcbiAgICBcInZpZXdwb3J0Q2hhbmdlXCIsXG4gICAgXCJ2aWV3TW9kZUNoYW5nZVwiLFxuICBdLFxufSlcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBXa2x5UGlja2VySW5wdXRzXG4gIGltcGxlbWVudHMgV2tseVBpY2tlcklucHV0c0NvbnRyYWN0LCBXa2x5UGlja2VyT3V0cHV0c0NvbnRyYWN0XG57XG4gIEBJbnB1dCgpIFtXa2x5UGlja2VySW5wdXRzUHJvcGVydHlLZXlzLk1vZGVdOiBXa2x5U2VsZWN0aW9uTW9kZSA9IFwiZGF0ZXRpbWVcIjtcbiAgQElucHV0KCkgW1drbHlQaWNrZXJJbnB1dHNQcm9wZXJ0eUtleXMuVmFsdWVdOiBXa2x5UGlja2VyVmFsdWUgPSBudWxsO1xuICBASW5wdXQoKSBbV2tseVBpY2tlcklucHV0c1Byb3BlcnR5S2V5cy5DYWxlbmRhckFkYXB0ZXJdOiBXa2x5Q2FsZW5kYXJBZGFwdGVyO1xuICBASW5wdXQoKSBbV2tseVBpY2tlcklucHV0c1Byb3BlcnR5S2V5cy5Mb2NhbGVdOiBzdHJpbmcgPSBcIlwiO1xuICBASW5wdXQoKSBbV2tseVBpY2tlcklucHV0c1Byb3BlcnR5S2V5cy5XZWVrT2Zmc2V0XTogV2tseVdlZWtPZmZzZXQgfCBudWxsID1cbiAgICBudWxsO1xuICBASW5wdXQoKSBbV2tseVBpY2tlcklucHV0c1Byb3BlcnR5S2V5cy5WaWV3cG9ydFByZXNldF06IFdrbHlWaWV3cG9ydFByZXNldCA9IHtcbiAgICBraW5kOiBcImZ1bGwtbW9udGhcIixcbiAgfTtcbiAgQElucHV0KCkgW1drbHlQaWNrZXJJbnB1dHNQcm9wZXJ0eUtleXMuSG91ckN5Y2xlXTogV2tseUhvdXJDeWNsZSA9IFwibG9jYWxlXCI7XG4gIEBJbnB1dCgpIFtXa2x5UGlja2VySW5wdXRzUHJvcGVydHlLZXlzLlNob3dTZWNvbmRzXTogYm9vbGVhbiA9IGZhbHNlO1xuICBASW5wdXQoKSBbV2tseVBpY2tlcklucHV0c1Byb3BlcnR5S2V5cy5NaW51dGVTdGVwXTogbnVtYmVyID0gMTtcbiAgQElucHV0KCkgW1drbHlQaWNrZXJJbnB1dHNQcm9wZXJ0eUtleXMuU2Vjb25kU3RlcF06IG51bWJlciA9IDE7XG4gIEBJbnB1dCgpIFtXa2x5UGlja2VySW5wdXRzUHJvcGVydHlLZXlzLk1pbl06IHN0cmluZyB8IG51bGwgPSBudWxsO1xuICBASW5wdXQoKSBbV2tseVBpY2tlcklucHV0c1Byb3BlcnR5S2V5cy5NYXhdOiBzdHJpbmcgfCBudWxsID0gbnVsbDtcbiAgQElucHV0KClcbiAgW1drbHlQaWNrZXJJbnB1dHNQcm9wZXJ0eUtleXMuSXNEYXRlRGlzYWJsZWRdOiBXa2x5RGlzYWJsZWREYXRlUHJlZGljYXRlIHwgbnVsbCA9XG4gICAgbnVsbDtcbiAgQElucHV0KClcbiAgW1drbHlQaWNrZXJJbnB1dHNQcm9wZXJ0eUtleXMuSXNUaW1lRGlzYWJsZWRdOiBXa2x5RGlzYWJsZWRUaW1lUHJlZGljYXRlIHwgbnVsbCA9XG4gICAgbnVsbDtcbiAgQElucHV0KClcbiAgW1drbHlQaWNrZXJJbnB1dHNQcm9wZXJ0eUtleXMuUmFuZ2VWYWxpZGF0b3JdOiBXa2x5UmFuZ2VWYWxpZGF0b3IgfCBudWxsID1cbiAgICBudWxsO1xuICBASW5wdXQoKSBbV2tseVBpY2tlcklucHV0c1Byb3BlcnR5S2V5cy5BbGxvd1JhbmdlQWNyb3NzRGlzYWJsZWRdID0gZmFsc2U7XG4gIEBJbnB1dCgpIFtXa2x5UGlja2VySW5wdXRzUHJvcGVydHlLZXlzLlJlcXVpcmVkXSA9IGZhbHNlO1xuICBASW5wdXQoKSBbV2tseVBpY2tlcklucHV0c1Byb3BlcnR5S2V5cy5EaXNhYmxlZF0gPSBmYWxzZTtcbiAgQElucHV0KCkgW1drbHlQaWNrZXJJbnB1dHNQcm9wZXJ0eUtleXMuV2Vla0xhYmVsTW9kZV06IFdrbHlXZWVrTGFiZWxNb2RlID1cbiAgICBcImxvY2FsZVwiO1xuICBASW5wdXQoKVxuICBbV2tseVBpY2tlcklucHV0c1Byb3BlcnR5S2V5cy5XZWVrTGFiZWxGb3JtYXR0ZXJdOiBXa2x5V2Vla0xhYmVsRm9ybWF0dGVyIHwgbnVsbCA9XG4gICAgbnVsbDtcbiAgQElucHV0KCkgW1drbHlQaWNrZXJJbnB1dHNQcm9wZXJ0eUtleXMuV2Vla0NhY2hlU2l6ZV0gPSAyNTY7XG4gIEBJbnB1dCgpIFtXa2x5UGlja2VySW5wdXRzUHJvcGVydHlLZXlzLk92ZXJzY2FuV2Vla3NdID1cbiAgICBERUZBVUxUX09WRVJTQ0FOX1dFRUtTO1xuICBASW5wdXQoKSBbV2tseVBpY2tlcklucHV0c1Byb3BlcnR5S2V5cy5BcmlhTGFiZWxdOiBzdHJpbmcgfCBudWxsID0gbnVsbDtcbiAgQElucHV0KCkgW1drbHlQaWNrZXJJbnB1dHNQcm9wZXJ0eUtleXMuQXJpYURlc2NyaWJlZEJ5XTogc3RyaW5nIHwgbnVsbCA9IG51bGw7XG4gIEBJbnB1dCgpIFtXa2x5UGlja2VySW5wdXRzUHJvcGVydHlLZXlzLkluaXRpYWxFcG9jaERheV06IG51bWJlciB8IG51bGwgPSBudWxsO1xuICBASW5wdXQoKSBbV2tseVBpY2tlcklucHV0c1Byb3BlcnR5S2V5cy5DbG9zZU9uQmFja2Ryb3BdID0gdHJ1ZTtcbiAgQElucHV0KCkgW1drbHlQaWNrZXJJbnB1dHNQcm9wZXJ0eUtleXMuVmFsaWRhdG9yc106IHJlYWRvbmx5ICgoXG4gICAgdmFsdWU6IFdrbHlQaWNrZXJWYWx1ZSxcbiAgKSA9PiBXa2x5VmFsaWRhdGlvbkVycm9yIHwgbnVsbClbXSA9IFtdO1xuICBASW5wdXQoKVxuICBbV2tseVBpY2tlcklucHV0c1Byb3BlcnR5S2V5cy5UcmFuc2xhdGlvbnNdOiBXa2x5VHJhbnNsYXRpb25zIHwgbnVsbCA9IG51bGw7XG4gIEBPdXRwdXQoKSBbV2tseVBpY2tlck91dHB1dHNQcm9wZXJ0eUtleXMuVmFsdWVDaGFuZ2VdID1cbiAgICBuZXcgRXZlbnRFbWl0dGVyPFdrbHlQaWNrZXJWYWx1ZT4oKTtcbiAgQE91dHB1dCgpIFtXa2x5UGlja2VyT3V0cHV0c1Byb3BlcnR5S2V5cy5WYWxpZGF0aW9uQ2hhbmdlXSA9IG5ldyBFdmVudEVtaXR0ZXI8XG4gICAgcmVhZG9ubHkgV2tseVZhbGlkYXRpb25FcnJvcltdXG4gID4odHJ1ZSk7XG4gIEBPdXRwdXQoKSBbV2tseVBpY2tlck91dHB1dHNQcm9wZXJ0eUtleXMuT3BlbmVkXSA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcbiAgQE91dHB1dCgpIFtXa2x5UGlja2VyT3V0cHV0c1Byb3BlcnR5S2V5cy5DbG9zZWRdID1cbiAgICBuZXcgRXZlbnRFbWl0dGVyPFdrbHlDbG9zZVJlYXNvbj4oKTtcbiAgQE91dHB1dCgpIFtXa2x5UGlja2VyT3V0cHV0c1Byb3BlcnR5S2V5cy5WaWV3cG9ydENoYW5nZV0gPVxuICAgIG5ldyBFdmVudEVtaXR0ZXI8V2tseVZpZXdwb3J0Q2hhbmdlPih0cnVlKTtcbiAgQE91dHB1dCgpIFtXa2x5UGlja2VyT3V0cHV0c1Byb3BlcnR5S2V5cy5WaWV3TW9kZUNoYW5nZV0gPSBuZXcgRXZlbnRFbWl0dGVyPFxuICAgIFwiY2FsZW5kYXJcIiB8IFwibWFudWFsXCJcbiAgPigpO1xufVxuIl19
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"moduleName":null,"summaries":[{"symbol":{"__symbol":0,"members":[]},"metadata":{"__symbol":1,"members":[]}},{"symbol":{"__symbol":2,"members":[]},"metadata":{"__symbol":3,"members":[]}},{"symbol":{"__symbol":4,"members":[]},"metadata":{"__symbol":5,"members":[]}},{"symbol":{"__symbol":6,"members":[]},"metadata":{"__symbol":7,"members":[]}},{"symbol":{"__symbol":8,"members":[]},"metadata":{"__symbol":9,"members":[]}},{"symbol":{"__symbol":10,"members":[]},"metadata":{"__symbol":11,"members":[]}},{"symbol":{"__symbol":12,"members":[]},"metadata":{"__symbol":13,"members":[]}},{"symbol":{"__symbol":14,"members":[]},"metadata":{"__symbol":15,"members":[]}},{"symbol":{"__symbol":16,"members":[]},"metadata":{"__symbol":17,"members":[]}},{"symbol":{"__symbol":18,"members":[]},"metadata":{"__symbol":19,"members":[]}},{"symbol":{"__symbol":20,"members":[]},"metadata":{"__symbol":21,"members":[]}},{"symbol":{"__symbol":22,"members":[]},"metadata":{"__symbol":23,"members":[]}},{"symbol":{"__symbol":24,"members":[]},"metadata":{"__symbol":25,"members":[]}},{"symbol":{"__symbol":26,"members":[]},"metadata":{"__symbol":27,"members":[]}},{"symbol":{"__symbol":28,"members":[]},"metadata":{"__symbol":29,"members":[]}},{"symbol":{"__symbol":30,"members":[]},"metadata":{"__symbol":31,"members":[]}},{"symbol":{"__symbol":32,"members":[]},"metadata":{"__symbol":33,"members":[]}},{"symbol":{"__symbol":34,"members":[]},"metadata":{"__symbol":35,"members":[]}},{"symbol":{"__symbol":36,"members":[]},"metadata":{"__symbolic":"class"}},{"symbol":{"__symbol":37,"members":[]},"metadata":{"__symbol":38,"members":[]}},{"symbol":{"__symbol":39,"members":[]},"metadata":{"__symbol":40,"members":[]}},{"symbol":{"__symbol":41,"members":[]},"metadata":{"__symbol":42,"members":[]}},{"symbol":{"__symbol":43,"members":[]},"metadata":{"__symbol":44,"members":[]}},{"symbol":{"__symbol":45,"members":[]},"metadata":{"__symbol":46,"members":[]}},{"symbol":{"__symbol":47,"members":[]},"metadata":{"__symbolic":"new","expression":{"__symbol":48,"members":[]},"arguments":["WKLY_CLOCK",{"__symbolic":"error","message":"Lambda not supported","fileName":"projects/wkly-datetime-picker.11/src/config.ts"}]}},{"symbol":{"__symbol":49,"members":[]},"metadata":{"__symbolic":"new","expression":{"__symbol":48,"members":[]},"arguments":["WKLY_CONFIG",{"__symbolic":"error","message":"Lambda not supported","fileName":"projects/wkly-datetime-picker.11/src/config.ts"}]}},{"symbol":{"__symbol":50,"members":[]},"metadata":{"__symbolic":"new","expression":{"__symbol":48,"members":[]},"arguments":["WKLY_LOCALIZATION",{"__symbolic":"error","message":"Lambda not supported","fileName":"projects/wkly-datetime-picker.11/src/config.ts"}]}},{"symbol":{"__symbol":51,"members":[]},"metadata":{"__symbolic":"new","expression":{"__symbol":48,"members":[]},"arguments":["WKLY_TRANSLATIONS",{"__symbolic":"error","message":"Lambda not supported","fileName":"projects/wkly-datetime-picker.11/src/config.ts"}]}}],"symbols":[{"__symbol":0,"name":"createWeekRows","filePath":"./config"},{"__symbol":1,"name":"createWeekRows","filePath":"../../../dist/wkly-datetime-picker/public-api"},{"__symbol":2,"name":"WklyDayCell","filePath":"./config"},{"__symbol":3,"name":"WklyDayCell","filePath":"../../../dist/wkly-datetime-picker/public-api"},{"__symbol":4,"name":"WklyWeekRow","filePath":"./config"},{"__symbol":5,"name":"WklyWeekRow","filePath":"../../../dist/wkly-datetime-picker/public-api"},{"__symbol":6,"name":"validateDrafts","filePath":"./config"},{"__symbol":7,"name":"validateDrafts","filePath":"../../../dist/wkly-datetime-picker/public-api"},{"__symbol":8,"name":"WklyDraft","filePath":"./config"},{"__symbol":9,"name":"WklyDraft","filePath":"../../../dist/wkly-datetime-picker/public-api"},{"__symbol":10,"name":"draftDayDifference","filePath":"./config"},{"__symbol":11,"name":"draftDayDifference","filePath":"../../../dist/wkly-datetime-picker/public-api"},{"__symbol":12,"name":"setDraftDayDifference","filePath":"./config"},{"__symbol":13,"name":"setDraftDayDifference","filePath":"../../../dist/wkly-datetime-picker/public-api"},{"__symbol":14,"name":"DEFAULT_OVERSCAN_WEEKS","filePath":"./config"},{"__symbol":15,"name":"DEFAULT_OVERSCAN_WEEKS","filePath":"../../../dist/wkly-datetime-picker/public-api"},{"__symbol":16,"name":"calendarMonthBounds","filePath":"./config"},{"__symbol":17,"name":"calendarMonthBounds","filePath":"../../../dist/wkly-datetime-picker/public-api"},{"__symbol":18,"name":"WklyCloseReason","filePath":"./config"},{"__symbol":19,"name":"WklyCloseReason","filePath":"../../../dist/wkly-datetime-picker/public-api"},{"__symbol":20,"name":"WklyJumpOptions","filePath":"./config"},{"__symbol":21,"name":"WklyJumpOptions","filePath":"../../../dist/wkly-datetime-picker/public-api"},{"__symbol":22,"name":"WklyViewportChange","filePath":"./config"},{"__symbol":23,"name":"WklyViewportChange","filePath":"../../../dist/wkly-datetime-picker/public-api"},{"__symbol":24,"name":"WklyClock","filePath":"./config"},{"__symbol":25,"name":"WklyClock","filePath":"../../../dist/wkly-datetime-picker/public-api"},{"__symbol":26,"name":"WklyConfiguration","filePath":"./config"},{"__symbol":27,"name":"WklyConfiguration","filePath":"../../../dist/wkly-datetime-picker/public-api"},{"__symbol":28,"name":"WklyStrings","filePath":"./config"},{"__symbol":29,"name":"WklyStrings","filePath":"../../../dist/wkly-datetime-picker/public-api"},{"__symbol":30,"name":"WklyTranslations","filePath":"./config"},{"__symbol":31,"name":"WklyTranslations","filePath":"../../../dist/wkly-datetime-picker/public-api"},{"__symbol":32,"name":"WklyPickerInputsPropertyKeys","filePath":"./config"},{"__symbol":33,"name":"WklyPickerInputsPropertyKeys","filePath":"../../../dist/wkly-datetime-picker/public-api"},{"__symbol":34,"name":"WklyPickerOutputsPropertyKeys","filePath":"./config"},{"__symbol":35,"name":"WklyPickerOutputsPropertyKeys","filePath":"../../../dist/wkly-datetime-picker/public-api"},{"__symbol":36,"name":"WklyPickerInputs","filePath":"./config"},{"__symbol":37,"name":"WklyPickerOutputs","filePath":"./config"},{"__symbol":38,"name":"WklyPickerOutputs","filePath":"../../../dist/wkly-datetime-picker/public-api"},{"__symbol":39,"name":"ENGLISH","filePath":"./config"},{"__symbol":40,"name":"ENGLISH","filePath":"../../../dist/wkly-datetime-picker/public-api"},{"__symbol":41,"name":"coerceBoolean","filePath":"./config"},{"__symbol":42,"name":"coerceBoolean","filePath":"../../../dist/wkly-datetime-picker/public-api"},{"__symbol":43,"name":"resolveWklyTranslation","filePath":"./config"},{"__symbol":44,"name":"resolveWklyTranslation","filePath":"../../../dist/wkly-datetime-picker/public-api"},{"__symbol":45,"name":"INPUT_NAMES","filePath":"./config"},{"__symbol":46,"name":"INPUT_NAMES","filePath":"../../../dist/wkly-datetime-picker/public-api"},{"__symbol":47,"name":"WKLY_CLOCK","filePath":"./config"},{"__symbol":48,"name":"InjectionToken","filePath":"@angular/core"},{"__symbol":49,"name":"WKLY_CONFIG","filePath":"./config"},{"__symbol":50,"name":"WKLY_LOCALIZATION","filePath":"./config"},{"__symbol":51,"name":"WKLY_TRANSLATIONS","filePath":"./config"}]}
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @fileoverview This file was generated by the Angular template compiler. Do not edit.
|
|
3
|
-
*
|
|
4
|
-
* @suppress {suspiciousCode,uselessCode,missingProperties,missingOverride,checkTypes,extraRequire}
|
|
5
|
-
* tslint:disable
|
|
6
|
-
*/
|
|
7
|
-
var styles = [".field[_ngcontent-%COMP%]{display:flex;flex-direction:column;align-items:stretch;min-width:0;text-align:center;touch-action:pan-x}.label[_ngcontent-%COMP%]{font-size:11px;color:var(--wkly-muted-color,#54616e);margin-bottom:4px}button[_ngcontent-%COMP%], input[_ngcontent-%COMP%]{font:inherit;box-sizing:border-box;min-height:44px;width:100%;border:0;text-align:center;background:transparent;color:inherit;border-radius:7px}button[_ngcontent-%COMP%]{color:var(--wkly-muted-color,#54616e);cursor:pointer}input[_ngcontent-%COMP%]{font-size:18px;font-weight:650;background:var(--wkly-range-color,#e5f1ee);border-block:2px solid var(--wkly-accent-color,#176c55)}input[aria-invalid=true][_ngcontent-%COMP%]{border-color:var(--wkly-error-color,#b42318)}[_ngcontent-%COMP%]:focus-visible{outline:2px solid var(--wkly-focus-color,#124ee0);outline-offset:1px}button[_ngcontent-%COMP%]:disabled, input[_ngcontent-%COMP%]:disabled{opacity:.45}button[_ngcontent-%COMP%]:hover:not(:disabled){background:var(--wkly-range-color,#e5f1ee)}"];
|
|
8
|
-
export { styles as styles };
|
|
9
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmllbGQuY29tcG9uZW50LmNzcy5zaGltLm5nc3R5bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9wcm9qZWN0cy93a2x5LWRhdGV0aW1lLXBpY2tlci4xMS9zcmMvZmllbGQuY29tcG9uZW50LmNzcy5zaGltLm5nc3R5bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIGkwIGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaTAuQ29tcG9uZW50RmFjdG9yeTtcbiJdfQ==
|
|
@@ -1,240 +0,0 @@
|
|
|
1
|
-
import { Component, EventEmitter, Input, Output, } from "@angular/core";
|
|
2
|
-
import { floorMod } from "@wkly/core";
|
|
3
|
-
import { normalizeDigits } from "@wkly/adapters";
|
|
4
|
-
export class WklyFieldComponent {
|
|
5
|
-
constructor() {
|
|
6
|
-
this.value = 0;
|
|
7
|
-
this.label = "";
|
|
8
|
-
this.hideLabel = false;
|
|
9
|
-
this.previousLabel = "";
|
|
10
|
-
this.nextLabel = "";
|
|
11
|
-
this.min = 0;
|
|
12
|
-
this.max = 59;
|
|
13
|
-
this.step = 1;
|
|
14
|
-
this.locale = "en-US";
|
|
15
|
-
this.disabled = false;
|
|
16
|
-
this.invalid = false;
|
|
17
|
-
this.labels = null;
|
|
18
|
-
this.valueChange = new EventEmitter();
|
|
19
|
-
this.complete = new EventEmitter();
|
|
20
|
-
this.before = null;
|
|
21
|
-
this.touchY = 0;
|
|
22
|
-
this.touchSteps = 0;
|
|
23
|
-
this.touchChanged = false;
|
|
24
|
-
this.typed = null;
|
|
25
|
-
this.inputTimer = null;
|
|
26
|
-
this.wheelTimer = null;
|
|
27
|
-
}
|
|
28
|
-
get display() {
|
|
29
|
-
if (this.typed !== null)
|
|
30
|
-
return this.typed;
|
|
31
|
-
return this.value === null
|
|
32
|
-
? ""
|
|
33
|
-
: this.labels
|
|
34
|
-
? this.labels[this.value - this.min] || String(this.value)
|
|
35
|
-
: new Intl.NumberFormat(this.locale, {
|
|
36
|
-
useGrouping: false,
|
|
37
|
-
minimumIntegerDigits: this.max < 60 ? 2 : 1,
|
|
38
|
-
}).format(this.value);
|
|
39
|
-
}
|
|
40
|
-
ngOnChanges(changes) {
|
|
41
|
-
if (changes.value && this.min < 0 && this.typed !== null) {
|
|
42
|
-
const typedValue = this.typed === "" || this.typed === "-" ? null : Number(this.typed);
|
|
43
|
-
if (this.value !== typedValue) {
|
|
44
|
-
// External date edits replace a pending relative-day preview.
|
|
45
|
-
this.cancelInput();
|
|
46
|
-
this.typed = null;
|
|
47
|
-
}
|
|
48
|
-
}
|
|
49
|
-
}
|
|
50
|
-
ngOnDestroy() {
|
|
51
|
-
this.cancelInput();
|
|
52
|
-
if (this.wheelTimer !== null)
|
|
53
|
-
clearTimeout(this.wheelTimer);
|
|
54
|
-
}
|
|
55
|
-
next(delta) {
|
|
56
|
-
const count = Math.floor((this.max - this.min) / this.step) + 1;
|
|
57
|
-
return (this.min +
|
|
58
|
-
floorMod(Math.floor(((this.value === null ? this.min : this.value) - this.min) /
|
|
59
|
-
this.step) + delta, count) *
|
|
60
|
-
this.step);
|
|
61
|
-
}
|
|
62
|
-
neighbor(delta) {
|
|
63
|
-
const n = this.next(delta);
|
|
64
|
-
return this.labels
|
|
65
|
-
? this.labels[n - this.min] || ""
|
|
66
|
-
: new Intl.NumberFormat(this.locale, { useGrouping: false }).format(n);
|
|
67
|
-
}
|
|
68
|
-
stepBy(delta) {
|
|
69
|
-
if (this.disabled)
|
|
70
|
-
return;
|
|
71
|
-
this.scrollBy(delta);
|
|
72
|
-
this.complete.emit();
|
|
73
|
-
}
|
|
74
|
-
begin(event) {
|
|
75
|
-
this.before = this.value;
|
|
76
|
-
event.target.select();
|
|
77
|
-
}
|
|
78
|
-
type(event) {
|
|
79
|
-
if (this.disabled)
|
|
80
|
-
return;
|
|
81
|
-
const input = event.target;
|
|
82
|
-
const raw = input.value;
|
|
83
|
-
const numeric = Array.from(raw).every((character) => normalizeDigits(character).length === 1);
|
|
84
|
-
if (this.min < 0 && !this.labels) {
|
|
85
|
-
// Preserve the sign while using the same locale digit normalization.
|
|
86
|
-
const signed = raw
|
|
87
|
-
.replace(/[\u200e\u200f\u061c]/g, "")
|
|
88
|
-
.replace(/\u2212/g, "-");
|
|
89
|
-
const digits = normalizeDigits(signed);
|
|
90
|
-
this.typed = input.value = (signed.startsWith("-") ? "-" : "") + digits;
|
|
91
|
-
this.value =
|
|
92
|
-
digits === ""
|
|
93
|
-
? null
|
|
94
|
-
: Math.max(this.min, Math.min(this.max, Number(this.typed)));
|
|
95
|
-
if (this.value !== null && Number(this.typed) !== this.value)
|
|
96
|
-
this.typed = input.value = String(this.value);
|
|
97
|
-
}
|
|
98
|
-
else if (numeric) {
|
|
99
|
-
const normalized = normalizeDigits(raw);
|
|
100
|
-
this.typed = input.value =
|
|
101
|
-
this.min >= 0 && this.max < 100 ? normalized.slice(-2) : normalized;
|
|
102
|
-
this.value = this.typed === "" ? null : Number(this.typed);
|
|
103
|
-
}
|
|
104
|
-
else if (this.labels) {
|
|
105
|
-
const search = raw.trim().toLocaleLowerCase(this.locale);
|
|
106
|
-
this.typed = raw;
|
|
107
|
-
const matches = this.labels
|
|
108
|
-
.map((label, index) => ({ label, index }))
|
|
109
|
-
.filter((item) => item.label.toLocaleLowerCase(this.locale).includes(search));
|
|
110
|
-
this.value = matches.length === 1 ? this.min + matches[0].index : null;
|
|
111
|
-
}
|
|
112
|
-
else {
|
|
113
|
-
this.typed = input.value = normalizeDigits(raw);
|
|
114
|
-
this.value = this.typed === "" ? null : Number(this.typed);
|
|
115
|
-
}
|
|
116
|
-
this.valueChange.emit(this.value);
|
|
117
|
-
this.cancelInput();
|
|
118
|
-
if (!numeric && this.labels && this.value !== null)
|
|
119
|
-
this.complete.emit();
|
|
120
|
-
this.inputTimer = setTimeout(() => {
|
|
121
|
-
this.inputTimer = null;
|
|
122
|
-
this.typed = null;
|
|
123
|
-
if (!this.disabled)
|
|
124
|
-
this.complete.emit();
|
|
125
|
-
}, 1000);
|
|
126
|
-
}
|
|
127
|
-
key(event) {
|
|
128
|
-
if (event.key === "Escape") {
|
|
129
|
-
event.preventDefault();
|
|
130
|
-
event.stopPropagation();
|
|
131
|
-
this.cancelInput();
|
|
132
|
-
this.typed = null;
|
|
133
|
-
this.value = this.before;
|
|
134
|
-
this.valueChange.emit(this.before);
|
|
135
|
-
event.target.value = this.display;
|
|
136
|
-
event.target.blur();
|
|
137
|
-
}
|
|
138
|
-
if (event.key === "Enter") {
|
|
139
|
-
event.preventDefault();
|
|
140
|
-
event.stopPropagation();
|
|
141
|
-
this.finish();
|
|
142
|
-
}
|
|
143
|
-
const delta = event.key === "ArrowUp"
|
|
144
|
-
? -1
|
|
145
|
-
: event.key === "ArrowDown"
|
|
146
|
-
? 1
|
|
147
|
-
: event.key === "PageUp"
|
|
148
|
-
? -5
|
|
149
|
-
: event.key === "PageDown"
|
|
150
|
-
? 5
|
|
151
|
-
: 0;
|
|
152
|
-
if (delta) {
|
|
153
|
-
event.preventDefault();
|
|
154
|
-
this.stepBy(delta);
|
|
155
|
-
}
|
|
156
|
-
}
|
|
157
|
-
finish() {
|
|
158
|
-
this.cancelInput();
|
|
159
|
-
this.typed = null;
|
|
160
|
-
this.complete.emit();
|
|
161
|
-
}
|
|
162
|
-
wheel(event) {
|
|
163
|
-
if (this.disabled || Math.abs(event.deltaY) < 1)
|
|
164
|
-
return;
|
|
165
|
-
event.preventDefault();
|
|
166
|
-
this.scrollBy(event.deltaY > 0 ? 1 : -1);
|
|
167
|
-
if (this.wheelTimer !== null)
|
|
168
|
-
clearTimeout(this.wheelTimer);
|
|
169
|
-
this.wheelTimer = setTimeout(() => {
|
|
170
|
-
this.wheelTimer = null;
|
|
171
|
-
this.complete.emit();
|
|
172
|
-
}, 140);
|
|
173
|
-
}
|
|
174
|
-
touchStart(event) {
|
|
175
|
-
this.touchY = event.touches[0].clientY;
|
|
176
|
-
this.touchSteps = 0;
|
|
177
|
-
this.touchChanged = false;
|
|
178
|
-
}
|
|
179
|
-
touchMove(event) {
|
|
180
|
-
this.applyTouchY(event.touches[0].clientY);
|
|
181
|
-
}
|
|
182
|
-
touchEnd(event) {
|
|
183
|
-
this.applyTouchY(event.changedTouches[0].clientY);
|
|
184
|
-
if (this.touchChanged)
|
|
185
|
-
this.complete.emit();
|
|
186
|
-
this.touchChanged = false;
|
|
187
|
-
}
|
|
188
|
-
cancelInput() {
|
|
189
|
-
if (this.inputTimer !== null)
|
|
190
|
-
clearTimeout(this.inputTimer);
|
|
191
|
-
this.inputTimer = null;
|
|
192
|
-
}
|
|
193
|
-
scrollBy(delta) {
|
|
194
|
-
if (this.disabled || !delta)
|
|
195
|
-
return;
|
|
196
|
-
this.cancelInput();
|
|
197
|
-
this.typed = null;
|
|
198
|
-
this.value = this.next(delta);
|
|
199
|
-
this.valueChange.emit(this.value);
|
|
200
|
-
}
|
|
201
|
-
applyTouchY(y) {
|
|
202
|
-
// Count total gesture steps so repeated move events do not duplicate changes.
|
|
203
|
-
if (this.disabled)
|
|
204
|
-
return;
|
|
205
|
-
const delta = this.touchY - y;
|
|
206
|
-
const steps = Math.abs(delta) > 16
|
|
207
|
-
? Math.sign(delta) * Math.max(1, Math.round(Math.abs(delta) / 40))
|
|
208
|
-
: 0;
|
|
209
|
-
const change = steps - this.touchSteps;
|
|
210
|
-
if (!change)
|
|
211
|
-
return;
|
|
212
|
-
this.scrollBy(change);
|
|
213
|
-
this.touchSteps = steps;
|
|
214
|
-
this.touchChanged = true;
|
|
215
|
-
}
|
|
216
|
-
}
|
|
217
|
-
WklyFieldComponent.decorators = [
|
|
218
|
-
{ type: Component, args: [{
|
|
219
|
-
selector: "wkly-field",
|
|
220
|
-
template: "<div\n class=\"field\"\n (wheel)=\"wheel($event)\"\n (touchstart)=\"touchStart($event)\"\n (touchmove)=\"touchMove($event)\"\n (touchend)=\"touchEnd($event)\"\n (touchcancel)=\"touchEnd($event)\"\n>\n <span *ngIf=\"!hideLabel\" class=\"label\">{{ label }}</span>\n <button\n type=\"button\"\n [disabled]=\"disabled\"\n [attr.aria-label]=\"previousLabel || label + ': previous'\"\n (click)=\"stepBy(-1)\"\n >\n {{ neighbor(-1) }}\n </button>\n <input\n [attr.aria-label]=\"label\"\n [attr.aria-invalid]=\"invalid\"\n [disabled]=\"disabled\"\n [value]=\"display\"\n [attr.inputmode]=\"labels ? 'text' : min < 0 ? 'text' : 'numeric'\"\n autocomplete=\"off\"\n (focus)=\"begin($event)\"\n (input)=\"type($event)\"\n (blur)=\"finish()\"\n (keydown)=\"key($event)\"\n />\n <button\n type=\"button\"\n [disabled]=\"disabled\"\n [attr.aria-label]=\"nextLabel || label + ': next'\"\n (click)=\"stepBy(1)\"\n >\n {{ neighbor(1) }}\n </button>\n</div>\n",
|
|
221
|
-
styles: [".field{display:flex;flex-direction:column;align-items:stretch;min-width:0;text-align:center;touch-action:pan-x}.label{font-size:11px;color:var(--wkly-muted-color,#54616e);margin-bottom:4px}button,input{font:inherit;box-sizing:border-box;min-height:44px;width:100%;border:0;text-align:center;background:transparent;color:inherit;border-radius:7px}button{color:var(--wkly-muted-color,#54616e);cursor:pointer}input{font-size:18px;font-weight:650;background:var(--wkly-range-color,#e5f1ee);border-block:2px solid var(--wkly-accent-color,#176c55)}input[aria-invalid=true]{border-color:var(--wkly-error-color,#b42318)}:focus-visible{outline:2px solid var(--wkly-focus-color,#124ee0);outline-offset:1px}button:disabled,input:disabled{opacity:.45}button:hover:not(:disabled){background:var(--wkly-range-color,#e5f1ee)}"]
|
|
222
|
-
},] }
|
|
223
|
-
];
|
|
224
|
-
WklyFieldComponent.propDecorators = {
|
|
225
|
-
value: [{ type: Input }],
|
|
226
|
-
label: [{ type: Input }],
|
|
227
|
-
hideLabel: [{ type: Input }],
|
|
228
|
-
previousLabel: [{ type: Input }],
|
|
229
|
-
nextLabel: [{ type: Input }],
|
|
230
|
-
min: [{ type: Input }],
|
|
231
|
-
max: [{ type: Input }],
|
|
232
|
-
step: [{ type: Input }],
|
|
233
|
-
locale: [{ type: Input }],
|
|
234
|
-
disabled: [{ type: Input }],
|
|
235
|
-
invalid: [{ type: Input }],
|
|
236
|
-
labels: [{ type: Input }],
|
|
237
|
-
valueChange: [{ type: Output }],
|
|
238
|
-
complete: [{ type: Output }]
|
|
239
|
-
};
|
|
240
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmllbGQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vcHJvamVjdHMvd2tseS1kYXRldGltZS1waWNrZXIuMTEvc3JjL2ZpZWxkLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUNULFlBQVksRUFDWixLQUFLLEVBR0wsTUFBTSxHQUNQLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFDdEMsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBTWpELE1BQU0sT0FBTyxrQkFBa0I7SUFML0I7UUFNVyxVQUFLLEdBQWtCLENBQUMsQ0FBQztRQUN6QixVQUFLLEdBQUcsRUFBRSxDQUFDO1FBQ1gsY0FBUyxHQUFHLEtBQUssQ0FBQztRQUNsQixrQkFBYSxHQUFHLEVBQUUsQ0FBQztRQUNuQixjQUFTLEdBQUcsRUFBRSxDQUFDO1FBQ2YsUUFBRyxHQUFHLENBQUMsQ0FBQztRQUNSLFFBQUcsR0FBRyxFQUFFLENBQUM7UUFDVCxTQUFJLEdBQUcsQ0FBQyxDQUFDO1FBQ1QsV0FBTSxHQUFHLE9BQU8sQ0FBQztRQUNqQixhQUFRLEdBQUcsS0FBSyxDQUFDO1FBQ2pCLFlBQU8sR0FBRyxLQUFLLENBQUM7UUFDaEIsV0FBTSxHQUE2QixJQUFJLENBQUM7UUFDdkMsZ0JBQVcsR0FBRyxJQUFJLFlBQVksRUFBaUIsQ0FBQztRQUNoRCxhQUFRLEdBQUcsSUFBSSxZQUFZLEVBQVEsQ0FBQztRQUN0QyxXQUFNLEdBQWtCLElBQUksQ0FBQztRQUM3QixXQUFNLEdBQUcsQ0FBQyxDQUFDO1FBQ1gsZUFBVSxHQUFHLENBQUMsQ0FBQztRQUNmLGlCQUFZLEdBQUcsS0FBSyxDQUFDO1FBQ3JCLFVBQUssR0FBa0IsSUFBSSxDQUFDO1FBQzVCLGVBQVUsR0FBeUMsSUFBSSxDQUFDO1FBQ3hELGVBQVUsR0FBeUMs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LEdBQUcsSUFBSSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUM7UUFDOUIsTUFBTSxLQUFLLEdBQ1QsSUFBSSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsR0FBRyxFQUFFO1lBQ2xCLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQztZQUNsRSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ1IsTUFBTSxNQUFNLEdBQUcsS0FBSyxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUM7UUFDdkMsSUFBSSxDQUFDLE1BQU07WUFBRSxPQUFPO1FBQ3BCLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDdEIsSUFBSSxDQUFDLFVBQVUsR0FBRyxLQUFLLENBQUM7UUFDeEIsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUM7SUFDM0IsQ0FBQzs7O1lBcE5GLFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUsWUFBWTtnQkFDdEIscWdDQUFxQzs7YUFFdEM7OztvQkFFRSxLQUFLO29CQUNMLEtBQUs7d0JBQ0wsS0FBSzs0QkFDTCxLQUFLO3dCQUNMLEtBQUs7a0JBQ0wsS0FBSztrQkFDTCxLQUFLO21CQUNMLEtBQUs7cUJBQ0wsS0FBSzt1QkFDTCxLQUFLO3NCQUNMLEtBQUs7cUJBQ0wsS0FBSzswQkFDTCxNQUFNO3VCQUNOLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDb21wb25lbnQsXG4gIEV2ZW50RW1pdHRlcixcbiAgSW5wdXQsXG4gIE9uQ2hhbmdlcyxcbiAgT25EZXN0cm95LFxuICBPdXRwdXQsXG59IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBmbG9vck1vZCB9IGZyb20gXCJAd2tseS9jb3JlXCI7XG5pbXBvcnQgeyBub3JtYWxpemVEaWdpdHMgfSBmcm9tIFwiQHdrbHkvYWRhcHRlcnNcIjtcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogXCJ3a2x5LWZpZWxkXCIsXG4gIHRlbXBsYXRlVXJsOiBcIi4vZmllbGQuY29tcG9uZW50Lmh0bWxcIixcbiAgc3R5bGVVcmxzOiBbXCIuL2ZpZWxkLmNvbXBvbmVudC5jc3NcIl0sXG59KVxuZXhwb3J0IGNsYXNzIFdrbHlGaWVsZENvbXBvbmVudCBpbXBsZW1lbnRzIE9uQ2hhbmdlcywgT25EZXN0cm95IHtcbiAgQElucHV0KCkgdmFsdWU6IG51bWJlciB8IG51bGwgPSAwO1xuICBASW5wdXQoKSBsYWJlbCA9IFwiXCI7XG4gIEBJbnB1dCgpIGhpZGVMYWJlbCA9IGZhbHNlO1xuICBASW5wdXQoKSBwcmV2aW91c0xhYmVsID0gXCJcIjtcbiAgQElucHV0KCkgbmV4dExhYmVsID0gXCJcIjtcbiAgQElucHV0KCkgbWluID0gMDtcbiAgQElucHV0KCkgbWF4ID0gNTk7XG4gIEBJbnB1dCgpIHN0ZXAgPSAxO1xuICBASW5wdXQoKSBsb2NhbGUgPSBcImVuLVVTXCI7XG4gIEBJbnB1dCgpIGRpc2FibGVkID0gZmFsc2U7XG4gIEBJbnB1dCgpIGludmFsaWQgPSBmYWxzZTtcbiAgQElucHV0KCkgbGFiZWxzOiByZWFkb25seSBzdHJpbmdbXSB8IG51bGwgPSBudWxsO1xuICBAT3V0cHV0KCkgdmFsdWVDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPG51bWJlciB8IG51bGw+KCk7XG4gIEBPdXRwdXQoKSBjb21wbGV0ZSA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcbiAgcHJpdmF0ZSBiZWZvcmU6IG51bWJlciB8IG51bGwgPSBudWxsO1xuICBwcml2YXRlIHRvdWNoWSA9IDA7XG4gIHByaXZhdGUgdG91Y2hTdGVwcyA9IDA7XG4gIHByaXZhdGUgdG91Y2hDaGFuZ2VkID0gZmFsc2U7XG4gIHByaXZhdGUgdHlwZWQ6IHN0cmluZyB8IG51bGwgPSBudWxsO1xuICBwcml2YXRlIGlucHV0VGltZXI6IFJldHVyblR5cGU8dHlwZW9mIHNldFRpbWVvdXQ+IHwgbnVsbCA9IG51bGw7XG4gIHByaXZhdGUgd2hlZWxUaW1lcjogUmV0dXJuVHlwZTx0eXBlb2Ygc2V0VGltZW91dD4gfCBudWxsID0gbnVsbDtcbiAgZ2V0IGRpc3BsYXkoKTogc3RyaW5nIHtcbiAgICBpZiAodGhpcy50eXBlZCAhPT0gbnVsbCkgcmV0dXJuIHRoaXMudHlwZWQ7XG4gICAgcmV0dXJuIHRoaXMudmFsdWUgPT09IG51bGxcbiAgICAgID8gXCJcIlxuICAgICAgOiB0aGlzLmxhYmVsc1xuICAgICAgICA/IHRoaXMubGFiZWxzW3RoaXMudmFsdWUgLSB0aGlzLm1pbl0gfHwgU3RyaW5nKHRoaXMudmFsdWUpXG4gICAgICAgIDogbmV3IEludGwuTnVtYmVyRm9ybWF0KHRoaXMubG9jYWxlLCB7XG4gICAgICAgICAgICB1c2VHcm91cGluZzogZmFsc2UsXG4gICAgICAgICAgICBtaW5pbXVtSW50ZWdlckRpZ2l0czogdGhpcy5tYXggPCA2MCA/IDIgOiAxLFxuICAgICAgICAgIH0pLmZvcm1hdCh0aGlzLnZhbHVlKTtcbiAgfVxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBhbnkpOiB2b2lkIHtcbiAgICBpZiAoY2hhbmdlcy52YWx1ZSAmJiB0aGlzLm1pbiA8IDAgJiYgdGhpcy50eXBlZCAhPT0gbnVsbCkge1xuICAgICAgY29uc3QgdHlwZWRWYWx1ZSA9XG4gICAgICAgIHRoaXMudHlwZWQgPT09IFwiXCIgfHwgdGhpcy50eXBlZCA9PT0gXCItXCIgPyBudWxsIDogTnVtYmVyKHRoaXMudHlwZWQpO1xuICAgICAgaWYgKHRoaXMudmFsdWUgIT09IHR5cGVkVmFsdWUpIHtcbiAgICAgICAgLy8gRXh0ZXJuYWwgZGF0ZSBlZGl0cyByZXBsYWNlIGEgcGVuZGluZyByZWxhdGl2ZS1kYXkgcHJldmlldy5cbiAgICAgICAgdGhpcy5jYW5jZWxJbnB1dCgpO1xuICAgICAgICB0aGlzLnR5cGVkID0gbnVsbDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5jYW5jZWxJbnB1dCgpO1xuICAgIGlmICh0aGlzLndoZWVsVGltZXIgIT09IG51bGwpIGNsZWFyVGltZW91dCh0aGlzLndoZWVsVGltZXIpO1xuICB9XG4gIG5leHQoZGVsdGE6IG51bWJlcik6IG51bWJlciB7XG4gICAgY29uc3QgY291bnQgPSBNYXRoLmZsb29yKCh0aGlzLm1heCAtIHRoaXMubWluKSAvIHRoaXMuc3RlcCkgKyAxO1xuICAgIHJldHVybiAoXG4gICAgICB0aGlzLm1pbiArXG4gICAgICBmbG9vck1vZChcbiAgICAgICAgTWF0aC5mbG9vcihcbiAgICAgICAgICAoKHRoaXMudmFsdWUgPT09IG51bGwgPyB0aGlzLm1pbiA6IHRoaXMudmFsdWUpIC0gdGhpcy5taW4pIC9cbiAgICAgICAgICAgIHRoaXMuc3RlcCxcbiAgICAgICAgKSArIGRlbHRhLFxuICAgICAgICBjb3VudCxcbiAgICAgICkgKlxuICAgICAgICB0aGlzLnN0ZXBcbiAgICApO1xuICB9XG4gIG5laWdoYm9yKGRlbHRhOiBudW1iZXIpOiBzdHJpbmcge1xuICAgIGNvbnN0IG4gPSB0aGlzLm5leHQoZGVsdGEpO1xuICAgIHJldHVybiB0aGlzLmxhYmVsc1xuICAgICAgPyB0aGlzLmxhYmVsc1tuIC0gdGhpcy5taW5dIHx8IFwiXCJcbiAgICAgIDogbmV3IEludGwuTnVtYmVyRm9ybWF0KHRoaXMubG9jYWxlLCB7IHVzZUdyb3VwaW5nOiBmYWxzZSB9KS5mb3JtYXQobik7XG4gIH1cbiAgc3RlcEJ5KGRlbHRhOiBudW1iZXIpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5kaXNhYmxlZCkgcmV0dXJuO1xuICAgIHRoaXMuc2Nyb2xsQnkoZGVsdGEpO1xuICAgIHRoaXMuY29tcGxldGUuZW1pdCgpO1xuICB9XG4gIGJlZ2luKGV2ZW50OiBGb2N1c0V2ZW50KTogdm9pZCB7XG4gICAgdGhpcy5iZWZvcmUgPSB0aGlzLnZhbHVlO1xuICAgIChldmVudC50YXJnZXQgYXMgSFRNTElucHV0RWxlbWVudCkuc2VsZWN0KCk7XG4gIH1cbiAgdHlwZShldmVudDogRXZlbnQpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5kaXNhYmxlZCkgcmV0dXJuO1xuICAgIGNvbnN0IGlucHV0ID0gZXZlbnQudGFyZ2V0IGFzIEhUTUxJbnB1dEVsZW1lbnQ7XG4gICAgY29uc3QgcmF3ID0gaW5wdXQudmFsdWU7XG4gICAgY29uc3QgbnVtZXJpYyA9IEFycmF5LmZyb20ocmF3KS5ldmVyeShcbiAgICAgIChjaGFyYWN0ZXIpID0+IG5vcm1hbGl6ZURpZ2l0cyhjaGFyYWN0ZXIpLmxlbmd0aCA9PT0gMSxcbiAgICApO1xuICAgIGlmICh0aGlzLm1pbiA8IDAgJiYgIXRoaXMubGFiZWxzKSB7XG4gICAgICAvLyBQcmVzZXJ2ZSB0aGUgc2lnbiB3aGlsZSB1c2luZyB0aGUgc2FtZSBsb2NhbGUgZGlnaXQgbm9ybWFsaXphdGlvbi5cbiAgICAgIGNvbnN0IHNpZ25lZCA9IHJhd1xuICAgICAgICAucmVwbGFjZSgvW1xcdTIwMGVcXHUyMDBmXFx1MDYxY10vZywgXCJcIilcbiAgICAgICAgLnJlcGxhY2UoL1xcdTIyMTIvZywgXCItXCIpO1xuICAgICAgY29uc3QgZGlnaXRzID0gbm9ybWFsaXplRGlnaXRzKHNpZ25lZCk7XG4gICAgICB0aGlzLnR5cGVkID0gaW5wdXQudmFsdWUgPSAoc2lnbmVkLnN0YXJ0c1dpdGgoXCItXCIpID8gXCItXCIgOiBcIlwiKSArIGRpZ2l0cztcbiAgICAgIHRoaXMudmFsdWUgPVxuICAgICAgICBkaWdpdHMgPT09IFwiXCJcbiAgICAgICAgICA/IG51bGxcbiAgICAgICAgICA6IE1hdGgubWF4KHRoaXMubWluLCBNYXRoLm1pbih0aGlzLm1heCwgTnVtYmVyKHRoaXMudHlwZWQpKSk7XG4gICAgICBpZiAodGhpcy52YWx1ZSAhPT0gbnVsbCAmJiBOdW1iZXIodGhpcy50eXBlZCkgIT09IHRoaXMudmFsdWUpXG4gICAgICAgIHRoaXMudHlwZWQgPSBpbnB1dC52YWx1ZSA9IFN0cmluZyh0aGlzLnZhbHVlKTtcbiAgICB9IGVsc2UgaWYgKG51bWVyaWMpIHtcbiAgICAgIGNvbnN0IG5vcm1hbGl6ZWQgPSBub3JtYWxpemVEaWdpdHMocmF3KTtcbiAgICAgIHRoaXMudHlwZWQgPSBpbnB1dC52YWx1ZSA9XG4gICAgICAgIHRoaXMubWluID49IDAgJiYgdGhpcy5tYXggPCAxMDAgPyBub3JtYWxpemVkLnNsaWNlKC0yKSA6IG5vcm1hbGl6ZWQ7XG4gICAgICB0aGlzLnZhbHVlID0gdGhpcy50eXBlZCA9PT0gXCJcIiA/IG51bGwgOiBOdW1iZXIodGhpcy50eXBlZCk7XG4gICAgfSBlbHNlIGlmICh0aGlzLmxhYmVscykge1xuICAgICAgY29uc3Qgc2VhcmNoID0gcmF3LnRyaW0oKS50b0xvY2FsZUxvd2VyQ2FzZSh0aGlzLmxvY2FsZSk7XG4gICAgICB0aGlzLnR5cGVkID0gcmF3O1xuICAgICAgY29uc3QgbWF0Y2hlcyA9IHRoaXMubGFiZWxzXG4gICAgICAgIC5tYXAoKGxhYmVsLCBpbmRleCkgPT4gKHsgbGFiZWwsIGluZGV4IH0pKVxuICAgICAgICAuZmlsdGVyKChpdGVtKSA9PlxuICAgICAgICAgIGl0ZW0ubGFiZWwudG9Mb2NhbGVMb3dlckNhc2UodGhpcy5sb2NhbGUpLmluY2x1ZGVzKHNlYXJjaCksXG4gICAgICAgICk7XG4gICAgICB0aGlzLnZhbHVlID0gbWF0Y2hlcy5sZW5ndGggPT09IDEgPyB0aGlzLm1pbiArIG1hdGNoZXNbMF0uaW5kZXggOiBudWxsO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnR5cGVkID0gaW5wdXQudmFsdWUgPSBub3JtYWxpemVEaWdpdHMocmF3KTtcbiAgICAgIHRoaXMudmFsdWUgPSB0aGlzLnR5cGVkID09PSBcIlwiID8gbnVsbCA6IE51bWJlcih0aGlzLnR5cGVkKTtcbiAgICB9XG4gICAgdGhpcy52YWx1ZUNoYW5nZS5lbWl0KHRoaXMudmFsdWUpO1xuICAgIHRoaXMuY2FuY2VsSW5wdXQoKTtcbiAgICBpZiAoIW51bWVyaWMgJiYgdGhpcy5sYWJlbHMgJiYgdGhpcy52YWx1ZSAhPT0gbnVsbCkgdGhpcy5jb21wbGV0ZS5lbWl0KCk7XG4gICAgdGhpcy5pbnB1dFRpbWVyID0gc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICB0aGlzLmlucHV0VGltZXIgPSBudWxsO1xuICAgICAgdGhpcy50eXBlZCA9IG51bGw7XG4gICAgICBpZiAoIXRoaXMuZGlzYWJsZWQpIHRoaXMuY29tcGxldGUuZW1pdCgpO1xuICAgIH0sIDEwMDApO1xuICB9XG4gIGtleShldmVudDogS2V5Ym9hcmRFdmVudCk6IHZvaWQge1xuICAgIGlmIChldmVudC5rZXkgPT09IFwiRXNjYXBlXCIpIHtcbiAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICAgIHRoaXMuY2FuY2VsSW5wdXQoKTtcbiAgICAgIHRoaXMudHlwZWQgPSBudWxsO1xuICAgICAgdGhpcy52YWx1ZSA9IHRoaXMuYmVmb3JlO1xuICAgICAgdGhpcy52YWx1ZUNoYW5nZS5lbWl0KHRoaXMuYmVmb3JlKTtcbiAgICAgIChldmVudC50YXJnZXQgYXMgSFRNTElucHV0RWxlbWVudCkudmFsdWUgPSB0aGlzLmRpc3BsYXk7XG4gICAgICAoZXZlbnQudGFyZ2V0IGFzIEhUTUxJbnB1dEVsZW1lbnQpLmJsdXIoKTtcbiAgICB9XG4gICAgaWYgKGV2ZW50LmtleSA9PT0gXCJFbnRlclwiKSB7XG4gICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgICB0aGlzLmZpbmlzaCgpO1xuICAgIH1cbiAgICBjb25zdCBkZWx0YSA9XG4gICAgICBldmVudC5rZXkgPT09IFwiQXJyb3dVcFwiXG4gICAgICAgID8gLTFcbiAgICAgICAgOiBldmVudC5rZXkgPT09IFwiQXJyb3dEb3duXCJcbiAgICAgICAgICA/IDFcbiAgICAgICAgICA6IGV2ZW50LmtleSA9PT0gXCJQYWdlVXBcIlxuICAgICAgICAgICAgPyAtNVxuICAgICAgICAgICAgOiBldmVudC5rZXkgPT09IFwiUGFnZURvd25cIlxuICAgICAgICAgICAgICA/IDVcbiAgICAgICAgICAgICAgOiAwO1xuICAgIGlmIChkZWx0YSkge1xuICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgIHRoaXMuc3RlcEJ5KGRlbHRhKTtcbiAgICB9XG4gIH1cbiAgZmluaXNoKCk6IHZvaWQge1xuICAgIHRoaXMuY2FuY2VsSW5wdXQoKTtcbiAgICB0aGlzLnR5cGVkID0gbnVsbDtcbiAgICB0aGlzLmNvbXBsZXRlLmVtaXQoKTtcbiAgfVxuICB3aGVlbChldmVudDogV2hlZWxFdmVudCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmRpc2FibGVkIHx8IE1hdGguYWJzKGV2ZW50LmRlbHRhWSkgPCAxKSByZXR1cm47XG4gICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICB0aGlzLnNjcm9sbEJ5KGV2ZW50LmRlbHRhWSA+IDAgPyAxIDogLTEpO1xuICAgIGlmICh0aGlzLndoZWVsVGltZXIgIT09IG51bGwpIGNsZWFyVGltZW91dCh0aGlzLndoZWVsVGltZXIpO1xuICAgIHRoaXMud2hlZWxUaW1lciA9IHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgdGhpcy53aGVlbFRpbWVyID0gbnVsbDtcbiAgICAgIHRoaXMuY29tcGxldGUuZW1pdCgpO1xuICAgIH0sIDE0MCk7XG4gIH1cbiAgdG91Y2hTdGFydChldmVudDogVG91Y2hFdmVudCk6IHZvaWQge1xuICAgIHRoaXMudG91Y2hZID0gZXZlbnQudG91Y2hlc1swXS5jbGllbnRZO1xuICAgIHRoaXMudG91Y2hTdGVwcyA9IDA7XG4gICAgdGhpcy50b3VjaENoYW5nZWQgPSBmYWxzZTtcbiAgfVxuICB0b3VjaE1vdmUoZXZlbnQ6IFRvdWNoRXZlbnQpOiB2b2lkIHtcbiAgICB0aGlzLmFwcGx5VG91Y2hZKGV2ZW50LnRvdWNoZXNbMF0uY2xpZW50WSk7XG4gIH1cbiAgdG91Y2hFbmQoZXZlbnQ6IFRvdWNoRXZlbnQpOiB2b2lkIHtcbiAgICB0aGlzLmFwcGx5VG91Y2hZKGV2ZW50LmNoYW5nZWRUb3VjaGVzWzBdLmNsaWVudFkpO1xuICAgIGlmICh0aGlzLnRvdWNoQ2hhbmdlZCkgdGhpcy5jb21wbGV0ZS5lbWl0KCk7XG4gICAgdGhpcy50b3VjaENoYW5nZWQgPSBmYWxzZTtcbiAgfVxuICBwcml2YXRlIGNhbmNlbElucHV0KCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmlucHV0VGltZXIgIT09IG51bGwpIGNsZWFyVGltZW91dCh0aGlzLmlucHV0VGltZXIpO1xuICAgIHRoaXMuaW5wdXRUaW1lciA9IG51bGw7XG4gIH1cbiAgcHJpdmF0ZSBzY3JvbGxCeShkZWx0YTogbnVtYmVyKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuZGlzYWJsZWQgfHwgIWRlbHRhKSByZXR1cm47XG4gICAgdGhpcy5jYW5jZWxJbnB1dCgpO1xuICAgIHRoaXMudHlwZWQgPSBudWxsO1xuICAgIHRoaXMudmFsdWUgPSB0aGlzLm5leHQoZGVsdGEpO1xuICAgIHRoaXMudmFsdWVDaGFuZ2UuZW1pdCh0aGlzLnZhbHVlKTtcbiAgfVxuICBwcml2YXRlIGFwcGx5VG91Y2hZKHk6IG51bWJlcik6IHZvaWQge1xuICAgIC8vIENvdW50IHRvdGFsIGdlc3R1cmUgc3RlcHMgc28gcmVwZWF0ZWQgbW92ZSBldmVudHMgZG8gbm90IGR1cGxpY2F0ZSBjaGFuZ2VzLlxuICAgIGlmICh0aGlzLmRpc2FibGVkKSByZXR1cm47XG4gICAgY29uc3QgZGVsdGEgPSB0aGlzLnRvdWNoWSAtIHk7XG4gICAgY29uc3Qgc3RlcHMgPVxuICAgICAgTWF0aC5hYnMoZGVsdGEpID4gMTZcbiAgICAgICAgPyBNYXRoLnNpZ24oZGVsdGEpICogTWF0aC5tYXgoMSwgTWF0aC5yb3VuZChNYXRoLmFicyhkZWx0YSkgLyA0MCkpXG4gICAgICAgIDogMDtcbiAgICBjb25zdCBjaGFuZ2UgPSBzdGVwcyAtIHRoaXMudG91Y2hTdGVwcztcbiAgICBpZiAoIWNoYW5nZSkgcmV0dXJuO1xuICAgIHRoaXMuc2Nyb2xsQnkoY2hhbmdlKTtcbiAgICB0aGlzLnRvdWNoU3RlcHMgPSBzdGVwcztcbiAgICB0aGlzLnRvdWNoQ2hhbmdlZCA9IHRydWU7XG4gIH1cbn1cbiJdfQ==
|