ng-zenduit 1.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 (117) hide show
  1. package/README.md +24 -0
  2. package/esm2020/lib/breadcrumbs/zendu-breadcrumbs.component.mjs +37 -0
  3. package/esm2020/lib/card-block/zendu-card-block.component.mjs +21 -0
  4. package/esm2020/lib/checkbox/zendu-checkbox.component.mjs +44 -0
  5. package/esm2020/lib/colorpicker/zendu-colorpicker.component.mjs +106 -0
  6. package/esm2020/lib/column-configuration/columnState.mjs +2 -0
  7. package/esm2020/lib/column-configuration/zendu-column-configuration.component.mjs +118 -0
  8. package/esm2020/lib/datepicker/date-picker-day.mjs +2 -0
  9. package/esm2020/lib/datepicker/date-picker-hint.mjs +2 -0
  10. package/esm2020/lib/datepicker/datepicker.mjs +9 -0
  11. package/esm2020/lib/datepicker/zendu-datepicker.component.mjs +434 -0
  12. package/esm2020/lib/doc-scanner/zendu-doc-scanner.component.mjs +628 -0
  13. package/esm2020/lib/file-upload/zendu-file-upload.component.mjs +107 -0
  14. package/esm2020/lib/filter/dateRange.mjs +2 -0
  15. package/esm2020/lib/filter/filtersConfig.mjs +2 -0
  16. package/esm2020/lib/filter/numberRange.mjs +2 -0
  17. package/esm2020/lib/filter/zendu-filter.component.mjs +461 -0
  18. package/esm2020/lib/icon/zendu-icon.component.mjs +24 -0
  19. package/esm2020/lib/local.lock.mjs +33 -0
  20. package/esm2020/lib/location-search/location.address.mjs +2 -0
  21. package/esm2020/lib/location-search/zendu-location-search.component.mjs +129 -0
  22. package/esm2020/lib/map/map.types.mjs +2 -0
  23. package/esm2020/lib/map/zendu-map.component.mjs +129 -0
  24. package/esm2020/lib/map-preview/zendu-map-preview.component.mjs +30 -0
  25. package/esm2020/lib/ng-zenduit.module.mjs +158 -0
  26. package/esm2020/lib/pagination-bar/pageItem.mjs +2 -0
  27. package/esm2020/lib/pagination-bar/zendu-pagination-bar.component.mjs +71 -0
  28. package/esm2020/lib/phone-input/zendu-phone-input.component.mjs +141 -0
  29. package/esm2020/lib/progress/zendu-progress.component.mjs +29 -0
  30. package/esm2020/lib/radio-button/radio-button.component.mjs +48 -0
  31. package/esm2020/lib/search-box/zendu-search-box.component.mjs +124 -0
  32. package/esm2020/lib/select/templates/zendu-select-option.directive.mjs +16 -0
  33. package/esm2020/lib/select/templates/zendu-select-value.directive.mjs +16 -0
  34. package/esm2020/lib/select/zendu-select.component.mjs +303 -0
  35. package/esm2020/lib/services/geoconding.service.mjs +61 -0
  36. package/esm2020/lib/services/map.service.mjs +181 -0
  37. package/esm2020/lib/services/opencv.service.mjs +109 -0
  38. package/esm2020/lib/services/zendu-notify.service.mjs +92 -0
  39. package/esm2020/lib/sort-header/zendu-sort-header.component.mjs +36 -0
  40. package/esm2020/lib/spinner/zendu-spinner.component.mjs +11 -0
  41. package/esm2020/lib/toggle/zendu-toggle.component.mjs +32 -0
  42. package/esm2020/lib/toggle-slide/zendu-toggle-slide.component.mjs +27 -0
  43. package/esm2020/lib/util.mjs +93 -0
  44. package/esm2020/ng-zenduit.mjs +5 -0
  45. package/esm2020/public-api.mjs +42 -0
  46. package/fesm2015/ng-zenduit.mjs +3768 -0
  47. package/fesm2015/ng-zenduit.mjs.map +1 -0
  48. package/fesm2020/ng-zenduit.mjs +3735 -0
  49. package/fesm2020/ng-zenduit.mjs.map +1 -0
  50. package/icons/arrow-down-small.svg +3 -0
  51. package/icons/arrow-up-small.svg +3 -0
  52. package/icons/calendar.svg +6 -0
  53. package/icons/cross.svg +3 -0
  54. package/icons/date.svg +3 -0
  55. package/icons/expand.svg +3 -0
  56. package/icons/filter.svg +3 -0
  57. package/icons/play.svg +10 -0
  58. package/icons/redo.svg +3 -0
  59. package/icons/rotate.svg +3 -0
  60. package/icons/time.svg +4 -0
  61. package/icons/undo.svg +3 -0
  62. package/index.d.ts +5 -0
  63. package/lib/breadcrumbs/zendu-breadcrumbs.component.d.ts +22 -0
  64. package/lib/card-block/zendu-card-block.component.d.ts +9 -0
  65. package/lib/checkbox/zendu-checkbox.component.d.ts +17 -0
  66. package/lib/colorpicker/zendu-colorpicker.component.d.ts +28 -0
  67. package/lib/column-configuration/columnState.d.ts +7 -0
  68. package/lib/column-configuration/zendu-column-configuration.component.d.ts +43 -0
  69. package/lib/datepicker/date-picker-day.d.ts +8 -0
  70. package/lib/datepicker/date-picker-hint.d.ts +5 -0
  71. package/lib/datepicker/datepicker.d.ts +7 -0
  72. package/lib/datepicker/zendu-datepicker.component.d.ts +94 -0
  73. package/lib/doc-scanner/zendu-doc-scanner.component.d.ts +82 -0
  74. package/lib/file-upload/zendu-file-upload.component.d.ts +28 -0
  75. package/lib/filter/dateRange.d.ts +4 -0
  76. package/lib/filter/filtersConfig.d.ts +88 -0
  77. package/lib/filter/numberRange.d.ts +4 -0
  78. package/lib/filter/zendu-filter.component.d.ts +59 -0
  79. package/lib/icon/zendu-icon.component.d.ts +10 -0
  80. package/lib/local.lock.d.ts +8 -0
  81. package/lib/location-search/location.address.d.ts +12 -0
  82. package/lib/location-search/zendu-location-search.component.d.ts +32 -0
  83. package/lib/map/map.types.d.ts +33 -0
  84. package/lib/map/zendu-map.component.d.ts +23 -0
  85. package/lib/map-preview/zendu-map-preview.component.d.ts +11 -0
  86. package/lib/ng-zenduit.module.d.ts +34 -0
  87. package/lib/pagination-bar/pageItem.d.ts +4 -0
  88. package/lib/pagination-bar/zendu-pagination-bar.component.d.ts +25 -0
  89. package/lib/phone-input/zendu-phone-input.component.d.ts +39 -0
  90. package/lib/progress/zendu-progress.component.d.ts +14 -0
  91. package/lib/radio-button/radio-button.component.d.ts +18 -0
  92. package/lib/search-box/zendu-search-box.component.d.ts +26 -0
  93. package/lib/select/templates/zendu-select-option.directive.d.ts +8 -0
  94. package/lib/select/templates/zendu-select-value.directive.d.ts +8 -0
  95. package/lib/select/zendu-select.component.d.ts +107 -0
  96. package/lib/services/geoconding.service.d.ts +23 -0
  97. package/lib/services/map.service.d.ts +22 -0
  98. package/lib/services/opencv.service.d.ts +46 -0
  99. package/lib/services/zendu-notify.service.d.ts +10 -0
  100. package/lib/sort-header/zendu-sort-header.component.d.ts +10 -0
  101. package/lib/spinner/zendu-spinner.component.d.ts +5 -0
  102. package/lib/toggle/zendu-toggle.component.d.ts +14 -0
  103. package/lib/toggle-slide/zendu-toggle-slide.component.d.ts +13 -0
  104. package/lib/util.d.ts +11 -0
  105. package/package.json +36 -0
  106. package/public-api.d.ts +38 -0
  107. package/styles/action-menu.scss +127 -0
  108. package/styles/all.scss +11 -0
  109. package/styles/button.scss +188 -0
  110. package/styles/colors.scss +125 -0
  111. package/styles/common-form.scss +159 -0
  112. package/styles/extenal.scss +2 -0
  113. package/styles/ghost.scss +38 -0
  114. package/styles/global-restyle.scss +25 -0
  115. package/styles/page-layout.scss +82 -0
  116. package/styles/snackbar.scss +91 -0
  117. package/styles/table.scss +107 -0
@@ -0,0 +1,33 @@
1
+ export class LocalLock {
2
+ constructor() {
3
+ this._acquired = false;
4
+ this._waitingResolvers = [];
5
+ }
6
+ lock() {
7
+ return new Promise(resolve => {
8
+ if (!this._acquired) {
9
+ this._acquired = true;
10
+ resolve();
11
+ return;
12
+ }
13
+ this._waitingResolvers.push(resolve);
14
+ });
15
+ }
16
+ release() {
17
+ if (!this._acquired) {
18
+ // Trying to release an unacquired lock
19
+ return;
20
+ }
21
+ if (this._waitingResolvers.length > 0) {
22
+ const resolve = this._waitingResolvers.shift();
23
+ resolve();
24
+ }
25
+ else {
26
+ this._acquired = false;
27
+ }
28
+ }
29
+ isLock() {
30
+ return this._acquired;
31
+ }
32
+ }
33
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9jYWwubG9jay5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL25nLXplbmR1aXQvc3JjL2xpYi9sb2NhbC5sb2NrLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sT0FBTyxTQUFTO0lBS2xCO1FBQ0ksSUFBSSxDQUFDLFNBQVMsR0FBRyxLQUFLLENBQUM7UUFDdkIsSUFBSSxDQUFDLGlCQUFpQixHQUFHLEVBQUUsQ0FBQztJQUNoQyxDQUFDO0lBRU0sSUFBSTtRQUNQLE9BQU8sSUFBSSxPQUFPLENBQU8sT0FBTyxDQUFDLEVBQUU7WUFDL0IsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUU7Z0JBQ2pCLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDO2dCQUN0QixPQUFPLEVBQUUsQ0FBQztnQkFDVixPQUFPO2FBQ1Y7WUFFRCxJQUFJLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ3pDLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVNLE9BQU87UUFDVixJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRTtZQUNqQix1Q0FBdUM7WUFDdkMsT0FBTztTQUNWO1FBQ0QsSUFBSSxJQUFJLENBQUMsaUJBQWlCLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRTtZQUNuQyxNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsaUJBQWlCLENBQUMsS0FBSyxFQUFrQixDQUFDO1lBQy9ELE9BQU8sRUFBRSxDQUFDO1NBQ2I7YUFBTTtZQUNILElBQUksQ0FBQyxTQUFTLEdBQUcsS0FBSyxDQUFDO1NBQzFCO0lBQ0wsQ0FBQztJQUdNLE1BQU07UUFFVCxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUM7SUFDMUIsQ0FBQztDQUVKIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNsYXNzIExvY2FsTG9jayB7XG4gICAgcHJpdmF0ZSBfYWNxdWlyZWQ6IGJvb2xlYW47XG5cbiAgICBwcml2YXRlIF93YWl0aW5nUmVzb2x2ZXJzOiBBcnJheTwoKSA9PiB2b2lkPjtcblxuICAgIGNvbnN0cnVjdG9yKCkge1xuICAgICAgICB0aGlzLl9hY3F1aXJlZCA9IGZhbHNlO1xuICAgICAgICB0aGlzLl93YWl0aW5nUmVzb2x2ZXJzID0gW107XG4gICAgfVxuXG4gICAgcHVibGljIGxvY2soKTogUHJvbWlzZTxhbnk+IHtcbiAgICAgICAgcmV0dXJuIG5ldyBQcm9taXNlPHZvaWQ+KHJlc29sdmUgPT4ge1xuICAgICAgICAgICAgaWYgKCF0aGlzLl9hY3F1aXJlZCkge1xuICAgICAgICAgICAgICAgIHRoaXMuX2FjcXVpcmVkID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICByZXNvbHZlKCk7XG4gICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB0aGlzLl93YWl0aW5nUmVzb2x2ZXJzLnB1c2gocmVzb2x2ZSk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHB1YmxpYyByZWxlYXNlKCk6IHZvaWQge1xuICAgICAgICBpZiAoIXRoaXMuX2FjcXVpcmVkKSB7XG4gICAgICAgICAgICAvLyBUcnlpbmcgdG8gcmVsZWFzZSBhbiB1bmFjcXVpcmVkIGxvY2tcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBpZiAodGhpcy5fd2FpdGluZ1Jlc29sdmVycy5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICBjb25zdCByZXNvbHZlID0gdGhpcy5fd2FpdGluZ1Jlc29sdmVycy5zaGlmdCgpIGFzICgoKSA9PiB2b2lkKTtcbiAgICAgICAgICAgIHJlc29sdmUoKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuX2FjcXVpcmVkID0gZmFsc2U7XG4gICAgICAgIH1cbiAgICB9XG5cblxuICAgIHB1YmxpYyBpc0xvY2soKTogYm9vbGVhblxuICAgIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2FjcXVpcmVkO1xuICAgIH1cblxufSJdfQ==
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9jYXRpb24uYWRkcmVzcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLXplbmR1aXQvc3JjL2xpYi9sb2NhdGlvbi1zZWFyY2gvbG9jYXRpb24uYWRkcmVzcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGludGVyZmFjZSBMb2NhdGlvbkFkZHJlc3Mge1xuICAgIG5hbWU6IHN0cmluZztcbiAgICBib3VuZHM6IHsgeG1pbjogbnVtYmVyLCB5bWluOiBudW1iZXIsIHhtYXg6IG51bWJlciwgeW1heDogbnVtYmVyIH07XG59XG5cblxuZXhwb3J0IGludGVyZmFjZSBDYW5jZWxsYXRpb24ge1xuICAgIGNhbmNlbGxlZDogYm9vbGVhbjtcbn1cbiJdfQ==
@@ -0,0 +1,129 @@
1
+ import { Component, EventEmitter, Input, Output } from '@angular/core';
2
+ import { Subject } from 'rxjs';
3
+ import { debounceTime, distinctUntilChanged } from 'rxjs/operators';
4
+ import * as i0 from "@angular/core";
5
+ import * as i1 from "../services/geoconding.service";
6
+ import * as i2 from "@angular/common";
7
+ import * as i3 from "@angular/forms";
8
+ import * as i4 from "../icon/zendu-icon.component";
9
+ export class ZenduLocationSearch {
10
+ constructor(_geocoding, _cdRef) {
11
+ this._geocoding = _geocoding;
12
+ this._cdRef = _cdRef;
13
+ this.displaySearchIcon = true;
14
+ this.addressChange = new EventEmitter();
15
+ this.materialStyle = true;
16
+ this.placeholder = "Search address";
17
+ this.disabled = false;
18
+ this.onSelect = new EventEmitter;
19
+ // it will apply to input element text and icon color:
20
+ // ie. input like { color: blue}
21
+ this.customStyles = {};
22
+ this.addressSearchChanged = new Subject();
23
+ this.isSearching = false;
24
+ this.ignoreFirstLoad = false;
25
+ this.addressList = [];
26
+ this.addressSearchChanged
27
+ .pipe(debounceTime(200), distinctUntilChanged())
28
+ .subscribe((addressSearch) => {
29
+ this.address = addressSearch;
30
+ this.isSearching = true;
31
+ if (this._cancelation) {
32
+ // cancel previous
33
+ this._cancelation.cancelled = true;
34
+ }
35
+ this._cancelation = { cancelled: false };
36
+ this.makeSearch(this._cancelation);
37
+ });
38
+ }
39
+ /**
40
+ * HERE MAPS API Key
41
+ */
42
+ set apiKey(apiKey) {
43
+ this._geocoding.setAPIKey(apiKey);
44
+ }
45
+ async ngOnChanges(changes) {
46
+ if (changes['address'] && this.address) {
47
+ this._cancelation = { cancelled: false };
48
+ await this.makeSearch(this._cancelation);
49
+ const address = this.addressList.find(addr => addr.name === this.address);
50
+ if (address) {
51
+ this.selectAddress(address);
52
+ }
53
+ }
54
+ }
55
+ addressChanged(text) {
56
+ this.isSearching = true;
57
+ this.addressChange.emit(text);
58
+ this.addressSearchChanged.next(text);
59
+ this._cdRef.detectChanges();
60
+ }
61
+ async makeSearch(cancellation) {
62
+ try {
63
+ if (!this.ignoreFirstLoad) {
64
+ this.ignoreFirstLoad = true;
65
+ return;
66
+ }
67
+ this.addressList = [];
68
+ if (!this.address) {
69
+ this.isSearching = false;
70
+ return;
71
+ }
72
+ this.addressList = [];
73
+ let locations = await this._geocoding.geocode(this.address);
74
+ if (this._cancelation.cancelled) {
75
+ // request cancelled
76
+ return;
77
+ }
78
+ for (let location of locations) {
79
+ this.addressList.push({
80
+ name: location.name,
81
+ bounds: location.bounds
82
+ });
83
+ }
84
+ this.addressList = [...new Map(this.addressList.map((item) => [item.name, item])).values()];
85
+ if (this.addressList.length > 20) {
86
+ this.addressList = this.addressList.slice(0, 20);
87
+ }
88
+ this.isSearching = false;
89
+ }
90
+ catch (err) {
91
+ console.error(err);
92
+ }
93
+ finally {
94
+ this._cdRef.detectChanges();
95
+ }
96
+ }
97
+ selectAddress(address) {
98
+ this.address = address.name;
99
+ if (this.onSelect) {
100
+ this.addressList = [];
101
+ this.onSelect.emit(address);
102
+ }
103
+ }
104
+ }
105
+ ZenduLocationSearch.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: ZenduLocationSearch, deps: [{ token: i1.GeocodingService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
106
+ ZenduLocationSearch.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.12", type: ZenduLocationSearch, selector: "zen-location-search", inputs: { apiKey: "apiKey", address: "address", displaySearchIcon: "displaySearchIcon", materialStyle: "materialStyle", placeholder: "placeholder", disabled: "disabled", customStyles: "customStyles" }, outputs: { addressChange: "addressChange", onSelect: "onSelect" }, usesOnChanges: true, ngImport: i0, template: "<div class=\"component\">\n\n <div class=\"search-input-wrapper\"\n [class.boundaries]=\"!materialStyle\">\n <zen-icon src=\"https://storage.googleapis.com/ng-zenduit/icon/search.svg\"\n class=\"search-icon\"\n *ngIf=\"displaySearchIcon\"\n [style]=\"{'background-color': customStyles.color}\"></zen-icon>\n\n <input type=\"text\"\n class=\"material-input\"\n [style]=\"customStyles\"\n [placeholder]=\"placeholder\"\n [disabled]=\"disabled\"\n [(ngModel)]=\"address\"\n [ngClass]=\"{'no-icon': !displaySearchIcon}\"\n (ngModelChange)='addressChanged($event)'>\n </div>\n\n <div class=\"search-list\"\n [class.boundaries]=\"!materialStyle\"\n *ngIf=\"address\"\n appClickOutside\n (clickOutside)=\"addressList = [];\">\n <ul class=\"search-item-list\"\n *ngIf=\"addressList.length || isSearching\">\n <li *ngIf=\"isSearching\">Searching</li>\n <div *ngIf=\"!isSearching\">\n <li *ngFor=\"let address of addressList\"\n (click)=\"selectAddress(address)\">\n {{address.name}}\n </li>\n </div>\n </ul>\n </div>\n</div>\n", styles: [".component,.component .search-input-wrapper{position:relative}.component .search-input-wrapper .search-icon{position:absolute;left:4px;background-color:var(--color-white-tint-6, #bebebe)}.component .search-input-wrapper .material-input{padding-left:38px}.component .search-input-wrapper .material-input.no-icon{padding-left:8px}.component .search-input-wrapper .material-input.no-icon::placeholder{font-size:14px}.component .search-input-wrapper.boundaries .material-input{border:1px solid var(--color-white-tint-4, #d6d6d8);padding-top:8px;border-radius:4px;height:40px;font-style:normal;font-weight:400;font-size:14px;line-height:130%;color:var(--color-grey-primary, #4f4f4f)}.component .search-input-wrapper.boundaries .material-input:hover{border-color:#b8b9bc}.component .search-input-wrapper.boundaries .material-input:focus-within{box-shadow:0 0 2px 2px #2188d94d}.component .search-input-wrapper.boundaries .search-icon{top:8px;left:8px}.component .search-list{position:absolute;top:40px;left:16px;z-index:1;min-width:278px;max-width:420px;box-shadow:0 4px 10px #060c1b26;background:white}.component .search-list.boundaries{top:45px}.component .search-list ul.search-item-list{list-style-type:none;max-width:420px;max-height:30vh;overflow-y:scroll;overflow-x:inherit;margin:0;padding:5px 10px}.component .search-list ul.search-item-list li{background-color:#fff;padding:5px 10px;align-items:flex-start;color:#828282;cursor:pointer;width:100%;font-family:Roboto;font-style:normal;font-weight:400;font-size:14px}.component .search-list ul.search-item-list li:hover{text-decoration:none;background-color:#f5f5f5}\n"], dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i4.ZenduIconComponent, selector: "zen-icon", inputs: ["src"] }] });
107
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: ZenduLocationSearch, decorators: [{
108
+ type: Component,
109
+ args: [{ selector: 'zen-location-search', template: "<div class=\"component\">\n\n <div class=\"search-input-wrapper\"\n [class.boundaries]=\"!materialStyle\">\n <zen-icon src=\"https://storage.googleapis.com/ng-zenduit/icon/search.svg\"\n class=\"search-icon\"\n *ngIf=\"displaySearchIcon\"\n [style]=\"{'background-color': customStyles.color}\"></zen-icon>\n\n <input type=\"text\"\n class=\"material-input\"\n [style]=\"customStyles\"\n [placeholder]=\"placeholder\"\n [disabled]=\"disabled\"\n [(ngModel)]=\"address\"\n [ngClass]=\"{'no-icon': !displaySearchIcon}\"\n (ngModelChange)='addressChanged($event)'>\n </div>\n\n <div class=\"search-list\"\n [class.boundaries]=\"!materialStyle\"\n *ngIf=\"address\"\n appClickOutside\n (clickOutside)=\"addressList = [];\">\n <ul class=\"search-item-list\"\n *ngIf=\"addressList.length || isSearching\">\n <li *ngIf=\"isSearching\">Searching</li>\n <div *ngIf=\"!isSearching\">\n <li *ngFor=\"let address of addressList\"\n (click)=\"selectAddress(address)\">\n {{address.name}}\n </li>\n </div>\n </ul>\n </div>\n</div>\n", styles: [".component,.component .search-input-wrapper{position:relative}.component .search-input-wrapper .search-icon{position:absolute;left:4px;background-color:var(--color-white-tint-6, #bebebe)}.component .search-input-wrapper .material-input{padding-left:38px}.component .search-input-wrapper .material-input.no-icon{padding-left:8px}.component .search-input-wrapper .material-input.no-icon::placeholder{font-size:14px}.component .search-input-wrapper.boundaries .material-input{border:1px solid var(--color-white-tint-4, #d6d6d8);padding-top:8px;border-radius:4px;height:40px;font-style:normal;font-weight:400;font-size:14px;line-height:130%;color:var(--color-grey-primary, #4f4f4f)}.component .search-input-wrapper.boundaries .material-input:hover{border-color:#b8b9bc}.component .search-input-wrapper.boundaries .material-input:focus-within{box-shadow:0 0 2px 2px #2188d94d}.component .search-input-wrapper.boundaries .search-icon{top:8px;left:8px}.component .search-list{position:absolute;top:40px;left:16px;z-index:1;min-width:278px;max-width:420px;box-shadow:0 4px 10px #060c1b26;background:white}.component .search-list.boundaries{top:45px}.component .search-list ul.search-item-list{list-style-type:none;max-width:420px;max-height:30vh;overflow-y:scroll;overflow-x:inherit;margin:0;padding:5px 10px}.component .search-list ul.search-item-list li{background-color:#fff;padding:5px 10px;align-items:flex-start;color:#828282;cursor:pointer;width:100%;font-family:Roboto;font-style:normal;font-weight:400;font-size:14px}.component .search-list ul.search-item-list li:hover{text-decoration:none;background-color:#f5f5f5}\n"] }]
110
+ }], ctorParameters: function () { return [{ type: i1.GeocodingService }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { apiKey: [{
111
+ type: Input
112
+ }], address: [{
113
+ type: Input
114
+ }], displaySearchIcon: [{
115
+ type: Input
116
+ }], addressChange: [{
117
+ type: Output
118
+ }], materialStyle: [{
119
+ type: Input
120
+ }], placeholder: [{
121
+ type: Input
122
+ }], disabled: [{
123
+ type: Input
124
+ }], onSelect: [{
125
+ type: Output
126
+ }], customStyles: [{
127
+ type: Input
128
+ }] } });
129
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiemVuZHUtbG9jYXRpb24tc2VhcmNoLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLXplbmR1aXQvc3JjL2xpYi9sb2NhdGlvbi1zZWFyY2gvemVuZHUtbG9jYXRpb24tc2VhcmNoLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLXplbmR1aXQvc3JjL2xpYi9sb2NhdGlvbi1zZWFyY2gvemVuZHUtbG9jYXRpb24tc2VhcmNoLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBcUIsU0FBUyxFQUFjLFlBQVksRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUE0QixNQUFNLGVBQWUsQ0FBQztBQUN4SSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQy9CLE9BQU8sRUFBRSxZQUFZLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7Ozs7O0FBU3BFLE1BQU0sT0FBTyxtQkFBbUI7SUFvQzVCLFlBQ1ksVUFBNEIsRUFDNUIsTUFBeUI7UUFEekIsZUFBVSxHQUFWLFVBQVUsQ0FBa0I7UUFDNUIsV0FBTSxHQUFOLE1BQU0sQ0FBbUI7UUE1QjVCLHNCQUFpQixHQUFZLElBQUksQ0FBQztRQUVqQyxrQkFBYSxHQUFHLElBQUksWUFBWSxFQUFVLENBQUM7UUFFNUMsa0JBQWEsR0FBRyxJQUFJLENBQUM7UUFFckIsZ0JBQVcsR0FBVyxnQkFBZ0IsQ0FBQztRQUV2QyxhQUFRLEdBQUcsS0FBSyxDQUFDO1FBRVQsYUFBUSxHQUFHLElBQUksWUFBNkIsQ0FBQztRQUU5RCxzREFBc0Q7UUFDdEQsZ0NBQWdDO1FBQ3ZCLGlCQUFZLEdBQVEsRUFBRSxDQUFDO1FBRXhCLHlCQUFvQixHQUFvQixJQUFJLE9BQU8sRUFBVSxDQUFDO1FBRS9ELGdCQUFXLEdBQVksS0FBSyxDQUFDO1FBRTdCLG9CQUFlLEdBQVksS0FB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SztnQkFFVyxRQUFRO3NCQUF4QixNQUFNO2dCQUlFLFlBQVk7c0JBQXBCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3RvclJlZiwgQ29tcG9uZW50LCBFbGVtZW50UmVmLCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkluaXQsIE91dHB1dCwgU2ltcGxlQ2hhbmdlcywgVmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBkZWJvdW5jZVRpbWUsIGRpc3RpbmN0VW50aWxDaGFuZ2VkIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgR2VvY29kaW5nU2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2VzL2dlb2NvbmRpbmcuc2VydmljZSc7XG5pbXBvcnQgeyBDYW5jZWxsYXRpb24sIExvY2F0aW9uQWRkcmVzcyB9IGZyb20gJy4vbG9jYXRpb24uYWRkcmVzcyc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnemVuLWxvY2F0aW9uLXNlYXJjaCcsXG4gICAgdGVtcGxhdGVVcmw6ICcuL3plbmR1LWxvY2F0aW9uLXNlYXJjaC5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vemVuZHUtbG9jYXRpb24tc2VhcmNoLmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgWmVuZHVMb2NhdGlvblNlYXJjaCB7XG4gICAgLyoqXG4gICAgICogSEVSRSBNQVBTIEFQSSBLZXlcbiAgICAgKi9cbiAgICBASW5wdXQoKSBzZXQgYXBpS2V5KGFwaUtleTogc3RyaW5nKSB7XG4gICAgICAgIHRoaXMuX2dlb2NvZGluZy5zZXRBUElLZXkoYXBpS2V5KTtcbiAgICB9XG5cbiAgICBASW5wdXQoKSBhZGRyZXNzITogc3RyaW5nO1xuXG4gICAgQElucHV0KCkgZGlzcGxheVNlYXJjaEljb246IGJvb2xlYW4gPSB0cnVlO1xuXG4gICAgQE91dHB1dCgpIGFkZHJlc3NDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZz4oKTtcblxuICAgIEBJbnB1dCgpIG1hdGVyaWFsU3R5bGUgPSB0cnVlO1xuXG4gICAgQElucHV0KCkgcGxhY2Vob2xkZXI6IHN0cmluZyA9IFwiU2VhcmNoIGFkZHJlc3NcIjtcblxuICAgIEBJbnB1dCgpIGRpc2FibGVkID0gZmFsc2U7XG5cbiAgICBAT3V0cHV0KCkgcHVibGljIG9uU2VsZWN0ID0gbmV3IEV2ZW50RW1pdHRlcjxMb2NhdGlvbkFkZHJlc3M+O1xuXG4gICAgLy8gaXQgd2lsbCBhcHBseSB0byBpbnB1dCBlbGVtZW50IHRleHQgYW5kIGljb24gY29sb3I6XG4gICAgLy8gaWUuIGlucHV0IGxpa2UgeyBjb2xvcjogYmx1ZX1cbiAgICBASW5wdXQoKSBjdXN0b21TdHlsZXM6IGFueSA9IHt9O1xuXG4gICAgcHJpdmF0ZSBhZGRyZXNzU2VhcmNoQ2hhbmdlZDogU3ViamVjdDxzdHJpbmc+ID0gbmV3IFN1YmplY3Q8c3RyaW5nPigpO1xuXG4gICAgcHVibGljIGlzU2VhcmNoaW5nOiBib29sZWFuID0gZmFsc2U7XG5cbiAgICBwdWJsaWMgaWdub3JlRmlyc3RMb2FkOiBib29sZWFuID0gZmFsc2U7XG5cbiAgICBwdWJsaWMgYWRkcmVzc0xpc3Q6IExvY2F0aW9uQWRkcmVzc1tdID0gW107XG5cbiAgICBwcml2YXRlIF9jYW5jZWxhdGlvbiE6IENhbmNlbGxhdGlvbjtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcml2YXRlIF9nZW9jb2Rpbmc6IEdlb2NvZGluZ1NlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgX2NkUmVmOiBDaGFuZ2VEZXRlY3RvclJlZikge1xuXG4gICAgICAgIHRoaXMuYWRkcmVzc1NlYXJjaENoYW5nZWRcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIGRlYm91bmNlVGltZSgyMDApLFxuICAgICAgICAgICAgICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKClcbiAgICAgICAgICAgIClcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKGFkZHJlc3NTZWFyY2g6IHN0cmluZykgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuYWRkcmVzcyA9IGFkZHJlc3NTZWFyY2hcbiAgICAgICAgICAgICAgICB0aGlzLmlzU2VhcmNoaW5nID0gdHJ1ZTtcblxuICAgICAgICAgICAgICAgIGlmICh0aGlzLl9jYW5jZWxhdGlvbikge1xuICAgICAgICAgICAgICAgICAgICAvLyBjYW5jZWwgcHJldmlvdXNcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5fY2FuY2VsYXRpb24uY2FuY2VsbGVkID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICB0aGlzLl9jYW5jZWxhdGlvbiA9IHsgY2FuY2VsbGVkOiBmYWxzZSB9XG4gICAgICAgICAgICAgICAgdGhpcy5tYWtlU2VhcmNoKHRoaXMuX2NhbmNlbGF0aW9uKTtcbiAgICAgICAgICAgIH0pO1xuICAgIH1cblxuICAgIGFzeW5jIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpIHtcbiAgICAgICAgaWYgKGNoYW5nZXNbJ2FkZHJlc3MnXSAmJiB0aGlzLmFkZHJlc3MpIHtcbiAgICAgICAgICAgIHRoaXMuX2NhbmNlbGF0aW9uID0geyBjYW5jZWxsZWQ6IGZhbHNlIH1cbiAgICAgICAgICAgIGF3YWl0IHRoaXMubWFrZVNlYXJjaCh0aGlzLl9jYW5jZWxhdGlvbik7XG4gICAgICAgICAgICBjb25zdCBhZGRyZXNzID0gdGhpcy5hZGRyZXNzTGlzdC5maW5kKGFkZHIgPT4gYWRkci5uYW1lID09PSB0aGlzLmFkZHJlc3MpO1xuICAgICAgICAgICAgaWYgKGFkZHJlc3MpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnNlbGVjdEFkZHJlc3MoYWRkcmVzcyk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwdWJsaWMgYWRkcmVzc0NoYW5nZWQodGV4dDogc3RyaW5nKSB7XG4gICAgICAgIHRoaXMuaXNTZWFyY2hpbmcgPSB0cnVlO1xuICAgICAgICB0aGlzLmFkZHJlc3NDaGFuZ2UuZW1pdCh0ZXh0KTtcbiAgICAgICAgdGhpcy5hZGRyZXNzU2VhcmNoQ2hhbmdlZC5uZXh0KHRleHQpO1xuXG4gICAgICAgIHRoaXMuX2NkUmVmLmRldGVjdENoYW5nZXMoKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGFzeW5jIG1ha2VTZWFyY2goY2FuY2VsbGF0aW9uOiBDYW5jZWxsYXRpb24pIHtcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIGlmICghdGhpcy5pZ25vcmVGaXJzdExvYWQpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmlnbm9yZUZpcnN0TG9hZCA9IHRydWU7XG4gICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdGhpcy5hZGRyZXNzTGlzdCA9IFtdO1xuXG4gICAgICAgICAgICBpZiAoIXRoaXMuYWRkcmVzcykge1xuICAgICAgICAgICAgICAgIHRoaXMuaXNTZWFyY2hpbmcgPSBmYWxzZTtcbiAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHRoaXMuYWRkcmVzc0xpc3QgPSBbXTtcblxuICAgICAgICAgICAgbGV0IGxvY2F0aW9ucyA9IGF3YWl0IHRoaXMuX2dlb2NvZGluZy5nZW9jb2RlKHRoaXMuYWRkcmVzcyk7XG5cbiAgICAgICAgICAgIGlmICh0aGlzLl9jYW5jZWxhdGlvbi5jYW5jZWxsZWQpIHtcbiAgICAgICAgICAgICAgICAvLyByZXF1ZXN0IGNhbmNlbGxlZFxuICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgZm9yIChsZXQgbG9jYXRpb24gb2YgbG9jYXRpb25zKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5hZGRyZXNzTGlzdC5wdXNoKHtcbiAgICAgICAgICAgICAgICAgICAgbmFtZTogbG9jYXRpb24ubmFtZSxcbiAgICAgICAgICAgICAgICAgICAgYm91bmRzOiBsb2NhdGlvbi5ib3VuZHNcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHRoaXMuYWRkcmVzc0xpc3QgPSBbLi4ubmV3IE1hcCh0aGlzLmFkZHJlc3NMaXN0Lm1hcCgoaXRlbTogTG9jYXRpb25BZGRyZXNzKSA9PiBbaXRlbS5uYW1lLCBpdGVtXSkpLnZhbHVlcygpXTtcbiAgICAgICAgICAgIGlmICh0aGlzLmFkZHJlc3NMaXN0Lmxlbmd0aCA+IDIwKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5hZGRyZXNzTGlzdCA9IHRoaXMuYWRkcmVzc0xpc3Quc2xpY2UoMCwgMjApO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB0aGlzLmlzU2VhcmNoaW5nID0gZmFsc2U7XG4gICAgICAgIH0gY2F0Y2ggKGVycikge1xuICAgICAgICAgICAgY29uc29sZS5lcnJvcihlcnIpO1xuICAgICAgICB9IGZpbmFsbHkge1xuICAgICAgICAgICAgdGhpcy5fY2RSZWYuZGV0ZWN0Q2hhbmdlcygpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHVibGljIHNlbGVjdEFkZHJlc3MoYWRkcmVzczogTG9jYXRpb25BZGRyZXNzKSB7XG4gICAgICAgIHRoaXMuYWRkcmVzcyA9IGFkZHJlc3MubmFtZTtcbiAgICAgICAgaWYgKHRoaXMub25TZWxlY3QpIHtcbiAgICAgICAgICAgIHRoaXMuYWRkcmVzc0xpc3QgPSBbXTtcbiAgICAgICAgICAgIHRoaXMub25TZWxlY3QuZW1pdChhZGRyZXNzKTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJjb21wb25lbnRcIj5cblxuICAgIDxkaXYgY2xhc3M9XCJzZWFyY2gtaW5wdXQtd3JhcHBlclwiXG4gICAgICAgICBbY2xhc3MuYm91bmRhcmllc109XCIhbWF0ZXJpYWxTdHlsZVwiPlxuICAgICAgICA8emVuLWljb24gc3JjPVwiaHR0cHM6Ly9zdG9yYWdlLmdvb2dsZWFwaXMuY29tL25nLXplbmR1aXQvaWNvbi9zZWFyY2guc3ZnXCJcbiAgICAgICAgICAgICAgICAgIGNsYXNzPVwic2VhcmNoLWljb25cIlxuICAgICAgICAgICAgICAgICAgKm5nSWY9XCJkaXNwbGF5U2VhcmNoSWNvblwiXG4gICAgICAgICAgICAgICAgICBbc3R5bGVdPVwieydiYWNrZ3JvdW5kLWNvbG9yJzogY3VzdG9tU3R5bGVzLmNvbG9yfVwiPjwvemVuLWljb24+XG5cbiAgICAgICAgPGlucHV0IHR5cGU9XCJ0ZXh0XCJcbiAgICAgICAgICAgICAgIGNsYXNzPVwibWF0ZXJpYWwtaW5wdXRcIlxuICAgICAgICAgICAgICAgW3N0eWxlXT1cImN1c3RvbVN0eWxlc1wiXG4gICAgICAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwicGxhY2Vob2xkZXJcIlxuICAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgICAgICAgICAgICAgIFsobmdNb2RlbCldPVwiYWRkcmVzc1wiXG4gICAgICAgICAgICAgICBbbmdDbGFzc109XCJ7J25vLWljb24nOiAhZGlzcGxheVNlYXJjaEljb259XCJcbiAgICAgICAgICAgICAgIChuZ01vZGVsQ2hhbmdlKT0nYWRkcmVzc0NoYW5nZWQoJGV2ZW50KSc+XG4gICAgPC9kaXY+XG5cbiAgICA8ZGl2IGNsYXNzPVwic2VhcmNoLWxpc3RcIlxuICAgICAgICAgW2NsYXNzLmJvdW5kYXJpZXNdPVwiIW1hdGVyaWFsU3R5bGVcIlxuICAgICAgICAgKm5nSWY9XCJhZGRyZXNzXCJcbiAgICAgICAgIGFwcENsaWNrT3V0c2lkZVxuICAgICAgICAgKGNsaWNrT3V0c2lkZSk9XCJhZGRyZXNzTGlzdCA9IFtdO1wiPlxuICAgICAgICA8dWwgY2xhc3M9XCJzZWFyY2gtaXRlbS1saXN0XCJcbiAgICAgICAgICAgICpuZ0lmPVwiYWRkcmVzc0xpc3QubGVuZ3RoIHx8IGlzU2VhcmNoaW5nXCI+XG4gICAgICAgICAgICA8bGkgKm5nSWY9XCJpc1NlYXJjaGluZ1wiPlNlYXJjaGluZzwvbGk+XG4gICAgICAgICAgICA8ZGl2ICpuZ0lmPVwiIWlzU2VhcmNoaW5nXCI+XG4gICAgICAgICAgICAgICAgPGxpICpuZ0Zvcj1cImxldCBhZGRyZXNzIG9mIGFkZHJlc3NMaXN0XCJcbiAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cInNlbGVjdEFkZHJlc3MoYWRkcmVzcylcIj5cbiAgICAgICAgICAgICAgICAgICAge3thZGRyZXNzLm5hbWV9fVxuICAgICAgICAgICAgICAgIDwvbGk+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC91bD5cbiAgICA8L2Rpdj5cbjwvZGl2PlxuIl19
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFwLnR5cGVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctemVuZHVpdC9zcmMvbGliL21hcC9tYXAudHlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBpbnRlcmZhY2UgWmVuTG9nUmVjb3JkIHtcbiAgICAvKipcbiAgICAgKiBUaGUgZGF0ZSBhbmQgdGltZSB0aGUgbG9nIHdhcyByZWNvcmRlZC5cbiAgICAgKi9cbiAgICBkYXRlVGltZT86IHN0cmluZztcblxuICAgIC8qKlxuICAgICAqIFRoZSBsYXRpdHVkZSBvZiB0aGUgbG9nIHJlY29yZC5cbiAgICAgKi9cbiAgICBsYXRpdHVkZTogbnVtYmVyO1xuXG4gICAgLyoqXG4gICAgICogIFRoZSBsb25naXR1ZGUgb2YgdGhlIGxvZyByZWNvcmQuXG4gICAgICovXG4gICAgbG9uZ2l0dWRlOiBudW1iZXI7XG5cbiAgICAvKipcbiAgICAgKiBTcGVlZFxuICAgICAqL1xuICAgIHNwZWVkPzogbnVtYmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFplblRyaXAge1xuICAgIGxvZ3M6IFplbkxvZ1JlY29yZFtdO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFplbkRldmljZSB7XG5cbiAgICAvKipcbiAgICAgKiB0aGUgY3VzdG9tIGRldmljZSBpY29uXG4gICAgICovXG4gICAgaWNvbj86IHN0cmluZztcblxuICAgIG5hbWU6IHN0cmluZztcblxuICAgIGJlYXJpbmc/OiBudW1iZXI7XG5cbiAgICBpc0RyaXZpbmc/OiBib29sZWFuO1xuXG4gICAgbGF0aXR1ZGU6IG51bWJlcjtcblxuICAgIGxvbmdpdHVkZTogbnVtYmVyO1xufVxuXG5leHBvcnQgdHlwZSBaZW5NYXBUaGVtZSA9IFwiYmxhY2tcIiB8IFwiZGVmYXVsdFwiOyJdfQ==
@@ -0,0 +1,129 @@
1
+ import { Component, Input, ViewChild } from '@angular/core';
2
+ import { MapService } from '../services/map.service';
3
+ import * as i0 from "@angular/core";
4
+ export class ZenduMapComponent {
5
+ constructor() {
6
+ this.trips = [];
7
+ this.devices = [];
8
+ this.theme = 'default';
9
+ this._objects = [];
10
+ this._mapService = new MapService();
11
+ }
12
+ ngOnChanges(changes) {
13
+ if (this.apiKey && !this._platform) {
14
+ this.init();
15
+ }
16
+ if (changes["trips"] || changes["devices"]) {
17
+ this.updateEntities();
18
+ }
19
+ }
20
+ init() {
21
+ this._platform = new H.service.Platform({
22
+ apikey: this.apiKey
23
+ });
24
+ setTimeout(() => {
25
+ this.initMap();
26
+ this.updateEntities();
27
+ }, 1000);
28
+ }
29
+ initMap() {
30
+ // Obtain the default map types from the platform object
31
+ const defaultLayers = this._platform.createDefaultLayers();
32
+ this._map = new H.Map(this._mapElement.nativeElement, defaultLayers.vector.normal.map, {
33
+ zoom: 3,
34
+ center: { lat: 34.366, lng: -89.519 }
35
+ });
36
+ // Create the default UI
37
+ const ui = H.ui.UI.createDefault(this._map, defaultLayers);
38
+ const mapSettings = ui.getControl('mapsettings');
39
+ mapSettings.setAlignment(H.ui.LayoutAlignment.RIGHT_TOP);
40
+ mapSettings.setVisibility(false);
41
+ const scalebar = ui.getControl('scalebar');
42
+ scalebar.setAlignment(H.ui.LayoutAlignment.RIGHT_BOTTOM);
43
+ const zoom = ui.getControl('zoom');
44
+ zoom.setAlignment(H.ui.LayoutAlignment.RIGHT_BOTTOM);
45
+ this._map.getBaseLayer().setMin(3);
46
+ // MapEvents enables the event system
47
+ // Behavior implements default interactions for pan/zoom (also on mobile touch environments)
48
+ const behavior = new H.mapevents.Behavior(new H.mapevents.MapEvents(this._map));
49
+ }
50
+ updateEntities() {
51
+ if (!this._map) {
52
+ // map is not ready
53
+ return;
54
+ }
55
+ this.clearEntities();
56
+ this.createTrips();
57
+ this.createDevices();
58
+ }
59
+ createTrips() {
60
+ if (!this.trips || !this.trips.length) {
61
+ return;
62
+ }
63
+ let box = null;
64
+ for (const trip of this.trips) {
65
+ const res = this._mapService.createTripPolyline(trip, this._map, this.theme);
66
+ if (res.polyline) {
67
+ this._objects.push(res.polyline);
68
+ if (box) {
69
+ box = box.mergeRect(res.polyline.getBoundingBox());
70
+ }
71
+ else {
72
+ box = res.polyline.getBoundingBox();
73
+ }
74
+ }
75
+ if (res.arrows) {
76
+ this._objects.push(res.arrows);
77
+ }
78
+ }
79
+ // create stop points
80
+ //
81
+ for (const [stopIdx, trip] of this.trips.entries()) {
82
+ let stopLog = trip.logs[trip.logs.length - 1];
83
+ this._objects.push(this._mapService.createStopMarker(this._map, stopLog, stopIdx + 1, trip, this.theme));
84
+ }
85
+ if (this.theme == "black") {
86
+ // create a marker for first stop as well
87
+ let stopLog = this.trips[0].logs[0];
88
+ this._objects.push(this._mapService.createStopMarker(this._map, stopLog, 0, this.trips[0], this.theme));
89
+ }
90
+ if (box) {
91
+ this._mapService.zoomToBounds(this._map, box);
92
+ }
93
+ }
94
+ createDevices() {
95
+ if (!this.devices || !this.devices.length) {
96
+ return;
97
+ }
98
+ for (const device of this.devices) {
99
+ const marker = this._mapService.createDeviceMarker(device);
100
+ this._map.addObject(marker);
101
+ this._objects.push(marker);
102
+ }
103
+ }
104
+ clearEntities() {
105
+ if (!this._map) {
106
+ return;
107
+ }
108
+ this._map.removeObjects(this._objects);
109
+ this._objects = [];
110
+ }
111
+ }
112
+ ZenduMapComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: ZenduMapComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
113
+ ZenduMapComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.12", type: ZenduMapComponent, selector: "zen-map", inputs: { apiKey: "apiKey", trips: "trips", devices: "devices", theme: "theme" }, viewQueries: [{ propertyName: "_mapElement", first: true, predicate: ["map"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<div class=\"component\">\n <div #map\n class=\"zen-map\"></div>\n</div>\n", styles: [".component{width:100%;height:100%}.component .zen-map{width:100%;height:100%;min-width:100px;min-height:100px}::ng-deep .component .zen-map .g-stop{display:flex;align-items:center;justify-content:center;padding:0 5px;min-width:16px;height:24px;background:#2188d9;border:1px solid black;border-radius:1px}::ng-deep .component .zen-map .g-stop label{color:#fff;display:block;text-align:center;margin:0!important}::ng-deep .component .zen-map .g-stop-img{position:relative}::ng-deep .component .zen-map .g-stop-img img{height:50px;position:relative;top:-49px;left:-20px}::ng-deep .component .zen-map .g-marker-vehilce-wrapper{position:absolute;bottom:0;width:54px;display:flex;flex-direction:column;align-items:center;left:-27px}::ng-deep .component .zen-map .g-marker-vehilce-wrapper .gotrax-img{display:flex;flex-direction:row;justify-content:center;align-items:center}::ng-deep .component .zen-map .g-marker-vehilce-wrapper .g-marker-vehilce{position:relative;cursor:pointer}::ng-deep .component .zen-map .g-marker-vehilce-wrapper .gotrax-label-wrapper{position:absolute;bottom:42px;width:400px;left:-200px;display:flex}::ng-deep .component .zen-map .g-marker-vehilce-wrapper .gotrax-label{font-weight:400;font-size:14px;border-radius:2px;text-align:center;white-space:nowrap;max-width:400px;text-overflow:ellipsis;overflow-x:hidden;color:#fff;position:absolute;top:-28px;padding:0 12px;line-height:18px}::ng-deep .component .zen-map .g-marker-vehilce-wrapper .gotrax-img>.g-marker-icon{width:30px;height:30px;display:flex;flex-direction:row;justify-content:center;align-items:center}::ng-deep .component .zen-map .g-marker-vehilce-wrapper .direction-arrow{height:72px;width:72px;background-repeat:no-repeat;background-size:15px;background-position:top;position:absolute}::ng-deep .component .zen-map .g-marker-vehilce-wrapper .gotrax-label.moving{background-color:#2188d9}::ng-deep .component .zen-map .g-marker-vehilce-wrapper .gotrax-label.stopped{background-color:#2188d9}::ng-deep .component .zen-map .g-marker-vehilce-wrapper .gotrax-img>.g-marker-icon.moving{border-radius:50%;background-color:#2188d9;width:36px;height:36px}::ng-deep .component .zen-map .g-marker-vehilce-wrapper .gotrax-img>.g-marker-icon.stopped{background-color:#2188d9}::ng-deep .component .zen-map .g-marker-vehilce-wrapper .svg-color.white{filter:invert(100%) sepia(4%) saturate(1%) hue-rotate(347deg) brightness(105%) contrast(100%)}::ng-deep .component .zen-map .g-marker-vehilce-wrapper .g-marker-img{display:block;margin:auto;height:15px}\n"] });
114
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: ZenduMapComponent, decorators: [{
115
+ type: Component,
116
+ args: [{ selector: 'zen-map', template: "<div class=\"component\">\n <div #map\n class=\"zen-map\"></div>\n</div>\n", styles: [".component{width:100%;height:100%}.component .zen-map{width:100%;height:100%;min-width:100px;min-height:100px}::ng-deep .component .zen-map .g-stop{display:flex;align-items:center;justify-content:center;padding:0 5px;min-width:16px;height:24px;background:#2188d9;border:1px solid black;border-radius:1px}::ng-deep .component .zen-map .g-stop label{color:#fff;display:block;text-align:center;margin:0!important}::ng-deep .component .zen-map .g-stop-img{position:relative}::ng-deep .component .zen-map .g-stop-img img{height:50px;position:relative;top:-49px;left:-20px}::ng-deep .component .zen-map .g-marker-vehilce-wrapper{position:absolute;bottom:0;width:54px;display:flex;flex-direction:column;align-items:center;left:-27px}::ng-deep .component .zen-map .g-marker-vehilce-wrapper .gotrax-img{display:flex;flex-direction:row;justify-content:center;align-items:center}::ng-deep .component .zen-map .g-marker-vehilce-wrapper .g-marker-vehilce{position:relative;cursor:pointer}::ng-deep .component .zen-map .g-marker-vehilce-wrapper .gotrax-label-wrapper{position:absolute;bottom:42px;width:400px;left:-200px;display:flex}::ng-deep .component .zen-map .g-marker-vehilce-wrapper .gotrax-label{font-weight:400;font-size:14px;border-radius:2px;text-align:center;white-space:nowrap;max-width:400px;text-overflow:ellipsis;overflow-x:hidden;color:#fff;position:absolute;top:-28px;padding:0 12px;line-height:18px}::ng-deep .component .zen-map .g-marker-vehilce-wrapper .gotrax-img>.g-marker-icon{width:30px;height:30px;display:flex;flex-direction:row;justify-content:center;align-items:center}::ng-deep .component .zen-map .g-marker-vehilce-wrapper .direction-arrow{height:72px;width:72px;background-repeat:no-repeat;background-size:15px;background-position:top;position:absolute}::ng-deep .component .zen-map .g-marker-vehilce-wrapper .gotrax-label.moving{background-color:#2188d9}::ng-deep .component .zen-map .g-marker-vehilce-wrapper .gotrax-label.stopped{background-color:#2188d9}::ng-deep .component .zen-map .g-marker-vehilce-wrapper .gotrax-img>.g-marker-icon.moving{border-radius:50%;background-color:#2188d9;width:36px;height:36px}::ng-deep .component .zen-map .g-marker-vehilce-wrapper .gotrax-img>.g-marker-icon.stopped{background-color:#2188d9}::ng-deep .component .zen-map .g-marker-vehilce-wrapper .svg-color.white{filter:invert(100%) sepia(4%) saturate(1%) hue-rotate(347deg) brightness(105%) contrast(100%)}::ng-deep .component .zen-map .g-marker-vehilce-wrapper .g-marker-img{display:block;margin:auto;height:15px}\n"] }]
117
+ }], propDecorators: { _mapElement: [{
118
+ type: ViewChild,
119
+ args: ["map"]
120
+ }], apiKey: [{
121
+ type: Input
122
+ }], trips: [{
123
+ type: Input
124
+ }], devices: [{
125
+ type: Input
126
+ }], theme: [{
127
+ type: Input
128
+ }] } });
129
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiemVuZHUtbWFwLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLXplbmR1aXQvc3JjL2xpYi9tYXAvemVuZHUtbWFwLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLXplbmR1aXQvc3JjL2xpYi9tYXAvemVuZHUtbWFwLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQWMsS0FBSyxFQUE0QixTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbEcsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHlCQUF5QixDQUFDOztBQVFyRCxNQUFNLE9BQU8saUJBQWlCO0lBTDlCO1FBV2EsVUFBSyxHQUFjLEVBQUUsQ0FBQztRQUV0QixZQUFPLEdBQWdCLEVBQUUsQ0FBQztRQUUxQixVQUFLLEdBQWdCLFNBQVMsQ0FBQztRQU1oQyxhQUFRLEdBQW1CLEVBQUUsQ0FBQztRQUU5QixnQkFBVyxHQUFHLElBQUksVUFBVSxFQUFFLENBQUM7S0F1STFDO0lBcklVLFdBQVcsQ0FBQyxPQUFzQjtRQUNyQyxJQUFJLElBQUksQ0FBQyxNQUFNLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFO1lBQ2hDLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztTQUNmO1FBRUQsSUFBSSxPQUFPLENBQUMsT0FBTyxDQUFDLElBQUksT0FBTyxDQUFDLFNBQVMsQ0FBQyxFQUFFO1lBQ3hDLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztTQUN6QjtJQUNMLENBQUM7SUFFTyxJQUFJO1FBQ1IsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDO1lBQ3BDLE1BQU0sRUFBRSxJQUFJLENBQUMsTUFBTTtTQUN0QixDQUFDLENBQUM7UUFFSCxVQUFVLENBQUMsR0FBRyxFQUFFO1lBQ1osSUFBSSxD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QUFDLElBQUksRUFBRSxHQUFHLENBQUMsQ0FBQztTQUNqRDtJQUNMLENBQUM7SUFFTyxhQUFhO1FBQ2pCLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLEVBQUU7WUFDdkMsT0FBTztTQUNWO1FBRUQsS0FBSyxNQUFNLE1BQU0sSUFBSSxJQUFJLENBQUMsT0FBTyxFQUFFO1lBQy9CLE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsa0JBQWtCLENBQUMsTUFBTSxDQUFDLENBQUE7WUFDMUQsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLENBQUM7WUFDNUIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7U0FDOUI7SUFDTCxDQUFDO0lBRU8sYUFBYTtRQUNqQixJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRTtZQUNaLE9BQU87U0FDVjtRQUNELElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQTtRQUN0QyxJQUFJLENBQUMsUUFBUSxHQUFHLEVBQUUsQ0FBQztJQUN2QixDQUFDOzsrR0FuSlEsaUJBQWlCO21HQUFqQixpQkFBaUIsMFBDVDlCLHVGQUlBOzRGREthLGlCQUFpQjtrQkFMN0IsU0FBUzsrQkFDSSxTQUFTOzhCQU1ELFdBQVc7c0JBQTVCLFNBQVM7dUJBQUMsS0FBSztnQkFFUCxNQUFNO3NCQUFkLEtBQUs7Z0JBRUcsS0FBSztzQkFBYixLQUFLO2dCQUVHLE9BQU87c0JBQWYsS0FBSztnQkFFRyxLQUFLO3NCQUFiLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEVsZW1lbnRSZWYsIElucHV0LCBPbkNoYW5nZXMsIFNpbXBsZUNoYW5nZXMsIFZpZXdDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTWFwU2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2VzL21hcC5zZXJ2aWNlJztcbmltcG9ydCB7IFplbkRldmljZSwgWmVuTWFwVGhlbWUsIFplblRyaXAgfSBmcm9tICcuL21hcC50eXBlcyc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnemVuLW1hcCcsXG4gICAgdGVtcGxhdGVVcmw6ICcuL3plbmR1LW1hcC5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vemVuZHUtbWFwLmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgWmVuZHVNYXBDb21wb25lbnQgaW1wbGVtZW50cyBPbkNoYW5nZXMge1xuXG4gICAgQFZpZXdDaGlsZChcIm1hcFwiKSBfbWFwRWxlbWVudCE6IEVsZW1lbnRSZWY8SFRNTERpdkVsZW1lbnQ+O1xuXG4gICAgQElucHV0KCkgYXBpS2V5OiBzdHJpbmc7XG5cbiAgICBASW5wdXQoKSB0cmlwczogWmVuVHJpcFtdID0gW107XG5cbiAgICBASW5wdXQoKSBkZXZpY2VzOiBaZW5EZXZpY2VbXSA9IFtdO1xuXG4gICAgQElucHV0KCkgdGhlbWU6IFplbk1hcFRoZW1lID0gJ2RlZmF1bHQnO1xuXG4gICAgcHJpdmF0ZSBfcGxhdGZvcm06IEguc2VydmljZS5QbGF0Zm9ybTtcblxuICAgIHByaXZhdGUgX21hcCE6IEguTWFwO1xuXG4gICAgcHJpdmF0ZSBfb2JqZWN0czogSC5tYXAuT2JqZWN0W10gPSBbXTtcblxuICAgIHByaXZhdGUgX21hcFNlcnZpY2UgPSBuZXcgTWFwU2VydmljZSgpO1xuXG4gICAgcHVibGljIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuYXBpS2V5ICYmICF0aGlzLl9wbGF0Zm9ybSkge1xuICAgICAgICAgICAgdGhpcy5pbml0KCk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoY2hhbmdlc1tcInRyaXBzXCJdIHx8IGNoYW5nZXNbXCJkZXZpY2VzXCJdKSB7XG4gICAgICAgICAgICB0aGlzLnVwZGF0ZUVudGl0aWVzKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIGluaXQoKSB7XG4gICAgICAgIHRoaXMuX3BsYXRmb3JtID0gbmV3IEguc2VydmljZS5QbGF0Zm9ybSh7XG4gICAgICAgICAgICBhcGlrZXk6IHRoaXMuYXBpS2V5XG4gICAgICAgIH0pO1xuXG4gICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5pbml0TWFwKCk7XG4gICAgICAgICAgICB0aGlzLnVwZGF0ZUVudGl0aWVzKCk7XG4gICAgICAgIH0sIDEwMDApO1xuICAgIH1cblxuXG4gICAgcHJpdmF0ZSBpbml0TWFwKCkge1xuXG4gICAgICAgIC8vIE9idGFpbiB0aGUgZGVmYXVsdCBtYXAgdHlwZXMgZnJvbSB0aGUgcGxhdGZvcm0gb2JqZWN0XG4gICAgICAgIGNvbnN0IGRlZmF1bHRMYXllcnMgPSB0aGlzLl9wbGF0Zm9ybS5jcmVhdGVEZWZhdWx0TGF5ZXJzKCk7XG5cbiAgICAgICAgdGhpcy5fbWFwID0gbmV3IEguTWFwKHRoaXMuX21hcEVsZW1lbnQubmF0aXZlRWxlbWVudCxcbiAgICAgICAgICAgIGRlZmF1bHRMYXllcnMudmVjdG9yLm5vcm1hbC5tYXAsXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgem9vbTogMyxcbiAgICAgICAgICAgICAgICBjZW50ZXI6IHsgbGF0OiAzNC4zNjYsIGxuZzogLTg5LjUxOSB9XG4gICAgICAgICAgICB9KTtcblxuXG4gICAgICAgIC8vIENyZWF0ZSB0aGUgZGVmYXVsdCBVSVxuICAgICAgICBjb25zdCB1aSA9IEgudWkuVUkuY3JlYXRlRGVmYXVsdCh0aGlzLl9tYXAsIGRlZmF1bHRMYXllcnMpO1xuXG4gICAgICAgIGNvbnN0IG1hcFNldHRpbmdzID0gdWkuZ2V0Q29udHJvbCgnbWFwc2V0dGluZ3MnKTtcbiAgICAgICAgbWFwU2V0dGluZ3Muc2V0QWxpZ25tZW50KEgudWkuTGF5b3V0QWxpZ25tZW50LlJJR0hUX1RPUCk7XG4gICAgICAgIG1hcFNldHRpbmdzLnNldFZpc2liaWxpdHkoZmFsc2UpO1xuXG4gICAgICAgIGNvbnN0IHNjYWxlYmFyID0gdWkuZ2V0Q29udHJvbCgnc2NhbGViYXInKTtcbiAgICAgICAgc2NhbGViYXIuc2V0QWxpZ25tZW50KEgudWkuTGF5b3V0QWxpZ25tZW50LlJJR0hUX0JPVFRPTSlcblxuICAgICAgICBjb25zdCB6b29tID0gdWkuZ2V0Q29udHJvbCgnem9vbScpO1xuICAgICAgICB6b29tLnNldEFsaWdubWVudChILnVpLkxheW91dEFsaWdubWVudC5SSUdIVF9CT1RUT00pO1xuXG4gICAgICAgIHRoaXMuX21hcC5nZXRCYXNlTGF5ZXIoKS5zZXRNaW4oMyk7XG5cbiAgICAgICAgLy8gTWFwRXZlbnRzIGVuYWJsZXMgdGhlIGV2ZW50IHN5c3RlbVxuICAgICAgICAvLyBCZWhhdmlvciBpbXBsZW1lbnRzIGRlZmF1bHQgaW50ZXJhY3Rpb25zIGZvciBwYW4vem9vbSAoYWxzbyBvbiBtb2JpbGUgdG91Y2ggZW52aXJvbm1lbnRzKVxuICAgICAgICBjb25zdCBiZWhhdmlvciA9IG5ldyBILm1hcGV2ZW50cy5CZWhhdmlvcihuZXcgSC5tYXBldmVudHMuTWFwRXZlbnRzKHRoaXMuX21hcCkpO1xuICAgIH1cblxuICAgIHByaXZhdGUgdXBkYXRlRW50aXRpZXMoKSB7XG4gICAgICAgIGlmICghdGhpcy5fbWFwKSB7XG4gICAgICAgICAgICAvLyBtYXAgaXMgbm90IHJlYWR5XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLmNsZWFyRW50aXRpZXMoKTtcblxuICAgICAgICB0aGlzLmNyZWF0ZVRyaXBzKCk7XG5cbiAgICAgICAgdGhpcy5jcmVhdGVEZXZpY2VzKCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBjcmVhdGVUcmlwcygpIHtcbiAgICAgICAgaWYgKCF0aGlzLnRyaXBzIHx8ICF0aGlzLnRyaXBzLmxlbmd0aCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgbGV0IGJveDogSC5nZW8uUmVjdCA9IG51bGw7XG5cbiAgICAgICAgZm9yIChjb25zdCB0cmlwIG9mIHRoaXMudHJpcHMpIHtcbiAgICAgICAgICAgIGNvbnN0IHJlcyA9IHRoaXMuX21hcFNlcnZpY2UuY3JlYXRlVHJpcFBvbHlsaW5lKHRyaXAsIHRoaXMuX21hcCwgdGhpcy50aGVtZSk7XG4gICAgICAgICAgICBpZiAocmVzLnBvbHlsaW5lKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5fb2JqZWN0cy5wdXNoKHJlcy5wb2x5bGluZSk7XG4gICAgICAgICAgICAgICAgaWYgKGJveCkge1xuICAgICAgICAgICAgICAgICAgICBib3ggPSBib3gubWVyZ2VSZWN0KHJlcy5wb2x5bGluZS5nZXRCb3VuZGluZ0JveCgpKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIGJveCA9IHJlcy5wb2x5bGluZS5nZXRCb3VuZGluZ0JveCgpXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKHJlcy5hcnJvd3MpIHtcbiAgICAgICAgICAgICAgICB0aGlzLl9vYmplY3RzLnB1c2gocmVzLmFycm93cyk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAvLyBjcmVhdGUgc3RvcCBwb2ludHNcbiAgICAgICAgLy9cbiAgICAgICAgZm9yIChjb25zdCBbc3RvcElkeCwgdHJpcF0gb2YgdGhpcy50cmlwcy5lbnRyaWVzKCkpIHtcbiAgICAgICAgICAgIGxldCBzdG9wTG9nID0gdHJpcC5sb2dzW3RyaXAubG9ncy5sZW5ndGggLSAxXTtcbiAgICAgICAgICAgIHRoaXMuX29iamVjdHMucHVzaCh0aGlzLl9tYXBTZXJ2aWNlLmNyZWF0ZVN0b3BNYXJrZXIodGhpcy5fbWFwLCBzdG9wTG9nLCBzdG9wSWR4ICsgMSwgdHJpcCwgdGhpcy50aGVtZSkpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHRoaXMudGhlbWUgPT0gXCJibGFja1wiKSB7XG4gICAgICAgICAgICAvLyBjcmVhdGUgYSBtYXJrZXIgZm9yIGZpcnN0IHN0b3AgYXMgd2VsbFxuICAgICAgICAgICAgbGV0IHN0b3BMb2cgPSB0aGlzLnRyaXBzWzBdLmxvZ3NbMF07XG4gICAgICAgICAgICB0aGlzLl9vYmplY3RzLnB1c2godGhpcy5fbWFwU2VydmljZS5jcmVhdGVTdG9wTWFya2VyKHRoaXMuX21hcCwgc3RvcExvZywgMCwgdGhpcy50cmlwc1swXSwgdGhpcy50aGVtZSkpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGJveCkge1xuICAgICAgICAgICAgdGhpcy5fbWFwU2VydmljZS56b29tVG9Cb3VuZHModGhpcy5fbWFwLCBib3gpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBjcmVhdGVEZXZpY2VzKCkge1xuICAgICAgICBpZiAoIXRoaXMuZGV2aWNlcyB8fCAhdGhpcy5kZXZpY2VzLmxlbmd0aCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgZm9yIChjb25zdCBkZXZpY2Ugb2YgdGhpcy5kZXZpY2VzKSB7XG4gICAgICAgICAgICBjb25zdCBtYXJrZXIgPSB0aGlzLl9tYXBTZXJ2aWNlLmNyZWF0ZURldmljZU1hcmtlcihkZXZpY2UpXG4gICAgICAgICAgICB0aGlzLl9tYXAuYWRkT2JqZWN0KG1hcmtlcik7XG4gICAgICAgICAgICB0aGlzLl9vYmplY3RzLnB1c2gobWFya2VyKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgY2xlYXJFbnRpdGllcygpIHtcbiAgICAgICAgaWYgKCF0aGlzLl9tYXApIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLl9tYXAucmVtb3ZlT2JqZWN0cyh0aGlzLl9vYmplY3RzKVxuICAgICAgICB0aGlzLl9vYmplY3RzID0gW107XG4gICAgfVxuXG5cblxuXG5cbn1cbiIsIjxkaXYgY2xhc3M9XCJjb21wb25lbnRcIj5cbiAgICA8ZGl2ICNtYXBcbiAgICAgICAgIGNsYXNzPVwiemVuLW1hcFwiPjwvZGl2PlxuPC9kaXY+XG4iXX0=
@@ -0,0 +1,30 @@
1
+ import { Component, Input } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ import * as i1 from "@angular/common";
4
+ export class ZenduMapPreviewComponent {
5
+ constructor() {
6
+ this.source = "";
7
+ }
8
+ ngOnChanges(changes) {
9
+ if (this.apiKey && this.lat && this.lng) {
10
+ this.source = `https://image.maps.ls.hereapi.com/mia/1.6/mapview?apiKey=${this.apiKey}&c=${this.lat},${this.lng}` +
11
+ `&z=14&w=222&h=80&&base=reduced.night&incidents=off&traffic=off`;
12
+ }
13
+ else {
14
+ this.source = "";
15
+ }
16
+ }
17
+ }
18
+ ZenduMapPreviewComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: ZenduMapPreviewComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
19
+ ZenduMapPreviewComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.12", type: ZenduMapPreviewComponent, selector: "zen-map-preview", inputs: { lat: "lat", lng: "lng", apiKey: "apiKey" }, usesOnChanges: true, ngImport: i0, template: "<div class=\"component\"\n [ngStyle]=\"{ 'background-image': 'url('+source+')' }\">\n</div>\n", styles: [".component{width:100%;height:100%;background-size:cover;background-position:center;background-repeat:no-repeat}\n"], dependencies: [{ kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }] });
20
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: ZenduMapPreviewComponent, decorators: [{
21
+ type: Component,
22
+ args: [{ selector: 'zen-map-preview', template: "<div class=\"component\"\n [ngStyle]=\"{ 'background-image': 'url('+source+')' }\">\n</div>\n", styles: [".component{width:100%;height:100%;background-size:cover;background-position:center;background-repeat:no-repeat}\n"] }]
23
+ }], propDecorators: { lat: [{
24
+ type: Input
25
+ }], lng: [{
26
+ type: Input
27
+ }], apiKey: [{
28
+ type: Input
29
+ }] } });
30
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiemVuZHUtbWFwLXByZXZpZXcuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctemVuZHVpdC9zcmMvbGliL21hcC1wcmV2aWV3L3plbmR1LW1hcC1wcmV2aWV3LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLXplbmR1aXQvc3JjL2xpYi9tYXAtcHJldmlldy96ZW5kdS1tYXAtcHJldmlldy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBNEIsTUFBTSxlQUFlLENBQUM7OztBQU8zRSxNQUFNLE9BQU8sd0JBQXdCO0lBTHJDO1FBYVcsV0FBTSxHQUFHLEVBQUUsQ0FBQztLQVl0QjtJQVZVLFdBQVcsQ0FBQyxPQUFzQjtRQUNyQyxJQUFJLElBQUksQ0FBQyxNQUFNLElBQUksSUFBSSxDQUFDLEdBQUcsSUFBSSxJQUFJLENBQUMsR0FBRyxFQUFFO1lBQ3JDLElBQUksQ0FBQyxNQUFNLEdBQUcsNERBQTRELElBQUksQ0FBQyxNQUFNLE1BQU0sSUFBSSxDQUFDLEdBQUcsSUFBSSxJQUFJLENBQUMsR0FBRyxFQUFFO2dCQUM3RyxnRUFBZ0UsQ0FBQztTQUN4RTthQUNJO1lBQ0QsSUFBSSxDQUFDLE1BQU0sR0FBRyxFQUFFLENBQUM7U0FDcEI7SUFDTCxDQUFDOztzSEFsQlEsd0JBQXdCOzBHQUF4Qix3QkFBd0Isa0lDUHJDLG1HQUdBOzRGRElhLHdCQUF3QjtrQkFMcEMsU0FBUzsrQkFDSSxpQkFBaUI7OEJBTWxCLEdBQUc7c0JBQVgsS0FBSztnQkFFRyxHQUFHO3NCQUFYLEtBQUs7Z0JBRUcsTUFBTTtzQkFBZCxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgT25DaGFuZ2VzLCBTaW1wbGVDaGFuZ2VzIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnemVuLW1hcC1wcmV2aWV3JyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vemVuZHUtbWFwLXByZXZpZXcuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL3plbmR1LW1hcC1wcmV2aWV3LmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgWmVuZHVNYXBQcmV2aWV3Q29tcG9uZW50IGltcGxlbWVudHMgT25DaGFuZ2VzIHtcblxuICAgIEBJbnB1dCgpIGxhdDogbnVtYmVyO1xuXG4gICAgQElucHV0KCkgbG5nOiBudW1iZXI7XG5cbiAgICBASW5wdXQoKSBhcGlLZXk6IHN0cmluZztcblxuICAgIHB1YmxpYyBzb3VyY2UgPSBcIlwiO1xuXG4gICAgcHVibGljIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuYXBpS2V5ICYmIHRoaXMubGF0ICYmIHRoaXMubG5nKSB7XG4gICAgICAgICAgICB0aGlzLnNvdXJjZSA9IGBodHRwczovL2ltYWdlLm1hcHMubHMuaGVyZWFwaS5jb20vbWlhLzEuNi9tYXB2aWV3P2FwaUtleT0ke3RoaXMuYXBpS2V5fSZjPSR7dGhpcy5sYXR9LCR7dGhpcy5sbmd9YCArXG4gICAgICAgICAgICAgICAgYCZ6PTE0Jnc9MjIyJmg9ODAmJmJhc2U9cmVkdWNlZC5uaWdodCZpbmNpZGVudHM9b2ZmJnRyYWZmaWM9b2ZmYDtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuc291cmNlID0gXCJcIjtcbiAgICAgICAgfVxuICAgIH1cblxufVxuIiwiPGRpdiBjbGFzcz1cImNvbXBvbmVudFwiXG4gICAgIFtuZ1N0eWxlXT1cInsgJ2JhY2tncm91bmQtaW1hZ2UnOiAndXJsKCcrc291cmNlKycpJyB9XCI+XG48L2Rpdj5cbiJdfQ==
@@ -0,0 +1,158 @@
1
+ import { CommonModule } from '@angular/common';
2
+ import { NgModule } from '@angular/core';
3
+ import { FormsModule } from '@angular/forms';
4
+ import { ZenduCheckboxComponent } from './checkbox/zendu-checkbox.component';
5
+ import { ZenduColorPickerComponent } from './colorpicker/zendu-colorpicker.component';
6
+ import { ZenduColumnConfigurationComponent } from './column-configuration/zendu-column-configuration.component';
7
+ import { ZenduDatepickerComponent } from './datepicker/zendu-datepicker.component';
8
+ import { ZenduFilterComponent } from './filter/zendu-filter.component';
9
+ import { ZenduPaginationBarComponent } from './pagination-bar/zendu-pagination-bar.component';
10
+ import { ZenduPhoneInputComponent } from './phone-input/zendu-phone-input.component';
11
+ import { ZenduRadioButtonComponent } from './radio-button/radio-button.component';
12
+ import { ZenduSearchBoxComponent } from './search-box/zendu-search-box.component';
13
+ import { ZenduSelectComponent } from './select/zendu-select.component';
14
+ import { ZenduSelectOptionDirective } from './select/templates/zendu-select-option.directive';
15
+ import { ZenduSelectValueDirective } from './select/templates/zendu-select-value.directive';
16
+ import { ZenduSortHeaderComponent } from './sort-header/zendu-sort-header.component';
17
+ import { ZenduToggleSlideComponent } from './toggle-slide/zendu-toggle-slide.component';
18
+ import { ZenduToggleComponent } from './toggle/zendu-toggle.component';
19
+ import { DragDropModule } from '@angular/cdk/drag-drop';
20
+ import { ZenduIconComponent } from './icon/zendu-icon.component';
21
+ import { ZenduCardBlockComponent } from './card-block/zendu-card-block.component';
22
+ import { ZenduMapPreviewComponent } from './map-preview/zendu-map-preview.component';
23
+ import { ZenduSpinner } from './spinner/zendu-spinner.component';
24
+ import { ZenduDocScanner } from './doc-scanner/zendu-doc-scanner.component';
25
+ import { ZenduBreadcrumbs } from './breadcrumbs/zendu-breadcrumbs.component';
26
+ import { ZenduMapComponent } from './map/zendu-map.component';
27
+ import { ZenduFileUpload } from './file-upload/zendu-file-upload.component';
28
+ import { ZenduProgress } from './progress/zendu-progress.component';
29
+ import { OpenCVService } from './services/opencv.service';
30
+ import { ZenduLocationSearch } from './location-search/zendu-location-search.component';
31
+ import * as i0 from "@angular/core";
32
+ export class NgZenduitModule {
33
+ }
34
+ NgZenduitModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: NgZenduitModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
35
+ NgZenduitModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.2.12", ngImport: i0, type: NgZenduitModule, declarations: [ZenduCheckboxComponent,
36
+ ZenduToggleComponent,
37
+ ZenduToggleSlideComponent,
38
+ ZenduSearchBoxComponent,
39
+ ZenduSelectComponent,
40
+ ZenduSelectOptionDirective,
41
+ ZenduSelectValueDirective,
42
+ ZenduDatepickerComponent,
43
+ ZenduFilterComponent,
44
+ ZenduPaginationBarComponent,
45
+ ZenduColumnConfigurationComponent,
46
+ ZenduSortHeaderComponent,
47
+ ZenduPhoneInputComponent,
48
+ ZenduColorPickerComponent,
49
+ ZenduRadioButtonComponent,
50
+ ZenduIconComponent,
51
+ ZenduCardBlockComponent,
52
+ ZenduMapPreviewComponent,
53
+ ZenduSpinner,
54
+ ZenduDocScanner,
55
+ ZenduBreadcrumbs,
56
+ ZenduMapComponent,
57
+ ZenduFileUpload,
58
+ ZenduProgress,
59
+ ZenduLocationSearch], imports: [CommonModule,
60
+ FormsModule,
61
+ DragDropModule], exports: [ZenduCheckboxComponent,
62
+ ZenduToggleComponent,
63
+ ZenduToggleSlideComponent,
64
+ ZenduSearchBoxComponent,
65
+ ZenduSelectComponent,
66
+ ZenduSelectOptionDirective,
67
+ ZenduSelectValueDirective,
68
+ ZenduDatepickerComponent,
69
+ ZenduFilterComponent,
70
+ ZenduPaginationBarComponent,
71
+ ZenduColumnConfigurationComponent,
72
+ ZenduSortHeaderComponent,
73
+ ZenduPhoneInputComponent,
74
+ ZenduColorPickerComponent,
75
+ ZenduRadioButtonComponent,
76
+ ZenduIconComponent,
77
+ ZenduCardBlockComponent,
78
+ ZenduMapPreviewComponent,
79
+ ZenduSpinner,
80
+ ZenduDocScanner,
81
+ ZenduBreadcrumbs,
82
+ ZenduMapComponent,
83
+ ZenduFileUpload,
84
+ ZenduProgress,
85
+ ZenduLocationSearch] });
86
+ NgZenduitModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: NgZenduitModule, providers: [
87
+ OpenCVService
88
+ ], imports: [CommonModule,
89
+ FormsModule,
90
+ DragDropModule] });
91
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: NgZenduitModule, decorators: [{
92
+ type: NgModule,
93
+ args: [{
94
+ declarations: [
95
+ ZenduCheckboxComponent,
96
+ ZenduToggleComponent,
97
+ ZenduToggleSlideComponent,
98
+ ZenduSearchBoxComponent,
99
+ ZenduSelectComponent,
100
+ ZenduSelectOptionDirective,
101
+ ZenduSelectValueDirective,
102
+ ZenduDatepickerComponent,
103
+ ZenduFilterComponent,
104
+ ZenduPaginationBarComponent,
105
+ ZenduColumnConfigurationComponent,
106
+ ZenduSortHeaderComponent,
107
+ ZenduPhoneInputComponent,
108
+ ZenduColorPickerComponent,
109
+ ZenduRadioButtonComponent,
110
+ ZenduIconComponent,
111
+ ZenduCardBlockComponent,
112
+ ZenduMapPreviewComponent,
113
+ ZenduSpinner,
114
+ ZenduDocScanner,
115
+ ZenduBreadcrumbs,
116
+ ZenduMapComponent,
117
+ ZenduFileUpload,
118
+ ZenduProgress,
119
+ ZenduLocationSearch
120
+ ],
121
+ providers: [
122
+ OpenCVService
123
+ ],
124
+ imports: [
125
+ CommonModule,
126
+ FormsModule,
127
+ DragDropModule
128
+ ],
129
+ exports: [
130
+ ZenduCheckboxComponent,
131
+ ZenduToggleComponent,
132
+ ZenduToggleSlideComponent,
133
+ ZenduSearchBoxComponent,
134
+ ZenduSelectComponent,
135
+ ZenduSelectOptionDirective,
136
+ ZenduSelectValueDirective,
137
+ ZenduDatepickerComponent,
138
+ ZenduFilterComponent,
139
+ ZenduPaginationBarComponent,
140
+ ZenduColumnConfigurationComponent,
141
+ ZenduSortHeaderComponent,
142
+ ZenduPhoneInputComponent,
143
+ ZenduColorPickerComponent,
144
+ ZenduRadioButtonComponent,
145
+ ZenduIconComponent,
146
+ ZenduCardBlockComponent,
147
+ ZenduMapPreviewComponent,
148
+ ZenduSpinner,
149
+ ZenduDocScanner,
150
+ ZenduBreadcrumbs,
151
+ ZenduMapComponent,
152
+ ZenduFileUpload,
153
+ ZenduProgress,
154
+ ZenduLocationSearch
155
+ ]
156
+ }]
157
+ }] });
158
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmctemVuZHVpdC5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy16ZW5kdWl0L3NyYy9saWIvbmctemVuZHVpdC5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzdDLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQzdFLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLDJDQUEyQyxDQUFDO0FBQ3RGLE9BQU8sRUFBRSxpQ0FBaUMsRUFBRSxNQUFNLDZEQUE2RCxDQUFDO0FBQ2hILE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLHlDQUF5QyxDQUFDO0FBQ25GLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ3ZFLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLGlEQUFpRCxDQUFDO0FBQzlGLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLDJDQUEyQyxDQUFDO0FBQ3JGLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBQ2xGLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLHlDQUF5QyxDQUFDO0FBQ2xGLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ3ZFLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLGtEQUFrRCxDQUFDO0FBQzlGLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLGlEQUFpRCxDQUFDO0FBQzVGLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLDJDQUEyQyxDQUFDO0FBQ3JGLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFN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QVk7d0JBQ1osV0FBVzt3QkFDWCxjQUFjO3FCQUNmO29CQUNELE9BQU8sRUFBRTt3QkFDUCxzQkFBc0I7d0JBQ3RCLG9CQUFvQjt3QkFDcEIseUJBQXlCO3dCQUN6Qix1QkFBdUI7d0JBQ3ZCLG9CQUFvQjt3QkFDcEIsMEJBQTBCO3dCQUMxQix5QkFBeUI7d0JBQ3pCLHdCQUF3Qjt3QkFDeEIsb0JBQW9CO3dCQUNwQiwyQkFBMkI7d0JBQzNCLGlDQUFpQzt3QkFDakMsd0JBQXdCO3dCQUN4Qix3QkFBd0I7d0JBQ3hCLHlCQUF5Qjt3QkFDekIseUJBQXlCO3dCQUN6QixrQkFBa0I7d0JBQ2xCLHVCQUF1Qjt3QkFDdkIsd0JBQXdCO3dCQUN4QixZQUFZO3dCQUNaLGVBQWU7d0JBQ2YsZ0JBQWdCO3dCQUNoQixpQkFBaUI7d0JBQ2pCLGVBQWU7d0JBQ2YsYUFBYTt3QkFDYixtQkFBbUI7cUJBQ3BCO2lCQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IFplbmR1Q2hlY2tib3hDb21wb25lbnQgfSBmcm9tICcuL2NoZWNrYm94L3plbmR1LWNoZWNrYm94LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBaZW5kdUNvbG9yUGlja2VyQ29tcG9uZW50IH0gZnJvbSAnLi9jb2xvcnBpY2tlci96ZW5kdS1jb2xvcnBpY2tlci5jb21wb25lbnQnO1xuaW1wb3J0IHsgWmVuZHVDb2x1bW5Db25maWd1cmF0aW9uQ29tcG9uZW50IH0gZnJvbSAnLi9jb2x1bW4tY29uZmlndXJhdGlvbi96ZW5kdS1jb2x1bW4tY29uZmlndXJhdGlvbi5jb21wb25lbnQnO1xuaW1wb3J0IHsgWmVuZHVEYXRlcGlja2VyQ29tcG9uZW50IH0gZnJvbSAnLi9kYXRlcGlja2VyL3plbmR1LWRhdGVwaWNrZXIuY29tcG9uZW50JztcbmltcG9ydCB7IFplbmR1RmlsdGVyQ29tcG9uZW50IH0gZnJvbSAnLi9maWx0ZXIvemVuZHUtZmlsdGVyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBaZW5kdVBhZ2luYXRpb25CYXJDb21wb25lbnQgfSBmcm9tICcuL3BhZ2luYXRpb24tYmFyL3plbmR1LXBhZ2luYXRpb24tYmFyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBaZW5kdVBob25lSW5wdXRDb21wb25lbnQgfSBmcm9tICcuL3Bob25lLWlucHV0L3plbmR1LXBob25lLWlucHV0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBaZW5kdVJhZGlvQnV0dG9uQ29tcG9uZW50IH0gZnJvbSAnLi9yYWRpby1idXR0b24vcmFkaW8tYnV0dG9uLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBaZW5kdVNlYXJjaEJveENvbXBvbmVudCB9IGZyb20gJy4vc2VhcmNoLWJveC96ZW5kdS1zZWFyY2gtYm94LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBaZW5kdVNlbGVjdENvbXBvbmVudCB9IGZyb20gJy4vc2VsZWN0L3plbmR1LXNlbGVjdC5jb21wb25lbnQnO1xuaW1wb3J0IHsgWmVuZHVTZWxlY3RPcHRpb25EaXJlY3RpdmUgfSBmcm9tICcuL3NlbGVjdC90ZW1wbGF0ZXMvemVuZHUtc2VsZWN0LW9wdGlvbi5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgWmVuZHVTZWxlY3RWYWx1ZURpcmVjdGl2ZSB9IGZyb20gJy4vc2VsZWN0L3RlbXBsYXRlcy96ZW5kdS1zZWxlY3QtdmFsdWUuZGlyZWN0aXZlJztcbmltcG9ydCB7IFplbmR1U29ydEhlYWRlckNvbXBvbmVudCB9IGZyb20gJy4vc29ydC1oZWFkZXIvemVuZHUtc29ydC1oZWFkZXIuY29tcG9uZW50JztcbmltcG9ydCB7IFplbmR1VG9nZ2xlU2xpZGVDb21wb25lbnQgfSBmcm9tICcuL3RvZ2dsZS1zbGlkZS96ZW5kdS10b2dnbGUtc2xpZGUuY29tcG9uZW50JztcbmltcG9ydCB7IFplbmR1VG9nZ2xlQ29tcG9uZW50IH0gZnJvbSAnLi90b2dnbGUvemVuZHUtdG9nZ2xlLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBEcmFnRHJvcE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9kcmFnLWRyb3AnO1xuaW1wb3J0IHsgWmVuZHVJY29uQ29tcG9uZW50IH0gZnJvbSAnLi9pY29uL3plbmR1LWljb24uY29tcG9uZW50JztcbmltcG9ydCB7IFplbmR1Q2FyZEJsb2NrQ29tcG9uZW50IH0gZnJvbSAnLi9jYXJkLWJsb2NrL3plbmR1LWNhcmQtYmxvY2suY29tcG9uZW50JztcbmltcG9ydCB7IFplbmR1TWFwUHJldmlld0NvbXBvbmVudCB9IGZyb20gJy4vbWFwLXByZXZpZXcvemVuZHUtbWFwLXByZXZpZXcuY29tcG9uZW50JztcbmltcG9ydCB7IFplbmR1U3Bpbm5lciB9IGZyb20gJy4vc3Bpbm5lci96ZW5kdS1zcGlubmVyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBaZW5kdURvY1NjYW5uZXIgfSBmcm9tICcuL2RvYy1zY2FubmVyL3plbmR1LWRvYy1zY2FubmVyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBaZW5kdUJyZWFkY3J1bWJzIH0gZnJvbSAnLi9icmVhZGNydW1icy96ZW5kdS1icmVhZGNydW1icy5jb21wb25lbnQnO1xuaW1wb3J0IHsgWmVuZHVNYXBDb21wb25lbnQgfSBmcm9tICcuL21hcC96ZW5kdS1tYXAuY29tcG9uZW50JztcbmltcG9ydCB7IFplbmR1RmlsZVVwbG9hZCB9IGZyb20gJy4vZmlsZS11cGxvYWQvemVuZHUtZmlsZS11cGxvYWQuY29tcG9uZW50JztcbmltcG9ydCB7IFplbmR1UHJvZ3Jlc3MgfSBmcm9tICcuL3Byb2dyZXNzL3plbmR1LXByb2dyZXNzLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBPcGVuQ1ZTZXJ2aWNlIH0gZnJvbSAnLi9zZXJ2aWNlcy9vcGVuY3Yuc2VydmljZSc7XG5pbXBvcnQgeyBaZW5kdUxvY2F0aW9uU2VhcmNoIH0gZnJvbSAnLi9sb2NhdGlvbi1zZWFyY2gvemVuZHUtbG9jYXRpb24tc2VhcmNoLmNvbXBvbmVudCc7XG5cbkBOZ01vZHVsZSh7XG4gIGRlY2xhcmF0aW9uczogW1xuICAgIFplbmR1Q2hlY2tib3hDb21wb25lbnQsXG4gICAgWmVuZHVUb2dnbGVDb21wb25lbnQsXG4gICAgWmVuZHVUb2dnbGVTbGlkZUNvbXBvbmVudCxcbiAgICBaZW5kdVNlYXJjaEJveENvbXBvbmVudCxcbiAgICBaZW5kdVNlbGVjdENvbXBvbmVudCxcbiAgICBaZW5kdVNlbGVjdE9wdGlvbkRpcmVjdGl2ZSxcbiAgICBaZW5kdVNlbGVjdFZhbHVlRGlyZWN0aXZlLFxuICAgIFplbmR1RGF0ZXBpY2tlckNvbXBvbmVudCxcbiAgICBaZW5kdUZpbHRlckNvbXBvbmVudCxcbiAgICBaZW5kdVBhZ2luYXRpb25CYXJDb21wb25lbnQsXG4gICAgWmVuZHVDb2x1bW5Db25maWd1cmF0aW9uQ29tcG9uZW50LFxuICAgIFplbmR1U29ydEhlYWRlckNvbXBvbmVudCxcbiAgICBaZW5kdVBob25lSW5wdXRDb21wb25lbnQsXG4gICAgWmVuZHVDb2xvclBpY2tlckNvbXBvbmVudCxcbiAgICBaZW5kdVJhZGlvQnV0dG9uQ29tcG9uZW50LFxuICAgIFplbmR1SWNvbkNvbXBvbmVudCxcbiAgICBaZW5kdUNhcmRCbG9ja0NvbXBvbmVudCxcbiAgICBaZW5kdU1hcFByZXZpZXdDb21wb25lbnQsXG4gICAgWmVuZHVTcGlubmVyLFxuICAgIFplbmR1RG9jU2Nhbm5lcixcbiAgICBaZW5kdUJyZWFkY3J1bWJzLFxuICAgIFplbmR1TWFwQ29tcG9uZW50LFxuICAgIFplbmR1RmlsZVVwbG9hZCxcbiAgICBaZW5kdVByb2dyZXNzLFxuICAgIFplbmR1TG9jYXRpb25TZWFyY2hcbiAgXSxcbiAgcHJvdmlkZXJzOiBbXG4gICAgT3BlbkNWU2VydmljZVxuICBdLFxuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIEZvcm1zTW9kdWxlLFxuICAgIERyYWdEcm9wTW9kdWxlXG4gIF0sXG4gIGV4cG9ydHM6IFtcbiAgICBaZW5kdUNoZWNrYm94Q29tcG9uZW50LFxuICAgIFplbmR1VG9nZ2xlQ29tcG9uZW50LFxuICAgIFplbmR1VG9nZ2xlU2xpZGVDb21wb25lbnQsXG4gICAgWmVuZHVTZWFyY2hCb3hDb21wb25lbnQsXG4gICAgWmVuZHVTZWxlY3RDb21wb25lbnQsXG4gICAgWmVuZHVTZWxlY3RPcHRpb25EaXJlY3RpdmUsXG4gICAgWmVuZHVTZWxlY3RWYWx1ZURpcmVjdGl2ZSxcbiAgICBaZW5kdURhdGVwaWNrZXJDb21wb25lbnQsXG4gICAgWmVuZHVGaWx0ZXJDb21wb25lbnQsXG4gICAgWmVuZHVQYWdpbmF0aW9uQmFyQ29tcG9uZW50LFxuICAgIFplbmR1Q29sdW1uQ29uZmlndXJhdGlvbkNvbXBvbmVudCxcbiAgICBaZW5kdVNvcnRIZWFkZXJDb21wb25lbnQsXG4gICAgWmVuZHVQaG9uZUlucHV0Q29tcG9uZW50LFxuICAgIFplbmR1Q29sb3JQaWNrZXJDb21wb25lbnQsXG4gICAgWmVuZHVSYWRpb0J1dHRvbkNvbXBvbmVudCxcbiAgICBaZW5kdUljb25Db21wb25lbnQsXG4gICAgWmVuZHVDYXJkQmxvY2tDb21wb25lbnQsXG4gICAgWmVuZHVNYXBQcmV2aWV3Q29tcG9uZW50LFxuICAgIFplbmR1U3Bpbm5lcixcbiAgICBaZW5kdURvY1NjYW5uZXIsXG4gICAgWmVuZHVCcmVhZGNydW1icyxcbiAgICBaZW5kdU1hcENvbXBvbmVudCxcbiAgICBaZW5kdUZpbGVVcGxvYWQsXG4gICAgWmVuZHVQcm9ncmVzcyxcbiAgICBaZW5kdUxvY2F0aW9uU2VhcmNoXG4gIF1cbn0pXG5leHBvcnQgY2xhc3MgTmdaZW5kdWl0TW9kdWxlIHsgfVxuXG4iXX0=
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnZUl0ZW0uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy16ZW5kdWl0L3NyYy9saWIvcGFnaW5hdGlvbi1iYXIvcGFnZUl0ZW0udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBpbnRlcmZhY2UgUGFnZUl0ZW0ge1xuICBQYWdlOiBudW1iZXI7XG5cbiAgSXNDdXJyZW50OiBib29sZWFuO1xufVxuIl19