ngx-animating-datepicker 1.2.0 → 2.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 (56) hide show
  1. package/README.md +33 -1
  2. package/fesm2022/ngx-animating-datepicker.mjs +1534 -0
  3. package/fesm2022/ngx-animating-datepicker.mjs.map +1 -0
  4. package/package.json +32 -17
  5. package/types/ngx-animating-datepicker.d.ts +551 -0
  6. package/bundles/ngx-animating-datepicker.umd.js +0 -2594
  7. package/bundles/ngx-animating-datepicker.umd.js.map +0 -1
  8. package/bundles/ngx-animating-datepicker.umd.min.js +0 -2
  9. package/bundles/ngx-animating-datepicker.umd.min.js.map +0 -1
  10. package/esm2015/lib/components/animatepicker/animatepicker.component.js +0 -468
  11. package/esm2015/lib/components/datepicker/datepicker.component.js +0 -703
  12. package/esm2015/lib/components/datepicker/datepicker.directive.js +0 -408
  13. package/esm2015/lib/components/datepicker/datepicker.options.js +0 -41
  14. package/esm2015/lib/components/navigation/navigation.component.js +0 -233
  15. package/esm2015/lib/components/sub-navigation/sub-navigation.component.js +0 -48
  16. package/esm2015/lib/models/datepicker-options.model.js +0 -35
  17. package/esm2015/lib/models/datepicker.model.js +0 -75
  18. package/esm2015/lib/models/directive-options.model.js +0 -19
  19. package/esm2015/lib/ngx-animating-datepicker.module.js +0 -35
  20. package/esm2015/lib/services/datepicker.service.js +0 -161
  21. package/esm2015/lib/services/utilities.service.js +0 -56
  22. package/esm2015/ngx-animating-datepicker.js +0 -13
  23. package/esm2015/public_api.js +0 -8
  24. package/esm5/lib/components/animatepicker/animatepicker.component.js +0 -574
  25. package/esm5/lib/components/datepicker/datepicker.component.js +0 -928
  26. package/esm5/lib/components/datepicker/datepicker.directive.js +0 -499
  27. package/esm5/lib/components/datepicker/datepicker.options.js +0 -41
  28. package/esm5/lib/components/navigation/navigation.component.js +0 -298
  29. package/esm5/lib/components/sub-navigation/sub-navigation.component.js +0 -48
  30. package/esm5/lib/models/datepicker-options.model.js +0 -35
  31. package/esm5/lib/models/datepicker.model.js +0 -75
  32. package/esm5/lib/models/directive-options.model.js +0 -19
  33. package/esm5/lib/ngx-animating-datepicker.module.js +0 -39
  34. package/esm5/lib/services/datepicker.service.js +0 -307
  35. package/esm5/lib/services/utilities.service.js +0 -73
  36. package/esm5/ngx-animating-datepicker.js +0 -13
  37. package/esm5/public_api.js +0 -8
  38. package/fesm2015/ngx-animating-datepicker.js +0 -1886
  39. package/fesm2015/ngx-animating-datepicker.js.map +0 -1
  40. package/fesm5/ngx-animating-datepicker.js +0 -2529
  41. package/fesm5/ngx-animating-datepicker.js.map +0 -1
  42. package/lib/components/animatepicker/animatepicker.component.d.ts +0 -112
  43. package/lib/components/datepicker/datepicker.component.d.ts +0 -191
  44. package/lib/components/datepicker/datepicker.directive.d.ts +0 -92
  45. package/lib/components/datepicker/datepicker.options.d.ts +0 -20
  46. package/lib/components/navigation/navigation.component.d.ts +0 -52
  47. package/lib/components/sub-navigation/sub-navigation.component.d.ts +0 -8
  48. package/lib/models/datepicker-options.model.d.ts +0 -14
  49. package/lib/models/datepicker.model.d.ts +0 -29
  50. package/lib/models/directive-options.model.d.ts +0 -6
  51. package/lib/ngx-animating-datepicker.module.d.ts +0 -2
  52. package/lib/services/datepicker.service.d.ts +0 -77
  53. package/lib/services/utilities.service.d.ts +0 -12
  54. package/ngx-animating-datepicker.d.ts +0 -8
  55. package/ngx-animating-datepicker.metadata.json +0 -1
  56. package/public_api.d.ts +0 -5
@@ -1,408 +0,0 @@
1
- /**
2
- * @fileoverview added by tsickle
3
- * @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
4
- */
5
- import { ApplicationRef, ComponentFactoryResolver, Directive, EventEmitter, HostListener, Injector, Input, Optional, Output, Renderer2, ViewContainerRef } from '@angular/core';
6
- import { NgControl } from '@angular/forms';
7
- import { UtilitiesService } from '../../services/utilities.service';
8
- import { AnimatepickerComponent } from '../animatepicker/animatepicker.component';
9
- import { DatepickerComponent } from './datepicker.component';
10
- import { DefaultDirectiveOptions } from './datepicker.options';
11
- export class DatepickerDirective {
12
- /**
13
- * @param {?} viewContainerRef
14
- * @param {?} componentFactoryResolver
15
- * @param {?} appRef
16
- * @param {?} injector
17
- * @param {?} renderer
18
- * @param {?} formControl
19
- */
20
- constructor(viewContainerRef, componentFactoryResolver, appRef, injector, renderer, formControl) {
21
- this.viewContainerRef = viewContainerRef;
22
- this.componentFactoryResolver = componentFactoryResolver;
23
- this.appRef = appRef;
24
- this.injector = injector;
25
- this.renderer = renderer;
26
- this.formControl = formControl;
27
- this.datepicker = null; // TODO: fix types: DatepickerComponent | AnimatepickerComponent
28
- this._options = DefaultDirectiveOptions;
29
- /**
30
- * Selected Dates: handles the selected dates array. Can be set both internally and externally
31
- */
32
- this._selectedDates = [];
33
- this.selectedDatesChange = new EventEmitter();
34
- }
35
- /**
36
- * @param {?} options
37
- * @return {?}
38
- */
39
- set options(options) {
40
- if (options === undefined || !options) {
41
- return;
42
- }
43
- // TODO: could be improved
44
- this._options = Object.assign({}, this._options, options);
45
- }
46
- /**
47
- * @return {?}
48
- */
49
- get options() {
50
- return this._options;
51
- }
52
- /**
53
- * @param {?} options
54
- * @return {?}
55
- */
56
- set datepickerOptions(options) {
57
- this._datepickerOptions = options;
58
- if (this.datepicker) {
59
- this.datepicker.options = options;
60
- }
61
- }
62
- /**
63
- * @return {?}
64
- */
65
- get datepickerOptions() {
66
- return this._datepickerOptions;
67
- }
68
- /**
69
- * @param {?} value
70
- * @return {?}
71
- */
72
- set language(value) {
73
- this._language = value;
74
- if (this.datepicker) {
75
- this.datepicker.language = value;
76
- }
77
- }
78
- /**
79
- * @return {?}
80
- */
81
- get language() {
82
- return this._language;
83
- }
84
- /**
85
- * @param {?} value
86
- * @return {?}
87
- */
88
- set minDate(value) {
89
- this._minDate = value;
90
- if (this.datepicker) {
91
- this.datepicker.minDate = value;
92
- }
93
- }
94
- /**
95
- * @return {?}
96
- */
97
- get minDate() {
98
- return this._minDate;
99
- }
100
- /**
101
- * @param {?} value
102
- * @return {?}
103
- */
104
- set maxDate(value) {
105
- this._maxDate = value;
106
- if (this.datepicker) {
107
- this.datepicker.maxDate = value;
108
- }
109
- }
110
- /**
111
- * @return {?}
112
- */
113
- get maxDate() {
114
- return this._minDate;
115
- }
116
- /**
117
- * @param {?} value
118
- * @return {?}
119
- */
120
- set numberOfMonths(value) {
121
- this._numberOfMonths = value;
122
- if (this.datepicker) {
123
- this.datepicker.numberOfMonths = value;
124
- }
125
- }
126
- /**
127
- * @return {?}
128
- */
129
- get numberOfMonths() {
130
- return this._numberOfMonths;
131
- }
132
- /**
133
- * @param {?} value
134
- * @return {?}
135
- */
136
- set theme(value) {
137
- if (this.datepicker) {
138
- this.datepicker.theme = value;
139
- }
140
- }
141
- /**
142
- * @return {?}
143
- */
144
- get theme() {
145
- return this._theme;
146
- }
147
- /**
148
- * @param {?} value
149
- * @return {?}
150
- */
151
- set isOpen(value) {
152
- this._isOpen = value;
153
- if (this.datepicker) {
154
- this.datepicker.isOpen = value;
155
- }
156
- }
157
- /**
158
- * @return {?}
159
- */
160
- get isOpen() {
161
- return this._isOpen;
162
- }
163
- /**
164
- * @param {?} value
165
- * @return {?}
166
- */
167
- set selectedDates(value) {
168
- if (value === undefined || this._selectedDates === value) {
169
- return;
170
- }
171
- this._selectedDates = value;
172
- this.selectedDatesChange.emit(this._selectedDates);
173
- }
174
- /**
175
- * @return {?}
176
- */
177
- get selectedDates() {
178
- return this._selectedDates;
179
- }
180
- /**
181
- * @return {?}
182
- */
183
- onClick() {
184
- if (!this.datepicker) {
185
- this.datepicker = this.createDatepicker();
186
- this.setDatepickerOptionsAndInputs();
187
- this.subscribeToSelectedChanges();
188
- }
189
- if (!this.datepicker.isOpen) {
190
- if (this.options.appendToBody) {
191
- this.setPosition();
192
- }
193
- this.datepicker.open();
194
- if (this.options.closeOnBlur) {
195
- setTimeout(() => (this.clickListener = this.renderer.listen('document', 'click', this.onBlurHandler.bind(this))));
196
- }
197
- }
198
- }
199
- /**
200
- * Add selected changes
201
- * @return {?}
202
- */
203
- subscribeToSelectedChanges() {
204
- this.datepicker.selectedDatesChange.subscribe(date => {
205
- if (this.formControl) {
206
- this.formControl.control.setValue(date);
207
- }
208
- else {
209
- this.selectedDates = date;
210
- }
211
- });
212
- }
213
- /**
214
- * Set all the options and inputs of the datepicker
215
- * @return {?}
216
- */
217
- setDatepickerOptionsAndInputs() {
218
- this.datepicker.options = this.datepickerOptions;
219
- this.datepicker.isOpen = this.isOpen || false;
220
- this.datepicker.asDirective = true;
221
- this.datepicker.numberOfMonths = this.numberOfMonths;
222
- this.datepicker.theme = this.theme;
223
- this.datepicker._selectedDates = this.selectedDates;
224
- this.datepicker.language = this.language;
225
- this.datepicker.minDate = this.minDate;
226
- this.datepicker.minDate = this.maxDate;
227
- }
228
- /**
229
- * Handles the (faked) blur event
230
- *
231
- * @param {?} event
232
- * @return {?}
233
- */
234
- onBlurHandler(event) {
235
- if (event.target !== this.datepicker.element.nativeElement &&
236
- !this.datepicker.element.nativeElement.contains(event.target)) {
237
- // check click origin
238
- this.clickListener();
239
- this.datepicker.close(true);
240
- }
241
- }
242
- /**
243
- * Returns a create DatepickerComponent method
244
- * @return {?}
245
- */
246
- createDatepicker() {
247
- return this.options.appendToBody ? this.appendToBody() : this.appendToContainer();
248
- }
249
- /**
250
- * Sets the position of the datepicker
251
- * @return {?}
252
- */
253
- setPosition() {
254
- /** @type {?} */
255
- const position = UtilitiesService.getPageOffset(this.viewContainerRef.element.nativeElement);
256
- console.log('this.options.openDirection: ', this.options.openDirection);
257
- if (this.options.openDirection === 'bottom') {
258
- this.datepicker.topPosition = position.bottom;
259
- this.datepicker.leftPosition = position.left;
260
- }
261
- if (this.options.openDirection === 'left') {
262
- this.datepicker.topPosition = position.top;
263
- this.datepicker.rightPosition = position.forRight;
264
- }
265
- if (this.options.openDirection === 'right') {
266
- this.datepicker.topPosition = position.top;
267
- this.datepicker.leftPosition = position.right;
268
- }
269
- if (this.options.openDirection === 'top') {
270
- this.datepicker.bottomPosition = position.forBottom;
271
- this.datepicker.leftPosition = position.left;
272
- }
273
- }
274
- /**
275
- * Appends the DatepickerComponent to the body and returns the instance
276
- * @return {?}
277
- */
278
- appendToBody() {
279
- /** @type {?} */
280
- const datepickerComponent = this.options.useAnimatePicker ? AnimatepickerComponent : DatepickerComponent;
281
- /** @type {?} */
282
- const componentRef = this.componentFactoryResolver
283
- .resolveComponentFactory(datepickerComponent)
284
- .create(this.injector);
285
- this.appRef.attachView(componentRef.hostView);
286
- /** @type {?} */
287
- const domElem = (/** @type {?} */ (((/** @type {?} */ (componentRef.hostView))).rootNodes[0]));
288
- document.body.appendChild(domElem);
289
- return componentRef.instance;
290
- }
291
- /**
292
- * Appends the DatepickerComponent to the container and returns the instance
293
- * @return {?}
294
- */
295
- appendToContainer() {
296
- /** @type {?} */
297
- const datepickerComponent = this.options.useAnimatePicker ? AnimatepickerComponent : DatepickerComponent;
298
- /** @type {?} */
299
- const componentRef = this.componentFactoryResolver.resolveComponentFactory(datepickerComponent);
300
- return this.viewContainerRef.createComponent(componentRef).instance;
301
- }
302
- }
303
- DatepickerDirective.decorators = [
304
- { type: Directive, args: [{
305
- selector: '[aaDatepicker]'
306
- },] },
307
- ];
308
- DatepickerDirective.ctorParameters = () => [
309
- { type: ViewContainerRef },
310
- { type: ComponentFactoryResolver },
311
- { type: ApplicationRef },
312
- { type: Injector },
313
- { type: Renderer2 },
314
- { type: NgControl, decorators: [{ type: Optional }] }
315
- ];
316
- DatepickerDirective.propDecorators = {
317
- options: [{ type: Input, args: ['aaDatepicker',] }],
318
- datepickerOptions: [{ type: Input, args: ['options',] }],
319
- language: [{ type: Input }],
320
- minDate: [{ type: Input }],
321
- maxDate: [{ type: Input }],
322
- numberOfMonths: [{ type: Input }],
323
- theme: [{ type: Input }],
324
- isOpen: [{ type: Input }],
325
- selectedDatesChange: [{ type: Output }],
326
- selectedDates: [{ type: Input }],
327
- onClick: [{ type: HostListener, args: ['click', ['$event.target'],] }]
328
- };
329
- if (false) {
330
- /** @type {?} */
331
- DatepickerDirective.prototype.datepicker;
332
- /** @type {?} */
333
- DatepickerDirective.prototype.clickListener;
334
- /** @type {?} */
335
- DatepickerDirective.prototype._options;
336
- /**
337
- * @type {?}
338
- * @private
339
- */
340
- DatepickerDirective.prototype._datepickerOptions;
341
- /**
342
- * Set the the language manualy. A string with a BCP 47 language tag
343
- * \@example nl-NL
344
- * @type {?}
345
- * @private
346
- */
347
- DatepickerDirective.prototype._language;
348
- /**
349
- * Minimal Date: If set the dates before it will be disabled
350
- * @type {?}
351
- * @private
352
- */
353
- DatepickerDirective.prototype._minDate;
354
- /**
355
- * Maximal Date: If set the dates after it will be disabled
356
- * @type {?}
357
- * @private
358
- */
359
- DatepickerDirective.prototype._maxDate;
360
- /**
361
- * Number of months: the number of months displayed
362
- * @type {?}
363
- * @private
364
- */
365
- DatepickerDirective.prototype._numberOfMonths;
366
- /**
367
- * Theme string is added to the host
368
- * @type {?}
369
- * @private
370
- */
371
- DatepickerDirective.prototype._theme;
372
- /**
373
- * The open state
374
- * @type {?}
375
- * @private
376
- */
377
- DatepickerDirective.prototype._isOpen;
378
- /**
379
- * Selected Dates: handles the selected dates array. Can be set both internally and externally
380
- * @type {?}
381
- * @private
382
- */
383
- DatepickerDirective.prototype._selectedDates;
384
- /** @type {?} */
385
- DatepickerDirective.prototype.selectedDatesChange;
386
- /** @type {?} */
387
- DatepickerDirective.prototype.viewContainerRef;
388
- /** @type {?} */
389
- DatepickerDirective.prototype.componentFactoryResolver;
390
- /**
391
- * @type {?}
392
- * @private
393
- */
394
- DatepickerDirective.prototype.appRef;
395
- /**
396
- * @type {?}
397
- * @private
398
- */
399
- DatepickerDirective.prototype.injector;
400
- /**
401
- * @type {?}
402
- * @private
403
- */
404
- DatepickerDirective.prototype.renderer;
405
- /** @type {?} */
406
- DatepickerDirective.prototype.formControl;
407
- }
408
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZXBpY2tlci5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9uZ3gtYW5pbWF0aW5nLWRhdGVwaWNrZXIvIiwic291cmNlcyI6WyJsaWIvY29tcG9uZW50cy9kYXRlcGlja2VyL2RhdGVwaWNrZXIuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSxPQUFPLEVBQ04sY0FBYyxFQUNkLHdCQUF3QixFQUN4QixTQUFTLEVBRVQsWUFBWSxFQUNaLFlBQVksRUFDWixRQUFRLEVBQ1IsS0FBSyxFQUNMLFFBQVEsRUFDUixNQUFNLEVBQ04sU0FBUyxFQUNULGdCQUFnQixFQUNoQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUMsU0FBUyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFHekMsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0sa0NBQWtDLENBQUM7QUFDbEUsT0FBTyxFQUFDLHNCQUFzQixFQUFDLE1BQU0sMENBQTBDLENBQUM7QUFDaEYsT0FBTyxFQUFDLG1CQUFtQixFQUFDLE1BQU0sd0JBQXdCLENBQUM7QUFDM0QsT0FBTyxFQUFDLHVCQUF1QixFQUFDLE1BQU0sc0JBQXNCLENBQUM7QUFLN0QsTUFBTTs7Ozs7Ozs7O0lBaUxMLFlBQ1EsZ0JBQWtDLEVBQ2xDLHdCQUFrRCxFQUNqRCxNQUFzQixFQUN0QixRQUFrQixFQUNsQixRQUFtQixFQUNSLFdBQXNCO1FBTGxDLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7UUFDbEMsNkJBQXdCLEdBQXhCLHdCQUF3QixDQUEwQjtRQUNqRCxXQUFNLEdBQU4sTUFBTSxDQUFnQjtRQUN0QixhQUFRLEdBQVIsUUFBUSxDQUFVO1FBQ2xCLGFBQVEsR0FBUixRQUFRLENBQVc7UUFDUixnQkFBVyxHQUFYLFdBQVcsQ0FBVztRQXRMMUMsZUFBVSxHQUFRLElBQUksQ0FBQyxDQUFDLGdFQUFnRTtRQUd4RixhQUFRLEdBQUcsdUJBQXVCLENBQUM7UUFrSW5DOztXQUVHO1FB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LDRDQUFjOztJQUVkLHVDQUFtQzs7Ozs7SUFlbkMsaURBQTJCOzs7Ozs7O0lBa0IzQix3Q0FBa0I7Ozs7OztJQWlCbEIsdUNBQWlCOzs7Ozs7SUFpQmpCLHVDQUFpQjs7Ozs7O0lBaUJqQiw4Q0FBd0I7Ozs7OztJQWlCeEIscUNBQWU7Ozs7OztJQWVmLHNDQUFnQjs7Ozs7O0lBaUJoQiw2Q0FBb0M7O0lBQ3BDLGtEQUFtRDs7SUF3Q2xELCtDQUF5Qzs7SUFDekMsdURBQXlEOzs7OztJQUN6RCxxQ0FBOEI7Ozs7O0lBQzlCLHVDQUEwQjs7Ozs7SUFDMUIsdUNBQTJCOztJQUMzQiwwQ0FBeUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuXHRBcHBsaWNhdGlvblJlZixcblx0Q29tcG9uZW50RmFjdG9yeVJlc29sdmVyLFxuXHREaXJlY3RpdmUsXG5cdEVtYmVkZGVkVmlld1JlZixcblx0RXZlbnRFbWl0dGVyLFxuXHRIb3N0TGlzdGVuZXIsXG5cdEluamVjdG9yLFxuXHRJbnB1dCxcblx0T3B0aW9uYWwsXG5cdE91dHB1dCxcblx0UmVuZGVyZXIyLFxuXHRWaWV3Q29udGFpbmVyUmVmXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtOZ0NvbnRyb2x9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7T3B0aW9uc30gZnJvbSAnLi4vLi4vbW9kZWxzL2RhdGVwaWNrZXItb3B0aW9ucy5tb2RlbCc7XG5pbXBvcnQge0RpcmVjdGl2ZU9wdGlvbnN9IGZyb20gJy4uLy4uL21vZGVscy9kaXJlY3RpdmUtb3B0aW9ucy5tb2RlbCc7XG5pbXBvcnQge1V0aWxpdGllc1NlcnZpY2V9IGZyb20gJy4uLy4uL3NlcnZpY2VzL3V0aWxpdGllcy5zZXJ2aWNlJztcbmltcG9ydCB7QW5pbWF0ZXBpY2tlckNvbXBvbmVudH0gZnJvbSAnLi4vYW5pbWF0ZXBpY2tlci9hbmltYXRlcGlja2VyLmNvbXBvbmVudCc7XG5pbXBvcnQge0RhdGVwaWNrZXJDb21wb25lbnR9IGZyb20gJy4vZGF0ZXBpY2tlci5jb21wb25lbnQnO1xuaW1wb3J0IHtEZWZhdWx0RGlyZWN0aXZlT3B0aW9uc30gZnJvbSAnLi9kYXRlcGlja2VyLm9wdGlvbnMnO1xuXG5ARGlyZWN0aXZlKHtcblx0c2VsZWN0b3I6ICdbYWFEYXRlcGlja2VyXSdcbn0pXG5leHBvcnQgY2xhc3MgRGF0ZXBpY2tlckRpcmVjdGl2ZSB7XG5cdGRhdGVwaWNrZXI6IGFueSA9IG51bGw7IC8vIFRPRE86IGZpeCB0eXBlczogRGF0ZXBpY2tlckNvbXBvbmVudCB8IEFuaW1hdGVwaWNrZXJDb21wb25lbnRcblx0Y2xpY2tMaXN0ZW5lcjtcblxuXHRfb3B0aW9ucyA9IERlZmF1bHREaXJlY3RpdmVPcHRpb25zO1xuXG5cdEBJbnB1dCgnYWFEYXRlcGlja2VyJylcblx0c2V0IG9wdGlvbnMob3B0aW9uczogRGlyZWN0aXZlT3B0aW9ucykge1xuXHRcdGlmIChvcHRpb25zID09PSB1bmRlZmluZWQgfHwgIW9wdGlvbnMpIHtcblx0XHRcdHJldHVybjtcblx0XHR9XG5cdFx0Ly8gVE9ETzogY291bGQgYmUgaW1wcm92ZWRcblx0XHR0aGlzLl9vcHRpb25zID0gey4uLnRoaXMuX29wdGlvbnMsIC4uLm9wdGlvbnN9O1xuXHR9XG5cblx0Z2V0IG9wdGlvbnMoKTogRGlyZWN0aXZlT3B0aW9ucyB7XG5cdFx0cmV0dXJuIHRoaXMuX29wdGlvbnM7XG5cdH1cblxuXHRwcml2YXRlIF9kYXRlcGlja2VyT3B0aW9ucztcblx0QElucHV0KCdvcHRpb25zJylcblx0c2V0IGRhdGVwaWNrZXJPcHRpb25zKG9wdGlvbnM6IE9wdGlvbnMpIHtcblx0XHR0aGlzLl9kYXRlcGlja2VyT3B0aW9ucyA9IG9wdGlvbnM7XG5cblx0XHRpZiAodGhpcy5kYXRlcGlja2VyKSB7XG5cdFx0XHR0aGlzLmRhdGVwaWNrZXIub3B0aW9ucyA9IG9wdGlvbnM7XG5cdFx0fVxuXHR9XG5cblx0Z2V0IGRhdGVwaWNrZXJPcHRpb25zKCkge1xuXHRcdHJldHVybiB0aGlzLl9kYXRlcGlja2VyT3B0aW9ucztcblx0fVxuXG5cdC8qKlxuXHQgKiBTZXQgdGhlIHRoZSBsYW5ndWFnZSBtYW51YWx5LiBBIHN0cmluZyB3aXRoIGEgQkNQIDQ3IGxhbmd1YWdlIHRhZ1xuXHQgKiBAZXhhbXBsZSBubC1OTFxuXHQgKi9cblx0cHJpdmF0ZSBfbGFuZ3VhZ2U7XG5cdEBJbnB1dCgpXG5cdHNldCBsYW5ndWFnZSh2YWx1ZTogc3RyaW5nKSB7XG5cdFx0dGhpcy5fbGFuZ3VhZ2UgPSB2YWx1ZTtcblxuXHRcdGlmICh0aGlzLmRhdGVwaWNrZXIpIHtcblx0XHRcdHRoaXMuZGF0ZXBpY2tlci5sYW5ndWFnZSA9IHZhbHVlO1xuXHRcdH1cblx0fVxuXG5cdGdldCBsYW5ndWFnZSgpIHtcblx0XHRyZXR1cm4gdGhpcy5fbGFuZ3VhZ2U7XG5cdH1cblxuXHQvKipcblx0ICogTWluaW1hbCBEYXRlOiBJZiBzZXQgdGhlIGRhdGVzIGJlZm9yZSBpdCB3aWxsIGJlIGRpc2FibGVkXG5cdCAqL1xuXHRwcml2YXRlIF9taW5EYXRlO1xuXHRASW5wdXQoKVxuXHRzZXQgbWluRGF0ZSh2YWx1ZTogRGF0ZSkge1xuXHRcdHRoaXMuX21pbkRhdGUgPSB2YWx1ZTtcblxuXHRcdGlmICh0aGlzLmRhdGVwaWNrZXIpIHtcblx0XHRcdHRoaXMuZGF0ZXBpY2tlci5taW5EYXRlID0gdmFsdWU7XG5cdFx0fVxuXHR9XG5cblx0Z2V0IG1pbkRhdGUoKSB7XG5cdFx0cmV0dXJuIHRoaXMuX21pbkRhdGU7XG5cdH1cblxuXHQvKipcblx0ICogTWF4aW1hbCBEYXRlOiBJZiBzZXQgdGhlIGRhdGVzIGFmdGVyIGl0IHdpbGwgYmUgZGlzYWJsZWRcblx0ICovXG5cdHByaXZhdGUgX21heERhdGU7XG5cdEBJbnB1dCgpXG5cdHNldCBtYXhEYXRlKHZhbHVlOiBEYXRlKSB7XG5cdFx0dGhpcy5fbWF4RGF0ZSA9IHZhbHVlO1xuXG5cdFx0aWYgKHRoaXMuZGF0ZXBpY2tlcikge1xuXHRcdFx0dGhpcy5kYXRlcGlja2VyLm1heERhdGUgPSB2YWx1ZTtcblx0XHR9XG5cdH1cblxuXHRnZXQgbWF4RGF0ZSgpIHtcblx0XHRyZXR1cm4gdGhpcy5fbWluRGF0ZTtcblx0fVxuXG5cdC8qKlxuXHQgKiBOdW1iZXIgb2YgbW9udGhzOiB0aGUgbnVtYmVyIG9mIG1vbnRocyBkaXNwbGF5ZWRcblx0ICovXG5cdHByaXZhdGUgX251bWJlck9mTW9udGhzO1xuXHRASW5wdXQoKVxuXHRzZXQgbnVtYmVyT2ZNb250aHModmFsdWUpIHtcblx0XHR0aGlzLl9udW1iZXJPZk1vbnRocyA9IHZhbHVlO1xuXG5cdFx0aWYgKHRoaXMuZGF0ZXBpY2tlcikge1xuXHRcdFx0dGhpcy5kYXRlcGlja2VyLm51bWJlck9mTW9udGhzID0gdmFsdWU7XG5cdFx0fVxuXHR9XG5cblx0Z2V0IG51bWJlck9mTW9udGhzKCkge1xuXHRcdHJldHVybiB0aGlzLl9udW1iZXJPZk1vbnRocztcblx0fVxuXG5cdC8qKlxuXHQgKiBUaGVtZSBzdHJpbmcgaXMgYWRkZWQgdG8gdGhlIGhvc3Rcblx0ICovXG5cdHByaXZhdGUgX3RoZW1lO1xuXHRASW5wdXQoKVxuXHRzZXQgdGhlbWUodmFsdWUpIHtcblx0XHRpZiAodGhpcy5kYXRlcGlja2VyKSB7XG5cdFx0XHR0aGlzLmRhdGVwaWNrZXIudGhlbWUgPSB2YWx1ZTtcblx0XHR9XG5cdH1cblxuXHRnZXQgdGhlbWUoKSB7XG5cdFx0cmV0dXJuIHRoaXMuX3RoZW1lO1xuXHR9XG5cblx0LyoqXG5cdCAqIFRoZSBvcGVuIHN0YXRlXG5cdCAqL1xuXHRwcml2YXRlIF9pc09wZW47XG5cdEBJbnB1dCgpXG5cdHNldCBpc09wZW4odmFsdWUpIHtcblx0XHR0aGlzLl9pc09wZW4gPSB2YWx1ZTtcblxuXHRcdGlmICh0aGlzLmRhdGVwaWNrZXIpIHtcblx0XHRcdHRoaXMuZGF0ZXBpY2tlci5pc09wZW4gPSB2YWx1ZTtcblx0XHR9XG5cdH1cblxuXHRnZXQgaXNPcGVuKCkge1xuXHRcdHJldHVybiB0aGlzLl9pc09wZW47XG5cdH1cblxuXHQvKipcblx0ICogU2VsZWN0ZWQgRGF0ZXM6IGhhbmRsZXMgdGhlIHNlbGVjdGVkIGRhdGVzIGFycmF5LiBDYW4gYmUgc2V0IGJvdGggaW50ZXJuYWxseSBhbmQgZXh0ZXJuYWxseVxuXHQgKi9cblx0cHJpdmF0ZSBfc2VsZWN0ZWREYXRlczogRGF0ZVtdID0gW107XG5cdEBPdXRwdXQoKSBzZWxlY3RlZERhdGVzQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG5cdEBJbnB1dCgpXG5cdHNldCBzZWxlY3RlZERhdGVzKHZhbHVlOiBEYXRlW10pIHtcblx0XHRpZiAodmFsdWUgPT09IHVuZGVmaW5lZCB8fCB0aGlzLl9zZWxlY3RlZERhdGVzID09PSB2YWx1ZSkge1xuXHRcdFx0cmV0dXJuO1xuXHRcdH1cblx0XHR0aGlzLl9zZWxlY3RlZERhdGVzID0gdmFsdWU7XG5cdFx0dGhpcy5zZWxlY3RlZERhdGVzQ2hhbmdlLmVtaXQodGhpcy5fc2VsZWN0ZWREYXRlcyk7XG5cdH1cblxuXHRnZXQgc2VsZWN0ZWREYXRlcygpOiBEYXRlW10ge1xuXHRcdHJldHVybiB0aGlzLl9zZWxlY3RlZERhdGVzO1xuXHR9XG5cblx0QEhvc3RMaXN0ZW5lcignY2xpY2snLCBbJyRldmVudC50YXJnZXQnXSlcblx0b25DbGljaygpIHtcblx0XHRpZiAoIXRoaXMuZGF0ZXBpY2tlcikge1xuXHRcdFx0dGhpcy5kYXRlcGlja2VyID0gdGhpcy5jcmVhdGVEYXRlcGlja2VyKCk7XG5cblx0XHRcdHRoaXMuc2V0RGF0ZXBpY2tlck9wdGlvbnNBbmRJbnB1dHMoKTtcblx0XHRcdHRoaXMuc3Vic2NyaWJlVG9TZWxlY3RlZENoYW5nZXMoKTtcblx0XHR9XG5cblx0XHRpZiAoIXRoaXMuZGF0ZXBpY2tlci5pc09wZW4pIHtcblx0XHRcdGlmICh0aGlzLm9wdGlvbnMuYXBwZW5kVG9Cb2R5KSB7XG5cdFx0XHRcdHRoaXMuc2V0UG9zaXRpb24oKTtcblx0XHRcdH1cblx0XHRcdHRoaXMuZGF0ZXBpY2tlci5vcGVuKCk7XG5cblx0XHRcdGlmICh0aGlzLm9wdGlvbnMuY2xvc2VPbkJsdXIpIHtcblx0XHRcdFx0c2V0VGltZW91dChcblx0XHRcdFx0XHQoKSA9PlxuXHRcdFx0XHRcdFx0KHRoaXMuY2xpY2tMaXN0ZW5lciA9IHRoaXMucmVuZGVyZXIubGlzdGVuKCdkb2N1bWVudCcsICdjbGljaycsIHRoaXMub25CbHVySGFuZGxlci5iaW5kKHRoaXMpKSlcblx0XHRcdFx0KTtcblx0XHRcdH1cblx0XHR9XG5cdH1cblxuXHRjb25zdHJ1Y3Rvcihcblx0XHRwdWJsaWMgdmlld0NvbnRhaW5lclJlZjogVmlld0NvbnRhaW5lclJlZixcblx0XHRwdWJsaWMgY29tcG9uZW50RmFjdG9yeVJlc29sdmVyOiBDb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIsXG5cdFx0cHJpdmF0ZSBhcHBSZWY6IEFwcGxpY2F0aW9uUmVmLFxuXHRcdHByaXZhdGUgaW5qZWN0b3I6IEluamVjdG9yLFxuXHRcdHByaXZhdGUgcmVuZGVyZXI6IFJlbmRlcmVyMixcblx0XHRAT3B0aW9uYWwoKSBwdWJsaWMgZm9ybUNvbnRyb2w6IE5nQ29udHJvbFxuXHQpIHtcblx0fVxuXG5cdC8qKlxuXHQgKiBBZGQgc2VsZWN0ZWQgY2hhbmdlc1xuXHQgKi9cblx0c3Vic2NyaWJlVG9TZWxlY3RlZENoYW5nZXMoKTogdm9pZCB7XG5cdFx0dGhpcy5kYXRlcGlja2VyLnNlbGVjdGVkRGF0ZXNDaGFuZ2Uuc3Vic2NyaWJlKGRhdGUgPT4ge1xuXHRcdFx0aWYgKHRoaXMuZm9ybUNvbnRyb2wpIHtcblx0XHRcdFx0dGhpcy5mb3JtQ29udHJvbC5jb250cm9sLnNldFZhbHVlKGRhdGUpO1xuXHRcdFx0fSBlbHNlIHtcblx0XHRcdFx0dGhpcy5zZWxlY3RlZERhdGVzID0gZGF0ZTtcblx0XHRcdH1cblx0XHR9KTtcblx0fVxuXG5cdC8qKlxuXHQgKiBTZXQgYWxsIHRoZSBvcHRpb25zIGFuZCBpbnB1dHMgb2YgdGhlIGRhdGVwaWNrZXJcblx0ICovXG5cdHNldERhdGVwaWNrZXJPcHRpb25zQW5kSW5wdXRzKCk6IHZvaWQge1xuXHRcdHRoaXMuZGF0ZXBpY2tlci5vcHRpb25zID0gdGhpcy5kYXRlcGlja2VyT3B0aW9ucztcblx0XHR0aGlzLmRhdGVwaWNrZXIuaXNPcGVuID0gdGhpcy5pc09wZW4gfHwgZmFsc2U7XG5cdFx0dGhpcy5kYXRlcGlja2VyLmFzRGlyZWN0aXZlID0gdHJ1ZTtcblx0XHR0aGlzLmRhdGVwaWNrZXIubnVtYmVyT2ZNb250aHMgPSB0aGlzLm51bWJlck9mTW9udGhzO1xuXHRcdHRoaXMuZGF0ZXBpY2tlci50aGVtZSA9IHRoaXMudGhlbWU7XG5cdFx0dGhpcy5kYXRlcGlja2VyLl9zZWxlY3RlZERhdGVzID0gdGhpcy5zZWxlY3RlZERhdGVzO1xuXHRcdHRoaXMuZGF0ZXBpY2tlci5sYW5ndWFnZSA9IHRoaXMubGFuZ3VhZ2U7XG5cdFx0dGhpcy5kYXRlcGlja2VyLm1pbkRhdGUgPSB0aGlzLm1pbkRhdGU7XG5cdFx0dGhpcy5kYXRlcGlja2VyLm1pbkRhdGUgPSB0aGlzLm1heERhdGU7XG5cdH1cblxuXHQvKipcblx0ICogSGFuZGxlcyB0aGUgKGZha2VkKSBibHVyIGV2ZW50XG5cdCAqXG5cdCAqIEBwYXJhbSBldmVudFxuXHQgKi9cblx0b25CbHVySGFuZGxlcihldmVudDogRXZlbnQpOiB2b2lkIHtcblx0XHRpZiAoXG5cdFx0XHRldmVudC50YXJnZXQgIT09IHRoaXMuZGF0ZXBpY2tlci5lbGVtZW50Lm5hdGl2ZUVsZW1lbnQgJiZcblx0XHRcdCF0aGlzLmRhdGVwaWNrZXIuZWxlbWVudC5uYXRpdmVFbGVtZW50LmNvbnRhaW5zKGV2ZW50LnRhcmdldClcblx0XHQpIHtcblx0XHRcdC8vIGNoZWNrIGNsaWNrIG9yaWdpblxuXHRcdFx0dGhpcy5jbGlja0xpc3RlbmVyKCk7XG5cdFx0XHR0aGlzLmRhdGVwaWNrZXIuY2xvc2UodHJ1ZSk7XG5cdFx0fVxuXHR9XG5cblx0LyoqXG5cdCAqIFJldHVybnMgYSBjcmVhdGUgRGF0ZXBpY2tlckNvbXBvbmVudCBtZXRob2Rcblx0ICovXG5cdGNyZWF0ZURhdGVwaWNrZXIoKTogYW55IHtcblx0XHRyZXR1cm4gdGhpcy5vcHRpb25zLmFwcGVuZFRvQm9keSA/IHRoaXMuYXBwZW5kVG9Cb2R5KCkgOiB0aGlzLmFwcGVuZFRvQ29udGFpbmVyKCk7XG5cdH1cblxuXHQvKipcblx0ICogU2V0cyB0aGUgcG9zaXRpb24gb2YgdGhlIGRhdGVwaWNrZXJcblx0ICovXG5cdHNldFBvc2l0aW9uKCkge1xuXHRcdGNvbnN0IHBvc2l0aW9uID0gVXRpbGl0aWVzU2VydmljZS5nZXRQYWdlT2Zmc2V0KHRoaXMudmlld0NvbnRhaW5lclJlZi5lbGVtZW50Lm5hdGl2ZUVsZW1lbnQpO1xuXHRcdGNvbnNvbGUubG9nKCd0aGlzLm9wdGlvbnMub3BlbkRpcmVjdGlvbjogJywgdGhpcy5vcHRpb25zLm9wZW5EaXJlY3Rpb24pO1xuXHRcdGlmICh0aGlzLm9wdGlvbnMub3BlbkRpcmVjdGlvbiA9PT0gJ2JvdHRvbScpIHtcblx0XHRcdHRoaXMuZGF0ZXBpY2tlci50b3BQb3NpdGlvbiA9IHBvc2l0aW9uLmJvdHRvbTtcblx0XHRcdHRoaXMuZGF0ZXBpY2tlci5sZWZ0UG9zaXRpb24gPSBwb3NpdGlvbi5sZWZ0O1xuXHRcdH1cblxuXHRcdGlmICh0aGlzLm9wdGlvbnMub3BlbkRpcmVjdGlvbiA9PT0gJ2xlZnQnKSB7XG5cdFx0XHR0aGlzLmRhdGVwaWNrZXIudG9wUG9zaXRpb24gPSBwb3NpdGlvbi50b3A7XG5cdFx0XHR0aGlzLmRhdGVwaWNrZXIucmlnaHRQb3NpdGlvbiA9IHBvc2l0aW9uLmZvclJpZ2h0O1xuXHRcdH1cblxuXHRcdGlmICh0aGlzLm9wdGlvbnMub3BlbkRpcmVjdGlvbiA9PT0gJ3JpZ2h0Jykge1xuXHRcdFx0dGhpcy5kYXRlcGlja2VyLnRvcFBvc2l0aW9uID0gcG9zaXRpb24udG9wO1xuXHRcdFx0dGhpcy5kYXRlcGlja2VyLmxlZnRQb3NpdGlvbiA9IHBvc2l0aW9uLnJpZ2h0O1xuXHRcdH1cblxuXHRcdGlmICh0aGlzLm9wdGlvbnMub3BlbkRpcmVjdGlvbiA9PT0gJ3RvcCcpIHtcblx0XHRcdHRoaXMuZGF0ZXBpY2tlci5ib3R0b21Qb3NpdGlvbiA9IHBvc2l0aW9uLmZvckJvdHRvbTtcblx0XHRcdHRoaXMuZGF0ZXBpY2tlci5sZWZ0UG9zaXRpb24gPSBwb3NpdGlvbi5sZWZ0O1xuXHRcdH1cblx0fVxuXG5cdC8qKlxuXHQgKiBBcHBlbmRzIHRoZSBEYXRlcGlja2VyQ29tcG9uZW50IHRvIHRoZSBib2R5IGFuZCByZXR1cm5zIHRoZSBpbnN0YW5jZVxuXHQgKi9cblx0YXBwZW5kVG9Cb2R5KCk6IGFueSB7XG5cdFx0Y29uc3QgZGF0ZXBpY2tlckNvbXBvbmVudCA9IHRoaXMub3B0aW9ucy51c2VBbmltYXRlUGlja2VyID8gQW5pbWF0ZXBpY2tlckNvbXBvbmVudCA6IERhdGVwaWNrZXJDb21wb25lbnQ7XG5cdFx0Y29uc3QgY29tcG9uZW50UmVmID0gdGhpcy5jb21wb25lbnRGYWN0b3J5UmVzb2x2ZXJcblx0XHRcdC5yZXNvbHZlQ29tcG9uZW50RmFjdG9yeShkYXRlcGlja2VyQ29tcG9uZW50KVxuXHRcdFx0LmNyZWF0ZSh0aGlzLmluamVjdG9yKTtcblxuXHRcdHRoaXMuYXBwUmVmLmF0dGFjaFZpZXcoY29tcG9uZW50UmVmLmhvc3RWaWV3KTtcblxuXHRcdGNvbnN0IGRvbUVsZW0gPSAoY29tcG9uZW50UmVmLmhvc3RWaWV3IGFzIEVtYmVkZGVkVmlld1JlZjxhbnk+KS5yb290Tm9kZXNbMF0gYXMgSFRNTEVsZW1lbnQ7XG5cblx0XHRkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGRvbUVsZW0pO1xuXG5cdFx0cmV0dXJuIGNvbXBvbmVudFJlZi5pbnN0YW5jZTtcblx0fVxuXG5cdC8qKlxuXHQgKiBBcHBlbmRzIHRoZSBEYXRlcGlja2VyQ29tcG9uZW50IHRvIHRoZSBjb250YWluZXIgYW5kIHJldHVybnMgdGhlIGluc3RhbmNlXG5cdCAqL1xuXHRhcHBlbmRUb0NvbnRhaW5lcigpOiBhbnkge1xuXHRcdGNvbnN0IGRhdGVwaWNrZXJDb21wb25lbnQgPSB0aGlzLm9wdGlvbnMudXNlQW5pbWF0ZVBpY2tlciA/IEFuaW1hdGVwaWNrZXJDb21wb25lbnQgOiBEYXRlcGlja2VyQ29tcG9uZW50O1xuXHRcdGNvbnN0IGNvbXBvbmVudFJlZiA9IHRoaXMuY29tcG9uZW50RmFjdG9yeVJlc29sdmVyLnJlc29sdmVDb21wb25lbnRGYWN0b3J5KGRhdGVwaWNrZXJDb21wb25lbnQpO1xuXHRcdHJldHVybiB0aGlzLnZpZXdDb250YWluZXJSZWYuY3JlYXRlQ29tcG9uZW50KGNvbXBvbmVudFJlZikuaW5zdGFuY2U7XG5cdH1cbn1cbiJdfQ==
@@ -1,41 +0,0 @@
1
- /**
2
- * @fileoverview added by tsickle
3
- * @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
4
- */
5
- /** @type {?} */
6
- export const DefaultOptions = {
7
- selectMultiple: false,
8
- // Select multiple dates
9
- closeOnSelect: false,
10
- // Close datepicker when date(s) selected
11
- animationSpeed: 400,
12
- // Animation speed in ms
13
- easing: 'ease-in',
14
- // Easing type string
15
- hideRestDays: false,
16
- // Hide the rest days
17
- disableRestDays: true,
18
- // Disable the click on rest days
19
- hideNavigation: false,
20
- // Hide the navigation
21
- range: false,
22
- // Use range functionality
23
- currentDate: new Date(),
24
- // Tne current displayed date (month, year)
25
- timeoutBeforeClosing: 300,
26
- // The timeout / delay before closing
27
- weekdayFormat: 'short',
28
- // "narrow", "short", "long"
29
- weekStart: 'monday' // Set the week start day
30
- };
31
- /** @type {?} */
32
- export const DefaultDirectiveOptions = {
33
- appendToBody: true,
34
- // Append Datepicker to body
35
- openDirection: 'bottom',
36
- // The direction it should open to
37
- closeOnBlur: true,
38
- // Close the datepicker onBlur
39
- useAnimatePicker: true // Use the animatepickerComponent
40
- };
41
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZXBpY2tlci5vcHRpb25zLmpzIiwic291cmNlUm9vdCI6Im5nOi8vbmd4LWFuaW1hdGluZy1kYXRlcGlja2VyLyIsInNvdXJjZXMiOlsibGliL2NvbXBvbmVudHMvZGF0ZXBpY2tlci9kYXRlcGlja2VyLm9wdGlvbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxNQUFNLE9BQU8sY0FBYyxHQUFHO0lBQzdCLGNBQWMsRUFBRSxLQUFLOztJQUNyQixhQUFhLEVBQUUsS0FBSzs7SUFDcEIsY0FBYyxFQUFFLEdBQUc7O0lBQ25CLE1BQU0sRUFBRSxTQUFTOztJQUNqQixZQUFZLEVBQUUsS0FBSzs7SUFDbkIsZUFBZSxFQUFFLElBQUk7O0lBQ3JCLGNBQWMsRUFBRSxLQUFLOztJQUNyQixLQUFLLEVBQUUsS0FBSzs7SUFDWixXQUFXLEVBQUUsSUFBSSxJQUFJLEVBQUU7O0lBQ3ZCLG9CQUFvQixFQUFFLEdBQUc7O0lBQ3pCLGFBQWEsRUFBRSxPQUFPOztJQUN0QixTQUFTLEVBQUUsUUFBUSxDQUFDLHlCQUF5QjtDQUM3Qzs7QUFFRCxNQUFNLE9BQU8sdUJBQXVCLEdBQUc7SUFDdEMsWUFBWSxFQUFFLElBQUk7O0lBQ2xCLGFBQWEsRUFBRSxRQUFROztJQUN2QixXQUFXLEVBQUUsSUFBSTs7SUFDakIsZ0JBQWdCLEVBQUUsSUFBSSxDQUFDLGlDQUFpQztDQUN4RCIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjb25zdCBEZWZhdWx0T3B0aW9ucyA9IHtcblx0c2VsZWN0TXVsdGlwbGU6IGZhbHNlLCAvLyBTZWxlY3QgbXVsdGlwbGUgZGF0ZXNcblx0Y2xvc2VPblNlbGVjdDogZmFsc2UsIC8vIENsb3NlIGRhdGVwaWNrZXIgd2hlbiBkYXRlKHMpIHNlbGVjdGVkXG5cdGFuaW1hdGlvblNwZWVkOiA0MDAsIC8vIEFuaW1hdGlvbiBzcGVlZCBpbiBtc1xuXHRlYXNpbmc6ICdlYXNlLWluJywgLy8gRWFzaW5nIHR5cGUgc3RyaW5nXG5cdGhpZGVSZXN0RGF5czogZmFsc2UsIC8vIEhpZGUgdGhlIHJlc3QgZGF5c1xuXHRkaXNhYmxlUmVzdERheXM6IHRydWUsIC8vIERpc2FibGUgdGhlIGNsaWNrIG9uIHJlc3QgZGF5c1xuXHRoaWRlTmF2aWdhdGlvbjogZmFsc2UsIC8vIEhpZGUgdGhlIG5hdmlnYXRpb25cblx0cmFuZ2U6IGZhbHNlLCAvLyBVc2UgcmFuZ2UgZnVuY3Rpb25hbGl0eVxuXHRjdXJyZW50RGF0ZTogbmV3IERhdGUoKSwgLy8gVG5lIGN1cnJlbnQgZGlzcGxheWVkIGRhdGUgKG1vbnRoLCB5ZWFyKVxuXHR0aW1lb3V0QmVmb3JlQ2xvc2luZzogMzAwLCAvLyBUaGUgdGltZW91dCAvIGRlbGF5IGJlZm9yZSBjbG9zaW5nXG5cdHdlZWtkYXlGb3JtYXQ6ICdzaG9ydCcsIC8vIFwibmFycm93XCIsIFwic2hvcnRcIiwgXCJsb25nXCJcblx0d2Vla1N0YXJ0OiAnbW9uZGF5JyAvLyBTZXQgdGhlIHdlZWsgc3RhcnQgZGF5XG59O1xuXG5leHBvcnQgY29uc3QgRGVmYXVsdERpcmVjdGl2ZU9wdGlvbnMgPSB7XG5cdGFwcGVuZFRvQm9keTogdHJ1ZSwgLy8gQXBwZW5kIERhdGVwaWNrZXIgdG8gYm9keVxuXHRvcGVuRGlyZWN0aW9uOiAnYm90dG9tJywgLy8gVGhlIGRpcmVjdGlvbiBpdCBzaG91bGQgb3BlbiB0b1xuXHRjbG9zZU9uQmx1cjogdHJ1ZSwgLy8gQ2xvc2UgdGhlIGRhdGVwaWNrZXIgb25CbHVyXG5cdHVzZUFuaW1hdGVQaWNrZXI6IHRydWUgLy8gVXNlIHRoZSBhbmltYXRlcGlja2VyQ29tcG9uZW50XG59O1xuIl19