ecabs-components 1.0.56-alpha → 1.0.56-delta

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.
@@ -1,8 +1,9 @@
1
- import { filter, takeUntil } from 'rxjs';
1
+ import { catchError, filter, from, map, of, shareReplay, takeUntil } from 'rxjs';
2
2
  import { Component, EventEmitter, Input, Output } from '@angular/core';
3
3
  import { NG_VALUE_ACCESSOR, NgControl } from '@angular/forms';
4
4
  import { UnsubscribeService } from '../../public-api';
5
5
  import ElementBaseComponent from '../base/element-base';
6
+ import { Loader } from '@googlemaps/js-api-loader';
6
7
  import * as i0 from "@angular/core";
7
8
  import * as i1 from "../../public-api";
8
9
  import * as i2 from "@angular/common";
@@ -17,17 +18,21 @@ export class EcabsPlaceAutocompleteComponent extends ElementBaseComponent {
17
18
  showDeleteItem = false;
18
19
  showSuffix = false;
19
20
  countryCode = 'MT';
20
- apiLoaded$;
21
+ apiKey;
21
22
  placeResult = new EventEmitter();
22
23
  deleteItem = new EventEmitter();
24
+ apiLoaded$;
23
25
  val;
24
26
  get value() {
25
27
  return this.val;
26
28
  }
27
29
  set value(val) {
28
- if (this.val !== val) {
30
+ if (val !== undefined && this.val !== val) {
29
31
  this.val = val;
30
32
  this.onChange(val);
33
+ if (this.getData()?.control?.updateOn !== 'blur') {
34
+ this.onTouch(val);
35
+ }
31
36
  }
32
37
  }
33
38
  constructor(ngZone, unsubscribeService, elementRef, injector) {
@@ -38,11 +43,12 @@ export class EcabsPlaceAutocompleteComponent extends ElementBaseComponent {
38
43
  this.injector = injector;
39
44
  }
40
45
  ngOnChanges(changes) {
41
- const { value, apiLoaded$ } = changes ?? {};
46
+ const { value, apiKey } = changes ?? {};
42
47
  if (!value?.firstChange && !value?.currentValue) {
43
48
  this.onClean();
44
49
  }
45
- if (apiLoaded$?.currentValue) {
50
+ if (apiKey?.currentValue) {
51
+ this.apiLoaded$ = this.loadGoogleMap(this.apiKey);
46
52
  this.apiLoaded$.pipe(takeUntil(this.unsubscribeService.subscription()), filter((value) => !!value))
47
53
  .subscribe(() => {
48
54
  this.initGoogle();
@@ -99,8 +105,19 @@ export class EcabsPlaceAutocompleteComponent extends ElementBaseComponent {
99
105
  getElement() {
100
106
  return this.elementRef.nativeElement.querySelector('.form-field__input');
101
107
  }
108
+ loadGoogleMap(apiKey) {
109
+ if (this.apiLoaded$) {
110
+ return this.apiLoaded$;
111
+ }
112
+ const loader = new Loader({
113
+ apiKey: apiKey,
114
+ version: 'weekly',
115
+ libraries: ['places', 'drawing'],
116
+ });
117
+ return from(loader.importLibrary('maps')).pipe(map(() => true), shareReplay(), catchError(() => of(false)));
118
+ }
102
119
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: EcabsPlaceAutocompleteComponent, deps: [{ token: i0.NgZone }, { token: i1.UnsubscribeService }, { token: i0.ElementRef }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Component });
103
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: EcabsPlaceAutocompleteComponent, selector: "ecabs-place-autocomplete", inputs: { showDeleteItem: "showDeleteItem", showSuffix: "showSuffix", countryCode: "countryCode", apiLoaded$: "apiLoaded$" }, outputs: { placeResult: "placeResult", deleteItem: "deleteItem" }, providers: [
120
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: EcabsPlaceAutocompleteComponent, selector: "ecabs-place-autocomplete", inputs: { showDeleteItem: "showDeleteItem", showSuffix: "showSuffix", countryCode: "countryCode", apiKey: "apiKey" }, outputs: { placeResult: "placeResult", deleteItem: "deleteItem" }, providers: [
104
121
  UnsubscribeService,
105
122
  {
106
123
  provide: NG_VALUE_ACCESSOR,
@@ -125,11 +142,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
125
142
  type: Input
126
143
  }], countryCode: [{
127
144
  type: Input
128
- }], apiLoaded$: [{
145
+ }], apiKey: [{
129
146
  type: Input
130
147
  }], placeResult: [{
131
148
  type: Output
132
149
  }], deleteItem: [{
133
150
  type: Output
134
151
  }] } });
135
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWNhYnMtcGxhY2UtYXV0b2NvbXBsZXRlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VjYWJzLWNvbXBvbmVudHMvc3JjL2xpYi9lY2Ficy1wbGFjZS1hdXRvY29tcGxldGUvZWNhYnMtcGxhY2UtYXV0b2NvbXBsZXRlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VjYWJzLWNvbXBvbmVudHMvc3JjL2xpYi9lY2Ficy1wbGFjZS1hdXRvY29tcGxldGUvZWNhYnMtcGxhY2UtYXV0b2NvbXBsZXRlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQWMsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRXJELE9BQU8sRUFFTCxTQUFTLEVBQWMsWUFBWSxFQUFZLEtBQUssRUFDcEQsTUFBTSxFQUNQLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBd0IsaUJBQWlCLEVBQUUsU0FBUyxFQUFzQixNQUFNLGdCQUFnQixDQUFDO0FBRXhHLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ3RELE9BQU8sb0JBQW9CLE1BQU0sc0JBQXNCLENBQUM7Ozs7Ozs7QUFpQnhELE1BQU0sT0FBTywrQkFDWCxTQUFRLG9CQUFvQjtJQTRCVDtJQUNBO0lBQ0E7SUFDQTtJQTdCVixjQUFjLEdBQUcsS0FBSyxDQUFDO0lBQ3ZCLFVBQVUsR0FBRyxLQUFLLENBQUM7SUFDbkIsV0FBVyxHQUFHLElBQUksQ0FBQztJQUNuQixVQUFVLENBQXNCO0lBRXRCLFdBQVcsR0FHekIsSUFBSSxZQUFZLEVBQUUsQ0FBQztJQUVkLFVBQVUsR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO0lBRTFDLEdBQUcsQ0FBVTtJQUViLElBQUksS0FBSztRQUNQLE9BQU8sSUFBSSxDQUFDLEdBQUcsQ0FBQztJQUNsQixDQUFDO0lBRUQsSUFBSSxLQUFLLENBQUUsR0FBRztRQUNaLElBQUssSUFBSSxDQUFDLEdBQUcsS0FBSyxHQUFHLEVBQUc7WUFDdEIsSUFBSSxDQUFDLEdBQUcsR0FBRyxHQUFHLENBQUM7WUFDZixJQUFJLENBQUMsUUFBUSxDQUFFLEdBQUcsQ0FBRSxDQUFDO1NBQ3RCO0lBQ0gsQ0FBQztJQUVELFlBQ21CLE1BQWMsRUFDZCxrQkFBc0MsRUFDdEMsVUFBc0IsRUFDdEIsUUFBa0I7UUFFbkMsS0FBSyxFQUFFLENBQUM7UUFMUyxXQUFNLEdBQU4sTUFBTSxDQUFRO1FBQ2QsdUJBQWtCLEdBQWxCLGtCQUFrQixDQUFvQjtRQUN0QyxlQUFVLEdBQVYsVUFBVSxDQUFZO1FBQ3RCLGFBQVEsR0FBUixRQUFRLENBQVU7SUFHckMsQ0FBQztJQUVELFdBQVcsQ0FBRSxPQUFzQjtRQUNqQyxNQUFNLEVBQUUsS0FBSyxFQUFFLFVBQVUsRUFBRSxHQUFHLE9BQU8sSUFBSSxFQUFFLENBQUM7UUFFNUMsSUFBSyxDQUFDLEtBQUssRUFBRSxXQUFXLElBQUksQ0FBQyxLQUFLLEVBQUUsWUFBWSxFQUFHO1lBQ2pELElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztTQUNoQjtRQUVELElBQUssVUFBVSxFQUFFLFlBQVksRUFBRztZQUM5QixJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FDbEIsU0FBUyxDQUFFLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxZQUFZLEVBQUUsQ0FBRSxFQUNuRCxNQUFNLENBQUUsQ0FBRSxLQUFLLEVBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUUsQ0FDL0I7aUJBQ0UsU0FBUyxDQUFFLEdBQUcsRUFBRTtnQkFDZixJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7WUFDcEIsQ0FBQyxDQUFFLENBQUM7U0FDUDtJQUNILENBQUM7SUFFRCxlQUFlO1FBQ2IsTUFBTSxTQUFTLEdBQWMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUUsU0FBUyxFQUFFLElBQUksQ0FBZSxDQUFDO1FBQy9FLElBQUssU0FBUyxFQUFHO1lBQ2YsSUFBSSxDQUFDLE9BQU8sR0FBRyxTQUFTLENBQUMsT0FBNkIsQ0FBQztTQUN4RDtJQUNILENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLGtCQUFrQixDQUFDLE9BQU8sRUFBRSxDQUFDO0lBQ3BDLENBQUM7SUFFRCxRQUFRLEdBQVEsR0FBRyxFQUFFLEdBQUcsQ0FBQyxDQUFDO0lBRTFCLE9BQU8sR0FBUSxHQUFHLEVBQUUsR0FBRyxDQUFDLENBQUM7SUFFekIsVUFBVSxDQUFFLEtBQVU7UUFDcEIsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7SUFDckIsQ0FBQztJQUVELGdCQUFnQixDQUFFLEVBQU87UUFDdkIsSUFBSSxDQUFDLFFBQVEsR0FBRyxFQUFFLENBQUM7SUFDckIsQ0FBQztJQUVELGlCQUFpQixDQUFFLEVBQU87UUFDeEIsSUFBSSxDQUFDLE9BQU8sR0FBRyxFQUFFLENBQUM7SUFDcEIsQ0FBQztJQUVELFlBQVk7UUFDVixJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ3pCLENBQUM7SUFFRCxPQUFPO1FBQ0wsSUFBSSxDQUFDLEtBQUssR0FBRyxFQUFFLENBQUM7UUFDaEIsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO0lBQ2pCLENBQUM7SUFFTyxVQUFVO1FBQ2hCLE1BQU0sWUFBWSxHQUFHLElBQUksTUFBTSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsWUFBWSxDQUFFLElBQUksQ0FBQyxVQUFVLEVBQUUsRUFBRTtZQUMzRSxLQUFLLEVBQUUsRUFBRTtZQUNULHFCQUFxQixFQUFFLEVBQUUsT0FBTyxFQUFFLENBQUUsSUFBSSxDQUFDLFdBQVcsQ0FBRSxFQUFFO1lBQ3hELE1BQU0sRUFBRSxDQUFFLG9CQUFvQixFQUFFLG1CQUFtQixDQUFFO1NBQ3RELENBQUUsQ0FBQztRQUVKLFlBQVksQ0FBQyxXQUFXLENBQUUsZUFBZSxFQUFFLEdBQUcsRUFBRTtZQUM5QyxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBRSxHQUFHLEVBQUU7Z0JBQ3BCLE1BQU0sS0FBSyxHQUFHLFlBQVksQ0FBQyxRQUFRLEVBQUUsQ0FBQztnQkFFdEMsZ0JBQWdCO2dCQUNoQixJQUFLLEtBQUssQ0FBQyxRQUFRLEtBQUssU0FBUyxJQUFJLEtBQUssQ0FBQyxRQUFRLEtBQUssSUFBSSxFQUFHO29CQUM3RCxPQUFPO2lCQUNSO2dCQUVELElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFFO29CQUNyQixLQUFLLEVBQUUsS0FBSztvQkFDWixJQUFJLEVBQUUsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDLEtBQUs7aUJBQzlCLENBQUUsQ0FBQztZQUNOLENBQUMsQ0FBRSxDQUFDO1FBQ04sQ0FBQyxDQUFFLENBQUM7SUFDTixDQUFDO0lBRU8sVUFBVTtRQUNoQixPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDLGFBQWEsQ0FBRSxvQkFBb0IsQ0FBRSxDQUFDO0lBQzdFLENBQUM7d0dBckhVLCtCQUErQjs0RkFBL0IsK0JBQStCLG9QQVQvQjtZQUNULGtCQUFrQjtZQUNsQjtnQkFDRSxPQUFPLEVBQUUsaUJBQWlCO2dCQUMxQixXQUFXLEVBQUUsK0JBQStCO2dCQUM1QyxLQUFLLEVBQUUsSUFBSTthQUNaO1NBQ0Ysc0VDekJILDA1QkFzQkE7OzRGREthLCtCQUErQjtrQkFiM0MsU0FBUzsrQkFDRSwwQkFBMEIsYUFHekI7d0JBQ1Qsa0JBQWtCO3dCQUNsQjs0QkFDRSxPQUFPLEVBQUUsaUJBQWlCOzRCQUMxQixXQUFXLGlDQUFpQzs0QkFDNUMsS0FBSyxFQUFFLElBQUk7eUJBQ1o7cUJBQ0Y7OEtBS1EsY0FBYztzQkFBdEIsS0FBSztnQkFDRyxVQUFVO3NCQUFsQixLQUFLO2dCQUNHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSztnQkFFYSxXQUFXO3NCQUE3QixNQUFNO2dCQUtHLFVBQVU7c0JBQW5CLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBmaWx0ZXIsIE9ic2VydmFibGUsIHRha2VVbnRpbCB9IGZyb20gJ3J4anMnO1xyXG5cclxuaW1wb3J0IHtcclxuICBBZnRlclZpZXdJbml0LFxyXG4gIENvbXBvbmVudCwgRWxlbWVudFJlZiwgRXZlbnRFbWl0dGVyLCBJbmplY3RvciwgSW5wdXQsIE5nWm9uZSwgT25DaGFuZ2VzLCBPbkRlc3Ryb3ksXHJcbiAgT3V0cHV0LCBTaW1wbGVDaGFuZ2VzXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBOR19WQUxVRV9BQ0NFU1NPUiwgTmdDb250cm9sLCBVbnR5cGVkRm9ybUNvbnRyb2wgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcblxyXG5pbXBvcnQgeyBVbnN1YnNjcmliZVNlcnZpY2UgfSBmcm9tICcuLi8uLi9wdWJsaWMtYXBpJztcclxuaW1wb3J0IEVsZW1lbnRCYXNlQ29tcG9uZW50IGZyb20gJy4uL2Jhc2UvZWxlbWVudC1iYXNlJztcclxuXHJcbmltcG9ydCBQbGFjZVJlc3VsdCA9IGdvb2dsZS5tYXBzLnBsYWNlcy5QbGFjZVJlc3VsdDtcclxuXHJcbkBDb21wb25lbnQoIHtcclxuICBzZWxlY3RvcjogJ2VjYWJzLXBsYWNlLWF1dG9jb21wbGV0ZScsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2VjYWJzLXBsYWNlLWF1dG9jb21wbGV0ZS5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbICcuL2VjYWJzLXBsYWNlLWF1dG9jb21wbGV0ZS5jb21wb25lbnQuc2NzcycgXSxcclxuICBwcm92aWRlcnM6IFtcclxuICAgIFVuc3Vic2NyaWJlU2VydmljZSxcclxuICAgIHtcclxuICAgICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXHJcbiAgICAgIHVzZUV4aXN0aW5nOiBFY2Fic1BsYWNlQXV0b2NvbXBsZXRlQ29tcG9uZW50LFxyXG4gICAgICBtdWx0aTogdHJ1ZSxcclxuICAgIH0sXHJcbiAgXSxcclxufSApXHJcbmV4cG9ydCBjbGFzcyBFY2Fic1BsYWNlQXV0b2NvbXBsZXRlQ29tcG9uZW50XHJcbiAgZXh0ZW5kcyBFbGVtZW50QmFzZUNvbXBvbmVudFxyXG4gIGltcGxlbWVudHMgT25EZXN0cm95LCBPbkNoYW5nZXMsIEFmdGVyVmlld0luaXQsIENvbnRyb2xWYWx1ZUFjY2Vzc29yIHtcclxuICBASW5wdXQoKSBzaG93RGVsZXRlSXRlbSA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIHNob3dTdWZmaXggPSBmYWxzZTtcclxuICBASW5wdXQoKSBjb3VudHJ5Q29kZSA9ICdNVCc7XHJcbiAgQElucHV0KCkgYXBpTG9hZGVkJDogT2JzZXJ2YWJsZTxib29sZWFuPjtcclxuXHJcbiAgQE91dHB1dCgpIHJlYWRvbmx5IHBsYWNlUmVzdWx0OiBFdmVudEVtaXR0ZXI8e1xyXG4gICAgcGxhY2U6IFBsYWNlUmVzdWx0O1xyXG4gICAgdGV4dDogc3RyaW5nO1xyXG4gIH0+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG5cclxuICBAT3V0cHV0KCkgZGVsZXRlSXRlbSA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuXHJcbiAgdmFsITogc3RyaW5nO1xyXG5cclxuICBnZXQgdmFsdWUoKTogc3RyaW5nIHtcclxuICAgIHJldHVybiB0aGlzLnZhbDtcclxuICB9XHJcblxyXG4gIHNldCB2YWx1ZSggdmFsICkge1xyXG4gICAgaWYgKCB0aGlzLnZhbCAhPT0gdmFsICkge1xyXG4gICAgICB0aGlzLnZhbCA9IHZhbDtcclxuICAgICAgdGhpcy5vbkNoYW5nZSggdmFsICk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgcmVhZG9ubHkgbmdab25lOiBOZ1pvbmUsXHJcbiAgICBwcml2YXRlIHJlYWRvbmx5IHVuc3Vic2NyaWJlU2VydmljZTogVW5zdWJzY3JpYmVTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSByZWFkb25seSBlbGVtZW50UmVmOiBFbGVtZW50UmVmLFxyXG4gICAgcHJpdmF0ZSByZWFkb25seSBpbmplY3RvcjogSW5qZWN0b3JcclxuICApIHtcclxuICAgIHN1cGVyKCk7XHJcbiAgfVxyXG5cclxuICBuZ09uQ2hhbmdlcyggY2hhbmdlczogU2ltcGxlQ2hhbmdlcyApOiB2b2lkIHtcclxuICAgIGNvbnN0IHsgdmFsdWUsIGFwaUxvYWRlZCQgfSA9IGNoYW5nZXMgPz8ge307XHJcblxyXG4gICAgaWYgKCAhdmFsdWU/LmZpcnN0Q2hhbmdlICYmICF2YWx1ZT8uY3VycmVudFZhbHVlICkge1xyXG4gICAgICB0aGlzLm9uQ2xlYW4oKTtcclxuICAgIH1cclxuXHJcbiAgICBpZiAoIGFwaUxvYWRlZCQ/LmN1cnJlbnRWYWx1ZSApIHtcclxuICAgICAgdGhpcy5hcGlMb2FkZWQkLnBpcGUoXHJcbiAgICAgICAgdGFrZVVudGlsKCB0aGlzLnVuc3Vic2NyaWJlU2VydmljZS5zdWJzY3JpcHRpb24oKSApLFxyXG4gICAgICAgIGZpbHRlciggKCB2YWx1ZSApID0+ICEhdmFsdWUgKVxyXG4gICAgICApXHJcbiAgICAgICAgLnN1YnNjcmliZSggKCkgPT4ge1xyXG4gICAgICAgICAgdGhpcy5pbml0R29vZ2xlKCk7XHJcbiAgICAgICAgfSApO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xyXG4gICAgY29uc3QgbmdDb250cm9sOiBOZ0NvbnRyb2wgPSB0aGlzLmluamVjdG9yLmdldCggTmdDb250cm9sLCBudWxsICkgYXMgTmdDb250cm9sO1xyXG4gICAgaWYgKCBuZ0NvbnRyb2wgKSB7XHJcbiAgICAgIHRoaXMuY29udHJvbCA9IG5nQ29udHJvbC5jb250cm9sIGFzIFVudHlwZWRGb3JtQ29udHJvbDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgdGhpcy51bnN1YnNjcmliZVNlcnZpY2UuZGVzdHJveSgpO1xyXG4gIH1cclxuXHJcbiAgb25DaGFuZ2U6IGFueSA9ICgpID0+IHsgfTtcclxuXHJcbiAgb25Ub3VjaDogYW55ID0gKCkgPT4geyB9O1xyXG5cclxuICB3cml0ZVZhbHVlKCB2YWx1ZTogYW55ICk6IHZvaWQge1xyXG4gICAgdGhpcy52YWx1ZSA9IHZhbHVlO1xyXG4gIH1cclxuXHJcbiAgcmVnaXN0ZXJPbkNoYW5nZSggZm46IGFueSApOiB2b2lkIHtcclxuICAgIHRoaXMub25DaGFuZ2UgPSBmbjtcclxuICB9XHJcblxyXG4gIHJlZ2lzdGVyT25Ub3VjaGVkKCBmbjogYW55ICk6IHZvaWQge1xyXG4gICAgdGhpcy5vblRvdWNoID0gZm47XHJcbiAgfVxyXG5cclxuICBvbkRlbGV0ZUl0ZW0oKTogdm9pZCB7XHJcbiAgICB0aGlzLmRlbGV0ZUl0ZW0uZW1pdCgpO1xyXG4gIH1cclxuXHJcbiAgb25DbGVhbigpOiB2b2lkIHtcclxuICAgIHRoaXMudmFsdWUgPSAnJztcclxuICAgIHRoaXMub25Ub3VjaCgpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBpbml0R29vZ2xlKCk6IHZvaWQge1xyXG4gICAgY29uc3QgYXV0b2NvbXBsZXRlID0gbmV3IGdvb2dsZS5tYXBzLnBsYWNlcy5BdXRvY29tcGxldGUoIHRoaXMuZ2V0RWxlbWVudCgpLCB7XHJcbiAgICAgIHR5cGVzOiBbXSxcclxuICAgICAgY29tcG9uZW50UmVzdHJpY3Rpb25zOiB7IGNvdW50cnk6IFsgdGhpcy5jb3VudHJ5Q29kZSBdIH0sXHJcbiAgICAgIGZpZWxkczogWyAnYWRkcmVzc19jb21wb25lbnRzJywgJ2dlb21ldHJ5LmxvY2F0aW9uJyBdLFxyXG4gICAgfSApO1xyXG5cclxuICAgIGF1dG9jb21wbGV0ZS5hZGRMaXN0ZW5lciggJ3BsYWNlX2NoYW5nZWQnLCAoKSA9PiB7XHJcbiAgICAgIHRoaXMubmdab25lLnJ1biggKCkgPT4ge1xyXG4gICAgICAgIGNvbnN0IHBsYWNlID0gYXV0b2NvbXBsZXRlLmdldFBsYWNlKCk7XHJcblxyXG4gICAgICAgIC8vIHZlcmlmeSByZXN1bHRcclxuICAgICAgICBpZiAoIHBsYWNlLmdlb21ldHJ5ID09PSB1bmRlZmluZWQgfHwgcGxhY2UuZ2VvbWV0cnkgPT09IG51bGwgKSB7XHJcbiAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICB0aGlzLnBsYWNlUmVzdWx0LmVtaXQoIHtcclxuICAgICAgICAgIHBsYWNlOiBwbGFjZSxcclxuICAgICAgICAgIHRleHQ6IHRoaXMuZ2V0RWxlbWVudCgpLnZhbHVlLFxyXG4gICAgICAgIH0gKTtcclxuICAgICAgfSApO1xyXG4gICAgfSApO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBnZXRFbGVtZW50KCk6IGFueSB7XHJcbiAgICByZXR1cm4gdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQucXVlcnlTZWxlY3RvciggJy5mb3JtLWZpZWxkX19pbnB1dCcgKTtcclxuICB9XHJcbn1cclxuIiwiPGFwcC1lbGVtZW50LXdyYXBwZXIgW2RhdGFdPVwiZ2V0RGF0YSgpXCI+XHJcbiAgPGRpdiBjbGFzcz1cImZvcm0tZmllbGRfX2lucHV0LS13cmFwcGVyIHctZnVsbFwiPlxyXG4gICAgPGlucHV0XHJcbiAgICAgIFtwbGFjZWhvbGRlcl09XCJwbGFjZWhvbGRlclwiXHJcbiAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXHJcbiAgICAgIFsobmdNb2RlbCldPVwidmFsdWVcIlxyXG4gICAgICBbaWRdPVwibmFtZVwiXHJcbiAgICAgIGNsYXNzPVwiZm9ybS1maWVsZF9faW5wdXQgdy1mdWxsXCJcclxuICAgICAgYXV0b2NvcnJlY3Q9XCJvZmZcIlxyXG4gICAgICBhdXRvY2FwaXRhbGl6ZT1cIm9mZlwiXHJcbiAgICAgIHNwZWxsY2hlY2s9XCJvZmZcIlxyXG4gICAgICAoYmx1cik9XCJvblRvdWNoKClcIlxyXG4gICAgLz5cclxuICAgICAgPGRpdiBjbGFzcz1cImZvcm0tZmllbGRfX2lucHV0LS1zdWZmaXhcIiAqbmdJZj1cInNob3dTdWZmaXhcIj5cclxuICAgICAgICA8bWF0LWljb24gY2xhc3M9XCJzdWZmaXhcIiAqbmdJZj1cIiFzaG93RGVsZXRlSXRlbSAmJiAhdmFsdWVcIj5zZWFyY2g8L21hdC1pY29uPlxyXG4gICAgICAgIDxtYXQtaWNvbiBjbGFzcz1cInN1ZmZpeCBjdXJzb3ItcG9pbnRlciBkZWxldGUtYnV0dG9uXCIgKm5nSWY9XCJzaG93RGVsZXRlSXRlbVwiIChjbGljayk9XCJvbkRlbGV0ZUl0ZW0oKVwiXHJcbiAgICAgICAgPmRlbGV0ZTwvbWF0LWljb25cclxuICAgICAgICA+XHJcbiAgICAgICAgPG1hdC1pY29uIGNsYXNzPVwic3VmZml4IGN1cnNvci1wb2ludGVyXCIgKm5nSWY9XCIhc2hvd0RlbGV0ZUl0ZW0gJiYgdmFsdWVcIiAoY2xpY2spPVwib25DbGVhbigpXCI+Y2xvc2U8L21hdC1pY29uPlxyXG4gICAgICA8L2Rpdj5cclxuICA8L2Rpdj5cclxuPC9hcHAtZWxlbWVudC13cmFwcGVyPlxyXG4iXX0=
152
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWNhYnMtcGxhY2UtYXV0b2NvbXBsZXRlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VjYWJzLWNvbXBvbmVudHMvc3JjL2xpYi9lY2Ficy1wbGFjZS1hdXRvY29tcGxldGUvZWNhYnMtcGxhY2UtYXV0b2NvbXBsZXRlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VjYWJzLWNvbXBvbmVudHMvc3JjL2xpYi9lY2Ficy1wbGFjZS1hdXRvY29tcGxldGUvZWNhYnMtcGxhY2UtYXV0b2NvbXBsZXRlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxHQUFHLEVBQWMsRUFBRSxFQUFFLFdBQVcsRUFBRSxTQUFTLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFFN0YsT0FBTyxFQUVMLFNBQVMsRUFBYyxZQUFZLEVBQVksS0FBSyxFQUNwRCxNQUFNLEVBQ1AsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUF3QixpQkFBaUIsRUFBRSxTQUFTLEVBQXNCLE1BQU0sZ0JBQWdCLENBQUM7QUFFeEcsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDdEQsT0FBTyxvQkFBb0IsTUFBTSxzQkFBc0IsQ0FBQztBQUd4RCxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7Ozs7Ozs7QUFlbkQsTUFBTSxPQUFPLCtCQUNYLFNBQVEsb0JBQW9CO0lBaUNUO0lBQ0E7SUFDQTtJQUNBO0lBbENWLGNBQWMsR0FBRyxLQUFLLENBQUM7SUFDdkIsVUFBVSxHQUFHLEtBQUssQ0FBQztJQUNuQixXQUFXLEdBQUcsSUFBSSxDQUFDO0lBQ25CLE1BQU0sQ0FBUztJQUVMLFdBQVcsR0FHekIsSUFBSSxZQUFZLEVBQUUsQ0FBQztJQUVkLFVBQVUsR0FBRyxJ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QVMsRUFBRSxDQUFFLFFBQVEsRUFBRSxTQUFTLENBQUU7U0FDbkMsQ0FBRSxDQUFDO1FBRUosT0FBTyxJQUFJLENBQUUsTUFBTSxDQUFDLGFBQWEsQ0FBRSxNQUFNLENBQUUsQ0FBRSxDQUFDLElBQUksQ0FDaEQsR0FBRyxDQUFFLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBRSxFQUNqQixXQUFXLEVBQUUsRUFDYixVQUFVLENBQUUsR0FBRyxFQUFFLENBQUMsRUFBRSxDQUFFLEtBQUssQ0FBRSxDQUFFLENBQ2hDLENBQUM7SUFDSixDQUFDO3dHQTlJVSwrQkFBK0I7NEZBQS9CLCtCQUErQiw0T0FUL0I7WUFDVCxrQkFBa0I7WUFDbEI7Z0JBQ0UsT0FBTyxFQUFFLGlCQUFpQjtnQkFDMUIsV0FBVyxFQUFFLCtCQUErQjtnQkFDNUMsS0FBSyxFQUFFLElBQUk7YUFDWjtTQUNGLHNFQzFCSCwwNUJBc0JBOzs0RkRNYSwrQkFBK0I7a0JBYjNDLFNBQVM7K0JBQ0UsMEJBQTBCLGFBR3pCO3dCQUNULGtCQUFrQjt3QkFDbEI7NEJBQ0UsT0FBTyxFQUFFLGlCQUFpQjs0QkFDMUIsV0FBVyxpQ0FBaUM7NEJBQzVDLEtBQUssRUFBRSxJQUFJO3lCQUNaO3FCQUNGOzhLQUtRLGNBQWM7c0JBQXRCLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLO2dCQUNHLE1BQU07c0JBQWQsS0FBSztnQkFFYSxXQUFXO3NCQUE3QixNQUFNO2dCQUtHLFVBQVU7c0JBQW5CLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjYXRjaEVycm9yLCBmaWx0ZXIsIGZyb20sIG1hcCwgT2JzZXJ2YWJsZSwgb2YsIHNoYXJlUmVwbGF5LCB0YWtlVW50aWwgfSBmcm9tICdyeGpzJztcclxuXHJcbmltcG9ydCB7XHJcbiAgQWZ0ZXJWaWV3SW5pdCxcclxuICBDb21wb25lbnQsIEVsZW1lbnRSZWYsIEV2ZW50RW1pdHRlciwgSW5qZWN0b3IsIElucHV0LCBOZ1pvbmUsIE9uQ2hhbmdlcywgT25EZXN0cm95LFxyXG4gIE91dHB1dCwgU2ltcGxlQ2hhbmdlc1xyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBDb250cm9sVmFsdWVBY2Nlc3NvciwgTkdfVkFMVUVfQUNDRVNTT1IsIE5nQ29udHJvbCwgVW50eXBlZEZvcm1Db250cm9sIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5cclxuaW1wb3J0IHsgVW5zdWJzY3JpYmVTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vcHVibGljLWFwaSc7XHJcbmltcG9ydCBFbGVtZW50QmFzZUNvbXBvbmVudCBmcm9tICcuLi9iYXNlL2VsZW1lbnQtYmFzZSc7XHJcblxyXG5pbXBvcnQgUGxhY2VSZXN1bHQgPSBnb29nbGUubWFwcy5wbGFjZXMuUGxhY2VSZXN1bHQ7XHJcbmltcG9ydCB7IExvYWRlciB9IGZyb20gJ0Bnb29nbGVtYXBzL2pzLWFwaS1sb2FkZXInO1xyXG5cclxuQENvbXBvbmVudCgge1xyXG4gIHNlbGVjdG9yOiAnZWNhYnMtcGxhY2UtYXV0b2NvbXBsZXRlJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vZWNhYnMtcGxhY2UtYXV0b2NvbXBsZXRlLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsgJy4vZWNhYnMtcGxhY2UtYXV0b2NvbXBsZXRlLmNvbXBvbmVudC5zY3NzJyBdLFxyXG4gIHByb3ZpZGVyczogW1xyXG4gICAgVW5zdWJzY3JpYmVTZXJ2aWNlLFxyXG4gICAge1xyXG4gICAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcclxuICAgICAgdXNlRXhpc3Rpbmc6IEVjYWJzUGxhY2VBdXRvY29tcGxldGVDb21wb25lbnQsXHJcbiAgICAgIG11bHRpOiB0cnVlLFxyXG4gICAgfSxcclxuICBdLFxyXG59IClcclxuZXhwb3J0IGNsYXNzIEVjYWJzUGxhY2VBdXRvY29tcGxldGVDb21wb25lbnRcclxuICBleHRlbmRzIEVsZW1lbnRCYXNlQ29tcG9uZW50XHJcbiAgaW1wbGVtZW50cyBPbkRlc3Ryb3ksIE9uQ2hhbmdlcywgQWZ0ZXJWaWV3SW5pdCwgQ29udHJvbFZhbHVlQWNjZXNzb3Ige1xyXG4gIEBJbnB1dCgpIHNob3dEZWxldGVJdGVtID0gZmFsc2U7XHJcbiAgQElucHV0KCkgc2hvd1N1ZmZpeCA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIGNvdW50cnlDb2RlID0gJ01UJztcclxuICBASW5wdXQoKSBhcGlLZXk6IHN0cmluZztcclxuXHJcbiAgQE91dHB1dCgpIHJlYWRvbmx5IHBsYWNlUmVzdWx0OiBFdmVudEVtaXR0ZXI8e1xyXG4gICAgcGxhY2U6IFBsYWNlUmVzdWx0O1xyXG4gICAgdGV4dDogc3RyaW5nO1xyXG4gIH0+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG5cclxuICBAT3V0cHV0KCkgZGVsZXRlSXRlbSA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuXHJcbiAgYXBpTG9hZGVkJDogT2JzZXJ2YWJsZTxib29sZWFuPjtcclxuICB2YWwhOiBzdHJpbmc7XHJcblxyXG4gIGdldCB2YWx1ZSgpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIHRoaXMudmFsO1xyXG4gIH1cclxuXHJcbiAgc2V0IHZhbHVlKCB2YWwgKSB7XHJcbiAgICBpZiAoIHZhbCAhPT0gdW5kZWZpbmVkICYmIHRoaXMudmFsICE9PSB2YWwgKSB7XHJcbiAgICAgIHRoaXMudmFsID0gdmFsO1xyXG4gICAgICB0aGlzLm9uQ2hhbmdlKCB2YWwgKTtcclxuXHJcbiAgICAgIGlmICggdGhpcy5nZXREYXRhKCk/LmNvbnRyb2w/LnVwZGF0ZU9uICE9PSAnYmx1cicgKSB7XHJcbiAgICAgICAgdGhpcy5vblRvdWNoKCB2YWwgKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIHJlYWRvbmx5IG5nWm9uZTogTmdab25lLFxyXG4gICAgcHJpdmF0ZSByZWFkb25seSB1bnN1YnNjcmliZVNlcnZpY2U6IFVuc3Vic2NyaWJlU2VydmljZSxcclxuICAgIHByaXZhdGUgcmVhZG9ubHkgZWxlbWVudFJlZjogRWxlbWVudFJlZixcclxuICAgIHByaXZhdGUgcmVhZG9ubHkgaW5qZWN0b3I6IEluamVjdG9yXHJcbiAgKSB7XHJcbiAgICBzdXBlcigpO1xyXG4gIH1cclxuXHJcbiAgbmdPbkNoYW5nZXMoIGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMgKTogdm9pZCB7XHJcbiAgICBjb25zdCB7IHZhbHVlLCBhcGlLZXkgfSA9IGNoYW5nZXMgPz8ge307XHJcblxyXG4gICAgaWYgKCAhdmFsdWU/LmZpcnN0Q2hhbmdlICYmICF2YWx1ZT8uY3VycmVudFZhbHVlICkge1xyXG4gICAgICB0aGlzLm9uQ2xlYW4oKTtcclxuICAgIH1cclxuXHJcbiAgICBpZiAoIGFwaUtleT8uY3VycmVudFZhbHVlICkge1xyXG4gICAgICB0aGlzLmFwaUxvYWRlZCQgPSB0aGlzLmxvYWRHb29nbGVNYXAoIHRoaXMuYXBpS2V5ICk7XHJcblxyXG4gICAgICB0aGlzLmFwaUxvYWRlZCQucGlwZShcclxuICAgICAgICB0YWtlVW50aWwoIHRoaXMudW5zdWJzY3JpYmVTZXJ2aWNlLnN1YnNjcmlwdGlvbigpICksXHJcbiAgICAgICAgZmlsdGVyKCAoIHZhbHVlICkgPT4gISF2YWx1ZSApXHJcbiAgICAgIClcclxuICAgICAgICAuc3Vic2NyaWJlKCAoKSA9PiB7XHJcbiAgICAgICAgICB0aGlzLmluaXRHb29nbGUoKTtcclxuICAgICAgICB9ICk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XHJcbiAgICBjb25zdCBuZ0NvbnRyb2w6IE5nQ29udHJvbCA9IHRoaXMuaW5qZWN0b3IuZ2V0KCBOZ0NvbnRyb2wsIG51bGwgKSBhcyBOZ0NvbnRyb2w7XHJcbiAgICBpZiAoIG5nQ29udHJvbCApIHtcclxuICAgICAgdGhpcy5jb250cm9sID0gbmdDb250cm9sLmNvbnRyb2wgYXMgVW50eXBlZEZvcm1Db250cm9sO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcbiAgICB0aGlzLnVuc3Vic2NyaWJlU2VydmljZS5kZXN0cm95KCk7XHJcbiAgfVxyXG5cclxuICBvbkNoYW5nZTogYW55ID0gKCkgPT4geyB9O1xyXG5cclxuICBvblRvdWNoOiBhbnkgPSAoKSA9PiB7IH07XHJcblxyXG4gIHdyaXRlVmFsdWUoIHZhbHVlOiBhbnkgKTogdm9pZCB7XHJcbiAgICB0aGlzLnZhbHVlID0gdmFsdWU7XHJcbiAgfVxyXG5cclxuICByZWdpc3Rlck9uQ2hhbmdlKCBmbjogYW55ICk6IHZvaWQge1xyXG4gICAgdGhpcy5vbkNoYW5nZSA9IGZuO1xyXG4gIH1cclxuXHJcbiAgcmVnaXN0ZXJPblRvdWNoZWQoIGZuOiBhbnkgKTogdm9pZCB7XHJcbiAgICB0aGlzLm9uVG91Y2ggPSBmbjtcclxuICB9XHJcblxyXG4gIG9uRGVsZXRlSXRlbSgpOiB2b2lkIHtcclxuICAgIHRoaXMuZGVsZXRlSXRlbS5lbWl0KCk7XHJcbiAgfVxyXG5cclxuICBvbkNsZWFuKCk6IHZvaWQge1xyXG4gICAgdGhpcy52YWx1ZSA9ICcnO1xyXG4gICAgdGhpcy5vblRvdWNoKCk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGluaXRHb29nbGUoKTogdm9pZCB7XHJcbiAgICBjb25zdCBhdXRvY29tcGxldGUgPSBuZXcgZ29vZ2xlLm1hcHMucGxhY2VzLkF1dG9jb21wbGV0ZSggdGhpcy5nZXRFbGVtZW50KCksIHtcclxuICAgICAgdHlwZXM6IFtdLFxyXG4gICAgICBjb21wb25lbnRSZXN0cmljdGlvbnM6IHsgY291bnRyeTogWyB0aGlzLmNvdW50cnlDb2RlIF0gfSxcclxuICAgICAgZmllbGRzOiBbICdhZGRyZXNzX2NvbXBvbmVudHMnLCAnZ2VvbWV0cnkubG9jYXRpb24nIF0sXHJcbiAgICB9ICk7XHJcblxyXG4gICAgYXV0b2NvbXBsZXRlLmFkZExpc3RlbmVyKCAncGxhY2VfY2hhbmdlZCcsICgpID0+IHtcclxuICAgICAgdGhpcy5uZ1pvbmUucnVuKCAoKSA9PiB7XHJcbiAgICAgICAgY29uc3QgcGxhY2UgPSBhdXRvY29tcGxldGUuZ2V0UGxhY2UoKTtcclxuXHJcbiAgICAgICAgLy8gdmVyaWZ5IHJlc3VsdFxyXG4gICAgICAgIGlmICggcGxhY2UuZ2VvbWV0cnkgPT09IHVuZGVmaW5lZCB8fCBwbGFjZS5nZW9tZXRyeSA9PT0gbnVsbCApIHtcclxuICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHRoaXMucGxhY2VSZXN1bHQuZW1pdCgge1xyXG4gICAgICAgICAgcGxhY2U6IHBsYWNlLFxyXG4gICAgICAgICAgdGV4dDogdGhpcy5nZXRFbGVtZW50KCkudmFsdWUsXHJcbiAgICAgICAgfSApO1xyXG4gICAgICB9ICk7XHJcbiAgICB9ICk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGdldEVsZW1lbnQoKTogYW55IHtcclxuICAgIHJldHVybiB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5xdWVyeVNlbGVjdG9yKCAnLmZvcm0tZmllbGRfX2lucHV0JyApO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBsb2FkR29vZ2xlTWFwKCBhcGlLZXk6IHN0cmluZyApOiBPYnNlcnZhYmxlPGJvb2xlYW4+IHtcclxuICAgIGlmICggdGhpcy5hcGlMb2FkZWQkICkge1xyXG4gICAgICByZXR1cm4gdGhpcy5hcGlMb2FkZWQkO1xyXG4gICAgfVxyXG5cclxuICAgIGNvbnN0IGxvYWRlciA9IG5ldyBMb2FkZXIoIHtcclxuICAgICAgYXBpS2V5OiBhcGlLZXksXHJcbiAgICAgIHZlcnNpb246ICd3ZWVrbHknLFxyXG4gICAgICBsaWJyYXJpZXM6IFsgJ3BsYWNlcycsICdkcmF3aW5nJyBdLFxyXG4gICAgfSApO1xyXG5cclxuICAgIHJldHVybiBmcm9tKCBsb2FkZXIuaW1wb3J0TGlicmFyeSggJ21hcHMnICkgKS5waXBlKFxyXG4gICAgICBtYXAoICgpID0+IHRydWUgKSxcclxuICAgICAgc2hhcmVSZXBsYXkoKSxcclxuICAgICAgY2F0Y2hFcnJvciggKCkgPT4gb2YoIGZhbHNlICkgKVxyXG4gICAgKTtcclxuICB9XHJcbn1cclxuIiwiPGFwcC1lbGVtZW50LXdyYXBwZXIgW2RhdGFdPVwiZ2V0RGF0YSgpXCI+XHJcbiAgPGRpdiBjbGFzcz1cImZvcm0tZmllbGRfX2lucHV0LS13cmFwcGVyIHctZnVsbFwiPlxyXG4gICAgPGlucHV0XHJcbiAgICAgIFtwbGFjZWhvbGRlcl09XCJwbGFjZWhvbGRlclwiXHJcbiAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXHJcbiAgICAgIFsobmdNb2RlbCldPVwidmFsdWVcIlxyXG4gICAgICBbaWRdPVwibmFtZVwiXHJcbiAgICAgIGNsYXNzPVwiZm9ybS1maWVsZF9faW5wdXQgdy1mdWxsXCJcclxuICAgICAgYXV0b2NvcnJlY3Q9XCJvZmZcIlxyXG4gICAgICBhdXRvY2FwaXRhbGl6ZT1cIm9mZlwiXHJcbiAgICAgIHNwZWxsY2hlY2s9XCJvZmZcIlxyXG4gICAgICAoYmx1cik9XCJvblRvdWNoKClcIlxyXG4gICAgLz5cclxuICAgICAgPGRpdiBjbGFzcz1cImZvcm0tZmllbGRfX2lucHV0LS1zdWZmaXhcIiAqbmdJZj1cInNob3dTdWZmaXhcIj5cclxuICAgICAgICA8bWF0LWljb24gY2xhc3M9XCJzdWZmaXhcIiAqbmdJZj1cIiFzaG93RGVsZXRlSXRlbSAmJiAhdmFsdWVcIj5zZWFyY2g8L21hdC1pY29uPlxyXG4gICAgICAgIDxtYXQtaWNvbiBjbGFzcz1cInN1ZmZpeCBjdXJzb3ItcG9pbnRlciBkZWxldGUtYnV0dG9uXCIgKm5nSWY9XCJzaG93RGVsZXRlSXRlbVwiIChjbGljayk9XCJvbkRlbGV0ZUl0ZW0oKVwiXHJcbiAgICAgICAgPmRlbGV0ZTwvbWF0LWljb25cclxuICAgICAgICA+XHJcbiAgICAgICAgPG1hdC1pY29uIGNsYXNzPVwic3VmZml4IGN1cnNvci1wb2ludGVyXCIgKm5nSWY9XCIhc2hvd0RlbGV0ZUl0ZW0gJiYgdmFsdWVcIiAoY2xpY2spPVwib25DbGVhbigpXCI+Y2xvc2U8L21hdC1pY29uPlxyXG4gICAgICA8L2Rpdj5cclxuICA8L2Rpdj5cclxuPC9hcHAtZWxlbWVudC13cmFwcGVyPlxyXG4iXX0=
@@ -8,7 +8,7 @@ import * as i2$1 from '@angular/material/icon';
8
8
  import { MatIconModule } from '@angular/material/icon';
9
9
  import * as i3 from '@angular/forms';
10
10
  import { NgControl, NG_VALUE_ACCESSOR, FormsModule, UntypedFormControl, ReactiveFormsModule, UntypedFormGroup, Validators } from '@angular/forms';
11
- import { BehaviorSubject, Subscription, combineLatest, map, debounceTime, Subject, takeUntil, first, filter } from 'rxjs';
11
+ import { BehaviorSubject, Subscription, combineLatest, map, debounceTime, Subject, takeUntil, first, filter, from, shareReplay, catchError, of } from 'rxjs';
12
12
  import * as i5 from '@angular/material/legacy-tooltip';
13
13
  import { MatLegacyTooltipModule } from '@angular/material/legacy-tooltip';
14
14
  import { MatLegacyInputModule } from '@angular/material/legacy-input';
@@ -49,6 +49,7 @@ import { MAT_LEGACY_DIALOG_DATA, MatLegacyDialogModule } from '@angular/material
49
49
  import { map as map$1 } from 'rxjs/operators';
50
50
  import * as i3$5 from '@angular/platform-browser';
51
51
  import { MatSidenavModule } from '@angular/material/sidenav';
52
+ import { Loader } from '@googlemaps/js-api-loader';
52
53
 
53
54
  class EcabsSpinnerComponent {
54
55
  size = 'medium';
@@ -4510,17 +4511,21 @@ class EcabsPlaceAutocompleteComponent extends ElementBaseComponent {
4510
4511
  showDeleteItem = false;
4511
4512
  showSuffix = false;
4512
4513
  countryCode = 'MT';
4513
- apiLoaded$;
4514
+ apiKey;
4514
4515
  placeResult = new EventEmitter();
4515
4516
  deleteItem = new EventEmitter();
4517
+ apiLoaded$;
4516
4518
  val;
4517
4519
  get value() {
4518
4520
  return this.val;
4519
4521
  }
4520
4522
  set value(val) {
4521
- if (this.val !== val) {
4523
+ if (val !== undefined && this.val !== val) {
4522
4524
  this.val = val;
4523
4525
  this.onChange(val);
4526
+ if (this.getData()?.control?.updateOn !== 'blur') {
4527
+ this.onTouch(val);
4528
+ }
4524
4529
  }
4525
4530
  }
4526
4531
  constructor(ngZone, unsubscribeService, elementRef, injector) {
@@ -4531,11 +4536,12 @@ class EcabsPlaceAutocompleteComponent extends ElementBaseComponent {
4531
4536
  this.injector = injector;
4532
4537
  }
4533
4538
  ngOnChanges(changes) {
4534
- const { value, apiLoaded$ } = changes ?? {};
4539
+ const { value, apiKey } = changes ?? {};
4535
4540
  if (!value?.firstChange && !value?.currentValue) {
4536
4541
  this.onClean();
4537
4542
  }
4538
- if (apiLoaded$?.currentValue) {
4543
+ if (apiKey?.currentValue) {
4544
+ this.apiLoaded$ = this.loadGoogleMap(this.apiKey);
4539
4545
  this.apiLoaded$.pipe(takeUntil(this.unsubscribeService.subscription()), filter((value) => !!value))
4540
4546
  .subscribe(() => {
4541
4547
  this.initGoogle();
@@ -4592,8 +4598,19 @@ class EcabsPlaceAutocompleteComponent extends ElementBaseComponent {
4592
4598
  getElement() {
4593
4599
  return this.elementRef.nativeElement.querySelector('.form-field__input');
4594
4600
  }
4601
+ loadGoogleMap(apiKey) {
4602
+ if (this.apiLoaded$) {
4603
+ return this.apiLoaded$;
4604
+ }
4605
+ const loader = new Loader({
4606
+ apiKey: apiKey,
4607
+ version: 'weekly',
4608
+ libraries: ['places', 'drawing'],
4609
+ });
4610
+ return from(loader.importLibrary('maps')).pipe(map(() => true), shareReplay(), catchError(() => of(false)));
4611
+ }
4595
4612
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: EcabsPlaceAutocompleteComponent, deps: [{ token: i0.NgZone }, { token: UnsubscribeService }, { token: i0.ElementRef }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Component });
4596
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: EcabsPlaceAutocompleteComponent, selector: "ecabs-place-autocomplete", inputs: { showDeleteItem: "showDeleteItem", showSuffix: "showSuffix", countryCode: "countryCode", apiLoaded$: "apiLoaded$" }, outputs: { placeResult: "placeResult", deleteItem: "deleteItem" }, providers: [
4613
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: EcabsPlaceAutocompleteComponent, selector: "ecabs-place-autocomplete", inputs: { showDeleteItem: "showDeleteItem", showSuffix: "showSuffix", countryCode: "countryCode", apiKey: "apiKey" }, outputs: { placeResult: "placeResult", deleteItem: "deleteItem" }, providers: [
4597
4614
  UnsubscribeService,
4598
4615
  {
4599
4616
  provide: NG_VALUE_ACCESSOR,
@@ -4618,7 +4635,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
4618
4635
  type: Input
4619
4636
  }], countryCode: [{
4620
4637
  type: Input
4621
- }], apiLoaded$: [{
4638
+ }], apiKey: [{
4622
4639
  type: Input
4623
4640
  }], placeResult: [{
4624
4641
  type: Output