ecabs-components 1.1.47 → 1.1.49
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.
- package/README.md +2 -0
- package/esm2022/lib/base/models/waypoint.models.mjs +26 -0
- package/esm2022/lib/base/pipes/separator-append.pipe.mjs +17 -0
- package/esm2022/lib/ecabs-dialog-confirm/ecabs-dialog-confirm.component.mjs +3 -3
- package/esm2022/lib/ecabs-place-autocomplete-v2/ecabs-place-autocomplete-v2.component.mjs +237 -0
- package/esm2022/lib/ecabs-place-autocomplete-v2/ecabs-place-autocomplete-v2.module.mjs +40 -0
- package/esm2022/public-api.mjs +5 -1
- package/fesm2022/ecabs-components.mjs +337 -39
- package/fesm2022/ecabs-components.mjs.map +1 -1
- package/lib/base/models/waypoint.models.d.ts +29 -0
- package/lib/base/pipes/separator-append.pipe.d.ts +7 -0
- package/lib/ecabs-dialog-confirm/ecabs-dialog-confirm.component.d.ts +1 -0
- package/lib/ecabs-place-autocomplete-v2/ecabs-place-autocomplete-v2.component.d.ts +55 -0
- package/lib/ecabs-place-autocomplete-v2/ecabs-place-autocomplete-v2.module.d.ts +13 -0
- package/package.json +1 -1
- package/public-api.d.ts +4 -0
- package/src/assets/styles/material/overrides/_form.scss +4 -0
- package/src/assets/styles/scss/modules/_autocomplete.scss +20 -7
- package/src/assets/styles/tailwind/index.scss +1 -1
package/README.md
CHANGED
|
@@ -107,3 +107,5 @@ To get more help on the Angular CLI use `ng help` or go check out the [Angular C
|
|
|
107
107
|
- **v1.1.45** — Added default validation of date range
|
|
108
108
|
- **v1.1.46** — Add `ViewChild` reference for `MatRadioGroup` and update event type in `EcabsRadioButtonListComponent`.
|
|
109
109
|
- **v1.1.47** — Add `Title` and `dynamic` content support to `EcabsEmptyPlaceholderComponent`.
|
|
110
|
+
- **v1.1.48** — Implement `EcabsPlaceAutocompleteV2Component` to support waypoints history, query change handling, and dropdown suggestions display.
|
|
111
|
+
- **v1.1.49** — Add support for `splitButtonsWidth` in `EcabsDialogConfirmComponent` and update button styling.`.
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
export const WAYPOINT_SUGGESTIONS = [
|
|
2
|
+
{
|
|
3
|
+
suggestion_id: '123',
|
|
4
|
+
additional_info: 'Fastlane Ltd.',
|
|
5
|
+
location: { lat: 35.9038623, lng: 14.4129533 },
|
|
6
|
+
place_id: 'ChIJk9v0xtlRDhMRhrtrt2ChIic',
|
|
7
|
+
source: 'history',
|
|
8
|
+
},
|
|
9
|
+
];
|
|
10
|
+
export const WAYPOINT_SUGGESTIONS2 = [
|
|
11
|
+
{
|
|
12
|
+
suggestion_id: '1234',
|
|
13
|
+
additional_info: 'Fastlane Ltd. 2000',
|
|
14
|
+
location: { lat: 35.9038623, lng: 14.4129533 },
|
|
15
|
+
place_id: 'ChIJk9v0xtlRDhMRhrtrt2ChIic',
|
|
16
|
+
source: 'history',
|
|
17
|
+
},
|
|
18
|
+
{
|
|
19
|
+
suggestion_id: '1234',
|
|
20
|
+
additional_info: '448 D’Argens Garden, Leyland, Sliema, Malta',
|
|
21
|
+
location: { lat: 35.9095011, lng: 14.4945982 },
|
|
22
|
+
place_id: 'ChIJk9v0xtlRDhMRhrtrt2ChIic',
|
|
23
|
+
source: 'history',
|
|
24
|
+
},
|
|
25
|
+
];
|
|
26
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2F5cG9pbnQubW9kZWxzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZWNhYnMtY29tcG9uZW50cy9zcmMvbGliL2Jhc2UvbW9kZWxzL3dheXBvaW50Lm1vZGVscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUErQkEsTUFBTSxDQUFDLE1BQU0sb0JBQW9CLEdBQXlCO0lBQ3hEO1FBQ0UsYUFBYSxFQUFFLEtBQUs7UUFDcEIsZUFBZSxFQUFFLGVBQWU7UUFDaEMsUUFBUSxFQUFFLEVBQUUsR0FBRyxFQUFFLFVBQVUsRUFBRSxHQUFHLEVBQUUsVUFBVSxFQUFFO1FBQzlDLFFBQVEsRUFBRSw2QkFBNkI7UUFDdkMsTUFBTSxFQUFFLFNBQVM7S0FDbEI7Q0FDRixDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0scUJBQXFCLEdBQXlCO0lBQ3pEO1FBQ0UsYUFBYSxFQUFFLE1BQU07UUFDckIsZUFBZSxFQUFFLG9CQUFvQjtRQUNyQyxRQUFRLEVBQUUsRUFBRSxHQUFHLEVBQUUsVUFBVSxFQUFFLEdBQUcsRUFBRSxVQUFVLEVBQUU7UUFDOUMsUUFBUSxFQUFFLDZCQUE2QjtRQUN2QyxNQUFNLEVBQUUsU0FBUztLQUNsQjtJQUNEO1FBQ0UsYUFBYSxFQUFFLE1BQU07UUFDckIsZUFBZSxFQUFFLDZDQUE2QztRQUM5RCxRQUFRLEVBQUUsRUFBRSxHQUFHLEVBQUUsVUFBVSxFQUFFLEdBQUcsRUFBRSxVQUFVLEVBQUU7UUFDOUMsUUFBUSxFQUFFLDZCQUE2QjtRQUN2QyxNQUFNLEVBQUUsU0FBUztLQUNsQjtDQUNGLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUGxhY2VSZXN1bHQgPSBnb29nbGUubWFwcy5wbGFjZXMuUGxhY2VSZXN1bHQ7XHJcbmltcG9ydCB7IFdheXBvaW50VHlwZUVudW0gfSBmcm9tICcuLi9jb25zdHMvd2F5cG9pbnQuY29uc3RzJztcclxuaW1wb3J0IFByZWRpY3Rpb25UZXJtID0gZ29vZ2xlLm1hcHMucGxhY2VzLlByZWRpY3Rpb25UZXJtO1xyXG5cclxuZXhwb3J0IGludGVyZmFjZSBXYXlwb2ludFN1Z2dlc3Rpb24ge1xyXG4gIHN1Z2dlc3Rpb25faWQ/OiBzdHJpbmc7XHJcbiAgYWRkaXRpb25hbF9pbmZvPzogc3RyaW5nO1xyXG4gIGxvY2F0aW9uPzogR2VvUG9pbnQ7XHJcbiAgcGxhY2VfaWQ6IHN0cmluZztcclxuICBzb3VyY2U/OiBzdHJpbmc7XHJcbiAgZnJlcXVlbmN5PzogbnVtYmVyO1xyXG4gIGxhc3RfdmlzaXQ/OiBzdHJpbmcgfCBEYXRlO1xyXG4gIGdlb19rZXk/OiBzdHJpbmc7XHJcbiAgcHJlZGljdGlvbl90ZXJtPzogUHJlZGljdGlvblRlcm1bXTtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBHZW9Qb2ludCB7XHJcbiAgbGF0OiBudW1iZXI7XHJcbiAgbG5nOiBudW1iZXI7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgR29vZ2xlUGxhY2VSZXN1bHQge1xyXG4gIHBsYWNlOiBQbGFjZVJlc3VsdDtcclxuICB0ZXh0OiBzdHJpbmc7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgV2F5cG9pbnRRdWVyeUNoYW5nZSB7XHJcbiAgd2F5cG9pbnRfdHlwZTogV2F5cG9pbnRUeXBlRW51bTtcclxuICBxdWVyeTogc3RyaW5nO1xyXG59XHJcblxyXG5leHBvcnQgY29uc3QgV0FZUE9JTlRfU1VHR0VTVElPTlM6IFdheXBvaW50U3VnZ2VzdGlvbltdID0gW1xyXG4gIHtcclxuICAgIHN1Z2dlc3Rpb25faWQ6ICcxMjMnLFxyXG4gICAgYWRkaXRpb25hbF9pbmZvOiAnRmFzdGxhbmUgTHRkLicsXHJcbiAgICBsb2NhdGlvbjogeyBsYXQ6IDM1LjkwMzg2MjMsIGxuZzogMTQuNDEyOTUzMyB9LFxyXG4gICAgcGxhY2VfaWQ6ICdDaElKazl2MHh0bFJEaE1SaHJ0cnQyQ2hJaWMnLFxyXG4gICAgc291cmNlOiAnaGlzdG9yeScsXHJcbiAgfSxcclxuXTtcclxuXHJcbmV4cG9ydCBjb25zdCBXQVlQT0lOVF9TVUdHRVNUSU9OUzI6IFdheXBvaW50U3VnZ2VzdGlvbltdID0gW1xyXG4gIHtcclxuICAgIHN1Z2dlc3Rpb25faWQ6ICcxMjM0JyxcclxuICAgIGFkZGl0aW9uYWxfaW5mbzogJ0Zhc3RsYW5lIEx0ZC4gMjAwMCcsXHJcbiAgICBsb2NhdGlvbjogeyBsYXQ6IDM1LjkwMzg2MjMsIGxuZzogMTQuNDEyOTUzMyB9LFxyXG4gICAgcGxhY2VfaWQ6ICdDaElKazl2MHh0bFJEaE1SaHJ0cnQyQ2hJaWMnLFxyXG4gICAgc291cmNlOiAnaGlzdG9yeScsXHJcbiAgfSxcclxuICB7XHJcbiAgICBzdWdnZXN0aW9uX2lkOiAnMTIzNCcsXHJcbiAgICBhZGRpdGlvbmFsX2luZm86ICc0NDggROKAmUFyZ2VucyBHYXJkZW4sIExleWxhbmQsIFNsaWVtYSwgTWFsdGEnLFxyXG4gICAgbG9jYXRpb246IHsgbGF0OiAzNS45MDk1MDExLCBsbmc6IDE0LjQ5NDU5ODIgfSxcclxuICAgIHBsYWNlX2lkOiAnQ2hJSms5djB4dGxSRGhNUmhydHJ0MkNoSWljJyxcclxuICAgIHNvdXJjZTogJ2hpc3RvcnknLFxyXG4gIH0sXHJcbl07XHJcbiJdfQ==
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { Pipe } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
export class SeparatorAppendPipe {
|
|
4
|
+
transform(value, nextSibling, separator = ', ') {
|
|
5
|
+
return value && nextSibling ? `${value}${separator}` : value;
|
|
6
|
+
}
|
|
7
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SeparatorAppendPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
|
|
8
|
+
static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: SeparatorAppendPipe, isStandalone: true, name: "separatorAppend" });
|
|
9
|
+
}
|
|
10
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SeparatorAppendPipe, decorators: [{
|
|
11
|
+
type: Pipe,
|
|
12
|
+
args: [{
|
|
13
|
+
name: 'separatorAppend',
|
|
14
|
+
standalone: true,
|
|
15
|
+
}]
|
|
16
|
+
}] });
|
|
17
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VwYXJhdG9yLWFwcGVuZC5waXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZWNhYnMtY29tcG9uZW50cy9zcmMvbGliL2Jhc2UvcGlwZXMvc2VwYXJhdG9yLWFwcGVuZC5waXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxJQUFJLEVBQWlCLE1BQU0sZUFBZSxDQUFDOztBQU1wRCxNQUFNLE9BQU8sbUJBQW1CO0lBQzlCLFNBQVMsQ0FBQyxLQUFhLEVBQUUsV0FBb0IsRUFBRSxTQUFTLEdBQUcsSUFBSTtRQUM3RCxPQUFPLEtBQUssSUFBSSxXQUFXLENBQUMsQ0FBQyxDQUFDLEdBQUcsS0FBSyxHQUFHLFNBQVMsRUFBRSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUM7SUFDL0QsQ0FBQzt3R0FIVSxtQkFBbUI7c0dBQW5CLG1CQUFtQjs7NEZBQW5CLG1CQUFtQjtrQkFKL0IsSUFBSTttQkFBQztvQkFDSixJQUFJLEVBQUUsaUJBQWlCO29CQUN2QixVQUFVLEVBQUUsSUFBSTtpQkFDakIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQaXBlLCBQaXBlVHJhbnNmb3JtIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5AUGlwZSh7XHJcbiAgbmFtZTogJ3NlcGFyYXRvckFwcGVuZCcsXHJcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcclxufSlcclxuZXhwb3J0IGNsYXNzIFNlcGFyYXRvckFwcGVuZFBpcGUgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcclxuICB0cmFuc2Zvcm0odmFsdWU6IHN0cmluZywgbmV4dFNpYmxpbmc/OiBzdHJpbmcsIHNlcGFyYXRvciA9ICcsICcpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIHZhbHVlICYmIG5leHRTaWJsaW5nID8gYCR7dmFsdWV9JHtzZXBhcmF0b3J9YCA6IHZhbHVlO1xyXG4gIH1cclxufVxyXG4iXX0=
|
|
@@ -67,13 +67,13 @@ export class EcabsDialogConfirmComponent {
|
|
|
67
67
|
this.dialogRef.close(this.data.popoverResult ?? false);
|
|
68
68
|
}
|
|
69
69
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: EcabsDialogConfirmComponent, deps: [{ token: MAT_DIALOG_DATA }, { token: i1.MatDialogRef }, { token: i2.UnsubscribeService }, { token: i3.EcabsComponentsService }, { token: i0.DestroyRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
70
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: EcabsDialogConfirmComponent, selector: "ecabs-dialog-confirm", providers: [UnsubscribeService], ngImport: i0, template: "<div matDialogTitle *ngIf=\"data?.titleTemplate; else title\">\r\n <div class=\"flex items-center justify-between modal-title\">\r\n <ng-container *ngTemplateOutlet=\"data?.titleTemplate\"></ng-container>\r\n\r\n <mat-icon *ngIf=\"!!data?.isPopover\" (click)=\"closeOnPopover()\"\r\n (keydown.enter)=\"closeOnPopover()\"\r\n class=\"mat-icon material-icons-outlined justify-end icon--close\">\r\n close\r\n </mat-icon>\r\n </div>\r\n</div>\r\n\r\n\r\n<ng-template #title>\r\n <div matDialogTitle *ngIf=\"data?.title || !!data?.isPopover\" class=\"flex flex-column\">\r\n <div *ngIf=\"!!data?.isPopover\" class=\"w-full flex justify-end\">\r\n <mat-icon (click)=\"closeOnPopover()\"\r\n (keydown.enter)=\"closeOnPopover()\"\r\n class=\"mat-icon material-icons-outlined float-right icon--close mb-2\">\r\n close\r\n </mat-icon>\r\n </div>\r\n\r\n <div class=\"font-semibold heading--xs modal-title {{ data.titleColor }}\" *ngIf=\"data.title\">\r\n {{ data.title }}\r\n </div>\r\n </div>\r\n</ng-template>\r\n\r\n\r\n<div mat-dialog-content>\r\n <div *ngIf=\"data?.content\">{{ data?.content }}</div>\r\n <ng-container *ngTemplateOutlet=\"data?.message\"></ng-container>\r\n</div>\r\n\r\n<div *ngIf=\"(!!data?.cancelLabel || !!data?.confirmLabel) && !data?.hideCtaButtons\">\r\n <div mat-dialog-actions\r\n [ngClass]=\"{'gap-y-4': data?.useFullButtonSize}\"\r\n class=\"btn__group flex justify-end w-full\">\r\n <ecabs-buttons *ngIf=\"!!data?.cancelLabel\"\r\n [full]=\"data?.useFullButtonSize\"\r\n (click)=\"closeFalsey()\"\r\n (keydown.enter)=\"closeFalsey()\"\r\n [style]=\"data?.cancelStyle || 'stroked'\">\r\n {{ data?.cancelLabel }}\r\n </ecabs-buttons>\r\n\r\n <ecabs-buttons *ngIf=\"!!data?.confirmLabel\"\r\n [full]=\"data?.useFullButtonSize\"\r\n [color]=\"data?.color || color\"\r\n [style]=\"data?.confirmStyle || 'flat'\"\r\n [loading]=\"data?.loading$ | async\"\r\n (click)=\"closeDialog()\"\r\n [disabled]=\"data?.disableConfirm$ | async\"\r\n (keydown.enter)=\"closeDialog()\">\r\n {{ data?.confirmLabel }}\r\n </ecabs-buttons>\r\n </div>\r\n</div>\r\n", styles: [":host .mat-icon.icon--close,:host ::ng-deep .mat-icon.icon--close{cursor:pointer;color:var(--color-gray-500)}.modal-title.warn{color:var(--color-error)!important}\n"], dependencies: [{ kind: "directive", type: i4.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i1.MatDialogTitle, selector: "[mat-dialog-title], [matDialogTitle]", inputs: ["id"], exportAs: ["matDialogTitle"] }, { kind: "directive", type: i1.MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }, { kind: "directive", type: i1.MatDialogActions, selector: "[mat-dialog-actions], mat-dialog-actions, [matDialogActions]", inputs: ["align"] }, { kind: "component", type: i5.ButtonsComponent, selector: "ecabs-buttons", inputs: ["disabled", "loading", "size", "type", "style", "full", "color"] }, { kind: "component", type: i6.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "pipe", type: i4.AsyncPipe, name: "async" }] });
|
|
70
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: EcabsDialogConfirmComponent, selector: "ecabs-dialog-confirm", providers: [UnsubscribeService], ngImport: i0, template: "<div matDialogTitle *ngIf=\"data?.titleTemplate; else title\">\r\n <div class=\"flex items-center justify-between modal-title\">\r\n <ng-container *ngTemplateOutlet=\"data?.titleTemplate\"></ng-container>\r\n\r\n <mat-icon *ngIf=\"!!data?.isPopover\" (click)=\"closeOnPopover()\"\r\n (keydown.enter)=\"closeOnPopover()\"\r\n class=\"mat-icon material-icons-outlined justify-end icon--close\">\r\n close\r\n </mat-icon>\r\n </div>\r\n</div>\r\n\r\n\r\n<ng-template #title>\r\n <div matDialogTitle *ngIf=\"data?.title || !!data?.isPopover\" class=\"flex flex-column\">\r\n <div *ngIf=\"!!data?.isPopover\" class=\"w-full flex justify-end\">\r\n <mat-icon (click)=\"closeOnPopover()\"\r\n (keydown.enter)=\"closeOnPopover()\"\r\n class=\"mat-icon material-icons-outlined float-right icon--close mb-2\">\r\n close\r\n </mat-icon>\r\n </div>\r\n\r\n <div class=\"font-semibold heading--xs modal-title {{ data.titleColor }}\" *ngIf=\"data.title\">\r\n {{ data.title }}\r\n </div>\r\n </div>\r\n</ng-template>\r\n\r\n\r\n<div mat-dialog-content>\r\n <div *ngIf=\"data?.content\">{{ data?.content }}</div>\r\n <ng-container *ngTemplateOutlet=\"data?.message\"></ng-container>\r\n</div>\r\n\r\n<div *ngIf=\"(!!data?.cancelLabel || !!data?.confirmLabel) && !data?.hideCtaButtons\">\r\n <div mat-dialog-actions\r\n [ngClass]=\"{'gap-y-4': data?.useFullButtonSize || data?.splitButtonsWidth}\"\r\n class=\"btn__group flex justify-end w-full\">\r\n <ecabs-buttons *ngIf=\"!!data?.cancelLabel\"\r\n [ngClass]=\"{'flex-1': data?.splitButtonsWidth}\"\r\n [full]=\"data?.useFullButtonSize\"\r\n (click)=\"closeFalsey()\"\r\n (keydown.enter)=\"closeFalsey()\"\r\n [style]=\"data?.cancelStyle || 'stroked'\">\r\n {{ data?.cancelLabel }}\r\n </ecabs-buttons>\r\n\r\n <ecabs-buttons *ngIf=\"!!data?.confirmLabel\"\r\n [ngClass]=\"{'flex-1': data?.splitButtonsWidth}\"\r\n [full]=\"data?.useFullButtonSize\"\r\n [color]=\"data?.color || color\"\r\n [style]=\"data?.confirmStyle || 'flat'\"\r\n [loading]=\"data?.loading$ | async\"\r\n (click)=\"closeDialog()\"\r\n [disabled]=\"data?.disableConfirm$ | async\"\r\n (keydown.enter)=\"closeDialog()\">\r\n {{ data?.confirmLabel }}\r\n </ecabs-buttons>\r\n </div>\r\n</div>\r\n", styles: [":host .mat-icon.icon--close,:host ::ng-deep .mat-icon.icon--close{cursor:pointer;color:var(--color-gray-500)}.modal-title.warn{color:var(--color-error)!important}\n"], dependencies: [{ kind: "directive", type: i4.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i1.MatDialogTitle, selector: "[mat-dialog-title], [matDialogTitle]", inputs: ["id"], exportAs: ["matDialogTitle"] }, { kind: "directive", type: i1.MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }, { kind: "directive", type: i1.MatDialogActions, selector: "[mat-dialog-actions], mat-dialog-actions, [matDialogActions]", inputs: ["align"] }, { kind: "component", type: i5.ButtonsComponent, selector: "ecabs-buttons", inputs: ["disabled", "loading", "size", "type", "style", "full", "color"] }, { kind: "component", type: i6.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "pipe", type: i4.AsyncPipe, name: "async" }] });
|
|
71
71
|
}
|
|
72
72
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: EcabsDialogConfirmComponent, decorators: [{
|
|
73
73
|
type: Component,
|
|
74
|
-
args: [{ selector: 'ecabs-dialog-confirm', providers: [UnsubscribeService], template: "<div matDialogTitle *ngIf=\"data?.titleTemplate; else title\">\r\n <div class=\"flex items-center justify-between modal-title\">\r\n <ng-container *ngTemplateOutlet=\"data?.titleTemplate\"></ng-container>\r\n\r\n <mat-icon *ngIf=\"!!data?.isPopover\" (click)=\"closeOnPopover()\"\r\n (keydown.enter)=\"closeOnPopover()\"\r\n class=\"mat-icon material-icons-outlined justify-end icon--close\">\r\n close\r\n </mat-icon>\r\n </div>\r\n</div>\r\n\r\n\r\n<ng-template #title>\r\n <div matDialogTitle *ngIf=\"data?.title || !!data?.isPopover\" class=\"flex flex-column\">\r\n <div *ngIf=\"!!data?.isPopover\" class=\"w-full flex justify-end\">\r\n <mat-icon (click)=\"closeOnPopover()\"\r\n (keydown.enter)=\"closeOnPopover()\"\r\n class=\"mat-icon material-icons-outlined float-right icon--close mb-2\">\r\n close\r\n </mat-icon>\r\n </div>\r\n\r\n <div class=\"font-semibold heading--xs modal-title {{ data.titleColor }}\" *ngIf=\"data.title\">\r\n {{ data.title }}\r\n </div>\r\n </div>\r\n</ng-template>\r\n\r\n\r\n<div mat-dialog-content>\r\n <div *ngIf=\"data?.content\">{{ data?.content }}</div>\r\n <ng-container *ngTemplateOutlet=\"data?.message\"></ng-container>\r\n</div>\r\n\r\n<div *ngIf=\"(!!data?.cancelLabel || !!data?.confirmLabel) && !data?.hideCtaButtons\">\r\n <div mat-dialog-actions\r\n [ngClass]=\"{'gap-y-4': data?.useFullButtonSize}\"\r\n class=\"btn__group flex justify-end w-full\">\r\n <ecabs-buttons *ngIf=\"!!data?.cancelLabel\"\r\n [full]=\"data?.useFullButtonSize\"\r\n (click)=\"closeFalsey()\"\r\n (keydown.enter)=\"closeFalsey()\"\r\n [style]=\"data?.cancelStyle || 'stroked'\">\r\n {{ data?.cancelLabel }}\r\n </ecabs-buttons>\r\n\r\n <ecabs-buttons *ngIf=\"!!data?.confirmLabel\"\r\n [full]=\"data?.useFullButtonSize\"\r\n [color]=\"data?.color || color\"\r\n [style]=\"data?.confirmStyle || 'flat'\"\r\n [loading]=\"data?.loading$ | async\"\r\n (click)=\"closeDialog()\"\r\n [disabled]=\"data?.disableConfirm$ | async\"\r\n (keydown.enter)=\"closeDialog()\">\r\n {{ data?.confirmLabel }}\r\n </ecabs-buttons>\r\n </div>\r\n</div>\r\n", styles: [":host .mat-icon.icon--close,:host ::ng-deep .mat-icon.icon--close{cursor:pointer;color:var(--color-gray-500)}.modal-title.warn{color:var(--color-error)!important}\n"] }]
|
|
74
|
+
args: [{ selector: 'ecabs-dialog-confirm', providers: [UnsubscribeService], template: "<div matDialogTitle *ngIf=\"data?.titleTemplate; else title\">\r\n <div class=\"flex items-center justify-between modal-title\">\r\n <ng-container *ngTemplateOutlet=\"data?.titleTemplate\"></ng-container>\r\n\r\n <mat-icon *ngIf=\"!!data?.isPopover\" (click)=\"closeOnPopover()\"\r\n (keydown.enter)=\"closeOnPopover()\"\r\n class=\"mat-icon material-icons-outlined justify-end icon--close\">\r\n close\r\n </mat-icon>\r\n </div>\r\n</div>\r\n\r\n\r\n<ng-template #title>\r\n <div matDialogTitle *ngIf=\"data?.title || !!data?.isPopover\" class=\"flex flex-column\">\r\n <div *ngIf=\"!!data?.isPopover\" class=\"w-full flex justify-end\">\r\n <mat-icon (click)=\"closeOnPopover()\"\r\n (keydown.enter)=\"closeOnPopover()\"\r\n class=\"mat-icon material-icons-outlined float-right icon--close mb-2\">\r\n close\r\n </mat-icon>\r\n </div>\r\n\r\n <div class=\"font-semibold heading--xs modal-title {{ data.titleColor }}\" *ngIf=\"data.title\">\r\n {{ data.title }}\r\n </div>\r\n </div>\r\n</ng-template>\r\n\r\n\r\n<div mat-dialog-content>\r\n <div *ngIf=\"data?.content\">{{ data?.content }}</div>\r\n <ng-container *ngTemplateOutlet=\"data?.message\"></ng-container>\r\n</div>\r\n\r\n<div *ngIf=\"(!!data?.cancelLabel || !!data?.confirmLabel) && !data?.hideCtaButtons\">\r\n <div mat-dialog-actions\r\n [ngClass]=\"{'gap-y-4': data?.useFullButtonSize || data?.splitButtonsWidth}\"\r\n class=\"btn__group flex justify-end w-full\">\r\n <ecabs-buttons *ngIf=\"!!data?.cancelLabel\"\r\n [ngClass]=\"{'flex-1': data?.splitButtonsWidth}\"\r\n [full]=\"data?.useFullButtonSize\"\r\n (click)=\"closeFalsey()\"\r\n (keydown.enter)=\"closeFalsey()\"\r\n [style]=\"data?.cancelStyle || 'stroked'\">\r\n {{ data?.cancelLabel }}\r\n </ecabs-buttons>\r\n\r\n <ecabs-buttons *ngIf=\"!!data?.confirmLabel\"\r\n [ngClass]=\"{'flex-1': data?.splitButtonsWidth}\"\r\n [full]=\"data?.useFullButtonSize\"\r\n [color]=\"data?.color || color\"\r\n [style]=\"data?.confirmStyle || 'flat'\"\r\n [loading]=\"data?.loading$ | async\"\r\n (click)=\"closeDialog()\"\r\n [disabled]=\"data?.disableConfirm$ | async\"\r\n (keydown.enter)=\"closeDialog()\">\r\n {{ data?.confirmLabel }}\r\n </ecabs-buttons>\r\n </div>\r\n</div>\r\n", styles: [":host .mat-icon.icon--close,:host ::ng-deep .mat-icon.icon--close{cursor:pointer;color:var(--color-gray-500)}.modal-title.warn{color:var(--color-error)!important}\n"] }]
|
|
75
75
|
}], ctorParameters: function () { return [{ type: undefined, decorators: [{
|
|
76
76
|
type: Inject,
|
|
77
77
|
args: [MAT_DIALOG_DATA]
|
|
78
78
|
}] }, { type: i1.MatDialogRef }, { type: i2.UnsubscribeService }, { type: i3.EcabsComponentsService }, { type: i0.DestroyRef }]; } });
|
|
79
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWNhYnMtZGlhbG9nLWNvbmZpcm0uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZWNhYnMtY29tcG9uZW50cy9zcmMvbGliL2VjYWJzLWRpYWxvZy1jb25maXJtL2VjYWJzLWRpYWxvZy1jb25maXJtLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VjYWJzLWNvbXBvbmVudHMvc3JjL2xpYi9lY2Ficy1kaWFsb2ctY29uZmlybS9lY2Ficy1kaWFsb2ctY29uZmlybS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUVULE1BQU0sR0FJUCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsZUFBZSxFQUFnQixNQUFNLDBCQUEwQixDQUFDO0FBRXpFLE9BQU8sRUFBYyxTQUFTLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDN0MsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFNMUUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7Ozs7Ozs7O0FBUWhFLE1BQU0sT0FBTywyQkFBMkI7SUFLSjtJQUN6QjtJQUNVO0lBQ0E7SUFDQTtJQVJuQixPQUFPLENBQVM7SUFDaEIsS0FBSyxHQUFpQixTQUFTLENBQUM7SUFFaEMsWUFDa0MsSUFBdUMsRUFDaEUsU0FBMEQsRUFDaEQsa0JBQXNDLEVBQ3RDLGlCQUF5QyxFQUN6QyxVQUFzQjtRQUpQLFNBQUksR0FBSixJQUFJLENBQW1DO1FBQ2hFLGNBQVMsR0FBVCxTQUFTLENBQWlEO1FBQ2hELHVCQUFrQixHQUFsQixrQkFBa0IsQ0FBb0I7UUFDdEMsc0JBQWlCLEdBQWpCLGlCQUFpQixDQUF3QjtRQUN6QyxlQUFVLEdBQVYsVUFBVSxDQUFZO0lBQ3RDLENBQUM7SUFFSixZQUFZLENBQVk7SUFFeEIsUUFBUTtRQUNOLElBQUksQ0FBQyxpQkFBaUI7YUFDbkIsU0FBUyxFQUFFO2FBQ1gsSUFBSSxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQzthQUN6QyxTQUFTLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRTtZQUNwQixNQUFNLEVBQUUsSUFBSSxFQUFFLEdBQUcsTUFBTSxJQUFJLEVBQUUsQ0FBQztZQUM5QixNQUFNLEVBQ0osWUFBWSxFQUNaLFdBQVcsRUFDWCxpQkFBaUIsRUFDakIsZ0JBQWdCLEdBQ2pCLEdBQUcsSUFBSSxDQUFDLElBQUksSUFBSSxFQUFFLENBQUM7WUFFcEIsSUFBSSxJQUFJLEVBQUU7Z0JBQ1IsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLEdBQUcsQ0FBQyxpQkFBaUI7b0JBQ3pDLENBQUMsQ0FBQyxZQUFZLElBQUksSUFBSSxFQUFFLFlBQVk7b0JBQ3BDLENBQUMsQ0FBQyxTQUFTLENBQUM7Z0JBQ2QsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLEdBQUcsQ0FBQyxnQkFBZ0I7b0JBQ3ZDLENBQUMsQ0FBQyxXQUFXLElBQUksSUFBSSxFQUFFLFdBQVc7b0JBQ2xDLENBQUMsQ0FBQyxTQUFTLENBQUM7YUFDZjtRQUNILENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLENBQUMsa0JBQWtCLENBQUMsT0FBTyxFQUFFLENBQUM7SUFDcEMsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFO1lBQ3RCLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUTtnQkFDaEIsRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxZQUFZLEVBQUUsQ0FBQyxDQUFDO2lCQUN4RCxTQUFTLENBQUMsQ0FBQyxPQUFPLEVBQUUsRUFBRTtnQkFDckIsSUFBSSxDQUFDLE9BQU8sRUFBRTtvQkFDWixJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLGFBQWEsSUFBSSxJQUFJLENBQUMsQ0FBQztpQkFDdkQ7WUFDSCxDQUFDLENBQUMsQ0FBQztTQUNOO2FBQU07WUFDTCxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLGFBQWEsSUFBSSxJQUFJLENBQUMsQ0FBQztTQUN2RDtJQUNILENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLElBQUksS0FBSyxDQUFDLENBQUM7SUFDeEQsQ0FBQztJQUVELGNBQWM7UUFDWixJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLGFBQWEsSUFBSSxLQUFLLENBQUMsQ0FBQztJQUN6RCxDQUFDO3dHQTlEVSwyQkFBMkIsa0JBSzVCLGVBQWU7NEZBTGQsMkJBQTJCLCtDQUYzQixDQUFDLGtCQUFrQixDQUFDLDBCQ3ZCakMsNDJFQTJEQTs7NEZEbENhLDJCQUEyQjtrQkFOdkMsU0FBUzsrQkFDRSxzQkFBc0IsYUFHckIsQ0FBQyxrQkFBa0IsQ0FBQzs7MEJBTzVCLE1BQU07MkJBQUMsZUFBZSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgQ29tcG9uZW50LFxyXG4gIERlc3Ryb3lSZWYsXHJcbiAgSW5qZWN0LFxyXG4gIE9uRGVzdHJveSxcclxuICBPbkluaXQsXHJcbiAgVGVtcGxhdGVSZWYsXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IE1BVF9ESUFMT0dfREFUQSwgTWF0RGlhbG9nUmVmIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGlhbG9nJztcclxuaW1wb3J0IHsgVGhlbWVQYWxldHRlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvY29yZSc7XHJcbmltcG9ydCB7IE9ic2VydmFibGUsIHRha2VVbnRpbCB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBVbnN1YnNjcmliZVNlcnZpY2UgfSBmcm9tICcuLi9iYXNlL3NlcnZpY2VzL3Vuc3Vic2NyaWJlLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBCdXR0b25TdHlsZSB9IGZyb20gJy4uL2Jhc2UvY29uc3RzL2J1dHRvbnMuY29uc3RzJztcclxuaW1wb3J0IHtcclxuICBFY2Fic0NvbXBvbmVudHNTZXJ2aWNlLFxyXG4gIEVjYWJzaTE4bixcclxufSBmcm9tICcuLi9iYXNlL3NlcnZpY2VzL2VjYWJzLWNvbXBvbmVudHMuc2VydmljZSc7XHJcbmltcG9ydCB7IHRha2VVbnRpbERlc3Ryb3llZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUvcnhqcy1pbnRlcm9wJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnZWNhYnMtZGlhbG9nLWNvbmZpcm0nLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9lY2Ficy1kaWFsb2ctY29uZmlybS5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vZWNhYnMtZGlhbG9nLWNvbmZpcm0uY29tcG9uZW50LnNjc3MnXSxcclxuICBwcm92aWRlcnM6IFtVbnN1YnNjcmliZVNlcnZpY2VdLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgRWNhYnNEaWFsb2dDb25maXJtQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xyXG4gIG1lc3NhZ2U6IHN0cmluZztcclxuICBjb2xvcjogVGhlbWVQYWxldHRlID0gJ3ByaW1hcnknO1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIEBJbmplY3QoTUFUX0RJQUxPR19EQVRBKSBwdWJsaWMgZGF0YTogRWNhYnNEaWFsb2dDb25maXJtQ29tcG9uZW50Q29uZmlnLFxyXG4gICAgcHVibGljIGRpYWxvZ1JlZjogTWF0RGlhbG9nUmVmPEVjYWJzRGlhbG9nQ29uZmlybUNvbXBvbmVudENvbmZpZz4sXHJcbiAgICBwcml2YXRlIHJlYWRvbmx5IHVuc3Vic2NyaWJlU2VydmljZTogVW5zdWJzY3JpYmVTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSByZWFkb25seSBjb21wb25lbnRzU2VydmljZTogRWNhYnNDb21wb25lbnRzU2VydmljZSxcclxuICAgIHByaXZhdGUgcmVhZG9ubHkgZGVzdHJveVJlZjogRGVzdHJveVJlZixcclxuICApIHt9XHJcblxyXG4gIHRyYW5zbGF0aW9uczogRWNhYnNpMThuO1xyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMuY29tcG9uZW50c1NlcnZpY2VcclxuICAgICAgLmdldENvbmZpZygpXHJcbiAgICAgIC5waXBlKHRha2VVbnRpbERlc3Ryb3llZCh0aGlzLmRlc3Ryb3lSZWYpKVxyXG4gICAgICAuc3Vic2NyaWJlKChjb25maWcpID0+IHtcclxuICAgICAgICBjb25zdCB7IGkxOG4gfSA9IGNvbmZpZyA/PyB7fTtcclxuICAgICAgICBjb25zdCB7XHJcbiAgICAgICAgICBjb25maXJtTGFiZWwsXHJcbiAgICAgICAgICBjYW5jZWxMYWJlbCxcclxuICAgICAgICAgIGhpZGVDb25maXJtQnV0dG9uLFxyXG4gICAgICAgICAgaGlkZUNhbmNlbEJ1dHRvbixcclxuICAgICAgICB9ID0gdGhpcy5kYXRhID8/IHt9O1xyXG5cclxuICAgICAgICBpZiAoaTE4bikge1xyXG4gICAgICAgICAgdGhpcy5kYXRhLmNvbmZpcm1MYWJlbCA9ICFoaWRlQ29uZmlybUJ1dHRvblxyXG4gICAgICAgICAgICA/IGNvbmZpcm1MYWJlbCB8fCBpMThuPy5jb25maXJtTGFiZWxcclxuICAgICAgICAgICAgOiB1bmRlZmluZWQ7XHJcbiAgICAgICAgICB0aGlzLmRhdGEuY2FuY2VsTGFiZWwgPSAhaGlkZUNhbmNlbEJ1dHRvblxyXG4gICAgICAgICAgICA/IGNhbmNlbExhYmVsIHx8IGkxOG4/LmNhbmNlbExhYmVsXHJcbiAgICAgICAgICAgIDogdW5kZWZpbmVkO1xyXG4gICAgICAgIH1cclxuICAgICAgfSk7XHJcbiAgfVxyXG5cclxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuICAgIHRoaXMudW5zdWJzY3JpYmVTZXJ2aWNlLmRlc3Ryb3koKTtcclxuICB9XHJcblxyXG4gIGNsb3NlRGlhbG9nKCk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMuZGF0YS5sb2FkaW5nJCkge1xyXG4gICAgICB0aGlzLmRhdGEubG9hZGluZyRcclxuICAgICAgICA/LnBpcGUodGFrZVVudGlsKHRoaXMudW5zdWJzY3JpYmVTZXJ2aWNlLnN1YnNjcmlwdGlvbigpKSlcclxuICAgICAgICAuc3Vic2NyaWJlKChsb2FkaW5nKSA9PiB7XHJcbiAgICAgICAgICBpZiAoIWxvYWRpbmcpIHtcclxuICAgICAgICAgICAgdGhpcy5kaWFsb2dSZWYuY2xvc2UodGhpcy5kYXRhLmNvbmZpcm1SZXN1bHQgPz8gdHJ1ZSk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfSk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLmRpYWxvZ1JlZi5jbG9zZSh0aGlzLmRhdGEuY29uZmlybVJlc3VsdCA/PyB0cnVlKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGNsb3NlRmFsc2V5KCk6IHZvaWQge1xyXG4gICAgdGhpcy5kaWFsb2dSZWYuY2xvc2UodGhpcy5kYXRhLmNhbmNlbFJlc3VsdCA/PyBmYWxzZSk7XHJcbiAgfVxyXG5cclxuICBjbG9zZU9uUG9wb3ZlcigpOiB2b2lkIHtcclxuICAgIHRoaXMuZGlhbG9nUmVmLmNsb3NlKHRoaXMuZGF0YS5wb3BvdmVyUmVzdWx0ID8/IGZhbHNlKTtcclxuICB9XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgRWNhYnNEaWFsb2dDb25maXJtQ29tcG9uZW50Q29uZmlnIHtcclxuICB0aXRsZT86IHN0cmluZztcclxuICB0aXRsZVRlbXBsYXRlPzogVGVtcGxhdGVSZWY8Tm9uTnVsbGFibGU8dW5rbm93bj4+O1xyXG4gIG1lc3NhZ2U/OiBUZW1wbGF0ZVJlZjxOb25OdWxsYWJsZTx1bmtub3duPj47XHJcbiAgY29sb3I/OiBUaGVtZVBhbGV0dGU7XHJcbiAgdGl0bGVDb2xvcj86IFRoZW1lUGFsZXR0ZTtcclxuICBjb25maXJtTGFiZWw/OiBzdHJpbmc7XHJcbiAgY29uZmlybVN0eWxlPzogQnV0dG9uU3R5bGU7XHJcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcclxuICBjb25maXJtUmVzdWx0PzogYW55O1xyXG4gIGNhbmNlbExhYmVsPzogc3RyaW5nO1xyXG4gIGNhbmNlbFN0eWxlPzogQnV0dG9uU3R5bGU7XHJcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcclxuICBjYW5jZWxSZXN1bHQ/OiBhbnk7XHJcbiAgaGlkZUN0YUJ1dHRvbnM/OiBib29sZWFuO1xyXG4gIGhpZGVDb25maXJtQnV0dG9uPzogYm9vbGVhbjtcclxuICBoaWRlQ2FuY2VsQnV0dG9uPzogYm9vbGVhbjtcclxuICBpc1BvcG92ZXI/OiBib29sZWFuO1xyXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XHJcbiAgcG9wb3ZlclJlc3VsdD86IGFueTtcclxuICBjb250ZW50Pzogc3RyaW5nO1xyXG4gIHVzZUZ1bGxCdXR0b25TaXplPzogYm9vbGVhbjtcclxuICBsb2FkaW5nJD86IE9ic2VydmFibGU8Ym9vbGVhbj47XHJcbiAgZGlzYWJsZUNvbmZpcm0kPzogT2JzZXJ2YWJsZTxib29sZWFuPjtcclxufVxyXG4iLCI8ZGl2IG1hdERpYWxvZ1RpdGxlICpuZ0lmPVwiZGF0YT8udGl0bGVUZW1wbGF0ZTsgZWxzZSB0aXRsZVwiPlxyXG4gIDxkaXYgY2xhc3M9XCJmbGV4IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWJldHdlZW4gbW9kYWwtdGl0bGVcIj5cclxuICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJkYXRhPy50aXRsZVRlbXBsYXRlXCI+PC9uZy1jb250YWluZXI+XHJcblxyXG4gICAgPG1hdC1pY29uICpuZ0lmPVwiISFkYXRhPy5pc1BvcG92ZXJcIiAoY2xpY2spPVwiY2xvc2VPblBvcG92ZXIoKVwiXHJcbiAgICAgICAgICAgICAgKGtleWRvd24uZW50ZXIpPVwiY2xvc2VPblBvcG92ZXIoKVwiXHJcbiAgICAgICAgICAgICAgY2xhc3M9XCJtYXQtaWNvbiBtYXRlcmlhbC1pY29ucy1vdXRsaW5lZCBqdXN0aWZ5LWVuZCBpY29uLS1jbG9zZVwiPlxyXG4gICAgICBjbG9zZVxyXG4gICAgPC9tYXQtaWNvbj5cclxuICA8L2Rpdj5cclxuPC9kaXY+XHJcblxyXG5cclxuPG5nLXRlbXBsYXRlICN0aXRsZT5cclxuICA8ZGl2IG1hdERpYWxvZ1RpdGxlICpuZ0lmPVwiZGF0YT8udGl0bGUgfHwgISFkYXRhPy5pc1BvcG92ZXJcIiBjbGFzcz1cImZsZXggZmxleC1jb2x1bW5cIj5cclxuICAgIDxkaXYgKm5nSWY9XCIhIWRhdGE/LmlzUG9wb3ZlclwiIGNsYXNzPVwidy1mdWxsIGZsZXgganVzdGlmeS1lbmRcIj5cclxuICAgICAgPG1hdC1pY29uIChjbGljayk9XCJjbG9zZU9uUG9wb3ZlcigpXCJcclxuICAgICAgICAgICAgICAgIChrZXlkb3duLmVudGVyKT1cImNsb3NlT25Qb3BvdmVyKClcIlxyXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJtYXQtaWNvbiBtYXRlcmlhbC1pY29ucy1vdXRsaW5lZCBmbG9hdC1yaWdodCBpY29uLS1jbG9zZSBtYi0yXCI+XHJcbiAgICAgICAgY2xvc2VcclxuICAgICAgPC9tYXQtaWNvbj5cclxuICAgIDwvZGl2PlxyXG5cclxuICAgIDxkaXYgY2xhc3M9XCJmb250LXNlbWlib2xkIGhlYWRpbmctLXhzIG1vZGFsLXRpdGxlIHt7IGRhdGEudGl0bGVDb2xvciB9fVwiICpuZ0lmPVwiZGF0YS50aXRsZVwiPlxyXG4gICAgICB7eyBkYXRhLnRpdGxlIH19XHJcbiAgICA8L2Rpdj5cclxuICA8L2Rpdj5cclxuPC9uZy10ZW1wbGF0ZT5cclxuXHJcblxyXG48ZGl2IG1hdC1kaWFsb2ctY29udGVudD5cclxuICA8ZGl2ICpuZ0lmPVwiZGF0YT8uY29udGVudFwiPnt7IGRhdGE/LmNvbnRlbnQgfX08L2Rpdj5cclxuICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiZGF0YT8ubWVzc2FnZVwiPjwvbmctY29udGFpbmVyPlxyXG48L2Rpdj5cclxuXHJcbjxkaXYgKm5nSWY9XCIoISFkYXRhPy5jYW5jZWxMYWJlbCB8fCAhIWRhdGE/LmNvbmZpcm1MYWJlbCkgJiYgIWRhdGE/LmhpZGVDdGFCdXR0b25zXCI+XHJcbiAgPGRpdiBtYXQtZGlhbG9nLWFjdGlvbnNcclxuICAgICAgIFtuZ0NsYXNzXT1cInsnZ2FwLXktNCc6IGRhdGE/LnVzZUZ1bGxCdXR0b25TaXplfVwiXHJcbiAgICAgICBjbGFzcz1cImJ0bl9fZ3JvdXAgZmxleCBqdXN0aWZ5LWVuZCB3LWZ1bGxcIj5cclxuICAgIDxlY2Ficy1idXR0b25zICpuZ0lmPVwiISFkYXRhPy5jYW5jZWxMYWJlbFwiXHJcbiAgICAgICAgICAgICAgICAgICBbZnVsbF09XCJkYXRhPy51c2VGdWxsQnV0dG9uU2l6ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwiY2xvc2VGYWxzZXkoKVwiXHJcbiAgICAgICAgICAgICAgICAgICAoa2V5ZG93bi5lbnRlcik9XCJjbG9zZUZhbHNleSgpXCJcclxuICAgICAgICAgICAgICAgICAgIFtzdHlsZV09XCJkYXRhPy5jYW5jZWxTdHlsZSB8fCAnc3Ryb2tlZCdcIj5cclxuICAgICAge3sgZGF0YT8uY2FuY2VsTGFiZWwgfX1cclxuICAgIDwvZWNhYnMtYnV0dG9ucz5cclxuXHJcbiAgICA8ZWNhYnMtYnV0dG9ucyAqbmdJZj1cIiEhZGF0YT8uY29uZmlybUxhYmVsXCJcclxuICAgICAgICAgICAgICAgICAgIFtmdWxsXT1cImRhdGE/LnVzZUZ1bGxCdXR0b25TaXplXCJcclxuICAgICAgICAgICAgICAgICAgIFtjb2xvcl09XCJkYXRhPy5jb2xvciB8fCBjb2xvclwiXHJcbiAgICAgICAgICAgICAgICAgICBbc3R5bGVdPVwiZGF0YT8uY29uZmlybVN0eWxlIHx8ICdmbGF0J1wiXHJcbiAgICAgICAgICAgICAgICAgICBbbG9hZGluZ109XCJkYXRhPy5sb2FkaW5nJCB8IGFzeW5jXCJcclxuICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJjbG9zZURpYWxvZygpXCJcclxuICAgICAgICAgICAgICAgICAgIFtkaXNhYmxlZF09XCJkYXRhPy5kaXNhYmxlQ29uZmlybSQgfCBhc3luY1wiXHJcbiAgICAgICAgICAgICAgICAgICAoa2V5ZG93bi5lbnRlcik9XCJjbG9zZURpYWxvZygpXCI+XHJcbiAgICAgIHt7IGRhdGE/LmNvbmZpcm1MYWJlbCB9fVxyXG4gICAgPC9lY2Ficy1idXR0b25zPlxyXG4gIDwvZGl2PlxyXG48L2Rpdj5cclxuIl19
|
|
79
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWNhYnMtZGlhbG9nLWNvbmZpcm0uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZWNhYnMtY29tcG9uZW50cy9zcmMvbGliL2VjYWJzLWRpYWxvZy1jb25maXJtL2VjYWJzLWRpYWxvZy1jb25maXJtLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VjYWJzLWNvbXBvbmVudHMvc3JjL2xpYi9lY2Ficy1kaWFsb2ctY29uZmlybS9lY2Ficy1kaWFsb2ctY29uZmlybS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUVULE1BQU0sR0FJUCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsZUFBZSxFQUFnQixNQUFNLDBCQUEwQixDQUFDO0FBRXpFLE9BQU8sRUFBYyxTQUFTLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDN0MsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFNMUUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7Ozs7Ozs7O0FBUWhFLE1BQU0sT0FBTywyQkFBMkI7SUFLSjtJQUN6QjtJQUNVO0lBQ0E7SUFDQTtJQVJuQixPQUFPLENBQVM7SUFDaEIsS0FBSyxHQUFpQixTQUFTLENBQUM7SUFFaEMsWUFDa0MsSUFBdUMsRUFDaEUsU0FBMEQsRUFDaEQsa0JBQXNDLEVBQ3RDLGlCQUF5QyxFQUN6QyxVQUFzQjtRQUpQLFNBQUksR0FBSixJQUFJLENBQW1DO1FBQ2hFLGNBQVMsR0FBVCxTQUFTLENBQWlEO1FBQ2hELHVCQUFrQixHQUFsQixrQkFBa0IsQ0FBb0I7UUFDdEMsc0JBQWlCLEdBQWpCLGlCQUFpQixDQUF3QjtRQUN6QyxlQUFVLEdBQVYsVUFBVSxDQUFZO0lBQ3RDLENBQUM7SUFFSixZQUFZLENBQVk7SUFFeEIsUUFBUTtRQUNOLElBQUksQ0FBQyxpQkFBaUI7YUFDbkIsU0FBUyxFQUFFO2FBQ1gsSUFBSSxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQzthQUN6QyxTQUFTLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRTtZQUNwQixNQUFNLEVBQUUsSUFBSSxFQUFFLEdBQUcsTUFBTSxJQUFJLEVBQUUsQ0FBQztZQUM5QixNQUFNLEVBQ0osWUFBWSxFQUNaLFdBQVcsRUFDWCxpQkFBaUIsRUFDakIsZ0JBQWdCLEdBQ2pCLEdBQUcsSUFBSSxDQUFDLElBQUksSUFBSSxFQUFFLENBQUM7WUFFcEIsSUFBSSxJQUFJLEVBQUU7Z0JBQ1IsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLEdBQUcsQ0FBQyxpQkFBaUI7b0JBQ3pDLENBQUMsQ0FBQyxZQUFZLElBQUksSUFBSSxFQUFFLFlBQVk7b0JBQ3BDLENBQUMsQ0FBQyxTQUFTLENBQUM7Z0JBQ2QsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLEdBQUcsQ0FBQyxnQkFBZ0I7b0JBQ3ZDLENBQUMsQ0FBQyxXQUFXLElBQUksSUFBSSxFQUFFLFdBQVc7b0JBQ2xDLENBQUMsQ0FBQyxTQUFTLENBQUM7YUFDZjtRQUNILENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLENBQUMsa0JBQWtCLENBQUMsT0FBTyxFQUFFLENBQUM7SUFDcEMsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFO1lBQ3RCLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUTtnQkFDaEIsRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxZQUFZLEVBQUUsQ0FBQyxDQUFDO2lCQUN4RCxTQUFTLENBQUMsQ0FBQyxPQUFPLEVBQUUsRUFBRTtnQkFDckIsSUFBSSxDQUFDLE9BQU8sRUFBRTtvQkFDWixJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLGFBQWEsSUFBSSxJQUFJLENBQUMsQ0FBQztpQkFDdkQ7WUFDSCxDQUFDLENBQUMsQ0FBQztTQUNOO2FBQU07WUFDTCxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLGFBQWEsSUFBSSxJQUFJLENBQUMsQ0FBQztTQUN2RDtJQUNILENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLElBQUksS0FBSyxDQUFDLENBQUM7SUFDeEQsQ0FBQztJQUVELGNBQWM7UUFDWixJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLGFBQWEsSUFBSSxLQUFLLENBQUMsQ0FBQztJQUN6RCxDQUFDO3dHQTlEVSwyQkFBMkIsa0JBSzVCLGVBQWU7NEZBTGQsMkJBQTJCLCtDQUYzQixDQUFDLGtCQUFrQixDQUFDLDBCQ3ZCakMsd2hGQTZEQTs7NEZEcENhLDJCQUEyQjtrQkFOdkMsU0FBUzsrQkFDRSxzQkFBc0IsYUFHckIsQ0FBQyxrQkFBa0IsQ0FBQzs7MEJBTzVCLE1BQU07MkJBQUMsZUFBZSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgQ29tcG9uZW50LFxyXG4gIERlc3Ryb3lSZWYsXHJcbiAgSW5qZWN0LFxyXG4gIE9uRGVzdHJveSxcclxuICBPbkluaXQsXHJcbiAgVGVtcGxhdGVSZWYsXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IE1BVF9ESUFMT0dfREFUQSwgTWF0RGlhbG9nUmVmIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGlhbG9nJztcclxuaW1wb3J0IHsgVGhlbWVQYWxldHRlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvY29yZSc7XHJcbmltcG9ydCB7IE9ic2VydmFibGUsIHRha2VVbnRpbCB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBVbnN1YnNjcmliZVNlcnZpY2UgfSBmcm9tICcuLi9iYXNlL3NlcnZpY2VzL3Vuc3Vic2NyaWJlLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBCdXR0b25TdHlsZSB9IGZyb20gJy4uL2Jhc2UvY29uc3RzL2J1dHRvbnMuY29uc3RzJztcclxuaW1wb3J0IHtcclxuICBFY2Fic0NvbXBvbmVudHNTZXJ2aWNlLFxyXG4gIEVjYWJzaTE4bixcclxufSBmcm9tICcuLi9iYXNlL3NlcnZpY2VzL2VjYWJzLWNvbXBvbmVudHMuc2VydmljZSc7XHJcbmltcG9ydCB7IHRha2VVbnRpbERlc3Ryb3llZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUvcnhqcy1pbnRlcm9wJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnZWNhYnMtZGlhbG9nLWNvbmZpcm0nLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9lY2Ficy1kaWFsb2ctY29uZmlybS5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vZWNhYnMtZGlhbG9nLWNvbmZpcm0uY29tcG9uZW50LnNjc3MnXSxcclxuICBwcm92aWRlcnM6IFtVbnN1YnNjcmliZVNlcnZpY2VdLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgRWNhYnNEaWFsb2dDb25maXJtQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xyXG4gIG1lc3NhZ2U6IHN0cmluZztcclxuICBjb2xvcjogVGhlbWVQYWxldHRlID0gJ3ByaW1hcnknO1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIEBJbmplY3QoTUFUX0RJQUxPR19EQVRBKSBwdWJsaWMgZGF0YTogRWNhYnNEaWFsb2dDb25maXJtQ29tcG9uZW50Q29uZmlnLFxyXG4gICAgcHVibGljIGRpYWxvZ1JlZjogTWF0RGlhbG9nUmVmPEVjYWJzRGlhbG9nQ29uZmlybUNvbXBvbmVudENvbmZpZz4sXHJcbiAgICBwcml2YXRlIHJlYWRvbmx5IHVuc3Vic2NyaWJlU2VydmljZTogVW5zdWJzY3JpYmVTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSByZWFkb25seSBjb21wb25lbnRzU2VydmljZTogRWNhYnNDb21wb25lbnRzU2VydmljZSxcclxuICAgIHByaXZhdGUgcmVhZG9ubHkgZGVzdHJveVJlZjogRGVzdHJveVJlZixcclxuICApIHt9XHJcblxyXG4gIHRyYW5zbGF0aW9uczogRWNhYnNpMThuO1xyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMuY29tcG9uZW50c1NlcnZpY2VcclxuICAgICAgLmdldENvbmZpZygpXHJcbiAgICAgIC5waXBlKHRha2VVbnRpbERlc3Ryb3llZCh0aGlzLmRlc3Ryb3lSZWYpKVxyXG4gICAgICAuc3Vic2NyaWJlKChjb25maWcpID0+IHtcclxuICAgICAgICBjb25zdCB7IGkxOG4gfSA9IGNvbmZpZyA/PyB7fTtcclxuICAgICAgICBjb25zdCB7XHJcbiAgICAgICAgICBjb25maXJtTGFiZWwsXHJcbiAgICAgICAgICBjYW5jZWxMYWJlbCxcclxuICAgICAgICAgIGhpZGVDb25maXJtQnV0dG9uLFxyXG4gICAgICAgICAgaGlkZUNhbmNlbEJ1dHRvbixcclxuICAgICAgICB9ID0gdGhpcy5kYXRhID8/IHt9O1xyXG5cclxuICAgICAgICBpZiAoaTE4bikge1xyXG4gICAgICAgICAgdGhpcy5kYXRhLmNvbmZpcm1MYWJlbCA9ICFoaWRlQ29uZmlybUJ1dHRvblxyXG4gICAgICAgICAgICA/IGNvbmZpcm1MYWJlbCB8fCBpMThuPy5jb25maXJtTGFiZWxcclxuICAgICAgICAgICAgOiB1bmRlZmluZWQ7XHJcbiAgICAgICAgICB0aGlzLmRhdGEuY2FuY2VsTGFiZWwgPSAhaGlkZUNhbmNlbEJ1dHRvblxyXG4gICAgICAgICAgICA/IGNhbmNlbExhYmVsIHx8IGkxOG4/LmNhbmNlbExhYmVsXHJcbiAgICAgICAgICAgIDogdW5kZWZpbmVkO1xyXG4gICAgICAgIH1cclxuICAgICAgfSk7XHJcbiAgfVxyXG5cclxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuICAgIHRoaXMudW5zdWJzY3JpYmVTZXJ2aWNlLmRlc3Ryb3koKTtcclxuICB9XHJcblxyXG4gIGNsb3NlRGlhbG9nKCk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMuZGF0YS5sb2FkaW5nJCkge1xyXG4gICAgICB0aGlzLmRhdGEubG9hZGluZyRcclxuICAgICAgICA/LnBpcGUodGFrZVVudGlsKHRoaXMudW5zdWJzY3JpYmVTZXJ2aWNlLnN1YnNjcmlwdGlvbigpKSlcclxuICAgICAgICAuc3Vic2NyaWJlKChsb2FkaW5nKSA9PiB7XHJcbiAgICAgICAgICBpZiAoIWxvYWRpbmcpIHtcclxuICAgICAgICAgICAgdGhpcy5kaWFsb2dSZWYuY2xvc2UodGhpcy5kYXRhLmNvbmZpcm1SZXN1bHQgPz8gdHJ1ZSk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfSk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLmRpYWxvZ1JlZi5jbG9zZSh0aGlzLmRhdGEuY29uZmlybVJlc3VsdCA/PyB0cnVlKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGNsb3NlRmFsc2V5KCk6IHZvaWQge1xyXG4gICAgdGhpcy5kaWFsb2dSZWYuY2xvc2UodGhpcy5kYXRhLmNhbmNlbFJlc3VsdCA/PyBmYWxzZSk7XHJcbiAgfVxyXG5cclxuICBjbG9zZU9uUG9wb3ZlcigpOiB2b2lkIHtcclxuICAgIHRoaXMuZGlhbG9nUmVmLmNsb3NlKHRoaXMuZGF0YS5wb3BvdmVyUmVzdWx0ID8/IGZhbHNlKTtcclxuICB9XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgRWNhYnNEaWFsb2dDb25maXJtQ29tcG9uZW50Q29uZmlnIHtcclxuICB0aXRsZT86IHN0cmluZztcclxuICB0aXRsZVRlbXBsYXRlPzogVGVtcGxhdGVSZWY8Tm9uTnVsbGFibGU8dW5rbm93bj4+O1xyXG4gIG1lc3NhZ2U/OiBUZW1wbGF0ZVJlZjxOb25OdWxsYWJsZTx1bmtub3duPj47XHJcbiAgY29sb3I/OiBUaGVtZVBhbGV0dGU7XHJcbiAgdGl0bGVDb2xvcj86IFRoZW1lUGFsZXR0ZTtcclxuICBjb25maXJtTGFiZWw/OiBzdHJpbmc7XHJcbiAgY29uZmlybVN0eWxlPzogQnV0dG9uU3R5bGU7XHJcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcclxuICBjb25maXJtUmVzdWx0PzogYW55O1xyXG4gIGNhbmNlbExhYmVsPzogc3RyaW5nO1xyXG4gIGNhbmNlbFN0eWxlPzogQnV0dG9uU3R5bGU7XHJcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcclxuICBjYW5jZWxSZXN1bHQ/OiBhbnk7XHJcbiAgaGlkZUN0YUJ1dHRvbnM/OiBib29sZWFuO1xyXG4gIGhpZGVDb25maXJtQnV0dG9uPzogYm9vbGVhbjtcclxuICBoaWRlQ2FuY2VsQnV0dG9uPzogYm9vbGVhbjtcclxuICBpc1BvcG92ZXI/OiBib29sZWFuO1xyXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XHJcbiAgcG9wb3ZlclJlc3VsdD86IGFueTtcclxuICBjb250ZW50Pzogc3RyaW5nO1xyXG4gIHVzZUZ1bGxCdXR0b25TaXplPzogYm9vbGVhbjtcclxuICBzcGxpdEJ1dHRvbnNXaWR0aD86IGJvb2xlYW47XHJcbiAgbG9hZGluZyQ/OiBPYnNlcnZhYmxlPGJvb2xlYW4+O1xyXG4gIGRpc2FibGVDb25maXJtJD86IE9ic2VydmFibGU8Ym9vbGVhbj47XHJcbn1cclxuIiwiPGRpdiBtYXREaWFsb2dUaXRsZSAqbmdJZj1cImRhdGE/LnRpdGxlVGVtcGxhdGU7IGVsc2UgdGl0bGVcIj5cclxuICA8ZGl2IGNsYXNzPVwiZmxleCBpdGVtcy1jZW50ZXIganVzdGlmeS1iZXR3ZWVuIG1vZGFsLXRpdGxlXCI+XHJcbiAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiZGF0YT8udGl0bGVUZW1wbGF0ZVwiPjwvbmctY29udGFpbmVyPlxyXG5cclxuICAgIDxtYXQtaWNvbiAqbmdJZj1cIiEhZGF0YT8uaXNQb3BvdmVyXCIgKGNsaWNrKT1cImNsb3NlT25Qb3BvdmVyKClcIlxyXG4gICAgICAgICAgICAgIChrZXlkb3duLmVudGVyKT1cImNsb3NlT25Qb3BvdmVyKClcIlxyXG4gICAgICAgICAgICAgIGNsYXNzPVwibWF0LWljb24gbWF0ZXJpYWwtaWNvbnMtb3V0bGluZWQganVzdGlmeS1lbmQgaWNvbi0tY2xvc2VcIj5cclxuICAgICAgY2xvc2VcclxuICAgIDwvbWF0LWljb24+XHJcbiAgPC9kaXY+XHJcbjwvZGl2PlxyXG5cclxuXHJcbjxuZy10ZW1wbGF0ZSAjdGl0bGU+XHJcbiAgPGRpdiBtYXREaWFsb2dUaXRsZSAqbmdJZj1cImRhdGE/LnRpdGxlIHx8ICEhZGF0YT8uaXNQb3BvdmVyXCIgY2xhc3M9XCJmbGV4IGZsZXgtY29sdW1uXCI+XHJcbiAgICA8ZGl2ICpuZ0lmPVwiISFkYXRhPy5pc1BvcG92ZXJcIiBjbGFzcz1cInctZnVsbCBmbGV4IGp1c3RpZnktZW5kXCI+XHJcbiAgICAgIDxtYXQtaWNvbiAoY2xpY2spPVwiY2xvc2VPblBvcG92ZXIoKVwiXHJcbiAgICAgICAgICAgICAgICAoa2V5ZG93bi5lbnRlcik9XCJjbG9zZU9uUG9wb3ZlcigpXCJcclxuICAgICAgICAgICAgICAgIGNsYXNzPVwibWF0LWljb24gbWF0ZXJpYWwtaWNvbnMtb3V0bGluZWQgZmxvYXQtcmlnaHQgaWNvbi0tY2xvc2UgbWItMlwiPlxyXG4gICAgICAgIGNsb3NlXHJcbiAgICAgIDwvbWF0LWljb24+XHJcbiAgICA8L2Rpdj5cclxuXHJcbiAgICA8ZGl2IGNsYXNzPVwiZm9udC1zZW1pYm9sZCBoZWFkaW5nLS14cyBtb2RhbC10aXRsZSB7eyBkYXRhLnRpdGxlQ29sb3IgfX1cIiAqbmdJZj1cImRhdGEudGl0bGVcIj5cclxuICAgICAge3sgZGF0YS50aXRsZSB9fVxyXG4gICAgPC9kaXY+XHJcbiAgPC9kaXY+XHJcbjwvbmctdGVtcGxhdGU+XHJcblxyXG5cclxuPGRpdiBtYXQtZGlhbG9nLWNvbnRlbnQ+XHJcbiAgPGRpdiAqbmdJZj1cImRhdGE/LmNvbnRlbnRcIj57eyBkYXRhPy5jb250ZW50IH19PC9kaXY+XHJcbiAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImRhdGE/Lm1lc3NhZ2VcIj48L25nLWNvbnRhaW5lcj5cclxuPC9kaXY+XHJcblxyXG48ZGl2ICpuZ0lmPVwiKCEhZGF0YT8uY2FuY2VsTGFiZWwgfHwgISFkYXRhPy5jb25maXJtTGFiZWwpICYmICFkYXRhPy5oaWRlQ3RhQnV0dG9uc1wiPlxyXG4gIDxkaXYgbWF0LWRpYWxvZy1hY3Rpb25zXHJcbiAgICAgICBbbmdDbGFzc109XCJ7J2dhcC15LTQnOiBkYXRhPy51c2VGdWxsQnV0dG9uU2l6ZSB8fCBkYXRhPy5zcGxpdEJ1dHRvbnNXaWR0aH1cIlxyXG4gICAgICAgY2xhc3M9XCJidG5fX2dyb3VwIGZsZXgganVzdGlmeS1lbmQgdy1mdWxsXCI+XHJcbiAgICA8ZWNhYnMtYnV0dG9ucyAqbmdJZj1cIiEhZGF0YT8uY2FuY2VsTGFiZWxcIlxyXG4gICAgICAgICAgICAgICAgICAgW25nQ2xhc3NdPVwieydmbGV4LTEnOiBkYXRhPy5zcGxpdEJ1dHRvbnNXaWR0aH1cIlxyXG4gICAgICAgICAgICAgICAgICAgW2Z1bGxdPVwiZGF0YT8udXNlRnVsbEJ1dHRvblNpemVcIlxyXG4gICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cImNsb3NlRmFsc2V5KClcIlxyXG4gICAgICAgICAgICAgICAgICAgKGtleWRvd24uZW50ZXIpPVwiY2xvc2VGYWxzZXkoKVwiXHJcbiAgICAgICAgICAgICAgICAgICBbc3R5bGVdPVwiZGF0YT8uY2FuY2VsU3R5bGUgfHwgJ3N0cm9rZWQnXCI+XHJcbiAgICAgIHt7IGRhdGE/LmNhbmNlbExhYmVsIH19XHJcbiAgICA8L2VjYWJzLWJ1dHRvbnM+XHJcblxyXG4gICAgPGVjYWJzLWJ1dHRvbnMgKm5nSWY9XCIhIWRhdGE/LmNvbmZpcm1MYWJlbFwiXHJcbiAgICAgICAgICAgICAgICAgICBbbmdDbGFzc109XCJ7J2ZsZXgtMSc6ICBkYXRhPy5zcGxpdEJ1dHRvbnNXaWR0aH1cIlxyXG4gICAgICAgICAgICAgICAgICAgW2Z1bGxdPVwiZGF0YT8udXNlRnVsbEJ1dHRvblNpemVcIlxyXG4gICAgICAgICAgICAgICAgICAgW2NvbG9yXT1cImRhdGE/LmNvbG9yIHx8IGNvbG9yXCJcclxuICAgICAgICAgICAgICAgICAgIFtzdHlsZV09XCJkYXRhPy5jb25maXJtU3R5bGUgfHwgJ2ZsYXQnXCJcclxuICAgICAgICAgICAgICAgICAgIFtsb2FkaW5nXT1cImRhdGE/LmxvYWRpbmckIHwgYXN5bmNcIlxyXG4gICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cImNsb3NlRGlhbG9nKClcIlxyXG4gICAgICAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cImRhdGE/LmRpc2FibGVDb25maXJtJCB8IGFzeW5jXCJcclxuICAgICAgICAgICAgICAgICAgIChrZXlkb3duLmVudGVyKT1cImNsb3NlRGlhbG9nKClcIj5cclxuICAgICAge3sgZGF0YT8uY29uZmlybUxhYmVsIH19XHJcbiAgICA8L2VjYWJzLWJ1dHRvbnM+XHJcbiAgPC9kaXY+XHJcbjwvZGl2PlxyXG4iXX0=
|
|
@@ -0,0 +1,237 @@
|
|
|
1
|
+
import { Component, EventEmitter, Input, Output, ViewChild, } from '@angular/core';
|
|
2
|
+
import { NG_VALUE_ACCESSOR, NgControl, } from '@angular/forms';
|
|
3
|
+
import EcabsElementBaseComponent from '../base/element-base';
|
|
4
|
+
import { BehaviorSubject, combineLatest, debounceTime, map, Observable, of, } from 'rxjs';
|
|
5
|
+
import { switchMap } from 'rxjs/operators';
|
|
6
|
+
import * as i0 from "@angular/core";
|
|
7
|
+
import * as i1 from "@angular/common";
|
|
8
|
+
import * as i2 from "../base/element-wrapper/element-wrapper.component";
|
|
9
|
+
import * as i3 from "@angular/forms";
|
|
10
|
+
import * as i4 from "@angular/material/icon";
|
|
11
|
+
import * as i5 from "@angular/cdk/overlay";
|
|
12
|
+
import * as i6 from "../base/pipes/separator-append.pipe";
|
|
13
|
+
export class EcabsPlaceAutocompleteV2Component extends EcabsElementBaseComponent {
|
|
14
|
+
ngZone;
|
|
15
|
+
injector;
|
|
16
|
+
matCustomInput;
|
|
17
|
+
showDeleteItem = false;
|
|
18
|
+
waypointsHistory = [];
|
|
19
|
+
showSuffix = false;
|
|
20
|
+
countryCode = 'MT';
|
|
21
|
+
googleLoaded;
|
|
22
|
+
waypointType;
|
|
23
|
+
placeResult = new EventEmitter();
|
|
24
|
+
deleteItem = new EventEmitter();
|
|
25
|
+
queryChanged = new EventEmitter();
|
|
26
|
+
isFocused$ = new BehaviorSubject(false);
|
|
27
|
+
value$ = new BehaviorSubject('');
|
|
28
|
+
waypointSuggestions$;
|
|
29
|
+
selectedIndex = -1;
|
|
30
|
+
displayedSuggestions = [];
|
|
31
|
+
val;
|
|
32
|
+
listener;
|
|
33
|
+
mapAutocompleteService;
|
|
34
|
+
placesService;
|
|
35
|
+
sessionToken;
|
|
36
|
+
get value() {
|
|
37
|
+
return this.val;
|
|
38
|
+
}
|
|
39
|
+
set value(val) {
|
|
40
|
+
if (this.val !== val) {
|
|
41
|
+
this.val = val;
|
|
42
|
+
this.value$.next(val);
|
|
43
|
+
this.onChange(val);
|
|
44
|
+
this.onTouch(val);
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
constructor(ngZone, injector) {
|
|
48
|
+
super();
|
|
49
|
+
this.ngZone = ngZone;
|
|
50
|
+
this.injector = injector;
|
|
51
|
+
}
|
|
52
|
+
ngOnChanges(changes) {
|
|
53
|
+
const { googleLoaded } = changes ?? {};
|
|
54
|
+
if (googleLoaded?.currentValue) {
|
|
55
|
+
this.initGoogle();
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
ngAfterViewInit() {
|
|
59
|
+
const ngControl = this.injector.get(NgControl, null);
|
|
60
|
+
if (ngControl) {
|
|
61
|
+
this.control = ngControl.control;
|
|
62
|
+
}
|
|
63
|
+
this.waypointSuggestions$ = combineLatest([
|
|
64
|
+
this.isFocused$,
|
|
65
|
+
this.value$,
|
|
66
|
+
]).pipe(debounceTime(500), switchMap(([isFocused, value]) => {
|
|
67
|
+
if (!isFocused) {
|
|
68
|
+
return of([]);
|
|
69
|
+
}
|
|
70
|
+
if (!value) {
|
|
71
|
+
return of(this.waypointsHistory);
|
|
72
|
+
}
|
|
73
|
+
return this.getWaypointResults(value);
|
|
74
|
+
}), map((results) => {
|
|
75
|
+
this.displayedSuggestions = results;
|
|
76
|
+
this.selectedIndex = results?.length ? 0 : -1;
|
|
77
|
+
return results;
|
|
78
|
+
}));
|
|
79
|
+
}
|
|
80
|
+
getWaypointResults(query) {
|
|
81
|
+
this.queryChanged.emit({ waypoint_type: this.waypointType, query });
|
|
82
|
+
return combineLatest([
|
|
83
|
+
of(this.waypointsHistory),
|
|
84
|
+
this.getPlacesResults(query),
|
|
85
|
+
]).pipe(map(([history, google]) => {
|
|
86
|
+
const historyItems = history ?? [], googleItems = google ?? [];
|
|
87
|
+
return [...historyItems, ...googleItems];
|
|
88
|
+
}));
|
|
89
|
+
}
|
|
90
|
+
getPlacesResults(query) {
|
|
91
|
+
return new Observable((observer) => {
|
|
92
|
+
this.mapAutocompleteService.getPlacePredictions({
|
|
93
|
+
input: query,
|
|
94
|
+
componentRestrictions: { country: this.countryCode },
|
|
95
|
+
sessionToken: this.sessionToken,
|
|
96
|
+
}, (predictions) => {
|
|
97
|
+
observer.next((predictions ?? []).map((prediction) => {
|
|
98
|
+
return {
|
|
99
|
+
additional_info: prediction.description,
|
|
100
|
+
place_id: prediction.place_id,
|
|
101
|
+
source: 'google',
|
|
102
|
+
prediction_term: prediction.terms,
|
|
103
|
+
};
|
|
104
|
+
}));
|
|
105
|
+
observer.complete();
|
|
106
|
+
});
|
|
107
|
+
});
|
|
108
|
+
}
|
|
109
|
+
onSelectSuggestion(suggestion) {
|
|
110
|
+
const { additional_info, place_id } = suggestion ?? {};
|
|
111
|
+
this.value = additional_info;
|
|
112
|
+
this.placesService.getDetails({
|
|
113
|
+
placeId: place_id,
|
|
114
|
+
sessionToken: this.sessionToken,
|
|
115
|
+
fields: ['address_components', 'geometry.location'],
|
|
116
|
+
}, (place, status) => {
|
|
117
|
+
if (status === google.maps.places.PlacesServiceStatus.OK && place) {
|
|
118
|
+
this.ngZone.run(() => {
|
|
119
|
+
this.placeResult.emit({
|
|
120
|
+
place,
|
|
121
|
+
text: additional_info,
|
|
122
|
+
});
|
|
123
|
+
});
|
|
124
|
+
}
|
|
125
|
+
this.resetSessionToken();
|
|
126
|
+
});
|
|
127
|
+
}
|
|
128
|
+
onKeyDown(event) {
|
|
129
|
+
if (!this.displayedSuggestions?.length) {
|
|
130
|
+
return;
|
|
131
|
+
}
|
|
132
|
+
switch (event.key) {
|
|
133
|
+
case 'ArrowDown':
|
|
134
|
+
event.preventDefault();
|
|
135
|
+
this.selectedIndex =
|
|
136
|
+
(this.selectedIndex + 1) % this.displayedSuggestions.length;
|
|
137
|
+
break;
|
|
138
|
+
case 'ArrowUp':
|
|
139
|
+
event.preventDefault();
|
|
140
|
+
this.selectedIndex =
|
|
141
|
+
(this.selectedIndex - 1 + this.displayedSuggestions.length) %
|
|
142
|
+
this.displayedSuggestions.length;
|
|
143
|
+
break;
|
|
144
|
+
case 'Enter':
|
|
145
|
+
event.preventDefault();
|
|
146
|
+
if (this.selectedIndex >= 0) {
|
|
147
|
+
this.onSelectSuggestion(this.displayedSuggestions[this.selectedIndex]);
|
|
148
|
+
}
|
|
149
|
+
break;
|
|
150
|
+
case 'Escape':
|
|
151
|
+
this.isFocused$.next(false);
|
|
152
|
+
this.selectedIndex = -1;
|
|
153
|
+
break;
|
|
154
|
+
}
|
|
155
|
+
}
|
|
156
|
+
ngOnDestroy() {
|
|
157
|
+
if (this.listener) {
|
|
158
|
+
this.listener.remove();
|
|
159
|
+
}
|
|
160
|
+
}
|
|
161
|
+
onChange = () => { };
|
|
162
|
+
onTouch = () => { };
|
|
163
|
+
onBlur() {
|
|
164
|
+
this.isFocused$.next(false);
|
|
165
|
+
this.onTouch;
|
|
166
|
+
}
|
|
167
|
+
onFocus() {
|
|
168
|
+
this.isFocused$.next(true);
|
|
169
|
+
if (!this.value) {
|
|
170
|
+
this.resetSessionToken();
|
|
171
|
+
}
|
|
172
|
+
}
|
|
173
|
+
writeValue(value) {
|
|
174
|
+
this.value = value;
|
|
175
|
+
}
|
|
176
|
+
registerOnChange(fn) {
|
|
177
|
+
this.onChange = fn;
|
|
178
|
+
}
|
|
179
|
+
registerOnTouched(fn) {
|
|
180
|
+
this.onTouch = fn;
|
|
181
|
+
}
|
|
182
|
+
onDeleteItem() {
|
|
183
|
+
this.deleteItem.emit();
|
|
184
|
+
}
|
|
185
|
+
onClean() {
|
|
186
|
+
this.value = '';
|
|
187
|
+
this.onTouch();
|
|
188
|
+
}
|
|
189
|
+
initGoogle() {
|
|
190
|
+
this.mapAutocompleteService = new google.maps.places.AutocompleteService();
|
|
191
|
+
this.placesService = new google.maps.places.PlacesService(document.createElement('div'));
|
|
192
|
+
this.resetSessionToken();
|
|
193
|
+
}
|
|
194
|
+
resetSessionToken() {
|
|
195
|
+
this.sessionToken = new google.maps.places.AutocompleteSessionToken();
|
|
196
|
+
}
|
|
197
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: EcabsPlaceAutocompleteV2Component, deps: [{ token: i0.NgZone }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Component });
|
|
198
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: EcabsPlaceAutocompleteV2Component, selector: "ecabs-place-autocomplete-v2", inputs: { showDeleteItem: "showDeleteItem", waypointsHistory: "waypointsHistory", showSuffix: "showSuffix", countryCode: "countryCode", googleLoaded: "googleLoaded", waypointType: "waypointType" }, outputs: { placeResult: "placeResult", deleteItem: "deleteItem", queryChanged: "queryChanged" }, providers: [
|
|
199
|
+
{
|
|
200
|
+
provide: NG_VALUE_ACCESSOR,
|
|
201
|
+
useExisting: EcabsPlaceAutocompleteV2Component,
|
|
202
|
+
multi: true,
|
|
203
|
+
},
|
|
204
|
+
], viewQueries: [{ propertyName: "matCustomInput", first: true, predicate: ["matCustomAutocompleteInput"], descendants: true }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<ecabs-element-wrapper [data]=\"getData()\">\r\n <div class=\"autocomplete-ui w-full\">\r\n <section class=\"form-field__input--wrapper w-full\">\r\n <input #matCustomAutocompleteInput\r\n cdkOverlayOrigin\r\n #trigger=\"cdkOverlayOrigin\"\r\n [placeholder]=\"placeholder\"\r\n [disabled]=\"disabled\"\r\n [(ngModel)]=\"value\"\r\n [id]=\"name\"\r\n class=\"form-field__input w-full\"\r\n autocorrect=\"off\"\r\n autocapitalize=\"off\"\r\n spellcheck=\"off\"\r\n (focus)=\"onFocus()\"\r\n (keydown)=\"onKeyDown($event)\"\r\n (blur)=\"onBlur()\"\r\n />\r\n <div class=\"form-field__input--suffix\" *ngIf=\"showSuffix\">\r\n <mat-icon *ngIf=\"showDeleteItem\"\r\n class=\"suffix cursor-pointer delete-button\"\r\n (click)=\"onDeleteItem()\">\r\n delete\r\n </mat-icon>\r\n <mat-icon class=\"suffix cursor-pointer\" *ngIf=\"!showDeleteItem && value\" (click)=\"onClean()\">close</mat-icon>\r\n </div>\r\n </section>\r\n <!-- Custom dropdown -->\r\n <ng-template cdkConnectedOverlay\r\n [cdkConnectedOverlayWidth]=\"trigger.elementRef.nativeElement.offsetWidth\"\r\n [cdkConnectedOverlayFlexibleDimensions]=\"false\"\r\n [cdkConnectedOverlayOrigin]=\"trigger\"\r\n [cdkConnectedOverlayOpen]=\"isFocused$ | async\">\r\n <ul class=\"autocomplete-ui__container\">\r\n <li *ngFor=\"let suggestion of waypointSuggestions$ | async | slice:0:10; let i = index\"\r\n class=\"autocomplete-ui--item flex items-center justify-between hover:bg-gray-100\"\r\n [class.active]=\"i === selectedIndex\"\r\n (mousedown)=\"onSelectSuggestion(suggestion)\">\r\n <ng-container *ngIf=\"suggestion?.source === 'history'; else purePlaceResultTpl\">\r\n <div class=\"w-full truncate\">\r\n {{ suggestion?.additional_info }}\r\n </div>\r\n <mat-icon *ngIf=\"suggestion?.source === 'history'\"\r\n class=\"w-5 h-5 text-xl text-gray-400 !hover:text-gray-400\">\r\n history\r\n </mat-icon>\r\n </ng-container>\r\n\r\n <ng-template #purePlaceResultTpl>\r\n <ul class=\"w-full flex items-center gap-x-1 leading-0 overflow-hidden whitespace-nowrap\">\r\n <li>\r\n {{ suggestion?.prediction_term[0]?.value }}\r\n </li>\r\n <li *ngIf=\"suggestion?.prediction_term[1]?.value\"\r\n class=\"text-xs text-gray-600 truncate\">\r\n {{ suggestion?.prediction_term[1]?.value | separatorAppend: suggestion?.prediction_term[2]?.value }}\r\n </li>\r\n <li *ngIf=\"suggestion?.prediction_term[2]?.value\"\r\n class=\"text-xs text-gray-600 font-semibold truncate\">\r\n {{ suggestion?.prediction_term[2]?.value }}\r\n </li>\r\n </ul>\r\n </ng-template>\r\n </li>\r\n </ul>\r\n </ng-template>\r\n </div>\r\n</ecabs-element-wrapper>\r\n", styles: ["mat-form-field{margin-bottom:0!important}.delete-button{color:var(--color-error)}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.EcabsElementWrapperComponent, selector: "ecabs-element-wrapper", inputs: ["data", "showCloseIcon", "focusedFlag", "showPassword", "control"], outputs: ["showHidePassword", "clear", "increase", "decrease"] }, { 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.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: i5.CdkOverlayOrigin, selector: "[cdk-overlay-origin], [overlay-origin], [cdkOverlayOrigin]", exportAs: ["cdkOverlayOrigin"] }, { kind: "directive", type: i5.CdkConnectedOverlay, selector: "[cdk-connected-overlay], [connected-overlay], [cdkConnectedOverlay]", inputs: ["cdkConnectedOverlayOrigin", "cdkConnectedOverlayPositions", "cdkConnectedOverlayPositionStrategy", "cdkConnectedOverlayOffsetX", "cdkConnectedOverlayOffsetY", "cdkConnectedOverlayWidth", "cdkConnectedOverlayHeight", "cdkConnectedOverlayMinWidth", "cdkConnectedOverlayMinHeight", "cdkConnectedOverlayBackdropClass", "cdkConnectedOverlayPanelClass", "cdkConnectedOverlayViewportMargin", "cdkConnectedOverlayScrollStrategy", "cdkConnectedOverlayOpen", "cdkConnectedOverlayDisableClose", "cdkConnectedOverlayTransformOriginOn", "cdkConnectedOverlayHasBackdrop", "cdkConnectedOverlayLockPosition", "cdkConnectedOverlayFlexibleDimensions", "cdkConnectedOverlayGrowAfterOpen", "cdkConnectedOverlayPush"], outputs: ["backdropClick", "positionChange", "attach", "detach", "overlayKeydown", "overlayOutsideClick"], exportAs: ["cdkConnectedOverlay"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "pipe", type: i1.SlicePipe, name: "slice" }, { kind: "pipe", type: i6.SeparatorAppendPipe, name: "separatorAppend" }] });
|
|
205
|
+
}
|
|
206
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: EcabsPlaceAutocompleteV2Component, decorators: [{
|
|
207
|
+
type: Component,
|
|
208
|
+
args: [{ selector: 'ecabs-place-autocomplete-v2', providers: [
|
|
209
|
+
{
|
|
210
|
+
provide: NG_VALUE_ACCESSOR,
|
|
211
|
+
useExisting: EcabsPlaceAutocompleteV2Component,
|
|
212
|
+
multi: true,
|
|
213
|
+
},
|
|
214
|
+
], template: "<ecabs-element-wrapper [data]=\"getData()\">\r\n <div class=\"autocomplete-ui w-full\">\r\n <section class=\"form-field__input--wrapper w-full\">\r\n <input #matCustomAutocompleteInput\r\n cdkOverlayOrigin\r\n #trigger=\"cdkOverlayOrigin\"\r\n [placeholder]=\"placeholder\"\r\n [disabled]=\"disabled\"\r\n [(ngModel)]=\"value\"\r\n [id]=\"name\"\r\n class=\"form-field__input w-full\"\r\n autocorrect=\"off\"\r\n autocapitalize=\"off\"\r\n spellcheck=\"off\"\r\n (focus)=\"onFocus()\"\r\n (keydown)=\"onKeyDown($event)\"\r\n (blur)=\"onBlur()\"\r\n />\r\n <div class=\"form-field__input--suffix\" *ngIf=\"showSuffix\">\r\n <mat-icon *ngIf=\"showDeleteItem\"\r\n class=\"suffix cursor-pointer delete-button\"\r\n (click)=\"onDeleteItem()\">\r\n delete\r\n </mat-icon>\r\n <mat-icon class=\"suffix cursor-pointer\" *ngIf=\"!showDeleteItem && value\" (click)=\"onClean()\">close</mat-icon>\r\n </div>\r\n </section>\r\n <!-- Custom dropdown -->\r\n <ng-template cdkConnectedOverlay\r\n [cdkConnectedOverlayWidth]=\"trigger.elementRef.nativeElement.offsetWidth\"\r\n [cdkConnectedOverlayFlexibleDimensions]=\"false\"\r\n [cdkConnectedOverlayOrigin]=\"trigger\"\r\n [cdkConnectedOverlayOpen]=\"isFocused$ | async\">\r\n <ul class=\"autocomplete-ui__container\">\r\n <li *ngFor=\"let suggestion of waypointSuggestions$ | async | slice:0:10; let i = index\"\r\n class=\"autocomplete-ui--item flex items-center justify-between hover:bg-gray-100\"\r\n [class.active]=\"i === selectedIndex\"\r\n (mousedown)=\"onSelectSuggestion(suggestion)\">\r\n <ng-container *ngIf=\"suggestion?.source === 'history'; else purePlaceResultTpl\">\r\n <div class=\"w-full truncate\">\r\n {{ suggestion?.additional_info }}\r\n </div>\r\n <mat-icon *ngIf=\"suggestion?.source === 'history'\"\r\n class=\"w-5 h-5 text-xl text-gray-400 !hover:text-gray-400\">\r\n history\r\n </mat-icon>\r\n </ng-container>\r\n\r\n <ng-template #purePlaceResultTpl>\r\n <ul class=\"w-full flex items-center gap-x-1 leading-0 overflow-hidden whitespace-nowrap\">\r\n <li>\r\n {{ suggestion?.prediction_term[0]?.value }}\r\n </li>\r\n <li *ngIf=\"suggestion?.prediction_term[1]?.value\"\r\n class=\"text-xs text-gray-600 truncate\">\r\n {{ suggestion?.prediction_term[1]?.value | separatorAppend: suggestion?.prediction_term[2]?.value }}\r\n </li>\r\n <li *ngIf=\"suggestion?.prediction_term[2]?.value\"\r\n class=\"text-xs text-gray-600 font-semibold truncate\">\r\n {{ suggestion?.prediction_term[2]?.value }}\r\n </li>\r\n </ul>\r\n </ng-template>\r\n </li>\r\n </ul>\r\n </ng-template>\r\n </div>\r\n</ecabs-element-wrapper>\r\n", styles: ["mat-form-field{margin-bottom:0!important}.delete-button{color:var(--color-error)}\n"] }]
|
|
215
|
+
}], ctorParameters: function () { return [{ type: i0.NgZone }, { type: i0.Injector }]; }, propDecorators: { matCustomInput: [{
|
|
216
|
+
type: ViewChild,
|
|
217
|
+
args: ['matCustomAutocompleteInput', { static: false }]
|
|
218
|
+
}], showDeleteItem: [{
|
|
219
|
+
type: Input
|
|
220
|
+
}], waypointsHistory: [{
|
|
221
|
+
type: Input
|
|
222
|
+
}], showSuffix: [{
|
|
223
|
+
type: Input
|
|
224
|
+
}], countryCode: [{
|
|
225
|
+
type: Input
|
|
226
|
+
}], googleLoaded: [{
|
|
227
|
+
type: Input
|
|
228
|
+
}], waypointType: [{
|
|
229
|
+
type: Input
|
|
230
|
+
}], placeResult: [{
|
|
231
|
+
type: Output
|
|
232
|
+
}], deleteItem: [{
|
|
233
|
+
type: Output
|
|
234
|
+
}], queryChanged: [{
|
|
235
|
+
type: Output
|
|
236
|
+
}] } });
|
|
237
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWNhYnMtcGxhY2UtYXV0b2NvbXBsZXRlLXYyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VjYWJzLWNvbXBvbmVudHMvc3JjL2xpYi9lY2Ficy1wbGFjZS1hdXRvY29tcGxldGUtdjIvZWNhYnMtcGxhY2UtYXV0b2NvbXBsZXRlLXYyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VjYWJzLWNvbXBvbmVudHMvc3JjL2xpYi9lY2Ficy1wbGFjZS1hdXRvY29tcGxldGUtdjIvZWNhYnMtcGxhY2UtYXV0b2NvbXBsZXRlLXYyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFFTCxTQUFTLEVBRVQsWUFBWSxFQUVaLEtBQUssRUFJTCxNQUFNLEVBRU4sU0FBUyxHQUNWLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFFTCxpQkFBaUIsRUFDakIsU0FBUyxHQUVWLE1BQU0sZ0JBQWdCLENBQUM7QUFDeEIsT0FBTyx5QkFBeUIsTUFBTSxzQkFBc0IsQ0FBQztBQU83RCxPQUFPLEVBQ0wsZUFBZSxFQUNmLGFBQWEsRUFDYixZQUFZLEVBQ1osR0FBRyxFQUNILFVBQVUsRUFDVixFQUFFLEdBQ0gsTUFBTSxNQUFNLENBQUM7QUFDZCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7Ozs7Ozs7O0FBYzNDLE1BQU0sT0FBTyxpQ0FDWCxTQUFRLHlCQUF5QjtJQTZEZDtJQUNBO0lBMURuQixjQUFjLENBQWE7SUFHM0IsY0FBYyxHQUFHLEtBQUssQ0FBQztJQUd2QixnQkFBZ0IsR0FBeUIsRUFBRSxDQUFDO0lBRzVDLFVBQVUsR0FBRyxLQUFLLENBQUM7SUFHbkIsV0FBVyxHQUFHLElBQUksQ0FBQztJQUduQixZQUFZLENBQVU7SUFHdEIsWUFBWSxDQUFtQjtJQUd0QixXQUFXLEdBQW9DLElBQUksWUFBWSxFQUFF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TyxFQUFFLGlCQUFpQjs0QkFDMUIsV0FBVyxtQ0FBbUM7NEJBQzlDLEtBQUssRUFBRSxJQUFJO3lCQUNaO3FCQUNGO29IQU9ELGNBQWM7c0JBRGIsU0FBUzt1QkFBQyw0QkFBNEIsRUFBRSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUU7Z0JBSTFELGNBQWM7c0JBRGIsS0FBSztnQkFJTixnQkFBZ0I7c0JBRGYsS0FBSztnQkFJTixVQUFVO3NCQURULEtBQUs7Z0JBSU4sV0FBVztzQkFEVixLQUFLO2dCQUlOLFlBQVk7c0JBRFgsS0FBSztnQkFJTixZQUFZO3NCQURYLEtBQUs7Z0JBSUcsV0FBVztzQkFEbkIsTUFBTTtnQkFJRSxVQUFVO3NCQURsQixNQUFNO2dCQUlFLFlBQVk7c0JBRHBCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gIEFmdGVyVmlld0luaXQsXHJcbiAgQ29tcG9uZW50LFxyXG4gIEVsZW1lbnRSZWYsXHJcbiAgRXZlbnRFbWl0dGVyLFxyXG4gIEluamVjdG9yLFxyXG4gIElucHV0LFxyXG4gIE5nWm9uZSxcclxuICBPbkNoYW5nZXMsXHJcbiAgT25EZXN0cm95LFxyXG4gIE91dHB1dCxcclxuICBTaW1wbGVDaGFuZ2VzLFxyXG4gIFZpZXdDaGlsZCxcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHtcclxuICBDb250cm9sVmFsdWVBY2Nlc3NvcixcclxuICBOR19WQUxVRV9BQ0NFU1NPUixcclxuICBOZ0NvbnRyb2wsXHJcbiAgVW50eXBlZEZvcm1Db250cm9sLFxyXG59IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IEVjYWJzRWxlbWVudEJhc2VDb21wb25lbnQgZnJvbSAnLi4vYmFzZS9lbGVtZW50LWJhc2UnO1xyXG5pbXBvcnQgeyBXYXlwb2ludFR5cGVFbnVtIH0gZnJvbSAnLi4vYmFzZS9jb25zdHMvd2F5cG9pbnQuY29uc3RzJztcclxuaW1wb3J0IHtcclxuICBHb29nbGVQbGFjZVJlc3VsdCxcclxuICBXYXlwb2ludFF1ZXJ5Q2hhbmdlLFxyXG4gIFdheXBvaW50U3VnZ2VzdGlvbixcclxufSBmcm9tICcuLi9iYXNlL21vZGVscy93YXlwb2ludC5tb2RlbHMnO1xyXG5pbXBvcnQge1xyXG4gIEJlaGF2aW9yU3ViamVjdCxcclxuICBjb21iaW5lTGF0ZXN0LFxyXG4gIGRlYm91bmNlVGltZSxcclxuICBtYXAsXHJcbiAgT2JzZXJ2YWJsZSxcclxuICBvZixcclxufSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgc3dpdGNoTWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdlY2Ficy1wbGFjZS1hdXRvY29tcGxldGUtdjInLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9lY2Ficy1wbGFjZS1hdXRvY29tcGxldGUtdjIuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2VjYWJzLXBsYWNlLWF1dG9jb21wbGV0ZS12Mi5jb21wb25lbnQuc2NzcyddLFxyXG4gIHByb3ZpZGVyczogW1xyXG4gICAge1xyXG4gICAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcclxuICAgICAgdXNlRXhpc3Rpbmc6IEVjYWJzUGxhY2VBdXRvY29tcGxldGVWMkNvbXBvbmVudCxcclxuICAgICAgbXVsdGk6IHRydWUsXHJcbiAgICB9LFxyXG4gIF0sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBFY2Fic1BsYWNlQXV0b2NvbXBsZXRlVjJDb21wb25lbnRcclxuICBleHRlbmRzIEVjYWJzRWxlbWVudEJhc2VDb21wb25lbnRcclxuICBpbXBsZW1lbnRzIE9uRGVzdHJveSwgT25DaGFuZ2VzLCBBZnRlclZpZXdJbml0LCBDb250cm9sVmFsdWVBY2Nlc3NvclxyXG57XHJcbiAgQFZpZXdDaGlsZCgnbWF0Q3VzdG9tQXV0b2NvbXBsZXRlSW5wdXQnLCB7IHN0YXRpYzogZmFsc2UgfSlcclxuICBtYXRDdXN0b21JbnB1dDogRWxlbWVudFJlZjtcclxuXHJcbiAgQElucHV0KClcclxuICBzaG93RGVsZXRlSXRlbSA9IGZhbHNlO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHdheXBvaW50c0hpc3Rvcnk6IFdheXBvaW50U3VnZ2VzdGlvbltdID0gW107XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgc2hvd1N1ZmZpeCA9IGZhbHNlO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIGNvdW50cnlDb2RlID0gJ01UJztcclxuXHJcbiAgQElucHV0KClcclxuICBnb29nbGVMb2FkZWQ6IGJvb2xlYW47XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgd2F5cG9pbnRUeXBlOiBXYXlwb2ludFR5cGVFbnVtO1xyXG5cclxuICBAT3V0cHV0KClcclxuICByZWFkb25seSBwbGFjZVJlc3VsdDogRXZlbnRFbWl0dGVyPEdvb2dsZVBsYWNlUmVzdWx0PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuXHJcbiAgQE91dHB1dCgpXHJcbiAgcmVhZG9ubHkgZGVsZXRlSXRlbSA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuXHJcbiAgQE91dHB1dCgpXHJcbiAgcmVhZG9ubHkgcXVlcnlDaGFuZ2VkID0gbmV3IEV2ZW50RW1pdHRlcjxXYXlwb2ludFF1ZXJ5Q2hhbmdlPigpO1xyXG5cclxuICBpc0ZvY3VzZWQkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPihmYWxzZSk7XHJcbiAgdmFsdWUkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxzdHJpbmc+KCcnKTtcclxuICB3YXlwb2ludFN1Z2dlc3Rpb25zJDogT2JzZXJ2YWJsZTxXYXlwb2ludFN1Z2dlc3Rpb25bXT47XHJcblxyXG4gIHNlbGVjdGVkSW5kZXggPSAtMTtcclxuICBkaXNwbGF5ZWRTdWdnZXN0aW9uczogV2F5cG9pbnRTdWdnZXN0aW9uW10gPSBbXTtcclxuXHJcbiAgdmFsITogc3RyaW5nO1xyXG4gIGxpc3RlbmVyOiBnb29nbGUubWFwcy5NYXBzRXZlbnRMaXN0ZW5lcjtcclxuXHJcbiAgcHJpdmF0ZSBtYXBBdXRvY29tcGxldGVTZXJ2aWNlOiBnb29nbGUubWFwcy5wbGFjZXMuQXV0b2NvbXBsZXRlU2VydmljZTtcclxuICBwcml2YXRlIHBsYWNlc1NlcnZpY2U6IGdvb2dsZS5tYXBzLnBsYWNlcy5QbGFjZXNTZXJ2aWNlO1xyXG4gIHByaXZhdGUgc2Vzc2lvblRva2VuOiBnb29nbGUubWFwcy5wbGFjZXMuQXV0b2NvbXBsZXRlU2Vzc2lvblRva2VuO1xyXG5cclxuICBnZXQgdmFsdWUoKTogc3RyaW5nIHtcclxuICAgIHJldHVybiB0aGlzLnZhbDtcclxuICB9XHJcblxyXG4gIHNldCB2YWx1ZSh2YWw6IHN0cmluZykge1xyXG4gICAgaWYgKHRoaXMudmFsICE9PSB2YWwpIHtcclxuICAgICAgdGhpcy52YWwgPSB2YWw7XHJcbiAgICAgIHRoaXMudmFsdWUkLm5leHQodmFsKTtcclxuICAgICAgdGhpcy5vbkNoYW5nZSh2YWwpO1xyXG4gICAgICB0aGlzLm9uVG91Y2godmFsKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSByZWFkb25seSBuZ1pvbmU6IE5nWm9uZSxcclxuICAgIHByaXZhdGUgcmVhZG9ubHkgaW5qZWN0b3I6IEluamVjdG9yLFxyXG4gICkge1xyXG4gICAgc3VwZXIoKTtcclxuICB9XHJcblxyXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcclxuICAgIGNvbnN0IHsgZ29vZ2xlTG9hZGVkIH0gPSBjaGFuZ2VzID8/IHt9O1xyXG5cclxuICAgIGlmIChnb29nbGVMb2FkZWQ/LmN1cnJlbnRWYWx1ZSkge1xyXG4gICAgICB0aGlzLmluaXRHb29nbGUoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcclxuICAgIGNvbnN0IG5nQ29udHJvbDogTmdDb250cm9sID0gdGhpcy5pbmplY3Rvci5nZXQoXHJcbiAgICAgIE5nQ29udHJvbCxcclxuICAgICAgbnVsbCxcclxuICAgICkgYXMgTmdDb250cm9sO1xyXG5cclxuICAgIGlmIChuZ0NvbnRyb2wpIHtcclxuICAgICAgdGhpcy5jb250cm9sID0gbmdDb250cm9sLmNvbnRyb2wgYXMgVW50eXBlZEZvcm1Db250cm9sO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMud2F5cG9pbnRTdWdnZXN0aW9ucyQgPSBjb21iaW5lTGF0ZXN0KFtcclxuICAgICAgdGhpcy5pc0ZvY3VzZWQkLFxyXG4gICAgICB0aGlzLnZhbHVlJCxcclxuICAgIF0pLnBpcGUoXHJcbiAgICAgIGRlYm91bmNlVGltZSg1MDApLFxyXG4gICAgICBzd2l0Y2hNYXAoKFtpc0ZvY3VzZWQsIHZhbHVlXSkgPT4ge1xyXG4gICAgICAgIGlmICghaXNGb2N1c2VkKSB7XHJcbiAgICAgICAgICByZXR1cm4gb2YoW10gYXMgV2F5cG9pbnRTdWdnZXN0aW9uW10pO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgaWYgKCF2YWx1ZSkge1xyXG4gICAgICAgICAgcmV0dXJuIG9mKHRoaXMud2F5cG9pbnRzSGlzdG9yeSk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICByZXR1cm4gdGhpcy5nZXRXYXlwb2ludFJlc3VsdHModmFsdWUpO1xyXG4gICAgICB9KSxcclxuICAgICAgbWFwKChyZXN1bHRzKSA9PiB7XHJcbiAgICAgICAgdGhpcy5kaXNwbGF5ZWRTdWdnZXN0aW9ucyA9IHJlc3VsdHM7XHJcbiAgICAgICAgdGhpcy5zZWxlY3RlZEluZGV4ID0gcmVzdWx0cz8ubGVuZ3RoID8gMCA6IC0xO1xyXG5cclxuICAgICAgICByZXR1cm4gcmVzdWx0cztcclxuICAgICAgfSksXHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBnZXRXYXlwb2ludFJlc3VsdHMocXVlcnk6IHN0cmluZyk6IE9ic2VydmFibGU8V2F5cG9pbnRTdWdnZXN0aW9uW10+IHtcclxuICAgIHRoaXMucXVlcnlDaGFuZ2VkLmVtaXQoeyB3YXlwb2ludF90eXBlOiB0aGlzLndheXBvaW50VHlwZSwgcXVlcnkgfSk7XHJcblxyXG4gICAgcmV0dXJuIGNvbWJpbmVMYXRlc3QoW1xyXG4gICAgICBvZih0aGlzLndheXBvaW50c0hpc3RvcnkpLFxyXG4gICAgICB0aGlzLmdldFBsYWNlc1Jlc3VsdHMocXVlcnkpLFxyXG4gICAgXSkucGlwZShcclxuICAgICAgbWFwKChbaGlzdG9yeSwgZ29vZ2xlXSkgPT4ge1xyXG4gICAgICAgIGNvbnN0IGhpc3RvcnlJdGVtcyA9IGhpc3RvcnkgPz8gW10sXHJcbiAgICAgICAgICBnb29nbGVJdGVtcyA9IGdvb2dsZSA/PyBbXTtcclxuXHJcbiAgICAgICAgcmV0dXJuIFsuLi5oaXN0b3J5SXRlbXMsIC4uLmdvb2dsZUl0ZW1zXTtcclxuICAgICAgfSksXHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBnZXRQbGFjZXNSZXN1bHRzKHF1ZXJ5OiBzdHJpbmcpOiBPYnNlcnZhYmxlPFdheXBvaW50U3VnZ2VzdGlvbltdPiB7XHJcbiAgICByZXR1cm4gbmV3IE9ic2VydmFibGUoKG9ic2VydmVyKSA9PiB7XHJcbiAgICAgIHRoaXMubWFwQXV0b2NvbXBsZXRlU2VydmljZS5nZXRQbGFjZVByZWRpY3Rpb25zKFxyXG4gICAgICAgIHtcclxuICAgICAgICAgIGlucHV0OiBxdWVyeSxcclxuICAgICAgICAgIGNvbXBvbmVudFJlc3RyaWN0aW9uczogeyBjb3VudHJ5OiB0aGlzLmNvdW50cnlDb2RlIH0sXHJcbiAgICAgICAgICBzZXNzaW9uVG9rZW46IHRoaXMuc2Vzc2lvblRva2VuLFxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgKHByZWRpY3Rpb25zKSA9PiB7XHJcbiAgICAgICAgICBvYnNlcnZlci5uZXh0KFxyXG4gICAgICAgICAgICAocHJlZGljdGlvbnMgPz8gW10pLm1hcCgocHJlZGljdGlvbikgPT4ge1xyXG4gICAgICAgICAgICAgIHJldHVybiB7XHJcbiAgICAgICAgICAgICAgICBhZGRpdGlvbmFsX2luZm86IHByZWRpY3Rpb24uZGVzY3JpcHRpb24sXHJcbiAgICAgICAgICAgICAgICBwbGFjZV9pZDogcHJlZGljdGlvbi5wbGFjZV9pZCEsXHJcbiAgICAgICAgICAgICAgICBzb3VyY2U6ICdnb29nbGUnLFxyXG4gICAgICAgICAgICAgICAgcHJlZGljdGlvbl90ZXJtOiBwcmVkaWN0aW9uLnRlcm1zLFxyXG4gICAgICAgICAgICAgIH07XHJcbiAgICAgICAgICAgIH0pLFxyXG4gICAgICAgICAgKTtcclxuICAgICAgICAgIG9ic2VydmVyLmNvbXBsZXRlKCk7XHJcbiAgICAgICAgfSxcclxuICAgICAgKTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgb25TZWxlY3RTdWdnZXN0aW9uKHN1Z2dlc3Rpb246IFdheXBvaW50U3VnZ2VzdGlvbik6IHZvaWQge1xyXG4gICAgY29uc3QgeyBhZGRpdGlvbmFsX2luZm8sIHBsYWNlX2lkIH0gPSBzdWdnZXN0aW9uID8/IHt9O1xyXG5cclxuICAgIHRoaXMudmFsdWUgPSBhZGRpdGlvbmFsX2luZm87XHJcbiAgICB0aGlzLnBsYWNlc1NlcnZpY2UuZ2V0RGV0YWlscyhcclxuICAgICAge1xyXG4gICAgICAgIHBsYWNlSWQ6IHBsYWNlX2lkISxcclxuICAgICAgICBzZXNzaW9uVG9rZW46IHRoaXMuc2Vzc2lvblRva2VuLFxyXG4gICAgICAgIGZpZWxkczogWydhZGRyZXNzX2NvbXBvbmVudHMnLCAnZ2VvbWV0cnkubG9jYXRpb24nXSxcclxuICAgICAgfSxcclxuICAgICAgKHBsYWNlLCBzdGF0dXMpID0+IHtcclxuICAgICAgICBpZiAoc3RhdHVzID09PSBnb29nbGUubWFwcy5wbGFjZXMuUGxhY2VzU2VydmljZVN0YXR1cy5PSyAmJiBwbGFjZSkge1xyXG4gICAgICAgICAgdGhpcy5uZ1pvbmUucnVuKCgpID0+IHtcclxuICAgICAgICAgICAgdGhpcy5wbGFjZVJlc3VsdC5lbWl0KHtcclxuICAgICAgICAgICAgICBwbGFjZSxcclxuICAgICAgICAgICAgICB0ZXh0OiBhZGRpdGlvbmFsX2luZm8sXHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgfSk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICB0aGlzLnJlc2V0U2Vzc2lvblRva2VuKCk7XHJcbiAgICAgIH0sXHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgb25LZXlEb3duKGV2ZW50OiBLZXlib2FyZEV2ZW50KTogdm9pZCB7XHJcbiAgICBpZiAoIXRoaXMuZGlzcGxheWVkU3VnZ2VzdGlvbnM/Lmxlbmd0aCkge1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcblxyXG4gICAgc3dpdGNoIChldmVudC5rZXkpIHtcclxuICAgICAgY2FzZSAnQXJyb3dEb3duJzpcclxuICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xyXG4gICAgICAgIHRoaXMuc2VsZWN0ZWRJbmRleCA9XHJcbiAgICAgICAgICAodGhpcy5zZWxlY3RlZEluZGV4ICsgMSkgJSB0aGlzLmRpc3BsYXllZFN1Z2dlc3Rpb25zLmxlbmd0aDtcclxuICAgICAgICBicmVhaztcclxuXHJcbiAgICAgIGNhc2UgJ0Fycm93VXAnOlxyXG4gICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XHJcbiAgICAgICAgdGhpcy5zZWxlY3RlZEluZGV4ID1cclxuICAgICAgICAgICh0aGlzLnNlbGVjdGVkSW5kZXggLSAxICsgdGhpcy5kaXNwbGF5ZWRTdWdnZXN0aW9ucy5sZW5ndGgpICVcclxuICAgICAgICAgIHRoaXMuZGlzcGxheWVkU3VnZ2VzdGlvbnMubGVuZ3RoO1xyXG4gICAgICAgIGJyZWFrO1xyXG5cclxuICAgICAgY2FzZSAnRW50ZXInOlxyXG4gICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XHJcblxyXG4gICAgICAgIGlmICh0aGlzLnNlbGVjdGVkSW5kZXggPj0gMCkge1xyXG4gICAgICAgICAgdGhpcy5vblNlbGVjdFN1Z2dlc3Rpb24oXHJcbiAgICAgICAgICAgIHRoaXMuZGlzcGxheWVkU3VnZ2VzdGlvbnNbdGhpcy5zZWxlY3RlZEluZGV4XSxcclxuICAgICAgICAgICk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGJyZWFrO1xyXG5cclxuICAgICAgY2FzZSAnRXNjYXBlJzpcclxuICAgICAgICB0aGlzLmlzRm9jdXNlZCQubmV4dChmYWxzZSk7XHJcbiAgICAgICAgdGhpcy5zZWxlY3RlZEluZGV4ID0gLTE7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLmxpc3RlbmVyKSB7XHJcbiAgICAgIHRoaXMubGlzdGVuZXIucmVtb3ZlKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBvbkNoYW5nZTogYW55ID0gKCkgPT4ge307XHJcblxyXG4gIG9uVG91Y2g6IGFueSA9ICgpID0+IHt9O1xyXG5cclxuICBvbkJsdXIoKTogdm9pZCB7XHJcbiAgICB0aGlzLmlzRm9jdXNlZCQubmV4dChmYWxzZSk7XHJcbiAgICB0aGlzLm9uVG91Y2g7XHJcbiAgfVxyXG5cclxuICBvbkZvY3VzKCk6IHZvaWQge1xyXG4gICAgdGhpcy5pc0ZvY3VzZWQkLm5leHQodHJ1ZSk7XHJcblxyXG4gICAgaWYgKCF0aGlzLnZhbHVlKSB7XHJcbiAgICAgIHRoaXMucmVzZXRTZXNzaW9uVG9rZW4oKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHdyaXRlVmFsdWUodmFsdWU6IGFueSk6IHZvaWQge1xyXG4gICAgdGhpcy52YWx1ZSA9IHZhbHVlO1xyXG4gIH1cclxuXHJcbiAgcmVnaXN0ZXJPbkNoYW5nZShmbjogYW55KTogdm9pZCB7XHJcbiAgICB0aGlzLm9uQ2hhbmdlID0gZm47XHJcbiAgfVxyXG5cclxuICByZWdpc3Rlck9uVG91Y2hlZChmbjogYW55KTogdm9pZCB7XHJcbiAgICB0aGlzLm9uVG91Y2ggPSBmbjtcclxuICB9XHJcblxyXG4gIG9uRGVsZXRlSXRlbSgpOiB2b2lkIHtcclxuICAgIHRoaXMuZGVsZXRlSXRlbS5lbWl0KCk7XHJcbiAgfVxyXG5cclxuICBvbkNsZWFuKCk6IHZvaWQge1xyXG4gICAgdGhpcy52YWx1ZSA9ICcnO1xyXG4gICAgdGhpcy5vblRvdWNoKCk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGluaXRHb29nbGUoKTogdm9pZCB7XHJcbiAgICB0aGlzLm1hcEF1dG9jb21wbGV0ZVNlcnZpY2UgPSBuZXcgZ29vZ2xlLm1hcHMucGxhY2VzLkF1dG9jb21wbGV0ZVNlcnZpY2UoKTtcclxuXHJcbiAgICB0aGlzLnBsYWNlc1NlcnZpY2UgPSBuZXcgZ29vZ2xlLm1hcHMucGxhY2VzLlBsYWNlc1NlcnZpY2UoXHJcbiAgICAgIGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpLFxyXG4gICAgKTtcclxuXHJcbiAgICB0aGlzLnJlc2V0U2Vzc2lvblRva2VuKCk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHJlc2V0U2Vzc2lvblRva2VuKCk6IHZvaWQge1xyXG4gICAgdGhpcy5zZXNzaW9uVG9rZW4gPSBuZXcgZ29vZ2xlLm1hcHMucGxhY2VzLkF1dG9jb21wbGV0ZVNlc3Npb25Ub2tlbigpO1xyXG4gIH1cclxufVxyXG4iLCI8ZWNhYnMtZWxlbWVudC13cmFwcGVyIFtkYXRhXT1cImdldERhdGEoKVwiPlxyXG4gIDxkaXYgY2xhc3M9XCJhdXRvY29tcGxldGUtdWkgdy1mdWxsXCI+XHJcbiAgICA8c2VjdGlvbiBjbGFzcz1cImZvcm0tZmllbGRfX2lucHV0LS13cmFwcGVyIHctZnVsbFwiPlxyXG4gICAgICA8aW5wdXQgI21hdEN1c3RvbUF1dG9jb21wbGV0ZUlucHV0XHJcbiAgICAgICAgICAgICBjZGtPdmVybGF5T3JpZ2luXHJcbiAgICAgICAgICAgICAjdHJpZ2dlcj1cImNka092ZXJsYXlPcmlnaW5cIlxyXG4gICAgICAgICAgICAgW3BsYWNlaG9sZGVyXT1cInBsYWNlaG9sZGVyXCJcclxuICAgICAgICAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXHJcbiAgICAgICAgICAgICBbKG5nTW9kZWwpXT1cInZhbHVlXCJcclxuICAgICAgICAgICAgIFtpZF09XCJuYW1lXCJcclxuICAgICAgICAgICAgIGNsYXNzPVwiZm9ybS1maWVsZF9faW5wdXQgdy1mdWxsXCJcclxuICAgICAgICAgICAgIGF1dG9jb3JyZWN0PVwib2ZmXCJcclxuICAgICAgICAgICAgIGF1dG9jYXBpdGFsaXplPVwib2ZmXCJcclxuICAgICAgICAgICAgIHNwZWxsY2hlY2s9XCJvZmZcIlxyXG4gICAgICAgICAgICAgKGZvY3VzKT1cIm9uRm9jdXMoKVwiXHJcbiAgICAgICAgICAgICAoa2V5ZG93bik9XCJvbktleURvd24oJGV2ZW50KVwiXHJcbiAgICAgICAgICAgICAoYmx1cik9XCJvbkJsdXIoKVwiXHJcbiAgICAgIC8+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJmb3JtLWZpZWxkX19pbnB1dC0tc3VmZml4XCIgKm5nSWY9XCJzaG93U3VmZml4XCI+XHJcbiAgICAgICAgPG1hdC1pY29uICpuZ0lmPVwic2hvd0RlbGV0ZUl0ZW1cIlxyXG4gICAgICAgICAgICAgICAgICBjbGFzcz1cInN1ZmZpeCBjdXJzb3ItcG9pbnRlciBkZWxldGUtYnV0dG9uXCJcclxuICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIm9uRGVsZXRlSXRlbSgpXCI+XHJcbiAgICAgICAgICBkZWxldGVcclxuICAgICAgICA8L21hdC1pY29uPlxyXG4gICAgICAgIDxtYXQtaWNvbiBjbGFzcz1cInN1ZmZpeCBjdXJzb3ItcG9pbnRlclwiICpuZ0lmPVwiIXNob3dEZWxldGVJdGVtICYmIHZhbHVlXCIgKGNsaWNrKT1cIm9uQ2xlYW4oKVwiPmNsb3NlPC9tYXQtaWNvbj5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L3NlY3Rpb24+XHJcbiAgICA8IS0tIEN1c3RvbSBkcm9wZG93biAtLT5cclxuICAgIDxuZy10ZW1wbGF0ZSBjZGtDb25uZWN0ZWRPdmVybGF5XHJcbiAgICAgICAgICAgICAgICAgW2Nka0Nvbm5lY3RlZE92ZXJsYXlXaWR0aF09XCJ0cmlnZ2VyLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5vZmZzZXRXaWR0aFwiXHJcbiAgICAgICAgICAgICAgICAgW2Nka0Nvbm5lY3RlZE92ZXJsYXlGbGV4aWJsZURpbWVuc2lvbnNdPVwiZmFsc2VcIlxyXG4gICAgICAgICAgICAgICAgIFtjZGtDb25uZWN0ZWRPdmVybGF5T3JpZ2luXT1cInRyaWdnZXJcIlxyXG4gICAgICAgICAgICAgICAgIFtjZGtDb25uZWN0ZWRPdmVybGF5T3Blbl09XCJpc0ZvY3VzZWQkIHwgYXN5bmNcIj5cclxuICAgICAgPHVsIGNsYXNzPVwiYXV0b2NvbXBsZXRlLXVpX19jb250YWluZXJcIj5cclxuICAgICAgICA8bGkgKm5nRm9yPVwibGV0IHN1Z2dlc3Rpb24gb2Ygd2F5cG9pbnRTdWdnZXN0aW9ucyQgfCBhc3luYyB8IHNsaWNlOjA6MTA7IGxldCBpID0gaW5kZXhcIlxyXG4gICAgICAgICAgICBjbGFzcz1cImF1dG9jb21wbGV0ZS11aS0taXRlbSBmbGV4IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWJldHdlZW4gaG92ZXI6YmctZ3JheS0xMDBcIlxyXG4gICAgICAgICAgICBbY2xhc3MuYWN0aXZlXT1cImkgPT09IHNlbGVjdGVkSW5kZXhcIlxyXG4gICAgICAgICAgICAobW91c2Vkb3duKT1cIm9uU2VsZWN0U3VnZ2VzdGlvbihzdWdnZXN0aW9uKVwiPlxyXG4gICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInN1Z2dlc3Rpb24/LnNvdXJjZSA9PT0gJ2hpc3RvcnknOyBlbHNlIHB1cmVQbGFjZVJlc3VsdFRwbFwiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwidy1mdWxsIHRydW5jYXRlXCI+XHJcbiAgICAgICAgICAgICAge3sgc3VnZ2VzdGlvbj8uYWRkaXRpb25hbF9pbmZvIH19XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8bWF0LWljb24gKm5nSWY9XCJzdWdnZXN0aW9uPy5zb3VyY2UgPT09ICdoaXN0b3J5J1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInctNSBoLTUgdGV4dC14bCB0ZXh0LWdyYXktNDAwICFob3Zlcjp0ZXh0LWdyYXktNDAwXCI+XHJcbiAgICAgICAgICAgICAgaGlzdG9yeVxyXG4gICAgICAgICAgICA8L21hdC1pY29uPlxyXG4gICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcblxyXG4gICAgICAgICAgPG5nLXRlbXBsYXRlICNwdXJlUGxhY2VSZXN1bHRUcGw+XHJcbiAgICAgICAgICAgIDx1bCBjbGFzcz1cInctZnVsbCBmbGV4IGl0ZW1zLWNlbnRlciBnYXAteC0xIGxlYWRpbmctMCBvdmVyZmxvdy1oaWRkZW4gd2hpdGVzcGFjZS1ub3dyYXBcIj5cclxuICAgICAgICAgICAgICA8bGk+XHJcbiAgICAgICAgICAgICAgICB7eyBzdWdnZXN0aW9uPy5wcmVkaWN0aW9uX3Rlcm1bMF0/LnZhbHVlIH19XHJcbiAgICAgICAgICAgICAgPC9saT5cclxuICAgICAgICAgICAgICA8bGkgKm5nSWY9XCJzdWdnZXN0aW9uPy5wcmVkaWN0aW9uX3Rlcm1bMV0/LnZhbHVlXCJcclxuICAgICAgICAgICAgICAgICAgY2xhc3M9XCJ0ZXh0LXhzIHRleHQtZ3JheS02MDAgdHJ1bmNhdGVcIj5cclxuICAgICAgICAgICAgICAgIHt7IHN1Z2dlc3Rpb24/LnByZWRpY3Rpb25fdGVybVsxXT8udmFsdWUgfCBzZXBhcmF0b3JBcHBlbmQ6IHN1Z2dlc3Rpb24/LnByZWRpY3Rpb25fdGVybVsyXT8udmFsdWUgfX1cclxuICAgICAgICAgICAgICA8L2xpPlxyXG4gICAgICAgICAgICAgIDxsaSAqbmdJZj1cInN1Z2dlc3Rpb24/LnByZWRpY3Rpb25fdGVybVsyXT8udmFsdWVcIlxyXG4gICAgICAgICAgICAgICAgICBjbGFzcz1cInRleHQteHMgdGV4dC1ncmF5LTYwMCBmb250LXNlbWlib2xkIHRydW5jYXRlXCI+XHJcbiAgICAgICAgICAgICAgICB7eyBzdWdnZXN0aW9uPy5wcmVkaWN0aW9uX3Rlcm1bMl0/LnZhbHVlIH19XHJcbiAgICAgICAgICAgICAgPC9saT5cclxuICAgICAgICAgICAgPC91bD5cclxuICAgICAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICAgICAgPC9saT5cclxuICAgICAgPC91bD5cclxuICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgPC9kaXY+XHJcbjwvZWNhYnMtZWxlbWVudC13cmFwcGVyPlxyXG4iXX0=
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import { NgModule } from '@angular/core';
|
|
2
|
+
import { CommonModule } from '@angular/common';
|
|
3
|
+
import { EcabsPlaceAutocompleteV2Component } from './ecabs-place-autocomplete-v2.component';
|
|
4
|
+
import { FormsModule } from '@angular/forms';
|
|
5
|
+
import { MatIconModule } from '@angular/material/icon';
|
|
6
|
+
import { ElementWrapperModule } from '../base/element-wrapper/element-wrapper.module';
|
|
7
|
+
import { SeparatorAppendPipe } from '../base/pipes/separator-append.pipe';
|
|
8
|
+
import { CdkConnectedOverlay, CdkOverlayOrigin } from '@angular/cdk/overlay';
|
|
9
|
+
import * as i0 from "@angular/core";
|
|
10
|
+
export class EcabsPlaceAutocompleteV2Module {
|
|
11
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: EcabsPlaceAutocompleteV2Module, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
12
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: EcabsPlaceAutocompleteV2Module, declarations: [EcabsPlaceAutocompleteV2Component], imports: [CommonModule,
|
|
13
|
+
ElementWrapperModule,
|
|
14
|
+
FormsModule,
|
|
15
|
+
MatIconModule,
|
|
16
|
+
SeparatorAppendPipe,
|
|
17
|
+
CdkOverlayOrigin,
|
|
18
|
+
CdkConnectedOverlay], exports: [EcabsPlaceAutocompleteV2Component] });
|
|
19
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: EcabsPlaceAutocompleteV2Module, imports: [CommonModule,
|
|
20
|
+
ElementWrapperModule,
|
|
21
|
+
FormsModule,
|
|
22
|
+
MatIconModule] });
|
|
23
|
+
}
|
|
24
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: EcabsPlaceAutocompleteV2Module, decorators: [{
|
|
25
|
+
type: NgModule,
|
|
26
|
+
args: [{
|
|
27
|
+
declarations: [EcabsPlaceAutocompleteV2Component],
|
|
28
|
+
imports: [
|
|
29
|
+
CommonModule,
|
|
30
|
+
ElementWrapperModule,
|
|
31
|
+
FormsModule,
|
|
32
|
+
MatIconModule,
|
|
33
|
+
SeparatorAppendPipe,
|
|
34
|
+
CdkOverlayOrigin,
|
|
35
|
+
CdkConnectedOverlay,
|
|
36
|
+
],
|
|
37
|
+
exports: [EcabsPlaceAutocompleteV2Component],
|
|
38
|
+
}]
|
|
39
|
+
}] });
|
|
40
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWNhYnMtcGxhY2UtYXV0b2NvbXBsZXRlLXYyLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VjYWJzLWNvbXBvbmVudHMvc3JjL2xpYi9lY2Ficy1wbGFjZS1hdXRvY29tcGxldGUtdjIvZWNhYnMtcGxhY2UtYXV0b2NvbXBsZXRlLXYyLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsaUNBQWlDLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQztBQUM1RixPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0MsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGdEQUFnRCxDQUFDO0FBQ3RGLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQzFFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHNCQUFzQixDQUFDOztBQWU3RSxNQUFNLE9BQU8sOEJBQThCO3dHQUE5Qiw4QkFBOEI7eUdBQTlCLDhCQUE4QixpQkFaMUIsaUNBQWlDLGFBRTlDLFlBQVk7WUFDWixvQkFBb0I7WUFDcEIsV0FBVztZQUNYLGFBQWE7WUFDYixtQkFBbUI7WUFDbkIsZ0JBQWdCO1lBQ2hCLG1CQUFtQixhQUVYLGlDQUFpQzt5R0FFaEMsOEJBQThCLFlBVnZDLFlBQVk7WUFDWixvQkFBb0I7WUFDcEIsV0FBVztZQUNYLGFBQWE7OzRGQU9KLDhCQUE4QjtrQkFiMUMsUUFBUTttQkFBQztvQkFDUixZQUFZLEVBQUUsQ0FBQyxpQ0FBaUMsQ0FBQztvQkFDakQsT0FBTyxFQUFFO3dCQUNQLFlBQVk7d0JBQ1osb0JBQW9CO3dCQUNwQixXQUFXO3dCQUNYLGFBQWE7d0JBQ2IsbUJBQW1CO3dCQUNuQixnQkFBZ0I7d0JBQ2hCLG1CQUFtQjtxQkFDcEI7b0JBQ0QsT0FBTyxFQUFFLENBQUMsaUNBQWlDLENBQUM7aUJBQzdDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHsgRWNhYnNQbGFjZUF1dG9jb21wbGV0ZVYyQ29tcG9uZW50IH0gZnJvbSAnLi9lY2Ficy1wbGFjZS1hdXRvY29tcGxldGUtdjIuY29tcG9uZW50JztcclxuaW1wb3J0IHsgRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IE1hdEljb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pY29uJztcclxuaW1wb3J0IHsgRWxlbWVudFdyYXBwZXJNb2R1bGUgfSBmcm9tICcuLi9iYXNlL2VsZW1lbnQtd3JhcHBlci9lbGVtZW50LXdyYXBwZXIubW9kdWxlJztcclxuaW1wb3J0IHsgU2VwYXJhdG9yQXBwZW5kUGlwZSB9IGZyb20gJy4uL2Jhc2UvcGlwZXMvc2VwYXJhdG9yLWFwcGVuZC5waXBlJztcclxuaW1wb3J0IHsgQ2RrQ29ubmVjdGVkT3ZlcmxheSwgQ2RrT3ZlcmxheU9yaWdpbiB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9vdmVybGF5JztcclxuXHJcbkBOZ01vZHVsZSh7XHJcbiAgZGVjbGFyYXRpb25zOiBbRWNhYnNQbGFjZUF1dG9jb21wbGV0ZVYyQ29tcG9uZW50XSxcclxuICBpbXBvcnRzOiBbXHJcbiAgICBDb21tb25Nb2R1bGUsXHJcbiAgICBFbGVtZW50V3JhcHBlck1vZHVsZSxcclxuICAgIEZvcm1zTW9kdWxlLFxyXG4gICAgTWF0SWNvbk1vZHVsZSxcclxuICAgIFNlcGFyYXRvckFwcGVuZFBpcGUsXHJcbiAgICBDZGtPdmVybGF5T3JpZ2luLFxyXG4gICAgQ2RrQ29ubmVjdGVkT3ZlcmxheSxcclxuICBdLFxyXG4gIGV4cG9ydHM6IFtFY2Fic1BsYWNlQXV0b2NvbXBsZXRlVjJDb21wb25lbnRdLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgRWNhYnNQbGFjZUF1dG9jb21wbGV0ZVYyTW9kdWxlIHt9XHJcbiJdfQ==
|