@ifsworld/granite-components 11.7.2 → 12.0.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.
Files changed (29) hide show
  1. package/esm2022/index.mjs +12 -1
  2. package/esm2022/lib/contacts/contact-item/contact-item.component.mjs +30 -0
  3. package/esm2022/lib/contacts/contact-item-default-status/contact-item-default-status.component.mjs +20 -0
  4. package/esm2022/lib/contacts/contact-item-title/contact-item-title.component.mjs +15 -0
  5. package/esm2022/lib/contacts/contacts-profile/contacts-profile.component.mjs +27 -0
  6. package/esm2022/lib/contacts/contacts-trigger/contacts-trigger-data.mjs +24 -0
  7. package/esm2022/lib/contacts/contacts-trigger/contacts-trigger-for.directive.mjs +231 -0
  8. package/esm2022/lib/contacts/contacts-types/contacts.component.private-types.mjs +2 -0
  9. package/esm2022/lib/contacts/contacts-types/contacts.component.public-types.mjs +9 -0
  10. package/esm2022/lib/contacts/contacts.component.mjs +69 -0
  11. package/esm2022/lib/contacts/contacts.module.mjs +52 -0
  12. package/esm2022/lib/contacts/custom-profile.directive.mjs +16 -0
  13. package/esm2022/lib/contacts/custom-status.directive.mjs +18 -0
  14. package/fesm2022/ifsworld-granite-components.mjs +460 -2
  15. package/fesm2022/ifsworld-granite-components.mjs.map +1 -1
  16. package/index.d.ts +11 -0
  17. package/lib/contacts/contact-item/contact-item.component.d.ts +11 -0
  18. package/lib/contacts/contact-item-default-status/contact-item-default-status.component.d.ts +15 -0
  19. package/lib/contacts/contact-item-title/contact-item-title.component.d.ts +7 -0
  20. package/lib/contacts/contacts-profile/contacts-profile.component.d.ts +12 -0
  21. package/lib/contacts/contacts-trigger/contacts-trigger-data.d.ts +23 -0
  22. package/lib/contacts/contacts-trigger/contacts-trigger-for.directive.d.ts +69 -0
  23. package/lib/contacts/contacts-types/contacts.component.private-types.d.ts +5 -0
  24. package/lib/contacts/contacts-types/contacts.component.public-types.d.ts +24 -0
  25. package/lib/contacts/contacts.component.d.ts +24 -0
  26. package/lib/contacts/contacts.module.d.ts +16 -0
  27. package/lib/contacts/custom-profile.directive.d.ts +8 -0
  28. package/lib/contacts/custom-status.directive.d.ts +9 -0
  29. package/package.json +1 -1
@@ -0,0 +1,69 @@
1
+ import { ChangeDetectionStrategy, Component, Input, Output, EventEmitter, ContentChildren, QueryList, ContentChild, } from '@angular/core';
2
+ import { ContactsTriggerDataComponent } from './contacts-trigger/contacts-trigger-data';
3
+ import { GraniteCustomStatusDirective } from './custom-status.directive';
4
+ import { GraniteCustomProfileDirective } from './custom-profile.directive';
5
+ import * as i0 from "@angular/core";
6
+ import * as i1 from "@angular/common";
7
+ import * as i2 from "./contacts-profile/contacts-profile.component";
8
+ import * as i3 from "./contact-item/contact-item.component";
9
+ export class GraniteContactsComponent extends ContactsTriggerDataComponent {
10
+ constructor() {
11
+ super(...arguments);
12
+ this.contacts = [];
13
+ this.defaultShow = false;
14
+ this.selectedContact = new EventEmitter();
15
+ this._contactsExtended = [];
16
+ }
17
+ ngOnChanges(changes) {
18
+ if (changes.contacts && !changes.contacts.currentValue) {
19
+ this.contacts = [];
20
+ }
21
+ }
22
+ ngAfterContentChecked() {
23
+ this._contactsExtended = this.setProperCustomStatusTemplates(this._customStatuses.toArray(), this.contacts);
24
+ }
25
+ onSelectedContact(contact) {
26
+ this.selectedContact.emit(contact);
27
+ }
28
+ setProperCustomStatusTemplates(customStatusDirectives, contacts) {
29
+ return this.applyTemplates(contacts, customStatusDirectives);
30
+ }
31
+ applyTemplates(contacts, directives) {
32
+ return contacts.map((item) => {
33
+ const matchingDirective = directives.find((d) => d.graniteCustomStatus === item.status);
34
+ const result = { ...item };
35
+ if (matchingDirective) {
36
+ result.statusTemplate = matchingDirective.templateRef;
37
+ }
38
+ if (item.options) {
39
+ result.options = this.applyTemplates(item.options, directives);
40
+ }
41
+ return result;
42
+ });
43
+ }
44
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: GraniteContactsComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
45
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.4", type: GraniteContactsComponent, selector: "granite-contacts", inputs: { contacts: "contacts", 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=\"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
+ }
47
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: GraniteContactsComponent, decorators: [{
48
+ type: Component,
49
+ args: [{ selector: 'granite-contacts', exportAs: 'graniteContacts', host: {
50
+ class: 'granite-contacts',
51
+ }, changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-template #contactsTemplate>\n <div data-fnd=\"contacts\" class=\"granite-contact\">\n <ng-container *ngIf=\"customProfileDirective; else defaultProfile\">\n <ng-container\n *ngTemplateOutlet=\"customProfileDirective.templateRef\"\n ></ng-container>\n </ng-container>\n\n <ng-template #defaultProfile>\n <granite-contacts-profile\n data-fnd=\"default-profile\"\n [profileClass]=\"profileClass\"\n [profile]=\"profile\"\n ></granite-contacts-profile>\n </ng-template>\n\n <ul class=\"contact-list\">\n <li *ngFor=\"let contact of _contactsExtended\">\n <granite-contact-item\n [contact]=\"contact\"\n (selectedContact)=\"onSelectedContact($event)\"\n ></granite-contact-item>\n </li>\n </ul>\n </div>\n</ng-template>\n\n<ng-container *ngIf=\"defaultShow\">\n <ng-container *ngTemplateOutlet=\"contactsTemplate\"></ng-container>\n</ng-container>\n", styles: [".granite-contact{display:inline-block;font-size:var(--granite-font-size-body);font-family:var(--granite-font-family-default);color:var(--granite-color-text-weak);height:-moz-fit-content;height:fit-content;min-width:10rem;max-width:20rem;padding:var(--granite-spacing-16);box-shadow:var(--granite-shadow-popover);background:var(--granite-color-background-variant)}.granite-contact .contact-list{display:flex;flex-direction:column;align-items:flex-start;gap:var(--granite-spacing-8);list-style-type:none;padding:0;margin:0}\n"] }]
52
+ }], propDecorators: { contacts: [{
53
+ type: Input
54
+ }], profile: [{
55
+ type: Input
56
+ }], profileClass: [{
57
+ type: Input
58
+ }], defaultShow: [{
59
+ type: Input
60
+ }], selectedContact: [{
61
+ type: Output
62
+ }], _customStatuses: [{
63
+ type: ContentChildren,
64
+ args: [GraniteCustomStatusDirective]
65
+ }], customProfileDirective: [{
66
+ type: ContentChild,
67
+ args: [GraniteCustomProfileDirective]
68
+ }] } });
69
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGFjdHMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9ncmFuaXRlLWNvbXBvbmVudHMvc3JjL2xpYi9jb250YWN0cy9jb250YWN0cy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2dyYW5pdGUtY29tcG9uZW50cy9zcmMvbGliL2NvbnRhY3RzL2NvbnRhY3RzLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULEtBQUssRUFDTCxNQUFNLEVBQ04sWUFBWSxFQUNaLGVBQWUsRUFDZixTQUFTLEVBRVQsWUFBWSxHQUdiLE1BQU0sZUFBZSxDQUFDO0FBTXZCLE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLDBDQUEwQyxDQUFDO0FBQ3hGLE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBRXpFLE9BQU8sRUFBRSw2QkFBNkIsRUFBRSxNQUFNLDRCQUE0QixDQUFDOzs7OztBQVczRSxNQUFNLE9BQU8sd0JBQ1gsU0FBUSw0QkFBNEI7SUFYdEM7O1FBY1csYUFBUSxHQUFjLEVBQUUsQ0FBQztRQUd6QixnQkFBVyxHQUFHLEtBQUssQ0FBQztRQUVWLG9CQUFlLEdBQUcsSUFBSSxZQUFZLEVBRWxELENBQUM7UUFRSixzQkFBaUIsR0FBc0IsRUFBRSxDQUFDO0tBZ0QzQztJQTlDQyxXQUFXLENBQUMsT0FBc0I7UUFDaEMsSUFBSSxPQUFPLENBQUMsUUFBUSxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxZQUFZLEVBQUUsQ0FBQztZQUN2RCxJQUFJLENBQUMsUUFBUSxHQUFHLEVBQUUsQ0FBQztRQUNyQixDQUFDO0lBQ0gsQ0FBQztJQUVELHFCQUFxQjtRQUNuQixJQUFJLENBQUMsaUJBQWlCLEdBQUcsSUFBSSxDQUFDLDhCQUE4QixDQUMxRCxJQUFJLENBQUMsZUFBZSxDQUFDLE9BQU8sRUFBRSxFQUM5QixJQUFJLENBQUMsUUFBUSxDQUNkLENBQUM7SUFDSixDQUFDO0lBRUQsaUJBQWlCLENBQUMsT0FBaUM7UUFDakQsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDckMsQ0FBQztJQUVPLDhCQUE4QixDQUNwQyxzQkFBc0QsRUFDdEQsUUFBbUI7UUFFbkIsT0FBTyxJQUFJLENBQUMsY0FBYyxDQUFDLFFBQVEsRUFBRSxzQkFBc0IsQ0FBQyxDQUFDO0lBQy9ELENBQUM7SUFFTyxjQUFjLENBQ3BCLFFBQXVDLEVBQ3ZDLFVBQTBDO1FBRTFDLE9BQU8sUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFO1lBQzNCLE1BQU0saUJBQWlCLEdBQUcsVUFBVSxDQUFDLElBQUksQ0FDdkMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxtQkFBbUIsS0FBSyxJQUFJLENBQUMsTUFBTSxDQUM3QyxDQUFDO1lBRUYsTUFBTSxNQUFNLEdBQUcsRUFBRSxHQUFHLElBQUksRUFBRSxDQUFDO1lBRTNCLElBQUksaUJBQWlCLEVBQUUsQ0FBQztnQkFDdEIsTUFBTSxDQUFDLGNBQWMsR0FBRyxpQkFBaUIsQ0FBQyxXQUFXLENBQUM7WUFDeEQsQ0FBQztZQUVELElBQUksSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO2dCQUNqQixNQUFNLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxVQUFVLENBQUMsQ0FBQztZQUNqRSxDQUFDO1lBRUQsT0FBTyxNQUFNLENBQUM7UUFDaEIsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDOzhHQWxFVSx3QkFBd0I7a0dBQXhCLHdCQUF3QiwyVEFnQnJCLDZCQUE2QixxRUFIMUIsNEJBQTRCLHdHQzdDL0MsaThCQThCQTs7MkZERWEsd0JBQXdCO2tCQVZwQyxTQUFTOytCQUNFLGtCQUFrQixZQUNsQixpQkFBaUIsUUFDckI7d0JBQ0osS0FBSyxFQUFFLGtCQUFrQjtxQkFDMUIsbUJBR2dCLHVCQUF1QixDQUFDLE1BQU07OEJBTXRDLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLO2dCQUNHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSztnQkFFYSxlQUFlO3NCQUFqQyxNQUFNO2dCQUtQLGVBQWU7c0JBRGQsZUFBZTt1QkFBQyw0QkFBNEI7Z0JBSTdDLHNCQUFzQjtzQkFEckIsWUFBWTt1QkFBQyw2QkFBNkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ29tcG9uZW50LFxuICBJbnB1dCxcbiAgT3V0cHV0LFxuICBFdmVudEVtaXR0ZXIsXG4gIENvbnRlbnRDaGlsZHJlbixcbiAgUXVlcnlMaXN0LFxuICBBZnRlckNvbnRlbnRDaGVja2VkLFxuICBDb250ZW50Q2hpbGQsXG4gIE9uQ2hhbmdlcyxcbiAgU2ltcGxlQ2hhbmdlcyxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICBDb250YWN0LFxuICBDb250YWN0T3B0aW9ucyxcbiAgUHJvZmlsZSxcbn0gZnJvbSAnLi9jb250YWN0cy10eXBlcy9jb250YWN0cy5jb21wb25lbnQucHVibGljLXR5cGVzJztcbmltcG9ydCB7IENvbnRhY3RzVHJpZ2dlckRhdGFDb21wb25lbnQgfSBmcm9tICcuL2NvbnRhY3RzLXRyaWdnZXIvY29udGFjdHMtdHJpZ2dlci1kYXRhJztcbmltcG9ydCB7IEdyYW5pdGVDdXN0b21TdGF0dXNEaXJlY3RpdmUgfSBmcm9tICcuL2N1c3RvbS1zdGF0dXMuZGlyZWN0aXZlJztcbmltcG9ydCB7IENvbnRhY3RFeHRlbmRlZCB9IGZyb20gJy4vY29udGFjdHMtdHlwZXMvY29udGFjdHMuY29tcG9uZW50LnByaXZhdGUtdHlwZXMnO1xuaW1wb3J0IHsgR3Jhbml0ZUN1c3RvbVByb2ZpbGVEaXJlY3RpdmUgfSBmcm9tICcuL2N1c3RvbS1wcm9maWxlLmRpcmVjdGl2ZSc7XG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdncmFuaXRlLWNvbnRhY3RzJyxcbiAgZXhwb3J0QXM6ICdncmFuaXRlQ29udGFjdHMnLFxuICBob3N0OiB7XG4gICAgY2xhc3M6ICdncmFuaXRlLWNvbnRhY3RzJyxcbiAgfSxcbiAgdGVtcGxhdGVVcmw6ICcuL2NvbnRhY3RzLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vY29udGFjdHMuY29tcG9uZW50LnNjc3MnXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIEdyYW5pdGVDb250YWN0c0NvbXBvbmVudFxuICBleHRlbmRzIENvbnRhY3RzVHJpZ2dlckRhdGFDb21wb25lbnRcbiAgaW1wbGVtZW50cyBPbkNoYW5nZXMsIEFmdGVyQ29udGVudENoZWNrZWRcbntcbiAgQElucHV0KCkgY29udGFjdHM6IENvbnRhY3RbXSA9IFtdO1xuICBASW5wdXQoKSBwcm9maWxlOiBQcm9maWxlIHwgdW5rbm93bjtcbiAgQElucHV0KCkgcHJvZmlsZUNsYXNzOiBzdHJpbmc7XG4gIEBJbnB1dCgpIGRlZmF1bHRTaG93ID0gZmFsc2U7XG5cbiAgQE91dHB1dCgpIHJlYWRvbmx5IHNlbGVjdGVkQ29udGFjdCA9IG5ldyBFdmVudEVtaXR0ZXI8XG4gICAgQ29udGFjdCB8IENvbnRhY3RPcHRpb25zXG4gID4oKTtcblxuICBAQ29udGVudENoaWxkcmVuKEdyYW5pdGVDdXN0b21TdGF0dXNEaXJlY3RpdmUpXG4gIF9jdXN0b21TdGF0dXNlczogUXVlcnlMaXN0PEdyYW5pdGVDdXN0b21TdGF0dXNEaXJlY3RpdmU+O1xuXG4gIEBDb250ZW50Q2hpbGQoR3Jhbml0ZUN1c3RvbVByb2ZpbGVEaXJlY3RpdmUpXG4gIGN1c3RvbVByb2ZpbGVEaXJlY3RpdmU6IEdyYW5pdGVDdXN0b21Qcm9maWxlRGlyZWN0aXZlO1xuXG4gIF9jb250YWN0c0V4dGVuZGVkOiBDb250YWN0RXh0ZW5kZWRbXSA9IFtdO1xuXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICBpZiAoY2hhbmdlcy5jb250YWN0cyAmJiAhY2hhbmdlcy5jb250YWN0cy5jdXJyZW50VmFsdWUpIHtcbiAgICAgIHRoaXMuY29udGFjdHMgPSBbXTtcbiAgICB9XG4gIH1cblxuICBuZ0FmdGVyQ29udGVudENoZWNrZWQoKTogdm9pZCB7XG4gICAgdGhpcy5fY29udGFjdHNFeHRlbmRlZCA9IHRoaXMuc2V0UHJvcGVyQ3VzdG9tU3RhdHVzVGVtcGxhdGVzKFxuICAgICAgdGhpcy5fY3VzdG9tU3RhdHVzZXMudG9BcnJheSgpLFxuICAgICAgdGhpcy5jb250YWN0c1xuICAgICk7XG4gIH1cblxuICBvblNlbGVjdGVkQ29udGFjdChjb250YWN0OiBDb250YWN0IHwgQ29udGFjdE9wdGlvbnMpOiB2b2lkIHtcbiAgICB0aGlzLnNlbGVjdGVkQ29udGFjdC5lbWl0KGNvbnRhY3QpO1xuICB9XG5cbiAgcHJpdmF0ZSBzZXRQcm9wZXJDdXN0b21TdGF0dXNUZW1wbGF0ZXMoXG4gICAgY3VzdG9tU3RhdHVzRGlyZWN0aXZlczogR3Jhbml0ZUN1c3RvbVN0YXR1c0RpcmVjdGl2ZVtdLFxuICAgIGNvbnRhY3RzOiBDb250YWN0W11cbiAgKTogQ29udGFjdEV4dGVuZGVkW10ge1xuICAgIHJldHVybiB0aGlzLmFwcGx5VGVtcGxhdGVzKGNvbnRhY3RzLCBjdXN0b21TdGF0dXNEaXJlY3RpdmVzKTtcbiAgfVxuXG4gIHByaXZhdGUgYXBwbHlUZW1wbGF0ZXMoXG4gICAgY29udGFjdHM6IENvbnRhY3RbXSB8IENvbnRhY3RFeHRlbmRlZFtdLFxuICAgIGRpcmVjdGl2ZXM6IEdyYW5pdGVDdXN0b21TdGF0dXNEaXJlY3RpdmVbXVxuICApOiBDb250YWN0RXh0ZW5kZWRbXSB7XG4gICAgcmV0dXJuIGNvbnRhY3RzLm1hcCgoaXRlbSkgPT4ge1xuICAgICAgY29uc3QgbWF0Y2hpbmdEaXJlY3RpdmUgPSBkaXJlY3RpdmVzLmZpbmQoXG4gICAgICAgIChkKSA9PiBkLmdyYW5pdGVDdXN0b21TdGF0dXMgPT09IGl0ZW0uc3RhdHVzXG4gICAgICApO1xuXG4gICAgICBjb25zdCByZXN1bHQgPSB7IC4uLml0ZW0gfTtcblxuICAgICAgaWYgKG1hdGNoaW5nRGlyZWN0aXZlKSB7XG4gICAgICAgIHJlc3VsdC5zdGF0dXNUZW1wbGF0ZSA9IG1hdGNoaW5nRGlyZWN0aXZlLnRlbXBsYXRlUmVmO1xuICAgICAgfVxuXG4gICAgICBpZiAoaXRlbS5vcHRpb25zKSB7XG4gICAgICAgIHJlc3VsdC5vcHRpb25zID0gdGhpcy5hcHBseVRlbXBsYXRlcyhpdGVtLm9wdGlvbnMsIGRpcmVjdGl2ZXMpO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gcmVzdWx0O1xuICAgIH0pO1xuICB9XG59XG4iLCI8bmctdGVtcGxhdGUgI2NvbnRhY3RzVGVtcGxhdGU+XG4gIDxkaXYgZGF0YS1mbmQ9XCJjb250YWN0c1wiIGNsYXNzPVwiZ3Jhbml0ZS1jb250YWN0XCI+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImN1c3RvbVByb2ZpbGVEaXJlY3RpdmU7IGVsc2UgZGVmYXVsdFByb2ZpbGVcIj5cbiAgICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgKm5nVGVtcGxhdGVPdXRsZXQ9XCJjdXN0b21Qcm9maWxlRGlyZWN0aXZlLnRlbXBsYXRlUmVmXCJcbiAgICAgID48L25nLWNvbnRhaW5lcj5cbiAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgIDxuZy10ZW1wbGF0ZSAjZGVmYXVsdFByb2ZpbGU+XG4gICAgICA8Z3Jhbml0ZS1jb250YWN0cy1wcm9maWxlXG4gICAgICAgIGRhdGEtZm5kPVwiZGVmYXVsdC1wcm9maWxlXCJcbiAgICAgICAgW3Byb2ZpbGVDbGFzc109XCJwcm9maWxlQ2xhc3NcIlxuICAgICAgICBbcHJvZmlsZV09XCJwcm9maWxlXCJcbiAgICAgID48L2dyYW5pdGUtY29udGFjdHMtcHJvZmlsZT5cbiAgICA8L25nLXRlbXBsYXRlPlxuXG4gICAgPHVsIGNsYXNzPVwiY29udGFjdC1saXN0XCI+XG4gICAgICA8bGkgKm5nRm9yPVwibGV0IGNvbnRhY3Qgb2YgX2NvbnRhY3RzRXh0ZW5kZWRcIj5cbiAgICAgICAgPGdyYW5pdGUtY29udGFjdC1pdGVtXG4gICAgICAgICAgW2NvbnRhY3RdPVwiY29udGFjdFwiXG4gICAgICAgICAgKHNlbGVjdGVkQ29udGFjdCk9XCJvblNlbGVjdGVkQ29udGFjdCgkZXZlbnQpXCJcbiAgICAgICAgPjwvZ3Jhbml0ZS1jb250YWN0LWl0ZW0+XG4gICAgICA8L2xpPlxuICAgIDwvdWw+XG4gIDwvZGl2PlxuPC9uZy10ZW1wbGF0ZT5cblxuPG5nLWNvbnRhaW5lciAqbmdJZj1cImRlZmF1bHRTaG93XCI+XG4gIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJjb250YWN0c1RlbXBsYXRlXCI+PC9uZy1jb250YWluZXI+XG48L25nLWNvbnRhaW5lcj5cbiJdfQ==
@@ -0,0 +1,52 @@
1
+ import { NgModule } from '@angular/core';
2
+ import { CommonModule } from '@angular/common';
3
+ import { GraniteContactsComponent as GraniteContactsComponent } from './contacts.component';
4
+ import { GraniteIconModule } from '../icon/icon.module';
5
+ import { GraniteContactItemComponent } from './contact-item/contact-item.component';
6
+ import { ContactItemDefaultStatusComponent } from './contact-item-default-status/contact-item-default-status.component';
7
+ import { GraniteContactItemTitleComponent } from './contact-item-title/contact-item-title.component';
8
+ import { GraniteCustomStatusDirective } from './custom-status.directive';
9
+ import { GraniteContactsTriggerForDirective } from './contacts-trigger/contacts-trigger-for.directive';
10
+ import { GraniteContactsProfileComponent } from './contacts-profile/contacts-profile.component';
11
+ import { GraniteCustomProfileDirective } from './custom-profile.directive';
12
+ import * as i0 from "@angular/core";
13
+ export class GraniteContactsModule {
14
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: GraniteContactsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
15
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.4", ngImport: i0, type: GraniteContactsModule, declarations: [GraniteContactsComponent,
16
+ GraniteContactsProfileComponent,
17
+ GraniteContactItemComponent,
18
+ ContactItemDefaultStatusComponent,
19
+ GraniteContactItemTitleComponent,
20
+ GraniteContactsTriggerForDirective,
21
+ GraniteCustomStatusDirective,
22
+ GraniteCustomProfileDirective], imports: [GraniteIconModule, CommonModule], exports: [GraniteContactsComponent,
23
+ GraniteContactsTriggerForDirective,
24
+ GraniteContactItemComponent,
25
+ GraniteCustomStatusDirective,
26
+ GraniteCustomProfileDirective] }); }
27
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: GraniteContactsModule, imports: [GraniteIconModule, CommonModule] }); }
28
+ }
29
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: GraniteContactsModule, decorators: [{
30
+ type: NgModule,
31
+ args: [{
32
+ imports: [GraniteIconModule, CommonModule],
33
+ declarations: [
34
+ GraniteContactsComponent,
35
+ GraniteContactsProfileComponent,
36
+ GraniteContactItemComponent,
37
+ ContactItemDefaultStatusComponent,
38
+ GraniteContactItemTitleComponent,
39
+ GraniteContactsTriggerForDirective,
40
+ GraniteCustomStatusDirective,
41
+ GraniteCustomProfileDirective,
42
+ ],
43
+ exports: [
44
+ GraniteContactsComponent,
45
+ GraniteContactsTriggerForDirective,
46
+ GraniteContactItemComponent,
47
+ GraniteCustomStatusDirective,
48
+ GraniteCustomProfileDirective,
49
+ ],
50
+ }]
51
+ }] });
52
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGFjdHMubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9ncmFuaXRlLWNvbXBvbmVudHMvc3JjL2xpYi9jb250YWN0cy9jb250YWN0cy5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLHdCQUF3QixJQUFJLHdCQUF3QixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDNUYsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDeEQsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDcEYsT0FBTyxFQUFFLGlDQUFpQyxFQUFFLE1BQU0scUVBQXFFLENBQUM7QUFDeEgsT0FBTyxFQUFFLGdDQUFnQyxFQUFFLE1BQU0sbURBQW1ELENBQUM7QUFDckcsT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDekUsT0FBTyxFQUFFLGtDQUFrQyxFQUFFLE1BQU0sbURBQW1ELENBQUM7QUFDdkcsT0FBTyxFQUFFLCtCQUErQixFQUFFLE1BQU0sK0NBQStDLENBQUM7QUFDaEcsT0FBTyxFQUFFLDZCQUE2QixFQUFFLE1BQU0sNEJBQTRCLENBQUM7O0FBc0IzRSxNQUFNLE9BQU8scUJBQXFCOzhHQUFyQixxQkFBcUI7K0dBQXJCLHFCQUFxQixpQkFqQjlCLHdCQUF3QjtZQUN4QiwrQkFBK0I7WUFDL0IsMkJBQTJCO1lBQzNCLGlDQUFpQztZQUNqQyxnQ0FBZ0M7WUFDaEMsa0NBQWtDO1lBQ2xDLDRCQUE0QjtZQUM1Qiw2QkFBNkIsYUFUckIsaUJBQWlCLEVBQUUsWUFBWSxhQVl2Qyx3QkFBd0I7WUFDeEIsa0NBQWtDO1lBQ2xDLDJCQUEyQjtZQUMzQiw0QkFBNEI7WUFDNUIsNkJBQTZCOytHQUdwQixxQkFBcUIsWUFuQnRCLGlCQUFpQixFQUFFLFlBQVk7OzJGQW1COUIscUJBQXFCO2tCQXBCakMsUUFBUTttQkFBQztvQkFDUixPQUFPLEVBQUUsQ0FBQyxpQkFBaUIsRUFBRSxZQUFZLENBQUM7b0JBQzFDLFlBQVksRUFBRTt3QkFDWix3QkFBd0I7d0JBQ3hCLCtCQUErQjt3QkFDL0IsMkJBQTJCO3dCQUMzQixpQ0FBaUM7d0JBQ2pDLGdDQUFnQzt3QkFDaEMsa0NBQWtDO3dCQUNsQyw0QkFBNEI7d0JBQzVCLDZCQUE2QjtxQkFDOUI7b0JBQ0QsT0FBTyxFQUFFO3dCQUNQLHdCQUF3Qjt3QkFDeEIsa0NBQWtDO3dCQUNsQywyQkFBMkI7d0JBQzNCLDRCQUE0Qjt3QkFDNUIsNkJBQTZCO3FCQUM5QjtpQkFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgR3Jhbml0ZUNvbnRhY3RzQ29tcG9uZW50IGFzIEdyYW5pdGVDb250YWN0c0NvbXBvbmVudCB9IGZyb20gJy4vY29udGFjdHMuY29tcG9uZW50JztcbmltcG9ydCB7IEdyYW5pdGVJY29uTW9kdWxlIH0gZnJvbSAnLi4vaWNvbi9pY29uLm1vZHVsZSc7XG5pbXBvcnQgeyBHcmFuaXRlQ29udGFjdEl0ZW1Db21wb25lbnQgfSBmcm9tICcuL2NvbnRhY3QtaXRlbS9jb250YWN0LWl0ZW0uY29tcG9uZW50JztcbmltcG9ydCB7IENvbnRhY3RJdGVtRGVmYXVsdFN0YXR1c0NvbXBvbmVudCB9IGZyb20gJy4vY29udGFjdC1pdGVtLWRlZmF1bHQtc3RhdHVzL2NvbnRhY3QtaXRlbS1kZWZhdWx0LXN0YXR1cy5jb21wb25lbnQnO1xuaW1wb3J0IHsgR3Jhbml0ZUNvbnRhY3RJdGVtVGl0bGVDb21wb25lbnQgfSBmcm9tICcuL2NvbnRhY3QtaXRlbS10aXRsZS9jb250YWN0LWl0ZW0tdGl0bGUuY29tcG9uZW50JztcbmltcG9ydCB7IEdyYW5pdGVDdXN0b21TdGF0dXNEaXJlY3RpdmUgfSBmcm9tICcuL2N1c3RvbS1zdGF0dXMuZGlyZWN0aXZlJztcbmltcG9ydCB7IEdyYW5pdGVDb250YWN0c1RyaWdnZXJGb3JEaXJlY3RpdmUgfSBmcm9tICcuL2NvbnRhY3RzLXRyaWdnZXIvY29udGFjdHMtdHJpZ2dlci1mb3IuZGlyZWN0aXZlJztcbmltcG9ydCB7IEdyYW5pdGVDb250YWN0c1Byb2ZpbGVDb21wb25lbnQgfSBmcm9tICcuL2NvbnRhY3RzLXByb2ZpbGUvY29udGFjdHMtcHJvZmlsZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgR3Jhbml0ZUN1c3RvbVByb2ZpbGVEaXJlY3RpdmUgfSBmcm9tICcuL2N1c3RvbS1wcm9maWxlLmRpcmVjdGl2ZSc7XG5cbkBOZ01vZHVsZSh7XG4gIGltcG9ydHM6IFtHcmFuaXRlSWNvbk1vZHVsZSwgQ29tbW9uTW9kdWxlXSxcbiAgZGVjbGFyYXRpb25zOiBbXG4gICAgR3Jhbml0ZUNvbnRhY3RzQ29tcG9uZW50LFxuICAgIEdyYW5pdGVDb250YWN0c1Byb2ZpbGVDb21wb25lbnQsXG4gICAgR3Jhbml0ZUNvbnRhY3RJdGVtQ29tcG9uZW50LFxuICAgIENvbnRhY3RJdGVtRGVmYXVsdFN0YXR1c0NvbXBvbmVudCxcbiAgICBHcmFuaXRlQ29udGFjdEl0ZW1UaXRsZUNvbXBvbmVudCxcbiAgICBHcmFuaXRlQ29udGFjdHNUcmlnZ2VyRm9yRGlyZWN0aXZlLFxuICAgIEdyYW5pdGVDdXN0b21TdGF0dXNEaXJlY3RpdmUsXG4gICAgR3Jhbml0ZUN1c3RvbVByb2ZpbGVEaXJlY3RpdmUsXG4gIF0sXG4gIGV4cG9ydHM6IFtcbiAgICBHcmFuaXRlQ29udGFjdHNDb21wb25lbnQsXG4gICAgR3Jhbml0ZUNvbnRhY3RzVHJpZ2dlckZvckRpcmVjdGl2ZSxcbiAgICBHcmFuaXRlQ29udGFjdEl0ZW1Db21wb25lbnQsXG4gICAgR3Jhbml0ZUN1c3RvbVN0YXR1c0RpcmVjdGl2ZSxcbiAgICBHcmFuaXRlQ3VzdG9tUHJvZmlsZURpcmVjdGl2ZSxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgR3Jhbml0ZUNvbnRhY3RzTW9kdWxlIHt9XG4iXX0=
@@ -0,0 +1,16 @@
1
+ import { Directive, TemplateRef } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export class GraniteCustomProfileDirective {
4
+ constructor(templateRef) {
5
+ this.templateRef = templateRef;
6
+ }
7
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: GraniteCustomProfileDirective, deps: [{ token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive }); }
8
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.3.4", type: GraniteCustomProfileDirective, selector: "[graniteCustomProfile]", ngImport: i0 }); }
9
+ }
10
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: GraniteCustomProfileDirective, decorators: [{
11
+ type: Directive,
12
+ args: [{
13
+ selector: '[graniteCustomProfile]',
14
+ }]
15
+ }], ctorParameters: () => [{ type: i0.TemplateRef }] });
16
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3VzdG9tLXByb2ZpbGUuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9ncmFuaXRlLWNvbXBvbmVudHMvc3JjL2xpYi9jb250YWN0cy9jdXN0b20tcHJvZmlsZS5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBS3ZELE1BQU0sT0FBTyw2QkFBNkI7SUFDeEMsWUFBbUIsV0FBaUM7UUFBakMsZ0JBQVcsR0FBWCxXQUFXLENBQXNCO0lBQUcsQ0FBQzs4R0FEN0MsNkJBQTZCO2tHQUE3Qiw2QkFBNkI7OzJGQUE3Qiw2QkFBNkI7a0JBSHpDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLHdCQUF3QjtpQkFDbkMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIFRlbXBsYXRlUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ1tncmFuaXRlQ3VzdG9tUHJvZmlsZV0nLFxufSlcbmV4cG9ydCBjbGFzcyBHcmFuaXRlQ3VzdG9tUHJvZmlsZURpcmVjdGl2ZSB7XG4gIGNvbnN0cnVjdG9yKHB1YmxpYyB0ZW1wbGF0ZVJlZjogVGVtcGxhdGVSZWY8dW5rbm93bj4pIHt9XG59XG4iXX0=
@@ -0,0 +1,18 @@
1
+ import { Directive, Input, TemplateRef } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export class GraniteCustomStatusDirective {
4
+ constructor(templateRef) {
5
+ this.templateRef = templateRef;
6
+ }
7
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: GraniteCustomStatusDirective, deps: [{ token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive }); }
8
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.3.4", type: GraniteCustomStatusDirective, selector: "[graniteCustomStatus]", inputs: { graniteCustomStatus: "graniteCustomStatus" }, ngImport: i0 }); }
9
+ }
10
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: GraniteCustomStatusDirective, decorators: [{
11
+ type: Directive,
12
+ args: [{
13
+ selector: '[graniteCustomStatus]',
14
+ }]
15
+ }], ctorParameters: () => [{ type: i0.TemplateRef }], propDecorators: { graniteCustomStatus: [{
16
+ type: Input
17
+ }] } });
18
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3VzdG9tLXN0YXR1cy5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2dyYW5pdGUtY29tcG9uZW50cy9zcmMvbGliL2NvbnRhY3RzL2N1c3RvbS1zdGF0dXMuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLFdBQVcsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFLOUQsTUFBTSxPQUFPLDRCQUE0QjtJQUl2QyxZQUFtQixXQUFpQztRQUFqQyxnQkFBVyxHQUFYLFdBQVcsQ0FBc0I7SUFBRyxDQUFDOzhHQUo3Qyw0QkFBNEI7a0dBQTVCLDRCQUE0Qjs7MkZBQTVCLDRCQUE0QjtrQkFIeEMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsdUJBQXVCO2lCQUNsQztnRkFHQyxtQkFBbUI7c0JBRGxCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIElucHV0LCBUZW1wbGF0ZVJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdbZ3Jhbml0ZUN1c3RvbVN0YXR1c10nLFxufSlcbmV4cG9ydCBjbGFzcyBHcmFuaXRlQ3VzdG9tU3RhdHVzRGlyZWN0aXZlIHtcbiAgQElucHV0KClcbiAgZ3Jhbml0ZUN1c3RvbVN0YXR1czogc3RyaW5nO1xuXG4gIGNvbnN0cnVjdG9yKHB1YmxpYyB0ZW1wbGF0ZVJlZjogVGVtcGxhdGVSZWY8dW5rbm93bj4pIHt9XG59XG4iXX0=