@wkly/datetime-picker 14.0.0 → 16.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.
@@ -40,5 +40,5 @@ export declare class WklyFieldComponent implements OnChanges, OnDestroy {
40
40
  private scrollBy;
41
41
  private applyTouchY;
42
42
  static ɵfac: i0.ɵɵFactoryDeclaration<WklyFieldComponent, never>;
43
- static ɵcmp: i0.ɵɵComponentDeclaration<WklyFieldComponent, "wkly-field", never, { "value": "value"; "label": "label"; "hideLabel": "hideLabel"; "previousLabel": "previousLabel"; "nextLabel": "nextLabel"; "min": "min"; "max": "max"; "step": "step"; "locale": "locale"; "disabled": "disabled"; "invalid": "invalid"; "labels": "labels"; }, { "valueChange": "valueChange"; "complete": "complete"; }, never, never, false>;
43
+ static ɵcmp: i0.ɵɵComponentDeclaration<WklyFieldComponent, "wkly-field", never, { "value": { "alias": "value"; "required": false; }; "label": { "alias": "label"; "required": false; }; "hideLabel": { "alias": "hideLabel"; "required": false; }; "previousLabel": { "alias": "previousLabel"; "required": false; }; "nextLabel": { "alias": "nextLabel"; "required": false; }; "min": { "alias": "min"; "required": false; }; "max": { "alias": "max"; "required": false; }; "step": { "alias": "step"; "required": false; }; "locale": { "alias": "locale"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "invalid": { "alias": "invalid"; "required": false; }; "labels": { "alias": "labels"; "required": false; }; }, { "valueChange": "valueChange"; "complete": "complete"; }, never, never, false, never>;
44
44
  }
package/package.json CHANGED
@@ -1,14 +1,14 @@
1
1
  {
2
2
  "name": "@wkly/datetime-picker",
3
- "version": "14.0.0",
4
- "description": "Angular 14 integration for WKLY date and time picker",
3
+ "version": "16.0.0",
4
+ "description": "Angular 16 integration for WKLY date and time picker",
5
5
  "license": "MIT",
6
6
  "sideEffects": false,
7
7
  "peerDependencies": {
8
- "@angular/core": ">=14 <15",
9
- "@angular/common": ">=14 <15",
10
- "@angular/forms": ">=14 <15",
11
- "@angular/cdk": ">=14 <15",
8
+ "@angular/core": ">=16 <17",
9
+ "@angular/common": ">=16 <17",
10
+ "@angular/forms": ">=16 <17",
11
+ "@angular/cdk": ">=16 <17",
12
12
  "rxjs": "^6.5.3 || ^7.4.0"
13
13
  },
14
14
  "peerDependenciesMeta": {
@@ -25,7 +25,7 @@
25
25
  "repository": {
26
26
  "type": "git",
27
27
  "url": "git+https://github.com/cokkto/wkly-datetime-picker.git",
28
- "directory": "projects/wkly-datetime-picker.14"
28
+ "directory": "projects/wkly-datetime-picker.16"
29
29
  },
30
30
  "homepage": "https://github.com/cokkto/wkly-datetime-picker#readme",
31
31
  "bugs": {
@@ -35,11 +35,7 @@
35
35
  "access": "public",
36
36
  "registry": "https://registry.npmjs.org/"
37
37
  },
38
- "module": "fesm2015/wkly-datetime-picker.mjs",
39
- "es2020": "fesm2020/wkly-datetime-picker.mjs",
40
- "esm2020": "esm2020/wkly-datetime-picker.mjs",
41
- "fesm2020": "fesm2020/wkly-datetime-picker.mjs",
42
- "fesm2015": "fesm2015/wkly-datetime-picker.mjs",
38
+ "module": "fesm2022/wkly-datetime-picker.mjs",
43
39
  "typings": "index.d.ts",
44
40
  "exports": {
45
41
  "./package.json": {
@@ -47,19 +43,15 @@
47
43
  },
48
44
  ".": {
49
45
  "types": "./index.d.ts",
50
- "esm2020": "./esm2020/wkly-datetime-picker.mjs",
51
- "es2020": "./fesm2020/wkly-datetime-picker.mjs",
52
- "es2015": "./fesm2015/wkly-datetime-picker.mjs",
53
- "node": "./fesm2015/wkly-datetime-picker.mjs",
54
- "default": "./fesm2020/wkly-datetime-picker.mjs"
46
+ "esm2022": "./esm2022/wkly-datetime-picker.mjs",
47
+ "esm": "./esm2022/wkly-datetime-picker.mjs",
48
+ "default": "./fesm2022/wkly-datetime-picker.mjs"
55
49
  },
56
50
  "./cdk-overlay": {
57
51
  "types": "./cdk-overlay/index.d.ts",
58
- "esm2020": "./esm2020/cdk-overlay/wkly-datetime-picker-cdk-overlay.mjs",
59
- "es2020": "./fesm2020/wkly-datetime-picker-cdk-overlay.mjs",
60
- "es2015": "./fesm2015/wkly-datetime-picker-cdk-overlay.mjs",
61
- "node": "./fesm2015/wkly-datetime-picker-cdk-overlay.mjs",
62
- "default": "./fesm2020/wkly-datetime-picker-cdk-overlay.mjs"
52
+ "esm2022": "./esm2022/cdk-overlay/wkly-datetime-picker-cdk-overlay.mjs",
53
+ "esm": "./esm2022/cdk-overlay/wkly-datetime-picker-cdk-overlay.mjs",
54
+ "default": "./fesm2022/wkly-datetime-picker-cdk-overlay.mjs"
63
55
  }
64
56
  }
65
57
  }
@@ -129,5 +129,5 @@ export declare class WklyDateTimePickerComponent extends WklyPickerInputs implem
129
129
  scrollToValue(value: string, options?: WklyJumpOptions): void;
130
130
  focusDay(): void;
131
131
  static ɵfac: i0.ɵɵFactoryDeclaration<WklyDateTimePickerComponent, never>;
132
- static ɵcmp: i0.ɵɵComponentDeclaration<WklyDateTimePickerComponent, "wkly-datetime-picker", never, {}, {}, never, never, false>;
132
+ static ɵcmp: i0.ɵɵComponentDeclaration<WklyDateTimePickerComponent, "wkly-datetime-picker", never, {}, {}, never, never, false, never>;
133
133
  }
package/presentation.d.ts CHANGED
@@ -52,7 +52,7 @@ export declare abstract class WklyTriggerBase extends WklyPickerInputs implement
52
52
  scrollToCalendarDate(date: WklyCalendarDate, options?: WklyJumpOptions): void;
53
53
  scrollToValue(value: string, options?: WklyJumpOptions): void;
54
54
  static ɵfac: i0.ɵɵFactoryDeclaration<WklyTriggerBase, never>;
55
- static ɵdir: i0.ɵɵDirectiveDeclaration<WklyTriggerBase, never, never, {}, {}, never, never, false>;
55
+ static ɵdir: i0.ɵɵDirectiveDeclaration<WklyTriggerBase, never, never, {}, {}, never, never, false, never>;
56
56
  }
57
57
  export declare class WklyDateTimePickerDialogDirective extends WklyTriggerBase {
58
58
  private service;
@@ -60,5 +60,5 @@ export declare class WklyDateTimePickerDialogDirective extends WklyTriggerBase {
60
60
  constructor(element: ElementRef<HTMLElement>, service: WklyDateTimePickerDialogService, triggerInjector: Injector);
61
61
  protected create(): WklyPresentationRef;
62
62
  static ɵfac: i0.ɵɵFactoryDeclaration<WklyDateTimePickerDialogDirective, never>;
63
- static ɵdir: i0.ɵɵDirectiveDeclaration<WklyDateTimePickerDialogDirective, "[wklyDateTimePickerDialog]", ["wklyDialog"], {}, {}, never, never, false>;
63
+ static ɵdir: i0.ɵɵDirectiveDeclaration<WklyDateTimePickerDialogDirective, "[wklyDateTimePickerDialog]", ["wklyDialog"], {}, {}, never, never, false, never>;
64
64
  }
@@ -1,137 +0,0 @@
1
- import { Directive, ElementRef, forwardRef, Injectable, Injector, NgModule, } from "@angular/core";
2
- import { NG_VALIDATORS, NG_VALUE_ACCESSOR } from "@angular/forms";
3
- import { Overlay, OverlayModule } from "@angular/cdk/overlay";
4
- import { ComponentPortal } from "@angular/cdk/portal";
5
- import { FocusTrapFactory } from "@angular/cdk/a11y";
6
- import { WklyDateTimePickerComponent, WklyDateTimePickerModule, WklyTriggerBase, WklyPickerInputsPropertyKeys, } from "@wkly/datetime-picker";
7
- import * as i0 from "@angular/core";
8
- import * as i1 from "@angular/cdk/overlay";
9
- import * as i2 from "@angular/cdk/a11y";
10
- export class WklyDateTimePickerOverlayService {
11
- constructor(overlay, injector, traps) {
12
- this.overlay = overlay;
13
- this.injector = injector;
14
- this.traps = traps;
15
- }
16
- open(trigger, onCancel, backdrop = true, injector) {
17
- const overlay = this.overlay.create({
18
- width: "390px",
19
- maxWidth: "100vw",
20
- maxHeight: "94vh",
21
- hasBackdrop: true,
22
- backdropClass: "cdk-overlay-transparent-backdrop",
23
- scrollStrategy: this.overlay.scrollStrategies.block(),
24
- positionStrategy: this.overlay
25
- .position()
26
- .flexibleConnectedTo(trigger)
27
- .withPush(true)
28
- .withFlexibleDimensions(false)
29
- .withLockedPosition(true)
30
- .withPositions([
31
- {
32
- originX: "start",
33
- originY: "bottom",
34
- overlayX: "start",
35
- overlayY: "top",
36
- offsetY: 6,
37
- },
38
- {
39
- originX: "start",
40
- originY: "top",
41
- overlayX: "start",
42
- overlayY: "bottom",
43
- offsetY: -6,
44
- },
45
- ]),
46
- });
47
- const component = overlay.attach(new ComponentPortal(WklyDateTimePickerComponent, null, injector || this.injector));
48
- component.instance.presentation = "transient";
49
- overlay.overlayElement.setAttribute("role", "dialog");
50
- overlay.overlayElement.setAttribute("aria-modal", "true");
51
- overlay.overlayElement.setAttribute("aria-label", "Date and time picker");
52
- overlay.overlayElement.style.overflow = "auto";
53
- const trap = this.traps.create(overlay.overlayElement);
54
- const sub = overlay.backdropClick().subscribe(() => {
55
- if (backdrop)
56
- onCancel("backdrop");
57
- });
58
- const key = overlay.keydownEvents().subscribe((event) => {
59
- if (event.key === "Escape") {
60
- event.preventDefault();
61
- onCancel("escape");
62
- }
63
- });
64
- return {
65
- component,
66
- destroy: () => {
67
- sub.unsubscribe();
68
- key.unsubscribe();
69
- trap.destroy();
70
- overlay.dispose();
71
- trigger.focus();
72
- },
73
- };
74
- }
75
- }
76
- WklyDateTimePickerOverlayService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: WklyDateTimePickerOverlayService, deps: [{ token: i1.Overlay }, { token: i0.Injector }, { token: i2.FocusTrapFactory }], target: i0.ɵɵFactoryTarget.Injectable });
77
- WklyDateTimePickerOverlayService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: WklyDateTimePickerOverlayService, providedIn: "root" });
78
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: WklyDateTimePickerOverlayService, decorators: [{
79
- type: Injectable,
80
- args: [{ providedIn: "root" }]
81
- }], ctorParameters: function () { return [{ type: i1.Overlay }, { type: i0.Injector }, { type: i2.FocusTrapFactory }]; } });
82
- export class WklyDateTimePickerOverlayDirective extends WklyTriggerBase {
83
- constructor(element, service, triggerInjector) {
84
- super(element);
85
- this.service = service;
86
- this.triggerInjector = triggerInjector;
87
- }
88
- create() {
89
- return this.service.open(this.element.nativeElement, (reason) => this.close(reason), this[WklyPickerInputsPropertyKeys.CloseOnBackdrop], this.triggerInjector);
90
- }
91
- }
92
- WklyDateTimePickerOverlayDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: WklyDateTimePickerOverlayDirective, deps: [{ token: i0.ElementRef }, { token: WklyDateTimePickerOverlayService }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Directive });
93
- WklyDateTimePickerOverlayDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.3.0", type: WklyDateTimePickerOverlayDirective, selector: "[wklyDateTimePickerOverlay]", providers: [
94
- {
95
- provide: NG_VALUE_ACCESSOR,
96
- useExisting: forwardRef(() => WklyDateTimePickerOverlayDirective),
97
- multi: true,
98
- },
99
- {
100
- provide: NG_VALIDATORS,
101
- useExisting: forwardRef(() => WklyDateTimePickerOverlayDirective),
102
- multi: true,
103
- },
104
- ], exportAs: ["wklyOverlay"], usesInheritance: true, ngImport: i0 });
105
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: WklyDateTimePickerOverlayDirective, decorators: [{
106
- type: Directive,
107
- args: [{
108
- selector: "[wklyDateTimePickerOverlay]",
109
- exportAs: "wklyOverlay",
110
- providers: [
111
- {
112
- provide: NG_VALUE_ACCESSOR,
113
- useExisting: forwardRef(() => WklyDateTimePickerOverlayDirective),
114
- multi: true,
115
- },
116
- {
117
- provide: NG_VALIDATORS,
118
- useExisting: forwardRef(() => WklyDateTimePickerOverlayDirective),
119
- multi: true,
120
- },
121
- ],
122
- }]
123
- }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: WklyDateTimePickerOverlayService }, { type: i0.Injector }]; } });
124
- export class WklyDateTimePickerOverlayModule {
125
- }
126
- WklyDateTimePickerOverlayModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: WklyDateTimePickerOverlayModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
127
- WklyDateTimePickerOverlayModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.3.0", ngImport: i0, type: WklyDateTimePickerOverlayModule, declarations: [WklyDateTimePickerOverlayDirective], imports: [OverlayModule, WklyDateTimePickerModule], exports: [WklyDateTimePickerOverlayDirective] });
128
- WklyDateTimePickerOverlayModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: WklyDateTimePickerOverlayModule, imports: [OverlayModule, WklyDateTimePickerModule] });
129
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: WklyDateTimePickerOverlayModule, decorators: [{
130
- type: NgModule,
131
- args: [{
132
- imports: [OverlayModule, WklyDateTimePickerModule],
133
- declarations: [WklyDateTimePickerOverlayDirective],
134
- exports: [WklyDateTimePickerOverlayDirective],
135
- }]
136
- }] });
137
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL3drbHktZGF0ZXRpbWUtcGlja2VyLjE0L2Nkay1vdmVybGF5L3B1YmxpYy1hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVMLFNBQVMsRUFDVCxVQUFVLEVBQ1YsVUFBVSxFQUNWLFVBQVUsRUFDVixRQUFRLEVBQ1IsUUFBUSxHQUNULE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxhQUFhLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNsRSxPQUFPLEVBQUUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQzlELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN0RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNyRCxPQUFPLEVBQ0wsMkJBQTJCLEVBQzNCLHdCQUF3QixFQUd4QixlQUFlLEVBQ2YsNEJBQTRCLEdBQzdCLE1BQU0sdUJBQXVCLENBQUM7Ozs7QUFFL0IsTUFBTSxPQUFPLGdDQUFnQztJQUMzQyxZQUNVLE9BQWdCLEVBQ2hCLFFBQWtCLEVBQ2xCLEtBQXVCO1FBRnZCLFlBQU8sR0FBUCxPQUFPLENBQVM7UUFDaEIsYUFBUSxHQUFSLFFBQVEsQ0FBVTtRQUNsQixVQUFLLEdBQUwsS0FBSyxDQUFrQjtJQUM5QixDQUFDO0lBQ0osSUFBSSxDQUNGLE9BQW9CLEVBQ3BCLFFBQTJDLEVBQzNDLFFBQVEsR0FBRyxJQUFJLEVBQ2YsUUFBbUI7UUFFbkIsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUM7WUFDbEMsS0FBSyxFQUFFLE9BQU87WUFDZCxRQUFRLEVBQUUsT0FBTztZQUNqQixTQUFTLEVBQUUsTUFBTTtZQUNqQixXQUFXLEVBQUUsSUFBSTtZQUNqQixhQUFhLEVBQUUs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YSxFQUFFLHdCQUF3QixhQWxCdEMsa0NBQWtDOzZIQXNCbEMsK0JBQStCLFlBSmhDLGFBQWEsRUFBRSx3QkFBd0I7MkZBSXRDLCtCQUErQjtrQkFMM0MsUUFBUTttQkFBQztvQkFDUixPQUFPLEVBQUUsQ0FBQyxhQUFhLEVBQUUsd0JBQXdCLENBQUM7b0JBQ2xELFlBQVksRUFBRSxDQUFDLGtDQUFrQyxDQUFDO29CQUNsRCxPQUFPLEVBQUUsQ0FBQyxrQ0FBa0MsQ0FBQztpQkFDOUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIsXG4gIERpcmVjdGl2ZSxcbiAgRWxlbWVudFJlZixcbiAgZm9yd2FyZFJlZixcbiAgSW5qZWN0YWJsZSxcbiAgSW5qZWN0b3IsXG4gIE5nTW9kdWxlLFxufSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgTkdfVkFMSURBVE9SUywgTkdfVkFMVUVfQUNDRVNTT1IgfSBmcm9tIFwiQGFuZ3VsYXIvZm9ybXNcIjtcbmltcG9ydCB7IE92ZXJsYXksIE92ZXJsYXlNb2R1bGUgfSBmcm9tIFwiQGFuZ3VsYXIvY2RrL292ZXJsYXlcIjtcbmltcG9ydCB7IENvbXBvbmVudFBvcnRhbCB9IGZyb20gXCJAYW5ndWxhci9jZGsvcG9ydGFsXCI7XG5pbXBvcnQgeyBGb2N1c1RyYXBGYWN0b3J5IH0gZnJvbSBcIkBhbmd1bGFyL2Nkay9hMTF5XCI7XG5pbXBvcnQge1xuICBXa2x5RGF0ZVRpbWVQaWNrZXJDb21wb25lbnQsXG4gIFdrbHlEYXRlVGltZVBpY2tlck1vZHVsZSxcbiAgV2tseUNsb3NlUmVhc29uLFxuICBXa2x5UHJlc2VudGF0aW9uUmVmLFxuICBXa2x5VHJpZ2dlckJhc2UsXG4gIFdrbHlQaWNrZXJJbnB1dHNQcm9wZXJ0eUtleXMsXG59IGZyb20gXCJAd2tseS9kYXRldGltZS1waWNrZXJcIjtcbkBJbmplY3RhYmxlKHsgcHJvdmlkZWRJbjogXCJyb290XCIgfSlcbmV4cG9ydCBjbGFzcyBXa2x5RGF0ZVRpbWVQaWNrZXJPdmVybGF5U2VydmljZSB7XG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgb3ZlcmxheTogT3ZlcmxheSxcbiAgICBwcml2YXRlIGluamVjdG9yOiBJbmplY3RvcixcbiAgICBwcml2YXRlIHRyYXBzOiBGb2N1c1RyYXBGYWN0b3J5LFxuICApIHt9XG4gIG9wZW4oXG4gICAgdHJpZ2dlcjogSFRNTEVsZW1lbnQsXG4gICAgb25DYW5jZWw6IChyZWFzb246IFdrbHlDbG9zZVJlYXNvbikgPT4gdm9pZCxcbiAgICBiYWNrZHJvcCA9IHRydWUsXG4gICAgaW5qZWN0b3I/OiBJbmplY3RvcixcbiAgKTogV2tseVByZXNlbnRhdGlvblJlZiB7XG4gICAgY29uc3Qgb3ZlcmxheSA9IHRoaXMub3ZlcmxheS5jcmVhdGUoe1xuICAgICAgd2lkdGg6IFwiMzkwcHhcIixcbiAgICAgIG1heFdpZHRoOiBcIjEwMHZ3XCIsXG4gICAgICBtYXhIZWlnaHQ6IFwiOTR2aFwiLFxuICAgICAgaGFzQmFja2Ryb3A6IHRydWUsXG4gICAgICBiYWNrZHJvcENsYXNzOiBcImNkay1vdmVybGF5LXRyYW5zcGFyZW50LWJhY2tkcm9wXCIsXG4gICAgICBzY3JvbGxTdHJhdGVneTogdGhpcy5vdmVybGF5LnNjcm9sbFN0cmF0ZWdpZXMuYmxvY2soKSxcbiAgICAgIHBvc2l0aW9uU3RyYXRlZ3k6IHRoaXMub3ZlcmxheVxuICAgICAgICAucG9zaXRpb24oKVxuICAgICAgICAuZmxleGlibGVDb25uZWN0ZWRUbyh0cmlnZ2VyKVxuICAgICAgICAud2l0aFB1c2godHJ1ZSlcbiAgICAgICAgLndpdGhGbGV4aWJsZURpbWVuc2lvbnMoZmFsc2UpXG4gICAgICAgIC53aXRoTG9ja2VkUG9zaXRpb24odHJ1ZSlcbiAgICAgICAgLndpdGhQb3NpdGlvbnMoW1xuICAgICAgICAgIHtcbiAgICAgICAgICAgIG9yaWdpblg6IFwic3RhcnRcIixcbiAgICAgICAgICAgIG9yaWdpblk6IFwiYm90dG9tXCIsXG4gICAgICAgICAgICBvdmVybGF5WDogXCJzdGFydFwiLFxuICAgICAgICAgICAgb3ZlcmxheVk6IFwidG9wXCIsXG4gICAgICAgICAgICBvZmZzZXRZOiA2LFxuICAgICAgICAgIH0sXG4gICAgICAgICAge1xuICAgICAgICAgICAgb3JpZ2luWDogXCJzdGFydFwiLFxuICAgICAgICAgICAgb3JpZ2luWTogXCJ0b3BcIixcbiAgICAgICAgICAgIG92ZXJsYXlYOiBcInN0YXJ0XCIsXG4gICAgICAgICAgICBvdmVybGF5WTogXCJib3R0b21cIixcbiAgICAgICAgICAgIG9mZnNldFk6IC02LFxuICAgICAgICAgIH0sXG4gICAgICAgIF0pLFxuICAgIH0pO1xuICAgIGNvbnN0IGNvbXBvbmVudCA9IG92ZXJsYXkuYXR0YWNoKFxuICAgICAgbmV3IENvbXBvbmVudFBvcnRhbChcbiAgICAgICAgV2tseURhdGVUaW1lUGlja2VyQ29tcG9uZW50LFxuICAgICAgICBudWxsLFxuICAgICAgICBpbmplY3RvciB8fCB0aGlzLmluamVjdG9yLFxuICAgICAgKSxcbiAgICApO1xuICAgIGNvbXBvbmVudC5pbnN0YW5jZS5wcmVzZW50YXRpb24gPSBcInRyYW5zaWVudFwiO1xuICAgIG92ZXJsYXkub3ZlcmxheUVsZW1lbnQuc2V0QXR0cmlidXRlKFwicm9sZVwiLCBcImRpYWxvZ1wiKTtcbiAgICBvdmVybGF5Lm92ZXJsYXlFbGVtZW50LnNldEF0dHJpYnV0ZShcImFyaWEtbW9kYWxcIiwgXCJ0cnVlXCIpO1xuICAgIG92ZXJsYXkub3ZlcmxheUVsZW1lbnQuc2V0QXR0cmlidXRlKFwiYXJpYS1sYWJlbFwiLCBcIkRhdGUgYW5kIHRpbWUgcGlja2VyXCIpO1xuICAgIG92ZXJsYXkub3ZlcmxheUVsZW1lbnQuc3R5bGUub3ZlcmZsb3cgPSBcImF1dG9cIjtcbiAgICBjb25zdCB0cmFwID0gdGhpcy50cmFwcy5jcmVhdGUob3ZlcmxheS5vdmVybGF5RWxlbWVudCk7XG4gICAgY29uc3Qgc3ViID0gb3ZlcmxheS5iYWNrZHJvcENsaWNrKCkuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgIGlmIChiYWNrZHJvcCkgb25DYW5jZWwoXCJiYWNrZHJvcFwiKTtcbiAgICB9KTtcbiAgICBjb25zdCBrZXkgPSBvdmVybGF5LmtleWRvd25FdmVudHMoKS5zdWJzY3JpYmUoKGV2ZW50KSA9PiB7XG4gICAgICBpZiAoZXZlbnQua2V5ID09PSBcIkVzY2FwZVwiKSB7XG4gICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgIG9uQ2FuY2VsKFwiZXNjYXBlXCIpO1xuICAgICAgfVxuICAgIH0pO1xuICAgIHJldHVybiB7XG4gICAgICBjb21wb25lbnQsXG4gICAgICBkZXN0cm95OiAoKSA9PiB7XG4gICAgICAgIHN1Yi51bnN1YnNjcmliZSgpO1xuICAgICAgICBrZXkudW5zdWJzY3JpYmUoKTtcbiAgICAgICAgdHJhcC5kZXN0cm95KCk7XG4gICAgICAgIG92ZXJsYXkuZGlzcG9zZSgpO1xuICAgICAgICB0cmlnZ2VyLmZvY3VzKCk7XG4gICAgICB9LFxuICAgIH07XG4gIH1cbn1cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogXCJbd2tseURhdGVUaW1lUGlja2VyT3ZlcmxheV1cIixcbiAgZXhwb3J0QXM6IFwid2tseU92ZXJsYXlcIixcbiAgcHJvdmlkZXJzOiBbXG4gICAge1xuICAgICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXG4gICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBXa2x5RGF0ZVRpbWVQaWNrZXJPdmVybGF5RGlyZWN0aXZlKSxcbiAgICAgIG11bHRpOiB0cnVlLFxuICAgIH0sXG4gICAge1xuICAgICAgcHJvdmlkZTogTkdfVkFMSURBVE9SUyxcbiAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IFdrbHlEYXRlVGltZVBpY2tlck92ZXJsYXlEaXJlY3RpdmUpLFxuICAgICAgbXVsdGk6IHRydWUsXG4gICAgfSxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgV2tseURhdGVUaW1lUGlja2VyT3ZlcmxheURpcmVjdGl2ZSBleHRlbmRzIFdrbHlUcmlnZ2VyQmFzZSB7XG4gIGNvbnN0cnVjdG9yKFxuICAgIGVsZW1lbnQ6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+LFxuICAgIHByaXZhdGUgc2VydmljZTogV2tseURhdGVUaW1lUGlja2VyT3ZlcmxheVNlcnZpY2UsXG4gICAgcHJpdmF0ZSB0cmlnZ2VySW5qZWN0b3I6IEluamVjdG9yLFxuICApIHtcbiAgICBzdXBlcihlbGVtZW50KTtcbiAgfVxuICBwcm90ZWN0ZWQgY3JlYXRlKCk6IFdrbHlQcmVzZW50YXRpb25SZWYge1xuICAgIHJldHVybiB0aGlzLnNlcnZpY2Uub3BlbihcbiAgICAgIHRoaXMuZWxlbWVudC5uYXRpdmVFbGVtZW50LFxuICAgICAgKHJlYXNvbikgPT4gdGhpcy5jbG9zZShyZWFzb24pLFxuICAgICAgdGhpc1tXa2x5UGlja2VySW5wdXRzUHJvcGVydHlLZXlzLkNsb3NlT25CYWNrZHJvcF0sXG4gICAgICB0aGlzLnRyaWdnZXJJbmplY3RvcixcbiAgICApO1xuICB9XG59XG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBbT3ZlcmxheU1vZHVsZSwgV2tseURhdGVUaW1lUGlja2VyTW9kdWxlXSxcbiAgZGVjbGFyYXRpb25zOiBbV2tseURhdGVUaW1lUGlja2VyT3ZlcmxheURpcmVjdGl2ZV0sXG4gIGV4cG9ydHM6IFtXa2x5RGF0ZVRpbWVQaWNrZXJPdmVybGF5RGlyZWN0aXZlXSxcbn0pXG5leHBvcnQgY2xhc3MgV2tseURhdGVUaW1lUGlja2VyT3ZlcmxheU1vZHVsZSB7fVxuIl19
@@ -1,100 +0,0 @@
1
- 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;
2
- import { Directive, EventEmitter, InjectionToken, Input, Output, } from "@angular/core";
3
- import { DEFAULT_OVERSCAN_WEEKS, WklyPickerInputsPropertyKeys, WklyPickerOutputsPropertyKeys, } from "@wkly/presentation";
4
- import * as i0 from "@angular/core";
5
- export * from "@wkly/presentation";
6
- export const WKLY_CLOCK = new InjectionToken("WKLY_CLOCK", {
7
- providedIn: "root",
8
- factory: () => ({ now: () => new Date() }),
9
- });
10
- export const WKLY_CONFIG = new InjectionToken("WKLY_CONFIG", { providedIn: "root", factory: () => ({}) });
11
- export const WKLY_LOCALIZATION = new InjectionToken("WKLY_LOCALIZATION", { providedIn: "root", factory: () => ({}) });
12
- export const WKLY_TRANSLATIONS = new InjectionToken("WKLY_TRANSLATIONS", { providedIn: "root", factory: () => ({}) });
13
- /** Shared public inputs/outputs inherited by the picker and both trigger directives. */
14
- // Inherited inputs need literal names in published decorator metadata.
15
- export class WklyPickerInputs {
16
- constructor() {
17
- this[_a] = "datetime";
18
- this[_b] = null;
19
- this[_c] = "";
20
- this[_d] = null;
21
- this[_e] = {
22
- kind: "full-month",
23
- };
24
- this[_f] = "locale";
25
- this[_g] = false;
26
- this[_h] = 1;
27
- this[_j] = 1;
28
- this[_k] = null;
29
- this[_l] = null;
30
- this[_m] = null;
31
- this[_o] = null;
32
- this[_p] = null;
33
- this[_q] = false;
34
- this[_r] = false;
35
- this[_s] = false;
36
- this[_t] = "locale";
37
- this[_u] = null;
38
- this[_v] = 256;
39
- this[_w] = DEFAULT_OVERSCAN_WEEKS;
40
- this[_x] = null;
41
- this[_y] = null;
42
- this[_z] = null;
43
- this[_0] = true;
44
- this[_1] = [];
45
- this[_2] = null;
46
- this[_3] = new EventEmitter();
47
- this[_4] = new EventEmitter(true);
48
- this[_5] = new EventEmitter();
49
- this[_6] = new EventEmitter();
50
- this[_7] = new EventEmitter(true);
51
- this[_8] = new EventEmitter();
52
- }
53
- }
54
- _a = WklyPickerInputsPropertyKeys.Mode, _b = WklyPickerInputsPropertyKeys.Value, WklyPickerInputsPropertyKeys.CalendarAdapter, _c = WklyPickerInputsPropertyKeys.Locale, _d = WklyPickerInputsPropertyKeys.WeekOffset, _e = WklyPickerInputsPropertyKeys.ViewportPreset, _f = WklyPickerInputsPropertyKeys.HourCycle, _g = WklyPickerInputsPropertyKeys.ShowSeconds, _h = WklyPickerInputsPropertyKeys.MinuteStep, _j = WklyPickerInputsPropertyKeys.SecondStep, _k = WklyPickerInputsPropertyKeys.Min, _l = WklyPickerInputsPropertyKeys.Max, _m = WklyPickerInputsPropertyKeys.IsDateDisabled, _o = WklyPickerInputsPropertyKeys.IsTimeDisabled, _p = WklyPickerInputsPropertyKeys.RangeValidator, _q = WklyPickerInputsPropertyKeys.AllowRangeAcrossDisabled, _r = WklyPickerInputsPropertyKeys.Required, _s = WklyPickerInputsPropertyKeys.Disabled, _t = WklyPickerInputsPropertyKeys.WeekLabelMode, _u = WklyPickerInputsPropertyKeys.WeekLabelFormatter, _v = WklyPickerInputsPropertyKeys.WeekCacheSize, _w = WklyPickerInputsPropertyKeys.OverscanWeeks, _x = WklyPickerInputsPropertyKeys.AriaLabel, _y = WklyPickerInputsPropertyKeys.AriaDescribedBy, _z = WklyPickerInputsPropertyKeys.InitialEpochDay, _0 = WklyPickerInputsPropertyKeys.CloseOnBackdrop, _1 = WklyPickerInputsPropertyKeys.Validators, _2 = WklyPickerInputsPropertyKeys.Translations, _3 = WklyPickerOutputsPropertyKeys.ValueChange, _4 = WklyPickerOutputsPropertyKeys.ValidationChange, _5 = WklyPickerOutputsPropertyKeys.Opened, _6 = WklyPickerOutputsPropertyKeys.Closed, _7 = WklyPickerOutputsPropertyKeys.ViewportChange, _8 = WklyPickerOutputsPropertyKeys.ViewModeChange;
55
- WklyPickerInputs.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: WklyPickerInputs, deps: [], target: i0.ɵɵFactoryTarget.Directive });
56
- WklyPickerInputs.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.3.0", type: WklyPickerInputs, inputs: { mode: "mode", value: "value", calendarAdapter: "calendarAdapter", locale: "locale", weekOffset: "weekOffset", viewportPreset: "viewportPreset", hourCycle: "hourCycle", showSeconds: "showSeconds", minuteStep: "minuteStep", secondStep: "secondStep", min: "min", max: "max", isDateDisabled: "isDateDisabled", isTimeDisabled: "isTimeDisabled", rangeValidator: "rangeValidator", allowRangeAcrossDisabled: "allowRangeAcrossDisabled", required: "required", disabled: "disabled", weekLabelMode: "weekLabelMode", weekLabelFormatter: "weekLabelFormatter", weekCacheSize: "weekCacheSize", overscanWeeks: "overscanWeeks", ariaLabel: "ariaLabel", ariaDescribedBy: "ariaDescribedBy", initialEpochDay: "initialEpochDay", closeOnBackdrop: "closeOnBackdrop", validators: "validators", translations: "translations" }, outputs: { valueChange: "valueChange", validationChange: "validationChange", opened: "opened", closed: "closed", viewportChange: "viewportChange", viewModeChange: "viewModeChange" }, ngImport: i0 });
57
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: WklyPickerInputs, decorators: [{
58
- type: Directive,
59
- args: [{
60
- inputs: [
61
- "mode",
62
- "value",
63
- "calendarAdapter",
64
- "locale",
65
- "weekOffset",
66
- "viewportPreset",
67
- "hourCycle",
68
- "showSeconds",
69
- "minuteStep",
70
- "secondStep",
71
- "min",
72
- "max",
73
- "isDateDisabled",
74
- "isTimeDisabled",
75
- "rangeValidator",
76
- "allowRangeAcrossDisabled",
77
- "required",
78
- "disabled",
79
- "weekLabelMode",
80
- "weekLabelFormatter",
81
- "weekCacheSize",
82
- "overscanWeeks",
83
- "ariaLabel",
84
- "ariaDescribedBy",
85
- "initialEpochDay",
86
- "closeOnBackdrop",
87
- "validators",
88
- "translations",
89
- ],
90
- outputs: [
91
- "valueChange",
92
- "validationChange",
93
- "opened",
94
- "closed",
95
- "viewportChange",
96
- "viewModeChange",
97
- ],
98
- }]
99
- }] });
100
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vcHJvamVjdHMvd2tseS1kYXRldGltZS1waWNrZXIuMTQvc3JjL2NvbmZpZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUNMLFNBQVMsRUFDVCxZQUFZLEVBQ1osY0FBYyxFQUNkLEtBQUssRUFDTCxNQUFNLEdBQ1AsTUFBTSxlQUFlLENBQUM7QUFldkIsT0FBTyxFQUNMLHNCQUFzQixFQVN0Qiw0QkFBNEIsRUFDNUIsNkJBQTZCLEdBQzlCLE1BQU0sb0JBQW9CLENBQUM7O0FBQzVCLGNBQWMsb0JBQW9CLENBQUM7QUFDbkMsTUFBTSxDQUFDLE1BQU0sVUFBVSxHQUFHLElBQUksY0FBYyxDQUFZLFlBQVksRUFBRTtJQUNwRSxVQUFVLEVBQUUsTUFBTTtJQUNsQixPQUFPLEVBQUUsR0FBRyxFQUFFLENBQUMsQ0FBQyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsQ0FBQyxJQUFJLElBQUksRUFBRSxFQUFFLENBQUM7Q0FDM0MsQ0FBQyxDQUFDO0FBQ0gsTUFBTSxDQUFDLE1BQU0sV0FBVyxHQUFHLElBQUksY0FBYyxDQUMzQyxhQUFhLEVBQ2IsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLE9BQU8sRUFBRSxHQUFHLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQzVDLENBQUM7QUFDRixNQUFNLENBQUMsTUFBTSxpQkFBaUIsR0FBRyxJQUFJLGNBQWMsQ0FDakQsbUJBQW1CLEVBQ25CLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxPQUFPLEVBQUUsR0FBRyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUM1QyxDQUFDO0FBQ0YsTUFBTSxDQUFDLE1BQU0saUJBQWlCLEdBQUcsSUFBSSxjQUFjLENBQ2pELG1CQUFtQixFQUNuQixFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsT0FBTyxFQUFFLEdBQUcsRUFBRSxDQUFDLENBQUMsRUFB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NkJBQTZCLENBQUMsTUFBTSxPQUNwQyw2QkFBNkIsQ0FBQyxNQUFNLE9BRXBDLDZCQUE2QixDQUFDLGNBQWMsT0FFNUMsNkJBQTZCLENBQUMsY0FBYzs2R0F6RG5DLGdCQUFnQjtpR0FBaEIsZ0JBQWdCOzJGQUFoQixnQkFBZ0I7a0JBeENyQyxTQUFTO21CQUFDO29CQUNULE1BQU0sRUFBRTt3QkFDTixNQUFNO3dCQUNOLE9BQU87d0JBQ1AsaUJBQWlCO3dCQUNqQixRQUFRO3dCQUNSLFlBQVk7d0JBQ1osZ0JBQWdCO3dCQUNoQixXQUFXO3dCQUNYLGFBQWE7d0JBQ2IsWUFBWTt3QkFDWixZQUFZO3dCQUNaLEtBQUs7d0JBQ0wsS0FBSzt3QkFDTCxnQkFBZ0I7d0JBQ2hCLGdCQUFnQjt3QkFDaEIsZ0JBQWdCO3dCQUNoQiwwQkFBMEI7d0JBQzFCLFVBQVU7d0JBQ1YsVUFBVTt3QkFDVixlQUFlO3dCQUNmLG9CQUFvQjt3QkFDcEIsZUFBZTt3QkFDZixlQUFlO3dCQUNmLFdBQVc7d0JBQ1gsaUJBQWlCO3dCQUNqQixpQkFBaUI7d0JBQ2pCLGlCQUFpQjt3QkFDakIsWUFBWTt3QkFDWixjQUFjO3FCQUNmO29CQUNELE9BQU8sRUFBRTt3QkFDUCxhQUFhO3dCQUNiLGtCQUFrQjt3QkFDbEIsUUFBUTt3QkFDUixRQUFRO3dCQUNSLGdCQUFnQjt3QkFDaEIsZ0JBQWdCO3FCQUNqQjtpQkFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIERpcmVjdGl2ZSxcbiAgRXZlbnRFbWl0dGVyLFxuICBJbmplY3Rpb25Ub2tlbixcbiAgSW5wdXQsXG4gIE91dHB1dCxcbn0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IFdrbHlXZWVrT2Zmc2V0IH0gZnJvbSBcIkB3a2x5L2NvcmVcIjtcbmltcG9ydCB7XG4gIFdrbHlDYWxlbmRhckFkYXB0ZXIsXG4gIFdrbHlEaXNhYmxlZERhdGVQcmVkaWNhdGUsXG4gIFdrbHlEaXNhYmxlZFRpbWVQcmVkaWNhdGUsXG4gIFdrbHlIb3VyQ3ljbGUsXG4gIFdrbHlQaWNrZXJWYWx1ZSxcbiAgV2tseVJhbmdlVmFsaWRhdG9yLFxuICBXa2x5U2VsZWN0aW9uTW9kZSxcbiAgV2tseVZhbGlkYXRpb25FcnJvcixcbiAgV2tseVZpZXdwb3J0UHJlc2V0LFxuICBXa2x5V2Vla0xhYmVsRm9ybWF0dGVyLFxuICBXa2x5V2Vla0xhYmVsTW9kZSxcbn0gZnJvbSBcIkB3a2x5L2FkYXB0ZXJzXCI7XG5pbXBvcnQge1xuICBERUZBVUxUX09WRVJTQ0FOX1dFRUtTLFxuICBXa2x5Q2xvY2ssXG4gIFdrbHlDb25maWd1cmF0aW9uLFxuICBXa2x5Q2xvc2VSZWFzb24sXG4gIFdrbHlQaWNrZXJJbnB1dHMgYXMgV2tseVBpY2tlcklucHV0c0NvbnRyYWN0LFxuICBXa2x5UGlja2VyT3V0cHV0cyBhcyBXa2x5UGlja2VyT3V0cHV0c0NvbnRyYWN0LFxuICBXa2x5U3RyaW5ncyxcbiAgV2tseVRyYW5zbGF0aW9ucyxcbiAgV2tseVZpZXdwb3J0Q2hhbmdlLFxuICBXa2x5UGlja2VySW5wdXRzUHJvcGVydHlLZXlzLFxuICBXa2x5UGlja2VyT3V0cHV0c1Byb3BlcnR5S2V5cyxcbn0gZnJvbSBcIkB3a2x5L3ByZXNlbnRhdGlvblwiO1xuZXhwb3J0ICogZnJvbSBcIkB3a2x5L3ByZXNlbnRhdGlvblwiO1xuZXhwb3J0IGNvbnN0IFdLTFlfQ0xPQ0sgPSBuZXcgSW5qZWN0aW9uVG9rZW48V2tseUNsb2NrPihcIldLTFlfQ0xPQ0tcIiwge1xuICBwcm92aWRlZEluOiBcInJvb3RcIixcbiAgZmFjdG9yeTogKCkgPT4gKHsgbm93OiAoKSA9PiBuZXcgRGF0ZSgpIH0pLFxufSk7XG5leHBvcnQgY29uc3QgV0tMWV9DT05GSUcgPSBuZXcgSW5qZWN0aW9uVG9rZW48V2tseUNvbmZpZ3VyYXRpb24+KFxuICBcIldLTFlfQ09ORklHXCIsXG4gIHsgcHJvdmlkZWRJbjogXCJyb290XCIsIGZhY3Rvcnk6ICgpID0+ICh7fSkgfSxcbik7XG5leHBvcnQgY29uc3QgV0tMWV9MT0NBTElaQVRJT04gPSBuZXcgSW5qZWN0aW9uVG9rZW48V2tseVN0cmluZ3M+KFxuICBcIldLTFlfTE9DQUxJWkFUSU9OXCIsXG4gIHsgcHJvdmlkZWRJbjogXCJyb290XCIsIGZhY3Rvcnk6ICgpID0+ICh7fSkgfSxcbik7XG5leHBvcnQgY29uc3QgV0tMWV9UUkFOU0xBVElPTlMgPSBuZXcgSW5qZWN0aW9uVG9rZW48V2tseVRyYW5zbGF0aW9ucz4oXG4gIFwiV0tMWV9UUkFOU0xBVElPTlNcIixcbiAgeyBwcm92aWRlZEluOiBcInJvb3RcIiwgZmFjdG9yeTogKCkgPT4gKHt9KSB9LFxuKTtcbi8qKiBTaGFyZWQgcHVibGljIGlucHV0cy9vdXRwdXRzIGluaGVyaXRlZCBieSB0aGUgcGlja2VyIGFuZCBib3RoIHRyaWdnZXIgZGlyZWN0aXZlcy4gKi9cbi8vIEluaGVyaXRlZCBpbnB1dHMgbmVlZCBsaXRlcmFsIG5hbWVzIGluIHB1Ymxpc2hlZCBkZWNvcmF0b3IgbWV0YWRhdGEuXG5ARGlyZWN0aXZlKHtcbiAgaW5wdXRzOiBbXG4gICAgXCJtb2RlXCIsXG4gICAgXCJ2YWx1ZVwiLFxuICAgIFwiY2FsZW5kYXJBZGFwdGVyXCIsXG4gICAgXCJsb2NhbGVcIixcbiAgICBcIndlZWtPZmZzZXRcIixcbiAgICBcInZpZXdwb3J0UHJlc2V0XCIsXG4gICAgXCJob3VyQ3ljbGVcIixcbiAgICBcInNob3dTZWNvbmRzXCIsXG4gICAgXCJtaW51dGVTdGVwXCIsXG4gICAgXCJzZWNvbmRTdGVwXCIsXG4gICAgXCJtaW5cIixcbiAgICBcIm1heFwiLFxuICAgIFwiaXNEYXRlRGlzYWJsZWRcIixcbiAgICBcImlzVGltZURpc2FibGVkXCIsXG4gICAgXCJyYW5nZVZhbGlkYXRvclwiLFxuICAgIFwiYWxsb3dSYW5nZUFjcm9zc0Rpc2FibGVkXCIsXG4gICAgXCJyZXF1aXJlZFwiLFxuICAgIFwiZGlzYWJsZWRcIixcbiAgICBcIndlZWtMYWJlbE1vZGVcIixcbiAgICBcIndlZWtMYWJlbEZvcm1hdHRlclwiLFxuICAgIFwid2Vla0NhY2hlU2l6ZVwiLFxuICAgIFwib3ZlcnNjYW5XZWVrc1wiLFxuICAgIFwiYXJpYUxhYmVsXCIsXG4gICAgXCJhcmlhRGVzY3JpYmVkQnlcIixcbiAgICBcImluaXRpYWxFcG9jaERheVwiLFxuICAgIFwiY2xvc2VPbkJhY2tkcm9wXCIsXG4gICAgXCJ2YWxpZGF0b3JzXCIsXG4gICAgXCJ0cmFuc2xhdGlvbnNcIixcbiAgXSxcbiAgb3V0cHV0czogW1xuICAgIFwidmFsdWVDaGFuZ2VcIixcbiAgICBcInZhbGlkYXRpb25DaGFuZ2VcIixcbiAgICBcIm9wZW5lZFwiLFxuICAgIFwiY2xvc2VkXCIsXG4gICAgXCJ2aWV3cG9ydENoYW5nZVwiLFxuICAgIFwidmlld01vZGVDaGFuZ2VcIixcbiAgXSxcbn0pXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgV2tseVBpY2tlcklucHV0c1xuICBpbXBsZW1lbnRzIFdrbHlQaWNrZXJJbnB1dHNDb250cmFjdCwgV2tseVBpY2tlck91dHB1dHNDb250cmFjdFxue1xuICBASW5wdXQoKSBbV2tseVBpY2tlcklucHV0c1Byb3BlcnR5S2V5cy5Nb2RlXTogV2tseVNlbGVjdGlvbk1vZGUgPSBcImRhdGV0aW1lXCI7XG4gIEBJbnB1dCgpIFtXa2x5UGlja2VySW5wdXRzUHJvcGVydHlLZXlzLlZhbHVlXTogV2tseVBpY2tlclZhbHVlID0gbnVsbDtcbiAgQElucHV0KCkgW1drbHlQaWNrZXJJbnB1dHNQcm9wZXJ0eUtleXMuQ2FsZW5kYXJBZGFwdGVyXSE6IFdrbHlDYWxlbmRhckFkYXB0ZXI7XG4gIEBJbnB1dCgpIFtXa2x5UGlja2VySW5wdXRzUHJvcGVydHlLZXlzLkxvY2FsZV06IHN0cmluZyA9IFwiXCI7XG4gIEBJbnB1dCgpIFtXa2x5UGlja2VySW5wdXRzUHJvcGVydHlLZXlzLldlZWtPZmZzZXRdOiBXa2x5V2Vla09mZnNldCB8IG51bGwgPVxuICAgIG51bGw7XG4gIEBJbnB1dCgpIFtXa2x5UGlja2VySW5wdXRzUHJvcGVydHlLZXlzLlZpZXdwb3J0UHJlc2V0XTogV2tseVZpZXdwb3J0UHJlc2V0ID0ge1xuICAgIGtpbmQ6IFwiZnVsbC1tb250aFwiLFxuICB9O1xuICBASW5wdXQoKSBbV2tseVBpY2tlcklucHV0c1Byb3BlcnR5S2V5cy5Ib3VyQ3ljbGVdOiBXa2x5SG91ckN5Y2xlID0gXCJsb2NhbGVcIjtcbiAgQElucHV0KCkgW1drbHlQaWNrZXJJbnB1dHNQcm9wZXJ0eUtleXMuU2hvd1NlY29uZHNdOiBib29sZWFuID0gZmFsc2U7XG4gIEBJbnB1dCgpIFtXa2x5UGlja2VySW5wdXRzUHJvcGVydHlLZXlzLk1pbnV0ZVN0ZXBdOiBudW1iZXIgPSAxO1xuICBASW5wdXQoKSBbV2tseVBpY2tlcklucHV0c1Byb3BlcnR5S2V5cy5TZWNvbmRTdGVwXTogbnVtYmVyID0gMTtcbiAgQElucHV0KCkgW1drbHlQaWNrZXJJbnB1dHNQcm9wZXJ0eUtleXMuTWluXTogc3RyaW5nIHwgbnVsbCA9IG51bGw7XG4gIEBJbnB1dCgpIFtXa2x5UGlja2VySW5wdXRzUHJvcGVydHlLZXlzLk1heF06IHN0cmluZyB8IG51bGwgPSBudWxsO1xuICBASW5wdXQoKVxuICBbV2tseVBpY2tlcklucHV0c1Byb3BlcnR5S2V5cy5Jc0RhdGVEaXNhYmxlZF06IFdrbHlEaXNhYmxlZERhdGVQcmVkaWNhdGUgfCBudWxsID1cbiAgICBudWxsO1xuICBASW5wdXQoKVxuICBbV2tseVBpY2tlcklucHV0c1Byb3BlcnR5S2V5cy5Jc1RpbWVEaXNhYmxlZF06IFdrbHlEaXNhYmxlZFRpbWVQcmVkaWNhdGUgfCBudWxsID1cbiAgICBudWxsO1xuICBASW5wdXQoKVxuICBbV2tseVBpY2tlcklucHV0c1Byb3BlcnR5S2V5cy5SYW5nZVZhbGlkYXRvcl06IFdrbHlSYW5nZVZhbGlkYXRvciB8IG51bGwgPVxuICAgIG51bGw7XG4gIEBJbnB1dCgpIFtXa2x5UGlja2VySW5wdXRzUHJvcGVydHlLZXlzLkFsbG93UmFuZ2VBY3Jvc3NEaXNhYmxlZF0gPSBmYWxzZTtcbiAgQElucHV0KCkgW1drbHlQaWNrZXJJbnB1dHNQcm9wZXJ0eUtleXMuUmVxdWlyZWRdID0gZmFsc2U7XG4gIEBJbnB1dCgpIFtXa2x5UGlja2VySW5wdXRzUHJvcGVydHlLZXlzLkRpc2FibGVkXSA9IGZhbHNlO1xuICBASW5wdXQoKSBbV2tseVBpY2tlcklucHV0c1Byb3BlcnR5S2V5cy5XZWVrTGFiZWxNb2RlXTogV2tseVdlZWtMYWJlbE1vZGUgPVxuICAgIFwibG9jYWxlXCI7XG4gIEBJbnB1dCgpXG4gIFtXa2x5UGlja2VySW5wdXRzUHJvcGVydHlLZXlzLldlZWtMYWJlbEZvcm1hdHRlcl06IFdrbHlXZWVrTGFiZWxGb3JtYXR0ZXIgfCBudWxsID1cbiAgICBudWxsO1xuICBASW5wdXQoKSBbV2tseVBpY2tlcklucHV0c1Byb3BlcnR5S2V5cy5XZWVrQ2FjaGVTaXplXSA9IDI1NjtcbiAgQElucHV0KCkgW1drbHlQaWNrZXJJbnB1dHNQcm9wZXJ0eUtleXMuT3ZlcnNjYW5XZWVrc10gPVxuICAgIERFRkFVTFRfT1ZFUlNDQU5fV0VFS1M7XG4gIEBJbnB1dCgpIFtXa2x5UGlja2VySW5wdXRzUHJvcGVydHlLZXlzLkFyaWFMYWJlbF06IHN0cmluZyB8IG51bGwgPSBudWxsO1xuICBASW5wdXQoKSBbV2tseVBpY2tlcklucHV0c1Byb3BlcnR5S2V5cy5BcmlhRGVzY3JpYmVkQnldOiBzdHJpbmcgfCBudWxsID0gbnVsbDtcbiAgQElucHV0KCkgW1drbHlQaWNrZXJJbnB1dHNQcm9wZXJ0eUtleXMuSW5pdGlhbEVwb2NoRGF5XTogbnVtYmVyIHwgbnVsbCA9IG51bGw7XG4gIEBJbnB1dCgpIFtXa2x5UGlja2VySW5wdXRzUHJvcGVydHlLZXlzLkNsb3NlT25CYWNrZHJvcF0gPSB0cnVlO1xuICBASW5wdXQoKSBbV2tseVBpY2tlcklucHV0c1Byb3BlcnR5S2V5cy5WYWxpZGF0b3JzXTogcmVhZG9ubHkgKChcbiAgICB2YWx1ZTogV2tseVBpY2tlclZhbHVlLFxuICApID0+IFdrbHlWYWxpZGF0aW9uRXJyb3IgfCBudWxsKVtdID0gW107XG4gIEBJbnB1dCgpXG4gIFtXa2x5UGlja2VySW5wdXRzUHJvcGVydHlLZXlzLlRyYW5zbGF0aW9uc106IFdrbHlUcmFuc2xhdGlvbnMgfCBudWxsID0gbnVsbDtcbiAgQE91dHB1dCgpIFtXa2x5UGlja2VyT3V0cHV0c1Byb3BlcnR5S2V5cy5WYWx1ZUNoYW5nZV0gPVxuICAgIG5ldyBFdmVudEVtaXR0ZXI8V2tseVBpY2tlclZhbHVlPigpO1xuICBAT3V0cHV0KCkgW1drbHlQaWNrZXJPdXRwdXRzUHJvcGVydHlLZXlzLlZhbGlkYXRpb25DaGFuZ2VdID0gbmV3IEV2ZW50RW1pdHRlcjxcbiAgICByZWFkb25seSBXa2x5VmFsaWRhdGlvbkVycm9yW11cbiAgPih0cnVlKTtcbiAgQE91dHB1dCgpIFtXa2x5UGlja2VyT3V0cHV0c1Byb3BlcnR5S2V5cy5PcGVuZWRdID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuICBAT3V0cHV0KCkgW1drbHlQaWNrZXJPdXRwdXRzUHJvcGVydHlLZXlzLkNsb3NlZF0gPVxuICAgIG5ldyBFdmVudEVtaXR0ZXI8V2tseUNsb3NlUmVhc29uPigpO1xuICBAT3V0cHV0KCkgW1drbHlQaWNrZXJPdXRwdXRzUHJvcGVydHlLZXlzLlZpZXdwb3J0Q2hhbmdlXSA9XG4gICAgbmV3IEV2ZW50RW1pdHRlcjxXa2x5Vmlld3BvcnRDaGFuZ2U+KHRydWUpO1xuICBAT3V0cHV0KCkgW1drbHlQaWNrZXJPdXRwdXRzUHJvcGVydHlLZXlzLlZpZXdNb2RlQ2hhbmdlXSA9IG5ldyBFdmVudEVtaXR0ZXI8XG4gICAgXCJjYWxlbmRhclwiIHwgXCJtYW51YWxcIlxuICA+KCk7XG59XG4iXX0=