ngx-techlify-core 18.13.0 → 18.14.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.
@@ -1,8 +1,15 @@
1
1
  import { Component, Input } from '@angular/core';
2
2
  import { NgIf } from '@angular/common';
3
3
  import * as i0 from "@angular/core";
4
+ import * as i1 from "../../user";
4
5
  export class CompanyInfoDisplayComponent {
5
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CompanyInfoDisplayComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
6
+ constructor(currentUserService) {
7
+ this.currentUserService = currentUserService;
8
+ this.currentUserService.getUserObservable(true).subscribe((user) => {
9
+ this.client = user?.client;
10
+ });
11
+ }
12
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CompanyInfoDisplayComponent, deps: [{ token: i1.CurrentUserService }], target: i0.ɵɵFactoryTarget.Component }); }
6
13
  static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: CompanyInfoDisplayComponent, isStandalone: true, selector: "app-company-info-display", inputs: { client: "client" }, ngImport: i0, template: "<div *ngIf=\"client\" class=\"d-flex justify-content-start align-items-start gap-2\">\n <img *ngIf=\"client?.logo\" [src]=\"client?.logo\" class=\"img img-thumbnail\" style=\"max-height: 75px\" alt=\"\">\n <div>\n <h3 class=\"text-dark mb-1\">{{ client?.name }}</h3>\n <p class=\"mb-1 text-secondary\" *ngIf=\"client?.address\">\n {{ client?.address }}\n </p>\n <p class=\"mb-1 text-secondary\" *ngIf=\"client?.phone\">\n {{ client?.phone }}\n </p>\n <p class=\"mb-1 text-secondary\" *ngIf=\"client?.email\">\n {{ client?.email }}\n </p>\n </div>\n</div>\n", styles: [""], dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] }); }
7
14
  }
8
15
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CompanyInfoDisplayComponent, decorators: [{
@@ -10,7 +17,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
10
17
  args: [{ selector: 'app-company-info-display', standalone: true, imports: [
11
18
  NgIf
12
19
  ], template: "<div *ngIf=\"client\" class=\"d-flex justify-content-start align-items-start gap-2\">\n <img *ngIf=\"client?.logo\" [src]=\"client?.logo\" class=\"img img-thumbnail\" style=\"max-height: 75px\" alt=\"\">\n <div>\n <h3 class=\"text-dark mb-1\">{{ client?.name }}</h3>\n <p class=\"mb-1 text-secondary\" *ngIf=\"client?.address\">\n {{ client?.address }}\n </p>\n <p class=\"mb-1 text-secondary\" *ngIf=\"client?.phone\">\n {{ client?.phone }}\n </p>\n <p class=\"mb-1 text-secondary\" *ngIf=\"client?.email\">\n {{ client?.email }}\n </p>\n </div>\n</div>\n" }]
13
- }], propDecorators: { client: [{
20
+ }], ctorParameters: () => [{ type: i1.CurrentUserService }], propDecorators: { client: [{
14
21
  type: Input
15
22
  }] } });
16
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcGFueS1pbmZvLWRpc3BsYXkuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXRlY2hsaWZ5LWNvcmUvc3JjL2xpYi9jb21wYW55LWluZm9ybWF0aW9uL2NvbXBhbnktaW5mby1kaXNwbGF5L2NvbXBhbnktaW5mby1kaXNwbGF5LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC10ZWNobGlmeS1jb3JlL3NyYy9saWIvY29tcGFueS1pbmZvcm1hdGlvbi9jb21wYW55LWluZm8tZGlzcGxheS9jb21wYW55LWluZm8tZGlzcGxheS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLEtBQUssRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUMvQyxPQUFPLEVBQUMsSUFBSSxFQUFDLE1BQU0saUJBQWlCLENBQUM7O0FBV3JDLE1BQU0sT0FBTywyQkFBMkI7K0dBQTNCLDJCQUEyQjttR0FBM0IsMkJBQTJCLGtIQ1p4QyxxbEJBZUEsMEREUkksSUFBSTs7NEZBS0ssMkJBQTJCO2tCQVR2QyxTQUFTOytCQUNFLDBCQUEwQixjQUN4QixJQUFJLFdBQ1A7d0JBQ1AsSUFBSTtxQkFDTDs4QkFLUSxNQUFNO3NCQUFkLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbXBvbmVudCwgSW5wdXR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtOZ0lmfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhcHAtY29tcGFueS1pbmZvLWRpc3BsYXknLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbXG4gICAgTmdJZlxuICBdLFxuICB0ZW1wbGF0ZVVybDogJy4vY29tcGFueS1pbmZvLWRpc3BsYXkuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybDogJy4vY29tcGFueS1pbmZvLWRpc3BsYXkuY29tcG9uZW50LnNjc3MnXG59KVxuZXhwb3J0IGNsYXNzIENvbXBhbnlJbmZvRGlzcGxheUNvbXBvbmVudCB7XG4gIEBJbnB1dCgpIGNsaWVudCE6IGFueTtcbn1cbiIsIjxkaXYgKm5nSWY9XCJjbGllbnRcIiBjbGFzcz1cImQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtc3RhcnQgYWxpZ24taXRlbXMtc3RhcnQgZ2FwLTJcIj5cbiAgPGltZyAqbmdJZj1cImNsaWVudD8ubG9nb1wiIFtzcmNdPVwiY2xpZW50Py5sb2dvXCIgY2xhc3M9XCJpbWcgaW1nLXRodW1ibmFpbFwiIHN0eWxlPVwibWF4LWhlaWdodDogNzVweFwiIGFsdD1cIlwiPlxuICA8ZGl2PlxuICAgIDxoMyBjbGFzcz1cInRleHQtZGFyayBtYi0xXCI+e3sgY2xpZW50Py5uYW1lIH19PC9oMz5cbiAgICA8cCBjbGFzcz1cIm1iLTEgdGV4dC1zZWNvbmRhcnlcIiAqbmdJZj1cImNsaWVudD8uYWRkcmVzc1wiPlxuICAgICAge3sgY2xpZW50Py5hZGRyZXNzIH19XG4gICAgPC9wPlxuICAgIDxwIGNsYXNzPVwibWItMSB0ZXh0LXNlY29uZGFyeVwiICpuZ0lmPVwiY2xpZW50Py5waG9uZVwiPlxuICAgICAge3sgY2xpZW50Py5waG9uZSB9fVxuICAgIDwvcD5cbiAgICA8cCBjbGFzcz1cIm1iLTEgdGV4dC1zZWNvbmRhcnlcIiAqbmdJZj1cImNsaWVudD8uZW1haWxcIj5cbiAgICAgIHt7IGNsaWVudD8uZW1haWwgfX1cbiAgICA8L3A+XG4gIDwvZGl2PlxuPC9kaXY+XG4iXX0=
23
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcGFueS1pbmZvLWRpc3BsYXkuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXRlY2hsaWZ5LWNvcmUvc3JjL2xpYi9jb21wYW55LWluZm9ybWF0aW9uL2NvbXBhbnktaW5mby1kaXNwbGF5L2NvbXBhbnktaW5mby1kaXNwbGF5LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC10ZWNobGlmeS1jb3JlL3NyYy9saWIvY29tcGFueS1pbmZvcm1hdGlvbi9jb21wYW55LWluZm8tZGlzcGxheS9jb21wYW55LWluZm8tZGlzcGxheS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLEtBQUssRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUMvQyxPQUFPLEVBQUMsSUFBSSxFQUFDLE1BQU0saUJBQWlCLENBQUM7OztBQVlyQyxNQUFNLE9BQU8sMkJBQTJCO0lBR3RDLFlBQ1Usa0JBQXNDO1FBQXRDLHVCQUFrQixHQUFsQixrQkFBa0IsQ0FBb0I7UUFFOUMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLElBQVMsRUFBRSxFQUFFO1lBQ3RFLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxFQUFFLE1BQU0sQ0FBQztRQUM3QixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7K0dBVFUsMkJBQTJCO21HQUEzQiwyQkFBMkIsa0hDYnhDLHFsQkFlQSwwRERQSSxJQUFJOzs0RkFLSywyQkFBMkI7a0JBVHZDLFNBQVM7K0JBQ0UsMEJBQTBCLGNBQ3hCLElBQUksV0FDUDt3QkFDUCxJQUFJO3FCQUNMO3VGQUtRLE1BQU07c0JBQWQsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29tcG9uZW50LCBJbnB1dH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge05nSWZ9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge0N1cnJlbnRVc2VyU2VydmljZX0gZnJvbSAnLi4vLi4vdXNlcic7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FwcC1jb21wYW55LWluZm8tZGlzcGxheScsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtcbiAgICBOZ0lmXG4gIF0sXG4gIHRlbXBsYXRlVXJsOiAnLi9jb21wYW55LWluZm8tZGlzcGxheS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsOiAnLi9jb21wYW55LWluZm8tZGlzcGxheS5jb21wb25lbnQuc2Nzcydcbn0pXG5leHBvcnQgY2xhc3MgQ29tcGFueUluZm9EaXNwbGF5Q29tcG9uZW50IHtcbiAgQElucHV0KCkgY2xpZW50ITogYW55O1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgY3VycmVudFVzZXJTZXJ2aWNlOiBDdXJyZW50VXNlclNlcnZpY2VcbiAgKSB7XG4gICAgdGhpcy5jdXJyZW50VXNlclNlcnZpY2UuZ2V0VXNlck9ic2VydmFibGUodHJ1ZSkuc3Vic2NyaWJlKCh1c2VyOiBhbnkpID0+IHtcbiAgICAgIHRoaXMuY2xpZW50ID0gdXNlcj8uY2xpZW50O1xuICAgIH0pO1xuICB9XG59XG4iLCI8ZGl2ICpuZ0lmPVwiY2xpZW50XCIgY2xhc3M9XCJkLWZsZXgganVzdGlmeS1jb250ZW50LXN0YXJ0IGFsaWduLWl0ZW1zLXN0YXJ0IGdhcC0yXCI+XG4gIDxpbWcgKm5nSWY9XCJjbGllbnQ/LmxvZ29cIiBbc3JjXT1cImNsaWVudD8ubG9nb1wiIGNsYXNzPVwiaW1nIGltZy10aHVtYm5haWxcIiBzdHlsZT1cIm1heC1oZWlnaHQ6IDc1cHhcIiBhbHQ9XCJcIj5cbiAgPGRpdj5cbiAgICA8aDMgY2xhc3M9XCJ0ZXh0LWRhcmsgbWItMVwiPnt7IGNsaWVudD8ubmFtZSB9fTwvaDM+XG4gICAgPHAgY2xhc3M9XCJtYi0xIHRleHQtc2Vjb25kYXJ5XCIgKm5nSWY9XCJjbGllbnQ/LmFkZHJlc3NcIj5cbiAgICAgIHt7IGNsaWVudD8uYWRkcmVzcyB9fVxuICAgIDwvcD5cbiAgICA8cCBjbGFzcz1cIm1iLTEgdGV4dC1zZWNvbmRhcnlcIiAqbmdJZj1cImNsaWVudD8ucGhvbmVcIj5cbiAgICAgIHt7IGNsaWVudD8ucGhvbmUgfX1cbiAgICA8L3A+XG4gICAgPHAgY2xhc3M9XCJtYi0xIHRleHQtc2Vjb25kYXJ5XCIgKm5nSWY9XCJjbGllbnQ/LmVtYWlsXCI+XG4gICAgICB7eyBjbGllbnQ/LmVtYWlsIH19XG4gICAgPC9wPlxuICA8L2Rpdj5cbjwvZGl2PlxuIl19
@@ -59,10 +59,10 @@ export class TechlifyCompanySwitcherComponent {
59
59
  });
60
60
  }
61
61
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TechlifyCompanySwitcherComponent, deps: [{ token: i1.HttpService }, { token: i1.CredentialsService }, { token: i1.AlertService }, { token: i2.CurrentUserService }], target: i0.ɵɵFactoryTarget.Component }); }
62
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: TechlifyCompanySwitcherComponent, selector: "app-techlify-company-switcher", ngImport: i0, template: "<div\n mat-menu-item\n [matMenuTriggerFor]=\"menu\"\n>\n {{ user.client?.name }}\n</div>\n<mat-menu #menu=\"matMenu\">\n <button\n mat-menu-item\n *ngFor=\"let userClient of userClients\"\n (click)=\"switchClient(userClient)\"\n [disabled]=\"!userClient.is_enabled || userClient.client?.status_id == 3\"\n >\n <div class=\"d-flex justify-content-start align-items-center gap-2\">\n <span>\n {{ userClient?.client?.name }}\n </span>\n <span *ngIf=\"userClient?.client_id === user.client_id\" class=\"active-company\"></span>\n <span *ngIf=\"!userClient.is_enabled\">(disabled)</span>\n <span *ngIf=\"userClient.client?.status_id == 3\">(Inactive)</span>\n </div>\n </button>\n</mat-menu>\n", styles: [".active-company{width:10px;height:10px;background-color:#00ce00;border-radius:50%}\n"], dependencies: [{ kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i4.MatMenu, selector: "mat-menu", inputs: ["backdropClass", "aria-label", "aria-labelledby", "aria-describedby", "xPosition", "yPosition", "overlapTrigger", "hasBackdrop", "class", "classList"], outputs: ["closed", "close"], exportAs: ["matMenu"] }, { kind: "component", type: i4.MatMenuItem, selector: "[mat-menu-item]", inputs: ["role", "disabled", "disableRipple"], exportAs: ["matMenuItem"] }, { kind: "directive", type: i4.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", inputs: ["mat-menu-trigger-for", "matMenuTriggerFor", "matMenuTriggerData", "matMenuTriggerRestoreFocus"], outputs: ["menuOpened", "onMenuOpen", "menuClosed", "onMenuClose"], exportAs: ["matMenuTrigger"] }] }); }
62
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: TechlifyCompanySwitcherComponent, selector: "app-techlify-company-switcher", ngImport: i0, template: "<div\n mat-menu-item\n [matMenuTriggerFor]=\"menu\"\n>\n {{ user.client?.name }}\n</div>\n<mat-menu #menu=\"matMenu\">\n <ng-container *ngFor=\"let userClient of userClients\">\n <button\n *ngIf=\"userClient?.client\"\n mat-menu-item\n (click)=\"switchClient(userClient)\"\n [disabled]=\"!userClient.is_enabled || userClient.client?.status_id == 3\"\n >\n <div class=\"d-flex justify-content-start align-items-center gap-2\">\n <span>\n {{ userClient?.client?.name }}\n </span>\n <span *ngIf=\"userClient?.client_id === user.client_id\" class=\"active-company\"></span>\n <span *ngIf=\"!userClient.is_enabled\">(disabled)</span>\n <span *ngIf=\"userClient.client?.status_id == 3\">(Inactive)</span>\n </div>\n </button>\n </ng-container>\n</mat-menu>\n", styles: [".active-company{width:10px;height:10px;background-color:#00ce00;border-radius:50%}\n"], dependencies: [{ kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i4.MatMenu, selector: "mat-menu", inputs: ["backdropClass", "aria-label", "aria-labelledby", "aria-describedby", "xPosition", "yPosition", "overlapTrigger", "hasBackdrop", "class", "classList"], outputs: ["closed", "close"], exportAs: ["matMenu"] }, { kind: "component", type: i4.MatMenuItem, selector: "[mat-menu-item]", inputs: ["role", "disabled", "disableRipple"], exportAs: ["matMenuItem"] }, { kind: "directive", type: i4.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", inputs: ["mat-menu-trigger-for", "matMenuTriggerFor", "matMenuTriggerData", "matMenuTriggerRestoreFocus"], outputs: ["menuOpened", "onMenuOpen", "menuClosed", "onMenuClose"], exportAs: ["matMenuTrigger"] }] }); }
63
63
  }
64
64
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TechlifyCompanySwitcherComponent, decorators: [{
65
65
  type: Component,
66
- args: [{ selector: 'app-techlify-company-switcher', template: "<div\n mat-menu-item\n [matMenuTriggerFor]=\"menu\"\n>\n {{ user.client?.name }}\n</div>\n<mat-menu #menu=\"matMenu\">\n <button\n mat-menu-item\n *ngFor=\"let userClient of userClients\"\n (click)=\"switchClient(userClient)\"\n [disabled]=\"!userClient.is_enabled || userClient.client?.status_id == 3\"\n >\n <div class=\"d-flex justify-content-start align-items-center gap-2\">\n <span>\n {{ userClient?.client?.name }}\n </span>\n <span *ngIf=\"userClient?.client_id === user.client_id\" class=\"active-company\"></span>\n <span *ngIf=\"!userClient.is_enabled\">(disabled)</span>\n <span *ngIf=\"userClient.client?.status_id == 3\">(Inactive)</span>\n </div>\n </button>\n</mat-menu>\n", styles: [".active-company{width:10px;height:10px;background-color:#00ce00;border-radius:50%}\n"] }]
66
+ args: [{ selector: 'app-techlify-company-switcher', template: "<div\n mat-menu-item\n [matMenuTriggerFor]=\"menu\"\n>\n {{ user.client?.name }}\n</div>\n<mat-menu #menu=\"matMenu\">\n <ng-container *ngFor=\"let userClient of userClients\">\n <button\n *ngIf=\"userClient?.client\"\n mat-menu-item\n (click)=\"switchClient(userClient)\"\n [disabled]=\"!userClient.is_enabled || userClient.client?.status_id == 3\"\n >\n <div class=\"d-flex justify-content-start align-items-center gap-2\">\n <span>\n {{ userClient?.client?.name }}\n </span>\n <span *ngIf=\"userClient?.client_id === user.client_id\" class=\"active-company\"></span>\n <span *ngIf=\"!userClient.is_enabled\">(disabled)</span>\n <span *ngIf=\"userClient.client?.status_id == 3\">(Inactive)</span>\n </div>\n </button>\n </ng-container>\n</mat-menu>\n", styles: [".active-company{width:10px;height:10px;background-color:#00ce00;border-radius:50%}\n"] }]
67
67
  }], ctorParameters: () => [{ type: i1.HttpService }, { type: i1.CredentialsService }, { type: i1.AlertService }, { type: i2.CurrentUserService }] });
68
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVjaGxpZnktY29tcGFueS1zd2l0Y2hlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtdGVjaGxpZnktY29yZS9zcmMvbGliL3RlY2hsaWZ5LWNvbXBhbnktc3dpdGNoZXIvdGVjaGxpZnktY29tcGFueS1zd2l0Y2hlci90ZWNobGlmeS1jb21wYW55LXN3aXRjaGVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC10ZWNobGlmeS1jb3JlL3NyYy9saWIvdGVjaGxpZnktY29tcGFueS1zd2l0Y2hlci90ZWNobGlmeS1jb21wYW55LXN3aXRjaGVyL3RlY2hsaWZ5LWNvbXBhbnktc3dpdGNoZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFNBQVMsRUFBUyxNQUFNLGVBQWUsQ0FBQzs7Ozs7O0FBY2hELE1BQU0sT0FBTyxnQ0FBZ0M7SUFJM0MsWUFDUyxJQUFpQixFQUNqQixrQkFBc0MsRUFDdEMsWUFBMEIsRUFDMUIsa0JBQXNDO1FBSHRDLFNBQUksR0FBSixJQUFJLENBQWE7UUFDakIsdUJBQWtCLEdBQWxCLGtCQUFrQixDQUFvQjtRQUN0QyxpQkFBWSxHQUFaLFlBQVksQ0FBYztRQUMxQix1QkFBa0IsR0FBbEIsa0JBQWtCLENBQW9CO1FBTi9DLGdCQUFXLEdBQVUsRUFBRSxDQUFDO1FBUXRCLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixDQUFDLFdBQVcsRUFBRSxJQUFJLENBQUM7SUFDeEQsQ0FBQztJQUVELFFBQVE7UUFDTixJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7SUFDekIsQ0FBQztJQUVEOztPQUVHO0lBQ0gsZUFBZTtRQUNiLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLGtCQUFrQixDQUFDLENBQUMsU0FBUyxDQUFDO1lBQzFDLElBQUksRUFBRSxDQUFDLFFBQWEsRUFBRSxFQUFFO2dCQUN0QixJQUFJLENBQUMsV0FBVyxHQUFHLFFBQVEsRUFBRSxJQUFJLENBQUM7WUFDcEMsQ0FBQztTQUNGLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRDs7OztPQUlHO0lBQ0gsWUFBWSxDQUFDLFVBQWU7UUFDMUIscUNBQXFDO1FBQ3JDLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLEtBQUssVUFBVSxDQUFDLFNBQVMsRUFBRSxDQUFDO1lBQUMsT0FBTztRQUFDLENBQUM7UUFDN0QsMkRBQTJEO1FBQzNELElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLHNCQUFzQixVQUFVLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQyxTQUFTLENBQUM7WUFDOUQsSUFBSSxFQUFFLENBQUMsUUFBYSxFQUFFLEVBQUU7Z0JBQ3RCLE1BQU0sSUFBSSxHQUFHLEVBQWlCLENBQUM7Z0JBQy9CLElBQUksQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDLHVCQUF1QixVQUFVLEVBQUUsTUFBTSxFQUFFLElBQUksR0FBRyxFQUFFLFNBQVMsQ0FBQyxDQUFDO2dCQUMxRixNQUFNLFNBQVMsR0FBUSxRQUFRLENBQUM7Z0JBQ2hDLFNBQVMsQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLEdBQUcsRUFBRSxHQUFHLENBQUMsU0FBUyxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsQ0FBQztnQkFDbEUsSUFBSSxDQUFDLEtBQUssR0FBRyxTQUFTLENBQUM7Z0JBQ3ZCLElBQUksQ0FBQyxJQUFJLEdBQUcsRUFBRSxDQUFDO2dCQUNmLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxjQUFjLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDO2dCQUNuRCxzQ0FBc0M7Z0JBQ3RDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsQ0FBQztnQkFDL0MsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLFFBQWEsRUFBRSxFQUFFO29CQUNuRSxJQUFJLENBQUMsSUFBSSxHQUFHLFFBQVEsRUFBRSxJQUFJLENBQUM7b0JBQzNCLG1DQUFtQztvQkFDbkMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLGNBQWMsQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUM7b0JBQ25ELElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQztvQkFDdEIsTUFBTSxDQUFDLFFBQVEsQ0FBQyxNQUFNLEVBQUUsQ0FBQztnQkFDM0IsQ0FBQyxDQUFDLENBQUM7WUFDTCxDQUFDO1NBQ0YsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzsrR0F6RFUsZ0NBQWdDO21HQUFoQyxnQ0FBZ0MscUVDZDdDLDB1QkF1QkE7OzRGRFRhLGdDQUFnQztrQkFMNUMsU0FBUzsrQkFDRSwrQkFBK0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbXBvbmVudCwgT25Jbml0fSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gIEFsZXJ0U2VydmljZSxcbiAgQ3JlZGVudGlhbHMsXG4gIENyZWRlbnRpYWxzU2VydmljZSxcbiAgSHR0cFNlcnZpY2UsXG59IGZyb20gJy4uLy4uL2NvcmUnO1xuaW1wb3J0IHtDdXJyZW50VXNlclNlcnZpY2UsIFVzZXJ9IGZyb20gJy4uLy4uL3VzZXInO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhcHAtdGVjaGxpZnktY29tcGFueS1zd2l0Y2hlcicsXG4gIHRlbXBsYXRlVXJsOiAnLi90ZWNobGlmeS1jb21wYW55LXN3aXRjaGVyLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vdGVjaGxpZnktY29tcGFueS1zd2l0Y2hlci5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIFRlY2hsaWZ5Q29tcGFueVN3aXRjaGVyQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcblxuICB1c2VyQ2xpZW50czogYW55W10gPSBbXTtcbiAgdXNlcjogVXNlcjtcbiAgY29uc3RydWN0b3IoXG4gICBwcml2YXRlIGh0dHA6IEh0dHBTZXJ2aWNlLFxuICAgcHJpdmF0ZSBjcmVkZW50aWFsc1NlcnZpY2U6IENyZWRlbnRpYWxzU2VydmljZSxcbiAgIHByaXZhdGUgYWxlcnRTZXJ2aWNlOiBBbGVydFNlcnZpY2UsXG4gICBwcml2YXRlIGN1cnJlbnRVc2VyU2VydmljZTogQ3VycmVudFVzZXJTZXJ2aWNlLFxuICApIHtcbiAgICB0aGlzLnVzZXIgPSB0aGlzLmNyZWRlbnRpYWxzU2VydmljZS5jcmVkZW50aWFscz8udXNlcjtcbiAgfVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMubG9hZFVzZXJDbGllbnRzKCk7XG4gIH1cblxuICAvKipcbiAgICogTG9hZCBVc2VyIENsaWVudHMuXG4gICAqL1xuICBsb2FkVXNlckNsaWVudHMoKSB7XG4gICAgdGhpcy5odHRwLmdldCgnYXBpL3VzZXItY2xpZW50cycpLnN1YnNjcmliZSh7XG4gICAgICBuZXh0OiAocmVzcG9uc2U6IGFueSkgPT4ge1xuICAgICAgICB0aGlzLnVzZXJDbGllbnRzID0gcmVzcG9uc2U/LmRhdGE7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogU3dpdGNoIHRoZSBjb21wYW55LlxuICAgKlxuICAgKiBAcGFyYW0gdXNlckNsaWVudFxuICAgKi9cbiAgc3dpdGNoQ2xpZW50KHVzZXJDbGllbnQ6IGFueSkge1xuICAgIC8vIERvIG5vdGhpbmcgaXMgc2FtZSBjbGllbnQgc2VsZWN0ZWRcbiAgICBpZiAodGhpcy51c2VyLmNsaWVudF9pZCA9PT0gdXNlckNsaWVudC5jbGllbnRfaWQpIHsgcmV0dXJuOyB9XG4gICAgLy8gU2VuZCByZXF1ZXN0IHRvIGNoYW5nZSB0aGUgY2xpZW50IGlmIGNsaWVudCBpcyBkaWZmZXJlbnRcbiAgICB0aGlzLmh0dHAuZ2V0KGBhcGkvc3dpdGNoLWNvbXBhbnkvJHt1c2VyQ2xpZW50Py5pZH1gKS5zdWJzY3JpYmUoe1xuICAgICAgbmV4dDogKHJlc3BvbnNlOiBhbnkpID0+IHtcbiAgICAgICAgY29uc3QgZGF0YSA9IHt9IGFzIENyZWRlbnRpYWxzO1xuICAgICAgICB0aGlzLmFsZXJ0U2VydmljZS5hZGRBbGVydChgQ29tcGFueSBzd2l0Y2hlZCB0byAke3VzZXJDbGllbnQ/LmNsaWVudD8ubmFtZX0uYCwgJ3N1Y2Nlc3MnKTtcbiAgICAgICAgY29uc3QgdG9rZW5JbmZvOiBhbnkgPSByZXNwb25zZTtcbiAgICAgICAgdG9rZW5JbmZvLmV4cGlyZXNfaW4gPSBEYXRlLm5vdygpICsgKHRva2VuSW5mby5leHBpcmVzX2luICogMTAwMCk7XG4gICAgICAgIGRhdGEudG9rZW4gPSB0b2tlbkluZm87XG4gICAgICAgIGRhdGEudXNlciA9IHt9O1xuICAgICAgICB0aGlzLmNyZWRlbnRpYWxzU2VydmljZS5zZXRDcmVkZW50aWFscyhkYXRhLCB0cnVlKTtcbiAgICAgICAgLy8gVXBkYXRlIHRoZSBhdXRoIHN0YXR1cyBvZiB0aGUgdXNlci5cbiAgICAgICAgdGhpcy5jdXJyZW50VXNlclNlcnZpY2UudXBkYXRlQXV0aFN0YXR1cyh0cnVlKTtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQoJ2FwaS91c2VyL2N1cnJlbnQnKS5zdWJzY3JpYmUoKHJlc3BvbnNlOiBhbnkpID0+IHtcbiAgICAgICAgICBkYXRhLnVzZXIgPSByZXNwb25zZT8udXNlcjtcbiAgICAgICAgICAvLyBzZXQgdGhlIHVzZXIgYW5kIHJlbG9hZCB0aGUgcGFnZVxuICAgICAgICAgIHRoaXMuY3JlZGVudGlhbHNTZXJ2aWNlLnNldENyZWRlbnRpYWxzKGRhdGEsIHRydWUpO1xuICAgICAgICAgIHRoaXMudXNlciA9IGRhdGEudXNlcjtcbiAgICAgICAgICB3aW5kb3cubG9jYXRpb24ucmVsb2FkKCk7XG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG59XG4iLCI8ZGl2XG4gIG1hdC1tZW51LWl0ZW1cbiAgW21hdE1lbnVUcmlnZ2VyRm9yXT1cIm1lbnVcIlxuPlxuICB7eyB1c2VyLmNsaWVudD8ubmFtZSB9fVxuPC9kaXY+XG48bWF0LW1lbnUgI21lbnU9XCJtYXRNZW51XCI+XG4gIDxidXR0b25cbiAgICBtYXQtbWVudS1pdGVtXG4gICAgKm5nRm9yPVwibGV0IHVzZXJDbGllbnQgb2YgdXNlckNsaWVudHNcIlxuICAgIChjbGljayk9XCJzd2l0Y2hDbGllbnQodXNlckNsaWVudClcIlxuICAgIFtkaXNhYmxlZF09XCIhdXNlckNsaWVudC5pc19lbmFibGVkIHx8IHVzZXJDbGllbnQuY2xpZW50Py5zdGF0dXNfaWQgPT0gM1wiXG4gID5cbiAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGp1c3RpZnktY29udGVudC1zdGFydCBhbGlnbi1pdGVtcy1jZW50ZXIgZ2FwLTJcIj5cbiAgICAgIDxzcGFuPlxuICAgICAgICB7eyB1c2VyQ2xpZW50Py5jbGllbnQ/Lm5hbWUgfX1cbiAgICAgIDwvc3Bhbj5cbiAgICAgIDxzcGFuICpuZ0lmPVwidXNlckNsaWVudD8uY2xpZW50X2lkID09PSB1c2VyLmNsaWVudF9pZFwiIGNsYXNzPVwiYWN0aXZlLWNvbXBhbnlcIj48L3NwYW4+XG4gICAgICA8c3BhbiAqbmdJZj1cIiF1c2VyQ2xpZW50LmlzX2VuYWJsZWRcIj4oZGlzYWJsZWQpPC9zcGFuPlxuICAgICAgPHNwYW4gKm5nSWY9XCJ1c2VyQ2xpZW50LmNsaWVudD8uc3RhdHVzX2lkID09IDNcIj4oSW5hY3RpdmUpPC9zcGFuPlxuICAgIDwvZGl2PlxuICA8L2J1dHRvbj5cbjwvbWF0LW1lbnU+XG4iXX0=
68
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVjaGxpZnktY29tcGFueS1zd2l0Y2hlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtdGVjaGxpZnktY29yZS9zcmMvbGliL3RlY2hsaWZ5LWNvbXBhbnktc3dpdGNoZXIvdGVjaGxpZnktY29tcGFueS1zd2l0Y2hlci90ZWNobGlmeS1jb21wYW55LXN3aXRjaGVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC10ZWNobGlmeS1jb3JlL3NyYy9saWIvdGVjaGxpZnktY29tcGFueS1zd2l0Y2hlci90ZWNobGlmeS1jb21wYW55LXN3aXRjaGVyL3RlY2hsaWZ5LWNvbXBhbnktc3dpdGNoZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFNBQVMsRUFBUyxNQUFNLGVBQWUsQ0FBQzs7Ozs7O0FBY2hELE1BQU0sT0FBTyxnQ0FBZ0M7SUFJM0MsWUFDUyxJQUFpQixFQUNqQixrQkFBc0MsRUFDdEMsWUFBMEIsRUFDMUIsa0JBQXNDO1FBSHRDLFNBQUksR0FBSixJQUFJLENBQWE7UUFDakIsdUJBQWtCLEdBQWxCLGtCQUFrQixDQUFvQjtRQUN0QyxpQkFBWSxHQUFaLFlBQVksQ0FBYztRQUMxQix1QkFBa0IsR0FBbEIsa0JBQWtCLENBQW9CO1FBTi9DLGdCQUFXLEdBQVUsRUFBRSxDQUFDO1FBUXRCLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixDQUFDLFdBQVcsRUFBRSxJQUFJLENBQUM7SUFDeEQsQ0FBQztJQUVELFFBQVE7UUFDTixJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7SUFDekIsQ0FBQztJQUVEOztPQUVHO0lBQ0gsZUFBZTtRQUNiLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLGtCQUFrQixDQUFDLENBQUMsU0FBUyxDQUFDO1lBQzFDLElBQUksRUFBRSxDQUFDLFFBQWEsRUFBRSxFQUFFO2dCQUN0QixJQUFJLENBQUMsV0FBVyxHQUFHLFFBQVEsRUFBRSxJQUFJLENBQUM7WUFDcEMsQ0FBQztTQUNGLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRDs7OztPQUlHO0lBQ0gsWUFBWSxDQUFDLFVBQWU7UUFDMUIscUNBQXFDO1FBQ3JDLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLEtBQUssVUFBVSxDQUFDLFNBQVMsRUFBRSxDQUFDO1lBQUMsT0FBTztRQUFDLENBQUM7UUFDN0QsMkRBQTJEO1FBQzNELElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLHNCQUFzQixVQUFVLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQyxTQUFTLENBQUM7WUFDOUQsSUFBSSxFQUFFLENBQUMsUUFBYSxFQUFFLEVBQUU7Z0JBQ3RCLE1BQU0sSUFBSSxHQUFHLEVBQWlCLENBQUM7Z0JBQy9CLElBQUksQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDLHVCQUF1QixVQUFVLEVBQUUsTUFBTSxFQUFFLElBQUksR0FBRyxFQUFFLFNBQVMsQ0FBQyxDQUFDO2dCQUMxRixNQUFNLFNBQVMsR0FBUSxRQUFRLENBQUM7Z0JBQ2hDLFNBQVMsQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLEdBQUcsRUFBRSxHQUFHLENBQUMsU0FBUyxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsQ0FBQztnQkFDbEUsSUFBSSxDQUFDLEtBQUssR0FBRyxTQUFTLENBQUM7Z0JBQ3ZCLElBQUksQ0FBQyxJQUFJLEdBQUcsRUFBRSxDQUFDO2dCQUNmLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxjQUFjLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDO2dCQUNuRCxzQ0FBc0M7Z0JBQ3RDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsQ0FBQztnQkFDL0MsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLFFBQWEsRUFBRSxFQUFFO29CQUNuRSxJQUFJLENBQUMsSUFBSSxHQUFHLFFBQVEsRUFBRSxJQUFJLENBQUM7b0JBQzNCLG1DQUFtQztvQkFDbkMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLGNBQWMsQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUM7b0JBQ25ELElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQztvQkFDdEIsTUFBTSxDQUFDLFFBQVEsQ0FBQyxNQUFNLEVBQUUsQ0FBQztnQkFDM0IsQ0FBQyxDQUFDLENBQUM7WUFDTCxDQUFDO1NBQ0YsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzsrR0F6RFUsZ0NBQWdDO21HQUFoQyxnQ0FBZ0MscUVDZDdDLG8wQkF5QkE7OzRGRFhhLGdDQUFnQztrQkFMNUMsU0FBUzsrQkFDRSwrQkFBK0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbXBvbmVudCwgT25Jbml0fSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gIEFsZXJ0U2VydmljZSxcbiAgQ3JlZGVudGlhbHMsXG4gIENyZWRlbnRpYWxzU2VydmljZSxcbiAgSHR0cFNlcnZpY2UsXG59IGZyb20gJy4uLy4uL2NvcmUnO1xuaW1wb3J0IHtDdXJyZW50VXNlclNlcnZpY2UsIFVzZXJ9IGZyb20gJy4uLy4uL3VzZXInO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhcHAtdGVjaGxpZnktY29tcGFueS1zd2l0Y2hlcicsXG4gIHRlbXBsYXRlVXJsOiAnLi90ZWNobGlmeS1jb21wYW55LXN3aXRjaGVyLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vdGVjaGxpZnktY29tcGFueS1zd2l0Y2hlci5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIFRlY2hsaWZ5Q29tcGFueVN3aXRjaGVyQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcblxuICB1c2VyQ2xpZW50czogYW55W10gPSBbXTtcbiAgdXNlcjogVXNlcjtcbiAgY29uc3RydWN0b3IoXG4gICBwcml2YXRlIGh0dHA6IEh0dHBTZXJ2aWNlLFxuICAgcHJpdmF0ZSBjcmVkZW50aWFsc1NlcnZpY2U6IENyZWRlbnRpYWxzU2VydmljZSxcbiAgIHByaXZhdGUgYWxlcnRTZXJ2aWNlOiBBbGVydFNlcnZpY2UsXG4gICBwcml2YXRlIGN1cnJlbnRVc2VyU2VydmljZTogQ3VycmVudFVzZXJTZXJ2aWNlLFxuICApIHtcbiAgICB0aGlzLnVzZXIgPSB0aGlzLmNyZWRlbnRpYWxzU2VydmljZS5jcmVkZW50aWFscz8udXNlcjtcbiAgfVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMubG9hZFVzZXJDbGllbnRzKCk7XG4gIH1cblxuICAvKipcbiAgICogTG9hZCBVc2VyIENsaWVudHMuXG4gICAqL1xuICBsb2FkVXNlckNsaWVudHMoKSB7XG4gICAgdGhpcy5odHRwLmdldCgnYXBpL3VzZXItY2xpZW50cycpLnN1YnNjcmliZSh7XG4gICAgICBuZXh0OiAocmVzcG9uc2U6IGFueSkgPT4ge1xuICAgICAgICB0aGlzLnVzZXJDbGllbnRzID0gcmVzcG9uc2U/LmRhdGE7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogU3dpdGNoIHRoZSBjb21wYW55LlxuICAgKlxuICAgKiBAcGFyYW0gdXNlckNsaWVudFxuICAgKi9cbiAgc3dpdGNoQ2xpZW50KHVzZXJDbGllbnQ6IGFueSkge1xuICAgIC8vIERvIG5vdGhpbmcgaXMgc2FtZSBjbGllbnQgc2VsZWN0ZWRcbiAgICBpZiAodGhpcy51c2VyLmNsaWVudF9pZCA9PT0gdXNlckNsaWVudC5jbGllbnRfaWQpIHsgcmV0dXJuOyB9XG4gICAgLy8gU2VuZCByZXF1ZXN0IHRvIGNoYW5nZSB0aGUgY2xpZW50IGlmIGNsaWVudCBpcyBkaWZmZXJlbnRcbiAgICB0aGlzLmh0dHAuZ2V0KGBhcGkvc3dpdGNoLWNvbXBhbnkvJHt1c2VyQ2xpZW50Py5pZH1gKS5zdWJzY3JpYmUoe1xuICAgICAgbmV4dDogKHJlc3BvbnNlOiBhbnkpID0+IHtcbiAgICAgICAgY29uc3QgZGF0YSA9IHt9IGFzIENyZWRlbnRpYWxzO1xuICAgICAgICB0aGlzLmFsZXJ0U2VydmljZS5hZGRBbGVydChgQ29tcGFueSBzd2l0Y2hlZCB0byAke3VzZXJDbGllbnQ/LmNsaWVudD8ubmFtZX0uYCwgJ3N1Y2Nlc3MnKTtcbiAgICAgICAgY29uc3QgdG9rZW5JbmZvOiBhbnkgPSByZXNwb25zZTtcbiAgICAgICAgdG9rZW5JbmZvLmV4cGlyZXNfaW4gPSBEYXRlLm5vdygpICsgKHRva2VuSW5mby5leHBpcmVzX2luICogMTAwMCk7XG4gICAgICAgIGRhdGEudG9rZW4gPSB0b2tlbkluZm87XG4gICAgICAgIGRhdGEudXNlciA9IHt9O1xuICAgICAgICB0aGlzLmNyZWRlbnRpYWxzU2VydmljZS5zZXRDcmVkZW50aWFscyhkYXRhLCB0cnVlKTtcbiAgICAgICAgLy8gVXBkYXRlIHRoZSBhdXRoIHN0YXR1cyBvZiB0aGUgdXNlci5cbiAgICAgICAgdGhpcy5jdXJyZW50VXNlclNlcnZpY2UudXBkYXRlQXV0aFN0YXR1cyh0cnVlKTtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQoJ2FwaS91c2VyL2N1cnJlbnQnKS5zdWJzY3JpYmUoKHJlc3BvbnNlOiBhbnkpID0+IHtcbiAgICAgICAgICBkYXRhLnVzZXIgPSByZXNwb25zZT8udXNlcjtcbiAgICAgICAgICAvLyBzZXQgdGhlIHVzZXIgYW5kIHJlbG9hZCB0aGUgcGFnZVxuICAgICAgICAgIHRoaXMuY3JlZGVudGlhbHNTZXJ2aWNlLnNldENyZWRlbnRpYWxzKGRhdGEsIHRydWUpO1xuICAgICAgICAgIHRoaXMudXNlciA9IGRhdGEudXNlcjtcbiAgICAgICAgICB3aW5kb3cubG9jYXRpb24ucmVsb2FkKCk7XG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG59XG4iLCI8ZGl2XG4gIG1hdC1tZW51LWl0ZW1cbiAgW21hdE1lbnVUcmlnZ2VyRm9yXT1cIm1lbnVcIlxuPlxuICB7eyB1c2VyLmNsaWVudD8ubmFtZSB9fVxuPC9kaXY+XG48bWF0LW1lbnUgI21lbnU9XCJtYXRNZW51XCI+XG4gIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IHVzZXJDbGllbnQgb2YgdXNlckNsaWVudHNcIj5cbiAgICA8YnV0dG9uXG4gICAgICAqbmdJZj1cInVzZXJDbGllbnQ/LmNsaWVudFwiXG4gICAgICBtYXQtbWVudS1pdGVtXG4gICAgICAoY2xpY2spPVwic3dpdGNoQ2xpZW50KHVzZXJDbGllbnQpXCJcbiAgICAgIFtkaXNhYmxlZF09XCIhdXNlckNsaWVudC5pc19lbmFibGVkIHx8IHVzZXJDbGllbnQuY2xpZW50Py5zdGF0dXNfaWQgPT0gM1wiXG4gICAgPlxuICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtc3RhcnQgYWxpZ24taXRlbXMtY2VudGVyIGdhcC0yXCI+XG4gICAgICA8c3Bhbj5cbiAgICAgICAge3sgdXNlckNsaWVudD8uY2xpZW50Py5uYW1lIH19XG4gICAgICA8L3NwYW4+XG4gICAgICAgIDxzcGFuICpuZ0lmPVwidXNlckNsaWVudD8uY2xpZW50X2lkID09PSB1c2VyLmNsaWVudF9pZFwiIGNsYXNzPVwiYWN0aXZlLWNvbXBhbnlcIj48L3NwYW4+XG4gICAgICAgIDxzcGFuICpuZ0lmPVwiIXVzZXJDbGllbnQuaXNfZW5hYmxlZFwiPihkaXNhYmxlZCk8L3NwYW4+XG4gICAgICAgIDxzcGFuICpuZ0lmPVwidXNlckNsaWVudC5jbGllbnQ/LnN0YXR1c19pZCA9PSAzXCI+KEluYWN0aXZlKTwvc3Bhbj5cbiAgICAgIDwvZGl2PlxuICAgIDwvYnV0dG9uPlxuICA8L25nLWNvbnRhaW5lcj5cbjwvbWF0LW1lbnU+XG4iXX0=
@@ -12265,11 +12265,11 @@ class TechlifyCompanySwitcherComponent {
12265
12265
  });
12266
12266
  }
12267
12267
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TechlifyCompanySwitcherComponent, deps: [{ token: HttpService }, { token: CredentialsService }, { token: AlertService }, { token: CurrentUserService }], target: i0.ɵɵFactoryTarget.Component }); }
12268
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: TechlifyCompanySwitcherComponent, selector: "app-techlify-company-switcher", ngImport: i0, template: "<div\n mat-menu-item\n [matMenuTriggerFor]=\"menu\"\n>\n {{ user.client?.name }}\n</div>\n<mat-menu #menu=\"matMenu\">\n <button\n mat-menu-item\n *ngFor=\"let userClient of userClients\"\n (click)=\"switchClient(userClient)\"\n [disabled]=\"!userClient.is_enabled || userClient.client?.status_id == 3\"\n >\n <div class=\"d-flex justify-content-start align-items-center gap-2\">\n <span>\n {{ userClient?.client?.name }}\n </span>\n <span *ngIf=\"userClient?.client_id === user.client_id\" class=\"active-company\"></span>\n <span *ngIf=\"!userClient.is_enabled\">(disabled)</span>\n <span *ngIf=\"userClient.client?.status_id == 3\">(Inactive)</span>\n </div>\n </button>\n</mat-menu>\n", styles: [".active-company{width:10px;height:10px;background-color:#00ce00;border-radius:50%}\n"], dependencies: [{ kind: "directive", type: i2$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i8$2.MatMenu, selector: "mat-menu", inputs: ["backdropClass", "aria-label", "aria-labelledby", "aria-describedby", "xPosition", "yPosition", "overlapTrigger", "hasBackdrop", "class", "classList"], outputs: ["closed", "close"], exportAs: ["matMenu"] }, { kind: "component", type: i8$2.MatMenuItem, selector: "[mat-menu-item]", inputs: ["role", "disabled", "disableRipple"], exportAs: ["matMenuItem"] }, { kind: "directive", type: i8$2.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", inputs: ["mat-menu-trigger-for", "matMenuTriggerFor", "matMenuTriggerData", "matMenuTriggerRestoreFocus"], outputs: ["menuOpened", "onMenuOpen", "menuClosed", "onMenuClose"], exportAs: ["matMenuTrigger"] }] }); }
12268
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: TechlifyCompanySwitcherComponent, selector: "app-techlify-company-switcher", ngImport: i0, template: "<div\n mat-menu-item\n [matMenuTriggerFor]=\"menu\"\n>\n {{ user.client?.name }}\n</div>\n<mat-menu #menu=\"matMenu\">\n <ng-container *ngFor=\"let userClient of userClients\">\n <button\n *ngIf=\"userClient?.client\"\n mat-menu-item\n (click)=\"switchClient(userClient)\"\n [disabled]=\"!userClient.is_enabled || userClient.client?.status_id == 3\"\n >\n <div class=\"d-flex justify-content-start align-items-center gap-2\">\n <span>\n {{ userClient?.client?.name }}\n </span>\n <span *ngIf=\"userClient?.client_id === user.client_id\" class=\"active-company\"></span>\n <span *ngIf=\"!userClient.is_enabled\">(disabled)</span>\n <span *ngIf=\"userClient.client?.status_id == 3\">(Inactive)</span>\n </div>\n </button>\n </ng-container>\n</mat-menu>\n", styles: [".active-company{width:10px;height:10px;background-color:#00ce00;border-radius:50%}\n"], dependencies: [{ kind: "directive", type: i2$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i8$2.MatMenu, selector: "mat-menu", inputs: ["backdropClass", "aria-label", "aria-labelledby", "aria-describedby", "xPosition", "yPosition", "overlapTrigger", "hasBackdrop", "class", "classList"], outputs: ["closed", "close"], exportAs: ["matMenu"] }, { kind: "component", type: i8$2.MatMenuItem, selector: "[mat-menu-item]", inputs: ["role", "disabled", "disableRipple"], exportAs: ["matMenuItem"] }, { kind: "directive", type: i8$2.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", inputs: ["mat-menu-trigger-for", "matMenuTriggerFor", "matMenuTriggerData", "matMenuTriggerRestoreFocus"], outputs: ["menuOpened", "onMenuOpen", "menuClosed", "onMenuClose"], exportAs: ["matMenuTrigger"] }] }); }
12269
12269
  }
12270
12270
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TechlifyCompanySwitcherComponent, decorators: [{
12271
12271
  type: Component,
12272
- args: [{ selector: 'app-techlify-company-switcher', template: "<div\n mat-menu-item\n [matMenuTriggerFor]=\"menu\"\n>\n {{ user.client?.name }}\n</div>\n<mat-menu #menu=\"matMenu\">\n <button\n mat-menu-item\n *ngFor=\"let userClient of userClients\"\n (click)=\"switchClient(userClient)\"\n [disabled]=\"!userClient.is_enabled || userClient.client?.status_id == 3\"\n >\n <div class=\"d-flex justify-content-start align-items-center gap-2\">\n <span>\n {{ userClient?.client?.name }}\n </span>\n <span *ngIf=\"userClient?.client_id === user.client_id\" class=\"active-company\"></span>\n <span *ngIf=\"!userClient.is_enabled\">(disabled)</span>\n <span *ngIf=\"userClient.client?.status_id == 3\">(Inactive)</span>\n </div>\n </button>\n</mat-menu>\n", styles: [".active-company{width:10px;height:10px;background-color:#00ce00;border-radius:50%}\n"] }]
12272
+ args: [{ selector: 'app-techlify-company-switcher', template: "<div\n mat-menu-item\n [matMenuTriggerFor]=\"menu\"\n>\n {{ user.client?.name }}\n</div>\n<mat-menu #menu=\"matMenu\">\n <ng-container *ngFor=\"let userClient of userClients\">\n <button\n *ngIf=\"userClient?.client\"\n mat-menu-item\n (click)=\"switchClient(userClient)\"\n [disabled]=\"!userClient.is_enabled || userClient.client?.status_id == 3\"\n >\n <div class=\"d-flex justify-content-start align-items-center gap-2\">\n <span>\n {{ userClient?.client?.name }}\n </span>\n <span *ngIf=\"userClient?.client_id === user.client_id\" class=\"active-company\"></span>\n <span *ngIf=\"!userClient.is_enabled\">(disabled)</span>\n <span *ngIf=\"userClient.client?.status_id == 3\">(Inactive)</span>\n </div>\n </button>\n </ng-container>\n</mat-menu>\n", styles: [".active-company{width:10px;height:10px;background-color:#00ce00;border-radius:50%}\n"] }]
12273
12273
  }], ctorParameters: () => [{ type: HttpService }, { type: CredentialsService }, { type: AlertService }, { type: CurrentUserService }] });
12274
12274
 
12275
12275
  class TechlifyCompanySwitcherModule {
@@ -12969,7 +12969,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
12969
12969
  }], ctorParameters: () => [{ type: FormValidatorService }, { type: i1$4.FormBuilder }, { type: CurrentUserService }, { type: ClientService }, { type: AlertService }, { type: i2$1.Location }] });
12970
12970
 
12971
12971
  class CompanyInfoDisplayComponent {
12972
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CompanyInfoDisplayComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
12972
+ constructor(currentUserService) {
12973
+ this.currentUserService = currentUserService;
12974
+ this.currentUserService.getUserObservable(true).subscribe((user) => {
12975
+ this.client = user?.client;
12976
+ });
12977
+ }
12978
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CompanyInfoDisplayComponent, deps: [{ token: CurrentUserService }], target: i0.ɵɵFactoryTarget.Component }); }
12973
12979
  static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: CompanyInfoDisplayComponent, isStandalone: true, selector: "app-company-info-display", inputs: { client: "client" }, ngImport: i0, template: "<div *ngIf=\"client\" class=\"d-flex justify-content-start align-items-start gap-2\">\n <img *ngIf=\"client?.logo\" [src]=\"client?.logo\" class=\"img img-thumbnail\" style=\"max-height: 75px\" alt=\"\">\n <div>\n <h3 class=\"text-dark mb-1\">{{ client?.name }}</h3>\n <p class=\"mb-1 text-secondary\" *ngIf=\"client?.address\">\n {{ client?.address }}\n </p>\n <p class=\"mb-1 text-secondary\" *ngIf=\"client?.phone\">\n {{ client?.phone }}\n </p>\n <p class=\"mb-1 text-secondary\" *ngIf=\"client?.email\">\n {{ client?.email }}\n </p>\n </div>\n</div>\n", styles: [""], dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] }); }
12974
12980
  }
12975
12981
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CompanyInfoDisplayComponent, decorators: [{
@@ -12977,7 +12983,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
12977
12983
  args: [{ selector: 'app-company-info-display', standalone: true, imports: [
12978
12984
  NgIf
12979
12985
  ], template: "<div *ngIf=\"client\" class=\"d-flex justify-content-start align-items-start gap-2\">\n <img *ngIf=\"client?.logo\" [src]=\"client?.logo\" class=\"img img-thumbnail\" style=\"max-height: 75px\" alt=\"\">\n <div>\n <h3 class=\"text-dark mb-1\">{{ client?.name }}</h3>\n <p class=\"mb-1 text-secondary\" *ngIf=\"client?.address\">\n {{ client?.address }}\n </p>\n <p class=\"mb-1 text-secondary\" *ngIf=\"client?.phone\">\n {{ client?.phone }}\n </p>\n <p class=\"mb-1 text-secondary\" *ngIf=\"client?.email\">\n {{ client?.email }}\n </p>\n </div>\n</div>\n" }]
12980
- }], propDecorators: { client: [{
12986
+ }], ctorParameters: () => [{ type: CurrentUserService }], propDecorators: { client: [{
12981
12987
  type: Input
12982
12988
  }] } });
12983
12989