@ifsworld/granite-components 13.2.9 → 13.4.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.
- package/esm2022/lib/avatar/avatar.component.mjs +24 -7
- package/esm2022/lib/avatar/empty-avatar/empty-avatar.component.mjs +6 -22
- package/esm2022/lib/collapsible-group/collapsible-group.component.mjs +10 -3
- package/esm2022/lib/contacts/contacts-profile/contacts-profile.component.mjs +4 -13
- package/esm2022/lib/contacts/contacts-types/contacts.component.private-types.mjs +1 -1
- package/esm2022/lib/contacts/contacts-types/contacts.component.public-types.mjs +1 -1
- package/esm2022/lib/contacts/contacts.component.mjs +29 -8
- package/esm2022/lib/core/services/names-utils-service.mjs +51 -0
- package/esm2022/lib/input-field/input-field.component.mjs +1 -1
- package/fesm2022/ifsworld-granite-components.mjs +113 -44
- package/fesm2022/ifsworld-granite-components.mjs.map +1 -1
- package/lib/avatar/avatar.component.d.ts +9 -4
- package/lib/avatar/empty-avatar/empty-avatar.component.d.ts +3 -8
- package/lib/collapsible-group/collapsible-group.component.d.ts +1 -0
- package/lib/contacts/contacts-profile/contacts-profile.component.d.ts +3 -7
- package/lib/contacts/contacts-types/contacts.component.private-types.d.ts +4 -1
- package/lib/contacts/contacts-types/contacts.component.public-types.d.ts +2 -1
- package/lib/contacts/contacts.component.d.ts +6 -2
- package/lib/core/services/names-utils-service.d.ts +17 -0
- package/package.json +1 -1
|
@@ -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:
|
|
20
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.4", type: GraniteAvatarComponent, selector: "granite-avatar", inputs: { name: "name",
|
|
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 [
|
|
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
|
-
}],
|
|
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,
|
|
56
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXZhdGFyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvZ3Jhbml0ZS1jb21wb25lbnRzL3NyYy9saWIvYXZhdGFyL2F2YXRhci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2dyYW5pdGUtY29tcG9uZW50cy9zcmMvbGliL2F2YXRhci9hdmF0YXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsS0FBSyxFQUNMLGVBQWUsRUFDZixTQUFTLEVBR1QsaUJBQWlCLEdBR2xCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLG9EQUFvRCxDQUFDO0FBQ2xHLE9BQU8sRUFBRSxrQ0FBa0MsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBRXRGLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHNDQUFzQyxDQUFDOzs7OztBQVl6RSxNQUFNLE9BQU8sc0JBQ1gsU0FBUSw0QkFBNEI7SUFlcEMsWUFBb0IsRUFBcUI7UUFDdkMsS0FBSyxFQUFFLENBQUM7UUFEVSxPQUFFLEdBQUYsRUFBRSxDQUFtQjtJQUV6QyxDQUFDO0lBRUQsV0FBVyxDQUFDLE9BQXNCO1FBQ2hDLElBQUksT0FBTyxDQUFDLFNBQVMsSUFBSSxPQUFPLENBQUMsUUFBUSxJQUFJLE9BQU8sQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUMxRCxJQUFJLENBQUMsYUFBYSxHQUFHLGlCQUFpQixDQUFDLGFBQWEsQ0FBQztnQkFDbkQsU0FBUyxFQUFFLE9BQU8sQ0FBQyxTQUFTLEVBQUUsWUFBWTtnQkFDMUMsUUFBUSxFQUFFLE9BQU8sQ0FBQyxRQUFRLEVBQUUsWUFBWTtnQkFDeEMsSUFBSSxFQUFFLE9BQU8sQ0FBQyxJQUFJLEVBQUUsWUFBWTthQUNqQyxDQUFDLENBQUMsUUFBUSxDQUFDO1lBRVosSUFBSSxDQUFDLEVBQUUsQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUN6QixDQUFDO0lBQ0gsQ0FBQztJQUVELHFCQUFxQjtRQUNuQixJQUFJLENBQUMsdUJBQXVCLEdBQUcsSUFBSSxDQUFDLHdCQUF3QjthQUN6RCxPQUFPLEVBQUU7YUFDVCxNQUFNLENBQUMsQ0FBQyxVQUFVLEVBQUUsSUFBSSxFQUFFLEVBQUU7WUFDM0IsT0FBTztnQkFDTCxHQUFHLFVBQVU7Z0JBQ2IsQ0FBQyxJQUFJLENBQUMseUJBQXlCLENBQUMsRUFBRSxJQUFJLENBQUMsV0FBVzthQUNuRCxDQUFDO1FBQ0osQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBQ1gsQ0FBQzs4R0F6Q1Usc0JBQXNCO2tHQUF0QixzQkFBc0IsdVBBVWhCLGtDQUFrQyxzR0NyQ3JELGlqQ0F3Q0E7OzJGRGJhLHNCQUFzQjtrQkFWbEMsU0FBUzsrQkFDRSxnQkFBZ0IsWUFDaEIsZUFBZSxRQUNuQjt3QkFDSixLQUFLLEVBQUUsZ0JBQWdCO3FCQUN4QixtQkFHZ0IsdUJBQXVCLENBQUMsTUFBTTtzRkFNdEMsSUFBSTtzQkFBWixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxNQUFNO3NCQUFkLEtBQUs7Z0JBQ0csTUFBTTtzQkFBZCxLQUFLO2dCQUdOLHdCQUF3QjtzQkFEdkIsZUFBZTt1QkFBQyxrQ0FBa0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ29tcG9uZW50LFxuICBJbnB1dCxcbiAgQ29udGVudENoaWxkcmVuLFxuICBRdWVyeUxpc3QsXG4gIEFmdGVyQ29udGVudENoZWNrZWQsXG4gIFRlbXBsYXRlUmVmLFxuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgT25DaGFuZ2VzLFxuICBTaW1wbGVDaGFuZ2VzLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbnRhY3RzVHJpZ2dlckRhdGFDb21wb25lbnQgfSBmcm9tICcuLi9jb250YWN0cy9jb250YWN0cy10cmlnZ2VyL2NvbnRhY3RzLXRyaWdnZXItZGF0YSc7XG5pbXBvcnQgeyBHcmFuaXRlQ3VzdG9tQXZhdGFyU3RhdHVzRGlyZWN0aXZlIH0gZnJvbSAnLi9jdXN0b20tYXZhdGFyLXN0YXR1cy5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgQXZhdGFyRGVmYXVsdFN0YXR1c2VzIH0gZnJvbSAnLi9hdmF0YXIuY29tcG9uZW50LnB1YmxpYy10eXBlcyc7XG5pbXBvcnQgeyBOYW1lc1V0aWxzU2VydmljZSB9IGZyb20gJy4uL2NvcmUvc2VydmljZXMvbmFtZXMtdXRpbHMtc2VydmljZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2dyYW5pdGUtYXZhdGFyJyxcbiAgZXhwb3J0QXM6ICdncmFuaXRlQXZhdGFyJyxcbiAgaG9zdDoge1xuICAgIGNsYXNzOiAnZ3Jhbml0ZS1hdmF0YXInLFxuICB9LFxuICB0ZW1wbGF0ZVVybDogJy4vYXZhdGFyLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vYXZhdGFyLmNvbXBvbmVudC5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBHcmFuaXRlQXZhdGFyQ29tcG9uZW50XG4gIGV4dGVuZHMgQ29udGFjdHNUcmlnZ2VyRGF0YUNvbXBvbmVudFxuICBpbXBsZW1lbnRzIEFmdGVyQ29udGVudENoZWNrZWQsIE9uQ2hhbmdlc1xue1xuICBASW5wdXQoKSBuYW1lOiBzdHJpbmc7XG4gIEBJbnB1dCgpIGZpcnN0TmFtZTogc3RyaW5nO1xuICBASW5wdXQoKSBsYXN0TmFtZTogc3RyaW5nO1xuICBASW5wdXQoKSBhdmF0YXI6IHN0cmluZztcbiAgQElucHV0KCkgc3RhdHVzOiBBdmF0YXJEZWZhdWx0U3RhdHVzZXM7XG5cbiAgQENvbnRlbnRDaGlsZHJlbihHcmFuaXRlQ3VzdG9tQXZhdGFyU3RhdHVzRGlyZWN0aXZlKVxuICBfY3VzdG9tU3RhdHVzZXNRdWVyeUxpc3Q6IFF1ZXJ5TGlzdDxHcmFuaXRlQ3VzdG9tQXZhdGFyU3RhdHVzRGlyZWN0aXZlPjtcbiAgX2N1c3RvbVN0YXR1c0RpcmVjdGl2ZXM6IFJlY29yZDxzdHJpbmcsIFRlbXBsYXRlUmVmPHVua25vd24+PjtcblxuICBfbmFtZUluaXRpYWxzOiBzdHJpbmc7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBjZDogQ2hhbmdlRGV0ZWN0b3JSZWYpIHtcbiAgICBzdXBlcigpO1xuICB9XG5cbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xuICAgIGlmIChjaGFuZ2VzLmZpcnN0TmFtZSB8fCBjaGFuZ2VzLmxhc3ROYW1lIHx8IGNoYW5nZXMubmFtZSkge1xuICAgICAgdGhpcy5fbmFtZUluaXRpYWxzID0gTmFtZXNVdGlsc1NlcnZpY2UuYnVpbGROYW1lRGF0YSh7XG4gICAgICAgIGZpcnN0TmFtZTogY2hhbmdlcy5maXJzdE5hbWU/LmN1cnJlbnRWYWx1ZSxcbiAgICAgICAgbGFzdE5hbWU6IGNoYW5nZXMubGFzdE5hbWU/LmN1cnJlbnRWYWx1ZSxcbiAgICAgICAgbmFtZTogY2hhbmdlcy5uYW1lPy5jdXJyZW50VmFsdWUsXG4gICAgICB9KS5pbml0aWFscztcblxuICAgICAgdGhpcy5jZC5tYXJrRm9yQ2hlY2soKTtcbiAgICB9XG4gIH1cblxuICBuZ0FmdGVyQ29udGVudENoZWNrZWQoKTogdm9pZCB7XG4gICAgdGhpcy5fY3VzdG9tU3RhdHVzRGlyZWN0aXZlcyA9IHRoaXMuX2N1c3RvbVN0YXR1c2VzUXVlcnlMaXN0XG4gICAgICAudG9BcnJheSgpXG4gICAgICAucmVkdWNlKChkaXJlY3RpdmVzLCBuZXh0KSA9PiB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgLi4uZGlyZWN0aXZlcyxcbiAgICAgICAgICBbbmV4dC5ncmFuaXRlQ3VzdG9tQXZhdGFyU3RhdHVzXTogbmV4dC50ZW1wbGF0ZVJlZixcbiAgICAgICAgfTtcbiAgICAgIH0sIHt9KTtcbiAgfVxufVxuIiwiPGltZ1xuICBkYXRhLWZuZD1cInByb2ZpbGUtYXZhdGFyXCJcbiAgKm5nSWY9XCJhdmF0YXI7IGVsc2Ugbm9Qcm9maWxlQXZhdGFyXCJcbiAgW3NyY109XCJhdmF0YXJcIlxuICBhbHQ9XCJhdmF0YXJcIlxuICBjbGFzcz1cInByb2ZpbGUtYXZhdGFyIHByb2ZpbGUtc2l6ZVwiXG4vPlxuXG48bmctdGVtcGxhdGUgI25vUHJvZmlsZUF2YXRhcj5cbiAgPGdyYW5pdGUtZW1wdHktYXZhdGFyXG4gICAgY2xhc3M9XCJwcm9maWxlLXNpemVcIlxuICAgIFtpbml0aWFsc109XCJfbmFtZUluaXRpYWxzXCJcbiAgPjwvZ3Jhbml0ZS1lbXB0eS1hdmF0YXI+XG48L25nLXRlbXBsYXRlPlxuXG5AaWYgKHN0YXR1cyAmJiBfY3VzdG9tU3RhdHVzRGlyZWN0aXZlc1tzdGF0dXNdKSB7XG4gIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJjdXN0b21TdGF0dXNcIj48L25nLWNvbnRhaW5lcj5cbn0gQGVsc2UgaWYgKHN0YXR1cykge1xuICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiZGVmYXVsdFN0YXR1c1wiPjwvbmctY29udGFpbmVyPlxufVxuXG48bmctdGVtcGxhdGUgI2RlZmF1bHRTdGF0dXM+XG4gIDxncmFuaXRlLWF2YXRhci1kZWZhdWx0LXN0YXR1c1xuICAgIGNsYXNzPVwicHJvZmlsZS1kZWZhdWx0LXN0YXR1c1wiXG4gICAgW2F0dHIuZGF0YS1mbmRdPVwic3RhdHVzICsgJy1zdGF0dXMnXCJcbiAgICBbc3RhdHVzXT1cInN0YXR1c1wiXG4gID48L2dyYW5pdGUtYXZhdGFyLWRlZmF1bHQtc3RhdHVzPlxuPC9uZy10ZW1wbGF0ZT5cblxuPG5nLXRlbXBsYXRlICNjdXN0b21TdGF0dXM+XG4gIDxkaXZcbiAgICBbYXR0ci5kYXRhLWZuZF09XCIncHJvZmlsZS1zdGF0dXMtY3VzdG9tJ1wiXG4gICAgW2NsYXNzXT1cIidwcm9maWxlLXN0YXR1cy0nICsgc3RhdHVzXCJcbiAgICBjbGFzcz1cInByb2ZpbGUtY3VzdG9tLXN0YXR1c1wiXG4gID5cbiAgICA8bmctY29udGFpbmVyXG4gICAgICAqbmdUZW1wbGF0ZU91dGxldD1cIl9jdXN0b21TdGF0dXNEaXJlY3RpdmVzW3N0YXR1c11cIlxuICAgID48L25nLWNvbnRhaW5lcj5cbiAgPC9kaXY+XG48L25nLXRlbXBsYXRlPlxuIl19
|
|
@@ -1,27 +1,13 @@
|
|
|
1
|
-
import { ChangeDetectionStrategy, Component, Input
|
|
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: {
|
|
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
|
-
>{{
|
|
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
|
-
>{{
|
|
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: {
|
|
43
|
-
type: Input
|
|
44
|
-
}], surname: [{
|
|
28
|
+
}], propDecorators: { initials: [{
|
|
45
29
|
type: Input
|
|
46
30
|
}] } });
|
|
47
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
31
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW1wdHktYXZhdGFyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvZ3Jhbml0ZS1jb21wb25lbnRzL3NyYy9saWIvYXZhdGFyL2VtcHR5LWF2YXRhci9lbXB0eS1hdmF0YXIuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQW1CMUUsTUFBTSxPQUFPLDJCQUEyQjs4R0FBM0IsMkJBQTJCO2tHQUEzQiwyQkFBMkIsZ0pBWjVCOzs7Ozs7OztHQVFUOzsyRkFJVSwyQkFBMkI7a0JBakJ2QyxTQUFTOytCQUNFLHNCQUFzQixRQUMxQjt3QkFDSixLQUFLLEVBQUUsc0JBQXNCO3FCQUM5QixZQUNTOzs7Ozs7OztHQVFULG1CQUVnQix1QkFBdUIsQ0FBQyxNQUFNOzhCQUd0QyxRQUFRO3NCQUFoQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZ3Jhbml0ZS1lbXB0eS1hdmF0YXInLFxuICBob3N0OiB7XG4gICAgY2xhc3M6ICdncmFuaXRlLWVtcHR5LWF2YXRhcicsXG4gIH0sXG4gIHRlbXBsYXRlOiBgXG4gICAgPGRpdiBjbGFzcz1cIm5vLXByb2ZpbGUtYXZhdGFyXCI+XG4gICAgICA8c3BhblxuICAgICAgICBkYXRhLWZuZD1cIm5vLXByb2ZpbGUtYXZhdGFyLWluaXRpYWxzXCJcbiAgICAgICAgY2xhc3M9XCJuby1wcm9maWxlLWF2YXRhci1pbml0aWFsc1wiXG4gICAgICAgID57eyBpbml0aWFscyB9fTwvc3BhblxuICAgICAgPlxuICAgIDwvZGl2PlxuICBgLFxuICBzdHlsZVVybHM6IFsnLi9lbXB0eS1hdmF0YXIuY29tcG9uZW50LnNjc3MnXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIEdyYW5pdGVFbXB0eUF2YXRhckNvbXBvbmVudCB7XG4gIEBJbnB1dCgpIGluaXRpYWxzOiBzdHJpbmc7XG59XG4iXX0=
|
|
@@ -15,12 +15,19 @@ export class GraniteCollapsibleGroupComponent {
|
|
|
15
15
|
this.collapsed = !this.collapsed;
|
|
16
16
|
this.collapsedChanged.emit(this.collapsed);
|
|
17
17
|
}
|
|
18
|
+
_toogleCollapsing(event) {
|
|
19
|
+
if (event.code === 'Enter' || event.code === 'Space') {
|
|
20
|
+
event.preventDefault();
|
|
21
|
+
event.stopPropagation();
|
|
22
|
+
this.toggleCollapsibleGroup();
|
|
23
|
+
}
|
|
24
|
+
}
|
|
18
25
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: GraniteCollapsibleGroupComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
19
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.4", type: GraniteCollapsibleGroupComponent, selector: "granite-collapsible-group", inputs: { collapsed: "collapsed", id: "id", arialabel: "arialabel" }, outputs: { collapsedChanged: "collapsedChanged" }, queries: [{ propertyName: "conditionalBodyContentRef", first: true, predicate: GraniteCollapsibleConditionalBodyDirective, descendants: true }, { propertyName: "conditionalHeaderContentRef", first: true, predicate: GraniteCollapsibleConditionalHeaderDirective, descendants: true }], ngImport: i0, template: "<div class=\"collapsible-wrapper\">\n <div\n class=\"collapsible-group-header\"\n [class]=\"collapsed ? 'collapsed-header' : 'expanded-header'\"\n role=\"button\"\n (click)=\"toggleCollapsibleGroup()\"\n [attr.id]=\"id ? 'collapsible-group-header-' + id : null\"\n [attr.aria-label]=\"arialabel\"\n [attr.aria-expanded]=\"!collapsed\"\n [attr.aria-controls]=\"id ? 'collapsible-group-body-' + id : null\"\n >\n <ng-container\n [ngTemplateOutlet]=\"\n conditionalHeaderContentRef\n ? conditionalHeaderContentRef.template\n : null\n \"\n ></ng-container>\n\n <div class=\"collapse-icon\">\n <granite-icon\n [fontIcon]=\"collapsed ? 'icon-caret-down' : 'icon-caret-up'\"\n ></granite-icon>\n </div>\n </div>\n <div\n class=\"collapsible-group-body\"\n [class]=\"collapsed ? 'collapse' : 'expand'\"\n role=\"region\"\n [attr.id]=\"id ? 'collapsible-group-body-' + id : null\"\n [attr.aria-labelledby]=\"id ? 'collapsible-group-header-' + id : null\"\n >\n <ng-container\n [ngTemplateOutlet]=\"\n !collapsed && conditionalBodyContentRef\n ? conditionalBodyContentRef.template\n : null\n \"\n >\n </ng-container>\n </div>\n</div>\n", styles: [".collapsible-wrapper{background-color:var(--granite-color-background);box-shadow:var(--granite-shadow-base);border-radius:var(--granite-radius-s);width:100%;font-family:var(--granite-font-family-default)}.collapsible-wrapper .collapse-icon{align-self:center;width:var(--granite-size-base-rem);height:var(--granite-size-base-rem);font-size:var(--granite-font-size-body);color:var(--granite-color-background-inverse);display:none}.collapsible-wrapper .collapsible-group-header{display:flex;flex-direction:row;justify-content:space-between;cursor:pointer;font-size:var(--granite-font-size-body-small);line-height:var(--granite-line-height-base-rem);font-weight:var(--granite-font-weight-bold);padding:var(--granite-spacing-8) var(--granite-spacing-16);transition:background-color .2s ease-out;color:var(--granite-color-text);background-color:var(--granite-color-background);align-items:center}.collapsible-wrapper .collapsible-group-header:hover{background-color:var(--granite-color-background-hover)}.collapsible-wrapper .collapsible-group-header:hover .collapse-icon{display:block}.collapsible-wrapper .collapsible-group-header.expanded-header{border-start-start-radius:var(--granite-radius-s);border-start-end-radius:var(--granite-radius-s);border-end-start-radius:0;border-end-end-radius:0}.collapsible-wrapper .collapsible-group-header.collapsed-header{border-radius:var(--granite-radius-s)}.collapsible-wrapper .collapsible-group-body{padding:var(--granite-spacing-16);transition:all .3s ease-in-out}.collapsible-wrapper .collapsible-group-body.expand{display:block;background-color:var(--granite-color-background);border-end-start-radius:var(--granite-radius-s);border-end-end-radius:var(--granite-radius-s)}.collapsible-wrapper .collapsible-group-body.collapse{display:none}\n"], dependencies: [{ kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i2.GraniteIconComponent, selector: "granite-icon", inputs: ["fontIcon"] }] }); }
|
|
26
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.4", type: GraniteCollapsibleGroupComponent, selector: "granite-collapsible-group", inputs: { collapsed: "collapsed", id: "id", arialabel: "arialabel" }, outputs: { collapsedChanged: "collapsedChanged" }, queries: [{ propertyName: "conditionalBodyContentRef", first: true, predicate: GraniteCollapsibleConditionalBodyDirective, descendants: true }, { propertyName: "conditionalHeaderContentRef", first: true, predicate: GraniteCollapsibleConditionalHeaderDirective, descendants: true }], ngImport: i0, template: "<div class=\"collapsible-wrapper\">\n <div\n data-fnd=\"collapsible-group-header\"\n class=\"collapsible-group-header\"\n [class]=\"collapsed ? 'collapsed-header' : 'expanded-header'\"\n role=\"button\"\n (click)=\"toggleCollapsibleGroup()\"\n (keydown)=\"_toogleCollapsing($event)\"\n [attr.id]=\"id ? 'collapsible-group-header-' + id : null\"\n [attr.aria-label]=\"arialabel\"\n [attr.aria-expanded]=\"!collapsed\"\n [attr.aria-controls]=\"id ? 'collapsible-group-body-' + id : null\"\n tabindex=\"0\"\n >\n <ng-container\n [ngTemplateOutlet]=\"\n conditionalHeaderContentRef\n ? conditionalHeaderContentRef.template\n : null\n \"\n ></ng-container>\n\n <div class=\"collapse-icon\">\n <granite-icon\n [fontIcon]=\"collapsed ? 'icon-caret-down' : 'icon-caret-up'\"\n ></granite-icon>\n </div>\n </div>\n <div\n data-fnd=\"collapsible-group-body\"\n class=\"collapsible-group-body\"\n [class]=\"collapsed ? 'collapse' : 'expand'\"\n role=\"region\"\n [attr.id]=\"id ? 'collapsible-group-body-' + id : null\"\n [attr.aria-labelledby]=\"id ? 'collapsible-group-header-' + id : null\"\n >\n <ng-container\n [ngTemplateOutlet]=\"\n !collapsed && conditionalBodyContentRef\n ? conditionalBodyContentRef.template\n : null\n \"\n >\n </ng-container>\n </div>\n</div>\n", styles: [".collapsible-wrapper{background-color:var(--granite-color-background);box-shadow:var(--granite-shadow-base);border-radius:var(--granite-radius-s);width:100%;font-family:var(--granite-font-family-default)}.collapsible-wrapper .collapse-icon{align-self:center;width:var(--granite-size-base-rem);height:var(--granite-size-base-rem);font-size:var(--granite-font-size-body);color:var(--granite-color-background-inverse);display:none}.collapsible-wrapper .collapsible-group-header{display:flex;flex-direction:row;justify-content:space-between;cursor:pointer;font-size:var(--granite-font-size-body-small);line-height:var(--granite-line-height-base-rem);font-weight:var(--granite-font-weight-bold);padding:var(--granite-spacing-8) var(--granite-spacing-16);transition:background-color .2s ease-out;color:var(--granite-color-text);background-color:var(--granite-color-background);align-items:center}.collapsible-wrapper .collapsible-group-header:focus{outline:var(--granite-border-width-focus) solid var(--granite-color-focus)}.collapsible-wrapper .collapsible-group-header:hover{background-color:var(--granite-color-background-hover)}.collapsible-wrapper .collapsible-group-header:hover .collapse-icon{display:block}.collapsible-wrapper .collapsible-group-header.expanded-header{border-start-start-radius:var(--granite-radius-s);border-start-end-radius:var(--granite-radius-s);border-end-start-radius:0;border-end-end-radius:0}.collapsible-wrapper .collapsible-group-header.collapsed-header{border-radius:var(--granite-radius-s)}.collapsible-wrapper .collapsible-group-body{padding:var(--granite-spacing-16);transition:all .3s ease-in-out}.collapsible-wrapper .collapsible-group-body.expand{display:block;background-color:var(--granite-color-background);border-end-start-radius:var(--granite-radius-s);border-end-end-radius:var(--granite-radius-s)}.collapsible-wrapper .collapsible-group-body.collapse{display:none}\n"], dependencies: [{ kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i2.GraniteIconComponent, selector: "granite-icon", inputs: ["fontIcon"] }] }); }
|
|
20
27
|
}
|
|
21
28
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: GraniteCollapsibleGroupComponent, decorators: [{
|
|
22
29
|
type: Component,
|
|
23
|
-
args: [{ selector: 'granite-collapsible-group', template: "<div class=\"collapsible-wrapper\">\n <div\n class=\"collapsible-group-header\"\n [class]=\"collapsed ? 'collapsed-header' : 'expanded-header'\"\n role=\"button\"\n (click)=\"toggleCollapsibleGroup()\"\n [attr.id]=\"id ? 'collapsible-group-header-' + id : null\"\n [attr.aria-label]=\"arialabel\"\n [attr.aria-expanded]=\"!collapsed\"\n [attr.aria-controls]=\"id ? 'collapsible-group-body-' + id : null\"\n >\n <ng-container\n [ngTemplateOutlet]=\"\n conditionalHeaderContentRef\n ? conditionalHeaderContentRef.template\n : null\n \"\n ></ng-container>\n\n <div class=\"collapse-icon\">\n <granite-icon\n [fontIcon]=\"collapsed ? 'icon-caret-down' : 'icon-caret-up'\"\n ></granite-icon>\n </div>\n </div>\n <div\n class=\"collapsible-group-body\"\n [class]=\"collapsed ? 'collapse' : 'expand'\"\n role=\"region\"\n [attr.id]=\"id ? 'collapsible-group-body-' + id : null\"\n [attr.aria-labelledby]=\"id ? 'collapsible-group-header-' + id : null\"\n >\n <ng-container\n [ngTemplateOutlet]=\"\n !collapsed && conditionalBodyContentRef\n ? conditionalBodyContentRef.template\n : null\n \"\n >\n </ng-container>\n </div>\n</div>\n", styles: [".collapsible-wrapper{background-color:var(--granite-color-background);box-shadow:var(--granite-shadow-base);border-radius:var(--granite-radius-s);width:100%;font-family:var(--granite-font-family-default)}.collapsible-wrapper .collapse-icon{align-self:center;width:var(--granite-size-base-rem);height:var(--granite-size-base-rem);font-size:var(--granite-font-size-body);color:var(--granite-color-background-inverse);display:none}.collapsible-wrapper .collapsible-group-header{display:flex;flex-direction:row;justify-content:space-between;cursor:pointer;font-size:var(--granite-font-size-body-small);line-height:var(--granite-line-height-base-rem);font-weight:var(--granite-font-weight-bold);padding:var(--granite-spacing-8) var(--granite-spacing-16);transition:background-color .2s ease-out;color:var(--granite-color-text);background-color:var(--granite-color-background);align-items:center}.collapsible-wrapper .collapsible-group-header:hover{background-color:var(--granite-color-background-hover)}.collapsible-wrapper .collapsible-group-header:hover .collapse-icon{display:block}.collapsible-wrapper .collapsible-group-header.expanded-header{border-start-start-radius:var(--granite-radius-s);border-start-end-radius:var(--granite-radius-s);border-end-start-radius:0;border-end-end-radius:0}.collapsible-wrapper .collapsible-group-header.collapsed-header{border-radius:var(--granite-radius-s)}.collapsible-wrapper .collapsible-group-body{padding:var(--granite-spacing-16);transition:all .3s ease-in-out}.collapsible-wrapper .collapsible-group-body.expand{display:block;background-color:var(--granite-color-background);border-end-start-radius:var(--granite-radius-s);border-end-end-radius:var(--granite-radius-s)}.collapsible-wrapper .collapsible-group-body.collapse{display:none}\n"] }]
|
|
30
|
+
args: [{ selector: 'granite-collapsible-group', template: "<div class=\"collapsible-wrapper\">\n <div\n data-fnd=\"collapsible-group-header\"\n class=\"collapsible-group-header\"\n [class]=\"collapsed ? 'collapsed-header' : 'expanded-header'\"\n role=\"button\"\n (click)=\"toggleCollapsibleGroup()\"\n (keydown)=\"_toogleCollapsing($event)\"\n [attr.id]=\"id ? 'collapsible-group-header-' + id : null\"\n [attr.aria-label]=\"arialabel\"\n [attr.aria-expanded]=\"!collapsed\"\n [attr.aria-controls]=\"id ? 'collapsible-group-body-' + id : null\"\n tabindex=\"0\"\n >\n <ng-container\n [ngTemplateOutlet]=\"\n conditionalHeaderContentRef\n ? conditionalHeaderContentRef.template\n : null\n \"\n ></ng-container>\n\n <div class=\"collapse-icon\">\n <granite-icon\n [fontIcon]=\"collapsed ? 'icon-caret-down' : 'icon-caret-up'\"\n ></granite-icon>\n </div>\n </div>\n <div\n data-fnd=\"collapsible-group-body\"\n class=\"collapsible-group-body\"\n [class]=\"collapsed ? 'collapse' : 'expand'\"\n role=\"region\"\n [attr.id]=\"id ? 'collapsible-group-body-' + id : null\"\n [attr.aria-labelledby]=\"id ? 'collapsible-group-header-' + id : null\"\n >\n <ng-container\n [ngTemplateOutlet]=\"\n !collapsed && conditionalBodyContentRef\n ? conditionalBodyContentRef.template\n : null\n \"\n >\n </ng-container>\n </div>\n</div>\n", styles: [".collapsible-wrapper{background-color:var(--granite-color-background);box-shadow:var(--granite-shadow-base);border-radius:var(--granite-radius-s);width:100%;font-family:var(--granite-font-family-default)}.collapsible-wrapper .collapse-icon{align-self:center;width:var(--granite-size-base-rem);height:var(--granite-size-base-rem);font-size:var(--granite-font-size-body);color:var(--granite-color-background-inverse);display:none}.collapsible-wrapper .collapsible-group-header{display:flex;flex-direction:row;justify-content:space-between;cursor:pointer;font-size:var(--granite-font-size-body-small);line-height:var(--granite-line-height-base-rem);font-weight:var(--granite-font-weight-bold);padding:var(--granite-spacing-8) var(--granite-spacing-16);transition:background-color .2s ease-out;color:var(--granite-color-text);background-color:var(--granite-color-background);align-items:center}.collapsible-wrapper .collapsible-group-header:focus{outline:var(--granite-border-width-focus) solid var(--granite-color-focus)}.collapsible-wrapper .collapsible-group-header:hover{background-color:var(--granite-color-background-hover)}.collapsible-wrapper .collapsible-group-header:hover .collapse-icon{display:block}.collapsible-wrapper .collapsible-group-header.expanded-header{border-start-start-radius:var(--granite-radius-s);border-start-end-radius:var(--granite-radius-s);border-end-start-radius:0;border-end-end-radius:0}.collapsible-wrapper .collapsible-group-header.collapsed-header{border-radius:var(--granite-radius-s)}.collapsible-wrapper .collapsible-group-body{padding:var(--granite-spacing-16);transition:all .3s ease-in-out}.collapsible-wrapper .collapsible-group-body.expand{display:block;background-color:var(--granite-color-background);border-end-start-radius:var(--granite-radius-s);border-end-end-radius:var(--granite-radius-s)}.collapsible-wrapper .collapsible-group-body.collapse{display:none}\n"] }]
|
|
24
31
|
}], propDecorators: { collapsed: [{
|
|
25
32
|
type: Input
|
|
26
33
|
}], id: [{
|
|
@@ -36,4 +43,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.4", ngImpor
|
|
|
36
43
|
type: ContentChild,
|
|
37
44
|
args: [GraniteCollapsibleConditionalHeaderDirective]
|
|
38
45
|
}] } });
|
|
39
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
46
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sbGFwc2libGUtZ3JvdXAuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9ncmFuaXRlLWNvbXBvbmVudHMvc3JjL2xpYi9jb2xsYXBzaWJsZS1ncm91cC9jb2xsYXBzaWJsZS1ncm91cC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2dyYW5pdGUtY29tcG9uZW50cy9zcmMvbGliL2NvbGxhcHNpYmxlLWdyb3VwL2NvbGxhcHNpYmxlLWdyb3VwLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxTQUFTLEVBQ1QsWUFBWSxFQUNaLFlBQVksRUFDWixLQUFLLEVBQ0wsTUFBTSxHQUNQLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSwwQ0FBMEMsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQ2hHLE9BQU8sRUFBRSw0Q0FBNEMsRUFBRSxNQUFNLHNDQUFzQyxDQUFDOzs7O0FBTXBHLE1BQU0sT0FBTyxnQ0FBZ0M7SUFMN0M7UUFPRSxjQUFTLEdBQVksS0FBSyxDQUFDO1FBRzNCLE9BQUUsR0FBVyxFQUFFLENBQUM7UUFHaEIsY0FBUyxHQUFrQixJQUFJLENBQUM7UUFHdkIscUJBQWdCLEdBQ3ZCLElBQUksWUFBWSxFQUFXLENBQUM7S0FvQi9CO0lBWkMsc0JBQXNCO1FBQ3BCLElBQUksQ0FBQyxTQUFTLEdBQUcsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDO1FBQ2pDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQzdDLENBQUM7SUFFRCxpQkFBaUIsQ0FBQyxLQUFvQjtRQUNwQyxJQUFJLEtBQUssQ0FBQyxJQUFJLEtBQUssT0FBTyxJQUFJLEtBQUssQ0FBQyxJQUFJLEtBQUssT0FBTyxFQUFFLENBQUM7WUFDckQsS0FBSyxDQUFDLGNBQWMsRUFBRSxDQUFDO1lBQ3ZCLEtBQUssQ0FBQyxlQUFlLEVBQUUsQ0FBQztZQUN4QixJQUFJLENBQUMsc0JBQXNCLEVBQUUsQ0FBQztRQUNoQyxDQUFDO0lBQ0gsQ0FBQzs4R0EvQlUsZ0NBQWdDO2tHQUFoQyxnQ0FBZ0MsaVBBYzdCLDBDQUEwQyw4RkFHMUMsNENBQTRDLGdEQy9CNUQscTVDQThDQTs7MkZEaENhLGdDQUFnQztrQkFMNUMsU0FBUzsrQkFDRSwyQkFBMkI7OEJBTXJDLFNBQVM7c0JBRFIsS0FBSztnQkFJTixFQUFFO3NCQURELEtBQUs7Z0JBSU4sU0FBUztzQkFEUixLQUFLO2dCQUlHLGdCQUFnQjtzQkFEeEIsTUFBTTtnQkFLUCx5QkFBeUI7c0JBRHhCLFlBQVk7dUJBQUMsMENBQTBDO2dCQUl4RCwyQkFBMkI7c0JBRDFCLFlBQVk7dUJBQUMsNENBQTRDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ29tcG9uZW50LFxuICBDb250ZW50Q2hpbGQsXG4gIEV2ZW50RW1pdHRlcixcbiAgSW5wdXQsXG4gIE91dHB1dCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBHcmFuaXRlQ29sbGFwc2libGVDb25kaXRpb25hbEJvZHlEaXJlY3RpdmUgfSBmcm9tICcuL2NvbGxhcHNpYmxlLWdyb3VwLWJvZHkuZGlyZWN0aXZlJztcbmltcG9ydCB7IEdyYW5pdGVDb2xsYXBzaWJsZUNvbmRpdGlvbmFsSGVhZGVyRGlyZWN0aXZlIH0gZnJvbSAnLi9jb2xsYXBzaWJsZS1ncm91cC1oZWFkZXIuZGlyZWN0aXZlJztcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2dyYW5pdGUtY29sbGFwc2libGUtZ3JvdXAnLFxuICB0ZW1wbGF0ZVVybDogJ2NvbGxhcHNpYmxlLWdyb3VwLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJ2NvbGxhcHNpYmxlLWdyb3VwLmNvbXBvbmVudC5zY3NzJ10sXG59KVxuZXhwb3J0IGNsYXNzIEdyYW5pdGVDb2xsYXBzaWJsZUdyb3VwQ29tcG9uZW50IHtcbiAgQElucHV0KClcbiAgY29sbGFwc2VkOiBib29sZWFuID0gZmFsc2U7XG5cbiAgQElucHV0KClcbiAgaWQ6IHN0cmluZyA9ICcnO1xuXG4gIEBJbnB1dCgpXG4gIGFyaWFsYWJlbDogc3RyaW5nIHwgbnVsbCA9IG51bGw7XG5cbiAgQE91dHB1dCgpXG4gIHJlYWRvbmx5IGNvbGxhcHNlZENoYW5nZWQ6IEV2ZW50RW1pdHRlcjxib29sZWFuPiA9XG4gICAgbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xuXG4gIEBDb250ZW50Q2hpbGQoR3Jhbml0ZUNvbGxhcHNpYmxlQ29uZGl0aW9uYWxCb2R5RGlyZWN0aXZlKVxuICBjb25kaXRpb25hbEJvZHlDb250ZW50UmVmOiBHcmFuaXRlQ29sbGFwc2libGVDb25kaXRpb25hbEJvZHlEaXJlY3RpdmU7XG5cbiAgQENvbnRlbnRDaGlsZChHcmFuaXRlQ29sbGFwc2libGVDb25kaXRpb25hbEhlYWRlckRpcmVjdGl2ZSlcbiAgY29uZGl0aW9uYWxIZWFkZXJDb250ZW50UmVmOiBHcmFuaXRlQ29sbGFwc2libGVDb25kaXRpb25hbEhlYWRlckRpcmVjdGl2ZTtcblxuICB0b2dnbGVDb2xsYXBzaWJsZUdyb3VwKCk6IHZvaWQge1xuICAgIHRoaXMuY29sbGFwc2VkID0gIXRoaXMuY29sbGFwc2VkO1xuICAgIHRoaXMuY29sbGFwc2VkQ2hhbmdlZC5lbWl0KHRoaXMuY29sbGFwc2VkKTtcbiAgfVxuXG4gIF90b29nbGVDb2xsYXBzaW5nKGV2ZW50OiBLZXlib2FyZEV2ZW50KTogdm9pZCB7XG4gICAgaWYgKGV2ZW50LmNvZGUgPT09ICdFbnRlcicgfHwgZXZlbnQuY29kZSA9PT0gJ1NwYWNlJykge1xuICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgICAgdGhpcy50b2dnbGVDb2xsYXBzaWJsZUdyb3VwKCk7XG4gICAgfVxuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwiY29sbGFwc2libGUtd3JhcHBlclwiPlxuICA8ZGl2XG4gICAgZGF0YS1mbmQ9XCJjb2xsYXBzaWJsZS1ncm91cC1oZWFkZXJcIlxuICAgIGNsYXNzPVwiY29sbGFwc2libGUtZ3JvdXAtaGVhZGVyXCJcbiAgICBbY2xhc3NdPVwiY29sbGFwc2VkID8gJ2NvbGxhcHNlZC1oZWFkZXInIDogJ2V4cGFuZGVkLWhlYWRlcidcIlxuICAgIHJvbGU9XCJidXR0b25cIlxuICAgIChjbGljayk9XCJ0b2dnbGVDb2xsYXBzaWJsZUdyb3VwKClcIlxuICAgIChrZXlkb3duKT1cIl90b29nbGVDb2xsYXBzaW5nKCRldmVudClcIlxuICAgIFthdHRyLmlkXT1cImlkID8gJ2NvbGxhcHNpYmxlLWdyb3VwLWhlYWRlci0nICsgaWQgOiBudWxsXCJcbiAgICBbYXR0ci5hcmlhLWxhYmVsXT1cImFyaWFsYWJlbFwiXG4gICAgW2F0dHIuYXJpYS1leHBhbmRlZF09XCIhY29sbGFwc2VkXCJcbiAgICBbYXR0ci5hcmlhLWNvbnRyb2xzXT1cImlkID8gJ2NvbGxhcHNpYmxlLWdyb3VwLWJvZHktJyArIGlkIDogbnVsbFwiXG4gICAgdGFiaW5kZXg9XCIwXCJcbiAgPlxuICAgIDxuZy1jb250YWluZXJcbiAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0XT1cIlxuICAgICAgICBjb25kaXRpb25hbEhlYWRlckNvbnRlbnRSZWZcbiAgICAgICAgICA/IGNvbmRpdGlvbmFsSGVhZGVyQ29udGVudFJlZi50ZW1wbGF0ZVxuICAgICAgICAgIDogbnVsbFxuICAgICAgXCJcbiAgICA+PC9uZy1jb250YWluZXI+XG5cbiAgICA8ZGl2IGNsYXNzPVwiY29sbGFwc2UtaWNvblwiPlxuICAgICAgPGdyYW5pdGUtaWNvblxuICAgICAgICBbZm9udEljb25dPVwiY29sbGFwc2VkID8gJ2ljb24tY2FyZXQtZG93bicgOiAnaWNvbi1jYXJldC11cCdcIlxuICAgICAgPjwvZ3Jhbml0ZS1pY29uPlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbiAgPGRpdlxuICAgIGRhdGEtZm5kPVwiY29sbGFwc2libGUtZ3JvdXAtYm9keVwiXG4gICAgY2xhc3M9XCJjb2xsYXBzaWJsZS1ncm91cC1ib2R5XCJcbiAgICBbY2xhc3NdPVwiY29sbGFwc2VkID8gJ2NvbGxhcHNlJyA6ICdleHBhbmQnXCJcbiAgICByb2xlPVwicmVnaW9uXCJcbiAgICBbYXR0ci5pZF09XCJpZCA/ICdjb2xsYXBzaWJsZS1ncm91cC1ib2R5LScgKyBpZCA6IG51bGxcIlxuICAgIFthdHRyLmFyaWEtbGFiZWxsZWRieV09XCJpZCA/ICdjb2xsYXBzaWJsZS1ncm91cC1oZWFkZXItJyArIGlkIDogbnVsbFwiXG4gID5cbiAgICA8bmctY29udGFpbmVyXG4gICAgICBbbmdUZW1wbGF0ZU91dGxldF09XCJcbiAgICAgICAgIWNvbGxhcHNlZCAmJiBjb25kaXRpb25hbEJvZHlDb250ZW50UmVmXG4gICAgICAgICAgPyBjb25kaXRpb25hbEJvZHlDb250ZW50UmVmLnRlbXBsYXRlXG4gICAgICAgICAgOiBudWxsXG4gICAgICBcIlxuICAgID5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
|
|
@@ -1,27 +1,18 @@
|
|
|
1
|
-
import { ChangeDetectionStrategy, Component, Input
|
|
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" },
|
|
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 [
|
|
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,
|
|
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,
|
|
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+
|
|
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(
|
|
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
|
-
|
|
45
|
-
|
|
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]=\"
|
|
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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGFjdHMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9ncmFuaXRlLWNvbXBvbmVudHMvc3JjL2xpYi9jb250YWN0cy9jb250YWN0cy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2dyYW5pdGUtY29tcG9uZW50cy9zcmMvbGliL2NvbnRhY3RzL2NvbnRhY3RzLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULEtBQUssRUFDTCxNQUFNLEVBQ04sWUFBWSxFQUNaLGVBQWUsRUFDZixTQUFTLEVBRVQsWUFBWSxFQUdaLGlCQUFpQixHQUNsQixNQUFNLGVBQWUsQ0FBQztBQU12QixPQUFPLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQztBQUN4RixPQUFPLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUt6RSxPQUFPLEVBQUUsNkJBQTZCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUMzRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQzs7Ozs7QUFZekUsTUFBTSxPQUFPLHdCQUNYLFNBQVEsNEJBQTRCO0lBb0JwQyxZQUFvQixFQUFxQjtRQUN2QyxLQUFLLEVBQUUsQ0FBQztRQURVLE9BQUUsR0FBRixFQUFFLENBQW1CO1FBakJoQyxhQUFRLEdBQWMsRUFBRSxDQUFDO1FBSXpCLGdCQUFXLEdBQUcsS0FBSyxDQUFDO1FBRVYsb0JBQWUsR0FBRyxJQUFJLFlBQVksRUFBbUIsQ0FBQztRQVF6RSxzQkFBaUIsR0FBc0IsRUFBRSxDQUFDO0lBSzFDLENBQUM7SUFFRCxXQUFXLENBQUMsT0FBc0I7UUFDaEMsSUFBSSxPQUFPLENBQUMsUUFBUSxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxZQUFZLEVBQUUsQ0FBQztZQUN2RCxJQUFJLENBQUMsUUFBUSxHQUFHLEVBQUUsQ0FBQztRQUNyQixDQUFDO1FBRUQsSUFBSSxPQUFPLENBQUMsT0FBTyxFQUFFLFlBQVksRUFBRSxDQUFDO1lBQ2xDLE1BQU0sT0FBTyxHQUFHLE9BQU8sQ0FBQyxPQUFPLENBQUMsWUFBdUIsQ0FBQztZQUN4RCxJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUNsRCxDQUFDO1FBQ0QsSUFBSSxDQUFDLEVBQUUsQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUN6QixDQUFDO0lBRUQscUJBQXFCO1FBQ25CLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxJQUFJLENBQUMsOEJBQThCLENBQzFELElBQUksQ0FBQyxlQUFlLENBQUMsT0FBTyxFQUFFLEVBQzlCLElBQUksQ0FBQyxRQUFRLENBQ2QsQ0FBQztJQUNKLENBQUM7SUFFRCxpQkFBaUIsQ0FBQyxPQUF3QjtRQUN4QyxJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUNyQyxDQUFDO0lBRU8sOEJBQThCLENBQ3BDLHNCQUFzRCxFQUN0RCxRQUFtQjtRQUVuQixPQUFPLElBQUksQ0FBQyxjQUFjLENBQUMsUUFBUSxFQUFFLHNCQUFzQixDQUFDLENBQUM7SUFDL0QsQ0FBQztJQUVPLGNBQWMsQ0FDcEIsUUFBdUMsRUFDdkMsVUFBMEM7UUFFMUMsT0FBTyxRQUFRLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUU7WUFDM0IsTUFBTSxpQkFBaUIsR0FBRyxVQUFVLENBQUMsSUFBSSxDQUN2QyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLG1CQUFtQixLQUFLLElBQUksQ0FBQyxNQUFNLENBQzdDLENBQUM7WUFFRixNQUFNLE1BQU0sR0FBRyxFQUFFLEdBQUcsSUFBSSxFQUFFLENBQUM7WUFFM0IsSUFBSSxpQkFBaUIsRUFBRSxDQUFDO2dCQUN0QixNQUFNLENBQUMsY0FBYyxHQUFHLGlCQUFpQixDQUFDLFdBQVcsQ0FBQztZQUN4RCxDQUFDO1lBRUQsSUFBSSxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7Z0JBQ2pCLE1BQU0sQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLFVBQVUsQ0FBQyxDQUFDO1lBQ2pFLENBQUM7WUFFRCxPQUFPLE1BQU0sQ0FBQztRQUNoQixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFTyxpQkFBaUIsQ0FBQyxPQUFnQjtRQUN4QyxNQUFNLFFBQVEsR0FBRyxpQkFBaUIsQ0FBQyxhQUFhLENBQUM7WUFDL0MsU0FBUyxFQUFFLE9BQU8sQ0FBQyxTQUFTO1lBQzVCLFFBQVEsRUFBRSxPQUFPLENBQUMsUUFBUTtZQUMxQixJQUFJLEVBQUUsT0FBTyxDQUFDLElBQUk7U0FDbkIsQ0FBQyxDQUFDO1FBRUgsT0FBTztZQUNMLFNBQVMsRUFBRSxRQUFRLENBQUMsU0FBUztZQUM3QixRQUFRLEVBQUUsUUFBUSxDQUFDLFFBQVE7WUFDM0IsUUFBUSxFQUFFLFFBQVEsQ0FBQyxRQUFRO1lBQzNCLFFBQVEsRUFBRSxPQUFPLENBQUMsUUFBUTtZQUMxQixNQUFNLEVBQUUsT0FBTyxDQUFDLE1BQU07U0FDdkIsQ0FBQztJQUNKLENBQUM7OEdBNUZVLHdCQUF3QjtrR0FBeEIsd0JBQXdCLDJWQWVyQiw2QkFBNkIscUVBSDFCLDRCQUE0Qix3R0NsRC9DLDQ5QkE4QkE7OzJGRFFhLHdCQUF3QjtrQkFWcEMsU0FBUzsrQkFDRSxrQkFBa0IsWUFDbEIsaUJBQWlCLFFBQ3JCO3dCQUNKLEtBQUssRUFBRSxrQkFBa0I7cUJBQzFCLG1CQUdnQix1QkFBdUIsQ0FBQyxNQUFNO3NGQU10QyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLGFBQWE7c0JBQXJCLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLO2dCQUNHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSztnQkFFYSxlQUFlO3NCQUFqQyxNQUFNO2dCQUdQLGVBQWU7c0JBRGQsZUFBZTt1QkFBQyw0QkFBNEI7Z0JBSTdDLHNCQUFzQjtzQkFEckIsWUFBWTt1QkFBQyw2QkFBNkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ29tcG9uZW50LFxuICBJbnB1dCxcbiAgT3V0cHV0LFxuICBFdmVudEVtaXR0ZXIsXG4gIENvbnRlbnRDaGlsZHJlbixcbiAgUXVlcnlMaXN0LFxuICBBZnRlckNvbnRlbnRDaGVja2VkLFxuICBDb250ZW50Q2hpbGQsXG4gIE9uQ2hhbmdlcyxcbiAgU2ltcGxlQ2hhbmdlcyxcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgQ29udGFjdCxcbiAgUHJvZmlsZSxcbiAgU2VsZWN0ZWRDb250YWN0LFxufSBmcm9tICcuL2NvbnRhY3RzLXR5cGVzL2NvbnRhY3RzLmNvbXBvbmVudC5wdWJsaWMtdHlwZXMnO1xuaW1wb3J0IHsgQ29udGFjdHNUcmlnZ2VyRGF0YUNvbXBvbmVudCB9IGZyb20gJy4vY29udGFjdHMtdHJpZ2dlci9jb250YWN0cy10cmlnZ2VyLWRhdGEnO1xuaW1wb3J0IHsgR3Jhbml0ZUN1c3RvbVN0YXR1c0RpcmVjdGl2ZSB9IGZyb20gJy4vY3VzdG9tLXN0YXR1cy5kaXJlY3RpdmUnO1xuaW1wb3J0IHtcbiAgQ29udGFjdEV4dGVuZGVkLFxuICBQcm9maWxlRGF0YSxcbn0gZnJvbSAnLi9jb250YWN0cy10eXBlcy9jb250YWN0cy5jb21wb25lbnQucHJpdmF0ZS10eXBlcyc7XG5pbXBvcnQgeyBHcmFuaXRlQ3VzdG9tUHJvZmlsZURpcmVjdGl2ZSB9IGZyb20gJy4vY3VzdG9tLXByb2ZpbGUuZGlyZWN0aXZlJztcbmltcG9ydCB7IE5hbWVzVXRpbHNTZXJ2aWNlIH0gZnJvbSAnLi4vY29yZS9zZXJ2aWNlcy9uYW1lcy11dGlscy1zZXJ2aWNlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZ3Jhbml0ZS1jb250YWN0cycsXG4gIGV4cG9ydEFzOiAnZ3Jhbml0ZUNvbnRhY3RzJyxcbiAgaG9zdDoge1xuICAgIGNsYXNzOiAnZ3Jhbml0ZS1jb250YWN0cycsXG4gIH0sXG4gIHRlbXBsYXRlVXJsOiAnLi9jb250YWN0cy5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2NvbnRhY3RzLmNvbXBvbmVudC5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBHcmFuaXRlQ29udGFjdHNDb21wb25lbnRcbiAgZXh0ZW5kcyBDb250YWN0c1RyaWdnZXJEYXRhQ29tcG9uZW50XG4gIGltcGxlbWVudHMgT25DaGFuZ2VzLCBBZnRlckNvbnRlbnRDaGVja2VkXG57XG4gIEBJbnB1dCgpIGNvbnRhY3RzOiBDb250YWN0W10gPSBbXTtcbiAgQElucHV0KCkgY29udGFjdHNDbGFzczogc3RyaW5nO1xuICBASW5wdXQoKSBwcm9maWxlOiBQcm9maWxlIHwgdW5rbm93bjtcbiAgQElucHV0KCkgcHJvZmlsZUNsYXNzOiBzdHJpbmc7XG4gIEBJbnB1dCgpIGRlZmF1bHRTaG93ID0gZmFsc2U7XG5cbiAgQE91dHB1dCgpIHJlYWRvbmx5IHNlbGVjdGVkQ29udGFjdCA9IG5ldyBFdmVudEVtaXR0ZXI8U2VsZWN0ZWRDb250YWN0PigpO1xuXG4gIEBDb250ZW50Q2hpbGRyZW4oR3Jhbml0ZUN1c3RvbVN0YXR1c0RpcmVjdGl2ZSlcbiAgX2N1c3RvbVN0YXR1c2VzOiBRdWVyeUxpc3Q8R3Jhbml0ZUN1c3RvbVN0YXR1c0RpcmVjdGl2ZT47XG5cbiAgQENvbnRlbnRDaGlsZChHcmFuaXRlQ3VzdG9tUHJvZmlsZURpcmVjdGl2ZSlcbiAgY3VzdG9tUHJvZmlsZURpcmVjdGl2ZTogR3Jhbml0ZUN1c3RvbVByb2ZpbGVEaXJlY3RpdmU7XG5cbiAgX2NvbnRhY3RzRXh0ZW5kZWQ6IENvbnRhY3RFeHRlbmRlZFtdID0gW107XG4gIF9wcm9maWxlOiBQcm9maWxlRGF0YTtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGNkOiBDaGFuZ2VEZXRlY3RvclJlZikge1xuICAgIHN1cGVyKCk7XG4gIH1cblxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgaWYgKGNoYW5nZXMuY29udGFjdHMgJiYgIWNoYW5nZXMuY29udGFjdHMuY3VycmVudFZhbHVlKSB7XG4gICAgICB0aGlzLmNvbnRhY3RzID0gW107XG4gICAgfVxuXG4gICAgaWYgKGNoYW5nZXMucHJvZmlsZT8uY3VycmVudFZhbHVlKSB7XG4gICAgICBjb25zdCBwcm9maWxlID0gY2hhbmdlcy5wcm9maWxlLmN1cnJlbnRWYWx1ZSBhcyBQcm9maWxlO1xuICAgICAgdGhpcy5fcHJvZmlsZSA9IHRoaXMuY3JlYXRlUHJvZmlsZURhdGEocHJvZmlsZSk7XG4gICAgfVxuICAgIHRoaXMuY2QubWFya0ZvckNoZWNrKCk7XG4gIH1cblxuICBuZ0FmdGVyQ29udGVudENoZWNrZWQoKTogdm9pZCB7XG4gICAgdGhpcy5fY29udGFjdHNFeHRlbmRlZCA9IHRoaXMuc2V0UHJvcGVyQ3VzdG9tU3RhdHVzVGVtcGxhdGVzKFxuICAgICAgdGhpcy5fY3VzdG9tU3RhdHVzZXMudG9BcnJheSgpLFxuICAgICAgdGhpcy5jb250YWN0c1xuICAgICk7XG4gIH1cblxuICBvblNlbGVjdGVkQ29udGFjdChjb250YWN0OiBTZWxlY3RlZENvbnRhY3QpOiB2b2lkIHtcbiAgICB0aGlzLnNlbGVjdGVkQ29udGFjdC5lbWl0KGNvbnRhY3QpO1xuICB9XG5cbiAgcHJpdmF0ZSBzZXRQcm9wZXJDdXN0b21TdGF0dXNUZW1wbGF0ZXMoXG4gICAgY3VzdG9tU3RhdHVzRGlyZWN0aXZlczogR3Jhbml0ZUN1c3RvbVN0YXR1c0RpcmVjdGl2ZVtdLFxuICAgIGNvbnRhY3RzOiBDb250YWN0W11cbiAgKTogQ29udGFjdEV4dGVuZGVkW10ge1xuICAgIHJldHVybiB0aGlzLmFwcGx5VGVtcGxhdGVzKGNvbnRhY3RzLCBjdXN0b21TdGF0dXNEaXJlY3RpdmVzKTtcbiAgfVxuXG4gIHByaXZhdGUgYXBwbHlUZW1wbGF0ZXMoXG4gICAgY29udGFjdHM6IENvbnRhY3RbXSB8IENvbnRhY3RFeHRlbmRlZFtdLFxuICAgIGRpcmVjdGl2ZXM6IEdyYW5pdGVDdXN0b21TdGF0dXNEaXJlY3RpdmVbXVxuICApOiBDb250YWN0RXh0ZW5kZWRbXSB7XG4gICAgcmV0dXJuIGNvbnRhY3RzLm1hcCgoaXRlbSkgPT4ge1xuICAgICAgY29uc3QgbWF0Y2hpbmdEaXJlY3RpdmUgPSBkaXJlY3RpdmVzLmZpbmQoXG4gICAgICAgIChkKSA9PiBkLmdyYW5pdGVDdXN0b21TdGF0dXMgPT09IGl0ZW0uc3RhdHVzXG4gICAgICApO1xuXG4gICAgICBjb25zdCByZXN1bHQgPSB7IC4uLml0ZW0gfTtcblxuICAgICAgaWYgKG1hdGNoaW5nRGlyZWN0aXZlKSB7XG4gICAgICAgIHJlc3VsdC5zdGF0dXNUZW1wbGF0ZSA9IG1hdGNoaW5nRGlyZWN0aXZlLnRlbXBsYXRlUmVmO1xuICAgICAgfVxuXG4gICAgICBpZiAoaXRlbS5vcHRpb25zKSB7XG4gICAgICAgIHJlc3VsdC5vcHRpb25zID0gdGhpcy5hcHBseVRlbXBsYXRlcyhpdGVtLm9wdGlvbnMsIGRpcmVjdGl2ZXMpO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gcmVzdWx0O1xuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBjcmVhdGVQcm9maWxlRGF0YShwcm9maWxlOiBQcm9maWxlKTogUHJvZmlsZURhdGEge1xuICAgIGNvbnN0IG5hbWVEYXRhID0gTmFtZXNVdGlsc1NlcnZpY2UuYnVpbGROYW1lRGF0YSh7XG4gICAgICBmaXJzdE5hbWU6IHByb2ZpbGUuZmlyc3ROYW1lLFxuICAgICAgbGFzdE5hbWU6IHByb2ZpbGUubGFzdE5hbWUsXG4gICAgICBuYW1lOiBwcm9maWxlLm5hbWUsXG4gICAgfSk7XG5cbiAgICByZXR1cm4ge1xuICAgICAgZmlyc3ROYW1lOiBuYW1lRGF0YS5maXJzdE5hbWUsXG4gICAgICBsYXN0TmFtZTogbmFtZURhdGEubGFzdE5hbWUsXG4gICAgICBpbml0aWFsczogbmFtZURhdGEuaW5pdGlhbHMsXG4gICAgICBqb2JUaXRsZTogcHJvZmlsZS5qb2JUaXRsZSxcbiAgICAgIGF2YXRhcjogcHJvZmlsZS5hdmF0YXIsXG4gICAgfTtcbiAgfVxufVxuIiwiPG5nLXRlbXBsYXRlICNjb250YWN0c1RlbXBsYXRlPlxuICA8ZGl2IGRhdGEtZm5kPVwiY29udGFjdHNcIiBbY2xhc3NdPVwiY29udGFjdHNDbGFzc1wiIGNsYXNzPVwiZ3Jhbml0ZS1jb250YWN0XCI+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=
|