@ifsworld/granite-components 12.0.0 → 12.1.1

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.
@@ -8,23 +8,20 @@ export class GraniteContactItemComponent {
8
8
  constructor() {
9
9
  this.selectedContact = new EventEmitter();
10
10
  }
11
- emitSelectedContact(contact) {
12
- if (contact.disabled || contact.options) {
13
- return;
14
- }
15
- this.selectedContact.emit(contact);
11
+ emitSelectedContact(selectedContact) {
12
+ this.selectedContact.emit(selectedContact);
16
13
  }
17
14
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: GraniteContactItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
18
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.4", type: GraniteContactItemComponent, selector: "granite-contact-item", inputs: { contact: "contact" }, outputs: { selectedContact: "selectedContact" }, host: { classAttribute: "granite-contact-item" }, ngImport: i0, template: "<div class=\"contact-item\" [attr.data-fnd]=\"contact.name\">\n <div class=\"contact-item-main\">\n <ng-container\n *ngTemplateOutlet=\"\n contactItem;\n context: { contact: contact, testName: 'contact' }\n \"\n ></ng-container>\n </div>\n\n <ul *ngIf=\"contact.options\" class=\"contact-item-options\">\n <li\n tabindex=\"0\"\n *ngFor=\"let option of contact.options; let i = index\"\n class=\"option-item\"\n [attr.data-fnd]=\"'contact-option-' + i\"\n >\n <ng-container\n *ngTemplateOutlet=\"\n contactItem;\n context: { contact: option, testName: 'contact-option-' + i }\n \"\n ></ng-container>\n </li>\n </ul>\n</div>\n\n<ng-template let-testName=\"testName\" let-contact=\"contact\" #contactItem>\n <granite-icon\n [attr.data-fnd]=\"testName + '-icon'\"\n fontIcon=\"{{ contact.iconName }}\"\n ></granite-icon>\n\n <granite-contact-item-title\n [attr.data-fnd]=\"testName + '-title'\"\n tabindex=\"0\"\n [contact]=\"contact\"\n (click)=\"emitSelectedContact(contact)\"\n ></granite-contact-item-title>\n\n <ng-container *ngIf=\"contact.statusTemplate; else defaultStatus\">\n <ng-container *ngTemplateOutlet=\"contact.statusTemplate\"></ng-container>\n </ng-container>\n\n <ng-template #defaultStatus>\n <granite-contact-item-default-status\n [attr.data-fnd]=\"testName + '-status'\"\n [status]=\"contact.status\"\n ></granite-contact-item-default-status>\n </ng-template>\n</ng-template>\n", styles: [".contact-item{display:flex;flex-direction:column;gap:var(--granite-spacing-8)}.contact-item-main{display:flex;gap:var(--granite-spacing-8);align-self:stretch;align-items:center}.contact-item-options{display:flex;flex-direction:column;padding-inline-start:var(--granite-spacing-24);gap:var(--granite-spacing-4);list-style:none}.contact-item-options .option-item{display:flex;gap:var(--granite-spacing-8);align-self:stretch;align-items:center}.contact-item granite-contact-item-title,.contact-item granite-contact-item-default-status{display:flex}granite-icon{padding:0;color:var(--granite-color-text-hint);width:var(--granite-size-base-rem);height:var(--granite-size-base-rem)}\n"], dependencies: [{ kind: "component", type: i1.GraniteIconComponent, selector: "granite-icon", inputs: ["fontIcon"] }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i3.ContactItemDefaultStatusComponent, selector: "granite-contact-item-default-status", inputs: ["status"] }, { kind: "component", type: i4.GraniteContactItemTitleComponent, selector: "granite-contact-item-title", inputs: ["contact"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
15
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.4", type: GraniteContactItemComponent, selector: "granite-contact-item", inputs: { contact: "contact" }, outputs: { selectedContact: "selectedContact" }, host: { classAttribute: "granite-contact-item" }, ngImport: i0, template: "<div class=\"contact-item\" [attr.data-fnd]=\"contact.name\">\n <div class=\"contact-item-main\">\n <ng-container\n *ngTemplateOutlet=\"\n contactItem;\n context: {\n contact: contact,\n testName: 'contact',\n selectedContactOutput: { contact }\n }\n \"\n ></ng-container>\n </div>\n\n <ul *ngIf=\"contact.options\" class=\"contact-item-options\">\n <li\n tabindex=\"0\"\n *ngFor=\"let option of contact.options; let i = index\"\n class=\"option-item\"\n [attr.data-fnd]=\"'contact-option-' + i\"\n >\n <ng-container\n *ngTemplateOutlet=\"\n contactItem;\n context: {\n contact: option,\n testName: 'contact-option-' + i,\n selectedContactOutput: { contact: option, parent: contact }\n }\n \"\n ></ng-container>\n </li>\n </ul>\n</div>\n\n<ng-template\n let-testName=\"testName\"\n let-contact=\"contact\"\n let-selectedContactOutput=\"selectedContactOutput\"\n #contactItem\n>\n <granite-icon\n [attr.data-fnd]=\"testName + '-icon'\"\n fontIcon=\"{{ contact.iconName }}\"\n ></granite-icon>\n\n <granite-contact-item-title\n [attr.data-fnd]=\"testName + '-title'\"\n tabindex=\"0\"\n [contact]=\"contact\"\n [class.contact-item-disabled]=\"contact.options || contact.disabled\"\n (click)=\"emitSelectedContact(selectedContactOutput)\"\n ></granite-contact-item-title>\n\n <ng-container *ngIf=\"contact.statusTemplate; else defaultStatus\">\n <ng-container *ngTemplateOutlet=\"contact.statusTemplate\"></ng-container>\n </ng-container>\n\n <ng-template #defaultStatus>\n <granite-contact-item-default-status\n [attr.data-fnd]=\"testName + '-status'\"\n [status]=\"contact.status\"\n ></granite-contact-item-default-status>\n </ng-template>\n</ng-template>\n", styles: [".contact-item{display:flex;flex-direction:column;gap:var(--granite-spacing-8)}.contact-item-main{display:flex;gap:var(--granite-spacing-8);align-self:stretch;align-items:center}.contact-item-disabled{pointer-events:none}.contact-item-options{display:flex;flex-direction:column;padding-inline-start:var(--granite-spacing-24);gap:var(--granite-spacing-4);list-style:none}.contact-item-options .option-item{display:flex;gap:var(--granite-spacing-8);align-self:stretch;align-items:center}.contact-item granite-contact-item-title,.contact-item granite-contact-item-default-status{display:flex}granite-icon{padding:0;color:var(--granite-color-text-hint);width:var(--granite-size-base-rem);height:var(--granite-size-base-rem)}\n"], dependencies: [{ kind: "component", type: i1.GraniteIconComponent, selector: "granite-icon", inputs: ["fontIcon"] }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i3.ContactItemDefaultStatusComponent, selector: "granite-contact-item-default-status", inputs: ["status"] }, { kind: "component", type: i4.GraniteContactItemTitleComponent, selector: "granite-contact-item-title", inputs: ["contact"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
19
16
  }
20
17
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: GraniteContactItemComponent, decorators: [{
21
18
  type: Component,
22
19
  args: [{ selector: 'granite-contact-item', host: {
23
20
  class: 'granite-contact-item',
24
- }, changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"contact-item\" [attr.data-fnd]=\"contact.name\">\n <div class=\"contact-item-main\">\n <ng-container\n *ngTemplateOutlet=\"\n contactItem;\n context: { contact: contact, testName: 'contact' }\n \"\n ></ng-container>\n </div>\n\n <ul *ngIf=\"contact.options\" class=\"contact-item-options\">\n <li\n tabindex=\"0\"\n *ngFor=\"let option of contact.options; let i = index\"\n class=\"option-item\"\n [attr.data-fnd]=\"'contact-option-' + i\"\n >\n <ng-container\n *ngTemplateOutlet=\"\n contactItem;\n context: { contact: option, testName: 'contact-option-' + i }\n \"\n ></ng-container>\n </li>\n </ul>\n</div>\n\n<ng-template let-testName=\"testName\" let-contact=\"contact\" #contactItem>\n <granite-icon\n [attr.data-fnd]=\"testName + '-icon'\"\n fontIcon=\"{{ contact.iconName }}\"\n ></granite-icon>\n\n <granite-contact-item-title\n [attr.data-fnd]=\"testName + '-title'\"\n tabindex=\"0\"\n [contact]=\"contact\"\n (click)=\"emitSelectedContact(contact)\"\n ></granite-contact-item-title>\n\n <ng-container *ngIf=\"contact.statusTemplate; else defaultStatus\">\n <ng-container *ngTemplateOutlet=\"contact.statusTemplate\"></ng-container>\n </ng-container>\n\n <ng-template #defaultStatus>\n <granite-contact-item-default-status\n [attr.data-fnd]=\"testName + '-status'\"\n [status]=\"contact.status\"\n ></granite-contact-item-default-status>\n </ng-template>\n</ng-template>\n", styles: [".contact-item{display:flex;flex-direction:column;gap:var(--granite-spacing-8)}.contact-item-main{display:flex;gap:var(--granite-spacing-8);align-self:stretch;align-items:center}.contact-item-options{display:flex;flex-direction:column;padding-inline-start:var(--granite-spacing-24);gap:var(--granite-spacing-4);list-style:none}.contact-item-options .option-item{display:flex;gap:var(--granite-spacing-8);align-self:stretch;align-items:center}.contact-item granite-contact-item-title,.contact-item granite-contact-item-default-status{display:flex}granite-icon{padding:0;color:var(--granite-color-text-hint);width:var(--granite-size-base-rem);height:var(--granite-size-base-rem)}\n"] }]
21
+ }, changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"contact-item\" [attr.data-fnd]=\"contact.name\">\n <div class=\"contact-item-main\">\n <ng-container\n *ngTemplateOutlet=\"\n contactItem;\n context: {\n contact: contact,\n testName: 'contact',\n selectedContactOutput: { contact }\n }\n \"\n ></ng-container>\n </div>\n\n <ul *ngIf=\"contact.options\" class=\"contact-item-options\">\n <li\n tabindex=\"0\"\n *ngFor=\"let option of contact.options; let i = index\"\n class=\"option-item\"\n [attr.data-fnd]=\"'contact-option-' + i\"\n >\n <ng-container\n *ngTemplateOutlet=\"\n contactItem;\n context: {\n contact: option,\n testName: 'contact-option-' + i,\n selectedContactOutput: { contact: option, parent: contact }\n }\n \"\n ></ng-container>\n </li>\n </ul>\n</div>\n\n<ng-template\n let-testName=\"testName\"\n let-contact=\"contact\"\n let-selectedContactOutput=\"selectedContactOutput\"\n #contactItem\n>\n <granite-icon\n [attr.data-fnd]=\"testName + '-icon'\"\n fontIcon=\"{{ contact.iconName }}\"\n ></granite-icon>\n\n <granite-contact-item-title\n [attr.data-fnd]=\"testName + '-title'\"\n tabindex=\"0\"\n [contact]=\"contact\"\n [class.contact-item-disabled]=\"contact.options || contact.disabled\"\n (click)=\"emitSelectedContact(selectedContactOutput)\"\n ></granite-contact-item-title>\n\n <ng-container *ngIf=\"contact.statusTemplate; else defaultStatus\">\n <ng-container *ngTemplateOutlet=\"contact.statusTemplate\"></ng-container>\n </ng-container>\n\n <ng-template #defaultStatus>\n <granite-contact-item-default-status\n [attr.data-fnd]=\"testName + '-status'\"\n [status]=\"contact.status\"\n ></granite-contact-item-default-status>\n </ng-template>\n</ng-template>\n", styles: [".contact-item{display:flex;flex-direction:column;gap:var(--granite-spacing-8)}.contact-item-main{display:flex;gap:var(--granite-spacing-8);align-self:stretch;align-items:center}.contact-item-disabled{pointer-events:none}.contact-item-options{display:flex;flex-direction:column;padding-inline-start:var(--granite-spacing-24);gap:var(--granite-spacing-4);list-style:none}.contact-item-options .option-item{display:flex;gap:var(--granite-spacing-8);align-self:stretch;align-items:center}.contact-item granite-contact-item-title,.contact-item granite-contact-item-default-status{display:flex}granite-icon{padding:0;color:var(--granite-color-text-hint);width:var(--granite-size-base-rem);height:var(--granite-size-base-rem)}\n"] }]
25
22
  }], propDecorators: { contact: [{
26
23
  type: Input
27
24
  }], selectedContact: [{
28
25
  type: Output
29
26
  }] } });
30
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGFjdC1pdGVtLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvZ3Jhbml0ZS1jb21wb25lbnRzL3NyYy9saWIvY29udGFjdHMvY29udGFjdC1pdGVtL2NvbnRhY3QtaXRlbS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2dyYW5pdGUtY29tcG9uZW50cy9zcmMvbGliL2NvbnRhY3RzL2NvbnRhY3QtaXRlbS9jb250YWN0LWl0ZW0uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsWUFBWSxFQUNaLEtBQUssRUFDTCxNQUFNLEdBQ1AsTUFBTSxlQUFlLENBQUM7Ozs7OztBQWdCdkIsTUFBTSxPQUFPLDJCQUEyQjtJQVR4QztRQVlZLG9CQUFlLEdBQUcsSUFBSSxZQUFZLEVBQTRCLENBQUM7S0FRMUU7SUFOQyxtQkFBbUIsQ0FBQyxPQUF3QjtRQUMxQyxJQUFJLE9BQU8sQ0FBQyxRQUFRLElBQUksT0FBTyxDQUFDLE9BQU8sRUFBRSxDQUFDO1lBQ3hDLE9BQU87UUFDVCxDQUFDO1FBQ0QsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDckMsQ0FBQzs4R0FWVSwyQkFBMkI7a0dBQTNCLDJCQUEyQiwrTEN0QnhDLDRnREFtREE7OzJGRDdCYSwyQkFBMkI7a0JBVHZDLFNBQVM7K0JBQ0Usc0JBQXNCLFFBQzFCO3dCQUNKLEtBQUssRUFBRSxzQkFBc0I7cUJBQzlCLG1CQUdnQix1QkFBdUIsQ0FBQyxNQUFNOzhCQUd0QyxPQUFPO3NCQUFmLEtBQUs7Z0JBRUksZUFBZTtzQkFBeEIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDb21wb25lbnQsXG4gIEV2ZW50RW1pdHRlcixcbiAgSW5wdXQsXG4gIE91dHB1dCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICBDb250YWN0LFxuICBDb250YWN0T3B0aW9ucyxcbn0gZnJvbSAnLi4vY29udGFjdHMtdHlwZXMvY29udGFjdHMuY29tcG9uZW50LnB1YmxpYy10eXBlcyc7XG5pbXBvcnQgeyBDb250YWN0RXh0ZW5kZWQgfSBmcm9tICcuLi9jb250YWN0cy10eXBlcy9jb250YWN0cy5jb21wb25lbnQucHJpdmF0ZS10eXBlcyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2dyYW5pdGUtY29udGFjdC1pdGVtJyxcbiAgaG9zdDoge1xuICAgIGNsYXNzOiAnZ3Jhbml0ZS1jb250YWN0LWl0ZW0nLFxuICB9LFxuICB0ZW1wbGF0ZVVybDogJy4vY29udGFjdC1pdGVtLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vY29udGFjdC1pdGVtLmNvbXBvbmVudC5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBHcmFuaXRlQ29udGFjdEl0ZW1Db21wb25lbnQge1xuICBASW5wdXQoKSBjb250YWN0OiBDb250YWN0RXh0ZW5kZWQ7XG5cbiAgQE91dHB1dCgpIHNlbGVjdGVkQ29udGFjdCA9IG5ldyBFdmVudEVtaXR0ZXI8Q29udGFjdCB8IENvbnRhY3RPcHRpb25zPigpO1xuXG4gIGVtaXRTZWxlY3RlZENvbnRhY3QoY29udGFjdDogQ29udGFjdEV4dGVuZGVkKTogdm9pZCB7XG4gICAgaWYgKGNvbnRhY3QuZGlzYWJsZWQgfHwgY29udGFjdC5vcHRpb25zKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIHRoaXMuc2VsZWN0ZWRDb250YWN0LmVtaXQoY29udGFjdCk7XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJjb250YWN0LWl0ZW1cIiBbYXR0ci5kYXRhLWZuZF09XCJjb250YWN0Lm5hbWVcIj5cbiAgPGRpdiBjbGFzcz1cImNvbnRhY3QtaXRlbS1tYWluXCI+XG4gICAgPG5nLWNvbnRhaW5lclxuICAgICAgKm5nVGVtcGxhdGVPdXRsZXQ9XCJcbiAgICAgICAgY29udGFjdEl0ZW07XG4gICAgICAgIGNvbnRleHQ6IHsgY29udGFjdDogY29udGFjdCwgdGVzdE5hbWU6ICdjb250YWN0JyB9XG4gICAgICBcIlxuICAgID48L25nLWNvbnRhaW5lcj5cbiAgPC9kaXY+XG5cbiAgPHVsICpuZ0lmPVwiY29udGFjdC5vcHRpb25zXCIgY2xhc3M9XCJjb250YWN0LWl0ZW0tb3B0aW9uc1wiPlxuICAgIDxsaVxuICAgICAgdGFiaW5kZXg9XCIwXCJcbiAgICAgICpuZ0Zvcj1cImxldCBvcHRpb24gb2YgY29udGFjdC5vcHRpb25zOyBsZXQgaSA9IGluZGV4XCJcbiAgICAgIGNsYXNzPVwib3B0aW9uLWl0ZW1cIlxuICAgICAgW2F0dHIuZGF0YS1mbmRdPVwiJ2NvbnRhY3Qtb3B0aW9uLScgKyBpXCJcbiAgICA+XG4gICAgICA8bmctY29udGFpbmVyXG4gICAgICAgICpuZ1RlbXBsYXRlT3V0bGV0PVwiXG4gICAgICAgICAgY29udGFjdEl0ZW07XG4gICAgICAgICAgY29udGV4dDogeyBjb250YWN0OiBvcHRpb24sIHRlc3ROYW1lOiAnY29udGFjdC1vcHRpb24tJyArIGkgfVxuICAgICAgICBcIlxuICAgICAgPjwvbmctY29udGFpbmVyPlxuICAgIDwvbGk+XG4gIDwvdWw+XG48L2Rpdj5cblxuPG5nLXRlbXBsYXRlIGxldC10ZXN0TmFtZT1cInRlc3ROYW1lXCIgbGV0LWNvbnRhY3Q9XCJjb250YWN0XCIgI2NvbnRhY3RJdGVtPlxuICA8Z3Jhbml0ZS1pY29uXG4gICAgW2F0dHIuZGF0YS1mbmRdPVwidGVzdE5hbWUgKyAnLWljb24nXCJcbiAgICBmb250SWNvbj1cInt7IGNvbnRhY3QuaWNvbk5hbWUgfX1cIlxuICA+PC9ncmFuaXRlLWljb24+XG5cbiAgPGdyYW5pdGUtY29udGFjdC1pdGVtLXRpdGxlXG4gICAgW2F0dHIuZGF0YS1mbmRdPVwidGVzdE5hbWUgKyAnLXRpdGxlJ1wiXG4gICAgdGFiaW5kZXg9XCIwXCJcbiAgICBbY29udGFjdF09XCJjb250YWN0XCJcbiAgICAoY2xpY2spPVwiZW1pdFNlbGVjdGVkQ29udGFjdChjb250YWN0KVwiXG4gID48L2dyYW5pdGUtY29udGFjdC1pdGVtLXRpdGxlPlxuXG4gIDxuZy1jb250YWluZXIgKm5nSWY9XCJjb250YWN0LnN0YXR1c1RlbXBsYXRlOyBlbHNlIGRlZmF1bHRTdGF0dXNcIj5cbiAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiY29udGFjdC5zdGF0dXNUZW1wbGF0ZVwiPjwvbmctY29udGFpbmVyPlxuICA8L25nLWNvbnRhaW5lcj5cblxuICA8bmctdGVtcGxhdGUgI2RlZmF1bHRTdGF0dXM+XG4gICAgPGdyYW5pdGUtY29udGFjdC1pdGVtLWRlZmF1bHQtc3RhdHVzXG4gICAgICBbYXR0ci5kYXRhLWZuZF09XCJ0ZXN0TmFtZSArICctc3RhdHVzJ1wiXG4gICAgICBbc3RhdHVzXT1cImNvbnRhY3Quc3RhdHVzXCJcbiAgICA+PC9ncmFuaXRlLWNvbnRhY3QtaXRlbS1kZWZhdWx0LXN0YXR1cz5cbiAgPC9uZy10ZW1wbGF0ZT5cbjwvbmctdGVtcGxhdGU+XG4iXX0=
27
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGFjdC1pdGVtLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvZ3Jhbml0ZS1jb21wb25lbnRzL3NyYy9saWIvY29udGFjdHMvY29udGFjdC1pdGVtL2NvbnRhY3QtaXRlbS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2dyYW5pdGUtY29tcG9uZW50cy9zcmMvbGliL2NvbnRhY3RzL2NvbnRhY3QtaXRlbS9jb250YWN0LWl0ZW0uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsWUFBWSxFQUNaLEtBQUssRUFDTCxNQUFNLEdBQ1AsTUFBTSxlQUFlLENBQUM7Ozs7OztBQWF2QixNQUFNLE9BQU8sMkJBQTJCO0lBVHhDO1FBWXFCLG9CQUFlLEdBQUcsSUFBSSxZQUFZLEVBQW1CLENBQUM7S0FLMUU7SUFIQyxtQkFBbUIsQ0FBQyxlQUFnQztRQUNsRCxJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQztJQUM3QyxDQUFDOzhHQVBVLDJCQUEyQjtrR0FBM0IsMkJBQTJCLCtMQ25CeEMsbzJEQWlFQTs7MkZEOUNhLDJCQUEyQjtrQkFUdkMsU0FBUzsrQkFDRSxzQkFBc0IsUUFDMUI7d0JBQ0osS0FBSyxFQUFFLHNCQUFzQjtxQkFDOUIsbUJBR2dCLHVCQUF1QixDQUFDLE1BQU07OEJBR3RDLE9BQU87c0JBQWYsS0FBSztnQkFFYSxlQUFlO3NCQUFqQyxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCxcbiAgRXZlbnRFbWl0dGVyLFxuICBJbnB1dCxcbiAgT3V0cHV0LFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFNlbGVjdGVkQ29udGFjdCB9IGZyb20gJy4uL2NvbnRhY3RzLXR5cGVzL2NvbnRhY3RzLmNvbXBvbmVudC5wdWJsaWMtdHlwZXMnO1xuaW1wb3J0IHsgQ29udGFjdEV4dGVuZGVkIH0gZnJvbSAnLi4vY29udGFjdHMtdHlwZXMvY29udGFjdHMuY29tcG9uZW50LnByaXZhdGUtdHlwZXMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdncmFuaXRlLWNvbnRhY3QtaXRlbScsXG4gIGhvc3Q6IHtcbiAgICBjbGFzczogJ2dyYW5pdGUtY29udGFjdC1pdGVtJyxcbiAgfSxcbiAgdGVtcGxhdGVVcmw6ICcuL2NvbnRhY3QtaXRlbS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2NvbnRhY3QtaXRlbS5jb21wb25lbnQuc2NzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgR3Jhbml0ZUNvbnRhY3RJdGVtQ29tcG9uZW50IHtcbiAgQElucHV0KCkgY29udGFjdDogQ29udGFjdEV4dGVuZGVkO1xuXG4gIEBPdXRwdXQoKSByZWFkb25seSBzZWxlY3RlZENvbnRhY3QgPSBuZXcgRXZlbnRFbWl0dGVyPFNlbGVjdGVkQ29udGFjdD4oKTtcblxuICBlbWl0U2VsZWN0ZWRDb250YWN0KHNlbGVjdGVkQ29udGFjdDogU2VsZWN0ZWRDb250YWN0KTogdm9pZCB7XG4gICAgdGhpcy5zZWxlY3RlZENvbnRhY3QuZW1pdChzZWxlY3RlZENvbnRhY3QpO1xuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwiY29udGFjdC1pdGVtXCIgW2F0dHIuZGF0YS1mbmRdPVwiY29udGFjdC5uYW1lXCI+XG4gIDxkaXYgY2xhc3M9XCJjb250YWN0LWl0ZW0tbWFpblwiPlxuICAgIDxuZy1jb250YWluZXJcbiAgICAgICpuZ1RlbXBsYXRlT3V0bGV0PVwiXG4gICAgICAgIGNvbnRhY3RJdGVtO1xuICAgICAgICBjb250ZXh0OiB7XG4gICAgICAgICAgY29udGFjdDogY29udGFjdCxcbiAgICAgICAgICB0ZXN0TmFtZTogJ2NvbnRhY3QnLFxuICAgICAgICAgIHNlbGVjdGVkQ29udGFjdE91dHB1dDogeyBjb250YWN0IH1cbiAgICAgICAgfVxuICAgICAgXCJcbiAgICA+PC9uZy1jb250YWluZXI+XG4gIDwvZGl2PlxuXG4gIDx1bCAqbmdJZj1cImNvbnRhY3Qub3B0aW9uc1wiIGNsYXNzPVwiY29udGFjdC1pdGVtLW9wdGlvbnNcIj5cbiAgICA8bGlcbiAgICAgIHRhYmluZGV4PVwiMFwiXG4gICAgICAqbmdGb3I9XCJsZXQgb3B0aW9uIG9mIGNvbnRhY3Qub3B0aW9uczsgbGV0IGkgPSBpbmRleFwiXG4gICAgICBjbGFzcz1cIm9wdGlvbi1pdGVtXCJcbiAgICAgIFthdHRyLmRhdGEtZm5kXT1cIidjb250YWN0LW9wdGlvbi0nICsgaVwiXG4gICAgPlxuICAgICAgPG5nLWNvbnRhaW5lclxuICAgICAgICAqbmdUZW1wbGF0ZU91dGxldD1cIlxuICAgICAgICAgIGNvbnRhY3RJdGVtO1xuICAgICAgICAgIGNvbnRleHQ6IHtcbiAgICAgICAgICAgIGNvbnRhY3Q6IG9wdGlvbixcbiAgICAgICAgICAgIHRlc3ROYW1lOiAnY29udGFjdC1vcHRpb24tJyArIGksXG4gICAgICAgICAgICBzZWxlY3RlZENvbnRhY3RPdXRwdXQ6IHsgY29udGFjdDogb3B0aW9uLCBwYXJlbnQ6IGNvbnRhY3QgfVxuICAgICAgICAgIH1cbiAgICAgICAgXCJcbiAgICAgID48L25nLWNvbnRhaW5lcj5cbiAgICA8L2xpPlxuICA8L3VsPlxuPC9kaXY+XG5cbjxuZy10ZW1wbGF0ZVxuICBsZXQtdGVzdE5hbWU9XCJ0ZXN0TmFtZVwiXG4gIGxldC1jb250YWN0PVwiY29udGFjdFwiXG4gIGxldC1zZWxlY3RlZENvbnRhY3RPdXRwdXQ9XCJzZWxlY3RlZENvbnRhY3RPdXRwdXRcIlxuICAjY29udGFjdEl0ZW1cbj5cbiAgPGdyYW5pdGUtaWNvblxuICAgIFthdHRyLmRhdGEtZm5kXT1cInRlc3ROYW1lICsgJy1pY29uJ1wiXG4gICAgZm9udEljb249XCJ7eyBjb250YWN0Lmljb25OYW1lIH19XCJcbiAgPjwvZ3Jhbml0ZS1pY29uPlxuXG4gIDxncmFuaXRlLWNvbnRhY3QtaXRlbS10aXRsZVxuICAgIFthdHRyLmRhdGEtZm5kXT1cInRlc3ROYW1lICsgJy10aXRsZSdcIlxuICAgIHRhYmluZGV4PVwiMFwiXG4gICAgW2NvbnRhY3RdPVwiY29udGFjdFwiXG4gICAgW2NsYXNzLmNvbnRhY3QtaXRlbS1kaXNhYmxlZF09XCJjb250YWN0Lm9wdGlvbnMgfHwgY29udGFjdC5kaXNhYmxlZFwiXG4gICAgKGNsaWNrKT1cImVtaXRTZWxlY3RlZENvbnRhY3Qoc2VsZWN0ZWRDb250YWN0T3V0cHV0KVwiXG4gID48L2dyYW5pdGUtY29udGFjdC1pdGVtLXRpdGxlPlxuXG4gIDxuZy1jb250YWluZXIgKm5nSWY9XCJjb250YWN0LnN0YXR1c1RlbXBsYXRlOyBlbHNlIGRlZmF1bHRTdGF0dXNcIj5cbiAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiY29udGFjdC5zdGF0dXNUZW1wbGF0ZVwiPjwvbmctY29udGFpbmVyPlxuICA8L25nLWNvbnRhaW5lcj5cblxuICA8bmctdGVtcGxhdGUgI2RlZmF1bHRTdGF0dXM+XG4gICAgPGdyYW5pdGUtY29udGFjdC1pdGVtLWRlZmF1bHQtc3RhdHVzXG4gICAgICBbYXR0ci5kYXRhLWZuZF09XCJ0ZXN0TmFtZSArICctc3RhdHVzJ1wiXG4gICAgICBbc3RhdHVzXT1cImNvbnRhY3Quc3RhdHVzXCJcbiAgICA+PC9ncmFuaXRlLWNvbnRhY3QtaXRlbS1kZWZhdWx0LXN0YXR1cz5cbiAgPC9uZy10ZW1wbGF0ZT5cbjwvbmctdGVtcGxhdGU+XG4iXX0=
@@ -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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGFjdHMuY29tcG9uZW50LnB1YmxpYy10eXBlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvZ3Jhbml0ZS1jb21wb25lbnRzL3NyYy9saWIvY29udGFjdHMvY29udGFjdHMtdHlwZXMvY29udGFjdHMuY29tcG9uZW50LnB1YmxpYy10eXBlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFHQSxNQUFNLENBQUMsTUFBTSxzQkFBc0IsR0FBRztJQUNwQyxTQUFTLEVBQUUsV0FBVztJQUN0QixJQUFJLEVBQUUsTUFBTTtJQUNaLGFBQWEsRUFBRSxhQUFhO0lBQzVCLElBQUksRUFBRSxNQUFNO0lBQ1osY0FBYyxFQUFFLGNBQWM7SUFDOUIsT0FBTyxFQUFFLFNBQVM7Q0FDVixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHR5cGUgQ29udGFjdERlZmF1bHRTdGF0dXNlcyA9XG4gICh0eXBlb2YgQ09OVEFDVF9ERUZBVUxUX1NUQVRVUylba2V5b2YgdHlwZW9mIENPTlRBQ1RfREVGQVVMVF9TVEFUVVNdO1xuXG5leHBvcnQgY29uc3QgQ09OVEFDVF9ERUZBVUxUX1NUQVRVUyA9IHtcbiAgQVZBSUxBQkxFOiAnQXZhaWxhYmxlJyxcbiAgQVdBWTogJ0F3YXknLFxuICBCRV9SSUdIVF9CQUNLOiAnQmVSaWdodEJhY2snLFxuICBCVVNZOiAnQnVzeScsXG4gIERPX05PVF9ESVNUVVJCOiAnRG9Ob3REaXN0dXJiJyxcbiAgT0ZGTElORTogJ09mZmxpbmUnLFxufSBhcyBjb25zdDtcblxuZXhwb3J0IGludGVyZmFjZSBDb250YWN0IHtcbiAgbmFtZTogc3RyaW5nO1xuICBsYWJlbDogc3RyaW5nO1xuICBpY29uTmFtZT86IHN0cmluZztcbiAgc3RhdHVzPzogQ29udGFjdERlZmF1bHRTdGF0dXNlcyB8IHN0cmluZztcbiAgb3B0aW9ucz86IENvbnRhY3RPcHRpb25zW107XG4gIGRpc2FibGVkPzogYm9vbGVhbjtcbn1cblxuZXhwb3J0IHR5cGUgQ29udGFjdE9wdGlvbnMgPSBPbWl0PENvbnRhY3QsICdvcHRpb25zJz47XG5cbmV4cG9ydCBpbnRlcmZhY2UgUHJvZmlsZSB7XG4gIG5hbWU/OiBzdHJpbmc7XG4gIHN1cm5hbWU/OiBzdHJpbmc7XG4gIGpvYlRpdGxlPzogc3RyaW5nO1xuICBhdmF0YXI/OiBzdHJpbmc7XG59XG4iXX0=
9
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGFjdHMuY29tcG9uZW50LnB1YmxpYy10eXBlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvZ3Jhbml0ZS1jb21wb25lbnRzL3NyYy9saWIvY29udGFjdHMvY29udGFjdHMtdHlwZXMvY29udGFjdHMuY29tcG9uZW50LnB1YmxpYy10eXBlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFHQSxNQUFNLENBQUMsTUFBTSxzQkFBc0IsR0FBRztJQUNwQyxTQUFTLEVBQUUsV0FBVztJQUN0QixJQUFJLEVBQUUsTUFBTTtJQUNaLGFBQWEsRUFBRSxhQUFhO0lBQzVCLElBQUksRUFBRSxNQUFNO0lBQ1osY0FBYyxFQUFFLGNBQWM7SUFDOUIsT0FBTyxFQUFFLFNBQVM7Q0FDVixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHR5cGUgQ29udGFjdERlZmF1bHRTdGF0dXNlcyA9XG4gICh0eXBlb2YgQ09OVEFDVF9ERUZBVUxUX1NUQVRVUylba2V5b2YgdHlwZW9mIENPTlRBQ1RfREVGQVVMVF9TVEFUVVNdO1xuXG5leHBvcnQgY29uc3QgQ09OVEFDVF9ERUZBVUxUX1NUQVRVUyA9IHtcbiAgQVZBSUxBQkxFOiAnQXZhaWxhYmxlJyxcbiAgQVdBWTogJ0F3YXknLFxuICBCRV9SSUdIVF9CQUNLOiAnQmVSaWdodEJhY2snLFxuICBCVVNZOiAnQnVzeScsXG4gIERPX05PVF9ESVNUVVJCOiAnRG9Ob3REaXN0dXJiJyxcbiAgT0ZGTElORTogJ09mZmxpbmUnLFxufSBhcyBjb25zdDtcblxuZXhwb3J0IGludGVyZmFjZSBDb250YWN0IHtcbiAgbmFtZTogc3RyaW5nO1xuICBsYWJlbDogc3RyaW5nO1xuICBpY29uTmFtZT86IHN0cmluZztcbiAgc3RhdHVzPzogQ29udGFjdERlZmF1bHRTdGF0dXNlcyB8IHN0cmluZztcbiAgb3B0aW9ucz86IENvbnRhY3RPcHRpb25bXTtcbiAgZGlzYWJsZWQ/OiBib29sZWFuO1xuICBkYXRhPzogdW5rbm93bjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBTZWxlY3RlZENvbnRhY3Qge1xuICBjb250YWN0OiBDb250YWN0T3B0aW9uO1xuICBwYXJlbnQ/OiBDb250YWN0O1xufVxuXG5leHBvcnQgdHlwZSBDb250YWN0T3B0aW9uID0gT21pdDxDb250YWN0LCAnb3B0aW9ucyc+O1xuXG5leHBvcnQgaW50ZXJmYWNlIFByb2ZpbGUge1xuICBuYW1lPzogc3RyaW5nO1xuICBzdXJuYW1lPzogc3RyaW5nO1xuICBqb2JUaXRsZT86IHN0cmluZztcbiAgYXZhdGFyPzogc3RyaW5nO1xufVxuIl19
@@ -66,4 +66,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.4", ngImpor
66
66
  type: ContentChild,
67
67
  args: [GraniteCustomProfileDirective]
68
68
  }] } });
69
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGFjdHMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9ncmFuaXRlLWNvbXBvbmVudHMvc3JjL2xpYi9jb250YWN0cy9jb250YWN0cy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2dyYW5pdGUtY29tcG9uZW50cy9zcmMvbGliL2NvbnRhY3RzL2NvbnRhY3RzLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULEtBQUssRUFDTCxNQUFNLEVBQ04sWUFBWSxFQUNaLGVBQWUsRUFDZixTQUFTLEVBRVQsWUFBWSxHQUdiLE1BQU0sZUFBZSxDQUFDO0FBTXZCLE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLDBDQUEwQyxDQUFDO0FBQ3hGLE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBRXpFLE9BQU8sRUFBRSw2QkFBNkIsRUFBRSxNQUFNLDRCQUE0QixDQUFDOzs7OztBQVczRSxNQUFNLE9BQU8sd0JBQ1gsU0FBUSw0QkFBNEI7SUFYdEM7O1FBY1csYUFBUSxHQUFjLEVBQUUsQ0FBQztRQUd6QixnQkFBVyxHQUFHLEtBQUssQ0FBQztRQUVWLG9CQUFlLEdBQUcsSUFBSSxZQUFZLEVBRWxELENBQUM7UUFRSixzQkFBaUIsR0FBc0IsRUFBRSxDQUFDO0tBZ0QzQztJQTlDQyxXQUFXLENBQUMsT0FBc0I7UUFDaEMsSUFBSSxPQUFPLENBQUMsUUFBUSxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxZQUFZLEVBQUUsQ0FBQztZQUN2RCxJQUFJLENBQUMsUUFBUSxHQUFHLEVBQUUsQ0FBQztRQUNyQixDQUFDO0lBQ0gsQ0FBQztJQUVELHFCQUFxQjtRQUNuQixJQUFJLENBQUMsaUJBQWlCLEdBQUcsSUFBSSxDQUFDLDhCQUE4QixDQUMxRCxJQUFJLENBQUMsZUFBZSxDQUFDLE9BQU8sRUFBRSxFQUM5QixJQUFJLENBQUMsUUFBUSxDQUNkLENBQUM7SUFDSixDQUFDO0lBRUQsaUJBQWlCLENBQUMsT0FBaUM7UUFDakQsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDckMsQ0FBQztJQUVPLDhCQUE4QixDQUNwQyxzQkFBc0QsRUFDdEQsUUFBbUI7UUFFbkIsT0FBTyxJQUFJLENBQUMsY0FBYyxDQUFDLFFBQVEsRUFBRSxzQkFBc0IsQ0FBQyxDQUFDO0lBQy9ELENBQUM7SUFFTyxjQUFjLENBQ3BCLFFBQXVDLEVBQ3ZDLFVBQTBDO1FBRTFDLE9BQU8sUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFO1lBQzNCLE1BQU0saUJBQWlCLEdBQUcsVUFBVSxDQUFDLElBQUksQ0FDdkMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxtQkFBbUIsS0FBSyxJQUFJLENBQUMsTUFBTSxDQUM3QyxDQUFDO1lBRUYsTUFBTSxNQUFNLEdBQUcsRUFBRSxHQUFHLElBQUksRUFBRSxDQUFDO1lBRTNCLElBQUksaUJBQWlCLEVBQUUsQ0FBQztnQkFDdEIsTUFBTSxDQUFDLGNBQWMsR0FBRyxpQkFBaUIsQ0FBQyxXQUFXLENBQUM7WUFDeEQsQ0FBQztZQUVELElBQUksSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO2dCQUNqQixNQUFNLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxVQUFVLENBQUMsQ0FBQztZQUNqRSxDQUFDO1lBRUQsT0FBTyxNQUFNLENBQUM7UUFDaEIsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDOzhHQWxFVSx3QkFBd0I7a0dBQXhCLHdCQUF3QiwyVEFnQnJCLDZCQUE2QixxRUFIMUIsNEJBQTRCLHdHQzdDL0MsaThCQThCQTs7MkZERWEsd0JBQXdCO2tCQVZwQyxTQUFTOytCQUNFLGtCQUFrQixZQUNsQixpQkFBaUIsUUFDckI7d0JBQ0osS0FBSyxFQUFFLGtCQUFrQjtxQkFDMUIsbUJBR2dCLHVCQUF1QixDQUFDLE1BQU07OEJBTXRDLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLO2dCQUNHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSztnQkFFYSxlQUFlO3NCQUFqQyxNQUFNO2dCQUtQLGVBQWU7c0JBRGQsZUFBZTt1QkFBQyw0QkFBNEI7Z0JBSTdDLHNCQUFzQjtzQkFEckIsWUFBWTt1QkFBQyw2QkFBNkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ29tcG9uZW50LFxuICBJbnB1dCxcbiAgT3V0cHV0LFxuICBFdmVudEVtaXR0ZXIsXG4gIENvbnRlbnRDaGlsZHJlbixcbiAgUXVlcnlMaXN0LFxuICBBZnRlckNvbnRlbnRDaGVja2VkLFxuICBDb250ZW50Q2hpbGQsXG4gIE9uQ2hhbmdlcyxcbiAgU2ltcGxlQ2hhbmdlcyxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICBDb250YWN0LFxuICBDb250YWN0T3B0aW9ucyxcbiAgUHJvZmlsZSxcbn0gZnJvbSAnLi9jb250YWN0cy10eXBlcy9jb250YWN0cy5jb21wb25lbnQucHVibGljLXR5cGVzJztcbmltcG9ydCB7IENvbnRhY3RzVHJpZ2dlckRhdGFDb21wb25lbnQgfSBmcm9tICcuL2NvbnRhY3RzLXRyaWdnZXIvY29udGFjdHMtdHJpZ2dlci1kYXRhJztcbmltcG9ydCB7IEdyYW5pdGVDdXN0b21TdGF0dXNEaXJlY3RpdmUgfSBmcm9tICcuL2N1c3RvbS1zdGF0dXMuZGlyZWN0aXZlJztcbmltcG9ydCB7IENvbnRhY3RFeHRlbmRlZCB9IGZyb20gJy4vY29udGFjdHMtdHlwZXMvY29udGFjdHMuY29tcG9uZW50LnByaXZhdGUtdHlwZXMnO1xuaW1wb3J0IHsgR3Jhbml0ZUN1c3RvbVByb2ZpbGVEaXJlY3RpdmUgfSBmcm9tICcuL2N1c3RvbS1wcm9maWxlLmRpcmVjdGl2ZSc7XG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdncmFuaXRlLWNvbnRhY3RzJyxcbiAgZXhwb3J0QXM6ICdncmFuaXRlQ29udGFjdHMnLFxuICBob3N0OiB7XG4gICAgY2xhc3M6ICdncmFuaXRlLWNvbnRhY3RzJyxcbiAgfSxcbiAgdGVtcGxhdGVVcmw6ICcuL2NvbnRhY3RzLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vY29udGFjdHMuY29tcG9uZW50LnNjc3MnXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIEdyYW5pdGVDb250YWN0c0NvbXBvbmVudFxuICBleHRlbmRzIENvbnRhY3RzVHJpZ2dlckRhdGFDb21wb25lbnRcbiAgaW1wbGVtZW50cyBPbkNoYW5nZXMsIEFmdGVyQ29udGVudENoZWNrZWRcbntcbiAgQElucHV0KCkgY29udGFjdHM6IENvbnRhY3RbXSA9IFtdO1xuICBASW5wdXQoKSBwcm9maWxlOiBQcm9maWxlIHwgdW5rbm93bjtcbiAgQElucHV0KCkgcHJvZmlsZUNsYXNzOiBzdHJpbmc7XG4gIEBJbnB1dCgpIGRlZmF1bHRTaG93ID0gZmFsc2U7XG5cbiAgQE91dHB1dCgpIHJlYWRvbmx5IHNlbGVjdGVkQ29udGFjdCA9IG5ldyBFdmVudEVtaXR0ZXI8XG4gICAgQ29udGFjdCB8IENvbnRhY3RPcHRpb25zXG4gID4oKTtcblxuICBAQ29udGVudENoaWxkcmVuKEdyYW5pdGVDdXN0b21TdGF0dXNEaXJlY3RpdmUpXG4gIF9jdXN0b21TdGF0dXNlczogUXVlcnlMaXN0PEdyYW5pdGVDdXN0b21TdGF0dXNEaXJlY3RpdmU+O1xuXG4gIEBDb250ZW50Q2hpbGQoR3Jhbml0ZUN1c3RvbVByb2ZpbGVEaXJlY3RpdmUpXG4gIGN1c3RvbVByb2ZpbGVEaXJlY3RpdmU6IEdyYW5pdGVDdXN0b21Qcm9maWxlRGlyZWN0aXZlO1xuXG4gIF9jb250YWN0c0V4dGVuZGVkOiBDb250YWN0RXh0ZW5kZWRbXSA9IFtdO1xuXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICBpZiAoY2hhbmdlcy5jb250YWN0cyAmJiAhY2hhbmdlcy5jb250YWN0cy5jdXJyZW50VmFsdWUpIHtcbiAgICAgIHRoaXMuY29udGFjdHMgPSBbXTtcbiAgICB9XG4gIH1cblxuICBuZ0FmdGVyQ29udGVudENoZWNrZWQoKTogdm9pZCB7XG4gICAgdGhpcy5fY29udGFjdHNFeHRlbmRlZCA9IHRoaXMuc2V0UHJvcGVyQ3VzdG9tU3RhdHVzVGVtcGxhdGVzKFxuICAgICAgdGhpcy5fY3VzdG9tU3RhdHVzZXMudG9BcnJheSgpLFxuICAgICAgdGhpcy5jb250YWN0c1xuICAgICk7XG4gIH1cblxuICBvblNlbGVjdGVkQ29udGFjdChjb250YWN0OiBDb250YWN0IHwgQ29udGFjdE9wdGlvbnMpOiB2b2lkIHtcbiAgICB0aGlzLnNlbGVjdGVkQ29udGFjdC5lbWl0KGNvbnRhY3QpO1xuICB9XG5cbiAgcHJpdmF0ZSBzZXRQcm9wZXJDdXN0b21TdGF0dXNUZW1wbGF0ZXMoXG4gICAgY3VzdG9tU3RhdHVzRGlyZWN0aXZlczogR3Jhbml0ZUN1c3RvbVN0YXR1c0RpcmVjdGl2ZVtdLFxuICAgIGNvbnRhY3RzOiBDb250YWN0W11cbiAgKTogQ29udGFjdEV4dGVuZGVkW10ge1xuICAgIHJldHVybiB0aGlzLmFwcGx5VGVtcGxhdGVzKGNvbnRhY3RzLCBjdXN0b21TdGF0dXNEaXJlY3RpdmVzKTtcbiAgfVxuXG4gIHByaXZhdGUgYXBwbHlUZW1wbGF0ZXMoXG4gICAgY29udGFjdHM6IENvbnRhY3RbXSB8IENvbnRhY3RFeHRlbmRlZFtdLFxuICAgIGRpcmVjdGl2ZXM6IEdyYW5pdGVDdXN0b21TdGF0dXNEaXJlY3RpdmVbXVxuICApOiBDb250YWN0RXh0ZW5kZWRbXSB7XG4gICAgcmV0dXJuIGNvbnRhY3RzLm1hcCgoaXRlbSkgPT4ge1xuICAgICAgY29uc3QgbWF0Y2hpbmdEaXJlY3RpdmUgPSBkaXJlY3RpdmVzLmZpbmQoXG4gICAgICAgIChkKSA9PiBkLmdyYW5pdGVDdXN0b21TdGF0dXMgPT09IGl0ZW0uc3RhdHVzXG4gICAgICApO1xuXG4gICAgICBjb25zdCByZXN1bHQgPSB7IC4uLml0ZW0gfTtcblxuICAgICAgaWYgKG1hdGNoaW5nRGlyZWN0aXZlKSB7XG4gICAgICAgIHJlc3VsdC5zdGF0dXNUZW1wbGF0ZSA9IG1hdGNoaW5nRGlyZWN0aXZlLnRlbXBsYXRlUmVmO1xuICAgICAgfVxuXG4gICAgICBpZiAoaXRlbS5vcHRpb25zKSB7XG4gICAgICAgIHJlc3VsdC5vcHRpb25zID0gdGhpcy5hcHBseVRlbXBsYXRlcyhpdGVtLm9wdGlvbnMsIGRpcmVjdGl2ZXMpO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gcmVzdWx0O1xuICAgIH0pO1xuICB9XG59XG4iLCI8bmctdGVtcGxhdGUgI2NvbnRhY3RzVGVtcGxhdGU+XG4gIDxkaXYgZGF0YS1mbmQ9XCJjb250YWN0c1wiIGNsYXNzPVwiZ3Jhbml0ZS1jb250YWN0XCI+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImN1c3RvbVByb2ZpbGVEaXJlY3RpdmU7IGVsc2UgZGVmYXVsdFByb2ZpbGVcIj5cbiAgICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgKm5nVGVtcGxhdGVPdXRsZXQ9XCJjdXN0b21Qcm9maWxlRGlyZWN0aXZlLnRlbXBsYXRlUmVmXCJcbiAgICAgID48L25nLWNvbnRhaW5lcj5cbiAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgIDxuZy10ZW1wbGF0ZSAjZGVmYXVsdFByb2ZpbGU+XG4gICAgICA8Z3Jhbml0ZS1jb250YWN0cy1wcm9maWxlXG4gICAgICAgIGRhdGEtZm5kPVwiZGVmYXVsdC1wcm9maWxlXCJcbiAgICAgICAgW3Byb2ZpbGVDbGFzc109XCJwcm9maWxlQ2xhc3NcIlxuICAgICAgICBbcHJvZmlsZV09XCJwcm9maWxlXCJcbiAgICAgID48L2dyYW5pdGUtY29udGFjdHMtcHJvZmlsZT5cbiAgICA8L25nLXRlbXBsYXRlPlxuXG4gICAgPHVsIGNsYXNzPVwiY29udGFjdC1saXN0XCI+XG4gICAgICA8bGkgKm5nRm9yPVwibGV0IGNvbnRhY3Qgb2YgX2NvbnRhY3RzRXh0ZW5kZWRcIj5cbiAgICAgICAgPGdyYW5pdGUtY29udGFjdC1pdGVtXG4gICAgICAgICAgW2NvbnRhY3RdPVwiY29udGFjdFwiXG4gICAgICAgICAgKHNlbGVjdGVkQ29udGFjdCk9XCJvblNlbGVjdGVkQ29udGFjdCgkZXZlbnQpXCJcbiAgICAgICAgPjwvZ3Jhbml0ZS1jb250YWN0LWl0ZW0+XG4gICAgICA8L2xpPlxuICAgIDwvdWw+XG4gIDwvZGl2PlxuPC9uZy10ZW1wbGF0ZT5cblxuPG5nLWNvbnRhaW5lciAqbmdJZj1cImRlZmF1bHRTaG93XCI+XG4gIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJjb250YWN0c1RlbXBsYXRlXCI+PC9uZy1jb250YWluZXI+XG48L25nLWNvbnRhaW5lcj5cbiJdfQ==
69
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGFjdHMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9ncmFuaXRlLWNvbXBvbmVudHMvc3JjL2xpYi9jb250YWN0cy9jb250YWN0cy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2dyYW5pdGUtY29tcG9uZW50cy9zcmMvbGliL2NvbnRhY3RzL2NvbnRhY3RzLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULEtBQUssRUFDTCxNQUFNLEVBQ04sWUFBWSxFQUNaLGVBQWUsRUFDZixTQUFTLEVBRVQsWUFBWSxHQUdiLE1BQU0sZUFBZSxDQUFDO0FBTXZCLE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLDBDQUEwQyxDQUFDO0FBQ3hGLE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBRXpFLE9BQU8sRUFBRSw2QkFBNkIsRUFBRSxNQUFNLDRCQUE0QixDQUFDOzs7OztBQVczRSxNQUFNLE9BQU8sd0JBQ1gsU0FBUSw0QkFBNEI7SUFYdEM7O1FBY1csYUFBUSxHQUFjLEVBQUUsQ0FBQztRQUd6QixnQkFBVyxHQUFHLEtBQUssQ0FBQztRQUVWLG9CQUFlLEdBQUcsSUFBSSxZQUFZLEVBQW1CLENBQUM7UUFRekUsc0JBQWlCLEdBQXNCLEVBQUUsQ0FBQztLQWdEM0M7SUE5Q0MsV0FBVyxDQUFDLE9BQXNCO1FBQ2hDLElBQUksT0FBTyxDQUFDLFFBQVEsSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsWUFBWSxFQUFFLENBQUM7WUFDdkQsSUFBSSxDQUFDLFFBQVEsR0FBRyxFQUFFLENBQUM7UUFDckIsQ0FBQztJQUNILENBQUM7SUFFRCxxQkFBcUI7UUFDbkIsSUFBSSxDQUFDLGlCQUFpQixHQUFHLElBQUksQ0FBQyw4QkFBOEIsQ0FDMUQsSUFBSSxDQUFDLGVBQWUsQ0FBQyxPQUFPLEVBQUUsRUFDOUIsSUFBSSxDQUFDLFFBQVEsQ0FDZCxDQUFDO0lBQ0osQ0FBQztJQUVELGlCQUFpQixDQUFDLE9BQXdCO1FBQ3hDLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ3JDLENBQUM7SUFFTyw4QkFBOEIsQ0FDcEMsc0JBQXNELEVBQ3RELFFBQW1CO1FBRW5CLE9BQU8sSUFBSSxDQUFDLGNBQWMsQ0FBQyxRQUFRLEVBQUUsc0JBQXNCLENBQUMsQ0FBQztJQUMvRCxDQUFDO0lBRU8sY0FBYyxDQUNwQixRQUF1QyxFQUN2QyxVQUEwQztRQUUxQyxPQUFPLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRTtZQUMzQixNQUFNLGlCQUFpQixHQUFHLFVBQVUsQ0FBQyxJQUFJLENBQ3ZDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsbUJBQW1CLEtBQUssSUFBSSxDQUFDLE1BQU0sQ0FDN0MsQ0FBQztZQUVGLE1BQU0sTUFBTSxHQUFHLEVBQUUsR0FBRyxJQUFJLEVBQUUsQ0FBQztZQUUzQixJQUFJLGlCQUFpQixFQUFFLENBQUM7Z0JBQ3RCLE1BQU0sQ0FBQyxjQUFjLEdBQUcsaUJBQWlCLENBQUMsV0FBVyxDQUFDO1lBQ3hELENBQUM7WUFFRCxJQUFJLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztnQkFDakIsTUFBTSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsVUFBVSxDQUFDLENBQUM7WUFDakUsQ0FBQztZQUVELE9BQU8sTUFBTSxDQUFDO1FBQ2hCLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzs4R0FoRVUsd0JBQXdCO2tHQUF4Qix3QkFBd0IsMlRBY3JCLDZCQUE2QixxRUFIMUIsNEJBQTRCLHdHQzNDL0MsaThCQThCQTs7MkZERWEsd0JBQXdCO2tCQVZwQyxTQUFTOytCQUNFLGtCQUFrQixZQUNsQixpQkFBaUIsUUFDckI7d0JBQ0osS0FBSyxFQUFFLGtCQUFrQjtxQkFDMUIsbUJBR2dCLHVCQUF1QixDQUFDLE1BQU07OEJBTXRDLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLO2dCQUNHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSztnQkFFYSxlQUFlO3NCQUFqQyxNQUFNO2dCQUdQLGVBQWU7c0JBRGQsZUFBZTt1QkFBQyw0QkFBNEI7Z0JBSTdDLHNCQUFzQjtzQkFEckIsWUFBWTt1QkFBQyw2QkFBNkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ29tcG9uZW50LFxuICBJbnB1dCxcbiAgT3V0cHV0LFxuICBFdmVudEVtaXR0ZXIsXG4gIENvbnRlbnRDaGlsZHJlbixcbiAgUXVlcnlMaXN0LFxuICBBZnRlckNvbnRlbnRDaGVja2VkLFxuICBDb250ZW50Q2hpbGQsXG4gIE9uQ2hhbmdlcyxcbiAgU2ltcGxlQ2hhbmdlcyxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICBDb250YWN0LFxuICBQcm9maWxlLFxuICBTZWxlY3RlZENvbnRhY3QsXG59IGZyb20gJy4vY29udGFjdHMtdHlwZXMvY29udGFjdHMuY29tcG9uZW50LnB1YmxpYy10eXBlcyc7XG5pbXBvcnQgeyBDb250YWN0c1RyaWdnZXJEYXRhQ29tcG9uZW50IH0gZnJvbSAnLi9jb250YWN0cy10cmlnZ2VyL2NvbnRhY3RzLXRyaWdnZXItZGF0YSc7XG5pbXBvcnQgeyBHcmFuaXRlQ3VzdG9tU3RhdHVzRGlyZWN0aXZlIH0gZnJvbSAnLi9jdXN0b20tc3RhdHVzLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBDb250YWN0RXh0ZW5kZWQgfSBmcm9tICcuL2NvbnRhY3RzLXR5cGVzL2NvbnRhY3RzLmNvbXBvbmVudC5wcml2YXRlLXR5cGVzJztcbmltcG9ydCB7IEdyYW5pdGVDdXN0b21Qcm9maWxlRGlyZWN0aXZlIH0gZnJvbSAnLi9jdXN0b20tcHJvZmlsZS5kaXJlY3RpdmUnO1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZ3Jhbml0ZS1jb250YWN0cycsXG4gIGV4cG9ydEFzOiAnZ3Jhbml0ZUNvbnRhY3RzJyxcbiAgaG9zdDoge1xuICAgIGNsYXNzOiAnZ3Jhbml0ZS1jb250YWN0cycsXG4gIH0sXG4gIHRlbXBsYXRlVXJsOiAnLi9jb250YWN0cy5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2NvbnRhY3RzLmNvbXBvbmVudC5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBHcmFuaXRlQ29udGFjdHNDb21wb25lbnRcbiAgZXh0ZW5kcyBDb250YWN0c1RyaWdnZXJEYXRhQ29tcG9uZW50XG4gIGltcGxlbWVudHMgT25DaGFuZ2VzLCBBZnRlckNvbnRlbnRDaGVja2VkXG57XG4gIEBJbnB1dCgpIGNvbnRhY3RzOiBDb250YWN0W10gPSBbXTtcbiAgQElucHV0KCkgcHJvZmlsZTogUHJvZmlsZSB8IHVua25vd247XG4gIEBJbnB1dCgpIHByb2ZpbGVDbGFzczogc3RyaW5nO1xuICBASW5wdXQoKSBkZWZhdWx0U2hvdyA9IGZhbHNlO1xuXG4gIEBPdXRwdXQoKSByZWFkb25seSBzZWxlY3RlZENvbnRhY3QgPSBuZXcgRXZlbnRFbWl0dGVyPFNlbGVjdGVkQ29udGFjdD4oKTtcblxuICBAQ29udGVudENoaWxkcmVuKEdyYW5pdGVDdXN0b21TdGF0dXNEaXJlY3RpdmUpXG4gIF9jdXN0b21TdGF0dXNlczogUXVlcnlMaXN0PEdyYW5pdGVDdXN0b21TdGF0dXNEaXJlY3RpdmU+O1xuXG4gIEBDb250ZW50Q2hpbGQoR3Jhbml0ZUN1c3RvbVByb2ZpbGVEaXJlY3RpdmUpXG4gIGN1c3RvbVByb2ZpbGVEaXJlY3RpdmU6IEdyYW5pdGVDdXN0b21Qcm9maWxlRGlyZWN0aXZlO1xuXG4gIF9jb250YWN0c0V4dGVuZGVkOiBDb250YWN0RXh0ZW5kZWRbXSA9IFtdO1xuXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICBpZiAoY2hhbmdlcy5jb250YWN0cyAmJiAhY2hhbmdlcy5jb250YWN0cy5jdXJyZW50VmFsdWUpIHtcbiAgICAgIHRoaXMuY29udGFjdHMgPSBbXTtcbiAgICB9XG4gIH1cblxuICBuZ0FmdGVyQ29udGVudENoZWNrZWQoKTogdm9pZCB7XG4gICAgdGhpcy5fY29udGFjdHNFeHRlbmRlZCA9IHRoaXMuc2V0UHJvcGVyQ3VzdG9tU3RhdHVzVGVtcGxhdGVzKFxuICAgICAgdGhpcy5fY3VzdG9tU3RhdHVzZXMudG9BcnJheSgpLFxuICAgICAgdGhpcy5jb250YWN0c1xuICAgICk7XG4gIH1cblxuICBvblNlbGVjdGVkQ29udGFjdChjb250YWN0OiBTZWxlY3RlZENvbnRhY3QpOiB2b2lkIHtcbiAgICB0aGlzLnNlbGVjdGVkQ29udGFjdC5lbWl0KGNvbnRhY3QpO1xuICB9XG5cbiAgcHJpdmF0ZSBzZXRQcm9wZXJDdXN0b21TdGF0dXNUZW1wbGF0ZXMoXG4gICAgY3VzdG9tU3RhdHVzRGlyZWN0aXZlczogR3Jhbml0ZUN1c3RvbVN0YXR1c0RpcmVjdGl2ZVtdLFxuICAgIGNvbnRhY3RzOiBDb250YWN0W11cbiAgKTogQ29udGFjdEV4dGVuZGVkW10ge1xuICAgIHJldHVybiB0aGlzLmFwcGx5VGVtcGxhdGVzKGNvbnRhY3RzLCBjdXN0b21TdGF0dXNEaXJlY3RpdmVzKTtcbiAgfVxuXG4gIHByaXZhdGUgYXBwbHlUZW1wbGF0ZXMoXG4gICAgY29udGFjdHM6IENvbnRhY3RbXSB8IENvbnRhY3RFeHRlbmRlZFtdLFxuICAgIGRpcmVjdGl2ZXM6IEdyYW5pdGVDdXN0b21TdGF0dXNEaXJlY3RpdmVbXVxuICApOiBDb250YWN0RXh0ZW5kZWRbXSB7XG4gICAgcmV0dXJuIGNvbnRhY3RzLm1hcCgoaXRlbSkgPT4ge1xuICAgICAgY29uc3QgbWF0Y2hpbmdEaXJlY3RpdmUgPSBkaXJlY3RpdmVzLmZpbmQoXG4gICAgICAgIChkKSA9PiBkLmdyYW5pdGVDdXN0b21TdGF0dXMgPT09IGl0ZW0uc3RhdHVzXG4gICAgICApO1xuXG4gICAgICBjb25zdCByZXN1bHQgPSB7IC4uLml0ZW0gfTtcblxuICAgICAgaWYgKG1hdGNoaW5nRGlyZWN0aXZlKSB7XG4gICAgICAgIHJlc3VsdC5zdGF0dXNUZW1wbGF0ZSA9IG1hdGNoaW5nRGlyZWN0aXZlLnRlbXBsYXRlUmVmO1xuICAgICAgfVxuXG4gICAgICBpZiAoaXRlbS5vcHRpb25zKSB7XG4gICAgICAgIHJlc3VsdC5vcHRpb25zID0gdGhpcy5hcHBseVRlbXBsYXRlcyhpdGVtLm9wdGlvbnMsIGRpcmVjdGl2ZXMpO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gcmVzdWx0O1xuICAgIH0pO1xuICB9XG59XG4iLCI8bmctdGVtcGxhdGUgI2NvbnRhY3RzVGVtcGxhdGU+XG4gIDxkaXYgZGF0YS1mbmQ9XCJjb250YWN0c1wiIGNsYXNzPVwiZ3Jhbml0ZS1jb250YWN0XCI+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImN1c3RvbVByb2ZpbGVEaXJlY3RpdmU7IGVsc2UgZGVmYXVsdFByb2ZpbGVcIj5cbiAgICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgKm5nVGVtcGxhdGVPdXRsZXQ9XCJjdXN0b21Qcm9maWxlRGlyZWN0aXZlLnRlbXBsYXRlUmVmXCJcbiAgICAgID48L25nLWNvbnRhaW5lcj5cbiAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgIDxuZy10ZW1wbGF0ZSAjZGVmYXVsdFByb2ZpbGU+XG4gICAgICA8Z3Jhbml0ZS1jb250YWN0cy1wcm9maWxlXG4gICAgICAgIGRhdGEtZm5kPVwiZGVmYXVsdC1wcm9maWxlXCJcbiAgICAgICAgW3Byb2ZpbGVDbGFzc109XCJwcm9maWxlQ2xhc3NcIlxuICAgICAgICBbcHJvZmlsZV09XCJwcm9maWxlXCJcbiAgICAgID48L2dyYW5pdGUtY29udGFjdHMtcHJvZmlsZT5cbiAgICA8L25nLXRlbXBsYXRlPlxuXG4gICAgPHVsIGNsYXNzPVwiY29udGFjdC1saXN0XCI+XG4gICAgICA8bGkgKm5nRm9yPVwibGV0IGNvbnRhY3Qgb2YgX2NvbnRhY3RzRXh0ZW5kZWRcIj5cbiAgICAgICAgPGdyYW5pdGUtY29udGFjdC1pdGVtXG4gICAgICAgICAgW2NvbnRhY3RdPVwiY29udGFjdFwiXG4gICAgICAgICAgKHNlbGVjdGVkQ29udGFjdCk9XCJvblNlbGVjdGVkQ29udGFjdCgkZXZlbnQpXCJcbiAgICAgICAgPjwvZ3Jhbml0ZS1jb250YWN0LWl0ZW0+XG4gICAgICA8L2xpPlxuICAgIDwvdWw+XG4gIDwvZGl2PlxuPC9uZy10ZW1wbGF0ZT5cblxuPG5nLWNvbnRhaW5lciAqbmdJZj1cImRlZmF1bHRTaG93XCI+XG4gIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJjb250YWN0c1RlbXBsYXRlXCI+PC9uZy1jb250YWluZXI+XG48L25nLWNvbnRhaW5lcj5cbiJdfQ==
@@ -4044,20 +4044,17 @@ class GraniteContactItemComponent {
4044
4044
  constructor() {
4045
4045
  this.selectedContact = new EventEmitter();
4046
4046
  }
4047
- emitSelectedContact(contact) {
4048
- if (contact.disabled || contact.options) {
4049
- return;
4050
- }
4051
- this.selectedContact.emit(contact);
4047
+ emitSelectedContact(selectedContact) {
4048
+ this.selectedContact.emit(selectedContact);
4052
4049
  }
4053
4050
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: GraniteContactItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
4054
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.4", type: GraniteContactItemComponent, selector: "granite-contact-item", inputs: { contact: "contact" }, outputs: { selectedContact: "selectedContact" }, host: { classAttribute: "granite-contact-item" }, ngImport: i0, template: "<div class=\"contact-item\" [attr.data-fnd]=\"contact.name\">\n <div class=\"contact-item-main\">\n <ng-container\n *ngTemplateOutlet=\"\n contactItem;\n context: { contact: contact, testName: 'contact' }\n \"\n ></ng-container>\n </div>\n\n <ul *ngIf=\"contact.options\" class=\"contact-item-options\">\n <li\n tabindex=\"0\"\n *ngFor=\"let option of contact.options; let i = index\"\n class=\"option-item\"\n [attr.data-fnd]=\"'contact-option-' + i\"\n >\n <ng-container\n *ngTemplateOutlet=\"\n contactItem;\n context: { contact: option, testName: 'contact-option-' + i }\n \"\n ></ng-container>\n </li>\n </ul>\n</div>\n\n<ng-template let-testName=\"testName\" let-contact=\"contact\" #contactItem>\n <granite-icon\n [attr.data-fnd]=\"testName + '-icon'\"\n fontIcon=\"{{ contact.iconName }}\"\n ></granite-icon>\n\n <granite-contact-item-title\n [attr.data-fnd]=\"testName + '-title'\"\n tabindex=\"0\"\n [contact]=\"contact\"\n (click)=\"emitSelectedContact(contact)\"\n ></granite-contact-item-title>\n\n <ng-container *ngIf=\"contact.statusTemplate; else defaultStatus\">\n <ng-container *ngTemplateOutlet=\"contact.statusTemplate\"></ng-container>\n </ng-container>\n\n <ng-template #defaultStatus>\n <granite-contact-item-default-status\n [attr.data-fnd]=\"testName + '-status'\"\n [status]=\"contact.status\"\n ></granite-contact-item-default-status>\n </ng-template>\n</ng-template>\n", styles: [".contact-item{display:flex;flex-direction:column;gap:var(--granite-spacing-8)}.contact-item-main{display:flex;gap:var(--granite-spacing-8);align-self:stretch;align-items:center}.contact-item-options{display:flex;flex-direction:column;padding-inline-start:var(--granite-spacing-24);gap:var(--granite-spacing-4);list-style:none}.contact-item-options .option-item{display:flex;gap:var(--granite-spacing-8);align-self:stretch;align-items:center}.contact-item granite-contact-item-title,.contact-item granite-contact-item-default-status{display:flex}granite-icon{padding:0;color:var(--granite-color-text-hint);width:var(--granite-size-base-rem);height:var(--granite-size-base-rem)}\n"], dependencies: [{ kind: "component", type: GraniteIconComponent, selector: "granite-icon", inputs: ["fontIcon"] }, { kind: "directive", type: i1$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: ContactItemDefaultStatusComponent, selector: "granite-contact-item-default-status", inputs: ["status"] }, { kind: "component", type: GraniteContactItemTitleComponent, selector: "granite-contact-item-title", inputs: ["contact"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
4051
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.4", type: GraniteContactItemComponent, selector: "granite-contact-item", inputs: { contact: "contact" }, outputs: { selectedContact: "selectedContact" }, host: { classAttribute: "granite-contact-item" }, ngImport: i0, template: "<div class=\"contact-item\" [attr.data-fnd]=\"contact.name\">\n <div class=\"contact-item-main\">\n <ng-container\n *ngTemplateOutlet=\"\n contactItem;\n context: {\n contact: contact,\n testName: 'contact',\n selectedContactOutput: { contact }\n }\n \"\n ></ng-container>\n </div>\n\n <ul *ngIf=\"contact.options\" class=\"contact-item-options\">\n <li\n tabindex=\"0\"\n *ngFor=\"let option of contact.options; let i = index\"\n class=\"option-item\"\n [attr.data-fnd]=\"'contact-option-' + i\"\n >\n <ng-container\n *ngTemplateOutlet=\"\n contactItem;\n context: {\n contact: option,\n testName: 'contact-option-' + i,\n selectedContactOutput: { contact: option, parent: contact }\n }\n \"\n ></ng-container>\n </li>\n </ul>\n</div>\n\n<ng-template\n let-testName=\"testName\"\n let-contact=\"contact\"\n let-selectedContactOutput=\"selectedContactOutput\"\n #contactItem\n>\n <granite-icon\n [attr.data-fnd]=\"testName + '-icon'\"\n fontIcon=\"{{ contact.iconName }}\"\n ></granite-icon>\n\n <granite-contact-item-title\n [attr.data-fnd]=\"testName + '-title'\"\n tabindex=\"0\"\n [contact]=\"contact\"\n [class.contact-item-disabled]=\"contact.options || contact.disabled\"\n (click)=\"emitSelectedContact(selectedContactOutput)\"\n ></granite-contact-item-title>\n\n <ng-container *ngIf=\"contact.statusTemplate; else defaultStatus\">\n <ng-container *ngTemplateOutlet=\"contact.statusTemplate\"></ng-container>\n </ng-container>\n\n <ng-template #defaultStatus>\n <granite-contact-item-default-status\n [attr.data-fnd]=\"testName + '-status'\"\n [status]=\"contact.status\"\n ></granite-contact-item-default-status>\n </ng-template>\n</ng-template>\n", styles: [".contact-item{display:flex;flex-direction:column;gap:var(--granite-spacing-8)}.contact-item-main{display:flex;gap:var(--granite-spacing-8);align-self:stretch;align-items:center}.contact-item-disabled{pointer-events:none}.contact-item-options{display:flex;flex-direction:column;padding-inline-start:var(--granite-spacing-24);gap:var(--granite-spacing-4);list-style:none}.contact-item-options .option-item{display:flex;gap:var(--granite-spacing-8);align-self:stretch;align-items:center}.contact-item granite-contact-item-title,.contact-item granite-contact-item-default-status{display:flex}granite-icon{padding:0;color:var(--granite-color-text-hint);width:var(--granite-size-base-rem);height:var(--granite-size-base-rem)}\n"], dependencies: [{ kind: "component", type: GraniteIconComponent, selector: "granite-icon", inputs: ["fontIcon"] }, { kind: "directive", type: i1$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: ContactItemDefaultStatusComponent, selector: "granite-contact-item-default-status", inputs: ["status"] }, { kind: "component", type: GraniteContactItemTitleComponent, selector: "granite-contact-item-title", inputs: ["contact"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
4055
4052
  }
4056
4053
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: GraniteContactItemComponent, decorators: [{
4057
4054
  type: Component,
4058
4055
  args: [{ selector: 'granite-contact-item', host: {
4059
4056
  class: 'granite-contact-item',
4060
- }, changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"contact-item\" [attr.data-fnd]=\"contact.name\">\n <div class=\"contact-item-main\">\n <ng-container\n *ngTemplateOutlet=\"\n contactItem;\n context: { contact: contact, testName: 'contact' }\n \"\n ></ng-container>\n </div>\n\n <ul *ngIf=\"contact.options\" class=\"contact-item-options\">\n <li\n tabindex=\"0\"\n *ngFor=\"let option of contact.options; let i = index\"\n class=\"option-item\"\n [attr.data-fnd]=\"'contact-option-' + i\"\n >\n <ng-container\n *ngTemplateOutlet=\"\n contactItem;\n context: { contact: option, testName: 'contact-option-' + i }\n \"\n ></ng-container>\n </li>\n </ul>\n</div>\n\n<ng-template let-testName=\"testName\" let-contact=\"contact\" #contactItem>\n <granite-icon\n [attr.data-fnd]=\"testName + '-icon'\"\n fontIcon=\"{{ contact.iconName }}\"\n ></granite-icon>\n\n <granite-contact-item-title\n [attr.data-fnd]=\"testName + '-title'\"\n tabindex=\"0\"\n [contact]=\"contact\"\n (click)=\"emitSelectedContact(contact)\"\n ></granite-contact-item-title>\n\n <ng-container *ngIf=\"contact.statusTemplate; else defaultStatus\">\n <ng-container *ngTemplateOutlet=\"contact.statusTemplate\"></ng-container>\n </ng-container>\n\n <ng-template #defaultStatus>\n <granite-contact-item-default-status\n [attr.data-fnd]=\"testName + '-status'\"\n [status]=\"contact.status\"\n ></granite-contact-item-default-status>\n </ng-template>\n</ng-template>\n", styles: [".contact-item{display:flex;flex-direction:column;gap:var(--granite-spacing-8)}.contact-item-main{display:flex;gap:var(--granite-spacing-8);align-self:stretch;align-items:center}.contact-item-options{display:flex;flex-direction:column;padding-inline-start:var(--granite-spacing-24);gap:var(--granite-spacing-4);list-style:none}.contact-item-options .option-item{display:flex;gap:var(--granite-spacing-8);align-self:stretch;align-items:center}.contact-item granite-contact-item-title,.contact-item granite-contact-item-default-status{display:flex}granite-icon{padding:0;color:var(--granite-color-text-hint);width:var(--granite-size-base-rem);height:var(--granite-size-base-rem)}\n"] }]
4057
+ }, changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"contact-item\" [attr.data-fnd]=\"contact.name\">\n <div class=\"contact-item-main\">\n <ng-container\n *ngTemplateOutlet=\"\n contactItem;\n context: {\n contact: contact,\n testName: 'contact',\n selectedContactOutput: { contact }\n }\n \"\n ></ng-container>\n </div>\n\n <ul *ngIf=\"contact.options\" class=\"contact-item-options\">\n <li\n tabindex=\"0\"\n *ngFor=\"let option of contact.options; let i = index\"\n class=\"option-item\"\n [attr.data-fnd]=\"'contact-option-' + i\"\n >\n <ng-container\n *ngTemplateOutlet=\"\n contactItem;\n context: {\n contact: option,\n testName: 'contact-option-' + i,\n selectedContactOutput: { contact: option, parent: contact }\n }\n \"\n ></ng-container>\n </li>\n </ul>\n</div>\n\n<ng-template\n let-testName=\"testName\"\n let-contact=\"contact\"\n let-selectedContactOutput=\"selectedContactOutput\"\n #contactItem\n>\n <granite-icon\n [attr.data-fnd]=\"testName + '-icon'\"\n fontIcon=\"{{ contact.iconName }}\"\n ></granite-icon>\n\n <granite-contact-item-title\n [attr.data-fnd]=\"testName + '-title'\"\n tabindex=\"0\"\n [contact]=\"contact\"\n [class.contact-item-disabled]=\"contact.options || contact.disabled\"\n (click)=\"emitSelectedContact(selectedContactOutput)\"\n ></granite-contact-item-title>\n\n <ng-container *ngIf=\"contact.statusTemplate; else defaultStatus\">\n <ng-container *ngTemplateOutlet=\"contact.statusTemplate\"></ng-container>\n </ng-container>\n\n <ng-template #defaultStatus>\n <granite-contact-item-default-status\n [attr.data-fnd]=\"testName + '-status'\"\n [status]=\"contact.status\"\n ></granite-contact-item-default-status>\n </ng-template>\n</ng-template>\n", styles: [".contact-item{display:flex;flex-direction:column;gap:var(--granite-spacing-8)}.contact-item-main{display:flex;gap:var(--granite-spacing-8);align-self:stretch;align-items:center}.contact-item-disabled{pointer-events:none}.contact-item-options{display:flex;flex-direction:column;padding-inline-start:var(--granite-spacing-24);gap:var(--granite-spacing-4);list-style:none}.contact-item-options .option-item{display:flex;gap:var(--granite-spacing-8);align-self:stretch;align-items:center}.contact-item granite-contact-item-title,.contact-item granite-contact-item-default-status{display:flex}granite-icon{padding:0;color:var(--granite-color-text-hint);width:var(--granite-size-base-rem);height:var(--granite-size-base-rem)}\n"] }]
4061
4058
  }], propDecorators: { contact: [{
4062
4059
  type: Input
4063
4060
  }], selectedContact: [{