@ifsworld/granite-components 13.2.9 → 13.3.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,11 +1,26 @@
1
- import { ChangeDetectionStrategy, Component, Input, ContentChildren, QueryList, } from '@angular/core';
1
+ import { ChangeDetectionStrategy, Component, Input, ContentChildren, QueryList, ChangeDetectorRef, } from '@angular/core';
2
2
  import { ContactsTriggerDataComponent } from '../contacts/contacts-trigger/contacts-trigger-data';
3
3
  import { GraniteCustomAvatarStatusDirective } from './custom-avatar-status.directive';
4
+ import { NamesUtilsService } from '../core/services/names-utils-service';
4
5
  import * as i0 from "@angular/core";
5
6
  import * as i1 from "@angular/common";
6
7
  import * as i2 from "./avatar-default-status/avatar-default-status.component";
7
8
  import * as i3 from "./empty-avatar/empty-avatar.component";
8
9
  export class GraniteAvatarComponent extends ContactsTriggerDataComponent {
10
+ constructor(cd) {
11
+ super();
12
+ this.cd = cd;
13
+ }
14
+ ngOnChanges(changes) {
15
+ if (changes.firstName || changes.lastName || changes.name) {
16
+ this._nameInitials = NamesUtilsService.buildNameData({
17
+ firstName: changes.firstName?.currentValue,
18
+ lastName: changes.lastName?.currentValue,
19
+ name: changes.name?.currentValue,
20
+ }).initials;
21
+ this.cd.markForCheck();
22
+ }
23
+ }
9
24
  ngAfterContentChecked() {
10
25
  this._customStatusDirectives = this._customStatusesQueryList
11
26
  .toArray()
@@ -16,17 +31,19 @@ export class GraniteAvatarComponent extends ContactsTriggerDataComponent {
16
31
  };
17
32
  }, {});
18
33
  }
19
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: GraniteAvatarComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
20
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.4", type: GraniteAvatarComponent, selector: "granite-avatar", inputs: { name: "name", surname: "surname", avatar: "avatar", status: "status" }, host: { classAttribute: "granite-avatar" }, queries: [{ propertyName: "_customStatusesQueryList", predicate: GraniteCustomAvatarStatusDirective }], exportAs: ["graniteAvatar"], usesInheritance: true, ngImport: i0, template: "<img\n data-fnd=\"profile-avatar\"\n *ngIf=\"avatar; else noProfileAvatar\"\n [src]=\"avatar\"\n alt=\"avatar\"\n class=\"profile-avatar profile-size\"\n/>\n\n<ng-template #noProfileAvatar>\n <granite-empty-avatar\n class=\"profile-size\"\n [name]=\"name\"\n [surname]=\"surname\"\n ></granite-empty-avatar>\n</ng-template>\n\n@if (status && _customStatusDirectives[status]) {\n <ng-container *ngTemplateOutlet=\"customStatus\"></ng-container>\n} @else if (status) {\n <ng-container *ngTemplateOutlet=\"defaultStatus\"></ng-container>\n}\n\n<ng-template #defaultStatus>\n <granite-avatar-default-status\n class=\"profile-default-status\"\n [attr.data-fnd]=\"status + '-status'\"\n [status]=\"status\"\n ></granite-avatar-default-status>\n</ng-template>\n\n<ng-template #customStatus>\n <div\n [attr.data-fnd]=\"'profile-status-custom'\"\n [class]=\"'profile-status-' + status\"\n class=\"profile-custom-status\"\n >\n <ng-container\n *ngTemplateOutlet=\"_customStatusDirectives[status]\"\n ></ng-container>\n </div>\n</ng-template>\n", styles: [":host .profile-default-status,:host .profile-custom-status{position:absolute;inset-inline-end:0;bottom:0}:host{display:block;position:relative;width:1.5rem;height:1.5rem;color:var(--granite-color-signal-info);font-size:var(--granite-font-size-body-small);font-weight:var(--granite-font-weight-regular);object-fit:contain}:host .profile{display:flex;align-items:center;margin-bottom:var(--granite-spacing-8);gap:var(--granite-spacing-4)}:host .profile-avatar{width:inherit;height:inherit;border-radius:50%}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i2.GraniteAvatarDefaultStatusComponent, selector: "granite-avatar-default-status", inputs: ["status"] }, { kind: "component", type: i3.GraniteEmptyAvatarComponent, selector: "granite-empty-avatar", inputs: ["name", "surname"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
34
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: GraniteAvatarComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
35
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.4", type: GraniteAvatarComponent, selector: "granite-avatar", inputs: { name: "name", firstName: "firstName", lastName: "lastName", avatar: "avatar", status: "status" }, host: { classAttribute: "granite-avatar" }, queries: [{ propertyName: "_customStatusesQueryList", predicate: GraniteCustomAvatarStatusDirective }], exportAs: ["graniteAvatar"], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<img\n data-fnd=\"profile-avatar\"\n *ngIf=\"avatar; else noProfileAvatar\"\n [src]=\"avatar\"\n alt=\"avatar\"\n class=\"profile-avatar profile-size\"\n/>\n\n<ng-template #noProfileAvatar>\n <granite-empty-avatar\n class=\"profile-size\"\n [initials]=\"_nameInitials\"\n ></granite-empty-avatar>\n</ng-template>\n\n@if (status && _customStatusDirectives[status]) {\n <ng-container *ngTemplateOutlet=\"customStatus\"></ng-container>\n} @else if (status) {\n <ng-container *ngTemplateOutlet=\"defaultStatus\"></ng-container>\n}\n\n<ng-template #defaultStatus>\n <granite-avatar-default-status\n class=\"profile-default-status\"\n [attr.data-fnd]=\"status + '-status'\"\n [status]=\"status\"\n ></granite-avatar-default-status>\n</ng-template>\n\n<ng-template #customStatus>\n <div\n [attr.data-fnd]=\"'profile-status-custom'\"\n [class]=\"'profile-status-' + status\"\n class=\"profile-custom-status\"\n >\n <ng-container\n *ngTemplateOutlet=\"_customStatusDirectives[status]\"\n ></ng-container>\n </div>\n</ng-template>\n", styles: [":host .profile-default-status,:host .profile-custom-status{position:absolute;inset-inline-end:0;bottom:0}:host{display:block;position:relative;width:1.5rem;height:1.5rem;color:var(--granite-color-signal-info);font-size:var(--granite-font-size-body-small);font-weight:var(--granite-font-weight-regular);object-fit:contain}:host .profile{display:flex;align-items:center;margin-bottom:var(--granite-spacing-8);gap:var(--granite-spacing-4)}:host .profile-avatar{width:inherit;height:inherit;border-radius:50%}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i2.GraniteAvatarDefaultStatusComponent, selector: "granite-avatar-default-status", inputs: ["status"] }, { kind: "component", type: i3.GraniteEmptyAvatarComponent, selector: "granite-empty-avatar", inputs: ["initials"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
21
36
  }
22
37
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: GraniteAvatarComponent, decorators: [{
23
38
  type: Component,
24
39
  args: [{ selector: 'granite-avatar', exportAs: 'graniteAvatar', host: {
25
40
  class: 'granite-avatar',
26
- }, changeDetection: ChangeDetectionStrategy.OnPush, template: "<img\n data-fnd=\"profile-avatar\"\n *ngIf=\"avatar; else noProfileAvatar\"\n [src]=\"avatar\"\n alt=\"avatar\"\n class=\"profile-avatar profile-size\"\n/>\n\n<ng-template #noProfileAvatar>\n <granite-empty-avatar\n class=\"profile-size\"\n [name]=\"name\"\n [surname]=\"surname\"\n ></granite-empty-avatar>\n</ng-template>\n\n@if (status && _customStatusDirectives[status]) {\n <ng-container *ngTemplateOutlet=\"customStatus\"></ng-container>\n} @else if (status) {\n <ng-container *ngTemplateOutlet=\"defaultStatus\"></ng-container>\n}\n\n<ng-template #defaultStatus>\n <granite-avatar-default-status\n class=\"profile-default-status\"\n [attr.data-fnd]=\"status + '-status'\"\n [status]=\"status\"\n ></granite-avatar-default-status>\n</ng-template>\n\n<ng-template #customStatus>\n <div\n [attr.data-fnd]=\"'profile-status-custom'\"\n [class]=\"'profile-status-' + status\"\n class=\"profile-custom-status\"\n >\n <ng-container\n *ngTemplateOutlet=\"_customStatusDirectives[status]\"\n ></ng-container>\n </div>\n</ng-template>\n", styles: [":host .profile-default-status,:host .profile-custom-status{position:absolute;inset-inline-end:0;bottom:0}:host{display:block;position:relative;width:1.5rem;height:1.5rem;color:var(--granite-color-signal-info);font-size:var(--granite-font-size-body-small);font-weight:var(--granite-font-weight-regular);object-fit:contain}:host .profile{display:flex;align-items:center;margin-bottom:var(--granite-spacing-8);gap:var(--granite-spacing-4)}:host .profile-avatar{width:inherit;height:inherit;border-radius:50%}\n"] }]
27
- }], propDecorators: { name: [{
41
+ }, changeDetection: ChangeDetectionStrategy.OnPush, template: "<img\n data-fnd=\"profile-avatar\"\n *ngIf=\"avatar; else noProfileAvatar\"\n [src]=\"avatar\"\n alt=\"avatar\"\n class=\"profile-avatar profile-size\"\n/>\n\n<ng-template #noProfileAvatar>\n <granite-empty-avatar\n class=\"profile-size\"\n [initials]=\"_nameInitials\"\n ></granite-empty-avatar>\n</ng-template>\n\n@if (status && _customStatusDirectives[status]) {\n <ng-container *ngTemplateOutlet=\"customStatus\"></ng-container>\n} @else if (status) {\n <ng-container *ngTemplateOutlet=\"defaultStatus\"></ng-container>\n}\n\n<ng-template #defaultStatus>\n <granite-avatar-default-status\n class=\"profile-default-status\"\n [attr.data-fnd]=\"status + '-status'\"\n [status]=\"status\"\n ></granite-avatar-default-status>\n</ng-template>\n\n<ng-template #customStatus>\n <div\n [attr.data-fnd]=\"'profile-status-custom'\"\n [class]=\"'profile-status-' + status\"\n class=\"profile-custom-status\"\n >\n <ng-container\n *ngTemplateOutlet=\"_customStatusDirectives[status]\"\n ></ng-container>\n </div>\n</ng-template>\n", styles: [":host .profile-default-status,:host .profile-custom-status{position:absolute;inset-inline-end:0;bottom:0}:host{display:block;position:relative;width:1.5rem;height:1.5rem;color:var(--granite-color-signal-info);font-size:var(--granite-font-size-body-small);font-weight:var(--granite-font-weight-regular);object-fit:contain}:host .profile{display:flex;align-items:center;margin-bottom:var(--granite-spacing-8);gap:var(--granite-spacing-4)}:host .profile-avatar{width:inherit;height:inherit;border-radius:50%}\n"] }]
42
+ }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }], propDecorators: { name: [{
43
+ type: Input
44
+ }], firstName: [{
28
45
  type: Input
29
- }], surname: [{
46
+ }], lastName: [{
30
47
  type: Input
31
48
  }], avatar: [{
32
49
  type: Input
@@ -36,4 +53,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.4", ngImpor
36
53
  type: ContentChildren,
37
54
  args: [GraniteCustomAvatarStatusDirective]
38
55
  }] } });
39
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXZhdGFyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvZ3Jhbml0ZS1jb21wb25lbnRzL3NyYy9saWIvYXZhdGFyL2F2YXRhci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2dyYW5pdGUtY29tcG9uZW50cy9zcmMvbGliL2F2YXRhci9hdmF0YXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsS0FBSyxFQUNMLGVBQWUsRUFDZixTQUFTLEdBR1YsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1BQU0sb0RBQW9ELENBQUM7QUFDbEcsT0FBTyxFQUFFLGtDQUFrQyxFQUFFLE1BQU0sa0NBQWtDLENBQUM7Ozs7O0FBWXRGLE1BQU0sT0FBTyxzQkFDWCxTQUFRLDRCQUE0QjtJQVlwQyxxQkFBcUI7UUFDbkIsSUFBSSxDQUFDLHVCQUF1QixHQUFHLElBQUksQ0FBQyx3QkFBd0I7YUFDekQsT0FBTyxFQUFFO2FBQ1QsTUFBTSxDQUFDLENBQUMsVUFBVSxFQUFFLElBQUksRUFBRSxFQUFFO1lBQzNCLE9BQU87Z0JBQ0wsR0FBRyxVQUFVO2dCQUNiLENBQUMsSUFBSSxDQUFDLHlCQUF5QixDQUFDLEVBQUUsSUFBSSxDQUFDLFdBQVc7YUFDbkQsQ0FBQztRQUNKLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQztJQUNYLENBQUM7OEdBdEJVLHNCQUFzQjtrR0FBdEIsc0JBQXNCLDZOQVNoQixrQ0FBa0MsaUZDL0JyRCwrakNBeUNBOzsyRkRuQmEsc0JBQXNCO2tCQVZsQyxTQUFTOytCQUNFLGdCQUFnQixZQUNoQixlQUFlLFFBQ25CO3dCQUNKLEtBQUssRUFBRSxnQkFBZ0I7cUJBQ3hCLG1CQUdnQix1QkFBdUIsQ0FBQyxNQUFNOzhCQU10QyxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLO2dCQUNHLE1BQU07c0JBQWQsS0FBSztnQkFDRyxNQUFNO3NCQUFkLEtBQUs7Z0JBR04sd0JBQXdCO3NCQUR2QixlQUFlO3VCQUFDLGtDQUFrQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDb21wb25lbnQsXG4gIElucHV0LFxuICBDb250ZW50Q2hpbGRyZW4sXG4gIFF1ZXJ5TGlzdCxcbiAgQWZ0ZXJDb250ZW50Q2hlY2tlZCxcbiAgVGVtcGxhdGVSZWYsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29udGFjdHNUcmlnZ2VyRGF0YUNvbXBvbmVudCB9IGZyb20gJy4uL2NvbnRhY3RzL2NvbnRhY3RzLXRyaWdnZXIvY29udGFjdHMtdHJpZ2dlci1kYXRhJztcbmltcG9ydCB7IEdyYW5pdGVDdXN0b21BdmF0YXJTdGF0dXNEaXJlY3RpdmUgfSBmcm9tICcuL2N1c3RvbS1hdmF0YXItc3RhdHVzLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBBdmF0YXJEZWZhdWx0U3RhdHVzZXMgfSBmcm9tICcuL2F2YXRhci5jb21wb25lbnQucHVibGljLXR5cGVzJztcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2dyYW5pdGUtYXZhdGFyJyxcbiAgZXhwb3J0QXM6ICdncmFuaXRlQXZhdGFyJyxcbiAgaG9zdDoge1xuICAgIGNsYXNzOiAnZ3Jhbml0ZS1hdmF0YXInLFxuICB9LFxuICB0ZW1wbGF0ZVVybDogJy4vYXZhdGFyLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vYXZhdGFyLmNvbXBvbmVudC5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBHcmFuaXRlQXZhdGFyQ29tcG9uZW50XG4gIGV4dGVuZHMgQ29udGFjdHNUcmlnZ2VyRGF0YUNvbXBvbmVudFxuICBpbXBsZW1lbnRzIEFmdGVyQ29udGVudENoZWNrZWRcbntcbiAgQElucHV0KCkgbmFtZTogc3RyaW5nO1xuICBASW5wdXQoKSBzdXJuYW1lOiBzdHJpbmc7XG4gIEBJbnB1dCgpIGF2YXRhcjogc3RyaW5nO1xuICBASW5wdXQoKSBzdGF0dXM6IEF2YXRhckRlZmF1bHRTdGF0dXNlcztcblxuICBAQ29udGVudENoaWxkcmVuKEdyYW5pdGVDdXN0b21BdmF0YXJTdGF0dXNEaXJlY3RpdmUpXG4gIF9jdXN0b21TdGF0dXNlc1F1ZXJ5TGlzdDogUXVlcnlMaXN0PEdyYW5pdGVDdXN0b21BdmF0YXJTdGF0dXNEaXJlY3RpdmU+O1xuICBfY3VzdG9tU3RhdHVzRGlyZWN0aXZlczogUmVjb3JkPHN0cmluZywgVGVtcGxhdGVSZWY8dW5rbm93bj4+O1xuXG4gIG5nQWZ0ZXJDb250ZW50Q2hlY2tlZCgpOiB2b2lkIHtcbiAgICB0aGlzLl9jdXN0b21TdGF0dXNEaXJlY3RpdmVzID0gdGhpcy5fY3VzdG9tU3RhdHVzZXNRdWVyeUxpc3RcbiAgICAgIC50b0FycmF5KClcbiAgICAgIC5yZWR1Y2UoKGRpcmVjdGl2ZXMsIG5leHQpID0+IHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAuLi5kaXJlY3RpdmVzLFxuICAgICAgICAgIFtuZXh0LmdyYW5pdGVDdXN0b21BdmF0YXJTdGF0dXNdOiBuZXh0LnRlbXBsYXRlUmVmLFxuICAgICAgICB9O1xuICAgICAgfSwge30pO1xuICB9XG59XG4iLCI8aW1nXG4gIGRhdGEtZm5kPVwicHJvZmlsZS1hdmF0YXJcIlxuICAqbmdJZj1cImF2YXRhcjsgZWxzZSBub1Byb2ZpbGVBdmF0YXJcIlxuICBbc3JjXT1cImF2YXRhclwiXG4gIGFsdD1cImF2YXRhclwiXG4gIGNsYXNzPVwicHJvZmlsZS1hdmF0YXIgcHJvZmlsZS1zaXplXCJcbi8+XG5cbjxuZy10ZW1wbGF0ZSAjbm9Qcm9maWxlQXZhdGFyPlxuICA8Z3Jhbml0ZS1lbXB0eS1hdmF0YXJcbiAgICBjbGFzcz1cInByb2ZpbGUtc2l6ZVwiXG4gICAgW25hbWVdPVwibmFtZVwiXG4gICAgW3N1cm5hbWVdPVwic3VybmFtZVwiXG4gID48L2dyYW5pdGUtZW1wdHktYXZhdGFyPlxuPC9uZy10ZW1wbGF0ZT5cblxuQGlmIChzdGF0dXMgJiYgX2N1c3RvbVN0YXR1c0RpcmVjdGl2ZXNbc3RhdHVzXSkge1xuICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiY3VzdG9tU3RhdHVzXCI+PC9uZy1jb250YWluZXI+XG59IEBlbHNlIGlmIChzdGF0dXMpIHtcbiAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImRlZmF1bHRTdGF0dXNcIj48L25nLWNvbnRhaW5lcj5cbn1cblxuPG5nLXRlbXBsYXRlICNkZWZhdWx0U3RhdHVzPlxuICA8Z3Jhbml0ZS1hdmF0YXItZGVmYXVsdC1zdGF0dXNcbiAgICBjbGFzcz1cInByb2ZpbGUtZGVmYXVsdC1zdGF0dXNcIlxuICAgIFthdHRyLmRhdGEtZm5kXT1cInN0YXR1cyArICctc3RhdHVzJ1wiXG4gICAgW3N0YXR1c109XCJzdGF0dXNcIlxuICA+PC9ncmFuaXRlLWF2YXRhci1kZWZhdWx0LXN0YXR1cz5cbjwvbmctdGVtcGxhdGU+XG5cbjxuZy10ZW1wbGF0ZSAjY3VzdG9tU3RhdHVzPlxuICA8ZGl2XG4gICAgW2F0dHIuZGF0YS1mbmRdPVwiJ3Byb2ZpbGUtc3RhdHVzLWN1c3RvbSdcIlxuICAgIFtjbGFzc109XCIncHJvZmlsZS1zdGF0dXMtJyArIHN0YXR1c1wiXG4gICAgY2xhc3M9XCJwcm9maWxlLWN1c3RvbS1zdGF0dXNcIlxuICA+XG4gICAgPG5nLWNvbnRhaW5lclxuICAgICAgKm5nVGVtcGxhdGVPdXRsZXQ9XCJfY3VzdG9tU3RhdHVzRGlyZWN0aXZlc1tzdGF0dXNdXCJcbiAgICA+PC9uZy1jb250YWluZXI+XG4gIDwvZGl2PlxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==
56
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXZhdGFyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvZ3Jhbml0ZS1jb21wb25lbnRzL3NyYy9saWIvYXZhdGFyL2F2YXRhci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2dyYW5pdGUtY29tcG9uZW50cy9zcmMvbGliL2F2YXRhci9hdmF0YXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsS0FBSyxFQUNMLGVBQWUsRUFDZixTQUFTLEVBR1QsaUJBQWlCLEdBR2xCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLG9EQUFvRCxDQUFDO0FBQ2xHLE9BQU8sRUFBRSxrQ0FBa0MsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBRXRGLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHNDQUFzQyxDQUFDOzs7OztBQVl6RSxNQUFNLE9BQU8sc0JBQ1gsU0FBUSw0QkFBNEI7SUFlcEMsWUFBb0IsRUFBcUI7UUFDdkMsS0FBSyxFQUFFLENBQUM7UUFEVSxPQUFFLEdBQUYsRUFBRSxDQUFtQjtJQUV6QyxDQUFDO0lBRUQsV0FBVyxDQUFDLE9BQXNCO1FBQ2hDLElBQUksT0FBTyxDQUFDLFNBQVMsSUFBSSxPQUFPLENBQUMsUUFBUSxJQUFJLE9BQU8sQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUMxRCxJQUFJLENBQUMsYUFBYSxHQUFHLGlCQUFpQixDQUFDLGFBQWEsQ0FBQztnQkFDbkQsU0FBUyxFQUFFLE9BQU8sQ0FBQyxTQUFTLEVBQUUsWUFBWTtnQkFDMUMsUUFBUSxFQUFFLE9BQU8sQ0FBQyxRQUFRLEVBQUUsWUFBWTtnQkFDeEMsSUFBSSxFQUFFLE9BQU8sQ0FBQyxJQUFJLEVBQUUsWUFBWTthQUNqQyxDQUFDLENBQUMsUUFBUSxDQUFDO1lBRVosSUFBSSxDQUFDLEVBQUUsQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUN6QixDQUFDO0lBQ0gsQ0FBQztJQUVELHFCQUFxQjtRQUNuQixJQUFJLENBQUMsdUJBQXVCLEdBQUcsSUFBSSxDQUFDLHdCQUF3QjthQUN6RCxPQUFPLEVBQUU7YUFDVCxNQUFNLENBQUMsQ0FBQyxVQUFVLEVBQUUsSUFBSSxFQUFFLEVBQUU7WUFDM0IsT0FBTztnQkFDTCxHQUFHLFVBQVU7Z0JBQ2IsQ0FBQyxJQUFJLENBQUMseUJBQXlCLENBQUMsRUFBRSxJQUFJLENBQUMsV0FBVzthQUNuRCxDQUFDO1FBQ0osQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBQ1gsQ0FBQzs4R0F6Q1Usc0JBQXNCO2tHQUF0QixzQkFBc0IsdVBBVWhCLGtDQUFrQyxzR0NyQ3JELGlqQ0F3Q0E7OzJGRGJhLHNCQUFzQjtrQkFWbEMsU0FBUzsrQkFDRSxnQkFBZ0IsWUFDaEIsZUFBZSxRQUNuQjt3QkFDSixLQUFLLEVBQUUsZ0JBQWdCO3FCQUN4QixtQkFHZ0IsdUJBQXVCLENBQUMsTUFBTTtzRkFNdEMsSUFBSTtzQkFBWixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxNQUFNO3NCQUFkLEtBQUs7Z0JBQ0csTUFBTTtzQkFBZCxLQUFLO2dCQUdOLHdCQUF3QjtzQkFEdkIsZUFBZTt1QkFBQyxrQ0FBa0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ29tcG9uZW50LFxuICBJbnB1dCxcbiAgQ29udGVudENoaWxkcmVuLFxuICBRdWVyeUxpc3QsXG4gIEFmdGVyQ29udGVudENoZWNrZWQsXG4gIFRlbXBsYXRlUmVmLFxuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgT25DaGFuZ2VzLFxuICBTaW1wbGVDaGFuZ2VzLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbnRhY3RzVHJpZ2dlckRhdGFDb21wb25lbnQgfSBmcm9tICcuLi9jb250YWN0cy9jb250YWN0cy10cmlnZ2VyL2NvbnRhY3RzLXRyaWdnZXItZGF0YSc7XG5pbXBvcnQgeyBHcmFuaXRlQ3VzdG9tQXZhdGFyU3RhdHVzRGlyZWN0aXZlIH0gZnJvbSAnLi9jdXN0b20tYXZhdGFyLXN0YXR1cy5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgQXZhdGFyRGVmYXVsdFN0YXR1c2VzIH0gZnJvbSAnLi9hdmF0YXIuY29tcG9uZW50LnB1YmxpYy10eXBlcyc7XG5pbXBvcnQgeyBOYW1lc1V0aWxzU2VydmljZSB9IGZyb20gJy4uL2NvcmUvc2VydmljZXMvbmFtZXMtdXRpbHMtc2VydmljZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2dyYW5pdGUtYXZhdGFyJyxcbiAgZXhwb3J0QXM6ICdncmFuaXRlQXZhdGFyJyxcbiAgaG9zdDoge1xuICAgIGNsYXNzOiAnZ3Jhbml0ZS1hdmF0YXInLFxuICB9LFxuICB0ZW1wbGF0ZVVybDogJy4vYXZhdGFyLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vYXZhdGFyLmNvbXBvbmVudC5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBHcmFuaXRlQXZhdGFyQ29tcG9uZW50XG4gIGV4dGVuZHMgQ29udGFjdHNUcmlnZ2VyRGF0YUNvbXBvbmVudFxuICBpbXBsZW1lbnRzIEFmdGVyQ29udGVudENoZWNrZWQsIE9uQ2hhbmdlc1xue1xuICBASW5wdXQoKSBuYW1lOiBzdHJpbmc7XG4gIEBJbnB1dCgpIGZpcnN0TmFtZTogc3RyaW5nO1xuICBASW5wdXQoKSBsYXN0TmFtZTogc3RyaW5nO1xuICBASW5wdXQoKSBhdmF0YXI6IHN0cmluZztcbiAgQElucHV0KCkgc3RhdHVzOiBBdmF0YXJEZWZhdWx0U3RhdHVzZXM7XG5cbiAgQENvbnRlbnRDaGlsZHJlbihHcmFuaXRlQ3VzdG9tQXZhdGFyU3RhdHVzRGlyZWN0aXZlKVxuICBfY3VzdG9tU3RhdHVzZXNRdWVyeUxpc3Q6IFF1ZXJ5TGlzdDxHcmFuaXRlQ3VzdG9tQXZhdGFyU3RhdHVzRGlyZWN0aXZlPjtcbiAgX2N1c3RvbVN0YXR1c0RpcmVjdGl2ZXM6IFJlY29yZDxzdHJpbmcsIFRlbXBsYXRlUmVmPHVua25vd24+PjtcblxuICBfbmFtZUluaXRpYWxzOiBzdHJpbmc7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBjZDogQ2hhbmdlRGV0ZWN0b3JSZWYpIHtcbiAgICBzdXBlcigpO1xuICB9XG5cbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xuICAgIGlmIChjaGFuZ2VzLmZpcnN0TmFtZSB8fCBjaGFuZ2VzLmxhc3ROYW1lIHx8IGNoYW5nZXMubmFtZSkge1xuICAgICAgdGhpcy5fbmFtZUluaXRpYWxzID0gTmFtZXNVdGlsc1NlcnZpY2UuYnVpbGROYW1lRGF0YSh7XG4gICAgICAgIGZpcnN0TmFtZTogY2hhbmdlcy5maXJzdE5hbWU/LmN1cnJlbnRWYWx1ZSxcbiAgICAgICAgbGFzdE5hbWU6IGNoYW5nZXMubGFzdE5hbWU/LmN1cnJlbnRWYWx1ZSxcbiAgICAgICAgbmFtZTogY2hhbmdlcy5uYW1lPy5jdXJyZW50VmFsdWUsXG4gICAgICB9KS5pbml0aWFscztcblxuICAgICAgdGhpcy5jZC5tYXJrRm9yQ2hlY2soKTtcbiAgICB9XG4gIH1cblxuICBuZ0FmdGVyQ29udGVudENoZWNrZWQoKTogdm9pZCB7XG4gICAgdGhpcy5fY3VzdG9tU3RhdHVzRGlyZWN0aXZlcyA9IHRoaXMuX2N1c3RvbVN0YXR1c2VzUXVlcnlMaXN0XG4gICAgICAudG9BcnJheSgpXG4gICAgICAucmVkdWNlKChkaXJlY3RpdmVzLCBuZXh0KSA9PiB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgLi4uZGlyZWN0aXZlcyxcbiAgICAgICAgICBbbmV4dC5ncmFuaXRlQ3VzdG9tQXZhdGFyU3RhdHVzXTogbmV4dC50ZW1wbGF0ZVJlZixcbiAgICAgICAgfTtcbiAgICAgIH0sIHt9KTtcbiAgfVxufVxuIiwiPGltZ1xuICBkYXRhLWZuZD1cInByb2ZpbGUtYXZhdGFyXCJcbiAgKm5nSWY9XCJhdmF0YXI7IGVsc2Ugbm9Qcm9maWxlQXZhdGFyXCJcbiAgW3NyY109XCJhdmF0YXJcIlxuICBhbHQ9XCJhdmF0YXJcIlxuICBjbGFzcz1cInByb2ZpbGUtYXZhdGFyIHByb2ZpbGUtc2l6ZVwiXG4vPlxuXG48bmctdGVtcGxhdGUgI25vUHJvZmlsZUF2YXRhcj5cbiAgPGdyYW5pdGUtZW1wdHktYXZhdGFyXG4gICAgY2xhc3M9XCJwcm9maWxlLXNpemVcIlxuICAgIFtpbml0aWFsc109XCJfbmFtZUluaXRpYWxzXCJcbiAgPjwvZ3Jhbml0ZS1lbXB0eS1hdmF0YXI+XG48L25nLXRlbXBsYXRlPlxuXG5AaWYgKHN0YXR1cyAmJiBfY3VzdG9tU3RhdHVzRGlyZWN0aXZlc1tzdGF0dXNdKSB7XG4gIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJjdXN0b21TdGF0dXNcIj48L25nLWNvbnRhaW5lcj5cbn0gQGVsc2UgaWYgKHN0YXR1cykge1xuICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiZGVmYXVsdFN0YXR1c1wiPjwvbmctY29udGFpbmVyPlxufVxuXG48bmctdGVtcGxhdGUgI2RlZmF1bHRTdGF0dXM+XG4gIDxncmFuaXRlLWF2YXRhci1kZWZhdWx0LXN0YXR1c1xuICAgIGNsYXNzPVwicHJvZmlsZS1kZWZhdWx0LXN0YXR1c1wiXG4gICAgW2F0dHIuZGF0YS1mbmRdPVwic3RhdHVzICsgJy1zdGF0dXMnXCJcbiAgICBbc3RhdHVzXT1cInN0YXR1c1wiXG4gID48L2dyYW5pdGUtYXZhdGFyLWRlZmF1bHQtc3RhdHVzPlxuPC9uZy10ZW1wbGF0ZT5cblxuPG5nLXRlbXBsYXRlICNjdXN0b21TdGF0dXM+XG4gIDxkaXZcbiAgICBbYXR0ci5kYXRhLWZuZF09XCIncHJvZmlsZS1zdGF0dXMtY3VzdG9tJ1wiXG4gICAgW2NsYXNzXT1cIidwcm9maWxlLXN0YXR1cy0nICsgc3RhdHVzXCJcbiAgICBjbGFzcz1cInByb2ZpbGUtY3VzdG9tLXN0YXR1c1wiXG4gID5cbiAgICA8bmctY29udGFpbmVyXG4gICAgICAqbmdUZW1wbGF0ZU91dGxldD1cIl9jdXN0b21TdGF0dXNEaXJlY3RpdmVzW3N0YXR1c11cIlxuICAgID48L25nLWNvbnRhaW5lcj5cbiAgPC9kaXY+XG48L25nLXRlbXBsYXRlPlxuIl19
@@ -1,27 +1,13 @@
1
- import { ChangeDetectionStrategy, Component, Input, } from '@angular/core';
1
+ import { ChangeDetectionStrategy, Component, Input } from '@angular/core';
2
2
  import * as i0 from "@angular/core";
3
3
  export class GraniteEmptyAvatarComponent {
4
- constructor() {
5
- this._firstNameLetter = '';
6
- this._firstSurnameLetter = '';
7
- }
8
- ngOnChanges(changes) {
9
- if (changes.name) {
10
- this._firstNameLetter =
11
- changes.name.currentValue?.charAt(0)?.toUpperCase() || '';
12
- }
13
- if (changes.surname) {
14
- this._firstSurnameLetter =
15
- changes.surname.currentValue?.charAt(0)?.toUpperCase() || '';
16
- }
17
- }
18
4
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: GraniteEmptyAvatarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
19
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.4", type: GraniteEmptyAvatarComponent, selector: "granite-empty-avatar", inputs: { name: "name", surname: "surname" }, host: { classAttribute: "granite-empty-avatar" }, usesOnChanges: true, ngImport: i0, template: `
5
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.4", type: GraniteEmptyAvatarComponent, selector: "granite-empty-avatar", inputs: { initials: "initials" }, host: { classAttribute: "granite-empty-avatar" }, ngImport: i0, template: `
20
6
  <div class="no-profile-avatar">
21
7
  <span
22
8
  data-fnd="no-profile-avatar-initials"
23
9
  class="no-profile-avatar-initials"
24
- >{{ _firstNameLetter }}{{ _firstSurnameLetter }}</span
10
+ >{{ initials }}</span
25
11
  >
26
12
  </div>
27
13
  `, isInline: true, styles: [":host{width:inherit;height:inherit}:host .no-profile-avatar{display:flex;width:inherit;height:inherit;border-radius:100%;background:var(--granite-color-background-info);justify-content:center;align-items:center}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
@@ -35,13 +21,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.4", ngImpor
35
21
  <span
36
22
  data-fnd="no-profile-avatar-initials"
37
23
  class="no-profile-avatar-initials"
38
- >{{ _firstNameLetter }}{{ _firstSurnameLetter }}</span
24
+ >{{ initials }}</span
39
25
  >
40
26
  </div>
41
27
  `, changeDetection: ChangeDetectionStrategy.OnPush, styles: [":host{width:inherit;height:inherit}:host .no-profile-avatar{display:flex;width:inherit;height:inherit;border-radius:100%;background:var(--granite-color-background-info);justify-content:center;align-items:center}\n"] }]
42
- }], propDecorators: { name: [{
43
- type: Input
44
- }], surname: [{
28
+ }], propDecorators: { initials: [{
45
29
  type: Input
46
30
  }] } });
47
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW1wdHktYXZhdGFyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvZ3Jhbml0ZS1jb21wb25lbnRzL3NyYy9saWIvYXZhdGFyL2VtcHR5LWF2YXRhci9lbXB0eS1hdmF0YXIuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULEtBQUssR0FHTixNQUFNLGVBQWUsQ0FBQzs7QUFtQnZCLE1BQU0sT0FBTywyQkFBMkI7SUFqQnhDO1FBcUJFLHFCQUFnQixHQUFXLEVBQUUsQ0FBQztRQUM5Qix3QkFBbUIsR0FBVyxFQUFFLENBQUM7S0FZbEM7SUFWQyxXQUFXLENBQUMsT0FBc0I7UUFDaEMsSUFBSSxPQUFPLENBQUMsSUFBSSxFQUFFLENBQUM7WUFDakIsSUFBSSxDQUFDLGdCQUFnQjtnQkFDbkIsT0FBTyxDQUFDLElBQUksQ0FBQyxZQUFZLEVBQUUsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLFdBQVcsRUFBRSxJQUFJLEVBQUUsQ0FBQztRQUM5RCxDQUFDO1FBQ0QsSUFBSSxPQUFPLENBQUMsT0FBTyxFQUFFLENBQUM7WUFDcEIsSUFBSSxDQUFDLG1CQUFtQjtnQkFDdEIsT0FBTyxDQUFDLE9BQU8sQ0FBQyxZQUFZLEVBQUUsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLFdBQVcsRUFBRSxJQUFJLEVBQUUsQ0FBQztRQUNqRSxDQUFDO0lBQ0gsQ0FBQzs4R0FoQlUsMkJBQTJCO2tHQUEzQiwyQkFBMkIsaUxBWjVCOzs7Ozs7OztHQVFUOzsyRkFJVSwyQkFBMkI7a0JBakJ2QyxTQUFTOytCQUNFLHNCQUFzQixRQUMxQjt3QkFDSixLQUFLLEVBQUUsc0JBQXNCO3FCQUM5QixZQUNTOzs7Ozs7OztHQVFULG1CQUVnQix1QkFBdUIsQ0FBQyxNQUFNOzhCQUd0QyxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCxcbiAgSW5wdXQsXG4gIE9uQ2hhbmdlcyxcbiAgU2ltcGxlQ2hhbmdlcyxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2dyYW5pdGUtZW1wdHktYXZhdGFyJyxcbiAgaG9zdDoge1xuICAgIGNsYXNzOiAnZ3Jhbml0ZS1lbXB0eS1hdmF0YXInLFxuICB9LFxuICB0ZW1wbGF0ZTogYFxuICAgIDxkaXYgY2xhc3M9XCJuby1wcm9maWxlLWF2YXRhclwiPlxuICAgICAgPHNwYW5cbiAgICAgICAgZGF0YS1mbmQ9XCJuby1wcm9maWxlLWF2YXRhci1pbml0aWFsc1wiXG4gICAgICAgIGNsYXNzPVwibm8tcHJvZmlsZS1hdmF0YXItaW5pdGlhbHNcIlxuICAgICAgICA+e3sgX2ZpcnN0TmFtZUxldHRlciB9fXt7IF9maXJzdFN1cm5hbWVMZXR0ZXIgfX08L3NwYW5cbiAgICAgID5cbiAgICA8L2Rpdj5cbiAgYCxcbiAgc3R5bGVVcmxzOiBbJy4vZW1wdHktYXZhdGFyLmNvbXBvbmVudC5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBHcmFuaXRlRW1wdHlBdmF0YXJDb21wb25lbnQgaW1wbGVtZW50cyBPbkNoYW5nZXMge1xuICBASW5wdXQoKSBuYW1lOiBzdHJpbmc7XG4gIEBJbnB1dCgpIHN1cm5hbWU6IHN0cmluZztcblxuICBfZmlyc3ROYW1lTGV0dGVyOiBzdHJpbmcgPSAnJztcbiAgX2ZpcnN0U3VybmFtZUxldHRlcjogc3RyaW5nID0gJyc7XG5cbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xuICAgIGlmIChjaGFuZ2VzLm5hbWUpIHtcbiAgICAgIHRoaXMuX2ZpcnN0TmFtZUxldHRlciA9XG4gICAgICAgIGNoYW5nZXMubmFtZS5jdXJyZW50VmFsdWU/LmNoYXJBdCgwKT8udG9VcHBlckNhc2UoKSB8fCAnJztcbiAgICB9XG4gICAgaWYgKGNoYW5nZXMuc3VybmFtZSkge1xuICAgICAgdGhpcy5fZmlyc3RTdXJuYW1lTGV0dGVyID1cbiAgICAgICAgY2hhbmdlcy5zdXJuYW1lLmN1cnJlbnRWYWx1ZT8uY2hhckF0KDApPy50b1VwcGVyQ2FzZSgpIHx8ICcnO1xuICAgIH1cbiAgfVxufVxuIl19
31
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW1wdHktYXZhdGFyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvZ3Jhbml0ZS1jb21wb25lbnRzL3NyYy9saWIvYXZhdGFyL2VtcHR5LWF2YXRhci9lbXB0eS1hdmF0YXIuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQW1CMUUsTUFBTSxPQUFPLDJCQUEyQjs4R0FBM0IsMkJBQTJCO2tHQUEzQiwyQkFBMkIsZ0pBWjVCOzs7Ozs7OztHQVFUOzsyRkFJVSwyQkFBMkI7a0JBakJ2QyxTQUFTOytCQUNFLHNCQUFzQixRQUMxQjt3QkFDSixLQUFLLEVBQUUsc0JBQXNCO3FCQUM5QixZQUNTOzs7Ozs7OztHQVFULG1CQUVnQix1QkFBdUIsQ0FBQyxNQUFNOzhCQUd0QyxRQUFRO3NCQUFoQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZ3Jhbml0ZS1lbXB0eS1hdmF0YXInLFxuICBob3N0OiB7XG4gICAgY2xhc3M6ICdncmFuaXRlLWVtcHR5LWF2YXRhcicsXG4gIH0sXG4gIHRlbXBsYXRlOiBgXG4gICAgPGRpdiBjbGFzcz1cIm5vLXByb2ZpbGUtYXZhdGFyXCI+XG4gICAgICA8c3BhblxuICAgICAgICBkYXRhLWZuZD1cIm5vLXByb2ZpbGUtYXZhdGFyLWluaXRpYWxzXCJcbiAgICAgICAgY2xhc3M9XCJuby1wcm9maWxlLWF2YXRhci1pbml0aWFsc1wiXG4gICAgICAgID57eyBpbml0aWFscyB9fTwvc3BhblxuICAgICAgPlxuICAgIDwvZGl2PlxuICBgLFxuICBzdHlsZVVybHM6IFsnLi9lbXB0eS1hdmF0YXIuY29tcG9uZW50LnNjc3MnXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIEdyYW5pdGVFbXB0eUF2YXRhckNvbXBvbmVudCB7XG4gIEBJbnB1dCgpIGluaXRpYWxzOiBzdHJpbmc7XG59XG4iXX0=
@@ -1,27 +1,18 @@
1
- import { ChangeDetectionStrategy, Component, Input, } from '@angular/core';
1
+ import { ChangeDetectionStrategy, Component, Input } from '@angular/core';
2
2
  import * as i0 from "@angular/core";
3
3
  import * as i1 from "../../avatar/avatar.component";
4
4
  export class GraniteContactsProfileComponent {
5
- ngOnChanges(changes) {
6
- const profile = changes.profile?.currentValue;
7
- if (profile && profile.name && profile.surname) {
8
- this.createProfileInitials(profile.name, profile.surname);
9
- }
10
- }
11
- createProfileInitials(name, surname) {
12
- this._initials = name[0].toUpperCase() + surname[0].toUpperCase();
13
- }
14
5
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: GraniteContactsProfileComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
15
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.4", type: GraniteContactsProfileComponent, selector: "granite-contacts-profile", inputs: { profile: "profile", profileClass: "profileClass" }, host: { classAttribute: "granite-contacts-profile" }, usesOnChanges: true, ngImport: i0, template: "<div [class]=\"profileClass\" data-fnd=\"profile\" class=\"profile\">\n <granite-avatar\n data-fnd=\"profile-avatar\"\n class=\"profile-avatar\"\n [name]=\"profile.name\"\n [surname]=\"profile.surname\"\n [avatar]=\"profile.avatar\"\n ></granite-avatar>\n\n <ng-template #noProfileAvatar>\n <div class=\"no-profile-avatar\">\n <span\n data-fnd=\"no-profile-avatar-initials\"\n class=\"no-profile-avatar-initials\"\n >{{ _initials }}</span\n >\n </div>\n </ng-template>\n\n <div class=\"profile-info\">\n <p data-fnd=\"profile-info-names\" class=\"profile-info-names\">\n {{ profile?.name }} {{ profile?.surname }}\n </p>\n <p data-fnd=\"profile-info-job-title\" class=\"profile-info-job-title\">\n {{ profile?.jobTitle }}\n </p>\n </div>\n</div>\n", styles: [".profile{display:flex;align-items:center;margin-bottom:var(--granite-spacing-8);gap:var(--granite-spacing-4)}.profile-avatar{width:3rem;height:3rem;border-radius:50%}.profile-info{display:flex;flex-direction:column;gap:var(--granite-spacing-8)}.profile-info-names{color:var(--granite-color-text);font-size:var(--granite-font-size-body-small);font-weight:var(--granite-font-weight-regular);margin:0}.profile-info-job-title{color:var(--granite-color-text-hint);font-size:var(--granite-font-size-body-small);margin:0}.no-profile-avatar{display:flex;width:3rem;height:3rem;border-radius:360px;background:var(--granite-color-background-info);justify-content:center;align-items:center}.no-profile-avatar-initials{font-size:var(--granite-font-size-micro);color:var(--granite-color-signal-info);font-weight:var(--granite-font-weight-regular)}\n"], dependencies: [{ kind: "component", type: i1.GraniteAvatarComponent, selector: "granite-avatar", inputs: ["name", "surname", "avatar", "status"], exportAs: ["graniteAvatar"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
6
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.4", type: GraniteContactsProfileComponent, selector: "granite-contacts-profile", inputs: { profile: "profile", profileClass: "profileClass" }, host: { classAttribute: "granite-contacts-profile" }, ngImport: i0, template: "<div [class]=\"profileClass\" data-fnd=\"profile\" class=\"profile\">\n <granite-avatar\n data-fnd=\"profile-avatar\"\n class=\"profile-avatar\"\n [firstName]=\"profile.firstName\"\n [lastName]=\"profile.lastName\"\n [avatar]=\"profile.avatar\"\n ></granite-avatar>\n\n <ng-template #noProfileAvatar>\n <div class=\"no-profile-avatar\">\n <span\n data-fnd=\"no-profile-avatar-initials\"\n class=\"no-profile-avatar-initials\"\n >{{ profile?.initials }}</span\n >\n </div>\n </ng-template>\n\n <div class=\"profile-info\">\n <p data-fnd=\"profile-info-names\" class=\"profile-info-names\">\n {{ profile?.firstName }} {{ profile?.lastName }}\n </p>\n <p data-fnd=\"profile-info-job-title\" class=\"profile-info-job-title\">\n {{ profile?.jobTitle }}\n </p>\n </div>\n</div>\n", styles: [".profile{display:flex;align-items:center;margin-bottom:var(--granite-spacing-8);gap:var(--granite-spacing-4)}.profile-avatar{width:3rem;height:3rem;border-radius:50%}.profile-info{display:flex;flex-direction:column;gap:var(--granite-spacing-8)}.profile-info-names{color:var(--granite-color-text);font-size:var(--granite-font-size-body-small);font-weight:var(--granite-font-weight-regular);margin:0}.profile-info-job-title{color:var(--granite-color-text-hint);font-size:var(--granite-font-size-body-small);margin:0}.no-profile-avatar{display:flex;width:3rem;height:3rem;border-radius:360px;background:var(--granite-color-background-info);justify-content:center;align-items:center}.no-profile-avatar-initials{font-size:var(--granite-font-size-micro);color:var(--granite-color-signal-info);font-weight:var(--granite-font-weight-regular)}\n"], dependencies: [{ kind: "component", type: i1.GraniteAvatarComponent, selector: "granite-avatar", inputs: ["name", "firstName", "lastName", "avatar", "status"], exportAs: ["graniteAvatar"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
16
7
  }
17
8
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: GraniteContactsProfileComponent, decorators: [{
18
9
  type: Component,
19
10
  args: [{ selector: 'granite-contacts-profile', host: {
20
11
  class: 'granite-contacts-profile',
21
- }, changeDetection: ChangeDetectionStrategy.OnPush, template: "<div [class]=\"profileClass\" data-fnd=\"profile\" class=\"profile\">\n <granite-avatar\n data-fnd=\"profile-avatar\"\n class=\"profile-avatar\"\n [name]=\"profile.name\"\n [surname]=\"profile.surname\"\n [avatar]=\"profile.avatar\"\n ></granite-avatar>\n\n <ng-template #noProfileAvatar>\n <div class=\"no-profile-avatar\">\n <span\n data-fnd=\"no-profile-avatar-initials\"\n class=\"no-profile-avatar-initials\"\n >{{ _initials }}</span\n >\n </div>\n </ng-template>\n\n <div class=\"profile-info\">\n <p data-fnd=\"profile-info-names\" class=\"profile-info-names\">\n {{ profile?.name }} {{ profile?.surname }}\n </p>\n <p data-fnd=\"profile-info-job-title\" class=\"profile-info-job-title\">\n {{ profile?.jobTitle }}\n </p>\n </div>\n</div>\n", styles: [".profile{display:flex;align-items:center;margin-bottom:var(--granite-spacing-8);gap:var(--granite-spacing-4)}.profile-avatar{width:3rem;height:3rem;border-radius:50%}.profile-info{display:flex;flex-direction:column;gap:var(--granite-spacing-8)}.profile-info-names{color:var(--granite-color-text);font-size:var(--granite-font-size-body-small);font-weight:var(--granite-font-weight-regular);margin:0}.profile-info-job-title{color:var(--granite-color-text-hint);font-size:var(--granite-font-size-body-small);margin:0}.no-profile-avatar{display:flex;width:3rem;height:3rem;border-radius:360px;background:var(--granite-color-background-info);justify-content:center;align-items:center}.no-profile-avatar-initials{font-size:var(--granite-font-size-micro);color:var(--granite-color-signal-info);font-weight:var(--granite-font-weight-regular)}\n"] }]
12
+ }, changeDetection: ChangeDetectionStrategy.OnPush, template: "<div [class]=\"profileClass\" data-fnd=\"profile\" class=\"profile\">\n <granite-avatar\n data-fnd=\"profile-avatar\"\n class=\"profile-avatar\"\n [firstName]=\"profile.firstName\"\n [lastName]=\"profile.lastName\"\n [avatar]=\"profile.avatar\"\n ></granite-avatar>\n\n <ng-template #noProfileAvatar>\n <div class=\"no-profile-avatar\">\n <span\n data-fnd=\"no-profile-avatar-initials\"\n class=\"no-profile-avatar-initials\"\n >{{ profile?.initials }}</span\n >\n </div>\n </ng-template>\n\n <div class=\"profile-info\">\n <p data-fnd=\"profile-info-names\" class=\"profile-info-names\">\n {{ profile?.firstName }} {{ profile?.lastName }}\n </p>\n <p data-fnd=\"profile-info-job-title\" class=\"profile-info-job-title\">\n {{ profile?.jobTitle }}\n </p>\n </div>\n</div>\n", styles: [".profile{display:flex;align-items:center;margin-bottom:var(--granite-spacing-8);gap:var(--granite-spacing-4)}.profile-avatar{width:3rem;height:3rem;border-radius:50%}.profile-info{display:flex;flex-direction:column;gap:var(--granite-spacing-8)}.profile-info-names{color:var(--granite-color-text);font-size:var(--granite-font-size-body-small);font-weight:var(--granite-font-weight-regular);margin:0}.profile-info-job-title{color:var(--granite-color-text-hint);font-size:var(--granite-font-size-body-small);margin:0}.no-profile-avatar{display:flex;width:3rem;height:3rem;border-radius:360px;background:var(--granite-color-background-info);justify-content:center;align-items:center}.no-profile-avatar-initials{font-size:var(--granite-font-size-micro);color:var(--granite-color-signal-info);font-weight:var(--granite-font-weight-regular)}\n"] }]
22
13
  }], propDecorators: { profile: [{
23
14
  type: Input
24
15
  }], profileClass: [{
25
16
  type: Input
26
17
  }] } });
27
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGFjdHMtcHJvZmlsZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2dyYW5pdGUtY29tcG9uZW50cy9zcmMvbGliL2NvbnRhY3RzL2NvbnRhY3RzLXByb2ZpbGUvY29udGFjdHMtcHJvZmlsZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2dyYW5pdGUtY29tcG9uZW50cy9zcmMvbGliL2NvbnRhY3RzL2NvbnRhY3RzLXByb2ZpbGUvY29udGFjdHMtcHJvZmlsZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxLQUFLLEdBR04sTUFBTSxlQUFlLENBQUM7OztBQVl2QixNQUFNLE9BQU8sK0JBQStCO0lBTTFDLFdBQVcsQ0FBQyxPQUFzQjtRQUNoQyxNQUFNLE9BQU8sR0FBRyxPQUFPLENBQUMsT0FBTyxFQUFFLFlBQVksQ0FBQztRQUM5QyxJQUFJLE9BQU8sSUFBSSxPQUFPLENBQUMsSUFBSSxJQUFJLE9BQU8sQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUMvQyxJQUFJLENBQUMscUJBQXFCLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRSxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDNUQsQ0FBQztJQUNILENBQUM7SUFFTyxxQkFBcUIsQ0FBQyxJQUFZLEVBQUUsT0FBZTtRQUN6RCxJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLEVBQUUsR0FBRyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDcEUsQ0FBQzs4R0FmVSwrQkFBK0I7a0dBQS9CLCtCQUErQix5TUNsQjVDLDZ6QkE0QkE7OzJGRFZhLCtCQUErQjtrQkFUM0MsU0FBUzsrQkFDRSwwQkFBMEIsUUFDOUI7d0JBQ0osS0FBSyxFQUFFLDBCQUEwQjtxQkFDbEMsbUJBR2dCLHVCQUF1QixDQUFDLE1BQU07OEJBR3RDLE9BQU87c0JBQWYsS0FBSztnQkFDRyxZQUFZO3NCQUFwQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCxcbiAgSW5wdXQsXG4gIE9uQ2hhbmdlcyxcbiAgU2ltcGxlQ2hhbmdlcyxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBQcm9maWxlIH0gZnJvbSAnLi4vY29udGFjdHMtdHlwZXMvY29udGFjdHMuY29tcG9uZW50LnB1YmxpYy10eXBlcyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2dyYW5pdGUtY29udGFjdHMtcHJvZmlsZScsXG4gIGhvc3Q6IHtcbiAgICBjbGFzczogJ2dyYW5pdGUtY29udGFjdHMtcHJvZmlsZScsXG4gIH0sXG4gIHRlbXBsYXRlVXJsOiAnLi9jb250YWN0cy1wcm9maWxlLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vY29udGFjdHMtcHJvZmlsZS5jb21wb25lbnQuc2NzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgR3Jhbml0ZUNvbnRhY3RzUHJvZmlsZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uQ2hhbmdlcyB7XG4gIEBJbnB1dCgpIHByb2ZpbGU6IFByb2ZpbGU7XG4gIEBJbnB1dCgpIHByb2ZpbGVDbGFzcztcblxuICBfaW5pdGlhbHM6IHN0cmluZztcblxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgY29uc3QgcHJvZmlsZSA9IGNoYW5nZXMucHJvZmlsZT8uY3VycmVudFZhbHVlO1xuICAgIGlmIChwcm9maWxlICYmIHByb2ZpbGUubmFtZSAmJiBwcm9maWxlLnN1cm5hbWUpIHtcbiAgICAgIHRoaXMuY3JlYXRlUHJvZmlsZUluaXRpYWxzKHByb2ZpbGUubmFtZSwgcHJvZmlsZS5zdXJuYW1lKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGNyZWF0ZVByb2ZpbGVJbml0aWFscyhuYW1lOiBzdHJpbmcsIHN1cm5hbWU6IHN0cmluZyk6IHZvaWQge1xuICAgIHRoaXMuX2luaXRpYWxzID0gbmFtZVswXS50b1VwcGVyQ2FzZSgpICsgc3VybmFtZVswXS50b1VwcGVyQ2FzZSgpO1xuICB9XG59XG4iLCI8ZGl2IFtjbGFzc109XCJwcm9maWxlQ2xhc3NcIiBkYXRhLWZuZD1cInByb2ZpbGVcIiBjbGFzcz1cInByb2ZpbGVcIj5cbiAgPGdyYW5pdGUtYXZhdGFyXG4gICAgZGF0YS1mbmQ9XCJwcm9maWxlLWF2YXRhclwiXG4gICAgY2xhc3M9XCJwcm9maWxlLWF2YXRhclwiXG4gICAgW25hbWVdPVwicHJvZmlsZS5uYW1lXCJcbiAgICBbc3VybmFtZV09XCJwcm9maWxlLnN1cm5hbWVcIlxuICAgIFthdmF0YXJdPVwicHJvZmlsZS5hdmF0YXJcIlxuICA+PC9ncmFuaXRlLWF2YXRhcj5cblxuICA8bmctdGVtcGxhdGUgI25vUHJvZmlsZUF2YXRhcj5cbiAgICA8ZGl2IGNsYXNzPVwibm8tcHJvZmlsZS1hdmF0YXJcIj5cbiAgICAgIDxzcGFuXG4gICAgICAgIGRhdGEtZm5kPVwibm8tcHJvZmlsZS1hdmF0YXItaW5pdGlhbHNcIlxuICAgICAgICBjbGFzcz1cIm5vLXByb2ZpbGUtYXZhdGFyLWluaXRpYWxzXCJcbiAgICAgICAgPnt7IF9pbml0aWFscyB9fTwvc3BhblxuICAgICAgPlxuICAgIDwvZGl2PlxuICA8L25nLXRlbXBsYXRlPlxuXG4gIDxkaXYgY2xhc3M9XCJwcm9maWxlLWluZm9cIj5cbiAgICA8cCBkYXRhLWZuZD1cInByb2ZpbGUtaW5mby1uYW1lc1wiIGNsYXNzPVwicHJvZmlsZS1pbmZvLW5hbWVzXCI+XG4gICAgICB7eyBwcm9maWxlPy5uYW1lIH19IHt7IHByb2ZpbGU/LnN1cm5hbWUgfX1cbiAgICA8L3A+XG4gICAgPHAgZGF0YS1mbmQ9XCJwcm9maWxlLWluZm8tam9iLXRpdGxlXCIgY2xhc3M9XCJwcm9maWxlLWluZm8tam9iLXRpdGxlXCI+XG4gICAgICB7eyBwcm9maWxlPy5qb2JUaXRsZSB9fVxuICAgIDwvcD5cbiAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
18
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGFjdHMtcHJvZmlsZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2dyYW5pdGUtY29tcG9uZW50cy9zcmMvbGliL2NvbnRhY3RzL2NvbnRhY3RzLXByb2ZpbGUvY29udGFjdHMtcHJvZmlsZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2dyYW5pdGUtY29tcG9uZW50cy9zcmMvbGliL2NvbnRhY3RzL2NvbnRhY3RzLXByb2ZpbGUvY29udGFjdHMtcHJvZmlsZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQzs7O0FBWTFFLE1BQU0sT0FBTywrQkFBK0I7OEdBQS9CLCtCQUErQjtrR0FBL0IsK0JBQStCLG9MQ1o1Qyx1MUJBNEJBOzsyRkRoQmEsK0JBQStCO2tCQVQzQyxTQUFTOytCQUNFLDBCQUEwQixRQUM5Qjt3QkFDSixLQUFLLEVBQUUsMEJBQTBCO3FCQUNsQyxtQkFHZ0IsdUJBQXVCLENBQUMsTUFBTTs4QkFHdEMsT0FBTztzQkFBZixLQUFLO2dCQUNHLFlBQVk7c0JBQXBCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUHJvZmlsZURhdGEgfSBmcm9tICcuLi9jb250YWN0cy10eXBlcy9jb250YWN0cy5jb21wb25lbnQucHJpdmF0ZS10eXBlcyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2dyYW5pdGUtY29udGFjdHMtcHJvZmlsZScsXG4gIGhvc3Q6IHtcbiAgICBjbGFzczogJ2dyYW5pdGUtY29udGFjdHMtcHJvZmlsZScsXG4gIH0sXG4gIHRlbXBsYXRlVXJsOiAnLi9jb250YWN0cy1wcm9maWxlLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vY29udGFjdHMtcHJvZmlsZS5jb21wb25lbnQuc2NzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgR3Jhbml0ZUNvbnRhY3RzUHJvZmlsZUNvbXBvbmVudCB7XG4gIEBJbnB1dCgpIHByb2ZpbGU6IFByb2ZpbGVEYXRhO1xuICBASW5wdXQoKSBwcm9maWxlQ2xhc3M7XG59XG4iLCI8ZGl2IFtjbGFzc109XCJwcm9maWxlQ2xhc3NcIiBkYXRhLWZuZD1cInByb2ZpbGVcIiBjbGFzcz1cInByb2ZpbGVcIj5cbiAgPGdyYW5pdGUtYXZhdGFyXG4gICAgZGF0YS1mbmQ9XCJwcm9maWxlLWF2YXRhclwiXG4gICAgY2xhc3M9XCJwcm9maWxlLWF2YXRhclwiXG4gICAgW2ZpcnN0TmFtZV09XCJwcm9maWxlLmZpcnN0TmFtZVwiXG4gICAgW2xhc3ROYW1lXT1cInByb2ZpbGUubGFzdE5hbWVcIlxuICAgIFthdmF0YXJdPVwicHJvZmlsZS5hdmF0YXJcIlxuICA+PC9ncmFuaXRlLWF2YXRhcj5cblxuICA8bmctdGVtcGxhdGUgI25vUHJvZmlsZUF2YXRhcj5cbiAgICA8ZGl2IGNsYXNzPVwibm8tcHJvZmlsZS1hdmF0YXJcIj5cbiAgICAgIDxzcGFuXG4gICAgICAgIGRhdGEtZm5kPVwibm8tcHJvZmlsZS1hdmF0YXItaW5pdGlhbHNcIlxuICAgICAgICBjbGFzcz1cIm5vLXByb2ZpbGUtYXZhdGFyLWluaXRpYWxzXCJcbiAgICAgICAgPnt7IHByb2ZpbGU/LmluaXRpYWxzIH19PC9zcGFuXG4gICAgICA+XG4gICAgPC9kaXY+XG4gIDwvbmctdGVtcGxhdGU+XG5cbiAgPGRpdiBjbGFzcz1cInByb2ZpbGUtaW5mb1wiPlxuICAgIDxwIGRhdGEtZm5kPVwicHJvZmlsZS1pbmZvLW5hbWVzXCIgY2xhc3M9XCJwcm9maWxlLWluZm8tbmFtZXNcIj5cbiAgICAgIHt7IHByb2ZpbGU/LmZpcnN0TmFtZSB9fSB7eyBwcm9maWxlPy5sYXN0TmFtZSB9fVxuICAgIDwvcD5cbiAgICA8cCBkYXRhLWZuZD1cInByb2ZpbGUtaW5mby1qb2ItdGl0bGVcIiBjbGFzcz1cInByb2ZpbGUtaW5mby1qb2ItdGl0bGVcIj5cbiAgICAgIHt7IHByb2ZpbGU/LmpvYlRpdGxlIH19XG4gICAgPC9wPlxuICA8L2Rpdj5cbjwvZGl2PlxuIl19
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGFjdHMuY29tcG9uZW50LnByaXZhdGUtdHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2dyYW5pdGUtY29tcG9uZW50cy9zcmMvbGliL2NvbnRhY3RzL2NvbnRhY3RzLXR5cGVzL2NvbnRhY3RzLmNvbXBvbmVudC5wcml2YXRlLXR5cGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBUZW1wbGF0ZVJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29udGFjdCB9IGZyb20gJy4vY29udGFjdHMuY29tcG9uZW50LnB1YmxpYy10eXBlcyc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ29udGFjdEV4dGVuZGVkIGV4dGVuZHMgQ29udGFjdCB7XG4gIHN0YXR1c1RlbXBsYXRlPzogVGVtcGxhdGVSZWY8dW5rbm93bj47XG59XG4iXX0=
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGFjdHMuY29tcG9uZW50LnByaXZhdGUtdHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2dyYW5pdGUtY29tcG9uZW50cy9zcmMvbGliL2NvbnRhY3RzL2NvbnRhY3RzLXR5cGVzL2NvbnRhY3RzLmNvbXBvbmVudC5wcml2YXRlLXR5cGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBUZW1wbGF0ZVJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29udGFjdCwgUHJvZmlsZSB9IGZyb20gJy4vY29udGFjdHMuY29tcG9uZW50LnB1YmxpYy10eXBlcyc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ29udGFjdEV4dGVuZGVkIGV4dGVuZHMgQ29udGFjdCB7XG4gIHN0YXR1c1RlbXBsYXRlPzogVGVtcGxhdGVSZWY8dW5rbm93bj47XG59XG5cbmV4cG9ydCB0eXBlIFByb2ZpbGVEYXRhID0gT21pdDxQcm9maWxlLCAnbmFtZSc+ICYge1xuICBpbml0aWFsczogc3RyaW5nO1xufTtcbiJdfQ==
@@ -6,4 +6,4 @@ export const CONTACT_DEFAULT_STATUS = {
6
6
  DO_NOT_DISTURB: 'DoNotDisturb',
7
7
  OFFLINE: 'Offline',
8
8
  };
9
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGFjdHMuY29tcG9uZW50LnB1YmxpYy10eXBlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvZ3Jhbml0ZS1jb21wb25lbnRzL3NyYy9saWIvY29udGFjdHMvY29udGFjdHMtdHlwZXMvY29udGFjdHMuY29tcG9uZW50LnB1YmxpYy10eXBlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFHQSxNQUFNLENBQUMsTUFBTSxzQkFBc0IsR0FBRztJQUNwQyxTQUFTLEVBQUUsV0FBVztJQUN0QixJQUFJLEVBQUUsTUFBTTtJQUNaLGFBQWEsRUFBRSxhQUFhO0lBQzVCLElBQUksRUFBRSxNQUFNO0lBQ1osY0FBYyxFQUFFLGNBQWM7SUFDOUIsT0FBTyxFQUFFLFNBQVM7Q0FDVixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHR5cGUgQ29udGFjdERlZmF1bHRTdGF0dXNlcyA9XG4gICh0eXBlb2YgQ09OVEFDVF9ERUZBVUxUX1NUQVRVUylba2V5b2YgdHlwZW9mIENPTlRBQ1RfREVGQVVMVF9TVEFUVVNdO1xuXG5leHBvcnQgY29uc3QgQ09OVEFDVF9ERUZBVUxUX1NUQVRVUyA9IHtcbiAgQVZBSUxBQkxFOiAnQXZhaWxhYmxlJyxcbiAgQVdBWTogJ0F3YXknLFxuICBCRV9SSUdIVF9CQUNLOiAnQmVSaWdodEJhY2snLFxuICBCVVNZOiAnQnVzeScsXG4gIERPX05PVF9ESVNUVVJCOiAnRG9Ob3REaXN0dXJiJyxcbiAgT0ZGTElORTogJ09mZmxpbmUnLFxufSBhcyBjb25zdDtcblxuZXhwb3J0IGludGVyZmFjZSBDb250YWN0PFQgPSB1bmtub3duPiB7XG4gIG5hbWU6IHN0cmluZztcbiAgbGFiZWw6IHN0cmluZztcbiAgaWNvbk5hbWU/OiBzdHJpbmc7XG4gIHN0YXR1cz86IENvbnRhY3REZWZhdWx0U3RhdHVzZXMgfCBzdHJpbmc7XG4gIG9wdGlvbnM/OiBDb250YWN0T3B0aW9uPFQ+W107XG4gIGRpc2FibGVkPzogYm9vbGVhbjtcbiAgZGF0YT86IFQ7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU2VsZWN0ZWRDb250YWN0PFQgPSB1bmtub3duPiB7XG4gIGNvbnRhY3Q6IENvbnRhY3RPcHRpb248VD47XG4gIHBhcmVudD86IENvbnRhY3Q8VD47XG59XG5cbmV4cG9ydCB0eXBlIENvbnRhY3RPcHRpb248VCA9IHVua25vd24+ID0gT21pdDxDb250YWN0PFQ+LCAnb3B0aW9ucyc+O1xuXG5leHBvcnQgaW50ZXJmYWNlIFByb2ZpbGUge1xuICBuYW1lPzogc3RyaW5nO1xuICBzdXJuYW1lPzogc3RyaW5nO1xuICBqb2JUaXRsZT86IHN0cmluZztcbiAgYXZhdGFyPzogc3RyaW5nO1xufVxuIl19
9
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGFjdHMuY29tcG9uZW50LnB1YmxpYy10eXBlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvZ3Jhbml0ZS1jb21wb25lbnRzL3NyYy9saWIvY29udGFjdHMvY29udGFjdHMtdHlwZXMvY29udGFjdHMuY29tcG9uZW50LnB1YmxpYy10eXBlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFHQSxNQUFNLENBQUMsTUFBTSxzQkFBc0IsR0FBRztJQUNwQyxTQUFTLEVBQUUsV0FBVztJQUN0QixJQUFJLEVBQUUsTUFBTTtJQUNaLGFBQWEsRUFBRSxhQUFhO0lBQzVCLElBQUksRUFBRSxNQUFNO0lBQ1osY0FBYyxFQUFFLGNBQWM7SUFDOUIsT0FBTyxFQUFFLFNBQVM7Q0FDVixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHR5cGUgQ29udGFjdERlZmF1bHRTdGF0dXNlcyA9XG4gICh0eXBlb2YgQ09OVEFDVF9ERUZBVUxUX1NUQVRVUylba2V5b2YgdHlwZW9mIENPTlRBQ1RfREVGQVVMVF9TVEFUVVNdO1xuXG5leHBvcnQgY29uc3QgQ09OVEFDVF9ERUZBVUxUX1NUQVRVUyA9IHtcbiAgQVZBSUxBQkxFOiAnQXZhaWxhYmxlJyxcbiAgQVdBWTogJ0F3YXknLFxuICBCRV9SSUdIVF9CQUNLOiAnQmVSaWdodEJhY2snLFxuICBCVVNZOiAnQnVzeScsXG4gIERPX05PVF9ESVNUVVJCOiAnRG9Ob3REaXN0dXJiJyxcbiAgT0ZGTElORTogJ09mZmxpbmUnLFxufSBhcyBjb25zdDtcblxuZXhwb3J0IGludGVyZmFjZSBDb250YWN0PFQgPSB1bmtub3duPiB7XG4gIG5hbWU6IHN0cmluZztcbiAgbGFiZWw6IHN0cmluZztcbiAgaWNvbk5hbWU/OiBzdHJpbmc7XG4gIHN0YXR1cz86IENvbnRhY3REZWZhdWx0U3RhdHVzZXMgfCBzdHJpbmc7XG4gIG9wdGlvbnM/OiBDb250YWN0T3B0aW9uPFQ+W107XG4gIGRpc2FibGVkPzogYm9vbGVhbjtcbiAgZGF0YT86IFQ7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU2VsZWN0ZWRDb250YWN0PFQgPSB1bmtub3duPiB7XG4gIGNvbnRhY3Q6IENvbnRhY3RPcHRpb248VD47XG4gIHBhcmVudD86IENvbnRhY3Q8VD47XG59XG5cbmV4cG9ydCB0eXBlIENvbnRhY3RPcHRpb248VCA9IHVua25vd24+ID0gT21pdDxDb250YWN0PFQ+LCAnb3B0aW9ucyc+O1xuXG5leHBvcnQgaW50ZXJmYWNlIFByb2ZpbGUge1xuICBmaXJzdE5hbWU/OiBzdHJpbmc7XG4gIGxhc3ROYW1lPzogc3RyaW5nO1xuICBuYW1lPzogc3RyaW5nO1xuICBqb2JUaXRsZT86IHN0cmluZztcbiAgYXZhdGFyPzogc3RyaW5nO1xufVxuIl19
@@ -1,14 +1,16 @@
1
- import { ChangeDetectionStrategy, Component, Input, Output, EventEmitter, ContentChildren, QueryList, ContentChild, } from '@angular/core';
1
+ import { ChangeDetectionStrategy, Component, Input, Output, EventEmitter, ContentChildren, QueryList, ContentChild, ChangeDetectorRef, } from '@angular/core';
2
2
  import { ContactsTriggerDataComponent } from './contacts-trigger/contacts-trigger-data';
3
3
  import { GraniteCustomStatusDirective } from './custom-status.directive';
4
4
  import { GraniteCustomProfileDirective } from './custom-profile.directive';
5
+ import { NamesUtilsService } from '../core/services/names-utils-service';
5
6
  import * as i0 from "@angular/core";
6
7
  import * as i1 from "@angular/common";
7
8
  import * as i2 from "./contacts-profile/contacts-profile.component";
8
9
  import * as i3 from "./contact-item/contact-item.component";
9
10
  export class GraniteContactsComponent extends ContactsTriggerDataComponent {
10
- constructor() {
11
- super(...arguments);
11
+ constructor(cd) {
12
+ super();
13
+ this.cd = cd;
12
14
  this.contacts = [];
13
15
  this.defaultShow = false;
14
16
  this.selectedContact = new EventEmitter();
@@ -18,6 +20,11 @@ export class GraniteContactsComponent extends ContactsTriggerDataComponent {
18
20
  if (changes.contacts && !changes.contacts.currentValue) {
19
21
  this.contacts = [];
20
22
  }
23
+ if (changes.profile?.currentValue) {
24
+ const profile = changes.profile.currentValue;
25
+ this._profile = this.createProfileData(profile);
26
+ }
27
+ this.cd.markForCheck();
21
28
  }
22
29
  ngAfterContentChecked() {
23
30
  this._contactsExtended = this.setProperCustomStatusTemplates(this._customStatuses.toArray(), this.contacts);
@@ -41,15 +48,29 @@ export class GraniteContactsComponent extends ContactsTriggerDataComponent {
41
48
  return result;
42
49
  });
43
50
  }
44
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: GraniteContactsComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
45
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.4", type: GraniteContactsComponent, selector: "granite-contacts", inputs: { contacts: "contacts", contactsClass: "contactsClass", profile: "profile", profileClass: "profileClass", defaultShow: "defaultShow" }, outputs: { selectedContact: "selectedContact" }, host: { classAttribute: "granite-contacts" }, queries: [{ propertyName: "customProfileDirective", first: true, predicate: GraniteCustomProfileDirective, descendants: true }, { propertyName: "_customStatuses", predicate: GraniteCustomStatusDirective }], exportAs: ["graniteContacts"], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<ng-template #contactsTemplate>\n <div data-fnd=\"contacts\" [class]=\"contactsClass\" class=\"granite-contact\">\n <ng-container *ngIf=\"customProfileDirective; else defaultProfile\">\n <ng-container\n *ngTemplateOutlet=\"customProfileDirective.templateRef\"\n ></ng-container>\n </ng-container>\n\n <ng-template #defaultProfile>\n <granite-contacts-profile\n data-fnd=\"default-profile\"\n [profileClass]=\"profileClass\"\n [profile]=\"profile\"\n ></granite-contacts-profile>\n </ng-template>\n\n <ul class=\"contact-list\">\n <li *ngFor=\"let contact of _contactsExtended\">\n <granite-contact-item\n [contact]=\"contact\"\n (selectedContact)=\"onSelectedContact($event)\"\n ></granite-contact-item>\n </li>\n </ul>\n </div>\n</ng-template>\n\n<ng-container *ngIf=\"defaultShow\">\n <ng-container *ngTemplateOutlet=\"contactsTemplate\"></ng-container>\n</ng-container>\n", styles: [".granite-contact{display:inline-block;font-size:var(--granite-font-size-body);font-family:var(--granite-font-family-default);color:var(--granite-color-text-weak);height:-moz-fit-content;height:fit-content;min-width:10rem;max-width:20rem;padding:var(--granite-spacing-16);box-shadow:var(--granite-shadow-popover);background:var(--granite-color-background-variant)}.granite-contact .contact-list{display:flex;flex-direction:column;align-items:flex-start;gap:var(--granite-spacing-8);list-style-type:none;padding:0;margin:0}\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: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i2.GraniteContactsProfileComponent, selector: "granite-contacts-profile", inputs: ["profile", "profileClass"] }, { kind: "component", type: i3.GraniteContactItemComponent, selector: "granite-contact-item", inputs: ["contact"], outputs: ["selectedContact"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
51
+ createProfileData(profile) {
52
+ const nameData = NamesUtilsService.buildNameData({
53
+ firstName: profile.firstName,
54
+ lastName: profile.lastName,
55
+ name: profile.name,
56
+ });
57
+ return {
58
+ firstName: nameData.firstName,
59
+ lastName: nameData.lastName,
60
+ initials: nameData.initials,
61
+ jobTitle: profile.jobTitle,
62
+ avatar: profile.avatar,
63
+ };
64
+ }
65
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: GraniteContactsComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
66
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.4", type: GraniteContactsComponent, selector: "granite-contacts", inputs: { contacts: "contacts", contactsClass: "contactsClass", profile: "profile", profileClass: "profileClass", defaultShow: "defaultShow" }, outputs: { selectedContact: "selectedContact" }, host: { classAttribute: "granite-contacts" }, queries: [{ propertyName: "customProfileDirective", first: true, predicate: GraniteCustomProfileDirective, descendants: true }, { propertyName: "_customStatuses", predicate: GraniteCustomStatusDirective }], exportAs: ["graniteContacts"], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<ng-template #contactsTemplate>\n <div data-fnd=\"contacts\" [class]=\"contactsClass\" class=\"granite-contact\">\n <ng-container *ngIf=\"customProfileDirective; else defaultProfile\">\n <ng-container\n *ngTemplateOutlet=\"customProfileDirective.templateRef\"\n ></ng-container>\n </ng-container>\n\n <ng-template #defaultProfile>\n <granite-contacts-profile\n data-fnd=\"default-profile\"\n [profileClass]=\"profileClass\"\n [profile]=\"_profile\"\n ></granite-contacts-profile>\n </ng-template>\n\n <ul class=\"contact-list\">\n <li *ngFor=\"let contact of _contactsExtended\">\n <granite-contact-item\n [contact]=\"contact\"\n (selectedContact)=\"onSelectedContact($event)\"\n ></granite-contact-item>\n </li>\n </ul>\n </div>\n</ng-template>\n\n<ng-container *ngIf=\"defaultShow\">\n <ng-container *ngTemplateOutlet=\"contactsTemplate\"></ng-container>\n</ng-container>\n", styles: [".granite-contact{display:inline-block;font-size:var(--granite-font-size-body);font-family:var(--granite-font-family-default);color:var(--granite-color-text-weak);height:-moz-fit-content;height:fit-content;min-width:10rem;max-width:20rem;padding:var(--granite-spacing-16);box-shadow:var(--granite-shadow-popover);background:var(--granite-color-background-variant)}.granite-contact .contact-list{display:flex;flex-direction:column;align-items:flex-start;gap:var(--granite-spacing-8);list-style-type:none;padding:0;margin:0}\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: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i2.GraniteContactsProfileComponent, selector: "granite-contacts-profile", inputs: ["profile", "profileClass"] }, { kind: "component", type: i3.GraniteContactItemComponent, selector: "granite-contact-item", inputs: ["contact"], outputs: ["selectedContact"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
46
67
  }
47
68
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: GraniteContactsComponent, decorators: [{
48
69
  type: Component,
49
70
  args: [{ selector: 'granite-contacts', exportAs: 'graniteContacts', host: {
50
71
  class: 'granite-contacts',
51
- }, changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-template #contactsTemplate>\n <div data-fnd=\"contacts\" [class]=\"contactsClass\" class=\"granite-contact\">\n <ng-container *ngIf=\"customProfileDirective; else defaultProfile\">\n <ng-container\n *ngTemplateOutlet=\"customProfileDirective.templateRef\"\n ></ng-container>\n </ng-container>\n\n <ng-template #defaultProfile>\n <granite-contacts-profile\n data-fnd=\"default-profile\"\n [profileClass]=\"profileClass\"\n [profile]=\"profile\"\n ></granite-contacts-profile>\n </ng-template>\n\n <ul class=\"contact-list\">\n <li *ngFor=\"let contact of _contactsExtended\">\n <granite-contact-item\n [contact]=\"contact\"\n (selectedContact)=\"onSelectedContact($event)\"\n ></granite-contact-item>\n </li>\n </ul>\n </div>\n</ng-template>\n\n<ng-container *ngIf=\"defaultShow\">\n <ng-container *ngTemplateOutlet=\"contactsTemplate\"></ng-container>\n</ng-container>\n", styles: [".granite-contact{display:inline-block;font-size:var(--granite-font-size-body);font-family:var(--granite-font-family-default);color:var(--granite-color-text-weak);height:-moz-fit-content;height:fit-content;min-width:10rem;max-width:20rem;padding:var(--granite-spacing-16);box-shadow:var(--granite-shadow-popover);background:var(--granite-color-background-variant)}.granite-contact .contact-list{display:flex;flex-direction:column;align-items:flex-start;gap:var(--granite-spacing-8);list-style-type:none;padding:0;margin:0}\n"] }]
52
- }], propDecorators: { contacts: [{
72
+ }, changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-template #contactsTemplate>\n <div data-fnd=\"contacts\" [class]=\"contactsClass\" class=\"granite-contact\">\n <ng-container *ngIf=\"customProfileDirective; else defaultProfile\">\n <ng-container\n *ngTemplateOutlet=\"customProfileDirective.templateRef\"\n ></ng-container>\n </ng-container>\n\n <ng-template #defaultProfile>\n <granite-contacts-profile\n data-fnd=\"default-profile\"\n [profileClass]=\"profileClass\"\n [profile]=\"_profile\"\n ></granite-contacts-profile>\n </ng-template>\n\n <ul class=\"contact-list\">\n <li *ngFor=\"let contact of _contactsExtended\">\n <granite-contact-item\n [contact]=\"contact\"\n (selectedContact)=\"onSelectedContact($event)\"\n ></granite-contact-item>\n </li>\n </ul>\n </div>\n</ng-template>\n\n<ng-container *ngIf=\"defaultShow\">\n <ng-container *ngTemplateOutlet=\"contactsTemplate\"></ng-container>\n</ng-container>\n", styles: [".granite-contact{display:inline-block;font-size:var(--granite-font-size-body);font-family:var(--granite-font-family-default);color:var(--granite-color-text-weak);height:-moz-fit-content;height:fit-content;min-width:10rem;max-width:20rem;padding:var(--granite-spacing-16);box-shadow:var(--granite-shadow-popover);background:var(--granite-color-background-variant)}.granite-contact .contact-list{display:flex;flex-direction:column;align-items:flex-start;gap:var(--granite-spacing-8);list-style-type:none;padding:0;margin:0}\n"] }]
73
+ }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }], propDecorators: { contacts: [{
53
74
  type: Input
54
75
  }], contactsClass: [{
55
76
  type: Input
@@ -68,4 +89,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.4", ngImpor
68
89
  type: ContentChild,
69
90
  args: [GraniteCustomProfileDirective]
70
91
  }] } });
71
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGFjdHMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9ncmFuaXRlLWNvbXBvbmVudHMvc3JjL2xpYi9jb250YWN0cy9jb250YWN0cy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2dyYW5pdGUtY29tcG9uZW50cy9zcmMvbGliL2NvbnRhY3RzL2NvbnRhY3RzLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULEtBQUssRUFDTCxNQUFNLEVBQ04sWUFBWSxFQUNaLGVBQWUsRUFDZixTQUFTLEVBRVQsWUFBWSxHQUdiLE1BQU0sZUFBZSxDQUFDO0FBTXZCLE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLDBDQUEwQyxDQUFDO0FBQ3hGLE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBRXpFLE9BQU8sRUFBRSw2QkFBNkIsRUFBRSxNQUFNLDRCQUE0QixDQUFDOzs7OztBQVczRSxNQUFNLE9BQU8sd0JBQ1gsU0FBUSw0QkFBNEI7SUFYdEM7O1FBY1csYUFBUSxHQUFjLEVBQUUsQ0FBQztRQUl6QixnQkFBVyxHQUFHLEtBQUssQ0FBQztRQUVWLG9CQUFlLEdBQUcsSUFBSSxZQUFZLEVBQW1CLENBQUM7UUFRekUsc0JBQWlCLEdBQXNCLEVBQUUsQ0FBQztLQWdEM0M7SUE5Q0MsV0FBVyxDQUFDLE9BQXNCO1FBQ2hDLElBQUksT0FBTyxDQUFDLFFBQVEsSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsWUFBWSxFQUFFLENBQUM7WUFDdkQsSUFBSSxDQUFDLFFBQVEsR0FBRyxFQUFFLENBQUM7UUFDckIsQ0FBQztJQUNILENBQUM7SUFFRCxxQkFBcUI7UUFDbkIsSUFBSSxDQUFDLGlCQUFpQixHQUFHLElBQUksQ0FBQyw4QkFBOEIsQ0FDMUQsSUFBSSxDQUFDLGVBQWUsQ0FBQyxPQUFPLEVBQUUsRUFDOUIsSUFBSSxDQUFDLFFBQVEsQ0FDZCxDQUFDO0lBQ0osQ0FBQztJQUVELGlCQUFpQixDQUFDLE9BQXdCO1FBQ3hDLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ3JDLENBQUM7SUFFTyw4QkFBOEIsQ0FDcEMsc0JBQXNELEVBQ3RELFFBQW1CO1FBRW5CLE9BQU8sSUFBSSxDQUFDLGNBQWMsQ0FBQyxRQUFRLEVBQUUsc0JBQXNCLENBQUMsQ0FBQztJQUMvRCxDQUFDO0lBRU8sY0FBYyxDQUNwQixRQUF1QyxFQUN2QyxVQUEwQztRQUUxQyxPQUFPLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRTtZQUMzQixNQUFNLGlCQUFpQixHQUFHLFVBQVUsQ0FBQyxJQUFJLENBQ3ZDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsbUJBQW1CLEtBQUssSUFBSSxDQUFDLE1BQU0sQ0FDN0MsQ0FBQztZQUVGLE1BQU0sTUFBTSxHQUFHLEVBQUUsR0FBRyxJQUFJLEVBQUUsQ0FBQztZQUUzQixJQUFJLGlCQUFpQixFQUFFLENBQUM7Z0JBQ3RCLE1BQU0sQ0FBQyxjQUFjLEdBQUcsaUJBQWlCLENBQUMsV0FBVyxDQUFDO1lBQ3hELENBQUM7WUFFRCxJQUFJLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztnQkFDakIsTUFBTSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsVUFBVSxDQUFDLENBQUM7WUFDakUsQ0FBQztZQUVELE9BQU8sTUFBTSxDQUFDO1FBQ2hCLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzs4R0FqRVUsd0JBQXdCO2tHQUF4Qix3QkFBd0IsMlZBZXJCLDZCQUE2QixxRUFIMUIsNEJBQTRCLHdHQzVDL0MsMjlCQThCQTs7MkZERWEsd0JBQXdCO2tCQVZwQyxTQUFTOytCQUNFLGtCQUFrQixZQUNsQixpQkFBaUIsUUFDckI7d0JBQ0osS0FBSyxFQUFFLGtCQUFrQjtxQkFDMUIsbUJBR2dCLHVCQUF1QixDQUFDLE1BQU07OEJBTXRDLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csYUFBYTtzQkFBckIsS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csWUFBWTtzQkFBcEIsS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLO2dCQUVhLGVBQWU7c0JBQWpDLE1BQU07Z0JBR1AsZUFBZTtzQkFEZCxlQUFlO3VCQUFDLDRCQUE0QjtnQkFJN0Msc0JBQXNCO3NCQURyQixZQUFZO3VCQUFDLDZCQUE2QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDb21wb25lbnQsXG4gIElucHV0LFxuICBPdXRwdXQsXG4gIEV2ZW50RW1pdHRlcixcbiAgQ29udGVudENoaWxkcmVuLFxuICBRdWVyeUxpc3QsXG4gIEFmdGVyQ29udGVudENoZWNrZWQsXG4gIENvbnRlbnRDaGlsZCxcbiAgT25DaGFuZ2VzLFxuICBTaW1wbGVDaGFuZ2VzLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gIENvbnRhY3QsXG4gIFByb2ZpbGUsXG4gIFNlbGVjdGVkQ29udGFjdCxcbn0gZnJvbSAnLi9jb250YWN0cy10eXBlcy9jb250YWN0cy5jb21wb25lbnQucHVibGljLXR5cGVzJztcbmltcG9ydCB7IENvbnRhY3RzVHJpZ2dlckRhdGFDb21wb25lbnQgfSBmcm9tICcuL2NvbnRhY3RzLXRyaWdnZXIvY29udGFjdHMtdHJpZ2dlci1kYXRhJztcbmltcG9ydCB7IEdyYW5pdGVDdXN0b21TdGF0dXNEaXJlY3RpdmUgfSBmcm9tICcuL2N1c3RvbS1zdGF0dXMuZGlyZWN0aXZlJztcbmltcG9ydCB7IENvbnRhY3RFeHRlbmRlZCB9IGZyb20gJy4vY29udGFjdHMtdHlwZXMvY29udGFjdHMuY29tcG9uZW50LnByaXZhdGUtdHlwZXMnO1xuaW1wb3J0IHsgR3Jhbml0ZUN1c3RvbVByb2ZpbGVEaXJlY3RpdmUgfSBmcm9tICcuL2N1c3RvbS1wcm9maWxlLmRpcmVjdGl2ZSc7XG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdncmFuaXRlLWNvbnRhY3RzJyxcbiAgZXhwb3J0QXM6ICdncmFuaXRlQ29udGFjdHMnLFxuICBob3N0OiB7XG4gICAgY2xhc3M6ICdncmFuaXRlLWNvbnRhY3RzJyxcbiAgfSxcbiAgdGVtcGxhdGVVcmw6ICcuL2NvbnRhY3RzLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vY29udGFjdHMuY29tcG9uZW50LnNjc3MnXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIEdyYW5pdGVDb250YWN0c0NvbXBvbmVudFxuICBleHRlbmRzIENvbnRhY3RzVHJpZ2dlckRhdGFDb21wb25lbnRcbiAgaW1wbGVtZW50cyBPbkNoYW5nZXMsIEFmdGVyQ29udGVudENoZWNrZWRcbntcbiAgQElucHV0KCkgY29udGFjdHM6IENvbnRhY3RbXSA9IFtdO1xuICBASW5wdXQoKSBjb250YWN0c0NsYXNzOiBzdHJpbmc7XG4gIEBJbnB1dCgpIHByb2ZpbGU6IFByb2ZpbGUgfCB1bmtub3duO1xuICBASW5wdXQoKSBwcm9maWxlQ2xhc3M6IHN0cmluZztcbiAgQElucHV0KCkgZGVmYXVsdFNob3cgPSBmYWxzZTtcblxuICBAT3V0cHV0KCkgcmVhZG9ubHkgc2VsZWN0ZWRDb250YWN0ID0gbmV3IEV2ZW50RW1pdHRlcjxTZWxlY3RlZENvbnRhY3Q+KCk7XG5cbiAgQENvbnRlbnRDaGlsZHJlbihHcmFuaXRlQ3VzdG9tU3RhdHVzRGlyZWN0aXZlKVxuICBfY3VzdG9tU3RhdHVzZXM6IFF1ZXJ5TGlzdDxHcmFuaXRlQ3VzdG9tU3RhdHVzRGlyZWN0aXZlPjtcblxuICBAQ29udGVudENoaWxkKEdyYW5pdGVDdXN0b21Qcm9maWxlRGlyZWN0aXZlKVxuICBjdXN0b21Qcm9maWxlRGlyZWN0aXZlOiBHcmFuaXRlQ3VzdG9tUHJvZmlsZURpcmVjdGl2ZTtcblxuICBfY29udGFjdHNFeHRlbmRlZDogQ29udGFjdEV4dGVuZGVkW10gPSBbXTtcblxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgaWYgKGNoYW5nZXMuY29udGFjdHMgJiYgIWNoYW5nZXMuY29udGFjdHMuY3VycmVudFZhbHVlKSB7XG4gICAgICB0aGlzLmNvbnRhY3RzID0gW107XG4gICAgfVxuICB9XG5cbiAgbmdBZnRlckNvbnRlbnRDaGVja2VkKCk6IHZvaWQge1xuICAgIHRoaXMuX2NvbnRhY3RzRXh0ZW5kZWQgPSB0aGlzLnNldFByb3BlckN1c3RvbVN0YXR1c1RlbXBsYXRlcyhcbiAgICAgIHRoaXMuX2N1c3RvbVN0YXR1c2VzLnRvQXJyYXkoKSxcbiAgICAgIHRoaXMuY29udGFjdHNcbiAgICApO1xuICB9XG5cbiAgb25TZWxlY3RlZENvbnRhY3QoY29udGFjdDogU2VsZWN0ZWRDb250YWN0KTogdm9pZCB7XG4gICAgdGhpcy5zZWxlY3RlZENvbnRhY3QuZW1pdChjb250YWN0KTtcbiAgfVxuXG4gIHByaXZhdGUgc2V0UHJvcGVyQ3VzdG9tU3RhdHVzVGVtcGxhdGVzKFxuICAgIGN1c3RvbVN0YXR1c0RpcmVjdGl2ZXM6IEdyYW5pdGVDdXN0b21TdGF0dXNEaXJlY3RpdmVbXSxcbiAgICBjb250YWN0czogQ29udGFjdFtdXG4gICk6IENvbnRhY3RFeHRlbmRlZFtdIHtcbiAgICByZXR1cm4gdGhpcy5hcHBseVRlbXBsYXRlcyhjb250YWN0cywgY3VzdG9tU3RhdHVzRGlyZWN0aXZlcyk7XG4gIH1cblxuICBwcml2YXRlIGFwcGx5VGVtcGxhdGVzKFxuICAgIGNvbnRhY3RzOiBDb250YWN0W10gfCBDb250YWN0RXh0ZW5kZWRbXSxcbiAgICBkaXJlY3RpdmVzOiBHcmFuaXRlQ3VzdG9tU3RhdHVzRGlyZWN0aXZlW11cbiAgKTogQ29udGFjdEV4dGVuZGVkW10ge1xuICAgIHJldHVybiBjb250YWN0cy5tYXAoKGl0ZW0pID0+IHtcbiAgICAgIGNvbnN0IG1hdGNoaW5nRGlyZWN0aXZlID0gZGlyZWN0aXZlcy5maW5kKFxuICAgICAgICAoZCkgPT4gZC5ncmFuaXRlQ3VzdG9tU3RhdHVzID09PSBpdGVtLnN0YXR1c1xuICAgICAgKTtcblxuICAgICAgY29uc3QgcmVzdWx0ID0geyAuLi5pdGVtIH07XG5cbiAgICAgIGlmIChtYXRjaGluZ0RpcmVjdGl2ZSkge1xuICAgICAgICByZXN1bHQuc3RhdHVzVGVtcGxhdGUgPSBtYXRjaGluZ0RpcmVjdGl2ZS50ZW1wbGF0ZVJlZjtcbiAgICAgIH1cblxuICAgICAgaWYgKGl0ZW0ub3B0aW9ucykge1xuICAgICAgICByZXN1bHQub3B0aW9ucyA9IHRoaXMuYXBwbHlUZW1wbGF0ZXMoaXRlbS5vcHRpb25zLCBkaXJlY3RpdmVzKTtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICB9KTtcbiAgfVxufVxuIiwiPG5nLXRlbXBsYXRlICNjb250YWN0c1RlbXBsYXRlPlxuICA8ZGl2IGRhdGEtZm5kPVwiY29udGFjdHNcIiBbY2xhc3NdPVwiY29udGFjdHNDbGFzc1wiIGNsYXNzPVwiZ3Jhbml0ZS1jb250YWN0XCI+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImN1c3RvbVByb2ZpbGVEaXJlY3RpdmU7IGVsc2UgZGVmYXVsdFByb2ZpbGVcIj5cbiAgICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgKm5nVGVtcGxhdGVPdXRsZXQ9XCJjdXN0b21Qcm9maWxlRGlyZWN0aXZlLnRlbXBsYXRlUmVmXCJcbiAgICAgID48L25nLWNvbnRhaW5lcj5cbiAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgIDxuZy10ZW1wbGF0ZSAjZGVmYXVsdFByb2ZpbGU+XG4gICAgICA8Z3Jhbml0ZS1jb250YWN0cy1wcm9maWxlXG4gICAgICAgIGRhdGEtZm5kPVwiZGVmYXVsdC1wcm9maWxlXCJcbiAgICAgICAgW3Byb2ZpbGVDbGFzc109XCJwcm9maWxlQ2xhc3NcIlxuICAgICAgICBbcHJvZmlsZV09XCJwcm9maWxlXCJcbiAgICAgID48L2dyYW5pdGUtY29udGFjdHMtcHJvZmlsZT5cbiAgICA8L25nLXRlbXBsYXRlPlxuXG4gICAgPHVsIGNsYXNzPVwiY29udGFjdC1saXN0XCI+XG4gICAgICA8bGkgKm5nRm9yPVwibGV0IGNvbnRhY3Qgb2YgX2NvbnRhY3RzRXh0ZW5kZWRcIj5cbiAgICAgICAgPGdyYW5pdGUtY29udGFjdC1pdGVtXG4gICAgICAgICAgW2NvbnRhY3RdPVwiY29udGFjdFwiXG4gICAgICAgICAgKHNlbGVjdGVkQ29udGFjdCk9XCJvblNlbGVjdGVkQ29udGFjdCgkZXZlbnQpXCJcbiAgICAgICAgPjwvZ3Jhbml0ZS1jb250YWN0LWl0ZW0+XG4gICAgICA8L2xpPlxuICAgIDwvdWw+XG4gIDwvZGl2PlxuPC9uZy10ZW1wbGF0ZT5cblxuPG5nLWNvbnRhaW5lciAqbmdJZj1cImRlZmF1bHRTaG93XCI+XG4gIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJjb250YWN0c1RlbXBsYXRlXCI+PC9uZy1jb250YWluZXI+XG48L25nLWNvbnRhaW5lcj5cbiJdfQ==
92
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGFjdHMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9ncmFuaXRlLWNvbXBvbmVudHMvc3JjL2xpYi9jb250YWN0cy9jb250YWN0cy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2dyYW5pdGUtY29tcG9uZW50cy9zcmMvbGliL2NvbnRhY3RzL2NvbnRhY3RzLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULEtBQUssRUFDTCxNQUFNLEVBQ04sWUFBWSxFQUNaLGVBQWUsRUFDZixTQUFTLEVBRVQsWUFBWSxFQUdaLGlCQUFpQixHQUNsQixNQUFNLGVBQWUsQ0FBQztBQU12QixPQUFPLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQztBQUN4RixPQUFPLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUt6RSxPQUFPLEVBQUUsNkJBQTZCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUMzRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQzs7Ozs7QUFZekUsTUFBTSxPQUFPLHdCQUNYLFNBQVEsNEJBQTRCO0lBb0JwQyxZQUFvQixFQUFxQjtRQUN2QyxLQUFLLEVBQUUsQ0FBQztRQURVLE9BQUUsR0FBRixFQUFFLENBQW1CO1FBakJoQyxhQUFRLEdBQWMsRUFBRSxDQUFDO1FBSXpCLGdCQUFXLEdBQUcsS0FBSyxDQUFDO1FBRVYsb0JBQWUsR0FBRyxJQUFJLFlBQVksRUFBbUIsQ0FBQztRQVF6RSxzQkFBaUIsR0FBc0IsRUFBRSxDQUFDO0lBSzFDLENBQUM7SUFFRCxXQUFXLENBQUMsT0FBc0I7UUFDaEMsSUFBSSxPQUFPLENBQUMsUUFBUSxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxZQUFZLEVBQUUsQ0FBQztZQUN2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RGQsZUFBZTt1QkFBQyw0QkFBNEI7Z0JBSTdDLHNCQUFzQjtzQkFEckIsWUFBWTt1QkFBQyw2QkFBNkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ29tcG9uZW50LFxuICBJbnB1dCxcbiAgT3V0cHV0LFxuICBFdmVudEVtaXR0ZXIsXG4gIENvbnRlbnRDaGlsZHJlbixcbiAgUXVlcnlMaXN0LFxuICBBZnRlckNvbnRlbnRDaGVja2VkLFxuICBDb250ZW50Q2hpbGQsXG4gIE9uQ2hhbmdlcyxcbiAgU2ltcGxlQ2hhbmdlcyxcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgQ29udGFjdCxcbiAgUHJvZmlsZSxcbiAgU2VsZWN0ZWRDb250YWN0LFxufSBmcm9tICcuL2NvbnRhY3RzLXR5cGVzL2NvbnRhY3RzLmNvbXBvbmVudC5wdWJsaWMtdHlwZXMnO1xuaW1wb3J0IHsgQ29udGFjdHNUcmlnZ2VyRGF0YUNvbXBvbmVudCB9IGZyb20gJy4vY29udGFjdHMtdHJpZ2dlci9jb250YWN0cy10cmlnZ2VyLWRhdGEnO1xuaW1wb3J0IHsgR3Jhbml0ZUN1c3RvbVN0YXR1c0RpcmVjdGl2ZSB9IGZyb20gJy4vY3VzdG9tLXN0YXR1cy5kaXJlY3RpdmUnO1xuaW1wb3J0IHtcbiAgQ29udGFjdEV4dGVuZGVkLFxuICBQcm9maWxlRGF0YSxcbn0gZnJvbSAnLi9jb250YWN0cy10eXBlcy9jb250YWN0cy5jb21wb25lbnQucHJpdmF0ZS10eXBlcyc7XG5pbXBvcnQgeyBHcmFuaXRlQ3VzdG9tUHJvZmlsZURpcmVjdGl2ZSB9IGZyb20gJy4vY3VzdG9tLXByb2ZpbGUuZGlyZWN0aXZlJztcbmltcG9ydCB7IE5hbWVzVXRpbHNTZXJ2aWNlIH0gZnJvbSAnLi4vY29yZS9zZXJ2aWNlcy9uYW1lcy11dGlscy1zZXJ2aWNlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZ3Jhbml0ZS1jb250YWN0cycsXG4gIGV4cG9ydEFzOiAnZ3Jhbml0ZUNvbnRhY3RzJyxcbiAgaG9zdDoge1xuICAgIGNsYXNzOiAnZ3Jhbml0ZS1jb250YWN0cycsXG4gIH0sXG4gIHRlbXBsYXRlVXJsOiAnLi9jb250YWN0cy5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2NvbnRhY3RzLmNvbXBvbmVudC5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBHcmFuaXRlQ29udGFjdHNDb21wb25lbnRcbiAgZXh0ZW5kcyBDb250YWN0c1RyaWdnZXJEYXRhQ29tcG9uZW50XG4gIGltcGxlbWVudHMgT25DaGFuZ2VzLCBBZnRlckNvbnRlbnRDaGVja2VkXG57XG4gIEBJbnB1dCgpIGNvbnRhY3RzOiBDb250YWN0W10gPSBbXTtcbiAgQElucHV0KCkgY29udGFjdHNDbGFzczogc3RyaW5nO1xuICBASW5wdXQoKSBwcm9maWxlOiBQcm9maWxlIHwgdW5rbm93bjtcbiAgQElucHV0KCkgcHJvZmlsZUNsYXNzOiBzdHJpbmc7XG4gIEBJbnB1dCgpIGRlZmF1bHRTaG93ID0gZmFsc2U7XG5cbiAgQE91dHB1dCgpIHJlYWRvbmx5IHNlbGVjdGVkQ29udGFjdCA9IG5ldyBFdmVudEVtaXR0ZXI8U2VsZWN0ZWRDb250YWN0PigpO1xuXG4gIEBDb250ZW50Q2hpbGRyZW4oR3Jhbml0ZUN1c3RvbVN0YXR1c0RpcmVjdGl2ZSlcbiAgX2N1c3RvbVN0YXR1c2VzOiBRdWVyeUxpc3Q8R3Jhbml0ZUN1c3RvbVN0YXR1c0RpcmVjdGl2ZT47XG5cbiAgQENvbnRlbnRDaGlsZChHcmFuaXRlQ3VzdG9tUHJvZmlsZURpcmVjdGl2ZSlcbiAgY3VzdG9tUHJvZmlsZURpcmVjdGl2ZTogR3Jhbml0ZUN1c3RvbVByb2ZpbGVEaXJlY3RpdmU7XG5cbiAgX2NvbnRhY3RzRXh0ZW5kZWQ6IENvbnRhY3RFeHRlbmRlZFtdID0gW107XG4gIF9wcm9maWxlOiBQcm9maWxlRGF0YTtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGNkOiBDaGFuZ2VEZXRlY3RvclJlZikge1xuICAgIHN1cGVyKCk7XG4gIH1cblxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgaWYgKGNoYW5nZXMuY29udGFjdHMgJiYgIWNoYW5nZXMuY29udGFjdHMuY3VycmVudFZhbHVlKSB7XG4gICAgICB0aGlzLmNvbnRhY3RzID0gW107XG4gICAgfVxuXG4gICAgaWYgKGNoYW5nZXMucHJvZmlsZT8uY3VycmVudFZhbHVlKSB7XG4gICAgICBjb25zdCBwcm9maWxlID0gY2hhbmdlcy5wcm9maWxlLmN1cnJlbnRWYWx1ZSBhcyBQcm9maWxlO1xuICAgICAgdGhpcy5fcHJvZmlsZSA9IHRoaXMuY3JlYXRlUHJvZmlsZURhdGEocHJvZmlsZSk7XG4gICAgfVxuICAgIHRoaXMuY2QubWFya0ZvckNoZWNrKCk7XG4gIH1cblxuICBuZ0FmdGVyQ29udGVudENoZWNrZWQoKTogdm9pZCB7XG4gICAgdGhpcy5fY29udGFjdHNFeHRlbmRlZCA9IHRoaXMuc2V0UHJvcGVyQ3VzdG9tU3RhdHVzVGVtcGxhdGVzKFxuICAgICAgdGhpcy5fY3VzdG9tU3RhdHVzZXMudG9BcnJheSgpLFxuICAgICAgdGhpcy5jb250YWN0c1xuICAgICk7XG4gIH1cblxuICBvblNlbGVjdGVkQ29udGFjdChjb250YWN0OiBTZWxlY3RlZENvbnRhY3QpOiB2b2lkIHtcbiAgICB0aGlzLnNlbGVjdGVkQ29udGFjdC5lbWl0KGNvbnRhY3QpO1xuICB9XG5cbiAgcHJpdmF0ZSBzZXRQcm9wZXJDdXN0b21TdGF0dXNUZW1wbGF0ZXMoXG4gICAgY3VzdG9tU3RhdHVzRGlyZWN0aXZlczogR3Jhbml0ZUN1c3RvbVN0YXR1c0RpcmVjdGl2ZVtdLFxuICAgIGNvbnRhY3RzOiBDb250YWN0W11cbiAgKTogQ29udGFjdEV4dGVuZGVkW10ge1xuICAgIHJldHVybiB0aGlzLmFwcGx5VGVtcGxhdGVzKGNvbnRhY3RzLCBjdXN0b21TdGF0dXNEaXJlY3RpdmVzKTtcbiAgfVxuXG4gIHByaXZhdGUgYXBwbHlUZW1wbGF0ZXMoXG4gICAgY29udGFjdHM6IENvbnRhY3RbXSB8IENvbnRhY3RFeHRlbmRlZFtdLFxuICAgIGRpcmVjdGl2ZXM6IEdyYW5pdGVDdXN0b21TdGF0dXNEaXJlY3RpdmVbXVxuICApOiBDb250YWN0RXh0ZW5kZWRbXSB7XG4gICAgcmV0dXJuIGNvbnRhY3RzLm1hcCgoaXRlbSkgPT4ge1xuICAgICAgY29uc3QgbWF0Y2hpbmdEaXJlY3RpdmUgPSBkaXJlY3RpdmVzLmZpbmQoXG4gICAgICAgIChkKSA9PiBkLmdyYW5pdGVDdXN0b21TdGF0dXMgPT09IGl0ZW0uc3RhdHVzXG4gICAgICApO1xuXG4gICAgICBjb25zdCByZXN1bHQgPSB7IC4uLml0ZW0gfTtcblxuICAgICAgaWYgKG1hdGNoaW5nRGlyZWN0aXZlKSB7XG4gICAgICAgIHJlc3VsdC5zdGF0dXNUZW1wbGF0ZSA9IG1hdGNoaW5nRGlyZWN0aXZlLnRlbXBsYXRlUmVmO1xuICAgICAgfVxuXG4gICAgICBpZiAoaXRlbS5vcHRpb25zKSB7XG4gICAgICAgIHJlc3VsdC5vcHRpb25zID0gdGhpcy5hcHBseVRlbXBsYXRlcyhpdGVtLm9wdGlvbnMsIGRpcmVjdGl2ZXMpO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gcmVzdWx0O1xuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBjcmVhdGVQcm9maWxlRGF0YShwcm9maWxlOiBQcm9maWxlKTogUHJvZmlsZURhdGEge1xuICAgIGNvbnN0IG5hbWVEYXRhID0gTmFtZXNVdGlsc1NlcnZpY2UuYnVpbGROYW1lRGF0YSh7XG4gICAgICBmaXJzdE5hbWU6IHByb2ZpbGUuZmlyc3ROYW1lLFxuICAgICAgbGFzdE5hbWU6IHByb2ZpbGUubGFzdE5hbWUsXG4gICAgICBuYW1lOiBwcm9maWxlLm5hbWUsXG4gICAgfSk7XG5cbiAgICByZXR1cm4ge1xuICAgICAgZmlyc3ROYW1lOiBuYW1lRGF0YS5maXJzdE5hbWUsXG4gICAgICBsYXN0TmFtZTogbmFtZURhdGEubGFzdE5hbWUsXG4gICAgICBpbml0aWFsczogbmFtZURhdGEuaW5pdGlhbHMsXG4gICAgICBqb2JUaXRsZTogcHJvZmlsZS5qb2JUaXRsZSxcbiAgICAgIGF2YXRhcjogcHJvZmlsZS5hdmF0YXIsXG4gICAgfTtcbiAgfVxufVxuIiwiPG5nLXRlbXBsYXRlICNjb250YWN0c1RlbXBsYXRlPlxuICA8ZGl2IGRhdGEtZm5kPVwiY29udGFjdHNcIiBbY2xhc3NdPVwiY29udGFjdHNDbGFzc1wiIGNsYXNzPVwiZ3Jhbml0ZS1jb250YWN0XCI+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImN1c3RvbVByb2ZpbGVEaXJlY3RpdmU7IGVsc2UgZGVmYXVsdFByb2ZpbGVcIj5cbiAgICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgKm5nVGVtcGxhdGVPdXRsZXQ9XCJjdXN0b21Qcm9maWxlRGlyZWN0aXZlLnRlbXBsYXRlUmVmXCJcbiAgICAgID48L25nLWNvbnRhaW5lcj5cbiAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgIDxuZy10ZW1wbGF0ZSAjZGVmYXVsdFByb2ZpbGU+XG4gICAgICA8Z3Jhbml0ZS1jb250YWN0cy1wcm9maWxlXG4gICAgICAgIGRhdGEtZm5kPVwiZGVmYXVsdC1wcm9maWxlXCJcbiAgICAgICAgW3Byb2ZpbGVDbGFzc109XCJwcm9maWxlQ2xhc3NcIlxuICAgICAgICBbcHJvZmlsZV09XCJfcHJvZmlsZVwiXG4gICAgICA+PC9ncmFuaXRlLWNvbnRhY3RzLXByb2ZpbGU+XG4gICAgPC9uZy10ZW1wbGF0ZT5cblxuICAgIDx1bCBjbGFzcz1cImNvbnRhY3QtbGlzdFwiPlxuICAgICAgPGxpICpuZ0Zvcj1cImxldCBjb250YWN0IG9mIF9jb250YWN0c0V4dGVuZGVkXCI+XG4gICAgICAgIDxncmFuaXRlLWNvbnRhY3QtaXRlbVxuICAgICAgICAgIFtjb250YWN0XT1cImNvbnRhY3RcIlxuICAgICAgICAgIChzZWxlY3RlZENvbnRhY3QpPVwib25TZWxlY3RlZENvbnRhY3QoJGV2ZW50KVwiXG4gICAgICAgID48L2dyYW5pdGUtY29udGFjdC1pdGVtPlxuICAgICAgPC9saT5cbiAgICA8L3VsPlxuICA8L2Rpdj5cbjwvbmctdGVtcGxhdGU+XG5cbjxuZy1jb250YWluZXIgKm5nSWY9XCJkZWZhdWx0U2hvd1wiPlxuICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiY29udGFjdHNUZW1wbGF0ZVwiPjwvbmctY29udGFpbmVyPlxuPC9uZy1jb250YWluZXI+XG4iXX0=
@@ -0,0 +1,51 @@
1
+ export class NamesUtilsService {
2
+ static getInitialsFrom(firstName) {
3
+ return firstName
4
+ .split(' ')
5
+ .map((part) => part.charAt(0).toUpperCase())
6
+ .join('');
7
+ }
8
+ static buildNameData(namesFormat) {
9
+ const { firstName, lastName, name } = namesFormat;
10
+ const getInitials = (fullName) => NamesUtilsService.getInitialsFrom(fullName);
11
+ if (firstName && lastName) {
12
+ return {
13
+ firstName: firstName,
14
+ lastName: lastName,
15
+ initials: `${getInitials(firstName)[0]}${getInitials(lastName)[0]}`,
16
+ };
17
+ }
18
+ if (firstName) {
19
+ const firstNameInitials = getInitials(firstName);
20
+ return {
21
+ firstName: firstName,
22
+ initials: `${firstNameInitials[0]}${firstNameInitials[1] || ''}`,
23
+ };
24
+ }
25
+ if (lastName) {
26
+ const lastNameInitials = getInitials(lastName);
27
+ return {
28
+ lastName: lastName,
29
+ initials: `${lastNameInitials[0]}${lastNameInitials[1] || ''}`,
30
+ };
31
+ }
32
+ if (name) {
33
+ const nameInitials = getInitials(name);
34
+ const nameParts = name.split(' ');
35
+ const firstNameParts = nameParts.length > 1 ? nameParts.slice(0, -1) : [name];
36
+ const lastName = nameParts.length > 1 ? nameParts[nameParts.length - 1] : '';
37
+ const firstName = firstNameParts.join(' ');
38
+ return {
39
+ firstName: firstName,
40
+ lastName: lastName,
41
+ initials: `${nameInitials[0]}${nameInitials[1] || ''}`,
42
+ };
43
+ }
44
+ return {
45
+ firstName: '',
46
+ lastName: '',
47
+ initials: '',
48
+ };
49
+ }
50
+ }
51
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmFtZXMtdXRpbHMtc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvZ3Jhbml0ZS1jb21wb25lbnRzL3NyYy9saWIvY29yZS9zZXJ2aWNlcy9uYW1lcy11dGlscy1zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQWVBLE1BQU0sT0FBTyxpQkFBaUI7SUFDNUIsTUFBTSxDQUFDLGVBQWUsQ0FBQyxTQUFpQjtRQUN0QyxPQUFPLFNBQVM7YUFDYixLQUFLLENBQUMsR0FBRyxDQUFDO2FBQ1YsR0FBRyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsRUFBRSxDQUFDO2FBQzNDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUNkLENBQUM7SUFFRCxNQUFNLENBQUMsYUFBYSxDQUFDLFdBQXdCO1FBQzNDLE1BQU0sRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxHQUFHLFdBQVcsQ0FBQztRQUVsRCxNQUFNLFdBQVcsR0FBRyxDQUFDLFFBQW1DLEVBQUUsRUFBRSxDQUMxRCxpQkFBaUIsQ0FBQyxlQUFlLENBQUMsUUFBUSxDQUFDLENBQUM7UUFFOUMsSUFBSSxTQUFTLElBQUksUUFBUSxFQUFFLENBQUM7WUFDMUIsT0FBTztnQkFDTCxTQUFTLEVBQUUsU0FBUztnQkFDcEIsUUFBUSxFQUFFLFFBQVE7Z0JBQ2xCLFFBQVEsRUFBRSxHQUFHLFdBQVcsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxXQUFXLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUU7YUFDcEUsQ0FBQztRQUNKLENBQUM7UUFFRCxJQUFJLFNBQVMsRUFBRSxDQUFDO1lBQ2QsTUFBTSxpQkFBaUIsR0FBRyxXQUFXLENBQUMsU0FBUyxDQUFDLENBQUM7WUFDakQsT0FBTztnQkFDTCxTQUFTLEVBQUUsU0FBUztnQkFDcEIsUUFBUSxFQUFFLEdBQUcsaUJBQWlCLENBQUMsQ0FBQyxDQUFDLEdBQUcsaUJBQWlCLENBQUMsQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFO2FBQ2pFLENBQUM7UUFDSixDQUFDO1FBRUQsSUFBSSxRQUFRLEVBQUUsQ0FBQztZQUNiLE1BQU0sZ0JBQWdCLEdBQUcsV0FBVyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1lBQy9DLE9BQU87Z0JBQ0wsUUFBUSxFQUFFLFFBQVE7Z0JBQ2xCLFFBQVEsRUFBRSxHQUFHLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxHQUFHLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRTthQUMvRCxDQUFDO1FBQ0osQ0FBQztRQUVELElBQUksSUFBSSxFQUFFLENBQUM7WUFDVCxNQUFNLFlBQVksR0FBRyxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDdkMsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUNsQyxNQUFNLGNBQWMsR0FDbEIsU0FBUyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDekQsTUFBTSxRQUFRLEdBQ1osU0FBUyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxTQUFTLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7WUFDOUQsTUFBTSxTQUFTLEdBQUcsY0FBYyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUUzQyxPQUFPO2dCQUNMLFNBQVMsRUFBRSxTQUFTO2dCQUNwQixRQUFRLEVBQUUsUUFBUTtnQkFDbEIsUUFBUSxFQUFFLEdBQUcsWUFBWSxDQUFDLENBQUMsQ0FBQyxHQUFHLFlBQVksQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUU7YUFDdkQsQ0FBQztRQUNKLENBQUM7UUFFRCxPQUFPO1lBQ0wsU0FBUyxFQUFFLEVBQUU7WUFDYixRQUFRLEVBQUUsRUFBRTtZQUNaLFFBQVEsRUFBRSxFQUFFO1NBQ2IsQ0FBQztJQUNKLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbInR5cGUgZmlyc3ROYW1lID0gc3RyaW5nO1xudHlwZSBsYXN0TmFtZSA9IHN0cmluZztcblxudHlwZSBOYW1lc0Zvcm1hdCA9IHtcbiAgZmlyc3ROYW1lPzogZmlyc3ROYW1lIHwgbnVsbDtcbiAgbGFzdE5hbWU/OiBsYXN0TmFtZSB8IG51bGw7XG4gIG5hbWU/OiBzdHJpbmc7XG59O1xuXG50eXBlIE5hbWVEYXRhID0ge1xuICBmaXJzdE5hbWU/OiBmaXJzdE5hbWU7XG4gIGxhc3ROYW1lPzogbGFzdE5hbWU7XG4gIGluaXRpYWxzOiBzdHJpbmc7XG59O1xuXG5leHBvcnQgY2xhc3MgTmFtZXNVdGlsc1NlcnZpY2Uge1xuICBzdGF0aWMgZ2V0SW5pdGlhbHNGcm9tKGZpcnN0TmFtZTogc3RyaW5nKTogc3RyaW5nIHtcbiAgICByZXR1cm4gZmlyc3ROYW1lXG4gICAgICAuc3BsaXQoJyAnKVxuICAgICAgLm1hcCgocGFydCkgPT4gcGFydC5jaGFyQXQoMCkudG9VcHBlckNhc2UoKSlcbiAgICAgIC5qb2luKCcnKTtcbiAgfVxuXG4gIHN0YXRpYyBidWlsZE5hbWVEYXRhKG5hbWVzRm9ybWF0OiBOYW1lc0Zvcm1hdCk6IE5hbWVEYXRhIHtcbiAgICBjb25zdCB7IGZpcnN0TmFtZSwgbGFzdE5hbWUsIG5hbWUgfSA9IG5hbWVzRm9ybWF0O1xuXG4gICAgY29uc3QgZ2V0SW5pdGlhbHMgPSAoZnVsbE5hbWU6IHN0cmluZyB8IG51bGwgfCB1bmRlZmluZWQpID0+XG4gICAgICBOYW1lc1V0aWxzU2VydmljZS5nZXRJbml0aWFsc0Zyb20oZnVsbE5hbWUpO1xuXG4gICAgaWYgKGZpcnN0TmFtZSAmJiBsYXN0TmFtZSkge1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgZmlyc3ROYW1lOiBmaXJzdE5hbWUsXG4gICAgICAgIGxhc3ROYW1lOiBsYXN0TmFtZSxcbiAgICAgICAgaW5pdGlhbHM6IGAke2dldEluaXRpYWxzKGZpcnN0TmFtZSlbMF19JHtnZXRJbml0aWFscyhsYXN0TmFtZSlbMF19YCxcbiAgICAgIH07XG4gICAgfVxuXG4gICAgaWYgKGZpcnN0TmFtZSkge1xuICAgICAgY29uc3QgZmlyc3ROYW1lSW5pdGlhbHMgPSBnZXRJbml0aWFscyhmaXJzdE5hbWUpO1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgZmlyc3ROYW1lOiBmaXJzdE5hbWUsXG4gICAgICAgIGluaXRpYWxzOiBgJHtmaXJzdE5hbWVJbml0aWFsc1swXX0ke2ZpcnN0TmFtZUluaXRpYWxzWzFdIHx8ICcnfWAsXG4gICAgICB9O1xuICAgIH1cblxuICAgIGlmIChsYXN0TmFtZSkge1xuICAgICAgY29uc3QgbGFzdE5hbWVJbml0aWFscyA9IGdldEluaXRpYWxzKGxhc3ROYW1lKTtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIGxhc3ROYW1lOiBsYXN0TmFtZSxcbiAgICAgICAgaW5pdGlhbHM6IGAke2xhc3ROYW1lSW5pdGlhbHNbMF19JHtsYXN0TmFtZUluaXRpYWxzWzFdIHx8ICcnfWAsXG4gICAgICB9O1xuICAgIH1cblxuICAgIGlmIChuYW1lKSB7XG4gICAgICBjb25zdCBuYW1lSW5pdGlhbHMgPSBnZXRJbml0aWFscyhuYW1lKTtcbiAgICAgIGNvbnN0IG5hbWVQYXJ0cyA9IG5hbWUuc3BsaXQoJyAnKTtcbiAgICAgIGNvbnN0IGZpcnN0TmFtZVBhcnRzID1cbiAgICAgICAgbmFtZVBhcnRzLmxlbmd0aCA+IDEgPyBuYW1lUGFydHMuc2xpY2UoMCwgLTEpIDogW25hbWVdO1xuICAgICAgY29uc3QgbGFzdE5hbWUgPVxuICAgICAgICBuYW1lUGFydHMubGVuZ3RoID4gMSA/IG5hbWVQYXJ0c1tuYW1lUGFydHMubGVuZ3RoIC0gMV0gOiAnJztcbiAgICAgIGNvbnN0IGZpcnN0TmFtZSA9IGZpcnN0TmFtZVBhcnRzLmpvaW4oJyAnKTtcblxuICAgICAgcmV0dXJuIHtcbiAgICAgICAgZmlyc3ROYW1lOiBmaXJzdE5hbWUsXG4gICAgICAgIGxhc3ROYW1lOiBsYXN0TmFtZSxcbiAgICAgICAgaW5pdGlhbHM6IGAke25hbWVJbml0aWFsc1swXX0ke25hbWVJbml0aWFsc1sxXSB8fCAnJ31gLFxuICAgICAgfTtcbiAgICB9XG5cbiAgICByZXR1cm4ge1xuICAgICAgZmlyc3ROYW1lOiAnJyxcbiAgICAgIGxhc3ROYW1lOiAnJyxcbiAgICAgIGluaXRpYWxzOiAnJyxcbiAgICB9O1xuICB9XG59XG4iXX0=
@@ -152,4 +152,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.4", ngImpor
152
152
  type: ViewChild,
153
153
  args: ['textarea']
154
154
  }] } });
155
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtZmllbGQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9ncmFuaXRlLWNvbXBvbmVudHMvc3JjL2xpYi9pbnB1dC1maWVsZC9pbnB1dC1maWVsZC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2dyYW5pdGUtY29tcG9uZW50cy9zcmMvbGliL2lucHV0LWZpZWxkL2lucHV0LWZpZWxkLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQWUsTUFBTSxtQkFBbUIsQ0FBQztBQUM5RCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUM5RCxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxVQUFVLEVBQ1YsWUFBWSxFQUNaLEtBQUssRUFHTCxNQUFNLEVBRU4sU0FBUyxHQUNWLE1BQU0sZUFBZSxDQUFDOzs7OztBQUV2QixNQUFNLHNCQUFzQixHQUFHLENBQUMsTUFBTSxFQUFFLFFBQVEsRUFBRSxVQUFVLEVBQUUsVUFBVSxDQUFDLENBQUM7QUFZMUUsTUFBTSxPQUFPLDBCQUEwQjtJQTJEckMsWUFBb0IsYUFBMkI7UUFBM0Isa0JBQWEsR0FBYixhQUFhLENBQWM7UUF6RC9DLE9BQUUsR0FBa0IsSUFBSSxDQUFDO1FBR3pCLFNBQUksR0FBa0IsSUFBSSxDQUFDO1FBRzNCLFNBQUksR0FBVyxNQUFNLENBQUM7UUFHdEIsVUFBSyxHQUFvQixFQUFFLENBQUM7UUFHNUIsYUFBUSxHQUFZLEtBQUssQ0FBQztRQUcxQixhQUFRLEdBQVksS0FBSyxDQUFDO1FBRzFCLFlBQU8sR0FBWSxLQUFLLENBQUM7UUFHekIsYUFBUSxHQUFZLEtBQUssQ0FBQztRQUcxQixnQkFBVyxHQUFXLEVBQUUsQ0FBQztRQU16QixjQUFTLEdBQVcsR0FBRyxDQUFDO1FBR3hCLG9CQUFlLEdBQVksS0FB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QVMsQ0FBQztZQUMxQyxDQUFDO1FBQ0gsQ0FBQztJQUNILENBQUM7SUFFTyxnQkFBZ0I7UUFDdEIsT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDLGFBQWEsQ0FBQztJQUMxQyxDQUFDO0lBRU8sbUJBQW1CO1FBQ3pCLE9BQU8sSUFBSSxDQUFDLGdCQUFnQixDQUFDLGFBQWEsQ0FBQztJQUM3QyxDQUFDOzhHQTFKVSwwQkFBMEI7a0dBQTFCLDBCQUEwQiwydkJDM0J2Qyw0a0dBb0dBOzsyRkR6RWEsMEJBQTBCO2tCQVZ0QyxTQUFTOytCQUNFLHFCQUFxQixZQUNyQixtQkFBbUIsUUFHdkI7d0JBQ0osS0FBSyxFQUFFLHFCQUFxQjtxQkFDN0IsbUJBQ2dCLHVCQUF1QixDQUFDLE1BQU07aUZBSS9DLEVBQUU7c0JBREQsS0FBSztnQkFJTixJQUFJO3NCQURILEtBQUs7Z0JBSU4sSUFBSTtzQkFESCxLQUFLO2dCQUlOLEtBQUs7c0JBREosS0FBSztnQkFJTixRQUFRO3NCQURQLEtBQUs7Z0JBSU4sUUFBUTtzQkFEUCxLQUFLO2dCQUlOLE9BQU87c0JBRE4sS0FBSztnQkFJTixRQUFRO3NCQURQLEtBQUs7Z0JBSU4sV0FBVztzQkFEVixLQUFLO2dCQUlOLFVBQVU7c0JBRFQsS0FBSztnQkFJTixTQUFTO3NCQURSLEtBQUs7Z0JBSU4sZUFBZTtzQkFEZCxLQUFLO2dCQUlOLFNBQVM7c0JBRFIsS0FBSzt1QkFBQyxZQUFZO2dCQUluQixjQUFjO3NCQURiLEtBQUs7dUJBQUMsaUJBQWlCO2dCQUlmLFdBQVc7c0JBRG5CLE1BQU07Z0JBSUMsYUFBYTtzQkFEcEIsU0FBUzt1QkFBQyxPQUFPO2dCQUlWLGdCQUFnQjtzQkFEdkIsU0FBUzt1QkFBQyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRm9jdXNNb25pdG9yLCBGb2N1c09yaWdpbiB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9hMTF5JztcbmltcG9ydCB7IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9jb2VyY2lvbic7XG5pbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ29tcG9uZW50LFxuICBFbGVtZW50UmVmLFxuICBFdmVudEVtaXR0ZXIsXG4gIElucHV0LFxuICBPbkNoYW5nZXMsXG4gIE9uSW5pdCxcbiAgT3V0cHV0LFxuICBTaW1wbGVDaGFuZ2VzLFxuICBWaWV3Q2hpbGQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5jb25zdCBHUkFOSVRFX0lOUFVUX0lOQ0xVREVTID0gWyd0ZXh0JywgJ251bWJlcicsICdwYXNzd29yZCcsICd0ZXh0YXJlYSddO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdncmFuaXRlLWlucHV0LWZpZWxkJyxcbiAgZXhwb3J0QXM6ICdncmFuaXRlSW5wdXRGaWVsZCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9pbnB1dC1maWVsZC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2lucHV0LWZpZWxkLmNvbXBvbmVudC5zY3NzJ10sXG4gIGhvc3Q6IHtcbiAgICBjbGFzczogJ2dyYW5pdGUtaW5wdXQtZmllbGQnLFxuICB9LFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgR3Jhbml0ZUlucHV0RmllbGRDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uQ2hhbmdlcyB7XG4gIEBJbnB1dCgpXG4gIGlkOiBzdHJpbmcgfCBudWxsID0gbnVsbDtcblxuICBASW5wdXQoKVxuICBuYW1lOiBzdHJpbmcgfCBudWxsID0gbnVsbDtcblxuICBASW5wdXQoKVxuICB0eXBlOiBzdHJpbmcgPSAndGV4dCc7XG5cbiAgQElucHV0KClcbiAgdmFsdWU6IHN0cmluZyB8IG51bWJlciA9ICcnO1xuXG4gIEBJbnB1dCgpXG4gIHJlcXVpcmVkOiBib29sZWFuID0gZmFsc2U7XG5cbiAgQElucHV0KClcbiAgcmVhZG9ubHk6IGJvb2xlYW4gPSBmYWxzZTtcblxuICBASW5wdXQoKVxuICBpbnZhbGlkOiBib29sZWFuID0gZmFsc2U7XG5cbiAgQElucHV0KClcbiAgZGlzYWJsZWQ6IGJvb2xlYW4gPSBmYWxzZTtcblxuICBASW5wdXQoKVxuICBwbGFjZWhvbGRlcjogc3RyaW5nID0gJyc7XG5cbiAgQElucHV0KClcbiAgcHJlZml4aWNvbjogc3RyaW5nO1xuXG4gIEBJbnB1dCgpXG4gIG1heGxlbmd0aDogbnVtYmVyID0gMjU1O1xuXG4gIEBJbnB1dCgpXG4gIGNvdW50Y2hhcmFjdGVyczogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIEBJbnB1dCgnYXJpYS1sYWJlbCcpXG4gIGFyaWFMYWJlbDogc3RyaW5nIHwgbnVsbCA9IG51bGw7XG5cbiAgQElucHV0KCdhcmlhLWxhYmVsbGVkYnknKVxuICBhcmlhTGFiZWxsZWRieTogc3RyaW5nIHwgbnVsbCA9IG51bGw7XG5cbiAgQE91dHB1dCgpXG4gIHJlYWRvbmx5IHZhbHVlQ2hhbmdlOiBFdmVudEVtaXR0ZXI8c3RyaW5nPiA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpO1xuXG4gIEBWaWV3Q2hpbGQoJ2lucHV0JylcbiAgcHJpdmF0ZSBfaW5wdXRFbGVtZW50OiBFbGVtZW50UmVmPEhUTUxJbnB1dEVsZW1lbnQ+O1xuXG4gIEBWaWV3Q2hpbGQoJ3RleHRhcmVhJylcbiAgcHJpdmF0ZSBfdGV4dGFyZWFFbGVtZW50OiBFbGVtZW50UmVmPEhUTUxUZXh0QXJlYUVsZW1lbnQ+O1xuXG4gIF9zdXBwb3J0ZWQ6IGJvb2xlYW4gPSB0cnVlO1xuICBfZW1wdHk6IGJvb2xlYW4gPSBmYWxzZTtcbiAgX3Bhc3N3b3JkRmllbGRJY29uOiBzdHJpbmcgPSAndmlldyc7XG4gIF9wYXNzd29yZEZpZWxkOiBib29sZWFuID0gZmFsc2U7XG4gIF9jdXJyZW50Q2hhckNvdW50ID0gMDtcbiAgcHJpdmF0ZSBfcGFzc3dvcmRUb2dnbGVkOiBib29sZWFuID0gZmFsc2U7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBfZm9jdXNNb25pdG9yOiBGb2N1c01vbml0b3IpIHt9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5fdmFsaWRhdGVUeXBlKCk7XG5cbiAgICB0aGlzLl9wYXNzd29yZEZpZWxkID0gdGhpcy50eXBlID09ICdwYXNzd29yZCc7XG5cbiAgICB0aGlzLl9lbXB0eSA9IHRoaXMudmFsdWUgPT0gbnVsbCB8fCB0aGlzLnZhbHVlID09PSAnJztcbiAgfVxuXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICBpZiAoY2hhbmdlcy5yZXF1aXJlZCkge1xuICAgICAgdGhpcy5yZXF1aXJlZCA9IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eShjaGFuZ2VzLnJlcXVpcmVkLmN1cnJlbnRWYWx1ZSk7XG4gICAgfVxuXG4gICAgaWYgKGNoYW5nZXMucmVhZG9ubHkpIHtcbiAgICAgIHRoaXMucmVhZG9ubHkgPSBjb2VyY2VCb29sZWFuUHJvcGVydHkoY2hhbmdlcy5yZWFkb25seS5jdXJyZW50VmFsdWUpO1xuICAgIH1cblxuICAgIGlmIChjaGFuZ2VzLmludmFsaWQpIHtcbiAgICAgIHRoaXMuaW52YWxpZCA9IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eShjaGFuZ2VzLmludmFsaWQuY3VycmVudFZhbHVlKTtcbiAgICB9XG5cbiAgICBpZiAoY2hhbmdlcy5kaXNhYmxlZCkge1xuICAgICAgdGhpcy5kaXNhYmxlZCA9IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eShjaGFuZ2VzLmRpc2FibGVkLmN1cnJlbnRWYWx1ZSk7XG4gICAgfVxuXG4gICAgaWYgKGNoYW5nZXMuY291bnRjaGFyYWN0ZXJzKSB7XG4gICAgICB0aGlzLmNvdW50Y2hhcmFjdGVycyA9IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eShcbiAgICAgICAgY2hhbmdlcy5jb3VudGNoYXJhY3RlcnMuY3VycmVudFZhbHVlXG4gICAgICApO1xuICAgIH1cblxuICAgIGlmIChjaGFuZ2VzLnZhbHVlKSB7XG4gICAgICB0aGlzLl9lbXB0eSA9IHRoaXMudmFsdWUgPT0gbnVsbCB8fCB0aGlzLnZhbHVlID09PSAnJztcbiAgICB9XG5cbiAgICBpZiAoY2hhbmdlcy50eXBlKSB7XG4gICAgICB0aGlzLl92YWxpZGF0ZVR5cGUoKTtcbiAgICB9XG4gIH1cblxuICBmb2N1cyhvcmlnaW46IEZvY3VzT3JpZ2luID0gJ3Byb2dyYW0nLCBvcHRpb25zPzogRm9jdXNPcHRpb25zKTogdm9pZCB7XG4gICAgaWYgKHRoaXMudHlwZSA9PT0gJ3RleHQnKSB7XG4gICAgICB0aGlzLl9mb2N1c01vbml0b3IuZm9jdXNWaWEodGhpcy5fZ2V0SW5wdXRFbGVtZW50KCksIG9yaWdpbiwgb3B0aW9ucyk7XG4gICAgfSBlbHNlIGlmICh0aGlzLnR5cGUgPT09ICd0ZXh0YXJlYScpIHtcbiAgICAgIHRoaXMuX2ZvY3VzTW9uaXRvci5mb2N1c1ZpYSh0aGlzLl9nZXRUZXh0YXJlYUVsZW1lbnQoKSwgb3JpZ2luLCBvcHRpb25zKTtcbiAgICB9XG4gIH1cblxuICBfdG9nZ2xlUGFzc3dvcmQoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuX3Bhc3N3b3JkVG9nZ2xlZCkge1xuICAgICAgdGhpcy5fcGFzc3dvcmRUb2dnbGVkID0gZmFsc2U7XG4gICAgICB0aGlzLnR5cGUgPSAncGFzc3dvcmQnO1xuICAgICAgdGhpcy5fcGFzc3dvcmRGaWVsZEljb24gPSAndmlldyc7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuX3Bhc3N3b3JkVG9nZ2xlZCA9IHRydWU7XG4gICAgICB0aGlzLnR5cGUgPSAndGV4dCc7XG4gICAgICB0aGlzLl9wYXNzd29yZEZpZWxkSWNvbiA9ICd2aWV3LWRpc2FibGVkJztcbiAgICB9XG4gIH1cblxuICBfb25JbnB1dChldmVudDogRXZlbnQpOiB2b2lkIHtcbiAgICBjb25zdCBpbnB1dEV2ZW50ID0gZXZlbnQudGFyZ2V0IGFzIEhUTUxJbnB1dEVsZW1lbnQ7XG4gICAgdGhpcy5fYXBwbHlDaGFyYWN0ZXJDb3VudChpbnB1dEV2ZW50LnZhbHVlKTtcbiAgICB0aGlzLl9lbXB0eSA9IGlucHV0RXZlbnQudmFsdWUgPT0gbnVsbCB8fCBpbnB1dEV2ZW50LnZhbHVlID09PSAnJztcbiAgICB0aGlzLnZhbHVlQ2hhbmdlLmVtaXQoaW5wdXRFdmVudC52YWx1ZSk7XG4gIH1cblxuICBwcm90ZWN0ZWQgX3ZhbGlkYXRlVHlwZSgpOiB2b2lkIHtcbiAgICBpZiAoR1JBTklURV9JTlBVVF9JTkNMVURFUy5pbmRleE9mKHRoaXMudHlwZSkgPCAwKSB7XG4gICAgICB0aGlzLl9zdXBwb3J0ZWQgPSBmYWxzZTtcbiAgICAgIHRocm93IEVycm9yKFxuICAgICAgICBgSW5wdXQgdHlwZSBcIiR7dGhpcy50eXBlfVwiIGlzbid0IHN1cHBvcnRlZCBieSBncmFuaXRlSW5wdXRGaWVsZC5gXG4gICAgICApO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgX2FwcGx5Q2hhcmFjdGVyQ291bnQoaW5wdXRTdHJpbmc6IHN0cmluZyk6IHZvaWQge1xuICAgIGlmICh0aGlzLmNvdW50Y2hhcmFjdGVycykge1xuICAgICAgdGhpcy5fY3VycmVudENoYXJDb3VudCA9IGlucHV0U3RyaW5nLmxlbmd0aDtcblxuICAgICAgaWYgKHRoaXMuX2N1cnJlbnRDaGFyQ291bnQgPiB0aGlzLm1heGxlbmd0aCkge1xuICAgICAgICBpbnB1dFN0cmluZyA9IGlucHV0U3RyaW5nLnNsaWNlKDAsIHRoaXMubWF4bGVuZ3RoKTtcbiAgICAgICAgdGhpcy5fY3VycmVudENoYXJDb3VudCA9IHRoaXMubWF4bGVuZ3RoO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgX2dldElucHV0RWxlbWVudCgpOiBIVE1MSW5wdXRFbGVtZW50IHtcbiAgICByZXR1cm4gdGhpcy5faW5wdXRFbGVtZW50Lm5hdGl2ZUVsZW1lbnQ7XG4gIH1cblxuICBwcml2YXRlIF9nZXRUZXh0YXJlYUVsZW1lbnQoKTogSFRNTFRleHRBcmVhRWxlbWVudCB7XG4gICAgcmV0dXJuIHRoaXMuX3RleHRhcmVhRWxlbWVudC5uYXRpdmVFbGVtZW50O1xuICB9XG59XG4iLCI8ZGl2XG4gICpuZ0lmPVwiX3N1cHBvcnRlZFwiXG4gIGNsYXNzPVwiZ3Jhbml0ZS1pbnB1dC1jb250YWluZXJcIlxuICBbY2xhc3MuZ3Jhbml0ZS1pbnB1dC1kaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gIFtjbGFzcy5ncmFuaXRlLWlucHV0LXJlYWRvbmx5XT1cInJlYWRvbmx5XCJcbiAgW2NsYXNzLmdyYW5pdGUtaW5wdXQtZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICBbY2xhc3MuZ3Jhbml0ZS1pbnB1dC1yZWFkb25seV09XCJyZWFkb25seVwiXG4+XG4gIDxkaXZcbiAgICBjbGFzcz1cImdyYW5pdGUtaW5wdXQtdG9wLXJvd1wiXG4gICAgW2NsYXNzLmdyYW5pdGUtaW5wdXQtcmVxdWlyZWRdPVwicmVxdWlyZWRcIlxuICAgIFtjbGFzcy5ncmFuaXRlLWlucHV0LWVtcHR5XT1cIl9lbXB0eVwiXG4gICAgW2NsYXNzLmdyYW5pdGUtaW5wdXQtZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICAgIFtjbGFzcy5ncmFuaXRlLWlucHV0LXJlYWRvbmx5XT1cInJlYWRvbmx5XCJcbiAgICBbY2xhc3MuZ3Jhbml0ZS1pbnB1dC1pbnZhbGlkXT1cImludmFsaWRcIlxuICA+XG4gICAgPGRpdlxuICAgICAgKm5nSWY9XCJwcmVmaXhpY29uXCJcbiAgICAgIGNsYXNzPVwiZ3Jhbml0ZS1pbnB1dC1wcmVwZW5kXCJcbiAgICAgIFtjbGFzcy5ncmFuaXRlLWlucHV0LXJlcXVpcmVkXT1cInJlcXVpcmVkXCJcbiAgICAgIFtjbGFzcy5ncmFuaXRlLWlucHV0LWVtcHR5XT1cIl9lbXB0eVwiXG4gICAgPlxuICAgICAgPGdyYW5pdGUtaWNvbiBjbGFzcz1cImdyYW5pdGUtaW5wdXQtcHJlcGVuZC1pY29uXCI+XG4gICAgICAgIHt7IHByZWZpeGljb24gfX1cbiAgICAgIDwvZ3Jhbml0ZS1pY29uPlxuICAgIDwvZGl2PlxuXG4gICAgPG5nLWNvbnRhaW5lclxuICAgICAgKm5nSWY9XCJ0eXBlICE9PSAndGV4dGFyZWEnOyB0aGVuIGlucHV0RWxlbWVudDsgZWxzZSB0ZXh0YXJlYUVsZW1lbnRcIlxuICAgID48L25nLWNvbnRhaW5lcj5cblxuICAgIDxuZy10ZW1wbGF0ZSAjaW5wdXRFbGVtZW50PlxuICAgICAgPGlucHV0XG4gICAgICAgICNpbnB1dFxuICAgICAgICBbaWRdPVwiaWRcIlxuICAgICAgICBjbGFzcz1cImdyYW5pdGUtaW5wdXQtYmFzZVwiXG4gICAgICAgIFtjbGFzcy5ncmFuaXRlLWlucHV0LWludmFsaWRdPVwiaW52YWxpZFwiXG4gICAgICAgIFtjbGFzcy5ncmFuaXRlLWlucHV0LWVtcHR5XT1cIl9lbXB0eVwiXG4gICAgICAgIFtuYW1lXT1cIm5hbWVcIlxuICAgICAgICBbYXR0ci50eXBlXT1cInR5cGVcIlxuICAgICAgICBbcmVxdWlyZWRdPVwicmVxdWlyZWRcIlxuICAgICAgICBbcmVhZG9ubHldPVwicmVhZG9ubHlcIlxuICAgICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICAgICAgICBbcGxhY2Vob2xkZXJdPVwicGxhY2Vob2xkZXJcIlxuICAgICAgICBbYXR0ci5tYXhsZW5ndGhdPVwibWF4bGVuZ3RoXCJcbiAgICAgICAgW3ZhbHVlXT1cInZhbHVlXCJcbiAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCJhcmlhTGFiZWxcIlxuICAgICAgICBbYXR0ci5hcmlhLWxhYmVsbGVkYnldPVwiYXJpYUxhYmVsbGVkYnlcIlxuICAgICAgICBbYXR0ci5hcmlhLWludmFsaWRdPVwiaW52YWxpZFwiXG4gICAgICAgIChpbnB1dCk9XCJfb25JbnB1dCgkZXZlbnQpXCJcbiAgICAgIC8+XG4gICAgPC9uZy10ZW1wbGF0ZT5cblxuICAgIDxidXR0b25cbiAgICAgICpuZ0lmPVwiX3Bhc3N3b3JkRmllbGRcIlxuICAgICAgY2xhc3M9XCJncmFuaXRlLWlucHV0LWFwcGVuZFwiXG4gICAgICBbY2xhc3MuZ3Jhbml0ZS1pbnB1dC1yZXF1aXJlZF09XCJyZXF1aXJlZFwiXG4gICAgICBbY2xhc3MuZ3Jhbml0ZS1pbnB1dC1lbXB0eV09XCJfZW1wdHlcIlxuICAgICAgKGNsaWNrKT1cIl90b2dnbGVQYXNzd29yZCgpXCJcbiAgICA+XG4gICAgICA8Z3Jhbml0ZS1pY29uIGNsYXNzPVwiZ3Jhbml0ZS1pbnB1dC1wYXNzd29yZC10b2dnbGUtaWNvblwiPlxuICAgICAgICB7eyBfcGFzc3dvcmRGaWVsZEljb24gfX1cbiAgICAgIDwvZ3Jhbml0ZS1pY29uPlxuICAgIDwvYnV0dG9uPlxuXG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFfcGFzc3dvcmRGaWVsZFwiPlxuICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiW2dyYW5pdGVJbnB1dFN1ZmZpeEJ1dHRvbl1cIj48L25nLWNvbnRlbnQ+XG4gICAgPC9uZy1jb250YWluZXI+XG5cbiAgICA8bmctdGVtcGxhdGUgI3RleHRhcmVhRWxlbWVudD5cbiAgICAgIDx0ZXh0YXJlYVxuICAgICAgICAjdGV4dGFyZWFcbiAgICAgICAgW2lkXT1cImlkXCJcbiAgICAgICAgY2xhc3M9XCJncmFuaXRlLWlucHV0LWJhc2UgZ3Jhbml0ZS10ZXh0LWFyZWFcIlxuICAgICAgICBbY2xhc3MuZ3Jhbml0ZS1pbnB1dC1pbnZhbGlkXT1cImludmFsaWRcIlxuICAgICAgICBbY2xhc3MuZ3Jhbml0ZS1pbnB1dC1lbXB0eV09XCJfZW1wdHlcIlxuICAgICAgICByb3dzPVwiMVwiXG4gICAgICAgIFtuYW1lXT1cIm5hbWVcIlxuICAgICAgICBbYXR0ci50eXBlXT1cInR5cGVcIlxuICAgICAgICBbcmVxdWlyZWRdPVwicmVxdWlyZWRcIlxuICAgICAgICBbcmVhZG9ubHldPVwicmVhZG9ubHlcIlxuICAgICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICAgICAgICBbcGxhY2Vob2xkZXJdPVwicGxhY2Vob2xkZXJcIlxuICAgICAgICBbdmFsdWVdPVwidmFsdWVcIlxuICAgICAgICBbYXR0ci5tYXhsZW5ndGhdPVwibWF4bGVuZ3RoXCJcbiAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCJhcmlhTGFiZWxcIlxuICAgICAgICBbYXR0ci5hcmlhLWxhYmVsbGVkYnldPVwiYXJpYUxhYmVsbGVkYnlcIlxuICAgICAgICBbYXR0ci5hcmlhLXJlcXVpcmVkXT1cInJlcXVpcmVkXCJcbiAgICAgICAgW2F0dHIuYXJpYS1pbnZhbGlkXT1cImludmFsaWRcIlxuICAgICAgICAoaW5wdXQpPVwiX29uSW5wdXQoJGV2ZW50KVwiXG4gICAgICA+PC90ZXh0YXJlYT5cbiAgICA8L25nLXRlbXBsYXRlPlxuICA8L2Rpdj5cblxuICA8ZGl2ICpuZ0lmPVwiY291bnRjaGFyYWN0ZXJzXCIgY2xhc3M9XCJncmFuaXRlLWlucHV0LWJvdHRvbS1yb3dcIj5cbiAgICA8ZGl2IGNsYXNzPVwiZ3Jhbml0ZS1pbnB1dC1jaGFyLWNvdW50XCI+XG4gICAgICB7eyBfY3VycmVudENoYXJDb3VudCB9fS97eyBtYXhsZW5ndGggfX1cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
155
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtZmllbGQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9ncmFuaXRlLWNvbXBvbmVudHMvc3JjL2xpYi9pbnB1dC1maWVsZC9pbnB1dC1maWVsZC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2dyYW5pdGUtY29tcG9uZW50cy9zcmMvbGliL2lucHV0LWZpZWxkL2lucHV0LWZpZWxkLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQWUsTUFBTSxtQkFBbUIsQ0FBQztBQUM5RCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUM5RCxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxVQUFVLEVBQ1YsWUFBWSxFQUNaLEtBQUssRUFHTCxNQUFNLEVBRU4sU0FBUyxHQUNWLE1BQU0sZUFBZSxDQUFDOzs7OztBQUV2QixNQUFNLHNCQUFzQixHQUFHLENBQUMsTUFBTSxFQUFFLFFBQVEsRUFBRSxVQUFVLEVBQUUsVUFBVSxDQUFDLENBQUM7QUFZMUUsTUFBTSxPQUFPLDBCQUEwQjtJQTJEckMsWUFBb0IsYUFBMkI7UUFBM0Isa0JBQWEsR0FBYixhQUFhLENBQWM7UUF6RC9DLE9BQUUsR0FBa0IsSUFBSSxDQUFDO1FBR3pCLFNBQUksR0FBa0IsSUFBSSxDQUFDO1FBRzNCLFNBQUksR0FBVyxNQUFNLENBQUM7UUFHdEIsVUFBSyxHQUFvQixFQUFFLENBQUM7UUFHNUIsYUFBUSxHQUFZLEtBQUssQ0FBQztRQUcxQixhQUFRLEdBQVksS0FBSyxDQUFDO1FBRzFCLFlBQU8sR0FBWSxLQUFLLENBQUM7UUFHekIsYUFBUSxHQUFZLEtBQUssQ0FBQztRQUcxQixnQkFBVyxHQUFXLEVBQUUsQ0FBQztRQU16QixjQUFTLEdBQVcsR0FBRyxDQUFDO1FBR3hCLG9CQUFlLEdBQVksS0FB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QVMsQ0FBQztZQUMxQyxDQUFDO1FBQ0gsQ0FBQztJQUNILENBQUM7SUFFTyxnQkFBZ0I7UUFDdEIsT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDLGFBQWEsQ0FBQztJQUMxQyxDQUFDO0lBRU8sbUJBQW1CO1FBQ3pCLE9BQU8sSUFBSSxDQUFDLGdCQUFnQixDQUFDLGFBQWEsQ0FBQztJQUM3QyxDQUFDOzhHQXpKVSwwQkFBMEI7a0dBQTFCLDBCQUEwQiwydkJDM0J2Qyw0a0dBb0dBOzsyRkR6RWEsMEJBQTBCO2tCQVZ0QyxTQUFTOytCQUNFLHFCQUFxQixZQUNyQixtQkFBbUIsUUFHdkI7d0JBQ0osS0FBSyxFQUFFLHFCQUFxQjtxQkFDN0IsbUJBQ2dCLHVCQUF1QixDQUFDLE1BQU07aUZBSS9DLEVBQUU7c0JBREQsS0FBSztnQkFJTixJQUFJO3NCQURILEtBQUs7Z0JBSU4sSUFBSTtzQkFESCxLQUFLO2dCQUlOLEtBQUs7c0JBREosS0FBSztnQkFJTixRQUFRO3NCQURQLEtBQUs7Z0JBSU4sUUFBUTtzQkFEUCxLQUFLO2dCQUlOLE9BQU87c0JBRE4sS0FBSztnQkFJTixRQUFRO3NCQURQLEtBQUs7Z0JBSU4sV0FBVztzQkFEVixLQUFLO2dCQUlOLFVBQVU7c0JBRFQsS0FBSztnQkFJTixTQUFTO3NCQURSLEtBQUs7Z0JBSU4sZUFBZTtzQkFEZCxLQUFLO2dCQUlOLFNBQVM7c0JBRFIsS0FBSzt1QkFBQyxZQUFZO2dCQUluQixjQUFjO3NCQURiLEtBQUs7dUJBQUMsaUJBQWlCO2dCQUlmLFdBQVc7c0JBRG5CLE1BQU07Z0JBSUMsYUFBYTtzQkFEcEIsU0FBUzt1QkFBQyxPQUFPO2dCQUlWLGdCQUFnQjtzQkFEdkIsU0FBUzt1QkFBQyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRm9jdXNNb25pdG9yLCBGb2N1c09yaWdpbiB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9hMTF5JztcbmltcG9ydCB7IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9jb2VyY2lvbic7XG5pbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ29tcG9uZW50LFxuICBFbGVtZW50UmVmLFxuICBFdmVudEVtaXR0ZXIsXG4gIElucHV0LFxuICBPbkNoYW5nZXMsXG4gIE9uSW5pdCxcbiAgT3V0cHV0LFxuICBTaW1wbGVDaGFuZ2VzLFxuICBWaWV3Q2hpbGQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5jb25zdCBHUkFOSVRFX0lOUFVUX0lOQ0xVREVTID0gWyd0ZXh0JywgJ251bWJlcicsICdwYXNzd29yZCcsICd0ZXh0YXJlYSddO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdncmFuaXRlLWlucHV0LWZpZWxkJyxcbiAgZXhwb3J0QXM6ICdncmFuaXRlSW5wdXRGaWVsZCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9pbnB1dC1maWVsZC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2lucHV0LWZpZWxkLmNvbXBvbmVudC5zY3NzJ10sXG4gIGhvc3Q6IHtcbiAgICBjbGFzczogJ2dyYW5pdGUtaW5wdXQtZmllbGQnLFxuICB9LFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgR3Jhbml0ZUlucHV0RmllbGRDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uQ2hhbmdlcyB7XG4gIEBJbnB1dCgpXG4gIGlkOiBzdHJpbmcgfCBudWxsID0gbnVsbDtcblxuICBASW5wdXQoKVxuICBuYW1lOiBzdHJpbmcgfCBudWxsID0gbnVsbDtcblxuICBASW5wdXQoKVxuICB0eXBlOiBzdHJpbmcgPSAndGV4dCc7XG5cbiAgQElucHV0KClcbiAgdmFsdWU6IHN0cmluZyB8IG51bWJlciA9ICcnO1xuXG4gIEBJbnB1dCgpXG4gIHJlcXVpcmVkOiBib29sZWFuID0gZmFsc2U7XG5cbiAgQElucHV0KClcbiAgcmVhZG9ubHk6IGJvb2xlYW4gPSBmYWxzZTtcblxuICBASW5wdXQoKVxuICBpbnZhbGlkOiBib29sZWFuID0gZmFsc2U7XG5cbiAgQElucHV0KClcbiAgZGlzYWJsZWQ6IGJvb2xlYW4gPSBmYWxzZTtcblxuICBASW5wdXQoKVxuICBwbGFjZWhvbGRlcjogc3RyaW5nID0gJyc7XG5cbiAgQElucHV0KClcbiAgcHJlZml4aWNvbjogc3RyaW5nO1xuXG4gIEBJbnB1dCgpXG4gIG1heGxlbmd0aDogbnVtYmVyID0gMjU1O1xuXG4gIEBJbnB1dCgpXG4gIGNvdW50Y2hhcmFjdGVyczogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIEBJbnB1dCgnYXJpYS1sYWJlbCcpXG4gIGFyaWFMYWJlbDogc3RyaW5nIHwgbnVsbCA9IG51bGw7XG5cbiAgQElucHV0KCdhcmlhLWxhYmVsbGVkYnknKVxuICBhcmlhTGFiZWxsZWRieTogc3RyaW5nIHwgbnVsbCA9IG51bGw7XG5cbiAgQE91dHB1dCgpXG4gIHJlYWRvbmx5IHZhbHVlQ2hhbmdlOiBFdmVudEVtaXR0ZXI8c3RyaW5nPiA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpO1xuXG4gIEBWaWV3Q2hpbGQoJ2lucHV0JylcbiAgcHJpdmF0ZSBfaW5wdXRFbGVtZW50OiBFbGVtZW50UmVmPEhUTUxJbnB1dEVsZW1lbnQ+O1xuXG4gIEBWaWV3Q2hpbGQoJ3RleHRhcmVhJylcbiAgcHJpdmF0ZSBfdGV4dGFyZWFFbGVtZW50OiBFbGVtZW50UmVmPEhUTUxUZXh0QXJlYUVsZW1lbnQ+O1xuXG4gIF9zdXBwb3J0ZWQ6IGJvb2xlYW4gPSB0cnVlO1xuICBfZW1wdHk6IGJvb2xlYW4gPSBmYWxzZTtcbiAgX3Bhc3N3b3JkRmllbGRJY29uOiBzdHJpbmcgPSAndmlldyc7XG4gIF9wYXNzd29yZEZpZWxkOiBib29sZWFuID0gZmFsc2U7XG4gIF9jdXJyZW50Q2hhckNvdW50ID0gMDtcbiAgcHJpdmF0ZSBfcGFzc3dvcmRUb2dnbGVkOiBib29sZWFuID0gZmFsc2U7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBfZm9jdXNNb25pdG9yOiBGb2N1c01vbml0b3IpIHt9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5fdmFsaWRhdGVUeXBlKCk7XG5cbiAgICB0aGlzLl9wYXNzd29yZEZpZWxkID0gdGhpcy50eXBlID09ICdwYXNzd29yZCc7XG4gICAgdGhpcy5fZW1wdHkgPSB0aGlzLnZhbHVlID09IG51bGwgfHwgdGhpcy52YWx1ZSA9PT0gJyc7XG4gIH1cblxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgaWYgKGNoYW5nZXMucmVxdWlyZWQpIHtcbiAgICAgIHRoaXMucmVxdWlyZWQgPSBjb2VyY2VCb29sZWFuUHJvcGVydHkoY2hhbmdlcy5yZXF1aXJlZC5jdXJyZW50VmFsdWUpO1xuICAgIH1cblxuICAgIGlmIChjaGFuZ2VzLnJlYWRvbmx5KSB7XG4gICAgICB0aGlzLnJlYWRvbmx5ID0gY29lcmNlQm9vbGVhblByb3BlcnR5KGNoYW5nZXMucmVhZG9ubHkuY3VycmVudFZhbHVlKTtcbiAgICB9XG5cbiAgICBpZiAoY2hhbmdlcy5pbnZhbGlkKSB7XG4gICAgICB0aGlzLmludmFsaWQgPSBjb2VyY2VCb29sZWFuUHJvcGVydHkoY2hhbmdlcy5pbnZhbGlkLmN1cnJlbnRWYWx1ZSk7XG4gICAgfVxuXG4gICAgaWYgKGNoYW5nZXMuZGlzYWJsZWQpIHtcbiAgICAgIHRoaXMuZGlzYWJsZWQgPSBjb2VyY2VCb29sZWFuUHJvcGVydHkoY2hhbmdlcy5kaXNhYmxlZC5jdXJyZW50VmFsdWUpO1xuICAgIH1cblxuICAgIGlmIChjaGFuZ2VzLmNvdW50Y2hhcmFjdGVycykge1xuICAgICAgdGhpcy5jb3VudGNoYXJhY3RlcnMgPSBjb2VyY2VCb29sZWFuUHJvcGVydHkoXG4gICAgICAgIGNoYW5nZXMuY291bnRjaGFyYWN0ZXJzLmN1cnJlbnRWYWx1ZVxuICAgICAgKTtcbiAgICB9XG5cbiAgICBpZiAoY2hhbmdlcy52YWx1ZSkge1xuICAgICAgdGhpcy5fZW1wdHkgPSB0aGlzLnZhbHVlID09IG51bGwgfHwgdGhpcy52YWx1ZSA9PT0gJyc7XG4gICAgfVxuXG4gICAgaWYgKGNoYW5nZXMudHlwZSkge1xuICAgICAgdGhpcy5fdmFsaWRhdGVUeXBlKCk7XG4gICAgfVxuICB9XG5cbiAgZm9jdXMob3JpZ2luOiBGb2N1c09yaWdpbiA9ICdwcm9ncmFtJywgb3B0aW9ucz86IEZvY3VzT3B0aW9ucyk6IHZvaWQge1xuICAgIGlmICh0aGlzLnR5cGUgPT09ICd0ZXh0Jykge1xuICAgICAgdGhpcy5fZm9jdXNNb25pdG9yLmZvY3VzVmlhKHRoaXMuX2dldElucHV0RWxlbWVudCgpLCBvcmlnaW4sIG9wdGlvbnMpO1xuICAgIH0gZWxzZSBpZiAodGhpcy50eXBlID09PSAndGV4dGFyZWEnKSB7XG4gICAgICB0aGlzLl9mb2N1c01vbml0b3IuZm9jdXNWaWEodGhpcy5fZ2V0VGV4dGFyZWFFbGVtZW50KCksIG9yaWdpbiwgb3B0aW9ucyk7XG4gICAgfVxuICB9XG5cbiAgX3RvZ2dsZVBhc3N3b3JkKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLl9wYXNzd29yZFRvZ2dsZWQpIHtcbiAgICAgIHRoaXMuX3Bhc3N3b3JkVG9nZ2xlZCA9IGZhbHNlO1xuICAgICAgdGhpcy50eXBlID0gJ3Bhc3N3b3JkJztcbiAgICAgIHRoaXMuX3Bhc3N3b3JkRmllbGRJY29uID0gJ3ZpZXcnO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLl9wYXNzd29yZFRvZ2dsZWQgPSB0cnVlO1xuICAgICAgdGhpcy50eXBlID0gJ3RleHQnO1xuICAgICAgdGhpcy5fcGFzc3dvcmRGaWVsZEljb24gPSAndmlldy1kaXNhYmxlZCc7XG4gICAgfVxuICB9XG5cbiAgX29uSW5wdXQoZXZlbnQ6IEV2ZW50KTogdm9pZCB7XG4gICAgY29uc3QgaW5wdXRFdmVudCA9IGV2ZW50LnRhcmdldCBhcyBIVE1MSW5wdXRFbGVtZW50O1xuICAgIHRoaXMuX2FwcGx5Q2hhcmFjdGVyQ291bnQoaW5wdXRFdmVudC52YWx1ZSk7XG4gICAgdGhpcy5fZW1wdHkgPSBpbnB1dEV2ZW50LnZhbHVlID09IG51bGwgfHwgaW5wdXRFdmVudC52YWx1ZSA9PT0gJyc7XG4gICAgdGhpcy52YWx1ZUNoYW5nZS5lbWl0KGlucHV0RXZlbnQudmFsdWUpO1xuICB9XG5cbiAgcHJvdGVjdGVkIF92YWxpZGF0ZVR5cGUoKTogdm9pZCB7XG4gICAgaWYgKEdSQU5JVEVfSU5QVVRfSU5DTFVERVMuaW5kZXhPZih0aGlzLnR5cGUpIDwgMCkge1xuICAgICAgdGhpcy5fc3VwcG9ydGVkID0gZmFsc2U7XG4gICAgICB0aHJvdyBFcnJvcihcbiAgICAgICAgYElucHV0IHR5cGUgXCIke3RoaXMudHlwZX1cIiBpc24ndCBzdXBwb3J0ZWQgYnkgZ3Jhbml0ZUlucHV0RmllbGQuYFxuICAgICAgKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIF9hcHBseUNoYXJhY3RlckNvdW50KGlucHV0U3RyaW5nOiBzdHJpbmcpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5jb3VudGNoYXJhY3RlcnMpIHtcbiAgICAgIHRoaXMuX2N1cnJlbnRDaGFyQ291bnQgPSBpbnB1dFN0cmluZy5sZW5ndGg7XG5cbiAgICAgIGlmICh0aGlzLl9jdXJyZW50Q2hhckNvdW50ID4gdGhpcy5tYXhsZW5ndGgpIHtcbiAgICAgICAgaW5wdXRTdHJpbmcgPSBpbnB1dFN0cmluZy5zbGljZSgwLCB0aGlzLm1heGxlbmd0aCk7XG4gICAgICAgIHRoaXMuX2N1cnJlbnRDaGFyQ291bnQgPSB0aGlzLm1heGxlbmd0aDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBwcml2YXRlIF9nZXRJbnB1dEVsZW1lbnQoKTogSFRNTElucHV0RWxlbWVudCB7XG4gICAgcmV0dXJuIHRoaXMuX2lucHV0RWxlbWVudC5uYXRpdmVFbGVtZW50O1xuICB9XG5cbiAgcHJpdmF0ZSBfZ2V0VGV4dGFyZWFFbGVtZW50KCk6IEhUTUxUZXh0QXJlYUVsZW1lbnQge1xuICAgIHJldHVybiB0aGlzLl90ZXh0YXJlYUVsZW1lbnQubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuIiwiPGRpdlxuICAqbmdJZj1cIl9zdXBwb3J0ZWRcIlxuICBjbGFzcz1cImdyYW5pdGUtaW5wdXQtY29udGFpbmVyXCJcbiAgW2NsYXNzLmdyYW5pdGUtaW5wdXQtZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICBbY2xhc3MuZ3Jhbml0ZS1pbnB1dC1yZWFkb25seV09XCJyZWFkb25seVwiXG4gIFtjbGFzcy5ncmFuaXRlLWlucHV0LWRpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgW2NsYXNzLmdyYW5pdGUtaW5wdXQtcmVhZG9ubHldPVwicmVhZG9ubHlcIlxuPlxuICA8ZGl2XG4gICAgY2xhc3M9XCJncmFuaXRlLWlucHV0LXRvcC1yb3dcIlxuICAgIFtjbGFzcy5ncmFuaXRlLWlucHV0LXJlcXVpcmVkXT1cInJlcXVpcmVkXCJcbiAgICBbY2xhc3MuZ3Jhbml0ZS1pbnB1dC1lbXB0eV09XCJfZW1wdHlcIlxuICAgIFtjbGFzcy5ncmFuaXRlLWlucHV0LWRpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgICBbY2xhc3MuZ3Jhbml0ZS1pbnB1dC1yZWFkb25seV09XCJyZWFkb25seVwiXG4gICAgW2NsYXNzLmdyYW5pdGUtaW5wdXQtaW52YWxpZF09XCJpbnZhbGlkXCJcbiAgPlxuICAgIDxkaXZcbiAgICAgICpuZ0lmPVwicHJlZml4aWNvblwiXG4gICAgICBjbGFzcz1cImdyYW5pdGUtaW5wdXQtcHJlcGVuZFwiXG4gICAgICBbY2xhc3MuZ3Jhbml0ZS1pbnB1dC1yZXF1aXJlZF09XCJyZXF1aXJlZFwiXG4gICAgICBbY2xhc3MuZ3Jhbml0ZS1pbnB1dC1lbXB0eV09XCJfZW1wdHlcIlxuICAgID5cbiAgICAgIDxncmFuaXRlLWljb24gY2xhc3M9XCJncmFuaXRlLWlucHV0LXByZXBlbmQtaWNvblwiPlxuICAgICAgICB7eyBwcmVmaXhpY29uIH19XG4gICAgICA8L2dyYW5pdGUtaWNvbj5cbiAgICA8L2Rpdj5cblxuICAgIDxuZy1jb250YWluZXJcbiAgICAgICpuZ0lmPVwidHlwZSAhPT0gJ3RleHRhcmVhJzsgdGhlbiBpbnB1dEVsZW1lbnQ7IGVsc2UgdGV4dGFyZWFFbGVtZW50XCJcbiAgICA+PC9uZy1jb250YWluZXI+XG5cbiAgICA8bmctdGVtcGxhdGUgI2lucHV0RWxlbWVudD5cbiAgICAgIDxpbnB1dFxuICAgICAgICAjaW5wdXRcbiAgICAgICAgW2lkXT1cImlkXCJcbiAgICAgICAgY2xhc3M9XCJncmFuaXRlLWlucHV0LWJhc2VcIlxuICAgICAgICBbY2xhc3MuZ3Jhbml0ZS1pbnB1dC1pbnZhbGlkXT1cImludmFsaWRcIlxuICAgICAgICBbY2xhc3MuZ3Jhbml0ZS1pbnB1dC1lbXB0eV09XCJfZW1wdHlcIlxuICAgICAgICBbbmFtZV09XCJuYW1lXCJcbiAgICAgICAgW2F0dHIudHlwZV09XCJ0eXBlXCJcbiAgICAgICAgW3JlcXVpcmVkXT1cInJlcXVpcmVkXCJcbiAgICAgICAgW3JlYWRvbmx5XT1cInJlYWRvbmx5XCJcbiAgICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgICAgICAgW3BsYWNlaG9sZGVyXT1cInBsYWNlaG9sZGVyXCJcbiAgICAgICAgW2F0dHIubWF4bGVuZ3RoXT1cIm1heGxlbmd0aFwiXG4gICAgICAgIFt2YWx1ZV09XCJ2YWx1ZVwiXG4gICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiYXJpYUxhYmVsXCJcbiAgICAgICAgW2F0dHIuYXJpYS1sYWJlbGxlZGJ5XT1cImFyaWFMYWJlbGxlZGJ5XCJcbiAgICAgICAgW2F0dHIuYXJpYS1pbnZhbGlkXT1cImludmFsaWRcIlxuICAgICAgICAoaW5wdXQpPVwiX29uSW5wdXQoJGV2ZW50KVwiXG4gICAgICAvPlxuICAgIDwvbmctdGVtcGxhdGU+XG5cbiAgICA8YnV0dG9uXG4gICAgICAqbmdJZj1cIl9wYXNzd29yZEZpZWxkXCJcbiAgICAgIGNsYXNzPVwiZ3Jhbml0ZS1pbnB1dC1hcHBlbmRcIlxuICAgICAgW2NsYXNzLmdyYW5pdGUtaW5wdXQtcmVxdWlyZWRdPVwicmVxdWlyZWRcIlxuICAgICAgW2NsYXNzLmdyYW5pdGUtaW5wdXQtZW1wdHldPVwiX2VtcHR5XCJcbiAgICAgIChjbGljayk9XCJfdG9nZ2xlUGFzc3dvcmQoKVwiXG4gICAgPlxuICAgICAgPGdyYW5pdGUtaWNvbiBjbGFzcz1cImdyYW5pdGUtaW5wdXQtcGFzc3dvcmQtdG9nZ2xlLWljb25cIj5cbiAgICAgICAge3sgX3Bhc3N3b3JkRmllbGRJY29uIH19XG4gICAgICA8L2dyYW5pdGUtaWNvbj5cbiAgICA8L2J1dHRvbj5cblxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIhX3Bhc3N3b3JkRmllbGRcIj5cbiAgICAgIDxuZy1jb250ZW50IHNlbGVjdD1cIltncmFuaXRlSW5wdXRTdWZmaXhCdXR0b25dXCI+PC9uZy1jb250ZW50PlxuICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgPG5nLXRlbXBsYXRlICN0ZXh0YXJlYUVsZW1lbnQ+XG4gICAgICA8dGV4dGFyZWFcbiAgICAgICAgI3RleHRhcmVhXG4gICAgICAgIFtpZF09XCJpZFwiXG4gICAgICAgIGNsYXNzPVwiZ3Jhbml0ZS1pbnB1dC1iYXNlIGdyYW5pdGUtdGV4dC1hcmVhXCJcbiAgICAgICAgW2NsYXNzLmdyYW5pdGUtaW5wdXQtaW52YWxpZF09XCJpbnZhbGlkXCJcbiAgICAgICAgW2NsYXNzLmdyYW5pdGUtaW5wdXQtZW1wdHldPVwiX2VtcHR5XCJcbiAgICAgICAgcm93cz1cIjFcIlxuICAgICAgICBbbmFtZV09XCJuYW1lXCJcbiAgICAgICAgW2F0dHIudHlwZV09XCJ0eXBlXCJcbiAgICAgICAgW3JlcXVpcmVkXT1cInJlcXVpcmVkXCJcbiAgICAgICAgW3JlYWRvbmx5XT1cInJlYWRvbmx5XCJcbiAgICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgICAgICAgW3BsYWNlaG9sZGVyXT1cInBsYWNlaG9sZGVyXCJcbiAgICAgICAgW3ZhbHVlXT1cInZhbHVlXCJcbiAgICAgICAgW2F0dHIubWF4bGVuZ3RoXT1cIm1heGxlbmd0aFwiXG4gICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiYXJpYUxhYmVsXCJcbiAgICAgICAgW2F0dHIuYXJpYS1sYWJlbGxlZGJ5XT1cImFyaWFMYWJlbGxlZGJ5XCJcbiAgICAgICAgW2F0dHIuYXJpYS1yZXF1aXJlZF09XCJyZXF1aXJlZFwiXG4gICAgICAgIFthdHRyLmFyaWEtaW52YWxpZF09XCJpbnZhbGlkXCJcbiAgICAgICAgKGlucHV0KT1cIl9vbklucHV0KCRldmVudClcIlxuICAgICAgPjwvdGV4dGFyZWE+XG4gICAgPC9uZy10ZW1wbGF0ZT5cbiAgPC9kaXY+XG5cbiAgPGRpdiAqbmdJZj1cImNvdW50Y2hhcmFjdGVyc1wiIGNsYXNzPVwiZ3Jhbml0ZS1pbnB1dC1ib3R0b20tcm93XCI+XG4gICAgPGRpdiBjbGFzcz1cImdyYW5pdGUtaW5wdXQtY2hhci1jb3VudFwiPlxuICAgICAge3sgX2N1cnJlbnRDaGFyQ291bnQgfX0ve3sgbWF4bGVuZ3RoIH19XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuPC9kaXY+XG4iXX0=