@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.
Files changed (64) hide show
  1. package/cdk-overlay/package.json +5 -6
  2. package/cdk-overlay/public-api.d.ts +10 -0
  3. package/cdk-overlay/wkly-datetime-picker-cdk-overlay.d.ts +1 -0
  4. package/config.d.ts +3 -0
  5. package/esm2020/cdk-overlay/public-api.mjs +137 -0
  6. package/{esm2015/cdk-overlay/wkly-datetime-picker-cdk-overlay.js → esm2020/cdk-overlay/wkly-datetime-picker-cdk-overlay.mjs} +1 -1
  7. package/esm2020/config.mjs +100 -0
  8. package/esm2020/field.component.mjs +253 -0
  9. package/esm2020/picker.component.mjs +955 -0
  10. package/esm2020/presentation.mjs +303 -0
  11. package/esm2020/public-api.mjs +31 -0
  12. package/{esm2015/wkly-datetime-picker.js → esm2020/wkly-datetime-picker.mjs} +1 -1
  13. package/fesm2015/wkly-datetime-picker-cdk-overlay.mjs +143 -0
  14. package/fesm2015/wkly-datetime-picker-cdk-overlay.mjs.map +1 -0
  15. package/fesm2015/wkly-datetime-picker.mjs +1624 -0
  16. package/fesm2015/wkly-datetime-picker.mjs.map +1 -0
  17. package/fesm2020/wkly-datetime-picker-cdk-overlay.mjs +143 -0
  18. package/fesm2020/wkly-datetime-picker-cdk-overlay.mjs.map +1 -0
  19. package/fesm2020/wkly-datetime-picker.mjs +1622 -0
  20. package/fesm2020/wkly-datetime-picker.mjs.map +1 -0
  21. package/field.component.d.ts +3 -0
  22. package/package.json +34 -14
  23. package/picker.component.d.ts +3 -0
  24. package/presentation.d.ts +7 -0
  25. package/public-api.d.ts +8 -0
  26. package/wkly-datetime-picker.d.ts +1 -1
  27. package/bundles/wkly-datetime-picker-cdk-overlay.umd.js +0 -653
  28. package/bundles/wkly-datetime-picker-cdk-overlay.umd.js.map +0 -1
  29. package/bundles/wkly-datetime-picker-cdk-overlay.umd.min.js +0 -2
  30. package/bundles/wkly-datetime-picker-cdk-overlay.umd.min.js.map +0 -1
  31. package/bundles/wkly-datetime-picker.umd.js +0 -2354
  32. package/bundles/wkly-datetime-picker.umd.js.map +0 -1
  33. package/bundles/wkly-datetime-picker.umd.min.js +0 -2
  34. package/bundles/wkly-datetime-picker.umd.min.js.map +0 -1
  35. package/cdk-overlay/public-api.ngfactory.d.ts +0 -3
  36. package/cdk-overlay/wkly-datetime-picker-cdk-overlay.metadata.json +0 -1
  37. package/esm2015/cdk-overlay/public-api.js +0 -127
  38. package/esm2015/cdk-overlay/public-api.ngfactory.js +0 -19
  39. package/esm2015/cdk-overlay/public-api.ngsummary.json +0 -1
  40. package/esm2015/cdk-overlay/wkly-datetime-picker-cdk-overlay.ngsummary.json +0 -1
  41. package/esm2015/config.js +0 -241
  42. package/esm2015/config.ngsummary.json +0 -1
  43. package/esm2015/field.component.css.shim.ngstyle.js +0 -9
  44. package/esm2015/field.component.js +0 -240
  45. package/esm2015/field.component.ngfactory.js +0 -52
  46. package/esm2015/field.component.ngsummary.json +0 -1
  47. package/esm2015/picker.component.js +0 -929
  48. package/esm2015/picker.component.ngfactory.js +0 -137
  49. package/esm2015/picker.component.ngsummary.json +0 -1
  50. package/esm2015/presentation.js +0 -295
  51. package/esm2015/presentation.ngsummary.json +0 -1
  52. package/esm2015/public-api.js +0 -24
  53. package/esm2015/public-api.ngfactory.js +0 -13
  54. package/esm2015/public-api.ngsummary.json +0 -1
  55. package/esm2015/wkly-datetime-picker.ngsummary.json +0 -1
  56. package/fesm2015/wkly-datetime-picker-cdk-overlay.js +0 -131
  57. package/fesm2015/wkly-datetime-picker-cdk-overlay.js.map +0 -1
  58. package/fesm2015/wkly-datetime-picker.js +0 -1713
  59. package/fesm2015/wkly-datetime-picker.js.map +0 -1
  60. package/field.component.css.shim.ngstyle.d.ts +0 -1
  61. package/field.component.ngfactory.d.ts +0 -1
  62. package/picker.component.ngfactory.d.ts +0 -1
  63. package/public-api.ngfactory.d.ts +0 -3
  64. 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==